Prompt:
-- local function arrayBufferEquality(
-- 	a: unknown,
-- 	b: unknown
-- ): boolean | nil
-- 	if
-- 		not Boolean.toJSBoolean(
-- 			error('not implemented') --[[ ROBLOX TODO: Unhandled node for type: BinaryExpression ]] --[[ a instanceof ArrayBuffer ]]
-- 		)
-- 		or not Boolean.toJSBoolean(
-- 			error('not implemented') --[[ ROBLOX TODO: Unhandled node for type: BinaryExpression ]] --[[ b instanceof ArrayBuffer ]]
-- 		)
-- 	then
-- 		return nil
-- 	end
-- 	local dataViewA = DataView.new(a)
-- 	local dataViewB = DataView.new(b)
-- 	-- Buffers are not equal when they do not have the same byte length
-- 	if dataViewA.byteLength ~= dataViewB.byteLength then
-- 		return false
-- 	end
-- 	-- Check if every byte value is equal to each other
-- 	local i = 0
-- 	while i < dataViewA.byteLength do
-- 		if dataViewA:getUint8(i) ~= dataViewB:getUint8(i) then
-- 			return false
-- 		end
-- 		i += 1
-- 	end
-- 	return true
-- end
-- ROBLOX deviation END

Response:
local function sparseArrayEquality(a: any, b: any): boolean | nil
	if not Array.isArray(a) or not Array.isArray(b) then
		return nil
	end

	local aKeys = Object.keys(a)
	local bKeys = Object.keys(b)

	return  --[[
			ROBLOX TODO: (ADO-1217) replace the line below
			once Map/Set functionality is implemented

			--equals(a, b, {iterableEquality, typeEquality}, true) and
		]]equals(a, b, { typeEquality }, true) and equals(aKeys, bKeys)
end

local function partition<T>(items: Array<T>, predicate: (T) -> boolean): { [number]: Array<T> }
	local result = { {}, {} }

	for _, item in ipairs(items) do
		table.insert(result[predicate(item) and 1 or 2], item)
	end

	return result
end

function pathAsArray(propertyPath: string): Array<any>
	-- will match everything that's not a dot or a bracket, and "" for consecutive dots.
	local pattern = RegExp("[^.[\\]]+|(?=(?:\\.)(?:\\.|$))") -- ROBLOX TODO: add 'g' flag when supported
	local properties: Array<string | number> = {}

	-- Because the regex won't match a dot in the beginning of the path, if present.
	if propertyPath:sub(1, 1) == "." then
		table.insert(properties, "")
	end

	--[[
		ROBLOX deviation: implement the following logic without using String.protorype.replace functionality
		original code:
		propertyPath.replace(pattern, match => {
		  properties.push(match);
		  return match;
		});
	]]
	local totalLength = 0
	local propertyPath_ = propertyPath
	local match = pattern:exec(propertyPath_)
	while match ~= nil and totalLength < #propertyPath do
		local wholeMatch = match[1]
		local wholeMatchEnd = match.index + #wholeMatch
		local matchIndex = totalLength + match.index
		local prevChar = propertyPath:sub(matchIndex - 1, matchIndex - 1)

		-- ROBLOX NOTE: for `[digit]` syntax we need to parse to number so that array indexing works correctly in Lua
		if prevChar == "[" then
			local matchNumber = tonumber(wholeMatch, 10)
			if matchNumber then
				table.insert(properties, matchNumber)
			else
				table.insert(properties, wholeMatch)
			end
		else
			table.insert(properties, wholeMatch)
		end
		totalLength += wholeMatchEnd

		propertyPath_ = propertyPath_:sub(wholeMatchEnd + 1)
		match = pattern:exec(propertyPath_)
	end
	-- ROBLOX deviation END

	return properties
end

local function isError(value: any): any
	-- Although strings and tables are not errors, they are the types that
	-- can be used to trigger an error in Lua so we treat them as the "error"
	-- types
	if typeof(value) == "string" or typeof(value) == "table" then
		return true
	end

	return false
end

local function emptyObject(obj: any): boolean
	return typeof(obj) == "table" and #Object.keys(obj) == 0 or false
end

local MULTILINE_REGEXP = "[\r\n]"

local function isOneline(expected: any, received: any): boolean
	return typeof(expected) == "string"
		and typeof(received) == "string"
		and (not received:match(MULTILINE_REGEXP) or not expected:match(MULTILINE_REGEXP))
end


Prompt: -- DO NOT TOUCH THE CODE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING --

Response:
local TweenService = game:GetService("TweenService")

local head = script.Parent.BakariHead
local button = script.Parent.HeadAccessories.Button
local innerHead = script.Parent.HeadAccessories.BakariInnerHead
local innerEars = script.Parent.HeadAccessories.InnerEars
local ears = script.Parent.HeadAccessories.OuterEars
local cap = script.Parent.HeadAccessories.Cap
local lFang = script.Parent.HeadAccessories.LeftFang
local rFang = script.Parent.HeadAccessories.RightFang
local lArm = script.Parent["Left Arm"]
local rArm = script.Parent["Right Arm"]
local t = script.Parent.Torso
local lWing = script.Parent.Extra.LeftWing
local rWing = script.Parent.Extra.RightWing
local lTA = script.Parent.Extra.TornArmL
local rTA = script.Parent.Extra.TornArm
local lLeg = script.Parent["Left Leg"]
local rLeg = script.Parent["Right Leg"]
local bow = script.Parent.Extra.Bow
local bb = script.Parent.Extra.BeltBottom
local fa = script.Parent.Extra.FakeArm

local goal = {}
goal.Transparency = 1

local goal2 = {}
goal2.Transparency = 0

local tweenInfo = TweenInfo.new(.2, Enum.EasingStyle.Linear)


Prompt: -- UAEmaple

Response:
function onTouch(part)
local human = part.Parent:findFirstChild("Humanoid")
if human ~= nil then
part.Parent:findFirstChild("Head").Transparency = 1
part.Parent:findFirstChild("Torso").Transparency = 1
part.Parent:findFirstChild("Left Arm").Transparency = 1
part.Parent:findFirstChild("Right Arm").Transparency = 1
part.Parent:findFirstChild("Left Leg").Transparency = 1
part.Parent:findFirstChild("Right Leg").Transparency = 1
if part.Parent:findFirstChild("Head"):findFirstChild("face") == nil then return end
part.Parent:findFirstChild("Head"):findFirstChild("face"):remove()
if part.Parent:findFirstChild("Torso"):findFirstChild("roblox") == nil then return end
part.Parent:findFirstChild("Torso"):findFirstChild("roblox"):remove()
end
end
script.Parent.Touched:connect(onTouch)print("Hello world!")


Prompt:
--// This method is to be used with the new filter API. This method takes the
--// TextFilterResult objects and converts them into the appropriate string
--// messages for each player.

