Module:zu-verbs

Hello, you have come here looking for the meaning of the word Module:zu-verbs. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:zu-verbs, but we will also tell you about its etymology, its characteristics and you will know how to say Module:zu-verbs in singular and plural. Everything you need to know about the word Module:zu-verbs you have here. The definition of the word Module:zu-verbs will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:zu-verbs, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

This module needs documentation.
Please document this module by describing its purpose and usage on the documentation page.

local m_utilities = require("Module:utilities")
local m_links = require("Module:links")
local m_common = require("Module:zu-common")

local lang = require("Module:languages").getByCode("zu")

local export = {}


function export.verb(frame)
	local params = {
		 = {},
		
		 = {type = "boolean"},
		 = {type = "boolean"},
		 = {type = "boolean"},
		 = {type = "boolean"}
		}
	
	local args = require("Module:parameters").process(frame:getParent().args, params)
	
	local data = {forms = {}, info = "", categories = {}}
	
	if args == "L" or args == "H" or args == "HH" then
		data.info = "tone " .. args
		table.insert(data.categories, lang:getCanonicalName() .. " verbs with tone " .. args)
	elseif args then
		error("The tone class must be \"L\", \"H\" or \"HH\".")
	else
		data.info = "tone unknown"
		table.insert(data.categories, "Requests for tone in " .. lang:getCanonicalName() .. " verb entries")
	end
	
	if args then
		data.info = data.info .. ", latent ''i''"
		table.insert(data.categories, lang:getCanonicalName() .. " verbs with latent i")
	end
	
	local glottal = ""
	if args then
		glottal = "-"
	end
	
	local base = mw.ustring.gsub(glottal .. mw.title.getCurrentTitle().subpageText, "a$", "")
	
	local syllables = m_common.split_syllables(glottal .. mw.title.getCurrentTitle().subpageText)
	
	local a = "a"
	local al = "ā"
	local e = "e"
	local e2 = "e"
	local i = "i"   -- preceding consonant
	local i2 = "i"  -- no preceding consonant
	local o2 = "o"
	local u = "u"   -- after b
	local u2 = "u"  -- no preceding consonant
	local u3 = "u"  -- after a consonant other than b
	local w = "w"  -- before the remote past prefix in o- stems
	
	local yi = ""
	local ku = ""
	local initial_vowel = ""
	
	local neg = "i"
	if args or base == "zw" then
		neg = "a"
	end
	
	if syllables == "a" or syllables == "e" or syllables == "o" then
		base = mw.ustring.gsub(base, "^", "")
		initial_vowel = syllables
		a = syllables
		al = syllables .. "̄"
		e = syllables
		e2 = "ey" .. syllables
		i = syllables
		i2 = "y" .. syllables
		o2 = "ow" .. syllables
		u = syllables
		u2 = "w" .. syllables
		u3 = "w" .. syllables
		ku = "kw" .. syllables
		if syllables == "o" then
			u3 = syllables
			w = ""
			ku = "k" .. syllables
		end
		yi = "y" .. syllables
	elseif args then
		a = "e"
		
		ku = "ku"
		yi = "yi"
	elseif #syllables == 1 then
		ku = "ku"
		yi = "yi"
	end
	
	-- Infinitive
	data.forms = {"uk" .. u3 .. base .. "a"}
	data.forms = {"ukung" .. a .. base .. neg}
	
	-- Imperative
	imp_base = mw.ustring.gsub(base, "^-", "")
	data.forms     = {yi .. imp_base .. "a"}
	data.forms     = {yi .. imp_base .. "ani"}
	
	data.forms     = {"-" .. initial_vowel .. imp_base .. "e"}
	data.forms     = {"-" .. initial_vowel .. imp_base .. "eni"}
	
	-- Present
	data.forms = {"ngiy" .. a .. base .. "a", "ng" .. i  .. base .. "a"}
	data.forms = {  "uy" .. a .. base .. "a",         u2 .. base .. "a"}
	data.forms = { "siy" .. a .. base .. "a",  "s" .. i  .. base .. "a"}
	data.forms = { "niy" .. a .. base .. "a",  "n" .. i  .. base .. "a"}
	data.forms  = {  "uy" .. a .. base .. "a",         u2 .. base .. "a"}
	data.forms  = { "bay" .. a .. base .. "a",  "b" .. a  .. base .. "a"}
	data.forms  = {  "uy" .. a .. base .. "a",         u2 .. base .. "a"}
	data.forms  = {  "iy" .. a .. base .. "a",         i2 .. base .. "a"}
	data.forms  = { "liy" .. a .. base .. "a",  "l" .. i  .. base .. "a"}
	data.forms  = {  "ay" .. a .. base .. "a",         a  .. base .. "a"}
	data.forms  = { "siy" .. a .. base .. "a",  "s" .. i  .. base .. "a"}
	data.forms  = { "ziy" .. a .. base .. "a",  "z" .. i  .. base .. "a"}
	data.forms  = {  "iy" .. a .. base .. "a",         i2 .. base .. "a"}
	data.forms = { "ziy" .. a .. base .. "a",  "z" .. i  .. base .. "a"}
	data.forms = { "luy" .. a .. base .. "a",  "l" .. u3 .. base .. "a"}
	data.forms = { "buy" .. a .. base .. "a",  "b" .. u  .. base .. "a"}
	data.forms = { "kuy" .. a .. base .. "a",  "k" .. u3 .. base .. "a"}
	data.forms = { "kuy" .. a .. base .. "a",  "k" .. u3 .. base .. "a"}
	
	data.forms = {"eng" .. i  .. base .. "ayo", "eng" .. i  .. base .. "a"}
	data.forms = {         o2 .. base .. "ayo",          o2 .. base .. "a"}
	data.forms = { "es" .. i  .. base .. "ayo",  "es" .. i  .. base .. "a"}
	data.forms = { "en" .. i  .. base .. "ayo",  "en" .. i  .. base .. "a"}
	data.forms  = {         o2 .. base .. "ayo",          o2 .. base .. "a"}
	data.forms  = { "ab" .. a  .. base .. "ayo",  "ab" .. a  .. base .. "a"}
	data.forms  = {         o2 .. base .. "ayo",          o2 .. base .. "a"}
	data.forms  = {         e2 .. base .. "ayo",          e2 .. base .. "a"}
	data.forms  = { "el" .. i  .. base .. "ayo",  "el" .. i  .. base .. "a"}
	data.forms  = {         a  .. base .. "ayo",          a  .. base .. "a"}
	data.forms  = { "es" .. i  .. base .. "ayo",  "es" .. i  .. base .. "a"}
	data.forms  = { "ez" .. i  .. base .. "ayo",  "ez" .. i  .. base .. "a"}
	data.forms  = {         e2 .. base .. "ayo",          e2 .. base .. "a"}
	data.forms = { "ez" .. i  .. base .. "ayo",  "ez" .. i  .. base .. "a"}
	data.forms = { "ol" .. u3 .. base .. "ayo",  "ol" .. u3 .. base .. "a"}
	data.forms = { "ob" .. u  .. base .. "ayo",  "ob" .. u  .. base .. "a"}
	data.forms = { "ok" .. u3 .. base .. "ayo",  "ok" .. u3 .. base .. "a"}
	data.forms = { "ok" .. u3 .. base .. "ayo",  "ok" .. u3 .. base .. "a"}
	
	data.forms = {"ng" .. i  .. base .. "a"}
	data.forms = {        u2 .. base .. "a"}
	data.forms = { "s" .. i  .. base .. "a"}
	data.forms = { "n" .. i  .. base .. "a"}
	data.forms  = {        e  .. base .. "a"}
	data.forms  = { "b" .. e  .. base .. "a"}
	data.forms  = {        u2 .. base .. "a"}
	data.forms  = {        i2 .. base .. "a"}
	data.forms  = { "l" .. i  .. base .. "a"}
	data.forms  = {        e  .. base .. "a"}
	data.forms  = { "s" .. i  .. base .. "a"}
	data.forms  = { "z" .. i  .. base .. "a"}
	data.forms  = {        i2 .. base .. "a"}
	data.forms = { "z" .. i  .. base .. "a"}
	data.forms = { "l" .. u3 .. base .. "a"}
	data.forms = { "b" .. u  .. base .. "a"}
	data.forms = { "k" .. u3 .. base .. "a"}
	data.forms = { "k" .. u3 .. base .. "a"}
	
	data.forms = {"ang" .. i  .. base .. neg}
	data.forms = { "aw" .. u  .. base .. neg}
	data.forms = { "as" .. i  .. base .. neg}
	data.forms = { "an" .. i  .. base .. neg}
	data.forms  = { "ak" .. a  .. base .. neg}
	data.forms  = { "ab" .. a  .. base .. neg}
	data.forms  = { "aw" .. u  .. base .. neg}
	data.forms  = { "ay" .. i  .. base .. neg}
	data.forms  = { "al" .. i  .. base .. neg}
	data.forms  = { "aw" .. a  .. base .. neg}
	data.forms  = { "as" .. i  .. base .. neg}
	data.forms  = { "az" .. i  .. base .. neg}
	data.forms  = { "ay" .. i  .. base .. neg}
	data.forms = { "az" .. i  .. base .. neg}
	data.forms = { "al" .. u3 .. base .. neg}
	data.forms = { "ab" .. u  .. base .. neg}
	data.forms = { "ak" .. u3 .. base .. neg}
	data.forms = { "ak" .. u3 .. base .. neg}
	
	data.forms = {"enging" .. a  .. base .. neg}
	data.forms = {   "ong" .. a  .. base .. neg}
	data.forms = { "esing" .. a  .. base .. neg}
	data.forms = { "ening" .. a  .. base .. neg}
	data.forms  = {   "ong" .. a  .. base .. neg}
	data.forms  = { "abang" .. a  .. base .. neg}
	data.forms  = {   "ong" .. a  .. base .. neg}
	data.forms  = {   "eng" .. a  .. base .. neg}
	data.forms  = { "eling" .. a  .. base .. neg}
	data.forms  = {   "ang" .. a  .. base .. neg}
	data.forms  = { "esing" .. a  .. base .. neg}
	data.forms  = { "ezing" .. a  .. base .. neg}
	data.forms  = {   "eng" .. a  .. base .. neg}
	data.forms = { "ezing" .. a  .. base .. neg}
	data.forms = { "olung" .. a  .. base .. neg}
	data.forms = { "obung" .. a  .. base .. neg}
	data.forms = { "okung" .. a  .. base .. neg}
	data.forms = { "okung" .. a  .. base .. neg}
	
	data.forms = {"nging" .. a  .. base .. neg}
	data.forms = {  "ung" .. a  .. base .. neg}
	data.forms = { "sing" .. a  .. base .. neg}
	data.forms = { "ning" .. a  .. base .. neg}
	data.forms  = {  "eng" .. a  .. base .. neg}
	data.forms  = { "beng" .. a  .. base .. neg}
	data.forms  = {  "ung" .. a  .. base .. neg}
	data.forms  = {  "ing" .. a  .. base .. neg}
	data.forms  = { "ling" .. a  .. base .. neg}
	data.forms  = {  "eng" .. a  .. base .. neg}
	data.forms  = { "sing" .. a  .. base .. neg}
	data.forms  = { "zing" .. a  .. base .. neg}
	data.forms  = {  "ing" .. a  .. base .. neg}
	data.forms = { "zing" .. a  .. base .. neg}
	data.forms = { "lung" .. a  .. base .. neg}
	data.forms = { "bung" .. a  .. base .. neg}
	data.forms = { "kung" .. a  .. base .. neg}
	data.forms = { "kung" .. a  .. base .. neg}
	
	-- Recent past
	if args then
		local base2, pass_recp_long, pass_recp_short
		if mw.ustring.find(base, "iw$") then
			base2 = base
			pass_recp_long = "e"
			pass_recp_short = "ē"
		else
			base2 = mw.ustring.gsub(base, "w$", "")
			pass_recp_long = "iwe"
			pass_recp_short = "wē"
		end
		
		data.forms = {"ng" .. i  .. base2 .. pass_recp_long, "ng" .. i  .. base2 .. pass_recp_short}
		data.forms = {        u2 .. base2 .. pass_recp_long,         u2 .. base2 .. pass_recp_short}
		data.forms = { "s" .. i  .. base2 .. pass_recp_long,  "s" .. i  .. base2 .. pass_recp_short}
		data.forms = { "n" .. i  .. base2 .. pass_recp_long,  "n" .. i  .. base2 .. pass_recp_short}
		data.forms  = {        u2 .. base2 .. pass_recp_long,         u2 .. base2 .. pass_recp_short}
		data.forms  = { "b" .. a  .. base2 .. pass_recp_long,  "b" .. a  .. base2 .. pass_recp_short}
		data.forms  = {        u2 .. base2 .. pass_recp_long,         u2 .. base2 .. pass_recp_short}
		data.forms  = {        i2 .. base2 .. pass_recp_long,         i2 .. base2 .. pass_recp_short}
		data.forms  = { "l" .. i  .. base2 .. pass_recp_long,  "l" .. i  .. base2 .. pass_recp_short}
		data.forms  = {        a  .. base2 .. pass_recp_long,         a  .. base2 .. pass_recp_short}
		data.forms  = { "s" .. i  .. base2 .. pass_recp_long,  "s" .. i  .. base2 .. pass_recp_short}
		data.forms  = { "z" .. i  .. base2 .. pass_recp_long,  "z" .. i  .. base2 .. pass_recp_short}
		data.forms  = {        i2 .. base2 .. pass_recp_long,         i2 .. base2 .. pass_recp_short}
		data.forms = { "z" .. i  .. base2 .. pass_recp_long,  "z" .. i  .. base2 .. pass_recp_short}
		data.forms = { "l" .. u3 .. base2 .. pass_recp_long,  "l" .. u3 .. base2 .. pass_recp_short}
		data.forms = { "b" .. u  .. base2 .. pass_recp_long,  "b" .. u  .. base2 .. pass_recp_short}
		data.forms = { "k" .. u3 .. base2 .. pass_recp_long,  "k" .. u3 .. base2 .. pass_recp_short}
		data.forms = { "k" .. u3 .. base2 .. pass_recp_long,  "k" .. u3 .. base2 .. pass_recp_short}
		
		data.forms = {"eng" .. i  .. base2 .. pass_recp_long, "eng" .. i  .. base2 .. pass_recp_short}
		data.forms = {         o2 .. base2 .. pass_recp_long,          o2 .. base2 .. pass_recp_short}
		data.forms = { "es" .. i  .. base2 .. pass_recp_long,  "es" .. i  .. base2 .. pass_recp_short}
		data.forms = { "en" .. i  .. base2 .. pass_recp_long,  "en" .. i  .. base2 .. pass_recp_short}
		data.forms  = {         o2 .. base2 .. pass_recp_long,          o2 .. base2 .. pass_recp_short}
		data.forms  = { "ab" .. a  .. base2 .. pass_recp_long,  "ab" .. a  .. base2 .. pass_recp_short}
		data.forms  = {         o2 .. base2 .. pass_recp_long,          o2 .. base2 .. pass_recp_short}
		data.forms  = {         e2 .. base2 .. pass_recp_long,          e2 .. base2 .. pass_recp_short}
		data.forms  = { "el" .. i  .. base2 .. pass_recp_long,  "el" .. i  .. base2 .. pass_recp_short}
		data.forms  = {         a  .. base2 .. pass_recp_long,          a  .. base2 .. pass_recp_short}
		data.forms  = { "es" .. i  .. base2 .. pass_recp_long,  "es" .. i  .. base2 .. pass_recp_short}
		data.forms  = { "ez" .. i  .. base2 .. pass_recp_long,  "ez" .. i  .. base2 .. pass_recp_short}
		data.forms  = {         e2 .. base2 .. pass_recp_long,          e2 .. base2 .. pass_recp_short}
		data.forms = { "ez" .. i  .. base2 .. pass_recp_long,  "ez" .. i  .. base2 .. pass_recp_short}
		data.forms = { "ol" .. u3 .. base2 .. pass_recp_long,  "ol" .. u3 .. base2 .. pass_recp_short}
		data.forms = { "ob" .. u  .. base2 .. pass_recp_long,  "ob" .. u  .. base2 .. pass_recp_short}
		data.forms = { "ok" .. u3 .. base2 .. pass_recp_long,  "ok" .. u3 .. base2 .. pass_recp_short}
		data.forms = { "ok" .. u3 .. base2 .. pass_recp_long,  "ok" .. u3 .. base2 .. pass_recp_short}
		
		data.forms = {"ng" .. i  .. base2 .. pass_recp_long, "ng" .. i  .. base2 .. pass_recp_short}
		data.forms = {        u2 .. base2 .. pass_recp_long,         u2 .. base2 .. pass_recp_short}
		data.forms = { "s" .. i  .. base2 .. pass_recp_long,  "s" .. i  .. base2 .. pass_recp_short}
		data.forms = { "n" .. i  .. base2 .. pass_recp_long,  "n" .. i  .. base2 .. pass_recp_short}
		data.forms  = {        e  .. base2 .. pass_recp_long,         e  .. base2 .. pass_recp_short}
		data.forms  = { "b" .. e  .. base2 .. pass_recp_long,  "b" .. e  .. base2 .. pass_recp_short}
		data.forms  = {        u2 .. base2 .. pass_recp_long,         u2 .. base2 .. pass_recp_short}
		data.forms  = {        i2 .. base2 .. pass_recp_long,         i2 .. base2 .. pass_recp_short}
		data.forms  = { "l" .. i  .. base2 .. pass_recp_long,  "l" .. i  .. base2 .. pass_recp_short}
		data.forms  = {        e  .. base2 .. pass_recp_long,         e  .. base2 .. pass_recp_short}
		data.forms  = { "s" .. i  .. base2 .. pass_recp_long,  "s" .. i  .. base2 .. pass_recp_short}
		data.forms  = { "z" .. i  .. base2 .. pass_recp_long,  "z" .. i  .. base2 .. pass_recp_short}
		data.forms  = {        i2 .. base2 .. pass_recp_long,         i2 .. base2 .. pass_recp_short}
		data.forms = { "z" .. i  .. base2 .. pass_recp_long,  "z" .. i  .. base2 .. pass_recp_short}
		data.forms = { "l" .. u3 .. base2 .. pass_recp_long,  "l" .. u3 .. base2 .. pass_recp_short}
		data.forms = { "b" .. u  .. base2 .. pass_recp_long,  "b" .. u  .. base2 .. pass_recp_short}
		data.forms = { "k" .. u3 .. base2 .. pass_recp_long,  "k" .. u3 .. base2 .. pass_recp_short}
		data.forms = { "k" .. u3 .. base2 .. pass_recp_long,  "k" .. u3 .. base2 .. pass_recp_short}
	else
		data.forms = {"ng" .. i  .. base .. "ile", "ng" .. i  .. base .. "ē"}
		data.forms = {        u2 .. base .. "ile",         u2 .. base .. "ē"}
		data.forms = { "s" .. i  .. base .. "ile",  "s" .. i  .. base .. "ē"}
		data.forms = { "n" .. i  .. base .. "ile",  "n" .. i  .. base .. "ē"}
		data.forms  = {        u2 .. base .. "ile",         u2 .. base .. "ē"}
		data.forms  = { "b" .. a  .. base .. "ile",  "b" .. a  .. base .. "ē"}
		data.forms  = {        u2 .. base .. "ile",         u2 .. base .. "ē"}
		data.forms  = {        i2 .. base .. "ile",         i2 .. base .. "ē"}
		data.forms  = { "l" .. i  .. base .. "ile",  "l" .. i  .. base .. "ē"}
		data.forms  = {        a  .. base .. "ile",         a  .. base .. "ē"}
		data.forms  = { "s" .. i  .. base .. "ile",  "s" .. i  .. base .. "ē"}
		data.forms  = { "z" .. i  .. base .. "ile",  "z" .. i  .. base .. "ē"}
		data.forms  = {        i2 .. base .. "ile",         i2 .. base .. "ē"}
		data.forms = { "z" .. i  .. base .. "ile",  "z" .. i  .. base .. "ē"}
		data.forms = { "l" .. u3 .. base .. "ile",  "l" .. u3 .. base .. "ē"}
		data.forms = { "b" .. u  .. base .. "ile",  "b" .. u  .. base .. "ē"}
		data.forms = { "k" .. u3 .. base .. "ile",  "k" .. u3 .. base .. "ē"}
		data.forms = { "k" .. u3 .. base .. "ile",  "k" .. u3 .. base .. "ē"}
		
		data.forms = {"eng" .. i  .. base .. "ile", "eng" .. i  .. base .. "ē"}
		data.forms = {         o2 .. base .. "ile",          o2 .. base .. "ē"}
		data.forms = { "es" .. i  .. base .. "ile",  "es" .. i  .. base .. "ē"}
		data.forms = { "en" .. i  .. base .. "ile",  "en" .. i  .. base .. "ē"}
		data.forms  = {         o2 .. base .. "ile",          o2 .. base .. "ē"}
		data.forms  = { "ab" .. a  .. base .. "ile",  "ab" .. a  .. base .. "ē"}
		data.forms  = {         o2 .. base .. "ile",          o2 .. base .. "ē"}
		data.forms  = {         e2 .. base .. "ile",          e2 .. base .. "ē"}
		data.forms  = { "el" .. i  .. base .. "ile",  "el" .. i  .. base .. "ē"}
		data.forms  = {         a  .. base .. "ile",          a  .. base .. "ē"}
		data.forms  = { "es" .. i  .. base .. "ile",  "es" .. i  .. base .. "ē"}
		data.forms  = { "ez" .. i  .. base .. "ile",  "ez" .. i  .. base .. "ē"}
		data.forms  = {         e2 .. base .. "ile",          e2 .. base .. "ē"}
		data.forms = { "ez" .. i  .. base .. "ile",  "ez" .. i  .. base .. "ē"}
		data.forms = { "ol" .. u3 .. base .. "ile",  "ol" .. u3 .. base .. "ē"}
		data.forms = { "ob" .. u  .. base .. "ile",  "ob" .. u  .. base .. "ē"}
		data.forms = { "ok" .. u3 .. base .. "ile",  "ok" .. u3 .. base .. "ē"}
		data.forms = { "ok" .. u3 .. base .. "ile",  "ok" .. u3 .. base .. "ē"}
		
		data.forms = {"ng" .. i  .. base .. "ile", "ng" .. i  .. base .. "ē"}
		data.forms = {        u2 .. base .. "ile",         u2 .. base .. "ē"}
		data.forms = { "s" .. i  .. base .. "ile",  "s" .. i  .. base .. "ē"}
		data.forms = { "n" .. i  .. base .. "ile",  "n" .. i  .. base .. "ē"}
		data.forms  = {        e  .. base .. "ile",         e  .. base .. "ē"}
		data.forms  = { "b" .. e  .. base .. "ile",  "b" .. e  .. base .. "ē"}
		data.forms  = {        u2 .. base .. "ile",         u2 .. base .. "ē"}
		data.forms  = {        i2 .. base .. "ile",         i2 .. base .. "ē"}
		data.forms  = { "l" .. i  .. base .. "ile",  "l" .. i  .. base .. "ē"}
		data.forms  = {        e  .. base .. "ile",         e  .. base .. "ē"}
		data.forms  = { "s" .. i  .. base .. "ile",  "s" .. i  .. base .. "ē"}
		data.forms  = { "z" .. i  .. base .. "ile",  "z" .. i  .. base .. "ē"}
		data.forms  = {        i2 .. base .. "ile",         i2 .. base .. "ē"}
		data.forms = { "z" .. i  .. base .. "ile",  "z" .. i  .. base .. "ē"}
		data.forms = { "l" .. u3 .. base .. "ile",  "l" .. u3 .. base .. "ē"}
		data.forms = { "b" .. u  .. base .. "ile",  "b" .. u  .. base .. "ē"}
		data.forms = { "k" .. u3 .. base .. "ile",  "k" .. u3 .. base .. "ē"}
		data.forms = { "k" .. u3 .. base .. "ile",  "k" .. u3 .. base .. "ē"}
	end
	
	data.forms = {"ang" .. i  .. base .. "anga"}
	data.forms = { "aw" .. u  .. base .. "anga"}
	data.forms = { "as" .. i  .. base .. "anga"}
	data.forms = { "an" .. i  .. base .. "anga"}
	data.forms  = { "ak" .. a  .. base .. "anga"}
	data.forms  = { "ab" .. a  .. base .. "anga"}
	data.forms  = { "aw" .. u  .. base .. "anga"}
	data.forms  = { "ay" .. i  .. base .. "anga"}
	data.forms  = { "al" .. i  .. base .. "anga"}
	data.forms  = { "aw" .. a  .. base .. "anga"}
	data.forms  = { "as" .. i  .. base .. "anga"}
	data.forms  = { "az" .. i  .. base .. "anga"}
	data.forms  = { "ay" .. i  .. base .. "anga"}
	data.forms = { "az" .. i  .. base .. "anga"}
	data.forms = { "al" .. u3 .. base .. "anga"}
	data.forms = { "ab" .. u  .. base .. "anga"}
	data.forms = { "ak" .. u3 .. base .. "anga"}
	data.forms = { "ak" .. u3 .. base .. "anga"}
	
	data.forms = {"enging" .. a  .. base .. "anga"}
	data.forms = {   "ong" .. a  .. base .. "anga"}
	data.forms = { "esing" .. a  .. base .. "anga"}
	data.forms = { "ening" .. a  .. base .. "anga"}
	data.forms  = {   "ong" .. a  .. base .. "anga"}
	data.forms  = { "abang" .. a  .. base .. "anga"}
	data.forms  = {   "ong" .. a  .. base .. "anga"}
	data.forms  = {   "eng" .. a  .. base .. "anga"}
	data.forms  = { "eling" .. a  .. base .. "anga"}
	data.forms  = {   "ang" .. a  .. base .. "anga"}
	data.forms  = { "esing" .. a  .. base .. "anga"}
	data.forms  = { "ezing" .. a  .. base .. "anga"}
	data.forms  = {   "eng" .. a  .. base .. "anga"}
	data.forms = { "ezing" .. a  .. base .. "anga"}
	data.forms = { "olung" .. a  .. base .. "anga"}
	data.forms = { "obung" .. a  .. base .. "anga"}
	data.forms = { "okung" .. a  .. base .. "anga"}
	data.forms = { "okung" .. a  .. base .. "anga"}
	
	data.forms = {"nging" .. a .. base .. "anga"}
	data.forms = {  "ung" .. a .. base .. "anga"}
	data.forms = { "sing" .. a .. base .. "anga"}
	data.forms = { "ning" .. a .. base .. "anga"}
	data.forms  = {  "eng" .. a .. base .. "anga"}
	data.forms  = { "beng" .. a .. base .. "anga"}
	data.forms  = {  "ung" .. a .. base .. "anga"}
	data.forms  = {  "ing" .. a .. base .. "anga"}
	data.forms  = { "ling" .. a .. base .. "anga"}
	data.forms  = {  "eng" .. a .. base .. "anga"}
	data.forms  = { "sing" .. a .. base .. "anga"}
	data.forms  = { "zing" .. a .. base .. "anga"}
	data.forms  = {  "ing" .. a .. base .. "anga"}
	data.forms = { "zing" .. a .. base .. "anga"}
	data.forms = { "lung" .. a .. base .. "anga"}
	data.forms = { "bung" .. a .. base .. "anga"}
	data.forms = { "kung" .. a .. base .. "anga"}
	data.forms = { "kung" .. a .. base .. "anga"}
	
	-- Stative
	if base == "hlal" then
		local base2 = mw.ustring.gsub(base, "a", "e")
		local base3 = mw.ustring.gsub(base2, "l$", "z")
		
		data.forms = {"ng" .. i  .. base2 .. "i", "ng" .. i  .. base3 .. "i"}
		data.forms = {        u2 .. base2 .. "i",         u2 .. base3 .. "i"}
		data.forms = { "s" .. i  .. base2 .. "i",  "s" .. i  .. base3 .. "i"}
		data.forms = { "n" .. i  .. base2 .. "i",  "n" .. i  .. base3 .. "i"}
		data.forms  = {        u2 .. base2 .. "i",         u2 .. base3 .. "i"}
		data.forms  = { "b" .. a  .. base2 .. "i",  "b" .. a  .. base3 .. "i"}
		data.forms  = {        u2 .. base2 .. "i",         u2 .. base3 .. "i"}
		data.forms  = {        i2 .. base2 .. "i",         i2 .. base3 .. "i"}
		data.forms  = { "l" .. i  .. base2 .. "i",  "l" .. i  .. base3 .. "i"}
		data.forms  = {        a  .. base2 .. "i",         a  .. base3 .. "i"}
		data.forms  = { "s" .. i  .. base2 .. "i",  "s" .. i  .. base3 .. "i"}
		data.forms  = { "z" .. i  .. base2 .. "i",  "z" .. i  .. base3 .. "i"}
		data.forms  = {        i2 .. base2 .. "i",         i2 .. base3 .. "i"}
		data.forms = { "z" .. i  .. base2 .. "i",  "z" .. i  .. base3 .. "i"}
		data.forms = { "l" .. u3 .. base2 .. "i",  "l" .. u3 .. base3 .. "i"}
		data.forms = { "b" .. u  .. base2 .. "i",  "b" .. u  .. base3 .. "i"}
		data.forms = { "k" .. u3 .. base2 .. "i",  "k" .. u3 .. base3 .. "i"}
		data.forms = { "k" .. u3 .. base2 .. "i",  "k" .. u3 .. base3 .. "i"}
		
		data.forms = {"eng" .. i  .. base2 .. "i", "eng" .. i  .. base3 .. "i"}
		data.forms = {         o2 .. base2 .. "i",          o2 .. base3 .. "i"}
		data.forms = { "es" .. i  .. base2 .. "i",  "es" .. i  .. base3 .. "i"}
		data.forms = { "en" .. i  .. base2 .. "i",  "en" .. i  .. base3 .. "i"}
		data.forms  = {         o2 .. base2 .. "i",          o2 .. base3 .. "i"}
		data.forms  = { "ab" .. a  .. base2 .. "i",  "ab" .. a  .. base3 .. "i"}
		data.forms  = {         o2 .. base2 .. "i",          o2 .. base3 .. "i"}
		data.forms  = {         e2 .. base2 .. "i",          e2 .. base3 .. "i"}
		data.forms  = { "el" .. i  .. base2 .. "i",  "el" .. i  .. base3 .. "i"}
		data.forms  = {         a  .. base2 .. "i",          a  .. base3 .. "i"}
		data.forms  = { "es" .. i  .. base2 .. "i",  "es" .. i  .. base3 .. "i"}
		data.forms  = { "ez" .. i  .. base2 .. "i",  "ez" .. i  .. base3 .. "i"}
		data.forms  = {         e2 .. base2 .. "i",          e2 .. base3 .. "i"}
		data.forms = { "ez" .. i  .. base2 .. "i",  "ez" .. i  .. base3 .. "i"}
		data.forms = { "ol" .. u3 .. base2 .. "i",  "ol" .. u3 .. base3 .. "i"}
		data.forms = { "ob" .. u  .. base2 .. "i",  "ob" .. u  .. base3 .. "i"}
		data.forms = { "ok" .. u3 .. base2 .. "i",  "ok" .. u3 .. base3 .. "i"}
		data.forms = { "ok" .. u3 .. base2 .. "i",  "ok" .. u3 .. base3 .. "i"}
		
		data.forms = {"ng" .. i  .. base2 .. "i", "ng" .. i  .. base3 .. "i"}
		data.forms = {        u2 .. base2 .. "i",         u2 .. base3 .. "i"}
		data.forms = { "s" .. i  .. base2 .. "i",  "s" .. i  .. base3 .. "i"}
		data.forms = { "n" .. i  .. base2 .. "i",  "n" .. i  .. base3 .. "i"}
		data.forms  = {        e  .. base2 .. "i",         e  .. base3 .. "i"}
		data.forms  = { "b" .. e  .. base2 .. "i",  "b" .. e  .. base3 .. "i"}
		data.forms  = {        u2 .. base2 .. "i",         u2 .. base3 .. "i"}
		data.forms  = {        i2 .. base2 .. "i",         i2 .. base3 .. "i"}
		data.forms  = { "l" .. i  .. base2 .. "i",  "l" .. i  .. base3 .. "i"}
		data.forms  = {        e  .. base2 .. "i",         e  .. base3 .. "i"}
		data.forms  = { "s" .. i  .. base2 .. "i",  "s" .. i  .. base3 .. "i"}
		data.forms  = { "z" .. i  .. base2 .. "i",  "z" .. i  .. base3 .. "i"}
		data.forms  = {        i2 .. base2 .. "i",         i2 .. base3 .. "i"}
		data.forms = { "z" .. i  .. base2 .. "i",  "z" .. i  .. base3 .. "i"}
		data.forms = { "l" .. u3 .. base2 .. "i",  "l" .. u3 .. base3 .. "i"}
		data.forms = { "b" .. u  .. base2 .. "i",  "b" .. u  .. base3 .. "i"}
		data.forms = { "k" .. u3 .. base2 .. "i",  "k" .. u3 .. base3 .. "i"}
		data.forms = { "k" .. u3 .. base2 .. "i",  "k" .. u3 .. base3 .. "i"}
		
		data.forms = {"ang" .. i ..  base2 .. "i", "ang" .. i ..  base3 .. "i"}
		data.forms = { "aw" .. u ..  base2 .. "i",  "aw" .. u ..  base3 .. "i"}
		data.forms = { "as" .. i ..  base2 .. "i",  "as" .. i ..  base3 .. "i"}
		data.forms = { "an" .. i ..  base2 .. "i",  "an" .. i ..  base3 .. "i"}
		data.forms  = { "ak" .. a ..  base2 .. "i",  "ak" .. a ..  base3 .. "i"}
		data.forms  = { "ab" .. a ..  base2 .. "i",  "ab" .. a ..  base3 .. "i"}
		data.forms  = { "aw" .. u ..  base2 .. "i",  "aw" .. u ..  base3 .. "i"}
		data.forms  = { "ay" .. i ..  base2 .. "i",  "ay" .. i ..  base3 .. "i"}
		data.forms  = { "al" .. i ..  base2 .. "i",  "al" .. i ..  base3 .. "i"}
		data.forms  = { "aw" .. a ..  base2 .. "i",  "aw" .. a ..  base3 .. "i"}
		data.forms  = { "as" .. i ..  base2 .. "i",  "as" .. i ..  base3 .. "i"}
		data.forms  = { "az" .. i ..  base2 .. "i",  "az" .. i ..  base3 .. "i"}
		data.forms  = { "ay" .. i ..  base2 .. "i",  "ay" .. i ..  base3 .. "i"}
		data.forms = { "az" .. i ..  base2 .. "i",  "az" .. i ..  base3 .. "i"}
		data.forms = { "al" .. u3 .. base2 .. "i",  "al" .. u3 .. base3 .. "i"}
		data.forms = { "ab" .. u  .. base2 .. "i",  "ab" .. u  .. base3 .. "i"}
		data.forms = { "ak" .. u3 .. base2 .. "i",  "ak" .. u3 .. base3 .. "i"}
		data.forms = { "ak" .. u3 .. base2 .. "i",  "ak" .. u3 .. base3 .. "i"}
		
		data.forms = { "enging" .. a .. base2 .. "i",  "enging" .. a .. base3 .. "i"}
		data.forms = { "ong"    .. a .. base2 .. "i",  "ong"    .. a .. base3 .. "i"}
		data.forms = { "esing"  .. a .. base2 .. "i",  "esing"  .. a .. base3 .. "i"}
		data.forms = { "ening"  .. a .. base2 .. "i",  "ening"  .. a .. base3 .. "i"}
		data.forms  = { "ong"    .. a .. base2 .. "i",  "ong"    .. a .. base3 .. "i"}
		data.forms  = { "abang"  .. a .. base2 .. "i",  "abang"  .. a .. base3 .. "i"}
		data.forms  = { "ong"    .. a .. base2 .. "i",  "ong"    .. a .. base3 .. "i"}
		data.forms  = { "eng"    .. a .. base2 .. "i",  "eng"    .. a .. base3 .. "i"}
		data.forms  = { "eling"  .. a .. base2 .. "i",  "eling"  .. a .. base3 .. "i"}
		data.forms  = { "ang"    .. a .. base2 .. "i",  "ang"    .. a .. base3 .. "i"}
		data.forms  = { "esing"  .. a .. base2 .. "i",  "esing"  .. a .. base3 .. "i"}
		data.forms  = { "ezing"  .. a .. base2 .. "i",  "ezing"  .. a .. base3 .. "i"}
		data.forms  = { "eng"    .. a .. base2 .. "i",  "eng"    .. a .. base3 .. "i"}
		data.forms = { "ezing"  .. a .. base2 .. "i",  "ezing"  .. a .. base3 .. "i"}
		data.forms = { "olung"  .. a .. base2 .. "i",  "olung"  .. a .. base3 .. "i"}
		data.forms = { "obung"  .. a .. base2 .. "i",  "obung"  .. a .. base3 .. "i"}
		data.forms = { "okung"  .. a .. base2 .. "i",  "okung"  .. a .. base3 .. "i"}
		data.forms = { "okung"  .. a .. base2 .. "i",  "okung"  .. a .. base3 .. "i"}
		
		data.forms = { "nging" .. a .. base2 .. "i",  "nging" .. a .. base3 .. "i"}
		data.forms = { "ung"   .. a .. base2 .. "i",  "ung"   .. a .. base3 .. "i"}
		data.forms = { "sing"  .. a .. base2 .. "i",  "sing"  .. a .. base3 .. "i"}
		data.forms = { "ning"  .. a .. base2 .. "i",  "ning"  .. a .. base3 .. "i"}
		data.forms  = { "eng"   .. a .. base2 .. "i",  "eng"   .. a .. base3 .. "i"}
		data.forms  = { "beng"  .. a .. base2 .. "i",  "beng"  .. a .. base3 .. "i"}
		data.forms  = { "ong"   .. a .. base2 .. "i",  "ong"   .. a .. base3 .. "i"}
		data.forms  = { "ing"   .. a .. base2 .. "i",  "ing"   .. a .. base3 .. "i"}
		data.forms  = { "ling"  .. a .. base2 .. "i",  "ling"  .. a .. base3 .. "i"}
		data.forms  = { "eng"   .. a .. base2 .. "i",  "eng"   .. a .. base3 .. "i"}
		data.forms  = { "sing"  .. a .. base2 .. "i",  "sing"  .. a .. base3 .. "i"}
		data.forms  = { "zing"  .. a .. base2 .. "i",  "zing"  .. a .. base3 .. "i"}
		data.forms  = { "ing"   .. a .. base2 .. "i",  "ing"   .. a .. base3 .. "i"}
		data.forms = { "zing"  .. a .. base2 .. "i",  "zing"  .. a .. base3 .. "i"}
		data.forms = { "lung"  .. a .. base2 .. "i",  "lung"  .. a .. base3 .. "i"}
		data.forms = { "bung"  .. a .. base2 .. "i",  "bung"  .. a .. base3 .. "i"}
		data.forms = { "kung"  .. a .. base2 .. "i",  "kung"  .. a .. base3 .. "i"}
		data.forms = { "kung"  .. a .. base2 .. "i",  "kung"  .. a .. base3 .. "i"}
	elseif base == "suth" or (base == "m" and initial_vowel ~= "o") then
		data.forms = {"ng" .. i  .. base .. "i"}
		data.forms = {        u2 .. base .. "i"}
		data.forms = { "s" .. i  .. base .. "i"}
		data.forms = { "n" .. i  .. base .. "i"}
		data.forms  = {        u2 .. base .. "i"}
		data.forms  = { "b" .. a  .. base .. "i"}
		data.forms  = {        u2 .. base .. "i"}
		data.forms  = {        i2 .. base .. "i"}
		data.forms  = { "l" .. i  .. base .. "i"}
		data.forms  = {        a  .. base .. "i"}
		data.forms  = { "s" .. i  .. base .. "i"}
		data.forms  = { "z" .. i  .. base .. "i"}
		data.forms  = {        i2 .. base .. "i"}
		data.forms = { "z" .. i  .. base .. "i"}
		data.forms = { "l" .. u3 .. base .. "i"}
		data.forms = { "b" .. u  .. base .. "i"}
		data.forms = { "k" .. u3 .. base .. "i"}
		data.forms = { "k" .. u3 .. base .. "i"}
		
		data.forms = {"eng" .. i  .. base .. "i"}
		data.forms = {         o2 .. base .. "i"}
		data.forms = { "es" .. i  .. base .. "i"}
		data.forms = { "en" .. i  .. base .. "i"}
		data.forms  = {         o2 .. base .. "i"}
		data.forms  = { "ab" .. a  .. base .. "i"}
		data.forms  = {         o2 .. base .. "i"}
		data.forms  = {         e2 .. base .. "i"}
		data.forms  = { "el" .. i  .. base .. "i"}
		data.forms  = {         a  .. base .. "i"}
		data.forms  = { "es" .. i  .. base .. "i"}
		data.forms  = { "ez" .. i  .. base .. "i"}
		data.forms  = {         e2 .. base .. "i"}
		data.forms = { "ez" .. i  .. base .. "i"}
		data.forms = { "ol" .. u3 .. base .. "i"}
		data.forms = { "ob" .. u  .. base .. "i"}
		data.forms = { "ok" .. u3 .. base .. "i"}
		data.forms = { "ok" .. u3 .. base .. "i"}
		
		data.forms = {"ng" .. i  .. base .. "i"}
		data.forms = {        u2 .. base .. "i"}
		data.forms = { "s" .. i  .. base .. "i"}
		data.forms = { "n" .. i  .. base .. "i"}
		data.forms  = {        e  .. base .. "i"}
		data.forms  = { "b" .. e  .. base .. "i"}
		data.forms  = {        u2 .. base .. "i"}
		data.forms  = {        i2 .. base .. "i"}
		data.forms  = { "l" .. i  .. base .. "i"}
		data.forms  = {        e  .. base .. "i"}
		data.forms  = { "s" .. i  .. base .. "i"}
		data.forms  = { "z" .. i  .. base .. "i"}
		data.forms  = {        i2 .. base .. "i"}
		data.forms = { "z" .. i  .. base .. "i"}
		data.forms = { "l" .. u3 .. base .. "i"}
		data.forms = { "b" .. u  .. base .. "i"}
		data.forms = { "k" .. u3 .. base .. "i"}
		data.forms = { "k" .. u3 .. base .. "i"}
		
		data.forms = {"ang" .. i ..  base .. "i"}
		data.forms = { "aw" .. u ..  base .. "i"}
		data.forms = { "as" .. i ..  base .. "i"}
		data.forms = { "an" .. i ..  base .. "i"}
		data.forms  = { "ak" .. a ..  base .. "i"}
		data.forms  = { "ab" .. a ..  base .. "i"}
		data.forms  = { "aw" .. u ..  base .. "i"}
		data.forms  = { "ay" .. i ..  base .. "i"}
		data.forms  = { "al" .. i ..  base .. "i"}
		data.forms  = { "aw" .. a ..  base .. "i"}
		data.forms  = { "as" .. i ..  base .. "i"}
		data.forms  = { "az" .. i ..  base .. "i"}
		data.forms  = { "ay" .. i ..  base .. "i"}
		data.forms = { "az" .. i ..  base .. "i"}
		data.forms = { "al" .. u3 .. base .. "i"}
		data.forms = { "ab" .. u  .. base .. "i"}
		data.forms = { "ak" .. u3 .. base .. "i"}
		data.forms = { "ak" .. u3 .. base .. "i"}
		
		data.forms = { "enging" .. a .. base .. "i"}
		data.forms = { "ong"    .. a .. base .. "i"}
		data.forms = { "esing"  .. a .. base .. "i"}
		data.forms = { "ening"  .. a .. base .. "i"}
		data.forms  = { "ong"    .. a .. base .. "i"}
		data.forms  = { "abang"  .. a .. base .. "i"}
		data.forms  = { "ong"    .. a .. base .. "i"}
		data.forms  = { "eng"    .. a .. base .. "i"}
		data.forms  = { "eling"  .. a .. base .. "i"}
		data.forms  = { "ang"    .. a .. base .. "i"}
		data.forms  = { "esing"  .. a .. base .. "i"}
		data.forms  = { "ezing"  .. a .. base .. "i"}
		data.forms  = { "eng"    .. a .. base .. "i"}
		data.forms = { "ezing"  .. a .. base .. "i"}
		data.forms = { "olung"  .. a .. base .. "i"}
		data.forms = { "obung"  .. a .. base .. "i"}
		data.forms = { "okung"  .. a .. base .. "i"}
		data.forms = { "okung"  .. a .. base .. "i"}
		
		data.forms = { "nging" .. a .. base .. "i"}
		data.forms = { "ung"   .. a .. base .. "i"}
		data.forms = { "sing"  .. a .. base .. "i"}
		data.forms = { "ning"  .. a .. base .. "i"}
		data.forms  = { "eng"   .. a .. base .. "i"}
		data.forms  = { "beng"  .. a .. base .. "i"}
		data.forms  = { "ong"   .. a .. base .. "i"}
		data.forms  = { "ing"   .. a .. base .. "i"}
		data.forms  = { "ling"  .. a .. base .. "i"}
		data.forms  = { "eng"   .. a .. base .. "i"}
		data.forms  = { "sing"  .. a .. base .. "i"}
		data.forms  = { "zing"  .. a .. base .. "i"}
		data.forms  = { "ing"   .. a .. base .. "i"}
		data.forms = { "zing"  .. a .. base .. "i"}
		data.forms = { "lung"  .. a .. base .. "i"}
		data.forms = { "bung"  .. a .. base .. "i"}
		data.forms = { "kung"  .. a .. base .. "i"}
		data.forms = { "kung"  .. a .. base .. "i"}
	elseif not (#syllables == 2 and mw.ustring.find(base, "an$")) and 
		(mw.ustring.find(base, "a$") or mw.ustring.find(base, "ath$") or mw.ustring.find(base, "l$")) then
		local base2 = mw.ustring.gsub(base, "a(+)$", "e%1")
		
		data.forms = {"ng" .. i  .. base2 .. "e"}
		data.forms = {        u2 .. base2 .. "e"}
		data.forms = { "s" .. i  .. base2 .. "e"}
		data.forms = { "n" .. i  .. base2 .. "e"}
		data.forms  = {        u2 .. base2 .. "e"}
		data.forms  = { "b" .. a  .. base2 .. "e"}
		data.forms  = {        u2 .. base2 .. "e"}
		data.forms  = {        i2 .. base2 .. "e"}
		data.forms  = { "l" .. i  .. base2 .. "e"}
		data.forms  = {        a  .. base2 .. "e"}
		data.forms  = { "s" .. i  .. base2 .. "e"}
		data.forms  = { "z" .. i  .. base2 .. "e"}
		data.forms  = {        i2 .. base2 .. "e"}
		data.forms = { "z" .. i  .. base2 .. "e"}
		data.forms = { "l" .. u3 .. base2 .. "e"}
		data.forms = { "b" .. u  .. base2 .. "e"}
		data.forms = { "k" .. u3 .. base2 .. "e"}
		data.forms = { "k" .. u3 .. base2 .. "e"}
		
		data.forms = {"eng" .. i  .. base2 .. "e"}
		data.forms = {         o2 .. base2 .. "e"}
		data.forms = { "es" .. i  .. base2 .. "e"}
		data.forms = { "en" .. i  .. base2 .. "e"}
		data.forms  = {         o2 .. base2 .. "e"}
		data.forms  = { "ab" .. a  .. base2 .. "e"}
		data.forms  = {         o2 .. base2 .. "e"}
		data.forms  = {         e2 .. base2 .. "e"}
		data.forms  = { "el" .. i  .. base2 .. "e"}
		data.forms  = {         a  .. base2 .. "e"}
		data.forms  = { "es" .. i  .. base2 .. "e"}
		data.forms  = { "ez" .. i  .. base2 .. "e"}
		data.forms  = {         e2 .. base2 .. "e"}
		data.forms = { "ez" .. i  .. base2 .. "e"}
		data.forms = { "ol" .. u3 .. base2 .. "e"}
		data.forms = { "ob" .. u  .. base2 .. "e"}
		data.forms = { "ok" .. u3 .. base2 .. "e"}
		data.forms = { "ok" .. u3 .. base2 .. "e"}
		
		data.forms = {"ng" .. i  .. base2 .. "e"}
		data.forms = {        u2 .. base2 .. "e"}
		data.forms = { "s" .. i  .. base2 .. "e"}
		data.forms = { "n" .. i  .. base2 .. "e"}
		data.forms  = {        e  .. base2 .. "e"}
		data.forms  = { "b" .. e  .. base2 .. "e"}
		data.forms  = {        u2 .. base2 .. "e"}
		data.forms  = {        i2 .. base2 .. "e"}
		data.forms  = { "l" .. i  .. base2 .. "e"}
		data.forms  = {        e  .. base2 .. "e"}
		data.forms  = { "s" .. i  .. base2 .. "e"}
		data.forms  = { "z" .. i  .. base2 .. "e"}
		data.forms  = {        i2 .. base2 .. "e"}
		data.forms = { "z" .. i  .. base2 .. "e"}
		data.forms = { "l" .. u3 .. base2 .. "e"}
		data.forms = { "b" .. u  .. base2 .. "e"}
		data.forms = { "k" .. u3 .. base2 .. "e"}
		data.forms = { "k" .. u3 .. base2 .. "e"}
		
		data.forms = {"ang" .. i ..  base2 .. "e"}
		data.forms = { "aw" .. u ..  base2 .. "e"}
		data.forms = { "as" .. i ..  base2 .. "e"}
		data.forms = { "an" .. i ..  base2 .. "e"}
		data.forms  = { "ak" .. a ..  base2 .. "e"}
		data.forms  = { "ab" .. a ..  base2 .. "e"}
		data.forms  = { "aw" .. u ..  base2 .. "e"}
		data.forms  = { "ay" .. i ..  base2 .. "e"}
		data.forms  = { "al" .. i ..  base2 .. "e"}
		data.forms  = { "aw" .. a ..  base2 .. "e"}
		data.forms  = { "as" .. i ..  base2 .. "e"}
		data.forms  = { "az" .. i ..  base2 .. "e"}
		data.forms  = { "ay" .. i ..  base2 .. "e"}
		data.forms = { "az" .. i ..  base2 .. "e"}
		data.forms = { "al" .. u3 .. base2 .. "e"}
		data.forms = { "ab" .. u  .. base2 .. "e"}
		data.forms = { "ak" .. u3 .. base2 .. "e"}
		data.forms = { "ak" .. u3 .. base2 .. "e"}
		
		data.forms = { "enging" .. a .. base2 .. "e"}
		data.forms = { "ong"    .. a .. base2 .. "e"}
		data.forms = { "esing"  .. a .. base2 .. "e"}
		data.forms = { "ening"  .. a .. base2 .. "e"}
		data.forms  = { "ong"    .. a .. base2 .. "e"}
		data.forms  = { "abang"  .. a .. base2 .. "e"}
		data.forms  = { "ong"    .. a .. base2 .. "e"}
		data.forms  = { "eng"    .. a .. base2 .. "e"}
		data.forms  = { "eling"  .. a .. base2 .. "e"}
		data.forms  = { "ang"    .. a .. base2 .. "e"}
		data.forms  = { "esing"  .. a .. base2 .. "e"}
		data.forms  = { "ezing"  .. a .. base2 .. "e"}
		data.forms  = { "eng"    .. a .. base2 .. "e"}
		data.forms = { "ezing"  .. a .. base2 .. "e"}
		data.forms = { "olung"  .. a .. base2 .. "e"}
		data.forms = { "obung"  .. a .. base2 .. "e"}
		data.forms = { "okung"  .. a .. base2 .. "e"}
		data.forms = { "okung"  .. a .. base2 .. "e"}
		
		data.forms = { "nging" .. a .. base2 .. "e"}
		data.forms = { "ung"   .. a .. base2 .. "e"}
		data.forms = { "sing"  .. a .. base2 .. "e"}
		data.forms = { "ning"  .. a .. base2 .. "e"}
		data.forms  = { "eng"   .. a .. base2 .. "e"}
		data.forms  = { "beng"  .. a .. base2 .. "e"}
		data.forms  = { "ong"   .. a .. base2 .. "e"}
		data.forms  = { "ing"   .. a .. base2 .. "e"}
		data.forms  = { "ling"  .. a .. base2 .. "e"}
		data.forms  = { "eng"   .. a .. base2 .. "e"}
		data.forms  = { "sing"  .. a .. base2 .. "e"}
		data.forms  = { "zing"  .. a .. base2 .. "e"}
		data.forms  = { "ing"   .. a .. base2 .. "e"}
		data.forms = { "zing"  .. a .. base2 .. "e"}
		data.forms = { "lung"  .. a .. base2 .. "e"}
		data.forms = { "bung"  .. a .. base2 .. "e"}
		data.forms = { "kung"  .. a .. base2 .. "e"}
		data.forms = { "kung"  .. a .. base2 .. "e"}
	else
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms  = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		data.forms = data.forms
		
		data.forms = { "ang" .. i .. base .. "ile", "ang" .. i .. base .. "ē"}
		data.forms = { "aw"  .. u .. base .. "ile", "aw"  .. u .. base .. "ē"}
		data.forms = { "as"  .. i .. base .. "ile", "as"  .. i .. base .. "ē"}
		data.forms = { "an"  .. i .. base .. "ile", "an"  .. i .. base .. "ē"}
		data.forms  = { "ak"  .. a .. base .. "ile", "ak"  .. a .. base .. "ē"}
		data.forms  = { "ab"  .. a .. base .. "ile", "ab"  .. a .. base .. "ē"}
		data.forms  = { "aw"  .. u .. base .. "ile", "aw"  .. u .. base .. "ē"}
		data.forms  = { "ay"  .. i .. base .. "ile", "ay"  .. i .. base .. "ē"}
		data.forms  = { "al"  .. i .. base .. "ile", "al"  .. i .. base .. "ē"}
		data.forms  = { "aw"  .. a .. base .. "ile", "aw"  .. a .. base .. "ē"}
		data.forms  = { "as"  .. i .. base .. "ile", "as"  .. i .. base .. "ē"}
		data.forms  = { "az"  .. i .. base .. "ile", "az"  .. i .. base .. "ē"}
		data.forms  = { "ay"  .. i .. base .. "ile", "ay"  .. i .. base .. "ē"}
		data.forms = { "az"  .. i .. base .. "ile", "az"  .. i .. base .. "ē"}
		data.forms = { "al" .. u3 .. base .. "ile", "al" .. u3 .. base .. "ē"}
		data.forms = { "ab" .. u  .. base .. "ile", "ab" .. u  .. base .. "ē"}
		data.forms = { "ak" .. u3 .. base .. "ile", "ak" .. u3 .. base .. "ē"}
		data.forms = { "ak" .. u3 .. base .. "ile", "ak" .. u3 .. base .. "ē"}
		
		data.forms = { "enging" .. a .. base .. "ile", "enging" .. a .. base .. "ē"}
		data.forms = { "ong"    .. a .. base .. "ile", "ong"    .. a .. base .. "ē"}
		data.forms = { "esing"  .. a .. base .. "ile", "esing"  .. a .. base .. "ē"}
		data.forms = { "ening"  .. a .. base .. "ile", "ening"  .. a .. base .. "ē"}
		data.forms  = { "ong"    .. a .. base .. "ile", "ong"    .. a .. base .. "ē"}
		data.forms  = { "abang"  .. a .. base .. "ile", "abang"  .. a .. base .. "ē"}
		data.forms  = { "ong"    .. a .. base .. "ile", "ong"    .. a .. base .. "ē"}
		data.forms  = { "eng"    .. a .. base .. "ile", "eng"    .. a .. base .. "ē"}
		data.forms  = { "eling"  .. a .. base .. "ile", "eling"  .. a .. base .. "ē"}
		data.forms  = { "ang"    .. a .. base .. "ile", "ang"    .. a .. base .. "ē"}
		data.forms  = { "esing"  .. a .. base .. "ile", "esing"  .. a .. base .. "ē"}
		data.forms  = { "ezing"  .. a .. base .. "ile", "ezing"  .. a .. base .. "ē"}
		data.forms  = { "eng"    .. a .. base .. "ile", "eng"    .. a .. base .. "ē"}
		data.forms = { "ezing"  .. a .. base .. "ile", "ezing"  .. a .. base .. "ē"}
		data.forms = { "olung"  .. a .. base .. "ile", "olung"  .. a .. base .. "ē"}
		data.forms = { "obung"  .. a .. base .. "ile", "obung"  .. a .. base .. "ē"}
		data.forms = { "okung"  .. a .. base .. "ile", "okung"  .. a .. base .. "ē"}
		data.forms = { "okung"  .. a .. base .. "ile", "okung"  .. a .. base .. "ē"}
		
		data.forms = { "nging" .. a .. base .. "ile", "nging" .. a .. base .. "ē"}
		data.forms = { "ung"   .. a .. base .. "ile", "ung"   .. a .. base .. "ē"}
		data.forms = { "sing"  .. a .. base .. "ile", "sing"  .. a .. base .. "ē"}
		data.forms = { "ning"  .. a .. base .. "ile", "ning"  .. a .. base .. "ē"}
		data.forms  = { "eng"   .. a .. base .. "ile", "eng"   .. a .. base .. "ē"}
		data.forms  = { "beng"  .. a .. base .. "ile", "beng"  .. a .. base .. "ē"}
		data.forms  = { "ung"   .. a .. base .. "ile", "ung"   .. a .. base .. "ē"}
		data.forms  = { "ing"   .. a .. base .. "ile", "ing"   .. a .. base .. "ē"}
		data.forms  = { "ling"  .. a .. base .. "ile", "ling"  .. a .. base .. "ē"}
		data.forms  = { "eng"   .. a .. base .. "ile", "eng"   .. a .. base .. "ē"}
		data.forms  = { "sing"  .. a .. base .. "ile", "sing"  .. a .. base .. "ē"}
		data.forms  = { "zing"  .. a .. base .. "ile", "zing"  .. a .. base .. "ē"}
		data.forms  = { "ing"   .. a .. base .. "ile", "ing"   .. a .. base .. "ē"}
		data.forms = { "zing"  .. a .. base .. "ile", "zing"  .. a .. base .. "ē"}
		data.forms = { "lung"  .. a .. base .. "ile", "lung"  .. a .. base .. "ē"}
		data.forms = { "bung"  .. a .. base .. "ile", "bung"  .. a .. base .. "ē"}
		data.forms = { "kung"  .. a .. base .. "ile", "kung"  .. a .. base .. "ē"}
		data.forms = { "kung"  .. a .. base .. "ile", "kung"  .. a .. base .. "ē"}
	end
	
	-- Remote past
	data.forms = {"ng" .. al .. base .. "a"}
	data.forms = { "w" .. al .. base .. "a"}
	data.forms = { "s" .. al .. base .. "a"}
	data.forms = { "n" .. al .. base .. "a"}
	data.forms  = { "w" .. al .. base .. "a"}
	data.forms  = { "b" .. al .. base .. "a"}
	data.forms  = { "w" .. al .. base .. "a"}
	data.forms  = { "y" .. al .. base .. "a"}
	data.forms  = { "l" .. al .. base .. "a"}
	data.forms  = {        al .. base .. "a"}
	data.forms  = { "s" .. al .. base .. "a"}
	data.forms  = { "z" .. al .. base .. "a"}
	data.forms  = { "y" .. al .. base .. "a"}
	data.forms = { "z" .. al .. base .. "a"}
	data.forms = { "l" .. w .. al .. base .. "a"}
	data.forms = { "b" .. al .. base .. "a"}
	data.forms = { "k" .. w .. al .. base .. "a"}
	data.forms = { "k" .. w .. al .. base .. "a"}
	
	data.forms = {"eng" .. al .. base .. "a"}
	data.forms = { "ow" .. al .. base .. "a"}
	data.forms = { "es" .. al .. base .. "a"}
	data.forms = { "en" .. al .. base .. "a"}
	data.forms  = { "ow" .. al .. base .. "a"}
	data.forms  = { "ab" .. al .. base .. "a"}
	data.forms  = { "ow" .. al .. base .. "a"}
	data.forms  = { "ey" .. al .. base .. "a"}
	data.forms  = { "el" .. al .. base .. "a"}
	data.forms  = {         al .. base .. "a"}
	data.forms  = { "es" .. al .. base .. "a"}
	data.forms  = { "ez" .. al .. base .. "a"}
	data.forms  = { "ey" .. al .. base .. "a"}
	data.forms = { "ez" .. al .. base .. "a"}
	data.forms = { "ol" .. w .. al .. base .. "a"}
	data.forms = { "ob" .. al .. base .. "a"}
	data.forms = { "ok" .. w .. al .. base .. "a"}
	data.forms = { "ok" .. w .. al .. base .. "a"}
	
	data.forms = {"ng" .. al .. base .. "a"}
	data.forms = { "w" .. al .. base .. "a"}
	data.forms = { "s" .. al .. base .. "a"}
	data.forms = { "n" .. al .. base .. "a"}
	data.forms  = {        al .. base .. "a"}
	data.forms  = { "b" .. al .. base .. "a"}
	data.forms  = { "w" .. al .. base .. "a"}
	data.forms  = { "y" .. al .. base .. "a"}
	data.forms  = { "l" .. al .. base .. "a"}
	data.forms  = {        al .. base .. "a"}
	data.forms  = { "s" .. al .. base .. "a"}
	data.forms  = { "z" .. al .. base .. "a"}
	data.forms  = { "y" .. al .. base .. "a"}
	data.forms = { "z" .. al .. base .. "a"}
	data.forms = { "l" .. w .. al .. base .. "a"}
	data.forms = { "b" .. al .. base .. "a"}
	data.forms = { "k" .. w .. al .. base .. "a"}
	data.forms = { "k" .. w .. al .. base .. "a"}
	
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms  = data.forms 
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	data.forms = data.forms
	
	-- Potential
	data.forms = {"nging" .. a  .. base .. "a"}
	data.forms = {  "ung" .. a  .. base .. "a"}
	data.forms = { "sing" .. a  .. base .. "a"}
	data.forms = { "ning" .. a  .. base .. "a"}
	data.forms  = {  "ang" .. a  .. base .. "a"}
	data.forms  = { "bang" .. a  .. base .. "a"}
	data.forms  = {  "ung" .. a  .. base .. "a"}
	data.forms  = {  "ing" .. a  .. base .. "a"}
	data.forms  = { "ling" .. a  .. base .. "a"}
	data.forms  = {  "ang" .. a  .. base .. "a"}
	data.forms  = { "sing" .. a  .. base .. "a"}
	data.forms  = { "zing" .. a  .. base .. "a"}
	data.forms  = {  "ing" .. a  .. base .. "a"}
	data.forms = { "zing" .. a  .. base .. "a"}
	data.forms = { "lung" .. a  .. base .. "a"}
	data.forms = { "bung" .. a  .. base .. "a"}
	data.forms = { "kung" .. a  .. base .. "a"}
	data.forms = { "kung" .. a  .. base .. "a"}
	
	data.forms = {"nging" .. a  .. base .. "a"}
	data.forms = {  "ung" .. a  .. base .. "a"}
	data.forms = { "sing" .. a  .. base .. "a"}
	data.forms = { "ning" .. a  .. base .. "a"}
	data.forms  = {  "eng" .. a  .. base .. "a"}
	data.forms  = { "beng" .. a  .. base .. "a"}
	data.forms  = {  "ung" .. a  .. base .. "a"}
	data.forms  = {  "ing" .. a  .. base .. "a"}
	data.forms  = { "ling" .. a  .. base .. "a"}
	data.forms  = {  "eng" .. a  .. base .. "a"}
	data.forms  = { "sing" .. a  .. base .. "a"}
	data.forms  = { "zing" .. a  .. base .. "a"}
	data.forms  = {  "ing" .. a  .. base .. "a"}
	data.forms = { "zing" .. a  .. base .. "a"}
	data.forms = { "lung" .. a  .. base .. "a"}
	data.forms = { "bung" .. a  .. base .. "a"}
	data.forms = { "kung" .. a  .. base .. "a"}
	data.forms = { "kung" .. a  .. base .. "a"}
	
	data.forms = {"nging" .. e  .. base .. "e"}
	data.forms = {  "ung" .. e  .. base .. "e"}
	data.forms = { "sing" .. e  .. base .. "e"}
	data.forms = { "ning" .. e  .. base .. "e"}
	data.forms  = {  "ang" .. e  .. base .. "e"}
	data.forms  = { "bang" .. e  .. base .. "e"}
	data.forms  = {  "ung" .. e  .. base .. "e"}
	data.forms  = {  "ing" .. e  .. base .. "e"}
	data.forms  = { "ling" .. e  .. base .. "e"}
	data.forms  = {  "ang" .. e  .. base .. "e"}
	data.forms  = { "sing" .. e  .. base .. "e"}
	data.forms  = { "zing" .. e  .. base .. "e"}
	data.forms  = {  "ing" .. e  .. base .. "e"}
	data.forms = { "zing" .. e  .. base .. "e"}
	data.forms = { "lung" .. e  .. base .. "e"}
	data.forms = { "bung" .. e  .. base .. "e"}
	data.forms = { "kung" .. e  .. base .. "e"}
	data.forms = { "kung" .. e  .. base .. "e"}
	
	data.forms = {"nging" .. e  .. base .. "e"}
	data.forms = {  "ung" .. e  .. base .. "e"}
	data.forms = { "sing" .. e  .. base .. "e"}
	data.forms = { "ning" .. e  .. base .. "e"}
	data.forms  = {  "eng" .. e  .. base .. "e"}
	data.forms  = { "beng" .. e  .. base .. "e"}
	data.forms  = {  "ung" .. e  .. base .. "e"}
	data.forms  = {  "ing" .. e  .. base .. "e"}
	data.forms  = { "ling" .. e  .. base .. "e"}
	data.forms  = {  "eng" .. e  .. base .. "e"}
	data.forms  = { "sing" .. e  .. base .. "e"}
	data.forms  = { "zing" .. e  .. base .. "e"}
	data.forms  = {  "ing" .. e  .. base .. "e"}
	data.forms = { "zing" .. e  .. base .. "e"}
	data.forms = { "lung" .. e  .. base .. "e"}
	data.forms = { "bung" .. e  .. base .. "e"}
	data.forms = { "kung" .. e  .. base .. "e"}
	data.forms = { "kung" .. e  .. base .. "e"}
	
	-- Immediate future
	data.forms = {"ngizo" .. ku .. base .. "a"}
	data.forms = {  "uzo" .. ku .. base .. "a"}
	data.forms = { "sizo" .. ku .. base .. "a"}
	data.forms = { "nizo" .. ku .. base .. "a"}
	data.forms  = {  "uzo" .. ku .. base .. "a"}
	data.forms  = { "bazo" .. ku .. base .. "a"}
	data.forms  = {  "uzo" .. ku .. base .. "a"}
	data.forms  = {  "izo" .. ku .. base .. "a"}
	data.forms  = { "lizo" .. ku .. base .. "a"}
	data.forms  = {  "azo" .. ku .. base .. "a"}
	data.forms  = { "sizo" .. ku .. base .. "a"}
	data.forms  = { "zizo" .. ku .. base .. "a"}
	data.forms  = {  "izo" .. ku .. base .. "a"}
	data.forms = { "zizo" .. ku .. base .. "a"}
	data.forms = { "luzo" .. ku .. base .. "a"}
	data.forms = { "buzo" .. ku .. base .. "a"}
	data.forms = { "kuzo" .. ku .. base .. "a"}
	data.forms = { "kuzo" .. ku .. base .. "a"}
	
	data.forms = {"engizo" .. ku .. base .. "a"}
	data.forms = {   "ozo" .. ku .. base .. "a"}
	data.forms = { "esizo" .. ku .. base .. "a"}
	data.forms = { "enizo" .. ku .. base .. "a"}
	data.forms  = {   "ozo" .. ku .. base .. "a"}
	data.forms  = { "abazo" .. ku .. base .. "a"}
	data.forms  = {   "ozo" .. ku .. base .. "a"}
	data.forms  = {   "ezo" .. ku .. base .. "a"}
	data.forms  = { "elizo" .. ku .. base .. "a"}
	data.forms  = {   "azo" .. ku .. base .. "a"}
	data.forms  = { "esizo" .. ku .. base .. "a"}
	data.forms  = { "ezizo" .. ku .. base .. "a"}
	data.forms  = {   "ezo" .. ku .. base .. "a"}
	data.forms = { "ezizo" .. ku .. base .. "a"}
	data.forms = { "oluzo" .. ku .. base .. "a"}
	data.forms = { "obuzo" .. ku .. base .. "a"}
	data.forms = { "okuzo" .. ku .. base .. "a"}
	data.forms = { "okuzo" .. ku .. base .. "a"}
	
	data.forms = {"ngizo" .. ku .. base .. "a"}
	data.forms = {  "uzo" .. ku .. base .. "a"}
	data.forms = { "sizo" .. ku .. base .. "a"}
	data.forms = { "nizo" .. ku .. base .. "a"}
	data.forms  = {  "ezo" .. ku .. base .. "a"}
	data.forms  = { "bezo" .. ku .. base .. "a"}
	data.forms  = {  "uzo" .. ku .. base .. "a"}
	data.forms  = {  "izo" .. ku .. base .. "a"}
	data.forms  = { "lizo" .. ku .. base .. "a"}
	data.forms  = {  "ezo" .. ku .. base .. "a"}
	data.forms  = { "sizo" .. ku .. base .. "a"}
	data.forms  = { "zizo" .. ku .. base .. "a"}
	data.forms  = {  "izo" .. ku .. base .. "a"}
	data.forms = { "zizo" .. ku .. base .. "a"}
	data.forms = { "luzo" .. ku .. base .. "a"}
	data.forms = { "buzo" .. ku .. base .. "a"}
	data.forms = { "kuzo" .. ku .. base .. "a"}
	data.forms = { "kuzo" .. ku .. base .. "a"}
	
	data.forms = {"angizu" .. ku .. base .. "a"}
	data.forms = { "awuzu" .. ku .. base .. "a"}
	data.forms = { "asizu" .. ku .. base .. "a"}
	data.forms = { "anizu" .. ku .. base .. "a"}
	data.forms  = { "akazu" .. ku .. base .. "a"}
	data.forms  = { "abazu" .. ku .. base .. "a"}
	data.forms  = { "awuzu" .. ku .. base .. "a"}
	data.forms  = { "ayizu" .. ku .. base .. "a"}
	data.forms  = { "alizu" .. ku .. base .. "a"}
	data.forms  = { "awazu" .. ku .. base .. "a"}
	data.forms  = { "asizu" .. ku .. base .. "a"}
	data.forms  = { "azizu" .. ku .. base .. "a"}
	data.forms  = { "ayizu" .. ku .. base .. "a"}
	data.forms = { "azizu" .. ku .. base .. "a"}
	data.forms = { "aluzu" .. ku .. base .. "a"}
	data.forms = { "abuzu" .. ku .. base .. "a"}
	data.forms = { "akuzu" .. ku .. base .. "a"}
	data.forms = { "akuzu" .. ku .. base .. "a"}
	
	data.forms = {"engingezu" .. ku .. base .. "a"}
	data.forms = {  "ongezu" .. ku .. base .. "a"}
	data.forms = { "esingezu" .. ku .. base .. "a"}
	data.forms = { "eningezu" .. ku .. base .. "a"}
	data.forms  = {  "ongezu" .. ku .. base .. "a"}
	data.forms  = { "abangezu" .. ku .. base .. "a"}
	data.forms  = {  "ongezu" .. ku .. base .. "a"}
	data.forms  = {  "engezu" .. ku .. base .. "a"}
	data.forms  = { "elingezu" .. ku .. base .. "a"}
	data.forms  = {  "angezu" .. ku .. base .. "a"}
	data.forms  = { "esingezu" .. ku .. base .. "a"}
	data.forms  = { "ezingezu" .. ku .. base .. "a"}
	data.forms  = {  "engezu" .. ku .. base .. "a"}
	data.forms = { "ezingezu" .. ku .. base .. "a"}
	data.forms = { "olungezu" .. ku .. base .. "a"}
	data.forms = { "obungezu" .. ku .. base .. "a"}
	data.forms = { "okungezu" .. ku .. base .. "a"}
	data.forms = { "okungezu" .. ku .. base .. "a"}
	
	data.forms = {"ngingezu" .. ku .. base .. "a"}
	data.forms = {  "ungezu" .. ku .. base .. "a"}
	data.forms = { "singezu" .. ku .. base .. "a"}
	data.forms = { "ningezu" .. ku .. base .. "a"}
	data.forms  = {  "engezu" .. ku .. base .. "a"}
	data.forms  = { "bengezu" .. ku .. base .. "a"}
	data.forms  = {  "ungezu" .. ku .. base .. "a"}
	data.forms  = {  "ingezu" .. ku .. base .. "a"}
	data.forms  = { "lingezu" .. ku .. base .. "a"}
	data.forms  = {  "engezu" .. ku .. base .. "a"}
	data.forms  = { "singezu" .. ku .. base .. "a"}
	data.forms  = { "zingezu" .. ku .. base .. "a"}
	data.forms  = {  "ingezu" .. ku .. base .. "a"}
	data.forms = { "zingezu" .. ku .. base .. "a"}
	data.forms = { "lungezu" .. ku .. base .. "a"}
	data.forms = { "bungezu" .. ku .. base .. "a"}
	data.forms = { "kungezu" .. ku .. base .. "a"}
	data.forms = { "kungezu" .. ku .. base .. "a"}
	
	-- Remote future
	data.forms = {"ngiyo" .. ku .. base .. "a"}
	data.forms = {  "uyo" .. ku .. base .. "a"}
	data.forms = { "siyo" .. ku .. base .. "a"}
	data.forms = { "niyo" .. ku .. base .. "a"}
	data.forms  = {  "uyo" .. ku .. base .. "a"}
	data.forms  = { "bayo" .. ku .. base .. "a"}
	data.forms  = {  "uyo" .. ku .. base .. "a"}
	data.forms  = {  "iyo" .. ku .. base .. "a"}
	data.forms  = { "liyo" .. ku .. base .. "a"}
	data.forms  = {  "ayo" .. ku .. base .. "a"}
	data.forms  = { "siyo" .. ku .. base .. "a"}
	data.forms  = { "ziyo" .. ku .. base .. "a"}
	data.forms  = {  "iyo" .. ku .. base .. "a"}
	data.forms = { "ziyo" .. ku .. base .. "a"}
	data.forms = { "luyo" .. ku .. base .. "a"}
	data.forms = { "buyo" .. ku .. base .. "a"}
	data.forms = { "kuyo" .. ku .. base .. "a"}
	data.forms = { "kuyo" .. ku .. base .. "a"}
	
	data.forms = {"engiyo" .. ku .. base .. "a"}
	data.forms = {   "oyo" .. ku .. base .. "a"}
	data.forms = { "esiyo" .. ku .. base .. "a"}
	data.forms = { "eniyo" .. ku .. base .. "a"}
	data.forms  = {   "oyo" .. ku .. base .. "a"}
	data.forms  = { "abayo" .. ku .. base .. "a"}
	data.forms  = {   "oyo" .. ku .. base .. "a"}
	data.forms  = {   "eyo" .. ku .. base .. "a"}
	data.forms  = { "eliyo" .. ku .. base .. "a"}
	data.forms  = {   "ayo" .. ku .. base .. "a"}
	data.forms  = { "esiyo" .. ku .. base .. "a"}
	data.forms  = { "eziyo" .. ku .. base .. "a"}
	data.forms  = {   "eyo" .. ku .. base .. "a"}
	data.forms = { "eziyo" .. ku .. base .. "a"}
	data.forms = { "oluyo" .. ku .. base .. "a"}
	data.forms = { "obuyo" .. ku .. base .. "a"}
	data.forms = { "okuyo" .. ku .. base .. "a"}
	data.forms = { "okuyo" .. ku .. base .. "a"}
	
	data.forms = {"ngiyo" .. ku .. base .. "a"}
	data.forms = {  "uyo" .. ku .. base .. "a"}
	data.forms = { "siyo" .. ku .. base .. "a"}
	data.forms = { "niyo" .. ku .. base .. "a"}
	data.forms  = {  "eyo" .. ku .. base .. "a"}
	data.forms  = { "beyo" .. ku .. base .. "a"}
	data.forms  = {  "uyo" .. ku .. base .. "a"}
	data.forms  = {  "iyo" .. ku .. base .. "a"}
	data.forms  = { "liyo" .. ku .. base .. "a"}
	data.forms  = {  "eyo" .. ku .. base .. "a"}
	data.forms  = { "siyo" .. ku .. base .. "a"}
	data.forms  = { "ziyo" .. ku .. base .. "a"}
	data.forms  = {  "iyo" .. ku .. base .. "a"}
	data.forms = { "ziyo" .. ku .. base .. "a"}
	data.forms = { "luyo" .. ku .. base .. "a"}
	data.forms = { "buyo" .. ku .. base .. "a"}
	data.forms = { "kuyo" .. ku .. base .. "a"}
	data.forms = { "kuyo" .. ku .. base .. "a"}
	
	data.forms = {"angiyu" .. ku .. base .. "a"}
	data.forms = { "awuyu" .. ku .. base .. "a"}
	data.forms = { "asiyu" .. ku .. base .. "a"}
	data.forms = { "aniyu" .. ku .. base .. "a"}
	data.forms  = { "akayu" .. ku .. base .. "a"}
	data.forms  = { "abayu" .. ku .. base .. "a"}
	data.forms  = { "awuyu" .. ku .. base .. "a"}
	data.forms  = { "ayiyu" .. ku .. base .. "a"}
	data.forms  = { "aliyu" .. ku .. base .. "a"}
	data.forms  = { "awayu" .. ku .. base .. "a"}
	data.forms  = { "asiyu" .. ku .. base .. "a"}
	data.forms  = { "aziyu" .. ku .. base .. "a"}
	data.forms  = { "ayiyu" .. ku .. base .. "a"}
	data.forms = { "aziyu" .. ku .. base .. "a"}
	data.forms = { "aluyu" .. ku .. base .. "a"}
	data.forms = { "abuyu" .. ku .. base .. "a"}
	data.forms = { "akuyu" .. ku .. base .. "a"}
	data.forms = { "akuyu" .. ku .. base .. "a"}
	
	data.forms = {"engingeyu" .. ku .. base .. "a"}
	data.forms = {  "ongeyu" .. ku .. base .. "a"}
	data.forms = { "esingeyu" .. ku .. base .. "a"}
	data.forms = { "eningeyu" .. ku .. base .. "a"}
	data.forms  = {  "ongeyu" .. ku .. base .. "a"}
	data.forms  = { "abangeyu" .. ku .. base .. "a"}
	data.forms  = {  "ongeyu" .. ku .. base .. "a"}
	data.forms  = {  "engeyu" .. ku .. base .. "a"}
	data.forms  = { "elingeyu" .. ku .. base .. "a"}
	data.forms  = {  "angeyu" .. ku .. base .. "a"}
	data.forms  = { "esingeyu" .. ku .. base .. "a"}
	data.forms  = { "ezingeyu" .. ku .. base .. "a"}
	data.forms  = {  "engeyu" .. ku .. base .. "a"}
	data.forms = { "ezingeyu" .. ku .. base .. "a"}
	data.forms = { "olungeyu" .. ku .. base .. "a"}
	data.forms = { "obungeyu" .. ku .. base .. "a"}
	data.forms = { "okungeyu" .. ku .. base .. "a"}
	data.forms = { "okungeyu" .. ku .. base .. "a"}
	
	data.forms = {"ngingeyu" .. ku .. base .. "a"}
	data.forms = {  "ungeyu" .. ku .. base .. "a"}
	data.forms = { "singeyu" .. ku .. base .. "a"}
	data.forms = { "ningeyu" .. ku .. base .. "a"}
	data.forms  = {  "engeyu" .. ku .. base .. "a"}
	data.forms  = { "bengeyu" .. ku .. base .. "a"}
	data.forms  = {  "ungeyu" .. ku .. base .. "a"}
	data.forms  = {  "ingeyu" .. ku .. base .. "a"}
	data.forms  = { "lingeyu" .. ku .. base .. "a"}
	data.forms  = {  "engeyu" .. ku .. base .. "a"}
	data.forms  = { "singeyu" .. ku .. base .. "a"}
	data.forms  = { "zingeyu" .. ku .. base .. "a"}
	data.forms  = {  "ingeyu" .. ku .. base .. "a"}
	data.forms = { "zingeyu" .. ku .. base .. "a"}
	data.forms = { "lungeyu" .. ku .. base .. "a"}
	data.forms = { "bungeyu" .. ku .. base .. "a"}
	data.forms = { "kungeyu" .. ku .. base .. "a"}
	data.forms = { "kungeyu" .. ku .. base .. "a"}
	
	-- Present subjunctive
	data.forms = {"ng" .. i  .. base .. "e"}
	data.forms = {        u2 .. base .. "e"}
	data.forms = { "s" .. i  .. base .. "e"}
	data.forms = { "n" .. i  .. base .. "e"}
	data.forms  = {        a  .. base .. "e"}
	data.forms  = { "b" .. a  .. base .. "e"}
	data.forms  = {        u2 .. base .. "e"}
	data.forms  = {        i2 .. base .. "e"}
	data.forms  = { "l" .. i  .. base .. "e"}
	data.forms  = {        a  .. base .. "e"}
	data.forms  = { "s" .. i  .. base .. "e"}
	data.forms  = { "z" .. i  .. base .. "e"}
	data.forms  = {        i2 .. base .. "e"}
	data.forms = { "z" .. i  .. base .. "e"}
	data.forms = { "l" .. u3 .. base .. "e"}
	data.forms = { "b" .. u  .. base .. "e"}
	data.forms = { "k" .. u3 .. base .. "e"}
	data.forms = { "k" .. u3 .. base .. "e"}
	
	data.forms = {"nging" .. a  .. base .. neg}
	data.forms = {  "ung" .. a  .. base .. neg}
	data.forms = { "sing" .. a  .. base .. neg}
	data.forms = { "ning" .. a  .. base .. neg}
	data.forms  = {  "ang" .. a  .. base .. neg}
	data.forms  = { "bang" .. a  .. base .. neg}
	data.forms  = {  "ung" .. a  .. base .. neg}
	data.forms  = {  "ing" .. a  .. base .. neg}
	data.forms  = { "ling" .. a  .. base .. neg}
	data.forms  = {  "ang" .. a  .. base .. neg}
	data.forms  = { "sing" .. a  .. base .. neg}
	data.forms  = { "zing" .. a  .. base .. neg}
	data.forms  = {  "ing" .. a  .. base .. neg}
	data.forms = { "zing" .. a  .. base .. neg}
	data.forms = { "lung" .. a  .. base .. neg}
	data.forms = { "bung" .. a  .. base .. neg}
	data.forms = { "kung" .. a  .. base .. neg}
	data.forms = { "kung" .. a  .. base .. neg}
	
	-- Past subjunctive
	data.forms = {"ng" .. a .. base .. "a"}
	data.forms = { "w" .. a .. base .. "a"}
	data.forms = { "s" .. a .. base .. "a"}
	data.forms = { "n" .. a .. base .. "a"}
	data.forms  = { "w" .. a .. base .. "a"}
	data.forms  = { "b" .. a .. base .. "a"}
	data.forms  = { "w" .. a .. base .. "a"}
	data.forms  = { "y" .. a .. base .. "a"}
	data.forms  = { "l" .. a .. base .. "a"}
	data.forms  = {        a .. base .. "a"}
	data.forms  = { "s" .. a .. base .. "a"}
	data.forms  = { "z" .. a .. base .. "a"}
	data.forms  = { "y" .. a .. base .. "a"}
	data.forms = { "z" .. a .. base .. "a"}
	data.forms = { "l" .. w .. a .. base .. "a"}
	data.forms = { "b" .. a .. base .. "a"}
	data.forms = { "k" .. w .. a .. base .. "a"}
	data.forms = { "k" .. w .. a .. base .. "a"}
	
	data.forms = {"ngang" .. a  .. base .. "a", "ang" .. a .. base .. "a", "angang" .. a  .. base .. "a"}
	data.forms = { "wang" .. a  .. base .. "a", "aw" .. a .. base .. "a", "awang" .. a  .. base .. "a"}
	data.forms = { "sang" .. a  .. base .. "a", "as" .. a .. base .. "a", "asang" .. a  .. base .. "a"}
	data.forms = { "nang" .. a  .. base .. "a", "an" .. a .. base .. "a", "anang" .. a  .. base .. "a"}
	data.forms  = { "wang" .. a  .. base .. "a", "ak" .. a .. base .. "a", "akang" .. a  .. base .. "a"}
	data.forms  = { "bang" .. a  .. base .. "a", "ab" .. a .. base .. "a", "abang" .. a  .. base .. "a"}
	data.forms  = { "wang" .. a  .. base .. "a", "aw" .. a .. base .. "a", "awang" .. a  .. base .. "a"}
	data.forms  = { "yang" .. a  .. base .. "a", "ay" .. a .. base .. "a", "ayang" .. a  .. base .. "a"}
	data.forms  = { "lang" .. a  .. base .. "a", "al" .. a .. base .. "a", "alang" .. a  .. base .. "a"}
	data.forms  = {  "ang" .. a  .. base .. "a", "aw" .. a .. base .. "a", "awang" .. a  .. base .. "a"}
	data.forms  = { "sang" .. a  .. base .. "a", "as" .. a .. base .. "a", "asang" .. a  .. base .. "a"}
	data.forms  = { "zang" .. a  .. base .. "a", "az" .. a .. base .. "a", "azang" .. a  .. base .. "a"}
	data.forms  = { "yang" .. a  .. base .. "a", "ay" .. a .. base .. "a", "ayang" .. a  .. base .. "a"}
	data.forms = { "zang" .. a  .. base .. "a", "az" .. a .. base .. "a", "azang" .. a  .. base .. "a"}
	data.forms = { "lwang" .. a .. base .. "a", "al" .. w .. a .. base .. "a", "alwang" .. a  .. base .. "a"}
	data.forms = { "bang" .. a  .. base .. "a", "ab" .. a .. base .. "a", "abang" .. a  .. base .. "a"}
	data.forms = { "kwang" .. a .. base .. "a", "ak" .. w .. a .. base .. "a", "akwang" .. a  .. base .. "a"}
	data.forms = { "kwang" .. a .. base .. "a", "ak" .. w .. a .. base .. "a", "akwang" .. a  .. base .. "a"}
	
	return make_table(data, args) .. m_utilities.format_categories(data.categories, lang)
end


-- Make the table
function make_table(data, stative)
	local function repl(param)
		if param == "info" then
			return mw.getContentLanguage():ucfirst(data.info or "")
		end
		
		local form = data.forms
		
		if not form or #form == 0 then
			return "—"
		end
		
		local ret = {}
		
		for key, subform in ipairs(form) do
			table.insert(ret, m_links.full_link({lang = lang, term = subform}))
		end
		
		return table.concat(ret, ", ")
	end
	
	local names = {
		 = "infinitive",
		 = "imperative",
		 = "stative",
		
		 = "present",
		 = "recent past",
		 = "remote past",
		 = "potential",
		 = "immediate future",
		 = "remote future",
		
		 = "present subjunctive",
		 = "past subjunctive",
		
		 = "positive",
		 = "positive absolute",
		 = "positive relative",
		 = "positive participial",
		 = "negative",
		 = "negative absolute",
		 = "negative relative",
		 = "negative participial",
		
		 = "simple",
		 = "+ object concord",
		
		 = "singular",
		 = "1st singular",
		 = "2nd singular",
		 = "plural",
		 = "1st plural",
		 = "2nd plural",
		
		 = "class 1",
		 = "class 2",
		 = "class 3",
		 = "class 4",
		 = "class 5",
		 = "class 6",
		 = "class 7",
		 = "class 8",
		 = "class 9",
		 = "class 10",
		 = "class 11",
		 = "class 14",
		 = "class 15",
		 = "class 17",
	}
	
	local classes = {"1sg", "2sg", "1pl", "2pl", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "c10", "c11", "c14", "c15", "c17"}
	local numbers = {"sg", "pl"}
	
	local rows
	if stative then
		rows = {"inf", "impr", "stat", "pres", "recp", "remp", "potn", "immf", "remf", "pres_subj", "past_subj"}
	else
		rows = {"inf", "impr", "pres", "recp", "remp", "potn", "immf", "remf", "pres_subj", "past_subj"}
	end
	local cols_rel = {"pos_abs", "pos_rel", "pos_par", "neg_abs", "neg_rel", "neg_par"}
	local cols_norel = {"pos", "neg"}
	local cols_impr = {"simp", "objc"}
	
	local maxcols = 0
	
	for _, row in ipairs(rows) do
		maxcols = math.max(maxcols, #row)
	end
	
	local wikicode = {}
	
	table.insert(wikicode, "{| class=\"wikitable inflection-table vsSwitcher\" data-toggle-category=\"inflection\" style=\"border-style: double; border-width: 3px; margin: 0;\"")
	table.insert(wikicode, "|-")
	table.insert(wikicode, "! class=\"vsToggleElement\" style=\"background: #CCC; text-align: left;\" colspan=\"" .. tostring(maxcols + 1) .. "\" | {{{info}}}")
	
	table.insert(wikicode, "|- class=\"vsShow\"")
	table.insert(wikicode, "! style=\"min-width: 8em;\" |"  .. mw.getContentLanguage():ucfirst(names))
	table.insert(wikicode, "| style=\"min-width: 12em;\" | {{{pos_inf}}}")
	
	for _, row in ipairs(rows) do
		local cols = cols_rel
		
		if row == "inf" or row == "pres_subj" or row == "past_subj" then
			cols = cols_norel
		elseif row == "impr" then
			cols = cols_impr
		end
		
		if row ~= "inf" then
			table.insert(wikicode, "|- class=\"vsHide\"")
			table.insert(wikicode, "|")
			table.insert(wikicode, "! colspan=\"" .. tostring(#cols) .. "\" | " .. mw.getContentLanguage():ucfirst(names))
		end
		
		table.insert(wikicode, "|- class=\"vsHide\"")
		table.insert(wikicode, "| style=\"min-width: 8em;\" |")
		
		for _, col in ipairs(cols) do
			table.insert(wikicode, "! style=\"min-width: 12em;\" | " .. mw.getContentLanguage():ucfirst(names))
		end
		
		for _, class in ipairs(row == "inf" and {"inf"} or row == "impr" and numbers or classes) do
			table.insert(wikicode, "|- class=\"vsHide\"")
			table.insert(wikicode, "! " .. mw.getContentLanguage():ucfirst(names))
			
			for _, col in ipairs(cols) do
				table.insert(wikicode, "| {{{" .. col .. "_" .. row .. (row == "inf" and "" or "_" .. class) .. "}}}")
			end
		end
	end
	
	table.insert(wikicode, "|}")
	
	wikicode = table.concat(wikicode, "\n")
	
	return mw.ustring.gsub(wikicode, "{{{(+)}}}", repl)
end


function export.derived_verbs(frame)
	local labels = {
		 = "applicative",
		 = "causative",
		 = "diminutive",
		 = "intensive",
		 = "neuter-passive",
		 = "passive",
		 = "perfective",
		 = "reciprocal",
		 = "stative",
	}
	
	local params = {
		 = {list = true},
		 = {list = true},
		 = {list = true},
		 = {list = true},
		 = {list = true},
		 = {list = true},
		 = {list = true},
		 = {list = true},
		 = {list = true},
		}
	
	local args = require("Module:parameters").process(frame:getParent().args, params)
	
	local forms = {}
	
	for _, label in ipairs({"appl", "caus", "dim", "intn", "neut", "pasv", "pfv", "reci", "stat"}) do
		if #args > 0 then
			for i, form in ipairs(args) do
				args = m_links.full_link({lang = lang, term = form, alt = "-" .. form, pos = i == #args and labels or nil})
			end
			
			table.insert(forms, "* " .. table.concat(args, ", "))
		end
	end
	
	return table.concat(forms, "\n")
end


return export