<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://sunnyray.catk.it/w/index.php?action=history&amp;feed=atom&amp;title=Modu%C5%82%3AAhnentafel</id>
	<title>Moduł:Ahnentafel - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://sunnyray.catk.it/w/index.php?action=history&amp;feed=atom&amp;title=Modu%C5%82%3AAhnentafel"/>
	<link rel="alternate" type="text/html" href="https://sunnyray.catk.it/w/index.php?title=Modu%C5%82:Ahnentafel&amp;action=history"/>
	<updated>2026-04-13T01:04:07Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://sunnyray.catk.it/w/index.php?title=Modu%C5%82:Ahnentafel&amp;diff=437&amp;oldid=prev</id>
		<title>Catkitty: pl</title>
		<link rel="alternate" type="text/html" href="https://sunnyray.catk.it/w/index.php?title=Modu%C5%82:Ahnentafel&amp;diff=437&amp;oldid=prev"/>
		<updated>2020-07-11T22:07:54Z</updated>

		<summary type="html">&lt;p&gt;pl&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Wersja z 22:07, 11 lip 2020&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-l146&quot; &gt;Linia 146:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 146:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;	if yesno(args['collapsible'] or 'no') then&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;	if yesno(args['collapsible'] or 'no') then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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 r = res:tag('table')&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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 r = res:tag('table')&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;		local t = args['title'] or ('&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ancestors of &lt;/del&gt;' .. mw.title.getCurrentTitle().text)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;		local t = args['title'] or ('&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Przodkowie &lt;/ins&gt;' .. mw.title.getCurrentTitle().text)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;		r:addClass('collapsible')&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;		r:addClass('collapsible')&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;		if yesno(args['collapsed'] or 'yes') then&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;		if yesno(args['collapsed'] or 'yes') then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Catkitty</name></author>
		
	</entry>
	<entry>
		<id>https://sunnyray.catk.it/w/index.php?title=Modu%C5%82:Ahnentafel&amp;diff=422&amp;oldid=prev</id>
		<title>Catkitty: 1 wersja</title>
		<link rel="alternate" type="text/html" href="https://sunnyray.catk.it/w/index.php?title=Modu%C5%82:Ahnentafel&amp;diff=422&amp;oldid=prev"/>
		<updated>2020-07-11T22:06:02Z</updated>

		<summary type="html">&lt;p&gt;1 wersja&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Wersja z 22:06, 11 lip 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;pl&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Brak różnic)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Catkitty</name></author>
		
	</entry>
	<entry>
		<id>https://sunnyray.catk.it/w/index.php?title=Modu%C5%82:Ahnentafel&amp;diff=421&amp;oldid=prev</id>
		<title>wikipedia&gt;Frietjes: use templatestyles, which should reduce the size of the html, still more css that could be migrated to styles.css</title>
		<link rel="alternate" type="text/html" href="https://sunnyray.catk.it/w/index.php?title=Modu%C5%82:Ahnentafel&amp;diff=421&amp;oldid=prev"/>
		<updated>2018-10-22T21:41:56Z</updated>

		<summary type="html">&lt;p&gt;use templatestyles, which should reduce the size of the html, still more css that could be migrated to styles.css&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--&lt;br /&gt;