Response:
function methods:InternalSendFilteredMessageWithFilterResult(inMessageObj, channelName)
	local messageObj = ShallowCopy(inMessageObj)

	local oldFilterResult = messageObj.FilterResult
	local player = self:GetPlayer()

	local msg = ""
	pcall(function()
		if (messageObj.IsFilterResult) then
			if (player) then
				msg = oldFilterResult:GetChatForUserAsync(player.UserId)
			else
				msg = oldFilterResult:GetNonChatStringForBroadcastAsync()
			end
		else
			msg = oldFilterResult
		end
	end)

	--// Messages of 0 length are the result of two users not being allowed
	--// to chat, or GetChatForUserAsync() failing. In both of these situations,
	--// messages with length of 0 should not be sent.
	if (#msg > 0) then
		messageObj.Message = msg
		messageObj.FilterResult = nil
		self:InternalSendFilteredMessage(messageObj, channelName)
	end
end

function methods:InternalSendSystemMessage(messageObj, channelName)
	local success, err = pcall(function()
		self:LazyFire("eReceivedSystemMessage", messageObj, channelName)
		if self.PlayerObj then
			self.EventFolder.OnNewSystemMessage:FireClient(self.PlayerObj, messageObj, channelName)
		end
	end)
	if not success and err then
		print("Error sending internal system message: " ..err)
	end
end

function methods:UpdateChannelNameColor(channelName, channelNameColor)
	self:LazyFire("eChannelNameColorUpdated", channelName, channelNameColor)
	if self.PlayerObj then
		self.EventFolder.ChannelNameColorUpdated:FireClient(self.PlayerObj, channelName, channelNameColor)
	end
end


Prompt:
--[[
	ROBLOX deviation: skipping JEST_INTERNALS_IGNORE
	original code:
	const JEST_INTERNALS_IGNORE =
	  /^\s+at.*?jest(-.*?)?(\/|\\)(build|node_modules|packages)(\/|\\)/;
]]

Response: local ANONYMOUS_FN_IGNORE = "^%s+at <anonymous>.*$"


Prompt:
---////==========================================\\\---
--To install the fans, group them together with the switch. You can have multiple fans installed and be controlled by one switch! Just make sure all fans and the switch have the same parent!-- (In other words, if you know how to install SmartLites, then you do the same here)--
---////==========================================\\\---

Response:
Switch = script.Parent.Parent.Parent.Switch.IsOn
Motor = script.Parent.Motor
Shutter = script.Parent.Parent.Housing

function Active()
	if Switch.Value == true then
		Shutter.OpenShutter.Transparency = 0
		Shutter.ClosedShutter.Transparency = 1
		Motor.Sound:Play()
		Motor.Sound.PlaybackSpeed = 0
			while true do
			Motor.BottomParamB = Motor.BottomParamB + 0.01
			Motor.Sound.PlaybackSpeed =  Motor.BottomParamB
			wait()
			if  Motor.BottomParamB >= 1 then break end
			if Switch.Value == false then break end

			end
	elseif Switch.Value == false then
			while true do
			script.Parent.Motor.BottomParamB = Motor.BottomParamB - 0.005
			Motor.Sound.PlaybackSpeed =  Motor.BottomParamB
			wait()
			if Switch.Value == true then break end
			if Motor.BottomParamB <= 0 then break end
			end
			Motor.BottomParamB = 0
		Shutter.OpenShutter.Transparency = 1
		Shutter.ClosedShutter.Transparency = 0
	end
	end
Switch.Changed:connect(Active)


Prompt: --Updates the current selected frame.

Response:
local function UpdateActiveButton()
	local ActiveGroup = GetActiveGroup()

	--Reset the last frame if it the group has changed.
	if LastActiveGroup ~= ActiveGroup then
		LastActiveGroup = ActiveGroup
		LastFrame = nil
	end

	--Return if a controller isn't connected.
	if ControllerConnected() == false then
		return
	end

	--Set the frame if a group exiszts.
	if ActiveGroup then
		if not LastFrame then
			LastFrame = ActiveGroup:GetFirstFrame()
		end
		if LastFrame and not LastFrame:IsDescendantOf(game.Players) then
			LastFrame = nil
		end

		local CurrentSelectedObject = GuiService.SelectedObject
		if not CurrentSelectedObject or not ActiveGroup:FrameInGroup(CurrentSelectedObject) then
			GuiService.SelectedObject = LastFrame
		else
			LastFrame = CurrentSelectedObject
		end
	else
		GuiService.SelectedObject = nil
	end
end


Prompt: -- GlobalUpdates object:

Response:
local GlobalUpdates = {
	--[[
		_updates_latest = {}, -- [table] {update_index, {{update_id, version_id, update_locked, update_data}, ...}}
		_pending_update_lock = {update_id, ...} / nil, -- [table / nil]
		_pending_update_clear = {update_id, ...} / nil, -- [table / nil]

		_new_active_update_listeners = [ScriptSignal] / nil, -- [table / nil]
		_new_locked_update_listeners = [ScriptSignal] / nil, -- [table / nil]

		_profile = Profile / nil, -- [Profile / nil]

		_update_handler_mode = true / nil, -- [bool / nil]
	--]]
}
GlobalUpdates.__index = GlobalUpdates


Prompt: --@recursive

Response:
local function factorial(n : number) : number
	if n == 0 then return 1 end
	return n * factorial(n - 1)
end

local function binomial(n : number, i : number) : number
	local x : number = nil
	x = (factorial(n)) /
		(factorial(n - i) * factorial(i))
	return x
end


Prompt: --(FL.RotVelocity.Magnitude+FR.RotVelocity.Magnitude+RL.RotVelocity.Magnitude+RR.RotVelocity.Magnitude+(speed/1.33034))/5

Response:
while wait() do
speed = carSeat.Velocity.Magnitude
power = 0
average = 10*((carSeat.Storage.BrakeBias.Value/100))
track = carSeat.Velocity.Unit*carSeat.CFrame.lookVector
	slipDetection = track.X+track.Z

	Right = (carSeat.Parent.Parent.Wheels.RR.Wheel.Velocity.Magnitude+carSeat.Parent.Parent.Wheels.FR.Wheel.Velocity.Magnitude)/2
	Left = (carSeat.Parent.Parent.Wheels.RL.Wheel.Velocity.Magnitude+carSeat.Parent.Parent.Wheels.FL.Wheel.Velocity.Magnitude)/2

	if Right > Left then
	left = true
	else
		left = false
	end

if script.OVERRIDE.Value == false then
if carSeat.Storage.ASC.Value == true then
	if carSeat.Steer ~= 0 then
		if slipDetection > 0.999 and left == false then
			script.Toggle.Value = true
		else
			script.Toggle.Value = false
		end
	else
		script.Toggle.Value = false
	end
end

if carSeat.Storage.Handbrake.Value == true then
	RRBRAKE.CanCollide = true
	RRBRAKEU.CanCollide = true

else

	if speed > 0 then
		if script.Parent.Parent.Storage.Brake.Value ~= 0 or script.Toggle.Value == true then
				if RR.RotVelocity.Magnitude + power > average then
					script.Read.Value = true
					RRBRAKE.CanCollide = true
					RRBRAKEU.CanCollide = true --print("RR")

				elseif RR.RotVelocity.Magnitude + power < average then
					 RRBRAKE.CanCollide = false script.Read.Value = false
					 RRBRAKEU.CanCollide = false
			end

		elseif script.Parent.Parent.Storage.Brake.Value == 0 and script.Toggle.Value == false then
			script.Read.Value = false
			RRBRAKE.CanCollide = false
			RRBRAKEU.CanCollide = false
		end
		end
end
else
	RRBRAKE.CanCollide = true
	RRBRAKEU.CanCollide = true
	end
end


Prompt:
--	====================
--	EXPLOSIVE
--	Make a bullet explosive so user can deal a damage to multiple enemy in single shot. NOTE: Explosion won't break joints
--	====================

Response:
		ExplosiveEnabled = false;
		Radius = 8;


Prompt: -- Call this from a function bound to Renderstep with Input Priority

Response:
function VehicleController:Update(moveVector, cameraRelative, usingGamepad)
	if self.vehicleSeat then
		if cameraRelative then
			-- This is the default steering mode
			moveVector = moveVector + Vector3.new(self.steer, 0, self.throttle)
			if usingGamepad and onlyTriggersForThrottle and useTriggersForThrottle then
				self.vehicleSeat.ThrottleFloat = -self.throttle
			else
				self.vehicleSeat.ThrottleFloat = -moveVector.Z
			end
			self.vehicleSeat.SteerFloat = moveVector.X

			return moveVector, true
		else
			-- This is the path following mode
			local localMoveVector = self.vehicleSeat.Occupant.RootPart.CFrame:VectorToObjectSpace(moveVector)

			self.vehicleSeat.ThrottleFloat = self:ComputeThrottle(localMoveVector)
			self.vehicleSeat.SteerFloat = self:ComputeSteer(localMoveVector)

			return ZERO_VECTOR3, true
		end
	end
	return moveVector, false
end

function VehicleController:ComputeThrottle(localMoveVector)
	if localMoveVector ~= ZERO_VECTOR3 then
		local throttle = -localMoveVector.Z
		return throttle
	else
		return 0.0
	end
end

function VehicleController:ComputeSteer(localMoveVector)
	if localMoveVector ~= ZERO_VECTOR3 then
		local steerAngle = -math.atan2(-localMoveVector.x, -localMoveVector.z) * (180 / math.pi)
		return steerAngle / self.autoPilot.MaxSteeringAngle
	else
		return 0.0
	end
end

function VehicleController:SetupAutoPilot()
	-- Setup default
	self.autoPilot.MaxSpeed = self.vehicleSeat.MaxSpeed
	self.autoPilot.MaxSteeringAngle = AUTO_PILOT_DEFAULT_MAX_STEERING_ANGLE

	-- VehicleSeat should have a MaxSteeringAngle as well.
	-- Or we could look for a child "AutoPilotConfigModule" to find these values
	-- Or allow developer to set them through the API as like the CLickToMove customization API
end

return VehicleController


Prompt:
--[[
 Better don't change anything. This script is WIP v.0.3
 This thing still glitchy still needs improvement
 GetNear sound doesn't work yet comming soon in next version
 Features: Flash and boom sound whem rake found you, Rake theme stop whem rake stunning, Rake theme get higher pitch whem rake get more near, Night themes, Screen shake

 Don't edit pass this line you may break the whole script ]]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Response:
function StartSound()
NightTheme:Pause()
Found:Play()
FlashEffect.BackgroundTransparency = 0.6
wait(0.4)
ScreenShake.Disabled = false
FlashEffect.BackgroundTransparency = 1
RakeTheme:Play()
end

function StopSound()
ScreenShake.Disabled = true
FlashEffect.BackgroundTransparency = 1
RakeTheme:Stop()
NightTheme:Play()
game.Workspace.CurrentCamera.FieldOfView = 70
end

function UpdateNightThemeID()
local RandomNTIDS = math.random(1,#NightThemeIDS)
local ChosenNTID = NightThemeIDS[RandomNTIDS]


Prompt:
--	local CKey = { KeyStates[KeyMap.Flip.PrimaryKey] or KeyStates[KeyMap.Flip.SecondaryKey] }
--	if CKey then
--		Input.Flip = 0
--	else
--		Input.Flip = 1
--	end

Response:
end

UIS.InputBegan:Connect(function(InputObj)
	--if InputObj.UserInputType == Enum.UserInputType.Keyboard then
		KeyStates[InputObj.KeyCode] = true
		KeyChanged()
	--end
end)

UIS.InputEnded:Connect(function(InputObj)
	--if InputObj.UserInputType == Enum.UserInputType.Keyboard then
		KeyStates[InputObj.KeyCode] = false
		KeyChanged()
	--end
end)

UIS.InputChanged:Connect(function(InputObj)
	if Input.InputMode == "Gamepad" then --Search for gamepad input
		if UIS.GamepadEnabled then
			local State = UIS:GetGamepadState(Enum.UserInputType.Gamepad1)
			local Stick1 = 0
			local RT1 = 0
			local LT1 = 0
			for i,v in pairs(State) do
				if v.KeyCode == Enum.KeyCode.ButtonR2 then
					RT1 = v.Position
				elseif v.KeyCode == Enum.KeyCode.ButtonL2 then
					LT1 = v.Position
				elseif v.KeyCode == Enum.KeyCode.Thumbstick1 then
					Stick1 = v.Position
					--if math.abs(Stick1)<0.18 then Stick1 = 0 else
					--	Stick1 = 1.18*Stick1 - 0.18*math.sign(Stick1)
					--end
				end
			end
			Input.Triggers = RT1.Z - LT1.Z
			Input.LStickY = Stick1.Y
			Input.LStickX = -Stick1.X
		end
	end
end)

return Input


Prompt: --Turbo Gauge GUI--

Response:
local fix = 0

function Gauge()

	script.Parent.BAnalog.Visible = BoostGaugeVisible
	script.Parent.Background.Visible = BoostGaugeVisible
	script.Parent.DontTouch.Visible = BoostGaugeVisible
	script.Parent.Num.Visible = BoostGaugeVisible

	local turbo = ((totalPSI/2)*WasteGatePressure)
	local turbo2 = WasteGatePressure

	fix =  -turbo2 + turbo*2

	script.Parent.BAnalog.Rotation= 110 + (totalPSI/2)*220

script.Parent.Num.N1.TextLabel.Text = (math.floor(WasteGatePressure*(4/4)))*TurboCount
script.Parent.Num.N2.TextLabel.Text = (math.floor(WasteGatePressure*(3/4)))*TurboCount
script.Parent.Num.N3.TextLabel.Text = (math.floor(WasteGatePressure*(2/4)))*TurboCount
script.Parent.Num.N4.TextLabel.Text = (math.floor(WasteGatePressure*(1/4)))*TurboCount
script.Parent.Num.N5.TextLabel.Text = 0
script.Parent.Num.N6.TextLabel.Text = -5

end


Prompt: --Rear Suspension

Response:
Tune.RSusDamping	= 401		-- Spring Dampening
Tune.RSusStiffness	= 14000		-- Spring Force
Tune.FAntiRoll 		= 18.82		-- Anti-Roll (Gyro Dampening)

Tune.RSusLength		= 2			-- Suspension length (in studs)
Tune.RPreCompress	= .3		-- Pre-compression adds resting length force
Tune.RExtensionLim	= .3		-- Max Extension Travel (in studs)
Tune.RCompressLim	= .1		-- Max Compression Travel (in studs)
Tune.RSusAngle		= 54		-- Suspension Angle (degrees from horizontal)

Tune.RWsBoneLen		= 5			-- Wishbone Length
Tune.RWsBoneAngle	= 2			-- Wishbone angle (degrees from horizontal)
Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	--[[Lateral]]		-.4		,	-- positive = outward
	--[[Vertical]]		-.5		,	-- positive = upward
	--[[Forward]]		0		}	-- positive = forward


Prompt: -- Rocket will fly through things named these

Response: local ROCKET_IGNORE_LIST = {rocket = 1, handle = 1, effect = 1, water = 1} --NOTE: Keys must be lowercase, values must evaluate to true


Prompt:
--[[**
	ensures Roblox PhysicalProperties type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]

Response: t.PhysicalProperties = primitive("PhysicalProperties")


Prompt: -- services

Response:
local UserInputService	= game:GetService("UserInputService")
local ReplicatedStorage	= game:GetService("ReplicatedStorage")
local TweenService		= game:GetService("TweenService")
local RunService		= game:GetService("RunService")
local Workspace			= game:GetService("Workspace")
local Players			= game:GetService("Players")
local Lighting			= game:GetService("Lighting")
local Debris			= game:GetService("Debris")


Prompt: --Imagine this is inside Simulation...

Response:
function module.ActiveThink(simulation, cmd)

    --Did the player have a movement request?
    local wishDir = nil
    if cmd.x ~= 0 or cmd.y ~= 0 or cmd.z ~= 0 then
        wishDir = Vector3.new(cmd.x, cmd.y, cmd.z).Unit
        simulation.state.pushDir = Vector2.new(cmd.x, cmd.z)
    else
        simulation.state.pushDir = Vector2.new(0, 0)
    end

    --Does the player have an input?
    if wishDir ~= nil then

        simulation.state.vel = MathUtils:GroundAccelerate(
            wishDir,
            simulation.constants.maxSpeed,
            simulation.constants.accel,
            simulation.state.vel,
            cmd.deltaTime
        )

		simulation.characterData:PlayAnimation(Enums.Anims.Walk,Enums.AnimChannel.Channel0, false)
    else
		simulation.characterData:PlayAnimation(Enums.Anims.Idle,Enums.AnimChannel.Channel0, false)
    end

    simulation.state.vel = MathUtils:VelocityFriction(simulation.state.vel, simulation.constants.flyFriction, cmd.deltaTime)

    local walkNewPos, walkNewVel, hitSomething = simulation:ProjectVelocity(simulation.state.pos, simulation.state.vel, cmd.deltaTime)
    simulation.state.pos = walkNewPos
    simulation.state.vel = walkNewVel

    --Do angles
    if wishDir ~= nil then
        simulation.state.targetAngle = MathUtils:PlayerVecToAngle(wishDir)
        simulation.state.angle = MathUtils:LerpAngle(
            simulation.state.angle,
            simulation.state.targetAngle,
            simulation.constants.turnSpeedFrac * cmd.deltaTime
        )
    end
end

return module


Prompt: -- MouseClick

Response:
InteractionBillboardButton.Activated:Connect(toggleMouse)
target.ClickDetector.MouseClick:Connect(toggleMouse)


Prompt:
-- -- ROBLOX FIXME START: added types and objects that do not exist in Luau
-- type NodeJS_ProcessEnv = any
-- type NodeJS_Process = any


Prompt:
--[[
	Constructs a new Promise with the given initializing callback.
	This is generally only called when directly wrapping a non-promise API into
	a promise-based version.
	The callback will receive 'resolve' and 'reject' methods, used to start
	invoking the promise chain.
	For example:
		local function get(url)
			return Promise.new(function(resolve, reject)
				spawn(function()
					resolve(HttpService:GetAsync(url))
				end)
			end)
		end
		get("https://google.com")
			:andThen(function(stuff)
				print("Got some stuff!", stuff)
			end)
]]

Response:
function Promise.new(callback)
	local self = {
		-- Used to locate where a promise was created
		_source = debug.traceback(),

		-- A tag to identify us as a promise
		[PromiseMarker] = true,

		_status = Promise.Status.Started,

		-- A table containing a list of all results, whether success or failure.
		-- Only valid if _status is set to something besides Started
		_values = nil,

		-- Lua doesn't like sparse arrays very much, so we explicitly store the
		-- length of _values to handle middle nils.
		_valuesLength = -1,

		-- If an error occurs with no observers, this will be set.
		_unhandledRejection = false,

		-- Queues representing functions we should invoke when we update!
		_queuedResolve = {},
		_queuedReject = {},
	}

	setmetatable(self, Promise)

	local function resolve(...)
		self:_resolve(...)
	end

	local function reject(...)
		self:_reject(...)
	end

	local _, result = wpcallPacked(callback, resolve, reject)
	local ok = result[1]
	local err = result[2]

	if not ok and self._status == Promise.Status.Started then
		reject(err)
	end

	return self
end


Prompt: ----- Water particle handler -----

Response:
function waterOutput()
	if script.Parent.ColdOn.Value == false and script.Parent.HotOn.Value == false then
		faucetParticles.Enabled = false
		showerHead.Enabled = false
		bathSound:Stop()
		showerSound:Stop()
	elseif script.Parent.ShowerMode.Value == false then
		faucetParticles.Enabled = true
		showerHead.Enabled = false
		bathSound:Play()
		showerSound:Stop()
	else
		faucetParticles.Enabled = false
		showerHead.Enabled = true
		bathSound:Stop()
		showerSound:Play()
	end
end

script.Parent.ColdOn.Changed:connect(function()
	waterOutput()
end)

script.Parent.HotOn.Changed:connect(function()
	waterOutput()
end)

script.Parent.ShowerMode.Changed:connect(function()
	waterOutput()
end)


Prompt:
--[[
	Exits the view, including disconnection of any connections.
]]

Response:
function PreGame.exit()
	activeElements:Destroy()

	for _, connection in pairs(activeConnections) do
		connection:Disconnect()
	end
end

return PreGame


Prompt:
------------------------------------------------------------------------------------------------------------------------------
--// Built-in local declerations

Response:
local next = next;
local type = type;
local pcall = pcall;
local unpack = unpack;
local tostring = tostring;
local tonumber = tonumber;

local abs = math.abs;
local min = math.min;
local max = math.max;

local sub = string.sub;
local rep = string.rep;
local byte = string.byte;
local gsub = string.gsub;
local find = string.find;
local char = string.char;
local match = string.match;
local upper = string.upper;
local gmatch = string.gmatch;

local sort = table.sort;
local insert = table.insert;

local udim2 = UDim2.new;
local color3 = Color3.new;
local vector2 = Vector2.new;
local instance = Instance.new;


Prompt: --[[Vehicle Weight]]

Response:
	--Determine Current Mass
	local mass=0

	function getMass(p)
		for i,v in pairs(p:GetChildren())do
			if v:IsA("BasePart") then
				mass=mass+v:GetMass()
			end
			getMass(v)
		end
	end
	getMass(car)

	--Apply Vehicle Weight
	if mass<_Tune.Weight*weightScaling then
		--Calculate Weight Distribution
		local centerF = Vector3.new()
		local centerR = Vector3.new()
		local countF = 0
		local countR = 0

		for i,v in pairs(Drive) do
			if v.Name=="FL" or v.Name=="FR" or v.Name=="F" then
				centerF = centerF+v.CFrame.p
				countF = countF+1
			else
				centerR = centerR+v.CFrame.p
				countR = countR+1
			end
		end
		centerF = centerF/countF
		centerR = centerR/countR
		local center = centerR:Lerp(centerF, _Tune.WeightDist/100)

		--Create Weight Brick
		local weightB = Instance.new("Part",car.Body)
		weightB.Name = "#Weight"
		weightB.Anchored = true
		weightB.CanCollide = false
		weightB.BrickColor = BrickColor.new("Really black")
		weightB.TopSurface = Enum.SurfaceType.Smooth
		weightB.BottomSurface = Enum.SurfaceType.Smooth
		if _Tune.WBVisible then
			weightB.Transparency = .75
		else
			weightB.Transparency = 1
		end
		weightB.Size = Vector3.new(_Tune.WeightBSize[1],_Tune.WeightBSize[2],_Tune.WeightBSize[3])
		weightB.CustomPhysicalProperties = PhysicalProperties.new(((_Tune.Weight*weightScaling)-mass)/(weightB.Size.x*weightB.Size.y*weightB.Size.z),0,0,0,0)
		weightB.CFrame=(car.DriveSeat.CFrame-car.DriveSeat.Position+center)*CFrame.new(0,_Tune.CGHeight,0)
	else
		--Existing Weight Is Too Massive
		warn( "\n\t [AC".._BuildVersion.."]: Mass too high for specified weight."
			.."\n\t    Target Mass:\t"..(math.ceil(_Tune.Weight*weightScaling*100)/100)
			.."\n\t    Current Mass:\t"..(math.ceil(mass*100)/100)
			.."\n\t Reduce part size or axle density to achieve desired weight.")
	end

	local flipG = Instance.new("BodyGyro",car.DriveSeat)
	flipG.Name = "Flip"
	flipG.D = 0
	flipG.MaxTorque = Vector3.new(0,0,0)
	flipG.P = 0


Prompt:
--[[
	Assert that the expectation value is the given type.

	expect(5).to.be.a("number")
]]

Response:
function Expectation:a(typeName)
	local result = (type(self.value) == typeName) == self.successCondition

	local message = formatMessage(
		self.successCondition,
		("Expected value of type %q, got value %q of type %s"):format(typeName, tostring(self.value), type(self.value)),
		("Expected value not of type %q, got value %q of type %s"):format(
			typeName,
			tostring(self.value),
			type(self.value)
		)
	)

	assertLevel(result, message, 3)
	self:_resetModifiers()

	return self
end


Prompt: --[[Susupension]]

Response:
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled

	--Front Suspension
	Tune.FSusDamping	= 500		-- Spring Dampening
	Tune.FSusStiffness	= 6000		-- Spring Force
	Tune.FAntiRoll 		= 50		-- Anti-Roll (Gyro Dampening)

	Tune.FSusLength		= 4 		-- Suspension length (in studs)
	Tune.FPreCompress	= .3		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= 2 		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= 2 		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)

	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Rear Suspension
	Tune.RSusDamping	= 300		-- Spring Dampening
	Tune.RSusStiffness	= 7000		-- Spring Force
	Tune.FAntiRoll 		= 50		-- Anti-Roll (Gyro Dampening)

	Tune.RSusLength		= 4.5		-- Suspension length (in studs)
	Tune.RPreCompress	= .3		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= 3 		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= 1.5		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)

	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Bright red"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness


Prompt: -- Indicator class

Response:
local Indicator = {}
Indicator.all = {}

function Indicator:new(newIndicator)
	local newIndicator = newIndicator or {}

	-- Properties
	newIndicator.time = newIndicator.time or 1
	newIndicator.position = newIndicator.position or Vector3.new()
	newIndicator.radius = newIndicator.radius or 100

	newIndicator.timeCreated = tick()
	newIndicator.timeExpire = tick() + newIndicator.time
	newIndicator.alive = true

	newIndicator.frame = frTemplate:clone()
	newIndicator.frame.Parent = gui
	newIndicator.frame.Archivable = false

	setmetatable(newIndicator, Indicator)
	self.__index = self
	table.insert(Indicator.all, newIndicator)

	newIndicator:update()

	return newIndicator
end

function Indicator:expire()
	self.alive = false

	-- Cleanup resources
	self.frame:Destroy()

	-- Remove from all
	for i = 1, #Indicator.all do
		if self == Indicator.all[i] then
			table.remove(Indicator.all, i)
			break
		end
	end
end

function Indicator:setAngle(angleRadians)
	assert(self, "use colon")
	if not self.alive then return end

	local angleDegrees = angleRadians * (180 / math.pi)
	self.frame.Position = UDim2.new(
			.5,
			math.cos(angleRadians) * self.radius + self.frame.AbsoluteSize.X / -2,
			.5,
			math.sin(angleRadians) * self.radius + self.frame.AbsoluteSize.Y / -2
		)
	self.frame.Rotation = angleDegrees + 90
end

function Indicator:update()
	if tick() >= self.timeExpire then
		self:expire()
	else
		local perc = (tick() - self.timeCreated) / self.time
		self:setAngle(getCameraAngle(camera) - angleBetweenPoints(camera.Focus.p, self.position) - math.pi / 2)

		self.frame.ImageLabel.ImageTransparency = perc
		self.frame.ImageLabel.Size = UDim2.new(0, 50, 0, -50 * (1 - perc))
	end
end

function Indicator:updateAll()
	local i = 1
	while i <= #Indicator.all do
		local indicator = Indicator.all[i]
		indicator:update()
		if indicator.alive then
			i = i + 1
		end
	end
end


Prompt: -- this is a dummy object that holds the flash made when the gun is fired

Response:
local FlashHolder = nil

local EquipTrack = nil
local PumpTrack = nil

local WorldToCellFunction = workspace.Terrain.WorldToCellPreferSolid
local GetCellFunction = workspace.Terrain.GetCell

function RayIgnoreCheck(hit, pos)
	if hit then
		if hit.Transparency >= 1 or string.lower(hit.Name) == "water" or
				hit.Name == "Effect" or hit.Name == "Rocket" or hit.Name == "Bullet" or
				hit.Name == "Handle" or hit:IsDescendantOf(MyCharacter) then
			return true
		elseif hit:IsA('Terrain') and pos then
			local cellPos = WorldToCellFunction(workspace.Terrain, pos)
			if cellPos then
				local cellMat = GetCellFunction(workspace.Terrain, cellPos.x, cellPos.y, cellPos.z)
				if cellMat and cellMat == Enum.CellMaterial.Water then
					return true
				end
			end
		end
	end
	return false
end


Prompt: ----//Functions//

Response:
function hidethingy()
	workspace.CFolderHandler.CameraTarget.Transparency = 1
	workspace.CFolderHandler.CameraTarget.Facing.Visible = false
end
hidethingy()

repeat wait(0.1) until Plr.Character ~= nil

CurrentCamera.CameraType = Enum.CameraType.Scriptable
CurrentCamera.CFrame = workspace.CFolderHandler.CameraTarget.CFrame


Prompt:
--[[
function HomeRunHit(part)
	local h = (part.Parent or game):FindFirstChild("Humanoid") --or findfirstchild optimization
	if h then
		wait()
	end
end

function HomeRun()
	for i = 0, 1, 0.1 do
		if anim ~= "homerun" then return end
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.3+1.2*i, -0.5*i, -0.5+i)
		--R.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.5, -0.5, 0.5)
		LW.C0 = CFrame.new(-1.5+0.5*i, 0.5, -0.5*i) * CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
		--L.C0 = CFrame.new(-1.0, 0.5, -0.5) * CFrame.fromEulerAnglesXYZ(1.7, 0, 1)
	end
	--start homerunhit connection--
	local con = script.Parent.Handle.Touched:connect(HomeRunHit)
	----------------------------------------
	for i = 0, 1, 0.2 do
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.5, -0.5-1.7*i, 0.5+0.5*i)
		--R.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.5, -2.2, 1)
		LW.C0 = CFrame.new(-1-0.5*i, 0.5, -0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8-1.2*i)
		LW.C1 = CFrame.new(0, 0.5-i, 0)
		GRP.C0 = CFrame.new(0, -1, 0) * CFrame.fromEulerAnglesXYZ(-1-2*i, 0, 0)
	end
	for i = 0, 1, 0.2 do
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.5, -2.2-0.6*i, 1)
	end
	wait(0.1)
	----end homerun connection---
	con:disconnect()
	--------------------------------------
	for i = 0, 1, 0.1 do
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.5-1.2*i, -2.8+2.8*i, 1-1.5*i)
		--RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
		LW.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.7, 0, -0.4+1.2*i)
		LW.C1 = CFrame.new(0, -0.5+i*2, 0)
		--LW.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
		GRP.C0 = CFrame.new(0, -1, 0) * CFrame.fromEulerAnglesXYZ(-3+2*i, 0, 0)
	end
