diff --git a/.replxx_history b/.replxx_history index e69e067..d0e5788 100644 --- a/.replxx_history +++ b/.replxx_history @@ -74,14 +74,8 @@ txaEvent "serverShuttingDown" "{"delay":5000,"author":"txAdmin","m ensure "ui_pmenu" ### 2025-03-16 15:09:04.329 txaReportResources -### 2025-03-17 13:21:02.116 -txaReportResources ### 2025-03-17 13:28:58.791 quit "host shutting down" -### 2025-03-17 15:18:56.763 -txaEvent "serverShuttingDown" "{\"delay\":5000,\"author\":\"androxaaa\",\"message\":\"Server shutting down (admin request).\"}" -### 2025-03-17 15:51:55.750 -txaEvent "serverShuttingDown" "{\"delay\":5000,\"author\":\"androxaaa\",\"message\":\"Server restarting (admin request).\"}" ### 2025-03-17 15:55:56.729 setgroup 1 owner ### 2025-03-17 15:55:56.780 @@ -90,3 +84,21 @@ txaEvent "consoleCommand" "{\"channel\":\"txAdmin\",\"command\":\"setgroup 1 own setgroup 1 admin ### 2025-03-17 15:56:09.536 txaEvent "consoleCommand" "{\"channel\":\"txAdmin\",\"command\":\"setgroup 1 admin\",\"author\":\"androxaaa\"}" +### 2025-03-17 16:51:02.220 +a +### 2025-03-17 16:51:02.271 +txaEvent "consoleCommand" "{\"channel\":\"txAdmin\",\"command\":\"a\",\"author\":\"androxaaa\"}" +### 2025-03-17 16:51:04.893 +stop ox_inventory +### 2025-03-17 16:51:04.944 +txaEvent "consoleCommand" "{\"channel\":\"txAdmin\",\"command\":\"stop ox_inventory\",\"author\":\"androxaaa\"}" +### 2025-03-17 16:51:07.594 +txaReportResources +### 2025-03-17 16:51:30.092 +txaEvent "serverShuttingDown" "{\"delay\":5000,\"author\":\"androxaaa\",\"message\":\"Server restarting (admin request).\"}" +### 2025-03-17 16:54:15.382 +stop ui_pmenu +### 2025-03-17 16:54:15.433 +txaEvent "consoleCommand" "{\"channel\":\"txAdmin\",\"command\":\"stop ui_pmenu\",\"author\":\"androxaaa\"}" +### 2025-03-17 16:55:15.447 +txaEvent "serverShuttingDown" "{\"delay\":5000,\"author\":\"androxaaa\",\"message\":\"Server shutting down (admin request).\"}" diff --git a/resources/[core]/ox_inventory/client.lua b/resources/[core]/ox_inventory/client.lua index 41ce525..eca4623 100644 --- a/resources/[core]/ox_inventory/client.lua +++ b/resources/[core]/ox_inventory/client.lua @@ -530,7 +530,7 @@ local function useSlot(slot, noAnim) SetCurrentPedWeapon(playerPed, data.hash, false) if data.hash ~= GetSelectedPedWeapon(playerPed) then - lib.print.info(('%s cannot be used in current context (default game behaviour)'):format(item.name)) + lib.print.info(('failed to equip %s (cause unknown)'):format(item.name)) return lib.notify({ type = 'error', description = locale('cannot_use', data.label) }) end @@ -749,7 +749,7 @@ local function registerCommands() -- No storage or no glovebox if (checkVehicle == 0 or checkVehicle == 2) or (not Vehicles.glovebox[vehicleClass] and not Vehicles.glovebox.models[vehicleHash]) then return end - local isOpen = client.openInventory('glovebox', { id = 'glove'..GetVehicleNumberPlateText(vehicle), netid = NetworkGetNetworkIdFromEntity(vehicle) }) + local isOpen = client.openInventory('glovebox', { netid = NetworkGetNetworkIdFromEntity(vehicle) }) if isOpen then currentInventory.entity = vehicle @@ -815,7 +815,7 @@ local function registerCommands() if not shared.target and entityType == 3 then local model = GetEntityModel(entity) - if Inventory.Dumpsters[model] then + if Inventory.Dumpsters:includes(model) then return Inventory.OpenDumpster(entity) end end @@ -1186,6 +1186,7 @@ RegisterNetEvent('ox_inventory:setPlayerInventory', function(currentDrops, inven ---@class PlayerData ---@field inventory table ---@field weight number + ---@field groups table PlayerData = player PlayerData.id = cache.playerId PlayerData.source = cache.serverId @@ -1300,7 +1301,7 @@ RegisterNetEvent('ox_inventory:setPlayerInventory', function(currentDrops, inven end end - for id, data in pairs(lib.load('data.licenses')) do + for id, data in pairs(lib.load('data.licenses') or {}) do lib.points.new({ coords = data.coords, distance = 16, @@ -1400,7 +1401,7 @@ RegisterNetEvent('ox_inventory:setPlayerInventory', function(currentDrops, inven end if weaponHash ~= currentWeapon.hash then - lib.print.info(('%s cannot be used in current context (default game behaviour)'):format(currentWeapon.name)) + lib.print.info(('%s was forcibly unequipped (caused by game behaviour or another resource)'):format(currentWeapon.name)) currentWeapon = Weapon.Disarm(currentWeapon, true) end end diff --git a/resources/[core]/ox_inventory/data/crafting.lua b/resources/[core]/ox_inventory/data/crafting.lua index 0044e65..4bcfaaf 100644 --- a/resources/[core]/ox_inventory/data/crafting.lua +++ b/resources/[core]/ox_inventory/data/crafting.lua @@ -1,5 +1,6 @@ return { { + name = 'debug_crafting', items = { { name = 'lockpick', diff --git a/resources/[core]/ox_inventory/fxmanifest.lua b/resources/[core]/ox_inventory/fxmanifest.lua index 5d876d9..637e058 100644 --- a/resources/[core]/ox_inventory/fxmanifest.lua +++ b/resources/[core]/ox_inventory/fxmanifest.lua @@ -4,7 +4,7 @@ lua54 'yes' game 'gta5' name 'ox_inventory' author 'Overextended' -version '2.42.3' +version '2.44.1' repository 'https://github.com/overextended/ox_inventory' description 'Slot-based inventory with item metadata support' diff --git a/resources/[core]/ox_inventory/init.lua b/resources/[core]/ox_inventory/init.lua index eda4609..fae39d0 100644 --- a/resources/[core]/ox_inventory/init.lua +++ b/resources/[core]/ox_inventory/init.lua @@ -19,6 +19,7 @@ shared = { playerweight = GetConvarInt('inventory:weight', 30000), target = GetConvarInt('inventory:target', 0) == 1, police = json.decode(GetConvar('inventory:police', '["police", "sheriff"]')), + networkdumpsters = GetConvarInt('inventory:networkdumpsters', 0) == 1 } shared.dropslots = GetConvarInt('inventory:dropslots', shared.playerslots) @@ -174,7 +175,7 @@ end local success, msg = lib.checkDependency('oxmysql', '2.7.3') if success then - success, msg = lib.checkDependency('ox_lib', '3.13.0') + success, msg = lib.checkDependency('ox_lib', '3.27.0') end if not success then diff --git a/resources/[core]/ox_inventory/modules/bridge/esx/server.lua b/resources/[core]/ox_inventory/modules/bridge/esx/server.lua index d2ce348..793d169 100644 --- a/resources/[core]/ox_inventory/modules/bridge/esx/server.lua +++ b/resources/[core]/ox_inventory/modules/bridge/esx/server.lua @@ -13,11 +13,14 @@ end) local ESX SetTimeout(500, function() - ESX = exports.ui_core:getSharedObject() + lib.checkDependency('ui_core', '1.6.0', true) - if ESX.CreatePickup then - error('ox_inventory requires a ESX Legacy v1.6.0 or above, refer to the documentation.') - end + ESX = exports.ui_core:getSharedObject() + local customInventory = ESX.GetConfig().CustomInventory + + if customInventory ~= nil and customInventory ~= "ox" then + error('ui_core has not been configured to enable support for ox_inventory!\nEnsure Config.CustomInventory has been set to "ox" in your ui_core resource config.') + end server.UseItem = ESX.UseItem server.GetPlayerFromId = ESX.GetPlayerFromId diff --git a/resources/[core]/ox_inventory/modules/bridge/server.lua b/resources/[core]/ox_inventory/modules/bridge/server.lua index 2c68e84..230a989 100644 --- a/resources/[core]/ox_inventory/modules/bridge/server.lua +++ b/resources/[core]/ox_inventory/modules/bridge/server.lua @@ -51,9 +51,8 @@ end local success, result = pcall(lib.load, ('modules.bridge.%s.server'):format(shared.framework)) if not success then - lib.print.error(result) lib = nil - return + error(result, 0) end if server.convertInventory then exports('ConvertItems', server.convertInventory) end diff --git a/resources/[core]/ox_inventory/modules/crafting/client.lua b/resources/[core]/ox_inventory/modules/crafting/client.lua index 37d9eef..ad0ea40 100644 --- a/resources/[core]/ox_inventory/modules/crafting/client.lua +++ b/resources/[core]/ox_inventory/modules/crafting/client.lua @@ -94,6 +94,6 @@ local function createCraftingBench(id, data) end end -for id, data in pairs(lib.load('data.crafting')) do createCraftingBench(id, data) end +for id, data in pairs(lib.load('data.crafting') or {}) do createCraftingBench(data.name or id, data) end return CraftingBenches diff --git a/resources/[core]/ox_inventory/modules/crafting/server.lua b/resources/[core]/ox_inventory/modules/crafting/server.lua index 7e26a1e..22c162d 100644 --- a/resources/[core]/ox_inventory/modules/crafting/server.lua +++ b/resources/[core]/ox_inventory/modules/crafting/server.lua @@ -43,7 +43,7 @@ local function createCraftingBench(id, data) end end -for id, data in pairs(lib.load('data.crafting')) do createCraftingBench(id, data) end +for id, data in pairs(lib.load('data.crafting') or {}) do createCraftingBench(data.name or id, data) end ---falls back to player coords if zones and points are both nil ---@param source number @@ -113,12 +113,32 @@ lib.callback.register('ox_inventory:craftItem', function(source, id, index, reci local craftedItem = Items(recipe.name) local craftCount = (type(recipe.count) == 'number' and recipe.count) or (table.type(recipe.count) == 'array' and math.random(recipe.count[1], recipe.count[2])) or 1 - local newWeight = left.weight + (craftedItem.weight + (recipe.metadata?.weight or 0)) * craftCount + + -- Modified weight calculation + local newWeight = left.weight + local items = Inventory.Search(left, 'slots', tbl) or {} ---@todo new iterator or something to accept a map + -- First subtract weight of ingredients that will be removed + for name, needs in pairs(recipe.ingredients) do + if needs > 0 then + local item = Items(name) + if item then + newWeight -= (item.weight * needs) + end + end + end + + -- Add weight of crafted item + newWeight += (craftedItem.weight + (recipe.metadata?.weight or 0)) * craftCount + + if newWeight > left.maxWeight then return false, 'cannot_carry' end + local items = Inventory.Search(left, 'slots', tbl) or {} table.wipe(tbl) for name, needs in pairs(recipe.ingredients) do + if needs == 0 then break end + local slots = items[name] or items if #slots == 0 then return end @@ -149,13 +169,10 @@ lib.callback.register('ox_inventory:craftItem', function(source, id, index, reci end end elseif needs <= slot.count then - local itemWeight = slot.weight / slot.count - newWeight = (newWeight - slot.weight) + (slot.count - needs) * itemWeight tbl[slot.slot] = needs break else tbl[slot.slot] = slot.count - newWeight -= slot.weight needs -= slot.count end @@ -165,10 +182,6 @@ lib.callback.register('ox_inventory:craftItem', function(source, id, index, reci end end - if newWeight > left.maxWeight then - return false, 'cannot_carry' - end - if not TriggerEventHooks('craftItem', { source = source, benchId = id, diff --git a/resources/[core]/ox_inventory/modules/inventory/client.lua b/resources/[core]/ox_inventory/modules/inventory/client.lua index 0bb6aa5..99a5aaf 100644 --- a/resources/[core]/ox_inventory/modules/inventory/client.lua +++ b/resources/[core]/ox_inventory/modules/inventory/client.lua @@ -2,20 +2,49 @@ if not lib then return end local Inventory = {} -Inventory.Dumpsters = {218085040, 666561306, -58485588, -206690185, 1511880420, 682791951} +Inventory.Dumpsters = lib.array:new(218085040, 666561306, -58485588, -206690185, 1511880420, 682791951) + +if shared.networkdumpsters then + -- Make sure dumpsters are frozen to ensure persistent position across clients + SetInterval(function() + local objects = GetGamePool('CObject') + + for i = 1, #objects do + local object = objects[i] + local state = Entity(object).state + + if state.isDumpster == nil then + local model = GetEntityModel(object) + local isDumpster = Inventory.Dumpsters:includes(model) + + state.isDumpster = isDumpster + + if isDumpster then + FreezeEntityPosition(object, true) + end + end + end + end, 3000) +end function Inventory.OpenDumpster(entity) - local netId = NetworkGetEntityIsNetworked(entity) and NetworkGetNetworkIdFromEntity(entity) + if shared.networkdumpsters then + local coords = GetEntityCoords(entity) + client.openInventory('dumpster', coords) + return + end - if not netId then - local coords = GetEntityCoords(entity) - entity = GetClosestObjectOfType(coords.x, coords.y, coords.z, 0.1, GetEntityModel(entity), true, true, true) - netId = entity ~= 0 and NetworkGetNetworkIdFromEntity(entity) - end + local netId = NetworkGetEntityIsNetworked(entity) and NetworkGetNetworkIdFromEntity(entity) - if netId then - client.openInventory('dumpster', 'dumpster'..netId) - end + if not netId then + local coords = GetEntityCoords(entity) + entity = GetClosestObjectOfType(coords.x, coords.y, coords.z, 0.1, GetEntityModel(entity), true, true, true) + netId = entity ~= 0 and NetworkGetNetworkIdFromEntity(entity) + end + + if netId then + client.openInventory('dumpster', 'dumpster' .. netId) + end end local Utils = require 'modules.utils.client' @@ -25,7 +54,7 @@ local backDoorIds = { 2, 3 } function Inventory.CanAccessTrunk(entity) if cache.vehicle or not NetworkGetEntityIsNetworked(entity) then return end - local vehicleHash = GetEntityModel(entity) + local vehicleHash = GetEntityModel(entity) local vehicleClass = GetVehicleClass(entity) local checkVehicle = Vehicles.Storage[vehicleHash] @@ -59,13 +88,11 @@ function Inventory.OpenTrunk(entity) if not door then return end - local plate = GetVehicleNumberPlateText(entity) - local invId = 'trunk'..plate local coords = GetEntityCoords(entity) TaskTurnPedToFaceCoord(cache.ped, coords.x, coords.y, coords.z, 0) - if not client.openInventory('trunk', { id = invId, netid = NetworkGetNetworkIdFromEntity(entity), entityid = entity, door = door }) then return end + if not client.openInventory('trunk', { netid = NetworkGetNetworkIdFromEntity(entity), entityid = entity, door = door }) then return end if type(door) == 'table' then for i = 1, #door do @@ -77,12 +104,12 @@ function Inventory.OpenTrunk(entity) end if shared.target then - exports.ox_target:addModel(Inventory.Dumpsters, { + exports.ox_target:addModel(Inventory.Dumpsters, { icon = 'fas fa-dumpster', label = locale('search_dumpster'), onSelect = function(data) return Inventory.OpenDumpster(data.entity) end, distance = 2 - }) + }) exports.ox_target:addGlobalVehicle({ icon = 'fas fa-truck-ramp-box', @@ -93,78 +120,75 @@ if shared.target then return Inventory.OpenTrunk(data.entity) end }) -else - local dumpsters = table.create(0, #Inventory.Dumpsters) - - for i = 1, #Inventory.Dumpsters do - dumpsters[Inventory.Dumpsters[i]] = true - end - - Inventory.Dumpsters = dumpsters end ---@param search 'slots' | 1 | 'count' | 2 ---@param item table | string ---@param metadata? table | string function Inventory.Search(search, item, metadata) - if not PlayerData.loaded then - if not coroutine.running() then - error('player inventory has not yet loaded.') - end + if not PlayerData.loaded then + if not coroutine.running() then + error('player inventory has not yet loaded.') + end - repeat Wait(100) until PlayerData.loaded - end + repeat Wait(100) until PlayerData.loaded + end - if item then - if search == 'slots' then search = 1 elseif search == 'count' then search = 2 end - if type(item) == 'string' then item = {item} end - if type(metadata) == 'string' then metadata = {type=metadata} end + if item then + if search == 'slots' then search = 1 elseif search == 'count' then search = 2 end + if type(item) == 'string' then item = { item } end + if type(metadata) == 'string' then metadata = { type = metadata } end - local items = #item - local returnData = {} - for i = 1, items do - local item = string.lower(item[i]) - if item:sub(0, 7) == 'weapon_' then item = string.upper(item) end - if search == 1 then returnData[item] = {} - elseif search == 2 then returnData[item] = 0 end - for _, v in pairs(PlayerData.inventory) do - if v.name == item then - if not v.metadata then v.metadata = {} end - if not metadata or table.contains(v.metadata, metadata) then - if search == 1 then returnData[item][#returnData[item]+1] = PlayerData.inventory[v.slot] - elseif search == 2 then - returnData[item] += v.count - end - end - end - end - end - if next(returnData) then return items == 1 and returnData[item[1]] or returnData end - end - return false + local items = #item + local returnData = {} + for i = 1, items do + local item = string.lower(item[i]) + if item:sub(0, 7) == 'weapon_' then item = string.upper(item) end + if search == 1 then + returnData[item] = {} + elseif search == 2 then + returnData[item] = 0 + end + for _, v in pairs(PlayerData.inventory) do + if v.name == item then + if not v.metadata then v.metadata = {} end + if not metadata or table.contains(v.metadata, metadata) then + if search == 1 then + returnData[item][#returnData[item] + 1] = PlayerData.inventory[v.slot] + elseif search == 2 then + returnData[item] += v.count + end + end + end + end + end + if next(returnData) then return items == 1 and returnData[item[1]] or returnData end + end + return false end + exports('Search', Inventory.Search) exports('GetPlayerItems', function() - return PlayerData.inventory + return PlayerData.inventory end) exports('GetPlayerWeight', function() - return PlayerData.weight + return PlayerData.weight end) exports('GetPlayerMaxWeight', function() - return PlayerData.maxWeight + return PlayerData.maxWeight end) local Items = require 'modules.items.client' local function assertMetadata(metadata) - if metadata and type(metadata) ~= 'table' then - metadata = metadata and { type = metadata or nil } - end + if metadata and type(metadata) ~= 'table' then + metadata = metadata and { type = metadata or nil } + end - return metadata + return metadata end ---@param itemName string @@ -172,19 +196,19 @@ end ---@param strict? boolean Strictly match metadata properties, otherwise use partial matching. ---@return SlotWithItem? function Inventory.GetSlotWithItem(itemName, metadata, strict) - local inventory = PlayerData.inventory - local item = Items(itemName) --[[@as OxClientItem?]] + local inventory = PlayerData.inventory + local item = Items(itemName) --[[@as OxClientItem?]] - if not inventory or not item then return end + if not inventory or not item then return end - metadata = assertMetadata(metadata) - local tablematch = strict and table.matches or table.contains + metadata = assertMetadata(metadata) + local tablematch = strict and table.matches or table.contains - for _, slotData in pairs(inventory) do - if slotData and slotData.name == item.name and (not metadata or tablematch(slotData.metadata, metadata)) then - return slotData - end - end + for _, slotData in pairs(inventory) do + if slotData and slotData.name == item.name and (not metadata or tablematch(slotData.metadata, metadata)) then + return slotData + end + end end exports('GetSlotWithItem', Inventory.GetSlotWithItem) @@ -194,7 +218,7 @@ exports('GetSlotWithItem', Inventory.GetSlotWithItem) ---@param strict? boolean Strictly match metadata properties, otherwise use partial matching. ---@return number? function Inventory.GetSlotIdWithItem(itemName, metadata, strict) - return Inventory.GetSlotWithItem(itemName, metadata, strict)?.slot + return Inventory.GetSlotWithItem(itemName, metadata, strict)?.slot end exports('GetSlotIdWithItem', Inventory.GetSlotIdWithItem) @@ -204,25 +228,25 @@ exports('GetSlotIdWithItem', Inventory.GetSlotIdWithItem) ---@param strict? boolean Strictly match metadata properties, otherwise use partial matching. ---@return SlotWithItem[]? function Inventory.GetSlotsWithItem(itemName, metadata, strict) - local inventory = PlayerData.inventory - local item = Items(itemName) --[[@as OxClientItem?]] + local inventory = PlayerData.inventory + local item = Items(itemName) --[[@as OxClientItem?]] - if not inventory or not item then return end + if not inventory or not item then return end - metadata = assertMetadata(metadata) - local response = {} - local n = 0 - local tablematch = strict and table.matches or table.contains + metadata = assertMetadata(metadata) + local response = {} + local n = 0 + local tablematch = strict and table.matches or table.contains - for _, slotData in pairs(inventory) do - if slotData and slotData.name == item.name and (not metadata or tablematch(slotData.metadata, metadata)) then - n += 1 - response[n] = slotData - end - end + for _, slotData in pairs(inventory) do + if slotData and slotData.name == item.name and (not metadata or tablematch(slotData.metadata, metadata)) then + n += 1 + response[n] = slotData + end + end - return response + return response end exports('GetSlotsWithItem', Inventory.GetSlotsWithItem) @@ -232,16 +256,16 @@ exports('GetSlotsWithItem', Inventory.GetSlotsWithItem) ---@param strict? boolean Strictly match metadata properties, otherwise use partial matching. ---@return number[]? function Inventory.GetSlotIdsWithItem(itemName, metadata, strict) - local items = Inventory.GetSlotsWithItem(itemName, metadata, strict) + local items = Inventory.GetSlotsWithItem(itemName, metadata, strict) - if items then - ---@cast items +number[] - for i = 1, #items do - items[i] = items[i].slot - end + if items then + ---@cast items +number[] + for i = 1, #items do + items[i] = items[i].slot + end - return items - end + return items + end end ---@param itemName string @@ -249,61 +273,63 @@ end ---@param strict? boolean Strictly match metadata properties, otherwise use partial matching. ---@return number function Inventory.GetItemCount(itemName, metadata, strict) - local inventory = PlayerData.inventory - local item = Items(itemName) --[[@as OxClientItem?]] + local inventory = PlayerData.inventory + local item = Items(itemName) --[[@as OxClientItem?]] - if not inventory or not item then return 0 end + if not inventory or not item then return 0 end - if not metadata then - return item.count - end + if not metadata then + return item.count + end - metadata = assertMetadata(metadata) - local count = 0 - local tablematch = strict and table.matches or table.contains + metadata = assertMetadata(metadata) + local count = 0 + local tablematch = strict and table.matches or table.contains - for _, slotData in pairs(inventory) do - if slotData and slotData.name == item.name and (not metadata or tablematch(slotData.metadata, metadata)) then - count += slotData.count - end - end + for _, slotData in pairs(inventory) do + if slotData and slotData.name == item.name and (not metadata or tablematch(slotData.metadata, metadata)) then + count += slotData.count + end + end - return count + return count end exports('GetItemCount', Inventory.GetItemCount) local function openEvidence() - client.openInventory('policeevidence') + client.openInventory('policeevidence') end local markerColour = { 30, 30, 150 } local textPrompts = { evidence = { options = { icon = 'fa-box-archive' }, - message = ('**%s** \n%s'):format(locale('open_police_evidence'), locale('interact_prompt', GetControlInstructionalButton(0, 38, true):sub(3))) + message = ('**%s** \n%s'):format(locale('open_police_evidence'), + locale('interact_prompt', GetControlInstructionalButton(0, 38, true):sub(3))) }, stash = { options = { icon = 'fa-warehouse' }, - message = ('**%s** \n%s'):format(locale('open_stash'), locale('interact_prompt', GetControlInstructionalButton(0, 38, true):sub(3))) + message = ('**%s** \n%s'):format(locale('open_stash'), + locale('interact_prompt', GetControlInstructionalButton(0, 38, true):sub(3))) } } Inventory.Evidence = setmetatable(lib.load('data.evidence'), { - __call = function(self) - for _, evidence in pairs(self) do - if evidence.point then - evidence.point:remove() + __call = function(self) + for _, evidence in pairs(self) do + if evidence.point then + evidence.point:remove() elseif evidence.zoneId then exports.ox_target:removeZone(evidence.zoneId) evidence.zone = nil end - if client.hasGroup(shared.police) then - if shared.target then - if evidence.target then + if client.hasGroup(shared.police) then + if shared.target then + if evidence.target then evidence.zoneId = Utils.CreateBoxZone(evidence.target, { { icon = evidence.target.icon or 'fas fa-warehouse', @@ -313,38 +339,38 @@ Inventory.Evidence = setmetatable(lib.load('data.evidence'), { iconColor = evidence.target.iconColor, } }) - end - else - evidence.target = nil - evidence.point = lib.points.new({ - coords = evidence.coords, - distance = 16, - inv = 'policeevidence', - marker = markerColour, + end + else + evidence.target = nil + evidence.point = lib.points.new({ + coords = evidence.coords, + distance = 16, + inv = 'policeevidence', + marker = markerColour, prompt = textPrompts.evidence, - nearby = Utils.nearbyMarker - }) - end - end - end - end + nearby = Utils.nearbyMarker + }) + end + end + end + end }) Inventory.Stashes = setmetatable(lib.load('data.stashes'), { - __call = function(self) - for id, stash in pairs(self) do - if stash.jobs then stash.groups = stash.jobs end + __call = function(self) + for id, stash in pairs(self) do + if stash.jobs then stash.groups = stash.jobs end - if stash.point then - stash.point:remove() + if stash.point then + stash.point:remove() elseif stash.zoneId then exports.ox_target:removeZone(stash.zoneId) stash.zoneId = nil end - if not stash.groups or client.hasGroup(stash.groups) then - if shared.target then - if stash.target then + if not stash.groups or client.hasGroup(stash.groups) then + if shared.target then + if stash.target then stash.zoneId = Utils.CreateBoxZone(stash.target, { { icon = stash.target.icon or 'fas fa-warehouse', @@ -356,22 +382,22 @@ Inventory.Stashes = setmetatable(lib.load('data.stashes'), { iconColor = stash.target.iconColor, }, }) - end - else - stash.target = nil - stash.point = lib.points.new({ - coords = stash.coords, - distance = 16, - inv = 'stash', - invId = stash.name, - marker = markerColour, + end + else + stash.target = nil + stash.point = lib.points.new({ + coords = stash.coords, + distance = 16, + inv = 'stash', + invId = stash.name, + marker = markerColour, prompt = textPrompts.stash, - nearby = Utils.nearbyMarker - }) - end - end - end - end + nearby = Utils.nearbyMarker + }) + end + end + end + end }) RegisterNetEvent('ox_inventory:refreshMaxWeight', function(data) @@ -379,27 +405,27 @@ RegisterNetEvent('ox_inventory:refreshMaxWeight', function(data) PlayerData.maxWeight = data.maxWeight end - SendNUIMessage({ - action = 'refreshSlots', - data = { - weightData = { - inventoryId = data.inventoryId, - maxWeight = data.maxWeight - } - } - }) + SendNUIMessage({ + action = 'refreshSlots', + data = { + weightData = { + inventoryId = data.inventoryId, + maxWeight = data.maxWeight + } + } + }) end) RegisterNetEvent('ox_inventory:refreshSlotCount', function(data) - SendNUIMessage({ - action = 'refreshSlots', - data = { - slotsData = { - inventoryId = data.inventoryId, - slots = data.slots - } - } - }) + SendNUIMessage({ + action = 'refreshSlots', + data = { + slotsData = { + inventoryId = data.inventoryId, + slots = data.slots + } + } + }) end) return Inventory diff --git a/resources/[core]/ox_inventory/modules/inventory/server.lua b/resources/[core]/ox_inventory/modules/inventory/server.lua index 25312ab..d95bc2b 100644 --- a/resources/[core]/ox_inventory/modules/inventory/server.lua +++ b/resources/[core]/ox_inventory/modules/inventory/server.lua @@ -78,7 +78,7 @@ end local Vehicles = lib.load('data.vehicles') local RegisteredStashes = {} -for _, stash in pairs(lib.load('data.stashes')) do +for _, stash in pairs(lib.load('data.stashes') or {}) do RegisteredStashes[stash.name] = { name = stash.name, label = stash.label, @@ -86,7 +86,8 @@ for _, stash in pairs(lib.load('data.stashes')) do slots = stash.slots, maxWeight = stash.weight, groups = stash.groups or stash.jobs, - coords = shared.target and stash.target?.loc or stash.coords + coords = shared.target and stash.target?.loc or stash.coords, + distance = stash.distance or 10 } end @@ -195,10 +196,8 @@ local function loadInventoryData(data, player, ignoreSecurityChecks) if not inventory then inventory = Inventory.Create(stash.name, stash.label or stash.name, 'stash', stash.slots, 0, stash.maxWeight, owner, nil, stash.groups) - - if stash.coords then - inventory.coords = stash.coords - end + inventory.coords = stash.coords + inventory.distance = stash.distance end end end @@ -213,6 +212,8 @@ end setmetatable(Inventory, { __call = function(self, inv, player, ignoreSecurityChecks) + if Inventory.Lock then return false end + if not inv then return self elseif type(inv) == 'table' then @@ -613,30 +614,30 @@ end function Inventory.Remove(inv) inv = Inventory(inv) --[[@as OxInventory]] - if inv then - if inv.type == 'drop' then - TriggerClientEvent('ox_inventory:removeDrop', -1, inv.id) - Inventory.Drops[inv.id] = nil - elseif inv.player then - activeIdentifiers[inv.owner] = nil - end + if not inv then return end - for playerId in pairs(inv.openedBy) do - if inv.id ~= playerId then - local target = Inventories[playerId] + if inv.type == 'drop' then + TriggerClientEvent('ox_inventory:removeDrop', -1, inv.id) + Inventory.Drops[inv.id] = nil + elseif inv.player then + activeIdentifiers[inv.owner] = nil + end - if target then - target:closeInventory() - end + for playerId in pairs(inv.openedBy) do + if inv.id ~= playerId then + local target = Inventories[playerId] + + if target then + target:closeInventory() end end + end - if not inv.datastore and inv.changed then - Inventory.Save(inv) - end + if not inv.datastore and inv.changed then + Inventory.Save(inv) + end - Inventories[inv.id] = nil - end + Inventories[inv.id] = nil end exports('RemoveInventory', Inventory.Remove) @@ -1511,7 +1512,7 @@ AddEventHandler('ox_inventory:customDrop', CustomDrop) exports('CustomDrop', CustomDrop) exports('CreateDropFromPlayer', function(playerId) - local playerInventory = Inventories[playerId] + local playerInventory = Inventory(playerId) if not playerInventory or not next(playerInventory.items) then return end @@ -1964,7 +1965,7 @@ lib.callback.register('ox_inventory:swapItems', function(source, data) end) function Inventory.Confiscate(source) - local inv = Inventories[source] + local inv = Inventory(source) if inv?.player then db.saveStash(inv.owner, inv.owner, json.encode(minimal(inv))) @@ -1980,7 +1981,7 @@ end exports('ConfiscateInventory', Inventory.Confiscate) function Inventory.Return(source) - local inv = Inventories[source] + local inv = Inventory(source) if not inv?.player then return end @@ -2409,8 +2410,8 @@ RegisterServerEvent('ox_inventory:closeInventory', function() end) local function giveItem(playerId, slot, target, count) - local fromInventory = Inventories[playerId] - local toInventory = Inventories[target] + local fromInventory = Inventory(playerId) + local toInventory = Inventory(target) if count <= 0 then count = 1 end @@ -2477,7 +2478,7 @@ lib.callback.register('ox_inventory:giveItem', giveItem) RegisterServerEvent('ox_inventory:giveItem', function(...) giveItem(source, ...) end) local function updateWeapon(source, action, value, slot, specialAmmo) - local inventory = Inventories[source] + local inventory = Inventory(source) if not inventory then return end diff --git a/resources/[core]/ox_inventory/modules/items/server.lua b/resources/[core]/ox_inventory/modules/items/server.lua index 6abaed8..0a2e35a 100644 --- a/resources/[core]/ox_inventory/modules/items/server.lua +++ b/resources/[core]/ox_inventory/modules/items/server.lua @@ -51,6 +51,8 @@ local Inventory CreateThread(function() Inventory = require 'modules.inventory.server' + if not lib then return end + if shared.framework == 'esx' then local success, items = pcall(MySQL.query.await, 'SELECT * FROM items') @@ -332,6 +334,8 @@ function Items.UpdateDurability(inv, slot, item, value, ostime) }, true) end +---@deprecated +---Use the 'ox_inventory:usedItem' event or the 'usingItem' or 'buyItem' hooks local function Item(name, cb) local item = ItemList[name] diff --git a/resources/[core]/ox_inventory/modules/items/shared.lua b/resources/[core]/ox_inventory/modules/items/shared.lua index fc402e4..61d47a4 100644 --- a/resources/[core]/ox_inventory/modules/items/shared.lua +++ b/resources/[core]/ox_inventory/modules/items/shared.lua @@ -73,7 +73,7 @@ local function newItem(data) ItemList[data.name] = data end -for type, data in pairs(lib.load('data.weapons')) do +for type, data in pairs(lib.load('data.weapons') or {}) do for k, v in pairs(data) do v.name = k v.close = type == 'Ammo' and true or false @@ -106,7 +106,7 @@ for type, data in pairs(lib.load('data.weapons')) do end end -for k, v in pairs(lib.load('data.items')) do +for k, v in pairs(lib.load('data.items') or {}) do v.name = k local success, response = pcall(newItem, v) diff --git a/resources/[core]/ox_inventory/modules/mysql/server.lua b/resources/[core]/ox_inventory/modules/mysql/server.lua index fb65fe4..413e6f1 100644 --- a/resources/[core]/ox_inventory/modules/mysql/server.lua +++ b/resources/[core]/ox_inventory/modules/mysql/server.lua @@ -268,7 +268,7 @@ function db.saveInventories(players, trunks, gloveboxes, stashes, total) end end - shared.info(saveStr:format('stashes', affectedRows, total[4], (os.nanotime() - start) / 1e6)) + shared.info(saveStr:format(affectedRows, total[4], 'stashes', (os.nanotime() - start) / 1e6)) end end) end diff --git a/resources/[core]/ox_inventory/modules/shops/client.lua b/resources/[core]/ox_inventory/modules/shops/client.lua index 8eef34b..364511a 100644 --- a/resources/[core]/ox_inventory/modules/shops/client.lua +++ b/resources/[core]/ox_inventory/modules/shops/client.lua @@ -4,7 +4,7 @@ local shopTypes = {} local shops = {} local createBlip = require 'modules.utils.client'.CreateBlip -for shopType, shopData in pairs(lib.load('data.shops') --[[@as table]]) do +for shopType, shopData in pairs(lib.load('data.shops') or {} --[[@as table]]) do local shop = { name = shopData.name, groups = shopData.groups or shopData.jobs, diff --git a/resources/[core]/ox_inventory/modules/shops/server.lua b/resources/[core]/ox_inventory/modules/shops/server.lua index ddb0a45..c818eb3 100644 --- a/resources/[core]/ox_inventory/modules/shops/server.lua +++ b/resources/[core]/ox_inventory/modules/shops/server.lua @@ -91,7 +91,6 @@ local function createShop(shopType, id) coords = store end - ---@type OxShop shop[id] = { label = shop.name, id = shopType..' '..id, @@ -108,7 +107,7 @@ local function createShop(shopType, id) return shop[id] end -for shopType, shopDetails in pairs(lib.load('data.shops')) do +for shopType, shopDetails in pairs(lib.load('data.shops') or {}) do registerShopType(shopType, shopDetails) end diff --git a/resources/[core]/ox_inventory/server.lua b/resources/[core]/ox_inventory/server.lua index 75b145a..f229f6a 100644 --- a/resources/[core]/ox_inventory/server.lua +++ b/resources/[core]/ox_inventory/server.lua @@ -1,5 +1,10 @@ if not lib then return end +require 'modules.bridge.server' +require 'modules.crafting.server' +require 'modules.shops.server' +require 'modules.pefcl.server' + if GetConvar('inventory:versioncheck', 'true') == 'true' then lib.versionCheck('overextended/ox_inventory') end @@ -9,11 +14,6 @@ local db = require 'modules.mysql.server' local Items = require 'modules.items.server' local Inventory = require 'modules.inventory.server' -require 'modules.crafting.server' -require 'modules.shops.server' -require 'modules.pefcl.server' -require 'modules.bridge.server' - ---@param player table ---@param data table? --- player requires source, identifier, and name @@ -67,14 +67,34 @@ end exports('setPlayerInventory', server.setPlayerInventory) AddEventHandler('ox_inventory:setPlayerInventory', server.setPlayerInventory) ----@param playerPed number ----@param coordinates vector3|vector3[] ----@param distance? number ----@return vector3|false -local function getClosestStashCoords(playerPed, coordinates, distance) - local playerCoords = GetEntityCoords(playerPed) +local registeredDumpsters = {} - if not distance then distance = 10 end +---@param coords vector3 +---@return string? +local function getDumpsterFromCoords(coords) + local found + + for i = 1, #registeredDumpsters do + local distance = #(coords - registeredDumpsters[i]) + + if distance < 0.1 then + found = i + break + end + end + + return found +end + +---@param playerPed number +---@param stash OxInventory +---@return vector3? +local function getClosestStashCoords(playerPed, stash) + local playerCoords = GetEntityCoords(playerPed) + local distance = stash.distance or 10 + local coordinates = stash.coords + + if not coordinates then return end if type(coordinates) == 'table' then for i = 1, #coordinates do @@ -85,10 +105,10 @@ local function getClosestStashCoords(playerPed, coordinates, distance) end end - return false + return end - return #(coordinates - playerCoords) < distance and coordinates + return #(coordinates - playerCoords) < distance and coordinates or nil end ---@param source number @@ -99,9 +119,11 @@ end local function openInventory(source, invType, data, ignoreSecurityChecks) if Inventory.Lock then return false end - local left = Inventory(source) --[[@as OxInventory]] + local left = Inventory(source) local right, closestCoords + if not left then return end + left:closeInventory(true) Inventory.CloseAll(left, source) @@ -109,6 +131,8 @@ local function openInventory(source, invType, data, ignoreSecurityChecks) data = nil end + local playerPed = left.player.ped + if data then local isDataTable = type(data) == 'table' @@ -117,9 +141,22 @@ local function openInventory(source, invType, data, ignoreSecurityChecks) if right == false then return false end elseif isDataTable then if data.netid then + local entity = NetworkGetEntityFromNetworkId(data.netid) + + if not entity then return end + + if not ignoreSecurityChecks then + if #(GetEntityCoords(playerPed) - GetEntityCoords(entity)) > 16 then return end + end + + if invType == 'glovebox' then + if not ignoreSecurityChecks and GetVehiclePedIsIn(playerPed, false) ~= entity then + return + end + end + if invType == 'trunk' then - local entity = NetworkGetEntityFromNetworkId(data.netid) - local lockStatus = entity > 0 and GetVehicleDoorLockStatus(entity) + local lockStatus = ignoreSecurityChecks and 0 or GetVehicleDoorLockStatus(entity) -- 0: no lock; 1: unlocked; 8: boot unlocked if lockStatus > 1 and lockStatus ~= 8 then @@ -127,8 +164,27 @@ local function openInventory(source, invType, data, ignoreSecurityChecks) end end + local plate = (invType == 'glovebox' or invType == 'trunk') and GetVehicleNumberPlateText(entity) + + if plate then + if server.trimplate then plate = string.strtrim(plate) end + + if not data.id then + data.id = (invType == 'glovebox' and 'glove' or 'trunk') .. plate + end + end + data.type = invType right = Inventory(data) + + if right and data.netid ~= right.netid then + local invEntity = NetworkGetEntityFromNetworkId(right.netid) + + if not (invEntity > 0 and DoesEntityExist(invEntity)) or (plate and not string.match(GetVehicleNumberPlateText(invEntity) or '', plate)) then + Inventory.Remove(right) + right = Inventory(data) + end + end elseif invType == 'drop' then right = Inventory(data.id) else @@ -139,16 +195,25 @@ local function openInventory(source, invType, data, ignoreSecurityChecks) right = Inventory(('evidence-%s'):format(data)) end elseif invType == 'dumpster' then - ---@cast data string - right = Inventory(data) + if shared.networkdumpsters then + local dumpsterId = getDumpsterFromCoords(data) + right = dumpsterId and Inventory(('dumpster-%s'):format(dumpsterId)) - if not right then - local netid = tonumber(data:sub(9)) + if not right then + dumpsterId = #registeredDumpsters + 1 + right = Inventory.Create(('dumpster-%s'):format(dumpsterId), locale('dumpster'), invType, 15, 0, 100000, false) + registeredDumpsters[dumpsterId] = data + end + else + ---@cast data string + right = Inventory(data) - -- dumpsters do not work with entity lockdown. need to rewrite, but having to do - -- distance checks to some ~7000 dumpsters and freeze the entities isn't ideal - if netid and NetworkGetEntityFromNetworkId(netid) > 0 then - right = Inventory.Create(data, locale('dumpster'), invType, 15, 0, 100000, false) + if not right then + local netid = tonumber(data:sub(9)) + + if netid and NetworkGetEntityFromNetworkId(netid) > 0 then + right = Inventory.Create(data, locale('dumpster'), invType, 15, 0, 100000, false) + end end end elseif invType == 'container' then @@ -188,7 +253,7 @@ local function openInventory(source, invType, data, ignoreSecurityChecks) end if not ignoreSecurityChecks and right.coords then - closestCoords = getClosestStashCoords(left.player.ped, right.coords) + closestCoords = getClosestStashCoords(playerPed, right) if not closestCoords then return end end @@ -379,6 +444,13 @@ lib.callback.register('ox_inventory:useItem', function(source, itemName, slot, m data.consume = consume + if not TriggerEventHooks('usingItem', { + source = source, + inventoryId = inventory and inventory.id, + item = inventory.items[slot], + consume = consume + }) then return false end + ---@type boolean local success = lib.callback.await('ox_inventory:usingItem', source, data, noAnim) diff --git a/resources/[core]/ox_inventory/web/2/index.html b/resources/[core]/ox_inventory/web/2/index.html deleted file mode 100644 index d520a6c..0000000 --- a/resources/[core]/ox_inventory/web/2/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - Ox Inventory - - - - -
- - - diff --git a/resources/[core]/ox_inventory/web/2/LICENSE b/resources/[core]/ox_inventory/web/build/LICENSE similarity index 100% rename from resources/[core]/ox_inventory/web/2/LICENSE rename to resources/[core]/ox_inventory/web/build/LICENSE diff --git a/resources/[core]/ox_inventory/web/2/assets/index-3b687188.js b/resources/[core]/ox_inventory/web/build/assets/index-3b687188.js similarity index 100% rename from resources/[core]/ox_inventory/web/2/assets/index-3b687188.js rename to resources/[core]/ox_inventory/web/build/assets/index-3b687188.js diff --git a/resources/[core]/ox_inventory/web/2/assets/index-9aba2ab3.css b/resources/[core]/ox_inventory/web/build/assets/index-9aba2ab3.css similarity index 100% rename from resources/[core]/ox_inventory/web/2/assets/index-9aba2ab3.css rename to resources/[core]/ox_inventory/web/build/assets/index-9aba2ab3.css diff --git a/resources/[core]/ox_inventory/web/build/assets/index-CNvxOJhz.js b/resources/[core]/ox_inventory/web/build/assets/index-CNvxOJhz.js deleted file mode 100644 index 2ca7971..0000000 --- a/resources/[core]/ox_inventory/web/build/assets/index-CNvxOJhz.js +++ /dev/null @@ -1,90 +0,0 @@ -function e2(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(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 r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();var wo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Jc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Gw={exports:{}},ef={},qw={exports:{}},Ae={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var ys=Symbol.for("react.element"),t2=Symbol.for("react.portal"),n2=Symbol.for("react.fragment"),r2=Symbol.for("react.strict_mode"),i2=Symbol.for("react.profiler"),o2=Symbol.for("react.provider"),l2=Symbol.for("react.context"),u2=Symbol.for("react.forward_ref"),s2=Symbol.for("react.suspense"),a2=Symbol.for("react.memo"),c2=Symbol.for("react.lazy"),W0=Symbol.iterator;function f2(e){return e===null||typeof e!="object"?null:(e=W0&&e[W0]||e["@@iterator"],typeof e=="function"?e:null)}var Yw={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qw=Object.assign,Xw={};function Vl(e,t,n){this.props=e,this.context=t,this.refs=Xw,this.updater=n||Yw}Vl.prototype.isReactComponent={};Vl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Vl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Zw(){}Zw.prototype=Vl.prototype;function kg(e,t,n){this.props=e,this.context=t,this.refs=Xw,this.updater=n||Yw}var Ig=kg.prototype=new Zw;Ig.constructor=kg;Qw(Ig,Vl.prototype);Ig.isPureReactComponent=!0;var V0=Array.isArray,Jw=Object.prototype.hasOwnProperty,bg={current:null},eS={key:!0,ref:!0,__self:!0,__source:!0};function tS(e,t,n){var r,i={},l=null,u=null;if(t!=null)for(r in t.ref!==void 0&&(u=t.ref),t.key!==void 0&&(l=""+t.key),t)Jw.call(t,r)&&!eS.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,ue=$[oe];if(0>>1;oei(ge,I))pei(Pe,ge)?($[oe]=Pe,$[pe]=I,oe=pe):($[oe]=ge,$[we]=I,oe=we);else if(pei(Pe,I))$[oe]=Pe,$[pe]=I,oe=pe;else break e}}return le}function i($,le){var I=$.sortIndex-le.sortIndex;return I!==0?I:$.id-le.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,a=u.now();e.unstable_now=function(){return u.now()-a}}var f=[],d=[],p=1,h=null,y=3,m=!1,S=!1,_=!1,A=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E($){for(var le=n(d);le!==null;){if(le.callback===null)r(d);else if(le.startTime<=$)r(d),le.sortIndex=le.expirationTime,t(f,le);else break;le=n(d)}}function b($){if(_=!1,E($),!S)if(n(f)!==null)S=!0,re(M);else{var le=n(d);le!==null&&V(b,le.startTime-$)}}function M($,le){S=!1,_&&(_=!1,w(K),K=-1),m=!0;var I=y;try{for(E(le),h=n(f);h!==null&&(!(h.expirationTime>le)||$&&!J());){var oe=h.callback;if(typeof oe=="function"){h.callback=null,y=h.priorityLevel;var ue=oe(h.expirationTime<=le);le=e.unstable_now(),typeof ue=="function"?h.callback=ue:h===n(f)&&r(f),E(le)}else r(f);h=n(f)}if(h!==null)var T=!0;else{var we=n(d);we!==null&&V(b,we.startTime-le),T=!1}return T}finally{h=null,y=I,m=!1}}var R=!1,j=null,K=-1,q=5,U=-1;function J(){return!(e.unstable_now()-U$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):q=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return y},e.unstable_getFirstCallbackNode=function(){return n(f)},e.unstable_next=function($){switch(y){case 1:case 2:case 3:var le=3;break;default:le=y}var I=y;y=le;try{return $()}finally{y=I}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function($,le){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var I=y;y=$;try{return le()}finally{y=I}},e.unstable_scheduleCallback=function($,le,I){var oe=e.unstable_now();switch(typeof I=="object"&&I!==null?(I=I.delay,I=typeof I=="number"&&0oe?($.sortIndex=I,t(d,$),n(f)===null&&$===n(d)&&(_?(w(K),K=-1):_=!0,V(b,I-oe))):($.sortIndex=ue,t(f,$),S||m||(S=!0,re(M))),$},e.unstable_shouldYield=J,e.unstable_wrapCallback=function($){var le=y;return function(){var I=y;y=le;try{return $.apply(this,arguments)}finally{y=I}}}})(lS);oS.exports=lS;var E2=oS.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var C2=D,Bn=E2;function ne(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ih=Object.prototype.hasOwnProperty,_2=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,G0={},q0={};function k2(e){return ih.call(q0,e)?!0:ih.call(G0,e)?!1:_2.test(e)?q0[e]=!0:(G0[e]=!0,!1)}function I2(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function b2(e,t,n,r){if(t===null||typeof t>"u"||I2(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function sn(e,t,n,r,i,l,u){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=u}var Ht={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ht[e]=new sn(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ht[t]=new sn(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ht[e]=new sn(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ht[e]=new sn(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Ht[e]=new sn(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ht[e]=new sn(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ht[e]=new sn(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ht[e]=new sn(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ht[e]=new sn(e,5,!1,e.toLowerCase(),null,!1,!1)});var Og=/[\-:]([a-z])/g;function Rg(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Og,Rg);Ht[t]=new sn(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Og,Rg);Ht[t]=new sn(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Og,Rg);Ht[t]=new sn(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ht[e]=new sn(e,1,!1,e.toLowerCase(),null,!1,!1)});Ht.xlinkHref=new sn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ht[e]=new sn(e,1,!1,e.toLowerCase(),null,!0,!0)});function Pg(e,t,n,r){var i=Ht.hasOwnProperty(t)?Ht[t]:null;(i!==null?i.type!==0:r||!(2a||i[u]!==l[a]){var f=` -`+i[u].replace(" at new "," at ");return e.displayName&&f.includes("")&&(f=f.replace("",e.displayName)),f}while(1<=u&&0<=a);break}}}finally{tp=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ku(e):""}function T2(e){switch(e.tag){case 5:return ku(e.type);case 16:return ku("Lazy");case 13:return ku("Suspense");case 19:return ku("SuspenseList");case 0:case 2:case 15:return e=np(e.type,!1),e;case 11:return e=np(e.type.render,!1),e;case 1:return e=np(e.type,!0),e;default:return""}}function sh(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case fl:return"Fragment";case cl:return"Portal";case oh:return"Profiler";case Dg:return"StrictMode";case lh:return"Suspense";case uh:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case aS:return(e.displayName||"Context")+".Consumer";case sS:return(e._context.displayName||"Context")+".Provider";case Ag:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ng:return t=e.displayName||null,t!==null?t:sh(e.type)||"Memo";case Ti:t=e._payload,e=e._init;try{return sh(e(t))}catch{}}return null}function O2(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return sh(t);case 8:return t===Dg?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Vi(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fS(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function R2(e){var t=fS(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(u){r=""+u,l.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function va(e){e._valueTracker||(e._valueTracker=R2(e))}function dS(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=fS(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function uc(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ah(e,t){var n=t.checked;return pt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Q0(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Vi(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function pS(e,t){t=t.checked,t!=null&&Pg(e,"checked",t,!1)}function ch(e,t){pS(e,t);var n=Vi(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?fh(e,t.type,n):t.hasOwnProperty("defaultValue")&&fh(e,t.type,Vi(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function X0(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function fh(e,t,n){(t!=="number"||uc(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Iu=Array.isArray;function Cl(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=xa.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Yu(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Du={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},P2=["Webkit","ms","Moz","O"];Object.keys(Du).forEach(function(e){P2.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Du[t]=Du[e]})});function yS(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Du.hasOwnProperty(e)&&Du[e]?(""+t).trim():t+"px"}function vS(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=yS(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var D2=pt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function hh(e,t){if(t){if(D2[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ne(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ne(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ne(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ne(62))}}function gh(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var mh=null;function Mg(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var yh=null,_l=null,kl=null;function e1(e){if(e=ws(e)){if(typeof yh!="function")throw Error(ne(280));var t=e.stateNode;t&&(t=lf(t),yh(e.stateNode,e.type,t))}}function xS(e){_l?kl?kl.push(e):kl=[e]:_l=e}function wS(){if(_l){var e=_l,t=kl;if(kl=_l=null,e1(e),t)for(e=0;e>>=0,e===0?32:31-(H2(e)/W2|0)|0}var wa=64,Sa=4194304;function bu(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function fc(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,l=e.pingedLanes,u=n&268435455;if(u!==0){var a=u&~i;a!==0?r=bu(a):(l&=u,l!==0&&(r=bu(l)))}else u=n&~i,u!==0?r=bu(u):l!==0&&(r=bu(l));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,l=t&-t,i>=l||i===16&&(l&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function vs(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-_r(t),e[t]=n}function q2(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Nu),a1=" ",c1=!1;function BS(e,t){switch(e){case"keyup":return EA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function US(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var dl=!1;function _A(e,t){switch(e){case"compositionend":return US(t);case"keypress":return t.which!==32?null:(c1=!0,a1);case"textInput":return e=t.data,e===a1&&c1?null:e;default:return null}}function kA(e,t){if(dl)return e==="compositionend"||!Hg&&BS(e,t)?(e=zS(),Ka=Bg=Ai=null,dl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=h1(n)}}function VS(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?VS(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function KS(){for(var e=window,t=uc();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=uc(e.document)}return t}function Wg(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function NA(e){var t=KS(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&VS(n.ownerDocument.documentElement,n)){if(r!==null&&Wg(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,l=Math.min(r.start,i);r=r.end===void 0?l:Math.min(r.end,i),!e.extend&&l>r&&(i=r,r=l,l=i),i=g1(n,l);var u=g1(n,r);i&&u&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(u.node,u.offset)):(t.setEnd(u.node,u.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,pl=null,Ch=null,Lu=null,_h=!1;function m1(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;_h||pl==null||pl!==uc(r)||(r=pl,"selectionStart"in r&&Wg(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Lu&&ts(Lu,r)||(Lu=r,r=hc(Ch,"onSelect"),0ml||(e.current=Rh[ml],Rh[ml]=null,ml--)}function Je(e,t){ml++,Rh[ml]=e.current,e.current=t}var Ki={},Zt=Zi(Ki),wn=Zi(!1),Po=Ki;function Nl(e,t){var n=e.type.contextTypes;if(!n)return Ki;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Sn(e){return e=e.childContextTypes,e!=null}function mc(){it(wn),it(Zt)}function C1(e,t,n){if(Zt.current!==Ki)throw Error(ne(168));Je(Zt,t),Je(wn,n)}function tE(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ne(108,O2(e)||"Unknown",i));return pt({},n,r)}function yc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ki,Po=Zt.current,Je(Zt,e),Je(wn,wn.current),!0}function _1(e,t,n){var r=e.stateNode;if(!r)throw Error(ne(169));n?(e=tE(e,t,Po),r.__reactInternalMemoizedMergedChildContext=e,it(wn),it(Zt),Je(Zt,e)):it(wn),Je(wn,n)}var Jr=null,uf=!1,mp=!1;function nE(e){Jr===null?Jr=[e]:Jr.push(e)}function KA(e){uf=!0,nE(e)}function Ji(){if(!mp&&Jr!==null){mp=!0;var e=0,t=qe;try{var n=Jr;for(qe=1;e>=u,i-=u,ei=1<<32-_r(t)+i|n<K?(q=j,j=null):q=j.sibling;var U=y(w,j,E[K],b);if(U===null){j===null&&(j=q);break}e&&j&&U.alternate===null&&t(w,j),v=l(U,v,K),R===null?M=U:R.sibling=U,R=U,j=q}if(K===E.length)return n(w,j),ut&&ho(w,K),M;if(j===null){for(;KK?(q=j,j=null):q=j.sibling;var J=y(w,j,U.value,b);if(J===null){j===null&&(j=q);break}e&&j&&J.alternate===null&&t(w,j),v=l(J,v,K),R===null?M=J:R.sibling=J,R=J,j=q}if(U.done)return n(w,j),ut&&ho(w,K),M;if(j===null){for(;!U.done;K++,U=E.next())U=h(w,U.value,b),U!==null&&(v=l(U,v,K),R===null?M=U:R.sibling=U,R=U);return ut&&ho(w,K),M}for(j=r(w,j);!U.done;K++,U=E.next())U=m(j,w,K,U.value,b),U!==null&&(e&&U.alternate!==null&&j.delete(U.key===null?K:U.key),v=l(U,v,K),R===null?M=U:R.sibling=U,R=U);return e&&j.forEach(function(G){return t(w,G)}),ut&&ho(w,K),M}function A(w,v,E,b){if(typeof E=="object"&&E!==null&&E.type===fl&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case ya:e:{for(var M=E.key,R=v;R!==null;){if(R.key===M){if(M=E.type,M===fl){if(R.tag===7){n(w,R.sibling),v=i(R,E.props.children),v.return=w,w=v;break e}}else if(R.elementType===M||typeof M=="object"&&M!==null&&M.$$typeof===Ti&&b1(M)===R.type){n(w,R.sibling),v=i(R,E.props),v.ref=xu(w,R,E),v.return=w,w=v;break e}n(w,R);break}else t(w,R);R=R.sibling}E.type===fl?(v=To(E.props.children,w.mode,b,E.key),v.return=w,w=v):(b=ec(E.type,E.key,E.props,null,w.mode,b),b.ref=xu(w,v,E),b.return=w,w=b)}return u(w);case cl:e:{for(R=E.key;v!==null;){if(v.key===R)if(v.tag===4&&v.stateNode.containerInfo===E.containerInfo&&v.stateNode.implementation===E.implementation){n(w,v.sibling),v=i(v,E.children||[]),v.return=w,w=v;break e}else{n(w,v);break}else t(w,v);v=v.sibling}v=_p(E,w.mode,b),v.return=w,w=v}return u(w);case Ti:return R=E._init,A(w,v,R(E._payload),b)}if(Iu(E))return S(w,v,E,b);if(hu(E))return _(w,v,E,b);Ta(w,E)}return typeof E=="string"&&E!==""||typeof E=="number"?(E=""+E,v!==null&&v.tag===6?(n(w,v.sibling),v=i(v,E),v.return=w,w=v):(n(w,v),v=Cp(E,w.mode,b),v.return=w,w=v),u(w)):n(w,v)}return A}var Ll=lE(!0),uE=lE(!1),wc=Zi(null),Sc=null,xl=null,qg=null;function Yg(){qg=xl=Sc=null}function Qg(e){var t=wc.current;it(wc),e._currentValue=t}function Ah(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function bl(e,t){Sc=e,qg=xl=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(xn=!0),e.firstContext=null)}function cr(e){var t=e._currentValue;if(qg!==e)if(e={context:e,memoizedValue:t,next:null},xl===null){if(Sc===null)throw Error(ne(308));xl=e,Sc.dependencies={lanes:0,firstContext:e}}else xl=xl.next=e;return t}var _o=null;function Xg(e){_o===null?_o=[e]:_o.push(e)}function sE(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Xg(t)):(n.next=i.next,i.next=n),t.interleaved=n,li(e,r)}function li(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Oi=!1;function Zg(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function aE(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ni(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ji(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,ze&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,li(e,n)}return i=r.interleaved,i===null?(t.next=t,Xg(r)):(t.next=i.next,i.next=t),r.interleaved=t,li(e,n)}function qa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Fg(e,n)}}function T1(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var u={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?i=l=u:l=l.next=u,n=n.next}while(n!==null);l===null?i=l=t:l=l.next=t}else i=l=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ec(e,t,n,r){var i=e.updateQueue;Oi=!1;var l=i.firstBaseUpdate,u=i.lastBaseUpdate,a=i.shared.pending;if(a!==null){i.shared.pending=null;var f=a,d=f.next;f.next=null,u===null?l=d:u.next=d,u=f;var p=e.alternate;p!==null&&(p=p.updateQueue,a=p.lastBaseUpdate,a!==u&&(a===null?p.firstBaseUpdate=d:a.next=d,p.lastBaseUpdate=f))}if(l!==null){var h=i.baseState;u=0,p=d=f=null,a=l;do{var y=a.lane,m=a.eventTime;if((r&y)===y){p!==null&&(p=p.next={eventTime:m,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var S=e,_=a;switch(y=t,m=n,_.tag){case 1:if(S=_.payload,typeof S=="function"){h=S.call(m,h,y);break e}h=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=_.payload,y=typeof S=="function"?S.call(m,h,y):S,y==null)break e;h=pt({},h,y);break e;case 2:Oi=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,y=i.effects,y===null?i.effects=[a]:y.push(a))}else m={eventTime:m,lane:y,tag:a.tag,payload:a.payload,callback:a.callback,next:null},p===null?(d=p=m,f=h):p=p.next=m,u|=y;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;y=a,a=y.next,y.next=null,i.lastBaseUpdate=y,i.shared.pending=null}}while(!0);if(p===null&&(f=h),i.baseState=f,i.firstBaseUpdate=d,i.lastBaseUpdate=p,t=i.shared.interleaved,t!==null){i=t;do u|=i.lane,i=i.next;while(i!==t)}else l===null&&(i.shared.lanes=0);No|=u,e.lanes=u,e.memoizedState=h}}function O1(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=vp.transition;vp.transition={};try{e(!1),t()}finally{qe=n,vp.transition=r}}function IE(){return fr().memoizedState}function QA(e,t,n){var r=Ui(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},bE(e))TE(t,n);else if(n=sE(e,t,n,r),n!==null){var i=ln();kr(n,e,r,i),OE(n,t,r)}}function XA(e,t,n){var r=Ui(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(bE(e))TE(t,i);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var u=t.lastRenderedState,a=l(u,n);if(i.hasEagerState=!0,i.eagerState=a,Ir(a,u)){var f=t.interleaved;f===null?(i.next=i,Xg(t)):(i.next=f.next,f.next=i),t.interleaved=i;return}}catch{}finally{}n=sE(e,t,i,r),n!==null&&(i=ln(),kr(n,e,r,i),OE(n,t,r))}}function bE(e){var t=e.alternate;return e===dt||t!==null&&t===dt}function TE(e,t){Fu=_c=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function OE(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Fg(e,n)}}var kc={readContext:cr,useCallback:Kt,useContext:Kt,useEffect:Kt,useImperativeHandle:Kt,useInsertionEffect:Kt,useLayoutEffect:Kt,useMemo:Kt,useReducer:Kt,useRef:Kt,useState:Kt,useDebugValue:Kt,useDeferredValue:Kt,useTransition:Kt,useMutableSource:Kt,useSyncExternalStore:Kt,useId:Kt,unstable_isNewReconciler:!1},ZA={readContext:cr,useCallback:function(e,t){return Dr().memoizedState=[e,t===void 0?null:t],e},useContext:cr,useEffect:P1,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Qa(4194308,4,SE.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Qa(4194308,4,e,t)},useInsertionEffect:function(e,t){return Qa(4,2,e,t)},useMemo:function(e,t){var n=Dr();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Dr();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=QA.bind(null,dt,e),[r.memoizedState,e]},useRef:function(e){var t=Dr();return e={current:e},t.memoizedState=e},useState:R1,useDebugValue:lm,useDeferredValue:function(e){return Dr().memoizedState=e},useTransition:function(){var e=R1(!1),t=e[0];return e=YA.bind(null,e[1]),Dr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=dt,i=Dr();if(ut){if(n===void 0)throw Error(ne(407));n=n()}else{if(n=t(),Dt===null)throw Error(ne(349));Ao&30||pE(r,t,n)}i.memoizedState=n;var l={value:n,getSnapshot:t};return i.queue=l,P1(gE.bind(null,r,l,e),[e]),r.flags|=2048,as(9,hE.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Dr(),t=Dt.identifierPrefix;if(ut){var n=ti,r=ei;n=(r&~(1<<32-_r(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=us++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Nr]=t,e[is]=r,jE(e,t,!1,!1),t.stateNode=e;e:{switch(u=gh(n,r),n){case"dialog":rt("cancel",e),rt("close",e),i=r;break;case"iframe":case"object":case"embed":rt("load",e),i=r;break;case"video":case"audio":for(i=0;ijl&&(t.flags|=128,r=!0,wu(l,!1),t.lanes=4194304)}else{if(!r)if(e=Cc(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),wu(l,!0),l.tail===null&&l.tailMode==="hidden"&&!u.alternate&&!ut)return Gt(t),null}else 2*Et()-l.renderingStartTime>jl&&n!==1073741824&&(t.flags|=128,r=!0,wu(l,!1),t.lanes=4194304);l.isBackwards?(u.sibling=t.child,t.child=u):(n=l.last,n!==null?n.sibling=u:t.child=u,l.last=u)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Et(),t.sibling=null,n=ft.current,Je(ft,r?n&1|2:n&1),t):(Gt(t),null);case 22:case 23:return dm(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?An&1073741824&&(Gt(t),t.subtreeFlags&6&&(t.flags|=8192)):Gt(t),null;case 24:return null;case 25:return null}throw Error(ne(156,t.tag))}function lN(e,t){switch(Kg(t),t.tag){case 1:return Sn(t.type)&&mc(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Fl(),it(wn),it(Zt),tm(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return em(t),null;case 13:if(it(ft),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ne(340));Ml()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return it(ft),null;case 4:return Fl(),null;case 10:return Qg(t.type._context),null;case 22:case 23:return dm(),null;case 24:return null;default:return null}}var Ra=!1,Yt=!1,uN=typeof WeakSet=="function"?WeakSet:Set,ce=null;function wl(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){yt(e,t,r)}else n.current=null}function $h(e,t,n){try{n()}catch(r){yt(e,t,r)}}var $1=!1;function sN(e,t){if(kh=dc,e=KS(),Wg(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var u=0,a=-1,f=-1,d=0,p=0,h=e,y=null;t:for(;;){for(var m;h!==n||i!==0&&h.nodeType!==3||(a=u+i),h!==l||r!==0&&h.nodeType!==3||(f=u+r),h.nodeType===3&&(u+=h.nodeValue.length),(m=h.firstChild)!==null;)y=h,h=m;for(;;){if(h===e)break t;if(y===n&&++d===i&&(a=u),y===l&&++p===r&&(f=u),(m=h.nextSibling)!==null)break;h=y,y=h.parentNode}h=m}n=a===-1||f===-1?null:{start:a,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ih={focusedElem:e,selectionRange:n},dc=!1,ce=t;ce!==null;)if(t=ce,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ce=e;else for(;ce!==null;){t=ce;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var _=S.memoizedProps,A=S.memoizedState,w=t.stateNode,v=w.getSnapshotBeforeUpdate(t.elementType===t.type?_:wr(t.type,_),A);w.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var E=t.stateNode.containerInfo;E.nodeType===1?E.textContent="":E.nodeType===9&&E.documentElement&&E.removeChild(E.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ne(163))}}catch(b){yt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ce=e;break}ce=t.return}return S=$1,$1=!1,S}function zu(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var l=i.destroy;i.destroy=void 0,l!==void 0&&$h(t,n,l)}i=i.next}while(i!==r)}}function cf(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Hh(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function $E(e){var t=e.alternate;t!==null&&(e.alternate=null,$E(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Nr],delete t[is],delete t[Oh],delete t[WA],delete t[VA])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function HE(e){return e.tag===5||e.tag===3||e.tag===4}function H1(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||HE(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Wh(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=gc));else if(r!==4&&(e=e.child,e!==null))for(Wh(e,t,n),e=e.sibling;e!==null;)Wh(e,t,n),e=e.sibling}function Vh(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Vh(e,t,n),e=e.sibling;e!==null;)Vh(e,t,n),e=e.sibling}var Bt=null,Sr=!1;function _i(e,t,n){for(n=n.child;n!==null;)WE(e,t,n),n=n.sibling}function WE(e,t,n){if(Fr&&typeof Fr.onCommitFiberUnmount=="function")try{Fr.onCommitFiberUnmount(tf,n)}catch{}switch(n.tag){case 5:Yt||wl(n,t);case 6:var r=Bt,i=Sr;Bt=null,_i(e,t,n),Bt=r,Sr=i,Bt!==null&&(Sr?(e=Bt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Bt.removeChild(n.stateNode));break;case 18:Bt!==null&&(Sr?(e=Bt,n=n.stateNode,e.nodeType===8?gp(e.parentNode,n):e.nodeType===1&&gp(e,n),Ju(e)):gp(Bt,n.stateNode));break;case 4:r=Bt,i=Sr,Bt=n.stateNode.containerInfo,Sr=!0,_i(e,t,n),Bt=r,Sr=i;break;case 0:case 11:case 14:case 15:if(!Yt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var l=i,u=l.destroy;l=l.tag,u!==void 0&&(l&2||l&4)&&$h(n,t,u),i=i.next}while(i!==r)}_i(e,t,n);break;case 1:if(!Yt&&(wl(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){yt(n,t,a)}_i(e,t,n);break;case 21:_i(e,t,n);break;case 22:n.mode&1?(Yt=(r=Yt)||n.memoizedState!==null,_i(e,t,n),Yt=r):_i(e,t,n);break;default:_i(e,t,n)}}function W1(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new uN),t.forEach(function(r){var i=yN.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function xr(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=u),r&=~l}if(r=i,r=Et()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*cN(r/1960))-r,10e?16:e,Ni===null)var r=!1;else{if(e=Ni,Ni=null,Tc=0,ze&6)throw Error(ne(331));var i=ze;for(ze|=4,ce=e.current;ce!==null;){var l=ce,u=l.child;if(ce.flags&16){var a=l.deletions;if(a!==null){for(var f=0;fEt()-cm?bo(e,0):am|=n),En(e,t)}function ZE(e,t){t===0&&(e.mode&1?(t=Sa,Sa<<=1,!(Sa&130023424)&&(Sa=4194304)):t=1);var n=ln();e=li(e,t),e!==null&&(vs(e,t,n),En(e,n))}function mN(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ZE(e,n)}function yN(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ne(314))}r!==null&&r.delete(t),ZE(e,n)}var JE;JE=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||wn.current)xn=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return xn=!1,iN(e,t,n);xn=!!(e.flags&131072)}else xn=!1,ut&&t.flags&1048576&&rE(t,xc,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Xa(e,t),e=t.pendingProps;var i=Nl(t,Zt.current);bl(t,n),i=rm(null,t,r,e,i,n);var l=im();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Sn(r)?(l=!0,yc(t)):l=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Zg(t),i.updater=af,t.stateNode=i,i._reactInternals=t,Mh(t,r,e,n),t=zh(null,t,r,!0,l,n)):(t.tag=0,ut&&l&&Vg(t),on(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Xa(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=xN(r),e=wr(r,e),i){case 0:t=Fh(null,t,r,e,n);break e;case 1:t=j1(null,t,r,e,n);break e;case 11:t=F1(null,t,r,e,n);break e;case 14:t=z1(null,t,r,wr(r.type,e),n);break e}throw Error(ne(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:wr(r,i),Fh(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:wr(r,i),j1(e,t,r,i,n);case 3:e:{if(LE(t),e===null)throw Error(ne(387));r=t.pendingProps,l=t.memoizedState,i=l.element,aE(e,t),Ec(t,r,null,n);var u=t.memoizedState;if(r=u.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){i=zl(Error(ne(423)),t),t=B1(e,t,r,n,i);break e}else if(r!==i){i=zl(Error(ne(424)),t),t=B1(e,t,r,n,i);break e}else for(Mn=zi(t.stateNode.containerInfo.firstChild),zn=t,ut=!0,Er=null,n=uE(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ml(),r===i){t=ui(e,t,n);break e}on(e,t,r,n)}t=t.child}return t;case 5:return cE(t),e===null&&Dh(t),r=t.type,i=t.pendingProps,l=e!==null?e.memoizedProps:null,u=i.children,bh(r,i)?u=null:l!==null&&bh(r,l)&&(t.flags|=32),ME(e,t),on(e,t,u,n),t.child;case 6:return e===null&&Dh(t),null;case 13:return FE(e,t,n);case 4:return Jg(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ll(t,null,r,n):on(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:wr(r,i),F1(e,t,r,i,n);case 7:return on(e,t,t.pendingProps,n),t.child;case 8:return on(e,t,t.pendingProps.children,n),t.child;case 12:return on(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,l=t.memoizedProps,u=i.value,Je(wc,r._currentValue),r._currentValue=u,l!==null)if(Ir(l.value,u)){if(l.children===i.children&&!wn.current){t=ui(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var a=l.dependencies;if(a!==null){u=l.child;for(var f=a.firstContext;f!==null;){if(f.context===r){if(l.tag===1){f=ni(-1,n&-n),f.tag=2;var d=l.updateQueue;if(d!==null){d=d.shared;var p=d.pending;p===null?f.next=f:(f.next=p.next,p.next=f),d.pending=f}}l.lanes|=n,f=l.alternate,f!==null&&(f.lanes|=n),Ah(l.return,n,t),a.lanes|=n;break}f=f.next}}else if(l.tag===10)u=l.type===t.type?null:l.child;else if(l.tag===18){if(u=l.return,u===null)throw Error(ne(341));u.lanes|=n,a=u.alternate,a!==null&&(a.lanes|=n),Ah(u,n,t),u=l.sibling}else u=l.child;if(u!==null)u.return=l;else for(u=l;u!==null;){if(u===t){u=null;break}if(l=u.sibling,l!==null){l.return=u.return,u=l;break}u=u.return}l=u}on(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,bl(t,n),i=cr(i),r=r(i),t.flags|=1,on(e,t,r,n),t.child;case 14:return r=t.type,i=wr(r,t.pendingProps),i=wr(r.type,i),z1(e,t,r,i,n);case 15:return AE(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:wr(r,i),Xa(e,t),t.tag=1,Sn(r)?(e=!0,yc(t)):e=!1,bl(t,n),RE(t,r,i),Mh(t,r,i,n),zh(null,t,r,!0,e,n);case 19:return zE(e,t,n);case 22:return NE(e,t,n)}throw Error(ne(156,t.tag))};function eC(e,t){return bS(e,t)}function vN(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ur(e,t,n,r){return new vN(e,t,n,r)}function hm(e){return e=e.prototype,!(!e||!e.isReactComponent)}function xN(e){if(typeof e=="function")return hm(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ag)return 11;if(e===Ng)return 14}return 2}function $i(e,t){var n=e.alternate;return n===null?(n=ur(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ec(e,t,n,r,i,l){var u=2;if(r=e,typeof e=="function")hm(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case fl:return To(n.children,i,l,t);case Dg:u=8,i|=8;break;case oh:return e=ur(12,n,t,i|2),e.elementType=oh,e.lanes=l,e;case lh:return e=ur(13,n,t,i),e.elementType=lh,e.lanes=l,e;case uh:return e=ur(19,n,t,i),e.elementType=uh,e.lanes=l,e;case cS:return df(n,i,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case sS:u=10;break e;case aS:u=9;break e;case Ag:u=11;break e;case Ng:u=14;break e;case Ti:u=16,r=null;break e}throw Error(ne(130,e==null?e:typeof e,""))}return t=ur(u,n,t,i),t.elementType=e,t.type=r,t.lanes=l,t}function To(e,t,n,r){return e=ur(7,e,r,t),e.lanes=n,e}function df(e,t,n,r){return e=ur(22,e,r,t),e.elementType=cS,e.lanes=n,e.stateNode={isHidden:!1},e}function Cp(e,t,n){return e=ur(6,e,null,t),e.lanes=n,e}function _p(e,t,n){return t=ur(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function wN(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ip(0),this.expirationTimes=ip(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ip(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function gm(e,t,n,r,i,l,u,a,f){return e=new wN(e,t,n,a,f),t===1?(t=1,l===!0&&(t|=8)):t=0,l=ur(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Zg(l),e}function SN(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(iC)}catch(e){console.error(e)}}iC(),iS.exports=Hn;var ql=iS.exports;const Aa=Jc(ql);var oC,Z1=ql;oC=Z1.createRoot,Z1.hydrateRoot;var lC={exports:{}},uC={};/** - * @license React - * use-sync-external-store-with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Es=D;function IN(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bN=typeof Object.is=="function"?Object.is:IN,TN=Es.useSyncExternalStore,ON=Es.useRef,RN=Es.useEffect,PN=Es.useMemo,DN=Es.useDebugValue;uC.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var l=ON(null);if(l.current===null){var u={hasValue:!1,value:null};l.current=u}else u=l.current;l=PN(function(){function f(m){if(!d){if(d=!0,p=m,m=r(m),i!==void 0&&u.hasValue){var S=u.value;if(i(S,m))return h=S}return h=m}if(S=h,bN(p,m))return S;var _=r(m);return i!==void 0&&i(S,_)?S:(p=m,h=_)}var d=!1,p,h,y=n===void 0?null:n;return[function(){return f(t())},y===null?void 0:function(){return f(y())}]},[t,n,r,i]);var a=TN(e,l[0],l[1]);return RN(function(){u.hasValue=!0,u.value=a},[a]),DN(a),a};lC.exports=uC;var AN=lC.exports,Ln="default"in rh?Ve:rh,J1=Symbol.for("react-redux-context"),ex=typeof globalThis<"u"?globalThis:{};function NN(){if(!Ln.createContext)return{};const e=ex[J1]??(ex[J1]=new Map);let t=e.get(Ln.createContext);return t||(t=Ln.createContext(null),e.set(Ln.createContext,t)),t}var Gi=NN(),MN=()=>{throw new Error("uSES not initialized!")};function xm(e=Gi){return function(){return Ln.useContext(e)}}var sC=xm(),aC=MN,LN=e=>{aC=e},FN=(e,t)=>e===t;function zN(e=Gi){const t=e===Gi?sC:xm(e),n=(r,i={})=>{const{equalityFn:l=FN,devModeChecks:u={}}=typeof i=="function"?{equalityFn:i}:i,{store:a,subscription:f,getServerState:d,stabilityCheck:p,identityFunctionCheck:h}=t();Ln.useRef(!0);const y=Ln.useCallback({[r.name](S){return r(S)}}[r.name],[r,p,u.stabilityCheck]),m=aC(f.addNestedSub,a.getState,d||a.getState,y,l);return Ln.useDebugValue(m),m};return Object.assign(n,{withTypes:()=>n}),n}var jN=zN();function BN(e){e()}function UN(){let e=null,t=null;return{clear(){e=null,t=null},notify(){BN(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var tx={notify(){},get:()=>[]};function $N(e,t){let n,r=tx,i=0,l=!1;function u(_){p();const A=r.subscribe(_);let w=!1;return()=>{w||(w=!0,A(),h())}}function a(){r.notify()}function f(){S.onStateChange&&S.onStateChange()}function d(){return l}function p(){i++,n||(n=e.subscribe(f),r=UN())}function h(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=tx)}function y(){l||(l=!0,p())}function m(){l&&(l=!1,h())}const S={addNestedSub:u,notifyNestedSubs:a,handleChangeWrapper:f,isSubscribed:d,trySubscribe:y,tryUnsubscribe:m,getListeners:()=>r};return S}var HN=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",WN=typeof navigator<"u"&&navigator.product==="ReactNative",VN=HN||WN?Ln.useLayoutEffect:Ln.useEffect;function KN({store:e,context:t,children:n,serverState:r,stabilityCheck:i="once",identityFunctionCheck:l="once"}){const u=Ln.useMemo(()=>{const d=$N(e);return{store:e,subscription:d,getServerState:r?()=>r:void 0,stabilityCheck:i,identityFunctionCheck:l}},[e,r,i,l]),a=Ln.useMemo(()=>e.getState(),[e]);VN(()=>{const{subscription:d}=u;return d.onStateChange=d.notifyNestedSubs,d.trySubscribe(),a!==e.getState()&&d.notifyNestedSubs(),()=>{d.tryUnsubscribe(),d.onStateChange=void 0}},[u,a]);const f=t||Gi;return Ln.createElement(f.Provider,{value:u},n)}var GN=KN;function cC(e=Gi){const t=e===Gi?sC:xm(e),n=()=>{const{store:r}=t();return r};return Object.assign(n,{withTypes:()=>n}),n}var qN=cC();function YN(e=Gi){const t=e===Gi?qN:cC(e),n=()=>t().dispatch;return Object.assign(n,{withTypes:()=>n}),n}var QN=YN();LN(AN.useSyncExternalStoreWithSelector);const fC=D.createContext({dragDropManager:void 0});function tr(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var nx=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}(),kp=function(){return Math.random().toString(36).substring(7).split("").join(".")},rx={INIT:"@@redux/INIT"+kp(),REPLACE:"@@redux/REPLACE"+kp(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+kp()}};function XN(e){if(typeof e!="object"||e===null)return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function dC(e,t,n){var r;if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(tr(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(tr(1));return n(dC)(e,t)}if(typeof e!="function")throw new Error(tr(2));var i=e,l=t,u=[],a=u,f=!1;function d(){a===u&&(a=u.slice())}function p(){if(f)throw new Error(tr(3));return l}function h(_){if(typeof _!="function")throw new Error(tr(4));if(f)throw new Error(tr(5));var A=!0;return d(),a.push(_),function(){if(A){if(f)throw new Error(tr(6));A=!1,d();var v=a.indexOf(_);a.splice(v,1),u=null}}}function y(_){if(!XN(_))throw new Error(tr(7));if(typeof _.type>"u")throw new Error(tr(8));if(f)throw new Error(tr(9));try{f=!0,l=i(l,_)}finally{f=!1}for(var A=u=a,w=0;wr&&r[i]?r[i]:n||null,e)}function eM(e,t){return e.filter(n=>n!==t)}function pC(e){return typeof e=="object"}function tM(e,t){const n=new Map,r=l=>{n.set(l,n.has(l)?n.get(l)+1:1)};e.forEach(r),t.forEach(r);const i=[];return n.forEach((l,u)=>{l===1&&i.push(u)}),i}function nM(e,t){return e.filter(n=>t.indexOf(n)>-1)}const wm="dnd-core/INIT_COORDS",yf="dnd-core/BEGIN_DRAG",Sm="dnd-core/PUBLISH_DRAG_SOURCE",vf="dnd-core/HOVER",xf="dnd-core/DROP",wf="dnd-core/END_DRAG";function ix(e,t){return{type:wm,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}const rM={type:wm,payload:{clientOffset:null,sourceClientOffset:null}};function iM(e){return function(n=[],r={publishSource:!0}){const{publishSource:i=!0,clientOffset:l,getSourceClientOffset:u}=r,a=e.getMonitor(),f=e.getRegistry();e.dispatch(ix(l)),oM(n,a,f);const d=sM(n,a);if(d==null){e.dispatch(rM);return}let p=null;if(l){if(!u)throw new Error("getSourceClientOffset must be defined");lM(u),p=u(d)}e.dispatch(ix(l,p));const y=f.getSource(d).beginDrag(a,d);if(y==null)return;uM(y),f.pinSource(d);const m=f.getSourceType(d);return{type:yf,payload:{itemType:m,item:y,sourceId:d,clientOffset:l||null,sourceClientOffset:p||null,isSourcePublic:!!i}}}}function oM(e,t,n){ke(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach(function(r){ke(n.getSource(r),"Expected sourceIds to be registered.")})}function lM(e){ke(typeof e=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function uM(e){ke(pC(e),"Item must be an object.")}function sM(e,t){let n=null;for(let r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function aM(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cM(e){for(var t=1;t{const f=pM(u,a,i,r),d={type:xf,payload:{dropResult:cM({},n,f)}};e.dispatch(d)})}}function dM(e){ke(e.isDragging(),"Cannot call drop while not dragging."),ke(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function pM(e,t,n,r){const i=n.getTarget(e);let l=i?i.drop(r,e):void 0;return hM(l),typeof l>"u"&&(l=t===0?{}:r.getDropResult()),l}function hM(e){ke(typeof e>"u"||pC(e),"Drop result must either be an object or undefined.")}function gM(e){const t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function mM(e){return function(){const n=e.getMonitor(),r=e.getRegistry();yM(n);const i=n.getSourceId();return i!=null&&(r.getSource(i,!0).endDrag(n,i),r.unpinSource()),{type:wf}}}function yM(e){ke(e.isDragging(),"Cannot call endDrag while not dragging.")}function Qh(e,t){return t===null?e===null:Array.isArray(e)?e.some(n=>n===t):e===t}function vM(e){return function(n,{clientOffset:r}={}){xM(n);const i=n.slice(0),l=e.getMonitor(),u=e.getRegistry(),a=l.getItemType();return SM(i,u,a),wM(i,l,u),EM(i,l,u),{type:vf,payload:{targetIds:i,clientOffset:r||null}}}}function xM(e){ke(Array.isArray(e),"Expected targetIds to be an array.")}function wM(e,t,n){ke(t.isDragging(),"Cannot call hover while not dragging."),ke(!t.didDrop(),"Cannot call hover after drop.");for(let r=0;r=0;r--){const i=e[r],l=t.getTargetType(i);Qh(l,n)||e.splice(r,1)}}function EM(e,t,n){e.forEach(function(r){n.getTarget(r).hover(t,r)})}function CM(e){return function(){if(e.getMonitor().isDragging())return{type:Sm}}}function _M(e){return{beginDrag:iM(e),publishDragSource:CM(e),hover:vM(e),drop:fM(e),endDrag:mM(e)}}class kM{receiveBackend(t){this.backend=t}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const t=this,{dispatch:n}=this.store;function r(l){return(...u)=>{const a=l.apply(t,u);typeof a<"u"&&n(a)}}const i=_M(this);return Object.keys(i).reduce((l,u)=>{const a=i[u];return l[u]=r(a),l},{})}dispatch(t){this.store.dispatch(t)}constructor(t,n){this.isSetUp=!1,this.handleRefCountChange=()=>{const r=this.store.getState().refCount>0;this.backend&&(r&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!r&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=t,this.monitor=n,t.subscribe(this.handleRefCountChange)}}function IM(e,t){return{x:e.x+t.x,y:e.y+t.y}}function hC(e,t){return{x:e.x-t.x,y:e.y-t.y}}function bM(e){const{clientOffset:t,initialClientOffset:n,initialSourceClientOffset:r}=e;return!t||!n||!r?null:hC(IM(t,r),n)}function TM(e){const{clientOffset:t,initialClientOffset:n}=e;return!t||!n?null:hC(t,n)}const Uu=[],Em=[];Uu.__IS_NONE__=!0;Em.__IS_ALL__=!0;function OM(e,t){return e===Uu?!1:e===Em||typeof t>"u"?!0:nM(t,e).length>0}class RM{subscribeToStateChange(t,n={}){const{handlerIds:r}=n;ke(typeof t=="function","listener must be a function."),ke(typeof r>"u"||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let i=this.store.getState().stateId;const l=()=>{const u=this.store.getState(),a=u.stateId;try{a===i||a===i+1&&!OM(u.dirtyHandlerIds,r)||t()}finally{i=a}};return this.store.subscribe(l)}subscribeToOffsetChange(t){ke(typeof t=="function","listener must be a function.");let n=this.store.getState().dragOffset;const r=()=>{const i=this.store.getState().dragOffset;i!==n&&(n=i,t())};return this.store.subscribe(r)}canDragSource(t){if(!t)return!1;const n=this.registry.getSource(t);return ke(n,`Expected to find a valid source. sourceId=${t}`),this.isDragging()?!1:n.canDrag(this,t)}canDropOnTarget(t){if(!t)return!1;const n=this.registry.getTarget(t);if(ke(n,`Expected to find a valid target. targetId=${t}`),!this.isDragging()||this.didDrop())return!1;const r=this.registry.getTargetType(t),i=this.getItemType();return Qh(r,i)&&n.canDrop(this,t)}isDragging(){return!!this.getItemType()}isDraggingSource(t){if(!t)return!1;const n=this.registry.getSource(t,!0);if(ke(n,`Expected to find a valid source. sourceId=${t}`),!this.isDragging()||!this.isSourcePublic())return!1;const r=this.registry.getSourceType(t),i=this.getItemType();return r!==i?!1:n.isDragging(this,t)}isOverTarget(t,n={shallow:!1}){if(!t)return!1;const{shallow:r}=n;if(!this.isDragging())return!1;const i=this.registry.getTargetType(t),l=this.getItemType();if(l&&!Qh(i,l))return!1;const u=this.getTargetIds();if(!u.length)return!1;const a=u.indexOf(t);return r?a===u.length-1:a>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return bM(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return TM(this.store.getState().dragOffset)}constructor(t,n){this.store=t,this.registry=n}}const ox=typeof global<"u"?global:self,gC=ox.MutationObserver||ox.WebKitMutationObserver;function mC(e){return function(){const n=setTimeout(i,0),r=setInterval(i,50);function i(){clearTimeout(n),clearInterval(r),e()}}}function PM(e){let t=1;const n=new gC(e),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}const DM=typeof gC=="function"?PM:mC;class AM{enqueueTask(t){const{queue:n,requestFlush:r}=this;n.length||(r(),this.flushing=!0),n[n.length]=t}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:t}=this;for(;this.indexthis.capacity){for(let r=0,i=t.length-this.index;r{this.pendingErrors.push(t),this.requestErrorThrow()},this.requestFlush=DM(this.flush),this.requestErrorThrow=mC(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class NM{call(){try{this.task&&this.task()}catch(t){this.onError(t)}finally{this.task=null,this.release(this)}}constructor(t,n){this.onError=t,this.release=n,this.task=null}}class MM{create(t){const n=this.freeTasks,r=n.length?n.pop():new NM(this.onError,i=>n[n.length]=i);return r.task=t,r}constructor(t){this.onError=t,this.freeTasks=[]}}const yC=new AM,LM=new MM(yC.registerPendingError);function FM(e){yC.enqueueTask(LM.create(e))}const Cm="dnd-core/ADD_SOURCE",_m="dnd-core/ADD_TARGET",km="dnd-core/REMOVE_SOURCE",Sf="dnd-core/REMOVE_TARGET";function zM(e){return{type:Cm,payload:{sourceId:e}}}function jM(e){return{type:_m,payload:{targetId:e}}}function BM(e){return{type:km,payload:{sourceId:e}}}function UM(e){return{type:Sf,payload:{targetId:e}}}function $M(e){ke(typeof e.canDrag=="function","Expected canDrag to be a function."),ke(typeof e.beginDrag=="function","Expected beginDrag to be a function."),ke(typeof e.endDrag=="function","Expected endDrag to be a function.")}function HM(e){ke(typeof e.canDrop=="function","Expected canDrop to be a function."),ke(typeof e.hover=="function","Expected hover to be a function."),ke(typeof e.drop=="function","Expected beginDrag to be a function.")}function Xh(e,t){if(t&&Array.isArray(e)){e.forEach(n=>Xh(n,!1));return}ke(typeof e=="string"||typeof e=="symbol",t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var ir;(function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"})(ir||(ir={}));let WM=0;function VM(){return WM++}function KM(e){const t=VM().toString();switch(e){case ir.SOURCE:return`S${t}`;case ir.TARGET:return`T${t}`;default:throw new Error(`Unknown Handler Role: ${e}`)}}function lx(e){switch(e[0]){case"S":return ir.SOURCE;case"T":return ir.TARGET;default:throw new Error(`Cannot parse handler ID: ${e}`)}}function ux(e,t){const n=e.entries();let r=!1;do{const{done:i,value:[,l]}=n.next();if(l===t)return!0;r=!!i}while(!r);return!1}class GM{addSource(t,n){Xh(t),$M(n);const r=this.addHandler(ir.SOURCE,t,n);return this.store.dispatch(zM(r)),r}addTarget(t,n){Xh(t,!0),HM(n);const r=this.addHandler(ir.TARGET,t,n);return this.store.dispatch(jM(r)),r}containsHandler(t){return ux(this.dragSources,t)||ux(this.dropTargets,t)}getSource(t,n=!1){return ke(this.isSourceId(t),"Expected a valid source ID."),n&&t===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(t)}getTarget(t){return ke(this.isTargetId(t),"Expected a valid target ID."),this.dropTargets.get(t)}getSourceType(t){return ke(this.isSourceId(t),"Expected a valid source ID."),this.types.get(t)}getTargetType(t){return ke(this.isTargetId(t),"Expected a valid target ID."),this.types.get(t)}isSourceId(t){return lx(t)===ir.SOURCE}isTargetId(t){return lx(t)===ir.TARGET}removeSource(t){ke(this.getSource(t),"Expected an existing source."),this.store.dispatch(BM(t)),FM(()=>{this.dragSources.delete(t),this.types.delete(t)})}removeTarget(t){ke(this.getTarget(t),"Expected an existing target."),this.store.dispatch(UM(t)),this.dropTargets.delete(t),this.types.delete(t)}pinSource(t){const n=this.getSource(t);ke(n,"Expected an existing source."),this.pinnedSourceId=t,this.pinnedSource=n}unpinSource(){ke(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(t,n,r){const i=KM(t);return this.types.set(i,n),t===ir.SOURCE?this.dragSources.set(i,r):t===ir.TARGET&&this.dropTargets.set(i,r),i}constructor(t){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=t}}const qM=(e,t)=>e===t;function YM(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function QM(e,t,n=qM){if(e.length!==t.length)return!1;for(let r=0;r0||!QM(n,r)))return Uu;const u=r[r.length-1],a=n[n.length-1];return u!==a&&(u&&i.push(u),a&&i.push(a)),i}function ZM(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function JM(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function dL(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,l;for(l=0;l=0)&&(n[i]=e[i]);return n}let ax=0;const tc=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var pL=D.memo(function(t){var{children:n}=t,r=fL(t,["children"]);const[i,l]=hL(r);return D.useEffect(()=>{if(l){const u=vC();return++ax,()=>{--ax===0&&(u[tc]=null)}}},[]),P.jsx(fC.Provider,{value:i,children:n})});function hL(e){if("manager"in e)return[{dragDropManager:e.manager},!1];const t=gL(e.backend,e.context,e.options,e.debugMode),n=!e.context;return[t,n]}function gL(e,t=vC(),n,r){const i=t;return i[tc]||(i[tc]={dragDropManager:aL(e,t,n,r)}),i[tc]}function vC(){return typeof global<"u"?global:window}var mL=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,i,l;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(l=Object.keys(t),r=l.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,l[i]))return!1;for(i=r;i--!==0;){var u=l[i];if(!e(t[u],n[u]))return!1}return!0}return t!==t&&n!==n};const yL=Jc(mL),Lo=typeof window<"u"?D.useLayoutEffect:D.useEffect;function xC(e,t,n){const[r,i]=D.useState(()=>t(e)),l=D.useCallback(()=>{const u=t(e);yL(r,u)||(i(u),n&&n())},[r,e,n]);return Lo(l),[r,l]}function vL(e,t,n){const[r,i]=xC(e,t,n);return Lo(function(){const u=e.getHandlerId();if(u!=null)return e.subscribeToStateChange(i,{handlerIds:[u]})},[e,i]),r}function wC(e,t,n){return vL(t,e||(()=>({})),()=>n.reconnect())}function SC(e,t){const n=[...t||[]];return t==null&&typeof e!="function"&&n.push(e),D.useMemo(()=>typeof e=="function"?e():e,n)}function xL(e){return D.useMemo(()=>e.hooks.dragSource(),[e])}function wL(e){return D.useMemo(()=>e.hooks.dragPreview(),[e])}let Ip=!1,bp=!1;class SL{receiveHandlerId(t){this.sourceId=t}getHandlerId(){return this.sourceId}canDrag(){ke(!Ip,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Ip=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{Ip=!1}}isDragging(){if(!this.sourceId)return!1;ke(!bp,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return bp=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{bp=!1}}subscribeToStateChange(t,n){return this.internalMonitor.subscribeToStateChange(t,n)}isDraggingSource(t){return this.internalMonitor.isDraggingSource(t)}isOverTarget(t,n){return this.internalMonitor.isOverTarget(t,n)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(t){return this.internalMonitor.subscribeToOffsetChange(t)}canDragSource(t){return this.internalMonitor.canDragSource(t)}canDropOnTarget(t){return this.internalMonitor.canDropOnTarget(t)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(t){this.sourceId=null,this.internalMonitor=t.getMonitor()}}let Tp=!1;class EL{receiveHandlerId(t){this.targetId=t}getHandlerId(){return this.targetId}subscribeToStateChange(t,n){return this.internalMonitor.subscribeToStateChange(t,n)}canDrop(){if(!this.targetId)return!1;ke(!Tp,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Tp=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Tp=!1}}isOver(t){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,t):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(t){this.targetId=null,this.internalMonitor=t.getMonitor()}}function CL(e,t,n){const r=n.getRegistry(),i=r.addTarget(e,t);return[i,()=>r.removeTarget(i)]}function _L(e,t,n){const r=n.getRegistry(),i=r.addSource(e,t);return[i,()=>r.removeSource(i)]}function Zh(e,t,n,r){let i;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!="object"||!e||typeof t!="object"||!t)return!1;const l=Object.keys(e),u=Object.keys(t);if(l.length!==u.length)return!1;const a=Object.prototype.hasOwnProperty.bind(t);for(let f=0;f, or turn it into a drag source or a drop target itself.`)}function IL(e){return(t=null,n=null)=>{if(!D.isValidElement(t)){const l=t;return e(l,n),l}const r=t;return kL(r),bL(r,n?l=>e(l,n):e)}}function EC(e){const t={};return Object.keys(e).forEach(n=>{const r=e[n];if(n.endsWith("Ref"))t[n]=e[n];else{const i=IL(r);t[n]=()=>i}}),t}function cx(e,t){typeof e=="function"?e(t):e.current=t}function bL(e,t){const n=e.ref;return ke(typeof n!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),n?D.cloneElement(e,{ref:r=>{cx(n,r),cx(t,r)}}):D.cloneElement(e,{ref:t})}class TL{receiveHandlerId(t){this.handlerId!==t&&(this.handlerId=t,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(t){this.dragSourceOptionsInternal=t}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(t){this.dragPreviewOptionsInternal=t}reconnect(){const t=this.reconnectDragSource();this.reconnectDragPreview(t)}reconnectDragSource(){const t=this.dragSource,n=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return n&&this.disconnectDragSource(),this.handlerId?t?(n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=t,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,t,this.dragSourceOptions)),n):(this.lastConnectedDragSource=t,n):n}reconnectDragPreview(t=!1){const n=this.dragPreview,r=t||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(r&&this.disconnectDragPreview(),!!this.handlerId){if(!n){this.lastConnectedDragPreview=n;return}r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=n,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,n,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!Zh(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!Zh(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(t){this.hooks=EC({dragSource:(n,r)=>{this.clearDragSource(),this.dragSourceOptions=r||null,Jh(n)?this.dragSourceRef=n:this.dragSourceNode=n,this.reconnectDragSource()},dragPreview:(n,r)=>{this.clearDragPreview(),this.dragPreviewOptions=r||null,Jh(n)?this.dragPreviewRef=n:this.dragPreviewNode=n,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=t}}class OL{get connectTarget(){return this.dropTarget}reconnect(){const t=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();t&&this.disconnectDropTarget();const n=this.dropTarget;if(this.handlerId){if(!n){this.lastConnectedDropTarget=n;return}t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=n,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,n,this.dropTargetOptions))}}receiveHandlerId(t){t!==this.handlerId&&(this.handlerId=t,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(t){this.dropTargetOptionsInternal=t}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!Zh(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(t){this.hooks=EC({dropTarget:(n,r)=>{this.clearDropTarget(),this.dropTargetOptions=r,Jh(n)?this.dropTargetRef=n:this.dropTargetNode=n,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=t}}function di(){const{dragDropManager:e}=D.useContext(fC);return ke(e!=null,"Expected drag drop context"),e}function RL(e,t){const n=di(),r=D.useMemo(()=>new TL(n.getBackend()),[n]);return Lo(()=>(r.dragSourceOptions=e||null,r.reconnect(),()=>r.disconnectDragSource()),[r,e]),Lo(()=>(r.dragPreviewOptions=t||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,t]),r}function PL(){const e=di();return D.useMemo(()=>new SL(e),[e])}class DL{beginDrag(){const t=this.spec,n=this.monitor;let r=null;return typeof t.item=="object"?r=t.item:typeof t.item=="function"?r=t.item(n):r={},r??null}canDrag(){const t=this.spec,n=this.monitor;return typeof t.canDrag=="boolean"?t.canDrag:typeof t.canDrag=="function"?t.canDrag(n):!0}isDragging(t,n){const r=this.spec,i=this.monitor,{isDragging:l}=r;return l?l(i):n===t.getSourceId()}endDrag(){const t=this.spec,n=this.monitor,r=this.connector,{end:i}=t;i&&i(n.getItem(),n),r.reconnect()}constructor(t,n,r){this.spec=t,this.monitor=n,this.connector=r}}function AL(e,t,n){const r=D.useMemo(()=>new DL(e,t,n),[t,n]);return D.useEffect(()=>{r.spec=e},[e]),r}function NL(e){return D.useMemo(()=>{const t=e.type;return ke(t!=null,"spec.type must be defined"),t},[e])}function ML(e,t,n){const r=di(),i=AL(e,t,n),l=NL(e);Lo(function(){if(l!=null){const[a,f]=_L(l,i,r);return t.receiveHandlerId(a),n.receiveHandlerId(a),f}},[r,t,n,i,l])}function LL(e,t){const n=SC(e,t);ke(!n.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const r=PL(),i=RL(n.options,n.previewOptions);return ML(n,r,i),[wC(n.collect,r,i),xL(i),wL(i)]}function FL(e){const n=di().getMonitor(),[r,i]=xC(n,e);return D.useEffect(()=>n.subscribeToOffsetChange(i)),D.useEffect(()=>n.subscribeToStateChange(i)),r}function zL(e){return D.useMemo(()=>e.hooks.dropTarget(),[e])}function jL(e){const t=di(),n=D.useMemo(()=>new OL(t.getBackend()),[t]);return Lo(()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget()),[e]),n}function BL(){const e=di();return D.useMemo(()=>new EL(e),[e])}function UL(e){const{accept:t}=e;return D.useMemo(()=>(ke(e.accept!=null,"accept must be defined"),Array.isArray(t)?t:[t]),[t])}class $L{canDrop(){const t=this.spec,n=this.monitor;return t.canDrop?t.canDrop(n.getItem(),n):!0}hover(){const t=this.spec,n=this.monitor;t.hover&&t.hover(n.getItem(),n)}drop(){const t=this.spec,n=this.monitor;if(t.drop)return t.drop(n.getItem(),n)}constructor(t,n){this.spec=t,this.monitor=n}}function HL(e,t){const n=D.useMemo(()=>new $L(e,t),[t]);return D.useEffect(()=>{n.spec=e},[e]),n}function WL(e,t,n){const r=di(),i=HL(e,t),l=UL(e);Lo(function(){const[a,f]=CL(l,i,r);return t.receiveHandlerId(a),n.receiveHandlerId(a),f},[r,t,i,n,l.map(u=>u.toString()).join("|")])}function eg(e,t){const n=SC(e,t),r=BL(),i=jL(n.options);return WL(n,r,i),[wC(n.collect,r,i),zL(i)]}var Hi;(function(e){e.mouse="mouse",e.touch="touch",e.keyboard="keyboard"})(Hi||(Hi={}));class VL{get delay(){var t;return(t=this.args.delay)!==null&&t!==void 0?t:0}get scrollAngleRanges(){return this.args.scrollAngleRanges}get getDropTargetElementsAtPoint(){return this.args.getDropTargetElementsAtPoint}get ignoreContextMenu(){var t;return(t=this.args.ignoreContextMenu)!==null&&t!==void 0?t:!1}get enableHoverOutsideTarget(){var t;return(t=this.args.enableHoverOutsideTarget)!==null&&t!==void 0?t:!1}get enableKeyboardEvents(){var t;return(t=this.args.enableKeyboardEvents)!==null&&t!==void 0?t:!1}get enableMouseEvents(){var t;return(t=this.args.enableMouseEvents)!==null&&t!==void 0?t:!1}get enableTouchEvents(){var t;return(t=this.args.enableTouchEvents)!==null&&t!==void 0?t:!0}get touchSlop(){return this.args.touchSlop||0}get delayTouchStart(){var t,n,r,i;return(i=(r=(t=this.args)===null||t===void 0?void 0:t.delayTouchStart)!==null&&r!==void 0?r:(n=this.args)===null||n===void 0?void 0:n.delay)!==null&&i!==void 0?i:0}get delayMouseStart(){var t,n,r,i;return(i=(r=(t=this.args)===null||t===void 0?void 0:t.delayMouseStart)!==null&&r!==void 0?r:(n=this.args)===null||n===void 0?void 0:n.delay)!==null&&i!==void 0?i:0}get window(){if(this.context&&this.context.window)return this.context.window;if(typeof window<"u")return window}get document(){var t;if(!((t=this.context)===null||t===void 0)&&t.document)return this.context.document;if(this.window)return this.window.document}get rootElement(){var t;return((t=this.args)===null||t===void 0?void 0:t.rootElement)||this.document}constructor(t,n){this.args=t,this.context=n}}function KL(e,t,n,r){return Math.sqrt(Math.pow(Math.abs(n-e),2)+Math.pow(Math.abs(r-t),2))}function GL(e,t,n,r,i){if(!i)return!1;const l=Math.atan2(r-t,n-e)*180/Math.PI+180;for(let u=0;u=a.start)&&(a.end==null||l<=a.end))return!0}return!1}const qL={Left:1,Right:2,Center:4},YL={Left:0,Center:1,Right:2};function Op(e){return e.button===void 0||e.button===YL.Left}function QL(e){return e.buttons===void 0||(e.buttons&qL.Left)===0}function CC(e){return!!e.targetTouches}const XL=1;function ZL(e){const t=e.nodeType===XL?e:e.parentElement;if(!t)return;const{top:n,left:r}=t.getBoundingClientRect();return{x:r,y:n}}function JL(e,t){if(e.targetTouches.length===1)return Pc(e.targetTouches[0]);if(t&&e.touches.length===1&&e.touches[0].target===t.target)return Pc(e.touches[0])}function Pc(e,t){return CC(e)?JL(e,t):{x:e.clientX,y:e.clientY}}const Eu={[Hi.mouse]:{start:"mousedown",move:"mousemove",end:"mouseup",contextmenu:"contextmenu"},[Hi.touch]:{start:"touchstart",move:"touchmove",end:"touchend"},[Hi.keyboard]:{keydown:"keydown"}};class $u{profile(){var t;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:((t=this.dragOverTargetIds)===null||t===void 0?void 0:t.length)||0}}get document(){return this.options.document}setup(){const t=this.options.rootElement;t&&(ke(!$u.isSetUp,"Cannot have two Touch backends at the same time."),$u.isSetUp=!0,this.addEventListener(t,"start",this.getTopMoveStartHandler()),this.addEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(t,"move",this.handleTopMove),this.addEventListener(t,"move",this.handleTopMoveCapture,!0),this.addEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(t,"keydown",this.handleCancelOnEscape,!0))}teardown(){const t=this.options.rootElement;t&&($u.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(t,"start",this.handleTopMoveStart),this.removeEventListener(t,"move",this.handleTopMoveCapture,!0),this.removeEventListener(t,"move",this.handleTopMove),this.removeEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(t,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}addEventListener(t,n,r,i=!1){const l=i;this.listenerTypes.forEach(function(u){const a=Eu[u][n];a&&t.addEventListener(a,r,l)})}removeEventListener(t,n,r,i=!1){const l=i;this.listenerTypes.forEach(function(u){const a=Eu[u][n];a&&t.removeEventListener(a,r,l)})}connectDragSource(t,n){const r=this.handleMoveStart.bind(this,t);return this.sourceNodes.set(t,n),this.addEventListener(n,"start",r),()=>{this.sourceNodes.delete(t),this.removeEventListener(n,"start",r)}}connectDragPreview(t,n,r){return this.sourcePreviewNodeOptions.set(t,r),this.sourcePreviewNodes.set(t,n),()=>{this.sourcePreviewNodes.delete(t),this.sourcePreviewNodeOptions.delete(t)}}connectDropTarget(t,n){const r=this.options.rootElement;if(!this.document||!r)return()=>{};const i=l=>{if(!this.document||!r||!this.monitor.isDragging())return;let u;switch(l.type){case Eu.mouse.move:u={x:l.clientX,y:l.clientY};break;case Eu.touch.move:var a,f;u={x:((a=l.touches[0])===null||a===void 0?void 0:a.clientX)||0,y:((f=l.touches[0])===null||f===void 0?void 0:f.clientY)||0};break}const d=u!=null?this.document.elementFromPoint(u.x,u.y):void 0,p=d&&n.contains(d);if(d===n||p)return this.handleMove(l,t)};return this.addEventListener(this.document.body,"move",i),this.targetNodes.set(t,n),()=>{this.document&&(this.targetNodes.delete(t),this.removeEventListener(this.document.body,"move",i))}}getTopMoveStartHandler(){return!this.options.delayTouchStart&&!this.options.delayMouseStart?this.handleTopMoveStart:this.handleTopMoveStartDelay}installSourceNodeRemovalObserver(t){this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=t,this.draggedSourceNodeRemovalObserver=new MutationObserver(()=>{t&&!t.parentElement&&(this.resurrectSourceNode(),this.uninstallSourceNodeRemovalObserver())}),!(!t||!t.parentElement)&&this.draggedSourceNodeRemovalObserver.observe(t.parentElement,{childList:!0})}resurrectSourceNode(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}uninstallSourceNodeRemovalObserver(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}constructor(t,n,r){this.getSourceClientOffset=i=>{const l=this.sourceNodes.get(i);return l&&ZL(l)},this.handleTopMoveStartCapture=i=>{Op(i)&&(this.moveStartSourceIds=[])},this.handleMoveStart=i=>{Array.isArray(this.moveStartSourceIds)&&this.moveStartSourceIds.unshift(i)},this.handleTopMoveStart=i=>{if(!Op(i))return;const l=Pc(i);l&&(CC(i)&&(this.lastTargetTouchFallback=i.targetTouches[0]),this._mouseClientOffset=l),this.waitingForDelay=!1},this.handleTopMoveStartDelay=i=>{if(!Op(i))return;const l=i.type===Eu.touch.start?this.options.delayTouchStart:this.options.delayMouseStart;this.timeout=setTimeout(this.handleTopMoveStart.bind(this,i),l),this.waitingForDelay=!0},this.handleTopMoveCapture=()=>{this.dragOverTargetIds=[]},this.handleMove=(i,l)=>{this.dragOverTargetIds&&this.dragOverTargetIds.unshift(l)},this.handleTopMove=i=>{if(this.timeout&&clearTimeout(this.timeout),!this.document||this.waitingForDelay)return;const{moveStartSourceIds:l,dragOverTargetIds:u}=this,a=this.options.enableHoverOutsideTarget,f=Pc(i,this.lastTargetTouchFallback);if(!f)return;if(this._isScrolling||!this.monitor.isDragging()&&GL(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,f.x,f.y,this.options.scrollAngleRanges)){this._isScrolling=!0;return}if(!this.monitor.isDragging()&&this._mouseClientOffset.hasOwnProperty("x")&&l&&KL(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,f.x,f.y)>(this.options.touchSlop?this.options.touchSlop:0)&&(this.moveStartSourceIds=void 0,this.actions.beginDrag(l,{clientOffset:this._mouseClientOffset,getSourceClientOffset:this.getSourceClientOffset,publishSource:!1})),!this.monitor.isDragging())return;const d=this.sourceNodes.get(this.monitor.getSourceId());this.installSourceNodeRemovalObserver(d),this.actions.publishDragSource(),i.cancelable&&i.preventDefault();const p=(u||[]).map(S=>this.targetNodes.get(S)).filter(S=>!!S),h=this.options.getDropTargetElementsAtPoint?this.options.getDropTargetElementsAtPoint(f.x,f.y,p):this.document.elementsFromPoint(f.x,f.y),y=[];for(const S in h){if(!h.hasOwnProperty(S))continue;let _=h[S];for(_!=null&&y.push(_);_;)_=_.parentElement,_&&y.indexOf(_)===-1&&y.push(_)}const m=y.filter(S=>p.indexOf(S)>-1).map(S=>this._getDropTargetId(S)).filter(S=>!!S).filter((S,_,A)=>A.indexOf(S)===_);if(a)for(const S in this.targetNodes){const _=this.targetNodes.get(S);if(d&&_&&_.contains(d)&&m.indexOf(S)===-1){m.unshift(S);break}}m.reverse(),this.actions.hover(m,{clientOffset:f})},this._getDropTargetId=i=>{const l=this.targetNodes.keys();let u=l.next();for(;u.done===!1;){const a=u.value;if(i===this.targetNodes.get(a))return a;u=l.next()}},this.handleTopMoveEndCapture=i=>{if(this._isScrolling=!1,this.lastTargetTouchFallback=void 0,!!QL(i)){if(!this.monitor.isDragging()||this.monitor.didDrop()){this.moveStartSourceIds=void 0;return}i.cancelable&&i.preventDefault(),this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.drop(),this.actions.endDrag()}},this.handleCancelOnEscape=i=>{i.key==="Escape"&&this.monitor.isDragging()&&(this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.endDrag())},this.options=new VL(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(Hi.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(Hi.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(Hi.keyboard)}}const e3=function(t,n={},r={}){return new $u(t,n,r)};function jt(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var t3=typeof Symbol=="function"&&Symbol.observable||"@@observable",fx=t3,Rp=()=>Math.random().toString(36).substring(7).split("").join("."),n3={INIT:`@@redux/INIT${Rp()}`,REPLACE:`@@redux/REPLACE${Rp()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Rp()}`},Dc=n3;function Im(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function _C(e,t,n){if(typeof e!="function")throw new Error(jt(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(jt(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(jt(1));return n(_C)(e,t)}let r=e,i=t,l=new Map,u=l,a=0,f=!1;function d(){u===l&&(u=new Map,l.forEach((A,w)=>{u.set(w,A)}))}function p(){if(f)throw new Error(jt(3));return i}function h(A){if(typeof A!="function")throw new Error(jt(4));if(f)throw new Error(jt(5));let w=!0;d();const v=a++;return u.set(v,A),function(){if(w){if(f)throw new Error(jt(6));w=!1,d(),u.delete(v),l=null}}}function y(A){if(!Im(A))throw new Error(jt(7));if(typeof A.type>"u")throw new Error(jt(8));if(typeof A.type!="string")throw new Error(jt(17));if(f)throw new Error(jt(9));try{f=!0,i=r(i,A)}finally{f=!1}return(l=u).forEach(v=>{v()}),A}function m(A){if(typeof A!="function")throw new Error(jt(10));r=A,y({type:Dc.REPLACE})}function S(){const A=h;return{subscribe(w){if(typeof w!="object"||w===null)throw new Error(jt(11));function v(){const b=w;b.next&&b.next(p())}return v(),{unsubscribe:A(v)}},[fx](){return this}}}return y({type:Dc.INIT}),{dispatch:y,subscribe:h,getState:p,replaceReducer:m,[fx]:S}}function r3(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:Dc.INIT})>"u")throw new Error(jt(12));if(typeof n(void 0,{type:Dc.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(jt(13))})}function i3(e){const t=Object.keys(e),n={};for(let l=0;l"u")throw a&&a.type,new Error(jt(14));d[h]=S,f=f||S!==m}return f=f||r.length!==Object.keys(u).length,f?d:u}}function Ac(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function o3(...e){return t=>(n,r)=>{const i=t(n,r);let l=()=>{throw new Error(jt(15))};const u={getState:i.getState,dispatch:(f,...d)=>l(f,...d)},a=e.map(f=>f(u));return l=Ac(...a)(i.dispatch),{...i,dispatch:l}}}function l3(e){return Im(e)&&"type"in e&&typeof e.type=="string"}var kC=Symbol.for("immer-nothing"),dx=Symbol.for("immer-draftable"),Un=Symbol.for("immer-state");function Cr(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Bl=Object.getPrototypeOf;function qi(e){return!!e&&!!e[Un]}function si(e){return e?IC(e)||Array.isArray(e)||!!e[dx]||!!e.constructor?.[dx]||Cf(e)||_f(e):!1}var u3=Object.prototype.constructor.toString();function IC(e){if(!e||typeof e!="object")return!1;const t=Bl(e);if(t===null)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===u3}function Nc(e,t){Ef(e)===0?Reflect.ownKeys(e).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Ef(e){const t=e[Un];return t?t.type_:Array.isArray(e)?1:Cf(e)?2:_f(e)?3:0}function tg(e,t){return Ef(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function bC(e,t,n){const r=Ef(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function s3(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Cf(e){return e instanceof Map}function _f(e){return e instanceof Set}function mo(e){return e.copy_||e.base_}function ng(e,t){if(Cf(e))return new Map(e);if(_f(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=IC(e);if(t===!0||t==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(e);delete r[Un];let i=Reflect.ownKeys(r);for(let l=0;l1&&(e.set=e.add=e.clear=e.delete=a3),Object.freeze(e),t&&Object.entries(e).forEach(([n,r])=>bm(r,!0))),e}function a3(){Cr(2)}function kf(e){return Object.isFrozen(e)}var c3={};function Fo(e){const t=c3[e];return t||Cr(0,e),t}var fs;function TC(){return fs}function f3(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function px(e,t){t&&(Fo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function rg(e){ig(e),e.drafts_.forEach(d3),e.drafts_=null}function ig(e){e===fs&&(fs=e.parent_)}function hx(e){return fs=f3(fs,e)}function d3(e){const t=e[Un];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function gx(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[Un].modified_&&(rg(t),Cr(4)),si(e)&&(e=Mc(t,e),t.parent_||Lc(t,e)),t.patches_&&Fo("Patches").generateReplacementPatches_(n[Un].base_,e,t.patches_,t.inversePatches_)):e=Mc(t,n,[]),rg(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==kC?e:void 0}function Mc(e,t,n){if(kf(t))return t;const r=t[Un];if(!r)return Nc(t,(i,l)=>mx(e,r,t,i,l,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return Lc(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const i=r.copy_;let l=i,u=!1;r.type_===3&&(l=new Set(i),i.clear(),u=!0),Nc(l,(a,f)=>mx(e,r,i,a,f,n,u)),Lc(e,i,!1),n&&e.patches_&&Fo("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function mx(e,t,n,r,i,l,u){if(qi(i)){const a=l&&t&&t.type_!==3&&!tg(t.assigned_,r)?l.concat(r):void 0,f=Mc(e,i,a);if(bC(n,r,f),qi(f))e.canAutoFreeze_=!1;else return}else u&&n.add(i);if(si(i)&&!kf(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Mc(e,i),(!t||!t.scope_.parent_)&&typeof r!="symbol"&&Object.prototype.propertyIsEnumerable.call(n,r)&&Lc(e,i)}}function Lc(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&bm(t,n)}function p3(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:TC(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,l=Tm;n&&(i=[r],l=ds);const{revoke:u,proxy:a}=Proxy.revocable(i,l);return r.draft_=a,r.revoke_=u,a}var Tm={get(e,t){if(t===Un)return e;const n=mo(e);if(!tg(n,t))return h3(e,n,t);const r=n[t];return e.finalized_||!si(r)?r:r===Pp(e.base_,t)?(Dp(e),e.copy_[t]=lg(r,e)):r},has(e,t){return t in mo(e)},ownKeys(e){return Reflect.ownKeys(mo(e))},set(e,t,n){const r=OC(mo(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=Pp(mo(e),t),l=i?.[Un];if(l&&l.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(s3(n,i)&&(n!==void 0||tg(e.base_,t)))return!0;Dp(e),og(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Pp(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Dp(e),og(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=mo(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){Cr(11)},getPrototypeOf(e){return Bl(e.base_)},setPrototypeOf(){Cr(12)}},ds={};Nc(Tm,(e,t)=>{ds[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});ds.deleteProperty=function(e,t){return ds.set.call(this,e,t,void 0)};ds.set=function(e,t,n){return Tm.set.call(this,e[0],t,n,e[0])};function Pp(e,t){const n=e[Un];return(n?mo(n):e)[t]}function h3(e,t,n){const r=OC(t,n);return r?"value"in r?r.value:r.get?.call(e.draft_):void 0}function OC(e,t){if(!(t in e))return;let n=Bl(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Bl(n)}}function og(e){e.modified_||(e.modified_=!0,e.parent_&&og(e.parent_))}function Dp(e){e.copy_||(e.copy_=ng(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var g3=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const l=n;n=t;const u=this;return function(f=l,...d){return u.produce(f,p=>n.call(this,p,...d))}}typeof n!="function"&&Cr(6),r!==void 0&&typeof r!="function"&&Cr(7);let i;if(si(t)){const l=hx(this),u=lg(t,void 0);let a=!0;try{i=n(u),a=!1}finally{a?rg(l):ig(l)}return px(l,r),gx(i,l)}else if(!t||typeof t!="object"){if(i=n(t),i===void 0&&(i=t),i===kC&&(i=void 0),this.autoFreeze_&&bm(i,!0),r){const l=[],u=[];Fo("Patches").generateReplacementPatches_(t,i,l,u),r(l,u)}return i}else Cr(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(u,...a)=>this.produceWithPatches(u,f=>t(f,...a));let r,i;return[this.produce(t,n,(u,a)=>{r=u,i=a}),r,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){si(e)||Cr(8),qi(e)&&(e=Fc(e));const t=hx(this),n=lg(e,void 0);return n[Un].isManual_=!0,ig(t),n}finishDraft(e,t){const n=e&&e[Un];(!n||!n.isManual_)&&Cr(9);const{scope_:r}=n;return px(r,t),gx(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const i=t[n];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}n>-1&&(t=t.slice(n+1));const r=Fo("Patches").applyPatches_;return qi(e)?r(e,t):this.produce(e,i=>r(i,t))}};function lg(e,t){const n=Cf(e)?Fo("MapSet").proxyMap_(e,t):_f(e)?Fo("MapSet").proxySet_(e,t):p3(e,t);return(t?t.scope_:TC()).drafts_.push(n),n}function Fc(e){return qi(e)||Cr(10,e),RC(e)}function RC(e){if(!si(e)||kf(e))return e;const t=e[Un];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=ng(e,t.scope_.immer_.useStrictShallowCopy_)}else n=ng(e,!0);return Nc(n,(r,i)=>{bC(n,r,RC(i))}),t&&(t.finalized_=!1),n}var $n=new g3,PC=$n.produce;$n.produceWithPatches.bind($n);$n.setAutoFreeze.bind($n);$n.setUseStrictShallowCopy.bind($n);$n.applyPatches.bind($n);$n.createDraft.bind($n);$n.finishDraft.bind($n);function m3(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function y3(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function v3(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var yx=e=>Array.isArray(e)?e:[e];function x3(e){const t=Array.isArray(e[0])?e[0]:e;return v3(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function w3(e,t){const n=[],{length:r}=e;for(let i=0;i{n=Na(),u.resetResultsCount()},u.resultsCount=()=>l,u.resetResultsCount=()=>{l=0},u}function DC(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...i)=>{let l=0,u=0,a,f={},d=i.pop();typeof d=="object"&&(f=d,d=i.pop()),m3(d,`createSelector expects an output function after the inputs, but received: [${typeof d}]`);const p={...n,...f},{memoize:h,memoizeOptions:y=[],argsMemoize:m=Om,argsMemoizeOptions:S=[],devModeChecks:_={}}=p,A=yx(y),w=yx(S),v=x3(i),E=h(function(){return l++,d.apply(null,arguments)},...A),b=m(function(){u++;const R=w3(v,arguments);return a=E.apply(null,R),a},...w);return Object.assign(b,{resultFunc:d,memoizedResultFunc:E,dependencies:v,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>a,recomputations:()=>l,resetRecomputations:()=>{l=0},memoize:h,argsMemoize:m})};return Object.assign(r,{withTypes:()=>r}),r}var _3=DC(Om),k3=Object.assign((e,t=_3)=>{y3(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(l=>e[l]);return t(r,(...l)=>l.reduce((u,a,f)=>(u[n[f]]=a,u),{}))},{withTypes:()=>k3});function AC(e){return({dispatch:n,getState:r})=>i=>l=>typeof l=="function"?l(n,r,e):i(l)}var I3=AC(),b3=AC,T3=(...e)=>{const t=DC(...e),n=Object.assign((...r)=>{const i=t(...r),l=(u,...a)=>i(qi(u)?Fc(u):u,...a);return Object.assign(l,i),l},{withTypes:()=>n});return n};T3(Om);var O3=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Ac:Ac.apply(null,arguments)},R3=e=>e&&typeof e.match=="function";function ri(e,t){function n(...r){if(t){let i=t(...r);if(!i)throw new Error(Cn(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>l3(r)&&r.type===e,n}var NC=class Ou extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Ou.prototype)}static get[Symbol.species](){return Ou}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Ou(...t[0].concat(this)):new Ou(...t.concat(this))}};function xx(e){return si(e)?PC(e,()=>{}):e}function wx(e,t,n){if(e.has(t)){let i=e.get(t);return n.update&&(i=n.update(i,t,e),e.set(t,i)),i}if(!n.insert)throw new Error(Cn(10));const r=n.insert(t,e);return e.set(t,r),r}function P3(e){return typeof e=="boolean"}var D3=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:l=!0}=t??{};let u=new NC;return n&&(P3(n)?u.push(I3):u.push(b3(n.extraArgument))),u},A3="RTK_autoBatch",MC=e=>t=>{setTimeout(t,e)},N3=typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:MC(10),M3=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let i=!0,l=!1,u=!1;const a=new Set,f=e.type==="tick"?queueMicrotask:e.type==="raf"?N3:e.type==="callback"?e.queueNotification:MC(e.timeout),d=()=>{u=!1,l&&(l=!1,a.forEach(p=>p()))};return Object.assign({},r,{subscribe(p){const h=()=>i&&p(),y=r.subscribe(h);return a.add(p),()=>{y(),a.delete(p)}},dispatch(p){try{return i=!p?.meta?.[A3],l=!i,l&&(u||(u=!0,f(d))),r.dispatch(p)}finally{i=!0}}})},L3=e=>function(n){const{autoBatch:r=!0}=n??{};let i=new NC(e);return r&&i.push(M3(typeof r=="object"?r:void 0)),i},F3=!0;function z3(e){const t=D3(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:l=void 0,enhancers:u=void 0}=e||{};let a;if(typeof n=="function")a=n;else if(Im(n))a=i3(n);else throw new Error(Cn(1));let f;typeof r=="function"?f=r(t):f=t();let d=Ac;i&&(d=O3({trace:!F3,...typeof i=="object"&&i}));const p=o3(...f),h=L3(p);let y=typeof u=="function"?u(h):h();const m=d(...y);return _C(a,l,m)}function LC(e){const t={},n=[];let r;const i={addCase(l,u){const a=typeof l=="string"?l:l.type;if(!a)throw new Error(Cn(28));if(a in t)throw new Error(Cn(29));return t[a]=u,i},addMatcher(l,u){return n.push({matcher:l,reducer:u}),i},addDefaultCase(l){return r=l,i}};return e(i),[t,n,r]}function j3(e){return typeof e=="function"}function B3(e,t){let[n,r,i]=LC(t),l;if(j3(e))l=()=>xx(e());else{const a=xx(e);l=()=>a}function u(a=l(),f){let d=[n[f.type],...r.filter(({matcher:p})=>p(f)).map(({reducer:p})=>p)];return d.filter(p=>!!p).length===0&&(d=[i]),d.reduce((p,h)=>{if(h)if(qi(p)){const m=h(p,f);return m===void 0?p:m}else{if(si(p))return PC(p,y=>h(y,f));{const y=h(p,f);if(y===void 0){if(p===null)return p;throw new Error(Cn(9))}return y}}return p},a)}return u.getInitialState=l,u}var U3="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",FC=(e=21)=>{let t="",n=e;for(;n--;)t+=U3[Math.random()*64|0];return t},$3=(e,t)=>R3(e)?e.match(t):e(t);function If(...e){return t=>e.some(n=>$3(n,t))}function Rm(e,t){if(!e||!e.meta)return!1;const n=typeof e.meta.requestId=="string",r=t.indexOf(e.meta.requestStatus)>-1;return n&&r}function Pm(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function zC(...e){return e.length===0?t=>Rm(t,["pending"]):Pm(e)?If(...e.map(t=>t.pending)):zC()(e[0])}function jC(...e){return e.length===0?t=>Rm(t,["rejected"]):Pm(e)?If(...e.map(t=>t.rejected)):jC()(e[0])}function BC(...e){return e.length===0?t=>Rm(t,["fulfilled"]):Pm(e)?If(...e.map(t=>t.fulfilled)):BC()(e[0])}var H3=["name","message","stack","code"],Ap=class{constructor(e,t){this.payload=e,this.meta=t}_type},Sx=class{constructor(e,t){this.payload=e,this.meta=t}_type},W3=e=>{if(typeof e=="object"&&e!==null){const t={};for(const n of H3)typeof e[n]=="string"&&(t[n]=e[n]);return t}return{message:String(e)}},Dm=(()=>{function e(t,n,r){const i=ri(t+"/fulfilled",(f,d,p,h)=>({payload:f,meta:{...h||{},arg:p,requestId:d,requestStatus:"fulfilled"}})),l=ri(t+"/pending",(f,d,p)=>({payload:void 0,meta:{...p||{},arg:d,requestId:f,requestStatus:"pending"}})),u=ri(t+"/rejected",(f,d,p,h,y)=>({payload:h,error:(r&&r.serializeError||W3)(f||"Rejected"),meta:{...y||{},arg:p,requestId:d,rejectedWithValue:!!h,requestStatus:"rejected",aborted:f?.name==="AbortError",condition:f?.name==="ConditionError"}}));function a(f){return(d,p,h)=>{const y=r?.idGenerator?r.idGenerator(f):FC(),m=new AbortController;let S,_;function A(v){_=v,m.abort()}const w=async function(){let v;try{let b=r?.condition?.(f,{getState:p,extra:h});if(K3(b)&&(b=await b),b===!1||m.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};const M=new Promise((R,j)=>{S=()=>{j({name:"AbortError",message:_||"Aborted"})},m.signal.addEventListener("abort",S)});d(l(y,f,r?.getPendingMeta?.({requestId:y,arg:f},{getState:p,extra:h}))),v=await Promise.race([M,Promise.resolve(n(f,{dispatch:d,getState:p,extra:h,requestId:y,signal:m.signal,abort:A,rejectWithValue:(R,j)=>new Ap(R,j),fulfillWithValue:(R,j)=>new Sx(R,j)})).then(R=>{if(R instanceof Ap)throw R;return R instanceof Sx?i(R.payload,y,f,R.meta):i(R,y,f)})])}catch(b){v=b instanceof Ap?u(null,y,f,b.payload,b.meta):u(b,y,f)}finally{S&&m.signal.removeEventListener("abort",S)}return r&&!r.dispatchConditionRejection&&u.match(v)&&v.meta.condition||d(v),v}();return Object.assign(w,{abort:A,requestId:y,arg:f,unwrap(){return w.then(V3)}})}}return Object.assign(a,{pending:l,rejected:u,fulfilled:i,settled:If(u,i),typePrefix:t})}return e.withTypes=()=>e,e})();function V3(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function K3(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var G3=Symbol.for("rtk-slice-createasyncthunk");function q3(e,t){return`${e}/${t}`}function Y3({creators:e}={}){const t=e?.asyncThunk?.[G3];return function(r){const{name:i,reducerPath:l=i}=r;if(!i)throw new Error(Cn(11));typeof process<"u";const u=(typeof r.reducers=="function"?r.reducers(X3()):r.reducers)||{},a=Object.keys(u),f={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},d={addCase(v,E){const b=typeof v=="string"?v:v.type;if(!b)throw new Error(Cn(12));if(b in f.sliceCaseReducersByType)throw new Error(Cn(13));return f.sliceCaseReducersByType[b]=E,d},addMatcher(v,E){return f.sliceMatchers.push({matcher:v,reducer:E}),d},exposeAction(v,E){return f.actionCreators[v]=E,d},exposeCaseReducer(v,E){return f.sliceCaseReducersByName[v]=E,d}};a.forEach(v=>{const E=u[v],b={reducerName:v,type:q3(i,v),createNotation:typeof r.reducers=="function"};J3(E)?tF(b,E,d,t):Z3(b,E,d)});function p(){const[v={},E=[],b=void 0]=typeof r.extraReducers=="function"?LC(r.extraReducers):[r.extraReducers],M={...v,...f.sliceCaseReducersByType};return B3(r.initialState,R=>{for(let j in M)R.addCase(j,M[j]);for(let j of f.sliceMatchers)R.addMatcher(j.matcher,j.reducer);for(let j of E)R.addMatcher(j.matcher,j.reducer);b&&R.addDefaultCase(b)})}const h=v=>v,y=new Map;let m;function S(v,E){return m||(m=p()),m(v,E)}function _(){return m||(m=p()),m.getInitialState()}function A(v,E=!1){function b(R){let j=R[v];return typeof j>"u"&&E&&(j=_()),j}function M(R=h){const j=wx(y,E,{insert:()=>new WeakMap});return wx(j,R,{insert:()=>{const K={};for(const[q,U]of Object.entries(r.selectors??{}))K[q]=Q3(U,R,_,E);return K}})}return{reducerPath:v,getSelectors:M,get selectors(){return M(b)},selectSlice:b}}const w={name:i,reducer:S,actions:f.actionCreators,caseReducers:f.sliceCaseReducersByName,getInitialState:_,...A(l),injectInto(v,{reducerPath:E,...b}={}){const M=E??l;return v.inject({reducerPath:M,reducer:S},b),{...w,...A(M,!0)}}};return w}}function Q3(e,t,n,r){function i(l,...u){let a=t(l);return typeof a>"u"&&r&&(a=n()),e(a,...u)}return i.unwrapped=e,i}var Am=Y3();function X3(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function Z3({type:e,reducerName:t,createNotation:n},r,i){let l,u;if("reducer"in r){if(n&&!eF(r))throw new Error(Cn(17));l=r.reducer,u=r.prepare}else l=r;i.addCase(e,l).exposeCaseReducer(t,l).exposeAction(t,u?ri(e,u):ri(e))}function J3(e){return e._reducerDefinitionType==="asyncThunk"}function eF(e){return e._reducerDefinitionType==="reducerWithPrepare"}function tF({type:e,reducerName:t},n,r,i){if(!i)throw new Error(Cn(18));const{payloadCreator:l,fulfilled:u,pending:a,rejected:f,settled:d,options:p}=n,h=i(e,l,p);r.exposeAction(t,h),u&&r.addCase(h.fulfilled,u),a&&r.addCase(h.pending,a),f&&r.addCase(h.rejected,f),d&&r.addMatcher(h.settled,d),r.exposeCaseReducer(t,{fulfilled:u||Ma,pending:a||Ma,rejected:f||Ma,settled:d||Ma})}function Ma(){}var nF=(e,t)=>{if(typeof e!="function")throw new Error(Cn(32))},Nm="listenerMiddleware",rF=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:l}=e;if(t)i=ri(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(Cn(21));return nF(l),{predicate:i,type:t,effect:l}},iF=Object.assign(e=>{const{type:t,predicate:n,effect:r}=rF(e);return{id:FC(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(Cn(22))}}},{withTypes:()=>iF}),oF=Object.assign(ri(`${Nm}/add`),{withTypes:()=>oF});ri(`${Nm}/removeAll`);var lF=Object.assign(ri(`${Nm}/remove`),{withTypes:()=>lF});function Cn(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Qt=(e=>(e.PLAYER="player",e.SHOP="shop",e.CONTAINER="container",e.CRAFTING="crafting",e))(Qt||{}),zc={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */zc.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",a="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",d=500,p="__lodash_placeholder__",h=1,y=2,m=4,S=1,_=2,A=1,w=2,v=4,E=8,b=16,M=32,R=64,j=128,K=256,q=512,U=30,J="...",G=800,X=16,L=1,Z=2,re=3,V=1/0,$=9007199254740991,le=17976931348623157e292,I=NaN,oe=4294967295,ue=oe-1,T=oe>>>1,we=[["ary",j],["bind",A],["bindKey",w],["curry",E],["curryRight",b],["flip",q],["partial",M],["partialRight",R],["rearg",K]],ge="[object Arguments]",pe="[object Array]",Pe="[object AsyncFunction]",Ee="[object Boolean]",be="[object Date]",Qe="[object DOMException]",at="[object Error]",At="[object Function]",Fe="[object GeneratorFunction]",$e="[object Map]",Ke="[object Number]",ht="[object Null]",gt="[object Object]",vt="[object Promise]",he="[object Proxy]",xt="[object RegExp]",tt="[object Set]",Nt="[object String]",an="[object Symbol]",Vn="[object Undefined]",Kn="[object WeakMap]",H="[object WeakSet]",te="[object ArrayBuffer]",de="[object DataView]",ye="[object Float32Array]",Ne="[object Float64Array]",Mt="[object Int8Array]",cn="[object Int16Array]",kn="[object Int32Array]",Br="[object Uint8Array]",Ur="[object Uint8ClampedArray]",Lt="[object Uint16Array]",br="[object Uint32Array]",hr=/\b__p \+= '';/g,Ek=/\b(__p \+=) '' \+/g,Ck=/(__e\(.*?\)|\b__t\)) \+\n'';/g,gy=/&(?:amp|lt|gt|quot|#39);/g,my=/[&<>"']/g,_k=RegExp(gy.source),kk=RegExp(my.source),Ik=/<%-([\s\S]+?)%>/g,bk=/<%([\s\S]+?)%>/g,yy=/<%=([\s\S]+?)%>/g,Tk=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ok=/^\w*$/,Rk=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Uf=/[\\^$.*+?()[\]{}|]/g,Pk=RegExp(Uf.source),$f=/^\s+/,Dk=/\s/,Ak=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Nk=/\{\n\/\* \[wrapped with (.+)\] \*/,Mk=/,? & /,Lk=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Fk=/[()=,{}\[\]\/\s]/,zk=/\\(\\)?/g,jk=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,vy=/\w*$/,Bk=/^[-+]0x[0-9a-f]+$/i,Uk=/^0b[01]+$/i,$k=/^\[object .+?Constructor\]$/,Hk=/^0o[0-7]+$/i,Wk=/^(?:0|[1-9]\d*)$/,Vk=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ts=/($^)/,Kk=/['\n\r\u2028\u2029\\]/g,Os="\\ud800-\\udfff",Gk="\\u0300-\\u036f",qk="\\ufe20-\\ufe2f",Yk="\\u20d0-\\u20ff",xy=Gk+qk+Yk,wy="\\u2700-\\u27bf",Sy="a-z\\xdf-\\xf6\\xf8-\\xff",Qk="\\xac\\xb1\\xd7\\xf7",Xk="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Zk="\\u2000-\\u206f",Jk=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ey="A-Z\\xc0-\\xd6\\xd8-\\xde",Cy="\\ufe0e\\ufe0f",_y=Qk+Xk+Zk+Jk,Hf="['’]",eI="["+Os+"]",ky="["+_y+"]",Rs="["+xy+"]",Iy="\\d+",tI="["+wy+"]",by="["+Sy+"]",Ty="[^"+Os+_y+Iy+wy+Sy+Ey+"]",Wf="\\ud83c[\\udffb-\\udfff]",nI="(?:"+Rs+"|"+Wf+")",Oy="[^"+Os+"]",Vf="(?:\\ud83c[\\udde6-\\uddff]){2}",Kf="[\\ud800-\\udbff][\\udc00-\\udfff]",Ho="["+Ey+"]",Ry="\\u200d",Py="(?:"+by+"|"+Ty+")",rI="(?:"+Ho+"|"+Ty+")",Dy="(?:"+Hf+"(?:d|ll|m|re|s|t|ve))?",Ay="(?:"+Hf+"(?:D|LL|M|RE|S|T|VE))?",Ny=nI+"?",My="["+Cy+"]?",iI="(?:"+Ry+"(?:"+[Oy,Vf,Kf].join("|")+")"+My+Ny+")*",oI="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",lI="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ly=My+Ny+iI,uI="(?:"+[tI,Vf,Kf].join("|")+")"+Ly,sI="(?:"+[Oy+Rs+"?",Rs,Vf,Kf,eI].join("|")+")",aI=RegExp(Hf,"g"),cI=RegExp(Rs,"g"),Gf=RegExp(Wf+"(?="+Wf+")|"+sI+Ly,"g"),fI=RegExp([Ho+"?"+by+"+"+Dy+"(?="+[ky,Ho,"$"].join("|")+")",rI+"+"+Ay+"(?="+[ky,Ho+Py,"$"].join("|")+")",Ho+"?"+Py+"+"+Dy,Ho+"+"+Ay,lI,oI,Iy,uI].join("|"),"g"),dI=RegExp("["+Ry+Os+xy+Cy+"]"),pI=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,hI=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],gI=-1,nt={};nt[ye]=nt[Ne]=nt[Mt]=nt[cn]=nt[kn]=nt[Br]=nt[Ur]=nt[Lt]=nt[br]=!0,nt[ge]=nt[pe]=nt[te]=nt[Ee]=nt[de]=nt[be]=nt[at]=nt[At]=nt[$e]=nt[Ke]=nt[gt]=nt[xt]=nt[tt]=nt[Nt]=nt[Kn]=!1;var Xe={};Xe[ge]=Xe[pe]=Xe[te]=Xe[de]=Xe[Ee]=Xe[be]=Xe[ye]=Xe[Ne]=Xe[Mt]=Xe[cn]=Xe[kn]=Xe[$e]=Xe[Ke]=Xe[gt]=Xe[xt]=Xe[tt]=Xe[Nt]=Xe[an]=Xe[Br]=Xe[Ur]=Xe[Lt]=Xe[br]=!0,Xe[at]=Xe[At]=Xe[Kn]=!1;var mI={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},yI={"&":"&","<":"<",">":">",'"':""","'":"'"},vI={"&":"&","<":"<",">":">",""":'"',"'":"'"},xI={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},wI=parseFloat,SI=parseInt,Fy=typeof wo=="object"&&wo&&wo.Object===Object&&wo,EI=typeof self=="object"&&self&&self.Object===Object&&self,Ft=Fy||EI||Function("return this")(),qf=t&&!t.nodeType&&t,io=qf&&!0&&e&&!e.nodeType&&e,zy=io&&io.exports===qf,Yf=zy&&Fy.process,Gn=function(){try{var F=io&&io.require&&io.require("util").types;return F||Yf&&Yf.binding&&Yf.binding("util")}catch{}}(),jy=Gn&&Gn.isArrayBuffer,By=Gn&&Gn.isDate,Uy=Gn&&Gn.isMap,$y=Gn&&Gn.isRegExp,Hy=Gn&&Gn.isSet,Wy=Gn&&Gn.isTypedArray;function In(F,W,B){switch(B.length){case 0:return F.call(W);case 1:return F.call(W,B[0]);case 2:return F.call(W,B[0],B[1]);case 3:return F.call(W,B[0],B[1],B[2])}return F.apply(W,B)}function CI(F,W,B,ae){for(var Ce=-1,je=F==null?0:F.length;++Ce-1}function Qf(F,W,B){for(var ae=-1,Ce=F==null?0:F.length;++ae-1;);return B}function Zy(F,W){for(var B=F.length;B--&&Wo(W,F[B],0)>-1;);return B}function DI(F,W){for(var B=F.length,ae=0;B--;)F[B]===W&&++ae;return ae}var AI=ed(mI),NI=ed(yI);function MI(F){return"\\"+xI[F]}function LI(F,W){return F==null?n:F[W]}function Vo(F){return dI.test(F)}function FI(F){return pI.test(F)}function zI(F){for(var W,B=[];!(W=F.next()).done;)B.push(W.value);return B}function id(F){var W=-1,B=Array(F.size);return F.forEach(function(ae,Ce){B[++W]=[Ce,ae]}),B}function Jy(F,W){return function(B){return F(W(B))}}function yi(F,W){for(var B=-1,ae=F.length,Ce=0,je=[];++B-1}function kb(o,s){var c=this.__data__,g=qs(c,o);return g<0?(++this.size,c.push([o,s])):c[g][1]=s,this}$r.prototype.clear=Sb,$r.prototype.delete=Eb,$r.prototype.get=Cb,$r.prototype.has=_b,$r.prototype.set=kb;function Hr(o){var s=-1,c=o==null?0:o.length;for(this.clear();++s=s?o:s)),o}function Xn(o,s,c,g,x,k){var O,N=s&h,z=s&y,Y=s&m;if(c&&(O=x?c(o,g,x,k):c(o)),O!==n)return O;if(!ct(o))return o;var Q=_e(o);if(Q){if(O=OT(o),!N)return fn(o,O)}else{var ee=Vt(o),se=ee==At||ee==Fe;if(Ci(o))return Mv(o,N);if(ee==gt||ee==ge||se&&!x){if(O=z||se?{}:e0(o),!N)return z?vT(o,Ub(O,o)):yT(o,fv(O,o))}else{if(!Xe[ee])return x?o:{};O=RT(o,ee,N)}}k||(k=new mr);var fe=k.get(o);if(fe)return fe;k.set(o,O),O0(o)?o.forEach(function(xe){O.add(Xn(xe,s,c,xe,o,k))}):b0(o)&&o.forEach(function(xe,De){O.set(De,Xn(xe,s,c,De,o,k))});var ve=Y?z?Rd:Od:z?pn:Ot,Oe=Q?n:ve(o);return qn(Oe||o,function(xe,De){Oe&&(De=xe,xe=o[De]),ou(O,De,Xn(xe,s,c,De,o,k))}),O}function $b(o){var s=Ot(o);return function(c){return dv(c,o,s)}}function dv(o,s,c){var g=c.length;if(o==null)return!g;for(o=Ye(o);g--;){var x=c[g],k=s[x],O=o[x];if(O===n&&!(x in o)||!k(O))return!1}return!0}function pv(o,s,c){if(typeof o!="function")throw new Yn(u);return du(function(){o.apply(n,c)},s)}function lu(o,s,c,g){var x=-1,k=Ps,O=!0,N=o.length,z=[],Y=s.length;if(!N)return z;c&&(s=ot(s,bn(c))),g?(k=Qf,O=!1):s.length>=i&&(k=Jl,O=!1,s=new uo(s));e:for(;++xx?0:x+c),g=g===n||g>x?x:Te(g),g<0&&(g+=x),g=c>g?0:P0(g);c0&&c(N)?s>1?zt(N,s-1,c,g,x):mi(x,N):g||(x[x.length]=N)}return x}var fd=Uv(),mv=Uv(!0);function Tr(o,s){return o&&fd(o,s,Ot)}function dd(o,s){return o&&mv(o,s,Ot)}function Qs(o,s){return gi(s,function(c){return qr(o[c])})}function ao(o,s){s=Si(s,o);for(var c=0,g=s.length;o!=null&&cs}function Vb(o,s){return o!=null&&Ge.call(o,s)}function Kb(o,s){return o!=null&&s in Ye(o)}function Gb(o,s,c){return o>=Wt(s,c)&&o=120&&Q.length>=120)?new uo(O&&Q):n}Q=o[0];var ee=-1,se=N[0];e:for(;++ee-1;)N!==o&&Us.call(N,z,1),Us.call(o,z,1);return o}function bv(o,s){for(var c=o?s.length:0,g=c-1;c--;){var x=s[c];if(c==g||x!==k){var k=x;Gr(x)?Us.call(o,x,1):Ed(o,x)}}return o}function xd(o,s){return o+Ws(uv()*(s-o+1))}function lT(o,s,c,g){for(var x=-1,k=It(Hs((s-o)/(c||1)),0),O=B(k);k--;)O[g?k:++x]=o,o+=c;return O}function wd(o,s){var c="";if(!o||s<1||s>$)return c;do s%2&&(c+=o),s=Ws(s/2),s&&(o+=o);while(s);return c}function Re(o,s){return Fd(r0(o,s,hn),o+"")}function uT(o){return cv(nl(o))}function sT(o,s){var c=nl(o);return ua(c,so(s,0,c.length))}function au(o,s,c,g){if(!ct(o))return o;s=Si(s,o);for(var x=-1,k=s.length,O=k-1,N=o;N!=null&&++xx?0:x+s),c=c>x?x:c,c<0&&(c+=x),x=s>c?0:c-s>>>0,s>>>=0;for(var k=B(x);++g>>1,O=o[k];O!==null&&!On(O)&&(c?O<=s:O=i){var Y=s?null:ET(o);if(Y)return As(Y);O=!1,x=Jl,z=new uo}else z=s?[]:N;e:for(;++g=g?o:Zn(o,s,c)}var Nv=JI||function(o){return Ft.clearTimeout(o)};function Mv(o,s){if(s)return o.slice();var c=o.length,g=nv?nv(c):new o.constructor(c);return o.copy(g),g}function Id(o){var s=new o.constructor(o.byteLength);return new js(s).set(new js(o)),s}function pT(o,s){var c=s?Id(o.buffer):o.buffer;return new o.constructor(c,o.byteOffset,o.byteLength)}function hT(o){var s=new o.constructor(o.source,vy.exec(o));return s.lastIndex=o.lastIndex,s}function gT(o){return iu?Ye(iu.call(o)):{}}function Lv(o,s){var c=s?Id(o.buffer):o.buffer;return new o.constructor(c,o.byteOffset,o.length)}function Fv(o,s){if(o!==s){var c=o!==n,g=o===null,x=o===o,k=On(o),O=s!==n,N=s===null,z=s===s,Y=On(s);if(!N&&!Y&&!k&&o>s||k&&O&&z&&!N&&!Y||g&&O&&z||!c&&z||!x)return 1;if(!g&&!k&&!Y&&o=N)return z;var Y=c[g];return z*(Y=="desc"?-1:1)}}return o.index-s.index}function zv(o,s,c,g){for(var x=-1,k=o.length,O=c.length,N=-1,z=s.length,Y=It(k-O,0),Q=B(z+Y),ee=!g;++N1?c[x-1]:n,O=x>2?c[2]:n;for(k=o.length>3&&typeof k=="function"?(x--,k):n,O&&nn(c[0],c[1],O)&&(k=x<3?n:k,x=1),s=Ye(s);++g-1?x[k?s[O]:O]:n}}function Wv(o){return Kr(function(s){var c=s.length,g=c,x=Qn.prototype.thru;for(o&&s.reverse();g--;){var k=s[g];if(typeof k!="function")throw new Yn(u);if(x&&!O&&oa(k)=="wrapper")var O=new Qn([],!0)}for(g=O?g:c;++g1&&Le.reverse(),Q&&zN))return!1;var Y=k.get(o),Q=k.get(s);if(Y&&Q)return Y==s&&Q==o;var ee=-1,se=!0,fe=c&_?new uo:n;for(k.set(o,s),k.set(s,o);++ee1?"& ":"")+s[g],s=s.join(c>2?", ":" "),o.replace(Ak,`{ -/* [wrapped with `+s+`] */ -`)}function DT(o){return _e(o)||po(o)||!!(ov&&o&&o[ov])}function Gr(o,s){var c=typeof o;return s=s??$,!!s&&(c=="number"||c!="symbol"&&Wk.test(o))&&o>-1&&o%1==0&&o0){if(++s>=G)return arguments[0]}else s=0;return o.apply(n,arguments)}}function ua(o,s){var c=-1,g=o.length,x=g-1;for(s=s===n?g:s;++c1?o[s-1]:n;return c=typeof c=="function"?(o.pop(),c):n,g0(o,c)});function m0(o){var s=C(o);return s.__chain__=!0,s}function HO(o,s){return s(o),o}function sa(o,s){return s(o)}var WO=Kr(function(o){var s=o.length,c=s?o[0]:0,g=this.__wrapped__,x=function(k){return cd(k,o)};return s>1||this.__actions__.length||!(g instanceof Me)||!Gr(c)?this.thru(x):(g=g.slice(c,+c+(s?1:0)),g.__actions__.push({func:sa,args:[x],thisArg:n}),new Qn(g,this.__chain__).thru(function(k){return s&&!k.length&&k.push(n),k}))});function VO(){return m0(this)}function KO(){return new Qn(this.value(),this.__chain__)}function GO(){this.__values__===n&&(this.__values__=R0(this.value()));var o=this.__index__>=this.__values__.length,s=o?n:this.__values__[this.__index__++];return{done:o,value:s}}function qO(){return this}function YO(o){for(var s,c=this;c instanceof Gs;){var g=a0(c);g.__index__=0,g.__values__=n,s?x.__wrapped__=g:s=g;var x=g;c=c.__wrapped__}return x.__wrapped__=o,s}function QO(){var o=this.__wrapped__;if(o instanceof Me){var s=o;return this.__actions__.length&&(s=new Me(this)),s=s.reverse(),s.__actions__.push({func:sa,args:[zd],thisArg:n}),new Qn(s,this.__chain__)}return this.thru(zd)}function XO(){return Dv(this.__wrapped__,this.__actions__)}var ZO=ea(function(o,s,c){Ge.call(o,c)?++o[c]:Wr(o,c,1)});function JO(o,s,c){var g=_e(o)?Vy:Hb;return c&&nn(o,s,c)&&(s=n),g(o,me(s,3))}function eR(o,s){var c=_e(o)?gi:gv;return c(o,me(s,3))}var tR=Hv(c0),nR=Hv(f0);function rR(o,s){return zt(aa(o,s),1)}function iR(o,s){return zt(aa(o,s),V)}function oR(o,s,c){return c=c===n?1:Te(c),zt(aa(o,s),c)}function y0(o,s){var c=_e(o)?qn:xi;return c(o,me(s,3))}function v0(o,s){var c=_e(o)?_I:hv;return c(o,me(s,3))}var lR=ea(function(o,s,c){Ge.call(o,c)?o[c].push(s):Wr(o,c,[s])});function uR(o,s,c,g){o=dn(o)?o:nl(o),c=c&&!g?Te(c):0;var x=o.length;return c<0&&(c=It(x+c,0)),ha(o)?c<=x&&o.indexOf(s,c)>-1:!!x&&Wo(o,s,c)>-1}var sR=Re(function(o,s,c){var g=-1,x=typeof s=="function",k=dn(o)?B(o.length):[];return xi(o,function(O){k[++g]=x?In(s,O,c):uu(O,s,c)}),k}),aR=ea(function(o,s,c){Wr(o,c,s)});function aa(o,s){var c=_e(o)?ot:Sv;return c(o,me(s,3))}function cR(o,s,c,g){return o==null?[]:(_e(s)||(s=s==null?[]:[s]),c=g?n:c,_e(c)||(c=c==null?[]:[c]),kv(o,s,c))}var fR=ea(function(o,s,c){o[c?0:1].push(s)},function(){return[[],[]]});function dR(o,s,c){var g=_e(o)?Xf:Yy,x=arguments.length<3;return g(o,me(s,4),c,x,xi)}function pR(o,s,c){var g=_e(o)?kI:Yy,x=arguments.length<3;return g(o,me(s,4),c,x,hv)}function hR(o,s){var c=_e(o)?gi:gv;return c(o,da(me(s,3)))}function gR(o){var s=_e(o)?cv:uT;return s(o)}function mR(o,s,c){(c?nn(o,s,c):s===n)?s=1:s=Te(s);var g=_e(o)?zb:sT;return g(o,s)}function yR(o){var s=_e(o)?jb:cT;return s(o)}function vR(o){if(o==null)return 0;if(dn(o))return ha(o)?Ko(o):o.length;var s=Vt(o);return s==$e||s==tt?o.size:md(o).length}function xR(o,s,c){var g=_e(o)?Zf:fT;return c&&nn(o,s,c)&&(s=n),g(o,me(s,3))}var wR=Re(function(o,s){if(o==null)return[];var c=s.length;return c>1&&nn(o,s[0],s[1])?s=[]:c>2&&nn(s[0],s[1],s[2])&&(s=[s[0]]),kv(o,zt(s,1),[])}),ca=eb||function(){return Ft.Date.now()};function SR(o,s){if(typeof s!="function")throw new Yn(u);return o=Te(o),function(){if(--o<1)return s.apply(this,arguments)}}function x0(o,s,c){return s=c?n:s,s=o&&s==null?o.length:s,Vr(o,j,n,n,n,n,s)}function w0(o,s){var c;if(typeof s!="function")throw new Yn(u);return o=Te(o),function(){return--o>0&&(c=s.apply(this,arguments)),o<=1&&(s=n),c}}var Bd=Re(function(o,s,c){var g=A;if(c.length){var x=yi(c,el(Bd));g|=M}return Vr(o,g,s,c,x)}),S0=Re(function(o,s,c){var g=A|w;if(c.length){var x=yi(c,el(S0));g|=M}return Vr(s,g,o,c,x)});function E0(o,s,c){s=c?n:s;var g=Vr(o,E,n,n,n,n,n,s);return g.placeholder=E0.placeholder,g}function C0(o,s,c){s=c?n:s;var g=Vr(o,b,n,n,n,n,n,s);return g.placeholder=C0.placeholder,g}function _0(o,s,c){var g,x,k,O,N,z,Y=0,Q=!1,ee=!1,se=!0;if(typeof o!="function")throw new Yn(u);s=er(s)||0,ct(c)&&(Q=!!c.leading,ee="maxWait"in c,k=ee?It(er(c.maxWait)||0,s):k,se="trailing"in c?!!c.trailing:se);function fe(St){var vr=g,Qr=x;return g=x=n,Y=St,O=o.apply(Qr,vr),O}function ve(St){return Y=St,N=du(De,s),Q?fe(St):O}function Oe(St){var vr=St-z,Qr=St-Y,H0=s-vr;return ee?Wt(H0,k-Qr):H0}function xe(St){var vr=St-z,Qr=St-Y;return z===n||vr>=s||vr<0||ee&&Qr>=k}function De(){var St=ca();if(xe(St))return Le(St);N=du(De,Oe(St))}function Le(St){return N=n,se&&g?fe(St):(g=x=n,O)}function Rn(){N!==n&&Nv(N),Y=0,g=z=x=N=n}function rn(){return N===n?O:Le(ca())}function Pn(){var St=ca(),vr=xe(St);if(g=arguments,x=this,z=St,vr){if(N===n)return ve(z);if(ee)return Nv(N),N=du(De,s),fe(z)}return N===n&&(N=du(De,s)),O}return Pn.cancel=Rn,Pn.flush=rn,Pn}var ER=Re(function(o,s){return pv(o,1,s)}),CR=Re(function(o,s,c){return pv(o,er(s)||0,c)});function _R(o){return Vr(o,q)}function fa(o,s){if(typeof o!="function"||s!=null&&typeof s!="function")throw new Yn(u);var c=function(){var g=arguments,x=s?s.apply(this,g):g[0],k=c.cache;if(k.has(x))return k.get(x);var O=o.apply(this,g);return c.cache=k.set(x,O)||k,O};return c.cache=new(fa.Cache||Hr),c}fa.Cache=Hr;function da(o){if(typeof o!="function")throw new Yn(u);return function(){var s=arguments;switch(s.length){case 0:return!o.call(this);case 1:return!o.call(this,s[0]);case 2:return!o.call(this,s[0],s[1]);case 3:return!o.call(this,s[0],s[1],s[2])}return!o.apply(this,s)}}function kR(o){return w0(2,o)}var IR=dT(function(o,s){s=s.length==1&&_e(s[0])?ot(s[0],bn(me())):ot(zt(s,1),bn(me()));var c=s.length;return Re(function(g){for(var x=-1,k=Wt(g.length,c);++x=s}),po=vv(function(){return arguments}())?vv:function(o){return mt(o)&&Ge.call(o,"callee")&&!iv.call(o,"callee")},_e=B.isArray,UR=jy?bn(jy):Yb;function dn(o){return o!=null&&pa(o.length)&&!qr(o)}function wt(o){return mt(o)&&dn(o)}function $R(o){return o===!0||o===!1||mt(o)&&tn(o)==Ee}var Ci=nb||Zd,HR=By?bn(By):Qb;function WR(o){return mt(o)&&o.nodeType===1&&!pu(o)}function VR(o){if(o==null)return!0;if(dn(o)&&(_e(o)||typeof o=="string"||typeof o.splice=="function"||Ci(o)||tl(o)||po(o)))return!o.length;var s=Vt(o);if(s==$e||s==tt)return!o.size;if(fu(o))return!md(o).length;for(var c in o)if(Ge.call(o,c))return!1;return!0}function KR(o,s){return su(o,s)}function GR(o,s,c){c=typeof c=="function"?c:n;var g=c?c(o,s):n;return g===n?su(o,s,n,c):!!g}function $d(o){if(!mt(o))return!1;var s=tn(o);return s==at||s==Qe||typeof o.message=="string"&&typeof o.name=="string"&&!pu(o)}function qR(o){return typeof o=="number"&&lv(o)}function qr(o){if(!ct(o))return!1;var s=tn(o);return s==At||s==Fe||s==Pe||s==he}function I0(o){return typeof o=="number"&&o==Te(o)}function pa(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=$}function ct(o){var s=typeof o;return o!=null&&(s=="object"||s=="function")}function mt(o){return o!=null&&typeof o=="object"}var b0=Uy?bn(Uy):Zb;function YR(o,s){return o===s||gd(o,s,Dd(s))}function QR(o,s,c){return c=typeof c=="function"?c:n,gd(o,s,Dd(s),c)}function XR(o){return T0(o)&&o!=+o}function ZR(o){if(MT(o))throw new Ce(l);return xv(o)}function JR(o){return o===null}function eP(o){return o==null}function T0(o){return typeof o=="number"||mt(o)&&tn(o)==Ke}function pu(o){if(!mt(o)||tn(o)!=gt)return!1;var s=Bs(o);if(s===null)return!0;var c=Ge.call(s,"constructor")&&s.constructor;return typeof c=="function"&&c instanceof c&&Ls.call(c)==QI}var Hd=$y?bn($y):Jb;function tP(o){return I0(o)&&o>=-$&&o<=$}var O0=Hy?bn(Hy):eT;function ha(o){return typeof o=="string"||!_e(o)&&mt(o)&&tn(o)==Nt}function On(o){return typeof o=="symbol"||mt(o)&&tn(o)==an}var tl=Wy?bn(Wy):tT;function nP(o){return o===n}function rP(o){return mt(o)&&Vt(o)==Kn}function iP(o){return mt(o)&&tn(o)==H}var oP=ia(yd),lP=ia(function(o,s){return o<=s});function R0(o){if(!o)return[];if(dn(o))return ha(o)?gr(o):fn(o);if(eu&&o[eu])return zI(o[eu]());var s=Vt(o),c=s==$e?id:s==tt?As:nl;return c(o)}function Yr(o){if(!o)return o===0?o:0;if(o=er(o),o===V||o===-V){var s=o<0?-1:1;return s*le}return o===o?o:0}function Te(o){var s=Yr(o),c=s%1;return s===s?c?s-c:s:0}function P0(o){return o?so(Te(o),0,oe):0}function er(o){if(typeof o=="number")return o;if(On(o))return I;if(ct(o)){var s=typeof o.valueOf=="function"?o.valueOf():o;o=ct(s)?s+"":s}if(typeof o!="string")return o===0?o:+o;o=Qy(o);var c=Uk.test(o);return c||Hk.test(o)?SI(o.slice(2),c?2:8):Bk.test(o)?I:+o}function D0(o){return Or(o,pn(o))}function uP(o){return o?so(Te(o),-$,$):o===0?o:0}function He(o){return o==null?"":Tn(o)}var sP=Zo(function(o,s){if(fu(s)||dn(s)){Or(s,Ot(s),o);return}for(var c in s)Ge.call(s,c)&&ou(o,c,s[c])}),A0=Zo(function(o,s){Or(s,pn(s),o)}),ga=Zo(function(o,s,c,g){Or(s,pn(s),o,g)}),aP=Zo(function(o,s,c,g){Or(s,Ot(s),o,g)}),cP=Kr(cd);function fP(o,s){var c=Xo(o);return s==null?c:fv(c,s)}var dP=Re(function(o,s){o=Ye(o);var c=-1,g=s.length,x=g>2?s[2]:n;for(x&&nn(s[0],s[1],x)&&(g=1);++c1),k}),Or(o,Rd(o),c),g&&(c=Xn(c,h|y|m,CT));for(var x=s.length;x--;)Ed(c,s[x]);return c});function RP(o,s){return M0(o,da(me(s)))}var PP=Kr(function(o,s){return o==null?{}:iT(o,s)});function M0(o,s){if(o==null)return{};var c=ot(Rd(o),function(g){return[g]});return s=me(s),Iv(o,c,function(g,x){return s(g,x[0])})}function DP(o,s,c){s=Si(s,o);var g=-1,x=s.length;for(x||(x=1,o=n);++gs){var g=o;o=s,s=g}if(c||o%1||s%1){var x=uv();return Wt(o+x*(s-o+wI("1e-"+((x+"").length-1))),s)}return xd(o,s)}var HP=Jo(function(o,s,c){return s=s.toLowerCase(),o+(c?z0(s):s)});function z0(o){return Kd(He(o).toLowerCase())}function j0(o){return o=He(o),o&&o.replace(Vk,AI).replace(cI,"")}function WP(o,s,c){o=He(o),s=Tn(s);var g=o.length;c=c===n?g:so(Te(c),0,g);var x=c;return c-=s.length,c>=0&&o.slice(c,x)==s}function VP(o){return o=He(o),o&&kk.test(o)?o.replace(my,NI):o}function KP(o){return o=He(o),o&&Pk.test(o)?o.replace(Uf,"\\$&"):o}var GP=Jo(function(o,s,c){return o+(c?"-":"")+s.toLowerCase()}),qP=Jo(function(o,s,c){return o+(c?" ":"")+s.toLowerCase()}),YP=$v("toLowerCase");function QP(o,s,c){o=He(o),s=Te(s);var g=s?Ko(o):0;if(!s||g>=s)return o;var x=(s-g)/2;return ra(Ws(x),c)+o+ra(Hs(x),c)}function XP(o,s,c){o=He(o),s=Te(s);var g=s?Ko(o):0;return s&&g>>0,c?(o=He(o),o&&(typeof s=="string"||s!=null&&!Hd(s))&&(s=Tn(s),!s&&Vo(o))?Ei(gr(o),0,c):o.split(s,c)):[]}var iD=Jo(function(o,s,c){return o+(c?" ":"")+Kd(s)});function oD(o,s,c){return o=He(o),c=c==null?0:so(Te(c),0,o.length),s=Tn(s),o.slice(c,c+s.length)==s}function lD(o,s,c){var g=C.templateSettings;c&&nn(o,s,c)&&(s=n),o=He(o),s=ga({},s,g,Yv);var x=ga({},s.imports,g.imports,Yv),k=Ot(x),O=rd(x,k),N,z,Y=0,Q=s.interpolate||Ts,ee="__p += '",se=od((s.escape||Ts).source+"|"+Q.source+"|"+(Q===yy?jk:Ts).source+"|"+(s.evaluate||Ts).source+"|$","g"),fe="//# sourceURL="+(Ge.call(s,"sourceURL")?(s.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++gI+"]")+` -`;o.replace(se,function(xe,De,Le,Rn,rn,Pn){return Le||(Le=Rn),ee+=o.slice(Y,Pn).replace(Kk,MI),De&&(N=!0,ee+=`' + -__e(`+De+`) + -'`),rn&&(z=!0,ee+=`'; -`+rn+`; -__p += '`),Le&&(ee+=`' + -((__t = (`+Le+`)) == null ? '' : __t) + -'`),Y=Pn+xe.length,xe}),ee+=`'; -`;var ve=Ge.call(s,"variable")&&s.variable;if(!ve)ee=`with (obj) { -`+ee+` -} -`;else if(Fk.test(ve))throw new Ce(a);ee=(z?ee.replace(hr,""):ee).replace(Ek,"$1").replace(Ck,"$1;"),ee="function("+(ve||"obj")+`) { -`+(ve?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(N?", __e = _.escape":"")+(z?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+ee+`return __p -}`;var Oe=U0(function(){return je(k,fe+"return "+ee).apply(n,O)});if(Oe.source=ee,$d(Oe))throw Oe;return Oe}function uD(o){return He(o).toLowerCase()}function sD(o){return He(o).toUpperCase()}function aD(o,s,c){if(o=He(o),o&&(c||s===n))return Qy(o);if(!o||!(s=Tn(s)))return o;var g=gr(o),x=gr(s),k=Xy(g,x),O=Zy(g,x)+1;return Ei(g,k,O).join("")}function cD(o,s,c){if(o=He(o),o&&(c||s===n))return o.slice(0,ev(o)+1);if(!o||!(s=Tn(s)))return o;var g=gr(o),x=Zy(g,gr(s))+1;return Ei(g,0,x).join("")}function fD(o,s,c){if(o=He(o),o&&(c||s===n))return o.replace($f,"");if(!o||!(s=Tn(s)))return o;var g=gr(o),x=Xy(g,gr(s));return Ei(g,x).join("")}function dD(o,s){var c=U,g=J;if(ct(s)){var x="separator"in s?s.separator:x;c="length"in s?Te(s.length):c,g="omission"in s?Tn(s.omission):g}o=He(o);var k=o.length;if(Vo(o)){var O=gr(o);k=O.length}if(c>=k)return o;var N=c-Ko(g);if(N<1)return g;var z=O?Ei(O,0,N).join(""):o.slice(0,N);if(x===n)return z+g;if(O&&(N+=z.length-N),Hd(x)){if(o.slice(N).search(x)){var Y,Q=z;for(x.global||(x=od(x.source,He(vy.exec(x))+"g")),x.lastIndex=0;Y=x.exec(Q);)var ee=Y.index;z=z.slice(0,ee===n?N:ee)}}else if(o.indexOf(Tn(x),N)!=N){var se=z.lastIndexOf(x);se>-1&&(z=z.slice(0,se))}return z+g}function pD(o){return o=He(o),o&&_k.test(o)?o.replace(gy,$I):o}var hD=Jo(function(o,s,c){return o+(c?" ":"")+s.toUpperCase()}),Kd=$v("toUpperCase");function B0(o,s,c){return o=He(o),s=c?n:s,s===n?FI(o)?VI(o):TI(o):o.match(s)||[]}var U0=Re(function(o,s){try{return In(o,n,s)}catch(c){return $d(c)?c:new Ce(c)}}),gD=Kr(function(o,s){return qn(s,function(c){c=Rr(c),Wr(o,c,Bd(o[c],o))}),o});function mD(o){var s=o==null?0:o.length,c=me();return o=s?ot(o,function(g){if(typeof g[1]!="function")throw new Yn(u);return[c(g[0]),g[1]]}):[],Re(function(g){for(var x=-1;++x$)return[];var c=oe,g=Wt(o,oe);s=me(s),o-=oe;for(var x=nd(g,s);++c0||s<0)?new Me(c):(o<0?c=c.takeRight(-o):o&&(c=c.drop(o)),s!==n&&(s=Te(s),c=s<0?c.dropRight(-s):c.take(s-o)),c)},Me.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Me.prototype.toArray=function(){return this.take(oe)},Tr(Me.prototype,function(o,s){var c=/^(?:filter|find|map|reject)|While$/.test(s),g=/^(?:head|last)$/.test(s),x=C[g?"take"+(s=="last"?"Right":""):s],k=g||/^find/.test(s);x&&(C.prototype[s]=function(){var O=this.__wrapped__,N=g?[1]:arguments,z=O instanceof Me,Y=N[0],Q=z||_e(O),ee=function(De){var Le=x.apply(C,mi([De],N));return g&&se?Le[0]:Le};Q&&c&&typeof Y=="function"&&Y.length!=1&&(z=Q=!1);var se=this.__chain__,fe=!!this.__actions__.length,ve=k&&!se,Oe=z&&!fe;if(!k&&Q){O=Oe?O:new Me(this);var xe=o.apply(O,N);return xe.__actions__.push({func:sa,args:[ee],thisArg:n}),new Qn(xe,se)}return ve&&Oe?o.apply(this,N):(xe=this.thru(ee),ve?g?xe.value()[0]:xe.value():xe)})}),qn(["pop","push","shift","sort","splice","unshift"],function(o){var s=Ns[o],c=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",g=/^(?:pop|shift)$/.test(o);C.prototype[o]=function(){var x=arguments;if(g&&!this.__chain__){var k=this.value();return s.apply(_e(k)?k:[],x)}return this[c](function(O){return s.apply(_e(O)?O:[],x)})}}),Tr(Me.prototype,function(o,s){var c=C[s];if(c){var g=c.name+"";Ge.call(Qo,g)||(Qo[g]=[]),Qo[g].push({name:s,func:c})}}),Qo[ta(n,w).name]=[{name:"wrapper",func:n}],Me.prototype.clone=pb,Me.prototype.reverse=hb,Me.prototype.value=gb,C.prototype.at=WO,C.prototype.chain=VO,C.prototype.commit=KO,C.prototype.next=GO,C.prototype.plant=YO,C.prototype.reverse=QO,C.prototype.toJSON=C.prototype.valueOf=C.prototype.value=XO,C.prototype.first=C.prototype.head,eu&&(C.prototype[eu]=qO),C},Go=KI();io?((io.exports=Go)._=Go,qf._=Go):Ft._=Go}).call(wo)})(zc,zc.exports);var UC=zc.exports;const lt={water:{name:"water",close:!1,label:"VODA",stack:!0,usable:!0,count:0},burger:{name:"burger",close:!1,label:"BURGR",stack:!1,usable:!1,count:0}};let nc="images";function uF(e){e&&e!==""&&(nc=e)}const $C=()=>!window.invokeNative,HC=()=>{},sF=window.GetParentResourceName?window.GetParentResourceName():"ox_inventory";async function ar(e,t){if(!$C())try{return await(await fetch(`https://${sF}/${e}`,{method:"post",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(t)})).json()}catch(n){throw Error(`Failed to fetch NUI callback ${e}! (${n})`)}}const Ex=(e,t)=>{if(t.type!=="shop"||!yn(e))return!0;if(e.count!==void 0&&e.count===0)return!1;if(e.grade===void 0||!t.groups)return!0;const n=Nn.getState().inventory.leftInventory;if(!n.groups)return!1;const r=Object.keys(t.groups);if(Array.isArray(e.grade)){for(let i=0;i=e.grade)return!0}return!1}},Cx=(e,t)=>{if(!yn(e)||t!=="crafting"||!e.ingredients)return!0;const n=Nn.getState().inventory.leftInventory;return Object.entries(e.ingredients).filter(l=>{const[u,a]=[l[0],l[1]],f=lt[u];return a>=1&&f&&f.count>=a?!1:!n.items.find(p=>{if(yn(p)&&p.name===u&&a<1)return p.metadata?.durability>=a*100})}).length===0},yn=(e,t=!1)=>e.name!==void 0&&e.weight!==void 0||t&&e.name!==void 0&&e.count!==void 0&&e.weight!==void 0,aF=(e,t)=>e.name===t.name&&UC.isEqual(e.metadata,t.metadata),cF=(e,t,n)=>t.stack?n.find(i=>i.name===e.name&&UC.isEqual(i.metadata,e.metadata))||n.find(i=>i.name===void 0):n.find(i=>i.name===void 0),bf=(e,t,n)=>({sourceInventory:t===Qt.PLAYER?e.leftInventory:e.rightInventory,targetInventory:n?n===Qt.PLAYER?e.leftInventory:e.rightInventory:t===Qt.PLAYER?e.rightInventory:e.leftInventory}),Ul=(e,t)=>{if(e?.durability===void 0)return;let n=e.durability;return n>100&&e.degrade&&(n=(e.durability-t)/(60*e.degrade)*100),n<0&&(n=0),n},WC=e=>e.reduce((t,n)=>yn(n)?t+n.weight:t,0),_x=async e=>{const t=await ar("getItemData",e);if(t?.name)return lt[e]=t,t},Ol=e=>{const t=typeof e=="object";if(t){if(!e.name)return;const i=e.metadata;if(i?.imageurl)return`${i.imageurl}`;if(i?.image)return`${nc}/${i.image}.png`}const n=t?e.name:e,r=lt[n];return r?(r.image||(r.image=`${nc}/${n}.png`),r.image):`${nc}/${n}.png`},fF=(e,t)=>{const{leftInventory:n,rightInventory:r}=t.payload,i=Math.floor(Date.now()/1e3);n&&(e.leftInventory={...n,items:Array.from(Array(n.slots),(l,u)=>{const a=Object.values(n.items).find(f=>f?.slot===u+1)||{slot:u+1};return a.name&&(typeof lt[a.name]>"u"&&_x(a.name),a.durability=Ul(a.metadata,i)),a})}),r&&(e.rightInventory={...r,items:Array.from(Array(r.slots),(l,u)=>{const a=Object.values(r.items).find(f=>f?.slot===u+1)||{slot:u+1};return a.name&&(typeof lt[a.name]>"u"&&_x(a.name),a.durability=Ul(a.metadata,i)),a})}),e.shiftPressed=!1,e.isBusy=!1},dF=(e,t)=>{if(t.payload.items){Array.isArray(t.payload.items)||(t.payload.items=[t.payload.items]);const n=Math.floor(Date.now()/1e3);Object.values(t.payload.items).filter(r=>!!r).forEach(r=>{const i=r.inventory&&r.inventory!==Qt.PLAYER?e.rightInventory:e.leftInventory;r.item.durability=Ul(r.item.metadata,n),i.items[r.item.slot-1]=r.item}),e.rightInventory.type===Qt.CRAFTING&&(e.rightInventory={...e.rightInventory})}if(t.payload.itemCount){const n=Object.entries(t.payload.itemCount);for(let r=0;r{const{fromSlot:n,fromType:r,toSlot:i,toType:l}=t.payload,{sourceInventory:u,targetInventory:a}=bf(e,r,l),f=Math.floor(Date.now()/1e3);[u.items[n.slot-1],a.items[i.slot-1]]=[{...a.items[i.slot-1],slot:n.slot,durability:Ul(i.metadata,f)},{...u.items[n.slot-1],slot:i.slot,durability:Ul(n.metadata,f)}]},hF=(e,t)=>{const{fromSlot:n,fromType:r,toSlot:i,toType:l,count:u}=t.payload,{sourceInventory:a,targetInventory:f}=bf(e,r,l),d=n.weight/n.count;f.items[i.slot-1]={...f.items[i.slot-1],count:i.count+u,weight:d*(i.count+u)},!(r===Qt.SHOP||r===Qt.CRAFTING)&&(a.items[n.slot-1]=n.count-u>0?{...a.items[n.slot-1],count:n.count-u,weight:d*(n.count-u)}:{slot:n.slot})},gF=(e,t)=>{const{fromSlot:n,fromType:r,toSlot:i,toType:l,count:u}=t.payload,{sourceInventory:a,targetInventory:f}=bf(e,r,l),d=n.weight/n.count,p=Math.floor(Date.now()/1e3),h=a.items[n.slot-1];f.items[i.slot-1]={...h,count:u,weight:d*u,slot:i.slot,durability:Ul(h.metadata,p)},!(r===Qt.SHOP||r===Qt.CRAFTING)&&(a.items[n.slot-1]=n.count-u>0?{...a.items[n.slot-1],count:n.count-u,weight:d*(n.count-u)}:{slot:n.slot})},mF={leftInventory:{id:"",type:"",slots:0,maxWeight:0,items:[]},rightInventory:{id:"",type:"",slots:0,maxWeight:0,items:[]},additionalMetadata:new Array,itemAmount:0,shiftPressed:!1,isBusy:!1},Mm=Am({name:"inventory",initialState:mF,reducers:{stackSlots:hF,swapSlots:pF,setupInventory:fF,moveSlots:gF,refreshSlots:dF,setAdditionalMetadata:(e,t)=>{const n=[];for(let r=0;rl.value===i.value)||n.push(i)}e.additionalMetadata=[...e.additionalMetadata,...n]},setItemAmount:(e,t)=>{e.itemAmount=t.payload},setShiftPressed:(e,t)=>{e.shiftPressed=t.payload},setContainerWeight:(e,t)=>{const n=e.leftInventory.items.find(r=>r.metadata?.container===e.rightInventory.id);n&&(n.weight=t.payload)}},extraReducers:e=>{e.addMatcher(zC,t=>{t.isBusy=!0,t.history={leftInventory:Fc(t.leftInventory),rightInventory:Fc(t.rightInventory)}}),e.addMatcher(BC,t=>{t.isBusy=!1}),e.addMatcher(jC,t=>{t.history&&t.history.leftInventory&&t.history.rightInventory&&(t.leftInventory=t.history.leftInventory,t.rightInventory=t.history.rightInventory),t.isBusy=!1})}}),{setAdditionalMetadata:yF,setItemAmount:vF,setShiftPressed:xF,setupInventory:VC,swapSlots:wF,moveSlots:SF,stackSlots:EF,refreshSlots:CF,setContainerWeight:_F}=Mm.actions,Lm=e=>e.inventory.leftInventory,kF=e=>e.inventory.rightInventory,IF=e=>e.inventory.itemAmount,bF=Mm.reducer,TF={open:!1,item:null,inventoryType:null},KC=Am({name:"tooltip",initialState:TF,reducers:{openTooltip(e,t){e.open=!0,e.item=t.payload.item,e.inventoryType=t.payload.inventoryType},closeTooltip(e){e.open=!1}}}),{openTooltip:OF,closeTooltip:Hu}=KC.actions,RF=KC.reducer,PF={coords:null,item:null},GC=Am({name:"contextMenu",initialState:PF,reducers:{openContextMenu(e,t){e.coords=t.payload.coords,e.item=t.payload.item},closeContextMenu(e){e.coords=null}}}),{openContextMenu:DF,closeContextMenu:qC}=GC.actions,AF=GC.reducer,Nn=z3({reducer:{inventory:bF,tooltip:RF,contextMenu:AF}}),Yl=()=>QN(),jr=jN,Mr=(e,t)=>{const n=D.useRef(HC);D.useEffect(()=>{n.current=t},[t]),D.useEffect(()=>{const r=i=>{const{action:l,data:u}=i.data;n.current&&l===e&&n.current(u)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[e])},Fm=e=>{ar("useItem",e.slot)},YC=e=>{const{inventory:{itemAmount:t}}=Nn.getState();ar("giveItem",{slot:e.slot,count:t})},Be={};function eo(e){return QC(e)?(e.nodeName||"").toLowerCase():"#document"}function jn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function pi(e){var t;return(t=(QC(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function QC(e){return e instanceof Node||e instanceof jn(e).Node}function st(e){return e instanceof Element||e instanceof jn(e).Element}function Jt(e){return e instanceof HTMLElement||e instanceof jn(e).HTMLElement}function ug(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof jn(e).ShadowRoot}function Cs(e){const{overflow:t,overflowX:n,overflowY:r,display:i}=dr(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(i)}function NF(e){return["table","td","th"].includes(eo(e))}function zm(e){const t=jm(),n=dr(e);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function MF(e){let t=ai(e);for(;Jt(t)&&!Yi(t);){if(zm(t))return t;t=ai(t)}return null}function jm(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Yi(e){return["html","body","#document"].includes(eo(e))}function dr(e){return jn(e).getComputedStyle(e)}function Tf(e){return st(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ai(e){if(eo(e)==="html")return e;const t=e.assignedSlot||e.parentNode||ug(e)&&e.host||pi(e);return ug(t)?t.host:t}function XC(e){const t=ai(e);return Yi(t)?e.ownerDocument?e.ownerDocument.body:e.body:Jt(t)&&Cs(t)?t:XC(t)}function Wi(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=XC(e),l=i===((r=e.ownerDocument)==null?void 0:r.body),u=jn(i);return l?t.concat(u,u.visualViewport||[],Cs(i)?i:[],u.frameElement&&n?Wi(u.frameElement):[]):t.concat(i,Wi(i,[],n))}function Di(e){let t=e.activeElement;for(;((n=t)==null||(n=n.shadowRoot)==null?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function Rt(e,t){if(!e||!t)return!1;const n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&ug(n)){let r=t;for(;r;){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function Bm(){const e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function ZC(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(t=>{let{brand:n,version:r}=t;return n+"/"+r}).join(" "):navigator.userAgent}function JC(e){return e.mozInputSource===0&&e.isTrusted?!0:sg()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function e_(e){return FF()?!1:!sg()&&e.width===0&&e.height===0||sg()&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function t_(){return/apple/i.test(navigator.vendor)}function sg(){const e=/android/i;return e.test(Bm())||e.test(ZC())}function LF(){return Bm().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints}function FF(){return ZC().includes("jsdom/")}function ps(e,t){const n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}function zF(e){return"nativeEvent"in e}function jF(e){return e.matches("html,body")}function vn(e){return e?.ownerDocument||document}function Np(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const n=e;return n.target!=null&&t.contains(n.target)}function So(e){return"composedPath"in e?e.composedPath()[0]:e.target}const BF="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function n_(e){return Jt(e)&&e.matches(BF)}function Ut(e){e.preventDefault(),e.stopPropagation()}function r_(e){return e?e.getAttribute("role")==="combobox"&&n_(e):!1}const jc=Math.min,Oo=Math.max,Bc=Math.round,El=Math.floor,Qi=e=>({x:e,y:e}),UF={left:"right",right:"left",bottom:"top",top:"bottom"},$F={start:"end",end:"start"};function kx(e,t,n){return Oo(e,jc(t,n))}function Of(e,t){return typeof e=="function"?e(t):e}function zo(e){return e.split("-")[0]}function Rf(e){return e.split("-")[1]}function i_(e){return e==="x"?"y":"x"}function o_(e){return e==="y"?"height":"width"}function Pf(e){return["top","bottom"].includes(zo(e))?"y":"x"}function l_(e){return i_(Pf(e))}function HF(e,t,n){n===void 0&&(n=!1);const r=Rf(e),i=l_(e),l=o_(i);let u=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[l]>t.floating[l]&&(u=Uc(u)),[u,Uc(u)]}function WF(e){const t=Uc(e);return[ag(e),t,ag(t)]}function ag(e){return e.replace(/start|end/g,t=>$F[t])}function VF(e,t,n){const r=["left","right"],i=["right","left"],l=["top","bottom"],u=["bottom","top"];switch(e){case"top":case"bottom":return n?t?i:r:t?r:i;case"left":case"right":return t?l:u;default:return[]}}function KF(e,t,n,r){const i=Rf(e);let l=VF(zo(e),n==="start",r);return i&&(l=l.map(u=>u+"-"+i),t&&(l=l.concat(l.map(ag)))),l}function Uc(e){return e.replace(/left|right|bottom|top/g,t=>UF[t])}function GF(e){return{top:0,right:0,bottom:0,left:0,...e}}function qF(e){return typeof e!="number"?GF(e):{top:e,right:e,bottom:e,left:e}}function $c(e){const{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ix(e,t,n){let{reference:r,floating:i}=e;const l=Pf(t),u=l_(t),a=o_(u),f=zo(t),d=l==="y",p=r.x+r.width/2-i.width/2,h=r.y+r.height/2-i.height/2,y=r[a]/2-i[a]/2;let m;switch(f){case"top":m={x:p,y:r.y-i.height};break;case"bottom":m={x:p,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:h};break;case"left":m={x:r.x-i.width,y:h};break;default:m={x:r.x,y:r.y}}switch(Rf(t)){case"start":m[u]-=y*(n&&d?-1:1);break;case"end":m[u]+=y*(n&&d?-1:1);break}return m}const YF=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:l=[],platform:u}=n,a=l.filter(Boolean),f=await(u.isRTL==null?void 0:u.isRTL(t));let d=await u.getElementRects({reference:e,floating:t,strategy:i}),{x:p,y:h}=Ix(d,r,f),y=r,m={},S=0;for(let _=0;_G<=0)){var q,U;const G=(((q=l.flip)==null?void 0:q.index)||0)+1,X=M[G];if(X)return{data:{index:G,overflows:K},reset:{placement:X}};let L=(U=K.filter(Z=>Z.overflows[0]<=0).sort((Z,re)=>Z.overflows[1]-re.overflows[1])[0])==null?void 0:U.placement;if(!L)switch(m){case"bestFit":{var J;const Z=(J=K.map(re=>[re.placement,re.overflows.filter(V=>V>0).reduce((V,$)=>V+$,0)]).sort((re,V)=>re[1]-V[1])[0])==null?void 0:J[0];Z&&(L=Z);break}case"initialPlacement":L=a;break}if(i!==L)return{reset:{placement:L}}}return{}}}};async function XF(e,t){const{placement:n,platform:r,elements:i}=e,l=await(r.isRTL==null?void 0:r.isRTL(i.floating)),u=zo(n),a=Rf(n),f=Pf(n)==="y",d=["left","top"].includes(u)?-1:1,p=l&&f?-1:1,h=Of(t,e);let{mainAxis:y,crossAxis:m,alignmentAxis:S}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...h};return a&&typeof S=="number"&&(m=a==="end"?S*-1:S),f?{x:m*p,y:y*d}:{x:y*d,y:m*p}}const ZF=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:i,y:l,placement:u,middlewareData:a}=t,f=await XF(t,e);return u===((n=a.offset)==null?void 0:n.placement)&&(r=a.arrow)!=null&&r.alignmentOffset?{}:{x:i+f.x,y:l+f.y,data:{...f,placement:u}}}}},JF=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:l=!0,crossAxis:u=!1,limiter:a={fn:A=>{let{x:w,y:v}=A;return{x:w,y:v}}},...f}=Of(e,t),d={x:n,y:r},p=await u_(t,f),h=Pf(zo(i)),y=i_(h);let m=d[y],S=d[h];if(l){const A=y==="y"?"top":"left",w=y==="y"?"bottom":"right",v=m+p[A],E=m-p[w];m=kx(v,m,E)}if(u){const A=h==="y"?"top":"left",w=h==="y"?"bottom":"right",v=S+p[A],E=S-p[w];S=kx(v,S,E)}const _=a.fn({...t,[y]:m,[h]:S});return{..._,data:{x:_.x-n,y:_.y-r}}}}};function s_(e){const t=dr(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const i=Jt(e),l=i?e.offsetWidth:n,u=i?e.offsetHeight:r,a=Bc(n)!==l||Bc(r)!==u;return a&&(n=l,r=u),{width:n,height:r,$:a}}function Um(e){return st(e)?e:e.contextElement}function Rl(e){const t=Um(e);if(!Jt(t))return Qi(1);const n=t.getBoundingClientRect(),{width:r,height:i,$:l}=s_(t);let u=(l?Bc(n.width):n.width)/r,a=(l?Bc(n.height):n.height)/i;return(!u||!Number.isFinite(u))&&(u=1),(!a||!Number.isFinite(a))&&(a=1),{x:u,y:a}}const e4=Qi(0);function a_(e){const t=jn(e);return!jm()||!t.visualViewport?e4:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function t4(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==jn(e)?!1:t}function jo(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),l=Um(e);let u=Qi(1);t&&(r?st(r)&&(u=Rl(r)):u=Rl(e));const a=t4(l,n,r)?a_(l):Qi(0);let f=(i.left+a.x)/u.x,d=(i.top+a.y)/u.y,p=i.width/u.x,h=i.height/u.y;if(l){const y=jn(l),m=r&&st(r)?jn(r):r;let S=y,_=S.frameElement;for(;_&&r&&m!==S;){const A=Rl(_),w=_.getBoundingClientRect(),v=dr(_),E=w.left+(_.clientLeft+parseFloat(v.paddingLeft))*A.x,b=w.top+(_.clientTop+parseFloat(v.paddingTop))*A.y;f*=A.x,d*=A.y,p*=A.x,h*=A.y,f+=E,d+=b,S=jn(_),_=S.frameElement}}return $c({width:p,height:h,x:f,y:d})}const n4=[":popover-open",":modal"];function $m(e){return n4.some(t=>{try{return e.matches(t)}catch{return!1}})}function r4(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e;const l=i==="fixed",u=pi(r),a=t?$m(t.floating):!1;if(r===u||a&&l)return n;let f={scrollLeft:0,scrollTop:0},d=Qi(1);const p=Qi(0),h=Jt(r);if((h||!h&&!l)&&((eo(r)!=="body"||Cs(u))&&(f=Tf(r)),Jt(r))){const y=jo(r);d=Rl(r),p.x=y.x+r.clientLeft,p.y=y.y+r.clientTop}return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-f.scrollLeft*d.x+p.x,y:n.y*d.y-f.scrollTop*d.y+p.y}}function i4(e){return Array.from(e.getClientRects())}function c_(e){return jo(pi(e)).left+Tf(e).scrollLeft}function o4(e){const t=pi(e),n=Tf(e),r=e.ownerDocument.body,i=Oo(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),l=Oo(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let u=-n.scrollLeft+c_(e);const a=-n.scrollTop;return dr(r).direction==="rtl"&&(u+=Oo(t.clientWidth,r.clientWidth)-i),{width:i,height:l,x:u,y:a}}function l4(e,t){const n=jn(e),r=pi(e),i=n.visualViewport;let l=r.clientWidth,u=r.clientHeight,a=0,f=0;if(i){l=i.width,u=i.height;const d=jm();(!d||d&&t==="fixed")&&(a=i.offsetLeft,f=i.offsetTop)}return{width:l,height:u,x:a,y:f}}function u4(e,t){const n=jo(e,!0,t==="fixed"),r=n.top+e.clientTop,i=n.left+e.clientLeft,l=Jt(e)?Rl(e):Qi(1),u=e.clientWidth*l.x,a=e.clientHeight*l.y,f=i*l.x,d=r*l.y;return{width:u,height:a,x:f,y:d}}function bx(e,t,n){let r;if(t==="viewport")r=l4(e,n);else if(t==="document")r=o4(pi(e));else if(st(t))r=u4(t,n);else{const i=a_(e);r={...t,x:t.x-i.x,y:t.y-i.y}}return $c(r)}function f_(e,t){const n=ai(e);return n===t||!st(n)||Yi(n)?!1:dr(n).position==="fixed"||f_(n,t)}function s4(e,t){const n=t.get(e);if(n)return n;let r=Wi(e,[],!1).filter(a=>st(a)&&eo(a)!=="body"),i=null;const l=dr(e).position==="fixed";let u=l?ai(e):e;for(;st(u)&&!Yi(u);){const a=dr(u),f=zm(u);!f&&a.position==="fixed"&&(i=null),(l?!f&&!i:!f&&a.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||Cs(u)&&!f&&f_(e,u))?r=r.filter(p=>p!==u):i=a,u=ai(u)}return t.set(e,r),r}function a4(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const u=[...n==="clippingAncestors"?$m(t)?[]:s4(t,this._c):[].concat(n),r],a=u[0],f=u.reduce((d,p)=>{const h=bx(t,p,i);return d.top=Oo(h.top,d.top),d.right=jc(h.right,d.right),d.bottom=jc(h.bottom,d.bottom),d.left=Oo(h.left,d.left),d},bx(t,a,i));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function c4(e){const{width:t,height:n}=s_(e);return{width:t,height:n}}function f4(e,t,n){const r=Jt(t),i=pi(t),l=n==="fixed",u=jo(e,!0,l,t);let a={scrollLeft:0,scrollTop:0};const f=Qi(0);if(r||!r&&!l)if((eo(t)!=="body"||Cs(i))&&(a=Tf(t)),r){const h=jo(t,!0,l,t);f.x=h.x+t.clientLeft,f.y=h.y+t.clientTop}else i&&(f.x=c_(i));const d=u.left+a.scrollLeft-f.x,p=u.top+a.scrollTop-f.y;return{x:d,y:p,width:u.width,height:u.height}}function Mp(e){return dr(e).position==="static"}function Tx(e,t){return!Jt(e)||dr(e).position==="fixed"?null:t?t(e):e.offsetParent}function d_(e,t){const n=jn(e);if($m(e))return n;if(!Jt(e)){let i=ai(e);for(;i&&!Yi(i);){if(st(i)&&!Mp(i))return i;i=ai(i)}return n}let r=Tx(e,t);for(;r&&NF(r)&&Mp(r);)r=Tx(r,t);return r&&Yi(r)&&Mp(r)&&!zm(r)?n:r||MF(e)||n}const d4=async function(e){const t=this.getOffsetParent||d_,n=this.getDimensions,r=await n(e.floating);return{reference:f4(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function p4(e){return dr(e).direction==="rtl"}const h4={convertOffsetParentRelativeRectToViewportRelativeRect:r4,getDocumentElement:pi,getClippingRect:a4,getOffsetParent:d_,getElementRects:d4,getClientRects:i4,getDimensions:c4,getScale:Rl,isElement:st,isRTL:p4};function g4(e,t){let n=null,r;const i=pi(e);function l(){var a;clearTimeout(r),(a=n)==null||a.disconnect(),n=null}function u(a,f){a===void 0&&(a=!1),f===void 0&&(f=1),l();const{left:d,top:p,width:h,height:y}=e.getBoundingClientRect();if(a||t(),!h||!y)return;const m=El(p),S=El(i.clientWidth-(d+h)),_=El(i.clientHeight-(p+y)),A=El(d),v={rootMargin:-m+"px "+-S+"px "+-_+"px "+-A+"px",threshold:Oo(0,jc(1,f))||1};let E=!0;function b(M){const R=M[0].intersectionRatio;if(R!==f){if(!E)return u();R?u(!1,R):r=setTimeout(()=>{u(!1,1e-7)},1e3)}E=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return u(!0),l}function m4(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:f=!1}=r,d=Um(e),p=i||l?[...d?Wi(d):[],...Wi(t)]:[];p.forEach(w=>{i&&w.addEventListener("scroll",n,{passive:!0}),l&&w.addEventListener("resize",n)});const h=d&&a?g4(d,n):null;let y=-1,m=null;u&&(m=new ResizeObserver(w=>{let[v]=w;v&&v.target===d&&m&&(m.unobserve(t),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var E;(E=m)==null||E.observe(t)})),n()}),d&&!f&&m.observe(d),m.observe(t));let S,_=f?jo(e):null;f&&A();function A(){const w=jo(e);_&&(w.x!==_.x||w.y!==_.y||w.width!==_.width||w.height!==_.height)&&n(),_=w,S=requestAnimationFrame(A)}return n(),()=>{var w;p.forEach(v=>{i&&v.removeEventListener("scroll",n),l&&v.removeEventListener("resize",n)}),h?.(),(w=m)==null||w.disconnect(),m=null,f&&cancelAnimationFrame(S)}}const y4=ZF,v4=JF,x4=QF,w4=(e,t,n)=>{const r=new Map,i={platform:h4,...n},l={...i.platform,_c:r};return YF(e,t,{...i,platform:l})};var rc=typeof document<"u"?D.useLayoutEffect:D.useEffect;function Hc(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Hc(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){const l=i[r];if(!(l==="_owner"&&e.$$typeof)&&!Hc(e[l],t[l]))return!1}return!0}return e!==e&&t!==t}function p_(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ox(e,t){const n=p_(e);return Math.round(t*n)/n}function Rx(e){const t=D.useRef(e);return rc(()=>{t.current=e}),t}function S4(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:l,floating:u}={},transform:a=!0,whileElementsMounted:f,open:d}=e,[p,h]=D.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[y,m]=D.useState(r);Hc(y,r)||m(r);const[S,_]=D.useState(null),[A,w]=D.useState(null),v=D.useCallback(V=>{V!==R.current&&(R.current=V,_(V))},[]),E=D.useCallback(V=>{V!==j.current&&(j.current=V,w(V))},[]),b=l||S,M=u||A,R=D.useRef(null),j=D.useRef(null),K=D.useRef(p),q=f!=null,U=Rx(f),J=Rx(i),G=D.useCallback(()=>{if(!R.current||!j.current)return;const V={placement:t,strategy:n,middleware:y};J.current&&(V.platform=J.current),w4(R.current,j.current,V).then($=>{const le={...$,isPositioned:!0};X.current&&!Hc(K.current,le)&&(K.current=le,ql.flushSync(()=>{h(le)}))})},[y,t,n,J]);rc(()=>{d===!1&&K.current.isPositioned&&(K.current.isPositioned=!1,h(V=>({...V,isPositioned:!1})))},[d]);const X=D.useRef(!1);rc(()=>(X.current=!0,()=>{X.current=!1}),[]),rc(()=>{if(b&&(R.current=b),M&&(j.current=M),b&&M){if(U.current)return U.current(b,M,G);G()}},[b,M,G,U,q]);const L=D.useMemo(()=>({reference:R,floating:j,setReference:v,setFloating:E}),[v,E]),Z=D.useMemo(()=>({reference:b,floating:M}),[b,M]),re=D.useMemo(()=>{const V={position:n,left:0,top:0};if(!Z.floating)return V;const $=Ox(Z.floating,p.x),le=Ox(Z.floating,p.y);return a?{...V,transform:"translate("+$+"px, "+le+"px)",...p_(Z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:$,top:le}},[n,a,Z.floating,p.x,p.y]);return D.useMemo(()=>({...p,update:G,refs:L,elements:Z,floatingStyles:re}),[p,G,L,Z,re])}const h_=(e,t)=>({...y4(e),options:[e,t]}),g_=(e,t)=>({...v4(e),options:[e,t]}),m_=(e,t)=>({...x4(e),options:[e,t]});/*! -* tabbable 6.2.0 -* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var E4=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Wc=E4.join(","),y_=typeof Element>"u",$l=y_?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Vc=!y_&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e?.ownerDocument},Kc=function e(t,n){var r;n===void 0&&(n=!0);var i=t==null||(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"inert"),l=i===""||i==="true",u=l||n&&t&&e(t.parentNode);return u},C4=function(t){var n,r=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"contenteditable");return r===""||r==="true"},_4=function(t,n,r){if(Kc(t))return[];var i=Array.prototype.slice.apply(t.querySelectorAll(Wc));return n&&$l.call(t,Wc)&&i.unshift(t),i=i.filter(r),i},k4=function e(t,n,r){for(var i=[],l=Array.from(t);l.length;){var u=l.shift();if(!Kc(u,!1))if(u.tagName==="SLOT"){var a=u.assignedElements(),f=a.length?a:u.children,d=e(f,!0,r);r.flatten?i.push.apply(i,d):i.push({scopeParent:u,candidates:d})}else{var p=$l.call(u,Wc);p&&r.filter(u)&&(n||!t.includes(u))&&i.push(u);var h=u.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(u),y=!Kc(h,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(u));if(h&&y){var m=e(h===!0?u.children:h.children,!0,r);r.flatten?i.push.apply(i,m):i.push({scopeParent:u,candidates:m})}else l.unshift.apply(l,u.children)}}return i},v_=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},x_=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||C4(t))&&!v_(t)?0:t.tabIndex},I4=function(t,n){var r=x_(t);return r<0&&n&&!v_(t)?0:r},b4=function(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex},w_=function(t){return t.tagName==="INPUT"},T4=function(t){return w_(t)&&t.type==="hidden"},O4=function(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(r){return r.tagName==="SUMMARY"});return n},R4=function(t,n){for(var r=0;rsummary:first-of-type"),u=l?t.parentElement:t;if($l.call(u,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof i=="function"){for(var a=t;t;){var f=t.parentElement,d=Vc(t);if(f&&!f.shadowRoot&&i(f)===!0)return Px(t);t.assignedSlot?t=t.assignedSlot:!f&&d!==t.ownerDocument?t=d.host:t=f}t=a}if(N4(t))return!t.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return Px(t);return!1},L4=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var n=t.parentElement;n;){if(n.tagName==="FIELDSET"&&n.disabled){for(var r=0;r=0)},j4=function e(t){var n=[],r=[];return t.forEach(function(i,l){var u=!!i.scopeParent,a=u?i.scopeParent:i,f=I4(a,u),d=u?e(i.candidates):a;f===0?u?n.push.apply(n,d):n.push(a):r.push({documentOrder:l,tabIndex:f,item:i,isScope:u,content:d})}),r.sort(b4).reduce(function(i,l){return l.isScope?i.push.apply(i,l.content):i.push(l.content),i},[]).concat(n)},Df=function(t,n){n=n||{};var r;return n.getShadowRoot?r=k4([t],n.includeContainer,{filter:cg.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:z4}):r=_4(t,n.includeContainer,cg.bind(null,n)),j4(r)},B4=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return $l.call(t,Wc)===!1?!1:cg(n,t)};function Hm(e){return D.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})},e)}const S_={...rh},U4=S_.useInsertionEffect,$4=U4||(e=>e());function lr(e){const t=D.useRef(()=>{});return $4(()=>{t.current=e}),D.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i=e.current.length}function Lp(e,t){return qt(e,{disabledIndices:t})}function Dx(e,t){return qt(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function qt(e,t){let{startingIndex:n=-1,decrement:r=!1,disabledIndices:i,amount:l=1}=t===void 0?{}:t;const u=e.current;let a=n;do a+=r?-l:l;while(a>=0&&a<=u.length-1&&ic(u,a,i));return a}function H4(e,t){let{event:n,orientation:r,loop:i,cols:l,disabledIndices:u,minIndex:a,maxIndex:f,prevIndex:d,stopEvent:p=!1}=t,h=d;if(n.key===Wm){if(p&&Ut(n),d===-1)h=f;else if(h=qt(e,{startingIndex:h,amount:l,decrement:!0,disabledIndices:u}),i&&(d-ly?S:S-l}Wu(e,h)&&(h=d)}if(n.key===_s&&(p&&Ut(n),d===-1?h=a:(h=qt(e,{startingIndex:d,amount:l,disabledIndices:u}),i&&d+l>f&&(h=qt(e,{startingIndex:d%l-l,amount:l,disabledIndices:u}))),Wu(e,h)&&(h=d)),r==="both"){const y=El(d/l);n.key===Ql&&(p&&Ut(n),d%l!==l-1?(h=qt(e,{startingIndex:d,disabledIndices:u}),i&&La(h,l,y)&&(h=qt(e,{startingIndex:d-d%l-1,disabledIndices:u}))):i&&(h=qt(e,{startingIndex:d-d%l-1,disabledIndices:u})),La(h,l,y)&&(h=d)),n.key===Hl&&(p&&Ut(n),d%l!==0?(h=qt(e,{startingIndex:d,decrement:!0,disabledIndices:u}),i&&La(h,l,y)&&(h=qt(e,{startingIndex:d+(l-d%l),decrement:!0,disabledIndices:u}))):i&&(h=qt(e,{startingIndex:d+(l-d%l),decrement:!0,disabledIndices:u})),La(h,l,y)&&(h=d));const m=El(f/l)===y;Wu(e,h)&&(i&&m?h=n.key===Hl?f:qt(e,{startingIndex:d-d%l-1,disabledIndices:u}):h=d)}return h}function W4(e,t,n){const r=[];let i=0;return e.forEach((l,u)=>{let{width:a,height:f}=l,d=!1;for(n&&(i=0);!d;){const p=[];for(let h=0;hr[h]==null)?(p.forEach(h=>{r[h]=u}),d=!0):i++}}),[...r]}function V4(e,t,n,r,i){if(e===-1)return-1;const l=n.indexOf(e),u=t[e];switch(i){case"tl":return l;case"tr":return u?l+u.width-1:l;case"bl":return u?l+(u.height-1)*r:l;case"br":return n.lastIndexOf(e)}}function K4(e,t){return t.flatMap((n,r)=>e.includes(n)?[r]:[])}function ic(e,t,n){if(n)return n.includes(t);const r=e[t];return r==null||r.hasAttribute("disabled")||r.getAttribute("aria-disabled")==="true"}let Ax=0;function Zr(e,t){t===void 0&&(t={});const{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(Ax);const l=()=>e?.focus({preventScroll:n});i?l():Ax=requestAnimationFrame(l)}var We=typeof document<"u"?D.useLayoutEffect:D.useEffect;function G4(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}function q4(e,t){if(e.size!==t.size)return!1;for(const[n,r]of e.entries())if(r!==t.get(n))return!1;return!0}const E_=D.createContext({register:()=>{},unregister:()=>{},map:new Map,elementsRef:{current:[]}});function Y4(e){const{children:t,elementsRef:n,labelsRef:r}=e,[i,l]=D.useState(()=>new Map),u=D.useCallback(f=>{l(d=>new Map(d).set(f,null))},[]),a=D.useCallback(f=>{l(d=>{const p=new Map(d);return p.delete(f),p})},[]);return We(()=>{const f=new Map(i);Array.from(f.keys()).sort(G4).forEach((p,h)=>{f.set(p,h)}),q4(i,f)||l(f)},[i]),D.createElement(E_.Provider,{value:D.useMemo(()=>({register:u,unregister:a,map:i,elementsRef:n,labelsRef:r}),[u,a,i,n,r])},t)}function C_(e){e===void 0&&(e={});const{label:t}=e,{register:n,unregister:r,map:i,elementsRef:l,labelsRef:u}=D.useContext(E_),[a,f]=D.useState(null),d=D.useRef(null),p=D.useCallback(h=>{if(d.current=h,a!==null&&(l.current[a]=h,u)){var y;const m=t!==void 0;u.current[a]=m?t:(y=h?.textContent)!=null?y:null}},[a,l,u,t]);return We(()=>{const h=d.current;if(h)return n(h),()=>{r(h)}},[n,r]),We(()=>{const h=d.current?i.get(d.current):null;h!=null&&f(h)},[i]),D.useMemo(()=>({ref:p,index:a??-1}),[a,p])}function hs(){return hs=Object.assign?Object.assign.bind():function(e){for(var t=1;t"floating-ui-"+Math.random().toString(36).slice(2,6)+Q4++;function X4(){const[e,t]=D.useState(()=>Nx?Mx():void 0);return We(()=>{e==null&&t(Mx())},[]),D.useEffect(()=>{Nx=!0},[]),e}const Z4=S_.useId,ks=Z4||X4;function __(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(i=>i(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){var r;e.set(t,((r=e.get(t))==null?void 0:r.filter(i=>i!==n))||[])}}}const k_=D.createContext(null),I_=D.createContext(null),to=()=>{var e;return((e=D.useContext(k_))==null?void 0:e.id)||null},no=()=>D.useContext(I_);function J4(e){const t=ks(),n=no(),i=to();return We(()=>{const l={id:t,parentId:i};return n?.addNode(l),()=>{n?.removeNode(l)}},[n,t,i]),t}function ez(e){const{children:t,id:n}=e,r=to();return D.createElement(k_.Provider,{value:D.useMemo(()=>({id:n,parentId:r}),[n,r])},t)}function tz(e){const{children:t}=e,n=D.useRef([]),r=D.useCallback(u=>{n.current=[...n.current,u]},[]),i=D.useCallback(u=>{n.current=n.current.filter(a=>a!==u)},[]),l=D.useState(()=>__())[0];return D.createElement(I_.Provider,{value:D.useMemo(()=>({nodesRef:n,addNode:r,removeNode:i,events:l}),[r,i,l])},t)}function Wl(e){return"data-floating-ui-"+e}function Xt(e){const t=D.useRef(e);return We(()=>{t.current=e}),t}const Lx=Wl("safe-polygon");function Fp(e,t,n){return n&&!ps(n)?0:typeof e=="number"?e:e?.[t]}function nz(e,t){t===void 0&&(t={});const{open:n,onOpenChange:r,dataRef:i,events:l,elements:{domReference:u,floating:a}}=e,{enabled:f=!0,delay:d=0,handleClose:p=null,mouseOnly:h=!1,restMs:y=0,move:m=!0}=t,S=no(),_=to(),A=Xt(p),w=Xt(d),v=D.useRef(),E=D.useRef(-1),b=D.useRef(),M=D.useRef(-1),R=D.useRef(!0),j=D.useRef(!1),K=D.useRef(()=>{}),q=D.useCallback(()=>{var X;const L=(X=i.current.openEvent)==null?void 0:X.type;return L?.includes("mouse")&&L!=="mousedown"},[i]);D.useEffect(()=>{if(!f)return;function X(L){let{open:Z}=L;Z||(clearTimeout(E.current),clearTimeout(M.current),R.current=!0)}return l.on("openchange",X),()=>{l.off("openchange",X)}},[f,l]),D.useEffect(()=>{if(!f||!A.current||!n)return;function X(Z){q()&&r(!1,Z,"hover")}const L=vn(a).documentElement;return L.addEventListener("mouseleave",X),()=>{L.removeEventListener("mouseleave",X)}},[a,n,r,f,A,q]);const U=D.useCallback(function(X,L,Z){L===void 0&&(L=!0),Z===void 0&&(Z="hover");const re=Fp(w.current,"close",v.current);re&&!b.current?(clearTimeout(E.current),E.current=window.setTimeout(()=>r(!1,X,Z),re)):L&&(clearTimeout(E.current),r(!1,X,Z))},[w,r]),J=lr(()=>{K.current(),b.current=void 0}),G=lr(()=>{if(j.current){const X=vn(a).body;X.style.pointerEvents="",X.removeAttribute(Lx),j.current=!1}});return D.useEffect(()=>{if(!f)return;function X(){return i.current.openEvent?["click","mousedown"].includes(i.current.openEvent.type):!1}function L(V){if(clearTimeout(E.current),R.current=!1,h&&!ps(v.current)||y>0&&!Fp(w.current,"open"))return;const $=Fp(w.current,"open",v.current);$?E.current=window.setTimeout(()=>{r(!0,V,"hover")},$):r(!0,V,"hover")}function Z(V){if(X())return;K.current();const $=vn(a);if(clearTimeout(M.current),A.current&&i.current.floatingContext){n||clearTimeout(E.current),b.current=A.current({...i.current.floatingContext,tree:S,x:V.clientX,y:V.clientY,onClose(){G(),J(),U(V,!0,"safe-polygon")}});const I=b.current;$.addEventListener("mousemove",I),K.current=()=>{$.removeEventListener("mousemove",I)};return}(v.current==="touch"?!Rt(a,V.relatedTarget):!0)&&U(V)}function re(V){X()||i.current.floatingContext&&(A.current==null||A.current({...i.current.floatingContext,tree:S,x:V.clientX,y:V.clientY,onClose(){G(),J(),U(V)}})(V))}if(st(u)){const V=u;return n&&V.addEventListener("mouseleave",re),a?.addEventListener("mouseleave",re),m&&V.addEventListener("mousemove",L,{once:!0}),V.addEventListener("mouseenter",L),V.addEventListener("mouseleave",Z),()=>{n&&V.removeEventListener("mouseleave",re),a?.removeEventListener("mouseleave",re),m&&V.removeEventListener("mousemove",L),V.removeEventListener("mouseenter",L),V.removeEventListener("mouseleave",Z)}}},[u,a,f,e,h,y,m,U,J,G,r,n,S,w,A,i]),We(()=>{var X;if(f&&n&&(X=A.current)!=null&&X.__options.blockPointerEvents&&q()){const Z=vn(a).body;if(Z.setAttribute(Lx,""),Z.style.pointerEvents="none",j.current=!0,st(u)&&a){var L;const re=u,V=S==null||(L=S.nodesRef.current.find($=>$.id===_))==null||(L=L.context)==null?void 0:L.elements.floating;return V&&(V.style.pointerEvents=""),re.style.pointerEvents="auto",a.style.pointerEvents="auto",()=>{re.style.pointerEvents="",a.style.pointerEvents=""}}}},[f,n,_,a,u,S,A,q]),We(()=>{n||(v.current=void 0,J(),G())},[n,J,G]),D.useEffect(()=>()=>{J(),clearTimeout(E.current),clearTimeout(M.current),G()},[f,u,J,G]),D.useMemo(()=>{if(!f)return{};function X(L){v.current=L.pointerType}return{reference:{onPointerDown:X,onPointerEnter:X,onMouseMove(L){function Z(){R.current||r(!0,L.nativeEvent,"hover")}h&&!ps(v.current)||n||y===0||(clearTimeout(M.current),v.current==="touch"?Z():M.current=window.setTimeout(Z,y))}},floating:{onMouseEnter(){clearTimeout(E.current)},onMouseLeave(L){U(L.nativeEvent,!1)}}}},[f,h,n,y,r,U])}function rz(e,t){var n;let r=[],i=(n=e.find(l=>l.id===t))==null?void 0:n.parentId;for(;i;){const l=e.find(u=>u.id===i);i=l?.parentId,l&&(r=r.concat(l))}return r}function Ro(e,t){let n=e.filter(i=>{var l;return i.parentId===t&&((l=i.context)==null?void 0:l.open)}),r=n;for(;r.length;)r=e.filter(i=>{var l;return(l=r)==null?void 0:l.some(u=>{var a;return i.parentId===u.id&&((a=i.context)==null?void 0:a.open)})}),n=n.concat(r);return n}function iz(e,t){let n,r=-1;function i(l,u){u>r&&(n=l,r=u),Ro(e,l).forEach(f=>{i(f.id,u+1)})}return i(t,0),e.find(l=>l.id===n)}let ol=new WeakMap,Fa=new WeakSet,za={},zp=0;const oz=()=>typeof HTMLElement<"u"&&"inert"in HTMLElement.prototype,b_=e=>e&&(e.host||b_(e.parentNode)),lz=(e,t)=>t.map(n=>{if(e.contains(n))return n;const r=b_(n);return e.contains(r)?r:null}).filter(n=>n!=null);function uz(e,t,n,r){const i="data-floating-ui-inert",l=r?"inert":n?"aria-hidden":null,u=lz(t,e),a=new Set,f=new Set(u),d=[];za[i]||(za[i]=new WeakMap);const p=za[i];u.forEach(h),y(t),a.clear();function h(m){!m||a.has(m)||(a.add(m),m.parentNode&&h(m.parentNode))}function y(m){!m||f.has(m)||[].forEach.call(m.children,S=>{if(eo(S)!=="script")if(a.has(S))y(S);else{const _=l?S.getAttribute(l):null,A=_!==null&&_!=="false",w=(ol.get(S)||0)+1,v=(p.get(S)||0)+1;ol.set(S,w),p.set(S,v),d.push(S),w===1&&A&&Fa.add(S),v===1&&S.setAttribute(i,""),!A&&l&&S.setAttribute(l,"true")}})}return zp++,()=>{d.forEach(m=>{const S=(ol.get(m)||0)-1,_=(p.get(m)||0)-1;ol.set(m,S),p.set(m,_),S||(!Fa.has(m)&&l&&m.removeAttribute(l),Fa.delete(m)),_||m.removeAttribute(i)}),zp--,zp||(ol=new WeakMap,ol=new WeakMap,Fa=new WeakSet,za={})}}function Fx(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=vn(e[0]).body;return uz(e.concat(Array.from(r.querySelectorAll("[aria-live]"))),r,t,n)}const gs=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function T_(e,t){const n=Df(e,gs());t==="prev"&&n.reverse();const r=n.indexOf(Di(vn(e)));return n.slice(r+1)[0]}function O_(){return T_(document.body,"next")}function R_(){return T_(document.body,"prev")}function Vu(e,t){const n=t||e.currentTarget,r=e.relatedTarget;return!r||!Rt(n,r)}function sz(e){Df(e,gs()).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function az(e){e.querySelectorAll("[data-tabindex]").forEach(n=>{const r=n.dataset.tabindex;delete n.dataset.tabindex,r?n.setAttribute("tabindex",r):n.removeAttribute("tabindex")})}const Vm={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0};let cz;function zx(e){e.key==="Tab"&&(e.target,clearTimeout(cz))}const Gc=D.forwardRef(function(t,n){const[r,i]=D.useState();We(()=>(t_()&&i("button"),document.addEventListener("keydown",zx),()=>{document.removeEventListener("keydown",zx)}),[]);const l={ref:n,tabIndex:0,role:r,"aria-hidden":r?void 0:!0,[Wl("focus-guard")]:"",style:Vm};return D.createElement("span",hs({},t,l))}),P_=D.createContext(null),jx=Wl("portal");function fz(e){e===void 0&&(e={});const{id:t,root:n}=e,r=ks(),i=D_(),[l,u]=D.useState(null),a=D.useRef(null);return We(()=>()=>{l?.remove(),queueMicrotask(()=>{a.current=null})},[l]),We(()=>{if(!r||a.current)return;const f=t?document.getElementById(t):null;if(!f)return;const d=document.createElement("div");d.id=r,d.setAttribute(jx,""),f.appendChild(d),a.current=d,u(d)},[t,r]),We(()=>{if(!r||a.current)return;let f=n||i?.portalNode;f&&!st(f)&&(f=f.current),f=f||document.body;let d=null;t&&(d=document.createElement("div"),d.id=t,f.appendChild(d));const p=document.createElement("div");p.id=r,p.setAttribute(jx,""),f=d||f,f.appendChild(p),a.current=p,u(p)},[t,n,r,i]),l}function Af(e){const{children:t,id:n,root:r=null,preserveTabOrder:i=!0}=e,l=fz({id:n,root:r}),[u,a]=D.useState(null),f=D.useRef(null),d=D.useRef(null),p=D.useRef(null),h=D.useRef(null),y=!!u&&!u.modal&&u.open&&i&&!!(r||l);return D.useEffect(()=>{if(!l||!i||u!=null&&u.modal)return;function m(S){l&&Vu(S)&&(S.type==="focusin"?az:sz)(l)}return l.addEventListener("focusin",m,!0),l.addEventListener("focusout",m,!0),()=>{l.removeEventListener("focusin",m,!0),l.removeEventListener("focusout",m,!0)}},[l,i,u?.modal]),D.createElement(P_.Provider,{value:D.useMemo(()=>({preserveTabOrder:i,beforeOutsideRef:f,afterOutsideRef:d,beforeInsideRef:p,afterInsideRef:h,portalNode:l,setFocusManagerState:a}),[i,l])},y&&l&&D.createElement(Gc,{"data-type":"outside",ref:f,onFocus:m=>{if(Vu(m,l)){var S;(S=p.current)==null||S.focus()}else{const _=R_()||u?.refs.domReference.current;_?.focus()}}}),y&&l&&D.createElement("span",{"aria-owns":l.id,style:Vm}),l&&ql.createPortal(t,l),y&&l&&D.createElement(Gc,{"data-type":"outside",ref:d,onFocus:m=>{if(Vu(m,l)){var S;(S=h.current)==null||S.focus()}else{const _=O_()||u?.refs.domReference.current;_?.focus(),u?.closeOnFocusOut&&u?.onOpenChange(!1,m.nativeEvent)}}}))}const D_=()=>D.useContext(P_),Bx=20;let yo=[];function jp(e){yo=yo.filter(n=>n.isConnected);let t=e;if(!(!t||eo(t)==="body")){if(!B4(t,gs())){const n=Df(t,gs())[0];n&&(t=n)}yo.push(t),yo.length>Bx&&(yo=yo.slice(-Bx))}}function Ux(){return yo.slice().reverse().find(e=>e.isConnected)}const dz=D.forwardRef(function(t,n){return D.createElement("button",hs({},t,{type:"button",ref:n,tabIndex:-1,style:Vm}))});function Km(e){const{context:t,children:n,disabled:r=!1,order:i=["content"],guards:l=!0,initialFocus:u=0,returnFocus:a=!0,modal:f=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:p=!0}=e,{open:h,refs:y,nodeId:m,onOpenChange:S,events:_,dataRef:A,elements:{domReference:w,floating:v}}=t,E=typeof u=="number"&&u<0,b=r_(w)&&E,M=oz()?l:!0,R=Xt(i),j=Xt(u),K=Xt(a),q=no(),U=D_(),J=D.useRef(null),G=D.useRef(null),X=D.useRef(!1),L=D.useRef(!1),Z=U!=null,re=D.useCallback(function(I){return I===void 0&&(I=v),I?Df(I,gs()):[]},[v]),V=D.useCallback(I=>{const oe=re(I);return R.current.map(ue=>w&&ue==="reference"?w:v&&ue==="floating"?v:oe).filter(Boolean).flat()},[w,v,R,re]);D.useEffect(()=>{if(r||!f)return;function I(ue){if(ue.key==="Tab"){Rt(v,Di(vn(v)))&&re().length===0&&!b&&Ut(ue);const T=V(),we=So(ue);R.current[0]==="reference"&&we===w&&(Ut(ue),ue.shiftKey?Zr(T[T.length-1]):Zr(T[1])),R.current[1]==="floating"&&we===v&&ue.shiftKey&&(Ut(ue),Zr(T[0]))}}const oe=vn(v);return oe.addEventListener("keydown",I),()=>{oe.removeEventListener("keydown",I)}},[r,w,v,f,R,b,re,V]),D.useEffect(()=>{if(r||!p)return;function I(){L.current=!0,setTimeout(()=>{L.current=!1})}function oe(ue){const T=ue.relatedTarget;queueMicrotask(()=>{const we=!(Rt(w,T)||Rt(v,T)||Rt(T,v)||Rt(U?.portalNode,T)||T!=null&&T.hasAttribute(Wl("focus-guard"))||q&&(Ro(q.nodesRef.current,m).find(ge=>{var pe,Pe;return Rt((pe=ge.context)==null?void 0:pe.elements.floating,T)||Rt((Pe=ge.context)==null?void 0:Pe.elements.domReference,T)})||rz(q.nodesRef.current,m).find(ge=>{var pe,Pe;return((pe=ge.context)==null?void 0:pe.elements.floating)===T||((Pe=ge.context)==null?void 0:Pe.elements.domReference)===T})));T&&we&&!L.current&&T!==Ux()&&(X.current=!0,S(!1,ue))})}if(v&&Jt(w))return w.addEventListener("focusout",oe),w.addEventListener("pointerdown",I),!f&&v.addEventListener("focusout",oe),()=>{w.removeEventListener("focusout",oe),w.removeEventListener("pointerdown",I),!f&&v.removeEventListener("focusout",oe)}},[r,w,v,f,m,q,U,S,p]),D.useEffect(()=>{var I;if(r)return;const oe=Array.from((U==null||(I=U.portalNode)==null?void 0:I.querySelectorAll("["+Wl("portal")+"]"))||[]);if(v){const ue=[v,...oe,J.current,G.current,R.current.includes("reference")||b?w:null].filter(we=>we!=null),T=f||b?Fx(ue,M,!M):Fx(ue);return()=>{T()}}},[r,w,v,f,R,U,b,M]),We(()=>{if(r||!v)return;const I=vn(v),oe=Di(I);queueMicrotask(()=>{const ue=V(v),T=j.current,we=(typeof T=="number"?ue[T]:T.current)||v,ge=Rt(v,oe);!E&&!ge&&h&&Zr(we,{preventScroll:we===v})})},[r,h,v,E,V,j]),We(()=>{if(r||!v)return;let I=!1;const oe=vn(v),ue=Di(oe);let we=A.current.openEvent;jp(ue);function ge(pe){let{open:Pe,reason:Ee,event:be,nested:Qe}=pe;Pe&&(we=be),Ee==="escape-key"&&y.domReference.current&&jp(y.domReference.current),Ee==="hover"&&be.type==="mouseleave"&&(X.current=!0),Ee==="outside-press"&&(Qe?(X.current=!1,I=!0):X.current=!(JC(be)||e_(be)))}return _.on("openchange",ge),()=>{_.off("openchange",ge);const pe=Di(oe),Pe=Rt(v,pe)||q&&Ro(q.nodesRef.current,m).some(Qe=>{var at;return Rt((at=Qe.context)==null?void 0:at.elements.floating,pe)});(Pe||we&&["click","mousedown"].includes(we.type))&&y.domReference.current&&jp(y.domReference.current);const be=Ux();K.current&&!X.current&&Jt(be)&&(!(be!==pe&&pe!==oe.body)||Pe)&&Zr(be,{cancelPrevious:!1,preventScroll:I})}},[r,v,K,A,y,_,q,m]),We(()=>{if(!(r||!U))return U.setFocusManagerState({modal:f,closeOnFocusOut:p,open:h,onOpenChange:S,refs:y}),()=>{U.setFocusManagerState(null)}},[r,U,f,h,S,y,p]),We(()=>{if(r||!v||typeof MutationObserver!="function"||E)return;const I=()=>{const ue=v.getAttribute("tabindex");R.current.includes("floating")||Di(vn(v))!==y.domReference.current&&re().length===0?ue!=="0"&&v.setAttribute("tabindex","0"):ue!=="-1"&&v.setAttribute("tabindex","-1")};I();const oe=new MutationObserver(I);return oe.observe(v,{childList:!0,subtree:!0,attributes:!0}),()=>{oe.disconnect()}},[r,v,y,R,re,E]);function $(I){return r||!d||!f?null:D.createElement(dz,{ref:I==="start"?J:G,onClick:oe=>S(!1,oe.nativeEvent)},typeof d=="string"?d:"Dismiss")}const le=!r&&M&&(Z||f);return D.createElement(D.Fragment,null,le&&D.createElement(Gc,{"data-type":"inside",ref:U?.beforeInsideRef,onFocus:I=>{if(f){const ue=V();Zr(i[0]==="reference"?ue[0]:ue[ue.length-1])}else if(U!=null&&U.preserveTabOrder&&U.portalNode)if(X.current=!1,Vu(I,U.portalNode)){const ue=O_()||w;ue?.focus()}else{var oe;(oe=U.beforeOutsideRef.current)==null||oe.focus()}}}),!b&&$("start"),n,$("end"),le&&D.createElement(Gc,{"data-type":"inside",ref:U?.afterInsideRef,onFocus:I=>{if(f)Zr(V()[0]);else if(U!=null&&U.preserveTabOrder&&U.portalNode)if(p&&(X.current=!0),Vu(I,U.portalNode)){const ue=R_()||w;ue?.focus()}else{var oe;(oe=U.afterOutsideRef.current)==null||oe.focus()}}}))}const Bp=new Set,Gm=D.forwardRef(function(t,n){const{lockScroll:r=!1,...i}=t,l=ks();return We(()=>{if(!r)return;Bp.add(l);const u=/iP(hone|ad|od)|iOS/.test(Bm()),a=document.body.style,d=Math.round(document.documentElement.getBoundingClientRect().left)+document.documentElement.scrollLeft?"paddingLeft":"paddingRight",p=window.innerWidth-document.documentElement.clientWidth,h=a.left?parseFloat(a.left):window.pageXOffset,y=a.top?parseFloat(a.top):window.pageYOffset;if(a.overflow="hidden",p&&(a[d]=p+"px"),u){var m,S;const _=((m=window.visualViewport)==null?void 0:m.offsetLeft)||0,A=((S=window.visualViewport)==null?void 0:S.offsetTop)||0;Object.assign(a,{position:"fixed",top:-(y-Math.floor(A))+"px",left:-(h-Math.floor(_))+"px",right:"0"})}return()=>{Bp.delete(l),Bp.size===0&&(Object.assign(a,{overflow:"",[d]:""}),u&&(Object.assign(a,{position:"",top:"",left:"",right:""}),window.scrollTo(h,y)))}},[l,r]),D.createElement("div",hs({ref:n},i,{style:{position:"fixed",overflow:"auto",top:0,right:0,bottom:0,left:0,...i.style}}))});function $x(e){return Jt(e.target)&&e.target.tagName==="BUTTON"}function Hx(e){return n_(e)}function pz(e,t){t===void 0&&(t={});const{open:n,onOpenChange:r,dataRef:i,elements:{domReference:l}}=e,{enabled:u=!0,event:a="click",toggle:f=!0,ignoreMouse:d=!1,keyboardHandlers:p=!0}=t,h=D.useRef(),y=D.useRef(!1);return D.useMemo(()=>u?{reference:{onPointerDown(m){h.current=m.pointerType},onMouseDown(m){m.button===0&&(ps(h.current,!0)&&d||a!=="click"&&(n&&f&&(!i.current.openEvent||i.current.openEvent.type==="mousedown")?r(!1,m.nativeEvent,"click"):(m.preventDefault(),r(!0,m.nativeEvent,"click"))))},onClick(m){if(a==="mousedown"&&h.current){h.current=void 0;return}ps(h.current,!0)&&d||(n&&f&&(!i.current.openEvent||i.current.openEvent.type==="click")?r(!1,m.nativeEvent,"click"):r(!0,m.nativeEvent,"click"))},onKeyDown(m){h.current=void 0,!(m.defaultPrevented||!p||$x(m))&&(m.key===" "&&!Hx(l)&&(m.preventDefault(),y.current=!0),m.key==="Enter"&&r(!(n&&f),m.nativeEvent,"click"))},onKeyUp(m){m.defaultPrevented||!p||$x(m)||Hx(l)||m.key===" "&&y.current&&(y.current=!1,r(!(n&&f),m.nativeEvent,"click"))}}}:{},[u,i,a,d,p,l,f,n,r])}const hz={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},gz={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Wx=e=>{var t,n;return{escapeKey:typeof e=="boolean"?e:(t=e?.escapeKey)!=null?t:!1,outsidePress:typeof e=="boolean"?e:(n=e?.outsidePress)!=null?n:!0}};function qm(e,t){t===void 0&&(t={});const{open:n,onOpenChange:r,elements:{reference:i,domReference:l,floating:u},dataRef:a}=e,{enabled:f=!0,escapeKey:d=!0,outsidePress:p=!0,outsidePressEvent:h="pointerdown",referencePress:y=!1,referencePressEvent:m="pointerdown",ancestorScroll:S=!1,bubbles:_,capture:A}=t,w=no(),v=lr(typeof p=="function"?p:()=>!1),E=typeof p=="function"?v:p,b=D.useRef(!1),M=D.useRef(!1),{escapeKey:R,outsidePress:j}=Wx(_),{escapeKey:K,outsidePress:q}=Wx(A),U=lr(L=>{var Z;if(!n||!f||!d||L.key!=="Escape")return;const re=(Z=a.current.floatingContext)==null?void 0:Z.nodeId,V=w?Ro(w.nodesRef.current,re):[];if(!R&&(L.stopPropagation(),V.length>0)){let $=!0;if(V.forEach(le=>{var I;if((I=le.context)!=null&&I.open&&!le.context.dataRef.current.__escapeKeyBubbles){$=!1;return}}),!$)return}r(!1,zF(L)?L.nativeEvent:L,"escape-key")}),J=lr(L=>{var Z;const re=()=>{var V;U(L),(V=So(L))==null||V.removeEventListener("keydown",re)};(Z=So(L))==null||Z.addEventListener("keydown",re)}),G=lr(L=>{var Z;const re=b.current;b.current=!1;const V=M.current;if(M.current=!1,h==="click"&&V||re||typeof E=="function"&&!E(L))return;const $=So(L),le="["+Wl("inert")+"]",I=vn(u).querySelectorAll(le);let oe=st($)?$:null;for(;oe&&!Yi(oe);){const ge=ai(oe);if(Yi(ge)||!st(ge))break;oe=ge}if(I.length&&st($)&&!jF($)&&!Rt($,u)&&Array.from(I).every(ge=>!Rt(oe,ge)))return;if(Jt($)&&u){const ge=$.clientWidth>0&&$.scrollWidth>$.clientWidth,pe=$.clientHeight>0&&$.scrollHeight>$.clientHeight;let Pe=pe&&L.offsetX>$.clientWidth;if(pe&&dr($).direction==="rtl"&&(Pe=L.offsetX<=$.offsetWidth-$.clientWidth),Pe||ge&&L.offsetY>$.clientHeight)return}const ue=(Z=a.current.floatingContext)==null?void 0:Z.nodeId,T=w&&Ro(w.nodesRef.current,ue).some(ge=>{var pe;return Np(L,(pe=ge.context)==null?void 0:pe.elements.floating)});if(Np(L,u)||Np(L,l)||T)return;const we=w?Ro(w.nodesRef.current,ue):[];if(we.length>0){let ge=!0;if(we.forEach(pe=>{var Pe;if((Pe=pe.context)!=null&&Pe.open&&!pe.context.dataRef.current.__outsidePressBubbles){ge=!1;return}}),!ge)return}r(!1,L,"outside-press")}),X=lr(L=>{var Z;const re=()=>{var V;G(L),(V=So(L))==null||V.removeEventListener(h,re)};(Z=So(L))==null||Z.addEventListener(h,re)});return D.useEffect(()=>{if(!n||!f)return;a.current.__escapeKeyBubbles=R,a.current.__outsidePressBubbles=j;function L(V){r(!1,V,"ancestor-scroll")}const Z=vn(u);d&&Z.addEventListener("keydown",K?J:U,K),E&&Z.addEventListener(h,q?X:G,q);let re=[];return S&&(st(l)&&(re=Wi(l)),st(u)&&(re=re.concat(Wi(u))),!st(i)&&i&&i.contextElement&&(re=re.concat(Wi(i.contextElement)))),re=re.filter(V=>{var $;return V!==(($=Z.defaultView)==null?void 0:$.visualViewport)}),re.forEach(V=>{V.addEventListener("scroll",L,{passive:!0})}),()=>{d&&Z.removeEventListener("keydown",K?J:U,K),E&&Z.removeEventListener(h,q?X:G,q),re.forEach(V=>{V.removeEventListener("scroll",L)})}},[a,u,l,i,d,E,h,n,r,S,f,R,j,U,K,J,G,q,X]),D.useEffect(()=>{b.current=!1},[E,h]),D.useMemo(()=>f?{reference:{onKeyDown:U,[hz[m]]:L=>{y&&r(!1,L.nativeEvent,"reference-press")}},floating:{onKeyDown:U,onMouseDown(){M.current=!0},onMouseUp(){M.current=!0},[gz[h]]:()=>{b.current=!0}}}:{},[f,y,h,m,r,U])}function mz(e){const{open:t=!1,onOpenChange:n,elements:r}=e,i=ks(),l=D.useRef({}),[u]=D.useState(()=>__()),a=to()!=null,[f,d]=D.useState(r.reference),p=lr((m,S,_)=>{l.current.openEvent=m?S:void 0,u.emit("openchange",{open:m,event:S,reason:_,nested:a}),n?.(m,S,_)}),h=D.useMemo(()=>({setPositionReference:d}),[]),y=D.useMemo(()=>({reference:f||r.reference||null,floating:r.floating||null,domReference:r.reference}),[f,r.reference,r.floating]);return D.useMemo(()=>({dataRef:l,open:t,onOpenChange:p,elements:y,events:u,floatingId:i,refs:h}),[t,p,y,u,i,h])}function Nf(e){e===void 0&&(e={});const{nodeId:t}=e,n=mz({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,i=r.elements,[l,u]=D.useState(null),[a,f]=D.useState(null),p=i?.reference||l,h=D.useRef(null),y=no();We(()=>{p&&(h.current=p)},[p]);const m=S4({...e,elements:{...i,...a&&{reference:a}}}),S=D.useCallback(E=>{const b=st(E)?{getBoundingClientRect:()=>E.getBoundingClientRect(),contextElement:E}:E;f(b),m.refs.setReference(b)},[m.refs]),_=D.useCallback(E=>{(st(E)||E===null)&&(h.current=E,u(E)),(st(m.refs.reference.current)||m.refs.reference.current===null||E!==null&&!st(E))&&m.refs.setReference(E)},[m.refs]),A=D.useMemo(()=>({...m.refs,setReference:_,setPositionReference:S,domReference:h}),[m.refs,_,S]),w=D.useMemo(()=>({...m.elements,domReference:p}),[m.elements,p]),v=D.useMemo(()=>({...m,...r,refs:A,elements:w,nodeId:t}),[m,A,w,t,r]);return We(()=>{r.dataRef.current.floatingContext=v;const E=y?.nodesRef.current.find(b=>b.id===t);E&&(E.context=v)}),D.useMemo(()=>({...m,context:v,refs:A,elements:w}),[m,A,w,v])}const Vx="active",Kx="selected";function Up(e,t,n){const r=new Map,i=n==="item";let l=e;if(i&&e){const{[Vx]:u,[Kx]:a,...f}=e;l=f}return{...n==="floating"&&{tabIndex:-1},...l,...t.map(u=>{const a=u?u[n]:null;return typeof a=="function"?e?a(e):null:a}).concat(e).reduce((u,a)=>(a&&Object.entries(a).forEach(f=>{let[d,p]=f;if(!(i&&[Vx,Kx].includes(d)))if(d.indexOf("on")===0){if(r.has(d)||r.set(d,[]),typeof p=="function"){var h;(h=r.get(d))==null||h.push(p),u[d]=function(){for(var y,m=arguments.length,S=new Array(m),_=0;_A(...S)).find(A=>A!==void 0)}}}else u[d]=p}),u),{})}}function Ym(e){e===void 0&&(e=[]);const t=e,n=D.useCallback(l=>Up(l,e,"reference"),t),r=D.useCallback(l=>Up(l,e,"floating"),t),i=D.useCallback(l=>Up(l,e,"item"),e.map(l=>l?.item));return D.useMemo(()=>({getReferenceProps:n,getFloatingProps:r,getItemProps:i}),[n,r,i])}let Gx=!1;function Mf(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function qx(e,t){return Mf(t,e===Wm||e===_s,e===Hl||e===Ql)}function $p(e,t,n){return Mf(t,e===_s,n?e===Hl:e===Ql)||e==="Enter"||e===" "||e===""}function yz(e,t,n){return Mf(t,n?e===Hl:e===Ql,e===_s)}function Yx(e,t,n){return Mf(t,n?e===Ql:e===Hl,e===Wm)}function vz(e,t){const{open:n,onOpenChange:r,elements:{domReference:i,floating:l}}=e,{listRef:u,activeIndex:a,onNavigate:f=()=>{},enabled:d=!0,selectedIndex:p=null,allowEscape:h=!1,loop:y=!1,nested:m=!1,rtl:S=!1,virtual:_=!1,focusItemOnOpen:A="auto",focusItemOnHover:w=!0,openOnArrowKeyDown:v=!0,disabledIndices:E=void 0,orientation:b="vertical",cols:M=1,scrollItemIntoView:R=!0,virtualItemRef:j,itemSizes:K,dense:q=!1}=t,U=to(),J=no(),G=lr(f),X=D.useRef(A),L=D.useRef(p??-1),Z=D.useRef(null),re=D.useRef(!0),V=D.useRef(G),$=D.useRef(!!l),le=D.useRef(!1),I=D.useRef(!1),oe=Xt(E),ue=Xt(n),T=Xt(R),we=Xt(l),ge=Xt(p),[pe,Pe]=D.useState(),[Ee,be]=D.useState(),Qe=lr(function(Fe,$e,Ke){Ke===void 0&&(Ke=!1);function ht(vt){_?(Pe(vt.id),J?.events.emit("virtualfocus",vt),j&&(j.current=vt)):Zr(vt,{preventScroll:!0,sync:LF()&&t_()?Gx||le.current:!1})}const gt=Fe.current[$e.current];gt&&ht(gt),requestAnimationFrame(()=>{const vt=Fe.current[$e.current]||gt;if(!vt)return;gt||ht(vt);const he=T.current;he&&At&&(Ke||!re.current)&&(vt.scrollIntoView==null||vt.scrollIntoView(typeof he=="boolean"?{block:"nearest",inline:"nearest"}:he))})});We(()=>{document.createElement("div").focus({get preventScroll(){return Gx=!0,!1}})},[]),We(()=>{d&&(n&&l?X.current&&p!=null&&(I.current=!0,L.current=p,G(p)):$.current&&(L.current=-1,V.current(null)))},[d,n,l,p,G]),We(()=>{if(d&&n&&l)if(a==null){if(le.current=!1,ge.current!=null)return;if($.current&&(L.current=-1,Qe(u,L)),!$.current&&X.current&&(Z.current!=null||X.current===!0&&Z.current==null)){let Fe=0;const $e=()=>{u.current[0]==null?(Fe<2&&(Fe?requestAnimationFrame:queueMicrotask)($e),Fe++):(L.current=Z.current==null||$p(Z.current,b,S)||m?Lp(u,oe.current):Dx(u,oe.current),Z.current=null,G(L.current))};$e()}}else Wu(u,a)||(L.current=a,Qe(u,L,I.current),I.current=!1)},[d,n,l,a,ge,m,u,b,S,G,Qe,oe]),We(()=>{var Fe;if(!d||l||!J||_||!$.current)return;const $e=J.nodesRef.current,Ke=(Fe=$e.find(vt=>vt.id===U))==null||(Fe=Fe.context)==null?void 0:Fe.elements.floating,ht=Di(vn(l)),gt=$e.some(vt=>vt.context&&Rt(vt.context.elements.floating,ht));Ke&&!gt&&re.current&&Ke.focus({preventScroll:!0})},[d,l,J,U,_]),We(()=>{if(!d||!J||!_||U)return;function Fe($e){be($e.id),j&&(j.current=$e)}return J.events.on("virtualfocus",Fe),()=>{J.events.off("virtualfocus",Fe)}},[d,J,_,U,j]),We(()=>{V.current=G,$.current=!!l}),We(()=>{n||(Z.current=null)},[n]);const at=a!=null,At=D.useMemo(()=>{function Fe(Ke){if(!n)return;const ht=u.current.indexOf(Ke);ht!==-1&&G(ht)}return{onFocus(Ke){let{currentTarget:ht}=Ke;Fe(ht)},onClick:Ke=>{let{currentTarget:ht}=Ke;return ht.focus({preventScroll:!0})},...w&&{onMouseMove(Ke){let{currentTarget:ht}=Ke;Fe(ht)},onPointerLeave(Ke){let{pointerType:ht}=Ke;!re.current||ht==="touch"||(L.current=-1,Qe(u,L),G(null),_||Zr(we.current,{preventScroll:!0}))}}}},[n,we,Qe,w,u,G,_]);return D.useMemo(()=>{if(!d)return{};const Fe=oe.current;function $e(he){if(re.current=!1,le.current=!0,!ue.current&&he.currentTarget===we.current)return;if(m&&Yx(he.key,b,S)){Ut(he),r(!1,he.nativeEvent,"list-navigation"),Jt(i)&&!_&&i.focus();return}const xt=L.current,tt=Lp(u,Fe),Nt=Dx(u,Fe);if(he.key==="Home"&&(Ut(he),L.current=tt,G(L.current)),he.key==="End"&&(Ut(he),L.current=Nt,G(L.current)),M>1){const an=K||Array.from({length:u.current.length},()=>({width:1,height:1})),Vn=W4(an,M,q),Kn=Vn.findIndex(te=>te!=null&&!ic(u.current,te,Fe)),H=Vn.reduce((te,de,ye)=>de!=null&&!ic(u.current,de,Fe)?ye:te,-1);if(L.current=Vn[H4({current:Vn.map(te=>te!=null?u.current[te]:null)},{event:he,orientation:b,loop:y,cols:M,disabledIndices:K4([...Fe||u.current.map((te,de)=>ic(u.current,de)?de:void 0),void 0],Vn),minIndex:Kn,maxIndex:H,prevIndex:V4(L.current>Nt?tt:L.current,an,Vn,M,he.key===_s?"bl":he.key===Ql?"tr":"tl"),stopEvent:!0})],G(L.current),b==="both")return}if(qx(he.key,b)){if(Ut(he),n&&!_&&Di(he.currentTarget.ownerDocument)===he.currentTarget){L.current=$p(he.key,b,S)?tt:Nt,G(L.current);return}$p(he.key,b,S)?y?L.current=xt>=Nt?h&&xt!==u.current.length?-1:tt:qt(u,{startingIndex:xt,disabledIndices:Fe}):L.current=Math.min(Nt,qt(u,{startingIndex:xt,disabledIndices:Fe})):y?L.current=xt<=tt?h&&xt!==-1?u.current.length:Nt:qt(u,{startingIndex:xt,decrement:!0,disabledIndices:Fe}):L.current=Math.max(tt,qt(u,{startingIndex:xt,decrement:!0,disabledIndices:Fe})),Wu(u,L.current)?G(null):G(L.current)}}function Ke(he){A==="auto"&&JC(he.nativeEvent)&&(X.current=!0)}function ht(he){X.current=A,A==="auto"&&e_(he.nativeEvent)&&(X.current=!0)}const gt=_&&n&&at&&{"aria-activedescendant":Ee||pe},vt=u.current.find(he=>he?.id===pe);return{reference:{...gt,onKeyDown(he){re.current=!1;const xt=he.key.indexOf("Arrow")===0,tt=yz(he.key,b,S),Nt=Yx(he.key,b,S),an=qx(he.key,b),Vn=(m?tt:an)||he.key==="Enter"||he.key.trim()==="";if(_&&n){const de=J?.nodesRef.current.find(Ne=>Ne.parentId==null),ye=J&&de?iz(J.nodesRef.current,de.id):null;if(xt&&ye&&j){const Ne=new KeyboardEvent("keydown",{key:he.key,bubbles:!0});if(tt||Nt){var Kn,H;const Mt=((Kn=ye.context)==null?void 0:Kn.elements.domReference)===he.currentTarget,cn=Nt&&!Mt?(H=ye.context)==null?void 0:H.elements.domReference:tt?vt:null;cn&&(Ut(he),cn.dispatchEvent(Ne),be(void 0))}if(an&&ye.context&&ye.context.open&&ye.parentId&&he.currentTarget!==ye.context.elements.domReference){var te;Ut(he),(te=ye.context.elements.domReference)==null||te.dispatchEvent(Ne);return}}return $e(he)}if(!(!n&&!v&&xt)){if(Vn&&(Z.current=m&&an?null:he.key),m){tt&&(Ut(he),n?(L.current=Lp(u,Fe),G(L.current)):r(!0,he.nativeEvent,"list-navigation"));return}an&&(p!=null&&(L.current=p),Ut(he),!n&&v?r(!0,he.nativeEvent,"list-navigation"):$e(he),n&&G(L.current))}},onFocus(){n&&!_&&G(null)},onPointerDown:ht,onMouseDown:Ke,onClick:Ke},floating:{"aria-orientation":b==="both"?void 0:b,...!r_(i)&>,onKeyDown:$e,onPointerMove(){re.current=!0}},item:At}},[i,we,pe,Ee,oe,ue,u,d,b,S,_,n,at,m,p,v,h,M,y,A,G,r,At,J,j,K,q])}const xz=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function wz(e,t){var n;t===void 0&&(t={});const{open:r,floatingId:i}=e,{enabled:l=!0,role:u="dialog"}=t,a=(n=xz.get(u))!=null?n:u,f=ks(),p=to()!=null;return D.useMemo(()=>{if(!l)return{};const h={id:i,...a&&{role:a}};return a==="tooltip"||u==="label"?{reference:{["aria-"+(u==="label"?"labelledby":"describedby")]:r?i:void 0},floating:h}:{reference:{"aria-expanded":r?"true":"false","aria-haspopup":a==="alertdialog"?"dialog":a,"aria-controls":r?i:void 0,...a==="listbox"&&{role:"combobox"},...a==="menu"&&{id:f},...a==="menu"&&p&&{role:"menuitem"},...u==="select"&&{"aria-autocomplete":"none"},...u==="combobox"&&{"aria-autocomplete":"list"}},floating:{...h,...a==="menu"&&{"aria-labelledby":f}},item(y){let{active:m,selected:S}=y;const _={role:"option",...m&&{id:i+"-option"}};switch(u){case"select":return{..._,"aria-selected":m&&S};case"combobox":return{..._,...m&&{"aria-selected":!0}}}return{}}}},[l,u,a,r,i,f,p])}const Qx=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(t,n)=>(n?"-":"")+t.toLowerCase());function ll(e,t){return typeof e=="function"?e(t):e}function Sz(e,t){const[n,r]=D.useState(e);return e&&!n&&r(!0),D.useEffect(()=>{if(!e&&n){const i=setTimeout(()=>r(!1),t);return()=>clearTimeout(i)}},[e,n,t]),n}function Ez(e,t){t===void 0&&(t={});const{open:n,elements:{floating:r}}=e,{duration:i=250}=t,u=(typeof i=="number"?i:i.close)||0,[a,f]=D.useState("unmounted"),d=Sz(n,u);return!d&&a==="close"&&f("unmounted"),We(()=>{if(r){if(n){f("initial");const p=requestAnimationFrame(()=>{f("open")});return()=>{cancelAnimationFrame(p)}}f("close")}},[n,r]),{isMounted:d,status:a}}function Lf(e,t){t===void 0&&(t={});const{initial:n={opacity:0},open:r,close:i,common:l,duration:u=250}=t,a=e.placement,f=a.split("-")[0],d=D.useMemo(()=>({side:f,placement:a}),[f,a]),p=typeof u=="number",h=(p?u:u.open)||0,y=(p?u:u.close)||0,[m,S]=D.useState(()=>({...ll(l,d),...ll(n,d)})),{isMounted:_,status:A}=Ez(e,{duration:u}),w=Xt(n),v=Xt(r),E=Xt(i),b=Xt(l);return We(()=>{const M=ll(w.current,d),R=ll(E.current,d),j=ll(b.current,d),K=ll(v.current,d)||Object.keys(M).reduce((q,U)=>(q[U]="",q),{});if(A==="initial"&&S(q=>({transitionProperty:q.transitionProperty,...j,...M})),A==="open"&&S({transitionProperty:Object.keys(K).map(Qx).join(","),transitionDuration:h+"ms",...j,...K}),A==="close"){const q=R||M;S({transitionProperty:Object.keys(q).map(Qx).join(","),transitionDuration:y+"ms",...j,...q})}},[y,E,w,v,b,h,A,d]),{isMounted:_,styles:m}}function Cz(e,t){var n;const{open:r,dataRef:i}=e,{listRef:l,activeIndex:u,onMatch:a,onTypingChange:f,enabled:d=!0,findMatch:p=null,resetMs:h=750,ignoreKeys:y=[],selectedIndex:m=null}=t,S=D.useRef(),_=D.useRef(""),A=D.useRef((n=m??u)!=null?n:-1),w=D.useRef(null),v=lr(a),E=lr(f),b=Xt(p),M=Xt(y);return We(()=>{r&&(clearTimeout(S.current),w.current=null,_.current="")},[r]),We(()=>{if(r&&_.current===""){var R;A.current=(R=m??u)!=null?R:-1}},[r,m,u]),D.useMemo(()=>{if(!d)return{};function R(q){q?i.current.typing||(i.current.typing=q,E(q)):i.current.typing&&(i.current.typing=q,E(q))}function j(q,U,J){const G=b.current?b.current(U,J):U.find(X=>X?.toLocaleLowerCase().indexOf(J.toLocaleLowerCase())===0);return G?q.indexOf(G):-1}function K(q){const U=l.current;if(_.current.length>0&&_.current[0]!==" "&&(j(U,U,_.current)===-1?R(!1):q.key===" "&&Ut(q)),U==null||M.current.includes(q.key)||q.key.length!==1||q.ctrlKey||q.metaKey||q.altKey)return;r&&q.key!==" "&&(Ut(q),R(!0)),U.every(L=>{var Z,re;return L?((Z=L[0])==null?void 0:Z.toLocaleLowerCase())!==((re=L[1])==null?void 0:re.toLocaleLowerCase()):!0})&&_.current===q.key&&(_.current="",A.current=w.current),_.current+=q.key,clearTimeout(S.current),S.current=setTimeout(()=>{_.current="",A.current=w.current,R(!1)},h);const G=A.current,X=j(U,[...U.slice((G||0)+1),...U.slice(0,(G||0)+1)],_.current);X!==-1?(v(X),w.current=X):q.key!==" "&&(_.current="",R(!1))}return{reference:{onKeyDown:K},floating:{onKeyDown:K,onKeyUp(q){q.key===" "&&R(!1)}}}},[d,r,i,l,h,M,b,v,E])}function Xx(e,t){const[n,r]=e;let i=!1;const l=t.length;for(let u=0,a=l-1;u=r!=h>=r&&n<=(p-f)*(r-d)/(h-d)+f&&(i=!i)}return i}function _z(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}function kz(e){e===void 0&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e;let i,l=!1,u=null,a=null,f=performance.now();function d(h,y){const m=performance.now(),S=m-f;if(u===null||a===null||S===0)return u=h,a=y,f=m,null;const _=h-u,A=y-a,v=Math.sqrt(_*_+A*A)/S;return u=h,a=y,f=m,v}const p=h=>{let{x:y,y:m,placement:S,elements:_,onClose:A,nodeId:w,tree:v}=h;return function(b){function M(){clearTimeout(i),A()}if(clearTimeout(i),!_.domReference||!_.floating||S==null||y==null||m==null)return;const{clientX:R,clientY:j}=b,K=[R,j],q=So(b),U=b.type==="mouseleave",J=Rt(_.floating,q),G=Rt(_.domReference,q),X=_.domReference.getBoundingClientRect(),L=_.floating.getBoundingClientRect(),Z=S.split("-")[0],re=y>L.right-L.width/2,V=m>L.bottom-L.height/2,$=_z(K,X),le=L.width>X.width,I=L.height>X.height,oe=(le?X:L).left,ue=(le?X:L).right,T=(I?X:L).top,we=(I?X:L).bottom;if(J&&(l=!0,!U))return;if(G&&(l=!1),G&&!U){l=!0;return}if(U&&st(b.relatedTarget)&&Rt(_.floating,b.relatedTarget)||v&&Ro(v.nodesRef.current,w).some(Pe=>{let{context:Ee}=Pe;return Ee?.open}))return;if(Z==="top"&&m>=X.bottom-1||Z==="bottom"&&m<=X.top+1||Z==="left"&&y>=X.right-1||Z==="right"&&y<=X.left+1)return M();let ge=[];switch(Z){case"top":ge=[[oe,X.top+1],[oe,L.bottom-1],[ue,L.bottom-1],[ue,X.top+1]];break;case"bottom":ge=[[oe,L.top+1],[oe,X.bottom-1],[ue,X.bottom-1],[ue,L.top+1]];break;case"left":ge=[[L.right-1,we],[L.right-1,T],[X.left+1,T],[X.left+1,we]];break;case"right":ge=[[X.right-1,we],[X.right-1,T],[L.left+1,T],[L.left+1,we]];break}function pe(Pe){let[Ee,be]=Pe;switch(Z){case"top":{const Qe=[le?Ee+t/2:re?Ee+t*4:Ee-t*4,be+t+1],at=[le?Ee-t/2:re?Ee+t*4:Ee-t*4,be+t+1],At=[[L.left,re||le?L.bottom-t:L.top],[L.right,re?le?L.bottom-t:L.top:L.bottom-t]];return[Qe,at,...At]}case"bottom":{const Qe=[le?Ee+t/2:re?Ee+t*4:Ee-t*4,be-t],at=[le?Ee-t/2:re?Ee+t*4:Ee-t*4,be-t],At=[[L.left,re||le?L.top+t:L.bottom],[L.right,re?le?L.top+t:L.bottom:L.top+t]];return[Qe,at,...At]}case"left":{const Qe=[Ee+t+1,I?be+t/2:V?be+t*4:be-t*4],at=[Ee+t+1,I?be-t/2:V?be+t*4:be-t*4];return[...[[V||I?L.right-t:L.left,L.top],[V?I?L.right-t:L.left:L.right-t,L.bottom]],Qe,at]}case"right":{const Qe=[Ee-t,I?be+t/2:V?be+t*4:be-t*4],at=[Ee-t,I?be-t/2:V?be+t*4:be-t*4],At=[[V||I?L.left+t:L.right,L.top],[V?I?L.left+t:L.right:L.left+t,L.bottom]];return[Qe,at,...At]}}}if(!Xx([R,j],ge)){if(l&&!$)return M();if(!U&&r){const Pe=d(b.clientX,b.clientY);if(Pe!==null&&Pe<.1)return M()}Xx([R,j],pe([y,m]))?!l&&r&&(i=window.setTimeout(M,40)):M()}}};return p.__options={blockPointerEvents:n},p}const Iz=({infoVisible:e,setInfoVisible:t})=>{const{refs:n,context:r}=Nf({open:e,onOpenChange:t}),i=qm(r,{outsidePressEvent:"mousedown"}),{isMounted:l,styles:u}=Lf(r),{getFloatingProps:a}=Ym([i]);return P.jsx(P.Fragment,{children:l&&P.jsx(Af,{children:P.jsx(Gm,{lockScroll:!0,className:"useful-controls-dialog-overlay","data-open":e,style:u,children:P.jsx(Km,{context:r,children:P.jsxs("div",{ref:n.setFloating,...a(),className:"useful-controls-dialog",style:u,children:[P.jsxs("div",{className:"useful-controls-dialog-title",children:[P.jsx("p",{children:Be.ui_usefulcontrols||"Useful controls"}),P.jsx("div",{className:"useful-controls-dialog-close",onClick:()=>t(!1),children:P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 400 528",children:P.jsx("path",{d:"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z"})})})]}),P.jsxs("div",{className:"useful-controls-content-wrapper",children:[P.jsxs("p",{children:[P.jsx("kbd",{children:"RMB"}),P.jsx("br",{}),Be.ui_rmb]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"ALT + LMB"}),P.jsx("br",{}),Be.ui_alt_lmb]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"CTRL + LMB"}),P.jsx("br",{}),Be.ui_ctrl_lmb]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"SHIFT + Drag"}),P.jsx("br",{}),Be.ui_shift_drag]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"CTRL + SHIFT + LMB"}),P.jsx("br",{}),Be.ui_ctrl_shift_lmb]}),P.jsx("div",{style:{textAlign:"right"},children:"🐂"})]})]})})})})})},bz=({settingsVisible:e,setSettingsVisible:t})=>{const{refs:n,context:r}=Nf({open:e,onOpenChange:t}),i=qm(r,{outsidePressEvent:"mousedown"}),{isMounted:l,styles:u}=Lf(r),{getFloatingProps:a}=Ym([i]);return P.jsx(P.Fragment,{children:l&&P.jsx(Af,{children:P.jsx(Gm,{lockScroll:!0,className:"useful-controls-dialog-overlay","data-open":e,style:u,children:P.jsx(Km,{context:r,children:P.jsxs("div",{ref:n.setFloating,...a(),className:"useful-controls-dialog",style:u,children:[P.jsxs("div",{className:"useful-controls-dialog-title",children:[P.jsx("p",{children:Be.ui_usefulsettings||"Useful settings"}),P.jsx("div",{className:"useful-controls-dialog-close",onClick:()=>t(!1),children:P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 400 528",children:P.jsx("path",{d:"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z"})})})]}),P.jsxs("div",{className:"useful-controls-content-wrapper",children:[P.jsxs("p",{children:[P.jsx("kbd",{children:"RMB"}),P.jsx("br",{}),Be.ui_rmb]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"ALT + LMB"}),P.jsx("br",{}),Be.ui_alt_lmb]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"CTRL + LMB"}),P.jsx("br",{}),Be.ui_ctrl_lmb]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"SHIFT + Drag"}),P.jsx("br",{}),Be.ui_shift_drag]}),P.jsxs("p",{children:[P.jsx("kbd",{children:"CTRL + SHIFT + LMB"}),P.jsx("br",{}),Be.ui_ctrl_shift_lmb]}),P.jsx("div",{style:{textAlign:"right"},children:"🐂"})]})]})})})})})},Tz=()=>{const e=jr(IF),t=Yl(),[n,r]=D.useState(!1),[i,l]=D.useState(!1),[,u]=eg(()=>({accept:"SLOT",drop:d=>{d.inventory==="player"&&Fm(d.item)}})),[,a]=eg(()=>({accept:"SLOT",drop:d=>{d.inventory==="player"&&YC(d.item)}})),f=d=>{d.target.valueAsNumber=isNaN(d.target.valueAsNumber)||d.target.valueAsNumber<0?0:Math.floor(d.target.valueAsNumber),t(vF(d.target.valueAsNumber))};return P.jsxs(P.Fragment,{children:[P.jsx(Iz,{infoVisible:n,setInfoVisible:r}),P.jsx(bz,{settingsVisible:i,setSettingsVisible:l}),P.jsx("div",{className:"inventory-control",children:P.jsxs("div",{className:"inventory-control-wrapper",children:[P.jsx("input",{className:"inventory-control-input",type:"number",defaultValue:e,onChange:f,min:0}),P.jsx("button",{className:"inventory-control-button",ref:u,children:Be.ui_use||"Use"}),P.jsx("button",{className:"inventory-control-button",ref:a,children:Be.ui_give||"Give"}),P.jsx("button",{className:"inventory-control-button",onClick:()=>ar("exit"),children:Be.ui_close||"Close"}),P.jsx("button",{className:"useful-controls-button",onClick:()=>r(!0),children:P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",height:"2em",viewBox:"0 0 524 524",children:P.jsx("path",{d:"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"})})})]})})]})},Hp=(e,t,n)=>{let r=e*n,i=t*(1-n);return r+i},ja=(e,t,n)=>{let r=Hp(e[0],t[0],n),i=Hp(e[1],t[1],n),l=Hp(e[2],t[2],n);return`rgb(${r}, ${i}, ${l})`},ki={primaryColor:[231,76,60],secondColor:[10,189,150],accentColor:[10,189,150]},Qm=({percent:e,durability:t})=>{const n=D.useMemo(()=>t?e<50?ja(ki.accentColor,ki.primaryColor,e/100):ja(ki.secondColor,ki.accentColor,e/100):e>50?ja(ki.primaryColor,ki.accentColor,e/100):ja(ki.accentColor,ki.secondColor,e/50),[t,e]);return P.jsx("div",{className:t?"durability-bar":"weight-bar",children:P.jsx("div",{style:{visibility:e>0?"visible":"hidden",height:"100%",width:`${e}%`,backgroundColor:n,transition:`background ${.3}s ease, width ${.3}s ease`}})})};function qc(){return qc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;n[r]=e[r]}return n}function fg(e,t){return fg=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},fg(e,t)}function Zm(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,fg(e,t)}function Oz(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function Rz(e,t){e.classList?e.classList.add(t):Oz(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function Zx(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function Pz(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=Zx(e.className,t):e.setAttribute("class",Zx(e.className&&e.className.baseVal||"",t))}const Jx={disabled:!1},Yc=Ve.createContext(null);var A_=function(t){return t.scrollTop},Ru="unmounted",vo="exited",xo="entering",al="entered",dg="exiting",hi=function(e){Zm(t,e);function t(r,i){var l;l=e.call(this,r,i)||this;var u=i,a=u&&!u.isMounting?r.enter:r.appear,f;return l.appearStatus=null,r.in?a?(f=vo,l.appearStatus=xo):f=al:r.unmountOnExit||r.mountOnEnter?f=Ru:f=vo,l.state={status:f},l.nextCallback=null,l}t.getDerivedStateFromProps=function(i,l){var u=i.in;return u&&l.status===Ru?{status:vo}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var l=null;if(i!==this.props){var u=this.state.status;this.props.in?u!==xo&&u!==al&&(l=xo):(u===xo||u===al)&&(l=dg)}this.updateStatus(!1,l)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,l,u,a;return l=u=a=i,i!=null&&typeof i!="number"&&(l=i.exit,u=i.enter,a=i.appear!==void 0?i.appear:u),{exit:l,enter:u,appear:a}},n.updateStatus=function(i,l){if(i===void 0&&(i=!1),l!==null)if(this.cancelNextCallback(),l===xo){if(this.props.unmountOnExit||this.props.mountOnEnter){var u=this.props.nodeRef?this.props.nodeRef.current:Aa.findDOMNode(this);u&&A_(u)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===vo&&this.setState({status:Ru})},n.performEnter=function(i){var l=this,u=this.props.enter,a=this.context?this.context.isMounting:i,f=this.props.nodeRef?[a]:[Aa.findDOMNode(this),a],d=f[0],p=f[1],h=this.getTimeouts(),y=a?h.appear:h.enter;if(!i&&!u||Jx.disabled){this.safeSetState({status:al},function(){l.props.onEntered(d)});return}this.props.onEnter(d,p),this.safeSetState({status:xo},function(){l.props.onEntering(d,p),l.onTransitionEnd(y,function(){l.safeSetState({status:al},function(){l.props.onEntered(d,p)})})})},n.performExit=function(){var i=this,l=this.props.exit,u=this.getTimeouts(),a=this.props.nodeRef?void 0:Aa.findDOMNode(this);if(!l||Jx.disabled){this.safeSetState({status:vo},function(){i.props.onExited(a)});return}this.props.onExit(a),this.safeSetState({status:dg},function(){i.props.onExiting(a),i.onTransitionEnd(u.exit,function(){i.safeSetState({status:vo},function(){i.props.onExited(a)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,l){l=this.setNextCallback(l),this.setState(i,l)},n.setNextCallback=function(i){var l=this,u=!0;return this.nextCallback=function(a){u&&(u=!1,l.nextCallback=null,i(a))},this.nextCallback.cancel=function(){u=!1},this.nextCallback},n.onTransitionEnd=function(i,l){this.setNextCallback(l);var u=this.props.nodeRef?this.props.nodeRef.current:Aa.findDOMNode(this),a=i==null&&!this.props.addEndListener;if(!u||a){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var f=this.props.nodeRef?[this.nextCallback]:[u,this.nextCallback],d=f[0],p=f[1];this.props.addEndListener(d,p)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===Ru)return null;var l=this.props,u=l.children;l.in,l.mountOnEnter,l.unmountOnExit,l.appear,l.enter,l.exit,l.timeout,l.addEndListener,l.onEnter,l.onEntering,l.onEntered,l.onExit,l.onExiting,l.onExited,l.nodeRef;var a=Xm(l,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Ve.createElement(Yc.Provider,{value:null},typeof u=="function"?u(i,a):Ve.cloneElement(Ve.Children.only(u),a))},t}(Ve.Component);hi.contextType=Yc;hi.propTypes={};function ul(){}hi.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ul,onEntering:ul,onEntered:ul,onExit:ul,onExiting:ul,onExited:ul};hi.UNMOUNTED=Ru;hi.EXITED=vo;hi.ENTERING=xo;hi.ENTERED=al;hi.EXITING=dg;var Dz=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return Rz(t,r)})},Wp=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return Pz(t,r)})},Ff=function(e){Zm(t,e);function t(){for(var r,i=arguments.length,l=new Array(i),u=0;u{const t=D.useRef(null);return P.jsx(Ff,{nodeRef:t,in:e.in,timeout:200,classNames:"transition-slide-up",unmountOnExit:!0,children:Ve.cloneElement(e.children,{ref:t})})},Bz=()=>{const[e,t]=D.useState(!1),n=jr(Lm).items.slice(0,5),[r,i]=D.useState();return Mr("toggleHotbar",()=>{e?t(!1):(r&&clearTimeout(r),t(!0),i(setTimeout(()=>t(!1),3e3)))}),P.jsx(jz,{in:e,children:P.jsx("div",{className:"hotbar-container",children:n.map(l=>P.jsx("div",{className:"hotbar-item-slot",style:{backgroundImage:`url(${l?.name?Ol(l):"none"}`},children:yn(l)&&P.jsxs("div",{className:"item-slot-wrapper",children:[P.jsxs("div",{className:"hotbar-slot-header-wrapper",children:[P.jsx("div",{className:"inventory-slot-number",children:l.slot}),P.jsx("div",{className:"item-slot-info-wrapper",children:P.jsx("p",{children:l.count?l.count.toLocaleString("en-us")+"x":""})})]}),P.jsxs("div",{children:[l?.durability!==void 0&&P.jsx(Qm,{percent:l.durability,durability:!0}),P.jsx("div",{className:"inventory-slot-label-box",children:P.jsx("div",{className:"inventory-slot-label-text",children:l.metadata?.label?l.metadata.label:lt[l.name]?.label||l.name})})]})]})},`hotbar-${l.slot}`))})})},Uz=Dm("inventory/validateMove",async(e,{rejectWithValue:t,dispatch:n})=>{try{const r=await ar("swapItems",e);if(r===!1)return t(r);typeof r=="number"&&n(_F(r))}catch{return t(!1)}}),pg=(e,t)=>{const{inventory:n}=Nn.getState(),{sourceInventory:r,targetInventory:i}=bf(n,e.inventory,t?.inventory),l=r.items[e.item.slot-1],u=lt[l.name];if(u===void 0)return console.error(`${l.name} item data undefined!`);if(l.metadata?.container!==void 0){if(i.type===Qt.CONTAINER)return console.log(`Cannot store container ${l.name} inside another container`);if(n.rightInventory.id===l.metadata.container)return console.log(`Cannot move container ${l.name} when opened`)}const a=t?i.items[t.item.slot-1]:cF(l,u,i.items);if(a===void 0)return console.error("Target slot undefined!");if(a.metadata?.container!==void 0&&n.rightInventory.id===a.metadata.container)return console.log(`Cannot swap item ${l.name} with container ${a.name} when opened`);const f=n.shiftPressed&&l.count>1&&r.type!=="shop"?Math.floor(l.count/2):n.itemAmount===0||n.itemAmount>l.count?l.count:n.itemAmount,d={fromSlot:l,toSlot:a,fromType:r.type,toType:i.type,count:f};Nn.dispatch(Uz({...d,fromSlot:l.slot,toSlot:a.slot})),yn(a,!0)?u.stack&&aF(l,a)?Nn.dispatch(EF({...d,toSlot:a})):Nn.dispatch(wF({...d,toSlot:a})):Nn.dispatch(SF(d))},$z=Dm("inventory/buyItem",async(e,{rejectWithValue:t})=>{try{const n=await ar("buyItem",e);if(n===!1)return t(n)}catch{return t(!1)}}),Hz=(e,t)=>{const{inventory:n}=Nn.getState(),r=n.rightInventory,i=n.leftInventory,l=r.items[e.item.slot-1];if(!yn(l))throw new Error(`Item ${l.slot} name === undefined`);if(l.count===0)return;if(lt[l.name]===void 0)return console.error(`Item ${l.name} data undefined!`);const a=i.items[t.item.slot-1];if(a===void 0)return console.error("Target slot undefined");const f=n.itemAmount!==0?l.count&&n.itemAmount>l.count?l.count:n.itemAmount:1,d={fromSlot:l,toSlot:a,fromType:r.type,toType:i.type,count:f};Nn.dispatch($z({...d,fromSlot:l.slot,toSlot:a.slot}))},Wz=Dm("inventory/craftItem",async(e,{rejectWithValue:t})=>{try{const n=await ar("craftItem",e);if(n===!1)return t(n)}catch{return t(!1)}}),Vz=(e,t)=>{const{inventory:n}=Nn.getState(),r=n.rightInventory,i=n.leftInventory,l=r.items[e.item.slot-1];if(!yn(l))throw new Error(`Item ${l.slot} name === undefined`);if(l.count===0)return;if(lt[l.name]===void 0)return console.error(`Item ${l.name} data undefined!`);const a=i.items[t.item.slot-1];if(a===void 0)return console.error("Target slot undefined");const f=n.itemAmount===0?1:n.itemAmount,d={fromSlot:l,toSlot:a,fromType:r.type,toType:i.type,count:f};Nn.dispatch(Wz({...d,fromSlot:l.slot,toSlot:a.slot}))},Kz=({item:e,inventoryId:t,inventoryType:n,inventoryGroups:r},i)=>{const l=di(),u=Yl(),a=D.useRef(null),f=D.useCallback(()=>Ex(e,{type:n,groups:r})&&Cx(e,n),[e,n,r]),[{isDragging:d},p]=LL(()=>({type:"SLOT",collect:w=>({isDragging:w.isDragging()}),item:()=>yn(e,n!==Qt.SHOP)?{inventory:n,item:{name:e.name,slot:e.slot},image:e?.name&&`url(${Ol(e)||"none"}`}:null,canDrag:f}),[n,e]),[{isOver:h},y]=eg(()=>({accept:"SLOT",collect:w=>({isOver:w.isOver()}),drop:w=>{switch(u(Hu()),w.inventory){case Qt.SHOP:Hz(w,{inventory:n,item:{slot:e.slot}});break;case Qt.CRAFTING:Vz(w,{inventory:n,item:{slot:e.slot}});break;default:pg(w,{inventory:n,item:{slot:e.slot}});break}},canDrop:w=>(w.item.slot!==e.slot||w.inventory!==n)&&n!==Qt.SHOP&&n!==Qt.CRAFTING}),[n,e]);Mr("refreshSlots",w=>{!d&&!w.items||!Array.isArray(w.items)||!w.items.find(E=>E.item.slot===e.slot&&E.inventory===t)||l.dispatch({type:"dnd-core/END_DRAG"})});const m=w=>p(y(w)),S=w=>{w.preventDefault(),!(n!=="player"||!yn(e))&&u(DF({item:e,coords:{x:w.clientX,y:w.clientY}}))},_=w=>{u(Hu()),a.current&&clearTimeout(a.current),w.ctrlKey&&yn(e)&&n!=="shop"&&n!=="crafting"?pg({item:e,inventory:n}):w.altKey&&yn(e)&&n==="player"&&Fm(e)},A=Hm([m,i]);return P.jsx("div",{ref:A,onContextMenu:S,onClick:_,className:"inventory-slot",style:{filter:!Ex(e,{type:n,groups:r})||!Cx(e,n)?"brightness(80%) grayscale(100%)":void 0,opacity:d?.4:1,backgroundImage:`url(${e?.name?Ol(e):"none"}`,border:h?"1px dashed rgba(255,255,255,0.4)":""},children:yn(e)&&P.jsxs("div",{className:"item-slot-wrapper",onMouseEnter:()=>{a.current=window.setTimeout(()=>{u(OF({item:e,inventoryType:n}))},500)},onMouseLeave:()=>{u(Hu()),a.current&&(clearTimeout(a.current),a.current=null)},children:[P.jsxs("div",{className:n==="player"&&e.slot<=5?"item-hotslot-header-wrapper":"item-slot-header-wrapper",children:[n==="player"&&e.slot<=5&&P.jsx("div",{className:"inventory-slot-number",children:e.slot}),P.jsx("div",{className:"item-slot-info-wrapper",children:P.jsx("p",{children:e.count?e.count.toLocaleString("en-us")+"x":""})})]}),P.jsxs("div",{children:[n!=="shop"&&e?.durability!==void 0&&P.jsx(Qm,{percent:e.durability,durability:!0}),n==="shop"&&e?.price!==void 0&&P.jsx(P.Fragment,{children:e?.currency!=="money"&&e.currency!=="black_money"&&e.price>0&&e.currency?P.jsxs("div",{className:"item-slot-currency-wrapper",children:[P.jsx("img",{src:e.currency?Ol(e.currency):"none",alt:"item-image",style:{imageRendering:"-webkit-optimize-contrast",height:"auto",width:"2vh",backfaceVisibility:"hidden",transform:"translateZ(0)"}}),P.jsx("p",{children:e.price.toLocaleString("en-us")})]}):P.jsx(P.Fragment,{children:e.price>0&&P.jsx("div",{className:"item-slot-price-wrapper",style:{color:e.currency==="money"||!e.currency?"#2ECC71":"#E74C3C"},children:P.jsxs("p",{children:[Be.$||"$",e.price.toLocaleString("en-us")]})})})}),P.jsx("div",{className:"inventory-slot-label-box",children:P.jsx("div",{className:"inventory-slot-label-text",children:e.metadata?.label?e.metadata.label:lt[e.name]?.label||e.name})})]})]})})},N_=Ve.memo(Ve.forwardRef(Kz)),Gz=e=>{const t=document.createElement("input");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)},hg=Ve.createContext({getItemProps:()=>({}),activeIndex:null,setActiveIndex:()=>{},setHasFocusInside:()=>{},isOpen:!1}),ew=Ve.forwardRef(({children:e,label:t,...n},r)=>{const i=jr(V=>V.contextMenu),[l,u]=D.useState(!1),[a,f]=D.useState(!1),[d,p]=D.useState(null),h=D.useRef([]),y=D.useRef([]),m=D.useContext(hg),S=no(),_=J4(),A=to(),w=C_(),v=A!=null,{floatingStyles:E,refs:b,context:M}=Nf({nodeId:_,open:l,onOpenChange:u,placement:v?"right-start":"bottom-start",middleware:[h_({mainAxis:v?0:4,alignmentAxis:v?-4:0}),m_(),g_()],whileElementsMounted:m4}),{isMounted:R,styles:j}=Lf(M);D.useEffect(()=>{v||(i.coords&&(b.setPositionReference({getBoundingClientRect(){return{width:0,height:0,x:i.coords.x,y:i.coords.y,top:i.coords.y,right:i.coords.x,bottom:i.coords.y,left:i.coords.x}}}),u(!0)),i.coords||u(!1))},[i]);const K=nz(M,{enabled:v,delay:{open:75},handleClose:kz({blockPointerEvents:!0})}),q=pz(M,{event:"mousedown",toggle:!v,ignoreMouse:v}),U=wz(M,{role:"menu"}),J=qm(M,{bubbles:!0}),G=vz(M,{listRef:h,activeIndex:d,nested:v,onNavigate:p}),X=Cz(M,{listRef:y,onMatch:l?p:void 0,activeIndex:d}),{getReferenceProps:L,getFloatingProps:Z,getItemProps:re}=Ym([K,q,U,J,G,X]);return D.useEffect(()=>{if(!S)return;function V(){u(!1)}function $(le){le.nodeId!==_&&le.parentId===A&&u(!1)}return S.events.on("click",V),S.events.on("menuopen",$),()=>{S.events.off("click",V),S.events.off("menuopen",$)}},[S,_,A]),D.useEffect(()=>{l&&S&&S.events.emit("menuopen",{parentId:A,nodeId:_})},[S,l,_,A]),P.jsxs(ez,{id:_,children:[v&&P.jsxs("button",{ref:Hm([b.setReference,w.ref,r]),tabIndex:v?m.activeIndex===w.index?0:-1:void 0,role:v?"menuitem":void 0,"data-open":l?"":void 0,"data-nested":v?"":void 0,"data-focus-inside":a?"":void 0,className:v?"context-menu-item":"context-menu-list",...L(m.getItemProps({...n,onFocus(V){n.onFocus?.(V),f(!1),m.setHasFocusInside(!0)}})),children:[t,v&&P.jsx("span",{"aria-hidden":!0,style:{marginLeft:10,fontSize:10},children:"▶"})]}),P.jsx(hg.Provider,{value:{activeIndex:d,setActiveIndex:p,getItemProps:re,setHasFocusInside:f,isOpen:l},children:P.jsx(Y4,{elementsRef:h,labelsRef:y,children:R&&P.jsx(Af,{children:P.jsx(Gm,{lockScroll:!0,children:P.jsx(Km,{context:M,modal:!0,initialFocus:b.floating,children:P.jsx("div",{ref:b.setFloating,className:"context-menu-list",style:{...E,...j},...Z(),children:e})})})})})})]})}),Ii=Ve.forwardRef(({label:e,disabled:t,...n},r)=>{const i=D.useContext(hg),l=C_({label:t?null:e}),u=no(),a=l.index===i.activeIndex;return P.jsx("button",{...n,ref:Hm([l.ref,r]),type:"button",role:"menuitem",className:"context-menu-item",tabIndex:a?0:-1,disabled:t,...i.getItemProps({onClick(f){n.onClick?.(f),u?.events.emit("click")},onFocus(f){n.onFocus?.(f),i.setHasFocusInside(!0)}}),children:e})}),Vp=Ve.forwardRef((e,t)=>to()===null?P.jsx(tz,{children:P.jsx(ew,{...e,ref:t})}):P.jsx(ew,{...e,ref:t})),M_=()=>{const t=jr(i=>i.contextMenu).item,n=i=>{if(t)switch(i&&i.action){case"use":Fm({name:t.name,slot:t.slot});break;case"give":YC({name:t.name,slot:t.slot});break;case"drop":yn(t)&&pg({item:t,inventory:"player"});break;case"remove":ar("removeComponent",{component:i?.component,slot:i?.slot});break;case"removeAmmo":ar("removeAmmo",t.slot);break;case"copy":Gz(i.serial||"");break;case"custom":ar("useButton",{id:(i?.id||0)+1,slot:t.slot});break}},r=i=>i.reduce((l,u,a)=>{if(u.group){const f=l.findIndex(d=>d.groupName===u.group);f!==-1?l[f].buttons.push({...u,index:a}):l.push({groupName:u.group,buttons:[{...u,index:a}]})}else l.push({groupName:null,buttons:[{...u,index:a}]});return l},[]);return P.jsx(P.Fragment,{children:P.jsxs(Vp,{children:[P.jsx(Ii,{onClick:()=>n({action:"use"}),label:Be.ui_use||"Usar"}),P.jsx(Ii,{onClick:()=>n({action:"give"}),label:Be.ui_give||"Dar"}),P.jsx(Ii,{onClick:()=>n({action:"drop"}),label:Be.ui_drop||"Botar"}),t&&t.metadata?.ammo>0&&P.jsx(Ii,{onClick:()=>n({action:"removeAmmo"}),label:Be.ui_remove_ammo}),t&&t.metadata?.serial&&P.jsx(Ii,{onClick:()=>n({action:"copy",serial:t.metadata?.serial}),label:Be.ui_copy}),t&&t.metadata?.components&&t.metadata?.components.length>0&&P.jsx(Vp,{label:Be.ui_removeattachments,children:t&&t.metadata?.components.map((i,l)=>P.jsx(Ii,{onClick:()=>n({action:"remove",component:i,slot:t.slot}),label:lt[i]?.label||""},l))}),(t&&t.name&<[t.name]?.buttons?.length||0)>0&&P.jsx(P.Fragment,{children:t&&t.name&&r(lt[t.name]?.buttons).map((i,l)=>P.jsx(Ve.Fragment,{children:i.groupName?P.jsx(Vp,{label:i.groupName,children:i.buttons.map(u=>P.jsx(Ii,{onClick:()=>n({action:"custom",id:u.index}),label:u.label},u.index))}):i.buttons.map(u=>P.jsx(Ii,{onClick:()=>n({action:"custom",id:u.index}),label:u.label},u.index))},l))})]})})},qz=({inventory:e,direction:t})=>{Ve.useMemo(()=>e.maxWeight!==void 0?Math.floor(WC(e.items)*1e3)/1e3:0,[e.maxWeight,e.items]);const n=e.items.slice(0,5);return P.jsx(P.Fragment,{children:e.type==="player"&&P.jsx(P.Fragment,{children:P.jsxs("div",{className:"hotslot-wrapper",children:[n.map(r=>P.jsx(N_,{item:r,inventoryType:e.type,inventoryGroups:e.groups,inventoryId:e.id},`${e.type}-${e.id}-${r.slot}`)),e.type==="player"&&ql.createPortal(P.jsx(M_,{}),document.body)]})})})},Yz=()=>{const e=jr(Lm);return P.jsx(qz,{inventory:e,direction:"left"})},Qz=["Escape"],Xz=e=>{const t=D.useRef(HC),n=Yl();D.useEffect(()=>{t.current=e},[e]),D.useEffect(()=>{const r=i=>{Qz.includes(i.code)&&(t.current(!1),n(Hu()),n(qC()),ar("exit"))};return window.addEventListener("keyup",r),()=>window.removeEventListener("keyup",r)},[])};function Zz(e){const[t,n]=D.useState(null),r=D.useRef(null);return{ref:D.useCallback(l=>{if(r.current&&(r.current.disconnect(),r.current=null),l===null){n(null);return}r.current=new IntersectionObserver(([u])=>{n(u)},e),r.current.observe(l)},[e?.rootMargin,e?.root,e?.threshold]),entry:t}}const tw=30,L_=({inventory:e,direction:t})=>{const n=Ve.useMemo(()=>e.maxWeight!==void 0?Math.floor(WC(e.items)*1e3)/1e3:0,[e.maxWeight,e.items]),r=e.type==="player",[i,l]=Ve.useState(0),u=D.useRef(null),{ref:a,entry:f}=Zz({threshold:.5}),d=jr(p=>p.inventory.isBusy);return Ve.useEffect(()=>{f&&f.isIntersecting&&l(p=>++p)},[f]),P.jsx(P.Fragment,{children:P.jsxs("div",{className:"inventory-grid-wrapper",style:{pointerEvents:d?"none":"auto"},children:[P.jsxs("div",{children:[P.jsxs("div",{className:"inventory-grid-header-wrapper",children:[P.jsx("p",{children:e.label}),e.maxWeight&&P.jsxs("p",{children:[n/1e3,"/",e.maxWeight/1e3,"kg"]})]}),P.jsx(Qm,{percent:e.maxWeight?n/e.maxWeight*100:0})]}),P.jsx("div",{className:t==="left"?"inventory-grid-container-left":"inventory-grid-container-right",ref:u,children:P.jsx(P.Fragment,{children:e.items.slice(r&&t==="left"?5:0,(i+1)*tw).map((p,h)=>P.jsx(N_,{item:p,ref:h===(i+1)*tw-1?a:null,inventoryType:e.type,inventoryGroups:e.groups,inventoryId:e.id},`${e.type}-${e.id}-${p.slot}`))})})]})})},Jz=()=>{const e=jr(kF);return P.jsx(L_,{inventory:e,direction:"right"})},ej=()=>{const e=jr(Lm);return P.jsx(L_,{inventory:e,direction:"left"})};function tj(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const nj=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,rj=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,ij={};function nw(e,t){return(ij.jsx?rj:nj).test(e)}const oj=/[ \t\n\f\r]/g;function lj(e){return typeof e=="object"?e.type==="text"?rw(e.value):!1:rw(e)}function rw(e){return e.replace(oj,"")===""}class Is{constructor(t,n,r){this.property=t,this.normal=n,r&&(this.space=r)}}Is.prototype.property={};Is.prototype.normal={};Is.prototype.space=null;function F_(e,t){const n={},r={};let i=-1;for(;++i4&&n.slice(0,4)==="data"&&fj.test(t)){if(t.charAt(4)==="-"){const l=t.slice(5).replace(ow,gj);r="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=t.slice(4);if(!ow.test(l)){let u=l.replace(dj,hj);u.charAt(0)!=="-"&&(u="-"+u),t="data"+u}}i=ty}return new i(r,t)}function hj(e){return"-"+e.toLowerCase()}function gj(e){return e.charAt(1).toUpperCase()}const mj={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},yj=F_([B_,j_,H_,W_,aj],"html"),ny=F_([B_,j_,H_,W_,cj],"svg");function vj(e){return e.join(" ").trim()}var V_={},lw=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,xj=/\n/g,wj=/^\s*/,Sj=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Ej=/^:\s*/,Cj=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,_j=/^[;\s]*/,kj=/^\s+|\s+$/g,Ij=` -`,uw="/",sw="*",Eo="",bj="comment",Tj="declaration",Oj=function(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function i(S){var _=S.match(xj);_&&(n+=_.length);var A=S.lastIndexOf(Ij);r=~A?S.length-A:r+S.length}function l(){var S={line:n,column:r};return function(_){return _.position=new u(S),d(),_}}function u(S){this.start=S,this.end={line:n,column:r},this.source=t.source}u.prototype.content=e;function a(S){var _=new Error(t.source+":"+n+":"+r+": "+S);if(_.reason=S,_.filename=t.source,_.line=n,_.column=r,_.source=e,!t.silent)throw _}function f(S){var _=S.exec(e);if(_){var A=_[0];return i(A),e=e.slice(A.length),_}}function d(){f(wj)}function p(S){var _;for(S=S||[];_=h();)_!==!1&&S.push(_);return S}function h(){var S=l();if(!(uw!=e.charAt(0)||sw!=e.charAt(1))){for(var _=2;Eo!=e.charAt(_)&&(sw!=e.charAt(_)||uw!=e.charAt(_+1));)++_;if(_+=2,Eo===e.charAt(_-1))return a("End of comment missing");var A=e.slice(2,_-2);return r+=2,i(A),e=e.slice(_),r+=2,S({type:bj,comment:A})}}function y(){var S=l(),_=f(Sj);if(_){if(h(),!f(Ej))return a("property missing ':'");var A=f(Cj),w=S({type:Tj,property:aw(_[0].replace(lw,Eo)),value:A?aw(A[0].replace(lw,Eo)):Eo});return f(_j),w}}function m(){var S=[];p(S);for(var _;_=y();)_!==!1&&(S.push(_),p(S));return S}return d(),m()};function aw(e){return e?e.replace(kj,Eo):Eo}var Rj=wo&&wo.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(V_,"__esModule",{value:!0});var Pj=Rj(Oj);function Dj(e,t){var n=null;if(!e||typeof e!="string")return n;var r=(0,Pj.default)(e),i=typeof t=="function";return r.forEach(function(l){if(l.type==="declaration"){var u=l.property,a=l.value;i?t(u,a,l):a&&(n=n||{},n[u]=a)}}),n}var cw=V_.default=Dj;const Aj=cw.default||cw,K_=G_("end"),ry=G_("start");function G_(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Nj(e){const t=ry(e),n=K_(e);if(t&&n)return{start:t,end:n}}function Ku(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?fw(e.position):"start"in e||"end"in e?fw(e):"line"in e||"column"in e?yg(e):""}function yg(e){return dw(e&&e.line)+":"+dw(e&&e.column)}function fw(e){return yg(e&&e.start)+"-"+yg(e&&e.end)}function dw(e){return e&&typeof e=="number"?e:1}class en extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",l={},u=!1;if(n&&("line"in n&&"column"in n?l={place:n}:"start"in n&&"end"in n?l={place:n}:"type"in n?l={ancestors:[n],place:n.position}:l={...n}),typeof t=="string"?i=t:!l.cause&&t&&(u=!0,i=t.message,l.cause=t),!l.ruleId&&!l.source&&typeof r=="string"){const f=r.indexOf(":");f===-1?l.ruleId=r:(l.source=r.slice(0,f),l.ruleId=r.slice(f+1))}if(!l.place&&l.ancestors&&l.ancestors){const f=l.ancestors[l.ancestors.length-1];f&&(l.place=f.position)}const a=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=a?a.line:void 0,this.name=Ku(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=u&&l.cause&&typeof l.cause.stack=="string"?l.cause.stack:"",this.actual,this.expected,this.note,this.url}}en.prototype.file="";en.prototype.name="";en.prototype.reason="";en.prototype.message="";en.prototype.stack="";en.prototype.column=void 0;en.prototype.line=void 0;en.prototype.ancestors=void 0;en.prototype.cause=void 0;en.prototype.fatal=void 0;en.prototype.place=void 0;en.prototype.ruleId=void 0;en.prototype.source=void 0;const iy={}.hasOwnProperty,Mj=new Map,Lj=/[A-Z]/g,Fj=/-([a-z])/g,zj=new Set(["table","tbody","thead","tfoot","tr"]),jj=new Set(["td","th"]),q_="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Bj(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=qj(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Gj(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?ny:yj,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},l=Y_(i,e,void 0);return l&&typeof l!="string"?l:i.create(e,i.Fragment,{children:l||void 0},void 0)}function Y_(e,t,n){if(t.type==="element")return Uj(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return $j(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return Wj(e,t,n);if(t.type==="mdxjsEsm")return Hj(e,t);if(t.type==="root")return Vj(e,t,n);if(t.type==="text")return Kj(e,t)}function Uj(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=ny,e.schema=i),e.ancestors.push(t);const l=X_(e,t.tagName,!1),u=Yj(e,t);let a=ly(e,t);return zj.has(t.tagName)&&(a=a.filter(function(f){return typeof f=="string"?!lj(f):!0})),Q_(e,u,l,t),oy(u,a),e.ancestors.pop(),e.schema=r,e.create(t,l,u,n)}function $j(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}ms(e,t.position)}function Hj(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);ms(e,t.position)}function Wj(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=ny,e.schema=i),e.ancestors.push(t);const l=t.name===null?e.Fragment:X_(e,t.name,!0),u=Qj(e,t),a=ly(e,t);return Q_(e,u,l,t),oy(u,a),e.ancestors.pop(),e.schema=r,e.create(t,l,u,n)}function Vj(e,t,n){const r={};return oy(r,ly(e,t)),e.create(t,e.Fragment,r,n)}function Kj(e,t){return t.value}function Q_(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function oy(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Gj(e,t,n){return r;function r(i,l,u,a){const d=Array.isArray(u.children)?n:t;return a?d(l,u,a):d(l,u)}}function qj(e,t){return n;function n(r,i,l,u){const a=Array.isArray(l.children),f=ry(r);return t(i,l,u,a,{columnNumber:f?f.column-1:void 0,fileName:e,lineNumber:f?f.line:void 0},void 0)}}function Yj(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&iy.call(t.properties,i)){const l=Xj(e,i,t.properties[i]);if(l){const[u,a]=l;e.tableCellAlignToStyle&&u==="align"&&typeof a=="string"&&jj.has(t.tagName)?r=a:n[u]=a}}if(r){const l=n.style||(n.style={});l[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Qj(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const l=r.data.estree.body[0];l.type;const u=l.expression;u.type;const a=u.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else ms(e,t.position);else{const i=r.name;let l;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const a=r.value.data.estree.body[0];a.type,l=e.evaluater.evaluateExpression(a.expression)}else ms(e,t.position);else l=r.value===null?!0:r.value;n[i]=l}return n}function ly(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:Mj;for(;++ri?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)u=Array.from(r),u.unshift(t,n),e.splice(...u);else for(n&&e.splice(t,n);l0?(ci(e,e.length,0,t),e):t}const gw={}.hasOwnProperty;function l5(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Dl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Lr=ro(/[A-Za-z]/),Fn=ro(/[\dA-Za-z]/),a5=ro(/[#-'*+\--9=?A-Z^-~]/);function vg(e){return e!==null&&(e<32||e===127)}const xg=ro(/\d/),c5=ro(/[\dA-Fa-f]/),f5=ro(/[!-/:-@[-`{-~]/);function Se(e){return e!==null&&e<-2}function _n(e){return e!==null&&(e<0||e===32)}function Ue(e){return e===-2||e===-1||e===32}const d5=ro(/\p{P}|\p{S}/u),p5=ro(/\s/);function ro(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Zl(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&l<57344){const a=e.charCodeAt(n+1);l<56320&&a>56319&&a<57344?(u=String.fromCharCode(l,a),i=1):u="�"}else u=String.fromCharCode(l);u&&(t.push(e.slice(r,n),encodeURIComponent(u)),r=n+i+1,u=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function et(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let l=0;return u;function u(f){return Ue(f)?(e.enter(n),a(f)):t(f)}function a(f){return Ue(f)&&l++u))return;const j=t.events.length;let K=j,q,U;for(;K--;)if(t.events[K][0]==="exit"&&t.events[K][1].type==="chunkFlow"){if(q){U=t.events[K][1].end;break}q=!0}for(w(r),R=j;RE;){const M=n[b];t.containerState=M[1],M[0].exit.call(t,e)}n.length=E}function v(){i.write([null]),l=void 0,i=void 0,t.containerState._closeFlow=void 0}}function v5(e,t,n){return et(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function yw(e){if(e===null||_n(e)||p5(e))return 1;if(d5(e))return 2}function sy(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const h=Object.assign({},e[r][1].end),y=Object.assign({},e[n][1].start);vw(h,-f),vw(y,f),u={type:f>1?"strongSequence":"emphasisSequence",start:h,end:Object.assign({},e[r][1].end)},a={type:f>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[n][1].start),end:y},l={type:f>1?"strongText":"emphasisText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},i={type:f>1?"strong":"emphasis",start:Object.assign({},u.start),end:Object.assign({},a.end)},e[r][1].end=Object.assign({},u.start),e[n][1].start=Object.assign({},a.end),d=[],e[r][1].end.offset-e[r][1].start.offset&&(d=or(d,[["enter",e[r][1],t],["exit",e[r][1],t]])),d=or(d,[["enter",i,t],["enter",u,t],["exit",u,t],["enter",l,t]]),d=or(d,sy(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),d=or(d,[["exit",l,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(p=2,d=or(d,[["enter",e[n][1],t],["exit",e[n][1],t]])):p=0,ci(e,r-1,n-r+3,d),n=r+d.length-p-2;break}}for(n=-1;++n0&&Ue(R)?et(e,v,"linePrefix",l+1)(R):v(R)}function v(R){return R===null||Se(R)?e.check(xw,_,b)(R):(e.enter("codeFlowValue"),E(R))}function E(R){return R===null||Se(R)?(e.exit("codeFlowValue"),v(R)):(e.consume(R),E)}function b(R){return e.exit("codeFenced"),t(R)}function M(R,j,K){let q=0;return U;function U(Z){return R.enter("lineEnding"),R.consume(Z),R.exit("lineEnding"),J}function J(Z){return R.enter("codeFencedFence"),Ue(Z)?et(R,G,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Z):G(Z)}function G(Z){return Z===a?(R.enter("codeFencedFenceSequence"),X(Z)):K(Z)}function X(Z){return Z===a?(q++,R.consume(Z),X):q>=u?(R.exit("codeFencedFenceSequence"),Ue(Z)?et(R,L,"whitespace")(Z):L(Z)):K(Z)}function L(Z){return Z===null||Se(Z)?(R.exit("codeFencedFence"),j(Z)):K(Z)}}}function R5(e,t,n){const r=this;return i;function i(u){return u===null?n(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l)}function l(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}const qp={name:"codeIndented",tokenize:D5},P5={tokenize:A5,partial:!0};function D5(e,t,n){const r=this;return i;function i(d){return e.enter("codeIndented"),et(e,l,"linePrefix",5)(d)}function l(d){const p=r.events[r.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?u(d):n(d)}function u(d){return d===null?f(d):Se(d)?e.attempt(P5,u,f)(d):(e.enter("codeFlowValue"),a(d))}function a(d){return d===null||Se(d)?(e.exit("codeFlowValue"),u(d)):(e.consume(d),a)}function f(d){return e.exit("codeIndented"),t(d)}}function A5(e,t,n){const r=this;return i;function i(u){return r.parser.lazy[r.now().line]?n(u):Se(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),i):et(e,l,"linePrefix",5)(u)}function l(u){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(u):Se(u)?i(u):n(u)}}const N5={name:"codeText",tokenize:F5,resolve:M5,previous:L5};function M5(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const l=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Cu(this.left,r),l.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Cu(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Cu(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(u):e.interrupt(r.parser.constructs.flow,n,t)(u)}}function ik(e,t,n,r,i,l,u,a,f){const d=f||Number.POSITIVE_INFINITY;let p=0;return h;function h(w){return w===60?(e.enter(r),e.enter(i),e.enter(l),e.consume(w),e.exit(l),y):w===null||w===32||w===41||vg(w)?n(w):(e.enter(r),e.enter(u),e.enter(a),e.enter("chunkString",{contentType:"string"}),_(w))}function y(w){return w===62?(e.enter(l),e.consume(w),e.exit(l),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),m(w))}function m(w){return w===62?(e.exit("chunkString"),e.exit(a),y(w)):w===null||w===60||Se(w)?n(w):(e.consume(w),w===92?S:m)}function S(w){return w===60||w===62||w===92?(e.consume(w),m):m(w)}function _(w){return!p&&(w===null||w===41||_n(w))?(e.exit("chunkString"),e.exit(a),e.exit(u),e.exit(r),t(w)):p999||m===null||m===91||m===93&&!f||m===94&&!a&&"_hiddenFootnoteSupport"in u.parser.constructs?n(m):m===93?(e.exit(l),e.enter(i),e.consume(m),e.exit(i),e.exit(r),t):Se(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),h(m))}function h(m){return m===null||m===91||m===93||Se(m)||a++>999?(e.exit("chunkString"),p(m)):(e.consume(m),f||(f=!Ue(m)),m===92?y:h)}function y(m){return m===91||m===92||m===93?(e.consume(m),a++,h):h(m)}}function lk(e,t,n,r,i,l){let u;return a;function a(y){return y===34||y===39||y===40?(e.enter(r),e.enter(i),e.consume(y),e.exit(i),u=y===40?41:y,f):n(y)}function f(y){return y===u?(e.enter(i),e.consume(y),e.exit(i),e.exit(r),t):(e.enter(l),d(y))}function d(y){return y===u?(e.exit(l),f(u)):y===null?n(y):Se(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),et(e,d,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===u||y===null||Se(y)?(e.exit("chunkString"),d(y)):(e.consume(y),y===92?h:p)}function h(y){return y===u||y===92?(e.consume(y),p):p(y)}}function Gu(e,t){let n;return r;function r(i){return Se(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Ue(i)?et(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const V5={name:"definition",tokenize:G5},K5={tokenize:q5,partial:!0};function G5(e,t,n){const r=this;let i;return l;function l(m){return e.enter("definition"),u(m)}function u(m){return ok.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function a(m){return i=Dl(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),f):n(m)}function f(m){return _n(m)?Gu(e,d)(m):d(m)}function d(m){return ik(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function p(m){return e.attempt(K5,h,h)(m)}function h(m){return Ue(m)?et(e,y,"whitespace")(m):y(m)}function y(m){return m===null||Se(m)?(e.exit("definition"),r.parser.defined.push(i),t(m)):n(m)}}function q5(e,t,n){return r;function r(a){return _n(a)?Gu(e,i)(a):n(a)}function i(a){return lk(e,l,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function l(a){return Ue(a)?et(e,u,"whitespace")(a):u(a)}function u(a){return a===null||Se(a)?t(a):n(a)}}const Y5={name:"hardBreakEscape",tokenize:Q5};function Q5(e,t,n){return r;function r(l){return e.enter("hardBreakEscape"),e.consume(l),i}function i(l){return Se(l)?(e.exit("hardBreakEscape"),t(l)):n(l)}}const X5={name:"headingAtx",tokenize:J5,resolve:Z5};function Z5(e,t){let n=e.length-2,r=3,i,l;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},l={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},ci(e,r,n-r+1,[["enter",i,t],["enter",l,t],["exit",l,t],["exit",i,t]])),e}function J5(e,t,n){let r=0;return i;function i(p){return e.enter("atxHeading"),l(p)}function l(p){return e.enter("atxHeadingSequence"),u(p)}function u(p){return p===35&&r++<6?(e.consume(p),u):p===null||_n(p)?(e.exit("atxHeadingSequence"),a(p)):n(p)}function a(p){return p===35?(e.enter("atxHeadingSequence"),f(p)):p===null||Se(p)?(e.exit("atxHeading"),t(p)):Ue(p)?et(e,a,"whitespace")(p):(e.enter("atxHeadingText"),d(p))}function f(p){return p===35?(e.consume(p),f):(e.exit("atxHeadingSequence"),a(p))}function d(p){return p===null||p===35||_n(p)?(e.exit("atxHeadingText"),a(p)):(e.consume(p),d)}}const e6=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Sw=["pre","script","style","textarea"],t6={name:"htmlFlow",tokenize:o6,resolveTo:i6,concrete:!0},n6={tokenize:u6,partial:!0},r6={tokenize:l6,partial:!0};function i6(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function o6(e,t,n){const r=this;let i,l,u,a,f;return d;function d(T){return p(T)}function p(T){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(T),h}function h(T){return T===33?(e.consume(T),y):T===47?(e.consume(T),l=!0,_):T===63?(e.consume(T),i=3,r.interrupt?t:I):Lr(T)?(e.consume(T),u=String.fromCharCode(T),A):n(T)}function y(T){return T===45?(e.consume(T),i=2,m):T===91?(e.consume(T),i=5,a=0,S):Lr(T)?(e.consume(T),i=4,r.interrupt?t:I):n(T)}function m(T){return T===45?(e.consume(T),r.interrupt?t:I):n(T)}function S(T){const we="CDATA[";return T===we.charCodeAt(a++)?(e.consume(T),a===we.length?r.interrupt?t:G:S):n(T)}function _(T){return Lr(T)?(e.consume(T),u=String.fromCharCode(T),A):n(T)}function A(T){if(T===null||T===47||T===62||_n(T)){const we=T===47,ge=u.toLowerCase();return!we&&!l&&Sw.includes(ge)?(i=1,r.interrupt?t(T):G(T)):e6.includes(u.toLowerCase())?(i=6,we?(e.consume(T),w):r.interrupt?t(T):G(T)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(T):l?v(T):E(T))}return T===45||Fn(T)?(e.consume(T),u+=String.fromCharCode(T),A):n(T)}function w(T){return T===62?(e.consume(T),r.interrupt?t:G):n(T)}function v(T){return Ue(T)?(e.consume(T),v):U(T)}function E(T){return T===47?(e.consume(T),U):T===58||T===95||Lr(T)?(e.consume(T),b):Ue(T)?(e.consume(T),E):U(T)}function b(T){return T===45||T===46||T===58||T===95||Fn(T)?(e.consume(T),b):M(T)}function M(T){return T===61?(e.consume(T),R):Ue(T)?(e.consume(T),M):E(T)}function R(T){return T===null||T===60||T===61||T===62||T===96?n(T):T===34||T===39?(e.consume(T),f=T,j):Ue(T)?(e.consume(T),R):K(T)}function j(T){return T===f?(e.consume(T),f=null,q):T===null||Se(T)?n(T):(e.consume(T),j)}function K(T){return T===null||T===34||T===39||T===47||T===60||T===61||T===62||T===96||_n(T)?M(T):(e.consume(T),K)}function q(T){return T===47||T===62||Ue(T)?E(T):n(T)}function U(T){return T===62?(e.consume(T),J):n(T)}function J(T){return T===null||Se(T)?G(T):Ue(T)?(e.consume(T),J):n(T)}function G(T){return T===45&&i===2?(e.consume(T),re):T===60&&i===1?(e.consume(T),V):T===62&&i===4?(e.consume(T),oe):T===63&&i===3?(e.consume(T),I):T===93&&i===5?(e.consume(T),le):Se(T)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(n6,ue,X)(T)):T===null||Se(T)?(e.exit("htmlFlowData"),X(T)):(e.consume(T),G)}function X(T){return e.check(r6,L,ue)(T)}function L(T){return e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),Z}function Z(T){return T===null||Se(T)?X(T):(e.enter("htmlFlowData"),G(T))}function re(T){return T===45?(e.consume(T),I):G(T)}function V(T){return T===47?(e.consume(T),u="",$):G(T)}function $(T){if(T===62){const we=u.toLowerCase();return Sw.includes(we)?(e.consume(T),oe):G(T)}return Lr(T)&&u.length<8?(e.consume(T),u+=String.fromCharCode(T),$):G(T)}function le(T){return T===93?(e.consume(T),I):G(T)}function I(T){return T===62?(e.consume(T),oe):T===45&&i===2?(e.consume(T),I):G(T)}function oe(T){return T===null||Se(T)?(e.exit("htmlFlowData"),ue(T)):(e.consume(T),oe)}function ue(T){return e.exit("htmlFlow"),t(T)}}function l6(e,t,n){const r=this;return i;function i(u){return Se(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):n(u)}function l(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}function u6(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(zf,t,n)}}const s6={name:"htmlText",tokenize:a6};function a6(e,t,n){const r=this;let i,l,u;return a;function a(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),f}function f(I){return I===33?(e.consume(I),d):I===47?(e.consume(I),M):I===63?(e.consume(I),E):Lr(I)?(e.consume(I),K):n(I)}function d(I){return I===45?(e.consume(I),p):I===91?(e.consume(I),l=0,S):Lr(I)?(e.consume(I),v):n(I)}function p(I){return I===45?(e.consume(I),m):n(I)}function h(I){return I===null?n(I):I===45?(e.consume(I),y):Se(I)?(u=h,V(I)):(e.consume(I),h)}function y(I){return I===45?(e.consume(I),m):h(I)}function m(I){return I===62?re(I):I===45?y(I):h(I)}function S(I){const oe="CDATA[";return I===oe.charCodeAt(l++)?(e.consume(I),l===oe.length?_:S):n(I)}function _(I){return I===null?n(I):I===93?(e.consume(I),A):Se(I)?(u=_,V(I)):(e.consume(I),_)}function A(I){return I===93?(e.consume(I),w):_(I)}function w(I){return I===62?re(I):I===93?(e.consume(I),w):_(I)}function v(I){return I===null||I===62?re(I):Se(I)?(u=v,V(I)):(e.consume(I),v)}function E(I){return I===null?n(I):I===63?(e.consume(I),b):Se(I)?(u=E,V(I)):(e.consume(I),E)}function b(I){return I===62?re(I):E(I)}function M(I){return Lr(I)?(e.consume(I),R):n(I)}function R(I){return I===45||Fn(I)?(e.consume(I),R):j(I)}function j(I){return Se(I)?(u=j,V(I)):Ue(I)?(e.consume(I),j):re(I)}function K(I){return I===45||Fn(I)?(e.consume(I),K):I===47||I===62||_n(I)?q(I):n(I)}function q(I){return I===47?(e.consume(I),re):I===58||I===95||Lr(I)?(e.consume(I),U):Se(I)?(u=q,V(I)):Ue(I)?(e.consume(I),q):re(I)}function U(I){return I===45||I===46||I===58||I===95||Fn(I)?(e.consume(I),U):J(I)}function J(I){return I===61?(e.consume(I),G):Se(I)?(u=J,V(I)):Ue(I)?(e.consume(I),J):q(I)}function G(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),i=I,X):Se(I)?(u=G,V(I)):Ue(I)?(e.consume(I),G):(e.consume(I),L)}function X(I){return I===i?(e.consume(I),i=void 0,Z):I===null?n(I):Se(I)?(u=X,V(I)):(e.consume(I),X)}function L(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||_n(I)?q(I):(e.consume(I),L)}function Z(I){return I===47||I===62||_n(I)?q(I):n(I)}function re(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),t):n(I)}function V(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),$}function $(I){return Ue(I)?et(e,le,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):le(I)}function le(I){return e.enter("htmlTextData"),u(I)}}const ay={name:"labelEnd",tokenize:g6,resolveTo:h6,resolveAll:p6},c6={tokenize:m6},f6={tokenize:y6},d6={tokenize:v6};function p6(e){let t=-1;for(;++t=3&&(d===null||Se(d))?(e.exit("thematicBreak"),t(d)):n(d)}function f(d){return d===i?(e.consume(d),r++,f):(e.exit("thematicBreakSequence"),Ue(d)?et(e,a,"whitespace")(d):a(d))}}const gn={name:"list",tokenize:b6,continuation:{tokenize:T6},exit:R6},k6={tokenize:P6,partial:!0},I6={tokenize:O6,partial:!0};function b6(e,t,n){const r=this,i=r.events[r.events.length-1];let l=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,u=0;return a;function a(m){const S=r.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(S==="listUnordered"?!r.containerState.marker||m===r.containerState.marker:xg(m)){if(r.containerState.type||(r.containerState.type=S,e.enter(S,{_container:!0})),S==="listUnordered")return e.enter("listItemPrefix"),m===42||m===45?e.check(oc,n,d)(m):d(m);if(!r.interrupt||m===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),f(m)}return n(m)}function f(m){return xg(m)&&++u<10?(e.consume(m),f):(!r.interrupt||u<2)&&(r.containerState.marker?m===r.containerState.marker:m===41||m===46)?(e.exit("listItemValue"),d(m)):n(m)}function d(m){return e.enter("listItemMarker"),e.consume(m),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||m,e.check(zf,r.interrupt?n:p,e.attempt(k6,y,h))}function p(m){return r.containerState.initialBlankLine=!0,l++,y(m)}function h(m){return Ue(m)?(e.enter("listItemPrefixWhitespace"),e.consume(m),e.exit("listItemPrefixWhitespace"),y):n(m)}function y(m){return r.containerState.size=l+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(m)}}function T6(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(zf,i,l);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,et(e,t,"listItemIndent",r.containerState.size+1)(a)}function l(a){return r.containerState.furtherBlankLines||!Ue(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,u(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(I6,t,u)(a))}function u(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,et(e,e.attempt(gn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function O6(e,t,n){const r=this;return et(e,i,"listItemIndent",r.containerState.size+1);function i(l){const u=r.events[r.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===r.containerState.size?t(l):n(l)}}function R6(e){e.exit(this.containerState.type)}function P6(e,t,n){const r=this;return et(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(l){const u=r.events[r.events.length-1];return!Ue(l)&&u&&u[1].type==="listItemPrefixWhitespace"?t(l):n(l)}}const Ew={name:"setextUnderline",tokenize:A6,resolveTo:D6};function D6(e,t){let n=e.length,r,i,l;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!l&&e[n][1].type==="definition"&&(l=n);const u={type:"setextHeading",start:Object.assign({},e[i][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[i][1].type="setextHeadingText",l?(e.splice(i,0,["enter",u,t]),e.splice(l+1,0,["exit",e[r][1],t]),e[r][1].end=Object.assign({},e[l][1].end)):e[r][1]=u,e.push(["exit",u,t]),e}function A6(e,t,n){const r=this;let i;return l;function l(d){let p=r.events.length,h;for(;p--;)if(r.events[p][1].type!=="lineEnding"&&r.events[p][1].type!=="linePrefix"&&r.events[p][1].type!=="content"){h=r.events[p][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||h)?(e.enter("setextHeadingLine"),i=d,u(d)):n(d)}function u(d){return e.enter("setextHeadingLineSequence"),a(d)}function a(d){return d===i?(e.consume(d),a):(e.exit("setextHeadingLineSequence"),Ue(d)?et(e,f,"lineSuffix")(d):f(d))}function f(d){return d===null||Se(d)?(e.exit("setextHeadingLine"),t(d)):n(d)}}const N6={tokenize:M6};function M6(e){const t=this,n=e.attempt(zf,r,e.attempt(this.parser.constructs.flowInitial,i,et(e,e.attempt(this.parser.constructs.flow,i,e.attempt(B5,i)),"linePrefix")));return n;function r(l){if(l===null){e.consume(l);return}return e.enter("lineEndingBlank"),e.consume(l),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const L6={resolveAll:sk()},F6=uk("string"),z6=uk("text");function uk(e){return{tokenize:t,resolveAll:sk(e==="text"?j6:void 0)};function t(n){const r=this,i=this.parser.constructs[e],l=n.attempt(i,u,a);return u;function u(p){return d(p)?l(p):a(p)}function a(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),f}function f(p){return d(p)?(n.exit("data"),l(p)):(n.consume(p),f)}function d(p){if(p===null)return!0;const h=i[p];let y=-1;if(h)for(;++y-1){const a=u[0];typeof a=="string"?u[0]=a.slice(r):u.shift()}l>0&&u.push(e[i].slice(0,l))}return u}function $6(e,t){let n=-1;const r=[];let i;for(;++n0){const Mt=de.tokenStack[de.tokenStack.length-1];(Mt[1]||_w).call(de,void 0,Mt[0])}for(te.position={start:bi(H.length>0?H[0][1].start:{line:1,column:1,offset:0}),end:bi(H.length>0?H[H.length-2][1].end:{line:1,column:1,offset:0})},Ne=-1;++Ne1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(t,f);const d={type:"element",tagName:"sup",properties:{},children:[f]};return e.patch(t,d),e.applyData(t,d)}function gB(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function mB(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function fk(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),l=i[0];l&&l.type==="text"?l.value="["+l.value:i.unshift({type:"text",value:"["});const u=i[i.length-1];return u&&u.type==="text"?u.value+=r:i.push({type:"text",value:r}),i}function yB(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return fk(e,t);const i={src:Zl(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,l),e.applyData(t,l)}function vB(e,t){const n={src:Zl(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function xB(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function wB(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return fk(e,t);const i={href:Zl(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const l={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,l),e.applyData(t,l)}function SB(e,t){const n={href:Zl(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function EB(e,t,n){const r=e.all(t),i=n?CB(n):dk(t),l={},u=[];if(typeof t.checked=="boolean"){const p=r[0];let h;p&&p.type==="element"&&p.tagName==="p"?h=p:(h={type:"element",tagName:"p",properties:{},children:[]},r.unshift(h)),h.children.length>0&&h.children.unshift({type:"text",value:" "}),h.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),l.className=["task-list-item"]}let a=-1;for(;++a1}function _B(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},a=ry(t.children[1]),f=K_(t.children[t.children.length-1]);a&&f&&(u.position={start:a,end:f}),i.push(u)}const l={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,l),e.applyData(t,l)}function OB(e,t,n){const r=n?n.children:void 0,l=(r?r.indexOf(t):1)===0?"th":"td",u=n&&n.type==="table"?n.align:void 0,a=u?u.length:t.children.length;let f=-1;const d=[];for(;++f0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return l.push(bw(t.slice(i),i>0,!1)),l.join("")}function bw(e,t,n){let r=0,i=e.length;if(t){let l=e.codePointAt(r);for(;l===kw||l===Iw;)r++,l=e.codePointAt(r)}if(n){let l=e.codePointAt(i-1);for(;l===kw||l===Iw;)i--,l=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function DB(e,t){const n={type:"text",value:PB(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function AB(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const NB={blockquote:aB,break:cB,code:fB,delete:dB,emphasis:pB,footnoteReference:hB,heading:gB,html:mB,imageReference:yB,image:vB,inlineCode:xB,linkReference:wB,link:SB,listItem:EB,list:_B,paragraph:kB,root:IB,strong:bB,table:TB,tableCell:RB,tableRow:OB,text:DB,thematicBreak:AB,toml:Ba,yaml:Ba,definition:Ba,footnoteDefinition:Ba};function Ba(){}const pk=-1,jf=0,Qc=1,Xc=2,cy=3,fy=4,dy=5,py=6,hk=7,gk=8,Tw=typeof self=="object"?self:globalThis,MB=(e,t)=>{const n=(i,l)=>(e.set(l,i),i),r=i=>{if(e.has(i))return e.get(i);const[l,u]=t[i];switch(l){case jf:case pk:return n(u,i);case Qc:{const a=n([],i);for(const f of u)a.push(r(f));return a}case Xc:{const a=n({},i);for(const[f,d]of u)a[r(f)]=r(d);return a}case cy:return n(new Date(u),i);case fy:{const{source:a,flags:f}=u;return n(new RegExp(a,f),i)}case dy:{const a=n(new Map,i);for(const[f,d]of u)a.set(r(f),r(d));return a}case py:{const a=n(new Set,i);for(const f of u)a.add(r(f));return a}case hk:{const{name:a,message:f}=u;return n(new Tw[a](f),i)}case gk:return n(BigInt(u),i);case"BigInt":return n(Object(BigInt(u)),i)}return n(new Tw[l](u),i)};return r},Ow=e=>MB(new Map,e)(0),sl="",{toString:LB}={},{keys:FB}=Object,_u=e=>{const t=typeof e;if(t!=="object"||!e)return[jf,t];const n=LB.call(e).slice(8,-1);switch(n){case"Array":return[Qc,sl];case"Object":return[Xc,sl];case"Date":return[cy,sl];case"RegExp":return[fy,sl];case"Map":return[dy,sl];case"Set":return[py,sl]}return n.includes("Array")?[Qc,n]:n.includes("Error")?[hk,n]:[Xc,n]},Ua=([e,t])=>e===jf&&(t==="function"||t==="symbol"),zB=(e,t,n,r)=>{const i=(u,a)=>{const f=r.push(u)-1;return n.set(a,f),f},l=u=>{if(n.has(u))return n.get(u);let[a,f]=_u(u);switch(a){case jf:{let p=u;switch(f){case"bigint":a=gk,p=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+f);p=null;break;case"undefined":return i([pk],u)}return i([a,p],u)}case Qc:{if(f)return i([f,[...u]],u);const p=[],h=i([a,p],u);for(const y of u)p.push(l(y));return h}case Xc:{if(f)switch(f){case"BigInt":return i([f,u.toString()],u);case"Boolean":case"Number":case"String":return i([f,u.valueOf()],u)}if(t&&"toJSON"in u)return l(u.toJSON());const p=[],h=i([a,p],u);for(const y of FB(u))(e||!Ua(_u(u[y])))&&p.push([l(y),l(u[y])]);return h}case cy:return i([a,u.toISOString()],u);case fy:{const{source:p,flags:h}=u;return i([a,{source:p,flags:h}],u)}case dy:{const p=[],h=i([a,p],u);for(const[y,m]of u)(e||!(Ua(_u(y))||Ua(_u(m))))&&p.push([l(y),l(m)]);return h}case py:{const p=[],h=i([a,p],u);for(const y of u)(e||!Ua(_u(y)))&&p.push(l(y));return h}}const{message:d}=u;return i([a,{name:f,message:d}],u)};return l},Rw=(e,{json:t,lossy:n}={})=>{const r=[];return zB(!(t||n),!!t,new Map,r)(e),r},Zc=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Ow(Rw(e,t)):structuredClone(e):(e,t)=>Ow(Rw(e,t));function jB(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function BB(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function UB(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||jB,r=e.options.footnoteBackLabel||BB,i=e.options.footnoteLabel||"Footnotes",l=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},a=[];let f=-1;for(;++f0&&S.push({type:"text",value:" "});let v=typeof n=="string"?n:n(f,m);typeof v=="string"&&(v={type:"text",value:v}),S.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+y+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(f,m),className:["data-footnote-backref"]},children:Array.isArray(v)?v:[v]})}const A=p[p.length-1];if(A&&A.type==="element"&&A.tagName==="p"){const v=A.children[A.children.length-1];v&&v.type==="text"?v.value+=" ":A.children.push({type:"text",value:" "}),A.children.push(...S)}else p.push(...S);const w={type:"element",tagName:"li",properties:{id:t+"fn-"+y},children:e.wrap(p,!0)};e.patch(d,w),a.push(w)}if(a.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:l,properties:{...Zc(u),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` -`},{type:"element",tagName:"ol",properties:{},children:e.wrap(a,!0)},{type:"text",value:` -`}]}}const mk=function(e){if(e==null)return VB;if(typeof e=="function")return Bf(e);if(typeof e=="object")return Array.isArray(e)?$B(e):HB(e);if(typeof e=="string")return WB(e);throw new Error("Expected function, string, or object as test")};function $B(e){const t=[];let n=-1;for(;++n":""))+")"})}return y;function y(){let m=yk,S,_,A;if((!t||l(f,d,p[p.length-1]||void 0))&&(m=QB(n(f,p)),m[0]===Pw))return m;if("children"in f&&f.children){const w=f;if(w.children&&m[0]!==qB)for(_=(r?w.children.length:-1)+u,A=p.concat(w);_>-1&&_0&&n.push({type:"text",value:` -`}),n}function Dw(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Aw(e,t){const n=ZB(e,t),r=n.one(e,void 0),i=UB(n),l=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&l.children.push({type:"text",value:` -`},i),l}function rU(e,t){return e&&"run"in e?async function(n,r){const i=Aw(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Aw(n,{file:r,...t||e})}}function Nw(e){if(e)throw e}var lc=Object.prototype.hasOwnProperty,xk=Object.prototype.toString,Mw=Object.defineProperty,Lw=Object.getOwnPropertyDescriptor,Fw=function(t){return typeof Array.isArray=="function"?Array.isArray(t):xk.call(t)==="[object Array]"},zw=function(t){if(!t||xk.call(t)!=="[object Object]")return!1;var n=lc.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&lc.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var i;for(i in t);return typeof i>"u"||lc.call(t,i)},jw=function(t,n){Mw&&n.name==="__proto__"?Mw(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},Bw=function(t,n){if(n==="__proto__")if(lc.call(t,n)){if(Lw)return Lw(t,n).value}else return;return t[n]},iU=function e(){var t,n,r,i,l,u,a=arguments[0],f=1,d=arguments.length,p=!1;for(typeof a=="boolean"&&(p=a,a=arguments[1]||{},f=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});fu.length;let f;a&&u.push(i);try{f=e.apply(this,u)}catch(d){const p=d;if(a&&n)throw p;return i(p)}a||(f&&f.then&&typeof f.then=="function"?f.then(l,i):f instanceof Error?i(f):l(f))}function i(u,...a){n||(n=!0,t(u,...a))}function l(u){i(null,u)}}const Ar={basename:uU,dirname:sU,extname:aU,join:cU,sep:"/"};function uU(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');bs(e);let n=0,r=-1,i=e.length,l;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(l){n=i+1;break}}else r<0&&(l=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let u=-1,a=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(l){n=i+1;break}}else u<0&&(l=!0,u=i+1),a>-1&&(e.codePointAt(i)===t.codePointAt(a--)?a<0&&(r=i):(a=-1,r=u));return n===r?r=u:r<0&&(r=e.length),e.slice(n,r)}function sU(e){if(bs(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function aU(e){bs(e);let t=e.length,n=-1,r=0,i=-1,l=0,u;for(;t--;){const a=e.codePointAt(t);if(a===47){if(u){r=t+1;break}continue}n<0&&(u=!0,n=t+1),a===46?i<0?i=t:l!==1&&(l=1):i>-1&&(l=-1)}return i<0||n<0||l===0||l===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function cU(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function dU(e,t){let n="",r=0,i=-1,l=0,u=-1,a,f;for(;++u<=e.length;){if(u2){if(f=n.lastIndexOf("/"),f!==n.length-1){f<0?(n="",r=0):(n=n.slice(0,f),r=n.length-1-n.lastIndexOf("/")),i=u,l=0;continue}}else if(n.length>0){n="",r=0,i=u,l=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,u):n=e.slice(i+1,u),r=u-i-1;i=u,l=0}else a===46&&l>-1?l++:l=-1}return n}function bs(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const pU={cwd:hU};function hU(){return"/"}function Cg(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function gU(e){if(typeof e=="string")e=new URL(e);else if(!Cg(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return mU(e)}function mU(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[m,...S]=p;const _=r[y][1];Eg(_)&&Eg(m)&&(m=Qp(!0,_,m)),r[y]=[d,m,...S]}}}}const wU=new hy().freeze();function eh(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function th(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function nh(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function $w(e){if(!Eg(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Hw(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function $a(e){return SU(e)?e:new wk(e)}function SU(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function EU(e){return typeof e=="string"||CU(e)}function CU(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const _U="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Ww=[],Vw={allowDangerousHtml:!0},kU=/^(https?|ircs?|mailto|xmpp)$/i,IU=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function bU(e){const t=e.allowedElements,n=e.allowElement,r=e.children||"",i=e.className,l=e.components,u=e.disallowedElements,a=e.rehypePlugins||Ww,f=e.remarkPlugins||Ww,d=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Vw}:Vw,p=e.skipHtml,h=e.unwrapDisallowed,y=e.urlTransform||TU,m=wU().use(sB).use(f).use(rU,d).use(a),S=new wk;typeof r=="string"&&(S.value=r);for(const v of IU)Object.hasOwn(e,v.from)&&(""+v.from+(v.to?"use `"+v.to+"` instead":"remove it")+_U+v.id,void 0);const _=m.parse(S);let A=m.runSync(_,S);return i&&(A={type:"element",tagName:"div",properties:{className:i},children:A.type==="root"?A.children:[A]}),vk(A,w),Bj(A,{Fragment:P.Fragment,components:l,ignoreInvalidStyle:!0,jsx:P.jsx,jsxs:P.jsxs,passKeys:!0,passNode:!0});function w(v,E,b){if(v.type==="raw"&&b&&typeof E=="number")return p?b.children.splice(E,1):b.children[E]={type:"text",value:v.value},E;if(v.type==="element"){let M;for(M in Gp)if(Object.hasOwn(Gp,M)&&Object.hasOwn(v.properties,M)){const R=v.properties[M],j=Gp[M];(j===null||j.includes(v.tagName))&&(v.properties[M]=y(String(R||""),M,v))}}if(v.type==="element"){let M=t?!t.includes(v.tagName):u?u.includes(v.tagName):!1;if(!M&&n&&typeof E=="number"&&(M=!n(v,E,b)),M&&b&&typeof E=="number")return h&&v.children?b.children.splice(E,1,...v.children):b.children.splice(E,1),E}}}function TU(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t<0||i>-1&&t>i||n>-1&&t>n||r>-1&&t>r||kU.test(e.slice(0,t))?e:""}const OU=()=>P.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:"#ffffff",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[P.jsx("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P.jsx("circle",{cx:"12",cy:"12",r:"9"}),P.jsx("polyline",{points:"12 7 12 12 15 15"})]}),Kw=()=>P.jsx("div",{className:"divider"}),RU=({item:e,inventoryType:t,style:n},r)=>{const i=jr(d=>d.inventory.additionalMetadata),l=D.useMemo(()=>lt[e.name],[e]),u=D.useMemo(()=>e.ingredients?Object.entries(e.ingredients).sort((d,p)=>d[1]-p[1]):null,[e]),a=e.metadata?.description||l?.description,f=l?.ammoName&<[l?.ammoName]?.label;return P.jsx(P.Fragment,{children:l?P.jsxs("div",{style:{...n},className:"tooltip-wrapper",ref:r,children:[P.jsxs("div",{className:"tooltip-header-wrapper",children:[P.jsx("p",{children:e.metadata?.label||l.label||e.name}),t==="crafting"?P.jsxs("div",{className:"tooltip-crafting-duration",children:[P.jsx(OU,{}),P.jsxs("p",{children:[(e.duration!==void 0?e.duration:3e3)/1e3,"s"]})]}):P.jsx("p",{children:e.metadata?.type})]}),P.jsx(Kw,{}),a&&P.jsx("div",{className:"tooltip-description",children:P.jsx(bU,{className:"tooltip-markdown",children:a})}),t!=="crafting"?P.jsxs(P.Fragment,{children:[e.durability!==void 0&&P.jsxs("p",{children:[Be.ui_durability,": ",Math.trunc(e.durability)]}),e.metadata?.ammo!==void 0&&P.jsxs("p",{children:[Be.ui_ammo,": ",e.metadata.ammo]}),f&&P.jsxs("p",{children:[Be.ammo_type,": ",f]}),e.metadata?.serial&&P.jsxs("p",{children:[Be.ui_serial,": ",e.metadata.serial]}),e.metadata?.components&&e.metadata?.components[0]&&P.jsxs("p",{children:[Be.ui_components,":"," ",(e.metadata?.components).map((d,p,h)=>p+1===h.length?lt[d]?.label:lt[d]?.label+", ")]}),e.metadata?.weapontint&&P.jsxs("p",{children:[Be.ui_tint,": ",e.metadata.weapontint]}),i.map((d,p)=>P.jsx(D.Fragment,{children:e.metadata&&e.metadata[d.metadata]&&P.jsxs("p",{children:[d.value,": ",e.metadata[d.metadata]]})},`metadata-${p}`))]}):P.jsx("div",{className:"tooltip-ingredients",children:u&&u.map(d=>{const[p,h]=[d[0],d[1]];return P.jsxs("div",{className:"tooltip-ingredient",children:[P.jsx("img",{src:p?Ol(p):"none",alt:"item-image"}),P.jsx("p",{children:h>=1?`${h}x ${lt[p]?.label||p}`:h===0?`${lt[p]?.label||p}`:h<1&&`${h*100}% ${lt[p]?.label||p}`})]},`ingredient-${p}`)})})]}):P.jsxs("div",{className:"tooltip-wrapper",ref:r,style:n,children:[P.jsx("div",{className:"tooltip-header-wrapper",children:P.jsx("p",{children:e.name})}),P.jsx(Kw,{})]})})},PU=Ve.forwardRef(RU),DU=()=>{const e=jr(a=>a.tooltip),{refs:t,context:n,floatingStyles:r}=Nf({middleware:[m_(),g_(),h_({mainAxis:10,crossAxis:10})],open:e.open,placement:"right-start"}),{isMounted:i,styles:l}=Lf(n,{duration:200}),u=({clientX:a,clientY:f})=>{t.setPositionReference({getBoundingClientRect(){return{width:0,height:0,x:a,y:f,left:a,top:f,right:a,bottom:f}}})};return D.useEffect(()=>(window.addEventListener("mousemove",u),()=>{window.removeEventListener("mousemove",u)}),[]),P.jsx(P.Fragment,{children:i&&e.item&&e.inventoryType&&P.jsx(Af,{children:P.jsx(PU,{ref:t.setFloating,style:{...r,...l},item:e.item,inventoryType:e.inventoryType})})})},Sk=e=>{const t=D.useRef(null);return P.jsx(Ff,{in:e.in,nodeRef:t,classNames:"transition-fade",timeout:200,unmountOnExit:!0,children:P.jsx("span",{ref:t,children:e.children})})},AU=()=>{const[e,t]=D.useState(!1),n=Yl();return Mr("setInventoryVisible",t),Mr("closeInventory",()=>{t(!1),n(qC()),n(Hu())}),Xz(t),Mr("setupInventory",r=>{n(VC(r)),!e&&t(!0)}),Mr("refreshSlots",r=>n(CF(r))),Mr("displayMetadata",r=>{n(yF(r))}),P.jsxs(P.Fragment,{children:[P.jsx(Sk,{in:e,children:P.jsxs("div",{className:"inventory-wrapper",children:[P.jsx("div",{className:"hotslot-container",children:P.jsx(Yz,{})}),P.jsxs("div",{className:"inventory-wrapper-container",children:[P.jsx(ej,{}),P.jsx(Tz,{}),P.jsx(Jz,{}),P.jsx(DU,{}),P.jsx(M_,{})]})]})}),P.jsx(Bz,{})]})},_g=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),NU=e=>{const t=e.getInitialClientOffset(),n=e.getInitialSourceClientOffset();return t===null||n===null||t.x===void 0||t.y===void 0?{x:0,y:0}:_g(t,n)},MU=(e,t)=>{const n=e.getClientOffset();if(n===null)return null;if(!t.current||!t.current.getBoundingClientRect)return _g(n,NU(e));const r=t.current.getBoundingClientRect(),i={x:r.width/2,y:r.height/2};return _g(n,i)},LU=()=>{const e=D.useRef(null),{data:t,isDragging:n,currentOffset:r}=FL(i=>({data:i.getItem(),currentOffset:MU(i,e),isDragging:i.isDragging()}));return P.jsx(P.Fragment,{children:n&&r&&t.item&&P.jsx("div",{className:"item-drag-preview",ref:e,style:{transform:`translate(${r.x}px, ${r.y}px)`,backgroundImage:t.image}})})},FU=e=>{const[t,n]=D.useState(!1),r=D.useCallback(u=>({key:a})=>{a===e&&n(u)},[e]),i=r(!0),l=r(!1);return D.useEffect(()=>(window.addEventListener("keydown",i),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",i),window.removeEventListener("keyup",l)}),[i,l]),t},zU=()=>{const e=Yl(),t=FU("Shift");return D.useEffect(()=>{e(xF(t))},[t,e]),P.jsx(P.Fragment,{})},jU=()=>{const e=Yl(),t=di();return Mr("init",({locale:n,items:r,leftInventory:i,imagepath:l})=>{for(const u in n)Be[u]=n[u];for(const u in r)lt[u]=r[u];uF(l),e(VC({leftInventory:i}))}),ar("uiLoaded",{}),Mr("closeInventory",()=>{t.dispatch({type:"dnd-core/END_DRAG"})}),P.jsxs("div",{className:"app-wrapper",children:[P.jsx(AU,{}),P.jsx(LU,{}),P.jsx(zU,{})]})};addEventListener("dragstart",function(e){e.preventDefault()});const BU=(e=[])=>{const[t,n]=D.useState(e);return{add:r=>{n(i=>[...i,r])},remove:()=>{let r;return n(([i,...l])=>(r=i,l)),r},get values(){return t},get first(){return t[0]},get last(){return t[t.length-1]},get size(){return t.length}}},UU=Ve.createContext(null),$U=Ve.forwardRef((e,t)=>{const n=e.item.item;return P.jsx("div",{className:"item-notification-item-box",style:{backgroundImage:`url(${Ol(n)||"none"}`,...e.style},ref:t,children:P.jsxs("div",{className:"item-slot-wrapper",children:[P.jsx("div",{className:"item-notification-action-box",children:P.jsx("p",{children:e.item.text})}),P.jsx("div",{className:"inventory-slot-label-box",children:P.jsx("div",{className:"inventory-slot-label-text",children:n.metadata?.label||lt[n.name]?.label})})]})})}),HU=({children:e})=>{const t=BU(),n=r=>{const i=Ve.createRef(),l={id:Date.now(),item:r,ref:i};t.add(l);const u=setTimeout(()=>{t.remove(),clearTimeout(u)},2500)};return Mr("itemNotify",([r,i,l])=>{n({item:r,text:l?`${Be[i]} ${l}x`:`${Be[i]}`})}),P.jsxs(UU.Provider,{value:{add:n},children:[e,ql.createPortal(P.jsx(ey,{className:"item-notification-container",children:t.values.map((r,i)=>P.jsx(Sk,{children:P.jsx($U,{item:r.item,ref:r.ref})},`item-notification-${i}`))}),document.body)]})},Pu=document.getElementById("root");$C()&&(Pu.style.backgroundImage='url("https://i.imgur.com/3pzRj9n.png")',Pu.style.backgroundSize="cover",Pu.style.backgroundRepeat="no-repeat",Pu.style.backgroundPosition="center");oC(Pu).render(P.jsx(Ve.StrictMode,{children:P.jsx(GN,{store:Nn,children:P.jsx(pL,{backend:e3,options:{enableMouseEvents:!0},children:P.jsx(HU,{children:P.jsx(jU,{})})})})})); diff --git a/resources/[core]/ox_inventory/web/build/assets/index-tpuOFZRc.css b/resources/[core]/ox_inventory/web/build/assets/index-tpuOFZRc.css deleted file mode 100644 index df33d70..0000000 --- a/resources/[core]/ox_inventory/web/build/assets/index-tpuOFZRc.css +++ /dev/null @@ -1 +0,0 @@ -body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;background:none!important;overflow:hidden!important;-webkit-user-select:none;user-select:none}#root{height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{display:none}p{margin:0;padding:0;font-family:Roboto}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.app-wrapper{height:100%;width:100%;color:#fff}.context-menu-list{min-width:100px;color:#c1c2c5;padding:4px;gap:4px;outline:none;display:flex;flex-direction:column}.context-menu-item{padding:9px;border-radius:0vh;background:#202020;border:1px solid rgb(55,55,55);box-shadow:0 0 1vh #0000004d;outline:none;color:#c1c2c5;display:flex;justify-content:space-between;align-items:center}.context-menu-item:active{transform:none}.context-menu-item:hover{background:#00f8b938;border:.1296296288vh solid rgba(255,255,255,.15);border-radius:0vh;cursor:pointer}.tooltip-description{padding-top:5px}.tooltip-markdown>p{margin:0}button:active{transform:translateY(3px)}.item-drag-preview{width:5vh;height:5vh;z-index:1;position:fixed;pointer-events:none;top:0;left:0;background-repeat:no-repeat;background-position:center;background-size:4.5vh;image-rendering:-webkit-optimize-contrast}.inventory-wrapper{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;margin-top:10vh}.inventory-wrapper-container{background-color:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px;border-radius:10px;margin-right:1.5rem}.inventory-control{display:flex}.inventory-control .inventory-control-wrapper{display:flex;flex-direction:row;gap:4px;padding:4px 8px;justify-content:center;align-items:center;background:#ffffff1a;border-radius:5px;box-shadow:0 0 4px #0003}.inventory-control .inventory-control-input{transition:.2s;padding:8px;width:4rem;font-family:Roboto;font-size:12px;text-align:center;outline:none;color:#fff;background:radial-gradient(circle,#8d063a17,#4d4f572d);border:.1296296288vh solid rgba(136,7,97,.22)}.inventory-control .inventory-control-input:focus-within{background:#f10d8b38;border:.1296296288vh solid rgba(0,248,185,.22)}.inventory-control .inventory-control-button{font-size:11px;padding:5px 10px;background:#ccc;border:none;border-radius:4px;text-transform:uppercase;color:#333;transition:background .3s ease}.inventory-control .inventory-control-button:hover{background:#bbb}.inventory-control-button:first-child{background:#2a9d8f;color:#fff}.inventory-control-button:first-child:hover{background:#21867a}.useful-controls-dialog{background-color:#16161aef;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#c1c2c5;width:300px;display:flex;flex-direction:column;padding:12px;border-radius:4px;gap:12px}.useful-controls-dialog-overlay{background-color:#00000080}.useful-controls-dialog-title{display:flex;width:100%;justify-content:space-between;align-items:center;font-size:16px}.useful-controls-dialog-close{width:20px;height:20px;padding:4px;display:flex;justify-content:center;align-items:center;border-radius:4px;fill:#c1c2c5}.useful-controls-dialog-close:hover{box-shadow:0 0 20px 5px #31d4a9 inset!important;border:.1296296288vh solid rgba(0,248,185,.22);border-radius:0vh;cursor:pointer}.useful-controls-content-wrapper{display:flex;flex-direction:column;gap:12px}.divider{width:100%;height:1px;background-color:#ffffff1f}.useful-controls-button{transition:.2s!important;border:none;color:#fff;padding:5px 6px;width:100%;display:flex;justify-content:center;align-items:center;fill:#fff;background:#a1054e38;border:.1296296288vh solid rgba(255,255,255,.15);border-radius:0vh}.useful-controls-button:hover{box-shadow:0 0 20px 5px #ec2772 inset!important;border:.1296296288vh solid rgba(0,248,185,.22);border-radius:0vh;cursor:pointer}.useful-controls-exit-button{position:absolute!important;right:8px;top:8px;border-radius:2.5%!important;color:gray!important}.inventory-grid-wrapper{display:flex;flex-direction:column;gap:.6rem;padding:.5rem;border-radius:.4rem}.inventory-grid-header-wrapper{display:flex;flex-direction:row;justify-content:space-between}.inventory-grid-header-wrapper p{font-size:12px;padding-bottom:5px}.inventory-grid-container-left,.inventory-grid-container-right{display:grid;height:calc(30.4vh + 1.6rem);grid-template-columns:repeat(4,7.5vh);grid-auto-rows:7.6vh;gap:.4rem;overflow-y:scroll}.inventory-slot,.item-notification-item-box,.hotbar-item-slot{background:#6e6e6e28;border:1px solid rgb(55,55,55);box-shadow:0 0 50px 5px #000000ce inset;background-repeat:no-repeat;background-position:center;border-radius:.5rem;image-rendering:-webkit-optimize-contrast;position:relative;background-size:5vh;color:#c1c2c5;animation:zoomOutAndShake .7s cubic-bezier(.25,.46,.45,.94) both}.inventory-slot:hover,.item-notification-item-box:hover,.hotbar-item-slot:hover{box-shadow:0 0 50px 5px #c50f7996 inset;border:.1296296288vh solid rgba(248,0,83,.22);border-radius:.5rem}@keyframes zoomOutAndShake{0%{transform:scale(0)}to{transform:scale(1)}}.inventory-slot-label-box{background:#6e6e6e28;border:1px solid rgb(55,55,55);color:#c1c2c5;text-align:center;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.inventory-slot-label-text{text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 3px;font-weight:400;font-family:Roboto;font-size:10px}.inventory-slot-number{background-color:#96065f;box-shadow:0 0 1vh #03b89a59;border:1px solid rgba(0,255,221,.3294117647);color:#fff;height:10px;border-radius:.25vh;border-top-left-radius:.5rem;padding:3px;font-size:12px;font-family:Roboto}.item-slot-wrapper{display:flex;flex-direction:column;justify-content:space-between;height:100%}.item-slot-wrapper p{font-size:14px}.item-slot-header-wrapper,.item-hotslot-header-wrapper{display:flex;flex-direction:row;justify-content:flex-end}.item-hotslot-header-wrapper{justify-content:space-between!important}.item-slot-info-wrapper{display:flex;flex-direction:row;align-self:flex-end;color:#dfdfdf;padding:3px;gap:4px}.item-slot-info-wrapper p{font-size:10px}.item-slot-currency-wrapper{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding-right:3px}.item-slot-currency-wrapper p{font-size:10px;text-shadow:.1vh .1vh 0 rgba(0,0,0,.7)}.item-slot-price-wrapper{display:flex;flex-direction:row;justify-content:flex-end;padding-right:3px}.item-slot-price-wrapper p{font-size:10px;text-shadow:.1vh .1vh 0 rgba(0,0,0,.7)}.tooltip-wrapper{pointer-events:none;display:flex;width:150px;padding:8px;flex-direction:column;min-width:150px;color:#fff;font-family:Roboto;background:#6e6e6e28;border:1px solid rgb(55,55,55)}.tooltip-wrapper p{font-size:10px;font-weight:400}.tooltip-header-wrapper{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.tooltip-header-wrapper p{font-size:12px;font-weight:400}.tooltip-crafting-duration{display:flex;flex-direction:row;align-items:center;justify-content:center}.tooltip-crafting-duration svg{padding-right:3px}.tooltip-crafting-duration p{font-size:12px}.tooltip-ingredients{padding-top:5px}.tooltip-ingredient{display:flex;flex-direction:row;align-items:center}.tooltip-ingredient img{width:24px;height:24px;padding-right:5px}.hotslot-wrapper{display:grid;height:calc(30.4vh + 1.6rem);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;grid-template-columns:repeat(1,7.5vh);grid-auto-rows:7.6vh;gap:.4rem;margin-top:2vh}.hotslot-container{background-color:none;display:flex;padding-top:5px;padding-bottom:5px;padding-left:5px;border-top-left-radius:8px;border-bottom-left-radius:8px;margin-top:0;margin-left:auto}.hotbar-container{display:flex;align-items:center;gap:2px;justify-content:center;width:100%;position:absolute;bottom:2vh}.hotbar-item-slot{width:7.5vh;height:7.5vh}.hotbar-slot-header-wrapper{display:flex;flex-direction:row;justify-content:space-between}.item-notification-container{display:flex;overflow-x:scroll;flex-wrap:nowrap;gap:2px;position:absolute;bottom:10vh;left:50%;width:100%;margin-left:calc(50% - 3.75vh);transform:translate(-50%)}.item-notification-action-box{width:100%;color:#c1c2c5;text-transform:uppercase;text-align:center;border-radius:.5rem;font-family:Roboto}.item-notification-action-box p{font-size:8px;padding:2px;font-weight:600}.item-notification-item-box{height:7.5vh;width:7.5vh}.durability-bar{background:#86073c6b;height:3px;border-radius:.25rem;overflow:hidden}.weight-bar{background:#86073c6b;border:1px solid rgb(122,11,54);height:1.2vh;border-radius:.25rem;overflow:hidden}.transition-fade-enter{opacity:0}.transition-fade-enter-active{opacity:1;transition:opacity .2s}.transition-fade-exit{opacity:1}.transition-fade-exit-active{opacity:0;transition:opacity .2s}.transition-slide-up-enter{transform:translateY(200px)}.transition-slide-up-enter-active{transform:translateY(0);transition:all .2s}.transition-slide-up-exit{transform:translateY(0)}.transition-slide-up-exit-active{transform:translateY(200px);transition:all .2s} diff --git a/resources/[core]/ox_inventory/web/build/index.html b/resources/[core]/ox_inventory/web/build/index.html index 273eb7d..d520a6c 100644 --- a/resources/[core]/ox_inventory/web/build/index.html +++ b/resources/[core]/ox_inventory/web/build/index.html @@ -7,10 +7,11 @@ Ox Inventory - - + +
+ diff --git a/resources/[core]/ui_hud/.gitattributes b/resources/[core]/ui_hud/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/resources/[core]/ui_hud/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/resources/[core]/ui_hud/README.md b/resources/[core]/ui_hud/README.md new file mode 100644 index 0000000..dbde1f2 --- /dev/null +++ b/resources/[core]/ui_hud/README.md @@ -0,0 +1,45 @@ +![afterlifehud|690x388](https://forum-cfx-re.akamaized.net/optimized/5X/1/0/e/1/10e139dfdca32d7b7168d183b61d977ef0b064fb_2_690x388.jpeg) + +# Afterlife Hud +this hud was mainly inspired by watch dogs style ui and some other games too, its a simple yet a complex hud resource and i am planning on to improving it to alot further so any **Pull Request** will be really apreciated + +![framework supported|690x276](https://forum-cfx-re.akamaized.net/optimized/5X/f/8/4/c/f84cae152f9b989a2c5ffe40f01e876db5e3c884_2_690x276.png) + + +# Features: + +> **REACT & MANTINE** +> The hud is written with react and using mantine emotion for styling to ensure the best performance of the resource + +> **UNIQUE MINIMAP** +> Unique rectangular minimap style with borders that can be off and location direction ui incorporated into minimap + +> **SPEEDOMETER** +> simple yet a good looking speedometer on the side of minimap with seatbelt system + +> **PLAYER STATUS** +> A simple icon based player status ui on the right side of the screen + +> **SETTINGS** +> Settings menu to customize the hud to your liking and the options are limited now but will be expanded in the future +> +> ![](https://forum-cfx-re.akamaized.net/original/5X/3/7/7/1/3771f5de987fd76b58678443c5d45cb2497b92aa.jpeg) + +[Preview](https://youtu.be/nHTXMXuKbVg) +[Download](https://github.com/AfterLifeStudio/Afterlife-Hud) + +Need Support +[Discord](https://discord.gg/fG8gtywEZ5) + +| | | +|-------------------------------------|----------------------------| +| Code is accessible | Yes | +| Subscription-based | No | +| Lines (approximately) | 2000 | +| Requirements | oxlib & frameworkl | +| Support | Yes | + + +## Copyright + +Copyright © 2024 AfterLifeStudio diff --git a/resources/[core]/ui_hud/framework/standalone.lua b/resources/[core]/ui_hud/framework/standalone.lua index 4afc563..801dd48 100644 --- a/resources/[core]/ui_hud/framework/standalone.lua +++ b/resources/[core]/ui_hud/framework/standalone.lua @@ -1,13 +1,13 @@ -if not (Framework == 'standalone') then return end - -PlayerLoaded = false - -AddEventHandler('onResourceStart', function(resourceName) - Wait(1000) - if resourceName ~= GetCurrentResourceName() then return end - local response = LoadHud() - if response then - DisplayHud(GlobalSettings.showhud) - PlayerLoaded = true - end -end) +if not (Framework == 'standalone') then return end + +PlayerLoaded = false + +AddEventHandler('onResourceStart', function(resourceName) + Wait(1000) + if resourceName ~= GetCurrentResourceName() then return end + local response = LoadHud() + if response then + DisplayHud(GlobalSettings.showhud) + PlayerLoaded = true + end +end) diff --git a/resources/[core]/ui_hud/fxmanifest.lua b/resources/[core]/ui_hud/fxmanifest.lua index 5e7237d..490a23c 100644 --- a/resources/[core]/ui_hud/fxmanifest.lua +++ b/resources/[core]/ui_hud/fxmanifest.lua @@ -1,9 +1,11 @@ fx_version 'cerulean' game 'gta5' lua54 'yes' -name 'UI-hud' -author 'androxa & marcymeer' +name 'Afterlife_hud' +author 'AfterLifeStudio' version 'BETA' +repository 'https://github.com/AfterLifeStudio/Afterlife-Hud' +description 'Simple yet a complex hud resource' dependencies { 'ox_lib', @@ -15,7 +17,8 @@ client_scripts { 'util/client.lua', 'data/*.lua', 'framework/*.lua', - 'modules/*.lua' + 'modules/*.lua', + '@qbx_core/modules/playerdata.lua' } shared_script '@ox_lib/init.lua' diff --git a/resources/[core]/ui_hud/modules/compass.lua b/resources/[core]/ui_hud/modules/compass.lua index eb7634a..2bbcad7 100644 --- a/resources/[core]/ui_hud/modules/compass.lua +++ b/resources/[core]/ui_hud/modules/compass.lua @@ -1,47 +1,47 @@ - ----@return string -local GetPlayerDirection = function (dgr) - if (dgr >= 0.0 and dgr < 22.5) or dgr >= 337.5 then - return 'N' - elseif dgr >= 22.5 and dgr < 67.5 then - return 'NE' - elseif dgr >= 67.5 and dgr < 112.5 then - return 'E' - elseif dgr >= 112.5 and dgr < 157.5 then - return 'SE' - elseif dgr >= 157.5 and dgr < 202.5 then - return 'S' - elseif dgr >= 202.5 and dgr < 247.5 then - return 'SW' - elseif dgr >= 247.5 and dgr < 292.5 then - return 'W' - elseif dgr >= 292.5 and dgr < 337.5 then - return 'NW' - end -end - - -CreateThread(function() - while true do - local ped = cache.ped - local coords = GetEntityCoords(ped) - local street1,street2 = GetStreetNameAtCoord(coords.x,coords.y,coords.z) - local streetname = GetStreetNameFromHashKey(street2) - if street2 == 0 then - streetname = GetStreetNameFromHashKey(street1) - end - local dgr = GetGameplayCamRot(0).z + 180 - local direction = GetPlayerDirection(dgr) - - NuiMessage('compass',{ - show = GlobalSettings.showminimap, - circlemap = GlobalSettings.circlemap, - streetname = streetname, - direction = direction, - heading = dgr, - width = NuiRes.width, - height = NuiRes.height - }) - Wait(50) - end + +---@return string +local GetPlayerDirection = function (dgr) + if (dgr >= 0.0 and dgr < 22.5) or dgr >= 337.5 then + return 'N' + elseif dgr >= 22.5 and dgr < 67.5 then + return 'NE' + elseif dgr >= 67.5 and dgr < 112.5 then + return 'E' + elseif dgr >= 112.5 and dgr < 157.5 then + return 'SE' + elseif dgr >= 157.5 and dgr < 202.5 then + return 'S' + elseif dgr >= 202.5 and dgr < 247.5 then + return 'SW' + elseif dgr >= 247.5 and dgr < 292.5 then + return 'W' + elseif dgr >= 292.5 and dgr < 337.5 then + return 'NW' + end +end + + +CreateThread(function() + while true do + local ped = cache.ped + local coords = GetEntityCoords(ped) + local street1,street2 = GetStreetNameAtCoord(coords.x,coords.y,coords.z) + local streetname = GetStreetNameFromHashKey(street2) + if street2 == 0 then + streetname = GetStreetNameFromHashKey(street1) + end + local dgr = GetGameplayCamRot(0).z + 180 + local direction = GetPlayerDirection(dgr) + + NuiMessage('compass',{ + show = GlobalSettings.showminimap, + circlemap = GlobalSettings.circlemap, + streetname = streetname, + direction = direction, + heading = dgr, + width = NuiRes.width, + height = NuiRes.height + }) + Wait(50) + end end) \ No newline at end of file diff --git a/resources/[core]/ui_hud/modules/hud.lua b/resources/[core]/ui_hud/modules/hud.lua index d6a0492..e66807c 100644 --- a/resources/[core]/ui_hud/modules/hud.lua +++ b/resources/[core]/ui_hud/modules/hud.lua @@ -1,36 +1,36 @@ -local Active = false -local IsPauseMenuActive = IsPauseMenuActive - ----@class hidehudcomponents -local hidehudcomponents = {6,7,8,9} - -CreateThread(function() - DisplayRadar(false) - for i = 1,#hidehudcomponents do - SetHudComponentSize(hidehudcomponents[i], 0, 0) - end -end) - ----@param state boolean; -DisplayHud = function (state) - NuiMessage('visible', state) - DisplayRadar(state) -end - -CreateThread(function() - while true do - if GlobalSettings.showhud then - local pausemenuactive = IsPauseMenuActive() - - if pausemenuactive and not Active then - NuiMessage('visible', Active) - Active = true - elseif not pausemenuactive and Active then - StreamMinimap() - NuiMessage('visible', Active) - Active = false - end - end - Wait(1000) - end -end) +local Active = false +local IsPauseMenuActive = IsPauseMenuActive + +---@class hidehudcomponents +local hidehudcomponents = {6,7,8,9} + +CreateThread(function() + DisplayRadar(false) + for i = 1,#hidehudcomponents do + SetHudComponentSize(hidehudcomponents[i], 0, 0) + end +end) + +---@param state boolean; +DisplayHud = function (state) + NuiMessage('visible', state) + DisplayRadar(state) +end + +CreateThread(function() + while true do + if GlobalSettings.showhud then + local pausemenuactive = IsPauseMenuActive() + + if pausemenuactive and not Active then + NuiMessage('visible', Active) + Active = true + elseif not pausemenuactive and Active then + StreamMinimap() + NuiMessage('visible', Active) + Active = false + end + end + Wait(1000) + end +end) diff --git a/resources/[core]/ui_hud/modules/minimap.lua b/resources/[core]/ui_hud/modules/minimap.lua index c78a0b0..2c5607d 100644 --- a/resources/[core]/ui_hud/modules/minimap.lua +++ b/resources/[core]/ui_hud/modules/minimap.lua @@ -1,85 +1,85 @@ -local resolutions = lib.load('data.resolutions') - -local GetActualScreenResolution = GetActualScreenResolution -local RequestStreamedTextureDict = RequestStreamedTextureDict -local HasStreamedTextureDictLoaded = HasStreamedTextureDictLoaded -local SetMinimapComponentPosition = SetMinimapComponentPosition -local SetBlipAlpha = SetBlipAlpha -local GetNorthRadarBlip = GetNorthRadarBlip -local SetRadarBigmapEnabled = SetRadarBigmapEnabled -local RequestScaleformMovie = RequestScaleformMovie -local BeginScaleformMovieMethod = BeginScaleformMovieMethod -local EndScaleformMovieMethod = EndScaleformMovieMethod - - - ----@class NuiRes -NuiRes = { - width = 203, - height = 245 -} - ----@class defaultres -local defaultres = { - sizex = 203, - sizey = 245, - posx = 0.847, - posy = -0.019, -} - ----@return table -local function CalculateMinimap() - local screenx, screeny = GetActualScreenResolution() - local res = defaultres - for i = 1, #resolutions do - if resolutions[i].screenx == screenx and resolutions[i].screeny == screeny then - res = resolutions[i] - break; - end - end - - return res -end - ----@return boolean -StreamMinimap = function() - local dimensions = CalculateMinimap() - local dir = 'L' - local map = GlobalSettings.circlemap and 'circlemap' or 'squaremap' - - - Wait(1000) - RequestStreamedTextureDict(map, false) - while not HasStreamedTextureDictLoaded(map) do - Wait(100) - end - SetBlipAlpha(GetNorthRadarBlip(), 0) - AddReplaceTexture("platform:/textures/graphics", "radarmasksm", map, "radarmasksm") - - SetMinimapClipType(GlobalSettings.circlemap and 1 or 0) - - local w, h = 0.111, 0.245 - - if GlobalSettings.circlemap then - SetMinimapComponentPosition('minimap', dir, 'B', dimensions.posx - 0.003, dimensions.posy, w, h) - SetMinimapComponentPosition('minimap_mask', dir, 'B', dimensions.posx - 0.007, dimensions.posy + 0.03, w, h - 0.05) - SetMinimapComponentPosition('minimap_blur', dir, 'B', dimensions.posx - 0.007, dimensions.posy, w, h) - else - SetMinimapComponentPosition('minimap', dir, 'B', dimensions.posx - 0.03, dimensions.posy, w + 0.06, h + 0.0) - SetMinimapComponentPosition('minimap_mask', dir, 'B', dimensions.posx + 0.008, dimensions.posy, w - 0.0, h + 0.05) - SetMinimapComponentPosition('minimap_blur', dir, 'B', dimensions.posx, dimensions.posy, w, h) - end - - SetRadarBigmapEnabled(true, false) - Wait(0) - SetRadarBigmapEnabled(false, false) - - - NuiRes = { - width = dimensions.sizex + (GlobalSettings.circlemap and 75 or 0), - height = dimensions.sizey - } - return true -end - - +local resolutions = lib.load('data.resolutions') + +local GetActualScreenResolution = GetActualScreenResolution +local RequestStreamedTextureDict = RequestStreamedTextureDict +local HasStreamedTextureDictLoaded = HasStreamedTextureDictLoaded +local SetMinimapComponentPosition = SetMinimapComponentPosition +local SetBlipAlpha = SetBlipAlpha +local GetNorthRadarBlip = GetNorthRadarBlip +local SetRadarBigmapEnabled = SetRadarBigmapEnabled +local RequestScaleformMovie = RequestScaleformMovie +local BeginScaleformMovieMethod = BeginScaleformMovieMethod +local EndScaleformMovieMethod = EndScaleformMovieMethod + + + +---@class NuiRes +NuiRes = { + width = 203, + height = 245 +} + +---@class defaultres +local defaultres = { + sizex = 203, + sizey = 245, + posx = 0.847, + posy = -0.019, +} + +---@return table +local function CalculateMinimap() + local screenx, screeny = GetActualScreenResolution() + local res = defaultres + for i = 1, #resolutions do + if resolutions[i].screenx == screenx and resolutions[i].screeny == screeny then + res = resolutions[i] + break; + end + end + + return res +end + +---@return boolean +StreamMinimap = function() + local dimensions = CalculateMinimap() + local dir = 'L' + local map = GlobalSettings.circlemap and 'circlemap' or 'squaremap' + + + Wait(1000) + RequestStreamedTextureDict(map, false) + while not HasStreamedTextureDictLoaded(map) do + Wait(100) + end + SetBlipAlpha(GetNorthRadarBlip(), 0) + AddReplaceTexture("platform:/textures/graphics", "radarmasksm", map, "radarmasksm") + + SetMinimapClipType(GlobalSettings.circlemap and 1 or 0) + + local w, h = 0.111, 0.245 + + if GlobalSettings.circlemap then + SetMinimapComponentPosition('minimap', dir, 'B', dimensions.posx - 0.003, dimensions.posy, w, h) + SetMinimapComponentPosition('minimap_mask', dir, 'B', dimensions.posx - 0.007, dimensions.posy + 0.03, w, h - 0.05) + SetMinimapComponentPosition('minimap_blur', dir, 'B', dimensions.posx - 0.007, dimensions.posy, w, h) + else + SetMinimapComponentPosition('minimap', dir, 'B', dimensions.posx - 0.03, dimensions.posy, w + 0.06, h + 0.0) + SetMinimapComponentPosition('minimap_mask', dir, 'B', dimensions.posx + 0.008, dimensions.posy, w - 0.0, h + 0.05) + SetMinimapComponentPosition('minimap_blur', dir, 'B', dimensions.posx, dimensions.posy, w, h) + end + + SetRadarBigmapEnabled(true, false) + Wait(0) + SetRadarBigmapEnabled(false, false) + + + NuiRes = { + width = dimensions.sizex + (GlobalSettings.circlemap and 75 or 0), + height = dimensions.sizey + } + return true +end + + diff --git a/resources/[core]/ui_hud/modules/playerstatus.lua b/resources/[core]/ui_hud/modules/playerstatus.lua index 2423c86..35f63cd 100644 --- a/resources/[core]/ui_hud/modules/playerstatus.lua +++ b/resources/[core]/ui_hud/modules/playerstatus.lua @@ -1,52 +1,52 @@ - ----@class Playerstatus -Playerstatus = { - voicemode = 0, - Hunger = 0, - Thirst = 0, - Stress = 100, -} - - -local GetEntityHealth = GetEntityHealth -local GetPedArmour = GetPedArmour -local IsEntityInWater = IsEntityInWater -local GetPlayerSprintStaminaRemaining = GetPlayerSprintStaminaRemaining -local GetPlayerUnderwaterTimeRemaining = GetPlayerUnderwaterTimeRemaining - -CreateThread(function() - while true do - local ped = cache.ped - local playerid = cache.playerId - local health = GetEntityHealth(ped) - local armour = GetPedArmour(ped) - local voice = NetworkIsPlayerTalking(playerid) - local oxygen - if not IsEntityInWater(ped) then - oxygen = 100 - GetPlayerSprintStaminaRemaining(playerid) - end - - if IsEntityInWater(ped) then - oxygen = GetPlayerUnderwaterTimeRemaining(playerid) * 10 - end - - NuiMessage('playerstatus', { - show = GlobalSettings.showplayerstatus, - health = health - 100, - armour = armour, - oxygen = oxygen, - voice = voice, - voicemode = Playerstatus.voicemode, - hunger = Playerstatus.Hunger, - thirst = Playerstatus.Thirst, - }) - Wait(1200) - end -end) - ----@param mode integer -AddEventHandler('pma-voice:setTalkingMode', function(mode) - Playerstatus.voicemode = mode -end) - - + +---@class Playerstatus +Playerstatus = { + voicemode = 0, + Hunger = 0, + Thirst = 0, + Stress = 100, +} + + +local GetEntityHealth = GetEntityHealth +local GetPedArmour = GetPedArmour +local IsEntityInWater = IsEntityInWater +local GetPlayerSprintStaminaRemaining = GetPlayerSprintStaminaRemaining +local GetPlayerUnderwaterTimeRemaining = GetPlayerUnderwaterTimeRemaining + +CreateThread(function() + while true do + local ped = cache.ped + local playerid = cache.playerId + local health = GetEntityHealth(ped) + local armour = GetPedArmour(ped) + local voice = NetworkIsPlayerTalking(playerid) + local oxygen + if not IsEntityInWater(ped) then + oxygen = 100 - GetPlayerSprintStaminaRemaining(playerid) + end + + if IsEntityInWater(ped) then + oxygen = GetPlayerUnderwaterTimeRemaining(playerid) * 10 + end + + NuiMessage('playerstatus', { + show = GlobalSettings.showplayerstatus, + health = health - 100, + armour = armour, + oxygen = oxygen, + voice = voice, + voicemode = Playerstatus.voicemode, + hunger = Playerstatus.Hunger, + thirst = Playerstatus.Thirst, + }) + Wait(1200) + end +end) + +---@param mode integer +AddEventHandler('pma-voice:setTalkingMode', function(mode) + Playerstatus.voicemode = mode +end) + + diff --git a/resources/[core]/ui_hud/modules/settings.lua b/resources/[core]/ui_hud/modules/settings.lua index f3e2739..b51e027 100644 --- a/resources/[core]/ui_hud/modules/settings.lua +++ b/resources/[core]/ui_hud/modules/settings.lua @@ -1,77 +1,77 @@ - -local GetResourceKvpString = GetResourceKvpString -local SetResourceKvp = SetResourceKvp -local PlaySoundFromEntity = PlaySoundFromEntity - ----@class GlobalSettings -GlobalSettings = {} - ----@class Settings -local Settings = { - showhud = true, - cinemtic = false, - circlemap = false, - showspeedometer = true, - showplayerstatus = true, - showminimap = true, - speedunitmph = true, - squaremap = false, -} - ----@return boolean -LoadHud = function () - ::Repeat:: - - local data = GetResourceKvpString('Hud:Data') - - if data then - GlobalSettings = json.decode(data) - else - SetResourceKvp('Hud:Data', json.encode(Settings)) - goto Repeat - end - - local response = StreamMinimap() - return response -end - - ----@param data table -RegisterNUICallback('settings', function (data, cb) - local value = data.input - - GlobalSettings[data.option] = value - SetResourceKvp('Hud:Data', json.encode(GlobalSettings)) - - if data.option == 'showhud' then - DisplayHud(GlobalSettings[data.option]) - elseif data.option == 'circlemap' then - StreamMinimap() - elseif data.option == 'cinemtic' then - --Todo - end - - PlaySoundFromEntity(-1, "BACK", cache.ped, "HUD_FRONTEND_DEFAULT_SOUNDSET", 0, 0) - - cb{{}} -end) - - - - -RegisterNUICallback('exitsettings', function (data, cb) - SetNuiFocus(false, false) - PlaySoundFromEntity(-1, "BACK", cache.ped, "HUD_FRONTEND_DEFAULT_SOUNDSET", 0, 0) - cb{{}} -end) - -lib.addKeybind({ - name = 'hud:settings', - description = 'Toggle Hud Settings', - defaultKey = 'i', - onPressed = function(self) - PlaySoundFromEntity(-1, "BACK", cache.ped, "HUD_FRONTEND_DEFAULT_SOUNDSET", 0, 0) - NuiMessage('settings',GlobalSettings) - SetNuiFocus(true, true) - end, -}) + +local GetResourceKvpString = GetResourceKvpString +local SetResourceKvp = SetResourceKvp +local PlaySoundFromEntity = PlaySoundFromEntity + +---@class GlobalSettings +GlobalSettings = {} + +---@class Settings +local Settings = { + showhud = true, + cinemtic = false, + circlemap = false, + showspeedometer = true, + showplayerstatus = true, + showminimap = true, + speedunitmph = true, + squaremap = false, +} + +---@return boolean +LoadHud = function () + ::Repeat:: + + local data = GetResourceKvpString('Hud:Data') + + if data then + GlobalSettings = json.decode(data) + else + SetResourceKvp('Hud:Data', json.encode(Settings)) + goto Repeat + end + + local response = StreamMinimap() + return response +end + + +---@param data table +RegisterNUICallback('settings', function (data, cb) + local value = data.input + + GlobalSettings[data.option] = value + SetResourceKvp('Hud:Data', json.encode(GlobalSettings)) + + if data.option == 'showhud' then + DisplayHud(GlobalSettings[data.option]) + elseif data.option == 'circlemap' then + StreamMinimap() + elseif data.option == 'cinemtic' then + --Todo + end + + PlaySoundFromEntity(-1, "BACK", cache.ped, "HUD_FRONTEND_DEFAULT_SOUNDSET", 0, 0) + + cb{{}} +end) + + + + +RegisterNUICallback('exitsettings', function (data, cb) + SetNuiFocus(false, false) + PlaySoundFromEntity(-1, "BACK", cache.ped, "HUD_FRONTEND_DEFAULT_SOUNDSET", 0, 0) + cb{{}} +end) + +lib.addKeybind({ + name = 'hud:settings', + description = 'Toggle Hud Settings', + defaultKey = 'i', + onPressed = function(self) + PlaySoundFromEntity(-1, "BACK", cache.ped, "HUD_FRONTEND_DEFAULT_SOUNDSET", 0, 0) + NuiMessage('settings',GlobalSettings) + SetNuiFocus(true, true) + end, +}) diff --git a/resources/[core]/ui_hud/modules/speedometer.lua b/resources/[core]/ui_hud/modules/speedometer.lua index 67e30d5..5ba15be 100644 --- a/resources/[core]/ui_hud/modules/speedometer.lua +++ b/resources/[core]/ui_hud/modules/speedometer.lua @@ -1,73 +1,73 @@ -local vehicle,seatbelt = false,false - -local GetEntitySpeed = GetEntitySpeed -local GetVehicleFuelLevel = GetVehicleFuelLevel -local GetVehicleClass = GetVehicleClass -local SetFlyThroughWindscreenParams = SetFlyThroughWindscreenParams - -CreateThread(function() - while true do - local sleep = 1000 - local incar = vehicle and true or false - local showspeedometer = GlobalSettings.showspeedometer == true and incar or false - - if incar then - sleep = 50 - local speed = math.ceil(GetEntitySpeed(vehicle) * (GlobalSettings.speedunitmph and 2.2 or 3.6)) - local fuel = math.ceil(GetVehicleFuelLevel(vehicle)) - local data = { - show = showspeedometer, - speed = speed, - fuel = fuel, - seatbelt = not seatbelt, - unit = GlobalSettings.speedunitmph - } - NuiMessage('speedometer', data) - else - NuiMessage('speedometer', {show = showspeedometer}) - end - - - Wait(sleep) - end -end) - ----@return boolean -local VehicleTypeCheck = function() - local class = GetVehicleClass(vehicle) - if class == (8 and 13 and 14) then - return false - end - return true -end - - -local ToggleSeatbelt = function() - if vehicle then - if VehicleTypeCheck(vehicle) then - seatbelt = not seatbelt - if seatbelt then - SetFlyThroughWindscreenParams(1000.0, 1000.0, 0.0, 0.0) - else - SetFlyThroughWindscreenParams(15.0, 20.0, 17.0, -500.0) - end - end - end -end - - - -lib.addKeybind({ - name = 'seatbelt', - description = 'Toggle vehicle seatbelt', - defaultKey = 'b', - onPressed = function(self) - ToggleSeatbelt() - end, -}) - - - -lib.onCache('vehicle', function(vehicledata) - vehicle = vehicledata -end) +local vehicle,seatbelt = false,false + +local GetEntitySpeed = GetEntitySpeed +local GetVehicleFuelLevel = GetVehicleFuelLevel +local GetVehicleClass = GetVehicleClass +local SetFlyThroughWindscreenParams = SetFlyThroughWindscreenParams + +CreateThread(function() + while true do + local sleep = 1000 + local incar = vehicle and true or false + local showspeedometer = GlobalSettings.showspeedometer == true and incar or false + + if incar then + sleep = 50 + local speed = math.ceil(GetEntitySpeed(vehicle) * (GlobalSettings.speedunitmph and 2.2 or 3.6)) + local fuel = math.ceil(GetVehicleFuelLevel(vehicle)) + local data = { + show = showspeedometer, + speed = speed, + fuel = fuel, + seatbelt = not seatbelt, + unit = GlobalSettings.speedunitmph + } + NuiMessage('speedometer', data) + else + NuiMessage('speedometer', {show = showspeedometer}) + end + + + Wait(sleep) + end +end) + +---@return boolean +local VehicleTypeCheck = function() + local class = GetVehicleClass(vehicle) + if class == (8 and 13 and 14) then + return false + end + return true +end + + +local ToggleSeatbelt = function() + if vehicle then + if VehicleTypeCheck(vehicle) then + seatbelt = not seatbelt + if seatbelt then + SetFlyThroughWindscreenParams(1000.0, 1000.0, 0.0, 0.0) + else + SetFlyThroughWindscreenParams(15.0, 20.0, 17.0, -500.0) + end + end + end +end + + + +lib.addKeybind({ + name = 'seatbelt', + description = 'Toggle vehicle seatbelt', + defaultKey = 'b', + onPressed = function(self) + ToggleSeatbelt() + end, +}) + + + +lib.onCache('vehicle', function(vehicledata) + vehicle = vehicledata +end) diff --git a/resources/[core]/ui_hud/shared.lua b/resources/[core]/ui_hud/shared.lua index c230ab9..3225512 100644 --- a/resources/[core]/ui_hud/shared.lua +++ b/resources/[core]/ui_hud/shared.lua @@ -1,7 +1,7 @@ ---@return string local GetFramework = function() - if GetResourceState('ui_core') ~= 'missing' then + if GetResourceState('es_extended') ~= 'missing' then return 'esx' elseif GetResourceState('qbx_core') ~= 'missing' then return 'qbx' diff --git a/resources/[core]/ui_loading/client.lua b/resources/[core]/ui_loading/client.lua new file mode 100644 index 0000000..ba02a41 --- /dev/null +++ b/resources/[core]/ui_loading/client.lua @@ -0,0 +1,14 @@ +RegisterNUICallback('remove', function(data, cb) + + --ShutdownLoadingScreenNui() +end) + + +RegisterNetEvent("origen_titlemenu:client:OnPlayerJoined", function() + -- SendNUIMessage({ + -- action = "terminar" + -- }) + Citizen.Wait(1100) + ShutdownLoadingScreen() + ShutdownLoadingScreenNui() +end) \ No newline at end of file diff --git a/resources/[core]/ui_loading/css/style.css b/resources/[core]/ui_loading/css/style.css new file mode 100644 index 0000000..fd0ead1 --- /dev/null +++ b/resources/[core]/ui_loading/css/style.css @@ -0,0 +1,309 @@ +:root { + --color-primary: #000000; + --color-secondary: #000000; + --anim-cubic: cubic-bezier(0, 0.605, 0.145, 1.005); +} + +body { + background-image: url('../img/fondo.png'); + width: 100%; + height: 100%; + margin: 0; + background-size: cover; + background-repeat: no-repeat; + background-color: black; + background-position: center; +} + +.ilustracion { + position: fixed; + width: 100%; + height: 100%; + background-image: urL('../img/coches.png'); + background-size: cover; + background-position: center; + transform: translateX(-10vh); + opacity: 0; + transition: var(--anim-cubic) 1s all; +} + +.loading.show .ilustracion { + transform: translateX(0vh); + opacity: 1; +} + +.loading { + position: fixed; + width: 100%; + height: 100%; +} + +.bgtrueblack { + background-color: rgb(0, 0, 0); + position: fixed; + right: 0; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + z-index: 99999; + transition: 4s ease-in-out all; +} + +.bgtrueblack.show { + opacity: 1; + transition: 2s ease-in-out all; +} + +.container { + width: 475px; + height: 100px; + margin: 0 auto; + margin-top: 20%; + opacity: 0; + animation: entrada 1s ease-in-out forwards; + text-align: center; +} + +.progress { + /* border: 2px solid #ffffff; */ + position: fixed; + bottom: -3vh; + width: 100%; + background-color: rgba(0, 0, 0, 0.308); + height: 2.5vh; + border: 0.1vh solid rgba(0, 0, 0, 0.137); + border-radius: 5px; +} + +.sombra { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + background-image: url('../img/sombra.png'); + opacity: 0.5; +} + +.bottom { + left: 7%; + width: 86%; + position: absolute; + bottom: 8.5vh; + transform: translateY(10vh); + opacity: 0; + transition: var(--anim-cubic) 2s all; + transition-delay: 0.5s; +} + +.loading.show .bottom { + transform: translateY(0vh); + opacity: 1; +} + +.flex-bottom { + display: flex; + color: white; + justify-content: space-between; + align-items: center; +} + +.bienvenido { + font-family: 'Bebas Neue'; + font-size: 4.5vh; + text-shadow: 0 0 20px rgba(255, 255, 255, 0.342); + z-index: 9999; +} + +.accediendo { + font-family: Quicksand; + font-size: 2.5vh; + text-shadow: 0 0 20px black, 0 0 20px black, 0 0 20px black; + font-weight: 500; +} + +.barra { + width: 0%; + height: 100%; + /* background-image: url(https://i.imgur.com/upZzDJv.gif); */ + /* animation: cargando 15s linear forwards; */ + /* border-radius: 5px; */ + + /* filter: opacity(0.5);*/ + background: linear-gradient(-45deg, var(--color-primary), #000000); + background-size: 400% 400%; + /* animation: gradient 5s ease infinite; */ + box-shadow: 0 0 20px #0000009a; + /* animation: gradient 5s ease infinite; */ + border-radius: 5px 0 0 5px; + transition: 0.25s linear all; +} + +/* .videobg{ + margin-left:17px; + animation: shake 10s ease-in-out infinite; +} */ + +.logo { + /* transition:ease-in-out 0.3s all; + width: 14vw; + margin-bottom:2vw; + opacity: 100; + animation: scale 10s ease-in-out infinite; */ + + position: fixed; + top: 2vh; + right: 2vh; + width: 10vh; + display: none; +} + +.loading.show .logo { + display: block; +} + +.logo img { + width: 100%; +} + +.web { + font-family: 'Quicksand'; + font-size: 1vw; + margin: 0 auto; + position: absolute; + bottom: 0.5vw; + color: white; + width: 100%; + left: 0; + opacity: 0.7; +} +.web p { + margin: 0 !important; +} + +/* + +@keyframes cargando{ + 0%{ + width:0%; + } + + 100%{ + width:100%; + } +} + +*/ + +@media (width: 2560px) and (height: 1080px) { + .container { + margin-top: 11% !important; + } +} + +@keyframes entrada { + 0% { + opacity: 0; + } + 100% { + opacity: 100; + } +} + +@keyframes shake { + 0% { + transform: translateY(0px) rotate(0deg); + } + + 25% { + transform: translateY(-10px); + } + 50% { + transform: translateY(0px) rotate(-1.5deg); + } + 75% { + transform: translateY(-10px) rotate(1deg); + } + 100% { + transform: translateY(0px) rotate(0deg); + } +} + +/* +@keyframes gradient { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} */ + +@keyframes scale { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(1); + } +} + +@keyframes fadein { + 0% { + opacity: 0; + } + 100% { + opacity: 32%; + } +} + +@keyframes fadeout { + 0% { + opacity: 100%; + } + 100% { + opacity: 0; + } +} + +@keyframes gradient { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } +} + +.dot-1 { + animation: fadeInDot 2s ease-in-out infinite; + animation-delay: 0.2s !important; + display: inline-block; +} + +.dot-2 { + animation-delay: 0.4s !important; + animation: fadeInDot 2s ease-in-out infinite; + display: inline-block; + margin-left: -0.1vh; +} + +.dot-3 { + animation-delay: 0.6s !important; + animation: fadeInDot 2s ease-in-out infinite; + display: inline-block; + margin-left: -0.1vh; +} + +@keyframes fadeInDot { + 0% { + opacity: 0; + } + 30% { + opacity: 1; + } +} diff --git a/resources/[core]/ui_loading/fxmanifest.lua b/resources/[core]/ui_loading/fxmanifest.lua new file mode 100644 index 0000000..8653b18 --- /dev/null +++ b/resources/[core]/ui_loading/fxmanifest.lua @@ -0,0 +1,26 @@ +fx_version 'adamant' + +game 'gta5' + +loadscreen_manual_shutdown "yes" + +description 'Origen LoadingScreen System' + +version '1.0.1' + +loadscreen 'index.html' + + +files { + 'index.html', + 'css/style.css', + 'img/*.png', + 'img/*.jpg', + 'img/*.svg', + 'img/*.webp', + 'js/app.js', + 'js/jquery.min.js', + 'js/jquery.easings.min.js' +} + +client_script "client.lua" \ No newline at end of file diff --git a/resources/[core]/ui_loading/index.html b/resources/[core]/ui_loading/index.html new file mode 100644 index 0000000..2977136 --- /dev/null +++ b/resources/[core]/ui_loading/index.html @@ -0,0 +1,8 @@ + + + Origen Pantalla de Carga + + + + (handlers[e.data.eventName] || (() => {}))(e.data)); + + + + + setInterval(() => { + //$(".bar").width(loadPercentage "%") + if (loadPercentage == 100) { + + setTimeout(function() { + $(".loading").removeClass("show"); + + }, 1000); + + setTimeout(function() { + $(".bgtrueblack").addClass("show"); + + $(musica).animate({ volume: 0 }, 1500); + }, 2000); + + + } + $(".barra").css( "width", loadPercentage "%"); + // $(".bgblack").animate({opacity: 80}, 6000); + // $(".logo").css("opacity",loadPercentage "%"); + }, 250); + + window.addEventListener('message', function(event) { + + if (event.action == "terminar") { + $(musica).animate({ volume: 0 }, 1000); + $(".videobg").fadeOut(1000); + $(".progress").fadeOut(1000); + } + }); + + + +}); + +function parallaxIt(e, target, movement) { + var $this = $("body"); + var relX = e.pageX - $this.offset().left; + var relY = e.pageY - $this.offset().top; + + TweenMax.to(target, 1, { + x: (relX - $this.width() / 2) / $this.width() * movement, + y: (relY - $this.height() / 2) / $this.height() * movement + }) +} \ No newline at end of file diff --git a/resources/[core]/ui_loading/js/jquery.easings.min.js b/resources/[core]/ui_loading/js/jquery.easings.min.js new file mode 100644 index 0000000..edefe61 --- /dev/null +++ b/resources/[core]/ui_loading/js/jquery.easings.min.js @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.9.2 - 2014-03-21 +* http://jqueryui.com +* Includes: jquery.ui.effect.js +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ + +jQuery.effects||function(e,t){var i=e.uiBackCompat!==!1,a="ui-effects-";e.effects={effect:{}},function(t,i){function a(e,t,i){var a=c[t.type]||{};return null==e?i||!t.def?null:t.def:(e=a.floor?~~e:parseFloat(e),isNaN(e)?t.def:a.mod?(e a.mod)%a.mod:0>e?0:e>a.max?a.max:e)}function s(e){var a=u(),s=a._rgba=[];return e=e.toLowerCase(),m(l,function(t,n){var r,o=n.re.exec(e),h=o \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/LICENSE b/resources/[core]/ui_lscreen/LICENSE deleted file mode 100644 index f288702..0000000 --- a/resources/[core]/ui_lscreen/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/resources/[core]/ui_lscreen/README.md b/resources/[core]/ui_lscreen/README.md deleted file mode 100644 index 04da9fc..0000000 --- a/resources/[core]/ui_lscreen/README.md +++ /dev/null @@ -1,13 +0,0 @@ -![Frame 3 (2)](https://github.com/user-attachments/assets/be4e88ec-02d1-4fee-9ab4-c8975bef78e6) -# Afterlife IV Loading - -> **REACT & SCSS** -> The resource is written with react and using scss for styling to ensure the best performance of the resource - -[![Discord](https://img.shields.io/badge/Discord-%237289DA.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/HWejPwZgvQ) -[![Website](https://img.shields.io/badge/Tebex-%23e62e56.svg?style=for-the-badge&logo=Tebex&logoColor=white)](https://al-studios.tebex.io/) - - -## Copyright - -Copyright © 2024 AfterLifeStudio diff --git a/resources/[core]/ui_lscreen/client.lua b/resources/[core]/ui_lscreen/client.lua deleted file mode 100644 index a820c88..0000000 --- a/resources/[core]/ui_lscreen/client.lua +++ /dev/null @@ -1,6 +0,0 @@ -local shutdown = function () - -end - - -AddEventHandler('playerSpawned', shutdown) \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/fxmanifest.lua b/resources/[core]/ui_lscreen/fxmanifest.lua deleted file mode 100644 index 825c2b2..0000000 --- a/resources/[core]/ui_lscreen/fxmanifest.lua +++ /dev/null @@ -1,20 +0,0 @@ -fx_version 'cerulean' -game 'gta5' -lua54 'yes' - -client_script 'client.lua' - -loadscreen 'ui/dist/index.html' - -loadscreen_cursor 'yes' - -loadscreen_manual_shutdown 'yes' - -files { - 'ui/dist/index.html', - 'ui/dist/assets/*.css', - 'ui/dist/assets/*.js', - 'ui/images/*.png', - 'ui/song/*.mp3', -} - diff --git a/resources/[core]/ui_lscreen/ui/.gitignore b/resources/[core]/ui_lscreen/ui/.gitignore deleted file mode 100644 index a547bf3..0000000 --- a/resources/[core]/ui_lscreen/ui/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/resources/[core]/ui_lscreen/ui/README.md b/resources/[core]/ui_lscreen/ui/README.md deleted file mode 100644 index f768e33..0000000 --- a/resources/[core]/ui_lscreen/ui/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# React + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/resources/[core]/ui_lscreen/ui/eslint.config.js b/resources/[core]/ui_lscreen/ui/eslint.config.js deleted file mode 100644 index 238d2e4..0000000 --- a/resources/[core]/ui_lscreen/ui/eslint.config.js +++ /dev/null @@ -1,38 +0,0 @@ -import js from '@eslint/js' -import globals from 'globals' -import react from 'eslint-plugin-react' -import reactHooks from 'eslint-plugin-react-hooks' -import reactRefresh from 'eslint-plugin-react-refresh' - -export default [ - { ignores: ['dist'] }, - { - files: ['**/*.{js,jsx}'], - languageOptions: { - ecmaVersion: 2020, - globals: globals.browser, - parserOptions: { - ecmaVersion: 'latest', - ecmaFeatures: { jsx: true }, - sourceType: 'module', - }, - }, - settings: { react: { version: '18.3' } }, - plugins: { - react, - 'react-hooks': reactHooks, - 'react-refresh': reactRefresh, - }, - rules: { - ...js.configs.recommended.rules, - ...react.configs.recommended.rules, - ...react.configs['jsx-runtime'].rules, - ...reactHooks.configs.recommended.rules, - 'react/jsx-no-target-blank': 'off', - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], - }, - }, -] diff --git a/resources/[core]/ui_lscreen/ui/images/bakersfield.png b/resources/[core]/ui_lscreen/ui/images/bakersfield.png deleted file mode 100644 index aed904b..0000000 Binary files a/resources/[core]/ui_lscreen/ui/images/bakersfield.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/images/bixby.png b/resources/[core]/ui_lscreen/ui/images/bixby.png deleted file mode 100644 index e31b306..0000000 Binary files a/resources/[core]/ui_lscreen/ui/images/bixby.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/images/legion.png b/resources/[core]/ui_lscreen/ui/images/legion.png deleted file mode 100644 index f0e2ef6..0000000 Binary files a/resources/[core]/ui_lscreen/ui/images/legion.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/images/malibu.png b/resources/[core]/ui_lscreen/ui/images/malibu.png deleted file mode 100644 index ee2bdc4..0000000 Binary files a/resources/[core]/ui_lscreen/ui/images/malibu.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/images/paleto.png b/resources/[core]/ui_lscreen/ui/images/paleto.png deleted file mode 100644 index 3ff1299..0000000 Binary files a/resources/[core]/ui_lscreen/ui/images/paleto.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/images/union.png b/resources/[core]/ui_lscreen/ui/images/union.png deleted file mode 100644 index a1bec20..0000000 Binary files a/resources/[core]/ui_lscreen/ui/images/union.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/index.html b/resources/[core]/ui_lscreen/ui/index.html deleted file mode 100644 index 0c589ec..0000000 --- a/resources/[core]/ui_lscreen/ui/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite + React - - -
- - - diff --git a/resources/[core]/ui_lscreen/ui/package-lock.json b/resources/[core]/ui_lscreen/ui/package-lock.json deleted file mode 100644 index 90a3463..0000000 --- a/resources/[core]/ui_lscreen/ui/package-lock.json +++ /dev/null @@ -1,5052 +0,0 @@ -{ - "name": "vite-project", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "vite-project", - "version": "0.0.0", - "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-notifications": "^1.7.4", - "react-redux": "^9.1.2", - "react-transition-group": "^4.4.5", - "sass": "^1.83.1" - }, - "devDependencies": { - "@eslint/js": "^9.15.0", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.15.0", - "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-react-refresh": "^0.4.14", - "globals": "^15.12.0", - "vite": "^6.0.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", - "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", - "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.3" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", - "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", - "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", - "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", - "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", - "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", - "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", - "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", - "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", - "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", - "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", - "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", - "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", - "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", - "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", - "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", - "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", - "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", - "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", - "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", - "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", - "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", - "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", - "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", - "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", - "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", - "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.5", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", - "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz", - "integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", - "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", - "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.0", - "@parcel/watcher-darwin-arm64": "2.5.0", - "@parcel/watcher-darwin-x64": "2.5.0", - "@parcel/watcher-freebsd-x64": "2.5.0", - "@parcel/watcher-linux-arm-glibc": "2.5.0", - "@parcel/watcher-linux-arm-musl": "2.5.0", - "@parcel/watcher-linux-arm64-glibc": "2.5.0", - "@parcel/watcher-linux-arm64-musl": "2.5.0", - "@parcel/watcher-linux-x64-glibc": "2.5.0", - "@parcel/watcher-linux-x64-musl": "2.5.0", - "@parcel/watcher-win32-arm64": "2.5.0", - "@parcel/watcher-win32-ia32": "2.5.0", - "@parcel/watcher-win32-x64": "2.5.0" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz", - "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz", - "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz", - "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz", - "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz", - "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz", - "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz", - "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz", - "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", - "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", - "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz", - "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz", - "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz", - "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz", - "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz", - "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz", - "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz", - "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz", - "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz", - "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz", - "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz", - "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz", - "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz", - "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz", - "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz", - "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz", - "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz", - "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz", - "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz", - "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz", - "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz", - "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz", - "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.14", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", - "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.16", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.16.tgz", - "integrity": "sha512-oh8AMIC4Y2ciKufU8hnKgs+ufgbA/dhPTACaZPM86AbwX9QwnFtSoPWEeRUj8fge+v6kFt78BXcDhAU1SrrAsw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^18.0.0" - } - }, - "node_modules/@types/use-sync-external-store": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", - "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", - "license": "MIT" - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", - "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.26.0", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "optional": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.2.tgz", - "integrity": "sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "get-intrinsic": "^1.2.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001688", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001688.tgz", - "integrity": "sha512-Nmqpru91cuABu/DTCXbM2NSRHzM2uVHfPnhJ/1zEAJx/ILBRVmz3pzH4N7DZqbdG0gWClsCC05Oj0mJ/1AWMbA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "license": "Apache-2.0", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz", - "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.73", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.73.tgz", - "integrity": "sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==", - "dev": true, - "license": "ISC" - }, - "node_modules/es-abstract": { - "version": "1.23.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", - "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", - "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.3", - "safe-array-concat": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", - "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.0", - "@esbuild/android-arm": "0.24.0", - "@esbuild/android-arm64": "0.24.0", - "@esbuild/android-x64": "0.24.0", - "@esbuild/darwin-arm64": "0.24.0", - "@esbuild/darwin-x64": "0.24.0", - "@esbuild/freebsd-arm64": "0.24.0", - "@esbuild/freebsd-x64": "0.24.0", - "@esbuild/linux-arm": "0.24.0", - "@esbuild/linux-arm64": "0.24.0", - "@esbuild/linux-ia32": "0.24.0", - "@esbuild/linux-loong64": "0.24.0", - "@esbuild/linux-mips64el": "0.24.0", - "@esbuild/linux-ppc64": "0.24.0", - "@esbuild/linux-riscv64": "0.24.0", - "@esbuild/linux-s390x": "0.24.0", - "@esbuild/linux-x64": "0.24.0", - "@esbuild/netbsd-x64": "0.24.0", - "@esbuild/openbsd-arm64": "0.24.0", - "@esbuild/openbsd-x64": "0.24.0", - "@esbuild/sunos-x64": "0.24.0", - "@esbuild/win32-arm64": "0.24.0", - "@esbuild/win32-ia32": "0.24.0", - "@esbuild/win32-x64": "0.24.0" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.16.0.tgz", - "integrity": "sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.9.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.16.0", - "@eslint/plugin-kit": "^0.2.3", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.5", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", - "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.1.0", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.8", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.0", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", - "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.16.tgz", - "integrity": "sha512-slterMlxAhov/DZO8NScf6mEeMBBXodFUolijDvrtTxyezyLoTQaa73FyYus/VbTdftd8wBgBxPMRk3poleXNQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", - "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "dunder-proto": "^1.0.0", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "15.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.13.0.tgz", - "integrity": "sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", - "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.0.tgz", - "integrity": "sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", - "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.0.tgz", - "integrity": "sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.0.tgz", - "integrity": "sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.0.tgz", - "integrity": "sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "has-symbols": "^1.0.3", - "safe-regex-test": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.4.tgz", - "integrity": "sha512-x4WH0BWmrMmg4oHHl+duwubhrvczGlyuGAZu3nvrf0UXOfPu8IhZObFEr7DE/iv01YgVZrsOiRcqw2srkKEDIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "reflect.getprototypeof": "^1.0.8", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/math-intrinsics": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.0.0.tgz", - "integrity": "sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "optional": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "license": "MIT", - "optional": true - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-notifications": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/react-notifications/-/react-notifications-1.7.4.tgz", - "integrity": "sha512-dsR7mUQfe8YdFLqVsjT0GFd4n26UWkzefdjMELfEVygjuuyU6ZZ0LpZhFHdfmraGeBFLWHNxygpGlHHituUyjQ==", - "license": "MIT", - "dependencies": { - "acorn": "6.4.1", - "classnames": "^2.1.1", - "prop-types": "^15.5.10", - "react-transition-group": "^4.4.1" - } - }, - "node_modules/react-notifications/node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/react-redux": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", - "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", - "license": "MIT", - "dependencies": { - "@types/use-sync-external-store": "^0.0.6", - "use-sync-external-store": "^1.4.0" - }, - "peerDependencies": { - "@types/react": "^18.2.25 || ^19", - "react": "^18.0 || ^19", - "redux": "^5.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "redux": { - "optional": true - } - } - }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/redux": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", - "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.8.tgz", - "integrity": "sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "dunder-proto": "^1.0.0", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.2.0", - "which-builtin-type": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/rollup": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.1.tgz", - "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.28.1", - "@rollup/rollup-android-arm64": "4.28.1", - "@rollup/rollup-darwin-arm64": "4.28.1", - "@rollup/rollup-darwin-x64": "4.28.1", - "@rollup/rollup-freebsd-arm64": "4.28.1", - "@rollup/rollup-freebsd-x64": "4.28.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.28.1", - "@rollup/rollup-linux-arm-musleabihf": "4.28.1", - "@rollup/rollup-linux-arm64-gnu": "4.28.1", - "@rollup/rollup-linux-arm64-musl": "4.28.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.28.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1", - "@rollup/rollup-linux-riscv64-gnu": "4.28.1", - "@rollup/rollup-linux-s390x-gnu": "4.28.1", - "@rollup/rollup-linux-x64-gnu": "4.28.1", - "@rollup/rollup-linux-x64-musl": "4.28.1", - "@rollup/rollup-win32-arm64-msvc": "4.28.1", - "@rollup/rollup-win32-ia32-msvc": "4.28.1", - "@rollup/rollup-win32-x64-msvc": "4.28.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sass": { - "version": "1.83.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.1.tgz", - "integrity": "sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA==", - "license": "MIT", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", - "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", - "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/vite": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.3.tgz", - "integrity": "sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.24.0", - "postcss": "^8.4.49", - "rollup": "^4.23.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz", - "integrity": "sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.0", - "is-number-object": "^1.1.0", - "is-string": "^1.1.0", - "is-symbol": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", - "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", - "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/resources/[core]/ui_lscreen/ui/package.json b/resources/[core]/ui_lscreen/ui/package.json deleted file mode 100644 index a7d2599..0000000 --- a/resources/[core]/ui_lscreen/ui/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "vite-project", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "vite build --base=/ui/dist/", - "lint": "eslint .", - "preview": "vite preview" - }, - "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-notifications": "^1.7.4", - "react-redux": "^9.1.2", - "react-transition-group": "^4.4.5", - "sass": "^1.83.1" - }, - "devDependencies": { - "@eslint/js": "^9.15.0", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.15.0", - "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-react-refresh": "^0.4.14", - "globals": "^15.12.0", - "vite": "^6.0.1" - } -} diff --git a/resources/[core]/ui_lscreen/ui/public/vite.svg b/resources/[core]/ui_lscreen/ui/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/resources/[core]/ui_lscreen/ui/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/ui/song/song.mp3 b/resources/[core]/ui_lscreen/ui/song/song.mp3 deleted file mode 100644 index 19d99cc..0000000 Binary files a/resources/[core]/ui_lscreen/ui/song/song.mp3 and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/src/App.scss b/resources/[core]/ui_lscreen/ui/src/App.scss deleted file mode 100644 index a77ccd7..0000000 --- a/resources/[core]/ui_lscreen/ui/src/App.scss +++ /dev/null @@ -1,211 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'); - -body { - font-family: inter; - margin: 0; - overflow: hidden; -} - -.loading-wrapper { - position: absolute; - background-color: rgb(34, 34, 34); - width: 100%; - height: 100%; -} - -.background { - width: 100%; - height: 100%; - background-size: cover; - animation: background forwards; - animation-duration: 8s; -} - -@keyframes background { - 0%{ - opacity: 0; - transform: scale(1.2); - } - 10%{ - opacity: 1; - } - 100%{ - transform: scale(1.0); - } - -} - -.vignette { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background: radial-gradient(circle, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%); - width: 100%; - height: 100%; -} - -.loading-container { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 87%; - height: 85%; - display: flex; - flex-direction: column; - align-items: start; - justify-content: space-between; -} - -.header { - position: relative; - bottom: 3%; - display: flex; - flex-direction: row; - align-items: center; - gap: .5vw; - color: white; - font-size: 1.5vw; - font-weight: 500; - img{ - width: 1.2vw; - } -} - -.footer { - position: relative; - right: 2%; - display: flex; - flex-direction: row; - align-items: center; - gap: .7vw; - width: 100%; - - img { - width: 1vw; - } - - div { - width: 100%; - } - - h { - color: white; - font-size: 1.4vw; - font-weight: bold - } - - .quote { - color: rgba(255, 255, 255, 0.5); - font-size: .8vw; - font-weight: 500 - } -} - -.audiobutton{ - padding: 0.3vw; - opacity: 0.7; -} - -.audiobutton:hover{ - opacity: 1.0; -} - -.m { - padding: 0.3vw; - animation-duration: 1s; - animation-iteration-count: infinite; - position: absolute; -} - -.m1 { - animation-delay: 0s; - animation-name: music1; -} - -.m2 { - animation-delay: .8s; - animation-name: music2; -} - -.m3 { - animation-delay: .3s; - animation-name: music3; -} - -@keyframes music1 { - 0% { - transform: translate(0px, 0px) - } - - 100% { - transform: translate(-5px, -100px); - opacity: 0; - } -} - -@keyframes music3 { - 0% { - transform: translate(0px, 0px) - } - - 100% { - transform: translate(20px, -100px); - opacity: 0; - } -} - -@keyframes music2 { - 0% { - transform: translate(0px, 0px) - } - - 100% { - transform: translate(-30px, -100px); - opacity: 0; - } -} - - -.loading { - width: 90%; - display: flex; - justify-content: start; - align-items: center; - height: 12px; - -} - -.loading-background { - width: 100%; - height: 3px; - opacity: 60%; - background: linear-gradient(90deg, rgba(233, 233, 233, 1) 0%, rgba(233, 233, 233, 0.6) 41%, rgba(233, 233, 233, 0) 100%); -} - -.loading-value { - position: absolute; - height: 12px; - background-color: #e9e9e9a1; - transition: 1s ease; -} - - -.transition-fade-enter { - opacity: 0; - } - - .transition-fade-enter-active { - opacity: 1; - transition: opacity 200ms; - } - - .transition-fade-exit { - opacity: 1; - } - - .transition-fade-exit-active { - opacity: 0; - transition: opacity 200ms; - } \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/ui/src/assets/back.png b/resources/[core]/ui_lscreen/ui/src/assets/back.png deleted file mode 100644 index a1bec20..0000000 Binary files a/resources/[core]/ui_lscreen/ui/src/assets/back.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/src/assets/map.png b/resources/[core]/ui_lscreen/ui/src/assets/map.png deleted file mode 100644 index c42eb84..0000000 Binary files a/resources/[core]/ui_lscreen/ui/src/assets/map.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/src/assets/music.png b/resources/[core]/ui_lscreen/ui/src/assets/music.png deleted file mode 100644 index 547f44f..0000000 Binary files a/resources/[core]/ui_lscreen/ui/src/assets/music.png and /dev/null differ diff --git a/resources/[core]/ui_lscreen/ui/src/components/data.js b/resources/[core]/ui_lscreen/ui/src/components/data.js deleted file mode 100644 index 64f1a40..0000000 --- a/resources/[core]/ui_lscreen/ui/src/components/data.js +++ /dev/null @@ -1,34 +0,0 @@ - - -export const slides = [ - { - id: 'paleto', - label: 'Paleto Bay', - quote: 'Humans can be museums too, filled with history they can no longer touch', - }, - { - id: 'union', - label: 'Union Depository', - quote: 'Just slow things down and it becomes more beautiful', - }, - { - id: 'legion', - label: 'Legion Square', - quote: 'I believe in poems as i do in haunted houses, We say someone must have died here', - }, - { - id: 'bixby', - label: 'Bixby Bridge', - quote: 'What matters is how we face it', - }, - { - id: 'bakersfield', - label: 'Bakersfield', - quote: "Freedom's always a lonely thing", - }, - { - id: 'malibu', - label: 'Malibu Beach', - quote: 'We dont know if there is a destiny, but there is a decision', - }, -] \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/ui/src/components/loading.jsx b/resources/[core]/ui_lscreen/ui/src/components/loading.jsx deleted file mode 100644 index b1a66b4..0000000 --- a/resources/[core]/ui_lscreen/ui/src/components/loading.jsx +++ /dev/null @@ -1,99 +0,0 @@ -import React, { useState, useEffect, useRef } from "react"; -import map from "../assets/map.png"; -import music from "../assets/music.png"; -import Fade from "../utils/Fade"; -import { slides } from "./data"; - -function Loading() { - const [progress, setProgress] = useState(0); - const [counter, setCounter] = useState(0); - const [audiostate, setAudiostate] = useState(true) - const audio = useRef(); - - const handleaudio = () => { - if (audiostate){ - audio.current.pause(); - }else{ - audio.current.play(); - } - setAudiostate(!audiostate) - } - useEffect(() => { - setTimeout(() => { - if (counter == slides.length - 1) { - setCounter(0); - } else { - setCounter(counter + 1); - } - }, 8000); - }, [counter]); - - useEffect(() => { - setTimeout(() => { - if (progress < 100) { - setProgress(progress + 0.3); - } - }, 100); - - }, [progress]); - - return ( - <> -
- - - - {slides.map( - (data, index) => - counter == index && ( -
- ) - )} - -
- -
-
- -

{slides[counter].label}

-
-
- {audiostate && ( - <> - - - - - )} - - -
- LOADING -
-
-
-
- {slides[counter].quote} -
-
-
-
- - ); -} - -export default Loading; diff --git a/resources/[core]/ui_lscreen/ui/src/hooks/NuiEvent.js b/resources/[core]/ui_lscreen/ui/src/hooks/NuiEvent.js deleted file mode 100644 index 8f32870..0000000 --- a/resources/[core]/ui_lscreen/ui/src/hooks/NuiEvent.js +++ /dev/null @@ -1,27 +0,0 @@ -import { useEffect, useRef } from "react" -import { noop } from "../utils/misc" - -export const NuiEvent = (action, handler) => { - const savedHandler = useRef(noop) - - - - useEffect(() => { - savedHandler.current = handler - }, [handler]) - - useEffect(() => { - const eventListener = event => { - const { action: eventAction, data } = event.data - - if (savedHandler.current) { - if (eventAction === action) { - savedHandler.current(data) - } - } - } - - window.addEventListener("message", eventListener) - return () => window.removeEventListener("message", eventListener) - }, [action]) -} \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/ui/src/main.jsx b/resources/[core]/ui_lscreen/ui/src/main.jsx deleted file mode 100644 index 619ac94..0000000 --- a/resources/[core]/ui_lscreen/ui/src/main.jsx +++ /dev/null @@ -1,12 +0,0 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './App.scss' -import Loading from './components/loading' - - - -createRoot(document.getElementById('root')).render( - - - , -) diff --git a/resources/[core]/ui_lscreen/ui/src/utils/Fade.jsx b/resources/[core]/ui_lscreen/ui/src/utils/Fade.jsx deleted file mode 100644 index e10b89a..0000000 --- a/resources/[core]/ui_lscreen/ui/src/utils/Fade.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import React, { useRef } from "react" -import { CSSTransition } from "react-transition-group" -const Fade = props => { - const nodeRef = useRef(null) - - return ( - - {props.children} - - ) -} - -export default Fade \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/ui/src/utils/misc.js b/resources/[core]/ui_lscreen/ui/src/utils/misc.js deleted file mode 100644 index e70e4d5..0000000 --- a/resources/[core]/ui_lscreen/ui/src/utils/misc.js +++ /dev/null @@ -1,7 +0,0 @@ - -export const noop = () => {}; - -export function click(){ - let audio = document.getElementById("clickaudio"); - audio.play(); -} \ No newline at end of file diff --git a/resources/[core]/ui_lscreen/ui/src/utils/nuicallback.js b/resources/[core]/ui_lscreen/ui/src/utils/nuicallback.js deleted file mode 100644 index d3d69a3..0000000 --- a/resources/[core]/ui_lscreen/ui/src/utils/nuicallback.js +++ /dev/null @@ -1,23 +0,0 @@ - - -export async function nuicallback(eventName, data) { - const options = { - method: "post", - headers: { - "Content-Type": "application/json; charset=UTF-8" - }, - body: JSON.stringify(data) - } - - - - const resourceName = window.GetParentResourceName - ? window.GetParentResourceName() - : "nui-frame-app" - - const resp = await fetch(`https://${resourceName}/${eventName}`, options) - - const respFormatted = await resp.json() - - return respFormatted -} diff --git a/resources/[core]/ui_lscreen/ui/vite.config.js b/resources/[core]/ui_lscreen/ui/vite.config.js deleted file mode 100644 index 8b0f57b..0000000 --- a/resources/[core]/ui_lscreen/ui/vite.config.js +++ /dev/null @@ -1,7 +0,0 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' - -// https://vite.dev/config/ -export default defineConfig({ - plugins: [react()], -}) diff --git a/resources/[core]/ui_pmenu/client/client.lua b/resources/[core]/ui_pmenu/client/client.lua index 9000905..13927b1 100644 --- a/resources/[core]/ui_pmenu/client/client.lua +++ b/resources/[core]/ui_pmenu/client/client.lua @@ -16,7 +16,7 @@ RegisterNUICallback("event", function(eType) CreateThread(function() ActivateFrontendMenu(GetHashKey('FE_MENU_VERSION_MP_PAUSE'), 0, -1) Wait(100) - PauseMenuceptionGoDeeper(0) + -- PauseMenuceptionGoDeeper(0) while true do Wait(10) if IsControlJustPressed(0, 200) then @@ -92,7 +92,7 @@ function OpenPauseMenu() if not DoesCamExist(cam) then DisplayRadar(false) - cam = CreateCam('DEFAULT_SCRIPTED_CAMERA', true) + -- cam = CreateCam('DEFAULT_SCRIPTED_CAMERA', true) SetCamActive(cam, true) RenderScriptCams(true, false, 0, true, true) SetCamUseShallowDofMode(cam, true) diff --git a/resources/[core]/ui_pmenu/config.lua b/resources/[core]/ui_pmenu/config.lua index beab32e..1efb299 100644 --- a/resources/[core]/ui_pmenu/config.lua +++ b/resources/[core]/ui_pmenu/config.lua @@ -2,60 +2,60 @@ Config = { Framework = "esx", -- esx / qb Tabs = { - { - icon = "book.svg", - title = "Rules", - subtitle = "Lorem Ipsum is simply dummy text of the printing", - contents = { - { - title = "Rule Number #1", - desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", - }, - { - title = "Rule Number #2", - desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", - } - } - }, + -- { + -- icon = "book.svg", + -- title = "Rules", + -- subtitle = "Lorem Ipsum is simply dummy text of the printing", + -- contents = { + -- { + -- title = "Rule Number #1", + -- desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", + -- }, + -- { + -- title = "Rule Number #2", + -- desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", + -- } + -- } + -- }, - { - icon = "update.svg", - title = "Updates", - subtitle = "Lorem Ipsum is simply dummy text of the printing", - contents = { - { - title = "Update Number #1", - desc = "Lorem ipsum dolor sit amet consectetur adipisicing elit. Modi earum debitis quod beatae corrupti tempore, alias eaque excepturi harum doloribus quisquam quia ipsam ea eum dolore natus et dolorem illo eligendi ducimus error culpa eos nihil ipsum. Libero, ullam, nostrum numquam molestiae velit reprehenderit delectus assumenda veritatis sequi, atque voluptatem.", - }, - { - title = "Update Number #2", - desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", - } - } - }, + -- { + -- icon = "update.svg", + -- title = "Updates", + -- subtitle = "Lorem Ipsum is simply dummy text of the printing", + -- contents = { + -- { + -- title = "Update Number #1", + -- desc = "Lorem ipsum dolor sit amet consectetur adipisicing elit. Modi earum debitis quod beatae corrupti tempore, alias eaque excepturi harum doloribus quisquam quia ipsam ea eum dolore natus et dolorem illo eligendi ducimus error culpa eos nihil ipsum. Libero, ullam, nostrum numquam molestiae velit reprehenderit delectus assumenda veritatis sequi, atque voluptatem.", + -- }, + -- { + -- title = "Update Number #2", + -- desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", + -- } + -- } + -- }, - { - icon = "new.svg", - title = "News", - subtitle = "Lorem Ipsum is simply dummy text of the printing", - contents = { - { - title = "New Number #1", - desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", - } - } - }, + -- { + -- icon = "new.svg", + -- title = "News", + -- subtitle = "Lorem Ipsum is simply dummy text of the printing", + -- contents = { + -- { + -- title = "New Number #1", + -- desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", + -- } + -- } + -- }, - { - icon = "new.svg", - title = "Custom Tab", - subtitle = "Lorem Ipsum is simply dummy text of the printing", - contents = { - { - title = "Csutom Number #1", - desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", - } - } - } + -- { + -- icon = "new.svg", + -- title = "Custom Tab", + -- subtitle = "Lorem Ipsum is simply dummy text of the printing", + -- contents = { + -- { + -- title = "Csutom Number #1", + -- desc = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.", + -- } + -- } + -- } } } \ No newline at end of file diff --git a/resources/[core]/ui_pmenu/ui/css/style.css b/resources/[core]/ui_pmenu/ui/css/style.css index 9c81edf..6b1340c 100644 --- a/resources/[core]/ui_pmenu/ui/css/style.css +++ b/resources/[core]/ui_pmenu/ui/css/style.css @@ -125,8 +125,8 @@ main { padding: 0 18px; border-radius: 5px 5px 0px 0px; background: rgba(21, 21, 21, 0.6); - display: flex; - align-items: center; + display: center; + align-items: right; gap: 7px; color: #FFF; font-size: 12px; @@ -136,7 +136,7 @@ main { border-radius: 0px 0px 5px 5px; background: rgba(30, 30, 30, 0.7); padding: 10px 18px; - display: flex; + display: center; align-items: center; color: #9E9E9E; font-size: 10px; diff --git a/resources/[core]/ui_pmenu/ui/index.html b/resources/[core]/ui_pmenu/ui/index.html index a7eacdb..36731a4 100644 --- a/resources/[core]/ui_pmenu/ui/index.html +++ b/resources/[core]/ui_pmenu/ui/index.html @@ -31,55 +31,52 @@ 12/128
+ - +
- Job + Професия
Male
@@ -117,7 +114,7 @@ - Grade + Длъжност
Male
@@ -127,9 +124,9 @@ - Wallet + Портфейл -
Male
+
Мъж
@@ -140,7 +137,7 @@ - Bank + Банка
Male
diff --git a/resources/esx_menu_default/LICENSE b/resources/esx_menu_default/LICENSE deleted file mode 100644 index 8eef124..0000000 --- a/resources/esx_menu_default/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - esx_menu_default - Copyright (C) 2015-2024 Jérémie N'gadi - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - esx_menu_default Copyright (C) 2015-2024 Jérémie N'gadi - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/resources/esx_menu_default/README.md b/resources/esx_menu_default/README.md deleted file mode 100644 index 05abc03..0000000 --- a/resources/esx_menu_default/README.md +++ /dev/null @@ -1,18 +0,0 @@ -

[ESX] Menu Defualt

Discord - Website - Documentation - -A default List type menu for ESX. - -![Preview_1](https://cdn.discordapp.com/attachments/944789399852417096/997882867336101948/Screenshot_52.png) -![Preview_2](https://cdn.discordapp.com/attachments/944789399852417096/997882867688411176/Screenshot_53.png) - -## Legal - -esx_menu_default - Default Menu! - -Copyright (C) 2015-2024 Jérémie N'gadi - -This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. - -This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details. - -You should have received a copy Of the GNU General Public License along with this program. If Not, see . diff --git a/resources/esx_menu_default/client/main.lua b/resources/esx_menu_default/client/main.lua deleted file mode 100644 index 522d1a5..0000000 --- a/resources/esx_menu_default/client/main.lua +++ /dev/null @@ -1,132 +0,0 @@ -local GUI, MenuType, OpenedMenus, CurrentNameSpace = {}, "default", 0, nil -GUI.Time = 0 - -local function openMenu(namespace, name, data) - CurrentNameSpace = namespace - OpenedMenus = OpenedMenus + 1 - SendNUIMessage({ - action = "openMenu", - namespace = namespace, - name = name, - data = data, - }) -end - -local function closeMenu(namespace, name) - CurrentNameSpace = namespace - OpenedMenus = OpenedMenus - 1 - if OpenedMenus < 0 then - OpenedMenus = 0 - end - SendNUIMessage({ - action = "closeMenu", - namespace = namespace, - name = name, - }) -end - -AddEventHandler("onResourceStop", function(resource) - if GetCurrentResourceName() == resource and OpenedMenus > 0 then - ESX.UI.Menu.CloseAll() - elseif CurrentNameSpace ~= nil and CurrentNameSpace == resource and OpenedMenus > 0 then - ESX.UI.Menu.CloseAll() - end -end) - -ESX.UI.Menu.RegisterType(MenuType, openMenu, closeMenu) - -RegisterNUICallback("menu_submit", function(data, cb) - local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name) - if menu.submit ~= nil then - menu.submit(data, menu) - end - cb("OK") -end) - -RegisterNUICallback("menu_cancel", function(data, cb) - local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name) - - if menu.cancel ~= nil then - menu.cancel(data, menu) - end - cb("OK") -end) - -RegisterNUICallback("menu_change", function(data, cb) - local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name) - - for i = 1, #data.elements, 1 do - menu.setElement(i, "value", data.elements[i].value) - - if data.elements[i].selected then - menu.setElement(i, "selected", true) - else - menu.setElement(i, "selected", false) - end - end - - if menu.change ~= nil then - menu.change(data, menu) - end - cb("OK") -end) - -ESX.RegisterInput("menu_default_enter", "Submit menu item", "keyboard", "RETURN", function() - if OpenedMenus > 0 and (GetGameTimer() - GUI.Time) > 200 then - SendNUIMessage({ - action = "controlPressed", - control = "ENTER", - }) - GUI.Time = GetGameTimer() - end -end) - -ESX.RegisterInput("menu_default_backspace", "Close menu", "keyboard", "BACK", function() - if OpenedMenus > 0 then - SendNUIMessage({ - action = "controlPressed", - control = "BACKSPACE", - }) - GUI.Time = GetGameTimer() - end -end) - -ESX.RegisterInput("menu_default_top", "Change menu focus to top item", "keyboard", "UP", function() - if OpenedMenus > 0 then - SendNUIMessage({ - action = "controlPressed", - control = "TOP", - }) - GUI.Time = GetGameTimer() - end -end) - -ESX.RegisterInput("menu_default_down", "Change menu focus to down item", "keyboard", "DOWN", function() - if OpenedMenus > 0 then - SendNUIMessage({ - action = "controlPressed", - control = "DOWN", - }) - GUI.Time = GetGameTimer() - end -end) - -ESX.RegisterInput("menu_default_left", "Change menu slider to left", "keyboard", "LEFT", function() - if OpenedMenus > 0 then - SendNUIMessage({ - action = "controlPressed", - control = "LEFT", - }) - GUI.Time = GetGameTimer() - end -end) - -ESX.RegisterInput("menu_default_right", "Change menu slider to right", "keyboard", "RIGHT", function() - if OpenedMenus > 0 then - SendNUIMessage({ - action = "controlPressed", - control = "RIGHT", - }) - GUI.Time = GetGameTimer() - end -end) diff --git a/resources/esx_menu_default/fxmanifest.lua b/resources/esx_menu_default/fxmanifest.lua deleted file mode 100644 index cb787a4..0000000 --- a/resources/esx_menu_default/fxmanifest.lua +++ /dev/null @@ -1,14 +0,0 @@ -fx_version 'adamant' - -game 'gta5' -description 'A basic menu system for ESX Legacy.' -lua54 'yes' -version '1.10.8' - -client_scripts { '@ui_core/imports.lua', 'client/main.lua' } - -ui_page { 'html/ui.html' } - -files { 'html/ui.html', 'html/css/app.css', 'html/js/mustache.min.js', 'html/js/app.js' } - -dependencies { 'ui_core' } diff --git a/resources/esx_menu_default/html/css/app.css b/resources/esx_menu_default/html/css/app.css deleted file mode 100644 index 4658b79..0000000 --- a/resources/esx_menu_default/html/css/app.css +++ /dev/null @@ -1,110 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&display=swap"); - -::-webkit-scrollbar { - display: none; -} - -.menu { - font-family: "Poppins", sans-serif; - min-width: 350px; - color: #fff; - position: absolute; - background: rgba(33, 33, 33, 0); - text-align: center; -} - -.head { - display: block; - overflow: hidden; - padding-bottom: 3px; - text-align: center; - margin-bottom: 5px; - white-space: nowrap; - background: rgba(10, 10, 10, 0.9); -} - -.menu .head { - text-align: center; - height: 28px; - color: #ffffff; - font-weight: 700; - font-size: 20px; -} - -.menu .menu-items { - max-height: 450px; - overflow-y: auto; - font-weight: 550; -} - -.menu-items { - margin-bottom: 2px; -} - -.menu .menu-items .menu-item { - display: block; - padding: 7px; - font-size: 13px; - height: 16px; - text-indent: 5px; - margin-top: 5px; - background: rgba(40, 40, 40, 0.8); - color: rgb(202, 202, 202); - border-radius: 5px; - margin-bottom: 6px; -} - -.menu .menu-items .menu-item.selected { - border: 1px solid rgba(55, 55, 55, 0.9); - background: rgba(20, 20, 20, 0.9); - color: rgba(243, 243, 243); - letter-spacing: 0.2px; - font-weight: 500; -} - -.menu.align-left { - left: 0; - top: 50%; -} - -.menu.align-top-left { - left: 3rem; - top: 0; -} - -.menu.align-top { - left: 50%; - top: 0; -} - -.menu.align-top-right { - right: 3rem; - top: 0; -} - -.menu.align-right { - right: 0; - top: 50%; -} - -.menu.align-bottom-right { - right: 3rem; - bottom: 0; -} - -.menu.align-bottom { - left: 50%; - bottom: 0; - transform: translate(0, -50%); -} - -.menu.align-bottom-left { - left: 3rem; - bottom: 0; -} - -.menu.align-center { - left: 50%; - top: 35%; - transform: translate(-50%, 50%); -} diff --git a/resources/esx_menu_default/html/fonts/bankgothic.ttf b/resources/esx_menu_default/html/fonts/bankgothic.ttf deleted file mode 100644 index f3d8049..0000000 Binary files a/resources/esx_menu_default/html/fonts/bankgothic.ttf and /dev/null differ diff --git a/resources/esx_menu_default/html/fonts/pdown.ttf b/resources/esx_menu_default/html/fonts/pdown.ttf deleted file mode 100644 index 69c76cf..0000000 Binary files a/resources/esx_menu_default/html/fonts/pdown.ttf and /dev/null differ diff --git a/resources/esx_menu_default/html/js/app.js b/resources/esx_menu_default/html/js/app.js deleted file mode 100644 index da6a906..0000000 --- a/resources/esx_menu_default/html/js/app.js +++ /dev/null @@ -1,366 +0,0 @@ -(function () { - let MenuTpl = - '

" + - ""; - window.ESX_MENU = {}; - ESX_MENU.ResourceName = "esx_menu_default"; - ESX_MENU.opened = {}; - ESX_MENU.focus = []; - ESX_MENU.pos = {}; - - ESX_MENU.open = function (namespace, name, data) { - if (typeof ESX_MENU.opened[namespace] === "undefined") { - ESX_MENU.opened[namespace] = {}; - } - - if (typeof ESX_MENU.opened[namespace][name] != "undefined") { - ESX_MENU.close(namespace, name); - } - - if (typeof ESX_MENU.pos[namespace] === "undefined") { - ESX_MENU.pos[namespace] = {}; - } - - for (let i = 0; i < data.elements.length; i++) { - if (typeof data.elements[i].type === "undefined") { - data.elements[i].type = "default"; - } - } - - data._index = ESX_MENU.focus.length; - data._namespace = namespace; - data._name = name; - - for (let i = 0; i < data.elements.length; i++) { - data.elements[i]._namespace = namespace; - data.elements[i]._name = name; - } - - ESX_MENU.opened[namespace][name] = data; - ESX_MENU.pos[namespace][name] = 0; - - for (let i = 0; i < data.elements.length; i++) { - if (data.elements[i].selected) { - ESX_MENU.pos[namespace][name] = i; - } else { - data.elements[i].selected = false; - } - } - - ESX_MENU.focus.push({ - namespace: namespace, - name: name, - }); - - ESX_MENU.render(); - $(document.getElementById("menu_" + namespace + "_" + name)) - .find(".menu-item.selected")[0] - .scrollIntoView(); - }; - - ESX_MENU.close = function (namespace, name) { - delete ESX_MENU.opened[namespace][name]; - - for (let i = 0; i < ESX_MENU.focus.length; i++) { - if (ESX_MENU.focus[i].namespace === namespace && ESX_MENU.focus[i].name === name) { - ESX_MENU.focus.splice(i, 1); - break; - } - } - - ESX_MENU.render(); - }; - - ESX_MENU.render = function () { - let menuContainer = document.getElementById("menus"); - let focused = ESX_MENU.getFocused(); - menuContainer.innerHTML = ""; - $(menuContainer).hide(); - - for (let namespace in ESX_MENU.opened) { - for (let name in ESX_MENU.opened[namespace]) { - let menuData = ESX_MENU.opened[namespace][name]; - let view = JSON.parse(JSON.stringify(menuData)); - - for (let i = 0; i < menuData.elements.length; i++) { - let element = view.elements[i]; - - switch (element.type) { - case "default": - break; - - case "slider": { - element.isSlider = true; - element.sliderLabel = typeof element.options === "undefined" ? element.value : element.options[element.value]; - - break; - } - - default: - break; - } - - if (i === ESX_MENU.pos[namespace][name]) { - element.selected = true; - } - } - - let menu = $(Mustache.render(MenuTpl, view))[0]; - $(menu).hide(); - menuContainer.appendChild(menu); - } - } - - if (typeof focused != "undefined") { - $(document.getElementById("menu_" + focused.namespace + "_" + focused.name)).show(); - } - - $(menuContainer).show(); - }; - - ESX_MENU.submit = function (namespace, name, data) { - $.post( - "http://" + ESX_MENU.ResourceName + "/menu_submit", - JSON.stringify({ - _namespace: namespace, - _name: name, - current: data, - elements: ESX_MENU.opened[namespace][name].elements, - }) - ); - }; - - ESX_MENU.cancel = function (namespace, name) { - $.post( - "http://" + ESX_MENU.ResourceName + "/menu_cancel", - JSON.stringify({ - _namespace: namespace, - _name: name, - }) - ); - }; - - ESX_MENU.change = function (namespace, name, data) { - $.post( - "http://" + ESX_MENU.ResourceName + "/menu_change", - JSON.stringify({ - _namespace: namespace, - _name: name, - current: data, - elements: ESX_MENU.opened[namespace][name].elements, - }) - ); - }; - - ESX_MENU.getFocused = function () { - return ESX_MENU.focus[ESX_MENU.focus.length - 1]; - }; - - window.onData = (data) => { - switch (data.action) { - case "openMenu": { - ESX_MENU.open(data.namespace, data.name, data.data); - break; - } - - case "closeMenu": { - ESX_MENU.close(data.namespace, data.name); - break; - } - - case "controlPressed": { - switch (data.control) { - case "ENTER": { - let focused = ESX_MENU.getFocused(); - - if (typeof focused != "undefined") { - let menu = ESX_MENU.opened[focused.namespace][focused.name]; - let pos = ESX_MENU.pos[focused.namespace][focused.name]; - let elem = menu.elements[pos]; - - if (menu.elements.length > 0) { - ESX_MENU.submit(focused.namespace, focused.name, elem); - } - } - - break; - } - - case "BACKSPACE": { - let focused = ESX_MENU.getFocused(); - - if (typeof focused != "undefined") { - ESX_MENU.cancel(focused.namespace, focused.name); - } - - break; - } - - case "TOP": { - let focused = ESX_MENU.getFocused(); - - if (typeof focused != "undefined") { - let menu = ESX_MENU.opened[focused.namespace][focused.name]; - let pos = ESX_MENU.pos[focused.namespace][focused.name]; - - if (pos > 0) { - ESX_MENU.pos[focused.namespace][focused.name]--; - } else { - ESX_MENU.pos[focused.namespace][focused.name] = menu.elements.length - 1; - } - - let elem = menu.elements[ESX_MENU.pos[focused.namespace][focused.name]]; - - for (let i = 0; i < menu.elements.length; i++) { - if (i === ESX_MENU.pos[focused.namespace][focused.name]) { - menu.elements[i].selected = true; - } else { - menu.elements[i].selected = false; - } - } - - ESX_MENU.change(focused.namespace, focused.name, elem); - ESX_MENU.render(); - - $(document.getElementById("menu_" + focused.namespace + "_" + focused.name)) - .find(".menu-item.selected")[0] - .scrollIntoView(); - } - - break; - } - - case "DOWN": { - let focused = ESX_MENU.getFocused(); - - if (typeof focused != "undefined") { - let menu = ESX_MENU.opened[focused.namespace][focused.name]; - let pos = ESX_MENU.pos[focused.namespace][focused.name]; - let length = menu.elements.length; - - if (pos < length - 1) { - ESX_MENU.pos[focused.namespace][focused.name]++; - } else { - ESX_MENU.pos[focused.namespace][focused.name] = 0; - } - - let elem = menu.elements[ESX_MENU.pos[focused.namespace][focused.name]]; - - for (let i = 0; i < menu.elements.length; i++) { - if (i === ESX_MENU.pos[focused.namespace][focused.name]) { - menu.elements[i].selected = true; - } else { - menu.elements[i].selected = false; - } - } - - ESX_MENU.change(focused.namespace, focused.name, elem); - ESX_MENU.render(); - - $(document.getElementById("menu_" + focused.namespace + "_" + focused.name)) - .find(".menu-item.selected")[0] - .scrollIntoView(); - } - - break; - } - - case "LEFT": { - let focused = ESX_MENU.getFocused(); - - if (typeof focused != "undefined") { - let menu = ESX_MENU.opened[focused.namespace][focused.name]; - let pos = ESX_MENU.pos[focused.namespace][focused.name]; - let elem = menu.elements[pos]; - - switch (elem.type) { - case "default": - break; - - case "slider": { - let min = typeof elem.min === "undefined" ? 0 : elem.min; - - if (elem.value > min) { - elem.value--; - ESX_MENU.change(focused.namespace, focused.name, elem); - } - - ESX_MENU.render(); - break; - } - - default: - break; - } - - $(document.getElementById("menu_" + focused.namespace + "_" + focused.name)) - .find(".menu-item.selected")[0] - .scrollIntoView(); - } - - break; - } - - case "RIGHT": { - let focused = ESX_MENU.getFocused(); - - if (typeof focused != "undefined") { - let menu = ESX_MENU.opened[focused.namespace][focused.name]; - let pos = ESX_MENU.pos[focused.namespace][focused.name]; - let elem = menu.elements[pos]; - - switch (elem.type) { - case "default": - break; - - case "slider": { - if (typeof elem.options != "undefined" && elem.value < elem.options.length - 1) { - elem.value++; - ESX_MENU.change(focused.namespace, focused.name, elem); - } - - if (typeof elem.max != "undefined" && elem.value < elem.max) { - elem.value++; - ESX_MENU.change(focused.namespace, focused.name, elem); - } - - ESX_MENU.render(); - break; - } - - default: - break; - } - - $(document.getElementById("menu_" + focused.namespace + "_" + focused.name)) - .find(".menu-item.selected")[0] - .scrollIntoView(); - } - - break; - } - - default: - break; - } - - break; - } - } - }; - - window.onload = function (e) { - window.addEventListener("message", (event) => { - onData(event.data); - }); - }; -})(); diff --git a/resources/esx_menu_default/html/js/mustache.min.js b/resources/esx_menu_default/html/js/mustache.min.js deleted file mode 100644 index f365659..0000000 --- a/resources/esx_menu_default/html/js/mustache.min.js +++ /dev/null @@ -1,347 +0,0 @@ -(function defineMustache(global, factory) { - if (typeof exports === "object" && exports && typeof exports.nodeName !== "string") { - factory(exports); - } else if (typeof define === "function" && define.amd) { - define(["exports"], factory); - } else { - global.Mustache = {}; - factory(global.Mustache); - } -})(this, function mustacheFactory(mustache) { - var objectToString = Object.prototype.toString; - var isArray = - Array.isArray || - function isArrayPolyfill(object) { - return objectToString.call(object) === "[object Array]"; - }; - function isFunction(object) { - return typeof object === "function"; - } - function typeStr(obj) { - return isArray(obj) ? "array" : typeof obj; - } - function escapeRegExp(string) { - return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); - } - function hasProperty(obj, propName) { - return obj != null && typeof obj === "object" && propName in obj; - } - var regExpTest = RegExp.prototype.test; - function testRegExp(re, string) { - return regExpTest.call(re, string); - } - var nonSpaceRe = /\S/; - function isWhitespace(string) { - return !testRegExp(nonSpaceRe, string); - } - var entityMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/", "`": "`", "=": "=" }; - function escapeHtml(string) { - return String(string).replace(/[&<>"'`=\/]/g, function fromEntityMap(s) { - return entityMap[s]; - }); - } - var whiteRe = /\s*/; - var spaceRe = /\s+/; - var equalsRe = /\s*=/; - var curlyRe = /\s*\}/; - var tagRe = /#|\^|\/|>|\{|&|=|!/; - function parseTemplate(template, tags) { - if (!template) return []; - var sections = []; - var tokens = []; - var spaces = []; - var hasTag = false; - var nonSpace = false; - function stripSpace() { - if (hasTag && !nonSpace) { - while (spaces.length) delete tokens[spaces.pop()]; - } else { - spaces = []; - } - hasTag = false; - nonSpace = false; - } - var openingTagRe, closingTagRe, closingCurlyRe; - function compileTags(tagsToCompile) { - if (typeof tagsToCompile === "string") tagsToCompile = tagsToCompile.split(spaceRe, 2); - if (!isArray(tagsToCompile) || tagsToCompile.length !== 2) throw new Error("Invalid tags: " + tagsToCompile); - openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + "\\s*"); - closingTagRe = new RegExp("\\s*" + escapeRegExp(tagsToCompile[1])); - closingCurlyRe = new RegExp("\\s*" + escapeRegExp("}" + tagsToCompile[1])); - } - compileTags(tags || mustache.tags); - var scanner = new Scanner(template); - var start, type, value, chr, token, openSection; - while (!scanner.eos()) { - start = scanner.pos; - value = scanner.scanUntil(openingTagRe); - if (value) { - for (var i = 0, valueLength = value.length; i < valueLength; ++i) { - chr = value.charAt(i); - if (isWhitespace(chr)) { - spaces.push(tokens.length); - } else { - nonSpace = true; - } - tokens.push(["text", chr, start, start + 1]); - start += 1; - if (chr === "\n") stripSpace(); - } - } - if (!scanner.scan(openingTagRe)) break; - hasTag = true; - type = scanner.scan(tagRe) || "name"; - scanner.scan(whiteRe); - if (type === "=") { - value = scanner.scanUntil(equalsRe); - scanner.scan(equalsRe); - scanner.scanUntil(closingTagRe); - } else if (type === "{") { - value = scanner.scanUntil(closingCurlyRe); - scanner.scan(curlyRe); - scanner.scanUntil(closingTagRe); - type = "&"; - } else { - value = scanner.scanUntil(closingTagRe); - } - if (!scanner.scan(closingTagRe)) throw new Error("Unclosed tag at " + scanner.pos); - token = [type, value, start, scanner.pos]; - tokens.push(token); - if (type === "#" || type === "^") { - sections.push(token); - } else if (type === "/") { - openSection = sections.pop(); - if (!openSection) throw new Error('Unopened section "' + value + '" at ' + start); - if (openSection[1] !== value) throw new Error('Unclosed section "' + openSection[1] + '" at ' + start); - } else if (type === "name" || type === "{" || type === "&") { - nonSpace = true; - } else if (type === "=") { - compileTags(value); - } - } - openSection = sections.pop(); - if (openSection) throw new Error('Unclosed section "' + openSection[1] + '" at ' + scanner.pos); - return nestTokens(squashTokens(tokens)); - } - function squashTokens(tokens) { - var squashedTokens = []; - var token, lastToken; - for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) { - token = tokens[i]; - if (token) { - if (token[0] === "text" && lastToken && lastToken[0] === "text") { - lastToken[1] += token[1]; - lastToken[3] = token[3]; - } else { - squashedTokens.push(token); - lastToken = token; - } - } - } - return squashedTokens; - } - function nestTokens(tokens) { - var nestedTokens = []; - var collector = nestedTokens; - var sections = []; - var token, section; - for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) { - token = tokens[i]; - switch (token[0]) { - case "#": - case "^": - collector.push(token); - sections.push(token); - collector = token[4] = []; - break; - case "/": - section = sections.pop(); - section[5] = token[2]; - collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens; - break; - default: - collector.push(token); - } - } - return nestedTokens; - } - function Scanner(string) { - this.string = string; - this.tail = string; - this.pos = 0; - } - Scanner.prototype.eos = function eos() { - return this.tail === ""; - }; - Scanner.prototype.scan = function scan(re) { - var match = this.tail.match(re); - if (!match || match.index !== 0) return ""; - var string = match[0]; - this.tail = this.tail.substring(string.length); - this.pos += string.length; - return string; - }; - Scanner.prototype.scanUntil = function scanUntil(re) { - var index = this.tail.search(re), - match; - switch (index) { - case -1: - match = this.tail; - this.tail = ""; - break; - case 0: - match = ""; - break; - default: - match = this.tail.substring(0, index); - this.tail = this.tail.substring(index); - } - this.pos += match.length; - return match; - }; - function Context(view, parentContext) { - this.view = view; - this.cache = { ".": this.view }; - this.parent = parentContext; - } - Context.prototype.push = function push(view) { - return new Context(view, this); - }; - Context.prototype.lookup = function lookup(name) { - var cache = this.cache; - var value; - if (cache.hasOwnProperty(name)) { - value = cache[name]; - } else { - var context = this, - names, - index, - lookupHit = false; - while (context) { - if (name.indexOf(".") > 0) { - value = context.view; - names = name.split("."); - index = 0; - while (value != null && index < names.length) { - if (index === names.length - 1) lookupHit = hasProperty(value, names[index]); - value = value[names[index++]]; - } - } else { - value = context.view[name]; - lookupHit = hasProperty(context.view, name); - } - if (lookupHit) break; - context = context.parent; - } - cache[name] = value; - } - if (isFunction(value)) value = value.call(this.view); - return value; - }; - function Writer() { - this.cache = {}; - } - Writer.prototype.clearCache = function clearCache() { - this.cache = {}; - }; - Writer.prototype.parse = function parse(template, tags) { - var cache = this.cache; - var tokens = cache[template]; - if (tokens == null) tokens = cache[template] = parseTemplate(template, tags); - return tokens; - }; - Writer.prototype.render = function render(template, view, partials) { - var tokens = this.parse(template); - var context = view instanceof Context ? view : new Context(view); - return this.renderTokens(tokens, context, partials, template); - }; - Writer.prototype.renderTokens = function renderTokens(tokens, context, partials, originalTemplate) { - var buffer = ""; - var token, symbol, value; - for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) { - value = undefined; - token = tokens[i]; - symbol = token[0]; - if (symbol === "#") value = this.renderSection(token, context, partials, originalTemplate); - else if (symbol === "^") value = this.renderInverted(token, context, partials, originalTemplate); - else if (symbol === ">") value = this.renderPartial(token, context, partials, originalTemplate); - else if (symbol === "&") value = this.unescapedValue(token, context); - else if (symbol === "name") value = this.escapedValue(token, context); - else if (symbol === "text") value = this.rawValue(token); - if (value !== undefined) buffer += value; - } - return buffer; - }; - Writer.prototype.renderSection = function renderSection(token, context, partials, originalTemplate) { - var self = this; - var buffer = ""; - var value = context.lookup(token[1]); - function subRender(template) { - return self.render(template, context, partials); - } - if (!value) return; - if (isArray(value)) { - for (var j = 0, valueLength = value.length; j < valueLength; ++j) { - buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate); - } - } else if (typeof value === "object" || typeof value === "string" || typeof value === "number") { - buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate); - } else if (isFunction(value)) { - if (typeof originalTemplate !== "string") throw new Error("Cannot use higher-order sections without the original template"); - value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender); - if (value != null) buffer += value; - } else { - buffer += this.renderTokens(token[4], context, partials, originalTemplate); - } - return buffer; - }; - Writer.prototype.renderInverted = function renderInverted(token, context, partials, originalTemplate) { - var value = context.lookup(token[1]); - if (!value || (isArray(value) && value.length === 0)) return this.renderTokens(token[4], context, partials, originalTemplate); - }; - Writer.prototype.renderPartial = function renderPartial(token, context, partials) { - if (!partials) return; - var value = isFunction(partials) ? partials(token[1]) : partials[token[1]]; - if (value != null) return this.renderTokens(this.parse(value), context, partials, value); - }; - Writer.prototype.unescapedValue = function unescapedValue(token, context) { - var value = context.lookup(token[1]); - if (value != null) return value; - }; - Writer.prototype.escapedValue = function escapedValue(token, context) { - var value = context.lookup(token[1]); - if (value != null) return mustache.escape(value); - }; - Writer.prototype.rawValue = function rawValue(token) { - return token[1]; - }; - mustache.name = "mustache.js"; - mustache.version = "2.3.0"; - mustache.tags = ["{{", "}}"]; - var defaultWriter = new Writer(); - mustache.clearCache = function clearCache() { - return defaultWriter.clearCache(); - }; - mustache.parse = function parse(template, tags) { - return defaultWriter.parse(template, tags); - }; - mustache.render = function render(template, view, partials) { - if (typeof template !== "string") { - throw new TypeError('Invalid template! Template should be a "string" ' + 'but "' + typeStr(template) + '" was given as the first ' + "argument for mustache#render(template, view, partials)"); - } - return defaultWriter.render(template, view, partials); - }; - mustache.to_html = function to_html(template, view, partials, send) { - var result = mustache.render(template, view, partials); - if (isFunction(send)) { - send(result); - } else { - return result; - } - }; - mustache.escape = escapeHtml; - mustache.Scanner = Scanner; - mustache.Context = Context; - mustache.Writer = Writer; - return mustache; -}); diff --git a/resources/esx_menu_default/html/ui.html b/resources/esx_menu_default/html/ui.html deleted file mode 100644 index 2cb88e7..0000000 --- a/resources/esx_menu_default/html/ui.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/resources/esx_menu_dialog/LICENSE b/resources/esx_menu_dialog/LICENSE deleted file mode 100644 index 7b3fd1a..0000000 --- a/resources/esx_menu_dialog/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - esx_menu_dialog - Copyright (C) 2015-2024 Jérémie N'gadi - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - esx_menu_dialog Copyright (C) 2015-2024 Jérémie N'gadi - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/resources/esx_menu_dialog/README.md b/resources/esx_menu_dialog/README.md deleted file mode 100644 index 038f95f..0000000 --- a/resources/esx_menu_dialog/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# esx_menu_dialog -Simple script used for inputs. - -## Installation -- Add this to your `server.cfg`: - -``` -start esx_menu_dialog -``` - -# Legal -### License -esx_menu_dialog - input dialog for ESX - -Copyright (C) 2015-2024 Jérémie N'gadi - -This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. - -This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details. - -You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/. \ No newline at end of file diff --git a/resources/esx_menu_dialog/client/main.lua b/resources/esx_menu_dialog/client/main.lua deleted file mode 100644 index aee3886..0000000 --- a/resources/esx_menu_dialog/client/main.lua +++ /dev/null @@ -1,80 +0,0 @@ -local Timeouts, OpenedMenus, MenuType = {}, {}, "dialog" - -local function openMenu(namespace, name, data) - for i = 1, #Timeouts, 1 do - ESX.ClearTimeout(Timeouts[i]) - end - - OpenedMenus[namespace .. "_" .. name] = true - - SendNUIMessage({ - action = "openMenu", - namespace = namespace, - name = name, - data = data, - }) - - local timeoutId = ESX.SetTimeout(200, function() - SetNuiFocus(true, true) - end) - - table.insert(Timeouts, timeoutId) -end - -local function closeMenu(namespace, name) - OpenedMenus[namespace .. "_" .. name] = nil - - SendNUIMessage({ - action = "closeMenu", - namespace = namespace, - name = name, - }) - - if not next(OpenedMenus) then - SetNuiFocus(false) - end -end - -ESX.UI.Menu.RegisterType(MenuType, openMenu, closeMenu) - -AddEventHandler("esx_menu_dialog:message:menu_submit", function(data) - local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name) - local cancel = false - - if menu.submit then - -- is the submitted data a number? - if tonumber(data.value) then - data.value = ESX.Math.Round(tonumber(data.value)) - - -- check for negative value - if tonumber(data.value) <= 0 then - cancel = true - end - end - - data.value = ESX.Math.Trim(data.value) - - -- don't submit if the value is negative or if it's 0 - if cancel then - ESX.ShowNotification("That input is not allowed!") - else - menu.submit(data, menu) - end - end -end) - -AddEventHandler("esx_menu_dialog:message:menu_cancel", function(data) - local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name) - - if menu.cancel ~= nil then - menu.cancel(data, menu) - end -end) - -AddEventHandler("esx_menu_dialog:message:menu_change", function(data) - local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name) - - if menu.change ~= nil then - menu.change(data, menu) - end -end) diff --git a/resources/esx_menu_dialog/fxmanifest.lua b/resources/esx_menu_dialog/fxmanifest.lua deleted file mode 100644 index d98c3d6..0000000 --- a/resources/esx_menu_dialog/fxmanifest.lua +++ /dev/null @@ -1,28 +0,0 @@ -fx_version 'adamant' - -game 'gta5' -description 'A basic input dialog for ESX Legacy.' -lua54 'yes' -version '1.10.8' - -client_scripts { - '@ui_core/imports.lua', - '@ui_core/client/wrapper.lua', - 'client/main.lua' -} - -ui_page 'html/ui.html' - -files { - 'html/ui.html', - - 'html/css/app.css', - - 'html/js/mustache.min.js', - 'html/js/app.js', - - 'html/fonts/pdown.ttf', - 'html/fonts/bankgothic.ttf' -} - -dependency 'ui_core' diff --git a/resources/esx_menu_dialog/html/css/app.css b/resources/esx_menu_dialog/html/css/app.css deleted file mode 100644 index 20b3992..0000000 --- a/resources/esx_menu_dialog/html/css/app.css +++ /dev/null @@ -1,132 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Montserrat&display=swap"); - -#controls { - font-family: montserrat; - font-size: 3em; - color: #fff; - position: absolute; - bottom: 40; - right: 40; -} - -.controls { - display: none; -} - -.dialog { - font-family: montserrat; - background: rgba(33, 33, 33, 0.8); - color: #fff; - position: absolute; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - overflow: hidden; - top: 50%; - left: 50%; - width: 600px; - height: 152px; - transform: translate(-50%, -50%); -} - -.head { - display: flex; - flex-basis: 100%; - align-items: center; - color: #fff; -} - -.dialog.big { - height: 200px; -} - -.dialog .head { - background: rgba(25, 25, 25, 0.9); - text-align: center; - height: 40px; -} - -.dialog .head span::before { - content: ""; - display: inline-block; - height: 100%; - vertical-align: middle; -} - -.dialog input[type="text"] { - width: 60%; - height: 32px; - outline: 0; - background: none; - text-align: center; - margin-top: 26px; - margin-left: 125px; - font-size: large; - transition: all 0.2s ease-in-out; - color: white; - border: 0.5px solid #ffffff3b; - border-radius: 0px; -} - -.dialog input[type="text"]:active, -.dialog input[type="text"]:hover { - color: white; -} - -.dialog textarea { - width: 100%; - height: 128px; -} - -.dialog button[name="submit"] { - width: 17.6%; - height: 32px; - margin-left: 160px; - font-weight: 300; - color: rgb(37, 34, 53); - border-radius: 10px; - text-transform: uppercase; - background: rgb(50, 79, 208); - outline: 0; - border: none; - transition: all 0.2s ease-in-out; -} - -.dialog button { - z-index: 9999; - transform: translate(-0%, 50%); -} - -.dialog button[name="cancel"] { - width: 17.6%; - height: 32px; - margin-left: 60px; - border: none; - text-transform: uppercase; - font-weight: 200; - border-radius: 10px; - color: rgb(53, 34, 34); - outline: 0; - background: #c74545; - transition: all 0.2s ease-in-out; -} - -.dialog button[name="cancel"]:hover { - letter-spacing: 1px; - color: #ffffff; - width: 17.6%; -} - -.dialog button[name="submit"]:hover { - letter-spacing: 1px; - color: white; - width: 17.6%; -} - -.head::before, -.head::after { - content: ""; - flex-grow: 1; - background: #00e1ff; - height: 2px; - margin: 0px 3px; -} diff --git a/resources/esx_menu_dialog/html/fonts/bankgothic.ttf b/resources/esx_menu_dialog/html/fonts/bankgothic.ttf deleted file mode 100644 index f3d8049..0000000 Binary files a/resources/esx_menu_dialog/html/fonts/bankgothic.ttf and /dev/null differ diff --git a/resources/esx_menu_dialog/html/fonts/pdown.ttf b/resources/esx_menu_dialog/html/fonts/pdown.ttf deleted file mode 100644 index 69c76cf..0000000 Binary files a/resources/esx_menu_dialog/html/fonts/pdown.ttf and /dev/null differ diff --git a/resources/esx_menu_dialog/html/js/app.js b/resources/esx_menu_dialog/html/js/app.js deleted file mode 100644 index 9cbdf2b..0000000 --- a/resources/esx_menu_dialog/html/js/app.js +++ /dev/null @@ -1,181 +0,0 @@ -(function () { - let MenuTpl = - '