--[==[ 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"]`. ]==]  -- Texas local TX = {}  local util = require("Module:Road data/util") local format = mw.ustring.format util.addAll(TX, require("Module:Road data/strings/USA"))  local suffix = " ([dab||%dab%, |]Texas)" local suffix2 = " [dab||(%dab%)|]"  -- Interstate types TX.I.link = { 	["2"] = "Interstate 2", 	["14"] = "Interstate 14", 	["27"] = "Interstate 27", 	["30"] = "Interstate 30", 	["35E"] = "Interstate 35E (Texas)", 	["35W"] = "Interstate 35W (Texas)", 	["37"] = "Interstate 37", 	["45"] = "Interstate 45", 	["69C"] = "Interstate 69C", 	["69E"] = "Interstate 69E", 	["69W"] = "Interstate 69W", 	["410"] = "Interstate 410", 	["820"] = "Interstate 820", 	default = { 		hook = "split", 		split = 100, 		above = "Interstate %route% (Texas)", 		below = "Interstate %route% in Texas" 	} } TX.IH = TX.I  for _,auxType in ipairs({"Alt", "Express", "Future", "Local", "Spur", "Temp", "Toll", "Truck"}) do 	local spec = TX[" aux "][auxType] 		for k, v in pairs(TX) do if k:find (auxType) then if k:find ("^I-") then  			v.link = "Interstate %route% " .. spec.name .. suffix 		end 	end end TX["I-Toll"].shield = "Toll Texas Interstate Highway %route%.svg" TX["I-Express"].shield = "%route% Express Lane free.svg" TX["I-Express"].banner = "" TX["I-Future"].shield = TX.I.shield TX["I-Future"].link = TX.I.link TX["I-Future"].banner = "Future plate blue.svg"  TX.BL.shieldmain = "Business Interstate %route% (TX).svg" TX.BL.name = "Business " .. TX.I.name TX.BL.link = "Interstate %route% Business" .. suffix  for k, v in pairs(TX) do if k:find ("^B%a") then  	v.shieldmain = TX.BL.shieldmain 	v.name = TX.BL.name 	v.link = TX.BL.link 	end end TX["I-Bus"]=TX.BL TX.BLBS.shieldmain = {TX.BL.shield, TX.BS.shield}  -- US types TX.US.name = "U.S. Highway %route%" TX.US.link = "U.S. Route %route% in Texas"  for k, v in pairs(TX) do if k:find ("^US %d") then  	v.name = TX.US.name 	v.link = TX.US.link 	end end  for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Emerg", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do 	local spec = TX[" aux "][auxType] 		for k, v in pairs(TX) do if k:find (auxType) then if k:find ("^US") then 			v.shieldmain = TX.US.shield 			v.name = spec.name .. " " .. TX.US.name 			v.link = TX.US.base .. " " .. spec.name .. suffix 			v.abbr = TX.US.abbr .. " " .. spec.abbrsuffix 			end 		end 	end end TX.UA = TX["US-Alt"] TX.BU = TX["US-Bus"]  for _,year in ipairs({'1926', '1948', '1961'}) do 	for _,auxType in ipairs({"Alt", "Bus", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do 		local type = "US " .. year 		local spec = TX[" aux "][auxType] 		TX[type .. "-" .. auxType] = { 			shield = TX[type].shield, 			shieldmain = TX[type].shieldmain, 			name = spec.name .. " " .. TX[type].name, 			link = TX[type].base .. " " .. spec.name .. suffix, 			abbr = TX[type].abbr .. " " .. spec.abbrsuffix, 			banner = spec.bannerprefix .. " plate " .. year .. ".svg", 			aux = spec.aux, 			width = "square" 		} 	end end  TX["US-Bus"] = { 	shield = TX.US.shield, 	name = "Business " .. TX.US.name, 	link = "U.S. Route %route% Business" .. suffix, 	abbr = "Bus. " .. TX.US.abbr, 	banner = "Business plate.svg", -- see SHSD p. 3-7 https://ftp.dot.state.tx.us/pub/txdot-info/trf/shsd/2012/section3.pdf 	width = "expand", 	aux = TX[" aux "] } TX["Bus-US"] = TX["US-Bus"]  TX["US-Alt-Bus"] = { 	shield = TX.US.shield, 	name = "Business " .. TX["US-Alt"].name, 	link = "U.S. Route %route% Business Alternate" .. suffix, 	abbr = "Bus. " .. TX["US-Alt"].abbr, 	banner = "Business alternate plate.svg", 	width = "expand", 	aux = TX[" aux "].Alt }  -- SH (main) types TX.SH = { 	shield = "Texas %route%.svg", 	shieldmain = { 		["249"] = {"Texas %route%.svg", "Tomball Tollway.svg"}, 		default = "Texas %route%.svg" 	}, 	base = "Texas State Highway %route%", 	name = "State Highway %route%", 	link = "Texas State Highway %route%" .. suffix2, 	abbr = "SH %route%" } TX.TX = TX.SH  for _,type in ipairs({"SH", "TX"}) do 	for _,auxType in ipairs({"Alt", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do 		local spec = TX[" aux "][auxType] 		TX[type .. "-" .. auxType] = { 			shield = TX.SH.shield, 			name = spec.name .. " " .. TX.SH.name, 			link = TX.SH.base .. " " .. spec.name .. suffix2, 			abbr = TX.SH.abbr .. " " .. spec.abbrsuffix, 			banner = spec.bannerprefix .. " plate.svg", 			aux = spec.aux, 			width = "square" 		} 	end end  TX["SH-Bus"] = { 	shield = "Texas %route%.svg", 	name = "Business " .. TX.SH.name, 	link = "Texas State Highway %route% Business" .. suffix2, 	abbr = "Bus. " .. TX.SH.abbr, 	banner = "Business plate.svg", 	aux = TX[" aux "], 	width = "square" } TX["TX-Bus"] = TX["SH-Bus"] TX["Bus-SH"] = TX["SH-Bus"] TX["Bus-TX"] = TX["SH-Bus"]  TX["SH-Bus 1969"] = { 	shield = "Texas Business %route%.svg", 	name = TX["SH-Bus"].name, 	link = TX["SH-Bus"].link, 	abbr = TX["SH-Bus"].abbr, } TX["TX-Bus 1969"] = TX["SH-Bus 1969"]  for _,type in ipairs({"SH", "TX"}) do 	for _,year in ipairs({"1917", "1935", "old"}) do 			TX[type .. "-" .. year] = { 				shield = format("Texas %%route%% %s.svg", year), 				name = TX.SH.name, 				link = TX.SH.link, 				abbr = TX.SH.abbr, 				width = "square" 			} 		end 	end end TX["SH-old"].shield = "Old Texas %route%.svg" TX["TX-old"].shield = TX["SH-old"].shield  -- Loop/Spur types TX.Beltway = { 	shield = "Texas Beltway %route%.svg", 	shieldmain = { 		hook = "pagename", 		article = "Texas State Highway Beltway 8",  		iftrue = {"Texas Beltway %route%.svg", "Sam Houston Tollway.svg"},  		default = "Texas Beltway %route%.svg" 	}, 	name = "State Highway Beltway %route%", 	link = "Texas State Highway Beltway %route%", 	abbr = "Beltway %route%" } TX.BW = TX.Beltway  TX.Loop = { 	shield = "Texas Loop %route%.svg", 	base = "Texas State Highway Loop %route%", 	name = "State Highway Loop %route%", 	link = { 		default = "Texas State Highway Loop %route%" .. suffix2, 		["1910"] = "Andrews Loop 1910" 	}, 	abbr = "Loop %route%"} TX.SL = TX.Loop  TX.Spur = { 	shield = "Texas Spur %route%.svg", 	base = "Texas State Highway Spur %route%", 	name = "State Highway Spur %route%", 	link = "Texas State Highway Spur %route%" .. suffix2, 	abbr = "Spur %route%" } TX.SS = TX.Spur  -- FM/RM types TX.FM = { 	shield = "Texas FM %route%.svg", 	name = "Farm to Market Road %route%", 	base = "Farm to Market Road %route%", 	link = "Farm to Market Road %route%", 	abbr = "FM %route%" } TX.Farm = TX.FM  TX.RM = { 	shield = "Texas RM %route%.svg", 	base = "Ranch to Market Road %route%", 	name = "Ranch to Market Road %route%", 	link = "Ranch to Market Road %route%", 	abbr = "RM %route%" } TX.Ranch = TX.RM  for _,type in ipairs({"FM", "RM"}) do 	for _,year in ipairs({"1956"}) do 		TX[type .. "-" .. year] = { 			shield = format("Texas %s %%route%% (%s).svg", type, year), 			name = TX[type].name, 			link = TX[type].link, 			abbr = TX[type].abbr, 			width = "square" 		} 	end end TX["FM 1956"] = TX["FM-1956"]  for _,type in ipairs({"FM", "RM"}) do 	for _,auxType in ipairs({"Bus", "Loop", "Spur"}) do 		local spec = TX[" aux "][auxType] 		TX[type .. "-" .. auxType] = { 			name = TX[type].name .. " " .. spec.name, 			link = TX[type].base .. " " .. spec.name .. suffix2, 			abbr = type .. " " .. spec.abbrsuffix .. " %route%", 			aux = spec.aux, 			width = "square" 		} 	end end TX["FM-Bus"].shield = "Texas Business FM %route%.svg" TX["FM-Loop"].shield = TX.Loop.shield TX["FM-Spur"].shield = TX.Spur.shield  -- Misc SH types -- TX.Park = { 	shield = "Texas Park Road %route%.svg", 	link = "Texas Park Road %route%", 	abbr = "PR %route%", 	color = "hist" } TX.PR = TX.Park  TX.NASA = { 	shield = "Texas NASA Road %route%.svg", 	name = "NASA Road %route%", 	link = "NASA Road %route%", 	abbr = "NASA %route%" } 	 TX.RR = { 	shield = "Texas RM %route%.svg", 	name = "Ranch Road %route%", 	link = "Ranch Road %route%", 	abbr = "RR %route%" }  TX.RE = { 	shield = "Texas Recreational Road %route%.svg", 	name = "Recreational Road %route%",  	link = "Texas Recreational Road %route%",  	abbr = "RE %route%", 	color = "hist", 	bannersuffix = "brown" }  TX["RE-Spur"] = { 	shield = TX.Spur.shield,  	name = TX.RE.name .. " Spur", 	link = TX.RE.name .. " Spur", 	abbr = "RE Spur %route%", 	color = "hist", 	aux = TX[" aux "].Spur, }  TX.PA = { 	shield = { 		ifexists = true, 		default = "Texas PA %route%.svg", 		otherwise = "" 	}, 	name = "Principal Arterial Road %route%", 	link = "Texas Principal Arterial Road %route%", 	abbr = "PA %route%" }  -- add new types above this line if you want it to have the state highway browse and maint for k, v in pairs(TX) do if k:find ("^%a") then 	v.maint = "TxDOT" 	end end  for k, v in pairs(TX) do if k:find ("%d") then  	v.maint = "Texas State Highway Department" 	end end  TX.INTL = { 	shield = "", 	name = "International Parkway", 	link = "International Parkway",  	abbr = "International Parkway" } TX.IP = TX.INTL  local tollAbbrs = { 	default = TX.SH.abbr .. " Toll", 	Hardy = "Hardy Toll Road", 	HTR = "Hardy Toll Road", 	["Sam Houston"] = "Sam Houston Tollway", 	SHT = "Sam Houston Tollway", 	Tomball = "Tomball Tollway", 	TBT = "Tomball Tollway", 	Westpark = "Westpark Tollway", 	WPT = "Westpark Tollway", 	CTP = "Chisholm Trail Parkway", 	DNT = "Dallas North Tollway", 	PGBT = "Pres. George Bush Turnpike", 	SRT = "Sam Rayburn Tollway", 	FBT = "Fort Bend Tollway", 	FBPTR = "Fort Bend Parkway Toll Road", --is Tollroad one word as signed on SH 6? 	["Fort Bend Westpark"] = "Fort Bend Westpark Tollway", 	FBWPT = "Fort Bend Westpark Tollway", 	KFML = "I-10 Toll (Katy Tollway)", 	["1"] = "Loop %route% Toll", 	["49"] = "Loop %route% Toll", 	["71"] = "71 Toll Lanes", 	["183"] = "183 Toll Road", 	["183A"] = "183A Toll Road", 	["290"] = "290 Toll Road" }  --Toll maint local BCTRA = "Brazoria County Toll Road Authority" local CTRMA = "Central Texas Regional Mobility Authority" local CTTP = "Central Texas Turnpike Project" local FBCTRA = "Fort Bend County Toll Road Authority" local HCTRA = "Harris County Toll Road Authority" local MCTRA = "Montgomery County Toll Road Authority" local NETRMA = "North East Texas Regional Mobility Authority" local NTTA = "North Texas Tollway Authority"  -- Toll types TX.Toll = { 	shield = { 		default = "Toll Texas %route% new.svg", 		Hardy = "Hardy Toll Road.svg", 		HTR = "Hardy Toll Road.svg", 		["Sam Houston"] = "Sam Houston Tollway.svg", 		SHT = "Sam Houston Tollway.svg", 		Tomball = "Tomball Tollway.svg", 		TBT = "Tomball Tollway.svg", 		Westpark = "Westpark Tollway.svg", 		WPT = "Westpark Tollway.svg", 		FBT = "Fort Bend Toll Road.svg", 		FBPTR = "", 		["Fort Bend Westpark"] = "", 		FBWPT = "", 		KFML= "Toll Texas Interstate Highway 10.svg", 		["71"] = "71 Toll Lane free.svg", 		["183"] = "183 Toll Road free.svg", 		["183A"] = "183A Toll Road free.svg", 		["290"] = "290 Toll Road free.svg" 	}, 	shieldmain = { 		default = "Toll Texas %route% new.svg", 		Hardy = "Hardy Toll Road.svg", 		HTR = "Hardy Toll Road.svg", 		["Sam Houston"] = "Sam Houston Tollway.svg", 		SHT = "Sam Houston Tollway.svg", 		Tomball = "Tomball Tollway.svg", 		TBT = "Tomball Tollway.svg", 		Westpark = { 			hook = "pagename", 			article = "Westpark Tollway", 	 		iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"}, 	 		default = "Westpark Tollway.svg" 			}, 		WPT = { 			hook = "pagename", 			article = "Westpark Tollway", 	 		iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"}, 	 		default = "Westpark Tollway.svg" 			}, 		FBT = { 			hook = "pagename", 			article = "Fort Bend Parkway", 	 		iftrue = {"Fort Bend Parkway Toll Road logo.png", "Fort Bend Toll Road.svg"}, 	 		default = "Fort Bend Toll Road.svg" 			}, 		FBPTR = { 			hook = "pagename", 			article = "Fort Bend Parkway", 	 		iftrue = {"Fort Bend Parkway Toll Road logo.png", "Fort Bend Toll Road.svg"}, 	 		default = "Fort Bend Toll Road.svg" 			}, 		["Fort Bend Westpark"] = { 			hook = "pagename", 			article = "Westpark Tollway", 	 		iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"}, 	 		default = "Westpark Tollway.svg" 			}, 		FBWPT = { 			hook = "pagename", 			article = "Westpark Tollway", 	 		iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"}, 	 		default = "Westpark Tollway.svg" 			}, 		CTP = "Toll Texas Chisholm Trail Parkway.svg", 		DNT = "Toll Texas Dallas North Tollway.svg", 		PGBT = "Toll Texas President George Bush Turnpike.svg", 		SRT = "Toll Texas Sam Rayburn Tollway.svg", 		KFML= "Toll Texas Interstate Highway 10.svg", 		["71"] = "71 Toll Lane.svg", -- also has free version 		["183"] = "183 Toll Road.svg", -- also has free version 		["183A"] = "183A Toll Road.svg", -- also has free version 		["290"] = "290 Toll Road.svg" -- also has free version 	}, 	name = tollAbbrs, 	link = { 		default = TX.SH.link, 		Hardy = "Hardy Toll Road", 		HTR = "Hardy Toll Road", 		["Sam Houston"] = "Sam Houston Tollway", 		SHT = "Sam Houston Tollway", 		Tomball = "Tomball Tollway", 		TBT = "Tomball Tollway", 		Westpark = "Westpark Tollway", 		WPT = "Westpark Tollway", 		CTP = "Chisholm Trail Parkway", 		DNT = "Dallas North Tollway", 		PGBT = "President George Bush Turnpike", 		SRT = "Sam Rayburn Tollway", 		FBT = "Fort Bend Tollway", 		FBPTR = "Fort Bend Parkway Toll Road", 		["Fort Bend Westpark"] = "Fort Bend Westpark Tollway", 		FBWPT = "Fort Bend Westpark Tollway", 		KFML = "Katy Tollway", 		["1"] = TX.Loop.link, 		["49"] = TX.Loop.link, 		["71"] = "71 Toll Lanes", 		["183"] = "183 Toll Road", 		["183A"] = "183A Toll Road", 		["290"] = "290 Toll Road" 	}, 	abbr = tollAbbrs, 	bannersuffix = { 		default = "blue", 		["Sam Houston"] = "HCTRA", 		SHT = "HCTRA", 		Westpark = "HCTRA", 		WPT = "HCTRA", 		Tomball = "HCTRA", 		TBT = "HCTRA", 		["Fort Bend Westpark"] = "HCTRA", 		FBWPT = "HCTRA", 		Hardy = "HCTRA", 		HTR = "HCTRA", 		FBT = "HCTRA", 		FBPTR = "HCTRA" 	}, 	orientation = "upright", 	maint = { 		default = "", 		Hardy = HCTRA, 		HTR = HCTRA, 		["Sam Houston"] = HCTRA, 		SHT = HCTRA, 		Tomball = HCTRA, 		TBT = HCTRA, 		Westpark = FBCTRA .. " and " .. HCTRA, 		WPT = FBCTRA .. " and " .. HCTRA, 		CTP = NTTA, 		DNT = NTTA, 		PGBT = NTTA, 		SRT = NTTA, 		FBT =  FBCTRA .. " and " .. HCTRA, 		FBPTR = FBCTRA .. " and " .. HCTRA, 		["Fort Bend Westpark"] =  FBCTRA .. " and " .. HCTRA, 		FBWPT =  FBCTRA .. " and " .. HCTRA, 		KFML = HCTRA, 		["1"] = CTTP, 		["45"] = CTTP, 		["49"] = NETRMA, 		["71"] = CTRMA, 		["130"] = CTTP, 		["183"] = CTRMA, 		["183A"] = CTRMA, 		["249"] = MCTRA, 		["288"] = BCTRA .. " and " .. TX.SH.maint, 		["290"] = CTRMA, 		["360"] = NTTA, 		["375"] = "Camino Real Regional Mobility Authority", 		["550"] = "Cameron County Regional Mobility Authority", 	} }  TX.Both = { 	shield = {"Texas %route%.svg", "Toll Texas %route% new.svg"}, 	name = TX.SH.name, 	link = TX.SH.link, 	abbr = TX.SH.abbr, 	width = 40, 	bannersuffix = {"", "blue"} }  TX.AATT = { 	shield = "Toll Texas AATT new.svg", 	shieldmain = "Toll Texas Addison Airport Toll Tunnel.svg", 	name = "Addison Airport Toll Tunnel", 	link = "Addison Airport Toll Tunnel", 	abbr = "Addison Airport Toll Tunnel", 	orientation = "upright", 	bannersuffix = "blue", 	maint = NTTA }  TX.DFW = { 	shield = "", 	name = "Dallas-Fort Worth Turnpike", 	link = "Dallas-Fort Worth Turnpike", 	abbr = "D/FW Turnpike" }  TX.LLTB = { 	shield = "Toll Texas LLTB new.svg", 	shieldmain = "Toll Texas Lewisville Lake Toll Bridge.svg", 	name = "Lewisville Lake Toll Bridge", 	link = "Lewisville Lake Toll Bridge", 	abbr = "Lewisville Lake Toll Bridge", 	orientation = "upright", 	bannersuffix = "blue", 	maint = NTTA }  TX.MCLB = { 	shield = "Toll Texas MCLB new.svg", 	shieldmain = "Toll Texas Mountain Creek Lake Bridge.svg", 	name = "Mountain Creek Lake Bridge", 	link = "Mountain Creek Lake Bridge", 	abbr = "Mountain Creek Lake Bridge", 	orientation = "upright", 	bannersuffix = "blue", 	maint = NTTA }  TX["SH-Express"] = { 	shield = "%route% Express Lane free.svg", 	name = TX.SH.name .. " Express ", 	link = TX.SH.base .. " Express ".. suffix2, 	abbr = TX.SH.abbr .. " Express", 	banner = "", 	maint = { 		default = NTTA, 		["1"] = CTTP 	} } 	 TX["Loop Dual"] = { 	shield = {"Texas Loop %route%.svg", "Toll Texas %route% new.svg"}, 	shieldmain = {"Texas Loop %route%.svg", "Toll Texas %route% new.svg"}, 	name = TX.Loop.name, 	link = TX.Loop.link, 	abbr = TX.Loop.abbr }  TX["Loop-Express"] = { 	shield = { 		default = TX.Loop.shield, --actually has a special variant of the toll shield http://maps.google.com/maps?ll=32.820965,-97.201688&spn=0.012929,0.024784&t=m&z=16&layer=c&cbll=32.820896,-97.205511&panoid=coL0_PX6xfY9Ia3Rkrr8cA&cbp=12,353.63,,1,-8.72 		["1"] = "1 Express Lane free.svg" 	}, 	name = "Loop %route% Express", 	link = TX.Loop.base .. " Express ".. suffix2, 	abbr = TX.Loop.abbr .. " Express", 	banner = "", 	bannersuffix = "blue", 	maint = { 		default = "", 		["1"] = CTRMA 	} } 	 TX["SL-Express"] = TX["Loop-Express"]  TX.CR.shield = { 		arg        = "county", 		default    = "", 		Brazoria		= "Generic green square county %route%.svg" 	} TX.CR.maint = "" TX.CR.browse = "" TX.CR.browselinks = "" 	 TX.MEX = {alias = {module = "MEX", type = "FH"}} TX["I-AR"] = {alias = {module = "USA/AR", type = "I"}} TX["US-AR"] = {alias = {module = "USA/AR", type = "US"}} TX.AR = {alias = {module = "USA/AR", type = "AR"}} TX.LA = {alias = {module = "USA/LA", type = "LA"}} TX.OK = {alias = {module = "USA/OK", type = "SH"}} TX.NM = {alias = {module = "USA/NM", type = "NM"}}  return TX