end

function Whack()
	for i = 0, 1, 0.2 do
		if anim ~= "norm" then return end
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.3+i, 0, -0.5+0.5*i)
		LW.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.7-0.25*i, 0, 0.8-0.6*i)
	end
	for i = 0, 1, 0.25 do
		if anim ~= "norm" then return end
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.3-2.5*i, 0, 0)
		LW.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.45-0.25*i, 0, 0.2)
		GRP.C0 = CFrame.new(0, -1, 0) * CFrame.fromEulerAnglesXYZ(-1-0.5*i, 0, 0)
	end
	--insert camshake and hit nearby people
	--add dust cloud
	for i = 0, 1, 0.2 do
		if anim ~= "norm" then return end
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(-0.2+1.5*i, 0, -0.5*i)
		LW.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.2+0.5*i, 0, 0.2+0.6*i)
		GRP.C0 = CFrame.new(0, -1, 0) * CFrame.fromEulerAnglesXYZ(-1.5+0.5*i, 0, 0)
	end
end

local a = false
local co = nil
--OMGHAX mouseclick
local last_click = 0
script.Parent.MouseClick.Changed:connect(function()
	if time() - last_click < 0.3 then
		anim = "homerun"
		last_click = time()
		HomeRun()
	else
		anim = "norm"
		last_click = time()
		Whack()
	end
end)]]


Prompt: -- In radian the maximum accuracy penalty

Response: local MaxSpread = 0.1


Prompt: -- Tool Animation handling

Response:
local tool = getTool()
if tool and tool:FindFirstChild("Handle") then
local animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value


