local A=script.Parent local Z=A.Parent local T=require(Z.None)local j=require(Z.t)local o=j.table local function W(...)local A={}local Z=select("\035",...)local j=0 for A=1,Z,1 do local Z=select(A,...)assert(o(Z))local T=#Z if T>j then j=T end end for j=1,j,1 do A[j]={}for Z=1,Z,1 do local o=(select(Z,...))[j]if o==nil then A[j][Z]=T else A[j][Z]=(select(Z,...))[j]end end end return A end return W
local List = script.Parent

local Llama = List.Parent
local None = require(Llama.None)
local t = require(Llama.t)

local validate = t.table

local function zipAll(...)
	local new = {}
	local argCount = select('#', ...)
	local maxLen = 0

	for i = 1, argCount do
		local list = select(i, ...)

		assert(validate(list))

		local len = #list

		if len > maxLen then
			maxLen = len
		end
	end

	for i = 1, maxLen do
		new[i] = {}
		
		for j = 1, argCount do
			local value = select(j, ...)[i]

			if value == nil then
				new[i][j] = None
			else
				new[i][j] = select(j, ...)[i]
			end
		end
	end

	return new
end

return zipAll