local v=script.Parent local E=v.Parent local L=require(E.None)local C=require(E.t)local p=C.table local function s(...)local v={}local E=select("\035",...)local C=0 for v=1,E,1 do local E=select(v,...)assert(p(E))local L=#E if L>C then C=L end end for C=1,C,1 do v[C]={}for E=1,E,1 do local p=(select(E,...))[C]if p==nil then v[C][E]=L else v[C][E]=(select(E,...))[C]end end end return v end return s
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