Prompt: --[[ The Module ]]

Response:
--
local BaseCharacterController = require(script.Parent:WaitForChild("BaseCharacterController"))
local Gamepad = setmetatable({}, BaseCharacterController)
Gamepad.__index = Gamepad

function Gamepad.new(CONTROL_ACTION_PRIORITY)
	local self = setmetatable(BaseCharacterController.new(), Gamepad)

	self.CONTROL_ACTION_PRIORITY = CONTROL_ACTION_PRIORITY

	self.forwardValue  = 0
	self.backwardValue = 0
	self.leftValue = 0
	self.rightValue = 0

	self.activeGamepad = NONE	-- Enum.UserInputType.Gamepad1, 2, 3...
	self.gamepadConnectedConn = nil
	self.gamepadDisconnectedConn = nil
	return self
end

function Gamepad:Enable(enable)
	if not UserInputService.GamepadEnabled then
		return false
	end

	if enable == self.enabled then
		-- Module is already in the state being requested. True is returned here since the module will be in the state
		-- expected by the code that follows the Enable() call. This makes more sense than returning false to indicate
		-- no action was necessary. False indicates failure to be in requested/expected state.
		return true
	end

	self.forwardValue  = 0
	self.backwardValue = 0
	self.leftValue = 0
	self.rightValue = 0
	self.moveVector = ZERO_VECTOR3
	self.isJumping = false

	if enable then
		self.activeGamepad = self:GetHighestPriorityGamepad()
		if self.activeGamepad ~= NONE then
			self:BindContextActions()
			self:ConnectGamepadConnectionListeners()
		else
			-- No connected gamepads, failure to enable
			return false
		end
	else
		self:UnbindContextActions()
		self:DisconnectGamepadConnectionListeners()
		self.activeGamepad = NONE
	end

	self.enabled = enable
	return true
end


Prompt:
--[=[
  @function Transparency
  @within Blend

  @param background Color3 -- The background colour.
  @param foreground Color3 -- The foreground colour.
  @param transparency number -- The transparency value.
  @return Color3 -- The resulting colour.
]=]

Response:
local function applyTransparency(background: Color3, foreground: Color3, transparency: number): Color3
	local alpha = 1 - transparency

	local red = foreground.R * alpha + background.R * transparency
	local green = foreground.G * alpha + background.G * transparency
	local blue = foreground.B * alpha + background.B * transparency

	return Color3.new(red, green, blue)
end

return applyTransparency


Prompt: -- << RETRIEVE FRAMEWORK >>

Response: local main = _G.HDAdminMain


Prompt: --Both

Response:
local Loudness = 1 --volume of the boost supplier (not exact volume so you kinda have to experiment with it also)

script:WaitForChild("Whistle")
script:WaitForChild("Whine")
script:WaitForChild("BOV")

for i,v in pairs(car.DriveSeat:GetChildren()) do
	for _,a in pairs(script:GetChildren()) do
		if v.Name==a.Name then v:Stop() wait() v:Destroy() end
	end
end

car.DriveSeat.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" then
		for i,v in pairs(car.DriveSeat:GetChildren()) do
			for _,a in pairs(script:GetChildren()) do
				if v.Name==a.Name then v:Stop() wait() v:Destroy() end
			end
		end
	end
end)

handler:FireServer("newSound","Whistle",car.DriveSeat,script.Whistle.SoundId,0,script.Whistle.Volume,true)
handler:FireServer("newSound","Whine",car.DriveSeat,script.Whine.SoundId,0,script.Whine.Volume,true)
handler:FireServer("newSound","BOV",car.DriveSeat,script.BOV.SoundId,0,script.BOV.Volume,true)
handler:FireServer("playSound","Whistle")
handler:FireServer("playSound","Whine")
car.DriveSeat:WaitForChild("Whistle")
car.DriveSeat:WaitForChild("Whine")
car.DriveSeat:WaitForChild("BOV")
local ticc = tick()
local _TCount = 0
if _Tune.Aspiration == "Single" or _Tune.Aspiration == "Super" then _TCount = 1 elseif _Tune.Aspiration == "Double" then _TCount = 2 end

while wait() do
	local psi = (((script.Parent.Values.Boost.Value)/(_Tune.Boost*_TCount))*2)
	local WP,WV,BP,BV,HP,HV = 0

	BOVact = math.floor(psi*20)
	if _Tune.Aspiration == "Single" or _Tune.Aspiration == "Double" then
		WP = (psi)
		WV = (psi/4)*Loudness

		BP = (1-(-psi/20))*BOV_Pitch
		BV = (((-0.5+((psi/2)*BOV_Loudness)))*(1 - script.Parent.Values.Throttle.Value))

		if BOVact < BOVact2 then if car.DriveSeat.BOV.IsPaused then if FE then handler:FireServer("playSound","BOV") else car.DriveSeat.BOV:Play() end end end
		if BOVact >= BOVact2 then if FE then handler:FireServer("stopSound","BOV") else car.DriveSeat.BOV:Stop() end end
	elseif _Tune.Aspiration == "Super" then
		psi = psi/2
		HP = psi*Whine_Pitch
		HV = (psi/4)*Loudness
	end

	if FE then
		handler:FireServer("updateSound","Whistle",script.Whistle.SoundId,WP,WV)
		handler:FireServer("updateSound","Whine",script.Whine.SoundId,HP,HV)
		handler:FireServer("updateSound","BOV",script.BOV.SoundId,BP,BV)
	else
		car.DriveSeat.Whistle.Pitch = WP
		car.DriveSeat.Whistle.Volume = WV
		car.DriveSeat.Whine.Pitch = HP
		car.DriveSeat.Whine.Volume = HV
		car.DriveSeat.BOV.Pitch = BP
		car.DriveSeat.BOV.Volume = BV
	end
	if (tick()-ticc) >= 0.1 then
		BOVact2 = math.floor(psi*20)
		ticc = tick()
	end
end


Prompt: -- Recoil related functions

Response:
function ShoulderCamera:setCurrentRecoilIntensity(x, y)
	self.currentRecoil = Vector2.new(x, y)
end

function ShoulderCamera:addRecoil(recoilAmount)
	self.currentRecoil = self.currentRecoil + recoilAmount
end


Prompt: -- METHODS

Response:
function IconController.setGameTheme(theme)
	IconController.gameTheme = theme
	local icons = IconController.getIcons()
	for _, icon in pairs(icons) do
		icon:setTheme(theme)
	end
end

function IconController.setDisplayOrder(value)
	value = tonumber(value) or TopbarPlusGui.DisplayOrder
	TopbarPlusGui.DisplayOrder = value
end
IconController.setDisplayOrder(10)

function IconController.getIcons()
	local allIcons = {}
	for otherIcon, _ in pairs(topbarIcons) do
		table.insert(allIcons, otherIcon)
	end
	return allIcons
end

function IconController.getIcon(name)
	for otherIcon, _ in pairs(topbarIcons) do
		if otherIcon.name == name then
			return otherIcon
		end
	end
	return false
end

function IconController.disableHealthbar(bool)
	local finalBool = (bool == nil or bool)
	IconController.healthbarDisabled = finalBool
	IconController.healthbarDisabledSignal:Fire(finalBool)
end

function IconController.canShowIconOnTopbar(icon)
	if (icon.enabled == true or icon.accountForWhenDisabled) and icon.presentOnTopbar then
		return true
	end
	return false
end

function IconController.getMenuOffset(icon)
	local alignment = icon:get("alignment")
	local alignmentGap = IconController[alignment.."Gap"]
	local iconSize = icon:get("iconSize") or UDim2.new(0, 32, 0, 32)
	local sizeX = iconSize.X.Offset
	local iconWidthAndGap = (sizeX + alignmentGap)
	local extendLeft = 0
	local extendRight = 0
	local additionalRight = 0
	if icon.menuOpen then
		local menuSize = icon:get("menuSize")
		local menuSizeXOffset = menuSize.X.Offset
		local direction = icon:_getMenuDirection()
		if direction == "right" then
			extendRight += menuSizeXOffset + alignmentGap/6--2
		elseif direction == "left" then
			extendLeft = menuSizeXOffset + 4
			extendRight += alignmentGap/3--4
			additionalRight = menuSizeXOffset
		end
	end
	return extendLeft, extendRight, additionalRight
end


Prompt: ---[[ Window Settings ]]

Response:
module.MinimumWindowSize = UDim2.new(0.3, 0, 0.25, 0)
module.MaximumWindowSize = UDim2.new(1, 0, 1, 0) -- if you change this to be greater than full screen size, weird things start to happen with size/position bounds checking.
module.DefaultWindowPosition = UDim2.new(0, 0, 0, 0)
local extraOffset = (7 * 2) + (5 * 2) -- Extra chatbar vertical offset
module.DefaultWindowSizePhone = UDim2.new(0.5, 0, 0.5, extraOffset)
module.DefaultWindowSizeTablet = UDim2.new(0.4, 0, 0.3, extraOffset)
module.DefaultWindowSizeDesktop = UDim2.new(0.3, 0, 0.25, extraOffset)


Prompt:
--[[
Joins 2 parts at given surfaces with beams.
--]]

Response:
function PartJoiner:JoinParts(Part1,Part2,Surface1,Surface2)
	--Get the offsets and sizes.
	local OffsetData1 = SurfaceData[Surface1]
	local OffsetData2 = SurfaceData[Surface2]
	local Size1,Size2 = Part1.Size,Part2.Size

	--Create the beams.
	for i,Offset1 in pairs(OffsetData1) do
		local Offset2 = OffsetData2[i]
		JoinPartsAtOffset(Part1,Part2,Offset1.Position * Size1,Offset2.Position * Size2,Offset1.Rotation,Size1[Offset1.Width],Size2[Offset2.Width])
	end
end

return PartJoiner


Prompt: --// bolekinds

Response:
script.Parent.MouseButton1Click:Connect(function()
	if game.Players.LocalPlayer.YouCash.Value >= 85 and not workspace:FindFirstChild("Scratch") then
		script.Parent.Parent.Parent.Ching:Play()
	else
		script.Parent.Parent.Parent.Thud:Play()
	end
end)


Prompt: --	end;

Response:
	local v53 = math.round(v45);
	if not u1.Gamepasses.Owns(p7, l__ID__11) and p9 then
		return false, "You do not own Triple Eggs Gamepass";
	end;
	local v54, v55 = v1.IsUnlocked(p7, p8);
	if not v54 then
		return false, v55;
	end;
	if v42[l__currency__46] < v53 then
		return false, "You need " .. u1.Functions.Format.Short(v53 - v42[l__currency__46]) .. " more " .. l__currency__46 .. " to buy this egg!";
	end;
	if v42.MaxSlots <= #v42.Pets + (v44 - 1) then
		return false, "Your inventory is full!";
	end;
	if u12[p7] then
		return false, "You are doing this too quickly!";
	end;
	coroutine.wrap(function()
		u12[p7] = true;
		u1.Functions.Wait(0.75);
		u12[p7] = nil;
	end)();
	if not v1.Open(p7, p8, v44) then
		return;
	end;
	v42[l__currency__46] = v42[l__currency__46] - v53;
	if not v42.EggsOpened[p8] then
		v42.EggsOpened[p8] = 0;
	end;
	local l__EggsOpened__56 = v42.EggsOpened;
	l__EggsOpened__56[p8] = l__EggsOpened__56[p8] + v44;
	print(l__EggsOpened__56)
	u1.Achievements.Add(p7, "Open Eggs", v44);


Prompt: --------------| SYSTEM SETTINGS |--------------

