Roblox/luau_corpus huggingface dataset:
-- FIXME: These should be surfaced to top-level APIs
local WeaponsClient = require(ReplicatedFirst.Packages.Chickynoid.Client.WeaponsClient)
local EffectsModule = require(ReplicatedFirst.Packages.Chickynoid.Client.Effects)

function module:Setup(_client) end

function module:TerminateBullet(bulletId)

    local record = self.bullets[bulletId]
    if (record) then
        if (record.part) then
            record.part:Destroy()
        end 
        self.bullets[bulletId] = nil       
    end
end

function module:FireBullet(origin, vec, speed, maxDistance, drop, bulletId)

    if (bulletId == -1) then
        bulletId = self.bulletId 
        self.bulletId -= 1
    end
    --add the projectile
    local bulletRecord = {}
 
    bulletRecord.position = origin
    bulletRecord.vec = vec
    
    bulletRecord.speed = speed
    bulletRecord.maxDist = maxDistance
    bulletRecord.drop = drop
    bulletRecord.travel = 0
    

    module.bullets[bulletId] = bulletRecord
    
    return bulletRecord
end


function module:Step(_client, deltaTime) 

    for key, bulletRecord in pairs(self.bullets) do
        --visual!
        if (bulletRecord.part == nil) then
            
            bulletRecord.part = Instance.new("Part")
            bulletRecord.part.Anchored = true
            bulletRecord.part.CanCollide = false
            bulletRecord.part.CanTouch = false
            bulletRecord.part.CanQuery = false
            bulletRecord.part.Size = Vector3.new(0.2,0.2,0.2)
            bulletRecord.part.Shape = Enum.PartType.Ball
            bulletRecord.part.Material = Enum.Material.Neon
            bulletRecord.part.Color = Color3.new(1,1,1)
            bulletRecord.part.Parent = game.Workspace
        end
        
        local lastPos = bulletRecord.position

        bulletRecord.vec += Vector3.new(0, bulletRecord.drop * deltaTime, 0)
        local add = bulletRecord.vec * bulletRecord.speed * deltaTime
        bulletRecord.position += add
        bulletRecord.travel += add.Magnitude
        

        if (bulletRecord.DoCollisionCheck) then
            local res = bulletRecord.DoCollisionCheck(bulletRecord, lastPos, bulletRecord.position)
            if (res ~= nil) then
                bulletRecord.die = true
            end
        end

        bulletRecord.part.Position = bulletRecord.position

        if (bulletRecord.travel > bulletRecord.maxDist) then
            --kill locally
            bulletRecord.die = true
        end

        if (bulletRecord.die == true) then
            bulletRecord.part:Destroy()
            self.bullets[key] = nil
        end
    end
end

return module
-- luaX.tokens (was luaX_tokens) is now a hash; see luaX:init

luaX.MAXSRC = 80
luaX.MAX_INT = 2147483645       -- constants from elsewhere (see above)
luaX.LUA_QS = "'%s'"
luaX.LUA_COMPAT_LSTR = 1
---------------------------------------------------

This = script.Parent
Elevator = This.Parent.Parent.Parent

Elevator:WaitForChild("Direction").Changed:connect(function(val)
    if val == 1 then
		This.Up.Light.BrickColor = This.Up.ActiveColor.Value
		This.Up.Light.Material = "Neon"
		This.Down.Light.BrickColor = This.Down.InactiveColor.Value
		This.Down.Light.Material = "SmoothPlastic"
    elseif val == -1 then
		This.Up.Light.BrickColor = This.Up.InactiveColor.Value
		This.Up.Light.Material = "SmoothPlastic"
		This.Down.Light.BrickColor = This.Down.ActiveColor.Value
		This.Down.Light.Material = "Neon"
	else
		This.Up.Light.BrickColor = This.Up.InactiveColor.Value
		This.Up.Light.Material = "SmoothPlastic"
		This.Down.Light.BrickColor = This.Down.InactiveColor.Value
		This.Down.Light.Material = "SmoothPlastic"
    end
end)
---[[ Window Settings ]]
module.MinimumWindowSize = UDim2.new(0.3, 0, 0.25, 0)
module.MaximumWindowSize = UDim2.new(0.5, 0, 0.5, 0) -- Should always be less than the full screen size.
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)
--		print("Keyframe : ".. frameName)	
		playToolAnimation(toolAnimName, 0.0, Humanoid)
	end
