summaryrefslogtreecommitdiff
path: root/im/src/lua5
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2010-06-14 23:47:31 -0700
committerPixel <pixel@nobis-crew.org>2010-06-14 23:47:31 -0700
commit7c0c85a86aa73c0c495523f994f8412e377a8195 (patch)
tree29929fdc4390224b3a4f8b728d50ae5dfc3589ce /im/src/lua5
parent5000908b9b2761854951cea3e7dad90be76ffd59 (diff)
Upgrading im to 3.6
Diffstat (limited to 'im/src/lua5')
-rw-r--r--im/src/lua5/clua/im_process.clua344
-rwxr-xr-xim/src/lua5/im_process.lua1
-rwxr-xr-xim/src/lua5/imlua_aux.c4
-rwxr-xr-xim/src/lua5/imlua_image.c46
-rwxr-xr-xim/src/lua5/imlua_process.c41
5 files changed, 248 insertions, 188 deletions
diff --git a/im/src/lua5/clua/im_process.clua b/im/src/lua5/clua/im_process.clua
index b5274f7..bb91893 100644
--- a/im/src/lua5/clua/im_process.clua
+++ b/im/src/lua5/clua/im_process.clua
@@ -605,192 +605,194 @@ static const unsigned char B1[] = {
0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x43,
0x6f, 0x6e, 0x73, 0x74, 0x22, 0x29, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x65, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x54, 0x77, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x73, 0x28, 0x22, 0x50, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
- 0x78, 0x22, 0x29, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x6e,
- 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65,
- 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
- 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x43,
- 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x29, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69,
- 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x4e, 0x65, 0x77, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f,
- 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f,
- 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64,
- 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d,
- 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73,
- 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5b, 0x31, 0x5d,
- 0x29, 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75,
- 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69,
- 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69,
- 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64,
- 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75,
- 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
- 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x4e,
- 0x65, 0x77, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69,
- 0x73, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a,
- 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67,
- 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67,
- 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5b, 0x31, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x2e,
- 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53,
- 0x74, 0x64, 0x44, 0x65, 0x76, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
- 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
- 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72,
- 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x0a,
- 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f,
- 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x41,
- 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x29, 0x0a,
- 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74,
- 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c,
- 0x79, 0x43, 0x6f, 0x6e, 0x6a, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
- 0x73, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, 0x52, 0x47, 0x42, 0x55, 0x6e, 0x69, 0x66,
- 0x6f, 0x72, 0x6d, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
- 0x69, 0x6d, 0x2e, 0x4d, 0x41, 0x50, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50,
- 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, 0x47, 0x72,
- 0x61, 0x79, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x48, 0x69, 0x73, 0x74, 0x6f,
- 0x67, 0x72, 0x61, 0x6d, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x45, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61,
- 0x6d, 0x22, 0x29, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6d,
- 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x59, 0x43, 0x68,
- 0x72, 0x6f, 0x6d, 0x61, 0x4e, 0x65, 0x77, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61,
- 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x79, 0x5f, 0x69, 0x6d,
- 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d,
- 0x61, 0x67, 0x65, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69,
- 0x6d, 0x2e, 0x47, 0x52, 0x41, 0x59, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x59, 0x54, 0x45, 0x29,
- 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x5f,
- 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73, 0x72, 0x63, 0x5f,
- 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c,
- 0x20, 0x69, 0x6d, 0x2e, 0x52, 0x47, 0x42, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x59, 0x54, 0x45,
- 0x29, 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70,
- 0x6c, 0x69, 0x74, 0x59, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69,
- 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x79, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x63,
- 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72,
- 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x79, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x63,
- 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a,
- 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x65, 0x44,
- 0x65, 0x73, 0x74, 0x73, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6c,
- 0x69, 0x74, 0x48, 0x53, 0x49, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
- 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x47, 0x52, 0x41, 0x59, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x46, 0x4c,
- 0x4f, 0x41, 0x54, 0x29, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
- 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x48, 0x53, 0x49, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c,
- 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x52, 0x47, 0x42, 0x2c, 0x20, 0x69, 0x6d,
- 0x2e, 0x42, 0x59, 0x54, 0x45, 0x29, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74,
- 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x77, 0x20, 0x28, 0x73,
- 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61,
- 0x6c, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d,
- 0x61, 0x67, 0x65, 0x3a, 0x44, 0x65, 0x70, 0x74, 0x68, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f,
- 0x63, 0x61, 0x6c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x20, 0x3d,
- 0x20, 0x7b, 0x7d, 0x0a, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x31, 0x2c,
- 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x28, 0x64, 0x73, 0x74, 0x5f, 0x69,
- 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69,
- 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
- 0x69, 0x6d, 0x2e, 0x47, 0x52, 0x41, 0x59, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a,
- 0x20, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6c, 0x69,
- 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x28, 0x73, 0x72, 0x63, 0x5f,
- 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
- 0x73, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x6e, 0x70, 0x61,
- 0x63, 0x6b, 0x28, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x29, 0x0a, 0x65,
- 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6d, 0x2e,
- 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70,
- 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x77, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69,
- 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x22, 0x29, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x4f,
+ 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x77, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x73,
+ 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f,
+ 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x22, 0x29, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x22, 0x2c,
+ 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
+ 0x69, 0x6d, 0x2e, 0x43, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x29, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x4e, 0x65, 0x77, 0x20, 0x28,
+ 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20,
+ 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x69,
0x6d, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73,
0x65, 0x64, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73,
- 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
- 0x69, 0x6d, 0x2e, 0x52, 0x47, 0x42, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f,
- 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
- 0x6e, 0x74, 0x73, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69,
- 0x73, 0x74, 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20,
- 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67,
- 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x74, 0x5b, 0x31, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x28, 0x73,
+ 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20, 0x64,
+ 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
+ 0x72, 0x6e, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x0a, 0x65, 0x6e, 0x64,
+ 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x64,
+ 0x44, 0x65, 0x76, 0x4e, 0x65, 0x77, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x69, 0x6d, 0x61,
+ 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x73, 0x74, 0x5f,
+ 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73, 0x72, 0x63, 0x5f,
+ 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5b, 0x31, 0x5d, 0x29, 0x0a, 0x20,
+ 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69,
+ 0x70, 0x6c, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d,
+ 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x69,
+ 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29,
+ 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d,
+ 0x61, 0x67, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63,
+ 0x65, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65,
+ 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c,
+ 0x74, 0x69, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6a, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, 0x52, 0x47, 0x42,
+ 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e,
+ 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x4d, 0x41, 0x50, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29,
+ 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73,
+ 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69,
+ 0x7a, 0x65, 0x47, 0x72, 0x61, 0x79, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x29, 0x0a,
+ 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74,
+ 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x48,
+ 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f,
+ 0x63, 0x65, 0x73, 0x73, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x69, 0x73, 0x74,
+ 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x22, 0x29, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6c, 0x69,
+ 0x74, 0x59, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x4e, 0x65, 0x77, 0x20, 0x28, 0x73, 0x72, 0x63,
+ 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+ 0x79, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d, 0x61,
+ 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73, 0x72,
+ 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69,
+ 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x47, 0x52, 0x41, 0x59, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42,
+ 0x59, 0x54, 0x45, 0x29, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x72,
+ 0x6f, 0x6d, 0x61, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49,
+ 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28,
+ 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
+ 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x52, 0x47, 0x42, 0x2c, 0x20, 0x69, 0x6d, 0x2e,
+ 0x42, 0x59, 0x54, 0x45, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x59, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x28, 0x73,
+ 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x79, 0x5f, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x2c, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29,
+ 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x79, 0x5f, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x2c, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x61, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x0a,
+ 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x68,
+ 0x72, 0x65, 0x65, 0x44, 0x65, 0x73, 0x74, 0x73, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x48, 0x53, 0x49, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c,
+ 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x47, 0x52, 0x41, 0x59, 0x2c, 0x20, 0x69,
+ 0x6d, 0x2e, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x29, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x65, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x48, 0x53, 0x49, 0x22, 0x2c, 0x20,
+ 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x52, 0x47, 0x42,
+ 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x59, 0x54, 0x45, 0x29, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53,
+ 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x4e, 0x65,
+ 0x77, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20,
+ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x73, 0x72,
+ 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x44, 0x65, 0x70, 0x74, 0x68, 0x28, 0x29, 0x0a,
+ 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x20,
+ 0x3d, 0x20, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20,
+ 0x20, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x28, 0x64,
+ 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d,
+ 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73,
+ 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e,
+ 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x47, 0x52, 0x41, 0x59, 0x29, 0x29, 0x0a, 0x20, 0x20,
+ 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x28,
+ 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69,
+ 0x6d, 0x61, 0x67, 0x65, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+ 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x28, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
+ 0x73, 0x29, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x20, 0x69, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65,
+ 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x77, 0x20, 0x28, 0x73,
+ 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x29, 0x0a, 0x20,
+ 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
+ 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e,
+ 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x52, 0x47, 0x42, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x6d,
+ 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2c, 0x20, 0x64, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x73, 0x74, 0x5f,
+ 0x69, 0x6d, 0x61, 0x67, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f,
+ 0x63, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e,
+ 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x46, 0x4c, 0x4f, 0x41,
+ 0x54, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44,
+ 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c,
+ 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x29, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4f, 0x70, 0x22, 0x29,
+ 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73,
+ 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x74, 0x77, 0x69, 0x73,
+ 0x65, 0x4e, 0x6f, 0x74, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
- 0x6e, 0x74, 0x73, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
- 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x29, 0x0a, 0x4f,
- 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28,
- 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43,
- 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x29, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x73, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
- 0x73, 0x42, 0x69, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4f, 0x70, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50,
- 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4e, 0x6f, 0x74,
- 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44,
- 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x74, 0x4d,
- 0x61, 0x73, 0x6b, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f,
- 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42,
- 0x69, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75,
+ 0x42, 0x69, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x75, 0x74, 0x22, 0x29, 0x0a, 0x4f,
- 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28,
- 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x55, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
- 0x69, 0x7a, 0x65, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
- 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x59, 0x54, 0x45, 0x29, 0x0a, 0x4f, 0x6e,
+ 0x65, 0x73, 0x73, 0x42, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x22, 0x29, 0x0a, 0x4f, 0x6e,
0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22,
- 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e,
- 0x76, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69,
- 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x59, 0x54, 0x45, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x29, 0x0a,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x75, 0x74,
+ 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44,
+ 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x55, 0x6e, 0x4e, 0x6f,
+ 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e,
+ 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x59, 0x54, 0x45,
+ 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65,
+ 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63,
+ 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
+ 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x59, 0x54, 0x45, 0x29, 0x0a,
0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74,
- 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f,
- 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22,
- 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42,
- 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4d, 0x61, 0x78, 0x54, 0x68, 0x72,
- 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69,
- 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69,
- 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44,
- 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65,
- 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
- 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
- 0x29, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x44,
- 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65,
- 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, 0x44, 0x69, 0x66, 0x66, 0x22, 0x29, 0x0a, 0x4f, 0x6e,
- 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22,
- 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x48, 0x79, 0x73, 0x74, 0x65, 0x72, 0x65, 0x73, 0x69,
- 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
- 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59,
- 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
+ 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65,
+ 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e,
+ 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20,
0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a,
0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74,
- 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x66, 0x75, 0x73, 0x69, 0x6f,
- 0x6e, 0x45, 0x72, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x29, 0x0a,
+ 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4d, 0x61,
+ 0x78, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
+ 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59,
+ 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c,
+ 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c,
+ 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x54, 0x77, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
+ 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, 0x44, 0x69, 0x66, 0x66, 0x22,
+ 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65,
+ 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x48, 0x79, 0x73, 0x74, 0x65,
+ 0x72, 0x65, 0x73, 0x69, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c,
+ 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49,
+ 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f,
+ 0x63, 0x65, 0x73, 0x73, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, 0x54, 0x68,
+ 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e,
+ 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e,
+ 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65,
+ 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x66,
+ 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
+ 0x64, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65,
+ 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x29, 0x0a,
0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74,
- 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
- 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x74, 0x73, 0x75, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
- 0x6c, 0x64, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e,
- 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x69,
- 0x6e, 0x4d, 0x61, 0x78, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20,
- 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e,
- 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
+ 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x74, 0x73, 0x75, 0x54, 0x68, 0x72,
+ 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x69, 0x6d,
0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x29, 0x0a, 0x4f, 0x6e,
0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22,
- 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x22,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65,
+ 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x20, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
+ 0x2c, 0x20, 0x69, 0x6d, 0x2e, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x6e, 0x69, 0x6c,
0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x65, 0x44, 0x65,
- 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x73, 0x74, 0x65,
- 0x72, 0x69, 0x7a, 0x65, 0x22, 0x29, 0x0a, 0x0a,
+ 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x69, 0x78, 0x65, 0x6c,
+ 0x61, 0x74, 0x65, 0x22, 0x29, 0x0a, 0x4f, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f,
+ 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x28, 0x22, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50,
+ 0x6f, 0x73, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x22, 0x29, 0x0a, 0x0a,
};
if (luaL_loadbuffer(L, (const char *)B1, sizeof(B1), "im_process.lua") == 0) lua_call(L, 0, 0);
diff --git a/im/src/lua5/im_process.lua b/im/src/lua5/im_process.lua
index eefac4b..5c73b29 100755
--- a/im/src/lua5/im_process.lua
+++ b/im/src/lua5/im_process.lua
@@ -255,6 +255,7 @@ end
TwoSourcesOneDest("ProcessBlendConst")
ThreeSourcesOneDest("ProcessBlend")
+TwoSourcesOneDest("ProcessCompose")
OneSourceTwoDests("ProcessSplitComplex")
TwoSourcesOneDest("ProcessMergeComplex", nil, nil, nil, im.CFLOAT)
diff --git a/im/src/lua5/imlua_aux.c b/im/src/lua5/imlua_aux.c
index e472dca..b26df93 100755
--- a/im/src/lua5/imlua_aux.c
+++ b/im/src/lua5/imlua_aux.c
@@ -2,7 +2,7 @@
* \brief IM Lua 5 Binding
*
* See Copyright Notice in im_lib.h
- * $Id: imlua_aux.c,v 1.2 2009/08/04 21:35:26 scuri Exp $
+ * $Id: imlua_aux.c,v 1.3 2010/01/21 18:24:22 scuri Exp $
*/
#include <memory.h>
@@ -46,7 +46,7 @@ int imlua_newarrayint (lua_State *L, int *value, int count, int start)
lua_newtable(L);
for (i = 0; i < count; i++)
{
- lua_pushnumber(L, value[i]);
+ lua_pushinteger(L, value[i]);
lua_rawseti(L, -2, i+start);
}
return 1;
diff --git a/im/src/lua5/imlua_image.c b/im/src/lua5/imlua_image.c
index 55dcc82..0e8676d 100755
--- a/im/src/lua5/imlua_image.c
+++ b/im/src/lua5/imlua_image.c
@@ -2,7 +2,7 @@
* \brief IM Lua 5 Binding
*
* See Copyright Notice in im_lib.h
- * $Id: imlua_image.c,v 1.5 2009/09/25 18:40:31 scuri Exp $
+ * $Id: imlua_image.c,v 1.9 2010/01/17 18:18:12 scuri Exp $
*/
#include <string.h>
@@ -128,6 +128,15 @@ static int imluaImageAddAlpha (lua_State *L)
}
/*****************************************************************************\
+ image:SetAlpha()
+\*****************************************************************************/
+static int imluaImageSetAlpha (lua_State *L)
+{
+ imImageSetAlpha(imlua_checkimage(L, 1), (float)luaL_checknumber(L, 2));
+ return 0;
+}
+
+/*****************************************************************************\
image:Reshape()
\*****************************************************************************/
static int imluaImageReshape (lua_State *L)
@@ -167,6 +176,31 @@ static int imluaImageCopyData (lua_State *L)
}
/*****************************************************************************\
+ image:CopyPlane()
+\*****************************************************************************/
+static int imluaImageCopyPlane(lua_State *L)
+{
+ imImage* src_image = imlua_checkimage(L, 1);
+ int src_plane = luaL_checkint(L, 2);
+ imImage* dst_image = imlua_checkimage(L, 3);
+ int dst_plane = luaL_checkint(L, 4);
+ int src_depth, dst_depth;
+
+ imlua_matchdatatype(L, src_image, dst_image);
+
+ src_depth = src_image->has_alpha? src_image->depth+1: src_image->depth;
+ if (src_plane < 0 || src_plane >= src_depth)
+ luaL_argerror(L, 2, "invalid source channel, out of bounds");
+
+ dst_depth = dst_image->has_alpha? dst_image->depth+1: dst_image->depth;
+ if (dst_plane < 0 || dst_plane >= dst_depth)
+ luaL_argerror(L, 4, "invalid destiny channel, out of bounds");
+
+ imImageCopyPlane(src_image, src_plane, dst_image, dst_plane);
+ return 0;
+}
+
+/*****************************************************************************\
image:Duplicate()
\*****************************************************************************/
static int imluaImageDuplicate (lua_State *L)
@@ -751,13 +785,14 @@ static int imluaImage_tostring (lua_State *L)
if (*image_p)
{
imImage *image = *image_p;
- lua_pushfstring(L, "imImage(%p) [width=%d,height=%d,color_space=%s,data_type=%s,depth=%d]",
+ lua_pushfstring(L, "imImage(%p) [width=%d,height=%d,color_space=%s,data_type=%s,depth=%d,has_alpha=%d]",
image_p,
image->width,
image->height,
imColorModeSpaceName(image->color_space),
imDataTypeName(image->data_type),
- image->depth
+ image->depth,
+ image->has_alpha
);
}
else
@@ -956,7 +991,8 @@ static int imluaImage_index (lua_State *L)
int channel = luaL_checkint(L, 2);
/* create channel */
- if (channel < 0 || channel >= image->depth)
+ int depth = image->has_alpha? image->depth+1: image->depth;
+ if (channel < 0 || channel >= depth)
luaL_argerror(L, 2, "invalid channel, out of bounds");
imlua_newimagechannel(L, image, channel);
@@ -989,9 +1025,11 @@ static const luaL_reg imimage_lib[] = {
static const luaL_reg imimage_metalib[] = {
{"Destroy", imluaImageDestroy},
{"AddAlpha", imluaImageAddAlpha},
+ {"SetAlpha", imluaImageSetAlpha},
{"Reshape", imluaImageReshape},
{"Copy", imluaImageCopy},
{"CopyData", imluaImageCopyData},
+ {"CopyPlane", imluaImageCopyPlane},
{"Duplicate", imluaImageDuplicate},
{"Clone", imluaImageClone},
{"SetAttribute", imluaImageSetAttribute},
diff --git a/im/src/lua5/imlua_process.c b/im/src/lua5/imlua_process.c
index 38d39e9..978428b 100755
--- a/im/src/lua5/imlua_process.c
+++ b/im/src/lua5/imlua_process.c
@@ -2,7 +2,7 @@
* \brief IM Lua 5 Binding
*
* See Copyright Notice in im_lib.h
- * $Id: imlua_process.c,v 1.8 2009/10/01 02:56:58 scuri Exp $
+ * $Id: imlua_process.c,v 1.11 2010/03/21 22:29:10 scuri Exp $
*/
#include <memory.h>
@@ -1703,6 +1703,22 @@ static int imluaProcessBlend (lua_State *L)
}
/*****************************************************************************\
+ im.ProcessCompose
+\*****************************************************************************/
+static int imluaProcessCompose(lua_State *L)
+{
+ imImage *src_image1 = imlua_checkimage(L, 1);
+ imImage *src_image2 = imlua_checkimage(L, 2);
+ imImage *dst_image = imlua_checkimage(L, 3);
+
+ imlua_match(L, src_image1, src_image2);
+ imlua_match(L, src_image1, dst_image);
+
+ imProcessCompose(src_image1, src_image2, dst_image);
+ return 0;
+}
+
+/*****************************************************************************\
im.ProcessSplitComplex
\*****************************************************************************/
static int imluaProcessSplitComplex (lua_State *L)
@@ -2009,18 +2025,19 @@ static int imluaProcessMergeHSI (lua_State *L)
\*****************************************************************************/
static int imluaProcessSplitComponents (lua_State *L)
{
- int i;
+ int i, src_depth;
imImage *src_image = imlua_checkimage(L, 1);
imImage **dst_image_list;
luaL_checktype(L, 2, LUA_TTABLE);
- if (imlua_getn(L, 2) != src_image->depth)
+ src_depth = src_image->has_alpha? src_image->depth+1: src_image->depth;
+ if (imlua_getn(L, 2) != src_depth)
luaL_error(L, "number of destiny images must match the depth of the source image");
- dst_image_list = (imImage**)malloc(sizeof(imImage*)*src_image->depth);
+ dst_image_list = (imImage**)malloc(sizeof(imImage*)*src_depth);
- for (i = 0; i < src_image->depth; i++)
+ for (i = 0; i < src_depth; i++)
{
lua_pushnumber(L, i+1);
lua_gettable(L, 2);
@@ -2029,7 +2046,7 @@ static int imluaProcessSplitComponents (lua_State *L)
lua_pop(L, 1);
}
- for (i = 0; i < src_image->depth; i++)
+ for (i = 0; i < src_depth; i++)
{
int check = imImageMatchDataType(src_image, dst_image_list[i]);
if (!check) free(dst_image_list);
@@ -2048,19 +2065,20 @@ static int imluaProcessSplitComponents (lua_State *L)
\*****************************************************************************/
static int imluaProcessMergeComponents (lua_State *L)
{
- int i;
+ int i, dst_depth;
imImage** src_image_list;
imImage *dst_image;
luaL_checktype(L, 1, LUA_TTABLE);
dst_image = imlua_checkimage(L, 2);
- if (imlua_getn(L, 1) != dst_image->depth)
+ dst_depth = dst_image->has_alpha? dst_image->depth+1: dst_image->depth;
+ if (imlua_getn(L, 1) != dst_depth)
luaL_error(L, "number of source images must match the depth of the destination image");
- src_image_list = (imImage**)malloc(sizeof(imImage*)*dst_image->depth);
+ src_image_list = (imImage**)malloc(sizeof(imImage*)*dst_depth);
- for (i = 0; i < dst_image->depth; i++)
+ for (i = 0; i < dst_depth; i++)
{
lua_pushnumber(L, i+1);
lua_gettable(L, 1);
@@ -2069,7 +2087,7 @@ static int imluaProcessMergeComponents (lua_State *L)
lua_pop(L, 1);
}
- for (i = 0; i < dst_image->depth; i++)
+ for (i = 0; i < dst_depth; i++)
{
int check = imImageMatchDataType(src_image_list[i], dst_image);
if (!check) free(src_image_list);
@@ -2988,6 +3006,7 @@ static const luaL_reg improcess_lib[] = {
{"ProcessArithmeticConstOp", imluaProcessArithmeticConstOp},
{"ProcessBlendConst", imluaProcessBlendConst},
{"ProcessBlend", imluaProcessBlend},
+ {"ProcessCompose", imluaProcessCompose},
{"ProcessSplitComplex", imluaProcessSplitComplex},
{"ProcessMergeComplex", imluaProcessMergeComplex},
{"ProcessMultipleMean", imluaProcessMultipleMean},