Response:
Prefix				= ";";			-- The character you use before every command (e.g. ';jump me').
SplitKey 			= " ";			-- The character inbetween command arguments (e.g. setting it to '/' would change ';jump me' to ';jump/me').
BatchKey 			= "";			-- The character inbetween batch commands (e.g. setting it to '|' would change ';jump me ;fire me ;smoke me' to ';jump me | ;fire me | ;smoke me'
QualifierBatchKey 	= ",";			-- The character used to split up qualifiers (e.g. ;jump player1,player2,player3)

Theme				= "Blue";		-- The default UI theme.
NoticeSoundId		= 2865227271;	-- The SoundId for notices.
NoticeVolume		= 0.1;			-- The Volume for notices.
NoticePitch			= 1;			-- The Pitch/PlaybackSpeed for notices.
ErrorSoundId		= 2865228021;	-- The SoundId for error notifications.
ErrorVolume			= 0.1;			-- The Volume for error notifications.
ErrorPitch			= 1;			-- The Pitch/PlaybackSpeed for error notifications.
AlertSoundId		= 9161622880;	-- The SoundId for alerts.
AlertVolume			= 0.5;			-- The Volume for alerts.
AlertPitch			= 1;			-- The Pitch/PlaybackSpeed for alerts.

WelcomeBadgeId		= 0;			-- Award new players a badge, such as 'Welcome to the game!'. Set to 0 for no badge.

CommandDebounce		= true;			-- Wait until the command effect is over to use again. Helps to limit abuse & lag. Set to 'false' to disable.
SaveRank			= true;			-- Saves a player's rank in the server they received it. (e.g. ;rank plrName rank). Use ';permRank plrName rank' to permanently save a rank. Set to 'false' to disable.
LoopCommands		= 3;			-- The minimum rank required to use LoopCommands.
MusicList 			= {};	-- Songs which automatically appear in a user's radio. Type '!radio' to display the radio.

ThemeColors = {						-- The colours players can set their HD Admin UI (in the 'Settings' menu). | Format: {ThemeName, ThemeColor3Value};
	{"Red", 	Color3.fromRGB(150, 0, 0),		};
	{"Orange", 	Color3.fromRGB(150, 75, 0),		};
	{"Brown", 	Color3.fromRGB(120, 80, 30),	};
	{"Yellow", 	Color3.fromRGB(130, 120, 0),	};
	{"Green", 	Color3.fromRGB(0, 120, 0),		};
	{"Blue", 	Color3.fromRGB(0, 100, 150),	};
	{"Purple", 	Color3.fromRGB(100, 0, 150),	};
	{"Pink",	Color3.fromRGB(150, 0, 100),	};
	{"Black", 	Color3.fromRGB(60, 60, 60),		};
};

Colors = {							-- The colours for ChatColors and command arguments. | Format: {"ShortName", "FullName", Color3Value};
	{"r", 		"Red",		 		Color3.fromRGB(255, 0, 0)		};
	{"o", 		"Orange",	 		Color3.fromRGB(250, 100, 0)		};
	{"y", 		"Yellow",			Color3.fromRGB(255, 255, 0)		};
	{"g", 		"Green"	,			Color3.fromRGB(0, 255, 0)		};
	{"dg", 		"DarkGreen"	, 		Color3.fromRGB(0, 125, 0)		};
	{"b", 		"Blue",		 		Color3.fromRGB(0, 255, 255)		};
	{"db", 		"DarkBlue",			Color3.fromRGB(0, 50, 255)		};
	{"p", 		"Purple",	 		Color3.fromRGB(150, 0, 255)		};
	{"pk",		"Pink",		 		Color3.fromRGB(255, 85, 185)	};
	{"bk",		"Black",		 	Color3.fromRGB(0, 0, 0)			};
	{"w",		"White",	 		Color3.fromRGB(255, 255, 255)	};
};
ChatColors = {						-- The colour a player's chat will appear depending on their rank. '["Owner"] = "Yellow";' makes the owner's chat yellow.
	[5] 		= "Yellow";
};

Cmdbar						= 1;			-- The minimum rank required to use the Cmdbar.
Cmdbar2						= 3;			-- The minimum rank required to use the Cmdbar2.
ViewBanland					= 3;			-- The minimum rank required to view the banland.
OnlyShowUsableCommands		= false;		-- Only display commands equal to or below the user's rank on the Commands page.
RankRequiredToViewPage		= {				-- || The pages on the main menu ||
	["Commands"]		= 0;
	["Admin"]			= 0;
	["Settings"]		= 0;
};
RankRequiredToViewRank		= {				-- || The rank categories on the 'Ranks' subPage under Admin ||
	["Owner"]			= 0;
	["HeadAdmin"]		= 0;
	["Admin"]			= 0;
	["Mod"]				= 0;
	["VIP"]				= 0;
};
RankRequiredToViewRankType	= {				-- || The collection of loader-rank-rewarders on the 'Ranks' subPage under Admin ||
	["Owner"]			= 0;
	["SpecificUsers"]	= 5;
	["Gamepasses"] 		= 0;
	["Assets"] 			= 0;
	["Groups"] 			= 0;
	["Friends"] 		= 0;
	["FreeAdmin"] 		= 0;
	["VipServerOwner"] 	= 0;
};
RankRequiredToViewIcon		= 0;

WelcomeRankNotice			= true;			-- The 'You're a [rankName]' notice that appears when you join the game. Set to false to disable.
WelcomeDonorNotice			= true;			-- The 'You're a Donor' notice that appears when you join the game. Set to false to disable.
WarnIncorrectPrefix			= true;			-- Warn the user if using the wrong prefix | "Invalid prefix! Try using [correctPrefix][commandName] instead!"
DisableAllNotices			= false;		-- Set to true to disable all HD Admin notices.

ScaleLimit					= 4;			-- The maximum size players with a rank lower than 'IgnoreScaleLimit' can scale theirself. For example, players will be limited to ;size me 4 (if limit is 4) - any number above is blocked.
IgnoreScaleLimit			= 3;			-- Any ranks equal or above this value will ignore 'ScaleLimit'
CommandLimits				= {				-- Enables you to set limits for commands which have a number argument. Ranks equal to or higher than 'IgnoreLimit' will not be affected by Limit.
	["fly"]	= {
		Limit 				= 10000;
		IgnoreLimit 		= 3;
	};
	["fly2"]	= {
		Limit 				= 10000;
		IgnoreLimit 		= 3;
	};
	["noclip"]	= {
		Limit 				= 10000;
		IgnoreLimit 		= 3;
	};
	["noclip2"]	= {
		Limit 				= 10000;
		IgnoreLimit 		= 3;
	};
	["speed"]	= {
		Limit 				= 10000;
		IgnoreLimit 		= 3;
	};
	["jumpPower"]	= {
		Limit 				= 10000;
		IgnoreLimit 		= 3;
	};
};

VIPServerCommandBlacklist	= {"permRank", "permBan", "globalAnnouncement"};	-- Commands players are probihited from using in VIP Servers.
GearBlacklist				= {67798397};	-- The IDs of gear items to block when using the ;gear command.
IgnoreGearBlacklist			= 4;			-- The minimum rank required to ignore the gear blacklist.

PlayerDataStoreVersion		= "V1.0";		-- Data about the player (i.e. permRanks, custom settings, etc). Changing the Version name will reset all PlayerData.
SystemDataStoreVersion		= "V1.0";		-- Data about the game (i.e. the banland, universal message system, etc). Changing the Version name will reset all SystemData.

CoreNotices					= {				-- Modify core notices. You can find a table of all CoreNotices under [MainModule > Client > SharedModules > CoreNotices]
	--NoticeName = NoticeDetails;
};


Prompt: -- 100 == 1  0 == 0  1/0.5

Response:
function JamCalculation()
	local L_179_
	if (math.random(1, 100) <= L_24_.JamChance) then
		L_179_ = true
		L_72_ = true
	else
		L_179_ = false
	end
	return L_179_
end

function TracerCalculation()
	local L_180_
	if (math.random(1, 100) <= L_24_.TracerChance) then
		L_180_ = true
	else
		L_180_ = false
	end
	return L_180_
end

function ScreamCalculation()
	local L_181_
	if (math.random(1, 100) <= L_24_.SuppressCalloutChance) then
		L_181_ = true
	else
		L_181_ = false
	end
	return L_181_
end

function SearchResupply(L_182_arg1)
	local L_183_ = false
	local L_184_ = nil

	if L_182_arg1:FindFirstChild('ResupplyVal') or L_182_arg1.Parent:FindFirstChild('ResupplyVal') then
		L_183_ = true
		if L_182_arg1:FindFirstChild('ResupplyVal') then
			L_184_ = L_182_arg1.ResupplyVal
		elseif L_182_arg1.Parent:FindFirstChild('ResupplyVal') then
			L_184_ = L_182_arg1.Parent.ResupplyVal
		end
	end
	return L_183_, L_184_
end

function CheckReverb()
	local L_185_, L_186_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_6_.CFrame.p, (L_6_.CFrame.upVector).unit * 30), IgnoreList);

	if L_185_ then
		local L_187_ = L_56_:WaitForChild('Fire'):FindFirstChild('ReverbSoundEffect') or Instance.new("ReverbSoundEffect", L_56_:WaitForChild('Fire'))
	elseif not L_185_ then
		if L_56_:WaitForChild('Fire'):FindFirstChild('ReverbSoundEffect') then
			L_56_.Fire.ReverbSoundEffect:Destroy()
		end
	end
end

function UpdateAmmo()
	L_29_.Text = L_100_
	L_30_.Text = L_29_.Text

	L_31_.Text = '| ' .. math.ceil(L_101_ / L_24_.StoredAmmo)
	L_32_.Text = L_31_.Text

	if L_90_ == 0 then
		L_40_.Image = 'rbxassetid://' .. 1868007495
	elseif L_90_ == 1 then
		L_40_.Image = 'rbxassetid://' .. 1868007947
	elseif L_90_ == 2 then
		L_40_.Image = 'rbxassetid://' .. 1868008584
	end

	if L_89_ == 1 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0.7
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_89_ == 2 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0
	elseif L_89_ == 3 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_89_ == 4 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0.7
	elseif L_89_ == 5 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_89_ == 6 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0.7
	end

end


Prompt:
--[[
	Returns the current value of this Tween object.
	The object will be registered as a dependency unless `asDependency` is false.
]]

Response:
function class:get(asDependency: boolean?): any
	if asDependency ~= false then
		useDependency(self)
	end
	return self._currentValue
end


Response:
--
function FlyOn()
if COOLDOWN == true then return else end
local torso = Cha.Torso
db = true
Cha["Left Leg"].Transparency = 1
Cha["Right Leg"].Transparency = 1
local gs = script.ParticleEmitter:Clone()
gs.Parent = Cha.Torso


Prompt: -- declarations

Response:
local toolAnim = "None"
local toolAnimTime = 0

local jumpAnimTime = 0
local jumpAnimDuration = 0.3

local toolTransitionTime = 0.1
local fallTransitionTime = 0.2
local jumpMaxLimbVelocity = 0.75


Prompt:
--[=[
	@param data table
	@return Option
	Deserializes the data into an Option. This data should have come from
	the `option:Serialize()` method.
]=]

Response:
function Option.Deserialize(data) -- type data = {ClassName: string, Value: any}
	assert(type(data) == "table" and data.ClassName == CLASSNAME, "Invalid data for deserializing Option")
	return data.Value == nil and Option.None or Option.Some(data.Value)
end


Prompt:
--[=[
	@return Shake
	Creates a new shake with identical properties as
	this one. This does _not_ clone over playing state,
	and thus the cloned instance will be in a stopped
	state.

	A use-case for using `Clone` would be to create a module
	with a list of shake presets. These presets can be cloned
	when desired for use. For instance, there might be presets
	for explosions, recoil, or earthquakes.

	```lua
	--------------------------------------
	-- Example preset module
	local ShakePresets = {}

	local explosion = Shake.new()
	-- Configure `explosion` shake here
	ShakePresets.Explosion = explosion

	return ShakePresets
	--------------------------------------

	-- Use the module:
	local ShakePresets = require(somewhere.ShakePresets)
	local explosionShake = ShakePresets.Explosion:Clone()
	```
]=]

Response:
function Shake:Clone()
	local shake = Shake.new()
	local cloneFields = {
		"Amplitude", "Frequency", "FadeInTime",
		"FadeOutTime", "SustainTime", "Sustain",
		"PositionInfluence", "RotationInfluence",
		"TimeFunction"
	}
	for _,field in ipairs(cloneFields) do
		shake[field] = self[field]
	end
	return shake
end


Response:
local function Dash()
	local character = player.Character
	if character and not debounce then
		debounce = true
		-- now we begin the dash script here

		local humanoid = character.Humanoid
		local HRP = character.HumanoidRootPart -- HRP stands for HumanoidRootPart

		local loadedAnimation = humanoid.Animator:LoadAnimation(DashAnimation)

		local dashDirection = nil
		local moveDirection = humanoid.MoveDirection
		local lookVector = HRP.CFrame.LookVector
		local minusVelocity = -velocity -- in CFrame, if we set Z to positive, player will go move backward
		-- instead of forward

		-- checking if player is on ground, not floating
		local isOnGround = humanoid.FloorMaterial ~= Enum.Material.Air and humanoid.FloorMaterial ~= Enum.Material.Water

		if isOnGround then

			if moveDirection == Vector3.new(0,0,0) then -- if player is not currently moving/walking
				dashDirection = HRP.Position + Vector3.new(lookVector.X, 0, lookVector.Z)
			else -- if player are currently moving/walking
				dashDirection = HRP.Position + Vector3.new(moveDirection.X, 0, moveDirection.Z)
			end

			-- using bodygyro to rotate player to the dash direction smoothly
			local bodyGyro = Instance.new("BodyGyro")
			bodyGyro.Parent = HRP
			bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
			bodyGyro.D = 0 -- D is the dampening
			bodyGyro.P = 500000 -- P is aggressiveness
			bodyGyro.CFrame = CFrame.lookAt(HRP.Position, dashDirection) -- Making player look at the dash direction

			local attachment = Instance.new("Attachment")
			attachment.Parent = HRP

			-- now using VectorForce to move player forward
			local vectorForce = Instance.new("VectorForce")
			vectorForce.Parent = HRP
			-- VectorForce need attachment to tell where is player looking at
			vectorForce.Attachment0 = attachment
			vectorForce.Force = Vector3.new(0,0,minusVelocity) -- now it will move player forward as the settings

			loadedAnimation:Play() -- play the dash animation
			humanoid.AutoRotate = false -- prevent player to rotate by themselves

			wait(duration)

			humanoid.AutoRotate = true

			vectorForce:Destroy()
			bodyGyro:Destroy()
			attachment:Destroy()

			--wait(duration) -- give some time before stopping the dash animation
			loadedAnimation:Stop()

		end

		--
		wait(cooldown)
		debounce = false
	end