-- implements [[Template:ahnentafel]]&lt;br /&gt;
--&lt;br /&gt;
local p = {}&lt;br /&gt;
-- templatestyles&lt;br /&gt;
local templatestyles = 'Ahnentafel/styles.css'&lt;br /&gt;
-- table of row pointers&lt;br /&gt;
local rows = {}&lt;br /&gt;
-- first and last indices in rows table&lt;br /&gt;
local rowbegin, rowend = -1,-1&lt;br /&gt;
-- tracking&lt;br /&gt;
local tcats = ''&lt;br /&gt;
&lt;br /&gt;
local function checkparameters(k)&lt;br /&gt;
	if (k == 'align' or k == 'collapsed' or k == 'collapsible' or&lt;br /&gt;
		k == 'title' or k == 'float' or k == 'clear' or k == 'ref' or&lt;br /&gt;
		k == 'headnotes' or k == 'headnotes_align' or &lt;br /&gt;
		k == 'footnotes' or k == 'footnotes_align' or k == 'rtl' or&lt;br /&gt;
		k == 'width' or k == 'min-width' or k == 'text-align') then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	if (k == 'boxstyle' or k == 'style' or k == 'border') then&lt;br /&gt;
		tcats = tcats .. '[[Category:Pages using ahnentafel with ' .. k .. ']]'&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	if k:find('^boxstyle_[1-8]$') then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	if k:find('^border_[1-8]$') then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	k = mw.ustring.gsub(k, '[^%w\-_ ]', '?')&lt;br /&gt;
	tcats = tcats .. '[[Category:Pages using ahnentafel with unknown parameters|' .. k .. ' ]]'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addcell(r, rspan, cspan, t, s, c)&lt;br /&gt;
	if ((r + rspan - 1) &amp;lt; rowbegin) or (r &amp;gt; rowend) then&lt;br /&gt;
		-- completely out of range; do nothing&lt;br /&gt;
		return&lt;br /&gt;
	elseif r &amp;lt; rowbegin then&lt;br /&gt;
		-- partially out of range, adjust&lt;br /&gt;
		rspan = rspan - (rowbegin - r)&lt;br /&gt;
		r = rowbegin&lt;br /&gt;
	elseif (r + rspan - 1) &amp;gt; rowend then&lt;br /&gt;
		-- partially out of range, adjust&lt;br /&gt;
		rspan = rowend + 1 - r&lt;br /&gt;
	end&lt;br /&gt;
	if rspan &amp;gt; 0 then&lt;br /&gt;
		rows[r]:tag('td')&lt;br /&gt;
			:attr('rowspan', (rspan &amp;gt; 1) and rspan or nil)&lt;br /&gt;
			:attr('colspan', (cspan &amp;gt; 1) and cspan or nil)&lt;br /&gt;
			:cssText(s)&lt;br /&gt;
			:addClass(c)&lt;br /&gt;
			:wikitext(t)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.chart( frame )&lt;br /&gt;
	local getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local align = (args['align'] or ''):lower()&lt;br /&gt;
	local style = args['style'] or ''&lt;br /&gt;
	local topbranch = 'ahnentafel-t'&lt;br /&gt;
	local botbranch = 'ahnentafel-b'&lt;br /&gt;
