Procházet zdrojové kódy

Merge branch 'master' into radius

TelenkovDmitry před 7 roky
rodič
revize
dee2241f47
52 změnil soubory, kde provedl 1573 přidání a 982 odebrání
  1. 1 1
      config/common_config.h
  2. 3 3
      docs/SmartUPS.MIB
  3. binární
      iap/Modules/Ethernet/fs/error.html
  4. binární
      iap/Modules/Ethernet/fs/favicon.ico
  5. binární
      iap/Modules/Ethernet/fs/index.html
  6. binární
      iap/Modules/Ethernet/fs/login.html
  7. binární
      iap/Modules/Ethernet/fs/success.html
  8. binární
      iap/Modules/Ethernet/fs/upload.css
  9. binární
      iap/Modules/Ethernet/fs/upload.js
  10. 455 301
      iap/Modules/Ethernet/fsdata.c
  11. 146 72
      iap/Modules/Ethernet/httpserver.c
  12. 2 2
      modules/Ethernet/netconf.c
  13. binární
      modules/HTTP_Server/fs/main.js
  14. 529 528
      modules/HTTP_Server/fsdata.c
  15. 13 8
      modules/HTTP_Server/http_server.c
  16. 2 0
      modules/Makefile
  17. 1 0
      modules/log/log.c
  18. 2 1
      modules/log/log.h
  19. 10 10
      modules/monitor/ups_monitor.c
  20. 7 1
      modules/parameters.c
  21. 28 9
      modules/settings_api.c
  22. 1 0
      modules/sys_api.h
  23. 1 1
      modules/sys_hal.c
  24. 159 0
      modules/testing/testing.c
  25. 43 0
      modules/testing/testing.h
  26. 2 0
      peripheral_modules/inc/stm32_uid.h
  27. 1 1
      peripheral_modules/src/spi_flash.c
  28. 10 0
      peripheral_modules/src/stm32_uid.c
  29. 31 11
      service_hw/Commands/commands_api.c
  30. 1 1
      service_hw/Commands/commands_api.h
  31. 2 1
      service_hw/Console/config.h
  32. 5 0
      service_hw/Console/microrl.c
  33. 5 3
      service_hw/Console/port_microrl.c
  34. 2 2
      service_hw/Ethernet/netconf.c
  35. 8 0
      service_hw/Hardware/hw_init.c
  36. 37 2
      service_hw/Settings/bt_6701_settings.c
  37. 5 0
      service_hw/Settings/bt_6701_settings.h
  38. 2 2
      service_hw/buttons/buttons.c
  39. 22 0
      service_hw/leds/led.c
  40. 3 1
      service_hw/leds/led.h
  41. 10 2
      thirdparty/lwip/port/FreeRTOS/ethernetif.c
  42. binární
      tracefile.bin
  43. 11 6
      user/init_task.c
  44. binární
      web_interface/error.html
  45. binární
      web_interface/index.html
  46. binární
      web_interface/login.html
  47. 8 8
      web_interface/run.cmd
  48. 3 3
      web_interface/src/upload/upload.js
  49. 2 2
      web_interface/src/wui/main.js
  50. binární
      web_interface/success.html
  51. binární
      web_interface/upload.css
  52. binární
      web_interface/upload.js

+ 1 - 1
config/common_config.h

@@ -18,7 +18,7 @@
 /**
   * @brief  Маркер ревизии платы для валидации *.bin файла
   */
-#define HW_REV                          "BT6702"
+#define HW_REV                          "BT-6702"
 
 #define HW_REV_LEN                      16
 

+ 3 - 3
docs/SmartUPS.MIB

@@ -75,9 +75,9 @@ RoTeK-swt-BT-BT-6702-signals-MIB DEFINITIONS ::= BEGIN
     ACCESS  write
     STATUS  current
     DESCRIPTION
-    "Управление отключением нагрузки ИБП:
-	0 - Остановить процедуру отключения нагрузки
-	n - Отключить нагрузку на n минут
+    "Control of shut down UPS load:
+	0 - stop shut down load
+	n - shut down load in n minutes
 	n: 0.2, 0.3, .., 1, 2, .., 10"
     ::= { signals 8 }
 	

binární
iap/Modules/Ethernet/fs/error.html


binární
iap/Modules/Ethernet/fs/favicon.ico


binární
iap/Modules/Ethernet/fs/index.html


binární
iap/Modules/Ethernet/fs/login.html


binární
iap/Modules/Ethernet/fs/success.html


binární
iap/Modules/Ethernet/fs/upload.css


binární
iap/Modules/Ethernet/fs/upload.js


+ 455 - 301
iap/Modules/Ethernet/fsdata.c

@@ -11,9 +11,9 @@ static const unsigned char data__error_html[] = {
 0x2f,0x65,0x72,0x72,0x6f,0x72,0x2e,0x68,0x74,0x6d,0x6c,0x00,
 
 /* HTTP header */
-/* "HTTP/1.0 200 OK
+/* "HTTP/1.1 200 OK
 " (17 bytes) */
-0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x30,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
+0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
 0x0a,
 /* "Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
 " (63 bytes) */
@@ -21,76 +21,173 @@ static const unsigned char data__error_html[] = {
 0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
 0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
 0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
+/* "Content-Length: 578
+" (18+ bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
+0x35,0x37,0x38,0x0d,0x0a,
+/* "Connection: Close
+" (19 bytes) */
+0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
+0x65,0x0d,0x0a,
 /* "Content-type: text/html
+Content-Encoding: gzip
 
-" (27 bytes) */
+" (51 bytes) */
 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x74,0x79,0x70,0x65,0x3a,0x20,0x74,0x65,
-0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x0d,0x0a,0x0d,0x0a,
-/* raw file data (850 bytes) */
-0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x68,0x74,0x6d,0x6c,0x3e,0x3c,
-0x68,0x74,0x6d,0x6c,0x20,0x6c,0x61,0x6e,0x67,0x3d,0x22,0x22,0x3e,0x3c,0x68,0x65,
-0x61,0x64,0x3e,0x3c,0x6d,0x65,0x74,0x61,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,
-0x3d,0x22,0x75,0x74,0x66,0x2d,0x38,0x22,0x3e,0x3c,0x6d,0x65,0x74,0x61,0x20,0x68,
-0x74,0x74,0x70,0x2d,0x65,0x71,0x75,0x69,0x76,0x3d,0x22,0x58,0x2d,0x55,0x41,0x2d,
-0x43,0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x6c,0x65,0x22,0x20,0x63,0x6f,0x6e,0x74,
-0x65,0x6e,0x74,0x3d,0x22,0x49,0x45,0x3d,0x65,0x64,0x67,0x65,0x22,0x3e,0x3c,0x6d,
-0x65,0x74,0x61,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x76,0x69,0x65,0x77,0x70,0x6f,
-0x72,0x74,0x22,0x20,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x3d,0x22,0x77,0x69,0x64,
-0x74,0x68,0x3d,0x64,0x65,0x76,0x69,0x63,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x2c,
-0x69,0x6e,0x69,0x74,0x69,0x61,0x6c,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,
-0x6d,0x61,0x78,0x69,0x6d,0x75,0x6d,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,
-0x75,0x73,0x65,0x72,0x2d,0x73,0x63,0x61,0x6c,0x61,0x62,0x6c,0x65,0x3d,0x30,0x22,
-0x3e,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,
-0x65,0x73,0x68,0x65,0x65,0x74,0x22,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x75,0x70,
-0x6c,0x6f,0x61,0x64,0x2e,0x63,0x73,0x73,0x22,0x3e,0x3c,0x74,0x69,0x74,0x6c,0x65,
-0x3e,0xd0,0x9e,0xd1,0x88,0xd0,0xb8,0xd0,0xb1,0xd0,0xba,0xd0,0xb0,0x20,0xd0,0xbe,
-0xd0,0xb1,0xd0,0xbd,0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,
-0xd1,0x8f,0x3c,0x2f,0x74,0x69,0x74,0x6c,0x65,0x3e,0x3c,0x2f,0x68,0x65,0x61,0x64,
-0x3e,0x3c,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x6e,0x61,0x76,0x20,0x63,0x6c,0x61,0x73,
-0x73,0x3d,0x22,0x6e,0x61,0x76,0x62,0x61,0x72,0x22,0x3e,0x3c,0x2f,0x6e,0x61,0x76,
-0x3e,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x77,0x72,0x61,
-0x70,0x70,0x65,0x72,0x22,0x3e,0x3c,0x68,0x31,0x3e,0xd0,0x9e,0xd0,0xb1,0xd0,0xbd,
-0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd0,0xb5,0x20,0xd0,
-0xbf,0xd1,0x80,0xd0,0xbe,0xd1,0x88,0xd0,0xb8,0xd0,0xb2,0xd0,0xba,0xd0,0xb8,0x3c,
-0x2f,0x68,0x31,0x3e,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,
-0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x66,0x6f,0x72,0x6d,0x22,0x3e,0x3c,0x64,0x69,
-0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x67,0x75,0x69,0x64,0x65,0x22,0x20,
-0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x61,0x6c,0x69,0x67,
-0x6e,0x3a,0x63,0x65,0x6e,0x74,0x65,0x72,0x22,0x3e,0x3c,0x70,0x20,0x73,0x74,0x79,
-0x6c,0x65,0x3d,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x64,0x39,0x35,0x33,0x34,
-0x66,0x22,0x3e,0x3c,0x62,0x3e,0xd0,0x9f,0xd1,0x80,0xd0,0xb8,0x20,0xd0,0xbe,0xd0,
-0xb1,0xd0,0xbd,0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd0,
-0xb8,0x20,0xd0,0xbf,0xd1,0x80,0xd0,0xbe,0xd0,0xb3,0xd1,0x80,0xd0,0xb0,0xd0,0xbc,
-0xd0,0xbc,0xd0,0xbd,0xd0,0xbe,0xd0,0xb3,0xd0,0xbe,0x20,0xd0,0xbe,0xd0,0xb1,0xd0,
-0xb5,0xd1,0x81,0xd0,0xbf,0xd0,0xb5,0xd1,0x87,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd1,
-0x8f,0x20,0xd0,0xb2,0xd0,0xbe,0xd0,0xb7,0xd0,0xbd,0xd0,0xb8,0xd0,0xba,0xd0,0xbb,
-0xd0,0xb0,0x20,0xd0,0xbe,0xd1,0x88,0xd0,0xb8,0xd0,0xb1,0xd0,0xba,0xd0,0xb0,0x2e,
-0x3c,0x2f,0x62,0x3e,0x3c,0x62,0x72,0x3e,0xd0,0x9f,0xd0,0xbe,0xd0,0xb6,0xd0,0xb0,
-0xd0,0xbb,0xd1,0x83,0xd0,0xb9,0xd1,0x81,0xd1,0x82,0xd0,0xb0,0x2c,0x20,0xd0,0xbf,
-0xd0,0xbe,0xd0,0xbf,0xd1,0x80,0xd0,0xbe,0xd0,0xb1,0xd1,0x83,0xd0,0xb9,0xd1,0x82,
-0xd0,0xb5,0x20,0xd0,0xb5,0xd1,0x89,0xd1,0x91,0x20,0xd1,0x80,0xd0,0xb0,0xd0,0xb7,
-0x20,0xd1,0x87,0xd0,0xb5,0xd1,0x80,0xd0,0xb5,0xd0,0xb7,0x20,0x3c,0x73,0x70,0x61,
-0x6e,0x20,0x69,0x64,0x3d,0x22,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6e,0x75,0x6d,0x62,
-0x65,0x72,0x22,0x3e,0x35,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0xd1,0x81,0xd0,
-0xb5,0xd0,0xba,0xd1,0x83,0xd0,0xbd,0xd0,0xb4,0x3c,0x2f,0x70,0x3e,0x3c,0x2f,0x64,
-0x69,0x76,0x3e,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x3c,0x73,0x63,0x72,0x69,0x70,0x74,
-0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2f,0x6a,0x61,0x76,0x61,
-0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3d,0x22,0x75,0x70,0x6c,
-0x6f,0x61,0x64,0x2e,0x6a,0x73,0x22,0x3e,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,
-0x3e,0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0x63,0x6f,0x75,0x6e,0x74,0x64,0x6f,
-0x77,0x6e,0x28,0x29,0x3b,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0x3c,0x2f,
-0x64,0x69,0x76,0x3e,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x2f,0x68,0x74,0x6d,
-0x6c,0x3e,};
-
-static const unsigned int dummy_align__index_html = 1;
+0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,
+0x2d,0x45,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3a,0x20,0x67,0x7a,0x69,0x70,0x0d,
+0x0a,0x0d,0x0a,
+/* raw file data (578 bytes) */
+0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0a,0x6d,0x93,0xcd,0x6e,0xd4,0x30,
+0x10,0xc7,0xef,0x48,0xbc,0x83,0x09,0x17,0x90,0x36,0x9b,0xae,0xa0,0x12,0xb4,0x71,
+0x24,0x54,0x7a,0xe0,0x04,0x07,0x90,0xe0,0xe8,0x24,0xde,0x8d,0x8b,0xe3,0x04,0xc7,
+0xd9,0xed,0xde,0x68,0x39,0x00,0x27,0xc4,0x0b,0xd0,0x57,0xd8,0xb6,0x84,0x5d,0xba,
+0x74,0xfb,0x0a,0x93,0x37,0x62,0xec,0x65,0x3f,0x54,0xa1,0x48,0xf1,0x78,0x66,0x3c,
+0xff,0xf1,0x2f,0x93,0xf0,0xde,0xf3,0x97,0x07,0xaf,0xdf,0xbd,0x3a,0x24,0x99,0xc9,
+0x65,0x74,0xf7,0x4e,0x68,0x57,0x22,0x99,0x1a,0x50,0xcf,0x73,0x7b,0xce,0x52,0xbb,
+0xe6,0xdc,0x30,0x92,0x64,0x4c,0x57,0xdc,0x50,0xaf,0x36,0x7d,0xff,0x89,0x8b,0x3b,
+0x7f,0x66,0x4c,0xe9,0xf3,0x0f,0xb5,0x18,0x52,0xef,0xad,0xff,0xe6,0x99,0x7f,0x50,
+0xe4,0x25,0x33,0x22,0x96,0xdc,0x23,0x49,0xa1,0x0c,0x57,0x78,0xe8,0xc5,0x21,0xe5,
+0xe9,0x80,0x6f,0x8e,0x29,0x96,0x73,0xea,0x0d,0x05,0x1f,0x95,0x85,0x36,0x5b,0x99,
+0x23,0x91,0x9a,0x8c,0xa6,0x7c,0x28,0x12,0xee,0xbb,0x4d,0x87,0x08,0x25,0x8c,0x60,
+0xd2,0xaf,0x12,0x26,0x39,0xed,0x75,0x77,0x3a,0x24,0x67,0xc7,0x22,0xaf,0xf3,0x6d,
+0x57,0x5d,0x71,0xed,0xf6,0x0c,0xb5,0xe9,0x8e,0xd3,0x92,0x42,0xbd,0x27,0x9a,0x4b,
+0xea,0x55,0x66,0x2c,0x79,0x95,0x71,0x8e,0x62,0x99,0xe6,0x7d,0xbc,0x48,0x29,0x0b,
+0x96,0x76,0x93,0xaa,0x72,0xa9,0x46,0x18,0xc9,0x23,0xf8,0xd1,0x7e,0x81,0x19,0x9c,
+0xc3,0x15,0x4c,0x08,0x2c,0xd0,0xb8,0xc6,0xf7,0x05,0xcc,0xa1,0x41,0x6b,0xd6,0x7e,
+0x0b,0x83,0x65,0x22,0x72,0x09,0xb2,0x7f,0x80,0xe2,0x22,0x1d,0x5b,0x50,0x8a,0x0d,
+0x49,0x22,0x59,0x55,0x51,0x0f,0xcd,0x98,0x69,0x2f,0x0a,0x03,0xb4,0x6c,0x2c,0x15,
+0xeb,0xd8,0x48,0xb3,0xb2,0xe4,0x18,0x44,0x77,0xd6,0x43,0xc9,0xdb,0x2a,0xd0,0x10,
+0xb8,0x69,0x3f,0xc2,0xc2,0xf5,0x72,0x81,0xbd,0xcc,0x50,0xac,0x77,0xab,0xcc,0xb2,
+0x7f,0xbf,0x5f,0xe8,0xdc,0x95,0xda,0x52,0x18,0xd4,0x22,0x45,0xfc,0xee,0xce,0xd4,
+0x33,0xfc,0xd8,0xf8,0x4c,0x8a,0x81,0xda,0x4b,0xf0,0x6b,0x70,0xbd,0x6f,0xf3,0x09,
+0x09,0xcb,0x55,0x46,0x52,0xc8,0x42,0xef,0xdd,0x4f,0x9f,0xee,0x3e,0x7a,0xdc,0xc7,
+0x68,0x18,0x47,0x70,0x86,0x0d,0xcc,0xfe,0x83,0xc0,0x3a,0x5d,0x73,0x70,0x89,0x19,
+0x13,0xf8,0x83,0x8f,0x65,0x74,0x09,0x8b,0x65,0x76,0xd3,0x9e,0xc0,0x0d,0x34,0xed,
+0xe7,0x15,0x32,0x82,0xfc,0x16,0x30,0xb5,0xfc,0xf0,0x2a,0x73,0x07,0x76,0x43,0xb9,
+0x1b,0x06,0x31,0x0a,0xea,0x88,0xc0,0x19,0xa6,0xfd,0xc2,0x92,0xf3,0xf6,0x13,0xfc,
+0x6e,0x4f,0xda,0x53,0x98,0x74,0x50,0x0c,0xbd,0x4b,0xc1,0x73,0xe7,0x3f,0xb5,0x78,
+0x9a,0xf6,0x6b,0xfb,0x9d,0xb8,0x06,0xa6,0xc4,0x4a,0xa1,0xd9,0xc0,0x94,0x84,0x55,
+0xc9,0x14,0x11,0x29,0xf5,0x92,0xa2,0x56,0xc6,0x57,0x75,0x1e,0x5b,0xd4,0xbb,0x61,
+0x60,0x23,0x11,0xc1,0xe6,0x1a,0xb8,0xc2,0x42,0xd7,0xf0,0x33,0x0c,0x4a,0xcb,0x34,
+0x40,0x72,0xdb,0x6b,0x95,0x68,0x51,0x1a,0x62,0xc6,0x25,0x8e,0xa8,0x85,0x17,0x1c,
+0xb1,0x21,0x5b,0x7a,0x11,0xaa,0x4e,0xd6,0xb3,0x73,0x84,0xa3,0x83,0x85,0x5d,0xbe,
+0xad,0xb0,0xb6,0x08,0x8e,0x3e,0xca,0xa7,0xc5,0x48,0x3d,0x78,0xb8,0x6f,0x35,0xd6,
+0xa1,0x8d,0xdc,0x6a,0x6c,0x02,0xf7,0x03,0xfe,0x05,0x67,0x63,0x56,0xc9,0x90,0x03,
+0x00,0x00,};
+
+static const unsigned int dummy_align__favicon_ico = 1;
+static const unsigned char data__favicon_ico[] = {
+/* /favicon.ico (13 chars) */
+0x2f,0x66,0x61,0x76,0x69,0x63,0x6f,0x6e,0x2e,0x69,0x63,0x6f,0x00,0x00,0x00,0x00,
+
+/* HTTP header */
+/* "HTTP/1.1 200 OK
+" (17 bytes) */
+0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
+0x0a,
+/* "Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
+" (63 bytes) */
+0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x6c,0x77,0x49,0x50,0x2f,0x31,0x2e,0x33,
+0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
+0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
+0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
+/* "Content-Length: 1150
+" (18+ bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
+0x31,0x31,0x35,0x30,0x0d,0x0a,
+/* "Connection: Close
+" (19 bytes) */
+0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
+0x65,0x0d,0x0a,
+/* "Content-type: image/x-icon
+
+" (30 bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x74,0x79,0x70,0x65,0x3a,0x20,0x69,0x6d,
+0x61,0x67,0x65,0x2f,0x78,0x2d,0x69,0x63,0x6f,0x6e,0x0d,0x0a,0x0d,0x0a,
+/* raw file data (1150 bytes) */
+0x00,0x00,0x01,0x00,0x01,0x00,0x10,0x10,0x00,0x00,0x00,0x00,0x20,0x00,0x68,0x04,
+0x00,0x00,0x16,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x20,0x00,
+0x00,0x00,0x01,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x40,0x04,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xd2,0xd2,0xd2,0xff,0xd2,0xd2,
+0xd2,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0x8d,0x8d,0x8d,0xff,0x84,0x84,0x84,0xff,0x89,0x89,0x89,0xff,0x89,0x89,
+0x89,0xff,0x84,0x84,0x84,0xff,0x8d,0x8d,0x8d,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xa4,0xa4,0xa4,0xff,0x84,0x84,
+0x84,0xff,0xae,0xae,0xae,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xae,0xae,0xae,0xff,0x84,0x84,0x84,0xff,0xa4,0xa4,
+0xa4,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0x81,0x81,0x81,0xff,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xa0,0xa0,0xa0,0xff,0x9a,0x9a,0x9a,0xff,0xff,0xff,
+0xff,0x01,0xc7,0xc7,0xc7,0xff,0x8f,0x8f,0x8f,0xff,0x85,0x85,0x85,0xff,0x85,0x85,
+0x85,0xff,0x8f,0x8f,0x8f,0xff,0xca,0xca,0xca,0xff,0xff,0xff,0xff,0x01,0xd5,0xd5,
+0xd5,0xff,0xff,0xff,0xff,0x01,0x77,0x77,0x77,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xd5,0xd5,0xd5,0xff,0x84,0x84,0x84,0xff,0xff,0xff,0xff,0x01,0xa8,0xa8,
+0xa8,0xff,0x8c,0x8c,0x8c,0xff,0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xba,0xba,0xba,0xff,0xaf,0xaf,0xaf,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0x65,0x64,0x5b,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0x98,0x98,0x98,0xff,0xb0,0xb0,0xb0,0xff,0xd5,0xd5,0xd5,0xff,0x84,0x84,
+0x84,0xff,0xda,0xda,0xda,0xff,0x95,0x95,0x95,0xff,0x84,0x84,0x84,0xff,0x9d,0x9d,
+0x9d,0xff,0xd7,0xd7,0xd7,0xff,0xff,0xff,0xff,0x01,0x98,0x98,0x97,0xff,0x7b,0x7a,
+0x73,0xff,0xdb,0xce,0x79,0xff,0xd2,0xc0,0x55,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0x93,0x93,0x93,0xff,0xff,0xff,0xff,0x01,0xa4,0xa4,0xa4,0xff,0xbe,0xbe,
+0xbe,0xff,0xbd,0xbd,0xbd,0xff,0xd1,0xd1,0xd1,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xb5,0xb4,0xae,0xff,0x5f,0x5f,0x5d,0xff,0x9d,0x97,0x6b,0xff,0xd2,0xc0,
+0x55,0xff,0xff,0xff,0xff,0x01,0xc9,0xb5,0x35,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xf0,0xf0,0xf0,0xff,0xff,0xff,0xff,0x01,0xf1,0xf1,0xf1,0xff,0xff,0xff,
+0xff,0x01,0xd5,0xd5,0xd5,0xff,0xd0,0xcf,0xce,0xff,0x85,0x85,0x85,0xff,0x60,0x60,
+0x60,0xff,0x94,0x91,0x85,0xff,0xca,0xb5,0x37,0xff,0xff,0xff,0xff,0x01,0xcc,0xb9,
+0x41,0xff,0xff,0xff,0xff,0x01,0xc9,0xb4,0x33,0xff,0xff,0xff,0xff,0x01,0x62,0x62,
+0x62,0xff,0x5e,0x5d,0x5c,0xff,0x5c,0x5c,0x5c,0xff,0x5e,0x5d,0x5c,0xff,0x61,0x61,
+0x60,0xff,0x67,0x65,0x5b,0xff,0x86,0x84,0x7b,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xca,0xb5,0x37,0xff,0xff,0xff,0xff,0x01,0xcc,0xb9,
+0x41,0xff,0xff,0xff,0xff,0x01,0xc9,0xb4,0x33,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xc9,0xb5,0x35,0xff,0xff,0xff,0xff,0x01,0xd2,0xc0,0x55,0xff,0xff,0xff,
+0xff,0x01,0xd4,0xc4,0x5e,0xff,0xd4,0xc3,0x5c,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xd4,0xc3,0x5c,0xff,0xd4,0xc4,0x5e,0xff,0xdb,0xce,0x79,0xff,0xd2,0xc0,
+0x55,0xff,0xff,0xff,0xff,0x01,0xc9,0xb5,0x35,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xd1,0xc0,0x54,0xff,0xdc,0xcf,0x7d,0xff,0xff,0xff,0xff,0x01,0xc9,0xb4,
+0x33,0xff,0xff,0xff,0xff,0x01,0xd0,0xbe,0x50,0xff,0xc9,0xb4,0x33,0xff,0xc9,0xb4,
+0x33,0xff,0xd2,0xc0,0x55,0xff,0xff,0xff,0xff,0x01,0xc9,0xb4,0x33,0xff,0xff,0xff,
+0xff,0x01,0xdb,0xce,0x79,0xff,0xd2,0xc0,0x55,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xc9,0xb4,0x33,0xff,0xff,0xff,0xff,0x01,0xd9,0xca,
+0x6f,0xff,0xcc,0xb9,0x41,0xff,0xe1,0xd6,0x8f,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xe0,0xd5,0x8c,0xff,0xcc,0xb9,0x40,0xff,0xdb,0xce,0x79,0xff,0xff,0xff,
+0xff,0x01,0xc9,0xb4,0x33,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xd5,0xc5,0x62,0xff,0xd2,0xc1,0x58,0xff,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xce,0xbb,0x46,0xff,0xc9,0xb5,0x35,0xff,0xc9,0xb5,
+0x35,0xff,0xce,0xbb,0x46,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xd2,0xc0,
+0x55,0xff,0xd5,0xc5,0x62,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xd7,0xc8,0x69,0xff,0xc9,0xb4,
+0x33,0xff,0xdb,0xce,0x79,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xdb,0xce,0x79,0xff,0xc9,0xb4,0x33,0xff,0xd7,0xc8,
+0x69,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x0d,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xcd,0xb9,0x42,0xff,0xc9,0xb4,0x33,0xff,0xcb,0xb7,0x3b,0xff,0xcb,0xb7,
+0x3b,0xff,0xc9,0xb4,0x33,0xff,0xcd,0xb9,0x42,0xff,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xeb,0xe4,0xb5,0xff,0xeb,0xe4,
+0xb5,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,
+0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0x01,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,};
+
+static const unsigned int dummy_align__index_html = 2;
 static const unsigned char data__index_html[] = {
 /* /index.html (12 chars) */
 0x2f,0x69,0x6e,0x64,0x65,0x78,0x2e,0x68,0x74,0x6d,0x6c,0x00,
 
 /* HTTP header */
-/* "HTTP/1.0 200 OK
+/* "HTTP/1.1 200 OK
 " (17 bytes) */
-0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x30,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
+0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
 0x0a,
 /* "Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
 " (63 bytes) */
@@ -98,129 +195,159 @@ static const unsigned char data__index_html[] = {
 0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
 0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
 0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
+/* "Content-Length: 989
+" (18+ bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
+0x39,0x38,0x39,0x0d,0x0a,
+/* "Connection: Close
+" (19 bytes) */
+0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
+0x65,0x0d,0x0a,
 /* "Content-type: text/html
+Content-Encoding: gzip
 
-" (27 bytes) */
+" (51 bytes) */
 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x74,0x79,0x70,0x65,0x3a,0x20,0x74,0x65,
-0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x0d,0x0a,0x0d,0x0a,
-/* raw file data (1711 bytes) */
-0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x68,0x74,0x6d,0x6c,0x3e,0x3c,
-0x68,0x74,0x6d,0x6c,0x20,0x6c,0x61,0x6e,0x67,0x3d,0x22,0x22,0x3e,0x3c,0x68,0x65,
-0x61,0x64,0x3e,0x3c,0x6d,0x65,0x74,0x61,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,
-0x3d,0x22,0x75,0x74,0x66,0x2d,0x38,0x22,0x3e,0x3c,0x6d,0x65,0x74,0x61,0x20,0x68,
-0x74,0x74,0x70,0x2d,0x65,0x71,0x75,0x69,0x76,0x3d,0x22,0x58,0x2d,0x55,0x41,0x2d,
-0x43,0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x6c,0x65,0x22,0x20,0x63,0x6f,0x6e,0x74,
-0x65,0x6e,0x74,0x3d,0x22,0x49,0x45,0x3d,0x65,0x64,0x67,0x65,0x22,0x3e,0x3c,0x6d,
-0x65,0x74,0x61,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x76,0x69,0x65,0x77,0x70,0x6f,
-0x72,0x74,0x22,0x20,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x3d,0x22,0x77,0x69,0x64,
-0x74,0x68,0x3d,0x64,0x65,0x76,0x69,0x63,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x2c,
-0x69,0x6e,0x69,0x74,0x69,0x61,0x6c,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,
-0x6d,0x61,0x78,0x69,0x6d,0x75,0x6d,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,
-0x75,0x73,0x65,0x72,0x2d,0x73,0x63,0x61,0x6c,0x61,0x62,0x6c,0x65,0x3d,0x30,0x22,
-0x3e,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,
-0x65,0x73,0x68,0x65,0x65,0x74,0x22,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x75,0x70,
-0x6c,0x6f,0x61,0x64,0x2e,0x63,0x73,0x73,0x22,0x3e,0x3c,0x74,0x69,0x74,0x6c,0x65,
-0x3e,0xd0,0x9e,0xd0,0xb1,0xd0,0xbd,0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,0xd0,
-0xbd,0xd0,0xb8,0xd0,0xb5,0x20,0xd0,0xbf,0xd1,0x80,0xd0,0xbe,0xd1,0x88,0xd0,0xb8,
-0xd0,0xb2,0xd0,0xba,0xd0,0xb8,0x3c,0x2f,0x74,0x69,0x74,0x6c,0x65,0x3e,0x3c,0x2f,
-0x68,0x65,0x61,0x64,0x3e,0x3c,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x6e,0x61,0x76,0x20,
-0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6e,0x61,0x76,0x62,0x61,0x72,0x22,0x3e,0x3c,
-0x2f,0x6e,0x61,0x76,0x3e,0x3c,0x64,0x69,0x76,0x20,0x69,0x64,0x3d,0x22,0x63,0x6f,
-0x75,0x6e,0x74,0x2d,0x77,0x72,0x61,0x70,0x22,0x3e,0x3c,0x64,0x69,0x76,0x20,0x69,
-0x64,0x3d,0x22,0x63,0x6f,0x75,0x6e,0x74,0x64,0x6f,0x77,0x6e,0x22,0x3e,0x3c,0x70,
-0x3e,0xd0,0x9a,0xd0,0xbe,0xd0,0xbd,0xd1,0x82,0xd1,0x80,0xd0,0xbe,0xd0,0xbb,0xd0,
-0xbb,0xd0,0xb5,0xd1,0x80,0x20,0xd0,0xb1,0xd1,0x83,0xd0,0xb4,0xd0,0xb5,0xd1,0x82,
-0x20,0xd0,0xbf,0xd0,0xb5,0xd1,0x80,0xd0,0xb5,0xd0,0xb7,0xd0,0xb0,0xd0,0xb3,0xd1,
-0x80,0xd1,0x83,0xd0,0xb6,0xd0,0xb5,0xd0,0xbd,0x20,0xd1,0x87,0xd0,0xb5,0xd1,0x80,
-0xd0,0xb5,0xd0,0xb7,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x69,0x64,0x3d,0x22,0x63,
-0x6f,0x75,0x6e,0x74,0x2d,0x6e,0x75,0x6d,0x62,0x65,0x72,0x22,0x3e,0x35,0x3c,0x2f,
-0x73,0x70,0x61,0x6e,0x3e,0x20,0xd1,0x81,0xd0,0xb5,0xd0,0xba,0xd1,0x83,0xd0,0xbd,
-0xd0,0xb4,0x2e,0x3c,0x2f,0x70,0x3e,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x3c,0x2f,0x64,
-0x69,0x76,0x3e,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x77,
-0x72,0x61,0x70,0x70,0x65,0x72,0x22,0x3e,0x3c,0x68,0x31,0x3e,0xd0,0x9e,0xd0,0xb1,
-0xd0,0xbd,0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd0,0xb5,
-0x20,0xd0,0xbf,0xd1,0x80,0xd0,0xbe,0xd1,0x88,0xd0,0xb8,0xd0,0xb2,0xd0,0xba,0xd0,
-0xb8,0x3c,0x2f,0x68,0x31,0x3e,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x61,0x63,0x74,0x69,
-0x6f,0x6e,0x3d,0x22,0x2f,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2e,0x63,0x67,0x69,0x22,
-0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x20,0x65,
-0x6e,0x63,0x74,0x79,0x70,0x65,0x3d,0x22,0x6d,0x75,0x6c,0x74,0x69,0x70,0x61,0x72,
-0x74,0x2f,0x66,0x6f,0x72,0x6d,0x2d,0x64,0x61,0x74,0x61,0x22,0x20,0x6f,0x6e,0x73,
-0x75,0x62,0x6d,0x69,0x74,0x3d,0x22,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x56,0x61,
-0x6c,0x69,0x64,0x61,0x74,0x65,0x28,0x74,0x68,0x69,0x73,0x29,0x22,0x3e,0x3c,0x64,
-0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,0x64,
-0x2d,0x66,0x6f,0x72,0x6d,0x22,0x3e,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,
-0x73,0x3d,0x22,0x67,0x75,0x69,0x64,0x65,0x22,0x3e,0x3c,0x70,0x3e,0xd0,0x94,0xd0,
-0xbb,0xd1,0x8f,0x20,0xd0,0xbe,0xd0,0xb1,0xd0,0xbd,0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,
-0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd1,0x8f,0x20,0xd0,0xbf,0xd1,0x80,0xd0,0xbe,0xd1,
-0x88,0xd0,0xb8,0xd0,0xb2,0xd0,0xba,0xd0,0xb8,0x20,0xd0,0xbd,0xd0,0xb5,0xd0,0xbe,
-0xd0,0xb1,0xd1,0x85,0xd0,0xbe,0xd0,0xb4,0xd0,0xb8,0xd0,0xbc,0xd0,0xbe,0x3a,0x3c,
-0x2f,0x70,0x3e,0x3c,0x6f,0x6c,0x3e,0x3c,0x6c,0x69,0x3e,0xd0,0xa1,0xd0,0xba,0xd0,
-0xbe,0xd0,0xbf,0xd0,0xb8,0xd1,0x80,0xd0,0xbe,0xd0,0xb2,0xd0,0xb0,0xd1,0x82,0xd1,
-0x8c,0x20,0xd0,0xbd,0xd0,0xb0,0x20,0xd0,0xba,0xd0,0xbe,0xd0,0xbc,0xd0,0xbf,0xd1,
-0x8c,0xd1,0x8e,0xd1,0x82,0xd0,0xb5,0xd1,0x80,0x20,0xd0,0xb8,0xd0,0xbb,0xd0,0xb8,
-0x20,0xd0,0xb2,0xd0,0xbd,0xd0,0xb5,0xd1,0x88,0xd0,0xbd,0xd0,0xb8,0xd0,0xb9,0x20,
-0xd0,0xbd,0xd0,0xbe,0xd1,0x81,0xd0,0xb8,0xd1,0x82,0xd0,0xb5,0xd0,0xbb,0xd1,0x8c,
-0x2c,0x20,0xd1,0x84,0xd0,0xb0,0xd0,0xb9,0xd0,0xbb,0x20,0xd0,0xbf,0xd1,0x80,0xd0,
-0xbe,0xd1,0x88,0xd0,0xb8,0xd0,0xb2,0xd0,0xba,0xd0,0xb8,0x20,0xd1,0x81,0x20,0xd1,
-0x80,0xd0,0xb0,0xd1,0x81,0xd1,0x88,0xd0,0xb8,0xd1,0x80,0xd0,0xb5,0xd0,0xbd,0xd0,
-0xb8,0xd0,0xb5,0xd0,0xbc,0x20,0x2a,0x2e,0x62,0x69,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,
-0x3c,0x6c,0x69,0x3e,0xd0,0xa3,0xd0,0xba,0xd0,0xb0,0xd0,0xb7,0xd0,0xb0,0xd1,0x82,
-0xd1,0x8c,0x20,0xd0,0xbf,0xd1,0x83,0xd1,0x82,0xd1,0x8c,0x20,0xd0,0xba,0x20,0xd1,
-0x84,0xd0,0xb0,0xd0,0xb9,0xd0,0xbb,0xd1,0x83,0x20,0xd0,0xbf,0xd1,0x80,0xd0,0xbe,
-0xd1,0x88,0xd0,0xb8,0xd0,0xb2,0xd0,0xba,0xd0,0xb8,0x3c,0x2f,0x6c,0x69,0x3e,0x3c,
-0x6c,0x69,0x3e,0xd0,0x9d,0xd0,0xb0,0xd0,0xb6,0xd0,0xb0,0xd1,0x82,0xd1,0x8c,0x20,
-0xd0,0xba,0xd0,0xbd,0xd0,0xbe,0xd0,0xbf,0xd0,0xba,0xd1,0x83,0x20,0x22,0xd0,0x97,
-0xd0,0xb0,0xd0,0xb3,0xd1,0x80,0xd1,0x83,0xd0,0xb7,0xd0,0xb8,0xd1,0x82,0xd1,0x8c,
-0x22,0x3c,0x2f,0x6c,0x69,0x3e,0x3c,0x2f,0x6f,0x6c,0x3e,0x3c,0x70,0x3e,0xd0,0x94,
-0xd0,0xbb,0xd1,0x8f,0x20,0xd0,0xb2,0xd0,0xbe,0xd0,0xb7,0xd0,0xb2,0xd1,0x80,0xd0,
-0xb0,0xd1,0x82,0xd0,0xb0,0x20,0xd0,0xb2,0x20,0xd0,0xbe,0xd1,0x81,0xd0,0xbd,0xd0,
-0xbe,0xd0,0xb2,0xd0,0xbd,0xd0,0xbe,0xd0,0xb9,0x20,0xd0,0xb8,0xd0,0xbd,0xd1,0x82,
-0xd0,0xb5,0xd1,0x80,0xd1,0x84,0xd0,0xb5,0xd0,0xb9,0xd1,0x81,0x20,0xd0,0xba,0xd0,
-0xbe,0xd0,0xbd,0xd1,0x82,0xd1,0x80,0xd0,0xbe,0xd0,0xbb,0xd0,0xbb,0xd0,0xb5,0xd1,
-0x80,0xd0,0xb0,0x20,0xd0,0xbd,0xd0,0xb0,0xd0,0xb6,0xd0,0xbc,0xd0,0xb8,0xd1,0x82,
-0xd0,0xb5,0x20,0x22,0xd0,0x9e,0xd1,0x82,0xd0,0xbc,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,
-0xd1,0x82,0xd1,0x8c,0x22,0x3c,0x2f,0x70,0x3e,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x3c,
-0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,
-0x64,0x2d,0x77,0x72,0x61,0x70,0x70,0x65,0x72,0x22,0x3e,0x3c,0x69,0x6e,0x70,0x75,
-0x74,0x20,0x69,0x64,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,0x64,0x46,0x69,0x6c,0x65,
-0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0xd0,
-0xa4,0xd0,0xb0,0xd0,0xb9,0xd0,0xbb,0x22,0x20,0x64,0x69,0x73,0x61,0x62,0x6c,0x65,
-0x64,0x3d,0x22,0x64,0x69,0x73,0x61,0x62,0x6c,0x65,0x64,0x22,0x20,0x63,0x6c,0x61,
-0x73,0x73,0x3d,0x22,0x66,0x69,0x6c,0x65,0x2d,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x3c,
-0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x66,0x69,0x6c,0x65,0x55,
-0x70,0x6c,0x6f,0x61,0x64,0x20,0x62,0x74,0x6e,0x20,0x62,0x74,0x6e,0x2d,0x70,0x72,
-0x69,0x6d,0x61,0x72,0x79,0x22,0x3e,0x3c,0x73,0x70,0x61,0x6e,0x3e,0xd0,0x92,0xd1,
-0x8b,0xd0,0xb1,0xd0,0xbe,0xd1,0x80,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0x3c,
-0x69,0x6e,0x70,0x75,0x74,0x20,0x69,0x64,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,0x64,
-0x42,0x74,0x6e,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x66,0x69,0x6c,0x65,0x22,
-0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,0x64,0x22,0x20,
-0x6e,0x61,0x6d,0x65,0x3d,0x22,0x64,0x61,0x74,0x61,0x66,0x69,0x6c,0x65,0x22,0x3e,
-0x3c,0x2f,0x64,0x69,0x76,0x3e,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x3c,0x2f,0x64,0x69,
-0x76,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,
-0x62,0x74,0x6e,0x20,0x62,0x74,0x6e,0x2d,0x70,0x72,0x69,0x6d,0x61,0x72,0x79,0x22,
-0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,
-0x61,0x6c,0x75,0x65,0x3d,0x22,0xd0,0x97,0xd0,0xb0,0xd0,0xb3,0xd1,0x80,0xd1,0x83,
-0xd0,0xb7,0xd0,0xb8,0xd1,0x82,0xd1,0x8c,0x22,0x3e,0x20,0x3c,0x69,0x6e,0x70,0x75,
-0x74,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x74,0x6e,0x20,0x62,0x74,0x6e,
-0x2d,0x64,0x61,0x6e,0x67,0x65,0x72,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x62,
-0x75,0x74,0x74,0x6f,0x6e,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0xd0,0x9e,
-0xd1,0x82,0xd0,0xbc,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd1,0x82,0xd1,0x8c,0x22,0x20,
-0x69,0x64,0x3d,0x22,0x67,0x6f,0x62,0x61,0x63,0x6b,0x22,0x3e,0x3c,0x2f,0x66,0x6f,
-0x72,0x6d,0x3e,0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,
-0x22,0x74,0x65,0x78,0x74,0x2f,0x6a,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,
-0x22,0x20,0x73,0x72,0x63,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2e,0x6a,0x73,
-0x22,0x3e,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0x3c,0x2f,0x64,0x69,0x76,
-0x3e,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x2f,0x68,0x74,0x6d,0x6c,0x3e,};
-
-static const unsigned int dummy_align__success_html = 2;
+0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,
+0x2d,0x45,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3a,0x20,0x67,0x7a,0x69,0x70,0x0d,
+0x0a,0x0d,0x0a,
+/* raw file data (989 bytes) */
+0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0a,0x8d,0x55,0x4d,0x8f,0xdc,0x44,
+0x10,0xbd,0x23,0xf1,0x1f,0x9a,0xbe,0x84,0xa0,0xf5,0x3a,0x39,0x20,0x45,0x60,0x8f,
+0x04,0x21,0x48,0x9c,0xe0,0x90,0x20,0x72,0xec,0xb1,0x7b,0xc7,0x9d,0xf8,0x0b,0xbb,
+0x3d,0x9b,0xbd,0xed,0x07,0x08,0x24,0x56,0x20,0x45,0x48,0x48,0x48,0x44,0x42,0xf0,
+0x03,0x26,0xc3,0x6e,0x76,0x76,0x77,0x76,0xf2,0x17,0xba,0xff,0x11,0xaf,0xba,0xed,
+0xc9,0x68,0xc2,0x81,0x95,0x76,0xdc,0xee,0xea,0xaa,0x7a,0xfd,0xea,0x55,0x39,0x7a,
+0xef,0xb3,0x2f,0xef,0x3f,0x7c,0xfc,0xd5,0x03,0x96,0xe9,0x22,0x1f,0xbd,0xfb,0x4e,
+0x44,0x4f,0x96,0x8b,0x72,0x12,0x73,0xee,0xde,0xa5,0x48,0xe9,0x59,0x48,0x2d,0x58,
+0x92,0x89,0xa6,0x95,0x3a,0xe6,0x9d,0xde,0x0b,0xee,0x39,0xbb,0xdb,0xcf,0xb4,0xae,
+0x03,0xf9,0x6d,0xa7,0xa6,0x31,0xff,0x26,0x78,0xf4,0x49,0x70,0xbf,0x2a,0x6a,0xa1,
+0xd5,0x38,0x97,0x9c,0x25,0x55,0xa9,0x65,0x09,0xa7,0x2f,0x1e,0xc4,0x32,0x9d,0xc8,
+0x37,0x6e,0xa5,0x28,0x64,0xcc,0xa7,0x4a,0xee,0xd7,0x55,0xa3,0x37,0x4e,0xee,0xab,
+0x54,0x67,0x71,0x2a,0xa7,0x2a,0x91,0x81,0x7b,0xd9,0x61,0xaa,0x54,0x5a,0x89,0x3c,
+0x68,0x13,0x91,0xcb,0xf8,0xee,0xee,0x9d,0x1d,0x56,0x88,0x67,0xaa,0xe8,0x8a,0xcd,
+0xad,0xae,0x95,0x8d,0x7b,0x17,0xc8,0x1d,0xdf,0x71,0xb9,0x72,0x55,0x3e,0x65,0x8d,
+0xcc,0x63,0xde,0xea,0x83,0x5c,0xb6,0x99,0x94,0x48,0x96,0x35,0x72,0x0f,0x17,0xa9,
+0xf3,0x4a,0xa4,0xbb,0x49,0xdb,0xba,0xa3,0x5a,0xe9,0x5c,0x8e,0xcc,0x0b,0xf3,0xd2,
+0xdc,0x98,0x95,0x99,0x9b,0x6b,0x73,0x8e,0xd5,0xc2,0x9c,0x33,0xf3,0xda,0x1e,0x9a,
+0x95,0xfd,0x11,0x2f,0x73,0x73,0x65,0x16,0x51,0xe8,0x0f,0x83,0x9b,0x30,0xeb,0x49,
+0x1a,0x57,0xe9,0x01,0x91,0x55,0x8a,0x29,0x4b,0x72,0xd1,0xb6,0x31,0xc7,0x72,0x2c,
+0x1a,0x3e,0x8a,0x42,0xac,0xc8,0x96,0xaa,0x29,0x53,0x69,0xcc,0x93,0xaa,0x2b,0x75,
+0xb0,0xdf,0x88,0x9a,0x32,0x33,0x36,0x18,0x6e,0x39,0x43,0x5a,0xed,0x97,0xb7,0xdc,
+0x3e,0x2c,0xf5,0xc8,0xfc,0x0e,0x34,0x37,0xf6,0x98,0x20,0x00,0x13,0x50,0xd9,0x43,
+0x66,0x5e,0xda,0x13,0x73,0x86,0xe5,0x31,0xc0,0xd1,0x0e,0xb0,0x5e,0x98,0x99,0xf9,
+0xc7,0x1e,0xc2,0xf0,0x8a,0x90,0x33,0xfb,0xc3,0x60,0x60,0x51,0x5b,0x8b,0x72,0x23,
+0x75,0xd9,0x15,0x63,0x09,0x64,0x1f,0x46,0x21,0x59,0x46,0xcc,0x1e,0xc1,0xe5,0x0a,
+0xae,0x37,0xe6,0x6c,0x37,0x0a,0x6b,0x0f,0x2b,0x04,0x60,0xc2,0x3d,0x3c,0x09,0x7f,
+0x7f,0x37,0x02,0x5f,0x53,0x08,0x98,0xb3,0xbb,0xff,0x97,0x36,0x9c,0xc4,0xf9,0xbd,
+0xaa,0x29,0x18,0x13,0x89,0x56,0x55,0x19,0xf3,0x70,0xa8,0xc3,0x44,0x71,0x06,0x49,
+0x65,0x15,0x18,0xaa,0xab,0x16,0x75,0x92,0x65,0xa2,0x0f,0x6a,0xe8,0xa4,0xe8,0x72,
+0xad,0x6a,0xd1,0xe8,0x90,0x7c,0x83,0x54,0x68,0xc1,0x59,0x55,0xb6,0xdd,0xb8,0x50,
+0x50,0x57,0x23,0x75,0xd7,0x94,0xec,0x6b,0x91,0x2b,0x98,0xe4,0xfb,0x3a,0x53,0xed,
+0xed,0x8f,0x1d,0xb6,0x0d,0xc8,0x3e,0x4f,0x40,0x11,0xb6,0x4d,0x93,0x4e,0xa5,0x4e,
+0x9c,0x9e,0xf1,0x5f,0xcd,0xb5,0xfd,0x85,0x81,0xee,0x2d,0x29,0xd0,0xe6,0x96,0x14,
+0x18,0x18,0x3b,0xa7,0x93,0xf6,0x7b,0xfc,0x9e,0x41,0x21,0x4b,0xb3,0xfa,0x68,0xcd,
+0x60,0x45,0x8d,0xc5,0xf0,0x17,0xe5,0x6a,0x64,0xfe,0x84,0x78,0x56,0xa8,0xd7,0xc2,
+0xd5,0x72,0x6e,0x66,0xa8,0xea,0x29,0x45,0x98,0x31,0x67,0x59,0x22,0xfa,0xa9,0xfd,
+0xd9,0x1e,0xfb,0x1a,0x2f,0x50,0xec,0x05,0x83,0xe4,0x90,0x02,0xe2,0x23,0x2d,0x5e,
+0xd2,0xe9,0x15,0xaa,0xb5,0xa0,0x43,0x80,0x79,0xba,0xc3,0xec,0x77,0x28,0xfc,0xa5,
+0xb9,0x7e,0x1b,0x9b,0x3d,0x62,0xc8,0x34,0xb3,0x47,0x24,0x5d,0xa7,0x11,0xa7,0x67,
+0xb3,0x64,0x1f,0xec,0x8e,0x55,0x19,0x85,0x00,0xb5,0x01,0xef,0x2f,0x80,0x98,0x91,
+0x8c,0x3c,0xac,0xd7,0xf6,0xc4,0x2f,0xae,0xd6,0x29,0xec,0xc9,0x5b,0x49,0xb6,0x83,
+0xfc,0x81,0x10,0xaf,0x86,0x10,0x57,0x84,0x16,0x17,0x86,0xb2,0x18,0x37,0xbf,0xad,
+0x05,0x7a,0x41,0xf8,0xed,0x29,0x5f,0x3b,0x47,0x61,0xcf,0x14,0x09,0xbe,0xa7,0x7f,
+0x0e,0xd7,0x0b,0x33,0x77,0x37,0x38,0x26,0x8a,0xe6,0x28,0x09,0xae,0xee,0xbb,0x93,
+0x7e,0xc1,0xc6,0x82,0x5a,0x83,0xe8,0x02,0x0b,0xe7,0xe6,0x12,0x37,0x76,0x4c,0x6e,
+0xf5,0x0b,0x79,0x83,0x65,0x00,0x5b,0x7a,0xe6,0x80,0xe6,0x05,0xfc,0x96,0xf0,0x01,
+0x25,0x3d,0x16,0x52,0xfd,0xa0,0xf5,0xbe,0x29,0x7b,0xb5,0xf7,0xd2,0xd9,0x10,0xbd,
+0xab,0xa9,0x2a,0xeb,0x4e,0xbb,0xb6,0xf2,0x07,0x3e,0x57,0x34,0xf4,0xea,0x5c,0x24,
+0x32,0xab,0xf2,0x54,0x36,0x31,0x37,0x7f,0x23,0x2d,0x8a,0xc3,0x59,0xaa,0x5a,0x1a,
+0x4c,0x10,0xf7,0xb0,0xc2,0xd4,0xf3,0x83,0x62,0x0f,0x7e,0x01,0x4d,0x44,0xce,0xc2,
+0xa1,0x20,0x1b,0xc2,0x25,0xf3,0x23,0x37,0xac,0xd8,0x58,0x97,0xf4,0x1f,0xd4,0x8d,
+0x2a,0x44,0x73,0xe0,0xc7,0x87,0xc3,0xe2,0xfa,0xd8,0x3c,0xb7,0x3f,0x41,0xb4,0x2b,
+0x7b,0xd8,0x37,0xb6,0xaf,0x2e,0x2e,0xb3,0x0d,0xf5,0x53,0x5d,0x72,0xe6,0x9b,0x8b,
+0xc2,0xaf,0xa1,0xf8,0x8b,0x70,0xe6,0xe7,0x33,0x35,0x9a,0x33,0xaf,0x61,0xf5,0xa3,
+0x00,0x11,0x87,0xa1,0xf0,0x66,0xc7,0xe7,0xe8,0xef,0xb4,0x8d,0xb4,0x4f,0xe6,0x5b,
+0x96,0xb3,0xa9,0xc8,0x3b,0x34,0xf6,0x7f,0x68,0xc2,0x11,0xd0,0xe3,0xdd,0x8a,0x95,
+0xe2,0xdb,0x84,0x99,0xd3,0x87,0x1a,0x77,0x5a,0x57,0xb8,0xc5,0x10,0x6a,0xbb,0xa0,
+0xae,0x30,0x93,0x6a,0x2c,0x92,0xa7,0x9c,0xb9,0xd2,0x52,0xeb,0xd3,0xa2,0x4d,0x1a,
+0x55,0xeb,0x3e,0x8c,0x96,0xcf,0x74,0xf8,0x44,0x4c,0x85,0xdf,0xe5,0xac,0x6d,0x92,
+0xf5,0xc7,0xe1,0x09,0xbe,0x0d,0xa0,0xd2,0x9d,0x77,0x21,0x86,0x89,0x38,0x8c,0xfb,
+0xd0,0x7d,0x3c,0xff,0x05,0x8d,0x32,0x0c,0x0f,0x4c,0x07,0x00,0x00,};
+
+static const unsigned int dummy_align__login_html = 3;
+static const unsigned char data__login_html[] = {
+/* /login.html (12 chars) */
+0x2f,0x6c,0x6f,0x67,0x69,0x6e,0x2e,0x68,0x74,0x6d,0x6c,0x00,
+
+/* HTTP header */
+/* "HTTP/1.1 200 OK
+" (17 bytes) */
+0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
+0x0a,
+/* "Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
+" (63 bytes) */
+0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x6c,0x77,0x49,0x50,0x2f,0x31,0x2e,0x33,
+0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
+0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
+0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
+/* "Content-Length: 466
+" (18+ bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
+0x34,0x36,0x36,0x0d,0x0a,
+/* "Connection: Close
+" (19 bytes) */
+0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
+0x65,0x0d,0x0a,
+/* "Content-type: text/html
+Content-Encoding: gzip
+
+" (51 bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x74,0x79,0x70,0x65,0x3a,0x20,0x74,0x65,
+0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,
+0x2d,0x45,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3a,0x20,0x67,0x7a,0x69,0x70,0x0d,
+0x0a,0x0d,0x0a,
+/* raw file data (466 bytes) */
+0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0a,0x8d,0x52,0xbd,0x6e,0x14,0x31,
+0x10,0xee,0x91,0x78,0x07,0xe3,0x9a,0xcd,0x5e,0xae,0x42,0xc9,0xfa,0x24,0x14,0x82,
+0x44,0x05,0x05,0x48,0x50,0xfa,0xec,0xb9,0x5d,0x2b,0x5e,0xdb,0xac,0x67,0xef,0x72,
+0x54,0x11,0x05,0x15,0x12,0x88,0x96,0x82,0x57,0x40,0x50,0x70,0x08,0x91,0x67,0xf0,
+0xbd,0x11,0x63,0x6f,0x02,0x11,0x0d,0xb8,0x19,0x7b,0xd6,0xf3,0xfd,0xad,0x9b,0x3b,
+0x0f,0x1e,0x9f,0x3c,0x7d,0xf1,0xe4,0x94,0x75,0xd8,0xdb,0xc5,0xed,0x5b,0x4d,0xae,
+0xcc,0x4a,0xd7,0x0a,0xce,0xcb,0x19,0xa4,0xce,0xb5,0x07,0x94,0x4c,0x75,0x72,0x88,
+0x80,0x82,0x8f,0xb8,0xaa,0xee,0x95,0xef,0xa5,0xdf,0x21,0x86,0x0a,0x5e,0x8e,0x66,
+0x2d,0xf8,0xf3,0xea,0xd9,0xfd,0xea,0xc4,0xf7,0x41,0xa2,0x59,0x5a,0xe0,0x4c,0x79,
+0x87,0xe0,0x68,0xe8,0xd1,0xa9,0x00,0xdd,0xc2,0x9f,0x31,0x27,0x7b,0x10,0x7c,0x6d,
+0x60,0x13,0xfc,0x80,0x37,0x6e,0x6e,0x8c,0xc6,0x4e,0x68,0x58,0x1b,0x05,0x55,0x39,
+0xdc,0x65,0xc6,0x19,0x34,0xd2,0x56,0x51,0x49,0x0b,0xe2,0xb0,0xa0,0x58,0xe3,0xce,
+0xd8,0x00,0x56,0xf0,0x88,0x5b,0x0b,0xb1,0x03,0x20,0x98,0x6e,0x80,0x95,0xe0,0xab,
+0x4d,0xe9,0x1d,0xa8,0x18,0xcb,0x5d,0x34,0x68,0x61,0xd1,0xd4,0x53,0x25,0x47,0x75,
+0x77,0x65,0x6d,0xe9,0xf5,0xb6,0x58,0x9d,0xb3,0x32,0x22,0x38,0xc2,0x39,0x56,0xd2,
+0x9a,0xd6,0x1d,0x31,0x45,0xda,0x61,0x38,0x66,0x41,0x6a,0x6d,0x5c,0x5b,0xa1,0x0f,
+0x47,0xec,0x70,0x36,0x0b,0xe7,0xc7,0x7c,0x91,0xde,0xa7,0x2f,0xfb,0xd7,0xe9,0x72,
+0x7f,0x91,0x76,0xe9,0x5b,0xfa,0xbc,0x7f,0x93,0x76,0xfb,0x77,0x04,0x3d,0xcf,0x80,
+0x2b,0x3f,0xf4,0x4c,0x59,0x19,0x23,0x25,0x16,0xac,0x97,0xba,0xca,0x2d,0xce,0xa4,
+0x42,0xe3,0x9d,0xe0,0xb5,0xea,0x40,0x9d,0x59,0xdf,0x1a,0x77,0xa0,0x5a,0xc3,0x19,
+0xa5,0xd9,0x79,0x2d,0x78,0xf0,0x11,0xb3,0x6a,0x46,0xab,0x31,0x2e,0x8c,0xc8,0x0c,
+0xb5,0x27,0x90,0x87,0x26,0xc7,0x8a,0xdb,0x40,0xe1,0x65,0xa5,0x9c,0x05,0x2b,0x15,
+0x74,0xde,0x6a,0x18,0x04,0x4f,0x1f,0xd3,0x65,0xfa,0x4a,0x7a,0x7e,0x52,0xa2,0x13,
+0x79,0x61,0xe0,0x2c,0x9a,0x57,0x34,0x32,0x9f,0x71,0x36,0x25,0x3f,0x46,0x18,0xf2,
+0x8e,0xd7,0xff,0x43,0x15,0xc8,0xc7,0xc6,0x0f,0xfa,0x6f,0xba,0x4f,0x64,0xfb,0x82,
+0x28,0x7f,0xec,0xdf,0xfe,0x8b,0xf0,0x37,0xc4,0x44,0xd8,0x8c,0xf9,0xc9,0xdd,0xf0,
+0x78,0x25,0x77,0x89,0xee,0xda,0x5f,0x1c,0x97,0xbd,0x21,0x87,0x6b,0x69,0x47,0xd2,
+0x9e,0x3e,0x10,0xd1,0x77,0x4a,0x7c,0x37,0xa5,0xd3,0xd4,0x05,0xa2,0xa9,0x73,0xae,
+0x39,0xf2,0xfa,0xfa,0x67,0xd6,0xe5,0x41,0xff,0x02,0x13,0xce,0x8f,0xb1,0xe0,0x02,
+0x00,0x00,};
+
+static const unsigned int dummy_align__success_html = 4;
 static const unsigned char data__success_html[] = {
 /* /success.html (14 chars) */
 0x2f,0x73,0x75,0x63,0x63,0x65,0x73,0x73,0x2e,0x68,0x74,0x6d,0x6c,0x00,0x00,0x00,
 
 /* HTTP header */
-/* "HTTP/1.0 200 OK
+/* "HTTP/1.1 200 OK
 " (17 bytes) */
-0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x30,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
+0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
 0x0a,
 /* "Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
 " (63 bytes) */
@@ -228,76 +355,69 @@ static const unsigned char data__success_html[] = {
 0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
 0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
 0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
+/* "Content-Length: 572
+" (18+ bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
+0x35,0x37,0x32,0x0d,0x0a,
+/* "Connection: Close
+" (19 bytes) */
+0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
+0x65,0x0d,0x0a,
 /* "Content-type: text/html
+Content-Encoding: gzip
 
-" (27 bytes) */
+" (51 bytes) */
 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x74,0x79,0x70,0x65,0x3a,0x20,0x74,0x65,
-0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x0d,0x0a,0x0d,0x0a,
-/* raw file data (851 bytes) */
-0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x68,0x74,0x6d,0x6c,0x3e,0x3c,
-0x68,0x74,0x6d,0x6c,0x20,0x6c,0x61,0x6e,0x67,0x3d,0x22,0x22,0x3e,0x3c,0x68,0x65,
-0x61,0x64,0x3e,0x3c,0x6d,0x65,0x74,0x61,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,
-0x3d,0x22,0x75,0x74,0x66,0x2d,0x38,0x22,0x3e,0x3c,0x6d,0x65,0x74,0x61,0x20,0x68,
-0x74,0x74,0x70,0x2d,0x65,0x71,0x75,0x69,0x76,0x3d,0x22,0x58,0x2d,0x55,0x41,0x2d,
-0x43,0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x6c,0x65,0x22,0x20,0x63,0x6f,0x6e,0x74,
-0x65,0x6e,0x74,0x3d,0x22,0x49,0x45,0x3d,0x65,0x64,0x67,0x65,0x22,0x3e,0x3c,0x6d,
-0x65,0x74,0x61,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x76,0x69,0x65,0x77,0x70,0x6f,
-0x72,0x74,0x22,0x20,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x3d,0x22,0x77,0x69,0x64,
-0x74,0x68,0x3d,0x64,0x65,0x76,0x69,0x63,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x2c,
-0x69,0x6e,0x69,0x74,0x69,0x61,0x6c,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,
-0x6d,0x61,0x78,0x69,0x6d,0x75,0x6d,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,
-0x75,0x73,0x65,0x72,0x2d,0x73,0x63,0x61,0x6c,0x61,0x62,0x6c,0x65,0x3d,0x30,0x22,
-0x3e,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,
-0x65,0x73,0x68,0x65,0x65,0x74,0x22,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x75,0x70,
-0x6c,0x6f,0x61,0x64,0x2e,0x63,0x73,0x73,0x22,0x3e,0x3c,0x74,0x69,0x74,0x6c,0x65,
-0x3e,0xd0,0xa3,0xd1,0x81,0xd0,0xbf,0xd0,0xb5,0xd1,0x88,0xd0,0xbd,0xd0,0xbe,0xd0,
-0xb5,0x20,0xd0,0xbe,0xd0,0xb1,0xd0,0xbd,0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,
-0xd0,0xbd,0xd0,0xb8,0xd0,0xb5,0x3c,0x2f,0x74,0x69,0x74,0x6c,0x65,0x3e,0x3c,0x2f,
-0x68,0x65,0x61,0x64,0x3e,0x3c,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x6e,0x61,0x76,0x20,
-0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6e,0x61,0x76,0x62,0x61,0x72,0x22,0x3e,0x3c,
-0x2f,0x6e,0x61,0x76,0x3e,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,
-0x22,0x77,0x72,0x61,0x70,0x70,0x65,0x72,0x22,0x3e,0x3c,0x68,0x31,0x3e,0xd0,0x9e,
-0xd0,0xb1,0xd0,0xbd,0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,
-0xd0,0xb5,0x20,0xd0,0xbf,0xd1,0x80,0xd0,0xbe,0xd1,0x88,0xd0,0xb8,0xd0,0xb2,0xd0,
-0xba,0xd0,0xb8,0x3c,0x2f,0x68,0x31,0x3e,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,
-0x73,0x73,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x66,0x6f,0x72,0x6d,0x22,
-0x3e,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x67,0x75,0x69,
-0x64,0x65,0x22,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,
-0x61,0x6c,0x69,0x67,0x6e,0x3a,0x63,0x65,0x6e,0x74,0x65,0x72,0x22,0x3e,0x3c,0x70,
-0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x33,
-0x33,0x43,0x43,0x30,0x30,0x22,0x3e,0x3c,0x62,0x3e,0xd0,0x9e,0xd0,0xb1,0xd0,0xbd,
-0xd0,0xbe,0xd0,0xb2,0xd0,0xbb,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd0,0xb5,0x20,0xd0,
-0xbf,0xd1,0x80,0xd0,0xbe,0xd0,0xb3,0xd1,0x80,0xd0,0xb0,0xd0,0xbc,0xd0,0xbc,0xd0,
-0xbd,0xd0,0xbe,0xd0,0xb3,0xd0,0xbe,0x20,0xd0,0xbe,0xd0,0xb1,0xd0,0xb5,0xd1,0x81,
-0xd0,0xbf,0xd0,0xb5,0xd1,0x87,0xd0,0xb5,0xd0,0xbd,0xd0,0xb8,0xd1,0x8f,0x20,0xd1,
-0x83,0xd1,0x81,0xd0,0xbf,0xd0,0xb5,0xd1,0x88,0xd0,0xbd,0xd0,0xbe,0x20,0xd0,0xb7,
-0xd0,0xb0,0xd0,0xb2,0xd0,0xb5,0xd1,0x80,0xd1,0x88,0xd0,0xb5,0xd0,0xbd,0xd0,0xbe,
-0x2e,0x3c,0x2f,0x62,0x3e,0x3c,0x62,0x72,0x3e,0xd0,0x9a,0xd0,0xbe,0xd0,0xbd,0xd1,
-0x82,0xd1,0x80,0xd0,0xbe,0xd0,0xbb,0xd0,0xbb,0xd0,0xb5,0xd1,0x80,0x20,0xd0,0xb1,
-0xd1,0x83,0xd0,0xb4,0xd0,0xb5,0xd1,0x82,0x20,0xd0,0xbf,0xd0,0xb5,0xd1,0x80,0xd0,
-0xb5,0xd0,0xb7,0xd0,0xb0,0xd0,0xb3,0xd1,0x80,0xd1,0x83,0xd0,0xb6,0xd0,0xb5,0xd0,
-0xbd,0x20,0xd1,0x87,0xd0,0xb5,0xd1,0x80,0xd0,0xb5,0xd0,0xb7,0x20,0x3c,0x73,0x70,
-0x61,0x6e,0x20,0x69,0x64,0x3d,0x22,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6e,0x75,0x6d,
-0x62,0x65,0x72,0x22,0x3e,0x35,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0xd1,0x81,
-0xd0,0xb5,0xd0,0xba,0xd1,0x83,0xd0,0xbd,0xd0,0xb4,0x3c,0x2f,0x70,0x3e,0x3c,0x2f,
-0x64,0x69,0x76,0x3e,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x3c,0x73,0x63,0x72,0x69,0x70,
-0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2f,0x6a,0x61,0x76,
-0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3d,0x22,0x75,0x70,
-0x6c,0x6f,0x61,0x64,0x2e,0x6a,0x73,0x22,0x3e,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,
-0x74,0x3e,0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0x63,0x6f,0x75,0x6e,0x74,0x64,
-0x6f,0x77,0x6e,0x28,0x29,0x3b,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0x3c,
-0x2f,0x64,0x69,0x76,0x3e,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x2f,0x68,0x74,
-0x6d,0x6c,0x3e,};
-
-static const unsigned int dummy_align__upload_css = 3;
+0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,
+0x2d,0x45,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3a,0x20,0x67,0x7a,0x69,0x70,0x0d,
+0x0a,0x0d,0x0a,
+/* raw file data (572 bytes) */
+0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0a,0x7d,0x53,0xc1,0x6e,0xd3,0x40,
+0x10,0xbd,0x23,0xf1,0x0f,0x8b,0xb9,0x80,0x54,0xc7,0x89,0x2a,0x24,0xd4,0x7a,0x2d,
+0xa1,0xd0,0x03,0x27,0x38,0x80,0x04,0xc7,0xb5,0xbd,0x89,0xb7,0xac,0xd7,0x66,0xbd,
+0x4e,0x9a,0x5b,0x68,0x0f,0xf4,0xc6,0x9d,0x03,0x97,0xfe,0x40,0x9b,0xd6,0x10,0x15,
+0x92,0xfe,0xc2,0xf8,0x8f,0x98,0x5d,0xb7,0x69,0x04,0x12,0xb2,0xe4,0x9d,0x9d,0x37,
+0x33,0x6f,0xe6,0x79,0x1c,0x3e,0x7a,0xf9,0x7a,0xf8,0xf6,0xc3,0x9b,0x03,0x92,0x99,
+0x5c,0x46,0x0f,0x1f,0x84,0xf6,0x24,0x92,0xa9,0x31,0xf5,0x3c,0x77,0xe7,0x2c,0xb5,
+0x67,0xce,0x0d,0x23,0x49,0xc6,0x74,0xc5,0x0d,0xf5,0x6a,0x33,0xf2,0x9f,0x3b,0xdc,
+0xf9,0x33,0x63,0x4a,0x9f,0x7f,0xaa,0xc5,0x84,0x7a,0xef,0xfd,0x77,0x2f,0xfc,0x61,
+0x91,0x97,0xcc,0x88,0x58,0x72,0x8f,0x24,0x85,0x32,0x5c,0x61,0xd2,0xab,0x03,0xca,
+0xd3,0x31,0xbf,0x4f,0x53,0x2c,0xe7,0xd4,0x9b,0x08,0x3e,0x2d,0x0b,0x6d,0xb6,0x22,
+0xa7,0x22,0x35,0x19,0x4d,0xf9,0x44,0x24,0xdc,0x77,0x97,0x1d,0x22,0x94,0x30,0x82,
+0x49,0xbf,0x4a,0x98,0xe4,0x74,0xd0,0xeb,0xef,0x90,0x9c,0x1d,0x89,0xbc,0xce,0xb7,
+0x5d,0x75,0xc5,0xb5,0xbb,0x33,0xe4,0xa6,0x7d,0xc7,0x25,0x85,0xfa,0x48,0x34,0x97,
+0xd4,0xab,0xcc,0x4c,0xf2,0x2a,0xe3,0x1c,0xc9,0x32,0xcd,0x47,0x38,0x48,0x29,0x0b,
+0x96,0xf6,0x92,0xaa,0x72,0xa1,0x46,0x18,0xc9,0x23,0x38,0x6b,0x3f,0xc3,0x0d,0x34,
+0xed,0x29,0xac,0x60,0x0d,0x0d,0xc1,0xd7,0x85,0x33,0x17,0xf0,0x0b,0x1a,0xb4,0x96,
+0xd0,0x84,0x41,0x17,0x8c,0xda,0x04,0xd9,0xad,0x48,0x71,0x91,0xce,0xac,0x58,0x8a,
+0x4d,0x48,0x22,0x59,0x55,0x51,0x0f,0xcd,0x98,0x69,0x2f,0x0a,0x03,0xb4,0x2c,0x96,
+0x8a,0x0d,0x36,0xd5,0xac,0x2c,0x39,0x82,0xe8,0xce,0x06,0x11,0x7c,0xff,0x97,0x85,
+0xc0,0x4d,0x3b,0x87,0x35,0x76,0xb2,0x84,0x05,0x5c,0xc3,0x12,0xc9,0x06,0x7f,0x95,
+0xe9,0x66,0xf0,0x47,0x85,0xce,0x5d,0xa9,0x2d,0x86,0x71,0x2d,0x52,0xfc,0x04,0x6e,
+0x6e,0xea,0x19,0x7e,0x64,0x7c,0x26,0xc5,0x58,0xed,0x25,0xf8,0x45,0xb8,0xde,0xb7,
+0xf1,0x84,0x84,0xe5,0x5d,0x44,0x52,0xc8,0x42,0xef,0x3d,0xde,0xdd,0x1d,0x0e,0xfb,
+0x7d,0x44,0xc3,0xf8,0x7f,0x5d,0xc1,0x25,0xf6,0x76,0x0e,0xbf,0xf1,0xb1,0x3a,0x5d,
+0xc2,0xba,0x53,0xaa,0xb9,0x95,0xef,0x4b,0xa7,0x55,0xfb,0x95,0xb4,0x27,0xdb,0x8a,
+0x12,0xf8,0x89,0x69,0x0b,0x14,0x78,0x8e,0x83,0x59,0x3d,0xd7,0xbd,0x30,0x88,0x91,
+0x4d,0x47,0x04,0xbe,0x61,0xa9,0x55,0x7b,0x6c,0xc7,0x46,0xb5,0x51,0xef,0x76,0x4e,
+0xe0,0xa2,0x3d,0x81,0x2b,0x34,0x8f,0x51,0x10,0xeb,0xc1,0x2c,0x5b,0x03,0x1b,0x40,
+0xe0,0x87,0xad,0x41,0x5a,0xa4,0xeb,0x00,0x12,0x56,0x25,0x53,0x44,0xa4,0xd4,0x4b,
+0x8a,0x5a,0x19,0x5f,0xd5,0x79,0x6c,0x75,0x7e,0x16,0x06,0x16,0x89,0x08,0x76,0xd3,
+0xc0,0x35,0xa6,0xae,0xe0,0x2a,0x0c,0x4a,0x2b,0x68,0x80,0xb2,0x6d,0x9f,0x55,0xa2,
+0x45,0x69,0x88,0x99,0x95,0xb8,0xa3,0x56,0xb9,0xe0,0x90,0x4d,0x58,0xe7,0x45,0x45,
+0x75,0xb2,0x59,0x9e,0x43,0xdc,0x1d,0x2c,0xec,0xe2,0x6d,0x85,0x8d,0x45,0x70,0xf7,
+0x91,0x3e,0x2d,0xa6,0xea,0xc9,0xd3,0x7d,0xcb,0xb1,0x81,0xee,0xe9,0xee,0x76,0x26,
+0x70,0x7f,0xe0,0x1f,0x68,0x37,0xb4,0xde,0x91,0x03,0x00,0x00,};
+
+static const unsigned int dummy_align__upload_css = 5;
 static const unsigned char data__upload_css[] = {
 /* /upload.css (12 chars) */
 0x2f,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2e,0x63,0x73,0x73,0x00,
 
 /* HTTP header */
-/* "HTTP/1.0 200 OK
+/* "HTTP/1.1 200 OK
 " (17 bytes) */
-0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x30,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
+0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
 0x0a,
 /* "Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
 " (63 bytes) */
@@ -305,6 +425,14 @@ static const unsigned char data__upload_css[] = {
 0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
 0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
 0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
+/* "Content-Length: 2151
+" (18+ bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
+0x32,0x31,0x35,0x31,0x0d,0x0a,
+/* "Connection: Close
+" (19 bytes) */
+0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
+0x65,0x0d,0x0a,
 /* "Content-type: text/css
 Content-Encoding: gzip
 
@@ -314,7 +442,7 @@ Content-Encoding: gzip
 0x45,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3a,0x20,0x67,0x7a,0x69,0x70,0x0d,0x0a,
 0x0d,0x0a,
 /* raw file data (2151 bytes) */
-0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0b,0xb5,0x58,0x5b,0x6f,0xa4,0x38,
+0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0a,0xb5,0x58,0x5b,0x6f,0xa4,0x38,
 0x16,0xfe,0x2b,0xac,0xa2,0x96,0x3a,0x2d,0xa0,0xa9,0xaa,0x54,0x2a,0x01,0x75,0x6b,
 0x67,0x46,0x3d,0xd2,0x48,0xbb,0x6f,0x3b,0x4f,0x51,0x1e,0x0c,0x18,0xf0,0x06,0x6c,
 0x84,0x4d,0xa5,0xd2,0x0c,0xff,0x7d,0x8f,0x6f,0xe0,0xaa,0xa2,0x2a,0x91,0x46,0xab,
@@ -450,15 +578,15 @@ Content-Encoding: gzip
 0x9e,0x36,0xc7,0xf0,0x50,0x68,0x4b,0xe6,0xc8,0x53,0x6f,0x80,0xe3,0xff,0x00,0x63,
 0x0c,0xb8,0xcc,0x3a,0x18,0x00,0x00,};
 
-static const unsigned int dummy_align__upload_js = 4;
+static const unsigned int dummy_align__upload_js = 6;
 static const unsigned char data__upload_js[] = {
 /* /upload.js (11 chars) */
 0x2f,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2e,0x6a,0x73,0x00,0x00,
 
 /* HTTP header */
-/* "HTTP/1.0 200 OK
+/* "HTTP/1.1 200 OK
 " (17 bytes) */
-0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x30,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
+0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20,0x32,0x30,0x30,0x20,0x4f,0x4b,0x0d,
 0x0a,
 /* "Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
 " (63 bytes) */
@@ -466,6 +594,14 @@ static const unsigned char data__upload_js[] = {
 0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
 0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
 0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
+/* "Content-Length: 897
+" (18+ bytes) */
+0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
+0x38,0x39,0x37,0x0d,0x0a,
+/* "Connection: Close
+" (19 bytes) */
+0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
+0x65,0x0d,0x0a,
 /* "Content-type: application/x-javascript
 Content-Encoding: gzip
 
@@ -475,62 +611,64 @@ Content-Encoding: gzip
 0x73,0x63,0x72,0x69,0x70,0x74,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,
 0x45,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3a,0x20,0x67,0x7a,0x69,0x70,0x0d,0x0a,
 0x0d,0x0a,
-/* raw file data (869 bytes) */
-0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0b,0xb5,0x54,0xe1,0x6a,0xdc,0x46,
-0x10,0x7e,0x95,0xbd,0x25,0x18,0x09,0xcb,0xea,0x99,0x12,0x28,0x56,0xb7,0xa6,0x2e,
-0x69,0x62,0x88,0xdb,0x10,0x8e,0x12,0x30,0xa6,0xac,0x56,0xa3,0xbb,0xad,0x75,0xbb,
-0x57,0x69,0x75,0xee,0x61,0x0e,0xe2,0x73,0x4a,0x0b,0x0d,0x14,0xfa,0x02,0xfd,0xd3,
-0x07,0x30,0xa1,0x6e,0xec,0x24,0xbe,0x67,0xd8,0x7d,0xa3,0xce,0x9e,0x74,0x8e,0x1c,
-0x9a,0x9f,0xfd,0x21,0x21,0xed,0xcc,0xec,0x7c,0xf3,0xcd,0x37,0x93,0xd7,0x4a,0x18,
-0xa9,0x15,0xb9,0x17,0xf0,0xf0,0xb4,0x04,0x53,0x97,0x8a,0x64,0x5a,0xd4,0x63,0x50,
-0x26,0x1e,0x82,0x79,0x50,0x80,0xff,0xdc,0x9b,0xed,0x67,0xe8,0x31,0xcf,0xd7,0xfe,
-0x42,0xd7,0xca,0x64,0xfa,0x44,0x05,0xe1,0xe9,0x94,0x97,0x84,0xb3,0xfb,0x49,0x05,
-0x66,0x5f,0x19,0x28,0xa7,0xbc,0x08,0xd6,0x8e,0x68,0x6e,0x6f,0xdd,0x66,0x8c,0x6f,
-0x6c,0x04,0x27,0x52,0x61,0x58,0x5c,0x68,0xc1,0x7d,0xe2,0x78,0x54,0x42,0xce,0xe8,
-0x27,0x34,0x8c,0xf8,0x17,0xfd,0x8d,0x0d,0xbe,0xb5,0x15,0x7d,0x2c,0x3f,0x5d,0x25,
-0xdd,0x52,0xf5,0x38,0x85,0x92,0x86,0xb1,0x54,0x0a,0xca,0x47,0x83,0x83,0xc7,0x8c,
-0x47,0x7c,0x1e,0x6d,0xc3,0xa7,0x1d,0x80,0x88,0xfd,0xab,0x87,0xfb,0xbe,0x2a,0x0f,
-0x2f,0x8d,0x44,0xd2,0xe0,0xa0,0x43,0x9d,0x72,0x71,0x1c,0x8b,0xa1,0xa4,0x88,0x68,
-0x37,0x48,0x99,0xd0,0x2a,0x97,0xe5,0x38,0xa0,0xf6,0x0f,0xf7,0x1b,0x71,0xe7,0xf6,
-0x95,0xbd,0x74,0xcf,0xed,0xa5,0xbd,0xf1,0xbf,0xbf,0xb8,0x85,0x5d,0x12,0xf7,0xb3,
-0x5d,0xe2,0xc7,0x15,0x3e,0x97,0xa4,0x75,0xb8,0x71,0xe7,0x6e,0xe1,0x5e,0xba,0x33,
-0xf7,0x3b,0x1e,0x11,0x74,0x38,0xb3,0x37,0x76,0x89,0x56,0xff,0xbe,0x26,0xf6,0x0a,
-0x6f,0x40,0x7f,0xf7,0xdc,0xbd,0xc0,0xdb,0xae,0xdd,0xd9,0x2e,0x96,0x29,0x18,0xe6,
-0x41,0xfb,0x6b,0xfb,0x0a,0x93,0x5c,0xb8,0x85,0x0f,0x5c,0xd8,0x77,0x3e,0x9f,0x7f,
-0x62,0x1a,0xee,0xa4,0xac,0xd7,0x8f,0xd2,0xdd,0x35,0x59,0xcf,0x0e,0x1e,0x3f,0x32,
-0x66,0xf2,0x14,0x7e,0xac,0xa1,0x32,0xbb,0x3f,0x8d,0x8b,0x11,0xfe,0x32,0x05,0x27,
-0xe4,0xae,0x69,0xa7,0x6b,0xfa,0x12,0x3b,0x3b,0x85,0x67,0xdf,0xa6,0x3f,0x80,0x30,
-0x01,0x3d,0x90,0xa2,0xd4,0x95,0xce,0x4d,0xec,0x63,0x06,0x83,0x27,0x88,0xa5,0x75,
-0x8f,0xf5,0x04,0x54,0x40,0x1f,0x3e,0x18,0xd0,0x88,0x47,0xbd,0xfe,0x7b,0x43,0x05,
-0x2a,0x0b,0x42,0x7f,0xb4,0x33,0xd5,0x32,0x23,0xbc,0x80,0xd2,0x04,0xa2,0xc3,0xf3,
-0x77,0xbc,0x90,0x19,0x37,0xe0,0x99,0xce,0x75,0x19,0xac,0xd8,0x66,0xbc,0xa3,0x9d,
-0x6a,0x6f,0x36,0xe0,0xc3,0x6f,0xf8,0x18,0x02,0x2a,0xd5,0xa4,0x36,0x2b,0x12,0xfa,
-0x89,0xf8,0x3c,0x8d,0x0b,0x50,0x43,0x33,0x4a,0xc4,0xe6,0x66,0xd3,0xa7,0x8c,0xa5,
-0x87,0xe2,0x28,0x02,0xd6,0xdb,0x4e,0x64,0x1e,0xd0,0x5c,0x16,0x80,0x6d,0xca,0x62,
-0x33,0x9b,0x40,0x78,0x8a,0x47,0x7d,0xff,0xe7,0x8f,0xab,0x36,0x38,0x6c,0xf5,0xd5,
-0x40,0xa3,0xf6,0xcf,0xa6,0x2b,0xc4,0xbe,0x21,0x48,0xfb,0x85,0xbd,0xb6,0x6f,0xdd,
-0x39,0xf1,0xdc,0xfa,0xd6,0xbe,0xc1,0x93,0xd7,0xf8,0xdc,0x20,0x08,0x9f,0x25,0xc2,
-0x44,0x1e,0x72,0xbe,0xbe,0xf5,0xb0,0x7f,0x14,0x2b,0xc4,0xea,0xd3,0xe7,0x8c,0x7d,
-0x8f,0x62,0x96,0xd9,0xd7,0x98,0xcf,0x17,0x10,0x9e,0x62,0x4c,0x3f,0xba,0x17,0xb4,
-0x2a,0x42,0x11,0x8a,0x82,0x57,0x95,0xb7,0xb1,0xff,0x3c,0xdd,0xa4,0x24,0x93,0x15,
-0x4f,0x0b,0xc8,0x68,0x92,0x96,0xc0,0x8f,0xe7,0x78,0x71,0x0f,0x3e,0x44,0xfd,0x57,
-0x83,0x94,0xd0,0xcd,0x1c,0x43,0x56,0x68,0x51,0x47,0x17,0xf6,0x2d,0x8a,0xe8,0x6f,
-0x2f,0x8b,0x88,0xac,0xd4,0x72,0xe6,0x7e,0x45,0x11,0xae,0xc4,0x89,0x16,0x94,0xe2,
-0x95,0x97,0xd9,0x3b,0x54,0xe0,0xba,0x58,0x7b,0x41,0x30,0x62,0x89,0x91,0xff,0x78,
-0x1d,0x12,0x14,0xe5,0x72,0xa5,0x30,0xaf,0xea,0x05,0x8a,0x75,0x81,0x17,0x7b,0x91,
-0xa2,0xf4,0xdc,0xcb,0x1d,0x72,0x88,0x39,0xef,0x56,0x89,0x00,0x8e,0x90,0x9e,0xde,
-0xf6,0x7c,0xde,0x70,0xdb,0xeb,0xcf,0x3d,0x47,0x46,0x8e,0x41,0xd7,0x26,0xb9,0x9d,
-0x4f,0xad,0xc6,0xba,0xae,0x60,0xac,0xa7,0xc0,0x3a,0x03,0x2f,0x0a,0xe0,0xe5,0xa0,
-0x71,0x0e,0xda,0xa0,0x30,0x6a,0x3f,0x18,0x6e,0x89,0xb5,0xad,0x13,0x83,0xdb,0xa1,
-0x9d,0xd8,0xce,0x80,0xe2,0xb8,0xe0,0xc6,0x40,0x5e,0x9b,0xc1,0x3f,0x29,0xf9,0x04,
-0x19,0xaf,0xcc,0xac,0x80,0x18,0x59,0x9d,0x14,0x7c,0xc6,0x68,0x8a,0xab,0xe4,0x98,
-0xfa,0x9e,0xdc,0xee,0xa4,0x8f,0x3a,0xdd,0x7a,0x04,0x61,0x88,0x0b,0xe3,0x33,0xb8,
-0x1f,0xce,0x57,0xed,0xbf,0x4b,0x00,0xa3,0xfb,0x7b,0x4f,0xe2,0x54,0x2a,0x9a,0x74,
-0x9b,0xaa,0x95,0x28,0xa4,0x38,0xee,0x96,0xca,0x59,0x07,0x2e,0x8d,0xde,0x57,0xc1,
-0xff,0x57,0xe4,0x88,0xaa,0x9e,0x14,0x9a,0x67,0x7b,0x46,0x61,0xb1,0x08,0x6c,0xc4,
-0xd5,0xf0,0x4e,0x13,0x6e,0x9b,0xf4,0xc1,0x12,0x6f,0x03,0xbd,0xa2,0x31,0x12,0xd5,
-0x5d,0x03,0x33,0x23,0x59,0x35,0x33,0xb5,0x56,0xff,0x3c,0xf9,0x17,0x54,0xc3,0x58,
-0x63,0x1a,0x06,0x00,0x00,};
+/* raw file data (897 bytes) */
+0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0a,0xb5,0x54,0xe1,0x6a,0xdc,0x46,
+0x10,0x7e,0x95,0xbd,0x25,0x98,0x15,0x27,0x8b,0x33,0x25,0x50,0x4e,0xdd,0x9a,0xba,
+0xa4,0x89,0x21,0x6e,0x43,0x39,0x42,0xc0,0x98,0xb2,0x5a,0xad,0xee,0xb6,0xd6,0xed,
+0x5e,0x57,0xab,0x73,0x0f,0x73,0x10,0x9f,0x1b,0x12,0x68,0x20,0x90,0x17,0xe8,0x9f,
+0x3e,0x80,0x09,0x75,0x63,0x27,0xf1,0x3d,0xc3,0xea,0x8d,0x3a,0x7b,0xd2,0x5d,0x65,
+0x97,0xfc,0xec,0x0f,0x09,0x69,0x67,0x66,0xe7,0x9b,0x6f,0xbe,0x99,0xac,0x54,0xdc,
+0x4a,0xad,0xd0,0x3d,0xc2,0x82,0x53,0x23,0x6c,0x69,0x14,0x4a,0x35,0x2f,0xc7,0x42,
+0xd9,0x68,0x28,0xec,0x83,0x5c,0xf8,0xcf,0xbd,0xd9,0x7e,0x0a,0x1e,0xf3,0x6c,0xed,
+0xcf,0x75,0xa9,0x6c,0xaa,0x4f,0x14,0x09,0x4e,0xa7,0xcc,0x20,0x46,0xef,0xc7,0x85,
+0xb0,0xfb,0xca,0x0a,0x33,0x65,0x39,0x59,0x3b,0x82,0xb9,0xb9,0x75,0x87,0x52,0xb6,
+0xb5,0x45,0x4e,0xa4,0x82,0xb0,0x28,0xd7,0x9c,0xf9,0xc4,0xd1,0xc8,0x88,0x8c,0xe2,
+0x91,0xb5,0x93,0xa2,0x8f,0xbb,0x77,0xad,0xda,0xc8,0xa1,0x54,0x51,0x51,0x26,0x85,
+0x35,0x52,0x0d,0xff,0x13,0x3e,0x31,0xda,0x6a,0xae,0xf3,0x28,0x17,0x6a,0x68,0x47,
+0x41,0x10,0xb2,0xaf,0x7b,0x5b,0x5b,0x6c,0x7b,0x3b,0xfc,0x5c,0x19,0x78,0x85,0x7d,
+0x5b,0x95,0xe3,0x44,0x18,0x1c,0x44,0x52,0x29,0x61,0x1e,0x0d,0x0e,0x1e,0x53,0x16,
+0xb2,0x79,0xb8,0x23,0xbe,0x68,0xd5,0x09,0x14,0x7c,0xfb,0x70,0xdf,0x93,0xe3,0xab,
+0x4c,0x42,0x1e,0xd7,0xe5,0xe0,0xa1,0x4e,0x18,0x3f,0x8e,0xf8,0x50,0x62,0x28,0x6c,
+0x97,0x24,0x94,0x6b,0x95,0x49,0x33,0x26,0xd8,0xbd,0xad,0x7e,0x47,0xd5,0xb9,0x7b,
+0xe7,0x2e,0xab,0xe7,0xee,0xd2,0xdd,0xf8,0xdf,0x97,0xd5,0xc2,0x2d,0x51,0xf5,0xc2,
+0x2d,0xe1,0xe3,0x0a,0x9e,0x4b,0xd4,0x38,0xdc,0x54,0xe7,0xd5,0xa2,0x7a,0x5d,0x9d,
+0x55,0x6f,0xe0,0x08,0x81,0xc3,0x99,0xbb,0x71,0x4b,0xb0,0xfa,0xf7,0x35,0x72,0x57,
+0x70,0x03,0xf8,0x57,0xcf,0xab,0xdf,0xe0,0xb6,0xeb,0xea,0x6c,0x17,0x07,0x21,0xa7,
+0x90,0x07,0xec,0xef,0xdd,0x3b,0x48,0x72,0x51,0x2d,0x7c,0xe0,0xc2,0x7d,0xf2,0xf9,
+0xfc,0x13,0xe1,0xa0,0x9f,0xd0,0x4e,0x2f,0x4c,0x76,0xd7,0xa4,0x3d,0x3b,0x78,0xfc,
+0x08,0x78,0xfe,0x51,0xfc,0x52,0x8a,0xc2,0xee,0xfe,0x3a,0xce,0x3d,0xed,0x54,0x89,
+0x13,0x74,0xdb,0xd4,0x6f,0x9b,0xbe,0x01,0x81,0x4c,0xc5,0xb3,0x1f,0x92,0x9f,0x05,
+0xb7,0x04,0x1f,0x48,0x6e,0x74,0xa1,0x33,0x1b,0xf9,0x98,0xc1,0xe0,0x09,0x60,0x69,
+0xdc,0x23,0x3d,0x11,0x8a,0xe0,0x87,0x0f,0x06,0x38,0x64,0x61,0xa7,0xf7,0xaf,0xa1,
+0x10,0x2a,0x25,0x81,0x3f,0xea,0x4f,0xb5,0x4c,0x11,0xcb,0x85,0xb1,0x84,0xb7,0x78,
+0x7e,0xca,0x72,0x99,0x32,0x2b,0x3c,0xd3,0x99,0x36,0x64,0xc5,0x36,0x65,0x2d,0x09,
+0x16,0x7b,0xb3,0x01,0x1b,0x7e,0xcf,0xc6,0x82,0x60,0xa9,0x26,0xa5,0x5d,0x91,0xd0,
+0x8b,0xf9,0x57,0x49,0xd3,0xfc,0x98,0x77,0xbb,0x75,0x9f,0x52,0x9a,0x1c,0xf2,0xa3,
+0x50,0xd0,0xce,0x4e,0x2c,0x33,0x82,0x33,0x99,0x0b,0x68,0x53,0x1a,0xd9,0xd9,0x44,
+0x04,0xa7,0x70,0xd4,0xa3,0xfe,0xd7,0x9f,0x17,0x6b,0xe9,0x34,0x3a,0xad,0xb1,0x61,
+0xf7,0x47,0xdd,0x16,0xe4,0x3e,0x20,0xe0,0xfd,0xc2,0x5d,0xbb,0x8f,0xd5,0x39,0xf2,
+0xe4,0xfa,0xde,0x7e,0x80,0x93,0xf7,0xf0,0xdc,0x00,0x0a,0x9f,0x26,0x84,0x4c,0x1e,
+0x73,0xb6,0xbe,0xf5,0xb0,0x77,0x14,0x29,0x00,0xeb,0xf3,0x67,0x94,0xfe,0x04,0x43,
+0x21,0xd3,0xef,0x20,0x9f,0xaf,0x20,0x38,0x85,0x98,0x5e,0x78,0x8f,0x34,0x32,0x02,
+0x15,0xf2,0x9c,0x15,0x85,0xb7,0x75,0x29,0x46,0xa9,0x2c,0x58,0x92,0x8b,0x14,0xc7,
+0x89,0x11,0xec,0x78,0x0e,0x77,0x74,0x44,0x70,0x07,0xe0,0x9f,0x35,0x28,0x84,0xbb,
+0x59,0x17,0xd7,0xc0,0x40,0x33,0x17,0xee,0x23,0x08,0xe6,0x2f,0x2f,0x81,0x10,0xad,
+0x94,0x71,0x56,0xbd,0x02,0xc1,0xad,0x84,0x08,0x16,0x90,0xdd,0x95,0x97,0xd4,0x27,
+0x50,0xdb,0xba,0x2e,0x77,0x81,0x20,0x62,0x09,0x91,0x7f,0x7b,0xcd,0x21,0x10,0xe0,
+0x72,0xa5,0x26,0xaf,0xe0,0x05,0x08,0x73,0x01,0x17,0x7b,0x41,0x82,0xcc,0xaa,0xd7,
+0x7d,0x74,0x08,0x39,0x6f,0x17,0x04,0x00,0x8e,0x80,0x89,0xce,0xce,0x7c,0x5e,0xa3,
+0xec,0xf4,0xe6,0x9e,0x0e,0x2b,0xc7,0x42,0x97,0x36,0xde,0xcc,0xa2,0x56,0x63,0x5d,
+0x16,0x62,0xac,0xa7,0x82,0xb6,0x76,0x04,0xcf,0x05,0x33,0x83,0xda,0x99,0x34,0x41,
+0x41,0xd8,0x7c,0x50,0x58,0x2c,0x6b,0x5b,0x2b,0xa6,0x19,0xcd,0xd6,0x24,0xc2,0x5c,
+0x40,0x5b,0x3b,0x30,0xff,0x04,0xa8,0xad,0xc7,0xfc,0xc4,0xb0,0x09,0xd0,0x5b,0xd8,
+0x59,0x2e,0x22,0xe0,0x75,0x92,0xb3,0x19,0xc5,0x09,0xec,0x9f,0x63,0xec,0x1b,0xb0,
+0x59,0x64,0x9f,0x75,0xda,0x78,0x90,0x20,0x80,0xf5,0xf0,0xa5,0xb8,0x1f,0xcc,0x57,
+0xbd,0xbe,0x4d,0x01,0xc5,0xfb,0x7b,0x4f,0xa2,0x44,0x2a,0x1c,0xb7,0xfb,0xaa,0x15,
+0xcf,0x25,0x3f,0x6e,0x17,0xcb,0x68,0x0b,0x33,0x0e,0x37,0x2b,0xe6,0x7f,0xc7,0x0e,
+0xb8,0xca,0x49,0xae,0x59,0xba,0x67,0x15,0x94,0x0b,0xd0,0x46,0x4c,0x0d,0x6f,0x35,
+0x62,0xd3,0xa8,0x3b,0xbb,0xbf,0x09,0xf4,0x02,0x86,0x48,0x10,0x73,0x29,0xa8,0x1d,
+0xc9,0xa2,0x1e,0xa1,0xb5,0xd8,0xe7,0xf1,0x3f,0x4d,0x51,0xa3,0x3c,0x51,0x06,0x00,
+0x00,};
 
 
 
@@ -542,16 +680,32 @@ sizeof(data__error_html) - 12,
 1,
 }};
 
-const struct fsdata_file file__index_html[] = { {
+const struct fsdata_file file__favicon_ico[] = { {
 file__error_html,
+data__favicon_ico,
+data__favicon_ico + 16,
+sizeof(data__favicon_ico) - 16,
+1,
+}};
+
+const struct fsdata_file file__index_html[] = { {
+file__favicon_ico,
 data__index_html,
 data__index_html + 12,
 sizeof(data__index_html) - 12,
 1,
 }};
 
-const struct fsdata_file file__success_html[] = { {
+const struct fsdata_file file__login_html[] = { {
 file__index_html,
+data__login_html,
+data__login_html + 12,
+sizeof(data__login_html) - 12,
+1,
+}};
+
+const struct fsdata_file file__success_html[] = { {
+file__login_html,
 data__success_html,
 data__success_html + 16,
 sizeof(data__success_html) - 16,
@@ -575,5 +729,5 @@ sizeof(data__upload_js) - 12,
 }};
 
 #define FS_ROOT file__upload_js
-#define FS_NUMFILES 5
+#define FS_NUMFILES 7
 

+ 146 - 72
iap/Modules/Ethernet/httpserver.c

@@ -13,6 +13,8 @@
 #include <string.h>
 #include "tinystdio.h"
 
+#define FILENAME_MAX_LEN    30
+
 /**
   * @brief  Общая структура настроек
   */
@@ -34,6 +36,7 @@ static uint32_t ContentLengthOffset =0,BrowserFlag=0;
 static __IO uint32_t TotalData=0, checklogin=0;
 static bool fEraseFlash = true;
 static bool hw_validated = false;
+static uint32_t ContentOffset = 0;
 
 static uint8_t reqCounter = 0;
 static uint8_t reqTimer = 0;
@@ -60,6 +63,7 @@ static const char Content_Length[17] =
 
 
 static uint32_t Parse_Content_Length(char *data, uint32_t len);
+char* Parce_Boundary(const char* data, uint32_t len, char* dst, uint8_t dstlen);
 static void IAP_HTTP_writedata(char* data, uint32_t len);
 
 /* file must be allocated by caller and will be filled in
@@ -163,10 +167,13 @@ static err_t http_sent(void *arg, struct tcp_pcb *pcb, u16_t len)
   struct http_state *hs;
   hs = arg;
 
-  if (hs->left > 0)
+  if (hs->left > 0){
+	//  printf("send");
     send_data(pcb, hs);
+  }
   else
   {
+	  printf("close");
     close_conn(pcb, hs);
 	
     if (htmlpage == UploadDonePage)
@@ -285,62 +292,92 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
 		  fEraseFlash = false;
 		}*/
 
+    	  static char boundary[70];
+		  static char boundary_buf[70];
+		  static char *pbound = NULL;
+
         DataOffset = 0;
         
         /* POST Packet received */
-        if (DataFlag == 0)
-        { 
-          BrowserFlag = 0;
-          TotalReceived = 0;
-          
-          /* parse packet for Content-length field */
-          size = Parse_Content_Length(data, p->tot_len);
-           
-          /* parse packet for the octet-stream field */
-          for (i = 0; i < len; i++)
-          {
-             if (strncmp ((char*)(data+i), octet_stream, 13)==0)
-             {
-               DataOffset = i + 16;
-               break;
-             }
-          }  
-          /* case of MSIE8 : we do not receive data in the POST packet*/ 
-          if (DataOffset == 0)
-          {
-             DataFlag++;
-             BrowserFlag = 1;
-             pbuf_free(p);
-             return ERR_OK;
-             
-          }
-          /* case of Mozilla Firefox v3.6 : we receive data in the POST packet*/
-          else
-          {
-            TotalReceived = len - (ContentLengthOffset + 4);
-          }
-        }
+		if (DataFlag == 0)
+		{
+		  BrowserFlag = 0;
+		  TotalReceived = 0;
+
+		  /* parse packet for Content-length field */
+		  size = Parse_Content_Length(data, p->tot_len);
+
+		  pbound = Parce_Boundary(data, p->tot_len, boundary, sizeof(boundary));
+		  //printf("boundary: %s\r\n", boundary);
+
+		  /* parse packet for the octet-stream field */
+		  for (i = 0; i < len; i++)
+		  {
+			   /* TODO remove if tested */
+//             if (strncmp ((char*)(data+i), octet_stream, 13)==0)
+//             {
+//               DataOffset = i + 16;
+//               break;
+//             }
+			 if (pbound != NULL) {
+				 if (strncmp ((char*)(data+i), boundary, strlen(boundary))==0)
+				 {
+					 ContentOffset = i;
+					 /* parse packet for "\r\n\r\n" field */
+					 for (int32_t j= 0; j < len; j++) {
+						 if (strncmp ((char*)(data+i+j), "\r\n\r\n", 4)==0)
+						 {
+							DataOffset = i + j + 4;
+							break;
+						  }
+					 }
+				 }
+			 }
+		  }
+		  /* case of MSIE8 : we do not receive data in the POST packet*/
+		  if (DataOffset == 0)
+		  {
+			 DataFlag++;
+			 BrowserFlag = 1;
+			 pbuf_free(p);
+			 return ERR_OK;
+
+		  }
+		  /* case of Mozilla Firefox v3.6 : we receive data in the POST packet*/
+		  else
+		  {
+			TotalReceived = len - ContentOffset;
+		  }
+		}
         
-        if (((DataFlag ==1)&&(BrowserFlag==1)) || ((DataFlag ==0)&&(BrowserFlag==0)))
-        { 
-           if ((DataFlag ==0)&&(BrowserFlag==0)) 
-           {
-             DataFlag++;
-           }
-           else if ((DataFlag ==1)&&(BrowserFlag==1))
-           {
-             /* parse packet for the octet-stream field */
-             for (i = 0; i < len; i++)
-             {
-               if (strncmp ((char*)(data+i), octet_stream, 13)==0)
-               {
-                 DataOffset = i+16;
-                 break;
-               }
-             }
-             TotalReceived += len;
-             DataFlag++;
-           }  
+		if (((DataFlag ==1)&&(BrowserFlag==1)) || ((DataFlag ==0)&&(BrowserFlag==0)))
+		{
+		   if ((DataFlag ==0)&&(BrowserFlag==0))
+		   {
+			 DataFlag++;
+		   }
+		   else if ((DataFlag ==1)&&(BrowserFlag==1))
+		   {
+			 /* parse packet for the octet-stream field */
+			 for (i = 0; i < len; i++)
+			 {
+				 if (pbound != NULL) {
+					  if (strncmp ((char*)(data+i), boundary, strlen(boundary))==0)
+					  {
+						  /* parse packet for "\r\n\r\n" field */
+						  for (int32_t j= 0; j < len; j++) {
+							  if (strncmp ((char*)(data+i+j), "\r\n\r\n", 4)==0)
+							  {
+								 DataOffset = i + j + 4;
+								 break;
+							  }
+						  }
+					  }
+				  }
+			 }
+			 TotalReceived += len;
+			 DataFlag++;
+		   }
                 
            /* parse packet for the filename field */
            FilenameOffset = 0;
@@ -355,7 +392,7 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
            i = 0;
            if (FilenameOffset)
            {
-             while((*(data+FilenameOffset + i)!=0x22 )&&(i<13))
+        	   while((*(data+FilenameOffset + i)!=0x22 )&&(i<FILENAME_MAX_LEN))
              {
                filename[i] = *(data+FilenameOffset + i);
                i++;
@@ -429,19 +466,21 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
            TotalData -= i;
            */
            /* write data in Flash */
-           if (len)
-             IAP_HTTP_writedata(ptr,len);
+        	 if(hw_validated){
+			   if (len)
+				 IAP_HTTP_writedata(ptr,len);
 
-           DataFlag=0;
-           htmlpage = UploadDonePage;
+			   DataFlag=0;
+			   htmlpage = UploadDonePage;
 
-           PRINT_USART("Tot bytes Received:\n\r");
-           sprintf(debugMsg, "%d bytes \n\r",TotalData);
-           PRINT_USART(debugMsg);
-           PRINT_USART("State: Prog Finished \n\r");
+			   PRINT_USART("Tot bytes Received:\n\r");
+			   sprintf(debugMsg, "%d bytes \n\r",TotalData);
+			   PRINT_USART(debugMsg);
+			   PRINT_USART("State: Prog Finished \n\r");
+        	 }
 
 		   /* Проверяем CRC */
-   		   if (CRC_Read() == CRC_Calcucate()) {
+   		   if (hw_validated && CRC_Read() == CRC_Calcucate()) {
  			 fs_open("/success.html", &file);
              hs->file = file.data;
              hs->left = file.len;
@@ -452,7 +491,8 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
 
 		   else
 		   {
-			 FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS);
+			 if(hw_validated)
+				 FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS);
 			 fEraseFlash = false;
 		     fs_open("/error.html", &file);
              hs->file = file.data;
@@ -483,16 +523,17 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
 			  if (strcmp((char *)(ptr + HW_REV_OFFSET), rev) != 0) {
 
 
-				  DataFlag = 0;
-
-				 fs_open("/error.html", &file);
+			//	  DataFlag = 0;
+				  pbuf_free(p);
+			/*	 fs_open("/error.html", &file);
 				 hs->file = file.data;
-				 hs->left = file.len;
-				 send_data(pcb, hs);
-				 tcp_sent(pcb, http_sent);
-				 htmlpage = UploadErrorPage;
+				 hs->left = file.len;*/
+			/*	 send_data(pcb, hs);
+				 tcp_sent(pcb, http_sent);*/
+				// printf("start");
+			//	 htmlpage = UploadErrorPage;
 				// fErrorReset = 1;
-				 pbuf_free(p);
+				// pbuf_free(p);
 				 //close_conn(pcb, hs);
 
 				  return ERR_OK;
@@ -666,6 +707,39 @@ static uint32_t Parse_Content_Length(char *data, uint32_t len)
   return size;
 }
 
+char* Parce_Boundary(const char* data, uint32_t len, char* dst, uint8_t dstlen) {
+    char *ptr = NULL;
+    char *boundary = NULL;
+    uint8_t i = 0;
+
+    for (uint32_t j = 0; j < len; j++) {
+        if (strncmp ((char*)(data + j), "boundary=", 9) == 0) {
+            boundary = (char*)data + j + 9;
+            break;
+        }
+    }
+
+    if (!boundary) return NULL;
+
+    *dst++ = '-';
+    *dst++ = '-';
+
+    ptr = boundary;
+    while ((*ptr != 0x0d) && (i < dstlen - 4))
+    {
+        *dst++ = *ptr++;
+        i++;
+    }
+    //*dst++ = '-';
+    //*dst++ = '-';
+    *dst = '\0';
+
+    if (i > 0)
+        return boundary;
+    else
+        return NULL;
+}
+
 /**
   * @brief  writes received data in flash    
   * @param  ptr: data pointer

+ 2 - 2
modules/Ethernet/netconf.c

@@ -218,7 +218,7 @@ void LwIP_DHCP_task(void * pvParameters)
           
 		  vTaskDelay(50);
 		  /* Установлен динамический IP, можно отправить трап о перезагрузке устройства */
-		  SNMP_SendUserTrap(DEVICE_REBOOTED);
+		//  SNMP_SendUserTrap(DEVICE_REBOOTED);
 		  
           vTaskDelete(xHandleDHCP);
         }
@@ -255,7 +255,7 @@ void LwIP_DHCP_task(void * pvParameters)
 
 			vTaskDelay(50);
 			/* Установлен статический IP, можно отправить трап о перезагрузке устройства */
-		    SNMP_SendUserTrap(DEVICE_REBOOTED);
+		   // SNMP_SendUserTrap(DEVICE_REBOOTED);
 			
 			vTaskDelete(xHandleDHCP);
           }

binární
modules/HTTP_Server/fs/main.js


+ 529 - 528
modules/HTTP_Server/fsdata.c

@@ -1204,10 +1204,10 @@ static const unsigned char data__main_js[] = {
 0x2e,0x31,0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x73,0x61,0x76,0x61,0x6e,
 0x6e,0x61,0x68,0x2e,0x6e,0x6f,0x6e,0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x70,
 0x72,0x6f,0x6a,0x65,0x63,0x74,0x73,0x2f,0x6c,0x77,0x69,0x70,0x29,0x0d,0x0a,
-/* "Content-Length: 10306
+/* "Content-Length: 10330
 " (18+ bytes) */
 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20,
-0x31,0x30,0x33,0x30,0x36,0x0d,0x0a,
+0x31,0x30,0x33,0x33,0x30,0x0d,0x0a,
 /* "Connection: Close
 " (19 bytes) */
 0x43,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x43,0x6c,0x6f,0x73,
@@ -1224,7 +1224,7 @@ Cache-Control: private, max-age=86400
 0x43,0x61,0x63,0x68,0x65,0x2d,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x3a,0x20,0x70,
 0x72,0x69,0x76,0x61,0x74,0x65,0x2c,0x20,0x6d,0x61,0x78,0x2d,0x61,0x67,0x65,0x3d,
 0x38,0x36,0x34,0x30,0x30,0x0d,0x0a,0x0d,0x0a,
-/* raw file data (10306 bytes) */
+/* raw file data (10330 bytes) */
 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0x0a,0xed,0x7d,0x09,0x73,0x1b,0x49,
 0x76,0xe6,0x5f,0x29,0x96,0x7b,0x29,0xa0,0x59,0x00,0x71,0xf1,0x02,0x58,0x42,0xe8,
 0xea,0x6e,0x39,0x74,0x59,0x52,0x4f,0xdb,0x4b,0x71,0x18,0x75,0x01,0x28,0x11,0xa8,
@@ -1345,531 +1345,532 @@ Cache-Control: private, max-age=86400
 0x02,0x3a,0x7f,0xd4,0xd3,0xe1,0x4e,0xc7,0x76,0x66,0xd9,0x59,0xeb,0xa0,0x89,0xdb,
 0x01,0x8c,0x44,0x38,0x59,0x4b,0xca,0x26,0x06,0xfe,0x29,0x75,0x83,0x3a,0xce,0xc9,
 0xe5,0x65,0x0b,0x1c,0x68,0xa9,0x06,0x3e,0x5d,0xe4,0x99,0x30,0x82,0xb5,0x25,0x00,
-0xce,0xbe,0xa5,0x1a,0x58,0xc1,0x2c,0x77,0x1d,0x44,0x5e,0xcf,0xd4,0x57,0xc1,0x23,
-0xed,0xab,0x28,0xb7,0x2b,0x15,0x1a,0xbd,0x90,0x32,0xa0,0x76,0x42,0x6f,0x05,0x4a,
-0x32,0xb3,0x90,0x6d,0xd8,0xa7,0x46,0xdd,0x6b,0xe6,0x06,0x4d,0xd6,0x80,0x47,0x09,
-0x99,0xa3,0x58,0x40,0x29,0x1a,0x07,0x98,0x0f,0x2a,0x7b,0x04,0x58,0xe4,0xa5,0x58,
-0x17,0x59,0x2c,0x2e,0x0b,0x3b,0xb2,0xc8,0xa6,0x71,0x19,0x68,0xb1,0xff,0xd2,0xb1,
-0x5c,0x40,0xc9,0x84,0x01,0x1e,0xc3,0x5b,0x60,0x64,0xdf,0x17,0x40,0xe5,0xd0,0x14,
-0x59,0xae,0x3f,0x89,0x73,0x88,0x82,0x05,0x66,0xce,0xf0,0xc0,0xe8,0xca,0x99,0x66,
-0x2e,0xda,0x6f,0x34,0x4a,0x80,0x0a,0xa3,0xcd,0x65,0x00,0x59,0x3e,0xbb,0x60,0xb0,
-0xb2,0x41,0x36,0xfb,0x5c,0xd4,0x9e,0x40,0x64,0x7e,0x94,0x97,0x5c,0xd7,0x6c,0xb4,
-0xef,0x50,0x81,0x47,0x7d,0x79,0x78,0x31,0xfa,0x4b,0xc0,0xe7,0x96,0xc6,0x9a,0x24,
-0x83,0xdc,0xc2,0xc4,0x87,0x94,0x41,0x9c,0x40,0x18,0xb8,0xd4,0xa2,0x64,0xab,0xf5,
-0x76,0x24,0x66,0xb0,0xb2,0x11,0x32,0x48,0xf3,0x01,0x00,0x24,0x64,0x85,0x97,0x18,
-0xa7,0x5c,0x95,0xac,0x4e,0xda,0x20,0xac,0x66,0x05,0xa2,0xca,0xe4,0x13,0x3f,0xe8,
-0x85,0x3f,0x49,0xd5,0x68,0xec,0x4b,0x96,0xe3,0xc9,0x74,0x29,0xcc,0x94,0xe0,0x30,
-0xb3,0x02,0xbc,0x62,0x1d,0x98,0x76,0x4e,0x84,0x27,0x53,0x26,0xec,0xc7,0x2a,0x53,
-0x9a,0x52,0x33,0x63,0xa0,0xec,0xc4,0xcb,0x2b,0xac,0x0d,0x98,0x7d,0xa1,0xa3,0x91,
-0xb6,0x48,0xda,0x24,0xe9,0x9a,0x67,0x7f,0xc3,0x96,0x11,0xb7,0x60,0xe9,0x2b,0xd6,
-0x81,0x71,0x08,0x16,0x3b,0x18,0x0a,0x49,0x98,0x95,0xb2,0x3b,0x2b,0xa6,0x90,0x67,
-0xa1,0x69,0xbe,0xb5,0x3e,0x24,0x4c,0xb6,0x8c,0x7d,0x2b,0x04,0x5d,0xb4,0x42,0x12,
-0xe2,0x6b,0x69,0xee,0x13,0x3d,0xbb,0x19,0x86,0xce,0x1b,0x38,0xec,0xd5,0x6f,0xb7,
-0xcb,0xcc,0xa8,0xda,0x4f,0x34,0x52,0xb6,0x47,0xff,0x16,0xb4,0x6d,0xd8,0x9f,0x96,
-0xac,0x3f,0xc8,0x90,0x22,0x54,0xd4,0xdb,0x20,0x1c,0x90,0xcb,0x0f,0xa2,0x6a,0xbf,
-0x86,0x60,0x2e,0x74,0x6f,0xa1,0x7f,0x7f,0x21,0x54,0xed,0x59,0xda,0x24,0x3d,0x99,
-0x0c,0x8e,0x94,0x4f,0x8c,0x9c,0x75,0xfe,0x3f,0x50,0x55,0x86,0xab,0xe9,0xcf,0x1f,
-0xdd,0xbf,0x47,0x7e,0x07,0xc3,0x11,0x2b,0xe9,0x76,0x52,0x7f,0x0f,0x34,0x98,0x8f,
-0x92,0x64,0xfc,0x50,0xb8,0x7d,0xba,0xd0,0x4e,0xb4,0x62,0x56,0x9b,0xb2,0xe4,0x01,
-0x79,0x0d,0x52,0xed,0x81,0xf7,0x97,0xf7,0xed,0xa7,0x10,0xea,0x4b,0xfa,0x5d,0xdf,
-0x89,0xc2,0x38,0xec,0x25,0x55,0xaa,0xf2,0xf8,0xf1,0x03,0x1c,0x98,0x2e,0x0c,0x03,
-0x5e,0x50,0x12,0x9a,0x8d,0x65,0x60,0x83,0x53,0x56,0x40,0x3e,0x80,0xa3,0x98,0x0e,
-0x44,0xa1,0x34,0x9b,0xb9,0x43,0x5b,0xec,0x43,0xaf,0xd3,0x82,0x26,0x0a,0x16,0x0b,
-0x40,0xe6,0x3b,0x38,0x97,0x2d,0x64,0x50,0xa5,0x49,0x6c,0x34,0x6a,0x50,0x28,0xac,
-0x6e,0xc9,0x33,0x69,0x32,0x55,0x76,0x7a,0x95,0x08,0x3c,0xaf,0x25,0xd9,0x25,0xaf,
-0x0c,0x95,0x16,0x82,0x42,0xf9,0x14,0xdd,0xc6,0x70,0xcd,0xe4,0x35,0xf9,0xc9,0x98,
-0xc4,0x95,0x31,0xfc,0x0b,0x6a,0xf7,0x9b,0x6a,0x87,0xa3,0xc1,0x64,0x40,0x3a,0x5b,
-0x35,0x1e,0xfa,0x8e,0x57,0xaa,0x1b,0x95,0xb5,0x72,0x27,0x3e,0xf4,0x13,0x67,0x40,
-0x72,0x87,0x63,0xc5,0x9e,0x0e,0xc6,0x94,0xf8,0x41,0x3f,0xd6,0xdb,0xf8,0x7a,0x0c,
-0x21,0x19,0xce,0xad,0x92,0xca,0x84,0x2a,0xc7,0x32,0x40,0xc7,0xc6,0x14,0xf6,0x3b,
-0x5c,0x01,0x7a,0x5c,0x12,0x46,0x47,0x7a,0x1b,0x6b,0xf0,0x80,0xba,0x25,0x29,0x62,
-0x12,0x45,0xe0,0x1e,0x34,0x0a,0xc5,0x41,0xe0,0x63,0x51,0xe8,0xd0,0x00,0x79,0xe3,
-0xc3,0xdb,0xa9,0xa8,0x03,0xe6,0x24,0x64,0x1a,0x78,0x51,0xd0,0x13,0xa9,0x97,0xd0,
-0x8d,0x2d,0xe0,0xc6,0x31,0xdf,0x99,0x20,0xa1,0xf0,0x92,0x06,0xfd,0x06,0xbf,0x33,
-0xcb,0x8f,0x50,0x15,0x5f,0x92,0x5e,0x8c,0x7c,0x69,0xc1,0x5a,0x64,0x11,0x2a,0x1b,
-0x18,0x83,0x1d,0x86,0xdf,0x73,0x10,0x60,0x63,0xe4,0x12,0x78,0xc5,0x1a,0xea,0x3f,
-0xc0,0x2e,0xf6,0x73,0x7c,0x89,0xe1,0x2c,0xf0,0x86,0xbc,0xc1,0xfe,0x40,0xc7,0x62,
-0xe5,0xbe,0xdf,0xec,0x49,0xff,0x17,0x36,0x0d,0x35,0x7b,0x52,0x8a,0xdf,0x9c,0xfd,
-0x12,0x0c,0xf1,0xe5,0xf4,0xeb,0xb3,0x9f,0x2f,0xf4,0xc6,0x70,0xff,0x4e,0xb7,0x64,
-0x2b,0x07,0x69,0x71,0x77,0x7c,0xff,0x0d,0x63,0xcf,0x6f,0x18,0x5b,0x52,0x2e,0xed,
-0x9e,0xf6,0x41,0xe8,0xbb,0x5a,0x2d,0x23,0x90,0x6b,0x43,0x0b,0xf6,0xbe,0x9c,0xfd,
-0xb3,0x64,0x2d,0xd7,0xb7,0xb7,0xed,0xf2,0xd5,0xab,0x76,0xca,0x6d,0x33,0x70,0x10,
-0xcd,0x6d,0x10,0x0a,0xdc,0xc9,0xe4,0x76,0x24,0x5f,0x74,0x4e,0x70,0xd5,0x75,0x76,
-0x71,0x0a,0xe6,0xae,0xc7,0xd0,0x9f,0x83,0x3e,0xc8,0x2b,0x81,0x0a,0x1f,0xf6,0x34,
-0xbb,0x0b,0x1f,0x6b,0xdb,0x06,0x63,0xaf,0x75,0xdc,0x6d,0x65,0x6a,0xea,0xb8,0xf0,
-0xc2,0xf2,0x79,0xe0,0x9d,0xeb,0x3d,0x25,0x33,0xbd,0x97,0xeb,0x87,0x47,0xb0,0xe3,
-0xec,0xb8,0xbb,0xbb,0x55,0xdf,0x09,0x0c,0xec,0x32,0xf6,0x6b,0x93,0x4b,0x0e,0x5d,
-0xde,0x81,0xf3,0xd7,0xd4,0xeb,0xb5,0xf1,0x73,0x1d,0x45,0x89,0x9f,0x0c,0x3d,0x33,
-0x5f,0x85,0x73,0x70,0xe4,0x63,0xec,0x79,0xb3,0xb7,0x97,0xdf,0x37,0x60,0x08,0xd6,
-0x28,0x7e,0xe8,0xc1,0xe9,0x1c,0x0f,0xb0,0xbd,0x15,0xd7,0xd3,0xe9,0x23,0x0e,0x03,
-0x36,0xcc,0xe8,0x2b,0x77,0xb1,0xcd,0xab,0x91,0x05,0x57,0xf7,0x08,0xfe,0x5f,0xb5,
-0xeb,0xd2,0xed,0x66,0xae,0x58,0xd5,0xc9,0x9e,0x45,0x28,0x86,0x73,0x18,0x89,0x91,
-0x4c,0xb8,0xe6,0xce,0x2e,0xbc,0x8f,0xf8,0xd1,0x33,0xc5,0x0a,0xd8,0xc6,0x1a,0xf9,
-0x1a,0x55,0xa2,0x85,0x53,0x46,0x7d,0x6f,0x90,0xcb,0x51,0x25,0x9a,0xe4,0x71,0x54,
-0x09,0x48,0x27,0x4f,0xd3,0xc4,0x3a,0x79,0x1d,0x55,0x49,0xa3,0xdc,0x01,0x73,0xb8,
-0x76,0x03,0x3c,0x21,0x53,0x2c,0x0a,0xae,0xfd,0x6b,0x37,0xca,0x2b,0xf0,0x49,0xfd,
-0x9a,0x55,0x79,0x06,0x14,0x48,0x84,0x31,0x20,0x8c,0xd2,0x76,0x36,0xca,0xdd,0x6b,
-0x77,0xae,0x3d,0xbc,0xbb,0xf7,0xf0,0xd6,0xcd,0xb6,0xf8,0xfa,0xf0,0xe1,0xad,0x5b,
-0xf7,0x48,0x62,0xba,0x79,0x41,0xeb,0x37,0xf3,0xad,0x33,0xe0,0xbb,0xb6,0x2e,0x3d,
-0xfe,0xe7,0x4f,0x40,0x02,0xf0,0x2c,0xfe,0x2b,0xa4,0x1f,0x1a,0x52,0x56,0xe9,0x5d,
-0xbb,0x53,0x81,0x05,0xe7,0xf7,0xa7,0x20,0x0a,0x1d,0xaa,0x4c,0x54,0x7b,0xd7,0x1e,
-0x11,0xc1,0x70,0x7e,0x67,0x28,0xa4,0x7e,0xfe,0x13,0xcf,0x4a,0x40,0xce,0xb7,0xef,
-0x18,0xb5,0x0b,0x96,0x67,0x3c,0x0a,0x5d,0x3a,0x13,0xb2,0xf5,0xef,0x75,0xf5,0xeb,
-0x47,0x64,0x2d,0xd4,0xdb,0xfa,0xf5,0x30,0x8c,0x13,0x2d,0x8c,0xb4,0xeb,0x13,0x8a,
-0x09,0xe8,0x77,0xdd,0xea,0x78,0x02,0x52,0xd7,0xbd,0xe7,0x30,0x90,0x8d,0xfc,0x80,
-0x0d,0x83,0xb0,0x5b,0xaa,0xfc,0x00,0x76,0x76,0x0b,0x36,0x36,0x63,0x90,0x82,0x3a,
-0x38,0xee,0xa0,0x18,0xb6,0x83,0xc9,0x70,0x68,0xf8,0x69,0x76,0x3c,0x98,0xb0,0x82,
-0xad,0x4a,0x04,0x4d,0x3a,0x46,0x13,0x34,0xfd,0xb4,0x4b,0xc0,0x30,0x86,0x8a,0xce,
-0xd2,0x46,0x33,0x98,0xae,0x2a,0x9b,0x1d,0x08,0xf7,0xf2,0x34,0x2d,0xa6,0x48,0x0f,
-0x44,0x75,0xdc,0x09,0xa1,0xc8,0x8a,0x11,0xec,0xe7,0xcb,0x1e,0xc3,0xed,0xa5,0x0a,
-0x52,0xa6,0xa5,0x8f,0x59,0x66,0xd8,0xf3,0x89,0x85,0xc1,0x7f,0x52,0x36,0xb2,0x22,
-0xbb,0x50,0xe4,0xb1,0xa5,0x45,0x06,0x98,0x14,0x90,0x58,0xd8,0x44,0x12,0x20,0x5b,
-0xaa,0xac,0x46,0x7e,0xb9,0x9e,0x9e,0xbf,0x89,0x78,0x75,0x38,0x76,0xe5,0xfc,0x5e,
-0x32,0x18,0xea,0xe8,0x9f,0xbf,0xbc,0x21,0x69,0x5d,0x45,0xbd,0xa0,0x66,0xbe,0x37,
-0x85,0xcb,0xfa,0x05,0xc4,0x41,0xe3,0x14,0xc6,0x1a,0x30,0xcb,0xf3,0x7b,0x2e,0x80,
-0x31,0xe1,0x7f,0x8b,0xe3,0xed,0x3b,0xee,0xbf,0x50,0x36,0x33,0x84,0x0b,0x26,0xec,
-0xfa,0xe4,0xad,0xc9,0x88,0x12,0x5c,0x11,0x59,0x5d,0x7d,0xfa,0x7f,0xa1,0xcb,0x90,
-0x01,0xfe,0x5b,0x48,0x0d,0xdf,0x91,0xc3,0x1d,0x54,0x3a,0xfd,0x1f,0xc8,0xcc,0x32,
-0x68,0x8b,0x8b,0xfa,0x8b,0xe6,0xdb,0xba,0x60,0xbe,0x51,0x38,0xd7,0x2b,0xb2,0xd0,
-0x6b,0xb1,0x03,0xf4,0x38,0x3f,0x0c,0xea,0x55,0xd4,0xcf,0xf7,0x8a,0x71,0x53,0x0b,
-0xe7,0x72,0xc7,0x28,0x84,0x1b,0xbd,0x38,0x4f,0x64,0xbd,0x4b,0x8f,0x54,0x7f,0xae,
-0xc7,0xc6,0x39,0x3d,0x4a,0x91,0x1a,0xf4,0x7c,0x23,0x0c,0xf7,0x7d,0x58,0xad,0x03,
-0x2f,0x41,0x8a,0x25,0xcc,0x3d,0x21,0x25,0xbb,0x3a,0xc2,0x82,0x16,0x64,0xa7,0xfe,
-0x80,0x5c,0x6d,0xd7,0x3b,0x80,0xe0,0x5a,0xf1,0xa2,0x28,0x8c,0x74,0x43,0x91,0x54,
-0x03,0xd2,0x13,0xeb,0xc6,0xf7,0xc2,0xc4,0xef,0x1d,0xe1,0xcc,0x43,0x15,0x25,0xba,
-0x16,0xce,0x4c,0x61,0xc0,0x2a,0x1c,0x89,0x35,0xd8,0xc7,0x48,0xd4,0x54,0xce,0x21,
-0xf2,0xc3,0x40,0x5c,0x23,0x87,0xfa,0x37,0x24,0x45,0x92,0x9f,0x81,0x1d,0x4a,0x58,
-0xfc,0xbf,0x55,0x42,0x15,0xbb,0xdb,0xc9,0xbb,0x34,0x7d,0x55,0x05,0xf3,0x39,0xbf,
-0xbb,0x35,0x18,0xcc,0xe0,0xbf,0xc8,0x44,0x15,0x25,0x24,0x43,0xdc,0x4e,0x4f,0x6f,
-0x29,0x41,0xf3,0xe9,0x4d,0x22,0x33,0xb9,0x54,0xb2,0x31,0xb2,0x44,0xa3,0x4b,0x98,
-0x3d,0x08,0xf7,0x16,0x56,0x20,0x81,0xc3,0xe4,0x06,0xac,0xde,0x10,0xb2,0xe1,0x4c,
-0xea,0x08,0xe1,0xc6,0x86,0x80,0xdf,0xf7,0xe8,0x88,0x5d,0x20,0x7f,0x9b,0x16,0x51,
-0x0c,0x01,0x0c,0x7d,0xf8,0x56,0x0b,0x54,0x20,0x2a,0xc6,0xa9,0x9c,0xe4,0x6a,0x7e,
-0xa0,0x41,0x8d,0x82,0x17,0x93,0x03,0xde,0xce,0x17,0x82,0x12,0x9c,0x16,0x90,0x16,
-0x6a,0x9d,0xde,0xb6,0x93,0x44,0xc3,0x3d,0xf8,0x51,0x27,0x49,0xac,0x62,0xd9,0x7a,
-0x4a,0x8a,0xea,0x9f,0x2b,0x45,0x25,0x70,0x1d,0x76,0xfa,0x39,0x8a,0x24,0x01,0xaa,
-0x8a,0xe8,0x30,0x1f,0xba,0x57,0x47,0x2f,0xef,0xf4,0x76,0x0d,0x14,0xbb,0x66,0xae,
-0x79,0xe4,0xad,0x20,0x10,0xab,0x20,0x27,0xf5,0xcb,0xa7,0x98,0xde,0x0c,0x96,0x66,
-0x04,0xa9,0x4b,0x52,0xa3,0xbd,0x98,0x1a,0x8b,0x14,0xe6,0x0c,0x3d,0x2b,0x52,0x34,
-0x86,0x83,0x09,0xee,0x2b,0xfa,0x69,0xe6,0x48,0x21,0x3f,0x18,0xd8,0x5a,0x0d,0xa2,
-0x85,0xd3,0x6c,0x5d,0xd9,0x66,0x9a,0x90,0x0b,0x07,0x6b,0x91,0x3a,0x81,0x83,0x30,
-0xf0,0x98,0x91,0xe1,0x30,0xa0,0xd5,0x2d,0xac,0xd3,0x95,0xed,0x41,0xfd,0xea,0xf4,
-0xbf,0x83,0x12,0x3f,0x85,0x90,0x0f,0x02,0x15,0x0e,0xca,0xdf,0x9e,0xfd,0x0a,0x56,
-0x8f,0xd7,0xd3,0x7f,0xda,0x5e,0x45,0xf9,0x36,0xc2,0xfa,0x34,0x76,0x27,0x99,0x58,
-0xee,0xc0,0x1b,0x6a,0xfc,0xb3,0xe2,0x7a,0x3d,0x6b,0x32,0x4c,0xf4,0x79,0x80,0xca,
-0x00,0xfa,0x28,0x49,0xc5,0x57,0xa7,0x7f,0xcf,0x9a,0xc2,0x6f,0xc1,0xec,0xbe,0xdc,
-0x5e,0x45,0x43,0x57,0xb7,0xc7,0x1a,0xef,0x76,0x53,0x27,0x92,0xab,0xc0,0xb4,0xd4,
-0x0f,0xda,0x9a,0x83,0x91,0x79,0x51,0x07,0x15,0xfe,0x1b,0x86,0xf1,0x9d,0xd8,0x09,
-0x1a,0xb6,0xcb,0x67,0xd8,0x30,0x60,0x92,0x6c,0xcc,0x79,0x89,0x2f,0x78,0x4c,0xab,
-0xdb,0xab,0xe3,0xab,0xa2,0xb1,0x2b,0xf9,0x9d,0x30,0x83,0x9e,0x54,0x5b,0xe5,0xa3,
-0x0c,0x76,0xef,0xf3,0xf4,0xc8,0xce,0x25,0xf7,0x4d,0x1a,0x22,0x69,0x89,0x6d,0xa1,
-0x88,0xd9,0x21,0xe2,0xc6,0xa6,0x52,0x69,0x29,0xf9,0xcf,0x53,0x2f,0xe9,0x00,0xef,
-0x95,0xf2,0x74,0xe7,0xee,0xae,0x38,0x79,0xee,0x69,0xef,0x38,0x05,0x5a,0x75,0x77,
-0x69,0xf3,0x2d,0xde,0x63,0x62,0x14,0xf1,0xe9,0x1f,0x4a,0x38,0x39,0x1e,0x12,0x60,
-0x25,0x1e,0x60,0x23,0x5f,0x1e,0x65,0xd6,0x76,0x1e,0xab,0xf9,0x01,0xe6,0x18,0x09,
-0xc5,0x3f,0x58,0x2b,0x66,0xdd,0xc8,0x78,0x54,0xae,0xd3,0x71,0xe4,0x1d,0xbc,0x5b,
-0xa7,0x88,0xc5,0x65,0xc6,0x5a,0x39,0xaf,0x49,0xf4,0xf3,0xf1,0x83,0x47,0xdc,0x68,
-0x9e,0x1d,0x4e,0xc6,0xf1,0x9e,0x24,0x8e,0x3f,0x71,0x96,0x48,0x33,0xf9,0xfe,0x1c,
-0x51,0xef,0x51,0xdc,0x33,0x45,0x0b,0x64,0xed,0x81,0x05,0x0a,0xf3,0x50,0x37,0x27,
-0xf9,0xcd,0xb3,0xce,0xf2,0x4a,0xb1,0x0a,0x05,0xa7,0xb6,0xe7,0xc1,0x16,0x40,0x09,
-0xa6,0x5b,0xac,0xed,0xbb,0x7f,0x0a,0x6c,0x97,0xc6,0x3c,0xc3,0x5b,0xfe,0x83,0xf5,
-0x5e,0x2d,0xb0,0xde,0x05,0x28,0xba,0x3c,0x2f,0x49,0xd9,0x6f,0xae,0x95,0x73,0xf6,
-0xe9,0xbb,0xb1,0xe0,0x8c,0xd8,0x94,0xfc,0x20,0x38,0x70,0x96,0x4f,0xa2,0x01,0x88,
-0xb0,0xc0,0x83,0x17,0xee,0x0e,0xc0,0xf1,0xbe,0xc8,0xef,0x8e,0x79,0x66,0x5d,0xd8,
-0x1d,0xa8,0xc2,0xbb,0x63,0x1e,0x2c,0xbf,0x3b,0x24,0xd4,0x0f,0xc2,0xe6,0x73,0xf8,
-0x63,0xb1,0x2e,0x95,0x11,0x72,0x5c,0x97,0x58,0xbd,0xe2,0x91,0xd2,0x99,0x23,0xc2,
-0xe2,0x2f,0x3a,0x20,0xdf,0x99,0xdb,0xab,0x1e,0xc8,0xa4,0xac,0xcc,0x45,0x1a,0x31,
-0x7c,0x55,0x70,0xe9,0xae,0x67,0x78,0xbe,0xaa,0x5f,0x68,0x78,0x92,0xf4,0x36,0xf7,
-0x5c,0xcf,0x81,0x21,0x80,0x6c,0x52,0xea,0x1c,0xb6,0x29,0x60,0xca,0xc1,0xf5,0x0f,
-0x71,0x20,0xa7,0x17,0x22,0x88,0x08,0x1c,0x44,0xd9,0x40,0x5b,0x88,0x6e,0xa0,0xce,
-0xb5,0xa4,0x04,0x15,0xd9,0xb9,0x5a,0x6f,0x6c,0x74,0xf1,0xb3,0xd6,0x68,0xe1,0xdc,
-0xc2,0xaf,0x35,0x44,0x8a,0x75,0x1d,0xb3,0x5e,0xab,0xaf,0xb7,0xeb,0xf5,0x1a,0x25,
-0xd9,0x82,0x5c,0xaf,0x35,0x1b,0xf0,0x71,0xaf,0x98,0x8f,0xd8,0xf4,0x57,0xed,0x45,
-0xe1,0xe8,0x86,0x6c,0xab,0xe4,0x54,0x36,0x5b,0x9b,0x30,0xa7,0xa3,0x58,0xf4,0xc0,
-0xad,0x2b,0x13,0x63,0xee,0x5e,0xc3,0x28,0xf6,0x3d,0xc4,0xcc,0xc7,0xb9,0x0b,0x01,
-0xca,0x58,0x1a,0x58,0x07,0x7e,0xdf,0x82,0x0d,0xbc,0x4a,0x31,0x51,0xd7,0xfa,0x90,
-0x8d,0x10,0x1a,0x67,0x41,0xa6,0x45,0x38,0xd0,0xfd,0x1e,0x5c,0x08,0x8f,0x6e,0xdf,
-0xd2,0xd2,0xa0,0xde,0x0a,0x70,0x84,0x7b,0x0f,0x0b,0x6a,0x55,0x47,0x16,0x59,0xe2,
-0x57,0x1f,0x47,0x3e,0x42,0x84,0x92,0xea,0xfb,0xd1,0xc1,0x13,0x4c,0xe5,0x49,0x75,
-0x95,0x43,0x64,0x97,0xea,0xd9,0xe2,0xe0,0xd2,0x84,0x7d,0x87,0x82,0xa3,0xa4,0xc3,
-0xc3,0x8f,0xef,0x86,0xb6,0x8f,0x5b,0x34,0xfe,0xfd,0x47,0x25,0x1c,0xe4,0x99,0x36,
-0x83,0x20,0x78,0xa9,0xad,0x90,0x16,0xbb,0xc8,0xfc,0x2b,0xc2,0xdc,0xce,0x7e,0x01,
-0xa1,0x92,0x64,0x39,0xf6,0xd9,0x50,0x30,0x1a,0x3e,0xa9,0x2e,0xe9,0x40,0x9f,0x41,
-0x23,0xfa,0x3d,0x32,0xde,0x40,0xdb,0x61,0x65,0x03,0xe2,0x37,0x62,0x21,0xb1,0x11,
-0x1d,0xba,0x24,0x02,0x5b,0xff,0x4e,0x6d,0x37,0xaf,0x94,0x40,0x27,0xd0,0xa7,0x7f,
-0xcf,0x96,0xf8,0x2f,0x61,0x91,0xa6,0x40,0x35,0x88,0x94,0xb0,0xe8,0x98,0xa5,0x9e,
-0xdc,0xdd,0x06,0xf9,0x5c,0x6e,0xc2,0x57,0x81,0x7b,0x37,0x66,0xea,0x76,0xa8,0x42,
-0xc1,0xa1,0xa3,0xce,0xee,0xda,0xed,0x3e,0xdd,0x20,0x22,0x88,0x12,0x94,0xfc,0x3d,
-0x7d,0x85,0xd3,0x77,0x21,0x17,0xc3,0xf6,0x99,0x65,0x7c,0x14,0x4e,0x22,0x44,0x89,
-0xca,0x52,0x3f,0x40,0x70,0x14,0x25,0xa9,0x82,0xb8,0x01,0x32,0x30,0xe7,0x1d,0x3e,
-0x30,0x57,0xea,0xd2,0xcd,0xa0,0x94,0x0d,0x4c,0xad,0x3a,0x0e,0xc7,0xa5,0x72,0x17,
-0xf1,0x6c,0x5d,0xbd,0x4d,0x51,0x6d,0x7a,0x67,0x90,0xb7,0x5c,0xfb,0x68,0x15,0xca,
-0x59,0x29,0x1d,0x39,0x0d,0x90,0x94,0x80,0x12,0x34,0x50,0x98,0x5c,0x95,0x9f,0x06,
-0xa6,0x65,0x93,0xc2,0x39,0x6d,0x92,0xe4,0x81,0x24,0x28,0x05,0x8b,0xc2,0x87,0x0a,
-0x81,0x5b,0x83,0x2a,0xec,0xc4,0xb7,0x0e,0xb0,0xee,0x77,0xe0,0x50,0xf1,0x60,0x45,
-0x29,0xe9,0x14,0xfe,0x56,0x08,0x9d,0x2b,0xa2,0xbc,0x0e,0xe1,0x93,0x4d,0xcc,0x87,
-0xbe,0x9b,0x0c,0xb0,0x73,0x8a,0xc5,0xc5,0x15,0x31,0x3d,0x51,0x7c,0x81,0x07,0xfb,
-0x94,0x26,0x11,0x06,0xd4,0xab,0xa9,0xd8,0x00,0xce,0x05,0xdc,0xaf,0x62,0xc7,0x94,
-0xc9,0x21,0x7b,0xc2,0x55,0x25,0x18,0x82,0x2d,0xb2,0xd4,0xbc,0xe9,0x26,0x56,0x61,
-0x9f,0x94,0x91,0x21,0x95,0xae,0x8c,0xdc,0x47,0xf1,0x23,0xeb,0xc0,0xbb,0x1f,0xdd,
-0x87,0x0b,0xed,0x3a,0x70,0x54,0x7e,0x2b,0x44,0x09,0xe6,0x79,0xd8,0xda,0x87,0xb1,
-0x77,0x2c,0x61,0xd9,0xfd,0x86,0xfb,0x64,0x9c,0x27,0x94,0xdf,0x8f,0x1f,0xde,0xa9,
-0x8a,0x3b,0x50,0xc2,0x73,0x87,0x34,0x6e,0x73,0x81,0x4c,0x1d,0xd0,0xe2,0x79,0xb1,
-0xf6,0x50,0xa5,0x3b,0xbd,0x2a,0x47,0xc2,0xe0,0x5e,0x8f,0xc0,0xa6,0xa9,0x1f,0xf8,
-0xb1,0x8f,0xcd,0x84,0x7b,0x3c,0x6d,0x15,0xad,0xd7,0xab,0x52,0x70,0x0e,0x63,0xc6,
-0x35,0xd2,0xd6,0xec,0xd0,0x3d,0x2a,0x68,0xa1,0x3d,0x28,0xc3,0x08,0xb3,0xf3,0x9d,
-0x7d,0x18,0x21,0x8a,0x60,0x02,0xef,0xe2,0x12,0x55,0x0f,0x46,0xfd,0x53,0xc6,0xf5,
-0x38,0x0a,0xfb,0x40,0x5f,0x9c,0xe1,0x1b,0x1c,0xf1,0xc2,0x65,0x4c,0x05,0x79,0x30,
-0x48,0x2c,0x94,0xe7,0xae,0x5a,0xd5,0x24,0x4c,0xac,0xe1,0xfb,0xf5,0x5a,0x0d,0x64,
-0xcf,0xc6,0xd9,0xfc,0xc6,0x9c,0xa1,0x92,0xb7,0xd7,0xa7,0x91,0xcd,0x7a,0x15,0x59,
-0xf9,0xbd,0x9f,0x0c,0x40,0x95,0x18,0x20,0x96,0xb5,0x39,0x17,0xf8,0xa8,0x48,0x22,
-0x9d,0xb6,0x58,0x8d,0xf4,0x5e,0x03,0x0b,0xc2,0xc0,0xb7,0x5d,0x25,0xd7,0x8b,0xd0,
-0x27,0x75,0xc3,0xce,0xa2,0x12,0x67,0x23,0xbf,0x6c,0x52,0xfb,0xd3,0x70,0x6b,0x40,
-0x72,0x78,0x82,0x99,0x86,0xbc,0xc1,0x93,0x3f,0xf1,0x90,0x2d,0xf6,0xc0,0xc8,0x8a,
-0xfa,0x7e,0xf0,0x38,0x1c,0x2b,0x27,0x0b,0x29,0x5c,0xe4,0x84,0xbc,0x87,0x33,0x03,
-0xbc,0x18,0xac,0x39,0xb9,0xee,0xe1,0xb0,0xf1,0x40,0x4e,0x64,0x70,0x7a,0x9e,0x3c,
-0xf2,0xed,0x21,0xd4,0x5e,0x41,0x46,0x1a,0x26,0x05,0xe5,0x2d,0x0d,0x78,0x13,0xd3,
-0x11,0xe1,0xcc,0x2a,0x72,0xae,0x53,0x68,0x33,0xbf,0xa2,0x74,0x85,0x4c,0x6d,0x19,
-0x0d,0xdb,0x9d,0x0d,0x5c,0xf0,0x96,0x62,0xfb,0xa4,0xf2,0x92,0xca,0x26,0x61,0x29,
-0xb7,0xab,0x05,0x3e,0xd1,0x75,0xee,0x56,0x98,0x9c,0x2a,0x5c,0x33,0xea,0xa6,0x18,
-0x19,0x6f,0xc8,0x6d,0x9c,0xbf,0x4c,0x96,0x42,0x15,0x0b,0x08,0x74,0xee,0xe2,0x59,
-0x0a,0x3b,0x53,0x42,0xc0,0x69,0x27,0x64,0xdb,0x13,0x48,0xce,0xf5,0xdc,0x28,0x80,
-0xe0,0x46,0xcd,0x3c,0x48,0xb3,0x00,0xd2,0x5a,0x04,0xd2,0x2a,0x80,0xe0,0xbe,0xcc,
-0x7c,0x2b,0x6b,0x04,0x22,0x0c,0xa9,0x62,0x10,0xc2,0x08,0x4b,0xb9,0xc2,0xd0,0x99,
-0xe6,0x22,0x29,0x72,0xb3,0x01,0xb3,0xe1,0x93,0x87,0x9a,0xc6,0x79,0xa9,0x99,0x88,
-0x0c,0xaa,0xc0,0xa1,0x5d,0x2a,0xbb,0x7f,0x48,0x59,0x32,0x92,0x4b,0x65,0x52,0x92,
-0xb2,0x8b,0xb1,0x6c,0x38,0xcc,0x29,0x83,0xfb,0xcc,0x6e,0xcf,0xa5,0x33,0x48,0x03,
-0xa2,0x24,0x80,0x0c,0xcc,0x52,0x6d,0xca,0xe0,0x27,0x55,0x98,0x05,0xcb,0xa3,0x59,
-0x2a,0x3b,0x74,0x65,0x91,0x88,0x60,0xca,0x55,0x43,0x86,0x2c,0x9a,0x0f,0x02,0xe2,
-0xba,0x32,0x9b,0x80,0x66,0x63,0x97,0xd0,0xb8,0xc8,0x22,0x62,0x57,0xa1,0xa7,0x4b,
-0xf2,0x02,0x43,0x1a,0x76,0xac,0x2e,0x38,0xe0,0xac,0xe0,0x7e,0x21,0x39,0x5c,0x02,
-0x1a,0x2c,0xe5,0x1d,0xa0,0x1b,0x12,0xfa,0x8f,0xcf,0x20,0xce,0xe1,0x04,0xc0,0x4e,
-0x8a,0x01,0x10,0x9e,0x9a,0x33,0x2e,0x75,0xa8,0xc8,0x6d,0x92,0x3f,0x44,0x0c,0x37,
-0xdb,0xde,0xce,0x81,0x56,0x2b,0x93,0x16,0x13,0xde,0xd3,0x04,0x5a,0x3e,0x9f,0xe1,
-0xcc,0x00,0xe6,0xb9,0x8f,0x0a,0x7b,0x4f,0x1b,0xfa,0x09,0xf1,0x35,0x2c,0x5f,0x9a,
-0x91,0xb2,0x3e,0x75,0x52,0xaa,0xe5,0x64,0x48,0x3e,0x04,0x55,0xf0,0x4a,0x5a,0x67,
-0xbe,0x91,0x99,0x21,0x88,0xc9,0x2c,0x6c,0x91,0xb4,0x9b,0x49,0xe2,0xe4,0xf6,0x28,
-0x52,0x34,0x57,0xc8,0x66,0x69,0x3c,0x07,0xed,0x09,0x24,0x29,0x9b,0x5c,0x36,0x39,
-0x60,0x4a,0x52,0xf6,0x4c,0x84,0xaf,0xe8,0x10,0xa7,0x56,0x2e,0x76,0x5c,0x22,0x30,
-0x57,0x19,0x13,0x30,0x68,0xaf,0x3d,0x12,0x71,0xa5,0xc5,0x38,0x37,0x23,0x17,0xaf,
-0x67,0x50,0x37,0x64,0x6d,0xa5,0x50,0x7c,0xf4,0x86,0x8a,0x14,0x45,0x21,0x27,0x84,
-0x82,0x3f,0xc4,0xe3,0x50,0xb0,0xf1,0x16,0x6c,0xb5,0x99,0x40,0xfd,0xce,0xee,0x81,
-0xbc,0xd1,0x13,0xee,0x29,0xf2,0x01,0xca,0x43,0x94,0x05,0x2a,0x49,0x8e,0x74,0x15,
-0xa4,0x7d,0x7c,0x6a,0xe4,0xf3,0x10,0x26,0x30,0xf2,0x96,0x97,0x75,0x19,0x8e,0xbb,
-0xa4,0x82,0x16,0x16,0xc0,0xcc,0x65,0x5d,0xdd,0xda,0x2a,0xcb,0x48,0x61,0x35,0xf6,
-0x9c,0x71,0x37,0x77,0x77,0x82,0xc4,0xfa,0x29,0xdf,0x1f,0x79,0x09,0x0d,0xe0,0x95,
-0x8c,0xdc,0xc2,0x65,0x59,0x16,0xf4,0x49,0x2b,0x4b,0xfd,0x02,0x6c,0x3a,0xb5,0xca,
-0x50,0x96,0x9c,0x15,0x9d,0xbc,0x14,0xb0,0x7f,0xb2,0x94,0x6c,0xe3,0xca,0x8e,0x88,
-0x29,0xaa,0x19,0x95,0xba,0x54,0x11,0x20,0x02,0x93,0x3f,0x0f,0xd3,0xe5,0x13,0xaf,
-0x43,0xe2,0x0a,0x02,0x4b,0x6e,0xe2,0x2e,0x89,0x4b,0x12,0xf6,0x0a,0x22,0xff,0x66,
-0xef,0x86,0xf0,0x34,0x94,0x3c,0x49,0xb7,0x42,0xe4,0xfd,0x98,0xb9,0x7c,0xe1,0x5d,
-0xcd,0xa3,0x96,0x74,0x4d,0xba,0x5a,0x7f,0xbf,0xd7,0xbb,0x00,0xbd,0x17,0xe3,0xd2,
-0xea,0xc1,0xac,0xbd,0xbc,0x5c,0x40,0x26,0xe7,0x01,0x9b,0xdf,0x13,0x9f,0x6c,0x1d,
-0x87,0x12,0x84,0x7b,0xcc,0xf0,0x23,0xc9,0xc0,0xb8,0x1f,0x02,0xc9,0x64,0x46,0x18,
-0xd3,0xc4,0x7f,0x14,0x2c,0x53,0xb0,0xde,0x87,0x1e,0xde,0x15,0xc8,0xe4,0x1a,0xca,
-0x9a,0x97,0x69,0xb0,0x25,0x27,0xb8,0x3d,0xc7,0x9c,0x21,0xf3,0xab,0x22,0xf2,0x84,
-0x33,0x69,0xe3,0x53,0x24,0x00,0x5d,0x8f,0xc9,0x97,0x72,0x1e,0x15,0x42,0x30,0x96,
-0xdc,0x26,0x5f,0x2c,0x73,0x09,0xa0,0x77,0x28,0xd5,0xf1,0x99,0x16,0xd2,0x7c,0xee,
-0xc2,0x72,0xc4,0x85,0xf8,0x62,0x27,0x22,0x97,0x00,0x70,0x10,0x06,0x14,0x7c,0x98,
-0xef,0x84,0xf3,0xa8,0xb0,0x10,0x2c,0x0b,0x7e,0xc7,0x69,0x2a,0x50,0x01,0x75,0x39,
-0xbe,0x15,0x1f,0xc5,0x77,0x64,0x0c,0x3e,0x41,0xcc,0x84,0xcf,0xa2,0xb2,0xcc,0xa1,
-0x42,0x5a,0xb1,0x74,0x98,0x33,0x9d,0x17,0xca,0x14,0xf0,0x22,0x4c,0x11,0xa0,0xc0,
-0xd6,0xbf,0x4d,0x96,0xa7,0x46,0x05,0x2d,0xc0,0x0b,0xaa,0xac,0xa1,0x6e,0x6f,0xac,
-0x6f,0xc1,0x24,0x03,0x0c,0x40,0x1b,0xc4,0xbc,0xc5,0x71,0x5d,0x74,0x7d,0x71,0x84,
-0x03,0x22,0x8f,0x27,0x15,0x0a,0x87,0x00,0x50,0x18,0xb0,0x3e,0x95,0x29,0x48,0xec,
-0x37,0x3b,0xbf,0x01,0x93,0x45,0x9c,0xf9,0xf6,0xbb,0xf2,0x7e,0x65,0x5b,0x67,0x17,
-0xdb,0x29,0x73,0x37,0x8b,0xe5,0x7b,0x8a,0x33,0xc2,0x73,0x1e,0x54,0x91,0x82,0x82,
-0xd4,0xb3,0x1e,0x94,0x4e,0x43,0x77,0xd2,0x37,0x3e,0x28,0x37,0x8b,0xaf,0x31,0x10,
-0x05,0x43,0x39,0x1c,0x0c,0xa3,0x9e,0xfe,0xa0,0x0c,0x62,0x7d,0x78,0x05,0x84,0x5b,
-0x53,0x11,0x11,0xa2,0x41,0x95,0x42,0x11,0x80,0x68,0x87,0xd0,0xbb,0x20,0xaa,0x0e,
-0xa5,0xf7,0x28,0x03,0xc5,0xe2,0xa9,0x10,0x2a,0x11,0x5f,0x94,0x75,0x5d,0x04,0x98,
-0x70,0xa6,0xfc,0x96,0x0d,0xe1,0xa1,0x91,0x1b,0x70,0x62,0xdd,0x10,0xa1,0xeb,0x46,
-0x1a,0x02,0x60,0xea,0x7f,0xd6,0xeb,0xad,0xd5,0xd6,0x6a,0x70,0x98,0x73,0xd0,0xd4,
-0x5f,0xdd,0xba,0x73,0xe7,0xfe,0x27,0x94,0x5d,0xb3,0xdc,0x16,0xbc,0x8d,0x22,0x9b,
-0x23,0xa8,0x90,0xdb,0x6c,0x3a,0x4e,0x0d,0xc0,0xe4,0xce,0x34,0x72,0xde,0x2f,0x73,
-0x47,0x1f,0xec,0x41,0xc2,0xb1,0x46,0x7b,0xba,0x81,0x4f,0x98,0xc3,0x82,0x44,0x7c,
-0xd2,0x4e,0xe5,0x81,0xeb,0xbb,0x06,0xd1,0xa5,0xf0,0x79,0x98,0x3b,0xc7,0xbe,0xdb,
-0x06,0x24,0x27,0x0f,0x00,0xca,0x06,0x56,0x11,0xde,0xc5,0x6a,0x68,0x5b,0x1a,0x6f,
-0x4f,0x8d,0x3c,0x64,0xef,0x52,0xa0,0x58,0x03,0xb8,0x9a,0xdf,0x01,0xd4,0x49,0x07,
-0x00,0x15,0xf9,0xa2,0xee,0x53,0x38,0x6d,0xca,0x11,0x5c,0x8b,0x61,0xb1,0x76,0x97,
-0xea,0x9c,0x1e,0x80,0xc9,0x5a,0xe4,0x30,0x99,0xc5,0x0d,0x0a,0xc3,0x4a,0x0a,0x9a,
-0x8e,0x51,0x46,0x2c,0xa6,0x38,0x12,0x88,0x96,0xb8,0x9c,0x83,0xda,0x35,0x94,0x29,
-0xd0,0x3c,0xbe,0x16,0xb8,0x11,0x02,0x2b,0xdb,0x4a,0x31,0x05,0xd3,0x96,0x12,0x41,
-0x66,0x8d,0x49,0x4d,0x96,0xca,0xf8,0x28,0x2b,0xad,0xfa,0xf0,0x55,0x5f,0x1f,0x5a,
-0xce,0xfe,0x75,0x44,0x5b,0x1c,0xbd,0x5b,0x1b,0x59,0x3d,0x6e,0x06,0x36,0xc9,0x77,
-0xab,0xef,0x3f,0x18,0xc0,0x0d,0x7e,0xe2,0xe3,0x51,0x11,0xfc,0x08,0x5d,0x6e,0x05,
-0xf6,0xa2,0xc8,0x7a,0xb7,0x76,0xb8,0x8a,0x76,0xd7,0x0f,0x7c,0x6e,0xe1,0x13,0x7e,
-0xfd,0x27,0x7e,0xb7,0x36,0x6e,0xdf,0x12,0x96,0x55,0x6e,0xc1,0x0a,0x16,0x61,0x42,
-0x61,0xbc,0x2a,0x71,0x57,0x42,0x48,0x59,0x9a,0x97,0xe1,0xa2,0x90,0xcd,0x76,0xda,
-0x1c,0x18,0x0f,0xb5,0x00,0x21,0x47,0x8b,0xd8,0xee,0x53,0x03,0x81,0x0c,0xc3,0x23,
-0x3c,0xdb,0x22,0xec,0x0a,0x6c,0xcf,0xe4,0x58,0x17,0x5f,0xdc,0xfa,0xba,0x1e,0x3e,
-0x2f,0xe9,0x0c,0x53,0x51,0x30,0xba,0x71,0x0c,0xf1,0x38,0x86,0x97,0x18,0xd1,0x43,
-0xbf,0x86,0x8c,0x47,0xd7,0x81,0xc9,0xbc,0x8b,0x2b,0x15,0x46,0x7a,0x85,0x38,0x7f,
-0x4f,0x5e,0x8a,0x24,0x14,0x52,0x40,0xaf,0xa5,0xbc,0xa2,0xcb,0xc8,0x67,0xbf,0x20,
-0x33,0x70,0x76,0x71,0xfe,0xd5,0xf4,0x6b,0x71,0xd5,0x76,0xf6,0x9a,0x31,0x02,0x63,
-0x00,0x4a,0x71,0x32,0x5f,0xa1,0xae,0xb8,0x9f,0x8f,0x2b,0xc8,0x30,0x1c,0x7f,0x5e,
-0xd5,0xa6,0xff,0x93,0x1b,0x81,0xd4,0x03,0x21,0x88,0x86,0x20,0x5e,0x0f,0xf8,0x8a,
-0x22,0x05,0xa8,0x3b,0x11,0xaf,0xfd,0x4b,0x12,0x8a,0xe8,0x39,0x81,0x97,0xf4,0xf8,
-0xc0,0x2b,0x25,0x24,0x01,0xba,0x5e,0xa3,0xc7,0x0a,0xe8,0xf5,0x01,0x54,0xa8,0xc2,
-0x66,0xd4,0xe7,0x70,0xd0,0x36,0x31,0x36,0xc1,0xab,0xc8,0x8b,0xad,0xf2,0x9a,0xcd,
-0x26,0x38,0x4d,0x34,0x6c,0xe3,0x10,0xe6,0x77,0x03,0x84,0x6c,0x12,0x0f,0xc2,0xc3,
-0xb6,0x3c,0x94,0x60,0x92,0x51,0xda,0x01,0xae,0x8d,0x42,0x77,0xd9,0x6e,0xc0,0xf6,
-0x29,0x82,0x8b,0xf6,0x38,0xb8,0x68,0x31,0x8a,0x8b,0xe1,0x47,0x17,0x21,0x18,0xb3,
-0x7a,0x79,0xf6,0xc5,0xf4,0x77,0x88,0x1e,0xc2,0x2d,0x73,0x88,0xa6,0xc2,0x9c,0x8e,
-0x09,0xd0,0x35,0x17,0x5a,0x07,0xba,0xd3,0x8d,0x0b,0x32,0x84,0x19,0x3c,0xd9,0x91,
-0x4d,0xc9,0x03,0xf3,0x6d,0xae,0xe9,0x46,0x7e,0x4a,0xbd,0x5e,0x4f,0xc7,0x00,0x6f,
-0xfe,0xd5,0xbd,0xbd,0x4f,0x6e,0x5d,0x37,0xe5,0xef,0x93,0x93,0xe3,0xd3,0x8e,0xfc,
-0xae,0xb2,0xe5,0xd8,0x3c,0x86,0xb4,0xd3,0x4e,0x0d,0x70,0xb3,0x06,0xe5,0x6e,0xca,
-0x08,0xd8,0x6b,0x00,0xa3,0xea,0xb1,0x6b,0xe2,0x15,0x9f,0xa5,0x3a,0x6c,0x04,0xb3,
-0xc0,0xb0,0x92,0xe1,0xb9,0xa3,0xf2,0x69,0xb6,0x5b,0xa4,0xab,0x01,0xa0,0x49,0x62,
-0x39,0x03,0xee,0x11,0x67,0x61,0x40,0x82,0x3c,0xec,0x5f,0x86,0xb0,0x87,0x65,0xdd,
-0x8b,0x74,0xc1,0xa4,0x7d,0xe1,0x08,0x16,0xc0,0x5f,0x30,0x08,0xd7,0x5b,0x38,0x88,
-0x9b,0xf7,0xef,0xc2,0xc5,0x9d,0x4d,0x34,0x65,0x79,0x16,0x2b,0x58,0x92,0x00,0xf8,
-0xec,0xc2,0xa4,0x13,0x18,0x0d,0xbd,0x04,0x4f,0xb7,0xa8,0x4f,0x08,0x6a,0x71,0xe4,
-0x48,0x9b,0x65,0x19,0x10,0xe4,0x05,0xc3,0x39,0x77,0x53,0x04,0xcf,0x30,0x64,0x31,
-0x2b,0x2f,0x98,0x28,0x7d,0x0b,0x9e,0x00,0x7a,0x09,0x4d,0xe8,0xe0,0xc0,0x2e,0x3c,
-0x37,0xd4,0x16,0xee,0x49,0x8c,0x1f,0x44,0x78,0xe7,0x0c,0xde,0x22,0xf8,0x91,0xb8,
-0xb1,0x99,0xbc,0x7c,0x6b,0x90,0x19,0xad,0xc0,0xf1,0x86,0xd7,0x27,0x36,0x82,0x84,
-0x70,0x8d,0x8c,0x1a,0x39,0xa5,0xe8,0x8c,0xc7,0x3c,0xec,0xc2,0x2c,0x71,0x8b,0xe4,
-0x70,0x8f,0x71,0x5d,0x65,0x14,0x40,0x05,0x92,0xfa,0x9b,0x9a,0x9a,0x72,0x6a,0x91,
-0xfb,0xa9,0x1a,0x40,0xf6,0x26,0xcd,0x19,0xe2,0x18,0xe9,0x6e,0x38,0x91,0xa4,0xa5,
-0x14,0x42,0x09,0xf8,0x8d,0xa2,0x2a,0xb1,0x4b,0xcc,0x63,0x70,0x95,0x5c,0x6f,0x74,
-0xc7,0x46,0xbc,0x84,0x25,0x4c,0x3a,0x78,0x0e,0xab,0xa3,0xf4,0xaa,0x34,0xb0,0x9e,
-0x9c,0x6f,0x7d,0xde,0x46,0x37,0xc9,0x4c,0xd0,0x27,0x27,0xc8,0x63,0x08,0x37,0x25,
-0xf6,0xe2,0xf0,0x57,0x79,0xa5,0xd1,0x7a,0xdf,0x79,0x7f,0xbd,0x46,0xff,0xe8,0x6a,
-0x29,0x22,0xca,0xfb,0x30,0x66,0x7f,0x78,0xf7,0xb1,0xf0,0xd5,0x91,0x5b,0x25,0xa5,
-0x66,0x87,0x23,0x08,0x4d,0xb8,0x65,0xa0,0x79,0x7a,0x01,0xb9,0x0f,0x3f,0x7e,0x78,
-0x1b,0x6f,0x10,0xe1,0x05,0x01,0x0c,0x1e,0xc6,0xfe,0x95,0xd2,0xa0,0xab,0x77,0x34,
-0xef,0xf9,0xd8,0x87,0x0a,0x09,0xa8,0x01,0x1e,0x59,0x40,0xae,0x4b,0xb9,0x74,0xf7,
-0x05,0x59,0x10,0x48,0x28,0xcb,0xa3,0x2c,0xc4,0xc7,0x5b,0x7e,0x40,0xad,0x89,0x4c,
-0x44,0x22,0x77,0x60,0xbc,0x45,0xf0,0x9c,0x87,0x28,0x4f,0x1d,0x24,0x0d,0x5c,0xe7,
-0xe6,0x9d,0xf3,0x55,0x16,0x5e,0x55,0xe3,0x81,0x49,0x37,0xd2,0x6a,0xe7,0x49,0xbc,
-0xda,0xc7,0xb0,0x11,0x13,0x47,0x81,0x16,0x7c,0x93,0x00,0xa6,0x65,0xdb,0xa4,0x94,
-0x21,0x5e,0xb7,0x50,0x9e,0x41,0x9e,0x4b,0x59,0xa9,0xe9,0xc2,0x25,0x5a,0x9c,0x93,
-0xd4,0xaa,0x95,0x33,0x74,0xa5,0x0e,0x5b,0x90,0x78,0x28,0xae,0x9c,0x3e,0x12,0x44,
-0x21,0xc8,0xb8,0x09,0xe4,0x0d,0x73,0x43,0x15,0xd7,0xa0,0x40,0x12,0x62,0x05,0xc9,
-0x4f,0x05,0x8a,0xc0,0x92,0x2c,0x46,0x67,0xc9,0xce,0xa1,0xc8,0x16,0xd8,0x70,0x0a,
-0x28,0x72,0x38,0x33,0x87,0xdd,0xc7,0x83,0x89,0xa1,0xd5,0xea,0x95,0x3f,0xb7,0x82,
-0xca,0x46,0x4d,0xab,0xd5,0xda,0xf4,0xaf,0xae,0x61,0xf1,0x80,0xb9,0x8c,0x84,0x3e,
-0x4e,0xfc,0x21,0x28,0x5d,0x51,0x14,0x25,0xc1,0xa6,0x26,0xfc,0x3a,0x5d,0x61,0xc0,
-0xd2,0xe0,0xce,0xc6,0x06,0x36,0x34,0xd8,0x78,0x7a,0x6e,0x60,0xc5,0xf7,0x0f,0x03,
-0xda,0x34,0x30,0xdf,0x1f,0xc1,0x97,0xb6,0xbc,0xbc,0x44,0x56,0x07,0xcc,0x84,0x7e,
-0x99,0xe4,0xad,0xc7,0x3a,0xbd,0x97,0x6b,0x29,0xdd,0xf1,0xe9,0x54,0x31,0x79,0xb9,
-0xa3,0xd5,0x3b,0x84,0x19,0x33,0xad,0x3e,0xb6,0xec,0x9c,0xf7,0x05,0x4b,0xac,0x9e,
-0x28,0xb4,0x40,0x51,0xc7,0x6c,0x09,0x80,0x8c,0x24,0xd0,0x18,0x63,0xab,0x64,0x09,
-0x61,0xaa,0xb1,0xd9,0xa7,0x80,0x88,0x13,0xd7,0x43,0x69,0x2e,0x75,0x72,0xa2,0x9a,
-0x82,0xdc,0xa5,0xec,0x3a,0xc1,0x9e,0x45,0xd7,0xcb,0xb0,0x23,0x00,0x1c,0x66,0xa9,
-0x73,0x80,0x21,0xb9,0x24,0x02,0x90,0xbe,0x66,0x80,0x48,0xa7,0x1c,0xee,0x90,0x97,
-0x64,0x97,0xfd,0x70,0xe0,0x30,0x04,0x55,0xa2,0x9c,0xf2,0x69,0xca,0x8b,0x00,0x64,
-0xa2,0x7f,0x62,0x65,0x21,0x1c,0x45,0xe4,0x7b,0x39,0x96,0xf1,0xa1,0x1c,0xa1,0x8e,
-0x22,0x3c,0x79,0x98,0x8f,0x4b,0xe4,0xbb,0x6a,0xea,0x94,0xa9,0xd2,0x8a,0xc1,0x9f,
-0xad,0x16,0x90,0x79,0x0c,0xc8,0x5f,0xa5,0x05,0x66,0x40,0xef,0x2a,0x83,0x10,0x0a,
-0x47,0x89,0x5c,0xe2,0x92,0x6b,0x10,0xf7,0x98,0x8c,0xb3,0x15,0x92,0x0b,0xcd,0x37,
-0x4d,0xc8,0x65,0xe8,0xd2,0x2a,0x5f,0x8f,0xc2,0x43,0x28,0xde,0x8f,0x26,0x63,0xb2,
-0x9e,0x63,0xe3,0xa7,0x71,0x01,0x14,0x5d,0x0a,0xff,0x7f,0xd4,0xe7,0x47,0x25,0x63,
-0x44,0x3e,0x75,0x28,0xae,0xd4,0xa9,0x3a,0x71,0x4c,0xe6,0x6a,0x76,0x68,0x3c,0x22,
-0x3f,0xe8,0xa3,0x81,0x07,0x32,0xe7,0x02,0x38,0xfe,0x00,0x68,0x3a,0xf0,0x36,0xe1,
-0x60,0x93,0x4e,0x48,0x63,0xde,0xa1,0xaa,0x82,0x0f,0x2c,0x74,0xe2,0xed,0x58,0xbb,
-0x1d,0x0b,0x4d,0x93,0x7b,0xd7,0x2d,0x51,0x92,0x42,0x77,0xe1,0x0e,0x9b,0x1d,0x5e,
-0x7e,0x2e,0x12,0xcf,0xe7,0x10,0xdb,0xf2,0xf2,0x82,0x82,0xf8,0xfa,0xd1,0x63,0xab,
-0x4f,0x0f,0x82,0xc0,0xb6,0x37,0x41,0x94,0x40,0xcf,0x0f,0xf0,0x08,0x5d,0x6a,0xde,
-0x4b,0x19,0x41,0x7e,0xbf,0xce,0x9e,0xcf,0x27,0x27,0x69,0xcb,0xb9,0xf3,0x58,0x05,
-0x0a,0x40,0x87,0xcd,0x1f,0x83,0xf2,0x4a,0xe4,0xdc,0xdb,0x85,0x46,0x60,0x84,0xb8,
-0x7e,0x48,0x74,0xe4,0xec,0x1a,0x63,0x7c,0xf2,0xe9,0x62,0xc7,0xd8,0x69,0xc6,0x33,
-0x1c,0x86,0x48,0xc2,0x91,0x9a,0x84,0x1f,0x59,0xb8,0x85,0xa1,0xcc,0x1e,0xe5,0xce,
-0x48,0x14,0xf1,0x01,0xf7,0x01,0xe2,0x29,0xfe,0x62,0x82,0x4b,0x0f,0x92,0x67,0xa3,
-0x66,0x98,0xdb,0x25,0x98,0xc3,0x90,0xba,0x20,0xb5,0x54,0xd0,0x0a,0xda,0xa6,0xeb,
-0x42,0xa3,0xee,0xa8,0x3d,0xec,0x0e,0x99,0x06,0x53,0x0b,0x63,0x44,0xeb,0x60,0x8e,
-0x77,0xa2,0xdd,0x4e,0x84,0x95,0x00,0x75,0xf4,0x29,0x2c,0x04,0x9c,0x1b,0x1e,0xb3,
-0xd9,0xf1,0xe0,0x3a,0x44,0x20,0xf2,0x78,0x78,0x48,0x7a,0x44,0x4a,0x83,0xe5,0xe5,
-0x67,0xa6,0xd9,0x43,0xc7,0x38,0x7f,0x90,0x45,0xc1,0xc3,0x70,0xdc,0x53,0x00,0x01,
-0x2e,0x33,0x61,0x4f,0x47,0x47,0xc7,0x03,0xd4,0x7b,0xaf,0x04,0xd7,0x1f,0x04,0x68,
-0x84,0x5c,0xc4,0xd8,0xa1,0x4f,0xc1,0xa5,0x9e,0x9a,0x00,0x41,0x7d,0x8b,0xda,0xb9,
-0x01,0x4b,0x75,0x5c,0xc2,0xc3,0x72,0xbc,0x65,0x3d,0xd0,0x35,0x3d,0x11,0x95,0x2b,
-0xc2,0x53,0x87,0xa2,0xe8,0x01,0xc2,0x6c,0xf9,0xf9,0x28,0xd8,0xc1,0xc4,0xcd,0x47,
-0x73,0x9f,0x5a,0x12,0xc4,0x87,0x16,0xd8,0x84,0x91,0xf7,0xf9,0x19,0xe0,0x2d,0x92,
-0x72,0x52,0x2e,0x81,0x45,0xc2,0x75,0x4e,0x88,0xa9,0x37,0xc8,0x81,0xec,0xb9,0x25,
-0xc7,0xa0,0xfb,0x6c,0x78,0x90,0xb4,0x0f,0xf9,0xaa,0x7c,0xea,0x63,0x46,0xe4,0x17,
-0x80,0x7b,0x58,0x4c,0xc7,0x2f,0x13,0x47,0x17,0x53,0xc1,0x77,0xb7,0xb4,0xbf,0xbc,
-0xbc,0x8f,0x70,0x76,0x00,0x62,0x4f,0x81,0x21,0xdd,0x10,0x83,0x41,0x43,0xfb,0x24,
-0x7f,0x80,0x84,0x16,0xcd,0x29,0x5f,0x32,0x33,0x25,0xac,0xa4,0x9a,0x90,0x5f,0x6e,
-0x2f,0xa1,0xfd,0xa7,0xe8,0x31,0xd7,0x52,0x6e,0x34,0x4f,0x71,0x85,0x31,0x87,0xa9,
-0x7c,0xab,0x04,0x95,0x15,0x0b,0x6c,0xe5,0x9a,0x46,0x51,0x48,0xcc,0x90,0xb9,0x97,
-0x38,0x75,0x89,0x89,0x64,0xbb,0x0c,0xc8,0x62,0x27,0x3f,0x09,0x1d,0x8c,0x00,0x9b,
-0x5f,0x7d,0x5d,0xf2,0xca,0xc9,0x00,0x7c,0x43,0xa3,0x0d,0x7b,0x8b,0xee,0x04,0x94,
-0xf4,0x7b,0xa1,0x06,0x7b,0x0a,0x5d,0x5d,0xd7,0x38,0x9a,0x06,0xfe,0x5d,0x2d,0x41,
-0x63,0x5e,0xa2,0xe1,0x8a,0x61,0x0f,0xcf,0x6c,0xb8,0x08,0xf4,0x20,0xb6,0x43,0x31,
-0x45,0xd9,0xc9,0x80,0x3d,0xc9,0xb8,0xa1,0x5d,0x09,0x8f,0x86,0x65,0x43,0x45,0xc6,
-0x65,0x1c,0x7d,0x82,0x57,0x65,0x40,0x58,0xf9,0x77,0xa8,0x16,0x76,0x2a,0x6b,0x68,
-0xb0,0xc3,0x7a,0xa2,0x1b,0x0a,0x33,0x86,0xc3,0x5c,0xf6,0x4e,0x9d,0x2a,0x56,0x01,
-0x51,0x00,0xfe,0xb6,0x42,0xdf,0x92,0x1f,0x40,0x8b,0x23,0xb1,0x23,0x47,0x04,0x19,
-0x12,0x1c,0x7a,0x7a,0x54,0x0a,0x5c,0x66,0x4f,0x50,0x80,0x87,0x9d,0x21,0xb6,0x2f,
-0xb8,0xe2,0x20,0x7f,0xfa,0x80,0x66,0x08,0x1c,0x17,0x84,0xf3,0x84,0xd0,0x83,0x6b,
-0x5f,0x2e,0x68,0x81,0x20,0xc4,0x66,0x28,0xac,0x5f,0x87,0xb6,0xc9,0xcc,0x4a,0x03,
-0x11,0x05,0x8a,0x97,0xbb,0xc7,0xa7,0x73,0x72,0x66,0x1d,0x72,0x53,0xd0,0x20,0xc6,
-0x5e,0x49,0x34,0x30,0x39,0x97,0x43,0xd1,0x35,0x6c,0xab,0xd0,0xf1,0x71,0x06,0xba,
-0x70,0x5b,0x25,0x03,0xc2,0x50,0x55,0x63,0xbb,0x15,0x7d,0x6a,0xb4,0x85,0x35,0x4b,
-0x01,0xfb,0xb4,0x5e,0xea,0x34,0x4b,0x47,0x8f,0x68,0x96,0x41,0x81,0xc9,0xd0,0x45,
-0x68,0xa5,0xd4,0xf5,0x68,0xc5,0x28,0x92,0x25,0x3d,0x6c,0x15,0x36,0x48,0x28,0xb5,
-0xa5,0x80,0x0c,0x3e,0xe5,0xcc,0x88,0xf7,0x24,0x6f,0x42,0x56,0x37,0x72,0x28,0xcb,
-0xf0,0x4f,0x4a,0x0e,0x93,0xa1,0x2b,0x48,0x50,0xac,0x00,0x5a,0x91,0x7b,0xb2,0x8c,
-0x43,0x4f,0x86,0x04,0x30,0xe3,0xc0,0x2b,0x96,0xc5,0xed,0x90,0x2f,0x4c,0xb9,0x8a,
-0xd8,0x0c,0xa7,0xe2,0xfe,0x8a,0xe0,0x8f,0x59,0x97,0x08,0x0d,0x20,0xba,0x47,0xf8,
-0x0b,0x3a,0x71,0x88,0x62,0xe0,0x83,0x3b,0xdc,0x7b,0x0c,0x7a,0x16,0x34,0xec,0x91,
-0x06,0x87,0x8b,0xa6,0xe2,0xba,0x84,0x81,0x4c,0x75,0xa0,0xd1,0xa9,0xe9,0xaa,0xb3,
-0x92,0xe5,0x4f,0x4a,0xcd,0xcb,0x9f,0x6d,0x38,0xcd,0x14,0x5d,0x72,0x48,0x1e,0xe4,
-0x4f,0xa0,0x48,0x38,0x73,0x16,0x8a,0x9d,0x6a,0x2d,0x84,0xd8,0x99,0x62,0x3d,0x37,
-0x6a,0x30,0x2d,0x81,0x28,0x8c,0x9a,0xf9,0xf6,0xa2,0xa1,0x83,0x94,0x11,0x65,0xb4,
-0x68,0xe8,0x7d,0x1e,0x7a,0x7f,0xb7,0xd3,0x17,0x27,0x00,0xed,0x3d,0x77,0xa7,0x8f,
-0xd0,0x4f,0x19,0x50,0x07,0xb1,0x99,0x86,0x7d,0x4c,0x99,0xa4,0x0f,0xb4,0x49,0x03,
-0xc5,0x1d,0x95,0xea,0xd3,0xd0,0xc7,0xad,0x7c,0x42,0x03,0xdf,0x4f,0x3f,0xf5,0xc0,
-0xd2,0x3d,0xda,0x2b,0x06,0x3f,0x52,0x46,0x70,0x32,0xd8,0x03,0x6b,0x26,0xea,0xe1,
-0xb1,0x63,0x4c,0x21,0x43,0x2b,0x76,0x0d,0x5f,0xe9,0xa3,0x87,0x71,0x4e,0x71,0xfa,
-0xbf,0x4d,0x32,0xca,0x49,0x3a,0x96,0x81,0xa3,0xc5,0x1f,0xe5,0x10,0xc1,0x91,0x32,
-0x32,0xec,0x30,0x95,0xbe,0xaa,0x04,0xa4,0x70,0x0e,0xe5,0x0c,0xa9,0x92,0xd2,0xd5,
-0x56,0x7f,0xfa,0x24,0x5e,0x39,0xc1,0xff,0xf7,0x56,0xfb,0x8a,0x5d,0x10,0x55,0xe1,
-0xb1,0x64,0xdc,0xd7,0xb7,0x0d,0x56,0x4a,0xc4,0xf5,0x44,0xff,0x85,0x27,0x5a,0xce,
-0xfa,0x53,0x6c,0xd2,0x5c,0x7d,0x12,0xa3,0x8d,0x7c,0x13,0xdc,0x8b,0x5d,0x4e,0x9b,
-0xa2,0x97,0x5f,0x89,0xd3,0xa8,0x63,0x2e,0x6b,0x84,0x8e,0x1c,0xc1,0x6d,0x59,0x79,
-0x7b,0xe8,0xf5,0x6f,0x3d,0x1f,0x97,0xf4,0x27,0x4f,0x6c,0x60,0x6f,0x85,0x7f,0x1b,
-0x7a,0xe1,0x89,0x52,0xf2,0xf0,0xe1,0x4c,0xe0,0x2b,0x27,0xc4,0x3e,0x53,0x19,0x44,
-0x9d,0x37,0x59,0xe3,0xbc,0x87,0x72,0x27,0x28,0xa5,0xb1,0x46,0xf9,0x20,0x20,0x89,
-0x91,0x5c,0x16,0x6e,0x17,0xea,0x88,0xf9,0xc5,0x68,0x73,0x3b,0x68,0xa6,0xcd,0x1c,
-0x38,0x76,0xe7,0x0c,0x86,0xf2,0xed,0xcf,0x60,0x40,0x9c,0x36,0x52,0x3b,0xc8,0x9f,
-0x01,0x59,0xfb,0xd2,0xec,0xc1,0x27,0x06,0x02,0x4c,0x53,0xfb,0x06,0xb8,0x47,0x81,
-0x85,0xa7,0xc7,0x87,0x5a,0xdb,0xf3,0xca,0x49,0x35,0x87,0xd2,0x8d,0xa7,0xaf,0xdf,
-0xcf,0x5c,0xab,0xf2,0xee,0x35,0x9d,0x64,0x05,0x94,0x83,0x4c,0x09,0xf5,0x8c,0x72,
-0x48,0x40,0x33,0x6d,0xaa,0x63,0xc3,0xa6,0x5b,0xda,0xb8,0x84,0x85,0x0d,0xc1,0xbb,
-0x46,0xbe,0xe5,0x47,0xe9,0xdc,0xba,0x90,0x58,0xc0,0x37,0x5c,0x29,0x3f,0x3b,0x8e,
-0x58,0xcd,0x5d,0x24,0xca,0x15,0x70,0x50,0x3e,0xc6,0x98,0x11,0x94,0x29,0x2d,0x28,
-0x4a,0x16,0xec,0xc8,0x83,0x99,0x4e,0x54,0xba,0xd2,0x6f,0x45,0x0e,0xe4,0x27,0xf5,
-0x95,0x6e,0x59,0x0a,0x7a,0x45,0x10,0xf0,0xb1,0x03,0x6d,0x46,0x00,0xa9,0x37,0x28,
-0xe0,0x06,0x12,0xdc,0x6b,0x39,0xc7,0xbd,0x3c,0x4c,0xc6,0xd9,0xf1,0x76,0x3b,0x9e,
-0x60,0x01,0x90,0xe0,0x90,0x52,0x90,0x26,0x3c,0x1e,0x2e,0x8e,0x50,0xbe,0xb8,0xe7,
-0xee,0xd4,0x77,0x15,0xc6,0xe9,0x5b,0xb2,0x27,0x5d,0xe7,0x69,0xa5,0xc2,0x6b,0x6e,
-0x2e,0x78,0x81,0x30,0x6f,0x0b,0x2a,0xcc,0x84,0xe2,0x76,0x29,0x1c,0x10,0x0a,0x0e,
-0xd4,0x28,0x15,0xc0,0xfb,0x67,0xd4,0xa1,0x49,0x73,0x70,0xba,0x8a,0x37,0xd6,0x40,
-0xba,0xed,0xf4,0x31,0x02,0x97,0x7b,0xfb,0x08,0x27,0xd7,0xa5,0x3b,0x82,0x5f,0x5d,
-0x32,0x5e,0xde,0x10,0xc0,0x1a,0x8c,0x04,0xe2,0x33,0xc5,0x0d,0x59,0x63,0x8c,0x19,
-0x05,0x27,0xd7,0x41,0xb6,0x55,0x6d,0x7a,0xe5,0xab,0xde,0xbd,0xa2,0x6b,0x23,0xcf,
-0xf5,0x2d,0xc4,0xb3,0xb0,0xdf,0x4d,0xd7,0x56,0xaf,0x3e,0x09,0xae,0xb4,0xaf,0xe8,
-0xfc,0xbb,0x93,0xaa,0x0c,0xdc,0x66,0xe9,0xca,0x93,0x60,0x1b,0x11,0x70,0xfb,0x1a,
-0x5e,0x5a,0x44,0x15,0xd2,0xa1,0x62,0xd2,0xa1,0xf0,0x4a,0x21,0x70,0x60,0xea,0x57,
-0xf0,0xb4,0x23,0x59,0xf6,0xb2,0x11,0x3c,0x9c,0x0c,0xbd,0x0b,0x07,0x30,0xd3,0xff,
-0xd5,0x2b,0x6d,0xfd,0xaa,0xbe,0xa8,0x5f,0xee,0x4d,0xcb,0x42,0x01,0x57,0xa1,0xce,
-0xa1,0x43,0x87,0x5e,0x93,0xdc,0x5e,0xe5,0xd2,0xab,0xf3,0x2c,0x18,0x27,0xa2,0x92,
-0x97,0x35,0x9b,0x14,0xf4,0x34,0x45,0xcf,0xc6,0xa7,0x09,0x5b,0xc5,0x45,0x2b,0x0c,
-0x9f,0x9c,0xd8,0xdd,0x12,0xec,0xc1,0x31,0xcc,0xbd,0xd5,0x43,0x2b,0x0a,0x48,0xc1,
-0xa1,0x97,0x27,0xf2,0x41,0xd5,0xd4,0x84,0xac,0xf0,0xb4,0x6b,0x43,0x73,0xf5,0x0c,
-0x92,0x7a,0xeb,0xa7,0x44,0xe3,0x74,0xea,0x1f,0x7a,0xf6,0xbe,0x9f,0xc8,0x67,0x64,
-0xae,0x05,0x3e,0x24,0x4c,0xd8,0xf1,0xf8,0xcf,0x08,0xb0,0x14,0x20,0xff,0x92,0xc0,
-0x4c,0x49,0xcf,0x14,0x8b,0x21,0x9d,0xa0,0xe6,0xc6,0xfa,0x26,0x3d,0xd4,0x03,0xbb,
-0x60,0xdf,0x5c,0x2a,0xb9,0x78,0x79,0x93,0x0c,0x5f,0xd0,0xcf,0xbd,0x08,0xa7,0x37,
-0x82,0xf1,0x1c,0xaf,0xbb,0x54,0x6f,0x2f,0xd5,0x28,0x48,0x19,0x87,0x13,0xd9,0xca,
-0xe0,0xed,0xd2,0xfc,0x58,0xb3,0x3d,0x92,0x67,0x61,0x82,0x70,0x21,0x44,0x69,0x96,
-0x86,0x37,0x73,0x62,0x3c,0x1c,0xe1,0x4f,0x48,0xe6,0xc4,0x93,0x2b,0xfc,0x67,0x0d,
-0x8a,0xdd,0x6b,0x2e,0x0a,0x93,0x10,0xc0,0xf6,0xa4,0xcf,0xf2,0x16,0xe4,0x52,0x78,
-0x1f,0xb4,0x75,0x64,0x20,0x76,0x1b,0x42,0x2e,0xb4,0x9e,0xe5,0x65,0xe8,0x4b,0x03,
-0x45,0x90,0x40,0x44,0x16,0xcd,0x48,0x7f,0xb8,0xe1,0xb8,0x70,0x6b,0x2d,0xff,0x87,
-0x1c,0x72,0x7f,0x8a,0x80,0xec,0x7c,0x60,0xbd,0x87,0x38,0x32,0x1d,0x93,0xdf,0xa0,
-0x18,0x59,0xcf,0x4b,0xcf,0x56,0xea,0xeb,0xa0,0x53,0xd5,0x74,0x36,0x9f,0xfc,0x93,
-0x76,0x56,0xe9,0x99,0x49,0x84,0xe6,0x54,0x70,0x40,0xa7,0xab,0xd8,0xcb,0xd6,0xe3,
-0x5a,0x14,0x59,0x47,0x99,0x05,0x03,0x7f,0x84,0x60,0x88,0x48,0x0d,0x68,0x3c,0xa6,
-0xb5,0x83,0xb8,0x48,0x9e,0xb7,0xbe,0x12,0xee,0x9e,0x9c,0x58,0x3b,0x81,0x2c,0xcd,
-0x3a,0x00,0x9d,0xc8,0x75,0x15,0x0f,0x8d,0xd0,0x95,0xdf,0x1d,0x7b,0x65,0xbc,0x0b,
-0x7e,0x26,0x9f,0x1e,0x29,0x23,0x75,0x72,0xe2,0x19,0x98,0x7a,0xd7,0x6b,0xef,0xe3,
-0x65,0xd4,0x6c,0x1c,0xfd,0x22,0x69,0xf1,0x21,0xa6,0xe4,0x2c,0xb7,0xe3,0x6c,0x2b,
-0x93,0x5c,0xc7,0x11,0xdc,0x0a,0x6d,0x43,0x9d,0xde,0x25,0x01,0x47,0x7e,0x4a,0x79,
-0x44,0x0e,0xc2,0x65,0x82,0xa2,0x87,0x36,0x14,0x56,0x66,0xa7,0x37,0xb2,0xc6,0xdd,
-0x52,0x00,0x97,0xdc,0x38,0x9b,0x04,0x56,0x41,0xd4,0xdf,0xd1,0x6f,0xb0,0x5d,0x18,
-0x87,0x82,0xf8,0x90,0x04,0xa9,0xef,0x16,0x2b,0x60,0xd6,0xf2,0xd5,0x02,0x0b,0x27,
-0x77,0x48,0xb6,0x0c,0x7a,0xf1,0x1f,0x08,0x13,0x76,0x65,0x81,0x2f,0x3c,0x27,0x84,
-0x07,0x1b,0x60,0x4d,0xe0,0xa9,0xbb,0xed,0x21,0x1e,0x57,0xc8,0xa6,0x4e,0xaf,0x8c,
-0xc8,0x51,0x27,0xc0,0x0b,0x56,0x24,0x2b,0xf3,0xb3,0x32,0x60,0x28,0xcb,0x7f,0x8a,
-0xfc,0x04,0xaf,0xed,0xe2,0xa8,0x5d,0x40,0x8f,0x90,0xdc,0x95,0x61,0xbb,0x48,0xa8,
-0xa6,0x8b,0x67,0xd2,0xce,0xab,0x84,0x8e,0xcf,0xab,0x86,0xbe,0xcb,0x8c,0x50,0xfe,
-0x6b,0x0c,0xb0,0x08,0xec,0x20,0xb2,0xe4,0x05,0x90,0x23,0x76,0x2b,0x5c,0xd2,0xa1,
-0xa9,0x17,0xbb,0x82,0xd7,0xd4,0xd4,0x15,0xd6,0x56,0x42,0x58,0x3a,0x6a,0x46,0x84,
-0x1d,0x88,0x7a,0x32,0xb7,0x08,0x6f,0xc4,0xa2,0x50,0xa0,0x7b,0xa6,0x2c,0x31,0x11,
-0x31,0xb4,0x14,0xab,0x77,0x94,0xd4,0x2e,0x20,0x9b,0xa7,0xdc,0x10,0xa6,0xa2,0xe8,
-0x14,0x61,0x8b,0x6e,0x10,0x60,0x71,0xb0,0x62,0xfc,0xa4,0x92,0x44,0x9c,0xde,0xe6,
-0x94,0xde,0x1e,0x99,0x58,0x87,0xfc,0x9b,0x4b,0x72,0x01,0x51,0x80,0x45,0xc8,0x17,
-0xd0,0x03,0x19,0x07,0xb0,0x5e,0x63,0x0d,0x64,0xb6,0xbc,0xf6,0xdb,0x9e,0xd3,0xd0,
-0xe4,0x4c,0x99,0x7b,0x41,0x2f,0xa3,0xbf,0x85,0x82,0x2d,0x45,0x5c,0x26,0x08,0x13,
-0xb0,0x0b,0x62,0xcd,0x55,0x70,0x60,0xb9,0xfc,0xa3,0x53,0x3d,0xe4,0x27,0xb1,0xb2,
-0xb7,0x73,0xf8,0x76,0xa7,0x5a,0x65,0x6e,0xc7,0xc4,0xf6,0x45,0x7c,0x4b,0x6a,0xd2,
-0x4a,0xbd,0x01,0x42,0x6a,0xe8,0x1e,0x9f,0x4a,0xf9,0x41,0x08,0xbc,0xfc,0xfe,0x0d,
-0xac,0x91,0x38,0x82,0xf7,0xdb,0xc7,0x78,0x34,0xa7,0x7d,0x65,0x3b,0x3e,0x20,0x2e,
-0x45,0xf7,0x19,0xf4,0x46,0x0d,0x07,0x91,0xe7,0xf7,0x07,0xb8,0xe3,0x4e,0xdf,0x07,
-0xbe,0x77,0x08,0x57,0xa7,0xa9,0xc3,0xdc,0xac,0xd5,0x37,0xb6,0x1a,0xfc,0x43,0xd7,
-0x9e,0x8f,0x86,0x01,0xcc,0xfd,0x03,0x3c,0xf1,0xd5,0x5e,0x5d,0x3d,0x3c,0x3c,0xac,
-0x1e,0x36,0xab,0x61,0xd4,0x5f,0xc5,0xb5,0x85,0xda,0x2a,0x1a,0xc4,0x9d,0x67,0x32,
-0xff,0x83,0x87,0xeb,0x77,0xe9,0xc2,0x90,0xb6,0xd6,0x6a,0x1d,0xb4,0x5a,0x9b,0xcf,
-0xd0,0x4c,0xab,0xb2,0xa5,0x35,0x9a,0x49,0xa5,0xd1,0xd4,0xb6,0x06,0x95,0x66,0xa3,
-0xf6,0xac,0x52,0x6f,0x69,0x35,0xa4,0x2b,0x5b,0x49,0x65,0x0b,0xbf,0x0f,0x2a,0xeb,
-0xad,0x67,0x35,0xca,0xa5,0x54,0x42,0x05,0x83,0x46,0xa3,0x75,0x50,0x69,0xae,0x35,
-0x66,0xf3,0x01,0x49,0xb5,0xd1,0xa2,0xb6,0x95,0x50,0xc3,0x2f,0x46,0xad,0xfa,0xba,
-0xa6,0x20,0x37,0x2b,0x1b,0xcd,0x4a,0x63,0x03,0xdd,0xd5,0xb7,0x36,0xf9,0x3f,0x12,
-0x32,0x4f,0xc3,0x17,0x72,0x35,0x2a,0xd9,0x68,0x6a,0x28,0x40,0x0e,0xff,0x92,0xb9,
-0xb9,0x2c,0x02,0x90,0x2d,0x50,0x35,0xc0,0xbe,0x18,0x61,0x48,0x5a,0x0d,0x33,0x6a,
-0xd4,0xb6,0x2a,0xb8,0xf3,0xa4,0x35,0x37,0xd7,0xaa,0x6b,0x98,0xd7,0xc6,0x56,0x75,
-0x0d,0x55,0xf1,0xb3,0xc2,0x59,0x70,0xa7,0x36,0xc5,0x17,0x81,0x89,0x72,0xf9,0x33,
-0x2d,0xc9,0x60,0x64,0x4d,0xd1,0x0a,0xd7,0xcf,0x1a,0x27,0x28,0x51,0x2e,0x7f,0x52,
-0x9a,0x61,0x5e,0xe8,0x50,0xf7,0x87,0x90,0x29,0xae,0xac,0xe4,0x63,0x4e,0x56,0x48,
-0x0e,0xc1,0xe1,0x7e,0xd0,0xbf,0x7a,0x05,0xf1,0x9b,0x78,0x02,0x89,0x9f,0xb6,0x78,
-0x85,0x67,0xe8,0xe1,0x9e,0x26,0xe7,0x30,0x7d,0x88,0xeb,0x4a,0xaf,0xcf,0xbe,0x80,
-0x08,0x57,0x78,0x6e,0xe5,0xc7,0x23,0x91,0x4d,0x2c,0x43,0xa3,0xb5,0x79,0x00,0x9c,
-0x12,0x46,0xd7,0xb1,0x30,0x5a,0x0b,0xc8,0x6c,0xad,0x01,0xed,0x83,0x4a,0x63,0x6d,
-0xfd,0x59,0xa5,0xb1,0x0e,0x2a,0x69,0xad,0xa1,0x88,0x56,0x13,0x5f,0x07,0x15,0x06,
-0xa7,0x02,0x4e,0x27,0x5c,0x38,0x20,0x60,0x82,0x45,0x03,0xc8,0x4f,0xb8,0xa5,0x17,
-0xa3,0x26,0x08,0xaa,0xb6,0xb6,0x3e,0xac,0x34,0x36,0x35,0x08,0x04,0x20,0x3a,0xea,
-0xa6,0x51,0xc3,0x5a,0x89,0x8e,0xf0,0x31,0xdb,0x15,0x56,0x90,0x3a,0x23,0x20,0x74,
-0x47,0x55,0x2b,0xa2,0x2a,0x77,0xb9,0xc1,0xb9,0x49,0xab,0xc5,0x60,0x03,0xa2,0x64,
-0xd1,0x2d,0x32,0xb8,0x63,0x00,0xa0,0xed,0xb9,0xa5,0xc1,0x1b,0x4a,0x0b,0xd7,0xe5,
-0xbf,0xf0,0xa3,0xe3,0x78,0x49,0x91,0x17,0x42,0xa8,0x54,0x3f,0xda,0x0a,0x34,0xb6,
-0xb6,0xb4,0xcd,0x7a,0x73,0x58,0x69,0x35,0x1a,0x1a,0xfe,0x03,0x3f,0x5b,0x02,0xab,
-0x34,0x15,0x81,0x76,0x20,0x60,0xab,0x45,0xff,0xa9,0x50,0xfe,0x03,0xee,0x18,0xf7,
-0x43,0x6c,0x73,0x20,0xb8,0xf1,0x8c,0x4b,0x30,0x6d,0xc2,0x1c,0x2f,0xc0,0xb0,0xde,
-0xda,0xc0,0xae,0xdf,0x00,0xc9,0xae,0x81,0xec,0xd7,0x16,0x41,0xd4,0xc0,0x59,0xb8,
-0x2e,0x3a,0xa3,0x7f,0xb4,0x22,0x72,0xdd,0xea,0xad,0xba,0xb6,0xd9,0xe4,0x6d,0xff,
-0xef,0x76,0x33,0x73,0xa4,0xd8,0x42,0x9a,0xf9,0x0d,0x6e,0xfa,0x7d,0x4a,0x81,0x26,
-0xd8,0xba,0xea,0xc1,0xa5,0x1f,0x8d,0x66,0xd6,0xd7,0x5b,0xda,0xe6,0xd6,0x3a,0x31,
-0xf5,0xb5,0xf5,0xca,0x3a,0x36,0xd4,0xd6,0x26,0xd6,0x0d,0xb9,0x0d,0xac,0x3f,0xfe,
-0x6b,0xf8,0x06,0xbd,0x6c,0x6a,0xeb,0x75,0xfa,0x05,0x10,0xca,0x25,0x08,0xfe,0x4f,
-0xdf,0xa2,0x84,0x96,0x77,0xb3,0xa1,0x6d,0xd2,0x46,0x6b,0xb6,0xc0,0xf2,0x1b,0xeb,
-0xf8,0x6a,0x6c,0xd4,0x9e,0xb5,0xc0,0x3a,0x1b,0xda,0x16,0x38,0x2b,0x98,0x40,0xb2,
-0xd9,0xc4,0x96,0x5a,0xab,0x3d,0x43,0x56,0xab,0x81,0x5e,0x90,0xda,0xc2,0x0f,0xd0,
-0x27,0xf1,0xdc,0x4d,0x7c,0x3e,0xab,0xa0,0xbb,0x0d,0xb4,0xbf,0x56,0x47,0x4e,0x7d,
-0xb3,0x9e,0x54,0xd6,0xa8,0x52,0xa3,0xc1,0x87,0x4f,0xad,0xa5,0xb5,0x68,0xcb,0x83,
-0x97,0xa3,0x5a,0xbd,0x46,0xd5,0xea,0xeb,0x04,0x20,0x7f,0x8a,0x1c,0x2a,0xcd,0x01,
-0x56,0x44,0x1d,0x82,0x03,0x8d,0x73,0x1d,0xfa,0x89,0x49,0x50,0x4d,0x2a,0x04,0xb5,
-0xa2,0x0a,0x4d,0xa3,0x51,0xe7,0x0e,0xc1,0x9a,0x08,0x17,0x34,0x0a,0x4c,0xad,0xfe,
-0x0c,0xfb,0x0a,0x13,0xe1,0x71,0xe2,0x06,0x2c,0xfa,0xa6,0xc1,0x57,0x68,0xf0,0xcf,
-0x9a,0xf5,0x4a,0xab,0x89,0xc1,0x57,0xd6,0x6a,0xc9,0x16,0x46,0x8a,0x1d,0xd2,0x02,
-0x47,0xab,0xe1,0x34,0x23,0x34,0x60,0xdf,0xd4,0x12,0xc2,0x8c,0x06,0xcc,0xbc,0x18,
-0xe1,0x6c,0xac,0x11,0x17,0x3a,0xc0,0x6f,0x60,0x7e,0x0d,0xcd,0x6e,0x6a,0x5b,0x35,
-0x9c,0x9c,0x35,0x1c,0x05,0xf8,0x89,0x34,0xfd,0xdb,0xaa,0xd1,0x31,0x0a,0x90,0xca,
-0x5a,0x43,0x14,0x24,0x5c,0x06,0x58,0x24,0xe9,0xdf,0x56,0xed,0xd2,0xac,0x09,0x7f,
-0x06,0xa4,0x18,0x49,0x8d,0x67,0x62,0x4f,0x39,0x9a,0x52,0xbc,0xbd,0xb5,0x80,0xe4,
-0x9a,0x7f,0x14,0x59,0x62,0xab,0x81,0x29,0x6f,0xac,0x3f,0x5b,0x6b,0x82,0xbf,0x6f,
-0x31,0x52,0xc0,0x65,0x93,0x26,0xb1,0x5a,0x4a,0x1e,0x34,0x37,0xe9,0x00,0x59,0x03,
-0xd5,0xa8,0x2c,0xc2,0x0c,0x21,0x0f,0xe9,0x83,0xfa,0x3a,0xe1,0x6c,0x7d,0xbd,0x42,
-0x2c,0xa9,0x4e,0x52,0x41,0xbd,0xa9,0xb5,0x36,0x06,0x58,0x22,0x3a,0x61,0xd6,0xe9,
-0x84,0x41,0x16,0x8a,0x41,0x52,0x1b,0xf4,0x79,0x50,0xd9,0xa2,0x3a,0x54,0x24,0x32,
-0x12,0x51,0x3e,0xe0,0x1a,0x54,0x81,0x1a,0x42,0x59,0x22,0x9a,0xa4,0x2e,0x5e,0x8c,
-0x30,0x82,0x7a,0x03,0xf2,0xca,0x66,0x0b,0x4d,0x37,0x36,0x71,0x50,0x6d,0x82,0xfc,
-0x20,0xd1,0xb0,0x7c,0x83,0x13,0x85,0x44,0x1a,0xd9,0xa9,0x14,0x7e,0x20,0xbe,0xb0,
-0x60,0x74,0xc0,0xfd,0x81,0x61,0x6a,0x2c,0x26,0xb1,0x94,0xc4,0x7d,0x49,0x31,0x07,
-0x42,0x92,0x90,0x91,0xd0,0xe4,0x00,0x6d,0x5f,0x7a,0x0d,0x7f,0x83,0x93,0xfe,0x77,
-0x58,0x45,0x3c,0x5b,0x43,0x97,0x92,0x3f,0xe5,0x80,0x28,0x8a,0x00,0x13,0x7f,0xd7,
-0x01,0x6f,0x66,0x7e,0x41,0x92,0x80,0x58,0x57,0xba,0x33,0xb1,0x60,0x51,0xff,0x78,
-0x02,0x62,0xbd,0x55,0xdb,0x1c,0x80,0x5e,0x0f,0x08,0x5f,0x03,0xa2,0xdc,0x03,0x9a,
-0xdc,0x88,0x70,0x58,0x01,0x32,0x07,0x24,0x46,0xca,0x42,0xfe,0xe4,0x52,0x80,0x71,
-0x21,0x80,0x64,0x19,0x7d,0x71,0x11,0xea,0xe0,0xdc,0x68,0x1c,0x90,0x34,0xb0,0x40,
-0xa2,0xa8,0x83,0x79,0x2d,0x16,0x29,0x08,0x7e,0x56,0xa4,0x60,0xe8,0x79,0x99,0x82,
-0x3b,0xff,0xd3,0xee,0xe1,0x1d,0xe4,0xc6,0xff,0x8f,0x18,0x41,0x0a,0xa6,0x7b,0x2d,
-0x69,0x47,0x06,0x37,0xea,0xa7,0xa7,0x9d,0x7f,0x01,0xc1,0x7e,0x08,0x3c,0x97,0x72,
-0x00,0x00,};
+0xce,0xbe,0xa5,0x1a,0x58,0xc1,0x2c,0x77,0x1d,0x44,0x5e,0xcf,0xd4,0x07,0x49,0x32,
+0x6e,0xeb,0x2b,0xb3,0x85,0x61,0xe4,0xf7,0xfd,0x80,0xc4,0x97,0x18,0x0c,0x27,0xe8,
+0xcf,0xd5,0x1e,0x47,0x61,0x12,0x62,0x8b,0xca,0xd3,0xb8,0x0c,0x83,0xc7,0x55,0xf4,
+0x62,0x57,0x2a,0x84,0x03,0x21,0xab,0x40,0x79,0x85,0xf6,0x0b,0xc4,0x66,0xc6,0x25,
+0xdb,0xb0,0x4f,0x8d,0xba,0xd7,0xcc,0x4d,0x9d,0x6c,0x0a,0x8f,0x12,0x32,0x6a,0xb1,
+0x98,0x53,0x34,0x31,0x30,0x37,0x55,0x56,0x0d,0x30,0xda,0x4b,0x31,0x40,0xb2,0x7b,
+0x5c,0x16,0x76,0x64,0x91,0x65,0xe4,0x32,0xd0,0x62,0x17,0xa7,0x63,0xb9,0x60,0x3f,
+0x10,0x06,0x78,0x0c,0x6f,0x81,0x91,0x7d,0x5f,0x00,0x95,0x43,0x53,0x64,0xb9,0xfe,
+0x24,0xce,0x21,0x0a,0x76,0x9c,0x39,0xf3,0x05,0xa3,0x2b,0x67,0xe0,0xb9,0x68,0xd7,
+0xd2,0x28,0x01,0x2a,0x4c,0x3f,0x97,0x01,0x64,0x29,0xef,0x82,0xc1,0xca,0x06,0xd9,
+0x78,0x74,0x51,0x7b,0x02,0x91,0xf9,0x51,0x5e,0x72,0x5d,0xb3,0xd1,0xbe,0x43,0x05,
+0x1e,0xf5,0xe5,0xe1,0xc5,0xe8,0x2f,0x01,0x9f,0x5b,0x1a,0x6b,0x92,0x0c,0x72,0x0b,
+0x13,0x1f,0x52,0x06,0xf1,0x13,0x61,0x26,0x23,0x7d,0x00,0x43,0xcf,0x16,0xeb,0x02,
+0x1c,0xf2,0x49,0x51,0x00,0xbe,0xc4,0x50,0x24,0xe2,0xb3,0x0e,0x64,0xc7,0x6c,0x5e,
+0x2b,0xd0,0x4d,0x26,0xc8,0xf8,0x41,0x2f,0xfc,0x49,0xaa,0x6f,0x63,0xeb,0xb1,0xc0,
+0x4f,0x36,0x4e,0x61,0xcf,0x04,0x2b,0x9a,0x95,0xf4,0x15,0x8f,0xc1,0xcc,0x72,0xb2,
+0x3e,0xd9,0x3c,0x61,0x68,0x56,0x99,0xd2,0xe6,0x9a,0x59,0x0d,0x65,0x27,0x5e,0x5e,
+0xb3,0x6d,0xc0,0x3e,0x0c,0x65,0x8e,0xd4,0x4a,0x52,0x3b,0x49,0x29,0x3d,0xfb,0x1b,
+0x36,0xa1,0xb8,0x05,0x93,0x60,0xb1,0x0e,0xac,0x48,0x30,0xed,0xc1,0xa2,0x48,0x52,
+0xaf,0x14,0xf2,0x59,0x83,0x85,0xe0,0x0b,0x95,0xf4,0xad,0xf5,0x21,0x8a,0xb2,0x09,
+0xed,0x5b,0x21,0x11,0xa3,0x15,0x12,0x25,0x5f,0x4b,0xbb,0xa0,0xe8,0xd9,0xcd,0x30,
+0x74,0xde,0xc0,0x61,0xd8,0x7e,0xbb,0x01,0x67,0x46,0x27,0x7f,0xa2,0x91,0x56,0x3e,
+0xfa,0xb7,0xa0,0x96,0xc3,0x50,0xb5,0x64,0xfd,0x41,0x16,0x17,0xa1,0xcb,0xde,0x06,
+0xe1,0x80,0x5c,0x7e,0x10,0x9d,0xfc,0x35,0x24,0x78,0xa1,0xa4,0x0b,0x45,0xfd,0x0b,
+0xa1,0x93,0xcf,0xd2,0x26,0x6d,0x20,0xb2,0x4c,0x52,0x3e,0xf1,0x6a,0x36,0x0e,0xfc,
+0x81,0x3a,0x35,0x7c,0x52,0x7f,0xfe,0xe8,0xfe,0x3d,0x72,0x50,0x18,0x8e,0x58,0x49,
+0xb7,0x93,0x3a,0x86,0xa0,0xea,0x7c,0x84,0x03,0xf1,0xa1,0xf0,0x0f,0x75,0xa1,0xc6,
+0x68,0xc5,0xac,0x36,0x65,0xc9,0xc3,0xf2,0x1a,0xc4,0xdf,0x03,0xef,0x2f,0xef,0xdb,
+0x4f,0x21,0xfd,0x97,0xf4,0xbb,0xbe,0x13,0x85,0x71,0xd8,0x4b,0xaa,0x54,0xe5,0xf1,
+0xe3,0x07,0xd0,0x3e,0x5c,0x58,0x10,0xbc,0xa0,0x24,0x54,0x20,0xcb,0xc0,0xa9,0x4c,
+0x59,0x01,0x39,0x0b,0x8e,0x62,0x3a,0xf3,0x84,0x76,0x6d,0xe6,0x4e,0x77,0xb1,0x0f,
+0xbd,0x4e,0x0b,0x2a,0x2b,0xb8,0x28,0x00,0x99,0xb5,0xe0,0x00,0xb7,0x90,0x41,0x95,
+0x26,0xb1,0xd1,0xa8,0x41,0xf3,0xb0,0xba,0x25,0xcf,0xa4,0xc9,0x54,0xd9,0x3b,0x56,
+0x22,0xf0,0xbc,0x3a,0x65,0x97,0xbc,0x32,0x74,0x5f,0x48,0x14,0xe5,0x53,0x74,0x1b,
+0xc3,0x87,0x93,0x57,0xf9,0x27,0x63,0x92,0x6b,0xc6,0x70,0x44,0xa8,0xdd,0x6f,0xaa,
+0x1d,0x8e,0x06,0x93,0x01,0x29,0x77,0xd5,0x78,0xe8,0x3b,0x5e,0xa9,0x6e,0x54,0xd6,
+0xca,0x9d,0xf8,0xd0,0x4f,0x9c,0x01,0x09,0x28,0x8e,0x15,0x7b,0x3a,0x18,0x53,0x02,
+0xc9,0x20,0xd6,0xdb,0xf8,0x7a,0x0c,0x69,0x1a,0x5e,0xb0,0x92,0xca,0x84,0xce,0xc7,
+0xc7,0x7c,0xc7,0xc6,0x14,0xf6,0x3b,0x5c,0x01,0x0a,0x5f,0x12,0x46,0x47,0x7a,0x1b,
+0x6b,0xf0,0x80,0xba,0xc5,0xb2,0x3a,0x93,0x28,0x02,0xf7,0xa0,0x51,0x28,0x0e,0x02,
+0x67,0x8c,0x42,0x87,0x06,0xc8,0x1b,0x1f,0xde,0x4e,0x65,0x22,0x30,0x27,0x21,0xfc,
+0xc0,0xdd,0x82,0x9e,0x48,0x0f,0x85,0x12,0x6d,0x01,0x37,0x8e,0xf9,0xce,0x04,0x09,
+0xcd,0x98,0x54,0xed,0x37,0xf8,0x9d,0x99,0x88,0x84,0x4e,0xf9,0x92,0x14,0x68,0xe4,
+0x4b,0x53,0xd7,0x22,0xd3,0x51,0xd9,0xc0,0x18,0xec,0x30,0xfc,0x9e,0x83,0x00,0x1b,
+0x23,0xdf,0xc1,0x2b,0x56,0x65,0xff,0x01,0x06,0xb4,0x9f,0xe3,0x4b,0x0c,0x67,0x81,
+0xdb,0xe4,0x0d,0xf6,0x07,0x3a,0x16,0x2b,0xf7,0xfd,0x66,0x4f,0x86,0x02,0x61,0xfc,
+0x50,0xb3,0x27,0xed,0xf9,0xcd,0xd9,0x2f,0xc1,0x10,0x5f,0x4e,0xbf,0x3e,0xfb,0xf9,
+0x42,0xb7,0x0d,0xf7,0xef,0x74,0x4b,0xb6,0xf2,0xa4,0x16,0x77,0xc7,0xf7,0xdf,0x30,
+0xf6,0xfc,0x86,0xb1,0x25,0xe5,0xd2,0xee,0x69,0x1f,0x84,0xbe,0xab,0xd5,0x32,0x02,
+0xb9,0x36,0xb4,0x60,0x18,0xcc,0x19,0x4a,0x4b,0xd6,0x72,0x7d,0x7b,0xdb,0x2e,0x5f,
+0xbd,0x6a,0xa7,0xdc,0x36,0x03,0x07,0xd1,0xdc,0x06,0xa1,0xc0,0xef,0x4c,0xfe,0x49,
+0x72,0x5a,0xe7,0x64,0x53,0x5d,0x67,0x5f,0xa8,0x60,0xee,0xba,0x90,0x7b,0x41,0x5e,
+0x09,0x74,0xfd,0xb0,0xa7,0xd9,0x5d,0x38,0x63,0xdb,0x36,0x18,0x7b,0xad,0xe3,0x6e,
+0x2b,0x9b,0x54,0xc7,0x85,0xbb,0x96,0xcf,0x03,0xef,0x5c,0x37,0x2b,0xd9,0xf3,0xbd,
+0x5c,0x3f,0x3c,0x82,0x1d,0x67,0xc7,0xdd,0xdd,0xad,0xfa,0x4e,0x60,0x60,0x97,0xb1,
+0x03,0x9c,0x7c,0x77,0xd8,0x50,0x77,0xe0,0x25,0x36,0xf5,0x7a,0x6d,0xfc,0x5c,0x47,
+0x51,0xe2,0x27,0x43,0xcf,0xcc,0x57,0xe1,0x1c,0x1c,0xf9,0x18,0x7b,0xde,0x3e,0xee,
+0xe5,0xf7,0x0d,0x18,0x82,0x35,0x8a,0x1f,0x7a,0xf0,0x4e,0xc7,0x03,0x6c,0x6f,0xc5,
+0xf5,0x74,0xfa,0x88,0xc3,0x80,0x2d,0x38,0xfa,0xca,0x5d,0x6c,0xf3,0x6a,0x64,0xc1,
+0x27,0x3e,0x82,0xa3,0x58,0xed,0xba,0x74,0xbb,0x99,0x2b,0x56,0x75,0xb2,0x67,0x11,
+0x8a,0xe1,0x45,0x46,0x62,0x24,0x13,0xae,0xb9,0xb3,0x0b,0x37,0x25,0x7e,0xf4,0x4c,
+0xb1,0x02,0xb6,0xb1,0x46,0x4e,0x49,0x95,0x68,0xe1,0x94,0x51,0xdf,0x1b,0xe4,0x9b,
+0x54,0x89,0x26,0xb9,0x26,0x55,0x02,0xce,0xbf,0xa7,0x69,0x62,0x9d,0xdc,0x93,0xaa,
+0xa4,0x51,0xee,0x80,0x39,0x5c,0xbb,0x01,0x9e,0x90,0xe9,0x0e,0x85,0x18,0x80,0x6b,
+0x37,0xca,0x2b,0x70,0x5e,0xfd,0x9a,0x75,0x7e,0x06,0x14,0x48,0x84,0x4a,0x12,0x46,
+0x69,0x3b,0x1b,0xe5,0xee,0xb5,0x3b,0xd7,0x1e,0xde,0xdd,0x7b,0x78,0xeb,0x66,0x5b,
+0x7c,0x7d,0xf8,0xf0,0xd6,0xad,0x7b,0x24,0x31,0xdd,0xbc,0xa0,0xf5,0x9b,0xf9,0xd6,
+0x19,0xf0,0x5d,0x5b,0x97,0xa1,0x01,0xe7,0x4f,0x40,0x02,0xf0,0x2c,0xfe,0x2b,0xa4,
+0x1f,0x1a,0x52,0x56,0xe9,0x5d,0xbb,0x53,0x11,0x08,0xe7,0xf7,0xa7,0x20,0x0a,0x1d,
+0xaa,0x4c,0x54,0x7b,0xd7,0x1e,0x11,0xea,0x70,0x7e,0x67,0x28,0xa4,0x7e,0xfe,0x13,
+0xcf,0x4a,0x40,0xce,0xb7,0xef,0x18,0xb5,0x0b,0x96,0x67,0x3c,0x0a,0x5d,0x3a,0x13,
+0xb2,0xf5,0xef,0x75,0xf5,0xeb,0x47,0x64,0x56,0xd4,0xdb,0xfa,0xf5,0x30,0x8c,0x13,
+0x2d,0x8c,0xb4,0xeb,0x13,0x0a,0x1e,0xe8,0x77,0xdd,0xea,0x78,0x02,0x52,0xd7,0xbd,
+0xe7,0xb0,0xa4,0x8d,0xfc,0x80,0x2d,0x88,0x30,0x70,0xaa,0xfc,0x00,0x06,0x79,0x0b,
+0xc6,0x38,0x63,0x90,0x82,0x3a,0x38,0xee,0xa0,0xfb,0xb5,0x83,0xc9,0x70,0x68,0xf8,
+0x69,0x76,0x3c,0x98,0xb0,0x26,0xae,0x4a,0x04,0x4d,0x3a,0x46,0x13,0x34,0xfd,0xb4,
+0x4b,0xc0,0xb0,0x9a,0x8a,0xce,0xd2,0x46,0x33,0x98,0xae,0x2a,0x9b,0x1d,0x08,0xf7,
+0xf2,0x34,0x2d,0xa6,0x90,0x10,0x84,0x7f,0xdc,0x09,0xa1,0xab,0x8a,0x11,0xec,0xe7,
+0xcb,0x1e,0xc3,0x3f,0xa6,0x0a,0x52,0xa6,0xa5,0x8f,0x59,0x66,0xd8,0xf3,0x89,0x85,
+0xc1,0xd1,0x52,0x36,0xb2,0x22,0xe8,0xe9,0x38,0xcd,0x55,0x91,0xc7,0x26,0x19,0x19,
+0x89,0x52,0x40,0x62,0x61,0x13,0x49,0x80,0x6c,0xa9,0xb2,0x1a,0xf9,0xe5,0x7a,0x7a,
+0xfe,0x26,0xe2,0xd5,0xe1,0x20,0x97,0xf3,0x7b,0xc9,0x60,0xa8,0xa3,0x7f,0xfe,0xf2,
+0x86,0xa4,0x75,0x15,0x1e,0x83,0x9a,0xf9,0xde,0x14,0x2e,0xeb,0x17,0x10,0x07,0x8d,
+0x53,0x58,0x75,0xc0,0x2c,0xcf,0xef,0xb9,0x00,0xc6,0x84,0xff,0x2d,0x8e,0xb7,0xef,
+0xb8,0xff,0x42,0xd9,0xcc,0x10,0x2e,0x98,0xb0,0xeb,0x93,0x5b,0x27,0x23,0x4a,0x70,
+0x45,0x64,0x75,0xf5,0xe9,0xff,0x85,0x2e,0x43,0x96,0xfa,0x6f,0x21,0x35,0x7c,0x47,
+0x9e,0x79,0x50,0xe9,0xf4,0x7f,0x20,0x33,0xcb,0xa0,0x2d,0x2e,0xea,0x2f,0x9a,0x6f,
+0xeb,0x82,0xf9,0x46,0xe1,0x5c,0xaf,0xc8,0x42,0xaf,0xc5,0x0e,0xd0,0xe3,0xfc,0x30,
+0xa8,0x57,0x51,0x3f,0xdf,0x2b,0xc6,0x4d,0x2d,0x9c,0xcb,0x1d,0xa3,0x10,0xfe,0xf6,
+0xe2,0x3c,0x91,0xf5,0x2e,0x3d,0x52,0xfd,0xb9,0x1e,0x1b,0xe7,0xf4,0x28,0x45,0x6a,
+0xd0,0xf3,0x8d,0x30,0xdc,0xf7,0x61,0xde,0x0e,0xbc,0x04,0x29,0x96,0x30,0xf7,0x84,
+0x94,0xec,0xea,0x88,0x1f,0x5a,0x90,0x9d,0x3a,0x0e,0x72,0xb5,0x5d,0xef,0x00,0x82,
+0x6b,0xc5,0x8b,0xa2,0x30,0xd2,0x0d,0x45,0x52,0x0d,0x48,0x4f,0xac,0x1b,0xdf,0x0b,
+0x13,0xbf,0x77,0x84,0x33,0x0f,0x55,0x94,0xe8,0x5a,0x38,0x33,0x85,0x8d,0xaa,0x70,
+0x24,0xd6,0x60,0x48,0x23,0x51,0x53,0x79,0x91,0xc8,0x61,0x03,0x71,0x8d,0x3c,0xef,
+0xdf,0x90,0x14,0x49,0x0e,0x09,0xf6,0x3c,0x61,0xf1,0xff,0x56,0x09,0x55,0xec,0x97,
+0x27,0x37,0xd4,0xf4,0x55,0x15,0xcc,0xe7,0xfc,0xee,0xd6,0x60,0x13,0x83,0xa3,0x23,
+0x13,0x55,0x94,0x90,0x0c,0x71,0x3b,0x3d,0xbd,0xa5,0x04,0xcd,0xa7,0x37,0x89,0xcc,
+0xe4,0x7b,0xc9,0xc6,0xc8,0x12,0x8d,0x2e,0x61,0xf6,0x20,0xdc,0x5b,0x58,0x81,0x04,
+0x9e,0x95,0x1b,0x30,0x8f,0x43,0xc8,0x86,0xd7,0xa9,0x23,0x84,0x1b,0x1b,0x02,0x7e,
+0xdf,0xa3,0x23,0x76,0x81,0xfc,0x6d,0x5a,0x44,0x31,0x04,0x30,0xf4,0xe1,0x84,0x2d,
+0x50,0x81,0xa8,0x18,0xa7,0x72,0x92,0xab,0xf9,0x81,0x06,0x35,0x0a,0xee,0x4e,0x8e,
+0x8c,0x3b,0x5f,0x08,0x4a,0x70,0x5a,0x40,0x5a,0xa8,0x75,0x7a,0xdb,0x4e,0x12,0x0d,
+0xf7,0xe0,0x70,0x9d,0x24,0xb1,0xb4,0x1e,0x76,0x7a,0x4a,0x8a,0xea,0x9f,0x2b,0x45,
+0x25,0xf0,0x31,0x76,0xfa,0x39,0x8a,0x24,0x01,0xaa,0x8a,0x30,0x32,0x1f,0xba,0x57,
+0x47,0x2f,0xef,0xf4,0x76,0x0d,0x14,0xbb,0x66,0xae,0x79,0xe4,0xad,0x20,0x62,0xab,
+0x20,0x27,0xf5,0xcb,0xa7,0x98,0xde,0x0c,0x96,0x66,0x04,0xa9,0x4b,0x52,0xa3,0xbd,
+0x98,0x1a,0x8b,0x14,0xe6,0x0c,0x3d,0x2b,0x52,0x34,0x86,0x83,0x09,0x7e,0x2e,0xfa,
+0x69,0xe6,0x48,0x21,0x3f,0x18,0x18,0x65,0x0d,0xa2,0x85,0xd3,0x6c,0x5d,0xd9,0x2c,
+0x9a,0x90,0xaf,0x07,0x6b,0x91,0x7a,0x8b,0x83,0x30,0xf0,0x98,0x91,0xe1,0x30,0xa0,
+0xd5,0x2d,0xac,0xd3,0x95,0xed,0x41,0xfd,0xea,0xf4,0xbf,0x83,0x12,0x3f,0x85,0x90,
+0x0f,0x02,0x15,0x9e,0xcc,0xdf,0x9e,0xfd,0x0a,0x56,0x8f,0xd7,0xd3,0x7f,0xda,0x5e,
+0x45,0xf9,0x36,0xe2,0xff,0x34,0xf6,0x3b,0x99,0x58,0xee,0xc0,0x1b,0x6a,0xfc,0xb3,
+0xe2,0x7a,0x3d,0x6b,0x32,0x4c,0xf4,0x79,0x80,0xca,0x00,0xfa,0x28,0x44,0x54,0xfd,
+0xea,0xf4,0xef,0x59,0x53,0xf8,0x2d,0x98,0xdd,0x97,0xdb,0xab,0x68,0xe8,0xea,0xf6,
+0x58,0xe3,0xdd,0x6e,0xea,0x44,0x72,0x15,0x98,0x96,0xfa,0x41,0x5b,0x73,0x30,0x32,
+0x2f,0xea,0xa0,0xc2,0x7f,0xc3,0x30,0xbe,0x13,0x3b,0x41,0xc3,0x76,0xf9,0x0c,0x1b,
+0x06,0x4c,0x92,0x8d,0x39,0x2f,0xf1,0x05,0xd7,0x6a,0x75,0x7b,0x75,0x7c,0x55,0x34,
+0x76,0x25,0xbf,0x13,0x66,0xd0,0x93,0x6a,0xab,0x7c,0x94,0xc1,0x40,0x7e,0x9e,0x1e,
+0xd9,0xb9,0xe4,0xbe,0x49,0x63,0x29,0x2d,0xb1,0x2d,0x14,0x31,0x3b,0x44,0xdc,0xd8,
+0x54,0x2a,0x2d,0x25,0xff,0x79,0xea,0x25,0x1d,0xe0,0xbd,0x52,0x9e,0xee,0xdc,0xdd,
+0x15,0x27,0xcf,0x3d,0xed,0x1d,0xa7,0x40,0xab,0xee,0x2e,0x6d,0xbe,0xc5,0x7b,0x4c,
+0x8c,0x22,0x3e,0xfd,0x43,0x09,0x27,0xc7,0x43,0x02,0xac,0xc4,0x03,0x6c,0xe4,0xcb,
+0xa3,0xcc,0xda,0xce,0x63,0x35,0x3f,0xc0,0x1c,0x23,0xa1,0x40,0x09,0x6b,0xc5,0xac,
+0x1b,0x19,0x8f,0xca,0x75,0x3a,0x8e,0xbc,0x83,0x77,0xeb,0x14,0x41,0xbb,0xcc,0x58,
+0x2b,0xe7,0x35,0x89,0x7e,0x3e,0x7e,0xf0,0x88,0x1b,0xcd,0xb3,0xc3,0xc9,0x38,0xde,
+0x93,0xc4,0xf1,0x27,0xce,0x12,0x69,0x26,0xdf,0x9f,0x23,0xea,0x3d,0x0a,0x90,0xa6,
+0xb0,0x82,0xac,0x3d,0xb0,0x40,0x61,0x1e,0xea,0xe6,0x24,0xbf,0x79,0xd6,0x59,0x5e,
+0x29,0x56,0xa1,0x28,0xd6,0xf6,0x3c,0xd8,0x02,0x28,0xc1,0x74,0x8b,0xb5,0x7d,0xf7,
+0x4f,0x81,0xed,0xd2,0x98,0x67,0x78,0xcb,0x7f,0xb0,0xde,0xab,0x05,0xd6,0xbb,0x00,
+0x45,0x97,0xe7,0x25,0x29,0xfb,0xcd,0xb5,0x72,0xce,0x3e,0x7d,0x37,0x16,0x9c,0x11,
+0x9b,0x92,0x1f,0x04,0x07,0xce,0xf2,0x49,0x34,0x00,0x11,0x16,0x78,0xf0,0xc2,0xdd,
+0x01,0x38,0xde,0x17,0xf9,0xdd,0x31,0xcf,0xac,0x0b,0xbb,0x03,0x55,0x78,0x77,0xcc,
+0x83,0xe5,0x77,0x87,0x84,0xfa,0x41,0xd8,0x7c,0x0e,0x7f,0x2c,0xd6,0xa5,0x32,0x42,
+0x8e,0xeb,0x12,0xab,0x57,0x3c,0x52,0x3a,0x73,0x44,0xfc,0xfc,0x45,0x07,0xe4,0x3b,
+0x73,0x7b,0xd5,0x03,0x99,0x94,0x95,0xb9,0x48,0x23,0x86,0xaf,0x0a,0x2e,0xdd,0xf5,
+0x0c,0xcf,0x57,0xf5,0x0b,0x0d,0x4f,0x92,0xde,0xe6,0x9e,0xeb,0x39,0x30,0x04,0x90,
+0x4d,0x4a,0x9d,0xc3,0x36,0x45,0x56,0x39,0xb8,0x27,0x22,0x0e,0xe4,0xf4,0xe6,0x04,
+0x11,0x81,0x83,0x70,0x1c,0x68,0x0b,0xd1,0x0d,0xd4,0xb9,0x96,0x94,0xa0,0x22,0x3b,
+0x57,0xeb,0x8d,0x8d,0x2e,0x7e,0xd6,0x1a,0x2d,0x9c,0x5b,0xf8,0xb5,0x86,0x90,0xb2,
+0xae,0x63,0xd6,0x6b,0xf5,0xf5,0x76,0xbd,0x5e,0xa3,0x24,0x5b,0x90,0xeb,0xb5,0x66,
+0x03,0x6e,0xec,0x15,0xf3,0x11,0xbb,0xbc,0xab,0xbd,0x28,0x1c,0xdd,0x90,0x6d,0x95,
+0x9c,0xca,0x66,0x6b,0x13,0xe6,0x74,0x14,0x8b,0x1e,0xb8,0x75,0x65,0x62,0xcc,0x5d,
+0x80,0x18,0xc5,0xbe,0x87,0xe0,0xfa,0x38,0x77,0x73,0x40,0x19,0x4b,0x03,0xeb,0xc0,
+0xef,0x5b,0xb0,0x81,0x57,0x29,0x78,0xea,0x5a,0x1f,0xb2,0x11,0x62,0xe8,0x2c,0xc8,
+0xb4,0x88,0x1b,0xba,0xdf,0x83,0x0b,0xe1,0xd1,0xed,0x5b,0x5a,0x1a,0xfd,0x5b,0x01,
+0x8e,0x70,0x41,0x62,0x41,0xad,0xea,0xc8,0x22,0x4b,0xfc,0xea,0xe3,0xc8,0x47,0x2c,
+0x51,0x52,0x7d,0x3f,0x3a,0x78,0x82,0xa9,0x3c,0xa9,0xae,0x72,0x2c,0xed,0x52,0x3d,
+0x5b,0x1c,0xdc,0xae,0xb0,0xef,0x50,0x14,0x95,0x74,0x78,0xf8,0xf1,0xdd,0xd0,0xf6,
+0x71,0xdd,0xc6,0xbf,0xff,0xa8,0x84,0x83,0x3c,0xd3,0x66,0x10,0x2d,0x2f,0xb5,0x15,
+0xd2,0x62,0x17,0x99,0x7f,0x45,0x3c,0xdc,0xd9,0x2f,0x20,0x54,0x92,0x2c,0xc7,0x3e,
+0x1b,0x8a,0x5a,0xc3,0x27,0xd5,0x25,0x1d,0xe8,0x33,0x68,0x44,0xbf,0x47,0xc6,0x1b,
+0x68,0x3b,0xac,0x6c,0x40,0xfc,0x46,0xd0,0x24,0x36,0xa2,0x43,0xb7,0x49,0x60,0xeb,
+0xdf,0xa9,0xed,0xe6,0x95,0x12,0xe8,0x04,0xfa,0xf4,0xef,0xd9,0x12,0xff,0x25,0x2c,
+0xd2,0x14,0xd1,0x06,0x91,0x12,0x16,0x1d,0xb3,0xd4,0x93,0xbb,0xdb,0x20,0x9f,0xcb,
+0x4d,0x58,0x37,0x70,0x41,0xc7,0x4c,0xdd,0x0e,0x55,0x28,0x38,0x74,0xd4,0xd9,0x5d,
+0xbb,0xdd,0xa7,0xab,0x46,0x04,0x51,0x82,0x92,0xbf,0xa7,0xaf,0x70,0xfa,0x2e,0xe4,
+0x62,0xd8,0x3e,0xb3,0x8c,0x8f,0xc2,0x49,0x84,0x70,0x52,0x59,0xea,0x07,0x88,0xa2,
+0xa2,0x24,0x55,0x10,0x57,0x45,0x06,0xe6,0xbc,0xc3,0x07,0xe6,0x4a,0x5d,0xba,0x19,
+0x94,0xb2,0x81,0xa9,0x55,0xc7,0xe1,0xb8,0x54,0xee,0x22,0xf0,0xad,0xab,0xb7,0x29,
+0xfc,0x4d,0xef,0x0c,0xf2,0x96,0x6b,0x1f,0xad,0x42,0x39,0x2b,0xa5,0x23,0xa7,0x01,
+0x92,0x12,0x50,0x82,0x06,0x0a,0x93,0xab,0xf2,0xd3,0xc0,0xb4,0x6c,0x52,0xdc,0xa7,
+0x4d,0x92,0x3c,0x90,0x04,0xa5,0x60,0x51,0x9c,0x51,0x21,0xc2,0x6b,0x50,0x85,0x9d,
+0xf8,0xd6,0x01,0xd6,0xfd,0x0e,0x1c,0x2a,0x1e,0xac,0x28,0x25,0x9d,0xe2,0xe4,0x0a,
+0x31,0x76,0x45,0x94,0xd7,0x21,0x7c,0xb2,0x89,0xf9,0xd0,0x77,0x93,0x01,0x76,0x4e,
+0xb1,0xb8,0xb8,0x22,0xa6,0x27,0x8a,0x2f,0xf0,0x52,0x9f,0xd2,0x24,0xc2,0x80,0x7a,
+0x35,0x15,0x1b,0xc0,0xb9,0x80,0x8b,0x58,0xec,0x98,0x32,0x39,0xb6,0x4f,0xb8,0xaa,
+0x04,0x43,0xb0,0x45,0x96,0x9a,0x37,0x5d,0xd9,0x2a,0xec,0x93,0x32,0x32,0xa4,0xd2,
+0x95,0x91,0xfb,0x28,0x7e,0x64,0x1d,0x78,0xf7,0xa3,0xfb,0x70,0xa1,0x5d,0x07,0x8e,
+0xca,0x6f,0x85,0x28,0xc1,0x3c,0x0f,0x5b,0xfb,0x30,0xf6,0x8e,0x25,0x2c,0xbb,0xdf,
+0x70,0xf1,0x8c,0xf3,0x84,0xf2,0xfb,0xf1,0xc3,0x3b,0x55,0x71,0x59,0x4a,0x78,0xee,
+0x90,0xc6,0xb5,0x2f,0x90,0xa9,0x03,0x5a,0x3c,0x2f,0x28,0x1f,0xaa,0x74,0xa7,0x57,
+0xe5,0x90,0x19,0x5c,0x00,0x12,0xd8,0x34,0xf5,0x03,0x3f,0xf6,0xb1,0x99,0x70,0xe1,
+0xa7,0xad,0xc2,0xfa,0x7a,0x55,0x8a,0xe2,0x61,0xcc,0xb8,0x46,0xda,0x9a,0x1d,0xba,
+0x47,0x05,0x2d,0xb4,0x07,0x65,0x18,0xf1,0x78,0xbe,0xb3,0x0f,0x23,0x44,0x11,0x4c,
+0xe0,0x5d,0xdc,0xb6,0xea,0xc1,0xa8,0x7f,0xca,0xb8,0x46,0xbc,0x4d,0x1f,0xe8,0x8b,
+0x33,0x7c,0x83,0x23,0x5e,0xb8,0x8c,0xa9,0x20,0x0f,0x06,0x89,0x85,0xf2,0xdc,0x55,
+0xab,0x9a,0x84,0x89,0x35,0x7c,0xbf,0x5e,0xab,0x81,0xec,0xd9,0x38,0x9b,0xdf,0x98,
+0x33,0x54,0xf2,0xf6,0xfa,0x34,0xb2,0x59,0xaf,0x22,0x2b,0xbf,0xf7,0x93,0x01,0xa8,
+0x12,0x03,0xc4,0xb2,0x36,0xe7,0x22,0x24,0x15,0x49,0xa4,0xd3,0x16,0xab,0x91,0x5e,
+0x80,0x60,0x41,0x18,0xf8,0xb6,0xab,0xe4,0x7a,0x11,0xfa,0xa4,0x6e,0xd8,0x59,0xf8,
+0xe2,0x6c,0x88,0x98,0x4d,0x6a,0x7f,0x1a,0x97,0x0d,0x48,0x0e,0x4f,0x30,0xd3,0xd8,
+0x38,0x78,0xf2,0x27,0x1e,0xb2,0xc5,0x1e,0x18,0x59,0x11,0x42,0x9b,0x1e,0x87,0x63,
+0xe5,0x64,0x21,0x85,0x8b,0x9c,0x90,0xf7,0x70,0x66,0x80,0x17,0x83,0x35,0x27,0xd7,
+0x3d,0x1c,0x36,0x1e,0xc8,0x89,0x0c,0x4e,0xcf,0x93,0x47,0xbe,0x3d,0x84,0xda,0x2b,
+0xc8,0x48,0xc3,0xa4,0xa0,0xbc,0xa5,0x91,0x71,0x62,0x3a,0x22,0xee,0x59,0x85,0xd8,
+0x75,0x0a,0x6d,0xe6,0x57,0x94,0xee,0x9a,0xa9,0x2d,0xa3,0x61,0xbb,0xb3,0x81,0x0b,
+0xde,0x52,0x6c,0x9f,0x54,0x5e,0x52,0xd9,0x24,0x2c,0xe5,0x76,0xb5,0xc0,0x27,0xba,
+0xce,0x5d,0x1f,0x93,0x53,0x85,0x6b,0x46,0x5d,0x29,0x23,0xe3,0x0d,0xb9,0x8d,0xf3,
+0xb7,0xce,0x52,0xa8,0x62,0x01,0x81,0xce,0xdd,0x50,0x4b,0x61,0x67,0x4a,0x08,0x38,
+0xed,0x84,0x6c,0x7b,0x02,0xc9,0xb9,0x9e,0x1b,0x05,0x10,0x5c,0xbd,0x99,0x07,0x69,
+0x16,0x40,0x5a,0x8b,0x40,0x5a,0x05,0x10,0x5c,0xac,0x99,0x6f,0x65,0x8d,0x40,0x84,
+0x21,0x55,0x0c,0x42,0x18,0x61,0x29,0x57,0x18,0x3a,0xd3,0x5c,0x24,0x45,0x6e,0x36,
+0x60,0x36,0x7c,0xf2,0x50,0xd3,0x50,0x2e,0x35,0x13,0x91,0x41,0x15,0x38,0x7a,0x4b,
+0x65,0xf7,0x0f,0x29,0x4b,0x06,0x6b,0xa9,0x4c,0x4a,0x52,0x76,0x31,0x5c,0x0d,0x87,
+0x39,0x65,0x70,0x9f,0xd9,0x35,0xbb,0x74,0x06,0x69,0xcc,0x93,0x04,0x90,0xb1,0x57,
+0xaa,0x4d,0x19,0xdf,0xa4,0x0a,0xb3,0xa8,0x7a,0x34,0x4b,0x65,0x87,0xae,0x2c,0x12,
+0x41,0x4a,0xb9,0x6a,0xc8,0x90,0x45,0xf3,0x41,0x40,0x5c,0x57,0x66,0x13,0xd0,0x6c,
+0x78,0x12,0x1a,0x17,0x59,0x44,0xec,0x2a,0x46,0x75,0x49,0xde,0x74,0x48,0xe3,0x93,
+0xd5,0x4d,0x08,0x9c,0x15,0xdc,0x2f,0x24,0x87,0x4b,0x40,0x83,0xa5,0xbc,0x03,0x74,
+0x43,0x42,0xff,0xf1,0x19,0xc4,0x39,0x9c,0x00,0xd8,0x49,0x31,0x00,0xc2,0x53,0x73,
+0xc6,0xed,0x0f,0x15,0xe2,0x4d,0xf2,0x87,0x08,0xf6,0x66,0xdb,0xdb,0x39,0xd0,0x6a,
+0x65,0xd2,0x62,0xc2,0x7b,0x9a,0x40,0xcb,0xe7,0x33,0x9c,0x19,0xc0,0x3c,0xf7,0x51,
+0xf1,0xf1,0x69,0x43,0x3f,0x21,0xbe,0x86,0xe5,0x4b,0x33,0x52,0xd6,0xa7,0x4e,0x4a,
+0xb5,0x9c,0x0c,0xc9,0x87,0xa0,0x0a,0x5e,0x49,0xeb,0xcc,0x37,0x32,0x33,0x04,0x31,
+0x99,0x85,0x2d,0x92,0x76,0x33,0x49,0x9c,0xdc,0x1e,0x45,0x8a,0xe6,0x0a,0xd9,0x2c,
+0x8d,0xe7,0xa0,0x3d,0x81,0x24,0x65,0x93,0xcb,0x26,0x07,0x4c,0x49,0xca,0x9e,0x09,
+0x05,0x16,0x1d,0xe2,0xd4,0xca,0x05,0x99,0x4b,0x04,0xe6,0x2a,0x63,0x02,0x06,0xed,
+0xb5,0x47,0x22,0x74,0xd4,0x28,0xc4,0xb9,0x19,0xb9,0x90,0x3c,0x83,0xba,0x21,0x6b,
+0x2b,0xc5,0xec,0xa3,0x37,0x54,0xa4,0x28,0x0a,0x39,0x21,0x14,0xfc,0x21,0x1e,0x87,
+0x82,0x8d,0xb7,0x60,0xab,0xcd,0x04,0xea,0x77,0x76,0x0f,0xe4,0x8d,0x9e,0x70,0x4f,
+0x91,0x0f,0x50,0x1e,0xa2,0x2c,0x50,0x49,0x72,0xa4,0x3b,0x23,0xed,0xe3,0x53,0x23,
+0x9f,0x87,0x30,0x81,0x91,0xb7,0xbc,0xac,0xcb,0x88,0xdb,0x25,0x15,0xb4,0xb0,0x00,
+0x66,0x2e,0xeb,0xea,0xd6,0x56,0x59,0x86,0x14,0xab,0xb1,0xe7,0x8c,0xbb,0xb9,0x4b,
+0x16,0x24,0xd6,0x4f,0xf9,0xa2,0xc9,0x4b,0x68,0x00,0xaf,0x64,0xe4,0x16,0x6e,0xd5,
+0xb2,0xa0,0x4f,0x5a,0x59,0xea,0x17,0x60,0xd3,0xa9,0x55,0x86,0xb2,0xe4,0xac,0xe8,
+0xe4,0xa5,0x80,0xfd,0x93,0xa5,0x64,0x1b,0x77,0x7b,0x44,0x4c,0x51,0xcd,0xa8,0xd4,
+0xa5,0x8a,0x00,0x11,0x98,0xfc,0x79,0x98,0x2e,0x9f,0x78,0x1d,0x12,0x57,0x10,0x58,
+0x72,0x13,0x97,0x4e,0x5c,0x92,0xb0,0x57,0x10,0xf9,0x37,0x7b,0x89,0x84,0xa7,0xa1,
+0xe4,0x49,0xba,0x3e,0x22,0x2f,0xd2,0xcc,0xe5,0x0b,0xef,0x6a,0x1e,0xb5,0xa4,0x6b,
+0xd2,0x1d,0xfc,0xfb,0xbd,0xde,0x05,0xe8,0xbd,0x18,0x97,0x56,0x0f,0x66,0xed,0xe5,
+0xe5,0x02,0x32,0x39,0x0f,0xd8,0xfc,0x9e,0xf8,0x64,0xeb,0x38,0x94,0x20,0x5c,0x78,
+0x86,0x1f,0x49,0x06,0xc6,0xfd,0x10,0x48,0x26,0x33,0xc2,0x98,0x26,0xfe,0xa3,0x60,
+0x99,0x82,0xf5,0x3e,0xf4,0xf0,0x00,0x41,0x26,0xd7,0x50,0xd6,0xbc,0x4c,0x83,0x2d,
+0x39,0xc1,0x35,0x3b,0xe6,0x0c,0x99,0x5f,0x15,0x91,0x27,0x9c,0x49,0x1b,0x9f,0x22,
+0x01,0xe8,0x1e,0x4d,0xbe,0x94,0xf3,0xa8,0x10,0x82,0xb1,0xe4,0x36,0xf9,0x62,0x99,
+0x4b,0x00,0xbd,0x43,0xa9,0x8e,0xcf,0xb4,0x90,0xe6,0x73,0x17,0x96,0x23,0x6e,0xce,
+0x17,0x3b,0x11,0xb9,0x04,0x80,0x83,0x30,0xa0,0xe0,0xc3,0x7c,0x27,0x9c,0x47,0x85,
+0x85,0x60,0x59,0xf0,0x3b,0x4e,0x53,0x81,0x0a,0xa8,0xcb,0xf1,0xad,0xf8,0x28,0xbe,
+0x23,0x83,0xf5,0x09,0x62,0x26,0x7c,0x16,0x95,0x65,0x0e,0x15,0xd2,0x8a,0xa5,0xc3,
+0x9c,0xe9,0xbc,0x50,0xa6,0x80,0x17,0x61,0x8a,0x00,0x05,0xb6,0xfe,0x6d,0xb2,0x3c,
+0x35,0x2a,0x68,0x01,0x5e,0x50,0x65,0x0d,0x75,0x7b,0x63,0x7d,0x0b,0x26,0x19,0x60,
+0x00,0xda,0x20,0xe6,0x2d,0x8e,0xeb,0xa2,0xeb,0x8b,0x23,0x1c,0x10,0x79,0x3c,0xa9,
+0x50,0x38,0x04,0x80,0xc2,0x80,0xf5,0xa9,0x4c,0x41,0x62,0xbf,0xd9,0xf9,0x0d,0x98,
+0x2c,0xe2,0xcc,0xb7,0xdf,0x95,0x17,0x31,0xdb,0x3a,0xbb,0xd8,0x4e,0x99,0xbb,0x59,
+0x2c,0xdf,0x53,0x9c,0x11,0xde,0xfd,0xa0,0x8a,0x14,0x14,0xa4,0xde,0xff,0xa0,0x74,
+0x1a,0xba,0x93,0x3e,0x06,0x42,0xb9,0x59,0x7c,0x8d,0x81,0x28,0x18,0xca,0xe1,0x60,
+0x18,0xf5,0x46,0x08,0x65,0x10,0xeb,0xc3,0x73,0x21,0xdc,0x9a,0x8a,0x88,0x10,0x0d,
+0xaa,0x14,0x8a,0x00,0x44,0x3b,0x84,0x1e,0x10,0x51,0x75,0x28,0xbd,0x47,0x19,0x28,
+0x16,0x6f,0x8a,0x50,0x89,0xf8,0xa2,0xac,0xeb,0x22,0xc0,0x84,0x33,0xe5,0xb7,0x6c,
+0x08,0x2f,0x92,0xdc,0x80,0x13,0xeb,0x86,0x88,0x4e,0x37,0xd2,0x10,0x00,0x53,0xff,
+0xb3,0x5e,0x6f,0xad,0xb6,0x56,0x83,0xc3,0x9c,0x83,0xa6,0xfe,0xea,0xd6,0x9d,0x3b,
+0xf7,0x3f,0xa1,0xec,0x9a,0xe5,0xb6,0xe0,0x6d,0x14,0xd9,0x1c,0x41,0x85,0xdc,0x66,
+0xd3,0x71,0x6a,0x00,0x26,0x77,0xa6,0x91,0xf3,0x7e,0x99,0x3b,0xfa,0x60,0x0f,0x12,
+0x8e,0x35,0xda,0xd3,0x0d,0x7c,0xc2,0x1c,0x16,0x24,0xe2,0x93,0x76,0x2a,0x0f,0x5c,
+0xdf,0x35,0x88,0x2e,0x85,0xcf,0xc3,0xdc,0x39,0xf6,0xdd,0x36,0x20,0x39,0x79,0x00,
+0x50,0x36,0xb0,0x8a,0xf0,0x2e,0x56,0x43,0xdb,0xd2,0x78,0x7b,0x6a,0xe4,0x21,0x7b,
+0x97,0x02,0xc5,0x1a,0xc0,0xd5,0xfc,0x0e,0xa0,0x4e,0x3a,0x00,0xa8,0xc8,0x17,0x75,
+0x9f,0xc2,0x69,0x53,0x8e,0xe0,0x5a,0x0c,0x8b,0xb5,0xbb,0x54,0xe7,0xf4,0x52,0x4c,
+0xd6,0x22,0x87,0xc9,0x2c,0x6e,0x50,0x18,0x56,0x52,0xd0,0x74,0x8c,0x32,0x62,0x31,
+0xc5,0x91,0x40,0xb4,0xc4,0xe5,0x1c,0xd4,0xae,0xa1,0x4c,0x81,0xe6,0xf1,0xb5,0xc0,
+0x8d,0x10,0x58,0xd9,0x56,0x8a,0x29,0x98,0xb6,0x94,0x08,0x32,0x6b,0x4c,0x6a,0xb2,
+0x54,0xc6,0x47,0x59,0x69,0xd5,0x87,0xaf,0xfa,0xfa,0xd0,0x72,0xf6,0xaf,0x23,0xda,
+0xe2,0xe8,0xdd,0xda,0xc8,0xea,0x71,0x33,0xb0,0x49,0xbe,0x5b,0x7d,0xff,0xc1,0x00,
+0x6e,0xf0,0x13,0x1f,0xaf,0x8f,0xe0,0x47,0xe8,0x72,0x2b,0xb0,0x17,0x45,0xd6,0xbb,
+0xb5,0xc3,0x55,0xb4,0xbb,0x7e,0xe0,0x73,0x0b,0x9f,0xf0,0x33,0x41,0xf1,0xbb,0xb5,
+0x71,0xfb,0x96,0xb0,0xac,0x72,0x0b,0x56,0xb0,0x08,0x13,0x0a,0xe3,0x55,0x89,0xbb,
+0x12,0x42,0xca,0xd2,0xbc,0x0c,0x17,0x85,0x6c,0xb6,0xd3,0xe6,0xc0,0x78,0xa8,0x05,
+0x08,0x39,0x5a,0xc4,0x76,0x9f,0x1a,0x08,0x64,0x18,0x1e,0xe1,0x7d,0x17,0x61,0x57,
+0x60,0x7b,0x26,0xc7,0xba,0xf8,0xe2,0x7a,0xd8,0xf5,0xf0,0x79,0x49,0x67,0x98,0x8a,
+0x82,0xd1,0x8d,0x63,0x88,0xc7,0x31,0xbc,0xc4,0x88,0x1e,0xfa,0x35,0x64,0x3c,0xba,
+0x37,0x4c,0xe6,0x5d,0x5c,0xa9,0x30,0xd2,0xbb,0xc6,0xf9,0x0b,0xf5,0x52,0x24,0xa1,
+0x90,0x02,0x7a,0x56,0xe5,0x15,0xdd,0x5a,0x3e,0xfb,0x05,0x99,0x81,0xb3,0x1b,0xf6,
+0xaf,0xa6,0x5f,0x8b,0x3b,0xb9,0xb3,0xf7,0x91,0x11,0x18,0x03,0x50,0x8a,0x93,0xf9,
+0x0a,0x75,0xc5,0x45,0x7e,0xdc,0x55,0x86,0xe1,0xf8,0xf3,0xaa,0x36,0xfd,0x9f,0xdc,
+0x08,0xa4,0x1e,0x08,0x41,0x34,0x04,0xf1,0xcc,0xc0,0x57,0x14,0x29,0x40,0xdd,0x89,
+0x78,0xed,0x5f,0x92,0x50,0x44,0xef,0x0e,0xbc,0xa4,0x57,0x0a,0x5e,0x29,0x21,0x09,
+0xd0,0xf5,0x1a,0xbd,0x6a,0x40,0xcf,0x14,0xa0,0x42,0x15,0x36,0xa3,0x3e,0x87,0x83,
+0xb6,0x89,0xb1,0x09,0x5e,0x45,0x5e,0x6c,0x95,0xd7,0x6c,0x36,0xc1,0x69,0xa2,0x61,
+0x1b,0x87,0x30,0x3f,0x30,0x20,0x64,0x93,0x78,0x10,0x1e,0xb6,0xe5,0xa1,0x04,0x93,
+0x8c,0xd2,0x0e,0x70,0xbf,0x14,0xba,0xcb,0x76,0x03,0xb6,0x4f,0x11,0x5c,0xb4,0xc7,
+0xc1,0x45,0x8b,0x51,0x5c,0x0c,0x3f,0xba,0x08,0xc1,0x98,0xd5,0xcb,0xb3,0x2f,0xa6,
+0xbf,0x43,0xf4,0x10,0xae,0xa3,0x43,0x34,0x15,0xe6,0x74,0x4c,0x80,0xae,0xb9,0xd0,
+0x3a,0xd0,0xe5,0x6f,0x5c,0x90,0x21,0xcc,0xe0,0x6d,0x8f,0x6c,0x4a,0x1e,0x98,0x6f,
+0x73,0x4d,0x37,0xf2,0x53,0xea,0xf5,0x7a,0x3a,0x06,0x78,0xf3,0xaf,0xee,0xed,0x7d,
+0x72,0xeb,0xba,0x29,0x7f,0x9f,0x9c,0x1c,0x9f,0x76,0xe4,0x77,0x95,0x2d,0xc7,0xe6,
+0x31,0xa4,0x9d,0x76,0x6a,0x80,0x9b,0x35,0x28,0x77,0x53,0x46,0xc0,0x5e,0x03,0x18,
+0x55,0x8f,0x5d,0x13,0xcf,0xfd,0x2c,0xd5,0x61,0x23,0x98,0x05,0x86,0x95,0x0c,0xef,
+0x22,0x95,0x4f,0xb3,0xdd,0x22,0x5d,0x0d,0x00,0x4d,0x12,0xcb,0x19,0x70,0x8f,0x38,
+0x0b,0x03,0x12,0xe4,0x61,0xff,0x32,0x84,0x3d,0x2c,0xeb,0x5e,0xa4,0x0b,0x26,0xed,
+0x0b,0x47,0xb0,0x00,0xfe,0x82,0x41,0xb8,0xde,0xc2,0x41,0xdc,0xbc,0x7f,0x17,0x2e,
+0xee,0x6c,0xa2,0x29,0xcb,0xb3,0x58,0xc1,0x92,0x04,0xc0,0x67,0x17,0x26,0x9d,0xc0,
+0x68,0xe8,0x25,0x78,0xe3,0x45,0x7d,0x42,0x50,0x8b,0x23,0x47,0xda,0x2c,0xcb,0x80,
+0x20,0x2f,0x18,0xce,0xb9,0x9b,0x22,0x78,0x86,0x21,0x8b,0x59,0x79,0xc1,0x44,0xe9,
+0x5b,0xf0,0x04,0xd0,0x93,0x69,0x42,0x07,0x07,0x76,0xe1,0xb9,0xa1,0xb6,0x70,0x4f,
+0x62,0xfc,0x20,0xc2,0x83,0x68,0xf0,0x16,0xc1,0x8f,0xc4,0x8d,0xcd,0xe4,0xe5,0x5b,
+0x83,0xcc,0x68,0x05,0x8e,0x37,0xbc,0x3e,0xb1,0x11,0x24,0x84,0xdb,0x9e,0xd4,0xc8,
+0x29,0x45,0x67,0x3c,0xe6,0x61,0x17,0x66,0x89,0x5b,0x24,0x87,0x7b,0x8c,0xeb,0x2a,
+0xa3,0x00,0x2a,0x90,0xd4,0xdf,0xd4,0xd4,0x94,0x53,0x8b,0xdc,0x4f,0xd5,0x00,0xb2,
+0x37,0x69,0xce,0x10,0xc7,0x48,0x77,0xc3,0x89,0x24,0x2d,0xa5,0x10,0x4a,0xc0,0x6f,
+0x14,0x55,0x89,0x5d,0x62,0x1e,0x83,0xab,0xe4,0x7a,0xa3,0x3b,0x36,0xe2,0xc9,0x2c,
+0x61,0xd2,0xc1,0xbb,0x59,0x1d,0xa5,0x57,0xa5,0x81,0xf5,0xe4,0x7c,0xeb,0xf3,0x36,
+0xba,0x49,0x66,0x82,0x3e,0x39,0x41,0x1e,0x43,0xb8,0x29,0xb1,0x17,0x87,0xbf,0xca,
+0x2b,0x8d,0xd6,0xfb,0xce,0xfb,0xeb,0x35,0xfa,0x47,0xb7,0x47,0x11,0x51,0xde,0x87,
+0x31,0xfb,0xc3,0xbb,0x8f,0x85,0xaf,0x8e,0xdc,0x2a,0x29,0x35,0x3b,0x1c,0x41,0x68,
+0xc2,0x2d,0x03,0xcd,0xd3,0x0b,0xc8,0x7d,0xf8,0xf1,0xc3,0xdb,0x78,0xac,0x08,0x4f,
+0x0d,0x60,0xf0,0x30,0xf6,0xaf,0x94,0x06,0x5d,0xbd,0xa3,0x79,0xcf,0xc7,0x3e,0x54,
+0x48,0x40,0x0d,0xf0,0x1a,0x03,0x72,0x5d,0xca,0xa5,0xbb,0x2f,0xc8,0x82,0x40,0x42,
+0x59,0x1e,0x65,0x21,0x3e,0xde,0xf2,0x03,0x6a,0x4d,0x64,0x22,0x12,0xb9,0x03,0xe3,
+0x2d,0x82,0xe7,0x3c,0x44,0x79,0xea,0x20,0x69,0xe0,0x3a,0x37,0xef,0x9c,0xaf,0xb2,
+0xf0,0xfc,0x1a,0x0f,0x4c,0xba,0x91,0x56,0x3b,0x4f,0xe2,0xd5,0x3e,0x86,0x8d,0x98,
+0x38,0x0a,0xb4,0xe0,0x9b,0x04,0x30,0x2d,0xdb,0x26,0xa5,0x0c,0xf1,0x0c,0x86,0xf2,
+0x0c,0xf2,0x5c,0xca,0x4a,0x4d,0x17,0x2e,0xd1,0xe2,0x9c,0xa4,0x56,0xad,0x9c,0xa1,
+0x2b,0x75,0xd8,0x82,0xc4,0x8b,0x72,0xe5,0xf4,0x35,0x21,0x0a,0x41,0xc6,0x4d,0x20,
+0x6f,0x98,0x1b,0xaa,0xb8,0x06,0x05,0x92,0x10,0x2b,0x48,0x7e,0x2a,0x50,0x04,0x96,
+0x64,0x31,0x3a,0x4b,0x76,0x0e,0x45,0xb6,0xc0,0x86,0x53,0x40,0x91,0xc3,0x99,0x39,
+0xec,0x3e,0x1e,0x4c,0x0c,0xad,0x56,0xaf,0xfc,0xb9,0x15,0x54,0x36,0x6a,0x5a,0xad,
+0xd6,0xa6,0x7f,0x75,0x0d,0x8b,0x07,0xcc,0x65,0x24,0xf4,0x71,0xe2,0x0f,0x41,0xe9,
+0x8a,0xa2,0x28,0x09,0x36,0x35,0xe1,0x67,0xec,0x0a,0x03,0x96,0x06,0x77,0x36,0x36,
+0xb0,0xa1,0xc1,0xc6,0x1b,0x75,0x03,0x2b,0xbe,0x7f,0x18,0xd0,0xa6,0x81,0xf9,0xfe,
+0x08,0xbe,0xb4,0xe5,0xe5,0x25,0xb2,0x3a,0x60,0x26,0xf4,0xcb,0x24,0x6f,0x3d,0xd6,
+0xe9,0xbd,0x5c,0x4b,0xe9,0x8e,0x4f,0xa7,0x8a,0xc9,0xcb,0x1d,0xad,0x1e,0x2c,0xcc,
+0x98,0x69,0xf5,0xb1,0x65,0xe7,0xbc,0x2f,0x58,0x62,0xf5,0x96,0xa1,0x05,0x8a,0x3a,
+0x66,0x4b,0x00,0x64,0x24,0x81,0xc6,0x18,0x5b,0x25,0x4b,0x08,0x53,0x8d,0xcd,0x3e,
+0x05,0x44,0x9c,0xb8,0x1e,0x4a,0x73,0xa9,0x93,0x13,0xd5,0x14,0xe4,0x2e,0x65,0xd7,
+0x09,0xf6,0x2c,0xba,0x5e,0x86,0x1d,0x01,0xe0,0x30,0x4b,0x9d,0x03,0x0c,0xc9,0x25,
+0x11,0x80,0xf4,0x35,0x03,0x44,0x3a,0xe5,0x70,0x87,0xbc,0x24,0xbb,0xec,0x87,0x03,
+0x87,0x21,0xa8,0x12,0xe5,0x94,0x4f,0x53,0x5e,0x04,0x20,0x13,0xfd,0x13,0x2b,0xc3,
+0xdd,0x6e,0xf6,0xbd,0x1c,0xcb,0xf8,0x50,0x8e,0x50,0x47,0x11,0xde,0x46,0xcc,0xc7,
+0x25,0xf2,0x5d,0x35,0x75,0xca,0x54,0x69,0xc5,0xe0,0xcf,0x56,0x0b,0xc8,0x3c,0x06,
+0xe4,0xaf,0xd2,0x02,0x33,0xa0,0x77,0x95,0x41,0x08,0x85,0xa3,0x44,0x2e,0x71,0xc9,
+0x35,0x88,0x7b,0x4c,0xc6,0xd9,0x0a,0xc9,0x85,0xe6,0x9b,0x26,0xe4,0x32,0x74,0x69,
+0x95,0xaf,0x47,0xe1,0x21,0x14,0xef,0x47,0x93,0x31,0x59,0xcf,0xb1,0xf1,0xd3,0xb8,
+0x00,0x8a,0x2e,0x85,0xff,0x3f,0xea,0xf3,0xeb,0x93,0x31,0x22,0x9f,0x38,0xae,0xd4,
+0xa9,0x3a,0x71,0x4c,0xe6,0x6a,0x76,0x68,0x3c,0x22,0x3f,0xe8,0xa3,0x81,0x07,0x32,
+0xe7,0x02,0x38,0xfe,0x00,0x68,0x3a,0xf0,0x36,0xe1,0x60,0x93,0x4e,0x48,0x63,0xde,
+0xa1,0xaa,0x82,0x0f,0x2c,0x74,0xe2,0xed,0x58,0xbb,0x1d,0x0b,0xd1,0x06,0xe4,0xde,
+0x75,0x4b,0x94,0xa4,0xd0,0x5d,0xb8,0xc3,0x66,0x87,0x97,0x9f,0x8b,0xc4,0xf3,0x39,
+0xc4,0xb6,0xbc,0xbc,0xa0,0x20,0xbe,0x7e,0xf4,0xd8,0xea,0xd3,0xcb,0x21,0xb0,0xed,
+0x4d,0x10,0x25,0xd0,0xf3,0x03,0xbc,0x56,0x97,0x9a,0xf7,0x52,0x46,0x90,0xdf,0xaf,
+0xb3,0xe7,0xf3,0xc9,0x49,0xda,0x72,0xee,0x3c,0x56,0x81,0x02,0xd0,0x61,0xf3,0xc7,
+0xa0,0xbc,0x12,0x39,0xf7,0xc8,0xa1,0x11,0x18,0x21,0xae,0x1f,0x12,0x1d,0x39,0xbb,
+0xc6,0x18,0x9f,0x7c,0xba,0xd8,0x31,0x76,0x9a,0xf1,0x0c,0x87,0x21,0x92,0x70,0xa4,
+0x26,0xe1,0x47,0x16,0x6e,0x61,0x28,0xb3,0x47,0xb9,0x33,0x12,0x45,0x7c,0xc0,0x7d,
+0x80,0x78,0x8a,0xbf,0x98,0xe0,0xd2,0x83,0xe4,0xd9,0xa8,0x19,0xe6,0x76,0x09,0xe6,
+0x30,0xa4,0x2e,0x48,0x2d,0x15,0xb4,0x82,0xb6,0xe9,0xba,0xd0,0xa8,0x3b,0x6a,0x0f,
+0xbb,0x43,0xa6,0xc1,0xd4,0xc2,0x18,0xd1,0x3a,0x98,0xe3,0x9d,0x68,0xb7,0x13,0x61,
+0x25,0x40,0x1d,0x7d,0x0a,0x0b,0x01,0xe7,0x86,0xc7,0x6c,0x76,0x3c,0xb8,0x0e,0x11,
+0x88,0x3c,0x1e,0x1e,0x92,0x1e,0x91,0xd2,0x60,0x79,0xf9,0x99,0x69,0xf6,0xd0,0x31,
+0xce,0x1f,0x64,0x51,0xf0,0x30,0x1c,0xf7,0x14,0x40,0x80,0xcb,0x4c,0xd8,0xd3,0xd1,
+0xd1,0xf1,0x00,0xf5,0xde,0x2b,0xc1,0xf5,0x07,0x01,0x1a,0x21,0x17,0x31,0x76,0xe8,
+0x53,0x70,0xa9,0xa7,0x26,0x40,0x50,0xdf,0xa2,0x76,0x6e,0xc0,0x52,0x1d,0x97,0xf0,
+0x02,0x1d,0x6f,0x59,0x0f,0x74,0x4d,0x6f,0x49,0xe5,0x8a,0xf0,0x26,0xa2,0x28,0x7a,
+0x80,0x30,0x5b,0x7e,0x67,0x0a,0x76,0x30,0x71,0xf3,0xd1,0xdc,0xa7,0x96,0x04,0xf1,
+0xa1,0x05,0x36,0x61,0xe4,0x7d,0x7e,0x06,0x78,0x8b,0xa4,0x9c,0x94,0x4b,0x60,0x91,
+0x70,0x9d,0x13,0x62,0xea,0x0d,0x72,0x20,0x7b,0x6e,0xc9,0x31,0xe8,0x3e,0x1b,0x5e,
+0x2e,0xed,0x43,0xbe,0x2a,0x9f,0xfa,0x98,0x11,0xf9,0x05,0xe0,0x1e,0x16,0xd3,0xf1,
+0xcb,0xc4,0xd1,0xc5,0x54,0xf0,0xdd,0x2d,0xed,0x2f,0x2f,0xef,0x23,0x9c,0x1d,0x80,
+0xd8,0x53,0x60,0x48,0x37,0xc4,0x60,0xd0,0xd0,0x3e,0xc9,0x1f,0x20,0xa1,0x45,0x73,
+0xca,0x97,0xcc,0x4c,0x09,0x2b,0xa9,0x26,0xe4,0x97,0xdb,0x4b,0x68,0xff,0x29,0x7a,
+0xcc,0xb5,0x94,0x1b,0xcd,0x53,0x5c,0x61,0xcc,0x61,0x2a,0xdf,0x2a,0x41,0x65,0xc5,
+0x02,0x5b,0xb9,0xa6,0x51,0x14,0x12,0x33,0x64,0xee,0x25,0x4e,0x5d,0x62,0x22,0xd9,
+0x2e,0x03,0xb2,0xd8,0xc9,0x4f,0x42,0x07,0x23,0xc0,0xe6,0xe7,0x61,0x97,0xbc,0x72,
+0x32,0x00,0xdf,0xd0,0x68,0xc3,0xde,0xa2,0x3b,0x01,0x25,0xfd,0x5e,0xa8,0xc1,0x9e,
+0x42,0x57,0xd7,0x35,0x8e,0xa6,0x81,0x7f,0x57,0x4b,0xd0,0x98,0x97,0x68,0xb8,0x62,
+0xd8,0xc3,0x7b,0x1c,0x2e,0x02,0x3d,0x88,0xed,0x50,0x4c,0x51,0x76,0x32,0x60,0x4f,
+0x32,0x6e,0x68,0x57,0xc2,0xa3,0x61,0xd9,0x50,0x91,0x71,0x19,0x47,0x9f,0xe0,0xf9,
+0x19,0x10,0x56,0xfe,0xc1,0xaa,0x85,0x9d,0xca,0x1a,0x1a,0xec,0xb0,0x9e,0xe8,0x86,
+0xc2,0x8c,0xe1,0x30,0x97,0xbd,0x53,0xa7,0x8a,0x55,0x40,0x14,0x80,0xbf,0xad,0xd0,
+0xb7,0xe4,0x07,0xd0,0xe2,0x48,0xec,0xc8,0x11,0x41,0x86,0x04,0x87,0xde,0x28,0x95,
+0x02,0x97,0xd9,0x13,0x14,0xe0,0x61,0x67,0x88,0xed,0x0b,0xae,0x38,0xc8,0x9f,0x3e,
+0xa0,0x19,0x02,0xc7,0x05,0xe1,0x3c,0x21,0xf4,0xe0,0xda,0x97,0x0b,0x5a,0x20,0x08,
+0xb1,0x19,0x0a,0xeb,0xd7,0xa1,0x6d,0x32,0xb3,0xd2,0x40,0x44,0x81,0xe2,0xe5,0xee,
+0xf1,0xe9,0x9c,0x9c,0x59,0x87,0xdc,0x14,0x34,0x88,0xb1,0x57,0x12,0x0d,0x4c,0xce,
+0xe5,0x50,0x74,0x0d,0xdb,0x2a,0x74,0x7c,0x9c,0x81,0x2e,0xdc,0x56,0xc9,0x80,0x30,
+0x54,0xd5,0xd8,0x6e,0x45,0x9f,0x1a,0x6d,0x61,0xcd,0x52,0xc0,0x3e,0xad,0x97,0x3a,
+0xcd,0xd2,0xd1,0x23,0x9a,0x65,0x50,0x60,0x32,0x74,0x11,0x5a,0x29,0x75,0x3d,0x5a,
+0x31,0x8a,0x64,0x49,0x0f,0x5b,0x85,0x0d,0x12,0x4a,0x6d,0x29,0x20,0x83,0x4f,0x39,
+0x33,0xe2,0x3d,0xc9,0x9b,0x90,0xd5,0x8d,0x1c,0xca,0x32,0xfc,0x93,0x92,0xc3,0x64,
+0xe8,0x0a,0x12,0x14,0x2b,0x80,0x56,0xe4,0x9e,0x2c,0xe3,0xd0,0x93,0x21,0x01,0xcc,
+0x38,0xf0,0xdc,0x65,0x71,0x3b,0xe4,0x0b,0x53,0xae,0x22,0x36,0xc3,0xa9,0xb8,0xbf,
+0x22,0xf8,0x63,0xd6,0x25,0x42,0x03,0x88,0xee,0x11,0xfe,0x82,0x4e,0x1c,0xa2,0x18,
+0xf8,0xe0,0x0e,0xf7,0x1e,0x83,0x9e,0x05,0x0d,0x7b,0xa4,0xc1,0xe1,0xa2,0xa9,0xb8,
+0x2e,0x61,0x20,0x53,0x1d,0x68,0x74,0x6a,0xba,0xea,0xac,0x64,0xf9,0x93,0x52,0xf3,
+0xf2,0x67,0x1b,0x4e,0x33,0x45,0x97,0x1c,0x92,0x07,0xf9,0x13,0x28,0x12,0xce,0x9c,
+0x85,0x62,0xa7,0x5a,0x0b,0x21,0x76,0xa6,0x58,0xcf,0x8d,0x1a,0x4c,0x4b,0x20,0x0a,
+0xa3,0x66,0xbe,0xbd,0x68,0xe8,0x20,0x65,0x44,0x19,0x2d,0x1a,0x7a,0x9f,0x87,0xde,
+0xdf,0xed,0xf4,0xc5,0x09,0x40,0x7b,0xcf,0xdd,0xe9,0x23,0xf4,0x53,0x06,0xd4,0x41,
+0x6c,0xa6,0x61,0x1f,0x53,0x26,0xe9,0x03,0x78,0xe8,0xc6,0x46,0x57,0x6e,0xf5,0x69,
+0xe8,0xe3,0x56,0x3e,0xa1,0x81,0xef,0xa7,0x9f,0x7a,0x60,0xe9,0x1e,0xed,0x15,0x83,
+0x5f,0x33,0x23,0x38,0x19,0xec,0x81,0x35,0x13,0xf5,0xf0,0x2a,0x32,0xa6,0x90,0xa1,
+0x15,0xbb,0x86,0xaf,0xf4,0xe9,0xab,0xa0,0x3a,0x9c,0xfe,0x6f,0x93,0x8c,0x72,0x92,
+0x8e,0x65,0xe0,0x68,0xf1,0x47,0x39,0x44,0x70,0xa4,0x8c,0x0c,0x3b,0x4c,0xa5,0xaf,
+0x2a,0x01,0x29,0x9c,0x43,0x39,0x43,0xaa,0xa4,0x74,0xb5,0xd5,0x9f,0x3e,0x89,0x57,
+0x4e,0xf0,0xff,0xbd,0xd5,0xbe,0x62,0x17,0x44,0x55,0x78,0x55,0x19,0xf7,0xf5,0x6d,
+0x83,0x95,0x12,0x71,0x3d,0xd1,0x7f,0xe1,0x89,0x96,0xb3,0xfe,0x14,0x9b,0x34,0x57,
+0x9f,0xc4,0x68,0x23,0xdf,0x04,0xf7,0x62,0x97,0xd3,0xa6,0xe8,0x89,0x58,0xe2,0x34,
+0xea,0x98,0xcb,0x1a,0xa1,0x23,0x47,0x70,0x5b,0x56,0xde,0x1e,0x7a,0xfd,0x5b,0xcf,
+0xc7,0x25,0xfd,0xc9,0x13,0x1b,0xd8,0x5b,0xe1,0xdf,0x86,0x5e,0x78,0xcb,0x94,0x3c,
+0x7c,0x38,0x13,0xf8,0xca,0x09,0xb1,0xcf,0x54,0x06,0x51,0xe7,0x4d,0xd6,0x38,0xef,
+0xa1,0xdc,0x09,0x4a,0x69,0xac,0x51,0x3e,0x08,0x48,0x62,0x24,0x97,0x85,0xdb,0x85,
+0x3a,0x62,0x7e,0x31,0xda,0xdc,0x0e,0x9a,0x69,0x33,0x07,0x8e,0xdd,0x39,0x83,0xa1,
+0x7c,0xfb,0x33,0x18,0x10,0xa7,0x8d,0xd4,0x0e,0xf2,0x67,0x40,0xd6,0xbe,0x34,0x7b,
+0xf0,0x89,0x81,0x00,0xd3,0xd4,0xbe,0x01,0xee,0x51,0x60,0xe1,0xe9,0xf1,0xa1,0xd6,
+0xf6,0xbc,0x72,0x52,0xcd,0xa1,0x74,0xe3,0x8d,0xec,0xf7,0x33,0xd7,0xaa,0xbc,0x7b,
+0x4d,0x27,0x59,0x01,0xe5,0x20,0x53,0x42,0x3d,0xa3,0x1c,0x12,0xd0,0x4c,0x9b,0xea,
+0xd8,0xb0,0xe9,0x96,0x36,0x2e,0x61,0x61,0x43,0xf0,0xae,0x91,0x8f,0xfe,0x51,0x3a,
+0xb7,0x2e,0x24,0x16,0xf0,0x0d,0x57,0xca,0xcf,0x8e,0x23,0x56,0x73,0x17,0x89,0x72,
+0x05,0x1c,0x94,0x8f,0x31,0x66,0x04,0x65,0x4a,0x0b,0x8a,0x92,0x05,0x3b,0xf2,0x60,
+0xa6,0x13,0x95,0xae,0xf4,0x5b,0x91,0x03,0xf9,0x49,0x7d,0xa5,0x5b,0x96,0x82,0x5e,
+0x11,0x04,0x7c,0xec,0x40,0x9b,0x11,0x40,0xea,0x0d,0x0a,0xb8,0x81,0x04,0xf7,0x5a,
+0xce,0x71,0x2f,0x0f,0x93,0x71,0x76,0xbc,0xdd,0x8e,0x27,0x58,0x00,0x24,0x38,0xa4,
+0x14,0xa4,0x09,0x8f,0x87,0x8b,0x23,0x94,0x2f,0xee,0xb9,0x3b,0xf5,0x5d,0x85,0x71,
+0xfa,0x96,0xec,0x49,0xd7,0x79,0x5a,0xa9,0xf0,0x9a,0x9b,0x0b,0x9e,0x2a,0xcc,0xdb,
+0x82,0x0a,0x33,0xa1,0xb8,0x5d,0x0a,0x07,0x84,0x82,0x03,0x35,0x4a,0x05,0xf0,0xfe,
+0x19,0x75,0x68,0xd2,0x1c,0x9c,0xae,0xe2,0x8d,0x35,0x90,0x6e,0x3b,0x7d,0x8c,0xc0,
+0xe5,0xde,0x3e,0xc2,0xc9,0x75,0xe9,0x8e,0xe0,0x57,0x97,0x8c,0x97,0x37,0x04,0xb0,
+0x06,0x23,0x81,0xf8,0x4c,0x71,0x43,0xd6,0x18,0x63,0x46,0xc1,0xc9,0x75,0x90,0x6d,
+0x55,0x9b,0x9e,0x03,0xab,0x77,0xaf,0xe8,0xda,0xc8,0x73,0x7d,0x0b,0xf1,0x2c,0xec,
+0x77,0xd3,0xb5,0xd5,0xab,0x4f,0x82,0x2b,0xed,0x2b,0x3a,0xff,0xee,0xa4,0x2a,0x03,
+0xb7,0x59,0xba,0xf2,0x24,0xd8,0x46,0x04,0xdc,0xbe,0x86,0x27,0x19,0x51,0x85,0x74,
+0xa8,0x98,0x74,0x28,0x3c,0x67,0x08,0x1c,0x98,0xfa,0x15,0xbc,0x01,0x49,0x96,0xbd,
+0x6c,0x04,0x0f,0x27,0x43,0xef,0xc2,0x01,0xcc,0xf4,0x7f,0xf5,0x4a,0x5b,0xbf,0xaa,
+0x2f,0xea,0x97,0x7b,0xd3,0xb2,0x50,0xc0,0x55,0xa8,0x73,0xe8,0xd0,0xa1,0x67,0x27,
+0xb7,0x57,0xb9,0xf4,0xea,0x3c,0x0b,0xc6,0x89,0xa8,0xe4,0x65,0xcd,0x26,0x05,0x3d,
+0x4d,0xd1,0xfb,0xf2,0x69,0xc2,0x56,0x71,0xd1,0x0a,0xc3,0x27,0x27,0x76,0xb7,0x04,
+0x7b,0x70,0x0c,0x73,0x6f,0xf5,0xd0,0x8a,0x02,0x52,0x70,0xe8,0xe5,0x89,0x7c,0x50,
+0x35,0x35,0x21,0x2b,0x3c,0xed,0xda,0xd0,0x5c,0x3d,0x83,0xa4,0xde,0xfa,0x29,0xd1,
+0x38,0x9d,0xfa,0x87,0x9e,0xbd,0xef,0x27,0xf2,0x19,0x99,0x6b,0x81,0x0f,0x09,0x13,
+0x76,0x3c,0xfe,0x7b,0x03,0x2c,0x05,0xc8,0x3f,0x39,0x30,0x53,0xd2,0x33,0xc5,0x62,
+0x48,0x27,0xa8,0xb9,0xb1,0xbe,0x49,0x0f,0xf5,0xc0,0x2e,0xd8,0x37,0x97,0x4a,0x2e,
+0x9e,0xe8,0x24,0xc3,0x17,0xf4,0x73,0x2f,0xc2,0xe9,0x8d,0x60,0x3c,0xc7,0xeb,0x2e,
+0xd5,0xdb,0x4b,0x35,0x0a,0x52,0xc6,0xe1,0x44,0xb6,0x32,0x78,0xbb,0x34,0x3f,0xd6,
+0x6c,0x8f,0xe4,0x59,0x98,0x20,0x5c,0x08,0x51,0x9a,0xa5,0xf1,0x43,0x6e,0x7e,0xe2,
+0x4f,0x48,0xe6,0xc4,0x93,0x2b,0xfc,0xf7,0x0f,0x8a,0xdd,0x6b,0x2e,0x0a,0x93,0x10,
+0xc0,0xf6,0xa4,0xcf,0xf2,0x16,0xe4,0x52,0x78,0x1f,0xb4,0x75,0x64,0x20,0x76,0x1b,
+0x42,0x2e,0xb4,0x9e,0xe5,0x65,0xe8,0x4b,0x03,0x45,0x90,0x40,0x44,0x16,0xcd,0x48,
+0x7f,0xe1,0xe1,0xb8,0x70,0x6b,0x2d,0xff,0x17,0x1f,0x72,0x7f,0xb3,0x80,0xec,0x7c,
+0x60,0xbd,0x87,0x38,0x32,0x1d,0x93,0xdf,0xa0,0x18,0x59,0xcf,0x4b,0xcf,0x56,0xea,
+0xeb,0xa0,0x53,0xd5,0x74,0x36,0x9f,0xfc,0xdb,0x77,0x56,0xe9,0x99,0x49,0x84,0xe6,
+0x54,0x70,0x40,0xa7,0xab,0xd8,0xcb,0xd6,0xe3,0x5a,0x14,0x59,0x47,0x99,0x05,0x03,
+0x7f,0xad,0x60,0x88,0x48,0x0d,0x68,0x3c,0xa6,0xb5,0x83,0xb8,0x48,0x9e,0xb7,0xbe,
+0x12,0xee,0x9e,0x9c,0x58,0x3b,0x81,0x2c,0xcd,0x3a,0x00,0x9d,0xc8,0x75,0x15,0x0f,
+0x8d,0xd0,0x95,0xdf,0x1d,0x7b,0x65,0xbc,0x0b,0x7e,0x26,0x9f,0x1e,0x29,0x23,0x75,
+0x72,0xe2,0x19,0x98,0x7a,0xd7,0x6b,0xef,0xe3,0x09,0xd5,0x6c,0x1c,0xfd,0x22,0x69,
+0xf1,0x21,0xa6,0xe4,0x2c,0xb7,0xe3,0x6c,0x2b,0x93,0x5c,0xc7,0x11,0xdc,0x0a,0x6d,
+0x43,0x9d,0xde,0x25,0x01,0x47,0x7e,0x4a,0x79,0x44,0x0e,0xc2,0x65,0x82,0xa2,0x87,
+0x36,0x14,0x56,0x66,0xa7,0x37,0xb2,0xc6,0xdd,0x52,0x00,0x97,0xdc,0x38,0x9b,0x04,
+0x56,0x41,0xd4,0xdf,0xd1,0x6f,0xb0,0x5d,0x18,0x87,0x82,0xf8,0x90,0x04,0xa9,0xef,
+0x16,0x2b,0x60,0xd6,0xf2,0xd5,0x02,0x0b,0x27,0x77,0x48,0xb6,0x0c,0xfa,0xd3,0x00,
+0x40,0x98,0xb0,0x2b,0x0b,0x7c,0xe1,0x39,0x21,0x3c,0xd8,0x00,0x6b,0x02,0x4f,0xdd,
+0x6d,0x0f,0xf1,0xb8,0x42,0x36,0x75,0x7a,0x65,0x44,0x8e,0x3a,0x01,0x5e,0xb0,0x22,
+0x59,0x99,0x9f,0x95,0x01,0x43,0x59,0xfe,0x53,0xe4,0x27,0x78,0x96,0x17,0x47,0xed,
+0x02,0x7a,0x84,0xe4,0xae,0x0c,0xdb,0x45,0x42,0x35,0x5d,0x7a,0x0f,0xf6,0x9c,0x4a,
+0xe8,0xf8,0xbc,0x6a,0xe8,0xbb,0xcc,0x08,0xe5,0x3f,0xdb,0x00,0x8b,0xc0,0x0e,0x22,
+0x4b,0x5e,0x00,0x39,0x62,0xb7,0xc2,0x25,0x1d,0x9a,0x7a,0xb1,0x2b,0x78,0x4d,0x4d,
+0x5d,0x61,0x6d,0x25,0x84,0xa5,0xa3,0x66,0x44,0xd8,0x81,0xa8,0x27,0x73,0x8b,0xf0,
+0x46,0x2c,0x0a,0x05,0xba,0x67,0xca,0x12,0x13,0x11,0x43,0x4b,0xb1,0x7a,0x47,0x49,
+0xed,0x02,0xb2,0x79,0xca,0x0d,0x61,0x2a,0x8a,0x4e,0x11,0xb6,0xe8,0x06,0x01,0x16,
+0x07,0x2b,0xc6,0x4f,0x2a,0x49,0xc4,0xe9,0x6d,0x4e,0xe9,0xed,0x91,0x89,0x75,0xc8,
+0xbf,0xb9,0x24,0x17,0x10,0x05,0x58,0x84,0x7c,0x01,0x3d,0x90,0x71,0x00,0xeb,0x35,
+0xd6,0x40,0x66,0xcb,0x6b,0xbf,0xed,0x39,0x0d,0x4d,0xce,0x94,0xb9,0x17,0xf4,0x32,
+0xfa,0xa3,0x29,0xd8,0x52,0xc4,0x65,0x82,0x30,0x01,0xbb,0x20,0xd6,0x5c,0x05,0x07,
+0x96,0xcb,0x3f,0x3a,0xd5,0x43,0x7e,0x12,0x2b,0x7b,0x3b,0x87,0x6f,0x77,0xaa,0x05,
+0xe3,0x76,0x4c,0x6c,0x5f,0xc4,0xb7,0xa4,0x26,0xad,0xd4,0x1b,0x20,0xa4,0x86,0xee,
+0xf1,0xa9,0x94,0x1f,0x84,0xc0,0xcb,0xef,0xdf,0x98,0x60,0x2e,0x78,0xb1,0xa3,0x7d,
+0x8c,0x47,0x73,0xda,0x57,0xb6,0xe3,0x03,0xe2,0x52,0x74,0x9f,0x41,0x6f,0xd4,0x70,
+0x10,0x79,0x7e,0x7f,0x80,0x3b,0xee,0xf4,0x7d,0xe0,0x7b,0x87,0x70,0x75,0x9a,0x3a,
+0xcc,0xcd,0x5a,0x7d,0x63,0xab,0xc1,0x3f,0x74,0xed,0xf9,0x68,0x18,0xc0,0xdc,0xcf,
+0x6f,0x5e,0xae,0xae,0x1e,0x1e,0x1e,0x56,0x0f,0x9b,0xd5,0x30,0xea,0xaf,0xe2,0xda,
+0x42,0x6d,0x15,0x0d,0xe2,0xce,0x33,0x99,0xff,0xc1,0xc3,0xf5,0xbb,0x74,0x61,0x48,
+0x5b,0x6b,0xb5,0x0e,0x5a,0xad,0xcd,0x67,0x68,0xa6,0x55,0xd9,0xd2,0x1a,0xcd,0xa4,
+0xd2,0x68,0x6a,0x5b,0x83,0x4a,0xb3,0x51,0x7b,0x56,0xa9,0xb7,0xb4,0x1a,0xd2,0x95,
+0xad,0xa4,0xb2,0x85,0xdf,0x07,0x95,0xf5,0xd6,0xb3,0x1a,0xe5,0x52,0x2a,0xa1,0x82,
+0x41,0xa3,0xd1,0x3a,0xa8,0x34,0xd7,0x1a,0xb3,0xf9,0x80,0xa4,0xda,0x68,0x51,0xdb,
+0x4a,0xa8,0xe1,0x17,0xa3,0x56,0x7d,0x5d,0x53,0x90,0x9b,0x95,0x8d,0x66,0xa5,0xb1,
+0x81,0xee,0xea,0x5b,0x9b,0xfc,0x1f,0x09,0x99,0xa7,0xe1,0x0b,0xb9,0x1a,0x95,0x6c,
+0x34,0x35,0x14,0x20,0x87,0x7f,0xc9,0xdc,0x5c,0x16,0x01,0xc8,0x16,0xa8,0x1a,0x60,
+0x5f,0x8c,0x30,0x24,0xad,0x86,0x19,0x35,0x6a,0x5b,0x15,0xdc,0x79,0xd2,0x9a,0x9b,
+0x6b,0xd5,0x35,0xcc,0x6b,0x63,0xab,0xba,0x86,0xaa,0xf8,0x59,0xe1,0x2c,0xb8,0x53,
+0x9b,0xe2,0x8b,0xc0,0x44,0xb9,0xfc,0x99,0x96,0x64,0x30,0xb2,0xa6,0x68,0x85,0xeb,
+0x67,0x8d,0x13,0x94,0x28,0x97,0x3f,0x29,0xcd,0x30,0x2f,0x74,0xa8,0xfb,0x43,0xc8,
+0x14,0x57,0x56,0xf2,0x31,0x27,0x2b,0x24,0x87,0xe0,0x70,0x3f,0xe8,0x5f,0xbd,0x82,
+0xf8,0x4d,0x3c,0x81,0xc4,0x4f,0x5b,0xbc,0xc2,0x7b,0xf5,0x70,0x4f,0x93,0x73,0x98,
+0x3e,0xc4,0x75,0xa5,0xd7,0x67,0x5f,0x40,0x84,0x2b,0x3c,0xb7,0xf2,0xe3,0x91,0xc8,
+0x26,0x96,0xa1,0xd1,0xda,0x3c,0x00,0x4e,0x09,0xa3,0xeb,0x58,0x18,0xad,0x05,0x64,
+0xb6,0xd6,0x80,0xf6,0x41,0xa5,0xb1,0xb6,0xfe,0xac,0xd2,0x58,0x07,0x95,0xb4,0xd6,
+0x50,0x44,0xab,0x89,0xaf,0x83,0x0a,0x83,0x53,0x01,0xa7,0x13,0x2e,0x1c,0x10,0x30,
+0xc1,0xa2,0x01,0xe4,0x27,0xdc,0xd2,0x8b,0x51,0x13,0x04,0x55,0x5b,0x5b,0x1f,0x56,
+0x1a,0x9b,0x1a,0x04,0x02,0x10,0x1d,0x75,0xd3,0xa8,0x61,0xad,0x44,0x47,0xf8,0x98,
+0xed,0x0a,0x2b,0x48,0x9d,0x11,0x10,0xba,0xa3,0xaa,0x15,0x51,0x95,0xbb,0xdc,0xe0,
+0xdc,0xa4,0xd5,0x62,0xb0,0x01,0x51,0xb2,0xe8,0x16,0x19,0xdc,0x31,0x00,0xd0,0xf6,
+0xdc,0xd2,0xe0,0x0d,0xa5,0x85,0xeb,0xf2,0x5f,0xf8,0x75,0x72,0xbc,0xa4,0xc8,0x0b,
+0x21,0x54,0xaa,0x1f,0x6d,0x05,0x1a,0x5b,0x5b,0xda,0x66,0xbd,0x39,0xac,0xb4,0x1a,
+0x0d,0x0d,0xff,0x81,0x9f,0x2d,0x81,0x55,0x9a,0x8a,0x40,0x3b,0x10,0xb0,0xd5,0xa2,
+0xff,0x54,0x28,0xff,0x01,0x77,0x8c,0xfb,0x21,0xb6,0x39,0x10,0xdc,0x78,0xc6,0x25,
+0x98,0x36,0x61,0x8e,0x17,0x60,0x58,0x6f,0x6d,0x60,0xd7,0x6f,0x80,0x64,0xd7,0x40,
+0xf6,0x6b,0x8b,0x20,0x6a,0xe0,0x2c,0x5c,0x17,0x9d,0xd1,0x3f,0x5a,0x11,0xb9,0x6e,
+0xf5,0x56,0x5d,0xdb,0x6c,0xf2,0xb6,0xff,0x77,0xbb,0x99,0x39,0x52,0x6c,0x21,0xcd,
+0xfc,0x06,0x37,0xfd,0x3e,0xa5,0x40,0x13,0x6c,0x5d,0xf5,0xe0,0xd2,0x8f,0x46,0x33,
+0xeb,0xeb,0x2d,0x6d,0x73,0x6b,0x9d,0x98,0xfa,0xda,0x7a,0x65,0x1d,0x1b,0x6a,0x6b,
+0x13,0xeb,0x86,0xdc,0x06,0xd6,0x1f,0xff,0x35,0x7c,0x83,0x5e,0x36,0xb5,0xf5,0x3a,
+0xfd,0x02,0x08,0xe5,0x12,0x04,0xff,0xa7,0x6f,0x51,0x42,0xcb,0xbb,0xd9,0xd0,0x36,
+0x69,0xa3,0x35,0x5b,0x60,0xf9,0x8d,0x75,0x7c,0x35,0x36,0x6a,0xcf,0x5a,0x60,0x9d,
+0x0d,0x6d,0x0b,0x9c,0x15,0x4c,0x20,0xd9,0x6c,0x62,0x4b,0xad,0xd5,0x9e,0x21,0xab,
+0xd5,0x40,0x2f,0x48,0x6d,0xe1,0x07,0xe8,0x93,0x78,0xee,0x26,0x3e,0x9f,0x55,0xd0,
+0xdd,0x06,0xda,0x5f,0xab,0x23,0xa7,0xbe,0x59,0x4f,0x2a,0x6b,0x54,0xa9,0xd1,0xe0,
+0xc3,0xa7,0xd6,0xd2,0x5a,0xb4,0xe5,0xc1,0xcb,0x51,0xad,0x5e,0xa3,0x6a,0xf5,0x75,
+0x02,0x90,0x3f,0x45,0x0e,0x95,0xe6,0x00,0x2b,0xa2,0x0e,0xc1,0x81,0xc6,0xb9,0x0e,
+0xfd,0xc4,0x24,0xa8,0x26,0x15,0x82,0x5a,0x51,0x85,0xa6,0xd1,0xa8,0x73,0x87,0x60,
+0x4d,0x84,0x0b,0x1a,0x05,0xa6,0x56,0x7f,0x86,0x7d,0x85,0x89,0xf0,0x38,0x71,0x03,
+0x16,0x7d,0xd3,0xe0,0x2b,0x34,0xf8,0x67,0xcd,0x7a,0xa5,0xd5,0xc4,0xe0,0x2b,0x6b,
+0xb5,0x64,0x0b,0x23,0xc5,0x0e,0x69,0x81,0xa3,0xd5,0x70,0x9a,0x11,0x1a,0xb0,0x6f,
+0x6a,0x09,0x61,0x46,0x03,0x66,0x5e,0x8c,0x70,0x36,0xd6,0x88,0x0b,0x1d,0xe0,0x37,
+0x30,0xbf,0x86,0x66,0x37,0xb5,0xad,0x1a,0x4e,0xce,0x1a,0x8e,0x02,0xfc,0x44,0x9a,
+0xfe,0x6d,0xd5,0xe8,0x18,0x05,0x48,0x65,0xad,0x21,0x0a,0x12,0x2e,0x03,0x2c,0x92,
+0xf4,0x6f,0xab,0x76,0x69,0xd6,0x84,0xbf,0x17,0x52,0x8c,0xa4,0xc6,0x33,0xb1,0xa7,
+0x1c,0x4d,0x29,0xde,0xde,0x5a,0x40,0x72,0xcd,0x3f,0x8a,0x2c,0xb1,0xd5,0xc0,0x94,
+0x37,0xd6,0x9f,0xad,0x35,0xc1,0xdf,0xb7,0x18,0x29,0xe0,0xb2,0x49,0x93,0x58,0x2d,
+0x25,0x0f,0x9a,0x9b,0x74,0x80,0xac,0x81,0x6a,0x54,0x16,0x61,0x86,0x90,0x87,0xf4,
+0x41,0x7d,0x9d,0x70,0xb6,0xbe,0x5e,0x21,0x96,0x54,0x27,0xa9,0xa0,0xde,0xd4,0x5a,
+0x1b,0x03,0x2c,0x11,0x9d,0x30,0xeb,0x74,0xc2,0x20,0x0b,0xc5,0x20,0xa9,0x0d,0xfa,
+0x3c,0xa8,0x6c,0x51,0x1d,0x2a,0x12,0x19,0x89,0x28,0x1f,0x70,0x0d,0xaa,0x40,0x0d,
+0xa1,0x2c,0x11,0x4d,0x52,0x17,0x2f,0x46,0x18,0x41,0xbd,0x01,0x79,0x65,0xb3,0x85,
+0xa6,0x1b,0x9b,0x38,0xa8,0x36,0x41,0x7e,0x90,0x68,0x58,0xbe,0xc1,0x89,0x42,0x22,
+0x8d,0xec,0x54,0x0a,0x3f,0x10,0x5f,0x58,0x30,0x3a,0xe0,0xfe,0xc0,0x30,0x35,0x16,
+0x93,0x58,0x4a,0xe2,0xbe,0xa4,0x98,0x03,0x21,0x49,0xc8,0x48,0x68,0x72,0x80,0xb6,
+0x2f,0xbd,0x86,0xbf,0xc1,0x49,0xff,0x3b,0xac,0x22,0x9e,0xad,0xa1,0x4b,0xc9,0x9f,
+0x72,0x40,0x14,0x45,0x80,0x89,0x3f,0x00,0x81,0x37,0x33,0xbf,0x20,0x49,0x40,0xac,
+0x2b,0xdd,0x99,0x58,0xb0,0xa8,0x7f,0x3c,0x01,0xb1,0xde,0xaa,0x6d,0x0e,0x40,0xaf,
+0x07,0x84,0xaf,0x01,0x51,0xee,0x01,0x4d,0x6e,0x44,0x38,0xac,0x00,0x99,0x03,0x12,
+0x23,0x65,0x21,0x7f,0x72,0x29,0xc0,0xb8,0x10,0x40,0xb2,0x8c,0xbe,0xb8,0x08,0x75,
+0x70,0x6e,0x34,0x0e,0x48,0x1a,0x58,0x20,0x51,0xd4,0xc1,0xbc,0x16,0x8b,0x14,0x04,
+0x3f,0x2b,0x52,0x30,0xf4,0xbc,0x4c,0xc1,0x9d,0xff,0x69,0xf7,0xf0,0x0e,0x72,0xe3,
+0xff,0x47,0x8c,0x20,0x05,0xd3,0xbd,0x96,0xb4,0x23,0x83,0x1b,0xf5,0xd3,0xd3,0xce,
+0xbf,0x00,0x9b,0x80,0xf6,0xd2,0xc0,0x72,0x00,0x00,};
 
 static const unsigned int dummy_align__role_js = 7;
 static const unsigned char data__role_js[] = {

+ 13 - 8
modules/HTTP_Server/http_server.c

@@ -12,7 +12,7 @@
 #include "settings_api.h"
 #include "netconf.h"
 #include "common_config.h"
-//#include "testing.h"
+#include "testing.h"
 #include "rtc.h"
 #include "rng.h"
 #include "megatec.h"
@@ -1381,14 +1381,11 @@ void HTTP_Prodate(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBuf
   /* Устанавливаем дату производства */
   SETTINGS_SetProDate(value, valueLen);
   
-  /* Устанавливаем дату следующей профилактики +1 год */
-  RTC_SetProfTime(value);
-  
   /* Пока отправляем true */
   strcpy(bufOut, "HTTP/1.0 200 OK\r\nContent-Type:text/html\r\n\r\nTrue");
   *lenBufOut = strlen(bufOut);
   
- // TEST_SetServerFlag();
+  TEST_SetServerFlag();
 }
 
 /**
@@ -1764,6 +1761,10 @@ int HTTP_ConfirmWebPwd(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *l
             sprintf(tempStr, "%d", user_id);
             strcat(bufOut, "\r\nSet-Cookie: role=");
             strcat(bufOut, tempStr);
+            if(sSettings.sRADIUS.Auth_enable)
+				strcat(bufOut, "\r\nSet-Cookie: auth=1");
+			else
+				strcat(bufOut, "\r\nSet-Cookie: auth=0");
             strcat(bufOut, "\r\n\r\n");
             strcat(bufOut,"<!DOCTYPE html><html lang=""><head><meta http-equiv=\"refresh\" content=\"0;url=/index.html\"/></head></html>\r\n\r\n");
 
@@ -1828,7 +1829,10 @@ void HTTP_LOGIN(char *bufOut, uint16_t *lenBufOut)
 	strcat(bufOut, "\r\nSet-Cookie: id=");
 	strcat(bufOut, tempStr);
 	strcat(bufOut, "\r\nSet-Cookie: role=0");
-	strcat(bufOut, "\r\nSet-Cookie: auth=0");
+	if(sSettings.sRADIUS.Auth_enable)
+		strcat(bufOut, "\r\nSet-Cookie: auth=1");
+	else
+		strcat(bufOut, "\r\nSet-Cookie: auth=0");
 	strcat(bufOut, "\r\n\r\n");
 	strcat(bufOut,"<!DOCTYPE html><html lang=""><head><meta http-equiv=\"refresh\" content=\"0;url=/index.html\"/></head></html>\r\n\r\n");
 
@@ -2474,7 +2478,7 @@ void ssl_server(void *pvParameters)
         // Id of currently logged-in user 
         uint8_t user_id;
         
-        if( DataFlag == 0 && DataFlag2 == 0 ) {
+        if( DataFlag == 0 && DataFlag2 == 0) {
         // Level of currently logged-in user 
         seclevel = 0xFF;
         for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
@@ -2492,6 +2496,7 @@ void ssl_server(void *pvParameters)
             Authenticated = true;
         else if(DataFlag2 >= 1)
             Authenticated = true;
+
        
         if ( Authenticated == false && sSettings.sRADIUS.Auth_enable == false)
         {
@@ -2991,7 +2996,7 @@ void ssl_server(void *pvParameters)
             else if (strncmp(receiveBuf, "GET /changepwd.cgi", 18) == 0)
             {
                 HTTP_ChangeUserPwd(receiveBuf, sendBuf, receivedBufLen, &sendBufLoadLen);
-                ssl_sendframes(&ssl, file.data, file.len);
+                ssl_sendframes(&ssl, sendBuf, sendBufLoadLen);
             }
             // На производстве
             else if (strncmp(receiveBuf, "GET /setProdate.cgi", 19) == 0)

+ 2 - 0
modules/Makefile

@@ -44,6 +44,7 @@ INCLUDES += -IMegaTec
 INCLUDES += -Icommon
 INCLUDES += -Imonitor
 INCLUDES += -Ilog
+INCLUDES += -Itesting
 CSRC += $(wildcard leds/*.c)
 CSRC += $(wildcard buttons/*.c)
 CSRC += $(wildcard jumper/*.c)
@@ -52,6 +53,7 @@ CSRC += $(wildcard MegaTec/*.c)
 CSRC += $(wildcard common/*.c)
 CSRC += $(wildcard monitor/*.c)
 CSRC += $(wildcard log/*.c)
+CSRC += $(wildcard testing/*.c)
 
 CFLAGS += -DOS_FREERTOS
 CFLAGS += -DHARDWARE_$(shell echo $(HARDWARE) | tr a-z A-Z)

+ 1 - 0
modules/log/log.c

@@ -16,6 +16,7 @@ const char* logsStrShortRu[] =
 	"Перезагрузка контроллера",
     "Сброс настроек",
     "Обновление ПО",
+    "Включение",
     "Смена пароля",
     "Сохранение настроек",
     "Авторизация",

+ 2 - 1
modules/log/log.h

@@ -13,7 +13,8 @@ extern char logFileBuf[FILE_BUF_MAX_LEN];
 typedef __packed enum {
 	LOG_SYSTEM_BOOT = 0x00,			// device booted
 	LOG_SYSTEM_DEFCONFIG,	// default config applied
-	LOG_UPDATE_SOFT,		//
+	LOG_UPDATE_SOFT,
+	LOG_TURN_ON,		//
 	LOG_PSW_CHANGE,		//
 	LOG_SETTING_SAVE,		//
 	LOG_LOGIN,		//

+ 10 - 10
modules/monitor/ups_monitor.c

@@ -175,7 +175,7 @@ void UPS_CriticalAlarmMonitor(void)
   // Значение параметра изменилось
   if (CriticalAlarmCurrent != CriticalAlarmOldState)
   {
-	  if(OldRO0type_Sourse == CRITICAL){
+	  if(CurrRO1type_Sourse == CRITICAL){
 		  memset(str, 0, 30);
 		  if(CriticalAlarmCurrent){
 			  SetROInt(1, 0);
@@ -188,7 +188,7 @@ void UPS_CriticalAlarmMonitor(void)
 		  SNMP_SendUserTrap(DO0_TOGGLED);
 		  log_event_data(LOG_DO0_STATE, str);
 	  }
-	  if(OldRO2type_Sourse == CRITICAL){
+	  if(CurrRO2type_Sourse == CRITICAL){
 		  memset(str, 0, 30);
 		  if(CriticalAlarmCurrent){
 			  SetROInt(1, 1);
@@ -204,7 +204,7 @@ void UPS_CriticalAlarmMonitor(void)
   }
   else
   {
-	  if(OldRO0type_Sourse == CRITICAL && OldRO0type_Sourse != OldRO0type_Sourse){
+	  if(CurrRO1type_Sourse == CRITICAL && CurrRO1type_Sourse != OldRO0type_Sourse){
 		  memset(str, 0, 30);
 		  if(CriticalAlarmCurrent){
 			  SetROInt(1, 0);
@@ -217,7 +217,7 @@ void UPS_CriticalAlarmMonitor(void)
 		  SNMP_SendUserTrap(DO0_TOGGLED);
 		  log_event_data(LOG_DO0_STATE, str);
 	  }
-	  if(OldRO2type_Sourse == CRITICAL && OldRO2type_Sourse != OldRO2type_Sourse){
+	  if(CurrRO2type_Sourse == CRITICAL && CurrRO2type_Sourse != OldRO2type_Sourse){
 		  memset(str, 0, 30);
 		  if(CriticalAlarmCurrent){
 			  SetROInt(1, 1);
@@ -281,7 +281,7 @@ void UPS_NonCriticalAlarmMonitor(void)
   // Значение параметра изменилось
   if (NonCriticalAlarmCurrent != NonCriticalAlarmOldState)
   {
-	  if(OldRO0type_Sourse == NON_CRITICAL){
+	  if(CurrRO1type_Sourse == NON_CRITICAL){
 		  memset(str, 0, 30);
 		  if(NonCriticalAlarmCurrent){
 			  SetROInt(1, 0);
@@ -294,15 +294,15 @@ void UPS_NonCriticalAlarmMonitor(void)
 		  SNMP_SendUserTrap(DO0_TOGGLED);
 		  log_event_data(LOG_DO0_STATE, str);
 	  }
-	  if(OldRO2type_Sourse == NON_CRITICAL){
+	  if(CurrRO2type_Sourse == NON_CRITICAL){
 		  memset(str, 0, 30);
 		  if(NonCriticalAlarmCurrent){
 			  SetROInt(1, 1);
-			  strcat(str, "Разомкнуто");
+			  strcat(str, "Замкнуто");
 		  }
 		  else{
 			  SetROInt(0, 1);
-			  strcat(str, "Замкнуто");
+			  strcat(str, "Разомкнуто");
 		  }
 	  	  SNMP_SendUserTrap(DO1_TOGGLED);
 	  	log_event_data(LOG_DO1_STATE, str);
@@ -310,7 +310,7 @@ void UPS_NonCriticalAlarmMonitor(void)
   }
   else
   {
-	  if(OldRO0type_Sourse == NON_CRITICAL && OldRO0type_Sourse != OldRO0type_Sourse){
+	  if(CurrRO1type_Sourse == NON_CRITICAL && CurrRO1type_Sourse != OldRO0type_Sourse){
 		  memset(str, 0, 30);
 		  if(NonCriticalAlarmCurrent){
 			  SetROInt(1, 0);
@@ -323,7 +323,7 @@ void UPS_NonCriticalAlarmMonitor(void)
 		  SNMP_SendUserTrap(DO0_TOGGLED);
 		  log_event_data(LOG_DO0_STATE, str);
 	  }
-	  if(OldRO2type_Sourse == NON_CRITICAL && OldRO2type_Sourse != OldRO2type_Sourse){
+	  if(CurrRO2type_Sourse == NON_CRITICAL && CurrRO2type_Sourse != OldRO2type_Sourse){
 		  memset(str, 0, 30);
 		  if(NonCriticalAlarmCurrent){
 			  SetROInt(1, 1);

+ 7 - 1
modules/parameters.c

@@ -1073,8 +1073,14 @@ void SetDINTypeActStr(char *str, uint8_t num)
   */
 void SetROTypeActStr(char *str, uint8_t num)
 {
+	static uint8_t OldROtype_Sourse[2] = {0};
+
+	OldROtype_Sourse[num] = sSettings.sInOuts.ro_type_source[num];
+
 	sSettings.sInOuts.ro_type_source[num] = atoi(str);
-	SetROInt(0, num);
+
+	if(OldROtype_Sourse[num] != sSettings.sInOuts.ro_type_source[num])
+		SetROInt(0, num);
 }
 
 /**

+ 28 - 9
modules/settings_api.c

@@ -73,10 +73,10 @@ void SETTINGS_SetWebParamsDef(void)
   */
 void SETTINGS_SetTempWebParamsDef(void)
 {
-	  strcpy(sSettings.sWebParams.ip, "192.168.1.2");
-	  strcpy(sSettings.sWebParams.gate, "192.168.1.1");
-	  strcpy(sSettings.sWebParams.mask, "255.255.255.0");
-	  sSettings.sWebParams.dhcpEnable = 1;
+	  strcpy(sSettings.sWebTempParams.ip, "192.168.1.8");
+	  strcpy(sSettings.sWebTempParams.gate, "192.168.1.1");
+	  strcpy(sSettings.sWebTempParams.mask, "255.255.255.0");
+	  sSettings.sWebTempParams.dhcpEnable = 1;
 }
 
 /**
@@ -88,7 +88,7 @@ void SETTINGS_SetSnmpDef(void)
   strcpy(sSettings.sSnmp.readCommunity, "public");
   strcpy(sSettings.sSnmp.writeCommunity, "public");
   strcpy(sSettings.sSnmp.sysContact, "");
-  strcpy(sSettings.sSnmp.sysName, "BT6702");
+  strcpy(sSettings.sSnmp.sysName, "BT-6702");
   strcpy(sSettings.sSnmp.sysLocation, "");
   strcpy(sSettings.sSnmp.managerIP, "0.0.0.0");
   strcpy(sSettings.sSnmp.managerIP2, "0.0.0.0");
@@ -110,6 +110,7 @@ void SETTINGS_SetInfoDef(void)
 	  strcpy(sSettings.sInfo.mac, sSys->mac);
 	  strcpy(sSettings.sInfo.serialNumber, sSys->serial);
 	  strcpy(sSettings.sInfo.productionData, sSys->proddate);
+	  strcpy(sSettings.sFlags.testState, sSys->testState);
 	  vPortFree(sSys);
   }
   else {
@@ -452,8 +453,17 @@ void SETTINGS_GetMac(uint8_t *mac)
   */
 void SETTINGS_SetProDate(char *proDate, uint8_t len)
 {
-  memset(sSettings.sInfo.productionData, 0, 40);
-  memcpy(sSettings.sInfo.productionData, proDate, len); 
+	SYS_t *sSys = NULL;
+
+	sSys = pvPortMalloc(sizeof(*sSys));
+	if (sSys) {
+	  strcpy(sSys->proddate, proDate);
+	  SYS_Save(sSys);
+	  memset(sSettings.sInfo.productionData, 0, 40);
+	  memcpy(sSettings.sInfo.productionData, proDate, len);
+	  vPortFree(sSys);
+	  SETTINGS_Save();
+	}
 }
 
 /**
@@ -461,8 +471,17 @@ void SETTINGS_SetProDate(char *proDate, uint8_t len)
   */
 void SETTINGS_SetT2OK(void)
 {
-  memset(sSettings.sFlags.testState, 0, 16);
-  memcpy(sSettings.sFlags.testState, "T2OK", 4);
+	SYS_t *sSys = NULL;
+
+	sSys = pvPortMalloc(sizeof(*sSys));
+	if (sSys) {
+	  memset(sSettings.sFlags.testState, 0, 16);
+	  memcpy(sSettings.sFlags.testState, "T2OK", 4);
+	  strcpy(sSys->testState, sSettings.sFlags.testState);
+	  SYS_Save(sSys);
+	  vPortFree(sSys);
+	  SETTINGS_Save();
+	}
 }
 
 /**

+ 1 - 0
modules/sys_api.h

@@ -39,6 +39,7 @@ typedef struct
   char  serial[SER_LEN];	// Серийный номер
   char  customer[CUST_LEN];	// Заказчик
   char 	proddate[PROD_LEN];	// Дата производства
+  char 	testState[16];
   uint32_t controlword;
   uint32_t crc;
 } SYS_t;

+ 1 - 1
modules/sys_hal.c

@@ -66,7 +66,7 @@ void SYS_WriteToFlash(uint8_t *data, uint32_t size, uint32_t crc)
 
     /* Проверяем  CRC того что было записано */
     if (checkCrc == crc) {
-      DBG printf("SYS write OK\r\n");
+    //  DBG printf("SYS write OK\r\n");
       break;
     }
     else

+ 159 - 0
modules/testing/testing.c

@@ -0,0 +1,159 @@
+/********************************* (C) РОТЕК ***********************************
+ * @module  testing
+ * @file    testing.c
+ * @version 1.0.0
+ * @date    XX.XX.XXXX
+ * $brief   Template
+ *******************************************************************************
+ * @history     Version  Author         Comment
+ * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release.
+ *******************************************************************************
+ */
+   
+#include "stm32f4xx.h"
+#include "testing.h"
+#include "settings_api.h"
+#include "common_config.h"
+#include "stm32_uid.h"
+#include "led.h"
+
+#include "FreeRTOS.h"
+#include "task.h"
+
+#include "lwip/opt.h"
+#include "lwip/arch.h"
+#include "lwip/api.h"
+#include "lwip/tcp.h"
+
+#ifdef PRINTF_STDLIB
+#include <stdio.h>
+#endif
+#ifdef PRINTF_CUSTOM
+#include "tinystdio.h"
+#endif
+
+#include <stdbool.h>
+#include <string.h>
+
+#define UDP_PORT 49049
+
+bool fTesting = false;
+bool fServer = false;
+
+
+#define MSG_LEN   300
+char msg[MSG_LEN];
+
+uint8_t ID[33];
+
+extern SETTINGS_t   sSettings;       // Общая структура настроек
+
+/**
+  * @brief  Тестирование
+  */
+// TODO Убрать заглушки
+void vTaskTesting(void *params)
+{
+	uint8_t len;
+  for (;;)
+  {
+	  //printf("Start testing task\r\n");
+  
+	  /* Читаем ID */
+	  GetSTM32IDStr(ID, &len);
+	  
+	  /* Отправляем запрос */
+	  TEST_SendData();
+	  
+	  /* Ждем timeout и высылаем ответ на тестер */
+	  vTaskDelay(2000);
+	  
+	  /* Если все прошло хорошо*/
+	  if (fServer)
+	  {
+        LED_On(LED_INIT_R);
+		/* Устанавливаем статус тестирования "T2OK" и сохраняем настройки */
+		SETTINGS_SetT2OK();
+
+        LED_Off(LED_INIT_R);
+	    fServer = false;
+	    vTaskDelete(NULL);
+      }
+      
+      vTaskDelay(100);	
+  }
+}
+
+/**
+  * @brief  Отправляет строку данных по UDP
+  */
+void TEST_SendData(void)
+{
+  struct netconn *conn;
+  struct netbuf *buf;
+  char *data;
+  err_t err;
+  char str[20] = {0};
+   
+  /* Отправляем сообщение на сервер по UDP */
+  memset(msg, 0, MSG_LEN);
+  
+  conn = netconn_new( NETCONN_UDP );
+  
+  if (conn!= NULL)
+  {
+    err = netconn_bind(conn, IP_ADDR_ANY, UDP_PORT); 
+    
+    if (err == ERR_OK)
+    {
+      netconn_connect(conn, IP_ADDR_BROADCAST, UDP_PORT);
+      
+	  strcpy(msg, sSettings.sSnmp.sysName);
+	  strcat(msg, ";");
+		
+	  /* Заглушка */
+	  //strcat(msg, "KN-03-00001;EC-4C-4D-00-90-01;0.8_DEMO;;;");
+	  strcat(msg, sSettings.sInfo.serialNumber);
+	  strcat(msg, ";");
+	  
+	  strcat(msg, sSettings.sInfo.mac);
+	  strcat(msg, ";");
+       
+	  strcat(msg, VERSION);
+	  strcat(msg, ";;;");
+      
+	  for (uint8_t i = 0; i < 12; i++) 
+	  {
+		 strcat(msg, ID);
+	  }	
+	  
+      strcat(msg, ";;;");
+      
+	  strcat(msg, sSettings.sFlags.testState);
+	  
+	  strcat(msg, ";;");
+
+	  
+	  buf = netbuf_new();
+      data = netbuf_alloc(buf, strlen(msg));
+      memcpy(data, msg, strlen(msg));
+      netconn_send(conn, buf);
+      netbuf_delete(buf); 
+	  
+	  netconn_delete(conn);
+	}
+	else
+      netconn_delete(conn);
+  }	
+}
+
+/**
+  * @brief  
+  */
+void TEST_SetServerFlag(void)
+{
+  fServer = true;
+}
+
+
+/********************************* (C) РОТЕК **********************************/

+ 43 - 0
modules/testing/testing.h

@@ -0,0 +1,43 @@
+/********************************* (C) РОТЕК ***********************************
+ * @module  testing
+ * @file    testing.h
+ * @version 1.0.0
+ * @date    XX.XX.XXXX
+ * $brief   led
+ *******************************************************************************
+ * @history     Version  Author         Comment
+ * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release.
+ *******************************************************************************
+ */
+
+/* Define to prevent recursive  ----------------------------------------------*/
+#ifndef TESTING_H
+#define TESTING_H
+   
+/**
+  * @brief  Тестирование
+  */
+void vTaskTesting(void *params);
+
+/**
+  * @brief  Отправляет строку данных по UDP
+  */
+void TEST_SendData(void);
+
+/**
+  * @brief  
+  */
+void TEST_SetServerFlag(void);
+
+
+// -------------------------------------------------------------------------- //
+// Тесты железа в рамках проекта SmartUPS и дальнейших на его основе
+// -------------------------------------------------------------------------- //
+
+void TEST_InitRS485(void);
+void TEST_IO(void);
+
+
+#endif /* #ifndef TESTING_H */
+
+/********************************* (C) РОТЕК **********************************/

+ 2 - 0
peripheral_modules/inc/stm32_uid.h

@@ -19,5 +19,7 @@
 
 void GetSTM32IDStr(char* str, uint8_t* len);
 
+void GetSTM32IDInt(char* value);
+
 
 #endif /* STM32_UID_H_ */

+ 1 - 1
peripheral_modules/src/spi_flash.c

@@ -362,7 +362,7 @@ bool spi_flash_test(void) {
     if (!spi_flash_init())
 	return false;
     int ret = 0, addr = 0, offset = 0;
-    for(i = 0; i < spi_flash_desc.sector_count; i ++){
+    for(i = 0; i < 1; i ++){//spi_flash_desc.sector_count
 		//spi_flash_read(i*spi_flash_desc.sector_size, rxbuf1, bufsize1, 0);
 		spi_flash_erase_sector(i*spi_flash_desc.sector_size,0);
 		//spi_flash_read(0, rxbuf1, bufsize1, 0);

+ 10 - 0
peripheral_modules/src/stm32_uid.c

@@ -32,4 +32,14 @@ void GetSTM32IDStr(char* str, uint8_t* len)
 	*len = strlen(str);
 }
 
+void GetSTM32IDInt(char* value)
+{
+	uint8_t i;
+
+	for(i = 0; i < 12; i++)
+	{
+		value[i] = STM32_UUID[i];
+	}
+}
+
 

+ 31 - 11
service_hw/Commands/commands_api.c

@@ -22,6 +22,7 @@
 #include "stm32f4x7_eth.h"
 #include "http_server.h"
 #include "config_service.h"
+#include "rtc.h"
 
 #include "FreeRTOS.h"
 #include "task.h"
@@ -63,6 +64,7 @@ bool testSet = false;
 char msg[MSG_LEN];
 
 extern char STM_ID[33];
+extern char STM_ID_HEX[12];
 uint8_t MAC[6];
 
 /**
@@ -73,16 +75,36 @@ void vTestCommands(void *params)
     for (;;)
     {
         if (fUpdatable) {
+
+        	if(RTC_GetUnixTime() <= 946685800)
+        	{
+        		 memset(SETTINGS_GetTestState(), 0, 16);
+        		 SETTINGS_SetTest(SETTINGS_GetTestState());
+        		 LED_On(LED_MAJOR_R);
+        		 //xTaskCreate(vTaskServiceLedBlinkErr, "LED_Blink_Err", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+        		 xTaskCreate(vTaskServiceLedBlink, "LED_Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+        		 while(1){
+        			 vTaskDelay(10);
+        		 }
+        	}
             //COM_TestEthernet();
+        	COM_SetMAC();
+
             Test_Ethernet();
-            vTaskDelay(4000);
+            vTaskDelay(8000);
 
             /* Стартует таск для опроса кнопки DEF */
             //xTaskCreate(vBootloaderButton, "DEF_Bootloader", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
             xTaskCreate(vTaskButtons, "DEF_Waiting", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
-          //  xTaskCreate(vTaskLedBlink, "LED_Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+            xTaskCreate(vTaskServiceLedBlink, "LED_Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
             
-            while (!fDefPressed) {}
+            while (!fDefPressed) {
+            	vTaskDelay(10);
+            }
+
+            LED_On(LED_INIT_R);
+            LED_On(LED_MAJOR_R);
+            LED_On(LED_MINOR_R);
 
             //sSettings.bootParams.loadMode = 1;
             SetLoadMode();
@@ -99,7 +121,7 @@ void vTestCommands(void *params)
             case TEST_WAIT :
             break;
               
-            case TEST_U232F :
+            case TEST_U232 :
                 Test_U232();
             break;
           
@@ -196,9 +218,6 @@ void COM_TestSerno(void)
   char str[20] = {0};
   uint8_t len;
 
-  /* Сохраняем настройки чтобы перезаписать новый Serno */
-  SETTINGS_Save();
-
   /* Отправляем сообщение на сервер по UDP */
   memset(msg, 0, MSG_LEN);
 
@@ -278,9 +297,9 @@ void COM_SetMAC(void)
 
   for (uint8_t i = 0; i < 4; i++)
   {
-    octet1 ^= STM_ID[i];
-	octet2 ^= STM_ID[i + 4];
-	octet3 ^= STM_ID[i + 8];
+    octet1 ^= STM_ID_HEX[i];
+	octet2 ^= STM_ID_HEX[i + 4];
+	octet3 ^= STM_ID_HEX[i + 8];
   }
 
   /* Восьмой бит первого октета должен быть равен 0 */
@@ -292,6 +311,7 @@ void COM_SetMAC(void)
   MAC[3] = 0x00;
   MAC[4] = 0x00;
   MAC[5] = 0x00;
+
 }
 
 /**
@@ -334,7 +354,7 @@ void COM_SetTestState(TESTING_STATE_t status)
 	break;
   }
 
-  SETTINGS_Save();
+  SETTINGS_SetTest(SETTINGS_GetTestState());
 }
 
 /********************************* (C) РОТЕК **********************************/

+ 1 - 1
service_hw/Commands/commands_api.h

@@ -23,7 +23,7 @@ typedef enum
 {
     TEST_WAIT = 0,
     TEST_DRY,
-    TEST_U232F,
+    TEST_U232,
     TEST_DEF,
     TEST_SET,
     TEST_RTC,

+ 2 - 1
service_hw/Console/config.h

@@ -74,7 +74,8 @@ Print prompt at 'microrl_init', if enable, prompt will print at startup,
 otherwise first prompt will print after first press Enter in terminal
 NOTE!: Enable it, if you call 'microrl_init' after your communication subsystem 
 already initialize and ready to print message */
-#undef _ENABLE_INIT_PROMPT
+//#undef _ENABLE_INIT_PROMPT
+#define _ENABLE_INIT_PROMPT
 
 /*
 New line symbol */

+ 5 - 0
service_hw/Console/microrl.c

@@ -10,8 +10,13 @@ BUGS and TODO:
 #include <stdlib.h>
 #include "microrl.h"
 #ifdef _USE_LIBC_STDIO
+#ifdef PRINTF_STDLIB
 #include <stdio.h>
 #endif
+#ifdef PRINTF_CUSTOM
+#include "tinystdio.h"
+#endif
+#endif
 
 //#define DBG(...) fprintf(stderr, "\033[33m");fprintf(stderr,__VA_ARGS__);fprintf(stderr,"\033[0m");
 

+ 5 - 3
service_hw/Console/port_microrl.c

@@ -80,6 +80,7 @@
 #define _CMD_RST         "reset"
 
 #define _CMD_SPIFLASH    "SPIFLASH"
+#define _CMD_U232        "U232"
 
 // arguments for set/clear
 #define _SCMD_PB  "port_b"
@@ -136,7 +137,8 @@ char * keyworld [] = {
   
   _CMD_RST,
 
-  _CMD_SPIFLASH
+  _CMD_SPIFLASH,
+  _CMD_U232
 };
 
 // 'set/clear' command argements
@@ -293,10 +295,10 @@ int execute (int argc, const char * const * argv)
       }
       
       /* Тест дополнительных пинов RS232 */
-	  else if (strcmp (argv[i], _CMD_U232F) == 0) 
+	  else if (strcmp (argv[i], _CMD_U232) == 0)
       {
 		//testSet = true;
-        TEST_SetTest(TEST_U232F);
+        TEST_SetTest(TEST_U232);
 		print ("\n\r");
 		return 0;
       }

+ 2 - 2
service_hw/Ethernet/netconf.c

@@ -54,9 +54,9 @@ void LwIP_Init(void)
   netif_set_up(&xnetif); 
     	  
   /* Проверяем наличие линка */
-  reg = ETH_ReadPHYRegister(0, 1);
+ // reg = ETH_ReadPHYRegister(0, 1);
 
- // if (reg & 4)
+//  if (reg & 4)
     xTaskCreate(LwIP_DHCP_task, "DHCPClient", configMINIMAL_STACK_SIZE * 2, NULL,
                 tskIDLE_PRIORITY + 2, &xHandleDHCP);
 }

+ 8 - 0
service_hw/Hardware/hw_init.c

@@ -35,6 +35,7 @@
 #endif
 
 char STM_ID[33];
+char STM_ID_HEX[12];
 
 void service_com_task(void* params)
 {
@@ -49,6 +50,8 @@ void service_com_task(void* params)
 
 }
 
+uint32_t time_test =0;
+
 /**
   * @brief  Инициализация необходимых модулей
   */
@@ -64,17 +67,22 @@ void BT_6702_Init(void)
 	MICRORL_Init();
   
     SETTINGS_Load();
+    /*SETTINGS_SetTempWebParamsDef();
+    SETTINGS_Save();*/
     
     COM_ReadTestState();
     
     memset(STM_ID, 0, 33);
     GetSTM32IDStr(STM_ID, &len);    // Уникальный ID чипа
+    GetSTM32IDInt(STM_ID_HEX);
     
     BUTTON_Init();  // Кнопки
     LED_Init();
     
     TM_RTC_Init(TM_RTC_ClockSource_External);
 
+    time_test = RTC_GetUnixTime();
+
     xTaskCreate(service_com_task, ( char * ) "service_com_task", configMINIMAL_STACK_SIZE * 2, NULL, tskIDLE_PRIORITY, NULL);
     // Создает таски для выполнения команд тестера 
     xTaskCreate(vTestCommands, "TestProcessing", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);

+ 37 - 2
service_hw/Settings/bt_6701_settings.c

@@ -15,6 +15,7 @@
 #include "bt_6701_settings.h"
 #include "settings_api.h"
 #include "common_config.h"
+#include "sys_api.h"
 
 #include "FreeRTOS.h"
 #include "task.h"
@@ -33,12 +34,37 @@ char * SETTINGS_GetTestState(void)
 	return sSettings.sFlags.testState;
 }
 
+/**
+  * @brief
+  */
+void SETTINGS_SetTest(char *state)
+{
+	SYS_t *sSys = NULL;
+
+	sSys = pvPortMalloc(sizeof(*sSys));
+	if (sSys) {
+	  strcpy(sSys->testState, state);
+	  SYS_Save(sSys);
+	  vPortFree(sSys);
+	  SETTINGS_Save();
+	}
+}
+
 /**
   * @brief  Устанавливает Serno, но не сохраняет новые настройки во флеш
   */
 void SETTINGS_SetSerno(char *serno)
 {
-    strcpy(sSettings.sInfo.serialNumber, serno);
+	SYS_t *sSys = NULL;
+
+	sSys = pvPortMalloc(sizeof(*sSys));
+	if (sSys) {
+	  strcpy(sSys->serial, serno);
+	  strcpy(sSettings.sInfo.serialNumber, sSys->serial);
+	  SYS_Save(sSys);
+	  vPortFree(sSys);
+	  SETTINGS_Save();
+	}
 }
 
 /**
@@ -46,7 +72,16 @@ void SETTINGS_SetSerno(char *serno)
   */
 void SETTINGS_SetMac(char *mac)
 {
-    strcpy(sSettings.sInfo.mac, mac);
+	SYS_t *sSys = NULL;
+
+	sSys = pvPortMalloc(sizeof(*sSys));
+	if (sSys) {
+	  strcpy(sSys->mac, mac);
+	  strcpy(sSettings.sInfo.mac, sSys->mac);
+	  SYS_Save(sSys);
+	  vPortFree(sSys);
+	  SETTINGS_Save();
+	}
 }
 
 

+ 5 - 0
service_hw/Settings/bt_6701_settings.h

@@ -24,6 +24,11 @@ char * SETTINGS_GetTestState(void);
   */
 void BT_6701_SetBootParamsDef(void);
 
+/**
+  * @brief
+  */
+void SETTINGS_SetTest(char *state);
+
 /**
   * @brief  Устанавливает Serno, но не сохраняет новые настройки во флеш
   */

+ 2 - 2
service_hw/buttons/buttons.c

@@ -180,9 +180,9 @@ void BUTTON_DEF_UpHandler(void)
   */
 void BUTTON_DEF_DownHandler(void)
 {
-	LED_On(LED_INIT_R);
+/*	LED_On(LED_INIT_R);
 	LED_On(LED_MAJOR_R);
-	LED_On(LED_MINOR_R);
+	LED_On(LED_MINOR_R);*/
 
     fDefPressed = true;
 }

+ 22 - 0
service_hw/leds/led.c

@@ -35,6 +35,28 @@ void LED_Init(void)
   LED_Off(LED_MINOR_R);
 }
 
+void vTaskServiceLedBlink(void *arg)
+{
+  for (;;)
+  {
+	/* Просто отражает состояние контроллера - "живой" */
+    LED_Toggle(LED_INIT_G);
+    LED_Toggle(LED_INIT_R);
+
+    vTaskDelay(statusLedFreq / 4);
+  }
+}
+
+void vTaskServiceLedBlinkErr(void *arg)
+{
+  for (;;)
+  {
+	/* Просто отражает состояние контроллера - "живой" */
+    LED_Toggle(LED_INIT_R);
+
+    vTaskDelay(statusLedFreq);
+  }
+}
 /**
   * @brief  
   */

+ 3 - 1
service_hw/leds/led.h

@@ -54,7 +54,9 @@ void LED_Init(void);
 /**
   * @brief  Задача простой мигалки
   */
-void vTaskLedBlink(void *pvParameters);
+void vTaskServiceLedBlink(void *arg);
+
+void vTaskServiceLedBlinkErr(void *arg);
 
 /**
   * @brief  

+ 10 - 2
thirdparty/lwip/port/FreeRTOS/ethernetif.c

@@ -91,7 +91,7 @@ extern ETH_DMADESCTypeDef  *DMARxDescToGet;
 /* Global pointer for last received frame infos */
 extern ETH_DMA_Rx_Frame_infos *DMA_RX_FRAME_infos;
 
-
+extern uint8_t MAC[6];
 
 
 static void ethernetif_input( void * pvParameters );
@@ -114,7 +114,14 @@ static void low_level_init(struct netif *netif)
   netif->hwaddr_len = ETHARP_HWADDR_LEN;
 	
   /* set netif MAC hardware address */
-  
+#ifdef BT6702_SERVICE
+  netif->hwaddr[0] =  MAC[0];
+  netif->hwaddr[1] =  MAC[1];
+  netif->hwaddr[2] =  MAC[2];
+  netif->hwaddr[3] =  MAC[3];
+  netif->hwaddr[4] =  MAC[4];
+  netif->hwaddr[5] =  MAC[5];
+#else
   SETTINGS_GetMac(mac);
 
   netif->hwaddr[0] =  mac[0];
@@ -123,6 +130,7 @@ static void low_level_init(struct netif *netif)
   netif->hwaddr[3] =  mac[3];
   netif->hwaddr[4] =  mac[4];
   netif->hwaddr[5] =  mac[5];
+#endif
 
   /* set netif maximum transfer unit */
   netif->mtu = 1500;

binární
tracefile.bin


+ 11 - 6
user/init_task.c

@@ -30,7 +30,7 @@
 #include "main.h"
 #include "trap_api.h"
 #include "megatec.h"
-//#include "testing.h"
+#include "testing.h"
 #include "ups_monitor.h"
 //#include "ups_params.h"
 //#include "ups_monitor.h"
@@ -123,8 +123,7 @@ void InitTask(void *params)
 #endif
 // -----------------------------------------------------------------------------      
   
-  /* UDP for net settings */
-  //UDP_netsetting_init();
+
 // -----------------------------------------------------------------------------
 #ifdef UPS_ENABLE
   xTaskCreate(UPS_Monitor, "UPS_Monitor", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
@@ -165,6 +164,9 @@ void InitTask(void *params)
 	 xTaskCreate(vTaskPeriodicSynchro, "sntpPeriodicSinhro", 2*configMINIMAL_STACK_SIZE,
 				 NULL, tskIDLE_PRIORITY, NULL);
 // -----------------------------------------------------------------------------  
+
+	 /* UDP for net settings */
+	  UDP_netsetting_init();
 // Тестирование
     
   // Тест таблицы трапов  
@@ -177,12 +179,15 @@ void InitTask(void *params)
 #endif  
 // -----------------------------------------------------------------------------      
 
- /* xTaskCreate(vTaskTesting, "Testing", configMINIMAL_STACK_SIZE,
-              NULL, tskIDLE_PRIORITY, NULL);*/
-  
+ /* if(strncmp(sSettings.sFlags.testState, "T2OK", 4)){
+	  xTaskCreate(vTaskTesting, "Testing", configMINIMAL_STACK_SIZE,
+              NULL, tskIDLE_PRIORITY, NULL);
+  }*/
+
   //TEST_InitRS485();
   //TEST_IO();
   
+  log_event_data(LOG_TURN_ON, " ");
   /* Контроль успешной загрузки. Сброс флага bootry */
   /* Сброс флага и сохранение нового значения во флеш памяти происходт после
      некоторой задержки для запуска всех задач */

binární
web_interface/error.html


binární
web_interface/index.html


binární
web_interface/login.html


+ 8 - 8
web_interface/run.cmd

@@ -9,11 +9,11 @@ cd ..\Modules\HTTP_Server\
 call makefsdata.exe -11
 cd %web%
 
-rem cd ..\Modules\Ethernet\fs\
-rem set upload=%cd%
-rem del %upload%/* /Y
-rem cd %web%
-rem xcopy %web%\dist\upload\* %upload%\ /S /Y
-rem cd ..\Modules\Ethernet\
-rem call makefsdata.exe -11
-rem cd %web%
+cd ..\iap\Modules\Ethernet\fs\
+set upload=%cd%
+del %upload%/* /Y
+cd %web%
+xcopy %web%\dist\upload\* %upload%\ /S /Y
+cd ..\iap\Modules\Ethernet\
+call makefsdata.exe -11
+cd %web%

+ 3 - 3
web_interface/src/upload/upload.js

@@ -14,7 +14,7 @@ function countdown() {
   var countDown = 5;
   setInterval(function () {
     if (countDown == 1) {
-      window.location.href = '/';
+      window.location.href = 'https:' + window.location.origin.substring(window.location.protocol.length);
     }
     if (countDown > 0){countDown--;}
     document.getElementById('count-number').innerHTML = countDown;
@@ -66,7 +66,7 @@ function Validate(oForm) {
       }
     }
   }
-  
+
   return true;
 }
 $('goback').onclick = function(){
@@ -77,4 +77,4 @@ $('goback').onclick = function(){
     countdown();
   }
 };
-$("uploadBtn").onchange = function () {document.getElementById("uploadFile").value = this.files[0].name;};
+$("uploadBtn").onchange = function () {document.getElementById("uploadFile").value = this.files[0].name;};

+ 2 - 2
web_interface/src/wui/main.js

@@ -257,7 +257,7 @@ function countdown(rel) {
       location.reload(true);
     }
     else if (countDown == 1 && rel !== true){
-      window.location.href = '/';
+      window.location.href = 'http:' + window.location.origin.substring(window.location.protocol.length);
     }
     if (countDown > 0){countDown--;}
     $('count-number').innerHTML = countDown;
@@ -295,7 +295,7 @@ function authState() {
     $('rs_enabled').checked = false;
   } else {
     $('rs_enabled').removeAttribute('disabled');
-    $('rs_enabled').checked = true;
+    // $('rs_enabled').checked = true;
   }
   radiusState();
 }

binární
web_interface/success.html


binární
web_interface/upload.css


binární
web_interface/upload.js