end


function playToolAnimation(animName, transitionTime, humanoid)	 
		
		local roll = math.random(1, animTable[animName].totalWeight) 
		local origRoll = roll
		local idx = 1
		while roll > animTable[animName][idx].weight do
			roll = roll - animTable[animName][idx].weight
			idx = idx + 1
		end
--------------------------------------Dont change anything under here!----------------------------------------------

function Setup()
for i,p in pairs(game.Players:children()) do
if (p.Character == wand.Parent) then
 
if (connect ~= nil) then connect:disconnect() end
connect = p.Chatted:connect(PlayerTalked)
owner = p
end
end
end

function PlayerTalked(words)
 
if (string.find(words:lower(), inc:lower()) ~= nil) and (wand.Parent == owner.Character) then
print("Casting the spell ''" ..inc.. "''")
CastSpell()
end
end

function CastSpell()
wand.Activated:wait()
ahem = wand.Parent.Humanoid.TargetPoint
for i = 1, 5 do
lol = Instance.new("Sparkles")
lol.Parent = wand.Parent.Torso
game.Debris:AddItem(lol, .6)
end
bav = Instance.new("BodyAngularVelocity")
bav.angularvelocity = Vector3.new(0,100,0)
bav.maxTorque = Vector3.new(200000,200000,200000)
bav.P = 200000
bav.Parent = wand.Parent.Torso
game.Debris:AddItem(bav, .6)
wait(.5)
wand.Parent.Humanoid.Jump = true
wait()
wand.Parent:MoveTo(ahem)
target = findNearestTorso(stick.Position, 5)
if target ~= nil then
target.Parent:MoveTo(ahem + Vector3.new(math.random(-2,2), 0, math.random(-2,2)))
end
end

wand.Equipped:connect(Setup)
-- Basic Settings

AdminCredit=true;				-- Enables the credit GUI for that appears in the bottom right
AutoClean=false;				-- Enables automatic cleaning of hats & tools in the Workspace
AutoCleanDelay=60;				-- The delay between each AutoClean routine
CommandBar=true;				-- Enables the Command Bar | GLOBAL KEYBIND: \
FunCommands=true;				-- Enables fun yet unnecessary commands
FreeAdmin=false;				-- Set to 1-5 to grant admin powers to all, otherwise set to false
PublicLogs=false;				-- Allows all users to see the command & chat logs
Prefix=':';						-- Character to begin a command
								--[[
	Admin Powers
	
0			Player
1			VIP					Can use nonabusive commands only on self
2			Moderator			Can kick, mute, & use most commands
3			Administrator		Can ban, crash, & set Moderators/VIP
4			SuperAdmin			Can grant permanent powers, & shutdown the game
5			Owner				Can set SuperAdmins, & use all the commands
6			Game Creator		Can set owners & use all the commands

	Group & VIP Admin
	
		You can set multiple Groups & Ranks to grant users admin powers:
		
GroupAdmin={
[12345]={[254]=4,[253]=3};
[GROUPID]={[RANK]=ADMINPOWER}
};

		You can set multiple Assets to grant users admin powers:
		
VIPAdmin={
[12345]=3;
[54321]=4;
[ITEMID]=ADMINPOWER;
};								]]

GroupAdmin={

};

VIPAdmin={

};
-- functions

return function(humanoid, pos, normal)
	local armor	= humanoid:FindFirstChild("Armor")
	
	local hole	= script.HumanoidHit:Clone()
		hole.CFrame	= CFrame.new(pos, pos + normal)
		hole.Parent	= EFFECTS
		
	
	if armor and armor.Value > 0 then
		hole.ArmorEmitter:Emit(4)
		hole.SparkEmitter:Emit(10)
	else
		hole.HitEmitter:Emit(4)
		hole.DamageEmitter:Emit(10)
	end
	
	Debris:AddItem(hole, 5)
end
--// Tables
local L_41_ = {
	
	"1565831468";
	"1565832329";
	
}

local L_42_ = {
	
	"1565831129";
	"1565830611";
	
}

local L_43_ = {
	
	"1565825075";
	"1565824613";
	
}

