local function r(r,D)D=D or tostring(r)return setmetatable(r,{__index=function(r,Z)local C=("\037\113 \040\037\115\041 \105\115 \110\111\116 \097 \118\097\108\105\100 \109\101\109\098\101\114 \111\102 \037\115"):format(tostring(Z),typeof(Z),D)error(C,2)end,__newindex=function(r,Z,C)local L=("\037\113 \040\037\115\041 \105\115 \110\111\116 \097 \118\097\108\105\100 \109\101\109\098\101\114 \111\102 \037\115"):format(tostring(Z),typeof(Z),D)error(L,2)end})end return r
local function strict(t, name)
	name = name or tostring(t)

	return setmetatable(t, {
		__index = function(self, key)
			local message = ("%q (%s) is not a valid member of %s"):format(
				tostring(key),
				typeof(key),
				name
			)

			error(message, 2)
		end,

		__newindex = function(self, key, value)
			local message = ("%q (%s) is not a valid member of %s"):format(
				tostring(key),
				typeof(key),
				name
			)

			error(message, 2)
		end,
	})
end

return strict