<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.telephones.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AInfobox</id>
	<title>Module:Infobox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.telephones.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AInfobox"/>
	<link rel="alternate" type="text/html" href="https://www.telephones.wiki/index.php?title=Module:Infobox&amp;action=history"/>
	<updated>2026-05-13T11:54:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=226&amp;oldid=prev</id>
		<title>CaptainChris at 22:40, 9 November 2025</title>
		<link rel="alternate" type="text/html" href="https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=226&amp;oldid=prev"/>
		<updated>2025-11-09T22:40:33Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:40, 9 November 2025&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-l165&quot;&gt;Line 165:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 165:&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;			footer or &amp;#039;&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;			footer or &amp;#039;&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;			&amp;#039;|}&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;			&amp;#039;|}&amp;#039;,&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;&amp;lt;/div&amp;gt;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;,&lt;/del&gt;&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;		&#039;&amp;lt;/div&amp;gt;&#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;	}&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;	}&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;	&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;	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb-WikiPhone:diff:1.41:old-225:rev-226:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>CaptainChris</name></author>
	</entry>
	<entry>
		<id>https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=225&amp;oldid=prev</id>
		<title>CaptainChris at 22:38, 9 November 2025</title>
		<link rel="alternate" type="text/html" href="https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=225&amp;oldid=prev"/>
		<updated>2025-11-09T22:38:50Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:38, 9 November 2025&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-l166&quot;&gt;Line 166:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 166:&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;			&amp;#039;|}&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;			&amp;#039;|}&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;		&amp;#039;&amp;lt;/div&amp;gt;&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;		&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;,&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		f:callParserFunction(&#039;#tag&#039;, {&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			&#039;pre&#039;,&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			class = &#039;history-json noexcerpt navigation-not-searchable&#039;,&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			mw.text.jsonEncode(json, mw.text.JSON_PRETTY)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		})&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;	}&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;	}&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;	&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;	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb-WikiPhone:diff:1.41:old-222:rev-225:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>CaptainChris</name></author>
	</entry>
	<entry>
		<id>https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=222&amp;oldid=prev</id>
		<title>CaptainChris at 22:33, 9 November 2025</title>
		<link rel="alternate" type="text/html" href="https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=222&amp;oldid=prev"/>
		<updated>2025-11-09T22:33:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.telephones.wiki/index.php?title=Module:Infobox&amp;amp;diff=222&amp;amp;oldid=221&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>CaptainChris</name></author>
	</entry>
	<entry>
		<id>https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=221&amp;oldid=prev</id>
		<title>CaptainChris at 22:32, 9 November 2025</title>
		<link rel="alternate" type="text/html" href="https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=221&amp;oldid=prev"/>
		<updated>2025-11-09T22:32:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.telephones.wiki/index.php?title=Module:Infobox&amp;amp;diff=221&amp;amp;oldid=219&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>CaptainChris</name></author>
	</entry>
	<entry>
		<id>https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=219&amp;oldid=prev</id>
		<title>CaptainChris at 22:29, 9 November 2025</title>
		<link rel="alternate" type="text/html" href="https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=219&amp;oldid=prev"/>
		<updated>2025-11-09T22:29:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.telephones.wiki/index.php?title=Module:Infobox&amp;amp;diff=219&amp;amp;oldid=218&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>CaptainChris</name></author>
	</entry>
	<entry>
		<id>https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=218&amp;oldid=prev</id>
		<title>CaptainChris: Created page with &quot;local p = {} function p.infobox( f ) 	local args = require( &#039;Module:ProcessArgs&#039; ).merge( true ) 	local titleObject = mw.title.getCurrentTitle() 	local title = args.title or titleObject.baseText 	local template = f:getParent():getTitle():lower():gsub( &#039;template:&#039;, &#039;&#039; ) 	local headerArea = &#039;&#039; 	 	local json = { 		images = {}, 		rows = {} 	} 	 	local imageArea = args.imagearea 	if not imageArea and imageArea ~= &#039;none&#039; then 		local images = {} 		local defaultImageSize = args...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.telephones.wiki/index.php?title=Module:Infobox&amp;diff=218&amp;oldid=prev"/>
		<updated>2025-11-09T22:29:31Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} function p.infobox( f ) 	local args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true ) 	local titleObject = mw.title.getCurrentTitle() 	local title = args.title or titleObject.baseText 	local template = f:getParent():getTitle():lower():gsub( &amp;#039;template:&amp;#039;, &amp;#039;&amp;#039; ) 	local headerArea = &amp;#039;&amp;#039; 	 	local json = { 		images = {}, 		rows = {} 	} 	 	local imageArea = args.imagearea 	if not imageArea and imageArea ~= &amp;#039;none&amp;#039; then 		local images = {} 		local defaultImageSize = args...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
function p.infobox( f )&lt;br /&gt;
	local args = require( &amp;#039;Module:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	local titleObject = mw.title.getCurrentTitle()&lt;br /&gt;
	local title = args.title or titleObject.baseText&lt;br /&gt;
	local template = f:getParent():getTitle():lower():gsub( &amp;#039;template:&amp;#039;, &amp;#039;&amp;#039; )&lt;br /&gt;
	local headerArea = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local json = {&lt;br /&gt;
		images = {},&lt;br /&gt;
		rows = {}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local imageArea = args.imagearea&lt;br /&gt;
	if not imageArea and imageArea ~= &amp;#039;none&amp;#039; then&lt;br /&gt;
		local images = {}&lt;br /&gt;
		local defaultImageSize = args.defaultimagesize or &amp;#039;150px&amp;#039;&lt;br /&gt;
		local defaultImageClass = args.defaultimageclass&lt;br /&gt;
		args.image1 = args.image1 or args.image or &amp;#039;title&amp;#039;&lt;br /&gt;
		args.image1size = args.image1size or args.imagesize&lt;br /&gt;
		args.image1class = args.image1class or args.imageclass&lt;br /&gt;
		args.group1 = args.group1 or args.group&lt;br /&gt;
		args.group1size = args.group1size or args.groupsize&lt;br /&gt;
		args.group1class = args.group1class or args.groupclass&lt;br /&gt;
		&lt;br /&gt;
		local imgCount = {}&lt;br /&gt;
		local invImgCount = {}&lt;br /&gt;
		local groupCount = {}&lt;br /&gt;
		local groupImgList = {}&lt;br /&gt;
		for k, v in pairs( args ) do&lt;br /&gt;
			if type( k ) == &amp;#039;string&amp;#039; then&lt;br /&gt;
				local image, num = k:match( &amp;#039;^(image)(%d+)$&amp;#039; )&lt;br /&gt;
				local invImage, invNum = k:match( &amp;#039;^(invimage)(%d+)$&amp;#039; )&lt;br /&gt;
				local group, groupNum = k:match( &amp;#039;^(group)(%d+)$&amp;#039; )&lt;br /&gt;
				local groupImg, groupImgNum = k:match( &amp;#039;^(%d+)-(%d+)$&amp;#039; )&lt;br /&gt;
				if v:lower() ~= &amp;#039;none&amp;#039; then&lt;br /&gt;
					if image then&lt;br /&gt;
						table.insert( imgCount, tonumber( num ) )&lt;br /&gt;
					elseif invImage then&lt;br /&gt;
						table.insert( invImgCount, tonumber( invNum ) )&lt;br /&gt;
					elseif group then&lt;br /&gt;
						table.insert( groupCount, tonumber( groupNum ) )&lt;br /&gt;
						if not groupImgList[&amp;#039;group&amp;#039; .. groupNum] then&lt;br /&gt;
							groupImgList[&amp;#039;group&amp;#039; .. groupNum] = {}&lt;br /&gt;
						end&lt;br /&gt;
					elseif groupImg then&lt;br /&gt;
						if not groupImgList[&amp;#039;group&amp;#039; .. groupImg] then&lt;br /&gt;
							groupImgList[&amp;#039;group&amp;#039; .. groupImg] = {}&lt;br /&gt;
						end&lt;br /&gt;
						table.insert( groupImgList[&amp;#039;group&amp;#039; .. groupImg], tonumber( groupImgNum ) )&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local animate&lt;br /&gt;
		if #groupCount &amp;gt; 0 then&lt;br /&gt;
			table.sort( groupCount )&lt;br /&gt;
			local tabber = {}&lt;br /&gt;
			for k, v in ipairs( groupCount ) do&lt;br /&gt;
				local group = args[&amp;#039;group&amp;#039; .. v]&lt;br /&gt;
				local groupSize = args[&amp;#039;group&amp;#039; .. v .. &amp;#039;size&amp;#039;] or defaultImageSize&lt;br /&gt;
				local groupClass = args[&amp;#039;group&amp;#039; .. v .. &amp;#039;class&amp;#039;] or defaultImageClass&lt;br /&gt;
				local groupImages = {}&lt;br /&gt;
				&lt;br /&gt;
				table.sort( groupImgList[&amp;#039;group&amp;#039; .. v] )&lt;br /&gt;
				for _, w in ipairs( groupImgList[&amp;#039;group&amp;#039; .. v] ) do&lt;br /&gt;
					local image = args[v .. &amp;#039;-&amp;#039; .. w]&lt;br /&gt;
					local size = args[v .. &amp;#039;-&amp;#039; .. w .. &amp;#039;size&amp;#039;] or groupSize&lt;br /&gt;
					local class = args[v .. &amp;#039;-&amp;#039; .. w .. &amp;#039;class&amp;#039;] or groupClass&lt;br /&gt;
					&lt;br /&gt;
					if string.match( image, &amp;#039;UNIQ%-%-gallery%-&amp;#039; ) then&lt;br /&gt;
						image = image&lt;br /&gt;
					elseif image:match( &amp;#039;;&amp;#039; ) then&lt;br /&gt;
						if not animate then&lt;br /&gt;
							animate = require( &amp;#039;Module:Animate&amp;#039; ).animate&lt;br /&gt;
						end&lt;br /&gt;
						image = animate{ image, size, class = class }&lt;br /&gt;
					else&lt;br /&gt;
						json.images[#json.images + 1] = image&lt;br /&gt;
						local altText = image .. &amp;#039;: Infobox image for &amp;#039; .. title .. &amp;#039; the &amp;#039; .. template .. &amp;#039;.&amp;#039;&lt;br /&gt;
						image = &amp;#039;[[File:&amp;#039; .. image .. &amp;#039;|&amp;#039; .. size .. &amp;#039;|class=&amp;#039; .. ( class or &amp;#039;&amp;#039; ) .. &amp;#039;|alt=&amp;#039; .. altText .. &amp;#039;]]&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
					&lt;br /&gt;
					table.insert( groupImages, &amp;#039;&amp;lt;div&amp;gt;&amp;#039; .. image .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039; )&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				table.insert( tabber, &amp;#039;|-|&amp;#039; .. group .. &amp;#039;=\n&amp;#039; .. table.concat( groupImages, &amp;#039;\n&amp;#039; ) )&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( images, &amp;#039;&amp;lt;div&amp;gt;&amp;#039; .. f:extensionTag( &amp;#039;tabber&amp;#039;, table.concat( tabber, &amp;#039;\n&amp;#039; ) ) .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		table.sort( imgCount )&lt;br /&gt;
		for k, v in ipairs( imgCount ) do&lt;br /&gt;
			local image = args[&amp;#039;image&amp;#039; .. v]&lt;br /&gt;
			local size = args[&amp;#039;image&amp;#039; .. v .. &amp;#039;size&amp;#039;] or defaultImageSize&lt;br /&gt;
			local class = args[&amp;#039;image&amp;#039; .. v .. &amp;#039;class&amp;#039;] or defaultImageClass&lt;br /&gt;
			&lt;br /&gt;
			if image == &amp;#039;title&amp;#039; then&lt;br /&gt;
				local imageTitle = mw.title.new( &amp;#039;Media:&amp;#039; .. title .. &amp;#039;.png&amp;#039; )&lt;br /&gt;
				if #groupCount == 0 and imageTitle and imageTitle.exists then&lt;br /&gt;
					json.images[#json.images + 1] = title .. &amp;#039;.png&amp;#039;&lt;br /&gt;
					local altText = title .. &amp;#039;.png: Infobox image for &amp;#039; .. title .. &amp;#039; the &amp;#039; .. template .. &amp;#039;.&amp;#039;&lt;br /&gt;
					image = &amp;#039;[[File:&amp;#039; .. title .. &amp;#039;.png|&amp;#039; .. size .. &amp;#039;|class=&amp;#039; .. ( class or &amp;#039;&amp;#039; ) .. &amp;#039;|alt=&amp;#039; .. altText .. &amp;#039;]]&amp;#039;&lt;br /&gt;
				else&lt;br /&gt;
					image = &amp;#039;&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			elseif string.match( image, &amp;#039;UNIQ%-%-gallery%-&amp;#039; ) then&lt;br /&gt;
				image = image&lt;br /&gt;
			--[[elseif image:match( &amp;#039;;&amp;#039; ) then&lt;br /&gt;
				if not animate then&lt;br /&gt;
					animate = require( &amp;#039;Module:Animate&amp;#039; ).animate&lt;br /&gt;
				end&lt;br /&gt;
				image = animate{ image, size, class = class }--]]&lt;br /&gt;
			else&lt;br /&gt;
				json.images[#json.images + 1] = image&lt;br /&gt;
				local altText = image .. &amp;#039;: Infobox image for &amp;#039; .. title .. &amp;#039; the &amp;#039; .. template .. &amp;#039;.&amp;#039;&lt;br /&gt;
				image = &amp;#039;[[File:&amp;#039; .. image .. &amp;#039;|&amp;#039; .. size .. &amp;#039;|class=&amp;#039; .. ( class or &amp;#039;&amp;#039; ) .. &amp;#039;|alt=&amp;#039; .. altText .. &amp;#039;]]&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			table.insert( images, &amp;#039;&amp;lt;div&amp;gt;&amp;#039; .. image .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039; )&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		images = table.concat( images, &amp;#039;\n&amp;#039; )&lt;br /&gt;
		&lt;br /&gt;
		if images ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			imageArea = images&lt;br /&gt;
		else&lt;br /&gt;
			imageArea = &amp;#039;none&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if imageArea and imageArea ~= &amp;#039;none&amp;#039; then&lt;br /&gt;
		imageArea = &amp;#039;&amp;lt;div class=&amp;quot;infobox-imagearea animated-container&amp;quot;&amp;gt;&amp;#039; .. imageArea .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		local groupArea = args.grouparea&lt;br /&gt;
		if groupArea then&lt;br /&gt;
			imageArea = groupArea&lt;br /&gt;
		else&lt;br /&gt;
			imageArea = &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local extraText = args.extratext&lt;br /&gt;
	&lt;br /&gt;
	if extraText and extraText ~= &amp;#039;none&amp;#039; then&lt;br /&gt;
		json.extratext = extraText&lt;br /&gt;
		extraText = &amp;#039;&amp;lt;div class=&amp;quot;infobox-extratext&amp;quot;&amp;gt;&amp;#039;.. extraText ..&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		extraText = &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	headerArea = imageArea.. &amp;#039;&amp;#039; ..extraText&lt;br /&gt;
	local footer = args.footer&lt;br /&gt;
	if footer then&lt;br /&gt;
		json.footer = footer&lt;br /&gt;
		footer = &amp;#039;| class=&amp;quot;infobox-footer&amp;quot; colspan=&amp;quot;2&amp;quot; | &amp;#039; .. footer&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	json.title = title&lt;br /&gt;
	--[[local repl = function( label, field )&lt;br /&gt;
		json.rows[#json.rows + 1] = {&lt;br /&gt;
			label = mw.text.jsonDecode( label:gsub( &amp;#039;\n&amp;#039;, &amp;#039;\\n&amp;#039; ) ),&lt;br /&gt;
			field = mw.text.jsonDecode( field:gsub( &amp;#039;\n&amp;#039;, &amp;#039;\\n&amp;#039; ) )&lt;br /&gt;
		}&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	args.rows = string.gsub( args.rows or &amp;#039;&amp;#039;, &amp;#039;&amp;lt;code class=&amp;quot;history%-json&amp;quot;&amp;gt;{&amp;quot;label&amp;quot;: (&amp;quot;.-&amp;quot;), &amp;quot;field&amp;quot;: (&amp;quot;.-&amp;quot;)}&amp;lt;/code&amp;gt;\n&amp;#039;, repl )--]]&lt;br /&gt;
	&lt;br /&gt;
	local html = {&lt;br /&gt;
		&amp;#039;&amp;lt;div class=&amp;quot;infobox&amp;quot;&amp;gt;&amp;#039;,&lt;br /&gt;
			&amp;#039;&amp;lt;div class=&amp;quot;tfpwiki-header infobox-title&amp;quot;&amp;gt;&amp;#039; .. title .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;,&lt;br /&gt;
			headerArea,&lt;br /&gt;
			&amp;#039;{| class=&amp;quot;infobox-rows&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&amp;#039;,&lt;br /&gt;
			&amp;#039;|-&amp;#039;,&lt;br /&gt;
			args.rows or &amp;#039;&amp;#039;,&lt;br /&gt;
			footer or &amp;#039;&amp;#039;,&lt;br /&gt;
			&amp;#039;|}&amp;#039;,&lt;br /&gt;
		&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;,&lt;br /&gt;
		f:callParserFunction( &amp;#039;#tag&amp;#039;, { &amp;#039;pre&amp;#039;, class = &amp;#039;history-json noexcerpt navigation-not-searchable&amp;#039;,&lt;br /&gt;
			mw.text.jsonEncode( json, mw.text.JSON_PRETTY )&lt;br /&gt;
		} )&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return table.concat( html, &amp;#039;\n&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>CaptainChris</name></author>
	</entry>
</feed>