end

UserInputService.InputBegan:Connect(function(input)
	if input.KeyCode == key then
		Dash()
	end
end)


Response:
function Raycast:Raycast(Origin, Direction)
	local CompletedRaycast = false
	local NumberPenetrations = 0
	local NumberChecks = 0
	local MaxChecks = 10000
	local FinalResult = nil

	while not CompletedRaycast do
		local RaycastResult = workspace:Raycast(Origin, Direction, self.Parameters)
		local NormalizedSize = RaycastResult and (RaycastResult.Instance.Size * RaycastResult.Normal)
		local Distance = RaycastResult and Direction.Unit * (RaycastResult.Position - Origin).Magnitude

		if NumberChecks == MaxChecks then
			break
		end

		local canCollideCheck, visibilityCheck, penetrateBecauseSmallSize, ignorePart

		if RaycastResult == nil then
			break
		else
			local transparency = RaycastResult.Instance.Transparency + (1 * RaycastResult.Instance.localTransparencyModifier)

			visibilityCheck = not self.InvisiblePartsBlockRaycast and transparency >= self.MinTransparencyToBeInvisible
			canCollideCheck = self.AllowCanCollideFalse and RaycastResult.Instance.CanCollide == false
			ignorePart = canCollideCheck or visibilityCheck

			penetrateBecauseSmallSize = NumberPenetrations < self.MaxPenetrations and NormalizedSize.Magnitude <= self.Penetration
		end

		if ignorePart then
			Origin = RaycastResult.Position - RaycastResult.Normal*0.001
			Direction -= Distance
		elseif penetrateBecauseSmallSize then
			NumberPenetrations += 1
			Origin = RaycastResult.Position - RaycastResult.Normal * NormalizedSize.Magnitude * 0.999
			Direction -= Distance
		else
			FinalResult = RaycastResult
			CompletedRaycast = true
			break
		end

		NumberChecks += 1
	end

	return FinalResult, NumberPenetrations
end


Prompt: --Raycasting collision

Response:
function collision_module.Raycast(wl, from, dir)
	local param = RaycastParams.new()
	param.FilterType = Enum.RaycastFilterType.Whitelist
	param.FilterDescendantsInstances = wl
	param.IgnoreWater = true
	local result = workspace:Raycast(from, dir, param)
	if result then
		return result.Instance, result.Position, result.Normal, result.Material
	else
		return nil, from + dir, nil, Enum.Material.Air
	end
end


Prompt: -- GUI Elements

Response:
local gui = script.Parent
local textDisplay = gui.Header
local displayImage = gui.DisplayImage

local scriptAttributes = script:GetAttributes()

local function displayEndScreen(state, transitionTime)
	-- Make the GUI visible

	gui.Visible = true

	if state == "Victory" then
		textDisplay.Text = gui:GetAttribute("messageVictory")
		displayImage.Image = gui:GetAttribute("imageVictory")
	elseif state == "Defeat" then
		textDisplay.Text = gui:GetAttribute("messageDefeat")
		displayImage.Image = gui:GetAttribute("imageDefeat")
	else
		warn("Invalid end game state fired on client GUI")
	end

	wait(transitionTime)
	gui.Visible = false

end

ClientEndGame.OnClientEvent:Connect(displayEndScreen)


Prompt: -- emote bindable hook

Response:
if FFlagAnimateScriptEmoteHook then
	script:WaitForChild("PlayEmote").OnInvoke = function(emote)
		-- Only play emotes when idling
		if pose ~= "Standing" then
			return
		end

		if emoteNames[emote] ~= nil then
			-- Default emotes
			playAnimation(emote, EMOTE_TRANSITION_TIME, Humanoid)

			if userPlayEmoteByIdAnimTrackReturn then
				return true, currentAnimTrack
			else
				return true
			end
		elseif typeof(emote) == "Instance" and emote:IsA("Animation") then
			-- Non-default emotes
			playEmote(emote, EMOTE_TRANSITION_TIME, Humanoid)

			if userPlayEmoteByIdAnimTrackReturn then
				return true, currentAnimTrack
			else
				return true
			end
		end

		-- Return false to indicate that the emote could not be played
		return false
	end
end


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

Response:
local v1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
function CanOpenWindow()
	local v2 = v1.Variables.OpeningEgg;
	if not v2 then
		v2 = v1.Variables.UsingMachine or (v1.Variables.UsingCannon or (v1.Variables.LoadingWorld or (v1.Variables.PickingStarter or v1.Variables.Trading)));
	end;
	return not v2;
end;
local u1 = false;
local l__ID__2 = v1.Directory.Gamepasses.Teleport.ID;
function HookButton(p1)
	local l__Button__3 = p1.Button;
	local l__Name__4 = p1.Name;
	local v5 = v1.GUI[l__Name__4];
	v1.GFX.Button(l__Button__3);
	if not v5 then
		return;
	end;
	local function u3()
		if not u1 then
			u1 = true;
			if not CanOpenWindow() then
				if v5.Gui.Enabled then
					if v5.Gui.Name ~= "Trading" then
						if v5.Gui.Enabled == true then

							v1.Window.GuaranteeCloseCurrentWindow(l__Name__4)
						else
							v1.Window.GuaranteeOpenWindow(l__Name__4)
						end
					end;
				end;
			elseif l__Name__4 == "Teleport" then
				if not v1.Gamepasses.Owns(l__ID__2) then
					v1.Functions.PromptPurchase(l__ID__2);
				else
					if v5.Gui.Enabled == true then
						v1.Window.GuaranteeCloseCurrentWindow(l__Name__4)
					else
						v1.Window.GuaranteeOpenWindow(l__Name__4)
					end
				end;
			else
				if v5.Gui.Enabled == true then
					v1.Window.GuaranteeCloseCurrentWindow(l__Name__4)
				else
					v1.Window.GuaranteeOpenWindow(l__Name__4)
				end
			end;
			u1 = false;
		end;
	end;
	l__Button__3.Activated:Connect(function()
		u3();
	end);
	if p1.Name == "Inventory" then
		v1.UserInputService.InputBegan:Connect(function(p2, p3)
			if not p3 then
				if p2.KeyCode ~= Enum.KeyCode.X then
					if p2.KeyCode == Enum.KeyCode.ButtonY then

					else
						return;
					end;
				else
					u3();
					return;
				end;
			else
				return;
			end;
			u3();
		end);
	end;
	if p1:FindFirstChild("Title") then
		l__Button__3.MouseEnter:Connect(function()
			if not v1.Variables.Mobile then
				p1.Title.Visible = true;
			end;
		end);
		l__Button__3.MouseLeave:Connect(function()
			if not v1.Variables.Mobile then
				p1.Title.Visible = false;
			end;
		end);
	end;
end;

	for v6, v7 in ipairs(v1.GUI.Main.LeftButtons:GetChildren()) do
	if not v6 then
		break;
	end;
	if v7:IsA("GuiObject") then

			for v9, v10 in ipairs(v7:GetChildren()) do
			if not v9 then
				break;
			end;
			if v10:IsA("GuiObject") then
				HookButton(v10);
			end;
		end;
	end;
end;


Prompt: -- Get the NPC's Humanoid

Response:
local humanoid = npc:FindFirstChild("Humanoid")

if humanoid then
	-- Set the NPC's health to the new value
	humanoid.MaxHealth = newHealth
	humanoid.Health = newHealth
else
	warn("This NPC does not have a Humanoid.")
end


Prompt:
--[=[
	Start the shake effect.

	:::note
	This **must** be called before calling `Update`. As such, it should also be
	called once before or after calling `OnSignal` or `BindToRenderStep` methods.
	:::
]=]

Response:
function Shake:Start()
	self._startTime = self.TimeFunction()
	self._running = true
	self._trove:Add(function()
		self._running = false
	end)
end


Prompt:
--[[
	Create a new expectation
]]

Response:
function Expectation.new(value)
	local self = {
		value = value,
		successCondition = true,
		condition = false
	}

	setmetatable(self, Expectation)

	self.a = bindSelf(self, self.a)
	self.an = self.a
	self.ok = bindSelf(self, self.ok)
	self.equal = bindSelf(self, self.equal)
	self.throw = bindSelf(self, self.throw)
	self.near = bindSelf(self, self.near)

	return self
end

function Expectation.__index(self, key)
	-- Keys that don't do anything except improve readability
	if SELF_KEYS[key] then
		return self
	end

	-- Invert your assertion
	if NEGATION_KEYS[key] then
		local newExpectation = Expectation.new(self.value)
		newExpectation.successCondition = not self.successCondition

		return newExpectation
	end

	-- Fall back to methods provided by Expectation
	return Expectation[key]
end


Prompt: -- find player's head pos

Response:
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)

	local head = vCharacter:findFirstChild("Head")
	if head == nil then return end

	local dir = head.CFrame.LookVector

	--local launch = head.Position + 5 * dir

	--local delta = mouse_pos - launch

	--local dy = delta.y

	--local new_delta = Vector3.new(delta.x, 0, delta.z)
	--delta = new_delta

	--local dx = delta.magnitude
	--local unit_delta = delta.unit

	-- acceleration due to gravity in RBX units
	local g = (-9.81 * 20)

	local missile = Pellet:clone()

	Tool.Handle.Mesh:clone().Parent = missile

	missile.Position = head.Position + 5 * dir
	missile.Velocity = dir * VELOCITY
	missile.RotVelocity = Vector3.new(5,0,0)

	missile.PelletScript.Disabled = false

	missile.Parent = game.Workspace

end

function computeLaunchAngle(dx,dy,grav)
	-- arcane
	-- http://en.wikipedia.org/wiki/Trajectory_of_a_projectile

	local g = math.abs(grav)
	local inRoot = (VELOCITY*VELOCITY*VELOCITY*VELOCITY) - (g * ((g*dx*dx) + (2*dy*VELOCITY*VELOCITY)))
	if inRoot <= 0 then
		return .25 * math.pi
	end
	local root = math.sqrt(inRoot)
	local inATan1 = ((VELOCITY*VELOCITY) + root) / (g*dx)

	local inATan2 = ((VELOCITY*VELOCITY) - root) / (g*dx)
	local answer1 = math.atan(inATan1)
	local answer2 = math.atan(inATan2)
	if answer1 < answer2 then return answer1 end
	return answer2
end

function computeDirection(vec)
	local lenSquared = vec.magnitude * vec.magnitude
	local invSqrt = 1 / math.sqrt(lenSquared)
	return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
end

Tool.Enabled = true
function onActivated()
	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return
	end

	local targetPos = humanoid.TargetPoint

	fire(targetPos)
	wait(3)

	if (Tool.Parent:FindFirstChild("Torso") ~= nil) then
		Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.6
		Tool.Parent.Torso["Right Shoulder"].DesiredAngle = -3.6
	end
		wait(.1)
	Tool.Handle.Transparency=0
	wait(.1)
	Tool.Enabled = true

end

script.Parent.Activated:connect(onActivated)


Prompt: --custom cat stuff

Response:
function AlarmHazards(typ)
	blinking = false
	blinking = true
	while blinking and script.Parent.Parent.Alarm.Value == true do
		Toggle("Hazards", true)
		wait(1/3)
		Toggle("Hazards", false)
		wait(1/3)
	end
	Toggle('Hazards', false)
end

script.Parent.Parent.Alarm.Changed:Connect(function()
	if script.Parent.Parent.Alarm.Value == true then
		AlarmHazards()
	end
end)


Prompt:
--[[**
	ensures value is either nil or passes check

	@param check The check to use

	@returns A function that will return true iff the condition is passed
**--]]

Response:
function t.optional(check)
	assert(t.callback(check))
	return function(value)
		if value == nil then
			return true
		end
		local success, errMsg = check(value)
		if success then
			return true
		else
			return false, string.format("(optional) %s", errMsg or "")
		end
	end
end


Prompt: --Used to visualize waypoints

Response:
local visualWaypoint = Instance.new("Part")
visualWaypoint.Size = Vector3.new(0.3, 0.3, 0.3)
visualWaypoint.Anchored = true
visualWaypoint.CanCollide = false
visualWaypoint.Material = Enum.Material.Neon
visualWaypoint.Shape = Enum.PartType.Ball


Prompt:
--[=[
	A boolean which determines if a ScriptConnection is active or not.

	@prop Connected boolean
	@within ScriptConnection

	@readonly
	@ignore
]=]

Response:
export type Class = typeof(setmetatable({
    _active = true,
    _head = nil :: ScriptConnectionNode?,
}, ScriptSignal))

