<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bloomstorm.su/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ANavbox</id>
	<title>Модуль:Navbox - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bloomstorm.su/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ANavbox"/>
	<link rel="alternate" type="text/html" href="https://bloomstorm.su/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Navbox&amp;action=history"/>
	<updated>2026-09-27T06:58:13Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://bloomstorm.su/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Navbox&amp;diff=719&amp;oldid=prev</id>
		<title>Bloomstorm в 05:10, 22 августа 2026</title>
		<link rel="alternate" type="text/html" href="https://bloomstorm.su/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Navbox&amp;diff=719&amp;oldid=prev"/>
		<updated>2026-08-22T05:10:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 08:10, 22 августа 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l141&quot;&gt;Строка 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 141:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local gearstyle = args.gearstyle or &amp;#039;--adapt-to-light-theme--invert: 75%&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local gearstyle = args.gearstyle or &amp;#039;--adapt-to-light-theme--invert: 75%&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local gear = mw.ustring.format(&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local gear = mw.ustring.format(&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&#039;[[File:Gear_icon.svg|16px|link=%s|class=%s|Просмотр этого шаблона]]&#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--&lt;/ins&gt;&#039;[[File:Gear_icon.svg&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|16px|link=%s|class=%s|Просмотр этого шаблона]]&#039;,&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		&#039;[[File:Gear_icon.png&lt;/ins&gt;|16px|link=%s|class=%s|Просмотр этого шаблона]]&#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		mw.title.new(args.name, 10).fullText,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		mw.title.new(args.name, 10).fullText,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		gearclass&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		gearclass&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bloomstorm</name></author>
	</entry>
	<entry>
		<id>https://bloomstorm.su/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Navbox&amp;diff=639&amp;oldid=prev</id>
		<title>Bloomstorm: Новая страница: «local p = {} local getArgs -- lazily initialized local yesno -- lazily initialized  local ODD_EVEN_MARKER = &#039;\127_ODDEVEN_\127&#039; local RESTART_MARKER = &#039;\127_ODDEVEN0_\127&#039; local REGEX_MARKER = &#039;\127_ODDEVEN(%d?)_\127&#039;  -- общие параметры local commonAliases = { 	name = {&#039;name&#039;, &#039;имя&#039;}, 	navigation = {&#039;navigation&#039;, &#039;навигация&#039;}, 	navbar = {&#039;navbar&#039;, &#039;gear&#039;, &#039;ссылка_на_просмотр&#039;}, 	state = {&#039;state&#039;, &#039;type&#039;}, 	orphan =...»</title>
		<link rel="alternate" type="text/html" href="https://bloomstorm.su/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Navbox&amp;diff=639&amp;oldid=prev"/>
		<updated>2026-08-18T19:29:52Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «local p = {} local getArgs -- lazily initialized local yesno -- lazily initialized  local ODD_EVEN_MARKER = &amp;#039;\127_ODDEVEN_\127&amp;#039; local RESTART_MARKER = &amp;#039;\127_ODDEVEN0_\127&amp;#039; local REGEX_MARKER = &amp;#039;\127_ODDEVEN(%d?)_\127&amp;#039;  -- общие параметры local commonAliases = { 	name = {&amp;#039;name&amp;#039;, &amp;#039;имя&amp;#039;}, 	navigation = {&amp;#039;navigation&amp;#039;, &amp;#039;навигация&amp;#039;}, 	navbar = {&amp;#039;navbar&amp;#039;, &amp;#039;gear&amp;#039;, &amp;#039;ссылка_на_просмотр&amp;#039;}, 	state = {&amp;#039;state&amp;#039;, &amp;#039;type&amp;#039;}, 	orphan =...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local getArgs -- lazily initialized&lt;br /&gt;