local L_44_ = {
	
	"1565821941";
	"1565821634";
	
}

local L_45_ = {
	
	"1565756818";
	"1565756607";
	
}

local L_46_ = {
	
	"1565717027";
	"1565716705";
	
}

local L_47_ = {
	
	"1565703226";
	"1565675605";
	
}
--	player.PlayerGui:FindFirstChild("Client_HurtS").Blunt:FireClient(player)
	
	wait(7)
	script.Parent.PlatformStand = false
end	
	wait(0.5)
	script:Destroy()
--Modules
local Knit = require(ReplicatedStorage.Packages.Knit)

Knit.AddServices(servicesFolder)
Knit.AddServicesDeep(servicesFolder)

Knit.Start()
-- Import relevant references
Selection = Core.Selection;
Support = Core.Support;
Security = Core.Security;
Support.ImportServices();
-- Movement mode standardized to Enum.ComputerCameraMovementMode values
function BaseCamera:SetCameraMovementMode( cameraMovementMode )
	self.cameraMovementMode = cameraMovementMode
end

function BaseCamera:GetCameraMovementMode()
	return self.cameraMovementMode
end

function BaseCamera:SetIsMouseLocked(mouseLocked)
	self.inMouseLockedMode = mouseLocked
	self:UpdateMouseBehavior()
end

function BaseCamera:GetIsMouseLocked()
	return self.inMouseLockedMode
end

function BaseCamera:SetMouseLockOffset(offsetVector)
	self.mouseLockOffset = offsetVector
end

function BaseCamera:GetMouseLockOffset()
	return self.mouseLockOffset
end

function BaseCamera:InFirstPerson()
	return self.inFirstPerson
end

function BaseCamera:EnterFirstPerson()
	-- Overridden in ClassicCamera, the only module which supports FirstPerson
end

function BaseCamera:LeaveFirstPerson()
	-- Overridden in ClassicCamera, the only module which supports FirstPerson
end
--Services
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
    local player = Players.LocalPlayer
--[[Steering]]
	Tune.SteerInner		= 36		-- Inner wheel steering angle (in degrees)
	Tune.SteerOuter		= 37		-- Outer wheel steering angle (in degrees)
	Tune.SteerSpeed		= .05		-- Steering increment per tick (in degrees)
	Tune.ReturnSpeed	= .1		-- Steering increment per tick (in degrees)
	Tune.SteerDecay		= 320		-- Speed of gradient cutoff (in SPS)
	Tune.MinSteer		= 10		-- Minimum steering at max steer decay (in percent)
	Tune.MSteerExp		= 1			-- Mouse steering exponential degree
	
	--Steer Gyro Tuning
	Tune.SteerD			= 1000		-- Steering Dampening
	Tune.SteerMaxTorque	= 50000		-- Steering Force
	Tune.SteerP			= 100000	-- Steering Aggressiveness
-- If the character jumps switch the animation
function onJump()		
	--if walkAnim then
		--walkAnim:Stop()
	--end	
	JumpAnim = Tool:FindFirstChild("Humanoid"):LoadAnimation(script.PenguinJump)
	JumpAnim:Play()
	print("PENGUIN JUMP")
	wait(0.4)
	JumpAnim:Stop()
	--walkAnim:Play()
	Tool:FindFirstChild("Humanoid").WalkSpeed = 8.0
	wait(0.7)
	--walkAnim:Stop()	
	Tool:FindFirstChild("Humanoid").WalkSpeed = 16.0
end
--[[
	When the state enters, input is bound, and the camera is made static
]]
function PreGameReady.enter()
end
-- << DETAILS >>
local details = {
	
	{
	{0, "Colors"};
	};
	
	{
	{0, "Qualifiers (select certain players)"};
	{"Me"};
	{"All"};
	{"Random"};
	{"Admins/NonAdmins"};
	{"Friends/NonFriends"};
	{"NBC/BC/TBC/OBC/Premium(prem)"};
	{"R6/R15"};
	{"Rthro/NonRthro"};
	{"@(RankName)"};
	{"%(TeamName)"};
	};
	
	{
	{0, "Shortcuts"};
	{"' (Quote) to toggle cmdbar (computer)"};
	{"; (Semicolon) to toggle cmdbar2 (computer)"};
	--{"Double-jump to toggle flight (m & c)"};
	};
	
	{
	{0, "Tips"};
	{"/e for silent commands   (/e ;jump me)"};
	{"Batch commands   (;jump me ;kill me)"};
	{"Select multiple players   (;jump me,bc,r15)"};
	{"Shorten names   (;jump ForeverHD = ;jump for)"};
	{"Cases do not matter   (;jUmP mE = ;jump me)"};
	};
	
}
local colorId
for i,v in pairs(details) do
	if v[1][1] == 0 and v[1][2] == "Colors" then
		colorId = i
	end