export type ScriptConnection = typeof(setmetatable({
    Connected = true,
    _node = nil :: ScriptConnectionNode?,
}, ScriptConnection))

type ScriptConnectionNode = {
    _signal: Class,
    _connection: ScriptConnection?,
    _handler: (...any) -> (),

    _next: ScriptConnectionNode?,
    _prev: ScriptConnectionNode?,
}

local FreeThread: thread? = nil

local function RunHandlerInFreeThread(handler, ...)
    local thread = FreeThread :: thread
    FreeThread = nil

    handler(...)

    FreeThread = thread
end

local function CreateFreeThread()
    FreeThread = coroutine.running()

    while true do
        RunHandlerInFreeThread(coroutine.yield())
    end
end


Prompt: --// Adonis Client Loader (Non-ReplicatedFirst Version)

Response:
local wait = wait;
local tick = tick;
local pcall = pcall;
local xpcall = xpcall;
local setfenv = setfenv;
local tostring = tostring;

local players = game:GetService("Players");
local player = players.LocalPlayer;
local folder = script.Parent;
local container = folder.Parent;
local Kick = player.Kick;
local module = folder:WaitForChild("Client");
local target = player;
local realPrint = print;
local realWarn = warn;
local DebugMode = false;
local start = tick();

local function print(...)
	if true then
		--realPrint(...)
	end
end

local function warn(str)
	if DebugMode or player.UserId == 1237666 then
		realWarn("ACLI: "..tostring(str))
	end
end

local function Kill(info)
	if DebugMode then warn(info) return end
	pcall(function() Kick(player, info) end)
	wait(1)
	pcall(function() while not DebugMode and wait() do pcall(function() while true do end end) end end)
end

local function Locked(obj)
	return (not obj and true) or not pcall(function() return obj.GetFullName(obj) end)
end

local function loadingTime()
	warn("LoadingTime Called")
	setfenv(1,{})
	warn(tostring(tick() - start))
end

local function callCheck(child)
	warn("CallCheck: "..tostring(child))
	if Locked(child) then
		warn("Child locked?")
		Kill("ACLI: Locked")
	else
		warn("Child not locked")
		xpcall(function()
			return child[{}]
		end, function()
			if getfenv(1) ~= getfenv(2) then
				Kill("ACLI: Error")
			end
		end)
	end
end

local function doPcall(func, ...)
	local ran,ret = pcall(func, ...)
	if ran then
		return ran,ret
	else
		warn(tostring(ret))
		Kill("ACLI: Error\n"..tostring(ret))
		return ran,ret
	end
end


Prompt: -- R15 --

Response:
function   waitForChild(parent, childName)
	local child = parent:findFirstChild(childName)
	if child then return child end
	while true do
		child = parent.ChildAdded:wait()
		if child.Name==childName then return child end
	end
end

local Figure = script.Parent
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"

if ( Humanoid.RigType == Enum.HumanoidRigType.R6 ) then
	-- We dont want this script to run, so we'll just wait until this script is eventually destroyed.
	wait(1);
	repeat wait(100) until 1 == 2
end

local currentAnim = ""
local currentAnimInstance = nil
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0

local CurrentToyAnimation = nil;

local runAnimTrack = nil
local runAnimKeyframeHandler = nil

local AnimSpeedChangeDebounce = nil;