&lt;br /&gt;
	local yesno = require('Module:Yesno')&lt;br /&gt;
	&lt;br /&gt;
	if args['collapsed'] and args['collapsed'] ~= '' then&lt;br /&gt;
		args['collapsible'] = 'yes'&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args['title'] and args['title'] ~= '' then&lt;br /&gt;
		args['collapsible'] = 'yes'&lt;br /&gt;
		if yesno(args['collapsed'] or 'no') then&lt;br /&gt;
			args['collapsed'] = 'yes'&lt;br /&gt;
		else&lt;br /&gt;
			args['collapsed'] = 'no'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- style for floating&lt;br /&gt;
	if (align == 'right') then&lt;br /&gt;
		style = 'float:right;' .. style&lt;br /&gt;
	elseif (align == 'left') then&lt;br /&gt;
		style = 'float:left;' .. style&lt;br /&gt;
	elseif (align == 'center') then&lt;br /&gt;
		style = 'margin-left:auto; margin-right:auto;' .. style&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- compute the number of levels and track unsupported parameters&lt;br /&gt;
	local maxnum = 0&lt;br /&gt;
	for k, v in pairs( args ) do&lt;br /&gt;
		if (k and type(k) == 'number' or &lt;br /&gt;
			(type(k) == 'string' and (tonumber(k) or 0) &amp;gt; 0)) then&lt;br /&gt;
			if tonumber(k) &amp;gt; maxnum then&lt;br /&gt;
				maxnum = k&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			if (k and type(k) == 'string') then&lt;br /&gt;
				checkparameters(k)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- limit the number of levels&lt;br /&gt;
	maxnum = (maxnum &amp;gt; 511) and 511 or maxnum&lt;br /&gt;
	&lt;br /&gt;
	local levels = math.ceil(math.log(maxnum+1)/math.log(2))&lt;br /&gt;
	local cells  = math.pow(2, levels) - 1&lt;br /&gt;
	&lt;br /&gt;
	-- &amp;quot;fill in&amp;quot; missing boxes&lt;br /&gt;
	for k=cells,2,-1 do&lt;br /&gt;
		local j = math.floor(k/2)&lt;br /&gt;
		if args[k] and args[k] ~= '' then&lt;br /&gt;
			if args[j] == nil or args[j] == '' then&lt;br /&gt;
				args[j] = ' ' -- single space&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- compute the first and last row number&lt;br /&gt;
	rowbegin = 2*cells+1&lt;br /&gt;
	rowend   = 2*cells+2&lt;br /&gt;
	local cellnum = 0&lt;br /&gt;
	for l = 1,levels do&lt;br /&gt;
		local cellsk = math.pow(2,l-1)&lt;br /&gt;
		local offset = 1&lt;br /&gt;
		for k = 1,cellsk do&lt;br /&gt;
			cellnum = cellnum + 1&lt;br /&gt;
			offset = offset + 2*(math.pow(2,levels-l+1)-1)&lt;br /&gt;
			if args[cellnum] and args[cellnum] ~= '' then&lt;br /&gt;
				rowbegin = (offset &amp;lt; rowbegin) and offset or rowbegin&lt;br /&gt;
				rowend = ((offset+1) &amp;gt; rowend) and (offset+1) or rowend&lt;br /&gt;
			end&lt;br /&gt;
			if args[cellnum] and args[cellnum] == '' then&lt;br /&gt;
				args[cellnum] = nil&lt;br /&gt;
			end&lt;br /&gt;
			offset = offset + 2*(math.pow(2,levels-l+1)-1) + 4&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- add a collapsing outer container if required&lt;br /&gt;
	local res = mw.html.create('')&lt;br /&gt;
	local innercell = res&lt;br /&gt;
	local innerfs = '88%'&lt;br /&gt;
	if yesno(args['collapsible'] or 'no') then&lt;br /&gt;
		local r = res:tag('table')&lt;br /&gt;
		local t = args['title'] or ('Ancestors of ' .. mw.title.getCurrentTitle().text)&lt;br /&gt;
		r:addClass('collapsible')&lt;br /&gt;
		if yesno(args['collapsed'] or 'yes') then&lt;br /&gt;
			r:addClass('collapsed')&lt;br /&gt;
		end&lt;br /&gt;
		local f = args['float'] or ''&lt;br /&gt;
		if f == 'left' then&lt;br /&gt;
			r:css('margin', '0.3em 1em 0.3em 0')&lt;br /&gt;
			r:css('float', 'left')&lt;br /&gt;
			r:css('clear', args['clear'] or 'left')&lt;br /&gt;
			r:css('min-width', args['min-width'] or args['width'] or '33em')&lt;br /&gt;
		elseif f == 'right' then&lt;br /&gt;
			r:css('margin', '0.3em 0 0.3em 1em')&lt;br /&gt;
			r:css('float', 'right')&lt;br /&gt;
			r:css('clear', args['clear'] or 'right')&lt;br /&gt;
			r:css('min-width', args['min-width'] or args['width'] or '33em')&lt;br /&gt;
		elseif f == 'none' then&lt;br /&gt;
			r:css('margin', '0.3em 0')&lt;br /&gt;
			r:css('min-width', args['min-width'] or args['width'] or '60em')&lt;br /&gt;
		else&lt;br /&gt;
			r:css('margin', '0.3em auto')&lt;br /&gt;
			r:css('clear', args['clear'] or 'none')&lt;br /&gt;
			r:css('min-width', args['min-width'] or args['width'] or '60em')&lt;br /&gt;
		end&lt;br /&gt;
		r:css('width', args['width'] or 'auto')&lt;br /&gt;
		r:css('font-size', '88%')&lt;br /&gt;
		r:css('border', '1px solid #aaa')&lt;br /&gt;
		r:tag('tr'):tag('th')&lt;br /&gt;
				:css('padding', '0.2em 0.3em 0.2em 4.3em')&lt;br /&gt;
				:css('background', 'none')&lt;br /&gt;
				:css('width', args['width'] or 'auto')&lt;br /&gt;
				:wikitext(t .. (args['ref'] or ''))&lt;br /&gt;
		innercell = r:tag('tr'):tag('td')&lt;br /&gt;
				:css('text-align', args['text-align'] or 'center')&lt;br /&gt;
		innerfs = nil&lt;br /&gt;
		args['ref'] = nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- add content before the table if required&lt;br /&gt;
	if args['headnotes'] then&lt;br /&gt;
		if args['headnotes_align'] then&lt;br /&gt;
			innercell:tag('div')&lt;br /&gt;
				:css('width','100%')&lt;br /&gt;
				:css('text-align',args['headnotes_align'])&lt;br /&gt;
				:wikitext(args['headnotes'])&lt;br /&gt;
		else&lt;br /&gt;
			innercell:wikitext(args['headnotes'])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- build the inner table&lt;br /&gt;
	local root = innercell:tag('table')&lt;br /&gt;
	root:addClass('ahnentafel')&lt;br /&gt;
		:css('font-size', innerfs)&lt;br /&gt;
		:cssText(style)&lt;br /&gt;
