Fix missing LuaJIT return;

This commit is contained in:
bjorn 2019-01-12 05:06:57 -08:00
parent 6bfc6623ac
commit bb9d354ac9
2 changed files with 334 additions and 346 deletions

View File

@ -311,13 +311,13 @@ ffi.metatype(quat, {
normalize = function(q)
checkquat(q)
C.quat_normalize(q)
return C.quat_normalize(q)
end,
slerp = function(q, r, t)
checkquat(q)
checkquat(r, 1)
C.quat_slerp(q, r, t)
return C.quat_slerp(q, r, t)
end
},
@ -397,34 +397,31 @@ ffi.metatype(mat4, {
translate = function(m, x, y, z)
checkmat4(m)
if type(x) == 'number' then
C.mat4_translate(m, x, y, z)
return C.mat4_translate(m, x, y, z)
else
checkvec3(x, 1, 'vec3 or number')
C.mat4_translate(m, x.x, x.y, x.z)
return C.mat4_translate(m, x.x, x.y, x.z)
end
return m
end,
rotate = function(m, angle, ax, ay, az)
checkmat4(m)
if type(angle) == 'number' then
C.mat4_rotate(m, angle, ax, ay, az)
return C.mat4_rotate(m, angle, ax, ay, az)
else
checkquat(angle, 1, 'quat or number')
C.mat4_rotateQuat(m, angle)
return C.mat4_rotateQuat(m, angle)
end
return m
end,
scale = function(m, sx, sy, sz)
checkmat4(m)
if type(sx) == 'number' then
C.mat4_scale(m, sx, sy or sx, sz or sx)
return C.mat4_scale(m, sx, sy or sx, sz or sx)
else
checkvec3(sx, 1, 'vec3 or number')
C.mat4_scale(m, sx.x, sx.y, sx.z)
return C.mat4_scale(m, sx.x, sx.y, sx.z)
end
return m
end,
getTransform = function(m)
@ -436,8 +433,7 @@ ffi.metatype(mat4, {
setTransform = function(m, x, y, z, sx, sy, sz, angle, ax, ay, az)
checkmat4(m)
C.mat4_setTransform(m, x or 0, y or 0, z or 0, sx or 1, sy or sx or 1, sz or sx or 1, angle or 0, ax or 0, ay or 1, az or 0)
return m
return C.mat4_setTransform(m, x or 0, y or 0, z or 0, sx or 1, sy or sx or 1, sz or sx or 1, angle or 0, ax or 0, ay or 1, az or 0)
end,
transformPoint = function(m, x, y, z)
@ -450,23 +446,19 @@ ffi.metatype(mat4, {
perspective = function(m, near, far, fov, aspect)
checkmat4(m)
C.mat4_perspective(m, near, far, fov, aspect)
return m
return C.mat4_perspective(m, near, far, fov, aspect)
end,
orthographic = function(m, left, right, top, bottom, near, far)
checkmat4(m)
C.mat4_orthographic(m, left, right, top, bottom, near, far)
return m
return C.mat4_orthographic(m, left, right, top, bottom, near, far)
end
},
__mul = function(m, n)
checkmat4(m, 1)
if istype(mat4, n) then
local out = math.mat4(m)
C.mat4_multiply(out, n)
return out
return C.mat4_multiply(math.mat4(m), n)
else
checkvec3(n, 2, 'mat4 or vec3')
local f = new('float[3]', n.x, n.y, n.z)

View File

@ -730,182 +730,183 @@ unsigned char math_lua[] = {
0x6c, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x28, 0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28,
0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e,
0x71, 0x75, 0x61, 0x74, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69,
0x7a, 0x65, 0x28, 0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
0x6c, 0x65, 0x72, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x28, 0x71, 0x2c, 0x20, 0x72, 0x2c, 0x20, 0x74, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61,
0x74, 0x28, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x73, 0x6c,
0x65, 0x72, 0x70, 0x28, 0x71, 0x2c, 0x20, 0x72, 0x2c, 0x20, 0x74, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20,
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6d,
0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x28, 0x71, 0x2c, 0x20, 0x72, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x71,
0x2c, 0x20, 0x31, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66,
0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33,
0x2c, 0x20, 0x72, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76,
0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33,
0x28, 0x72, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43,
0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65,
0x28, 0x71, 0x2c, 0x20, 0x76, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61,
0x74, 0x28, 0x72, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63,
0x33, 0x20, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x61, 0x74, 0x27, 0x29, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x6d, 0x75, 0x6c,
0x28, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x28, 0x71,
0x29, 0x2c, 0x20, 0x72, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a,
0x0d, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20,
0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x71, 0x29, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75,
0x61, 0x74, 0x28, 0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72,
0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74,
0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20,
0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x3d,
0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x71, 0x29,
0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x28,
0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x2c, 0x20,
0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, 0x71, 0x2e, 0x78, 0x2c, 0x20, 0x71,
0x2e, 0x79, 0x2c, 0x20, 0x71, 0x2e, 0x7a, 0x2c, 0x20, 0x71, 0x2e, 0x77,
0x29, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x7d, 0x29, 0x0d, 0x0a, 0x0d,
0x0a, 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x79, 0x70,
0x65, 0x28, 0x6d, 0x61, 0x74, 0x34, 0x2c, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x7b,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20,
0x3d, 0x20, 0x43, 0x2e, 0x4d, 0x41, 0x54, 0x48, 0x5f, 0x4d, 0x41, 0x54,
0x34, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e,
0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28,
0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x20, 0x2d, 0x2d, 0x20, 0x79, 0x75, 0x6d, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d,
0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x5d, 0x2c,
0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d,
0x5b, 0x33, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x2e,
0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x36, 0x5d,
0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x38,
0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d,
0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b,
0x31, 0x31, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d,
0x2e, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b,
0x31, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x35, 0x5d,
0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f,
0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x71, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20,
0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20,
0x78, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34,
0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x78, 0x20, 0x74, 0x68, 0x65, 0x6e,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x3a,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66,
0x20, 0x6e, 0x6f, 0x74, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6e, 0x64,
0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20,
0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65,
0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d,
0x2e, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x35,
0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20,
0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c,
0x20, 0x78, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x78, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x2e,
0x2e, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x30, 0x5d, 0x2c,
0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d,
0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x33, 0x5d, 0x2c,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e,
0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x35, 0x5d,
0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6d, 0x2e,
0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x6d,
0x2e, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31,
0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x2c,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e,
0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31,
0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x2c,
0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x78,
0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x70, 0x6f, 0x6f,
0x6c, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f,
0x6f, 0x6c, 0x3a, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x3a, 0x75, 0x6e,
0x70, 0x61, 0x63, 0x6b, 0x28, 0x29, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x6d,
0x61, 0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x3a, 0x75,
0x6e, 0x70, 0x61, 0x63, 0x6b, 0x28, 0x29, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x73, 0x61, 0x76, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6c, 0x65, 0x72, 0x70, 0x20,
0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x71,
0x2c, 0x20, 0x72, 0x2c, 0x20, 0x74, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74,
0x28, 0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x72, 0x2c, 0x20,
0x31, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f,
0x73, 0x6c, 0x65, 0x72, 0x70, 0x28, 0x71, 0x2c, 0x20, 0x72, 0x2c, 0x20,
0x74, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d,
0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x5f,
0x5f, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x28, 0x71, 0x2c, 0x20, 0x72, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74,
0x28, 0x71, 0x2c, 0x20, 0x31, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x69, 0x66, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x65,
0x63, 0x33, 0x2c, 0x20, 0x72, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
0x20, 0x76, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65,
0x63, 0x33, 0x28, 0x72, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x61,
0x74, 0x65, 0x28, 0x71, 0x2c, 0x20, 0x76, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71,
0x75, 0x61, 0x74, 0x28, 0x72, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x27, 0x76,
0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x61, 0x74, 0x27,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x6d,
0x75, 0x6c, 0x28, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x71, 0x75, 0x61, 0x74,
0x28, 0x71, 0x29, 0x2c, 0x20, 0x72, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c,
0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, 0x6e, 0x20,
0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x71,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x71, 0x75, 0x61, 0x74, 0x28, 0x71, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x71, 0x75,
0x61, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x71, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a,
0x20, 0x20, 0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28,
0x71, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28,
0x27, 0x28, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66,
0x2c, 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, 0x71, 0x2e, 0x78, 0x2c,
0x20, 0x71, 0x2e, 0x79, 0x2c, 0x20, 0x71, 0x2e, 0x7a, 0x2c, 0x20, 0x71,
0x2e, 0x77, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x7d, 0x29, 0x0d,
0x0a, 0x0d, 0x0a, 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74,
0x79, 0x70, 0x65, 0x28, 0x6d, 0x61, 0x74, 0x34, 0x2c, 0x20, 0x7b, 0x0d,
0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d,
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x74, 0x79, 0x70,
0x65, 0x20, 0x3d, 0x20, 0x43, 0x2e, 0x4d, 0x41, 0x54, 0x48, 0x5f, 0x4d,
0x41, 0x54, 0x34, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74,
0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x28,
0x29, 0x3a, 0x73, 0x65, 0x74, 0x28, 0x6d, 0x3a, 0x75, 0x6e, 0x70, 0x61,
0x63, 0x6b, 0x28, 0x29, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x3d, 0x20, 0x66, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20,
0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2d, 0x2d, 0x20, 0x79, 0x75,
0x6d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d,
0x2e, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31,
0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d,
0x2e, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20,
0x6d, 0x2e, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b,
0x36, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d,
0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x39, 0x5d, 0x2c,
0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e,
0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c,
0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x2e,
0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31,
0x35, 0x5d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c,
0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20,
0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d,
0x2c, 0x20, 0x78, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61,
0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61,
0x74, 0x34, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28,
0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c,
0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x76, 0x65,
0x72, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x69, 0x6e,
0x76, 0x65, 0x72, 0x74, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, 0x20, 0x3d,
0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43,
0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70,
0x6f, 0x73, 0x65, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20,
0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20,
0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74,
0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d,
0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x78, 0x20, 0x74, 0x68,
0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x6d, 0x3a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65,
0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61,
0x6e, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d,
0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74,
0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d,
0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d,
0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20,
0x78, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x78, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66,
0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x30,
0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d,
0x2e, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x33,
0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x6d, 0x2e, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b,
0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20,
0x6d, 0x2e, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x38, 0x5d, 0x2c,
0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d,
0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x31,
0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d,
0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x34,
0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d,
0x20, 0x78, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x70,
0x6f, 0x6f, 0x6c, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x20,
0x70, 0x6f, 0x6f, 0x6c, 0x3a, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x3a,
0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x28, 0x29, 0x29, 0x20, 0x6f, 0x72,
0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d,
0x3a, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x28, 0x29, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x73, 0x61, 0x76, 0x65, 0x20, 0x3d, 0x20, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d,
0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74,
0x34, 0x28, 0x29, 0x3a, 0x73, 0x65, 0x74, 0x28, 0x6d, 0x3a, 0x75, 0x6e,
0x70, 0x61, 0x63, 0x6b, 0x28, 0x29, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x3d, 0x20,
0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e,
0x6d, 0x61, 0x74, 0x34, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e,
0x76, 0x65, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28,
0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f,
0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65,
0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28,
0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x72, 0x61, 0x6e,
0x73, 0x6c, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20,
0x79, 0x2c, 0x20, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33,
0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33,
0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e,
0x73, 0x70, 0x6f, 0x73, 0x65, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x20,
0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d,
0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d,
0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29,
0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27,
0x20, 0x74, 0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e,
0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2e, 0x78, 0x2c, 0x20, 0x78,
0x2e, 0x79, 0x2c, 0x20, 0x78, 0x2e, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x0d,
0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20,
0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c,
0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c,
0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72,
0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x72, 0x61,
0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2e,
0x78, 0x2c, 0x20, 0x78, 0x2e, 0x79, 0x2c, 0x20, 0x78, 0x2e, 0x7a, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x20,
0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d,
@ -916,172 +917,167 @@ unsigned char math_lua[] = {
0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x61, 0x6e, 0x67, 0x6c,
0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f,
0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x61, 0x6e,
0x67, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c,
0x20, 0x61, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28,
0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x71,
0x75, 0x61, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x27, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61,
0x74, 0x65, 0x51, 0x75, 0x61, 0x74, 0x28, 0x6d, 0x2c, 0x20, 0x61, 0x6e,
0x67, 0x6c, 0x65, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x73, 0x78, 0x2c,
0x20, 0x73, 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74,
0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x73, 0x78, 0x29, 0x20,
0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20,
0x74, 0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x73, 0x63, 0x61,
0x6c, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x73, 0x78, 0x2c, 0x20, 0x73, 0x79,
0x20, 0x6f, 0x72, 0x20, 0x73, 0x78, 0x2c, 0x20, 0x73, 0x7a, 0x20, 0x6f,
0x72, 0x20, 0x73, 0x78, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33,
0x28, 0x73, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63,
0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43,
0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74,
0x65, 0x28, 0x6d, 0x2c, 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20,
0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x61, 0x7a, 0x29, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x61, 0x6e, 0x67, 0x6c, 0x65,
0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, 0x74, 0x20, 0x6f,
0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f,
0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x61, 0x74, 0x28, 0x6d, 0x2c, 0x20,
0x61, 0x6e, 0x67, 0x6c, 0x65, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
0x63, 0x61, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x73, 0x78, 0x2c, 0x20, 0x73,
0x79, 0x2c, 0x20, 0x73, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28,
0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66,
0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x73, 0x78, 0x29, 0x20, 0x3d, 0x3d,
0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68,
0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74,
0x34, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x73,
0x78, 0x2c, 0x20, 0x73, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x78, 0x2c,
0x20, 0x73, 0x7a, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x78, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x78, 0x2c, 0x20, 0x31, 0x2c,
0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43,
0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x28,
0x6d, 0x2c, 0x20, 0x73, 0x78, 0x2e, 0x78, 0x2c, 0x20, 0x73, 0x78, 0x2e,
0x79, 0x2c, 0x20, 0x73, 0x78, 0x2e, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34,
0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c,
0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77,
0x28, 0x27, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5b, 0x31, 0x30, 0x5d, 0x27,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d,
0x61, 0x74, 0x34, 0x5f, 0x67, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x66, 0x6f, 0x72, 0x6d, 0x28, 0x6d, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20,
0x30, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x66, 0x20,
0x2b, 0x20, 0x32, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x33, 0x2c, 0x20,
0x66, 0x20, 0x2b, 0x20, 0x34, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x35,
0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x36, 0x2c, 0x20, 0x66, 0x20, 0x2b,
0x20, 0x37, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x38, 0x2c, 0x20, 0x66,
0x20, 0x2b, 0x20, 0x39, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x5b, 0x30, 0x5d,
0x2c, 0x20, 0x66, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x32, 0x5d,
0x2c, 0x20, 0x66, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x34, 0x5d,
0x2c, 0x20, 0x66, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x36, 0x5d,
0x2c, 0x20, 0x66, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x38, 0x5d,
0x2c, 0x20, 0x66, 0x5b, 0x39, 0x5d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x73, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28,
0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20,
0x73, 0x78, 0x2c, 0x20, 0x73, 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x2c, 0x20,
0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61,
0x79, 0x2c, 0x20, 0x61, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28,
0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e,
0x6d, 0x61, 0x74, 0x34, 0x5f, 0x73, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x20, 0x6f,
0x72, 0x20, 0x30, 0x2c, 0x20, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2c,
0x20, 0x7a, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2c, 0x20, 0x73, 0x78, 0x20,
0x6f, 0x72, 0x20, 0x31, 0x2c, 0x20, 0x73, 0x79, 0x20, 0x6f, 0x72, 0x20,
0x73, 0x78, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x2c, 0x20, 0x73, 0x7a, 0x20,
0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x67, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
0x6d, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
0x20, 0x66, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x28, 0x27, 0x66, 0x6c,
0x6f, 0x61, 0x74, 0x5b, 0x31, 0x30, 0x5d, 0x27, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f,
0x67, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
0x28, 0x6d, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x30, 0x2c, 0x20, 0x66,
0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x32, 0x2c,
0x20, 0x66, 0x20, 0x2b, 0x20, 0x33, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20,
0x34, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x35, 0x2c, 0x20, 0x66, 0x20,
0x2b, 0x20, 0x36, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x37, 0x2c, 0x20,
0x66, 0x20, 0x2b, 0x20, 0x38, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x39,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
0x75, 0x72, 0x6e, 0x20, 0x66, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x66, 0x5b,
0x31, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x66, 0x5b,
0x33, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x66, 0x5b,
0x35, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x66, 0x5b,
0x37, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x66, 0x5b,
0x39, 0x5d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c,
0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x74, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x3d, 0x20, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x78,
0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x73, 0x78, 0x2c, 0x20,
0x73, 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x2c, 0x20, 0x61, 0x6e, 0x67, 0x6c,
0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x61,
0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x73, 0x65, 0x74, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x6d, 0x2c, 0x20,
0x78, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2c, 0x20, 0x79, 0x20, 0x6f, 0x72,
0x20, 0x30, 0x2c, 0x20, 0x7a, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2c, 0x20,
0x73, 0x78, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x2c, 0x20, 0x73, 0x79, 0x20,
0x6f, 0x72, 0x20, 0x73, 0x78, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x2c, 0x20,
0x61, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2c, 0x20,
0x61, 0x78, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2c, 0x20, 0x61, 0x79, 0x20,
0x6f, 0x72, 0x20, 0x31, 0x2c, 0x20, 0x61, 0x7a, 0x20, 0x6f, 0x72, 0x20,
0x30, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x6f, 0x69,
0x6e, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x74, 0x79,
0x70, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, 0x78, 0x29, 0x20,
0x74, 0x68, 0x65, 0x6e, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a,
0x20, 0x3d, 0x20, 0x78, 0x2e, 0x78, 0x2c, 0x20, 0x78, 0x2e, 0x79, 0x2c,
0x20, 0x78, 0x2e, 0x7a, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20,
0x3d, 0x20, 0x6e, 0x65, 0x77, 0x28, 0x27, 0x66, 0x6c, 0x6f, 0x61, 0x74,
0x5b, 0x33, 0x5d, 0x27, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20,
0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e,
0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
0x72, 0x6d, 0x28, 0x6d, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x30, 0x2c,
0x20, 0x66, 0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20,
0x32, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x66,
0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x32, 0x5d, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69,
0x76, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x2c, 0x20, 0x66,
0x61, 0x72, 0x2c, 0x20, 0x66, 0x6f, 0x76, 0x2c, 0x20, 0x61, 0x73, 0x70,
0x65, 0x63, 0x74, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61,
0x74, 0x34, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69,
0x76, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x2c, 0x20,
0x66, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x6f, 0x76, 0x2c, 0x20, 0x61, 0x73,
0x70, 0x65, 0x63, 0x74, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2c, 0x20,
0x73, 0x7a, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x78, 0x20, 0x6f, 0x72, 0x20,
0x31, 0x2c, 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x20,
0x30, 0x2c, 0x20, 0x61, 0x78, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2c, 0x20,
0x61, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x2c, 0x20, 0x61, 0x7a, 0x20,
0x6f, 0x72, 0x20, 0x30, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x6f, 0x69, 0x6e,
0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x29,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70,
0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, 0x78, 0x29, 0x20, 0x74,
0x68, 0x65, 0x6e, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x20,
0x3d, 0x20, 0x78, 0x2e, 0x78, 0x2c, 0x20, 0x78, 0x2e, 0x79, 0x2c, 0x20,
0x78, 0x2e, 0x7a, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d,
0x20, 0x6e, 0x65, 0x77, 0x28, 0x27, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5b,
0x33, 0x5d, 0x27, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d,
0x61, 0x74, 0x34, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
0x6d, 0x28, 0x6d, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x30, 0x2c, 0x20,
0x66, 0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x32,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
0x75, 0x72, 0x6e, 0x20, 0x66, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x66, 0x5b,
0x31, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x32, 0x5d, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76,
0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x28, 0x6d, 0x2c, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x61,
0x72, 0x2c, 0x20, 0x66, 0x6f, 0x76, 0x2c, 0x20, 0x61, 0x73, 0x70, 0x65,
0x63, 0x74, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x70, 0x65, 0x72,
0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x28, 0x6d, 0x2c, 0x20,
0x6e, 0x65, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x2c, 0x20, 0x66,
0x6f, 0x76, 0x2c, 0x20, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x29, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d,
0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74,
0x2c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x74, 0x6f, 0x70,
0x2c, 0x20, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x2c, 0x20, 0x6e, 0x65,
0x61, 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74,
0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74,
0x34, 0x5f, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x28, 0x6d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2c, 0x20,
0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x2c, 0x20,
0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x2c, 0x20, 0x6e, 0x65, 0x61, 0x72,
0x2c, 0x20, 0x66, 0x61, 0x72, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28,
0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e,
0x6d, 0x61, 0x74, 0x34, 0x5f, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x28, 0x6d, 0x2c, 0x20, 0x6c, 0x65, 0x66,
0x74, 0x2c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x74, 0x6f,
0x70, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x2c, 0x20, 0x6e,
0x65, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
0x6d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a,
0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x5f, 0x5f,
0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x6e, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28,
0x6d, 0x2c, 0x20, 0x31, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
0x66, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6d, 0x61, 0x74,
0x34, 0x2c, 0x20, 0x6e, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
0x6f, 0x75, 0x74, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x6d,
0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x6d, 0x75, 0x6c,
0x74, 0x69, 0x70, 0x6c, 0x79, 0x28, 0x6f, 0x75, 0x74, 0x2c, 0x20, 0x6e,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x0d, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6e,
0x2c, 0x20, 0x32, 0x2c, 0x20, 0x27, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x6f,
0x72, 0x20, 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20,
0x3d, 0x20, 0x6e, 0x65, 0x77, 0x28, 0x27, 0x66, 0x6c, 0x6f, 0x61, 0x74,
0x5b, 0x33, 0x5d, 0x27, 0x2c, 0x20, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x6e,
0x2e, 0x79, 0x2c, 0x20, 0x6e, 0x2e, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x6d, 0x2c, 0x20,
0x66, 0x20, 0x2b, 0x20, 0x30, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x31,
0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d,
0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x66, 0x5b, 0x30,
0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x32,
0x5d, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d,
0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20,
0x20, 0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20,
0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x20, 0x27, 0x6d, 0x61, 0x74, 0x34, 0x27, 0x0d, 0x0a, 0x20, 0x20,
0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x7d, 0x29, 0x0d, 0x0a
0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x0d,
0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x2c, 0x20, 0x6e,
0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x2c, 0x20, 0x31, 0x29, 0x0d, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70,
0x65, 0x28, 0x6d, 0x61, 0x74, 0x34, 0x2c, 0x20, 0x6e, 0x29, 0x20, 0x74,
0x68, 0x65, 0x6e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34,
0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x28, 0x6d, 0x61,
0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6d, 0x29, 0x2c, 0x20,
0x6e, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65,
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6e, 0x2c, 0x20, 0x32, 0x2c, 0x20,
0x27, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x63,
0x33, 0x27, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c,
0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77,
0x28, 0x27, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5b, 0x33, 0x5d, 0x27, 0x2c,
0x20, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x6e,
0x2e, 0x7a, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43,
0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
0x6f, 0x72, 0x6d, 0x28, 0x6d, 0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x30,
0x2c, 0x20, 0x66, 0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x66, 0x20, 0x2b,
0x20, 0x32, 0x29, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76,
0x65, 0x63, 0x33, 0x28, 0x66, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x66, 0x5b,
0x31, 0x5d, 0x2c, 0x20, 0x66, 0x5b, 0x32, 0x5d, 0x29, 0x0d, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a, 0x20, 0x20, 0x65, 0x6e,
0x64, 0x2c, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x74, 0x6f,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x29, 0x0d, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x27, 0x6d, 0x61,
0x74, 0x34, 0x27, 0x0d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0d, 0x0a,
0x7d, 0x29, 0x0d, 0x0a
};
unsigned int math_lua_len = 13005;
unsigned int math_lua_len = 12952;