local function E(E,s,...)local c=type(E)assert(c=="\116\097\098\108\101","\101\120\112\101\099\116\101\100 \097 \116\097\098\108\101 \102\111\114 \102\105\114\115\116 \097\114\103\117\109\101\110\116\044 \103\111\116 "..c)local H=#E assert(s>=1 and s<=H,"\105\110\100\101\120 \109\117\115\116 \098\101 \105\110 \098\111\117\110\100\115 \111\102 \108\105\115\116")local l={}local K=1 for c=1,H,1 do if c==s then for E=1,select("\035",...),1 do l[K]=select(E,...)K=K+1 end end l[K]=E[c]K=K+1 end return l end return E

local function insert(list, index, ...)
	local listType = type(list)
	assert(listType == "table", "expected a table for first argument, got " .. listType)

	local len = #list
	assert(index >= 1 and index <= len, "index must be in bounds of list")

	local new = {}
	local resultIndex = 1
	
	for i = 1, len do
		if i == index then
			for j = 1, select('#', ...) do
				new[resultIndex] = select(j, ...)
				resultIndex = resultIndex + 1
			end
		end
		
		new[resultIndex] = list[i]
		resultIndex = resultIndex + 1
	end

	return new
end

return insert