local yesno -- lazily initialized&lt;br /&gt;
&lt;br /&gt;
local ODD_EVEN_MARKER = &amp;#039;\127_ODDEVEN_\127&amp;#039;&lt;br /&gt;
local RESTART_MARKER = &amp;#039;\127_ODDEVEN0_\127&amp;#039;&lt;br /&gt;
local REGEX_MARKER = &amp;#039;\127_ODDEVEN(%d?)_\127&amp;#039;&lt;br /&gt;
&lt;br /&gt;
-- общие параметры&lt;br /&gt;
local commonAliases = {&lt;br /&gt;
	name = {&amp;#039;name&amp;#039;, &amp;#039;имя&amp;#039;},&lt;br /&gt;
	navigation = {&amp;#039;navigation&amp;#039;, &amp;#039;навигация&amp;#039;},&lt;br /&gt;
	navbar = {&amp;#039;navbar&amp;#039;, &amp;#039;gear&amp;#039;, &amp;#039;ссылка_на_просмотр&amp;#039;},&lt;br /&gt;
	state = {&amp;#039;state&amp;#039;, &amp;#039;type&amp;#039;},&lt;br /&gt;
	orphan = {&amp;#039;orphan&amp;#039;},&lt;br /&gt;
	tracking = {&amp;#039;tracking&amp;#039;},&lt;br /&gt;
	border = {&amp;#039;border&amp;#039;, 1},&lt;br /&gt;
	title = {&amp;#039;title&amp;#039;, &amp;#039;заголовок&amp;#039;, &amp;#039;header&amp;#039;},&lt;br /&gt;
	titlegroup = {&amp;#039;titlegroup&amp;#039;},&lt;br /&gt;
	above = {&amp;#039;above&amp;#039;, &amp;#039;вверху&amp;#039;},&lt;br /&gt;
	image = {&amp;#039;image&amp;#039;, &amp;#039;изображение&amp;#039;},&lt;br /&gt;
	imageleft = {&amp;#039;imageleft&amp;#039;, &amp;#039;изображение2&amp;#039;, &amp;#039;изображение_слева&amp;#039;},&lt;br /&gt;
	below = {&amp;#039;below&amp;#039;, &amp;#039;внизу&amp;#039;, &amp;#039;footer&amp;#039;},&lt;br /&gt;
	evenodd = {&amp;#039;evenodd&amp;#039;, &amp;#039;чётные_нечётные&amp;#039;, &amp;#039;четные_нечетные&amp;#039;},&lt;br /&gt;
	groupwidth = {&amp;#039;groupwidth&amp;#039;, &amp;#039;ширина_групп&amp;#039;},&lt;br /&gt;
	listpadding = {&amp;#039;listpadding&amp;#039;, &amp;#039;отступ_списков&amp;#039;},&lt;br /&gt;
	&lt;br /&gt;
	bodyclass = {&amp;#039;class&amp;#039;, &amp;#039;bodyclass&amp;#039;, &amp;#039;класс_тела&amp;#039;},&lt;br /&gt;
	titleclass = {&amp;#039;titleclass&amp;#039;, &amp;#039;класс_заголовка&amp;#039;},&lt;br /&gt;
	titlegroupclass = {&amp;#039;titlegroupclass&amp;#039;},&lt;br /&gt;
	gearclass = {&amp;#039;gearclass&amp;#039;, &amp;#039;класс_шестеренки&amp;#039;, &amp;#039;класс_шестерёнки&amp;#039;},&lt;br /&gt;
	aboveclass = {&amp;#039;aboveclass&amp;#039;, &amp;#039;класс_вверху&amp;#039;},&lt;br /&gt;
	belowclass = {&amp;#039;belowclass&amp;#039;, &amp;#039;класс_внизу&amp;#039;},&lt;br /&gt;
	groupclass = {&amp;#039;groupclass&amp;#039;, &amp;#039;класс_групп&amp;#039;},&lt;br /&gt;
	listclass = {&amp;#039;listclass&amp;#039;, &amp;#039;класс_списков&amp;#039;},&lt;br /&gt;
	imageclass = {&amp;#039;imageclass&amp;#039;, &amp;#039;класс_изображения&amp;#039;},&lt;br /&gt;
	&lt;br /&gt;
	bodystyle = {&amp;#039;style&amp;#039;, &amp;#039;bodystyle&amp;#039;, &amp;#039;стиль_тела&amp;#039;},&lt;br /&gt;
	basestyle = {&amp;#039;basestyle&amp;#039;, &amp;#039;стиль&amp;#039;, &amp;#039;стиль_базовый&amp;#039;},&lt;br /&gt;
	titlestyle = {&amp;#039;titlestyle&amp;#039;, &amp;#039;стиль_основного_заголовка&amp;#039;, &amp;#039;стиль_заголовка&amp;#039;},&lt;br /&gt;
	titlegroupstyle = {&amp;#039;titlegroupstyle&amp;#039;},&lt;br /&gt;
	gearstyle = {&amp;#039;gearstyle&amp;#039;, &amp;#039;стиль_шестеренки&amp;#039;, &amp;#039;стиль_шестерёнки&amp;#039;},&lt;br /&gt;
	innerstyle = {&amp;#039;innerstyle&amp;#039;},&lt;br /&gt;
	abovestyle = {&amp;#039;abovestyle&amp;#039;, &amp;#039;стиль_вверху&amp;#039;},&lt;br /&gt;
	belowstyle = {&amp;#039;belowstyle&amp;#039;, &amp;#039;стиль_внизу&amp;#039;},&lt;br /&gt;
	groupstyle = {&amp;#039;groupstyle&amp;#039;, &amp;#039;стиль_заголовков&amp;#039;, &amp;#039;стиль_групп&amp;#039;},&lt;br /&gt;
	liststyle = {&amp;#039;liststyle&amp;#039;, &amp;#039;стиль_списков&amp;#039;},&lt;br /&gt;
	imagestyle = {&amp;#039;imagestyle&amp;#039;, &amp;#039;стиль_изображения&amp;#039;},&lt;br /&gt;
	imageleftstyle = {&amp;#039;imageleftstyle&amp;#039;, &amp;#039;imagestyle2&amp;#039;, &amp;#039;стиль_изображения_слева&amp;#039;},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- параметры для элементов&lt;br /&gt;
local elementAliases = {&lt;br /&gt;
	group = {&amp;#039;group%s&amp;#039;, &amp;#039;заголовок%s&amp;#039;, &amp;#039;группа%s&amp;#039;},&lt;br /&gt;
	list = {&amp;#039;list%s&amp;#039;, &amp;#039;список%s&amp;#039;, &amp;#039;value%s&amp;#039;},&lt;br /&gt;
	groupstyle = {&amp;#039;group%sstyle&amp;#039;, &amp;#039;стиль_заголовка%s&amp;#039;, &amp;#039;стиль_группы%s&amp;#039;},&lt;br /&gt;
	listclass = {&amp;#039;list%sclass&amp;#039;, &amp;#039;класс%sсписка&amp;#039;, &amp;#039;класс_списка%s&amp;#039;},&lt;br /&gt;
	liststyle = {&amp;#039;list%sstyle&amp;#039;, &amp;#039;стиль_списка%s&amp;#039;},&lt;br /&gt;
	listpadding = {&amp;#039;list%spadding&amp;#039;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function checkAliases(args, aliases, index)&lt;br /&gt;
	for _, alias in ipairs(aliases) do&lt;br /&gt;
		local arg&lt;br /&gt;
		if index then&lt;br /&gt;
			arg = args[string.format(alias, index)]&lt;br /&gt;
		else&lt;br /&gt;
			arg = args[alias]&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if arg ~= nil then&lt;br /&gt;
			return arg&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function checkElAliases(args, name, index)&lt;br /&gt;
	return checkAliases(args, elementAliases[name], index)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function striped(wikitext, args)&lt;br /&gt;
	-- Return wikitext with markers replaced for odd/even striping.&lt;br /&gt;
	-- Child (subgroup) navboxes are flagged with a category that is removed&lt;br /&gt;
	-- by parent navboxes. The result is that the category shows all pages&lt;br /&gt;
	-- where a child navbox is not contained in a parent navbox.&lt;br /&gt;
	local orphanCat = &amp;#039;[[Категория:Шаблоны:Навигационные шаблоны без родителя]]&amp;#039;&lt;br /&gt;
	if args.border == &amp;#039;subgroup&amp;#039; and not args.orphan then&lt;br /&gt;
		-- No change; striping occurs in outermost navbox.&lt;br /&gt;
		return wikitext .. orphanCat&lt;br /&gt;
	end&lt;br /&gt;
	local first, second = &amp;#039;odd&amp;#039;, &amp;#039;even&amp;#039;&lt;br /&gt;
	if args.evenodd then&lt;br /&gt;
		if args.evenodd == &amp;#039;swap&amp;#039; then&lt;br /&gt;
			first, second = second, first&lt;br /&gt;
		else&lt;br /&gt;
			first = args.evenodd&lt;br /&gt;
			second = first&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local changer&lt;br /&gt;
	if first == second then&lt;br /&gt;
		changer = first&lt;br /&gt;
	else&lt;br /&gt;
		local index = 0&lt;br /&gt;
		changer = function (code)&lt;br /&gt;
			if code == &amp;#039;0&amp;#039; then&lt;br /&gt;
				-- Current occurrence is for a group before a nested table.&lt;br /&gt;
				-- Set it to first as a valid although pointless class.&lt;br /&gt;
				-- The next occurrence will be the first row after a title&lt;br /&gt;
				-- in a subgroup and will also be first.&lt;br /&gt;
				index = 0&lt;br /&gt;
				return first&lt;br /&gt;
			end&lt;br /&gt;
			index = index + 1&lt;br /&gt;
			return index % 2 == 1 and first or second&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local regex = orphanCat:gsub(&amp;#039;([%[%]])&amp;#039;, &amp;#039;%%%1&amp;#039;)&lt;br /&gt;
	return (wikitext:gsub(regex, &amp;#039;&amp;#039;):gsub(REGEX_MARKER, changer))  -- () omits gsub count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addNewline(s)&lt;br /&gt;
	if s:match(&amp;#039;^[*:;#]&amp;#039;) or s:match(&amp;#039;^{|&amp;#039;) then&lt;br /&gt;
		return &amp;#039;\n&amp;#039; .. s ..&amp;#039;\n&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar(titleCell, args)&lt;br /&gt;
	if	args.navbar == false&lt;br /&gt;
		or not args.name&lt;br /&gt;
		or not mw.title.new(args.name)&lt;br /&gt;
	then &lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local gearclass = args.gearclass or &amp;#039;adapt-to-light-theme&amp;#039;&lt;br /&gt;
	local gearstyle = args.gearstyle or &amp;#039;--adapt-to-light-theme--invert: 75%&amp;#039;&lt;br /&gt;
	local gear = mw.ustring.format(&lt;br /&gt;
		&amp;#039;[[File:Gear_icon.svg|16px|link=%s|class=%s|Просмотр этого шаблона]]&amp;#039;,&lt;br /&gt;
		mw.title.new(args.name, 10).fullText,&lt;br /&gt;
		gearclass&lt;br /&gt;
	)&lt;br /&gt;
	&lt;br /&gt;
	--- Gear creation&lt;br /&gt;
	titleCell&lt;br /&gt;
		:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;navbox-gear&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;float&amp;#039;, &amp;#039;left&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;left&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;width&amp;#039;, &amp;#039;5em&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;margin-right&amp;#039;, &amp;#039;0.5em&amp;#039;)&lt;br /&gt;
			:cssText(gearstyle)&lt;br /&gt;
			:wikitext(gear)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Title row&lt;br /&gt;
--&lt;br /&gt;
local function renderTitleRow(tbl, args)&lt;br /&gt;
	if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
	local titleRow = tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleRow&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;scope&amp;#039;, &amp;#039;row&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;navbox-group&amp;#039;)&lt;br /&gt;
				:addClass(args.titlegroupclass)&lt;br /&gt;
				:cssText(args.basestyle)&lt;br /&gt;
				:cssText(args.groupstyle)&lt;br /&gt;
				:cssText(args.titlegroupstyle)&lt;br /&gt;
				:wikitext(args.titlegroup)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleCell = titleRow:tag(&amp;#039;th&amp;#039;):attr(&amp;#039;scope&amp;#039;, &amp;#039;colgroup&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleCell&lt;br /&gt;
			:css(&amp;#039;border-left-width&amp;#039;, &amp;#039;2px&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-left-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;width&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleColspan = 2&lt;br /&gt;
	if args.imageleft then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.image then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.titlegroup then titleColspan = titleColspan - 1 end&lt;br /&gt;
&lt;br /&gt;
	local titleMargin = &amp;#039;0 5.5em&amp;#039;&lt;br /&gt;
	if	args.state == &amp;#039;off&amp;#039;&lt;br /&gt;
		or (args.state == &amp;#039;plain&amp;#039; and args.navbar == false)&lt;br /&gt;
	then&lt;br /&gt;
		titleMargin = nil 		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	titleCell&lt;br /&gt;
		:cssText(args.basestyle)&lt;br /&gt;
		:cssText(args.titlestyle)&lt;br /&gt;
		:addClass(&amp;#039;navbox-title&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;colspan&amp;#039;, titleColspan)&lt;br /&gt;
&lt;br /&gt;
	renderNavBar(titleCell, args)&lt;br /&gt;
&lt;br /&gt;
	titleCell&lt;br /&gt;
		:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;id&amp;#039;, mw.uri.anchorEncode(args.title))&lt;br /&gt;
			:addClass(args.titleclass)&lt;br /&gt;
			:css(&amp;#039;font-size&amp;#039;, &amp;#039;114%&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;margin&amp;#039;, titleMargin)&lt;br /&gt;
			:wikitext(addNewline(args.title))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Above/Below rows&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function getAboveBelowColspan(args)&lt;br /&gt;
	local ret = 2&lt;br /&gt;
	if args.imageleft then ret = ret + 1 end&lt;br /&gt;
	if args.image then ret = ret + 1 end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow(tbl, args)&lt;br /&gt;
	if not args.above then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;navbox-abovebelow&amp;#039;)&lt;br /&gt;
			:addClass(args.aboveclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.abovestyle)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, getAboveBelowColspan(args))&lt;br /&gt;
			:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
				:wikitext(addNewline(args.above))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow(tbl, args)&lt;br /&gt;
	if not args.below then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;navbox-abovebelow&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;hlist&amp;#039;)&lt;br /&gt;
			:addClass(args.belowclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.belowstyle)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, getAboveBelowColspan(args))&lt;br /&gt;
			:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
				:wikitext(addNewline(args.below))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   List rows&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function renderListRow(tbl, args, index, rowspan, rowArgs)&lt;br /&gt;
	local row = tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.imageleft then&lt;br /&gt;
		row&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;navbox-image&amp;#039;)&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css(&amp;#039;width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;padding&amp;#039;, &amp;#039;0px 7px 0px 0px&amp;#039;)&lt;br /&gt;
				:cssText(args.imageleftstyle)&lt;br /&gt;
				:attr(&amp;#039;rowspan&amp;#039;, rowspan)&lt;br /&gt;
				:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
					:wikitext(addNewline(args.imageleft))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if rowArgs.group then&lt;br /&gt;
		local groupCell = row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;row&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;navbox-group&amp;#039;)&lt;br /&gt;
			:addClass(args.groupclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:css(&amp;#039;width&amp;#039;, args.groupwidth or &amp;#039;1px&amp;#039;) -- If groupwidth not specified, minimize width&lt;br /&gt;
			:css(&amp;#039;white-space&amp;#039;, args.groupwidth and &amp;#039;normal&amp;#039; or nil)	&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:cssText(args.groupstyle)&lt;br /&gt;
			:cssText(rowArgs.groupstyle)&lt;br /&gt;
			:wikitext(rowArgs.group)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listCell = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if rowArgs.group then&lt;br /&gt;
		listCell&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;left&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-left-width&amp;#039;, &amp;#039;2px&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-left-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		listCell&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not args.groupwidth then&lt;br /&gt;
		listCell:css(&amp;#039;width&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listText = rowArgs.list&lt;br /&gt;
	local oddEven = ODD_EVEN_MARKER&lt;br /&gt;
	if listText:sub(1, 12) == &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;table&amp;#039; then&lt;br /&gt;
		-- Assume list text is for a subgroup navbox so no automatic striping for this row.&lt;br /&gt;
		oddEven = listText:find(&amp;#039;&amp;lt;th[^&amp;gt;]*&amp;quot;navbox%-title&amp;quot;&amp;#039;) and RESTART_MARKER or &amp;#039;odd&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	listCell&lt;br /&gt;
		:css(&amp;#039;padding&amp;#039;, &amp;#039;0px&amp;#039;)&lt;br /&gt;
		:cssText(args.liststyle)&lt;br /&gt;
		:cssText(rowArgs.liststyle)&lt;br /&gt;
		:addClass(&amp;#039;navbox-list&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;navbox-&amp;#039; .. oddEven)&lt;br /&gt;
		:addClass(args.listclass)&lt;br /&gt;
		:addClass(rowArgs.listclass)&lt;br /&gt;
		:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;padding&amp;#039;, rowArgs.listpadding or args.listpadding or &amp;#039;0em 0.25em&amp;#039;)&lt;br /&gt;
			:wikitext(addNewline(listText))&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.image then&lt;br /&gt;
		row&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;navbox-image&amp;#039;)&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css(&amp;#039;width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;padding&amp;#039;, &amp;#039;0px 0px 0px 7px&amp;#039;)&lt;br /&gt;
				:cssText(args.imagestyle)&lt;br /&gt;
				:attr(&amp;#039;rowspan&amp;#039;, rowspan)&lt;br /&gt;
				:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
					:wikitext(addNewline(args.image))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Tracking categories&lt;br /&gt;
--&lt;br /&gt;
local function needsChangetoSubgroups(args)&lt;br /&gt;
	for i = 1, 23 do&lt;br /&gt;
		if (checkElAliases(args, &amp;#039;group&amp;#039;, i)) and not (checkElAliases(args, &amp;#039;list&amp;#039;, i)) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function needsChangetoSubtitles(args)&lt;br /&gt;
	for i = 1, 23 do&lt;br /&gt;
		if args[&amp;#039;subtitle&amp;#039; .. i] then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function needsHorizontalLists(args)&lt;br /&gt;
	if args.border == &amp;#039;subgroup&amp;#039; or args.tracking == false then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local lc, bc = args.listclass, args.bodyclass&lt;br /&gt;
	if	lc and (&amp;#039; &amp;#039; .. lc .. &amp;#039; &amp;#039;):match(&amp;#039; hlist &amp;#039;)&lt;br /&gt;
		or lc and (&amp;#039; &amp;#039; .. lc .. &amp;#039; &amp;#039;):match(&amp;#039; plainlist &amp;#039;)&lt;br /&gt;
		or bc and (&amp;#039; &amp;#039; .. bc .. &amp;#039; &amp;#039;):match(&amp;#039; hlist &amp;#039;) &lt;br /&gt;
		or bc and (&amp;#039; &amp;#039; .. bc .. &amp;#039; &amp;#039;):match(&amp;#039; plainlist &amp;#039;) &lt;br /&gt;
	then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getTrackingCategories(args)&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	if needsChangetoSubgroups(args) then table.insert(cats, &amp;#039;Навигационные шаблоны с ошибочным использованием заголовков&amp;#039;) end&lt;br /&gt;
	if needsChangetoSubtitles(args) then table.insert(cats, &amp;#039;Навигационные шаблоны с использованием устаревших подзаголовков&amp;#039;) end&lt;br /&gt;
	if needsHorizontalLists(args) then table.insert(cats, &amp;#039;Навигационные шаблоны без горизонтальных списков&amp;#039;) end&lt;br /&gt;
	return cats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories(builder, args)&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if	title.namespace ~= 10 -- not in template space&lt;br /&gt;
		or title.subpageText == &amp;#039;sandbox&amp;#039;&lt;br /&gt;
		or title.subpageText == &amp;#039;testcases&amp;#039;&lt;br /&gt;
	then &lt;br /&gt;
		return&lt;br /&gt;
	end &lt;br /&gt;
&lt;br /&gt;
	for i, cat in ipairs(getTrackingCategories(args)) do&lt;br /&gt;
		builder:wikitext(&amp;#039;[[Категория:Шаблоны:&amp;#039; .. cat .. &amp;#039;]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Main navbox tables&lt;br /&gt;
--&lt;br /&gt;
local function renderMainTable(args, listnums)&lt;br /&gt;
	local tbl = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;nowraplinks&amp;#039;)&lt;br /&gt;
		:addClass(args.bodyclass)&lt;br /&gt;
&lt;br /&gt;
	if args.title and args.state ~= &amp;#039;plain&amp;#039; and args.state ~= &amp;#039;off&amp;#039; then&lt;br /&gt;
		local isNavboxPage&lt;br /&gt;
		if args.name then&lt;br /&gt;
			local curTitle = mw.title.getCurrentTitle()&lt;br /&gt;
			local navTitle = mw.title.new(args.name, 10)&lt;br /&gt;
			isNavboxPage   = navTitle and mw.title.equals(curTitle, navTitle)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&amp;#039;mw-collapsible&amp;#039;)&lt;br /&gt;
			:addClass(&lt;br /&gt;
				args.state ~= &amp;#039;uncollapsed&amp;#039;&lt;br /&gt;
				and not isNavboxPage&lt;br /&gt;
				and &amp;#039;mw-collapsed&amp;#039; &lt;br /&gt;
				or nil&lt;br /&gt;
			)&lt;br /&gt;
			:addClass(&lt;br /&gt;
				args.border ~= &amp;#039;subgroup&amp;#039; and args.border ~= &amp;#039;none&amp;#039;&lt;br /&gt;
				and (args.state == &amp;#039;autocollapse&amp;#039; or not args.state)&lt;br /&gt;
				and &amp;#039;navbox-autocollapse&amp;#039;&lt;br /&gt;
				or nil&lt;br /&gt;
			)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tbl:css(&amp;#039;border-spacing&amp;#039;, 0)&lt;br /&gt;
	if args.border == &amp;#039;subgroup&amp;#039; or args.border == &amp;#039;none&amp;#039; then&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&amp;#039;navbox-subgroup&amp;#039;)&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
	else -- regular navbox - bodystyle and style will be applied to the wrapper table&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&amp;#039;navbox-inner&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;background&amp;#039;, &amp;#039;transparent&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;color&amp;#039;, &amp;#039;inherit&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	tbl:cssText(args.innerstyle)&lt;br /&gt;
&lt;br /&gt;
	renderTitleRow(tbl, args)&lt;br /&gt;
	renderAboveRow(tbl, args)&lt;br /&gt;
	for i, listnum in ipairs(listnums) do&lt;br /&gt;
		local rowArgs = {&lt;br /&gt;
			group = checkElAliases(args, &amp;#039;group&amp;#039;, listnum),&lt;br /&gt;
			list = checkElAliases(args, &amp;#039;list&amp;#039;, listnum),&lt;br /&gt;
			groupstyle = checkElAliases(args, &amp;#039;groupstyle&amp;#039;, listnum),&lt;br /&gt;
			listclass = checkElAliases(args, &amp;#039;listclass&amp;#039;, listnum),&lt;br /&gt;
			liststyle = checkElAliases(args, &amp;#039;liststyle&amp;#039;, listnum),&lt;br /&gt;
			listpadding = checkElAliases(args, &amp;#039;listpadding&amp;#039;, listnum)&lt;br /&gt;
		}&lt;br /&gt;
		renderListRow(tbl, args, i, #listnums, rowArgs)&lt;br /&gt;
	end&lt;br /&gt;
	renderBelowRow(tbl, args)&lt;br /&gt;
&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	if not yesno then&lt;br /&gt;
		yesno = function (v) return v end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listnums = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		local listnum = (&lt;br /&gt;
			(&amp;#039;&amp;#039; .. k):match(&amp;#039;^list(%d+)$&amp;#039;) &lt;br /&gt;
			or (&amp;#039;&amp;#039; .. k):match(&amp;#039;^список(%d+)$&amp;#039;) &lt;br /&gt;
			or (&amp;#039;&amp;#039; .. k):match(&amp;#039;^value(%d+)$&amp;#039;)&lt;br /&gt;
		)&lt;br /&gt;
		if listnum then &lt;br /&gt;
			table.insert(listnums, tonumber(listnum) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(listnums)&lt;br /&gt;
&lt;br /&gt;
	args.border = mw.text.trim(args.border or args[1] or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	for argname, aliasesList in pairs(commonAliases) do&lt;br /&gt;
		args[argname] = checkAliases(args, aliasesList)	&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	args.navbar = yesno(args.navbar)&lt;br /&gt;
	args.orphan = yesno(args.orphan)&lt;br /&gt;
	args.tracking = yesno(args.tracking)&lt;br /&gt;
	args.navigation = yesno(args.navigation)&lt;br /&gt;
	args.state = (args.state == &amp;#039;expanded&amp;#039;) and &amp;#039;uncollapsed&amp;#039; or args.state&lt;br /&gt;
	args.border = (args.border == &amp;#039;child&amp;#039;) and &amp;#039;subgroup&amp;#039; or args.border&lt;br /&gt;
	&lt;br /&gt;
	-- render the main body of the navbox&lt;br /&gt;
	local tbl = renderMainTable(args, listnums)&lt;br /&gt;
&lt;br /&gt;
	-- render the appropriate wrapper around the navbox, depending on the border param&lt;br /&gt;
	local res = mw.html.create()&lt;br /&gt;
	if args.border == &amp;#039;subgroup&amp;#039; then &lt;br /&gt;
		-- We assume that this navbox is being rendered in a list cell of a parent navbox, and is&lt;br /&gt;
		-- therefore inside a div with padding:0em 0.25em. We start with a &amp;lt;/div&amp;gt; to avoid the&lt;br /&gt;
		-- padding being applied, and at the end add a &amp;lt;div&amp;gt; to balance out the parent&amp;#039;s &amp;lt;/div&amp;gt;&lt;br /&gt;
		res&lt;br /&gt;
			:wikitext(&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;) -- XXX: hack due to lack of unclosed support in mw.html.&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
			:wikitext(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;) -- XXX: hack due to lack of unclosed support in mw.html.&lt;br /&gt;
	else &lt;br /&gt;
		local nav = res:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;role&amp;#039;, &amp;#039;navigation&amp;#039;)&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
		if args.border ~= &amp;#039;none&amp;#039; then&lt;br /&gt;
			nav:addClass(&amp;#039;navbox&amp;#039;)&lt;br /&gt;
			nav:cssText(args.bodystyle)&lt;br /&gt;
		end&lt;br /&gt;
		if args.title then&lt;br /&gt;
			nav:attr(&amp;#039;aria-labelledby&amp;#039;, mw.uri.anchorEncode(args.title))&lt;br /&gt;
		else&lt;br /&gt;
			nav:attr(&amp;#039;aria-label&amp;#039;, &amp;#039;Навигационный шаблон&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if args.name and args.name ~= &amp;#039;-&amp;#039; then&lt;br /&gt;
			nav:attr(&amp;#039;data-name&amp;#039;, args.name)&lt;br /&gt;
		end&lt;br /&gt;
		if args.navigation == true then&lt;br /&gt;
			nav:attr(&amp;#039;data-navboxnavigation&amp;#039;, &amp;#039;1&amp;#039;)&lt;br /&gt;
		elseif args.navigation == false then&lt;br /&gt;
			nav:attr(&amp;#039;data-navboxnavigation&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
		end		&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	renderTrackingCategories(res, args)&lt;br /&gt;
&lt;br /&gt;
	return striped(tostring(res), args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	if not yesno then&lt;br /&gt;
		yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	args = getArgs(frame, {&lt;br /&gt;
		wrappers = {&lt;br /&gt;
			&amp;#039;Template:Navbox&amp;#039;, &lt;br /&gt;
			&amp;#039;Template:Navbox/sandbox&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
	-- Read the arguments in the order they&amp;#039;ll be output in, to make references&lt;br /&gt;
	-- number in the right order.&lt;br /&gt;
	do&lt;br /&gt;
		local _&lt;br /&gt;
		_ = checkAliases(args, commonAliases.title)&lt;br /&gt;
		_ = checkAliases(args, commonAliases.above)&lt;br /&gt;
		for i = 1, 23 do&lt;br /&gt;
			_ = checkAliases(args, elementAliases.group, i)&lt;br /&gt;
			_ = checkAliases(args, elementAliases.list, i)&lt;br /&gt;
		end&lt;br /&gt;
		_ = checkAliases(args, commonAliases.below)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Bloomstorm</name></author>
	</entry>
</feed>