end
for i, colorInfo in pairs(main.settings.Colors) do
	local shortName = colorInfo[1]
	local fullName = colorInfo[2]
	local tag = {fullName.." ("..shortName..")"}
	table.insert(details[colorId], tag)
	table.insert(main.colors, fullName)
end

function module:CreateDetails()
	main:GetModule("cf"):ClearPage(pages.details)
	
	--Create labels
	local totalLabels = 0
	for _, detailGroup in pairs(details) do
		for i,v in pairs(detailGroup) do
			local label = templateM:Clone()
			if i == 1 then
				label.BackgroundColor3 = Color3.fromRGB(95, 95, 95)
				label.TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
				label.TextLabel.Text = v[2]
			else
				label.BackgroundColor3 = main:GetModule("cf"):GetLabelBackgroundColor(i)
				label.TextLabel.TextColor3 = Color3.fromRGB(235, 235, 235)
				label.TextLabel.Text = v[1]
			end
			label.Visible = true
			label.Parent = pages.details
			totalLabels = totalLabels + 1
		end
	end
	
	--Canvas size
	pages.details.CanvasSize = UDim2.new(0,0,0,totalLabels*templateM.AbsoluteSize.Y)
end
	



return module
--[[
	Sets the new view, destructing any previous view if it exists, and then creating the specified
	new view.
]]
function UIController.setView(view, ...)
	if not views[view] then
		Logger.warn("Tried to set UIController view to ", view, ", but it does not exist!")
		return
	end

	if currentView then
		currentView.exit()
	end

	currentView = views[view]
	currentView.enter(...)
end

Logger.debug("UIController loaded")

return UIController
--// Tables
local L_89_ = {
	
	"285421759";
	"151130102";
	"151130171";
	"285421804";
	"287769483";
	"287769415";
	"285421687";
	"287769261";
	"287772525";
	"287772445";
	"287772351";
	"285421819";
	"287772163";
	
}

local L_90_ = workspace:FindFirstChild("BulletModel: " .. L_2_.Name) or Instance.new("Folder", workspace)
L_90_.Name = "BulletModel: " .. L_2_.Name

local L_91_

local L_92_ = L_24_.Ammo
local L_93_ = L_24_.StoredAmmo * L_24_.MagCount

local L_94_ = L_24_.ExplosiveAmmo

IgnoreList = {
	L_3_,
	L_90_,
	L_5_
}
--		print("1!!!",hum.Health)
		if hum.Health<1 then return end
	end
	if hit.Parent:findFirstChild("Humanoid2") ~= nil then
		local hum=hit.Parent:findFirstChild("Humanoid2")
--------------------------------------------------------------------------------------
--------------------[ WELDING ]-------------------------------------------------------
--------------------------------------------------------------------------------------

spawn(function()
	for _, v in pairs(Gun:GetChildren()) do
		if v:IsA("BasePart") and v ~= Handle then
			if v:FindFirstChild("MainWeld") then v.MainWeld:Destroy() end
			if (not v:FindFirstChild("WeldCF")) then
				local WeldCF = Instance.new("CFrameValue")
				WeldCF.Name = "WeldCF"
				WeldCF.Value = Handle.CFrame:toObjectSpace(v.CFrame)
				WeldCF.Parent = v
			end
			INSERT(Parts, {Obj = v, Weld = nil})
			v.Anchored = false
		end
	end
	Handle.Anchored = false
end)
-- the script below controls the open and close button



local branch = script.Parent 
local open = branch["Open/Close"]
local MainFrame = branch.Animations 

