local R={}do R.__index=R local s=setmetatable({["\102\117\110\099\116\105\111\110"]=function(R)return R()end;Instance=function(R)return R:Destroy()end,RBXScriptConnection=function(R)return R:Disconnect()end},{__index=function(R,s)error(("\067\097\110\'\116 \100\117\109\112 \105\116\101\109 \111\102 \116\121\112\101 \'\037\115\'"):format(s),3)end})function R.new()return setmetatable({},R)end function R.dump(t,R)t[R]=s[typeof(R)]end function R.burn(R)for s,t in pairs(R)do t(s)R[s]=nil end end end return R
-- https://gist.github.com/Fraktality/f0ab4ad950698e9f08bb01bea486845e

local Dumpster = {}
do
	Dumpster.__index = Dumpster

	local finalizers = setmetatable({
		["function"] = function(item)
			return item()
		end,
		["Instance"] = function(item)
			return item:Destroy()
		end,
		["RBXScriptConnection"] = function(item)
			return item:Disconnect()
		end,
	}, {
		__index = function(_self, className)
			error(("Can't dump item of type '%s'"):format(className), 3)
		end,
	})

	function Dumpster.new()
		return setmetatable({}, Dumpster)
	end

	function Dumpster:dump(item)
		self[item] = finalizers[typeof(item)]
	end

	function Dumpster:burn()
		for item, finalizer in pairs(self) do
			finalizer(item)
			self[item] = nil
		end
	end
end

return Dumpster
