From 93d78bf7c89c923bbbd47900092088cc167eba00 Mon Sep 17 00:00:00 2001 From: Hassan DRAGA Date: Tue, 11 Jun 2024 16:58:33 -0400 Subject: [PATCH] Fix Bridge Navigation Event * If there is no bind all, then keep navigation events as default * More details (https://github.com/webui-dev/webui/issues/392) --- bridge/webui_bridge.h | 3095 ++++++++++++++++++++-------------------- bridge/webui_bridge.ts | 73 +- 2 files changed, 1563 insertions(+), 1605 deletions(-) diff --git a/bridge/webui_bridge.h b/bridge/webui_bridge.h index 45c19941..83ce9ddd 100644 --- a/bridge/webui_bridge.h +++ b/bridge/webui_bridge.h @@ -123,1059 +123,987 @@ unsigned char webui_javascript_bridge[] = { 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x3d, 0x20, 0x5b, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, - 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x73, 0x65, 0x6e, 0x64, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x5b, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x23, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x57, 0x65, - 0x62, 0x55, 0x49, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x0a, - 0x20, 0x20, 0x23, 0x57, 0x45, 0x42, 0x55, 0x49, 0x5f, 0x53, - 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x20, 0x3d, - 0x20, 0x32, 0x32, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x20, 0x3d, 0x20, 0x32, 0x35, - 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, 0x44, 0x5f, - 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x20, 0x3d, - 0x20, 0x32, 0x35, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x20, 0x3d, - 0x20, 0x32, 0x35, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x20, 0x3d, 0x20, 0x32, 0x35, 0x31, 0x3b, - 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x4c, - 0x4f, 0x53, 0x45, 0x20, 0x3d, 0x20, 0x32, 0x35, 0x30, 0x3b, - 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x41, - 0x4c, 0x4c, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x20, 0x3d, 0x20, - 0x32, 0x34, 0x39, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, - 0x44, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x41, 0x57, - 0x20, 0x3d, 0x20, 0x32, 0x34, 0x38, 0x3b, 0x0a, 0x20, 0x20, - 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x49, - 0x44, 0x20, 0x3d, 0x20, 0x32, 0x34, 0x37, 0x3b, 0x0a, 0x20, - 0x20, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4d, 0x55, 0x4c, 0x54, - 0x49, 0x20, 0x3d, 0x20, 0x32, 0x34, 0x36, 0x3b, 0x0a, 0x20, - 0x20, 0x23, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x48, - 0x55, 0x4e, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x20, 0x3d, - 0x20, 0x36, 0x35, 0x35, 0x30, 0x30, 0x3b, 0x0a, 0x20, 0x20, - 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, - 0x53, 0x49, 0x5a, 0x45, 0x20, 0x3d, 0x20, 0x38, 0x3b, 0x0a, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x49, 0x47, - 0x4e, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x28, 0x31, 0x20, 0x42, - 0x79, 0x74, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x54, 0x4f, 0x4b, - 0x45, 0x4e, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x20, 0x28, 0x34, 0x20, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x20, 0x3d, 0x20, - 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, 0x79, 0x74, - 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x3a, 0x20, 0x49, 0x44, 0x20, 0x28, 0x32, 0x20, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, - 0x20, 0x3d, 0x20, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, + 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x23, 0x73, 0x65, 0x6e, 0x64, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x5b, 0x5d, 0x3b, 0x0a, + 0x20, 0x20, 0x23, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, + 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x57, 0x65, 0x62, + 0x55, 0x49, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x0a, 0x20, + 0x20, 0x23, 0x57, 0x45, 0x42, 0x55, 0x49, 0x5f, 0x53, 0x49, + 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x20, 0x3d, 0x20, + 0x32, 0x32, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, + 0x44, 0x5f, 0x4a, 0x53, 0x20, 0x3d, 0x20, 0x32, 0x35, 0x34, + 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, + 0x53, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x20, 0x3d, 0x20, + 0x32, 0x35, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, + 0x44, 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x20, 0x3d, 0x20, + 0x32, 0x35, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, + 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x20, 0x3d, 0x20, 0x32, 0x35, 0x31, 0x3b, 0x0a, + 0x20, 0x20, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x4c, 0x4f, + 0x53, 0x45, 0x20, 0x3d, 0x20, 0x32, 0x35, 0x30, 0x3b, 0x0a, + 0x20, 0x20, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x41, 0x4c, + 0x4c, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x20, 0x3d, 0x20, 0x32, + 0x34, 0x39, 0x3b, 0x0a, 0x20, 0x20, 0x23, 0x43, 0x4d, 0x44, + 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x41, 0x57, 0x20, + 0x3d, 0x20, 0x32, 0x34, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x23, + 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x49, 0x44, + 0x20, 0x3d, 0x20, 0x32, 0x34, 0x37, 0x3b, 0x0a, 0x20, 0x20, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, + 0x20, 0x3d, 0x20, 0x32, 0x34, 0x36, 0x3b, 0x0a, 0x20, 0x20, + 0x23, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x48, 0x55, + 0x4e, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x20, 0x3d, 0x20, + 0x36, 0x35, 0x35, 0x30, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x23, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, + 0x49, 0x5a, 0x45, 0x20, 0x3d, 0x20, 0x38, 0x3b, 0x0a, 0x20, + 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, + 0x73, 0x69, 0x7a, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x49, 0x47, 0x4e, + 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x20, 0x28, 0x31, 0x20, 0x42, 0x79, 0x74, 0x65, + 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x20, 0x28, 0x31, 0x20, 0x42, 0x79, + 0x74, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, + 0x4e, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x2f, + 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x20, 0x28, 0x34, 0x20, 0x42, 0x79, 0x74, 0x65, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, - 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x20, 0x3d, - 0x20, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x3a, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x28, 0x6e, - 0x20, 0x42, 0x79, 0x74, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x23, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x28, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x23, 0x50, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x74, 0x72, - 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x20, 0x23, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, - 0x3b, 0x0a, 0x20, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, - 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x3a, 0x20, 0x4d, 0x61, 0x6b, - 0x65, 0x20, 0x60, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x60, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x45, 0x53, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x20, 0x60, - 0x5f, 0x57, 0x65, 0x62, 0x75, 0x69, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x60, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x2e, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x45, 0x44, 0x3a, 0x20, 0x30, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x45, 0x44, 0x3a, 0x20, 0x31, 0x0a, 0x20, - 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, - 0x0a, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x6f, 0x72, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x69, 0x6e, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, - 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, - 0x58, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, - 0x59, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, - 0x57, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, - 0x48, 0x0a, 0x20, 0x20, 0x7d, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x20, 0x3d, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3b, + 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x20, 0x3d, 0x20, 0x35, + 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, + 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, + 0x20, 0x49, 0x44, 0x20, 0x28, 0x32, 0x20, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, 0x20, + 0x3d, 0x20, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, + 0x79, 0x74, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x3a, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x20, 0x28, 0x31, 0x20, 0x42, 0x79, 0x74, 0x65, 0x29, + 0x0a, 0x20, 0x20, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, + 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x20, 0x3d, 0x20, + 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, 0x79, 0x74, + 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x3a, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x28, 0x6e, 0x20, + 0x42, 0x79, 0x74, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, + 0x20, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x28, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x23, + 0x50, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, + 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x20, 0x23, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x3b, + 0x0a, 0x20, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x3d, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, + 0x54, 0x4f, 0x44, 0x4f, 0x3a, 0x20, 0x4d, 0x61, 0x6b, 0x65, + 0x20, 0x60, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x60, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x45, 0x53, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x20, 0x60, 0x5f, + 0x57, 0x65, 0x62, 0x75, 0x69, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x60, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x3a, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x45, 0x44, 0x3a, 0x20, 0x31, 0x0a, 0x20, 0x20, + 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x0a, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, 0x58, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, 0x59, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, 0x57, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x6e, 0x48, + 0x0a, 0x20, 0x20, 0x7d, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x20, 0x3d, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x70, 0x6f, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x72, + 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x20, + 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x3d, + 0x20, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x70, 0x6f, - 0x72, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, - 0x20, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x3b, + 0x23, 0x6c, 0x6f, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x67, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x58, 0x20, 0x3d, 0x20, 0x77, + 0x69, 0x6e, 0x58, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x59, 0x20, + 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x59, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, + 0x6e, 0x57, 0x20, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x57, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x20, - 0x3d, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, - 0x67, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x58, 0x20, 0x3d, 0x20, - 0x77, 0x69, 0x6e, 0x58, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x59, - 0x20, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x59, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, - 0x69, 0x6e, 0x57, 0x20, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x57, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x48, 0x20, 0x3d, 0x20, 0x77, - 0x69, 0x6e, 0x48, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x22, 0x77, 0x65, - 0x62, 0x75, 0x69, 0x22, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x72, 0x6f, 0x77, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x28, 0x22, 0x53, 0x6f, 0x72, 0x72, 0x79, - 0x2e, 0x20, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x69, 0x73, - 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, - 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2e, 0x22, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x69, 0x6e, 0x58, 0x20, 0x21, 0x3d, 0x3d, 0x20, - 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x59, - 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, - 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6d, 0x6f, - 0x76, 0x65, 0x54, 0x6f, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x69, 0x6e, 0x58, 0x2c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x59, 0x29, 0x3b, 0x0a, + 0x23, 0x77, 0x69, 0x6e, 0x48, 0x20, 0x3d, 0x20, 0x77, 0x69, + 0x6e, 0x48, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x5b, + 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x22, 0x77, 0x65, 0x62, + 0x75, 0x69, 0x22, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x72, + 0x6f, 0x77, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x28, 0x22, 0x53, 0x6f, 0x72, 0x72, 0x79, 0x2e, + 0x20, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x69, 0x73, 0x20, + 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x77, 0x69, 0x6e, 0x57, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x76, + 0x77, 0x69, 0x6e, 0x58, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x48, 0x20, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x59, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x72, 0x65, 0x73, - 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x57, 0x2c, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x48, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x22, 0x57, 0x65, - 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x20, 0x69, - 0x6e, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x29, 0x29, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6d, 0x6f, 0x76, + 0x65, 0x54, 0x6f, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x77, 0x69, 0x6e, 0x58, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x59, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, + 0x69, 0x6e, 0x57, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x48, 0x20, 0x21, + 0x3d, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x72, 0x65, 0x73, 0x69, + 0x7a, 0x65, 0x54, 0x6f, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x77, 0x69, 0x6e, 0x57, 0x2c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x48, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x22, 0x57, 0x65, 0x62, + 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x20, 0x69, 0x6e, + 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x29, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x6c, + 0x65, 0x72, 0x74, 0x28, 0x22, 0x53, 0x6f, 0x72, 0x72, 0x79, + 0x2e, 0x20, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x77, 0x65, 0x62, + 0x20, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x2e, 0x22, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x73, 0x74, 0x61, 0x72, 0x74, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x22, 0x6e, + 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x20, 0x69, 0x6e, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x54, 0x68, 0x69, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x54, 0x68, 0x69, 0x73, 0x2e, 0x6e, 0x61, 0x76, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x64, 0x64, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x28, 0x22, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, + 0x74, 0x65, 0x22, 0x2c, 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x68, 0x61, 0x73, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x72, 0x6c, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, + 0x20, 0x55, 0x52, 0x4c, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x75, 0x72, 0x6c, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, + 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x44, 0x4f, + 0x4d, 0x20, 0x2d, 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x20, 0x5b, 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x2e, 0x68, + 0x72, 0x65, 0x66, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x76, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x75, 0x72, 0x6c, + 0x2e, 0x68, 0x72, 0x65, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x6c, 0x65, 0x72, 0x74, 0x28, 0x22, 0x53, 0x6f, 0x72, 0x72, - 0x79, 0x2e, 0x20, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x77, 0x65, - 0x62, 0x20, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x2e, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x73, 0x74, 0x61, 0x72, 0x74, 0x28, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x22, - 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x54, 0x68, 0x69, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x6e, 0x61, 0x76, 0x69, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x64, 0x64, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x65, 0x72, 0x28, 0x22, 0x6e, 0x61, 0x76, 0x69, 0x67, - 0x61, 0x74, 0x65, 0x22, 0x2c, 0x20, 0x28, 0x65, 0x76, 0x65, + 0x64, 0x64, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, + 0x2c, 0x20, 0x22, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x22, 0x2c, 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x72, 0x6c, - 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x52, 0x4c, - 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x75, - 0x72, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x68, 0x61, 0x73, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x68, 0x61, 0x73, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x26, 0x26, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, - 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x44, 0x4f, 0x4d, - 0x20, 0x2d, 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x20, 0x5b, 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x2e, 0x68, 0x72, - 0x65, 0x66, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, 0x64, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x76, 0x69, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x75, 0x72, 0x6c, 0x2e, - 0x68, 0x72, 0x65, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, - 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, - 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x2c, 0x20, 0x75, 0x72, 0x6c, 0x2e, 0x68, 0x72, 0x65, 0x66, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x64, 0x64, 0x52, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, - 0x72, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x22, 0x61, 0x22, - 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x2c, - 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, - 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, - 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x68, 0x72, 0x65, 0x66, 0x20, 0x7d, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x68, 0x61, 0x73, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, + 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, + 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x44, 0x4f, 0x4d, 0x20, + 0x2d, 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x20, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x5b, 0x24, 0x7b, 0x68, + 0x72, 0x65, 0x66, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, - 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x44, - 0x4f, 0x4d, 0x20, 0x2d, 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x6c, 0x69, - 0x63, 0x6b, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x5b, - 0x24, 0x7b, 0x68, 0x72, 0x65, 0x66, 0x7d, 0x5d, 0x60, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x73, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, - 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, - 0x68, 0x72, 0x65, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, - 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, - 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x2c, 0x20, 0x68, 0x72, 0x65, 0x66, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x22, 0x6b, 0x65, - 0x79, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x28, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, - 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x65, 0x79, 0x20, - 0x3d, 0x3d, 0x3d, 0x20, 0x22, 0x46, 0x35, 0x22, 0x29, 0x20, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x62, 0x65, - 0x66, 0x6f, 0x72, 0x65, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x20, 0x3d, 0x20, 0x28, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x28, 0x28, 0x29, 0x20, 0x3d, 0x3e, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x6e, 0x63, - 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x66, - 0x72, 0x65, 0x65, 0x7a, 0x65, 0x55, 0x69, 0x28, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x6c, 0x65, 0x72, 0x74, 0x28, 0x22, 0x53, 0x6f, 0x72, 0x72, - 0x79, 0x2e, 0x20, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x66, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x50, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x20, 0x74, 0x72, 0x79, 0x20, 0x61, 0x67, 0x61, 0x69, - 0x6e, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, - 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x2c, 0x20, 0x31, 0x35, 0x30, 0x30, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x0a, 0x20, - 0x20, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x22, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, - 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, - 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x20, 0x2d, 0x3e, 0x20, 0x4e, 0x61, 0x76, - 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, - 0x20, 0x5b, 0x24, 0x7b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x7d, - 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, - 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, - 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x2e, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x76, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x68, 0x72, 0x65, + 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x66, - 0x72, 0x65, 0x65, 0x7a, 0x65, 0x55, 0x69, 0x28, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2e, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x20, 0x3d, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x73, 0x74, 0x28, 0x31, 0x25, 0x29, 0x22, 0x3b, - 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x69, 0x73, - 0x54, 0x65, 0x78, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x28, 0x63, 0x6d, 0x64, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x63, 0x6d, 0x64, 0x20, 0x21, 0x3d, 0x3d, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, - 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x41, 0x57, 0x29, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, - 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x67, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, - 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x20, 0x3d, 0x20, 0x5b, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x6c, 0x65, 0x74, 0x20, - 0x69, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, - 0x5d, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, - 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x28, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x5b, 0x69, 0x5d, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x54, 0x65, 0x78, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x64, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, - 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x54, 0x65, 0x78, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x23, 0x67, 0x65, 0x74, 0x49, 0x44, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x64, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x28, 0x22, 0x6b, 0x65, 0x79, 0x64, 0x6f, 0x77, 0x6e, + 0x22, 0x2c, 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, + 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x22, + 0x46, 0x35, 0x22, 0x29, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6f, 0x6e, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x75, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x28, 0x29, + 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, 0x28, + 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x4f, 0x6e, 0x63, 0x65, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x55, 0x69, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x28, + 0x22, 0x53, 0x6f, 0x72, 0x72, 0x79, 0x2e, 0x20, 0x57, 0x65, + 0x62, 0x55, 0x49, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, + 0x50, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x74, 0x72, 0x79, + 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x2e, 0x22, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x20, + 0x31, 0x35, 0x30, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x73, 0x0a, 0x20, 0x20, 0x23, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x28, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, + 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x3d, 0x20, 0x22, 0x22, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, + 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x3d, 0x20, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, + 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, + 0x2d, 0x3e, 0x20, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x20, 0x2d, + 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x24, 0x7b, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x74, 0x72, + 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, + 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, + 0x2d, 0x3e, 0x20, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x2e, 0x60, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x23, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x55, 0x69, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x3d, 0x20, + 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x28, + 0x31, 0x25, 0x29, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x23, 0x69, 0x73, 0x54, 0x65, 0x78, 0x74, 0x42, + 0x61, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x28, 0x63, 0x6d, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x63, 0x6d, 0x64, + 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, + 0x52, 0x41, 0x57, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x3c, 0x20, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x2d, 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x20, 0x6e, - 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x75, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x20, - 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, - 0x63, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, - 0x20, 0x3d, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x42, 0x79, 0x74, 0x65, 0x20, 0x3d, - 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x3b, 0x0a, + 0x6c, 0x65, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x5b, 0x5d, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x28, 0x6c, 0x65, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3b, + 0x20, 0x69, 0x20, 0x3c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3b, 0x20, + 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x5b, 0x69, 0x5d, 0x20, 0x3d, 0x3d, 0x3d, + 0x20, 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x75, 0x73, + 0x68, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, + 0x5d, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x3d, - 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x42, 0x79, 0x74, - 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x20, 0x7c, 0x20, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x3b, - 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x61, 0x64, - 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x78, 0x74, + 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, + 0x74, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, + 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x6e, 0x65, + 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x78, 0x74, 0x3b, + 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x67, 0x65, + 0x74, 0x49, 0x44, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3c, 0x20, 0x30, 0x20, 0x7c, - 0x7c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3e, 0x20, - 0x34, 0x32, 0x39, 0x34, 0x39, 0x36, 0x37, 0x32, 0x39, 0x35, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x72, 0x6f, 0x77, 0x20, 0x6e, 0x65, 0x77, 0x20, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x75, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x34, 0x20, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3c, 0x20, 0x30, 0x20, 0x7c, - 0x7c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3e, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x34, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x72, - 0x6f, 0x77, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x28, 0x22, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, - 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x20, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x22, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x26, 0x20, 0x32, 0x35, 0x35, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x31, 0x5d, - 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3e, - 0x3e, 0x3e, 0x20, 0x38, 0x20, 0x26, 0x20, 0x32, 0x35, 0x35, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, - 0x20, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3e, 0x3e, 0x3e, 0x20, 0x31, 0x36, 0x20, 0x26, - 0x20, 0x32, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x20, 0x2b, 0x20, 0x33, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3e, 0x3e, 0x3e, 0x20, - 0x32, 0x34, 0x20, 0x26, 0x20, 0x32, 0x35, 0x35, 0x3b, 0x0a, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x61, 0x64, 0x64, - 0x49, 0x44, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3c, 0x20, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3e, 0x20, 0x36, 0x35, 0x35, 0x33, - 0x35, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x20, 0x6e, 0x65, 0x77, - 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x75, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x32, - 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x72, 0x65, 0x70, - 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3c, 0x20, 0x30, 0x20, - 0x7c, 0x7c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3e, + 0x7c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x32, 0x29, 0x20, + 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, - 0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x22, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x22, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x42, 0x79, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x42, + 0x79, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, + 0x20, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, + 0x6e, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x42, 0x79, 0x74, 0x65, 0x20, 0x3c, 0x3c, 0x20, + 0x38, 0x20, 0x7c, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, + 0x79, 0x74, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x62, + 0x69, 0x6e, 0x65, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x23, 0x61, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x3c, 0x20, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x3e, 0x20, 0x34, 0x32, 0x39, 0x34, 0x39, + 0x36, 0x37, 0x32, 0x39, 0x35, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, + 0x20, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x28, 0x22, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x69, + 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x22, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, + 0x3c, 0x20, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x20, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2d, + 0x20, 0x34, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x20, 0x6e, 0x65, + 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x20, 0x6f, + 0x72, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x20, 0x69, 0x6e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x26, 0x20, 0x32, + 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x3e, 0x3e, 0x3e, 0x20, 0x38, 0x20, + 0x26, 0x20, 0x32, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x26, 0x20, 0x32, 0x35, 0x35, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3e, 0x3e, 0x3e, 0x20, 0x38, 0x20, 0x26, 0x20, 0x32, 0x35, - 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x28, 0x29, 0x20, 0x7b, 0x0a, + 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3e, 0x3e, 0x3e, + 0x20, 0x31, 0x36, 0x20, 0x26, 0x20, 0x32, 0x35, 0x35, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, + 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x3e, 0x3e, 0x3e, 0x20, 0x32, 0x34, 0x20, 0x26, 0x20, + 0x32, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x23, 0x61, 0x64, 0x64, 0x49, 0x44, 0x28, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3c, 0x20, 0x30, 0x20, + 0x7c, 0x7c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3e, + 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x72, 0x6f, + 0x77, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x28, 0x22, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x69, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x32, 0x20, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x22, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x20, 0x3c, 0x20, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x20, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, + 0x2d, 0x20, 0x32, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x20, 0x6e, + 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x75, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, + 0x63, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x26, 0x20, + 0x32, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3e, 0x3e, 0x3e, 0x20, 0x38, + 0x20, 0x26, 0x20, 0x32, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6b, 0x65, + 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x28, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, + 0x73, 0x65, 0x49, 0x44, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, + 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x20, 0x2b, 0x20, + 0x22, 0x2f, 0x22, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, - 0x6c, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x28, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, - 0x76, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, - 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x49, 0x44, 0x5b, - 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x2e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x4e, - 0x75, 0x6d, 0x20, 0x2b, 0x20, 0x22, 0x2f, 0x22, 0x29, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x68, 0x61, 0x73, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x68, - 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x72, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, - 0x20, 0x3f, 0x20, 0x22, 0x77, 0x73, 0x73, 0x3a, 0x2f, 0x2f, - 0x22, 0x20, 0x2b, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x3a, - 0x20, 0x22, 0x77, 0x73, 0x3a, 0x2f, 0x2f, 0x22, 0x20, 0x2b, - 0x20, 0x68, 0x6f, 0x73, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x20, - 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x57, 0x65, 0x62, 0x53, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x60, 0x24, 0x7b, 0x75, - 0x72, 0x6c, 0x7d, 0x3a, 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x70, 0x6f, 0x72, 0x74, 0x7d, 0x2f, 0x5f, 0x77, - 0x65, 0x62, 0x75, 0x69, 0x5f, 0x77, 0x73, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x60, 0x29, 0x3b, 0x0a, 0x20, + 0x68, 0x61, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, + 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x72, 0x6c, 0x20, 0x3d, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x20, 0x3f, 0x20, 0x22, 0x77, 0x73, 0x73, 0x3a, + 0x2f, 0x2f, 0x22, 0x20, 0x2b, 0x20, 0x68, 0x6f, 0x73, 0x74, + 0x20, 0x3a, 0x20, 0x22, 0x77, 0x73, 0x3a, 0x2f, 0x2f, 0x22, + 0x20, 0x2b, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, - 0x73, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x77, 0x73, 0x2e, 0x6f, 0x6e, 0x6f, 0x70, 0x65, 0x6e, 0x20, - 0x3d, 0x20, 0x28, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, + 0x73, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x57, 0x65, + 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x60, 0x24, + 0x7b, 0x75, 0x72, 0x6c, 0x7d, 0x3a, 0x24, 0x7b, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x70, 0x6f, 0x72, 0x74, 0x7d, 0x2f, + 0x5f, 0x77, 0x65, 0x62, 0x75, 0x69, 0x5f, 0x77, 0x73, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x60, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x77, 0x73, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x61, 0x72, + 0x72, 0x61, 0x79, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, 0x6f, 0x70, 0x65, + 0x6e, 0x20, 0x3d, 0x20, 0x28, 0x29, 0x20, 0x3d, 0x3e, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x4f, 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x72, + 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x57, 0x65, + 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, - 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x2e, 0x23, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x20, 0x3d, 0x20, 0x28, 0x29, 0x20, 0x3d, 0x3e, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x66, 0x72, + 0x65, 0x65, 0x7a, 0x65, 0x55, 0x69, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, + 0x6f, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x20, 0x3d, 0x20, + 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, + 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, + 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x64, 0x20, 0x64, 0x75, 0x20, 0x74, 0x6f, 0x20, + 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x24, 0x7b, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, + 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, + 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6c, 0x6f, 0x73, 0x74, 0x20, 0x28, 0x24, 0x7b, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, + 0x7d, 0x29, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x55, 0x69, + 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x54, 0x69, + 0x6d, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, - 0x73, 0x2e, 0x6f, 0x6e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x3d, 0x20, 0x28, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, + 0x73, 0x2e, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x20, 0x3d, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, + 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x61, 0x72, 0x20, 0x5f, 0x61, 0x2c, 0x20, 0x5f, 0x62, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, + 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, + 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2e, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, + 0x4f, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x29, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, + 0x53, 0x49, 0x47, 0x4e, 0x5d, 0x20, 0x21, 0x3d, 0x3d, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, 0x45, 0x42, 0x55, + 0x49, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, + 0x45, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x69, 0x73, 0x54, + 0x65, 0x78, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x28, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, + 0x4d, 0x44, 0x5d, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x20, 0x3d, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, + 0x49, 0x44, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, + 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x5f, 0x43, 0x4d, 0x44, 0x5d, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x49, + 0x43, 0x4b, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, + 0x53, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, + 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x20, 0x3d, + 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x2f, 0x28, 0x3f, 0x3a, + 0x5c, 0x72, 0x5c, 0x6e, 0x7c, 0x5c, 0x72, 0x7c, 0x5c, 0x6e, + 0x29, 0x2f, 0x67, 0x2c, 0x20, 0x22, 0x5c, 0x6e, 0x22, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, - 0x2d, 0x3e, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x66, 0x72, 0x65, 0x65, - 0x7a, 0x65, 0x55, 0x69, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x3d, - 0x3d, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, - 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x64, 0x20, 0x64, 0x75, 0x20, 0x74, 0x6f, 0x20, 0x4e, 0x61, - 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, - 0x6f, 0x20, 0x5b, 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, - 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6c, 0x6f, 0x73, 0x74, 0x20, 0x28, 0x24, 0x7b, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x29, - 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x55, 0x69, 0x28, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, + 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, + 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, + 0x4a, 0x53, 0x20, 0x5b, 0x24, 0x7b, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, + 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x65, 0x74, 0x20, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x46, 0x75, 0x6e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, - 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x49, 0x53, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, - 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x3d, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x28, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, - 0x20, 0x5f, 0x61, 0x2c, 0x20, 0x5f, 0x62, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x20, 0x3d, - 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2e, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, - 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x29, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, - 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x5d, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x57, 0x45, 0x42, 0x55, 0x49, 0x5f, - 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x29, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x69, 0x73, 0x54, 0x65, 0x78, - 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, - 0x5d, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x20, 0x3d, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x49, 0x44, - 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, - 0x4d, 0x44, 0x5d, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, - 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, - 0x44, 0x5f, 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, - 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x3a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, - 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, + 0x72, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x3d, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, + 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x61, - 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x28, 0x2f, 0x28, 0x3f, 0x3a, 0x5c, 0x72, - 0x5c, 0x6e, 0x7c, 0x5c, 0x72, 0x7c, 0x5c, 0x6e, 0x29, 0x2f, - 0x67, 0x2c, 0x20, 0x22, 0x5c, 0x6e, 0x22, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x63, 0x61, + 0x74, 0x63, 0x68, 0x20, 0x28, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, - 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, - 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, - 0x20, 0x5b, 0x24, 0x7b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x7d, 0x5d, - 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, - 0x74, 0x20, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x75, 0x6e, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x64, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x46, 0x75, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x72, 0x79, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x3d, - 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x41, 0x73, 0x79, - 0x6e, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x28, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x61, 0x6e, - 0x69, 0x74, 0x69, 0x7a, 0x65, 0x29, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x63, 0x61, 0x74, 0x63, - 0x68, 0x20, 0x28, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, + 0x4d, 0x44, 0x5d, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, + 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x29, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6e, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x3d, 0x20, 0x65, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3b, 0x0a, + 0x69, 0x66, 0x20, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, - 0x5d, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x5f, 0x51, - 0x55, 0x49, 0x43, 0x4b, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, + 0x6f, 0x67, 0x20, 0x26, 0x26, 0x20, 0x21, 0x46, 0x75, 0x6e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x29, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, + 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, + 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, 0x20, 0x2d, + 0x3e, 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x5b, 0x24, 0x7b, + 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x7d, + 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, + 0x6f, 0x67, 0x20, 0x26, 0x26, 0x20, 0x46, 0x75, 0x6e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, + 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, + 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, 0x20, 0x2d, 0x3e, + 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x20, 0x5b, 0x24, 0x7b, 0x46, 0x75, 0x6e, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x7d, 0x5d, 0x60, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x6e, + 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x75, 0x6e, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x64, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, - 0x20, 0x26, 0x26, 0x20, 0x21, 0x46, 0x75, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, - 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, - 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, 0x20, 0x2d, 0x3e, 0x20, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x20, 0x5b, 0x24, 0x7b, 0x46, 0x75, - 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x7d, 0x5d, 0x60, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, - 0x20, 0x26, 0x26, 0x20, 0x46, 0x75, 0x6e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, - 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, - 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, - 0x2d, 0x3e, 0x20, 0x4a, 0x53, 0x20, 0x2d, 0x3e, 0x20, 0x52, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x5b, 0x24, 0x7b, 0x46, 0x75, 0x6e, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x70, 0x61, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x20, 0x3d, + 0x20, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x20, 0x3d, 0x3e, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, - 0x79, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x79, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2b, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65, + 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x65, + 0x74, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65, 0x77, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x65, 0x74, + 0x28, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, + 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x28, - 0x64, 0x61, 0x74, 0x61, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, - 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x2b, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x0a, + 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x74, 0x72, 0x20, + 0x3d, 0x20, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x20, 0x3d, + 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65, 0x77, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x65, 0x74, 0x28, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x75, 0x6e, + 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, + 0x32, 0x34, 0x20, 0x2a, 0x20, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x64, - 0x61, 0x74, 0x61, 0x2c, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x50, 0x75, 0x73, 0x68, 0x53, 0x74, 0x72, 0x20, 0x3d, 0x20, - 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x20, 0x3d, 0x3e, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, - 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x32, 0x34, - 0x20, 0x2a, 0x20, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3e, 0x20, - 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x65, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, - 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x6c, - 0x65, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, - 0x69, 0x20, 0x3c, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3b, 0x20, 0x69, 0x20, 0x2b, - 0x3d, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, + 0x3e, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x20, 0x3d, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x28, 0x69, 0x2c, 0x20, 0x4d, 0x61, 0x74, - 0x68, 0x2e, 0x6d, 0x69, 0x6e, 0x28, 0x69, 0x20, 0x2b, 0x20, - 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x2c, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x6e, + 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x43, - 0x68, 0x75, 0x6e, 0x6b, 0x20, 0x3d, 0x20, 0x65, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x28, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x28, 0x6c, 0x65, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, + 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3b, 0x20, 0x69, + 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, + 0x69, 0x7a, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x20, 0x3d, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x75, 0x62, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x69, 0x2c, 0x20, 0x4d, + 0x61, 0x74, 0x68, 0x2e, 0x6d, 0x69, 0x6e, 0x28, 0x69, 0x20, + 0x2b, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, + 0x65, 0x2c, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, - 0x28, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x43, 0x68, - 0x75, 0x6e, 0x6b, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, - 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, + 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x20, 0x3d, 0x20, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, - 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, - 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, 0x45, 0x42, 0x55, 0x49, - 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, - 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, - 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, 0x20, 0x30, - 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x5d, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, - 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x28, 0x5b, 0x30, 0x2c, 0x20, 0x30, 0x5d, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, - 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, - 0x44, 0x5f, 0x4a, 0x53, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x73, 0x68, 0x28, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, + 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, - 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, - 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x46, - 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x3f, 0x20, - 0x5b, 0x31, 0x5d, 0x20, 0x3a, 0x20, 0x5b, 0x30, 0x5d, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x74, 0x72, - 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, + 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, + 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, + 0x61, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, + 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, + 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, 0x45, 0x42, + 0x55, 0x49, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, + 0x52, 0x45, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, + 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, + 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, + 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x28, 0x5b, 0x30, 0x5d, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x61, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, + 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, 0x20, 0x30, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x61, 0x64, 0x64, 0x49, 0x44, 0x28, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x49, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, - 0x49, 0x44, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, - 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, - 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x55, 0x4e, 0x43, - 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x3d, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, - 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, - 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, - 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x61, 0x6c, 0x6c, 0x20, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x5b, - 0x24, 0x7b, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5b, 0x63, - 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, - 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x20, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x23, - 0x24, 0x7b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x7d, 0x2e, - 0x2e, 0x2e, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x5f, 0x62, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x61, 0x20, - 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, - 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x29, 0x5b, 0x63, 0x61, - 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x29, 0x20, 0x3d, 0x3d, 0x20, - 0x6e, 0x75, 0x6c, 0x6c, 0x20, 0x3f, 0x20, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x30, 0x20, 0x3a, 0x20, 0x5f, 0x62, 0x2e, 0x63, - 0x61, 0x6c, 0x6c, 0x28, 0x5f, 0x61, 0x2c, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, - 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x5b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, - 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, + 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, - 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x3a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, + 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x28, 0x46, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, + 0x3f, 0x20, 0x5b, 0x31, 0x5d, 0x20, 0x3a, 0x20, 0x5b, 0x30, + 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, + 0x74, 0x72, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, + 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x5d, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x61, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x54, 0x4f, 0x4b, + 0x45, 0x4e, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x64, 0x64, 0x49, 0x44, + 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x49, 0x44, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x72, 0x6c, 0x32, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x28, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, + 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, + 0x4d, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x55, + 0x4e, 0x43, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, @@ -1183,103 +1111,170 @@ unsigned char webui_javascript_bridge[] = { 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, + 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, + 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x61, 0x6c, + 0x6c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x5b, 0x24, 0x7b, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x5d, 0x60, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, + 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x5b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, + 0x67, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, - 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x5b, 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x32, - 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, - 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x2c, 0x20, 0x75, 0x72, 0x6c, 0x32, 0x29, 0x3b, 0x0a, 0x20, + 0x3e, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, + 0x67, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x23, 0x24, 0x7b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, + 0x7d, 0x2e, 0x2e, 0x2e, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x49, 0x44, 0x3a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x28, 0x5f, 0x62, 0x20, 0x3d, 0x20, 0x28, 0x5f, + 0x61, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x29, 0x5b, + 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x29, 0x20, 0x3d, + 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x20, 0x3f, 0x20, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x30, 0x20, 0x3a, 0x20, 0x5f, 0x62, + 0x2e, 0x63, 0x61, 0x6c, 0x6c, 0x28, 0x5f, 0x61, 0x2c, 0x20, + 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, + 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5b, 0x63, 0x61, 0x6c, 0x6c, + 0x49, 0x64, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, + 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x41, + 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x3a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x72, + 0x6c, 0x32, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, + 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, + 0x20, 0x2d, 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x5b, 0x24, 0x7b, 0x75, 0x72, + 0x6c, 0x32, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, + 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x2c, 0x20, 0x75, 0x72, 0x6c, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6e, - 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, - 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, - 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, - 0x20, 0x4e, 0x65, 0x77, 0x20, 0x42, 0x69, 0x6e, 0x64, 0x20, - 0x49, 0x44, 0x20, 0x5b, 0x24, 0x7b, 0x6e, 0x65, 0x77, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x5d, 0x60, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x2e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x73, 0x28, 0x6e, 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x29, 0x29, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x2e, 0x70, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x3a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, - 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x60, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x61, - 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x43, 0x4d, 0x44, 0x5d, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, - 0x52, 0x41, 0x57, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x38, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, - 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x32, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x49, + 0x44, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x6e, 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, + 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, + 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, + 0x2d, 0x3e, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x42, 0x69, 0x6e, + 0x64, 0x20, 0x49, 0x44, 0x20, 0x5b, 0x24, 0x7b, 0x6e, 0x65, + 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x5d, + 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x73, 0x28, 0x6e, 0x65, 0x77, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x29, 0x29, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, + 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, + 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, + 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, + 0x3e, 0x20, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x60, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, + 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x3d, 0x20, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, + 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, + 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, 0x5d, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x53, 0x45, 0x4e, + 0x44, 0x5f, 0x52, 0x41, 0x57, 0x3a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x38, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x61, 0x77, 0x44, + 0x61, 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x20, 0x2b, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2b, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, @@ -1601,542 +1596,516 @@ unsigned char webui_javascript_bridge[] = { 0x28, 0x75, 0x72, 0x6c, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x22, 0x22, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x68, 0x61, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, - 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x53, - 0x65, 0x6e, 0x64, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x20, 0x5b, 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x7d, 0x5d, 0x60, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x68, - 0x61, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x55, 0x69, 0x6e, - 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x6f, 0x66, - 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x30, 0x3a, 0x20, 0x5b, 0x53, 0x49, 0x47, 0x4e, 0x41, - 0x54, 0x55, 0x52, 0x45, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x31, 0x3a, 0x20, 0x5b, 0x54, 0x4f, 0x4b, 0x45, 0x4e, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, + 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x53, 0x65, + 0x6e, 0x64, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, + 0x5b, 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x7d, 0x5d, 0x60, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x20, 0x3d, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x6f, 0x66, 0x28, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2f, 0x2f, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x30, 0x3a, 0x20, 0x5b, 0x53, + 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2f, 0x2f, 0x20, 0x31, 0x3a, 0x20, 0x5b, 0x54, 0x4f, 0x4b, + 0x45, 0x4e, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x32, 0x3a, 0x20, 0x5b, 0x49, 0x44, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x33, 0x3a, + 0x20, 0x5b, 0x43, 0x4d, 0x44, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x33, 0x3a, 0x20, 0x5b, 0x43, 0x4d, 0x44, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x34, 0x3a, 0x20, 0x5b, 0x55, 0x52, - 0x4c, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x57, 0x45, 0x42, 0x55, 0x49, 0x5f, 0x53, 0x49, 0x47, - 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x28, - 0x34, 0x20, 0x42, 0x79, 0x74, 0x65, 0x73, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x49, 0x44, 0x20, 0x28, 0x32, 0x20, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x34, 0x3a, 0x20, 0x5b, 0x55, 0x52, 0x4c, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, - 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x2c, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, 0x45, 0x42, 0x55, 0x49, + 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x6e, 0x65, 0x77, 0x20, - 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x28, 0x75, 0x72, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x20, 0x28, 0x34, 0x20, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, + 0x2f, 0x20, 0x49, 0x44, 0x20, 0x28, 0x32, 0x20, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, + 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x28, 0x75, 0x72, 0x6c, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, - 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, - 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x54, 0x6f, 0x20, 0x5b, 0x24, 0x7b, 0x75, - 0x72, 0x6c, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, - 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, - 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x54, 0x68, 0x69, 0x73, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x28, 0x75, 0x72, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x54, 0x69, 0x6d, 0x65, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, - 0x20, 0x31, 0x65, 0x33, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x23, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x74, - 0x31, 0x36, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x26, - 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x3b, 0x0a, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, - 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x62, 0x69, 0x6e, 0x64, 0x2e, 0x74, 0x72, 0x69, 0x6d, 0x28, - 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, - 0x6e, 0x20, 0x3d, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x2e, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x60, 0x24, 0x7b, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, 0x6e, 0x4e, - 0x75, 0x6d, 0x7d, 0x2f, 0x60, 0x2c, 0x20, 0x22, 0x22, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x66, 0x6e, 0x2e, 0x74, 0x72, 0x69, - 0x6d, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x5b, 0x66, 0x6e, 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x2e, - 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x20, 0x3d, 0x3e, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x61, 0x6c, 0x6c, - 0x28, 0x66, 0x6e, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x61, 0x72, - 0x67, 0x73, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, - 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x77, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x5b, 0x66, 0x6e, 0x5d, 0x20, 0x3d, 0x3d, 0x3d, - 0x20, 0x22, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x22, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x5b, 0x66, 0x6e, 0x5d, 0x20, 0x3d, - 0x20, 0x28, 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, - 0x20, 0x3d, 0x3e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, - 0x61, 0x6c, 0x6c, 0x28, 0x66, 0x6e, 0x2c, 0x20, 0x2e, 0x2e, - 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x2e, 0x23, 0x73, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, - 0x73, 0x65, 0x28, 0x66, 0x6e, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, - 0x61, 0x72, 0x67, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x2d, 0x2d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x28, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x2c, 0x20, 0x31, 0x65, 0x33, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x74, 0x6f, 0x55, 0x69, + 0x6e, 0x74, 0x31, 0x36, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x26, 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x3b, 0x0a, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x23, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x28, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x62, 0x69, 0x6e, 0x64, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x28, 0x62, 0x69, 0x6e, 0x64, 0x2e, 0x74, 0x72, 0x69, + 0x6d, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x66, 0x6e, 0x20, 0x3d, 0x20, 0x62, 0x69, 0x6e, 0x64, + 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x60, + 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, + 0x6e, 0x4e, 0x75, 0x6d, 0x7d, 0x2f, 0x60, 0x2c, 0x20, 0x22, + 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x6e, 0x2e, 0x74, + 0x72, 0x69, 0x6d, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x5b, 0x66, 0x6e, 0x5d, 0x20, 0x3d, 0x20, + 0x28, 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x20, + 0x3d, 0x3e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x61, + 0x6c, 0x6c, 0x28, 0x66, 0x6e, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, + 0x61, 0x72, 0x67, 0x73, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x5b, 0x66, 0x6e, 0x5d, 0x20, 0x3d, + 0x3d, 0x3d, 0x20, 0x22, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x22, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5b, 0x66, 0x6e, 0x5d, + 0x20, 0x3d, 0x20, 0x28, 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, + 0x73, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x63, 0x61, 0x6c, 0x6c, 0x28, 0x66, 0x6e, 0x2c, 0x20, + 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, + 0x6d, 0x69, 0x73, 0x65, 0x28, 0x66, 0x6e, 0x2c, 0x20, 0x2e, + 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, + 0x69, 0x73, 0x65, 0x49, 0x44, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x20, 0x3d, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x55, 0x69, 0x6e, + 0x74, 0x31, 0x36, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, - 0x65, 0x49, 0x44, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x49, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x74, 0x31, - 0x36, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, - 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x49, - 0x44, 0x5b, 0x30, 0x5d, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x65, 0x74, 0x20, 0x61, 0x72, 0x67, 0x73, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x20, 0x3d, 0x20, 0x61, - 0x72, 0x67, 0x73, 0x2e, 0x6d, 0x61, 0x70, 0x28, 0x28, 0x61, - 0x72, 0x67, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, - 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x67, 0x20, - 0x3d, 0x3d, 0x3d, 0x20, 0x22, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x61, 0x72, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x65, 0x49, 0x44, 0x5b, 0x30, 0x5d, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x61, 0x72, 0x67, + 0x73, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x20, 0x3d, + 0x20, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x6d, 0x61, 0x70, 0x28, + 0x28, 0x61, 0x72, 0x67, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x61, 0x72, + 0x67, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x22, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, - 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x61, 0x72, - 0x67, 0x2e, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x28, 0x29, 0x29, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x2e, 0x6a, 0x6f, 0x69, - 0x6e, 0x28, 0x22, 0x3b, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x61, 0x72, 0x67, 0x73, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6e, - 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x72, 0x67, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, - 0x66, 0x20, 0x61, 0x72, 0x67, 0x20, 0x3d, 0x3d, 0x3d, 0x20, - 0x22, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x61, - 0x72, 0x67, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, - 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x28, 0x61, 0x72, 0x67, 0x2e, 0x74, 0x6f, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x65, - 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, - 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, - 0x61, 0x72, 0x67, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2b, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6d, 0x70, - 0x2e, 0x73, 0x65, 0x74, 0x28, 0x61, 0x72, 0x67, 0x73, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x30, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6d, - 0x70, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x2c, 0x20, 0x61, 0x72, 0x67, 0x73, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x65, 0x6d, 0x70, 0x5b, 0x61, 0x72, 0x67, 0x73, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x20, 0x2b, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5d, 0x20, - 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x72, 0x67, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x65, 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, - 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x30, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, - 0x73, 0x68, 0x20, 0x3d, 0x20, 0x28, 0x64, 0x61, 0x74, 0x61, - 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6e, - 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x3d, + 0x72, 0x6e, 0x20, 0x61, 0x72, 0x67, 0x2e, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x54, + 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, + 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, + 0x61, 0x72, 0x67, 0x2e, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x28, 0x29, 0x29, 0x2e, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x2e, 0x6a, + 0x6f, 0x69, 0x6e, 0x28, 0x22, 0x3b, 0x22, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x61, 0x72, + 0x67, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x2b, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x72, 0x67, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, + 0x65, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x67, 0x20, 0x3d, 0x3d, + 0x3d, 0x20, 0x22, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, + 0x20, 0x61, 0x72, 0x67, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x65, + 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x28, 0x61, 0x72, 0x67, 0x2e, 0x74, 0x6f, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x74, 0x65, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, + 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x28, 0x61, 0x72, 0x67, 0x73, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, + 0x2b, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2b, 0x20, 0x31, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, + 0x6d, 0x70, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x61, 0x72, 0x67, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x30, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, + 0x65, 0x6d, 0x70, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x61, 0x72, 0x67, 0x73, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x2e, 0x73, 0x65, 0x74, 0x28, 0x64, 0x61, 0x74, 0x61, 0x2c, - 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x20, - 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, + 0x20, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x5b, 0x61, 0x72, 0x67, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2b, 0x20, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x72, 0x67, 0x73, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x6d, 0x70, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, - 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, 0x45, 0x42, - 0x55, 0x49, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, - 0x52, 0x45, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, - 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, - 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, - 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x5d, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, - 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, 0x20, 0x30, 0x5d, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, - 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x46, - 0x55, 0x4e, 0x43, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, - 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, - 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x66, 0x6e, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, - 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x5d, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, - 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x28, 0x61, 0x72, 0x67, 0x73, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x50, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x28, 0x64, 0x61, + 0x74, 0x61, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, + 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x20, 0x2b, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x64, 0x61, 0x74, + 0x61, 0x2c, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, + 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, + 0x45, 0x42, 0x55, 0x49, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, + 0x54, 0x55, 0x52, 0x45, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, + 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, + 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, + 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, + 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, + 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, 0x20, 0x30, + 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, + 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, + 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x5d, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x54, + 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, + 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, + 0x66, 0x6e, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, - 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x28, 0x61, 0x72, 0x67, 0x73, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x64, 0x64, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x61, 0x64, 0x64, 0x49, 0x44, 0x28, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x2c, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, - 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x50, 0x72, 0x6f, - 0x6d, 0x69, 0x73, 0x65, 0x28, 0x28, 0x72, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, - 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x5b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x20, 0x3d, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x73, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x2d, 0x2d, 0x20, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x41, 0x50, 0x49, - 0x73, 0x20, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, - 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, - 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x20, - 0x20, 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, - 0x43, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x20, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x20, - 0x20, 0x20, 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x20, 0x66, 0x6e, 0x20, 0x2d, 0x20, 0x62, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, - 0x20, 0x20, 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2d, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, - 0x65, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x2a, 0x20, 0x40, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x2d, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x2d, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, - 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x77, 0x65, 0x62, - 0x75, 0x69, 0x2e, 0x63, 0x61, 0x6c, 0x6c, 0x28, 0x22, 0x6d, - 0x79, 0x49, 0x44, 0x22, 0x2c, 0x20, 0x31, 0x32, 0x33, 0x2c, - 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x22, 0x48, 0x69, - 0x22, 0x2c, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, + 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x28, 0x61, 0x72, 0x67, 0x73, 0x4c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, + 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, - 0x78, 0x34, 0x32, 0x2c, 0x20, 0x30, 0x78, 0x34, 0x33, 0x2c, - 0x20, 0x30, 0x78, 0x34, 0x34, 0x5d, 0x29, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, 0x61, 0x73, 0x79, - 0x6e, 0x63, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x28, 0x66, 0x6e, - 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x21, 0x66, 0x6e, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, - 0x2e, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x6e, 0x65, - 0x77, 0x20, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x28, 0x22, 0x4e, 0x6f, 0x20, 0x62, 0x69, + 0x5d, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, + 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x28, 0x61, 0x72, 0x67, 0x73, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, + 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x61, 0x64, 0x64, 0x49, 0x44, 0x28, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x49, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, + 0x44, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x50, + 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x28, 0x28, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, + 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x5b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, + 0x20, 0x3d, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x2d, + 0x2d, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x41, + 0x50, 0x49, 0x73, 0x20, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x0a, 0x20, 0x20, 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, 0x20, + 0x2a, 0x20, 0x43, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x20, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x2a, + 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x20, 0x66, 0x6e, 0x20, 0x2d, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x22, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, - 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x28, 0x22, 0x57, 0x65, 0x62, 0x53, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x22, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x68, 0x61, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x20, 0x26, 0x26, 0x20, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x28, 0x60, - 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x69, - 0x6e, 0x4e, 0x75, 0x6d, 0x7d, 0x2f, 0x24, 0x7b, 0x66, 0x6e, - 0x7d, 0x60, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, 0x72, - 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x28, 0x60, 0x4e, 0x6f, 0x20, 0x62, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, - 0x75, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x22, 0x24, - 0x7b, 0x66, 0x6e, 0x7d, 0x22, 0x60, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, - 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, - 0x20, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x5b, - 0x24, 0x7b, 0x66, 0x6e, 0x7d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, - 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x77, 0x61, 0x69, - 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, - 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x28, + 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2d, 0x20, + 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x2d, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, + 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x2d, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, + 0x20, 0x3d, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x77, + 0x65, 0x62, 0x75, 0x69, 0x2e, 0x63, 0x61, 0x6c, 0x6c, 0x28, + 0x22, 0x6d, 0x79, 0x49, 0x44, 0x22, 0x2c, 0x20, 0x31, 0x32, + 0x33, 0x2c, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x22, + 0x48, 0x69, 0x22, 0x2c, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x55, + 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, + 0x5b, 0x30, 0x78, 0x34, 0x32, 0x2c, 0x20, 0x30, 0x78, 0x34, + 0x33, 0x2c, 0x20, 0x30, 0x78, 0x34, 0x34, 0x5d, 0x29, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x28, 0x66, 0x6e, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, - 0x73, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x21, 0x3d, - 0x3d, 0x20, 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, - 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x22, - 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x64, - 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, - 0x77, 0x65, 0x62, 0x75, 0x69, 0x20, 0x64, 0x65, 0x62, 0x75, - 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x0a, - 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, - 0x40, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x20, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x20, 0x2d, 0x20, 0x6c, 0x6f, 0x67, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x73, 0x65, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x2f, 0x0a, - 0x20, 0x20, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x28, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, - 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x4c, - 0x6f, 0x67, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, - 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, - 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, - 0x4c, 0x6f, 0x67, 0x20, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x21, 0x66, 0x6e, 0x29, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x69, + 0x73, 0x65, 0x2e, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x28, + 0x6e, 0x65, 0x77, 0x20, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, 0x4e, 0x6f, 0x20, + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x22, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, 0x57, 0x65, 0x62, + 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x22, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x68, 0x61, 0x73, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x20, 0x26, 0x26, 0x20, 0x21, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, + 0x28, 0x60, 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x7d, 0x2f, 0x24, 0x7b, + 0x66, 0x6e, 0x7d, 0x60, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x28, 0x60, 0x4e, 0x6f, 0x20, 0x62, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x22, 0x24, 0x7b, 0x66, 0x6e, 0x7d, 0x22, 0x60, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x29, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, + 0x2d, 0x3e, 0x20, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x20, 0x5b, 0x24, 0x7b, 0x66, 0x6e, 0x7d, 0x28, 0x2e, 0x2e, + 0x2e, 0x29, 0x5d, 0x60, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x77, + 0x61, 0x69, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, + 0x65, 0x28, 0x66, 0x6e, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x61, + 0x72, 0x67, 0x73, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, + 0x21, 0x3d, 0x3d, 0x20, 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x22, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x22, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, + 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x6f, 0x72, + 0x20, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x20, 0x77, 0x65, 0x62, 0x75, 0x69, 0x20, 0x64, 0x65, + 0x62, 0x75, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, + 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x2d, 0x20, 0x6c, 0x6f, + 0x67, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x2a, + 0x2f, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, + 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, + 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, - 0x6f, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x6f, 0x67, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, + 0x3e, 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x6c, 0x6f, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x2f, 0x2a, 0x2a, 0x0a, + 0x20, 0x20, 0x20, 0x2a, 0x20, 0x45, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x6f, 0x20, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x20, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2a, + 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2d, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, + 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x74, 0x6f, 0x61, + 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, - 0x20, 0x2a, 0x20, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x20, - 0x74, 0x65, 0x78, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, + 0x20, 0x2a, 0x20, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x20, + 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2d, 0x20, 0x74, 0x65, - 0x78, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x0a, - 0x20, 0x20, 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x62, 0x74, 0x6f, 0x61, 0x28, 0x64, - 0x61, 0x74, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, - 0x20, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x62, 0x61, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2d, 0x20, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x65, 0x78, - 0x74, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, - 0x2a, 0x20, 0x40, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x20, 0x2d, 0x20, 0x62, 0x61, 0x73, 0x65, - 0x36, 0x34, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x0a, - 0x20, 0x20, 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, 0x64, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x61, 0x74, 0x6f, 0x62, 0x28, 0x64, - 0x61, 0x74, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, - 0x20, 0x53, 0x65, 0x74, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x0a, 0x20, 0x20, - 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x20, 0x2d, 0x20, 0x63, 0x61, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x60, 0x6d, 0x79, 0x43, 0x61, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x65, 0x29, 0x60, 0x0a, - 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x20, 0x2d, 0x20, 0x77, 0x65, 0x62, 0x75, - 0x69, 0x2e, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x28, - 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x69, 0x66, 0x28, - 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x77, 0x65, 0x62, 0x75, 0x69, - 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x29, 0x7b, 0x20, 0x2e, - 0x2e, 0x2e, 0x20, 0x7d, 0x7d, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x28, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, - 0x6b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, - 0x3d, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x2f, 0x2a, - 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x20, 0x69, 0x66, 0x20, 0x55, 0x49, 0x20, 0x69, - 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, - 0x61, 0x63, 0x6b, 0x2d, 0x65, 0x6e, 0x64, 0x2e, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x69, - 0x73, 0x20, 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x62, 0x79, 0x20, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x60, 0x77, 0x65, 0x62, 0x75, 0x69, 0x2e, 0x6a, 0x73, 0x60, - 0x20, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x66, - 0x69, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x2e, 0x0a, 0x20, 0x20, 0x20, - 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2d, 0x20, 0x42, 0x6f, 0x6f, - 0x6c, 0x65, 0x61, 0x6e, 0x20, 0x60, 0x74, 0x72, 0x75, 0x65, - 0x60, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x2f, - 0x0a, 0x20, 0x20, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x3b, 0x0a, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, - 0x22, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x2c, 0x20, 0x28, 0x29, - 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, - 0x79, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x22, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x65, 0x6e, - 0x75, 0x22, 0x2c, 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x61, 0x64, 0x64, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, + 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, + 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, + 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x74, 0x6f, 0x62, + 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, + 0x20, 0x2a, 0x20, 0x53, 0x65, 0x74, 0x20, 0x61, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, + 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x0a, + 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, + 0x40, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x2d, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x60, 0x6d, 0x79, 0x43, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x65, 0x29, + 0x60, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x2d, 0x20, 0x77, 0x65, + 0x62, 0x75, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x28, 0x28, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x69, + 0x66, 0x28, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x77, 0x65, 0x62, + 0x75, 0x69, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x29, 0x7b, + 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x7d, 0x7d, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x2a, 0x2f, 0x0a, 0x20, 0x20, 0x73, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x28, 0x63, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x20, 0x3d, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x2f, 0x2a, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x20, 0x69, 0x66, 0x20, 0x55, 0x49, + 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x62, 0x61, 0x63, 0x6b, 0x2d, 0x65, 0x6e, 0x64, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x2a, + 0x20, 0x69, 0x73, 0x20, 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x62, + 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x60, 0x77, 0x65, 0x62, 0x75, 0x69, 0x2e, 0x6a, + 0x73, 0x60, 0x20, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x2e, 0x0a, 0x20, + 0x20, 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x40, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2d, 0x20, 0x42, + 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x20, 0x60, 0x74, 0x72, + 0x75, 0x65, 0x60, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, + 0x2a, 0x2f, 0x0a, 0x20, 0x20, 0x69, 0x73, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x28, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3b, 0x0a, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x61, 0x64, 0x64, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x28, 0x22, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x2c, 0x20, + 0x28, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, - 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x2c, 0x20, 0x28, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, 0x20, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x74, 0x6f, 0x70, - 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x29, 0x3b, 0x0a, + 0x6f, 0x64, 0x79, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, + 0x28, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x65, 0x6e, 0x75, 0x22, 0x2c, 0x20, 0x28, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x61, 0x64, 0x64, 0x52, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x22, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x2c, + 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x3d, + 0x3e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x74, + 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x29, + 0x3b, 0x0a, 0x00 }; diff --git a/bridge/webui_bridge.ts b/bridge/webui_bridge.ts index 6dac9c34..de7672d4 100644 --- a/bridge/webui_bridge.ts +++ b/bridge/webui_bridge.ts @@ -40,7 +40,7 @@ class WebuiBridge { #hasEvents = false; #callPromiseID = new Uint16Array(1); #callPromiseResolve: (((data: string) => unknown) | undefined)[] = []; - #allowNavigation = false; + #allowNavigation = true; #sendQueue: Uint8Array[] = []; #isSending = false; // WebUI Const @@ -126,32 +126,27 @@ class WebuiBridge { } // Connect to the backend application this.#start(); - // Handle navigation server side + // Navigation event listener if ('navigation' in globalThis) { globalThis.navigation.addEventListener('navigate', (event) => { if (!this.#allowNavigation) { - event.preventDefault(); - const url = new URL(event.destination.url); - if (this.#hasEvents) { + if (this.#hasEvents && this.#wsStatus) { + event.preventDefault(); + const url = new URL(event.destination.url); if (this.#log) console.log(`WebUI -> DOM -> Navigation Event [${url.href}]`); this.#sendEventNavigation(url.href); - } else { - this.#close(this.#CMD_NAVIGATION, url.href); } } }); } else { - // Handle all link click to prevent natural navigation - // Rebind listener if user inject new html + // Click navigation event listener addRefreshableEventListener(document.body, 'a', 'click', (event) => { if (!this.#allowNavigation) { - event.preventDefault(); - const { href } = event.target as HTMLAnchorElement; - if (this.#hasEvents) { + if (this.#hasEvents && this.#wsStatus) { + event.preventDefault(); + const { href } = event.target as HTMLAnchorElement; if (this.#log) console.log(`WebUI -> DOM -> Navigation Click Event [${href}]`); this.#sendEventNavigation(href); - } else { - this.#close(this.#CMD_NAVIGATION, href); } } }); @@ -251,6 +246,7 @@ class WebuiBridge { this.#callPromiseID[0] = 0; if (this.#bindList.includes(this.#winNum + '/')) { this.#hasEvents = true; + this.#allowNavigation = false; } const host = window.location.hostname; const url = this.#secure ? ('wss://' + host) : ('ws://' + host); @@ -385,7 +381,6 @@ class WebuiBridge { } } break; - case this.#CMD_NAVIGATION: // Protocol // 0: [SIGNATURE] @@ -559,34 +554,28 @@ class WebuiBridge { } #sendEventNavigation(url: string) { if (url !== '') { - if (this.#hasEvents) { + if (this.#wsStatus) { if (this.#log) console.log(`WebUI -> Send Navigation Event [${url}]`); - if (this.#wsStatus && this.#hasEvents) { - const packet = Uint8Array.of( - // Protocol - // 0: [SIGNATURE] - // 1: [TOKEN] - // 2: [ID] - // 3: [CMD] - // 4: [URL] - this.#WEBUI_SIGNATURE, - 0, - 0, - 0, - 0, // Token (4 Bytes) - 0, - 0, // ID (2 Bytes) - this.#CMD_NAVIGATION, - ...new TextEncoder().encode(url), - ); - this.#addToken(packet, this.#token, this.#PROTOCOL_TOKEN); - // this.#addID(packet, 0, this.#PROTOCOL_ID) - this.#sendData(packet); - } - } else { - if (this.#log) console.log(`WebUI -> Navigation To [${url}]`); - this.#allowNavigation = true; - globalThis.location.replace(url); + const packet = Uint8Array.of( + // Protocol + // 0: [SIGNATURE] + // 1: [TOKEN] + // 2: [ID] + // 3: [CMD] + // 4: [URL] + this.#WEBUI_SIGNATURE, + 0, + 0, + 0, + 0, // Token (4 Bytes) + 0, + 0, // ID (2 Bytes) + this.#CMD_NAVIGATION, + ...new TextEncoder().encode(url), + ); + this.#addToken(packet, this.#token, this.#PROTOCOL_TOKEN); + // this.#addID(packet, 0, this.#PROTOCOL_ID) + this.#sendData(packet); } } }