--[==[ To inspect the content of this data module, use Special:ExpandTemplates and enter the following input text:     To inspect the content of this data module when editing, enter the following into the Debug console:   local util = require("Module:Road data/util")   print(util.arrayToString(p)) To inspect a particular route type, change `p` above to include the route type, e.g., `p.I` and `p["US-Hist"]`. ]==]  -- Iowa local IA = {}  local util = require("Module:Road data/util") local format = mw.ustring.format util.addAll(IA, require("Module:Road data/strings/USA"))  local suffix = " ([dab||%dab%, |]Iowa)"  IA.common = { 	location = { 		["first-label"] = "State", 		["first-data"] = "Iowa", 		["second-label"] = "Counties", 	} }  IA.I.link = { 	["129"] = "Interstate 129", 	["280"] = "Interstate 280 (Iowa–Illinois)", 	["480"] = "Interstate 480 (Nebraska–Iowa)", 	["680"] = "Interstate 680 (Nebraska–Iowa)", 	default = { 		hook = "splitlen", 		split = 3, 		above = "Interstate %route% (Iowa)", 		below = "Interstate %route% in Iowa" 	} }  for k, v in pairs(IA) do if k:find ("^I") then  	v.link = IA.I.link 	end end  IA.BL.name = IA.I.name .. " Business Loop" IA.BL.link = IA.I.base .. " Business" .. suffix IA.BL.abbr = IA.I.abbr .. " Business Loop"  for k, v in pairs(IA) do if k:find ("^BL") then  	v.link = IA.BL.link 	end end  IA.US.name = "U.S. Highway %route%" IA.US.link = { 	["32"] = "U.S. Route 6 in Iowa", 	["55"] = "U.S. Route 55", 	["151"] = "U.S. Route 151", 	["161"] = "U.S. Route 161", 	["163"] = "Iowa Highway 163", 	["218"] = "U.S. Route 218", 	["275"] = "U.S. Route 275", 	default = "U.S. Route %route% in Iowa" }  for k, v in pairs(IA) do if k:find ("^US %d") then  	v.name = IA.US.name 	v.link = IA.US.link 	end end  for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Emerg", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do 	local spec = IA[" aux "][auxType] 		for k, v in pairs(IA) do if k:find (auxType) then if k:find ("^US") then 			v.shield = IA["US 1961"].shield 			v.name = IA.US.name .. " " .. spec.name 			v.link = IA.US.base .. " " .. spec.name .. suffix 			end 		end 	end end  IA["US-Hist"].link = IA.US.link  IA["US 1926-City"] = { 	shield = "US %route% City 1926.svg", 	name = "City " .. IA.US.name, 	link = IA["US-City"].link, 	abbr = "City " .. IA.US.abbr, 	aux = IA[" aux "].City } IA["US 1948-City"] = IA["US 1926-City"]  IA["US-City-Bus"] = { 	shield = "City Route %route%.svg", 	name = IA["US-Bus"].name, 	link = IA["US-Bus"].link, 	abbr = IA["US-Bus"].abbr, 	aux = IA[" aux "].Bus }  IA["US 1961-Alt"] = { 	shield = IA["US 1961"].shield, 	name = IA["US-Alt"].name, 	link = IA["US-Alt"].link, 	abbr = IA["US-Alt"].abbr, 	banner = "Alternate plate 1961.svg", 	bannersuffix = "1961", 	aux = IA[" aux "].Alt } IA["US 1971"].shield = IA["US 1961"].shield  IA.IA = { 	base = "Iowa Highway %route%", 	shield = { 		hook = "splitlen", 		split = 2, 		above = "Elongated circle %route%.svg", 		below = "Circle sign %route%.svg" 	}, 	name = "Iowa Highway %route%", 	link = "Iowa Highway %route%" .. IA[" dab "], 	abbr = "Iowa %route%", 	width = "expand" }  for _,type in ipairs({"IA"}) do 	for _,year in ipairs({"1926", "1948", "1961", "1980"}) do 		IA["IA " .. year] = { 			shield = format("Iowa %%route%% %s.svg", year), 			name = IA.IA.name, 			link = IA.IA.link, 			abbr = IA.IA.abbr, 			width = "square", 			bannersuffix = format("%s", year), 		} 	end end  IA["IA 1948"].shield = IA["IA 1926"].shield IA["IA 1961"].shield = { 	hook = "splitlen", 	split = 3, 	above = "Circle sign %route% (small).svg", 	below = { 		hook = "splitlen", 		split = 2, 		above = "Elongated circle %route%.svg", 		below = "Circle sign %route%.svg" 	} } IA["IA 1980"].shield = { 	hook = "between", 	lower = 10, 	upper = 100, 	yes = "Elongated circle %route%.svg", 	no = "Circle sign %route%.svg" } IA["IA 1980"].bannersuffix = "1971"  IA["IA-Bus"] = { 	shield = IA["IA 1980"].shield, 	name = "Iowa Highway %route% Business", 	link = "Iowa Highway %route% Business [dab||(%dab%)|]", 	abbr = IA.IA.abbr.." Business", 	banner = "Business plate.svg", 	width = "square", 	aux = IA[" aux "].Bus }  IA.AOTS = { 	shield = "Elongated circle 27.svg", 	name = "Avenue of the Saints", 	link = "Avenue of the Saints", 	abbr = "Iowa 27", 	banner = "Avenue of the Saints banner.svg" }  IA.Lincoln.link = "Lincoln Highway in Iowa" IA.Lincoln.abbr = "Lincoln Highway Heritage Byway" IA.Jefferson.abbr = "Jefferson Highway Heritage Byway"  -- add new types above this line if you want it to have the state highway browse and maint for k, v in pairs(IA) do if k:find ("^%a") then 	v.maint = "Iowa DOT" 	end end  IA["IA 1926"].maint = "Iowa State Highway Commission" IA["IA 1948"].maint = IA["IA 1926"].maint IA["IA 1961"].maint = IA["IA 1926"].maint  IA.CR.link = { 	["105"] = "Iowa Highway 105", 	["99"] = "Iowa Highway 99", 	["X99"] = "Iowa Highway 99", 	default = { 		ifexists = true, 		default = "County Road %route% (%county% County, Iowa)" 	} } IA.CR.maint = "[county||%county% County Highway Department|]"  IA.Primary = { 	shield = "Iowa Primary %route%.svg", 	name = "Primary Road No. %route%", 	link = "Iowa Primary Road No. %route%", 	abbr = "No. %route%", 	width = "37", 	maint = "Iowa State Highway Commission" }  IA.Registered = { 	shield = "%route% pole.png", 	name = "%route%", 	link = "%route%", 	abbr = "%route%", 	orientation = "upright", 	maint = "%route% Association" }  IA.Test = { 	shield = "Circle sign %route%.svg", 	shieldto = "US %route%.svg", 	bannerloc = "below", 	link = IA.IA.link, 	linklist = IA.I.link, 	abbr = IA.IA.abbr, 	bannersuffix = "orange", }            IA.IL = {alias = {module = "USA/IL", type = "IL"}} IA.MN = {alias = {module = "USA/MN", type = "MN"}} IA.MO = {alias = {module = "USA/MO", type = "MO"}} IA.NE = {alias = {module = "USA/NE", type = "NE"}} IA.SD = {alias = {module = "USA/SD", type = "SD"}} IA.WI = {alias = {module = "USA/WI", type = "WI"}}  return IA