local U,Z,f,Q,K,G,w,r,F,c,N,D,p,E,I,n,i,u,B,b,o,R,S,C,z,A,J,q,y,l,j,s,v,e,m,x,k,d,P,Y,V,H,g,O,X,a,T,t,h,W,M,L,Uj,Zj,fj,Qj,Kj,Gj,wj,rj,Fj,cj=_G,game,script,getfenv,setfenv,workspace,getmetatable,setmetatable,loadstring,coroutine,rawequal,typeof,print,math,warn,error,pcall,xpcall,select,rawset,rawget,ipairs,pairs,next,Rect,Axes,os,time,Faces,table.unpack,string,Color3,newproxy,tostring,tonumber,Instance,TweenInfo,BrickColor,NumberRange,ColorSequence,NumberSequence,ColorSequenceKeypoint,NumberSequenceKeypoint,PhysicalProperties,Region3int16,Vector3int16,require,table,type,task.wait,Enum,UDim,UDim2,Vector2,Vector3,Region3,CFrame,Ray,task.defer,task.delay,task,function(U,Z)return U or error(Z or"\097\115\115\101\114\116\105\111\110 \102\097\105\108\101\100\033",2)end local Nj=t.freeze({"\087\111\114\107\115\112\097\099\101";"\080\108\097\121\101\114\115";"\076\105\103\104\116\105\110\103","\083\101\114\118\101\114\083\116\111\114\097\103\101","\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101";"\074\111\105\110\116\115\083\101\114\118\105\099\101";"\082\101\112\108\105\099\097\116\101\100\070\105\114\115\116","\083\099\114\105\112\116\067\111\110\116\101\120\116";"\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101","\076\111\103\083\101\114\118\105\099\101","\084\101\097\109\115","\083\111\117\110\100\083\101\114\118\105\099\101","\083\116\097\114\116\101\114\071\117\105";"\083\116\097\114\116\101\114\080\097\099\107","\083\116\097\114\116\101\114\080\108\097\121\101\114";"\071\114\111\117\112\083\101\114\118\105\099\101";"\077\097\114\107\101\116\112\108\097\099\101\083\101\114\118\105\099\101","\077\097\114\107\101\116\112\108\097\099\101\083\101\114\118\105\099\101","\084\101\115\116\083\101\114\118\105\099\101";"\072\116\116\112\083\101\114\118\105\099\101","\082\117\110\083\101\114\118\105\099\101";"\073\110\115\101\114\116\083\101\114\118\105\099\101";"\078\101\116\119\111\114\107\083\101\114\118\101\114"})local Dj={}local pj=Q()K(1,r({},{__metatable=Dj}))local Ej={}local Ij={}local nj={}local ij={}local uj={}local Bj={}local bj={}local oj=T local Rj=f.Parent local Sj=x.new local Cj=function(U)for Z,f in S(Ij.Modules)do if U==f then return true end end return false end local zj=function(U,Z)if h(U)=="\115\116\114\105\110\103"and not Z then Z=U U=nil end if Ij.Core and Ij.Core.DebugMode then I("\058\058\065\100\111\110\105\115\058\058 \069\114\114\111\114\058 "..(e(U)..("\058 "..e(Z))))end if Ij and Ij.Logs then Ij.Logs.AddLog(Ij.Logs.Errors,{Text=(Z and(U and e(U).."\058")or"")..e(Z),Desc=Z,Player=U})end end
--// Holiday roooaaAaaoooAaaooOod
local _G, game, script, getfenv, setfenv, workspace, getmetatable, setmetatable, loadstring, coroutine, rawequal, typeof, print, math, warn, error, pcall, xpcall, select, rawset, rawget, ipairs, pairs, next, Rect, Axes, os, time, Faces, unpack, string, Color3, newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor, NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint, NumberSequenceKeypoint, PhysicalProperties, Region3int16, Vector3int16, require, table, type, wait, Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, spawn, delay, task, assert =
	_G,
	game,
	script,
	getfenv,
	setfenv,
	workspace,
	getmetatable,
	setmetatable,
	loadstring,
	coroutine,
	rawequal,
	typeof,
	print,
	math,
	warn,
	error,
	pcall,
	xpcall,
	select,
	rawset,
	rawget,
	ipairs,
	pairs,
	next,
	Rect,
	Axes,
	os,
	time,
	Faces,
	table.unpack,
	string,
	Color3,
	newproxy,
	tostring,
	tonumber,
	Instance,
	TweenInfo,
	BrickColor,
	NumberRange,
	ColorSequence,
	NumberSequence,
	ColorSequenceKeypoint,
	NumberSequenceKeypoint,
	PhysicalProperties,
	Region3int16,
	Vector3int16,
	require,
	table,
	type,
	task.wait,
	Enum,
	UDim,
	UDim2,
	Vector2,
	Vector3,
	Region3,
	CFrame,
	Ray,
	task.defer,
	task.delay,
	task,
	function(cond, errMsg)
		return cond or error(errMsg or "assertion failed!", 2)
	end

local SERVICES_WE_USE = table.freeze({
	"Workspace",
	"Players",
	"Lighting",
	"ServerStorage",
	"ReplicatedStorage",
	"JointsService",
	"ReplicatedFirst",
	"ScriptContext",
	"ServerScriptService",
	"LogService",
	"Teams",
	"SoundService",
	"StarterGui",
	"StarterPack",
	"StarterPlayer",
	"GroupService",
	"MarketplaceService",
	"MarketplaceService",
	"TestService",
	"HttpService",
	"RunService",
	"InsertService",
	"NetworkServer",
})

local unique = {}
local origEnv = getfenv()
setfenv(1, setmetatable({}, { __metatable = unique }))
local locals = {}
local server = {}
local service = {}
local RbxEvents = {}
local ErrorLogs = {}
local HookedEvents = {}
local ServiceSpecific = {}
local oldReq = require
local Folder = script.Parent
local oldInstNew = Instance.new
local isModule = function(module)
	for ind, modu in pairs(server.Modules) do
		if module == modu then
			return true
		end
	end
	return false
end

local logError = function(plr, err)
	if type(plr) == "string" and not err then
		err = plr
		plr = nil
	end

	if server.Core and server.Core.DebugMode then
		warn("::Adonis:: Error: " .. tostring(plr) .. ": " .. tostring(err))
	end

	if server and server.Logs then
		server.Logs.AddLog(server.Logs.Errors, {
			Text = ((err and plr and tostring(plr) .. ":") or "") .. tostring(err),
			Desc = err,
			Player = plr,
		})
	end
end
