local P=game:GetService("\083\101\114\118\101\114\083\116\111\114\097\103\101")local O=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local Q=require(O.Dependencies.GameUtils.Logger)local G=require(P.Source.GameStates.Player.PlayerPreGame)local v=require(P.Source.GameStates.Player.PlayerWarmup)local T=require(P.Source.GameStates.Player.PlayerGame)local n=require(P.Source.GameStates.Player.PlayerPostGame)local j=require(P.Source.GameStates.Player.PlayerFinished)local U=require(P.Source.GameStates.Player.PlayerDead)local a=require(P.Source.GameStates.Player.PlayerSpectating)local x={}
--[[
	Proxy layer between the player FSM and the player state scripts, allowing debug and player state updates to be fired.

	When a state is entered, the updateStatus function is called for the relevant ServerPlayerComponent
]]
local ServerStorage = game:GetService("ServerStorage")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Logger = require(ReplicatedStorage.Dependencies.GameUtils.Logger)

local PlayerPreGame = require(ServerStorage.Source.GameStates.Player.PlayerPreGame)
local PlayerWarmup = require(ServerStorage.Source.GameStates.Player.PlayerWarmup)
local PlayerGame = require(ServerStorage.Source.GameStates.Player.PlayerGame)
local PlayerPostGame = require(ServerStorage.Source.GameStates.Player.PlayerPostGame)
local PlayerFinished = require(ServerStorage.Source.GameStates.Player.PlayerFinished)
local PlayerDead = require(ServerStorage.Source.GameStates.Player.PlayerDead)
local PlayerSpectating = require(ServerStorage.Source.GameStates.Player.PlayerSpectating)

local Transitions = {}