&lt;br /&gt;
	-- initialize the rows with 1 by 1 blank cells&lt;br /&gt;
	for k = rowbegin, (rowend+1) do&lt;br /&gt;
		rows[k] = root:tag('tr')&lt;br /&gt;
		rows[k]:tag('td'):wikitext(' ')&lt;br /&gt;
	end&lt;br /&gt;
	-- add a blank row of cells to assist with alignment&lt;br /&gt;
	for k = 1,(3*levels + 1) do&lt;br /&gt;
		rows[rowend+1]:tag('td'):wikitext(' ')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local cellnum = 0&lt;br /&gt;
	for l = 1,levels do&lt;br /&gt;
		local levelstyle = args['boxstyle_' .. l] or ''&lt;br /&gt;
		if args['boxstyle'] and args['boxstyle'] ~= '' then&lt;br /&gt;
			levelstyle = args['boxstyle'] .. ';' .. levelstyle&lt;br /&gt;
		end&lt;br /&gt;
		levelstyle = 'height:0.5em; padding:0 0.2em;' .. levelstyle&lt;br /&gt;
		levelstyle = 'border:' .. (args['border_' .. l] or args['border'] or '1') .. 'px solid black;' .. levelstyle&lt;br /&gt;
		&lt;br /&gt;
		local cellsk = math.pow(2,l-1)&lt;br /&gt;
		local offset = 1&lt;br /&gt;
		for k = 1,cellsk do&lt;br /&gt;
			cellnum = cellnum + 1&lt;br /&gt;
			-- top padding&lt;br /&gt;
			addcell(offset, 2*(math.pow(2,levels-l+1)-1), (l &amp;lt; levels) and 2 or 4, ' ', nil, nil)&lt;br /&gt;
			-- top branch&lt;br /&gt;
			if l &amp;lt; levels then&lt;br /&gt;
				addcell(offset, math.pow(2,levels-l+1)-1, 1, ' ', nil, nil)&lt;br /&gt;
				addcell(offset + math.pow(2,levels-l+1)-1, math.pow(2,levels-l+1)-1, 1, ' ', nil,&lt;br /&gt;
					args[2*cellnum] and topbranch or nil)&lt;br /&gt;
			end&lt;br /&gt;
			offset = offset + 2*(math.pow(2,levels-l+1)-1)&lt;br /&gt;
			-- cell&lt;br /&gt;
			addcell(offset, 2, 4, args[cellnum] or ' ', args[cellnum] and levelstyle or nil, nil)&lt;br /&gt;
			if l &amp;lt; levels then&lt;br /&gt;
				addcell(offset, 2, 3 + 4*(levels - l - 1), ' ', nil, nil)&lt;br /&gt;
			end&lt;br /&gt;
			offset = offset + 2&lt;br /&gt;
			-- bottom padding&lt;br /&gt;
			addcell(offset, 2*(math.pow(2,levels-l+1)-1), (l &amp;lt; levels) and 2 or 4, ' ', nil, nil)&lt;br /&gt;
			-- bottom branch&lt;br /&gt;
			if l &amp;lt; levels then&lt;br /&gt;
				addcell(offset, math.pow(2,levels-l+1)-1, 1, ' ', nil,&lt;br /&gt;
					args[2*cellnum+1] and botbranch or nil)&lt;br /&gt;
				addcell(offset + math.pow(2,levels-l+1)-1, math.pow(2,levels-l+1)-1, 1, ' ', nil, nil)&lt;br /&gt;
			end&lt;br /&gt;
			offset = offset + 2*(math.pow(2,levels-l+1)-1) + 2&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- add content after the table if required&lt;br /&gt;
	if args['footnotes'] or args['ref'] then&lt;br /&gt;
		if args['footnotes_align'] then&lt;br /&gt;
			innercell:tag('div')&lt;br /&gt;
				:css('width','100%')&lt;br /&gt;
				:css('text-align',args['footnotes_align'])&lt;br /&gt;
				:wikitext(args['footnotes'])&lt;br /&gt;
		else&lt;br /&gt;
			innercell:wikitext(args['ref'])&lt;br /&gt;
			innercell:wikitext(args['footnotes'])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } &lt;br /&gt;
		.. '&amp;lt;div class=&amp;quot;noresize&amp;quot;&amp;gt;' .. tostring(res) .. '&amp;lt;/div&amp;gt;' .. tcats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;Frietjes</name></author>
		
	</entry>
</feed>