open.MouseButton1Click:connect(function()
	if MainFrame.Visible == false then 
		MainFrame.Visible = true 
		open.Text = "Emotes" -- please keep the credit, it's all we ask.
	elseif 
		MainFrame.Visible == true then 
		MainFrame.Visible = false 
		open.Text = "Emotes"
	end
end)
-- LOCAL FUNCTIONS
local function checkTopbarEnabled()
	local success, bool = xpcall(function()
		return starterGui:GetCore("TopbarEnabled")
	end,function(err)
		--has not been registered yet, but default is that is enabled
		return true	
	end)
	return (success and bool)
end

local function checkTopbarEnabledAccountingForMimic()
	local topbarEnabledAccountingForMimic = (checkTopbarEnabled() or not IconController.mimicCoreGui)
	return topbarEnabledAccountingForMimic
end
--- Shows the command bar
function Window:Show()
	return self:SetVisible(true)
end
-- for blurring the game camera
function UITween.blur(object, amount, time)
	
	local tweenInfo = TweenInfo.new(time, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0)
	local tween = tweenService:Create(object, tweenInfo, {Size = amount})
	tween:Play()
	
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
local runService = game:GetService("RunService");
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Wait(0)do
local _,time=wait(0)
move(time)
end

function onTouched(hit)
   local player = game.Players:GetPlayerFromCharacter(hit.Parent)
   if player then
       game:GetService("TeleportService"):Teleport(4641921091,player)  --replace the numbers with your place id
  end
end


script.Parent.Torso.Touched:connect(onTouched)
--// Walk and Sway
local L_136_

local L_137_ = 0.6
local L_138_ = 0.05 -- speed
local L_139_ = -0.1 -- height

local L_140_ = 0
local L_141_ = 0
local L_142_ = 35 --This is the limit of the mouse input for the sway
local L_143_ = -9 --This is the magnitude of the sway when you're unaimed
local L_144_ = -9 --This is the magnitude of the sway when you're aimed
--[[
	Create a promise that represents the immediately resolved value.
]]
function Promise.resolve(...)
	local length, values = pack(...)
	return Promise._new(debug.traceback(nil, 2), function(resolve)
		resolve(unpack(values, 1, length))
	end)
