# Module:TreeChart/data

local SLD = ' solid black'  
local DSH = ' dashed black'  
local DOT = ' dotted black'  

local data = {  
['!'] = {  
t = { { attr = { }, style = { ['-'] = SLD,, } },  
{ attr = { }, style = {, } } }  
},  
['%'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = DSH,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
["'"] = {  
b = { { style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = SLD,, } },  
{ attr = { }, style = {, } } }  
},  
['('] = {  
b = { { style = { ['-'] = SLD,, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = SLD,, } },  
{ attr = { }, style = {, } } }  
},  
[')'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['*'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['+'] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
[','] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { style = {, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['-'] = {  
b = { { attr = { }, style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = SLD,, } } }  
},  
['.'] = {  
b = { { style = { ['-'] = SLD,, } } },  
t = { { style = { ['-bottom'] = SLD,, } },  
{ attr = { }, style = {, } } }  
},  
['7'] = {  
b = { { style = { ['-'] = DSH,, } } },  
t = { { style = { ['-bottom'] = DSH,, } },  
{ attr = { }, style = {, } } }  
},  
[':'] = {  
t = { { attr = { }, style = { ['-'] = DSH,, } },  
{ attr = { }, style = {, } } }  
},  
['A'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = DSH,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['C'] = {  
b = { { style = { ['-'] = DSH,, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = DSH,, } },  
{ attr = { }, style = {, } } }  
},  
['D'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = DSH,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['F'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { style = {, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['G'] = {  
b = { { style = { ['-'] = DOT,, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = DOT,, } },  
{ attr = { }, style = {, } } }  
},  
['H'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = DOT,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['J'] = {  
b = { { style = {, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = DSH,, } },  
{ attr = { }, style = {, } } }  
},  
['L'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DSH,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['M'] = {  
b = { { style = { ['-'] = DOT,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DOT,, } } }  
},  
['P'] = {  
b = { { attr = { }, style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DOT,, } } }  
},  
['Q'] = {  
t = { { attr = { }, style = { ['-'] = DOT,, } },  
{ attr = { }, style = {, } } }  
},  
['R'] = {  
b = { { style = { ['-'] = DOT,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = DOT,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['S'] = {  
b = { { style = { ['-'] = DOT,, } },  
{ style = {, } } },  
t = { { style = {, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['T3'] = {  
b = { { style = { ['-'] = SLD,, } } },  
t = { { style = { ['-bottom'] = DOT,, } },  
{ attr = { }, style = {, } } }  
},  
['T'] = {  
b = { { style = { ['-'] = DOT,, } } },  
t = { { style = { ['-bottom'] = DOT,, } },  
{ attr = { }, style = {, } } }  
},  
['V'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DSH,, } } }  
},  
['W'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = DOT,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['Y'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DOT,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['Z'] = {  
b = { { style = {, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = DOT,, } },  
{ attr = { }, style = {, } } }  
},  
['^'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['$'] = {  
t = { { attr = {,}, style = {, } } }  
},  
['`'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['a2'] = {  
b = { { style = { ['-'] = DOT,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = ' dashed #000001',, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['a'] = {  
b = { { style = { ['-'] = DOT,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['b2'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = ' dotted #000001',, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['b3'] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = DSH,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['b'] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = DOT,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['c'] = {  
b = { { style = { ['-'] = DSH,, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = SLD,, } },  
{ attr = { }, style = {, } } }  
},  
['d'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = DSH,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['e'] = {  
b = { { style = { ['-'] = SLD,, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = DSH,, } },  
{ attr = { }, style = {, } } }  
},  
['f'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = SLD,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['h'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = DSH,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['i'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['j'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = SLD,, } } }  
},  
['k2'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = DOT,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['k3'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = SLD,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['k'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = DOT,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['l2'] = {  
b = { { style = { ['-'] = DOT,, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = ' dashed #000001',, } },  
{ attr = { }, style = {, } } }  
},  
['l3'] = {  
b = { { style = { ['-'] = DSH,, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = SLD,, } },  
{ attr = { }, style = {, } } }  
},  
['l'] = {  
b = { { style = { ['-'] = DOT,, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = SLD,, } },  
{ attr = { }, style = {, } } }  
},  
['m2'] = {  
b = { { style = { ['-'] = DSH,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DOT,, } } }  
},  
['m'] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DOT,, } } }  
},  
['n2'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = ' dotted #000001',, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['n'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = DOT,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['o2'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = DSH,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['o'] = {  
b = { { style = {, } } },  
t = { { attr = { }, style = { ['-'] = SLD,, } },  
{ style = { ['-bottom'] = DOT,, } } }  
},  
['p2'] = {  
b = { { style = { ['-'] = DSH,, } } },  
t = { { style = { ['-'] = DSH, ['-bottom'] = ' dotted #000001',, } },  
{ attr = { }, style = {, } } }  
},  
['p'] = {  
b = { { style = { ['-'] = SLD,, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = DOT,, } },  
{ attr = { }, style = {, } } }  
},  
['q2'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = ' dashed #000001',, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['q'] = {  
b = { { attr = { }, style = {, } } },  
t = { { style = { ['-'] = DOT, ['-bottom'] = SLD,, } },  
{ style = { ['-bottom'] = SLD,, } } }  
},  
['r2'] = {  
b = { { style = { ['-'] = DOT,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DSH,, } } }  
},  
['r'] = {  
b = { { style = { ['-'] = DOT,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = SLD,, } } }  
},  
['t'] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { style = { ['-'] = SLD, ['-bottom'] = DSH,, } },  
{ style = { ['-bottom'] = DSH,, } } }  
},  
['v'] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = SLD,, } } }  
},  
['x'] = {},  
['y'] = {  
b = { { style = { ['-'] = SLD,, } },  
{ style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DSH,, } } }  
},  
['~'] = {  
b = { { attr = { }, style = {, } } },  
t = { { attr = { }, style = { ['-bottom'] = DSH,, } } }  
}  
}  

local retval = {}  

for k,v in pairs(data) do  
retval[k] = {}  
for k2,v2 in pairs(v) do  
local renderedCells = mw.html.create  
for k3,v3 in ipairs(v2) do  
renderedCells:tag('td'):css(v3.style or {}):attr(v3.attr or {})  
end  
retval[k][k2] = tostring(renderedCells)  
end  
end  

return retval