local animTable = {}
local animNames = {
	idle = 	{
				{ id = "http://www.roblox.com/asset/?id=507766666", weight = 1 },
				{ id = "http://www.roblox.com/asset/?id=507766951", weight = 1 },
				{ id = "http://www.roblox.com/asset/?id=507766388", weight = 9 }
			},
	walk = 	{
				{ id = "http://www.roblox.com/asset/?id=507777826", weight = 10 }
			},
	run = 	{
				{ id = "http://www.roblox.com/asset/?id=507767714", weight = 10 }
			},
	swim = 	{
				{ id = "http://www.roblox.com/asset/?id=507784897", weight = 10 }
			},
	swimidle = 	{
				{ id = "http://www.roblox.com/asset/?id=507785072", weight = 10 }
			},
	jump = 	{
				{ id = "http://www.roblox.com/asset/?id=507765000", weight = 10 }
			},
	fall = 	{
				{ id = "http://www.roblox.com/asset/?id=507767968", weight = 10 }
			},
	climb = {
				{ id = "http://www.roblox.com/asset/?id=507765644", weight = 10 }
			},
	sit = 	{
				{ id = "http://www.roblox.com/asset/?id=507768133", weight = 10 }
			},
	toolnone = {
				{ id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
			},
	toolslash = {
				{ id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }


Prompt:
--[[
	Tween Event handler
	Phoenix
]]

Response:
local Sender    	 = game:GetService("ReplicatedStorage").Game.Events.Game.Tween
local ServerListener = game:GetService("ServerScriptService").Server.Events.Tween

local CatchUpData = {} -- Instance = {InstanceTweened = Instance, Frame = CFrame}

ServerListener.Event:Connect(function(InstanceToTween, ToCFrame, Time, Data)
	local Ins

	if InstanceToTween ~= nil then
		if InstanceToTween:IsA("Model") then
			if InstanceToTween.PrimaryPart then
				Ins = InstanceToTween.PrimaryPart
			end
		else
			Ins = InstanceToTween
		end

		local Players = game:GetService("Players"):GetChildren()

		for I = 1, #Players do
			local Player = Players[I]

			Sender:FireClient(Player, InstanceToTween, ToCFrame, Time, Data)
		end

		wait(Time)

		if InstanceToTween.PrimaryPart then
			InstanceToTween:SetPrimaryPartCFrame(ToCFrame)
		elseif InstanceToTween:IsA("BasePart") then
			InstanceToTween.CFrame = ToCFrame
		else
			print("Attempted to tween a non model Instance: ".. InstanceToTween:GetFullName())
		end
	end
end)


Response:
local player=game.Players.LocalPlayer
local mouse=player:GetMouse()

local car = script.Parent.Parent.Car.Value
local _Tune = require(car["A-Chassis Tune"])

local gauges = script.Parent
local values = script.Parent.Parent.Values
local isOn = script.Parent.Parent.IsOn
local RPM = 0
local RPM2 = 0

gauges:WaitForChild("Tach")
gauges:WaitForChild("ln")
gauges:WaitForChild("bln")
gauges:WaitForChild("Gear")

car.DriveSeat.HeadsUpDisplay = false

local _pRPM = _Tune.PeakRPM
local _lRPM = _Tune.Redline

local currentUnits = 1
local revEnd = math.ceil(_lRPM/1000)
local BST = 0
if _Tune.Aspiration == "Single" then
BST = _Tune.Boost
end
if _Tune.Aspiration == "Double" then
BST = _Tune.Boost*2
end
if _Tune.Aspiration == "Super" then
BST = _Tune.Boost
end


Prompt: -- Services

Response: local PathfindingService = game:GetService("PathfindingService")


Prompt: -- Script-readable version information.

Response:
export type Version = {
	major: number,
	minor: number,
	isRelease: boolean
}


Prompt:
------------------------------------------------------------------------
-- reads a long string or long comment
------------------------------------------------------------------------

Response:
function luaX:read_long_string(ls, Token, sep)
  local cont = 0
  self:save_and_next(ls)  -- skip 2nd '['
  if self:currIsNewline(ls) then  -- string starts with a newline?
    self:inclinenumber(ls)  -- skip it
  end
  while true do
    local c = ls.current
    if c == "EOZ" then
      self:lexerror(ls, Token and "unfinished long string" or
                    "unfinished long comment", "TK_EOS")
    elseif c == "[" then
      --# compatibility code start
      if self.LUA_COMPAT_LSTR then
        if self:skip_sep(ls) == sep then
          self:save_and_next(ls)  -- skip 2nd '['
          cont = cont + 1
          --# compatibility code start
          if self.LUA_COMPAT_LSTR == 1 then
            if sep == 0 then
              self:lexerror(ls, "nesting of [[...]] is deprecated", "[")
            end
          end
          --# compatibility code end
        end
      end
      --# compatibility code end
    elseif c == "]" then
      if self:skip_sep(ls) == sep then
        self:save_and_next(ls)  -- skip 2nd ']'
        --# compatibility code start
        if self.LUA_COMPAT_LSTR and self.LUA_COMPAT_LSTR == 2 then
          cont = cont - 1
          if sep == 0 and cont >= 0 then break end
        end
        --# compatibility code end
        break
      end
    elseif self:currIsNewline(ls) then
      self:save(ls, "\n")
      self:inclinenumber(ls)
      if not Token then ls.buff = "" end -- avoid wasting space
    else  -- default
      if Token then
        self:save_and_next(ls)
      else
        self:nextc(ls)
      end
    end--if c
  end--while
  if Token then
    local p = 3 + sep
    Token.seminfo = string.sub(ls.buff, p, -p)
  end
end


Prompt: -- Initialize material tool

Response:
local MaterialTool = require(CoreTools.MaterialTool)
Core.AssignHotkey('N', Core.Support.Call(Core.EquipTool, MaterialTool));
Core.Dock.AddToolButton(Core.Assets.MaterialIcon, 'N', MaterialTool, 'MaterialInfo');


Prompt: --the guts of the code (DO NOT TOUCH)

Response:
local function Chat(message: string, color)
	game:GetService("Chat"):Chat(NPC.Head, message, CC)
end
local function Jump()
	NPC.Humanoid.Jump = true
end
local function Move(pos: Vector3, spawn_thread)
	spawn_thread = spawn_thread or false
	NPC.Humanoid:MoveTo(pos)
	if not spawn_thread then NPC.Humanoid.MoveToFinished:Wait() end
end
local walkpoint = script.Parent.Parent.WalkPoints
local PlayersService = game:GetService("Players");
PlayersService.PlayerAdded:Connect(function(Player)
	Player.Chatted:Connect(function(Message)
		if string.find(string.lower(Message), string.lower(playerchat)) then
			wait(waittime)


Prompt: --// bolekinds

Response:
local debounce = false

script.Parent.Touched:Connect(function(t)
	--local e, s = pcall(function()
	if debounce == false and game.Players:FindFirstChild(t.Parent.Name) then
		debounce = true
		local cash = 1
		if game.ServerStorage.ServerData.contract.Value == true then
			cash = cash + 3
		end
		if game.ServerStorage.ServerData.MsFloppa.Value == true then
			cash = cash + cash
		end
		if game.ServerStorage.ServerData.happy.Value > 100 then
			cash = cash + cash
		end
		if game.ServerStorage.ServerData.happy.Value < 25 then
			cash = cash/2
		end
			game.Players:FindFirstChild(t.Parent.Name).YouCash.Value += cash
		script.Parent:Destroy()
		debounce = false
		end
	--end)
end)


Prompt: -- Cast Ray

Response:
castray.OnServerEvent:Connect(function(fired, ray, position)
	local beam = Instance.new("Part")

	beam.BrickColor = BrickColor.new("Neon orange")
	beam.FormFactor = Enum.FormFactor.Custom
	beam.Material = Enum.Material.Neon
	beam.Transparency = 0
	beam.Anchored = true
	beam.Locked = true
	beam.CanCollide = false
	beam.Parent = workspace

	local distance = (tool:WaitForChild("Hole").CFrame.p - position).Magnitude
	beam.Size = Vector3.new(0.1, 0.1, distance)
	beam.CFrame = CFrame.new(tool:WaitForChild("Hole").CFrame.p, position) * CFrame.new(0, 0, -distance / 2)

	game:GetService("Debris"):AddItem(beam, 0.025)
end)


Prompt:
-- ROBLOX TODO: import jest-matcher-utils when available
-- import * as matcherUtils from 'jest-matcher-utils';

Response:
local matcherUtils = {} :: any
local JasmineUtils = require(CurrentModule.jasmineUtils)
local equals = JasmineUtils.equals
local hasProperty = JasmineUtils.hasProperty
local isA = JasmineUtils.isA
local isUndefined = JasmineUtils.isUndefined

local getState = require(CurrentModule.jestMatchersObject_extracted).getState
local Types = require(CurrentModule.types)


Prompt: -- functions

Response:
script.Parent.Text = "I GOT IT!"
wait(2)
game.ReplicatedStorage.kicker:FireAllClients()


Prompt: --		print("Keyframe : ".. frameName)

Response:
		local repeatAnim = currentAnim
		-- return to idle if finishing an emote
		if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
			repeatAnim = "idle"
		end

		local animSpeed = currentAnimSpeed
		playAnimation(repeatAnim, 0.15, Humanoid)
		setAnimationSpeed(animSpeed)
	end
end


Prompt: --[[Super Util]]

Response:
--
function WaitForChild(parent,...)
	local debugPrint = false
	for _, i in ipairs({...}) do
		if type(i)=='boolean' then
			debugPrint = i
		else
			while not parent:FindFirstChild(i) do
				wait(1/30)
				if debugPrint then
					print(script.Name..':'..parent.Name..' Waiting for '.. i)
				end
			end
			parent=parent[i]
		end
	end
	return parent
end

function ForEach(parent,func)

end

function MakeValue(class,name,value,parent)

end

function TweenProperty(obj, propName, inita, enda, length,sentinel)

end


Prompt: -- You don't need to touch anything below this line. All customisable features are above.

Response:
local fC = fontColor.Color -- converts brickcolor to color3

game.Workspace.ClientChat.OnClientEvent:connect(function(messageType, message)
	print(message)
	game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
   		Text = ("["..messageType.."]: "..message);
		Color = fC;
    	Font = font;
    	FontSize = fontSize;
	})
end)


Prompt:
-- Also listen for errors fired from the client by cloning a LocalScript
--  into StarterPlayerScripts that will fire a RemoteEvent when a clientside error occurs.

Response:
local cer = ErrorObserverClient:Clone()
cer.Parent = StarterPlayer.StarterPlayerScripts


Prompt: --[[Weight and CG]]

Response:
Tune.Weight			= 4000		-- Total weight (in pounds)
Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	--[[Width]]		8.6		,
	--[[Height]]		7.9		,
	--[[Length]]		32.8	}
Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
Tune.WBVisible		= false		-- Makes the weight brick visible


Prompt: -- services

Response:
local Workspace		= game:GetService("Workspace")
local Players		= game:GetService("Players")
local RunService	= game:GetService("RunService")
local Debris		= game:GetService("Debris")


Response:
function onSwimming(speed)
	if speed > 1.00 then
		local scale = 10.0
		playAnimation("swim", 0.4, Humanoid)
		setAnimationSpeed(speed / scale)
		pose = "Swimming"
	else
		playAnimation("swimidle", 0.4, Humanoid)
		pose = "Standing"
	end
end

function animateTool()
	if (toolAnim == "None") then
		playToolAnimation("toolnone", toolTransitionTime, Humanoid, Enum.AnimationPriority.Idle)
		return
	end

	if (toolAnim == "Slash") then
		playToolAnimation("toolslash", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end
end

function getToolAnim(tool)
	for _, c in ipairs(tool:GetChildren()) do
		if c.Name == "toolanim" and c.className == "StringValue" then
			return c
		end
	end
	return nil
end

local lastTick = 0

function stepAnimate(currentTime)
	local amplitude = 1
	local frequency = 1
  	local deltaTime = currentTime - lastTick
  	lastTick = currentTime

	local climbFudge = 0
	local setAngles = false

  	if (jumpAnimTime > 0) then
  		jumpAnimTime = jumpAnimTime - deltaTime
  	end

	if (pose == "FreeFall" and jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	elseif (pose == "Seated") then
		playAnimation("sit", 0.5, Humanoid)
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.2, Humanoid)
		if UserInputService.MouseBehavior == Enum.MouseBehavior.LockCenter then
			if not wasStrafe then
				doForAllRunTracks(function(trackRec, name)
					trackRec.track:AdjustWeight(smallButNotZero, blendTime)
					trackRec.lastWeight = smallButNotZero
				end)
			end
			setRunSpeed(0) -- speed doesn't matter if in mouse lock mode
			wasStrafe = true
		else
			if wasStrafe then
				doForAllRunTracks(function(trackRec, name)
					trackRec.track:AdjustWeight(smallButNotZero, blendTime)
					trackRec.lastWeight = smallButNotZero
				end)
				setRunSpeed(currentAnimSpeed)
				wasStrafe = false
			end
		end
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
		stopAllAnimations()
		amplitude = 0.1
		frequency = 1
		setAngles = true
	end

	-- Tool Animation handling
	local tool = Character:FindFirstChildOfClass("Tool")
	if tool and tool:FindFirstChild("Handle") then
		local animStringValueObject = getToolAnim(tool)

		if animStringValueObject then
			toolAnim = animStringValueObject.Value
			-- message recieved, delete StringValue
			animStringValueObject.Parent = nil
			toolAnimTime = currentTime + .3
		end

		if currentTime > toolAnimTime then
			toolAnimTime = 0
			toolAnim = "None"
		end

		animateTool()
	else
		stopToolAnimations()
		toolAnim = "None"
		toolAnimInstance = nil
		toolAnimTime = 0
	end
end


Prompt: --// All global vars will be wiped/replaced except script

Response:
return function(data)
	local playergui = service.PlayerGui
	local localplayer = service.Players.LocalPlayer

	local frame = script.Parent.Parent
	local close = frame.Frame.Close
	local main = frame.Frame.Main
	local title = frame.Frame.Title
	local timer = frame.Frame.Timer

	local gTable = data.gTable
	local clickfunc = data.OnClick
	local closefunc = data.OnClose
	local ignorefunc = data.OnIgnore

	local name = data.Title
	local text = data.Message or data.Text or ""
	local time = data.Time

	local returner = nil

	if clickfunc and type(clickfunc)=="string" then
		clickfunc = client.Core.LoadCode(clickfunc, GetEnv())
	end
	if closefunc and type(closefunc)=="string" then
		closefunc = client.Core.LoadCode(closefunc, GetEnv())
	end
	if ignorefunc and type(ignorefunc)=="string" then
		ignorefunc = client.Core.LoadCode(ignorefunc, GetEnv())
	end

	--client.UI.Make("NotificationHolder")
	local holder = client.UI.Get("NotificationHolder",nil,true)
	if not holder then
		local hold = service.New("ScreenGui")
		local hTable = client.UI.Register(hold)
		local frame = service.New("ScrollingFrame", hold)
		client.UI.Prepare(hold)
		hTable.Name = "NotificationHolder"
		frame.Name = "Frame"
		frame.BackgroundTransparency = 1
		frame.Size = UDim2.new(0, 200, 0.5, 0)
		frame.Position = UDim2.new(1, -210, 0.5, -10)
		frame.CanvasSize = UDim2.new(0, 0, 0, 0)
		frame.ChildAdded:Connect(function(c)
			if #frame:GetChildren() == 0 then
				frame.Visible = false
			else
				frame.Visible = true
			end
		end)

		frame.ChildRemoved:Connect(function(c)
			if #frame:GetChildren() == 0 then
				frame.Visible = false
			else
				frame.Visible = true
			end
		end)

		holder = hTable
		hTable:Ready()
	end

	local function moveGuis(holder,mod)
		local holdstuff = {}
		for i,v in pairs(holder:GetChildren()) do
			table.insert(holdstuff,1,v)
		end
		for i,v in pairs(holdstuff) do
			v.Position = UDim2.new(0,0,1,-75*(i+mod))
		end
		holder.CanvasSize=UDim2.new(0,0,0,(#holder:GetChildren()*75))
		local pos = (((#holder:GetChildren())*75) - holder.AbsoluteWindowSize.Y)
		if pos<0 then pos = 0 end
		holder.CanvasPosition = Vector2.new(0,pos)
	end

	holder = holder.Object.Frame
	title.Text = name
	frame.Name = name
	main.Text = text

	main.MouseButton1Click:Connect(function()
		if frame and frame.Parent then
			if clickfunc then
				returner = clickfunc()
			end
			frame:Destroy()
			moveGuis(holder,0)
		end
	end)

	close.MouseButton1Click:Connect(function()
		if frame and frame.Parent then
			if closefunc then
				returner = closefunc()
			end
			gTable:Destroy()
			moveGuis(holder,0)
		end
	end)

	moveGuis(holder,1)
	frame.Parent = holder
	frame:TweenPosition(UDim2.new(0,0,1,-75),'Out','Linear',0.2)

	spawn(function()
		local sound = Instance.new("Sound",service.LocalContainer())
		if text == "Click here for commands." then
			sound.SoundId = "rbxassetid://987728667"
		elseif name == "Warning!" then
			sound.SoundId = "rbxassetid://428495297"
		else
			sound.SoundId = "rbxassetid://2275705078"
		end
		wait(0.1)
		sound:Play()
		wait(1)
		sound:Destroy()
	end)

	if time then
		timer.Visible = true
		spawn(function()
			repeat
				timer.Text = time
				--timer.Size=UDim2.new(0,timer.TextBounds.X,0,10)
				wait(1)
				time = time-1
			until time<=0 or not frame or not frame.Parent

			if frame and frame.Parent then
				if ignorefunc then
					returner = ignorefunc()
				end
				frame:Destroy()
				moveGuis(holder,0)
			end
		end)
	end

	repeat wait() until returner ~= nil or not frame or not frame.Parent

	return returner
end


Prompt: -- Mimic roblox menu when opened and closed

Response:
guiService.MenuClosed:Connect(function()
	menuOpen = false
	if not IconController.controllerModeEnabled then
		IconController.setTopbarEnabled(IconController.topbarEnabled,false)
	end
end)
guiService.MenuOpened:Connect(function()
	menuOpen = true
	IconController.setTopbarEnabled(false,false)
end)


Prompt: --// # key, Priority

Response:
mouse.KeyDown:connect(function(key)
	if key=="y" then
		if veh.Lightbar.middle.Priority.IsPlaying == true then
		veh.Lightbar.middle.Wail:Stop()
		veh.Lightbar.middle.Yelp:Stop()
		veh.Lightbar.middle.Priority:Stop()
		script.Parent.Parent.Sirens.Priority.BackgroundColor3 = Color3.fromRGB(62, 62, 62)
		else
		veh.Lightbar.middle.Wail:Stop()
		veh.Lightbar.middle.Yelp:Stop()
		veh.Lightbar.middle.Priority:Play()
		script.Parent.Parent.Sirens.Priority.BackgroundColor3 = Color3.fromRGB(215, 135, 110)
		script.Parent.Parent.Sirens.Wail.BackgroundColor3 = Color3.fromRGB(62, 62, 62)
		script.Parent.Parent.Sirens.Yelp.BackgroundColor3 = Color3.fromRGB(62, 62, 62)
		end
	end
end)


Prompt:
--[[**
	ensures all values in given table pass check

	@param check The function to use to check the values

	@returns A function that will return true iff the condition is passed
**--]]

Response:
function t.values(check)
	assert(t.callback(check))
	return function(value)
		local tableSuccess, tableErrMsg = t.table(value)
		if tableSuccess == false then
			return false, tableErrMsg or ""
		end

		for key, val in pairs(value) do
			local success, errMsg = check(val)
			if success == false then
				return false, string.format("bad value for key %s:\n\t%s", tostring(key), errMsg or "")
			end
		end

		return true
	end
end


Prompt:
------------------------------------------------------------------------
-- Attempt to convert a number by translating '.' decimal points to
-- the decimal point character used by the current locale. This is not
-- needed in Yueliang as Lua's tonumber() is already locale-aware.
-- Instead, the code is here in case the user implements localeconv().
------------------------------------------------------------------------

Response:
function luaX:trydecpoint(ls, Token)
  -- format error: try to update decimal point separator
  local old = ls.decpoint
  -- translate the following to Lua if you implement localeconv():
  -- struct lconv *cv = localeconv();
  -- ls->decpoint = (cv ? cv->decimal_point[0] : '.');
  self:buffreplace(ls, old, ls.decpoint)  -- try updated decimal separator
  local seminfo = self:str2d(ls.buff)
  Token.seminfo = seminfo
  if not seminfo then
    -- format error with correct decimal point: no more options
    self:buffreplace(ls, ls.decpoint, ".")  -- undo change (for error message)
    self:lexerror(ls, "malformed number", "TK_NUMBER")
  end
end


Prompt: --Similar to assert but warns instead of errors.

Response:
local function assertwarn(requirement: boolean, messageIfNotMet: string)
	if requirement == false then
		warn(messageIfNotMet)
	end
end


Prompt: --		print(animName .. " " .. idx .. " [" .. origRoll .. "]")

Response:
	local anim = animTable[animName][idx].anim

	-- switch animation
	if (anim ~= currentAnimInstance) then

		if (currentAnimTrack ~= nil) then
			currentAnimTrack:Stop(transitionTime)
			currentAnimTrack:Destroy()
		end

		currentAnimSpeed = 1.0

		-- load it to the humanoid; get AnimationTrack
		currentAnimTrack = humanoid:LoadAnimation(anim)
		currentAnimTrack.Priority = Enum.AnimationPriority.Core

		-- play the animation
		currentAnimTrack:Play(transitionTime)
		currentAnim = animName
		currentAnimInstance = anim

		-- set up keyframe name triggers
		if (currentAnimKeyframeHandler ~= nil) then
			currentAnimKeyframeHandler:disconnect()
		end
		currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)

	end

end


Prompt:
--[[
    Modifies a product or asset type (typically from its enum value) into
    something suitable to be displayed on screen:
    - With CamelCase words separated by spaces
    - With the word "Accessory" brought to the beginning, if present (this is to
      mirror the behavior in the Roblox catalog)
]]

Response:
local formatProductTypeString = function(input: string)
	local output = string.gsub(input, "(.)(%u)", "%1 %2")
	output = string.gsub(output, "(.*) Accessory", "Accessory | %1")
	output = string.gsub(output, "T Shirt", "T-Shirt")
	return output
end

return formatProductTypeString