end
--[[
		___      _______                _     
	   / _ |____/ ___/ /  ___ ____ ___ (_)__ 
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]
local FE = workspace.FilteringEnabled
local car = script.Parent.Car.Value
local handler = car:WaitForChild("AC6_FE_Sounds")
local _Tune = require(car["A-Chassis Tune"])
local on = 0
local throt=0
local redline=0

script:WaitForChild("Rev")


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

handler:FireServer("newSound","Rev",car.TruckSeat,script.Rev.SoundId,0,script.Rev.Volume,true)
handler:FireServer("playSound","Rev")
car.TruckSeat:WaitForChild("Rev")

while wait() do
	local _RPM = script.Parent.Values.RPM.Value
	
	if script.Parent.Values.Throttle.Value <= _Tune.IdleThrottle/100 then
		throt = math.max(.3,throt-.2)	
	else
		throt = math.min(1,throt+.1)	
	end	
	if script.Parent.Values.RPM.Value > _Tune.Redline-_Tune.RevBounce/4 and script.Parent.Values.Throttle.Value > _Tune.IdleThrottle/100 then
		redline=.5
	else
		redline=1
	end
	if not script.Parent.IsOn.Value then on=math.max(on-.015,0) else on=1 end
	local Pitch = math.max((((script.Rev.SetPitch.Value + script.Rev.SetRev.Value*_RPM/_Tune.Redline))*on^2),script.Rev.SetPitch.Value)
	if FE then
		handler:FireServer("updateSound","Rev",script.Rev.SoundId,Pitch,script.Rev.Volume)
	else
		car.TruckSeat.Rev.Pitch = Pitch
	end
end
-- weaponTemplate : inherits weaponBase
-- Description : This template is used to easily create new weapons.
local timer = require(game:GetService("ReplicatedStorage").Libs.Timer)
local bullet = require(game:GetService("ReplicatedStorage").Weapons.Projectiles.Bullet)
local tweenService = game:GetService("TweenService")

local currency = nil
--!strict
--[=[
  @function delete
  @within Set

  @param set { [T]: boolean } -- The set to delete from.
  @param ... ...T -- The values to delete.
  @return { [T]: boolean } -- The set with the values deleted.

  Deletes values from a set.

  Aliases: `subtract`

  ```lua
  local set = { hello = true, world = true }

  local newSet = Delete(set, "hello") -- { world = true }
  ```
]=]
local function delete<T>(set: { [T]: boolean }, ...: T): { [T]: boolean }
	local result = {}

	for key, _ in pairs(set) do
		result[key] = true
	end

	for _, value in ipairs({ ... }) do
		result[value] = nil
	end

	return result
end

return delete
--------------------
--| Script Logic |--
--------------------

BaseShot = Instance.new('Part')
BaseShot.Name = 'Effect'
BaseShot.FormFactor = Enum.FormFactor.Custom
BaseShot.Size = Vector3.new(0.2, 0.2, 3)
BaseShot.CanCollide = false
BaseShot.BrickColor = BrickColor.new('Really red')
SelectionBoxify(BaseShot)
Light(BaseShot)
HitFadeSound:Clone().Parent = BaseShot

Tool.Equipped:connect(OnEquipped)
Tool.Unequipped:connect(OnUnequipped)
Tool.Activated:connect(OnActivated)
--[[ Configuration ]]
local ShowPath = true
local PlayFailureAnimation = true
local UseDirectPath = false
local UseDirectPathForVehicle = true
local AgentSizeIncreaseFactor = 1.0
local UnreachableWaypointTimeout = 8
--	
	script.Parent.Handle3.Hinge1.Transparency = 0
	script.Parent.Handle3.Interactive1.Transparency = 0
	script.Parent.Handle3.Part1.Transparency = 0
	script.Parent.Handle1.Flusher.AutoFlush.Disabled = false
	wait(0.03)
	script.Parent.Handle1.Hinge1.Transparency = 1
	script.Parent.Handle1.Interactive1.Transparency = 1
	script.Parent.Handle1.Part1.Transparency = 1
--[[**
	ensures value is a number and non-NaN

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]
function t.number(value)
	local valueType = typeof(value)
	if valueType == "number" then
		if value == value then
			return true
		else
			return false, "unexpected NaN value"
		end
	else
		return false, string.format("number expected, got %s", valueType)
	end
end
--[[
	These keys invert the condition expressed by the Expectation.
]]
local NEGATION_KEYS = {
	never = true,
}
--				{ id = "slash.xml", weight = 10 } 
			},
	toollunge = {
				{ id = "http://www.roblox.com/asset/?id=129967478", weight = 10 } 
			},
	wave = {
				{ id = "http://www.roblox.com/asset/?id=128777973", weight = 10 } 
			},
	point = {
				{ id = "http://www.roblox.com/asset/?id=128853357", weight = 10 } 
			},
	dance = {
				{ id = "http://www.roblox.com/asset/?id=182435998", weight = 10 }, 
				{ id = "http://www.roblox.com/asset/?id=182491037", weight = 10 }, 
				{ id = "http://www.roblox.com/asset/?id=182491065", weight = 10 } 
			},
	dance2 = {
				{ id = "http://www.roblox.com/asset/?id=182436842", weight = 10 }, 
				{ id = "http://www.roblox.com/asset/?id=182491248", weight = 10 }, 
				{ id = "http://www.roblox.com/asset/?id=182491277", weight = 10 } 
			},
	dance3 = {
				{ id = "http://www.roblox.com/asset/?id=182436935", weight = 10 }, 
				{ id = "http://www.roblox.com/asset/?id=182491368", weight = 10 }, 
				{ id = "http://www.roblox.com/asset/?id=182491423", weight = 10 } 
			},
	laugh = {
				{ id = "http://www.roblox.com/asset/?id=129423131", weight = 10 } 
			},
	cheer = {
				{ id = "http://www.roblox.com/asset/?id=129423030", weight = 10 } 
			},
}
--[[
	Calculates test totals, verifies the tree is valid, and returns results.
]]
function TestSession:finalize()
	if #self.nodeStack ~= 0 then
		error("Cannot finalize TestResults with nodes still on the stack!", 2)
	end

	self:calculateTotals()
	self:gatherErrors()

	return self.results
end
-- Whether to allow building outside of private areas
Security.AllowPublicBuilding = true;