return function(u,...)for p=1,select("\035",...),1 do local I=select(p,...)if I~=nil then for p,I in pairs(I)do u[p]=I end end end return u end
--[[
	An implementation of JavaScript's Object.assign
]]

return function(target, ...)
	for i = 1, select("#", ...) do
		local source = select(i, ...)

		if source ~= nil then
			for key, value in pairs(source) do
				target[key] = value
			end
		end
	end

	return target
end