local N={TypeMethods=Util.MakeDictionary({"\084\114\097\110\115\102\111\114\109";"\086\097\108\105\100\097\116\101";"\065\117\116\111\099\111\109\112\108\101\116\101","\080\097\114\115\101","\068\105\115\112\108\097\121\078\097\109\101","\076\105\115\116\097\098\108\101";"\086\097\108\105\100\097\116\101\079\110\099\101","\080\114\101\102\105\120\101\115";"\068\101\102\097\117\108\116"});CommandMethods=Util.MakeDictionary({"\078\097\109\101";"\065\108\105\097\115\101\115";"\065\117\116\111\069\120\101\099","\068\101\115\099\114\105\112\116\105\111\110";"\065\114\103\115","\082\117\110","\067\108\105\101\110\116\082\117\110";"\068\097\116\097";"\071\114\111\117\112"}),CommandArgProps=Util.MakeDictionary({"\078\097\109\101";"\084\121\112\101";"\068\101\115\099\114\105\112\116\105\111\110";"\079\112\116\105\111\110\097\108";"\068\101\102\097\117\108\116"});Types={},TypeAliases={};Commands={},CommandsArray={},Cmdr=nil,Hooks={BeforeRun={};AfterRun={}};Stores=setmetatable({},{__index=function(N,U)N[U]={}return N[U]end}),AutoExecBuffer={}}
--- The registry keeps track of all the commands and types that Cmdr knows about.
local Registry = {
	TypeMethods = Util.MakeDictionary({
		"Transform",
		"Validate",
		"Autocomplete",
		"Parse",
		"DisplayName",
		"Listable",
		"ValidateOnce",
		"Prefixes",
		"Default",
	}),
	CommandMethods = Util.MakeDictionary({
		"Name",
		"Aliases",
		"AutoExec",
		"Description",
		"Args",
		"Run",
		"ClientRun",
		"Data",
		"Group",
	}),
	CommandArgProps = Util.MakeDictionary({ "Name", "Type", "Description", "Optional", "Default" }),
	Types = {},
	TypeAliases = {},
	Commands = {},
	CommandsArray = {},
	Cmdr = nil,
	Hooks = {
		BeforeRun = {},
		AfterRun = {},
	},
	Stores = setmetatable({}, {
		__index = function(self, k)
			self[k] = {}
			return self[k]
		end,
	}),
	AutoExecBuffer = {},
}
