summaryrefslogtreecommitdiff
path: root/esp32-cam
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2023-06-10 23:20:37 +0300
committerEvgeny Zinoviev <me@ch1p.io>2023-06-10 23:20:37 +0300
commita6d8ba93056c1a4e243d56da447e241b2504fae2 (patch)
tree3ee5372ef4e4a2b8532bf8bc57d7151d77d96f71 /esp32-cam
parentb0bf43e6a272d42a55158e657bd937cb82fc3d8d (diff)
move files again
Diffstat (limited to 'esp32-cam')
-rw-r--r--esp32-cam/CameraWebServer/CameraWebServer.ino165
-rw-r--r--esp32-cam/CameraWebServer/app_httpd.cpp1287
-rw-r--r--esp32-cam/CameraWebServer/camera_index.h1570
-rw-r--r--esp32-cam/CameraWebServer/camera_pins.h273
-rw-r--r--esp32-cam/CameraWebServer/index_ov2640.html1160
5 files changed, 0 insertions, 4455 deletions
diff --git a/esp32-cam/CameraWebServer/CameraWebServer.ino b/esp32-cam/CameraWebServer/CameraWebServer.ino
deleted file mode 100644
index ef589d9..0000000
--- a/esp32-cam/CameraWebServer/CameraWebServer.ino
+++ /dev/null
@@ -1,165 +0,0 @@
-#include "esp_camera.h"
-#include <WiFi.h>
-
-//
-// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality
-// Ensure ESP32 Wrover Module or other board with PSRAM is selected
-// Partial images will be transmitted if image exceeds buffer size
-//
-// You must select partition scheme from the board menu that has at least 3MB APP space.
-// Face Recognition is DISABLED for ESP32 and ESP32-S2, because it takes up from 15
-// seconds to process single frame. Face Detection is ENABLED if PSRAM is enabled as well
-
-// ===================
-// Select camera model
-// ===================
-//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
-//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
-//#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM
-//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
-//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
-//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
-//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
-//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM
-#define CAMERA_MODEL_AI_THINKER // Has PSRAM
-//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
-// ** Espressif Internal Boards **
-//#define CAMERA_MODEL_ESP32_CAM_BOARD
-//#define CAMERA_MODEL_ESP32S2_CAM_BOARD
-//#define CAMERA_MODEL_ESP32S3_CAM_LCD
-
-#include "camera_pins.h"
-
-// ===========================
-// Enter your WiFi credentials
-// ===========================
-#include "wifi_password.h"
-
-volatile float disconnected_since = 0;
-
-void startCameraServer();
-
-void onWiFiDisconnect(WiFiEvent_t event, WiFiEventInfo_t info) {
- disconnected_since = millis();
- WiFi.reconnect();
-}
-
-void onWiFiConnect(WiFiEvent_t event, WiFiEventInfo_t info) {
- disconnected_since = 0;
-}
-
-void setup() {
- Serial.begin(115200);
- //Serial.setDebugOutput(true);
- Serial.println();
-
- camera_config_t config;
- config.ledc_channel = LEDC_CHANNEL_0;
- config.ledc_timer = LEDC_TIMER_0;
- config.pin_d0 = Y2_GPIO_NUM;
- config.pin_d1 = Y3_GPIO_NUM;
- config.pin_d2 = Y4_GPIO_NUM;
- config.pin_d3 = Y5_GPIO_NUM;
- config.pin_d4 = Y6_GPIO_NUM;
- config.pin_d5 = Y7_GPIO_NUM;
- config.pin_d6 = Y8_GPIO_NUM;
- config.pin_d7 = Y9_GPIO_NUM;
- config.pin_xclk = XCLK_GPIO_NUM;
- config.pin_pclk = PCLK_GPIO_NUM;
- config.pin_vsync = VSYNC_GPIO_NUM;
- config.pin_href = HREF_GPIO_NUM;
- config.pin_sscb_sda = SIOD_GPIO_NUM;
- config.pin_sscb_scl = SIOC_GPIO_NUM;
- config.pin_pwdn = PWDN_GPIO_NUM;
- config.pin_reset = RESET_GPIO_NUM;
- config.xclk_freq_hz = 20000000;
- config.frame_size = FRAMESIZE_UXGA;
- config.pixel_format = PIXFORMAT_JPEG; // for streaming
- //config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition
- config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;
- config.fb_location = CAMERA_FB_IN_PSRAM;
- config.jpeg_quality = 12;
- config.fb_count = 1;
-
- // if PSRAM IC present, init with UXGA resolution and higher JPEG quality
- // for larger pre-allocated frame buffer.
- if(config.pixel_format == PIXFORMAT_JPEG){
- if(psramFound()){
- config.jpeg_quality = 10;
- config.fb_count = 2;
- config.grab_mode = CAMERA_GRAB_LATEST;
- } else {
- // Limit the frame size when PSRAM is not available
- config.frame_size = FRAMESIZE_SVGA;
- config.fb_location = CAMERA_FB_IN_DRAM;
- }
- } else {
- // Best option for face detection/recognition
- config.frame_size = FRAMESIZE_240X240;
-#if CONFIG_IDF_TARGET_ESP32S3
- config.fb_count = 2;
-#endif
- }
-
-#if defined(CAMERA_MODEL_ESP_EYE)
- pinMode(13, INPUT_PULLUP);
- pinMode(14, INPUT_PULLUP);
-#endif
-
- // camera init
- esp_err_t err = esp_camera_init(&config);
- if (err != ESP_OK) {
- Serial.printf("Camera init failed with error 0x%x", err);
- return;
- }
-
- sensor_t * s = esp_camera_sensor_get();
- // initial sensors are flipped vertically and colors are a bit saturated
- if (s->id.PID == OV3660_PID) {
- s->set_vflip(s, 1); // flip it back
- s->set_brightness(s, 1); // up the brightness just a bit
- s->set_saturation(s, -2); // lower the saturation
- }
- // drop down frame size for higher initial frame rate
- if(config.pixel_format == PIXFORMAT_JPEG){
- s->set_framesize(s, FRAMESIZE_QVGA);
- }
-
-#if defined(CAMERA_MODEL_M5STACK_WIDE) || defined(CAMERA_MODEL_M5STACK_ESP32CAM)
- s->set_vflip(s, 1);
- s->set_hmirror(s, 1);
-#endif
-
-#if defined(CAMERA_MODEL_ESP32S3_EYE)
- s->set_vflip(s, 1);
-#endif
-
- WiFi.onEvent(onWiFiDisconnect, ARDUINO_EVENT_WIFI_STA_DISCONNECTED);
- WiFi.onEvent(onWiFiConnect, ARDUINO_EVENT_WIFI_STA_CONNECTED);
-
- WiFi.begin(ssid, password);
- WiFi.setSleep(false);
-
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- Serial.println("");
- Serial.println("WiFi connected");
-
- startCameraServer();
-
- Serial.print("Camera Ready! Use 'http://");
- Serial.print(WiFi.localIP());
- Serial.println("' to connect");
-}
-
-void loop() {
- if (disconnected_since != 0 && (millis() - disconnected_since) > 60000) {
- ESP.restart();
- return;
- }
-
- // Do nothing. Everything is done in another task by the web server
- delay(10000);
-}
diff --git a/esp32-cam/CameraWebServer/app_httpd.cpp b/esp32-cam/CameraWebServer/app_httpd.cpp
deleted file mode 100644
index e397c70..0000000
--- a/esp32-cam/CameraWebServer/app_httpd.cpp
+++ /dev/null
@@ -1,1287 +0,0 @@
-// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#include <Arduino.h>
-
-#include "esp_http_server.h"
-#include "esp_timer.h"
-#include "esp_camera.h"
-#include "img_converters.h"
-#include "fb_gfx.h"
-#include "driver/ledc.h"
-#include "sdkconfig.h"
-#include "camera_index.h"
-
-#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG)
-#include "esp32-hal-log.h"
-#define TAG ""
-#else
-#include "esp_log.h"
-static const char *TAG = "camera_httpd";
-#endif
-
-// Face Detection will not work on boards without (or with disabled) PSRAM
-#ifdef BOARD_HAS_PSRAM
-#define CONFIG_ESP_FACE_DETECT_ENABLED 1
-// Face Recognition takes upward from 15 seconds per frame on chips other than ESP32S3
-// Makes no sense to have it enabled for them
-#if CONFIG_IDF_TARGET_ESP32S3
-#define CONFIG_ESP_FACE_RECOGNITION_ENABLED 1
-#else
-#define CONFIG_ESP_FACE_RECOGNITION_ENABLED 0
-#endif
-#else
-#define CONFIG_ESP_FACE_DETECT_ENABLED 0
-#define CONFIG_ESP_FACE_RECOGNITION_ENABLED 0
-#endif
-
-#if CONFIG_ESP_FACE_DETECT_ENABLED
-
-#include <vector>
-#include "human_face_detect_msr01.hpp"
-#include "human_face_detect_mnp01.hpp"
-
-#define TWO_STAGE 1 /*<! 1: detect by two-stage which is more accurate but slower(with keypoints). */
- /*<! 0: detect by one-stage which is less accurate but faster(without keypoints). */
-
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
-#include "face_recognition_tool.hpp"
-#include "face_recognition_112_v1_s16.hpp"
-#include "face_recognition_112_v1_s8.hpp"
-
-#define QUANT_TYPE 0 //if set to 1 => very large firmware, very slow, reboots when streaming...
-
-#define FACE_ID_SAVE_NUMBER 7
-#endif
-
-#define FACE_COLOR_WHITE 0x00FFFFFF
-#define FACE_COLOR_BLACK 0x00000000
-#define FACE_COLOR_RED 0x000000FF
-#define FACE_COLOR_GREEN 0x0000FF00
-#define FACE_COLOR_BLUE 0x00FF0000
-#define FACE_COLOR_YELLOW (FACE_COLOR_RED | FACE_COLOR_GREEN)
-#define FACE_COLOR_CYAN (FACE_COLOR_BLUE | FACE_COLOR_GREEN)
-#define FACE_COLOR_PURPLE (FACE_COLOR_BLUE | FACE_COLOR_RED)
-#endif
-
-#ifdef CONFIG_LED_ILLUMINATOR_ENABLED
-int led_duty = 0;
-bool isStreaming = false;
-#ifdef CONFIG_LED_LEDC_LOW_SPEED_MODE
-#define CONFIG_LED_LEDC_SPEED_MODE LEDC_LOW_SPEED_MODE
-#else
-#define CONFIG_LED_LEDC_SPEED_MODE LEDC_HIGH_SPEED_MODE
-#endif
-#endif
-
-typedef struct
-{
- httpd_req_t *req;
- size_t len;
-} jpg_chunking_t;
-
-#define PART_BOUNDARY "123456789000000000000987654321"
-static const char *_STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;
-static const char *_STREAM_BOUNDARY = "\r\n--" PART_BOUNDARY "\r\n";
-static const char *_STREAM_PART = "Content-Type: image/jpeg\r\nContent-Length: %u\r\nX-Timestamp: %d.%06d\r\n\r\n";
-
-httpd_handle_t stream_httpd = NULL;
-httpd_handle_t camera_httpd = NULL;
-
-#if CONFIG_ESP_FACE_DETECT_ENABLED
-
-static int8_t detection_enabled = 0;
-
-// #if TWO_STAGE
-// static HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F);
-// static HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5);
-// #else
-// static HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F);
-// #endif
-
-static int8_t flash_enabled = 0;
-
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
-static int8_t recognition_enabled = 0;
-static int8_t is_enrolling = 0;
-
-#if QUANT_TYPE
- // S16 model
- FaceRecognition112V1S16 recognizer;
-#else
- // S8 model
- FaceRecognition112V1S8 recognizer;
-#endif
-#endif
-
-#endif
-
-typedef struct
-{
- size_t size; //number of values used for filtering
- size_t index; //current value index
- size_t count; //value count
- int sum;
- int *values; //array to be filled with values
-} ra_filter_t;
-
-static ra_filter_t ra_filter;
-
-static ra_filter_t *ra_filter_init(ra_filter_t *filter, size_t sample_size)
-{
- memset(filter, 0, sizeof(ra_filter_t));
-
- filter->values = (int *)malloc(sample_size * sizeof(int));
- if (!filter->values)
- {
- return NULL;
- }
- memset(filter->values, 0, sample_size * sizeof(int));
-
- filter->size = sample_size;
- return filter;
-}
-
-static int ra_filter_run(ra_filter_t *filter, int value)
-{
- if (!filter->values)
- {
- return value;
- }
- filter->sum -= filter->values[filter->index];
- filter->values[filter->index] = value;
- filter->sum += filter->values[filter->index];
- filter->index++;
- filter->index = filter->index % filter->size;
- if (filter->count < filter->size)
- {
- filter->count++;
- }
- return filter->sum / filter->count;
-}
-
-#if CONFIG_ESP_FACE_DETECT_ENABLED
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
-static void rgb_print(fb_data_t *fb, uint32_t color, const char *str)
-{
- fb_gfx_print(fb, (fb->width - (strlen(str) * 14)) / 2, 10, color, str);
-}
-
-static int rgb_printf(fb_data_t *fb, uint32_t color, const char *format, ...)
-{
- char loc_buf[64];
- char *temp = loc_buf;
- int len;
- va_list arg;
- va_list copy;
- va_start(arg, format);
- va_copy(copy, arg);
- len = vsnprintf(loc_buf, sizeof(loc_buf), format, arg);
- va_end(copy);
- if (len >= sizeof(loc_buf))
- {
- temp = (char *)malloc(len + 1);
- if (temp == NULL)
- {
- return 0;
- }
- }
- vsnprintf(temp, len + 1, format, arg);
- va_end(arg);
- rgb_print(fb, color, temp);
- if (len > 64)
- {
- free(temp);
- }
- return len;
-}
-#endif
-static void draw_face_boxes(fb_data_t *fb, std::list<dl::detect::result_t> *results, int face_id)
-{
- int x, y, w, h;
- uint32_t color = FACE_COLOR_YELLOW;
- if (face_id < 0)
- {
- color = FACE_COLOR_RED;
- }
- else if (face_id > 0)
- {
- color = FACE_COLOR_GREEN;
- }
- if(fb->bytes_per_pixel == 2){
- //color = ((color >> 8) & 0xF800) | ((color >> 3) & 0x07E0) | (color & 0x001F);
- color = ((color >> 16) & 0x001F) | ((color >> 3) & 0x07E0) | ((color << 8) & 0xF800);
- }
- int i = 0;
- for (std::list<dl::detect::result_t>::iterator prediction = results->begin(); prediction != results->end(); prediction++, i++)
- {
- // rectangle box
- x = (int)prediction->box[0];
- y = (int)prediction->box[1];
- w = (int)prediction->box[2] - x + 1;
- h = (int)prediction->box[3] - y + 1;
- if((x + w) > fb->width){
- w = fb->width - x;
- }
- if((y + h) > fb->height){
- h = fb->height - y;
- }
- fb_gfx_drawFastHLine(fb, x, y, w, color);
- fb_gfx_drawFastHLine(fb, x, y + h - 1, w, color);
- fb_gfx_drawFastVLine(fb, x, y, h, color);
- fb_gfx_drawFastVLine(fb, x + w - 1, y, h, color);
-#if TWO_STAGE
- // landmarks (left eye, mouth left, nose, right eye, mouth right)
- int x0, y0, j;
- for (j = 0; j < 10; j+=2) {
- x0 = (int)prediction->keypoint[j];
- y0 = (int)prediction->keypoint[j+1];
- fb_gfx_fillRect(fb, x0, y0, 3, 3, color);
- }
-#endif
- }
-}
-
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
-static int run_face_recognition(fb_data_t *fb, std::list<dl::detect::result_t> *results)
-{
- std::vector<int> landmarks = results->front().keypoint;
- int id = -1;
-
- Tensor<uint8_t> tensor;
- tensor.set_element((uint8_t *)fb->data).set_shape({fb->height, fb->width, 3}).set_auto_free(false);
-
- int enrolled_count = recognizer.get_enrolled_id_num();
-
- if (enrolled_count < FACE_ID_SAVE_NUMBER && is_enrolling){
- id = recognizer.enroll_id(tensor, landmarks, "", true);
- ESP_LOGI(TAG, "Enrolled ID: %d", id);
- rgb_printf(fb, FACE_COLOR_CYAN, "ID[%u]", id);
- }
-
- face_info_t recognize = recognizer.recognize(tensor, landmarks);
- if(recognize.id >= 0){
- rgb_printf(fb, FACE_COLOR_GREEN, "ID[%u]: %.2f", recognize.id, recognize.similarity);
- } else {
- rgb_print(fb, FACE_COLOR_RED, "Intruder Alert!");
- }
- return recognize.id;
-}
-#endif
-#endif
-
-#ifdef CONFIG_LED_ILLUMINATOR_ENABLED
-void enable_led(bool en)
-{ // Turn LED On or Off
- int duty = en ? led_duty : 0;
- if (en && isStreaming && (led_duty > CONFIG_LED_MAX_INTENSITY))
- {
- duty = CONFIG_LED_MAX_INTENSITY;
- }
- ledc_set_duty(CONFIG_LED_LEDC_SPEED_MODE, CONFIG_LED_LEDC_CHANNEL, duty);
- ledc_update_duty(CONFIG_LED_LEDC_SPEED_MODE, CONFIG_LED_LEDC_CHANNEL);
- ESP_LOGI(TAG, "Set LED intensity to %d", duty);
-}
-#endif
-
-static esp_err_t bmp_handler(httpd_req_t *req)
-{
- camera_fb_t *fb = NULL;
- esp_err_t res = ESP_OK;
- uint64_t fr_start = esp_timer_get_time();
- fb = esp_camera_fb_get();
- if (!fb)
- {
- ESP_LOGE(TAG, "Camera capture failed");
- httpd_resp_send_500(req);
- return ESP_FAIL;
- }
-
- httpd_resp_set_type(req, "image/x-windows-bmp");
- httpd_resp_set_hdr(req, "Content-Disposition", "inline; filename=capture.bmp");
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
-
- char ts[32];
- snprintf(ts, 32, "%ld.%06ld", fb->timestamp.tv_sec, fb->timestamp.tv_usec);
- httpd_resp_set_hdr(req, "X-Timestamp", (const char *)ts);
-
-
- uint8_t * buf = NULL;
- size_t buf_len = 0;
- bool converted = frame2bmp(fb, &buf, &buf_len);
- esp_camera_fb_return(fb);
- if(!converted){
- ESP_LOGE(TAG, "BMP Conversion failed");
- httpd_resp_send_500(req);
- return ESP_FAIL;
- }
- res = httpd_resp_send(req, (const char *)buf, buf_len);
- free(buf);
- uint64_t fr_end = esp_timer_get_time();
- ESP_LOGI(TAG, "BMP: %llums, %uB", (uint64_t)((fr_end - fr_start) / 1000), buf_len);
- return res;
-}
-
-static size_t jpg_encode_stream(void *arg, size_t index, const void *data, size_t len)
-{
- jpg_chunking_t *j = (jpg_chunking_t *)arg;
- if (!index)
- {
- j->len = 0;
- }
- if (httpd_resp_send_chunk(j->req, (const char *)data, len) != ESP_OK)
- {
- return 0;
- }
- j->len += len;
- return len;
-}
-
-static esp_err_t capture_handler(httpd_req_t *req)
-{
- camera_fb_t *fb = NULL;
- esp_err_t res = ESP_OK;
- int64_t fr_start = esp_timer_get_time();
-
-#ifdef CONFIG_LED_ILLUMINATOR_ENABLED
- enable_led(true);
- vTaskDelay(150 / portTICK_PERIOD_MS); // The LED needs to be turned on ~150ms before the call to esp_camera_fb_get()
- fb = esp_camera_fb_get(); // or it won't be visible in the frame. A better way to do this is needed.
- enable_led(false);
-#else
- fb = esp_camera_fb_get();
-#endif
-
- if (!fb)
- {
- ESP_LOGE(TAG, "Camera capture failed");
- httpd_resp_send_500(req);
- return ESP_FAIL;
- }
-
- httpd_resp_set_type(req, "image/jpeg");
- httpd_resp_set_hdr(req, "Content-Disposition", "inline; filename=capture.jpg");
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
-
- char ts[32];
- snprintf(ts, 32, "%ld.%06ld", fb->timestamp.tv_sec, fb->timestamp.tv_usec);
- httpd_resp_set_hdr(req, "X-Timestamp", (const char *)ts);
-
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- size_t out_len, out_width, out_height;
- uint8_t *out_buf;
- bool s;
- bool detected = false;
- int face_id = 0;
- if (!detection_enabled || fb->width > 400)
- {
-#endif
- size_t fb_len = 0;
- if (fb->format == PIXFORMAT_JPEG)
- {
- fb_len = fb->len;
- res = httpd_resp_send(req, (const char *)fb->buf, fb->len);
- }
- else
- {
- jpg_chunking_t jchunk = {req, 0};
- res = frame2jpg_cb(fb, 80, jpg_encode_stream, &jchunk) ? ESP_OK : ESP_FAIL;
- httpd_resp_send_chunk(req, NULL, 0);
- fb_len = jchunk.len;
- }
- esp_camera_fb_return(fb);
- int64_t fr_end = esp_timer_get_time();
- ESP_LOGI(TAG, "JPG: %uB %ums", (uint32_t)(fb_len), (uint32_t)((fr_end - fr_start) / 1000));
- return res;
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- }
-
- jpg_chunking_t jchunk = {req, 0};
-
- if (fb->format == PIXFORMAT_RGB565
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- && !recognition_enabled
-#endif
- ){
-#if TWO_STAGE
- HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F);
- HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5);
- std::list<dl::detect::result_t> &candidates = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3});
- std::list<dl::detect::result_t> &results = s2.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}, candidates);
-#else
- HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F);
- std::list<dl::detect::result_t> &results = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3});
-#endif
- if (results.size() > 0) {
- fb_data_t rfb;
- rfb.width = fb->width;
- rfb.height = fb->height;
- rfb.data = fb->buf;
- rfb.bytes_per_pixel = 2;
- rfb.format = FB_RGB565;
- detected = true;
- draw_face_boxes(&rfb, &results, face_id);
- }
- s = fmt2jpg_cb(fb->buf, fb->len, fb->width, fb->height, PIXFORMAT_RGB565, 90, jpg_encode_stream, &jchunk);
- esp_camera_fb_return(fb);
- } else
- {
- out_len = fb->width * fb->height * 3;
- out_width = fb->width;
- out_height = fb->height;
- out_buf = (uint8_t*)malloc(out_len);
- if (!out_buf) {
- ESP_LOGE(TAG, "out_buf malloc failed");
- httpd_resp_send_500(req);
- return ESP_FAIL;
- }
- s = fmt2rgb888(fb->buf, fb->len, fb->format, out_buf);
- esp_camera_fb_return(fb);
- if (!s) {
- free(out_buf);
- ESP_LOGE(TAG, "to rgb888 failed");
- httpd_resp_send_500(req);
- return ESP_FAIL;
- }
-
- fb_data_t rfb;
- rfb.width = out_width;
- rfb.height = out_height;
- rfb.data = out_buf;
- rfb.bytes_per_pixel = 3;
- rfb.format = FB_BGR888;
-
-#if TWO_STAGE
- HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F);
- HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5);
- std::list<dl::detect::result_t> &candidates = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3});
- std::list<dl::detect::result_t> &results = s2.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}, candidates);
-#else
- HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F);
- std::list<dl::detect::result_t> &results = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3});
-#endif
-
- if (results.size() > 0) {
- detected = true;
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- if (recognition_enabled) {
- face_id = run_face_recognition(&rfb, &results);
- }
-#endif
- draw_face_boxes(&rfb, &results, face_id);
- }
-
- s = fmt2jpg_cb(out_buf, out_len, out_width, out_height, PIXFORMAT_RGB888, 90, jpg_encode_stream, &jchunk);
- free(out_buf);
- }
-
- if (!s) {
- ESP_LOGE(TAG, "JPEG compression failed");
- httpd_resp_send_500(req);
- return ESP_FAIL;
- }
-
- int64_t fr_end = esp_timer_get_time();
- ESP_LOGI(TAG, "FACE: %uB %ums %s%d", (uint32_t)(jchunk.len), (uint32_t)((fr_end - fr_start) / 1000), detected ? "DETECTED " : "", face_id);
- return res;
-#endif
-}
-
-static esp_err_t stream_handler(httpd_req_t *req)
-{
- camera_fb_t *fb = NULL;
- struct timeval _timestamp;
- esp_err_t res = ESP_OK;
- size_t _jpg_buf_len = 0;
- uint8_t *_jpg_buf = NULL;
- char *part_buf[128];
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- bool detected = false;
- int face_id = 0;
- int64_t fr_start = 0;
- int64_t fr_ready = 0;
- int64_t fr_face = 0;
- int64_t fr_recognize = 0;
- int64_t fr_encode = 0;
-
- size_t out_len = 0, out_width = 0, out_height = 0;
- uint8_t *out_buf = NULL;
- bool s = false;
-#if TWO_STAGE
- HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F);
- HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5);
-#else
- HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F);
-#endif
-#endif
-
- static int64_t last_frame = 0;
- if (!last_frame)
- {
- last_frame = esp_timer_get_time();
- }
-
- res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);
- if (res != ESP_OK)
- {
- return res;
- }
-
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- httpd_resp_set_hdr(req, "X-Framerate", "60");
-
-#ifdef CONFIG_LED_ILLUMINATOR_ENABLED
- enable_led(true);
- isStreaming = true;
-#endif
-
- while (true)
- {
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- detected = false;
- face_id = 0;
-#endif
-
- fb = esp_camera_fb_get();
- if (!fb)
- {
- ESP_LOGE(TAG, "Camera capture failed");
- res = ESP_FAIL;
- }
- else
- {
- _timestamp.tv_sec = fb->timestamp.tv_sec;
- _timestamp.tv_usec = fb->timestamp.tv_usec;
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- fr_start = esp_timer_get_time();
- fr_ready = fr_start;
- fr_face = fr_start;
- fr_encode = fr_start;
- fr_recognize = fr_start;
- if (!detection_enabled || fb->width > 400)
- {
-#endif
- if (fb->format != PIXFORMAT_JPEG)
- {
- bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);
- esp_camera_fb_return(fb);
- fb = NULL;
- if (!jpeg_converted)
- {
- ESP_LOGE(TAG, "JPEG compression failed");
- res = ESP_FAIL;
- }
- }
- else
- {
- _jpg_buf_len = fb->len;
- _jpg_buf = fb->buf;
- }
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- }
- else
- {
- if (fb->format == PIXFORMAT_RGB565
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- && !recognition_enabled
-#endif
- ){
- fr_ready = esp_timer_get_time();
-#if TWO_STAGE
- std::list<dl::detect::result_t> &candidates = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3});
- std::list<dl::detect::result_t> &results = s2.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}, candidates);
-#else
- std::list<dl::detect::result_t> &results = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3});
-#endif
- fr_face = esp_timer_get_time();
- fr_recognize = fr_face;
- if (results.size() > 0) {
- fb_data_t rfb;
- rfb.width = fb->width;
- rfb.height = fb->height;
- rfb.data = fb->buf;
- rfb.bytes_per_pixel = 2;
- rfb.format = FB_RGB565;
- detected = true;
- draw_face_boxes(&rfb, &results, face_id);
- }
- s = fmt2jpg(fb->buf, fb->len, fb->width, fb->height, PIXFORMAT_RGB565, 80, &_jpg_buf, &_jpg_buf_len);
- esp_camera_fb_return(fb);
- fb = NULL;
- if (!s) {
- ESP_LOGE(TAG, "fmt2jpg failed");
- res = ESP_FAIL;
- }
- fr_encode = esp_timer_get_time();
- } else
- {
- out_len = fb->width * fb->height * 3;
- out_width = fb->width;
- out_height = fb->height;
- out_buf = (uint8_t*)malloc(out_len);
- if (!out_buf) {
- ESP_LOGE(TAG, "out_buf malloc failed");
- res = ESP_FAIL;
- } else {
- s = fmt2rgb888(fb->buf, fb->len, fb->format, out_buf);
- esp_camera_fb_return(fb);
- fb = NULL;
- if (!s) {
- free(out_buf);
- ESP_LOGE(TAG, "to rgb888 failed");
- res = ESP_FAIL;
- } else {
- fr_ready = esp_timer_get_time();
-
- fb_data_t rfb;
- rfb.width = out_width;
- rfb.height = out_height;
- rfb.data = out_buf;
- rfb.bytes_per_pixel = 3;
- rfb.format = FB_BGR888;
-
-#if TWO_STAGE
- std::list<dl::detect::result_t> &candidates = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3});
- std::list<dl::detect::result_t> &results = s2.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}, candidates);
-#else
- std::list<dl::detect::result_t> &results = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3});
-#endif
-
- fr_face = esp_timer_get_time();
- fr_recognize = fr_face;
-
- if (results.size() > 0) {
- detected = true;
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- if (recognition_enabled) {
- face_id = run_face_recognition(&rfb, &results);
- fr_recognize = esp_timer_get_time();
- }
-#endif
- draw_face_boxes(&rfb, &results, face_id);
- }
- s = fmt2jpg(out_buf, out_len, out_width, out_height, PIXFORMAT_RGB888, 90, &_jpg_buf, &_jpg_buf_len);
- free(out_buf);
- if (!s) {
- ESP_LOGE(TAG, "fmt2jpg failed");
- res = ESP_FAIL;
- }
- fr_encode = esp_timer_get_time();
- }
- }
- }
- }
-#endif
- }
- if (res == ESP_OK)
- {
- res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));
- }
- if (res == ESP_OK)
- {
- size_t hlen = snprintf((char *)part_buf, 128, _STREAM_PART, _jpg_buf_len, _timestamp.tv_sec, _timestamp.tv_usec);
- res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);
- }
- if (res == ESP_OK)
- {
- res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);
- }
- if (fb)
- {
- esp_camera_fb_return(fb);
- fb = NULL;
- _jpg_buf = NULL;
- }
- else if (_jpg_buf)
- {
- free(_jpg_buf);
- _jpg_buf = NULL;
- }
- if (res != ESP_OK)
- {
- ESP_LOGE(TAG, "send frame failed failed");
- break;
- }
- int64_t fr_end = esp_timer_get_time();
-
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- int64_t ready_time = (fr_ready - fr_start) / 1000;
- int64_t face_time = (fr_face - fr_ready) / 1000;
- int64_t recognize_time = (fr_recognize - fr_face) / 1000;
- int64_t encode_time = (fr_encode - fr_recognize) / 1000;
- int64_t process_time = (fr_encode - fr_start) / 1000;
-#endif
-
- int64_t frame_time = fr_end - last_frame;
- last_frame = fr_end;
- frame_time /= 1000;
- uint32_t avg_frame_time = ra_filter_run(&ra_filter, frame_time);
- ESP_LOGI(TAG, "MJPG: %uB %ums (%.1ffps), AVG: %ums (%.1ffps)"
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- ", %u+%u+%u+%u=%u %s%d"
-#endif
- ,
- (uint32_t)(_jpg_buf_len),
- (uint32_t)frame_time, 1000.0 / (uint32_t)frame_time,
- avg_frame_time, 1000.0 / avg_frame_time
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- ,
- (uint32_t)ready_time, (uint32_t)face_time, (uint32_t)recognize_time, (uint32_t)encode_time, (uint32_t)process_time,
- (detected) ? "DETECTED " : "", face_id
-#endif
- );
- }
-
-#ifdef CONFIG_LED_ILLUMINATOR_ENABLED
- isStreaming = false;
- enable_led(false);
-#endif
-
- last_frame = 0;
- return res;
-}
-
-static esp_err_t parse_get(httpd_req_t *req, char **obuf)
-{
- char *buf = NULL;
- size_t buf_len = 0;
-
- buf_len = httpd_req_get_url_query_len(req) + 1;
- if (buf_len > 1) {
- buf = (char *)malloc(buf_len);
- if (!buf) {
- httpd_resp_send_500(req);
- return ESP_FAIL;
- }
- if (httpd_req_get_url_query_str(req, buf, buf_len) == ESP_OK) {
- *obuf = buf;
- return ESP_OK;
- }
- free(buf);
- }
- httpd_resp_send_404(req);
- return ESP_FAIL;
-}
-
-static esp_err_t cmd_handler(httpd_req_t *req)
-{
- char *buf = NULL;
- char variable[32];
- char value[32];
-
- if (parse_get(req, &buf) != ESP_OK) {
- return ESP_FAIL;
- }
- if (httpd_query_key_value(buf, "var", variable, sizeof(variable)) != ESP_OK ||
- httpd_query_key_value(buf, "val", value, sizeof(value)) != ESP_OK) {
- free(buf);
- httpd_resp_send_404(req);
- return ESP_FAIL;
- }
- free(buf);
-
- int val = atoi(value);
- ESP_LOGI(TAG, "%s = %d", variable, val);
- sensor_t *s = esp_camera_sensor_get();
- int res = 0;
-
- if (!strcmp(variable, "framesize")) {
- if (s->pixformat == PIXFORMAT_JPEG) {
- res = s->set_framesize(s, (framesize_t)val);
- }
- }
- else if (!strcmp(variable, "quality"))
- res = s->set_quality(s, val);
- else if (!strcmp(variable, "contrast"))
- res = s->set_contrast(s, val);
- else if (!strcmp(variable, "brightness"))
- res = s->set_brightness(s, val);
- else if (!strcmp(variable, "saturation"))
- res = s->set_saturation(s, val);
- else if (!strcmp(variable, "gainceiling"))
- res = s->set_gainceiling(s, (gainceiling_t)val);
- else if (!strcmp(variable, "colorbar"))
- res = s->set_colorbar(s, val);
- else if (!strcmp(variable, "awb"))
- res = s->set_whitebal(s, val);
- else if (!strcmp(variable, "agc"))
- res = s->set_gain_ctrl(s, val);
- else if (!strcmp(variable, "aec"))
- res = s->set_exposure_ctrl(s, val);
- else if (!strcmp(variable, "hmirror"))
- res = s->set_hmirror(s, val);
- else if (!strcmp(variable, "vflip"))
- res = s->set_vflip(s, val);
- else if (!strcmp(variable, "awb_gain"))
- res = s->set_awb_gain(s, val);
- else if (!strcmp(variable, "agc_gain"))
- res = s->set_agc_gain(s, val);
- else if (!strcmp(variable, "aec_value"))
- res = s->set_aec_value(s, val);
- else if (!strcmp(variable, "aec2"))
- res = s->set_aec2(s, val);
- else if (!strcmp(variable, "dcw"))
- res = s->set_dcw(s, val);
- else if (!strcmp(variable, "bpc"))
- res = s->set_bpc(s, val);
- else if (!strcmp(variable, "wpc"))
- res = s->set_wpc(s, val);
- else if (!strcmp(variable, "raw_gma"))
- res = s->set_raw_gma(s, val);
- else if (!strcmp(variable, "lenc"))
- res = s->set_lenc(s, val);
- else if (!strcmp(variable, "special_effect"))
- res = s->set_special_effect(s, val);
- else if (!strcmp(variable, "wb_mode"))
- res = s->set_wb_mode(s, val);
- else if (!strcmp(variable, "ae_level"))
- res = s->set_ae_level(s, val);
-#ifdef CONFIG_LED_ILLUMINATOR_ENABLED
- else if (!strcmp(variable, "led_intensity")) {
- led_duty = val;
- if (isStreaming)
- enable_led(true);
- }
-#endif
-
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- else if (!strcmp(variable, "face_detect")) {
- detection_enabled = val;
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- if (!detection_enabled) {
- recognition_enabled = 0;
- }
-#endif
- }
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- else if (!strcmp(variable, "face_enroll")){
- is_enrolling = !is_enrolling;
- ESP_LOGI(TAG, "Enrolling: %s", is_enrolling?"true":"false");
- }
- else if (!strcmp(variable, "face_recognize")) {
- recognition_enabled = val;
- if (recognition_enabled) {
- detection_enabled = val;
- }
- }
-#endif
-#endif
- else if(!strcmp(variable, "flash") ) {
- pinMode(4, OUTPUT);
- digitalWrite(4, atoi(value));
- flash_enabled = atoi(value);
- }
- else {
- ESP_LOGI(TAG, "Unknown command: %s", variable);
- res = -1;
- }
-
- if (res < 0) {
- return httpd_resp_send_500(req);
- }
-
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, NULL, 0);
-}
-
-static int print_reg(char * p, sensor_t * s, uint16_t reg, uint32_t mask){
- return sprintf(p, "\"0x%x\":%u,", reg, s->get_reg(s, reg, mask));
-}
-
-static esp_err_t status_handler(httpd_req_t *req)
-{
- static char json_response[1024];
-
- sensor_t *s = esp_camera_sensor_get();
- char *p = json_response;
- *p++ = '{';
-
- if(s->id.PID == OV5640_PID || s->id.PID == OV3660_PID){
- for(int reg = 0x3400; reg < 0x3406; reg+=2){
- p+=print_reg(p, s, reg, 0xFFF);//12 bit
- }
- p+=print_reg(p, s, 0x3406, 0xFF);
-
- p+=print_reg(p, s, 0x3500, 0xFFFF0);//16 bit
- p+=print_reg(p, s, 0x3503, 0xFF);
- p+=print_reg(p, s, 0x350a, 0x3FF);//10 bit
- p+=print_reg(p, s, 0x350c, 0xFFFF);//16 bit
-
- for(int reg = 0x5480; reg <= 0x5490; reg++){
- p+=print_reg(p, s, reg, 0xFF);
- }
-
- for(int reg = 0x5380; reg <= 0x538b; reg++){
- p+=print_reg(p, s, reg, 0xFF);
- }
-
- for(int reg = 0x5580; reg < 0x558a; reg++){
- p+=print_reg(p, s, reg, 0xFF);
- }
- p+=print_reg(p, s, 0x558a, 0x1FF);//9 bit
- } else if(s->id.PID == OV2640_PID){
- p+=print_reg(p, s, 0xd3, 0xFF);
- p+=print_reg(p, s, 0x111, 0xFF);
- p+=print_reg(p, s, 0x132, 0xFF);
- }
-
- p += sprintf(p, "\"xclk\":%u,", s->xclk_freq_hz / 1000000);
- p += sprintf(p, "\"pixformat\":%u,", s->pixformat);
- p += sprintf(p, "\"framesize\":%u,", s->status.framesize);
- p += sprintf(p, "\"quality\":%u,", s->status.quality);
- p += sprintf(p, "\"brightness\":%d,", s->status.brightness);
- p += sprintf(p, "\"contrast\":%d,", s->status.contrast);
- p += sprintf(p, "\"saturation\":%d,", s->status.saturation);
- p += sprintf(p, "\"sharpness\":%d,", s->status.sharpness);
- p += sprintf(p, "\"special_effect\":%u,", s->status.special_effect);
- p += sprintf(p, "\"wb_mode\":%u,", s->status.wb_mode);
- p += sprintf(p, "\"awb\":%u,", s->status.awb);
- p += sprintf(p, "\"awb_gain\":%u,", s->status.awb_gain);
- p += sprintf(p, "\"aec\":%u,", s->status.aec);
- p += sprintf(p, "\"aec2\":%u,", s->status.aec2);
- p += sprintf(p, "\"ae_level\":%d,", s->status.ae_level);
- p += sprintf(p, "\"aec_value\":%u,", s->status.aec_value);
- p += sprintf(p, "\"agc\":%u,", s->status.agc);
- p += sprintf(p, "\"agc_gain\":%u,", s->status.agc_gain);
- p += sprintf(p, "\"gainceiling\":%u,", s->status.gainceiling);
- p += sprintf(p, "\"bpc\":%u,", s->status.bpc);
- p += sprintf(p, "\"wpc\":%u,", s->status.wpc);
- p += sprintf(p, "\"raw_gma\":%u,", s->status.raw_gma);
- p += sprintf(p, "\"lenc\":%u,", s->status.lenc);
- p += sprintf(p, "\"hmirror\":%u,", s->status.hmirror);
- p += sprintf(p, "\"vflip\":%u,", s->status.vflip);
- p += sprintf(p, "\"dcw\":%u,", s->status.dcw);
- p += sprintf(p, "\"colorbar\":%u", s->status.colorbar);
-#ifdef CONFIG_LED_ILLUMINATOR_ENABLED
- p += sprintf(p, ",\"led_intensity\":%u", led_duty);
-#else
- p += sprintf(p, ",\"led_intensity\":%d", -1);
-#endif
-#if CONFIG_ESP_FACE_DETECT_ENABLED
- p += sprintf(p, ",\"face_detect\":%u", detection_enabled);
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- p += sprintf(p, ",\"face_enroll\":%u,", is_enrolling);
- p += sprintf(p, ",\"face_recognize\":%u", recognition_enabled);
-#endif
-#endif
- p += sprintf(p, ",\"flash\":%u", flash_enabled);
- *p++ = '}';
- *p++ = 0;
- httpd_resp_set_type(req, "application/json");
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, json_response, strlen(json_response));
-}
-
-static esp_err_t xclk_handler(httpd_req_t *req)
-{
- char *buf = NULL;
- char _xclk[32];
-
- if (parse_get(req, &buf) != ESP_OK) {
- return ESP_FAIL;
- }
- if (httpd_query_key_value(buf, "xclk", _xclk, sizeof(_xclk)) != ESP_OK) {
- free(buf);
- httpd_resp_send_404(req);
- return ESP_FAIL;
- }
- free(buf);
-
- int xclk = atoi(_xclk);
- ESP_LOGI(TAG, "Set XCLK: %d MHz", xclk);
-
- sensor_t *s = esp_camera_sensor_get();
- int res = s->set_xclk(s, LEDC_TIMER_0, xclk);
- if (res) {
- return httpd_resp_send_500(req);
- }
-
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, NULL, 0);
-}
-
-static esp_err_t reg_handler(httpd_req_t *req)
-{
- char *buf = NULL;
- char _reg[32];
- char _mask[32];
- char _val[32];
-
- if (parse_get(req, &buf) != ESP_OK) {
- return ESP_FAIL;
- }
- if (httpd_query_key_value(buf, "reg", _reg, sizeof(_reg)) != ESP_OK ||
- httpd_query_key_value(buf, "mask", _mask, sizeof(_mask)) != ESP_OK ||
- httpd_query_key_value(buf, "val", _val, sizeof(_val)) != ESP_OK) {
- free(buf);
- httpd_resp_send_404(req);
- return ESP_FAIL;
- }
- free(buf);
-
- int reg = atoi(_reg);
- int mask = atoi(_mask);
- int val = atoi(_val);
- ESP_LOGI(TAG, "Set Register: reg: 0x%02x, mask: 0x%02x, value: 0x%02x", reg, mask, val);
-
- sensor_t *s = esp_camera_sensor_get();
- int res = s->set_reg(s, reg, mask, val);
- if (res) {
- return httpd_resp_send_500(req);
- }
-
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, NULL, 0);
-}
-
-static esp_err_t greg_handler(httpd_req_t *req)
-{
- char *buf = NULL;
- char _reg[32];
- char _mask[32];
-
- if (parse_get(req, &buf) != ESP_OK) {
- return ESP_FAIL;
- }
- if (httpd_query_key_value(buf, "reg", _reg, sizeof(_reg)) != ESP_OK ||
- httpd_query_key_value(buf, "mask", _mask, sizeof(_mask)) != ESP_OK) {
- free(buf);
- httpd_resp_send_404(req);
- return ESP_FAIL;
- }
- free(buf);
-
- int reg = atoi(_reg);
- int mask = atoi(_mask);
- sensor_t *s = esp_camera_sensor_get();
- int res = s->get_reg(s, reg, mask);
- if (res < 0) {
- return httpd_resp_send_500(req);
- }
- ESP_LOGI(TAG, "Get Register: reg: 0x%02x, mask: 0x%02x, value: 0x%02x", reg, mask, res);
-
- char buffer[20];
- const char * val = itoa(res, buffer, 10);
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, val, strlen(val));
-}
-
-static int parse_get_var(char *buf, const char * key, int def)
-{
- char _int[16];
- if(httpd_query_key_value(buf, key, _int, sizeof(_int)) != ESP_OK){
- return def;
- }
- return atoi(_int);
-}
-
-static esp_err_t pll_handler(httpd_req_t *req)
-{
- char *buf = NULL;
-
- if (parse_get(req, &buf) != ESP_OK) {
- return ESP_FAIL;
- }
-
- int bypass = parse_get_var(buf, "bypass", 0);
- int mul = parse_get_var(buf, "mul", 0);
- int sys = parse_get_var(buf, "sys", 0);
- int root = parse_get_var(buf, "root", 0);
- int pre = parse_get_var(buf, "pre", 0);
- int seld5 = parse_get_var(buf, "seld5", 0);
- int pclken = parse_get_var(buf, "pclken", 0);
- int pclk = parse_get_var(buf, "pclk", 0);
- free(buf);
-
- ESP_LOGI(TAG, "Set Pll: bypass: %d, mul: %d, sys: %d, root: %d, pre: %d, seld5: %d, pclken: %d, pclk: %d", bypass, mul, sys, root, pre, seld5, pclken, pclk);
- sensor_t *s = esp_camera_sensor_get();
- int res = s->set_pll(s, bypass, mul, sys, root, pre, seld5, pclken, pclk);
- if (res) {
- return httpd_resp_send_500(req);
- }
-
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, NULL, 0);
-}
-
-static esp_err_t win_handler(httpd_req_t *req)
-{
- char *buf = NULL;
-
- if (parse_get(req, &buf) != ESP_OK) {
- return ESP_FAIL;
- }
-
- int startX = parse_get_var(buf, "sx", 0);
- int startY = parse_get_var(buf, "sy", 0);
- int endX = parse_get_var(buf, "ex", 0);
- int endY = parse_get_var(buf, "ey", 0);
- int offsetX = parse_get_var(buf, "offx", 0);
- int offsetY = parse_get_var(buf, "offy", 0);
- int totalX = parse_get_var(buf, "tx", 0);
- int totalY = parse_get_var(buf, "ty", 0);
- int outputX = parse_get_var(buf, "ox", 0);
- int outputY = parse_get_var(buf, "oy", 0);
- bool scale = parse_get_var(buf, "scale", 0) == 1;
- bool binning = parse_get_var(buf, "binning", 0) == 1;
- free(buf);
-
- ESP_LOGI(TAG, "Set Window: Start: %d %d, End: %d %d, Offset: %d %d, Total: %d %d, Output: %d %d, Scale: %u, Binning: %u", startX, startY, endX, endY, offsetX, offsetY, totalX, totalY, outputX, outputY, scale, binning);
- sensor_t *s = esp_camera_sensor_get();
- int res = s->set_res_raw(s, startX, startY, endX, endY, offsetX, offsetY, totalX, totalY, outputX, outputY, scale, binning);
- if (res) {
- return httpd_resp_send_500(req);
- }
-
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, NULL, 0);
-}
-
-static esp_err_t uptime_handler(httpd_req_t *req)
-{
- char buf[64];
- sprintf(buf, "{\"seconds\":%ld}", (long)(millis()/1000));
- httpd_resp_set_type(req, "application/json");
- httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
- return httpd_resp_send(req, buf, strlen(buf));
-}
-
-static esp_err_t index_handler(httpd_req_t *req)
-{
- httpd_resp_set_type(req, "text/html");
- httpd_resp_set_hdr(req, "Content-Encoding", "gzip");
- sensor_t *s = esp_camera_sensor_get();
- if (s != NULL) {
- if (s->id.PID == OV3660_PID) {
- return httpd_resp_send(req, (const char *)index_ov3660_html_gz, index_ov3660_html_gz_len);
- } else if (s->id.PID == OV5640_PID) {
- return httpd_resp_send(req, (const char *)index_ov5640_html_gz, index_ov5640_html_gz_len);
- } else {
- return httpd_resp_send(req, (const char *)index_ov2640_html_gz, index_ov2640_html_gz_len);
- }
- } else {
- ESP_LOGE(TAG, "Camera sensor not found");
- return httpd_resp_send_500(req);
- }
-}
-
-void startCameraServer()
-{
- httpd_config_t config = HTTPD_DEFAULT_CONFIG();
- config.max_uri_handlers = 16;
-
- httpd_uri_t index_uri = {
- .uri = "/",
- .method = HTTP_GET,
- .handler = index_handler,
- .user_ctx = NULL};
-
- httpd_uri_t status_uri = {
- .uri = "/status",
- .method = HTTP_GET,
- .handler = status_handler,
- .user_ctx = NULL};
-
- httpd_uri_t cmd_uri = {
- .uri = "/control",
- .method = HTTP_GET,
- .handler = cmd_handler,
- .user_ctx = NULL};
-
- httpd_uri_t capture_uri = {
- .uri = "/capture",
- .method = HTTP_GET,
- .handler = capture_handler,
- .user_ctx = NULL};
-
- httpd_uri_t stream_uri = {
- .uri = "/stream",
- .method = HTTP_GET,
- .handler = stream_handler,
- .user_ctx = NULL};
-
- httpd_uri_t bmp_uri = {
- .uri = "/bmp",
- .method = HTTP_GET,
- .handler = bmp_handler,
- .user_ctx = NULL};
-
- httpd_uri_t xclk_uri = {
- .uri = "/xclk",
- .method = HTTP_GET,
- .handler = xclk_handler,
- .user_ctx = NULL};
-
- httpd_uri_t reg_uri = {
- .uri = "/reg",
- .method = HTTP_GET,
- .handler = reg_handler,
- .user_ctx = NULL};
-
- httpd_uri_t greg_uri = {
- .uri = "/greg",
- .method = HTTP_GET,
- .handler = greg_handler,
- .user_ctx = NULL};
-
- httpd_uri_t pll_uri = {
- .uri = "/pll",
- .method = HTTP_GET,
- .handler = pll_handler,
- .user_ctx = NULL};
-
- httpd_uri_t win_uri = {
- .uri = "/resolution",
- .method = HTTP_GET,
- .handler = win_handler,
- .user_ctx = NULL};
-
- httpd_uri_t uptime_uri = {
- .uri = "/uptime",
- .method = HTTP_GET,
- .handler = uptime_handler,
- .user_ctx = NULL};
-
- ra_filter_init(&ra_filter, 20);
-
-#if CONFIG_ESP_FACE_RECOGNITION_ENABLED
- recognizer.set_partition(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_ANY, "fr");
-
- // load ids from flash partition
- recognizer.set_ids_from_flash();
-#endif
- ESP_LOGI(TAG, "Starting web server on port: '%d'", config.server_port);
- if (httpd_start(&camera_httpd, &config) == ESP_OK)
- {
- httpd_register_uri_handler(camera_httpd, &index_uri);
- httpd_register_uri_handler(camera_httpd, &cmd_uri);
- httpd_register_uri_handler(camera_httpd, &status_uri);
- httpd_register_uri_handler(camera_httpd, &capture_uri);
- httpd_register_uri_handler(camera_httpd, &bmp_uri);
-
- httpd_register_uri_handler(camera_httpd, &xclk_uri);
- httpd_register_uri_handler(camera_httpd, &reg_uri);
- httpd_register_uri_handler(camera_httpd, &greg_uri);
- httpd_register_uri_handler(camera_httpd, &pll_uri);
- httpd_register_uri_handler(camera_httpd, &win_uri);
- httpd_register_uri_handler(camera_httpd, &uptime_uri);
- }
-
- config.server_port += 1;
- config.ctrl_port += 1;
- ESP_LOGI(TAG, "Starting stream server on port: '%d'", config.server_port);
- if (httpd_start(&stream_httpd, &config) == ESP_OK)
- {
- httpd_register_uri_handler(stream_httpd, &stream_uri);
- }
-}
diff --git a/esp32-cam/CameraWebServer/camera_index.h b/esp32-cam/CameraWebServer/camera_index.h
deleted file mode 100644
index 5ca12e9..0000000
--- a/esp32-cam/CameraWebServer/camera_index.h
+++ /dev/null
@@ -1,1570 +0,0 @@
-
-
-//File: index_ov2640.html.gz, Size: 6787
-#define index_ov2640_html_gz_len 6787
-const uint8_t index_ov2640_html_gz[] = {
-0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xED, 0x3D, 0x6B, 0x73, 0xDB, 0x46,
-0x92, 0xDF, 0xFD, 0x2B, 0x60, 0x24, 0x6B, 0x92, 0x25, 0x92, 0x22, 0x29, 0x4A, 0x96, 0x15, 0x89,
-0x3E, 0x5B, 0x96, 0x1F, 0xB5, 0x76, 0xE2, 0xB5, 0x12, 0xC7, 0x5B, 0xA9, 0x2D, 0x07, 0x24, 0x86,
-0x24, 0x62, 0x10, 0xE0, 0x02, 0xA0, 0x48, 0x26, 0xA5, 0xDF, 0x71, 0x3F, 0xE8, 0xFE, 0xD8, 0x75,
-0xCF, 0x03, 0x18, 0x00, 0x83, 0x17, 0x29, 0x91, 0x5E, 0xDF, 0xD1, 0xA9, 0x08, 0x8F, 0xE9, 0x9E,
-0x7E, 0x77, 0xCF, 0x0C, 0x06, 0x38, 0x7F, 0x68, 0xBA, 0xA3, 0x60, 0x3D, 0x27, 0xDA, 0x34, 0x98,
-0xD9, 0x83, 0x07, 0xE7, 0xEC, 0x8F, 0x06, 0xBF, 0xF3, 0x29, 0x31, 0x4C, 0x76, 0x48, 0x4F, 0x67,
-0x24, 0x30, 0xB4, 0xD1, 0xD4, 0xF0, 0x7C, 0x12, 0x5C, 0xE8, 0x8B, 0x60, 0xDC, 0x3A, 0xD5, 0x93,
-0xB7, 0x1D, 0x63, 0x46, 0x2E, 0xF4, 0x1B, 0x8B, 0x2C, 0xE7, 0xAE, 0x17, 0xE8, 0xDA, 0xC8, 0x75,
-0x02, 0xE2, 0x40, 0xF3, 0xA5, 0x65, 0x06, 0xD3, 0x0B, 0x93, 0xDC, 0x58, 0x23, 0xD2, 0xA2, 0x27,
-0x4D, 0xCB, 0xB1, 0x02, 0xCB, 0xB0, 0x5B, 0xFE, 0xC8, 0xB0, 0xC9, 0x45, 0x57, 0xC6, 0x15, 0x58,
-0x81, 0x4D, 0x06, 0x57, 0xD7, 0xEF, 0x8F, 0x7A, 0xDA, 0x4F, 0x1F, 0x7B, 0xFD, 0x93, 0xCE, 0xF9,
-0x21, 0xBB, 0x16, 0xB5, 0xF1, 0x83, 0xB5, 0x7C, 0x8E, 0xBF, 0xA1, 0x6B, 0xAE, 0xB5, 0xBF, 0x62,
-0x97, 0xF0, 0x37, 0x06, 0x22, 0x5A, 0x63, 0x63, 0x66, 0xD9, 0xEB, 0x33, 0xED, 0x99, 0x07, 0x7D,
-0x36, 0x5F, 0x13, 0xFB, 0x86, 0x04, 0xD6, 0xC8, 0x68, 0xFA, 0x86, 0xE3, 0xB7, 0x7C, 0xE2, 0x59,
-0xE3, 0x1F, 0x52, 0x80, 0x43, 0x63, 0xF4, 0x65, 0xE2, 0xB9, 0x0B, 0xC7, 0x3C, 0xD3, 0xBE, 0xEB,
-0x9E, 0xE2, 0xBF, 0x74, 0xA3, 0x91, 0x6B, 0xBB, 0x1E, 0xDC, 0xBF, 0x7A, 0x89, 0xFF, 0xD2, 0xF7,
-0x69, 0xEF, 0xBE, 0xF5, 0x27, 0x39, 0xD3, 0xBA, 0x27, 0xF3, 0x55, 0xEC, 0xFE, 0xED, 0x83, 0xD8,
-0xE9, 0xB4, 0x97, 0x45, 0x3D, 0x87, 0x3F, 0xCD, 0x87, 0xF7, 0xC9, 0x28, 0xB0, 0x5C, 0xA7, 0x3D,
-0x33, 0x2C, 0x47, 0x81, 0xC9, 0xB4, 0xFC, 0xB9, 0x6D, 0x80, 0x0C, 0xC6, 0x36, 0xC9, 0xC5, 0xF3,
-0xDD, 0x8C, 0x38, 0x8B, 0x66, 0x01, 0x36, 0x44, 0xD2, 0x32, 0x2D, 0x8F, 0xB5, 0x3A, 0x43, 0x39,
-0x2C, 0x66, 0x4E, 0x21, 0xDA, 0x3C, 0xBA, 0x1C, 0xD7, 0x21, 0x0A, 0x01, 0x62, 0x47, 0x4B, 0xCF,
-0x98, 0x63, 0x03, 0xFC, 0x9B, 0x6E, 0x32, 0xB3, 0x1C, 0x66, 0x54, 0x67, 0xDA, 0x51, 0xBF, 0x33,
-0x5F, 0x15, 0xA8, 0xF2, 0xE8, 0x04, 0xFF, 0xA5, 0x1B, 0xCD, 0x0D, 0xD3, 0xB4, 0x9C, 0xC9, 0x99,
-0x76, 0xAA, 0x44, 0xE1, 0x7A, 0x26, 0xF1, 0x5A, 0x9E, 0x61, 0x5A, 0x0B, 0xFF, 0x4C, 0xEB, 0xAB,
-0xDA, 0xCC, 0x0C, 0x6F, 0x02, 0xB4, 0x04, 0x2E, 0x10, 0xDB, 0xEA, 0x2A, 0x29, 0xE1, 0x4D, 0x3C,
-0x6B, 0x32, 0x0D, 0x40, 0xA5, 0xA9, 0x36, 0x49, 0xA1, 0x71, 0x17, 0x2A, 0xD2, 0x67, 0xAE, 0xDC,
-0xD4, 0x52, 0x33, 0x6C, 0x6B, 0xE2, 0xB4, 0xAC, 0x80, 0xCC, 0x80, 0x1D, 0x3F, 0xF0, 0x48, 0x30,
-0x9A, 0xE6, 0x91, 0x32, 0xB6, 0x26, 0x0B, 0x8F, 0x28, 0x08, 0x09, 0xE5, 0x96, 0xC3, 0x30, 0xDC,
-0x4C, 0xDF, 0x6A, 0x2D, 0xC9, 0xF0, 0x8B, 0x15, 0xB4, 0xB8, 0x4C, 0x86, 0x64, 0xEC, 0x7A, 0x44,
-0xD9, 0x52, 0xB4, 0xB0, 0xDD, 0xD1, 0x97, 0x96, 0x1F, 0x18, 0x5E, 0x50, 0x06, 0xA1, 0x31, 0x0E,
-0x88, 0x57, 0x8C, 0x8F, 0xA0, 0x55, 0x14, 0x63, 0xCB, 0xEE, 0x96, 0x37, 0xB0, 0x1C, 0xDB, 0x72,
-0x48, 0x79, 0xF2, 0xB2, 0xFA, 0x8D, 0xA3, 0x63, 0xAD, 0x4A, 0x28, 0xC6, 0x9A, 0x4D, 0xF2, 0xAC,
-0x84, 0xF2, 0x9A, 0xEE, 0x8C, 0xFB, 0x4D, 0xB7, 0xD3, 0xF9, 0x5B, 0xFA, 0xE6, 0x94, 0x30, 0x33,
-0x35, 0x16, 0x81, 0xBB, 0xBD, 0x47, 0xA4, 0xDC, 0x2A, 0xC1, 0xC7, 0x7F, 0xCD, 0x88, 0x69, 0x19,
-0x5A, 0x5D, 0x72, 0xE7, 0xD3, 0x0E, 0xD8, 0x54, 0x43, 0x33, 0x1C, 0x53, 0xAB, 0xBB, 0x9E, 0x05,
-0x8E, 0x60, 0xD0, 0x70, 0x63, 0xC3, 0x15, 0x48, 0x1C, 0x73, 0xD2, 0x50, 0xB0, 0x9C, 0xE3, 0x33,
-0xB2, 0x44, 0xD4, 0x6E, 0x83, 0xBF, 0x12, 0x21, 0x07, 0x7F, 0x85, 0x0E, 0xA4, 0xE0, 0x91, 0xA2,
-0xCF, 0xD3, 0x97, 0x4C, 0x61, 0x96, 0xCE, 0xF0, 0x37, 0x33, 0x56, 0xAD, 0x5C, 0xDD, 0x89, 0x46,
-0x42, 0x87, 0x90, 0x66, 0x47, 0x75, 0x68, 0x7A, 0x33, 0xD5, 0x5A, 0x1A, 0x46, 0xC9, 0x86, 0x1A,
-0x86, 0x23, 0x55, 0xAB, 0x1C, 0x7F, 0xB2, 0x51, 0x54, 0x60, 0x57, 0xCD, 0x6A, 0x14, 0x3B, 0xD8,
-0x3F, 0x95, 0x0D, 0x31, 0x4E, 0x32, 0xA3, 0x08, 0xFE, 0xCA, 0x47, 0x92, 0x08, 0x59, 0x61, 0x34,
-0x51, 0x20, 0xCE, 0x8E, 0x28, 0x29, 0xBC, 0x59, 0xDE, 0xAD, 0xC0, 0x9A, 0x4F, 0x42, 0xD9, 0xE8,
-0xA2, 0x40, 0x9C, 0x47, 0x43, 0x61, 0x94, 0xC1, 0xDF, 0x6D, 0x89, 0x7A, 0xE3, 0xBB, 0xE1, 0x22,
-0x08, 0x5C, 0xC7, 0xDF, 0x2A, 0x45, 0x65, 0xF9, 0xD9, 0x1F, 0x0B, 0x3F, 0xB0, 0xC6, 0xEB, 0x16,
-0x77, 0x69, 0xF0, 0xB3, 0xB9, 0x01, 0x25, 0xE4, 0x90, 0x04, 0x4B, 0x42, 0xF2, 0xCB, 0x0D, 0xC7,
-0xB8, 0x81, 0xB8, 0x33, 0x99, 0xD8, 0x2A, 0xDB, 0x1B, 0x2D, 0x3C, 0x1F, 0xEB, 0xB6, 0xB9, 0x6B,
-0x01, 0x62, 0x2F, 0xDD, 0x71, 0xDC, 0x07, 0x4B, 0x76, 0xD4, 0x1A, 0x0D, 0x15, 0x7D, 0xB9, 0x8B,
-0x00, 0x65, 0xAC, 0xD4, 0x84, 0x0B, 0xEC, 0x58, 0xC1, 0x5A, 0x79, 0x8F, 0x7B, 0xA2, 0xE2, 0x8E,
-0x70, 0xC1, 0xDC, 0xB4, 0x10, 0xA7, 0xEB, 0x6C, 0x34, 0x25, 0xA3, 0x2F, 0xC4, 0x3C, 0x28, 0x2C,
-0xC3, 0x8A, 0xCA, 0xC3, 0xB6, 0xE5, 0xCC, 0x17, 0x41, 0x0B, 0xCB, 0xA9, 0xF9, 0xBD, 0xE8, 0x9C,
-0x1A, 0xA4, 0x60, 0xB1, 0xD7, 0xCB, 0x2B, 0x2A, 0x8E, 0xE7, 0xAB, 0x7C, 0x21, 0xC8, 0xC4, 0x0E,
-0x6C, 0x63, 0x48, 0xEC, 0x3C, 0x92, 0xB9, 0x33, 0x64, 0x84, 0x5D, 0x1E, 0xAB, 0xB2, 0x6B, 0x37,
-0x4A, 0x59, 0x94, 0xBC, 0xFA, 0x8F, 0xFF, 0x56, 0x5A, 0x8E, 0xF4, 0xB8, 0x19, 0xBB, 0xE4, 0x13,
-0x1B, 0x1C, 0x2C, 0xAB, 0xF4, 0x86, 0x36, 0x4B, 0xA0, 0x21, 0xB7, 0x03, 0xCF, 0x70, 0x26, 0x04,
-0x62, 0xC1, 0xAA, 0x29, 0x0E, 0xF3, 0x07, 0x06, 0xA5, 0xD8, 0xC7, 0x50, 0x7D, 0x9C, 0x3F, 0x10,
-0x61, 0x01, 0xA1, 0xA9, 0xB5, 0xD9, 0xC1, 0x06, 0x55, 0x89, 0xA4, 0xDF, 0x5C, 0x42, 0xBA, 0x4A,
-0xEB, 0x60, 0x85, 0x89, 0xD2, 0x73, 0xE2, 0xB6, 0xA5, 0x2C, 0xF4, 0x0B, 0x43, 0x83, 0x18, 0xF2,
-0x8D, 0xC7, 0x45, 0x83, 0xC6, 0xF1, 0xF8, 0xA8, 0x73, 0xD4, 0x2F, 0xAC, 0x9C, 0x94, 0x5C, 0x26,
-0x06, 0x8E, 0x8A, 0xD0, 0x11, 0x86, 0x95, 0x5C, 0x23, 0xF0, 0x8D, 0x1B, 0x65, 0xD1, 0xEE, 0xFA,
-0x16, 0x1B, 0xB9, 0x19, 0x43, 0x1F, 0xC6, 0x6E, 0x81, 0x62, 0xE8, 0xC5, 0x0D, 0xBD, 0xA7, 0xA4,
-0x8F, 0x96, 0x74, 0x4A, 0x17, 0x10, 0xE2, 0x55, 0x93, 0x1D, 0xD3, 0x80, 0xBA, 0x89, 0xA4, 0x60,
-0x65, 0x51, 0x19, 0x90, 0x55, 0xD0, 0x32, 0xC9, 0xC8, 0xF5, 0x58, 0x35, 0x98, 0x31, 0x72, 0x4C,
-0x28, 0xB2, 0xD8, 0x62, 0xCF, 0xA6, 0xEE, 0x0D, 0xF1, 0x14, 0xC2, 0x4A, 0x28, 0xB5, 0xFF, 0xA4,
-0x6F, 0x96, 0xC0, 0x66, 0x40, 0x7A, 0x54, 0xCA, 0x3E, 0x8E, 0xAE, 0xD7, 0x1D, 0xF5, 0x72, 0xFD,
-0x98, 0xA1, 0x6B, 0x83, 0xCF, 0x18, 0x43, 0x9B, 0x98, 0x39, 0xD9, 0xCC, 0x24, 0x63, 0x63, 0x61,
-0x07, 0x05, 0x56, 0x69, 0x74, 0xF0, 0x5F, 0x5E, 0x8F, 0x34, 0x0C, 0xFD, 0x86, 0xF3, 0x42, 0x17,
-0x34, 0x70, 0xFC, 0x4B, 0xD1, 0xA7, 0x28, 0x35, 0x8C, 0xF9, 0x9C, 0x18, 0xD0, 0x6A, 0x44, 0xB2,
-0xF4, 0x50, 0x6A, 0x88, 0xA1, 0x8E, 0xF3, 0xA5, 0xC6, 0xED, 0x85, 0x0E, 0x1B, 0x16, 0x8F, 0x95,
-0x78, 0x3E, 0x1B, 0xBB, 0xA3, 0x85, 0xAA, 0xAA, 0x29, 0xE7, 0x78, 0x69, 0x7C, 0x67, 0x42, 0x64,
-0xBE, 0x6D, 0x51, 0xF7, 0x5F, 0x38, 0x0E, 0x6A, 0xB4, 0x15, 0x78, 0xC0, 0xA6, 0xA2, 0xA3, 0x72,
-0x82, 0xDB, 0x28, 0x86, 0xC5, 0x04, 0x9B, 0x35, 0x77, 0x95, 0x08, 0x53, 0x8A, 0x70, 0x1A, 0x46,
-0x5A, 0x0D, 0x62, 0x88, 0x65, 0x0A, 0x54, 0xDB, 0xC9, 0x25, 0x98, 0x2E, 0x66, 0xAA, 0x3A, 0x4A,
-0x74, 0xD6, 0x85, 0xA4, 0xCF, 0xBA, 0xF3, 0x26, 0x43, 0xA3, 0xDE, 0x69, 0x76, 0x9A, 0x47, 0xF0,
-0x3F, 0xC5, 0x78, 0x26, 0xDF, 0xB8, 0xB8, 0x78, 0x33, 0x2C, 0x2F, 0x11, 0xA2, 0x8B, 0xA7, 0x95,
-0xB2, 0x82, 0x7D, 0xA1, 0x2E, 0xCA, 0x7B, 0x52, 0x7C, 0x7E, 0xA9, 0xDB, 0x2E, 0xC8, 0xC3, 0x19,
-0x26, 0x5D, 0xDD, 0x10, 0x15, 0xD6, 0x52, 0x55, 0xC5, 0x33, 0xF7, 0xCF, 0x16, 0x2B, 0x42, 0xFE,
-0xCF, 0x5B, 0xBB, 0x24, 0x8A, 0x6F, 0xDA, 0xD2, 0x2B, 0xCB, 0xC5, 0xDF, 0xB7, 0x6D, 0x74, 0xB2,
-0xB5, 0xDE, 0xE2, 0x55, 0x1F, 0x50, 0xE8, 0xC0, 0x18, 0xD4, 0x83, 0xC1, 0x68, 0x66, 0x65, 0x28,
-0xB5, 0xD9, 0x40, 0x06, 0x63, 0xCB, 0xB6, 0x5B, 0xB6, 0xBB, 0x2C, 0xAE, 0x44, 0xF2, 0x2D, 0x39,
-0x65, 0xA7, 0xC5, 0x26, 0xBF, 0x29, 0xB5, 0x0B, 0x88, 0x5C, 0xFF, 0x11, 0xD4, 0x7E, 0xDB, 0x0E,
-0x97, 0xEB, 0x1A, 0x9B, 0x25, 0x8A, 0x0D, 0xEC, 0x71, 0xBB, 0x8E, 0x4A, 0x99, 0x12, 0xAB, 0x04,
-0xF3, 0x87, 0x3D, 0x4B, 0x2B, 0x18, 0x4D, 0x37, 0x18, 0x7A, 0x46, 0x03, 0x23, 0x8F, 0xD8, 0x06,
-0x56, 0xF0, 0x1B, 0xCD, 0x50, 0x14, 0x0E, 0xDF, 0x64, 0xF0, 0x32, 0x9C, 0x50, 0xD1, 0x7D, 0x3D,
-0xB3, 0x4B, 0x6D, 0x56, 0x3B, 0x64, 0xC7, 0x6A, 0xB5, 0x59, 0x17, 0x94, 0xFB, 0x71, 0xCF, 0x50,
-0x37, 0xAA, 0x10, 0xD1, 0x45, 0xD0, 0x9E, 0x78, 0x64, 0x5D, 0x82, 0x99, 0x26, 0xFF, 0x7B, 0xC6,
-0xE6, 0x8F, 0x37, 0x9F, 0x2A, 0xA1, 0x09, 0x80, 0x5B, 0x51, 0xBB, 0xEF, 0x97, 0xE8, 0x3A, 0xBB,
-0xCB, 0x32, 0xF6, 0x18, 0xCE, 0x8E, 0xEA, 0x7A, 0x89, 0x70, 0x93, 0x93, 0x42, 0xD5, 0xA6, 0x2A,
-0xB2, 0xAF, 0x7A, 0x3C, 0x4F, 0xC6, 0x41, 0xC6, 0xE2, 0x0F, 0xAD, 0x53, 0x8F, 0xF2, 0xA3, 0x5B,
-0x4B, 0x9A, 0x4D, 0x29, 0x8C, 0x1C, 0xE1, 0x24, 0x66, 0xB6, 0xF5, 0x29, 0x31, 0x63, 0xF4, 0xAC,
-0x8C, 0x3C, 0x5B, 0x25, 0xA2, 0x7C, 0xA6, 0x6A, 0x86, 0x36, 0x33, 0x9E, 0xF2, 0x41, 0x3D, 0xE4,
-0x53, 0xBD, 0x77, 0xA2, 0x5C, 0x5B, 0xC9, 0x69, 0x9C, 0x47, 0x5A, 0xE6, 0x2C, 0x60, 0x3A, 0x65,
-0x65, 0x0E, 0x90, 0xE5, 0x58, 0xA4, 0x54, 0x54, 0xBE, 0x57, 0xE6, 0x45, 0x98, 0xF4, 0x4C, 0x56,
-0xAE, 0xB1, 0x5B, 0x33, 0x03, 0xCA, 0x5E, 0x34, 0x57, 0x03, 0x30, 0xAA, 0xF4, 0x57, 0xC6, 0xDC,
-0xA5, 0x39, 0xD6, 0xEE, 0x49, 0xA7, 0xA0, 0xCB, 0x91, 0xED, 0xFA, 0x5B, 0x4E, 0x80, 0x65, 0xCF,
-0x7F, 0x29, 0xEF, 0x94, 0x4A, 0xDD, 0xB9, 0x3E, 0x95, 0xEF, 0x8E, 0x09, 0x99, 0x77, 0x3B, 0xCA,
-0x48, 0x9B, 0x3B, 0x4B, 0x49, 0x67, 0xD0, 0xE8, 0xFA, 0xE5, 0x99, 0x36, 0x22, 0xEA, 0x30, 0x1A,
-0x9F, 0xA8, 0x2B, 0x33, 0x55, 0x9A, 0xAB, 0x87, 0xA9, 0x65, 0x9A, 0x24, 0x77, 0x2E, 0x18, 0xC7,
-0xBC, 0x25, 0x8B, 0x07, 0xA4, 0x5F, 0x35, 0x29, 0x75, 0x2F, 0x4E, 0x91, 0xFB, 0x58, 0x43, 0xF7,
-0xBE, 0x3D, 0x86, 0x27, 0x9A, 0xAC, 0x99, 0xF4, 0x78, 0x29, 0x92, 0x4B, 0xAA, 0xD2, 0xB9, 0xC3,
-0xB9, 0x56, 0x14, 0x19, 0xC8, 0x01, 0x5B, 0xA5, 0xA3, 0x79, 0x82, 0x2A, 0xBA, 0x90, 0xD2, 0xE6,
-0x6B, 0x4B, 0x7C, 0x19, 0xB0, 0x95, 0xB5, 0xBA, 0x72, 0x87, 0x4B, 0x6D, 0xD4, 0x02, 0x92, 0xFD,
-0x66, 0x8A, 0x66, 0x4F, 0x95, 0x51, 0x0E, 0x91, 0x61, 0x8A, 0x11, 0x0F, 0x57, 0xC5, 0x5B, 0x6D,
-0xEA, 0x1C, 0xE7, 0x87, 0xD2, 0xD3, 0x70, 0xE7, 0x87, 0xD1, 0x83, 0x7B, 0xE7, 0xF8, 0x48, 0x9C,
-0xFC, 0xD0, 0x1C, 0xEF, 0x67, 0x64, 0x1B, 0xBE, 0x7F, 0xA1, 0xE3, 0xA3, 0x5D, 0x7A, 0xFC, 0x19,
-0xBA, 0x73, 0xD3, 0xBA, 0xD1, 0x2C, 0xF3, 0x42, 0xB7, 0xDD, 0x89, 0x9B, 0xB8, 0x47, 0xEF, 0x33,
-0x2D, 0x43, 0x1E, 0xBB, 0xD0, 0x63, 0xEB, 0x8B, 0x3A, 0x85, 0x8A, 0x2E, 0xE9, 0x83, 0x47, 0xDF,
-0x3D, 0x79, 0xFC, 0xF8, 0xE4, 0x87, 0x47, 0xCE, 0xD0, 0x9F, 0xF3, 0xFF, 0xFF, 0xCC, 0x96, 0x63,
-0x7F, 0xFA, 0xD8, 0x3B, 0xE9, 0xC3, 0x70, 0x8F, 0x04, 0x01, 0x98, 0x9E, 0x7F, 0x7E, 0x48, 0x91,
-0x26, 0x08, 0x39, 0x04, 0x4A, 0x32, 0x68, 0xE3, 0xE5, 0x8E, 0x8A, 0x3C, 0xD1, 0xC4, 0x87, 0x0C,
-0x3E, 0x34, 0x3C, 0x45, 0x13, 0xDA, 0x8C, 0x15, 0xD3, 0x34, 0x94, 0xE8, 0x54, 0x27, 0x43, 0x77,
-0x95, 0xE4, 0x80, 0x32, 0xC5, 0x15, 0xC6, 0x5B, 0x11, 0x33, 0x0B, 0x21, 0x80, 0x51, 0x70, 0x5C,
-0x5C, 0x85, 0x36, 0xCA, 0x46, 0x31, 0x15, 0x60, 0xE3, 0xD5, 0xC8, 0xFE, 0x22, 0x74, 0xAF, 0x0B,
-0xA5, 0x38, 0x6E, 0xC0, 0x42, 0x65, 0x46, 0x57, 0x31, 0x56, 0x39, 0x8C, 0xB4, 0x6C, 0xC8, 0xB8,
-0x00, 0xD1, 0xB6, 0x28, 0x76, 0x76, 0x2D, 0x1F, 0x13, 0xC5, 0x26, 0xE9, 0x55, 0x00, 0xEB, 0x83,
-0x4F, 0x97, 0x6F, 0xFF, 0xAE, 0xBD, 0x7B, 0xFD, 0xA7, 0x52, 0x43, 0x45, 0x44, 0x61, 0x8C, 0x2E,
-0xD1, 0x33, 0x05, 0x63, 0xFA, 0x10, 0x32, 0xD1, 0xB9, 0x66, 0x28, 0x06, 0xCC, 0xF6, 0x36, 0x71,
-0x26, 0xC1, 0xF4, 0x42, 0xEF, 0xEA, 0xF8, 0x48, 0x8B, 0x38, 0xEB, 0xE9, 0x1A, 0xC6, 0x6F, 0x7A,
-0x70, 0x63, 0xD8, 0x0B, 0x3C, 0xEA, 0x94, 0xE1, 0x35, 0x6D, 0x5A, 0xCA, 0x66, 0x3C, 0xB0, 0x84,
-0x32, 0x96, 0x02, 0x71, 0x5C, 0xCA, 0xFA, 0xE0, 0x9A, 0x04, 0xE7, 0x87, 0xEC, 0x56, 0x81, 0xD6,
-0xF2, 0xFB, 0x06, 0x4F, 0x66, 0xE6, 0x90, 0x67, 0x42, 0x79, 0x8A, 0x1F, 0x7B, 0xC6, 0x8C, 0xA0,
-0x54, 0x4A, 0x69, 0x5E, 0xD6, 0x7A, 0x08, 0xA9, 0x0F, 0x3E, 0x10, 0x5A, 0x10, 0x01, 0x19, 0xA5,
-0x14, 0x7F, 0xCE, 0x6B, 0xD4, 0x58, 0xFF, 0xA1, 0x3D, 0xF3, 0x35, 0xA9, 0x96, 0xC1, 0xCC, 0xBC,
-0x84, 0xDC, 0x1F, 0xB6, 0x5A, 0x5A, 0xEF, 0xDD, 0x7B, 0xAD, 0xD5, 0x2A, 0xD1, 0xD8, 0x9D, 0x53,
-0x77, 0xE2, 0xFA, 0xEF, 0x1E, 0xE9, 0x83, 0x5F, 0x3E, 0xBD, 0x7A, 0x56, 0x87, 0xBA, 0xB0, 0xB3,
-0xEA, 0xF6, 0x3A, 0x9D, 0xC6, 0xF9, 0x21, 0x6B, 0x52, 0x1D, 0x57, 0x0F, 0xF4, 0x4A, 0x71, 0xF5,
-0x4E, 0x01, 0x57, 0xA7, 0xD7, 0xDF, 0x02, 0x57, 0x57, 0x1F, 0xBC, 0x7E, 0xC1, 0x30, 0x3D, 0xEE,
-0x6D, 0x43, 0x14, 0x18, 0x38, 0xA5, 0x09, 0xC8, 0x59, 0x3D, 0x3E, 0x39, 0xDD, 0x1C, 0xD3, 0x13,
-0xE0, 0xEE, 0x23, 0x60, 0x3A, 0x05, 0x41, 0x9D, 0x6C, 0x23, 0xA7, 0x53, 0x7D, 0x80, 0x78, 0x20,
-0xA2, 0xAF, 0xFA, 0xA7, 0x5B, 0xE0, 0x79, 0x0C, 0x22, 0x42, 0x44, 0x80, 0x64, 0x75, 0xB4, 0x8D,
-0x8C, 0x4E, 0xF4, 0xC1, 0xE5, 0x9B, 0x97, 0xF5, 0x3E, 0x30, 0xD6, 0x7B, 0x72, 0xB2, 0x39, 0x9E,
-0x63, 0x7D, 0xF0, 0x0F, 0x24, 0x08, 0x88, 0x59, 0xF5, 0xFA, 0x5B, 0x10, 0xD4, 0xD7, 0x07, 0x00,
-0x8F, 0x38, 0x36, 0x46, 0x01, 0x76, 0xFD, 0x9A, 0x12, 0x83, 0x88, 0xBA, 0x8F, 0xB7, 0xE0, 0x0A,
-0xAC, 0xFA, 0x1F, 0x28, 0x1E, 0x40, 0xB2, 0xEA, 0xF6, 0xB7, 0xB1, 0x69, 0x40, 0x44, 0x49, 0x02,
-0x5F, 0x43, 0x57, 0xDB, 0x1C, 0x13, 0xD8, 0xF4, 0x93, 0x93, 0xD5, 0x93, 0x93, 0x72, 0x08, 0x30,
-0x46, 0x62, 0xBC, 0xC9, 0x8B, 0xA2, 0xF9, 0x41, 0x36, 0x2F, 0x80, 0xFE, 0x7B, 0x01, 0xC3, 0xA2,
-0x60, 0x5D, 0x39, 0x7C, 0x72, 0x38, 0x90, 0x09, 0x3B, 0x28, 0x17, 0x39, 0x25, 0x4A, 0xC2, 0x27,
-0x74, 0xF4, 0x41, 0xBF, 0x44, 0x86, 0x8A, 0x95, 0x30, 0x14, 0x36, 0x46, 0x3F, 0x4D, 0x9B, 0x68,
-0x79, 0x98, 0x30, 0xC1, 0x25, 0x8E, 0x74, 0x29, 0x82, 0x6C, 0x14, 0x9A, 0x15, 0xB4, 0x1A, 0x2B,
-0x7D, 0x70, 0x72, 0x54, 0x98, 0xD2, 0x36, 0x57, 0xC6, 0x90, 0x0E, 0xC0, 0x1D, 0xE2, 0xFB, 0x95,
-0xF5, 0x11, 0x81, 0xEA, 0x83, 0xE7, 0xE1, 0xF1, 0x36, 0x5A, 0x69, 0xF5, 0xB6, 0x50, 0x8B, 0x44,
-0x0E, 0xD3, 0x4C, 0xAB, 0xC7, 0x55, 0x13, 0x15, 0x2F, 0x77, 0xAB, 0x98, 0x22, 0x6A, 0xB7, 0xD1,
-0x0B, 0x16, 0xE0, 0x9E, 0xE1, 0x07, 0x95, 0xB5, 0x22, 0x00, 0x21, 0x42, 0xF3, 0xA3, 0xBD, 0x69,
-0x24, 0x24, 0xE5, 0x1B, 0xD0, 0x87, 0x6F, 0x04, 0x0B, 0xF6, 0x2C, 0x54, 0x65, 0x8D, 0x44, 0xA0,
-0x50, 0x0F, 0x84, 0xC7, 0x7B, 0xD3, 0x8A, 0x44, 0xCE, 0xB7, 0xA0, 0x97, 0x39, 0x19, 0x59, 0x86,
-0xFD, 0x99, 0x8C, 0xC7, 0x90, 0xB0, 0xAA, 0xEB, 0x26, 0x06, 0x0E, 0xFA, 0x61, 0xE7, 0xDA, 0x15,
-0x3D, 0xAF, 0x5C, 0x9B, 0x27, 0xD0, 0x6D, 0x5E, 0xA0, 0x27, 0xB3, 0x37, 0x9F, 0xA4, 0x26, 0x74,
-0x48, 0xC4, 0x8E, 0xF4, 0xC1, 0x8F, 0x6E, 0x48, 0xE7, 0xE6, 0x05, 0xC6, 0x8F, 0x64, 0x42, 0xE7,
-0x80, 0xB7, 0xA9, 0x76, 0x5E, 0x79, 0xC6, 0x9A, 0x6E, 0x32, 0xDC, 0xA6, 0xF8, 0xFA, 0x40, 0x4C,
-0xED, 0x67, 0xCB, 0xD9, 0x9C, 0x99, 0x3E, 0x12, 0x42, 0x88, 0xB3, 0x1D, 0x16, 0x28, 0x49, 0x9F,
-0xC3, 0xC1, 0x76, 0x48, 0x4E, 0x70, 0xBC, 0x3A, 0xB7, 0x8C, 0xAF, 0xA1, 0xDC, 0x32, 0x96, 0xC3,
-0xCA, 0x6E, 0x01, 0x30, 0xFA, 0xE0, 0xD9, 0xAF, 0xCF, 0x2B, 0x07, 0x29, 0xB6, 0x92, 0x5A, 0xC6,
-0xC2, 0xA3, 0xF9, 0x08, 0xEC, 0x2C, 0x35, 0x51, 0xA4, 0xF6, 0x9C, 0xB2, 0x93, 0x45, 0x0A, 0xBE,
-0x04, 0x81, 0x74, 0xE1, 0x49, 0x97, 0xD8, 0x2C, 0xC7, 0xE3, 0xFD, 0x45, 0x30, 0x20, 0xE2, 0xF3,
-0xC4, 0xB0, 0xAA, 0xE7, 0x15, 0x01, 0x48, 0x35, 0xA5, 0xBD, 0x82, 0xA3, 0x5D, 0xA9, 0x8B, 0x75,
-0xBB, 0x37, 0x9D, 0x71, 0xAE, 0xF7, 0xAD, 0x38, 0x20, 0x64, 0xE6, 0x9A, 0xD5, 0xA7, 0x81, 0x38,
-0x9C, 0x3E, 0x00, 0xAD, 0xBD, 0x83, 0x83, 0xCA, 0x59, 0x46, 0x20, 0xB8, 0xE7, 0xF4, 0xF2, 0x6C,
-0x11, 0xB8, 0xDB, 0x64, 0x96, 0xEB, 0x85, 0xE3, 0xAC, 0xB7, 0x49, 0x2B, 0x97, 0xB6, 0xBB, 0x30,
-0x37, 0xC7, 0x00, 0x39, 0xE5, 0xA7, 0xF1, 0xD8, 0x1A, 0x6D, 0x9E, 0x95, 0x20, 0xA3, 0xBC, 0x76,
-0x67, 0x25, 0xE1, 0xEF, 0x39, 0x8A, 0x93, 0x51, 0xF5, 0x00, 0x41, 0x46, 0xA0, 0xC5, 0xAB, 0x4B,
-0xED, 0xFA, 0xEA, 0xC7, 0xEB, 0x9F, 0x3E, 0xEC, 0x26, 0x3A, 0x40, 0x9F, 0x7B, 0x0A, 0x0C, 0xC8,
-0xED, 0xBE, 0x63, 0x02, 0x10, 0xD1, 0xDB, 0x44, 0x4F, 0x3D, 0xA6, 0xA8, 0x17, 0xD7, 0xEF, 0x77,
-0xA5, 0xA5, 0xDE, 0xFE, 0xD4, 0xD4, 0xFB, 0x1A, 0xF4, 0xF4, 0xD9, 0x26, 0x37, 0xC4, 0xDE, 0x40,
-0x57, 0x0C, 0x10, 0xF5, 0xA5, 0xBD, 0xC5, 0xA3, 0xBD, 0x0D, 0xE4, 0x42, 0x52, 0xBE, 0x81, 0x61,
-0x1C, 0x58, 0xC5, 0x67, 0x4A, 0xF4, 0x26, 0xCE, 0xC3, 0x20, 0xF5, 0xC1, 0xD5, 0x6A, 0xEE, 0xFA,
-0x0B, 0xAF, 0x64, 0x42, 0x55, 0x6B, 0xA4, 0xB3, 0x95, 0x42, 0x04, 0x29, 0x4C, 0x23, 0x1D, 0xAE,
-0x10, 0x5C, 0x24, 0x91, 0xD6, 0xCF, 0xFA, 0x77, 0xAA, 0x15, 0x44, 0x7E, 0x9F, 0x8A, 0x99, 0x6C,
-0x90, 0x77, 0x26, 0x98, 0x77, 0x5E, 0x5D, 0xEE, 0x26, 0x94, 0x4D, 0xF6, 0x96, 0x70, 0x26, 0x7B,
-0x4D, 0x38, 0x1A, 0x5F, 0xC3, 0x16, 0x52, 0xD8, 0x70, 0x10, 0xC1, 0x01, 0x61, 0xEC, 0xBC, 0xC9,
-0x00, 0x42, 0xF2, 0x9C, 0xEE, 0x6A, 0x1B, 0xD7, 0x11, 0x64, 0xC4, 0x3D, 0xE7, 0x28, 0xF2, 0x9B,
-0xE3, 0x3B, 0xF5, 0x9A, 0xA3, 0x42, 0x6A, 0xB7, 0x71, 0x1A, 0xE4, 0x64, 0x44, 0x2C, 0x1B, 0xB7,
-0x32, 0x57, 0x55, 0x88, 0x04, 0xCB, 0x74, 0xA2, 0x5D, 0xB2, 0xB3, 0x6D, 0x74, 0xD3, 0xDB, 0x46,
-0x37, 0x32, 0x45, 0x71, 0xF5, 0x9C, 0xDC, 0x53, 0xA6, 0xE9, 0xF6, 0x4E, 0xEF, 0x53, 0x3D, 0xC3,
-0x79, 0xF5, 0x98, 0x06, 0x30, 0xFA, 0xE0, 0xF9, 0xFB, 0xDD, 0xC4, 0x34, 0xEC, 0xAC, 0x64, 0x4C,
-0xDB, 0x2A, 0x82, 0x51, 0xA6, 0xF6, 0x5D, 0x8A, 0x2D, 0x37, 0xD0, 0xC6, 0x12, 0x09, 0xFF, 0x75,
-0x47, 0xDA, 0x58, 0x96, 0xD7, 0xC6, 0x1D, 0x67, 0x98, 0xE5, 0xD7, 0xA0, 0x1F, 0xCF, 0x58, 0x7E,
-0x9E, 0xCC, 0x8C, 0xCA, 0x3A, 0xE2, 0x70, 0xFA, 0xE0, 0x83, 0xB1, 0xD4, 0x5E, 0xBD, 0x7B, 0xB6,
-0x13, 0x5D, 0x89, 0x4E, 0xF7, 0xA3, 0xAF, 0x90, 0xE5, 0x7D, 0xEB, 0xCC, 0x26, 0x4E, 0x75, 0xA7,
-0x42, 0x20, 0x7D, 0xF0, 0x96, 0x38, 0xBE, 0x76, 0xE9, 0x7A, 0xFC, 0xB5, 0x73, 0x3B, 0xD1, 0x1A,
-0xED, 0x79, 0x3F, 0x2A, 0x63, 0x4C, 0xEF, 0x5B, 0x5F, 0xD3, 0x99, 0xE5, 0x79, 0xAE, 0x57, 0x59,
-0x65, 0x1C, 0x4E, 0x1F, 0xBC, 0x6E, 0xBD, 0xA3, 0x47, 0x3B, 0x51, 0x97, 0xE8, 0x75, 0x3F, 0x1A,
-0x0B, 0x79, 0xDE, 0xB7, 0xD2, 0x6E, 0xC6, 0xB6, 0x35, 0xAF, 0xAC, 0x32, 0x0A, 0xA5, 0x0F, 0x3E,
-0xB6, 0x5E, 0xC2, 0xDF, 0x9D, 0xA8, 0x8B, 0xF5, 0xB8, 0x1F, 0x65, 0x71, 0x6E, 0xF7, 0xAD, 0x2A,
-0x73, 0xB4, 0xAC, 0xAC, 0x28, 0x80, 0xD1, 0x07, 0x2F, 0x2E, 0x7F, 0xD5, 0xEA, 0x2F, 0xDC, 0xA5,
-0x83, 0x0F, 0x5C, 0x6A, 0x57, 0x3F, 0x36, 0x76, 0xA2, 0x31, 0xEC, 0x7A, 0x3F, 0xFA, 0xA2, 0x4C,
-0xEF, 0x5B, 0x5B, 0x74, 0x5F, 0xCD, 0xD0, 0xA8, 0x1E, 0x0E, 0x05, 0x20, 0x3E, 0xFB, 0x02, 0x47,
-0xDA, 0x73, 0x63, 0x37, 0x01, 0x31, 0xEC, 0x77, 0x17, 0x45, 0x7B, 0xC4, 0xE4, 0xBE, 0xF5, 0x64,
-0x13, 0xB3, 0x84, 0x8A, 0xE2, 0x25, 0x86, 0xF9, 0x19, 0xB7, 0xA8, 0xE0, 0xD6, 0xCD, 0x35, 0xD4,
-0x1A, 0x57, 0x2F, 0xB4, 0x37, 0xE2, 0xB4, 0x04, 0x37, 0x1B, 0xCF, 0xD9, 0x65, 0x0D, 0x6D, 0xE3,
-0xF4, 0xC4, 0x07, 0xB7, 0xBD, 0xE3, 0xE3, 0xED, 0x86, 0xB7, 0x59, 0xD3, 0xA8, 0xC7, 0xC7, 0xF7,
-0xA8, 0x93, 0xB1, 0x31, 0x22, 0x9F, 0x4D, 0x12, 0x6C, 0xF2, 0x30, 0x8C, 0x04, 0xAB, 0x0F, 0x5E,
-0xC2, 0x89, 0xF6, 0x82, 0x9E, 0xEC, 0xAA, 0x0C, 0x94, 0xFB, 0xDF, 0x85, 0x27, 0xC5, 0xF8, 0xDD,
-0xB7, 0x33, 0x51, 0x62, 0xA0, 0xE8, 0x76, 0x27, 0xCE, 0x46, 0x7B, 0x0B, 0x62, 0xE0, 0x5C, 0x7D,
-0x1F, 0xD8, 0xF9, 0x6E, 0x15, 0x18, 0x11, 0xB1, 0x33, 0x1D, 0x4A, 0x7C, 0xEF, 0x5D, 0x8D, 0x70,
-0x7D, 0x5A, 0x5D, 0x7B, 0x08, 0x05, 0x4A, 0xC3, 0x3F, 0xBB, 0xD1, 0x14, 0xED, 0x70, 0x27, 0x0A,
-0x62, 0xAC, 0xDD, 0xA1, 0x5E, 0xB2, 0xEF, 0xCB, 0x3B, 0xBF, 0xF8, 0x2B, 0x53, 0x8B, 0x94, 0xC0,
-0x77, 0x20, 0xD1, 0x79, 0x4E, 0x12, 0xB4, 0xFC, 0xC0, 0xB2, 0x6D, 0x7D, 0xF0, 0x8A, 0x04, 0xDA,
-0x35, 0x1E, 0x96, 0xDC, 0x72, 0x24, 0x61, 0x11, 0xFB, 0x0D, 0x03, 0x8F, 0x18, 0x33, 0x7D, 0x70,
-0x8D, 0x2F, 0x93, 0x05, 0x5C, 0x78, 0x56, 0x1D, 0x19, 0xB5, 0x6E, 0xE2, 0x78, 0x2E, 0x10, 0x15,
-0x2A, 0x87, 0xBF, 0xA4, 0x4E, 0xD7, 0xC4, 0x91, 0x74, 0x6D, 0x70, 0x45, 0x1B, 0x6B, 0xE8, 0xFE,
-0xC5, 0xDD, 0x95, 0xDE, 0x0B, 0x45, 0x37, 0x3F, 0xE2, 0x6E, 0xC6, 0xF8, 0xAB, 0xA6, 0x41, 0xAD,
-0x6C, 0x6B, 0xF3, 0xE0, 0xDC, 0x9F, 0x1B, 0x8E, 0x68, 0x46, 0xF7, 0xFD, 0x2E, 0xF9, 0x46, 0xCE,
-0xA1, 0x6B, 0x9B, 0xD0, 0xF0, 0x99, 0x79, 0x83, 0xAF, 0xDD, 0x32, 0xB5, 0xEB, 0x70, 0x4B, 0x22,
-0x82, 0x80, 0x5D, 0x08, 0x0C, 0x05, 0xBA, 0x9F, 0x7A, 0x02, 0x3D, 0xDB, 0x3C, 0x8A, 0x2F, 0x2A,
-0xCA, 0x51, 0x6E, 0xC6, 0x2E, 0x4A, 0x8F, 0x4C, 0x42, 0x41, 0xAA, 0x36, 0xD7, 0x2A, 0xF7, 0x54,
-0x7E, 0x20, 0x13, 0xCB, 0x07, 0x1A, 0x35, 0x30, 0x8B, 0x43, 0xBA, 0x0F, 0x8D, 0xD9, 0x72, 0xB9,
-0x3D, 0x8E, 0x72, 0x97, 0x7C, 0x87, 0xB6, 0x72, 0xE7, 0x6A, 0xA5, 0x52, 0x3E, 0xB9, 0xCF, 0x34,
-0x8E, 0xB1, 0xC8, 0xE8, 0x1F, 0xB6, 0x5A, 0xD3, 0x3E, 0xEE, 0xA8, 0xD3, 0x04, 0x6B, 0xE7, 0x87,
-0xD3, 0x7E, 0xD1, 0x66, 0xB0, 0xC2, 0xED, 0x90, 0xC0, 0xE9, 0xC6, 0xBB, 0x21, 0x51, 0x4A, 0x03,
-0xA0, 0xA6, 0xA9, 0xBD, 0x33, 0xFC, 0x2F, 0x4D, 0xED, 0x23, 0x16, 0x5E, 0x3B, 0xDC, 0x14, 0x89,
-0xB4, 0x1B, 0xA6, 0xE9, 0x65, 0x6E, 0x8C, 0xEC, 0xC7, 0x36, 0x46, 0x9E, 0x88, 0x8D, 0x91, 0xD2,
-0x12, 0xC8, 0xAA, 0xDB, 0xED, 0x96, 0xE1, 0xBC, 0xE4, 0xDE, 0xC8, 0x3B, 0x61, 0x69, 0x06, 0xC2,
-0x2C, 0xC9, 0x52, 0x5F, 0xB0, 0xD4, 0x97, 0x58, 0x3A, 0xBD, 0xCB, 0xDD, 0x9E, 0x77, 0xC2, 0x11,
-0x5F, 0x60, 0xFF, 0x4A, 0x58, 0x2A, 0xB5, 0x81, 0x95, 0xDA, 0xF6, 0x5D, 0xED, 0x5F, 0xA5, 0x4D,
-0x92, 0xC1, 0xF0, 0x38, 0x37, 0x16, 0x52, 0x10, 0xE6, 0xF3, 0xAF, 0xEE, 0xD2, 0xE7, 0x27, 0x5B,
-0xF8, 0xFC, 0x24, 0xE5, 0xF3, 0x3B, 0x74, 0x76, 0x41, 0xF8, 0x37, 0xE6, 0xF0, 0x82, 0xAD, 0x0A,
-0x4E, 0xAF, 0x64, 0x6B, 0xB7, 0x1E, 0x12, 0x5A, 0xC2, 0xAB, 0xBB, 0xF4, 0x90, 0x0C, 0xBB, 0xDD,
-0xC8, 0x48, 0x79, 0xCC, 0x19, 0xEC, 0x26, 0x27, 0xD1, 0x4A, 0x4A, 0x56, 0x27, 0xEF, 0x1D, 0x77,
-0x80, 0x1E, 0xF5, 0x79, 0xD9, 0x74, 0x17, 0xEA, 0x29, 0xBF, 0x51, 0x3E, 0xB3, 0xC9, 0xDD, 0x14,
-0x65, 0xF8, 0xAA, 0x8A, 0xB9, 0x54, 0xE1, 0x96, 0x2E, 0xCC, 0x2E, 0xDF, 0xFE, 0xBD, 0x5A, 0x2D,
-0x96, 0xEC, 0x69, 0x77, 0xF5, 0xD8, 0x66, 0xD6, 0x2A, 0x0B, 0x8C, 0xD3, 0x0E, 0x11, 0x07, 0x5F,
-0x19, 0xD1, 0xFB, 0x14, 0x72, 0xAE, 0x18, 0x0A, 0x4A, 0x41, 0x21, 0x04, 0xCB, 0x1A, 0xEC, 0xD1,
-0x40, 0xC8, 0x27, 0x93, 0xE1, 0x58, 0xC4, 0x35, 0xCD, 0x1D, 0x8F, 0xE9, 0x77, 0xC8, 0x1E, 0x63,
-0xC0, 0xF0, 0xBF, 0xE0, 0xF5, 0x4E, 0x37, 0x24, 0x49, 0x35, 0xD4, 0x8B, 0x28, 0x0C, 0x69, 0xA3,
-0x26, 0x56, 0x34, 0x6E, 0xAB, 0x2A, 0x82, 0x23, 0x26, 0x82, 0x17, 0x6F, 0x3E, 0xAA, 0x64, 0xC0,
-0x7C, 0xAD, 0x93, 0x16, 0xC1, 0xD1, 0xE6, 0x2F, 0xBD, 0xE8, 0x96, 0x96, 0x56, 0x27, 0x92, 0xD6,
-0xD1, 0x38, 0xDA, 0xBB, 0xBB, 0x4D, 0xC8, 0x52, 0x48, 0xE0, 0x98, 0x3D, 0x9D, 0xAF, 0xBD, 0x97,
-0x3D, 0xA0, 0x94, 0x1D, 0x1C, 0x57, 0xB1, 0x03, 0xF3, 0x68, 0x0B, 0x33, 0x38, 0xCE, 0x30, 0x83,
-0xBB, 0x92, 0x41, 0x5F, 0x1F, 0xBC, 0xDF, 0xC4, 0x0C, 0xFA, 0x25, 0xCD, 0xE0, 0x48, 0x98, 0x41,
-0xB4, 0xB1, 0xBB, 0x5F, 0x56, 0x58, 0x92, 0x15, 0x3C, 0x1E, 0xE3, 0xF3, 0x4C, 0x8F, 0xCB, 0x79,
-0xC2, 0xEE, 0x62, 0xEE, 0xD2, 0x72, 0xAA, 0xC7, 0xDB, 0x5F, 0x2D, 0xC7, 0x74, 0x97, 0xD5, 0x42,
-0xAE, 0xDC, 0xD1, 0xD7, 0x1E, 0x6E, 0xAB, 0x8D, 0x5A, 0x71, 0x66, 0xA7, 0xB5, 0xC2, 0xCA, 0xDE,
-0xF1, 0x5D, 0x4F, 0x4B, 0xBF, 0xD2, 0x25, 0xB6, 0x33, 0x54, 0xB4, 0x2E, 0x57, 0x04, 0xA4, 0xF7,
-0xC2, 0xBC, 0x79, 0xA9, 0x6D, 0xF0, 0xBE, 0x0D, 0x05, 0xB2, 0x2E, 0x7B, 0x2B, 0x89, 0xB6, 0xC1,
-0x6B, 0x49, 0x14, 0xD8, 0x32, 0xF6, 0x0E, 0xE1, 0x1B, 0x62, 0xB4, 0xCD, 0x5E, 0x11, 0x53, 0xB8,
-0x8D, 0x86, 0xB5, 0xDA, 0x3C, 0xA5, 0x84, 0xE3, 0x32, 0xE6, 0xAD, 0x50, 0x63, 0x95, 0x7B, 0xF7,
-0x01, 0xC5, 0x29, 0x19, 0x00, 0x07, 0x5F, 0xD1, 0x6D, 0x46, 0x3E, 0x29, 0xB7, 0x5B, 0x38, 0x49,
-0x58, 0x85, 0xCA, 0xF0, 0xD3, 0x99, 0x14, 0xCC, 0xC2, 0xCE, 0x2B, 0x06, 0xB3, 0xA8, 0xCE, 0x07,
-0x63, 0xDA, 0xFB, 0xE0, 0xE5, 0x9F, 0x0A, 0x96, 0xD6, 0x9B, 0xB3, 0x74, 0x74, 0x57, 0x2C, 0x6D,
-0x91, 0xAA, 0x42, 0xEB, 0x0A, 0xDC, 0xC0, 0xB0, 0x37, 0x36, 0x2E, 0x06, 0x0D, 0xB6, 0xC5, 0x62,
-0xAE, 0x76, 0x0D, 0xAC, 0xEE, 0xD4, 0xC0, 0x04, 0x01, 0xE5, 0x94, 0xD1, 0x4F, 0x2B, 0xE3, 0xF4,
-0x6B, 0xB3, 0x2F, 0xC6, 0x51, 0x59, 0xF3, 0x52, 0x70, 0x74, 0xF2, 0x35, 0x99, 0x97, 0xBB, 0x08,
-0xF0, 0xEA, 0xC6, 0xC1, 0x8B, 0x81, 0x63, 0xF0, 0xA2, 0x47, 0xBB, 0x37, 0xB0, 0x90, 0x82, 0x8D,
-0xF5, 0x71, 0x74, 0xA7, 0xEF, 0xA2, 0xBB, 0x8B, 0x08, 0xC6, 0x58, 0xDA, 0xC2, 0xC4, 0x7A, 0xFD,
-0x1D, 0x9A, 0x98, 0xB4, 0xD0, 0xC4, 0xF3, 0x20, 0x2F, 0x60, 0x74, 0xBE, 0x36, 0x10, 0x15, 0x34,
-0x55, 0x56, 0x92, 0xD4, 0x59, 0xF9, 0xFC, 0x10, 0x8A, 0xC2, 0x34, 0x82, 0x0C, 0x3A, 0xCF, 0xD9,
-0x27, 0x2D, 0xD5, 0x1D, 0x46, 0xAF, 0xA0, 0xA4, 0xCB, 0x6A, 0xD1, 0xCB, 0x8E, 0xC3, 0x42, 0x33,
-0xF9, 0x12, 0xE4, 0xC2, 0xD7, 0x3D, 0x9E, 0x1B, 0xFC, 0xDD, 0x28, 0x37, 0x84, 0xAF, 0x01, 0x6A,
-0x53, 0x8F, 0x8C, 0x2F, 0xF4, 0xEF, 0x42, 0x9C, 0x5C, 0x5A, 0xD8, 0x44, 0xD7, 0x20, 0x24, 0x3B,
-0xB6, 0x6B, 0x60, 0xB1, 0x6A, 0xCC, 0x03, 0xA0, 0xB4, 0xFD, 0xC7, 0x1C, 0x27, 0x79, 0x0D, 0x7C,
-0x91, 0x86, 0x51, 0x6E, 0xED, 0x98, 0xBE, 0x36, 0x99, 0x3F, 0xF1, 0x84, 0x87, 0xE1, 0x9A, 0xE1,
-0xFF, 0xFC, 0x77, 0xD1, 0xD4, 0x0C, 0x7E, 0xD8, 0x34, 0x12, 0x00, 0x98, 0x91, 0x37, 0xBA, 0xD0,
-0x81, 0x52, 0xCF, 0xF5, 0xA1, 0x14, 0xB5, 0x26, 0x56, 0x86, 0xAA, 0xB2, 0xA4, 0x7D, 0xA8, 0x12,
-0x77, 0xA2, 0xB1, 0x62, 0x6C, 0x72, 0xEE, 0x8F, 0x3C, 0x6B, 0x0E, 0xA5, 0x9A, 0xE9, 0x8E, 0x16,
-0x33, 0xE2, 0x04, 0x6D, 0xC3, 0x34, 0xAF, 0x6E, 0xE0, 0xE0, 0x2D, 0xCE, 0x30, 0x83, 0xE4, 0xEB,
-0xB5, 0x17, 0x3F, 0xBD, 0xBB, 0x64, 0x2F, 0x13, 0x7D, 0x0B, 0xF2, 0x22, 0x66, 0xAD, 0xA9, 0x8D,
-0x17, 0x0E, 0xAB, 0xDE, 0xEB, 0x04, 0xDB, 0xB2, 0x0F, 0xCC, 0xDE, 0x18, 0x9E, 0x36, 0x34, 0x7C,
-0xF2, 0xDA, 0xF5, 0x03, 0xED, 0x42, 0x0B, 0x31, 0xDA, 0xEE, 0x88, 0xBE, 0xAC, 0xA6, 0xCD, 0xF8,
-0xE2, 0x2D, 0x19, 0xE3, 0xBF, 0x78, 0x36, 0x34, 0x0D, 0xA1, 0x0E, 0xB4, 0xDA, 0xD9, 0x69, 0xB7,
-0x86, 0xF6, 0x17, 0x76, 0x31, 0xC6, 0x4F, 0xC6, 0x42, 0xBB, 0xFA, 0xC2, 0xB3, 0x9B, 0xDA, 0x68,
-0xD8, 0x60, 0x2F, 0x80, 0xA5, 0x97, 0xF1, 0x9A, 0x78, 0x33, 0x78, 0x3B, 0x98, 0x12, 0xA7, 0x1E,
-0x51, 0x06, 0xCE, 0x30, 0x77, 0x1D, 0x3F, 0xF6, 0xF5, 0x5B, 0x6B, 0x1C, 0x5D, 0x6F, 0x43, 0x41,
-0x1F, 0x2C, 0x7C, 0xED, 0xE1, 0xC5, 0x85, 0x86, 0x05, 0x6E, 0xEC, 0xC5, 0xB2, 0xA3, 0x61, 0xB2,
-0x5D, 0x53, 0x4B, 0x5C, 0xF8, 0x19, 0x42, 0x83, 0xF4, 0x0A, 0xF3, 0x5B, 0x8D, 0xD8, 0x89, 0x77,
-0x68, 0x87, 0x00, 0x18, 0x45, 0xEA, 0x8D, 0x38, 0x81, 0x75, 0xD3, 0x08, 0x8C, 0x46, 0xFC, 0x65,
-0xB6, 0xD0, 0x2B, 0x50, 0xD2, 0xD4, 0xE8, 0x2D, 0xF9, 0xCD, 0xBA, 0xB7, 0x8D, 0x36, 0xC8, 0x10,
-0xF8, 0x0D, 0xA1, 0x89, 0xE7, 0x25, 0x3F, 0xEB, 0x0B, 0xD0, 0xAD, 0x6E, 0x53, 0xC3, 0x3B, 0x71,
-0x58, 0x89, 0xC8, 0x07, 0xE2, 0x9A, 0x10, 0x5A, 0x3E, 0x5A, 0x05, 0x4A, 0x86, 0xEE, 0x36, 0xA6,
-0x22, 0x88, 0x3D, 0x1F, 0xC8, 0x04, 0x24, 0x36, 0x69, 0xF2, 0x01, 0x74, 0x93, 0x8E, 0x9E, 0x9B,
-0x2C, 0x28, 0x4A, 0x5A, 0x3B, 0x3C, 0x04, 0x97, 0x86, 0xA0, 0x44, 0xC0, 0x2A, 0x26, 0xF5, 0x1A,
-0x5F, 0xC0, 0x04, 0x8B, 0xAA, 0x75, 0x56, 0xB5, 0x03, 0x40, 0xD0, 0x0E, 0xDC, 0xEB, 0xC0, 0xB3,
-0x9C, 0x09, 0x0C, 0x3D, 0x1A, 0x11, 0x36, 0x7A, 0x1B, 0x51, 0x26, 0xEE, 0xD3, 0xEB, 0xB4, 0x93,
-0xE4, 0x8D, 0x3A, 0xBF, 0x7E, 0x50, 0x6B, 0xD4, 0x38, 0xF1, 0xF4, 0x1C, 0xCC, 0xAD, 0xCE, 0x0E,
-0x1E, 0x51, 0x1A, 0x1B, 0xDA, 0xF9, 0x39, 0xEF, 0x86, 0xB5, 0xC2, 0x8B, 0xD0, 0x88, 0xFE, 0x49,
-0xDC, 0x0A, 0x4D, 0xF1, 0xF7, 0xEF, 0xFF, 0x12, 0x36, 0x7B, 0x7B, 0x08, 0x54, 0x3F, 0xC5, 0x19,
-0x84, 0xEF, 0xFF, 0x82, 0xFF, 0xDF, 0x3E, 0xA2, 0xD3, 0x06, 0xDF, 0xFF, 0x85, 0x7F, 0x6E, 0x1F,
-0x41, 0x4F, 0x70, 0x4C, 0xFB, 0xBB, 0xFD, 0x9D, 0xCA, 0x21, 0x2D, 0xBD, 0x49, 0xA6, 0xF4, 0x42,
-0xB1, 0x55, 0xA6, 0x69, 0x92, 0x43, 0xD4, 0xEF, 0x91, 0xFF, 0xD6, 0x47, 0xAE, 0x09, 0xEA, 0x09,
-0xC0, 0x92, 0x85, 0xD2, 0x6D, 0x50, 0x89, 0x10, 0x54, 0xF8, 0x76, 0x67, 0x6B, 0x4C, 0x5B, 0x6A,
-0xDC, 0x55, 0x22, 0x03, 0x11, 0x2D, 0xE7, 0x86, 0xE7, 0x93, 0x37, 0x4E, 0x50, 0x0F, 0x62, 0x4E,
-0x91, 0x21, 0xF1, 0xC1, 0x20, 0xC6, 0x02, 0xFE, 0x00, 0x0E, 0xDA, 0xD5, 0xB8, 0xD2, 0x42, 0x63,
-0x7B, 0x10, 0xDA, 0x61, 0x44, 0x29, 0xBB, 0x99, 0x61, 0x87, 0x9F, 0x46, 0xF6, 0x97, 0x3A, 0xBE,
-0x6F, 0x36, 0x19, 0x2A, 0x52, 0x22, 0xC2, 0x46, 0x4F, 0xF1, 0x7F, 0x20, 0x17, 0xFC, 0x93, 0xA9,
-0x1F, 0xC0, 0xCA, 0x4A, 0xF8, 0x3A, 0x9D, 0x02, 0xF8, 0xBC, 0x6A, 0x6A, 0xEC, 0x60, 0x0D, 0x9E,
-0xE1, 0x98, 0x78, 0x8E, 0x7F, 0xD6, 0x42, 0x7B, 0x78, 0x81, 0x1F, 0xC1, 0x35, 0x5A, 0xB3, 0xE2,
-0x25, 0x76, 0x80, 0xAD, 0x68, 0x8D, 0x41, 0x5B, 0xB1, 0x23, 0xB8, 0x86, 0xEF, 0x5E, 0x02, 0xDB,
-0x6D, 0x6A, 0x43, 0xCB, 0x71, 0xE8, 0x41, 0x01, 0xF5, 0x51, 0xAA, 0x7F, 0xEA, 0xAF, 0x80, 0x03,
-0x4E, 0xDA, 0xED, 0x23, 0x7F, 0x1D, 0x9E, 0xAD, 0x6F, 0x1F, 0x11, 0xBC, 0x47, 0x89, 0x84, 0xE3,
-0x35, 0x3F, 0x86, 0xEB, 0x40, 0x1F, 0xDE, 0x11, 0x04, 0xD3, 0x0B, 0xEB, 0xE8, 0x02, 0xB4, 0x08,
-0xF0, 0x3E, 0x27, 0x1E, 0xCE, 0xD6, 0xE1, 0x19, 0x42, 0x53, 0x58, 0xCE, 0x06, 0x9C, 0xAE, 0xA3,
-0x53, 0xB8, 0x4B, 0xDF, 0x23, 0x85, 0x44, 0x30, 0x9E, 0x6E, 0x1F, 0x71, 0x9E, 0xE0, 0x12, 0x3F,
-0x4A, 0x8A, 0x1A, 0x63, 0x42, 0xC0, 0xA3, 0xC8, 0x73, 0x96, 0xA4, 0xA5, 0xFC, 0x01, 0xFE, 0x71,
-0x65, 0x13, 0x3C, 0x7C, 0xBE, 0x7E, 0x63, 0xD6, 0x6B, 0x7C, 0x41, 0xB6, 0x86, 0x31, 0x4C, 0x86,
-0x69, 0xBB, 0xCE, 0xC8, 0xB6, 0x46, 0xE8, 0x28, 0xF5, 0x86, 0x76, 0x31, 0xE0, 0x71, 0x0C, 0x0D,
-0x1A, 0x9A, 0xCB, 0x46, 0x9A, 0x89, 0x5A, 0x2C, 0x29, 0xD6, 0x1A, 0x6D, 0x6A, 0x87, 0xDC, 0xD6,
-0x10, 0x05, 0x77, 0xC1, 0x72, 0x38, 0xB0, 0xB1, 0x02, 0x47, 0xCA, 0x5B, 0x72, 0x91, 0xD0, 0xD6,
-0x12, 0x16, 0x8A, 0x46, 0x0E, 0xB5, 0x9D, 0x44, 0x94, 0xCD, 0xF1, 0x6A, 0xE1, 0xC0, 0x0F, 0x93,
-0x0E, 0x0C, 0xAA, 0xF2, 0x82, 0x7A, 0xED, 0x0A, 0x37, 0x64, 0xFC, 0x56, 0x3B, 0xC0, 0x46, 0x07,
-0xB5, 0x7F, 0x9D, 0x69, 0xB5, 0x03, 0xD9, 0x93, 0x6F, 0x93, 0x2E, 0xC7, 0x34, 0x36, 0x29, 0xA9,
-0xB1, 0x89, 0xA4, 0xB1, 0xC9, 0xDD, 0x6A, 0x4C, 0x5E, 0x08, 0xDE, 0x46, 0x6B, 0xF2, 0xCA, 0x6B,
-0x8E, 0xE6, 0x0A, 0xE1, 0xB9, 0xD2, 0xB8, 0xB6, 0x26, 0x2A, 0x6D, 0x6D, 0xA2, 0x26, 0x96, 0xE2,
-0xC0, 0x7B, 0x88, 0xF7, 0xFA, 0xE7, 0x77, 0x6F, 0x31, 0x54, 0xAA, 0x55, 0x16, 0x6A, 0x2C, 0x59,
-0x8E, 0x28, 0x30, 0x60, 0xEE, 0x8C, 0x05, 0xEE, 0x58, 0x0E, 0x3D, 0xA8, 0x69, 0x75, 0x8A, 0x12,
-0x33, 0x68, 0x81, 0x21, 0xF0, 0xC0, 0x5B, 0xCE, 0x77, 0x31, 0xD8, 0x0A, 0xE7, 0x8D, 0xA0, 0x72,
-0x6C, 0x01, 0x01, 0x4A, 0x29, 0x91, 0x61, 0x4E, 0x39, 0x8C, 0x94, 0x13, 0x76, 0xEE, 0x22, 0xD4,
-0x5F, 0xFD, 0xB2, 0x41, 0x4D, 0xC4, 0xF4, 0x28, 0xB6, 0xF9, 0x85, 0xD2, 0xE1, 0x91, 0xBF, 0x94,
-0x80, 0xF8, 0x1C, 0xB6, 0xC2, 0xC0, 0x45, 0x26, 0x28, 0x85, 0x46, 0x4C, 0x5D, 0x66, 0xE3, 0x59,
-0x57, 0xC1, 0xB3, 0x56, 0xE0, 0xE1, 0x99, 0xA7, 0x14, 0x1A, 0x3E, 0xD1, 0x95, 0x89, 0xA5, 0x1C,
-0x31, 0x7C, 0x72, 0x49, 0xC5, 0x13, 0xCF, 0x74, 0xE5, 0x78, 0xE2, 0x93, 0x22, 0xD9, 0x78, 0x4A,
-0xCA, 0x86, 0xCF, 0x44, 0x28, 0xEC, 0x39, 0x59, 0x8D, 0x74, 0xC4, 0x7F, 0x9B, 0xD7, 0x1F, 0x63,
-0x03, 0xA2, 0x45, 0xF4, 0x67, 0x2F, 0x5E, 0x32, 0xF9, 0x28, 0xAA, 0x45, 0x62, 0x2B, 0xB3, 0x01,
-0xB1, 0xDB, 0x46, 0x00, 0xF1, 0x09, 0xC6, 0xF1, 0xC4, 0x6F, 0x63, 0x85, 0x1B, 0x8A, 0x31, 0x75,
-0xAB, 0xED, 0x00, 0x01, 0x14, 0x61, 0xE3, 0xAC, 0x93, 0x34, 0xCF, 0x14, 0x2E, 0x76, 0x39, 0x0B,
-0x1D, 0xBB, 0x9B, 0x81, 0x91, 0x67, 0x98, 0x38, 0x04, 0x5E, 0xCC, 0xC2, 0x46, 0x47, 0x31, 0x12,
-0xAE, 0xDE, 0xF1, 0x71, 0x3A, 0xCF, 0xF0, 0x0E, 0xF8, 0x67, 0xED, 0x10, 0x03, 0xCE, 0x47, 0x45,
-0x43, 0xB3, 0x11, 0x14, 0x82, 0x5A, 0x4D, 0x2C, 0xD9, 0xD5, 0xCE, 0x52, 0x15, 0x37, 0x40, 0xF0,
-0x45, 0x38, 0xED, 0x29, 0xA3, 0x31, 0xF6, 0xB1, 0x96, 0x21, 0x0C, 0xBE, 0xC3, 0x6F, 0xB2, 0x31,
-0x64, 0x74, 0x83, 0x4B, 0x88, 0x89, 0x5D, 0xC3, 0x81, 0x6B, 0xE2, 0x12, 0x5B, 0xDB, 0x69, 0xB9,
-0x0E, 0x51, 0xF7, 0x1A, 0xAB, 0xDF, 0x79, 0x47, 0xFC, 0x8C, 0x3F, 0x94, 0x1E, 0x81, 0x79, 0x24,
-0x58, 0x78, 0x0E, 0xAF, 0xE7, 0xD3, 0xF5, 0x8D, 0x72, 0x28, 0xB9, 0x43, 0xDB, 0x3C, 0x3C, 0xD4,
-0x9E, 0x05, 0x81, 0x01, 0x0A, 0xC0, 0x75, 0xCA, 0x29, 0xCA, 0x47, 0x33, 0xF8, 0xA4, 0x84, 0xEB,
-0xA1, 0x51, 0xB2, 0x87, 0x8A, 0x09, 0xF3, 0x5B, 0xFC, 0x84, 0x9D, 0x70, 0x67, 0x8A, 0xAA, 0xFD,
-0xEF, 0x05, 0xF1, 0xD6, 0xD7, 0x54, 0x60, 0xAE, 0xF7, 0xCC, 0xB6, 0xEB, 0xB5, 0x76, 0xB4, 0xEC,
-0x5C, 0x63, 0x63, 0xF0, 0x36, 0xA0, 0xBA, 0x82, 0x3E, 0x40, 0xC7, 0x91, 0xCD, 0x33, 0x6E, 0x42,
-0xBD, 0xC3, 0xB8, 0xEB, 0x82, 0x2B, 0x23, 0x39, 0xE8, 0x87, 0x16, 0xAE, 0xF3, 0x85, 0xAC, 0x17,
-0x73, 0x10, 0x7F, 0x34, 0x8C, 0x4F, 0x4C, 0x2C, 0x70, 0xE9, 0x90, 0x36, 0xB4, 0xBC, 0xE4, 0x03,
-0xB9, 0xEE, 0x91, 0xA2, 0x51, 0xA4, 0x02, 0x6A, 0x9D, 0xE8, 0x89, 0xE9, 0x2F, 0xFC, 0xDC, 0x3E,
-0x50, 0x9F, 0x29, 0xA6, 0x40, 0x38, 0x81, 0x5C, 0x78, 0x22, 0x79, 0x25, 0x7A, 0x48, 0x4C, 0x4F,
-0xDC, 0x36, 0x1E, 0x44, 0x91, 0x61, 0x31, 0x37, 0x8D, 0x80, 0xC4, 0x83, 0x43, 0x68, 0x0B, 0xE2,
-0xE6, 0xCC, 0x0D, 0x48, 0x22, 0x62, 0x58, 0xB8, 0x69, 0xC6, 0xB0, 0x3F, 0x46, 0xD6, 0x78, 0xAF,
-0xEE, 0xAF, 0xF0, 0xF1, 0x0A, 0xFE, 0x9F, 0x9A, 0x83, 0x28, 0x37, 0x6E, 0x4E, 0x59, 0x48, 0x18,
-0x0F, 0x22, 0x2B, 0x91, 0xE5, 0x10, 0x0B, 0x0B, 0xFC, 0xBE, 0xE8, 0xE9, 0xE1, 0x43, 0x7A, 0xF4,
-0x20, 0x54, 0x9A, 0x88, 0x1E, 0x17, 0x5A, 0x74, 0x23, 0xA1, 0xE0, 0x34, 0xEE, 0x04, 0x0E, 0x81,
-0x5C, 0xC2, 0xC0, 0x7C, 0x2B, 0x54, 0xEF, 0x1C, 0xAA, 0x4D, 0xB4, 0x85, 0xFF, 0x8F, 0xFA, 0x5F,
-0x51, 0xD4, 0xBF, 0xBF, 0x10, 0x9F, 0x63, 0xDB, 0x09, 0x0F, 0x60, 0x70, 0xEA, 0x69, 0xC1, 0x83,
-0x1A, 0x54, 0x3B, 0xCA, 0x79, 0x3F, 0x1E, 0xBA, 0x23, 0xFB, 0x9A, 0x5A, 0x26, 0x23, 0x3A, 0xB2,
-0x2C, 0x94, 0x11, 0x4E, 0xDF, 0xE3, 0x04, 0x37, 0xCE, 0x76, 0xD7, 0x6B, 0x6C, 0x6D, 0x81, 0xC6,
-0xE3, 0xDB, 0xA8, 0x24, 0x99, 0xBA, 0xCB, 0x3C, 0x48, 0x0F, 0xA2, 0xCE, 0x0D, 0x49, 0x00, 0x87,
-0xD0, 0x7C, 0x3B, 0x4F, 0x61, 0xD7, 0x62, 0xDB, 0x0F, 0x4F, 0x06, 0xD0, 0x40, 0x5C, 0x01, 0xD0,
-0xC0, 0xA3, 0x5E, 0x23, 0xA1, 0x25, 0x4E, 0x11, 0x56, 0x41, 0x56, 0x2E, 0x62, 0x5A, 0xE6, 0xC5,
-0x31, 0xB3, 0x50, 0x5A, 0x21, 0xC8, 0xCA, 0x97, 0x01, 0x22, 0x7E, 0x7A, 0xA1, 0x39, 0x0B, 0xDB,
-0x06, 0x1B, 0x44, 0x16, 0xC0, 0x06, 0xE5, 0xBB, 0xCA, 0x10, 0xFD, 0x9F, 0x1B, 0xCF, 0x42, 0xCA,
-0x63, 0x12, 0x78, 0xF4, 0x28, 0x8E, 0x0D, 0x17, 0x19, 0x58, 0x19, 0x1F, 0xF6, 0xC6, 0xDA, 0x5F,
-0xBA, 0xCE, 0xD8, 0x9A, 0x44, 0x79, 0x96, 0x93, 0x04, 0xC9, 0xFA, 0x61, 0x4C, 0xF0, 0x52, 0x8D,
-0x03, 0x84, 0x58, 0x26, 0x15, 0x10, 0x7D, 0x63, 0x6A, 0x6A, 0x36, 0xF6, 0x29, 0xB5, 0xFA, 0x3A,
-0xE1, 0xEF, 0x52, 0x6C, 0x80, 0xFC, 0xD1, 0x98, 0xA3, 0x0B, 0xA2, 0xDE, 0x09, 0xBB, 0x92, 0x31,
-0x4E, 0x62, 0x18, 0x91, 0xB1, 0x04, 0xDD, 0xF8, 0xA3, 0xF8, 0xF0, 0xAD, 0x62, 0xFC, 0xCD, 0x66,
-0xF2, 0xD7, 0x59, 0x69, 0xE7, 0x80, 0x06, 0xDF, 0x7C, 0x26, 0xA5, 0xF6, 0x74, 0x6D, 0x40, 0x1B,
-0x66, 0x20, 0xA1, 0x1D, 0xA4, 0x91, 0xE4, 0x52, 0x2E, 0x5E, 0x2B, 0xAD, 0x10, 0x08, 0x45, 0xB7,
-0x1C, 0xA2, 0x28, 0x68, 0xAF, 0x70, 0x98, 0x87, 0x2A, 0xB1, 0x25, 0x55, 0x81, 0x90, 0x39, 0x62,
-0x9D, 0x6D, 0xEC, 0x63, 0x43, 0x74, 0x44, 0xCE, 0x7D, 0x2C, 0x7E, 0x3D, 0xB3, 0x27, 0x2D, 0xB1,
-0x7B, 0x3D, 0xD5, 0xCF, 0x40, 0x6B, 0x75, 0x05, 0xF5, 0xD0, 0xF4, 0x15, 0x3E, 0x25, 0x10, 0xF2,
-0x10, 0x5E, 0x88, 0x97, 0xAF, 0xC2, 0xAD, 0xC3, 0xE9, 0x6B, 0xD9, 0xCE, 0x58, 0x92, 0x8D, 0x32,
-0x6C, 0x64, 0xC8, 0x77, 0x94, 0x73, 0xBA, 0x9A, 0xFC, 0xE1, 0x47, 0x39, 0x33, 0x6C, 0x99, 0x6E,
-0x72, 0x70, 0xB2, 0x65, 0xDD, 0x24, 0xD2, 0xC5, 0x70, 0x66, 0x05, 0x0A, 0x84, 0xB5, 0x6E, 0xAD,
-0x4A, 0xE6, 0x92, 0xBD, 0x9C, 0x45, 0x4A, 0x5A, 0xD4, 0x03, 0xA2, 0xD8, 0x74, 0x3C, 0xFD, 0x50,
-0x8A, 0x6B, 0x3F, 0xBD, 0x31, 0x3C, 0x9C, 0x64, 0x47, 0x05, 0x27, 0x16, 0x7F, 0x18, 0x0A, 0xB6,
-0x6A, 0x49, 0x51, 0xC4, 0xD7, 0x2D, 0xC5, 0x5A, 0x61, 0x7C, 0x0C, 0x20, 0x2F, 0x96, 0xFD, 0xEE,
-0x11, 0x80, 0xF3, 0x71, 0x52, 0x43, 0xFB, 0xFE, 0x2F, 0x8A, 0xE2, 0x56, 0x1B, 0x43, 0x94, 0xF1,
-0xA7, 0xC4, 0xA4, 0x4B, 0x12, 0x01, 0x7E, 0x2B, 0x15, 0x17, 0x7C, 0x62, 0xEB, 0x94, 0xB7, 0xBF,
-0x87, 0x16, 0x12, 0x26, 0xA9, 0xC2, 0x61, 0x0A, 0x5D, 0xCE, 0xCE, 0x1F, 0xA1, 0xB0, 0xC2, 0x5E,
-0x31, 0x29, 0x85, 0x3F, 0x16, 0x81, 0xEC, 0x36, 0x54, 0x43, 0xD0, 0xCD, 0x8F, 0x50, 0xF7, 0x24,
-0xCC, 0xB4, 0xC1, 0x07, 0x58, 0xA0, 0x01, 0x53, 0x84, 0x4A, 0xA6, 0x23, 0x1C, 0x46, 0x31, 0x31,
-0xC5, 0x24, 0xCC, 0x98, 0xE1, 0xBC, 0x14, 0xAF, 0xF5, 0xF2, 0xFA, 0x21, 0x94, 0xC5, 0x1F, 0x3E,
-0x0C, 0x8B, 0x1A, 0x0F, 0x42, 0x31, 0xA4, 0x71, 0x60, 0x07, 0x12, 0x82, 0x98, 0x88, 0xB2, 0xC4,
-0x14, 0xDF, 0x66, 0x5D, 0x8B, 0x22, 0x55, 0xE6, 0xA8, 0x4E, 0x93, 0x33, 0x2D, 0x4D, 0xB3, 0xB4,
-0xDF, 0xDF, 0xA8, 0xC9, 0xFC, 0x8B, 0xCF, 0xC0, 0x48, 0x11, 0xAF, 0x51, 0x85, 0x9C, 0xD4, 0xE0,
-0xB2, 0x80, 0x94, 0x3B, 0x2C, 0xB3, 0xC5, 0x0F, 0xC2, 0x1B, 0xC5, 0x07, 0xC5, 0x6C, 0x6A, 0x78,
-0x29, 0xD7, 0x82, 0x21, 0x83, 0xB1, 0xB3, 0xF8, 0x68, 0x4F, 0x12, 0x8F, 0xB2, 0x0E, 0xCC, 0x14,
-0x17, 0xB3, 0x2E, 0xE6, 0xAE, 0x37, 0x16, 0x59, 0xE6, 0x4E, 0xBC, 0xD2, 0xE7, 0x10, 0xA8, 0xBC,
-0x22, 0x80, 0xCB, 0xF0, 0xB9, 0x93, 0x42, 0xC8, 0xE8, 0x19, 0x15, 0x09, 0x07, 0x7D, 0x00, 0xA5,
-0xDC, 0xBA, 0x08, 0x6D, 0x1A, 0x03, 0x45, 0xAC, 0xC5, 0xB0, 0xB1, 0x5D, 0xEA, 0x12, 0xBC, 0x9C,
-0x7A, 0xF2, 0xE0, 0xA5, 0x8D, 0xE9, 0x12, 0x34, 0xF5, 0xFB, 0x62, 0x60, 0xF9, 0x69, 0x17, 0x99,
-0x76, 0xE3, 0xA6, 0x04, 0x70, 0xF4, 0x88, 0x8E, 0x04, 0x2A, 0xB2, 0x59, 0x1E, 0x60, 0xF8, 0xB6,
-0x9A, 0x9A, 0xA4, 0x5F, 0x3F, 0x70, 0xE7, 0x6C, 0x73, 0x7E, 0x22, 0x0C, 0x2D, 0xE9, 0x2C, 0x69,
-0x1B, 0xEF, 0xD7, 0x79, 0x71, 0x25, 0xCB, 0x36, 0xBE, 0x14, 0x22, 0x6F, 0xF2, 0xAF, 0xC5, 0x2B,
-0x63, 0x3A, 0xCD, 0xAA, 0xEC, 0x01, 0x2D, 0xA5, 0xED, 0x7B, 0x23, 0x96, 0x0C, 0xC2, 0x07, 0x5A,
-0x30, 0x56, 0xE1, 0xE1, 0xEF, 0xAC, 0x4F, 0x4C, 0xDE, 0x31, 0x9B, 0x6A, 0x14, 0xD2, 0xE2, 0xCE,
-0x93, 0xA4, 0x44, 0x53, 0x51, 0xCC, 0xBF, 0x7D, 0xCC, 0x02, 0xFC, 0x05, 0x09, 0x0F, 0x34, 0xD9,
-0xDE, 0x32, 0x82, 0x72, 0x24, 0x26, 0x1E, 0x05, 0xE3, 0xC4, 0x4B, 0x99, 0x8C, 0x3D, 0x0D, 0xF5,
-0xF4, 0xF3, 0x68, 0x08, 0xC9, 0xEB, 0x05, 0x38, 0x1F, 0x78, 0xFB, 0xB2, 0xDE, 0xB8, 0xCD, 0x63,
-0x87, 0x89, 0x2B, 0xB2, 0x9D, 0xB2, 0x44, 0xD0, 0x34, 0xA1, 0xC6, 0x16, 0x93, 0x8F, 0x1A, 0x9D,
-0xEC, 0x30, 0x57, 0x8E, 0x18, 0xDC, 0x64, 0x09, 0xF6, 0x22, 0x2D, 0x5A, 0x56, 0xDF, 0xC6, 0x10,
-0x44, 0x09, 0x20, 0x45, 0x6C, 0xA2, 0x84, 0x95, 0xEC, 0x42, 0x34, 0x10, 0xB4, 0xCB, 0x3E, 0x98,
-0x41, 0x7B, 0xBC, 0xFA, 0x4F, 0x94, 0x8B, 0x4C, 0x00, 0xA1, 0x33, 0x65, 0xA0, 0xC0, 0xA7, 0xA8,
-0x46, 0x86, 0x73, 0x63, 0xF8, 0xB2, 0xD3, 0x8C, 0x80, 0xA0, 0x80, 0x70, 0xBF, 0xA9, 0xEB, 0xAC,
-0x81, 0xCE, 0x1D, 0x80, 0x9D, 0xB5, 0xE9, 0xB6, 0x13, 0x1C, 0xC7, 0xA0, 0x0D, 0xD0, 0x93, 0xD8,
-0x6D, 0xF6, 0x05, 0x6F, 0x71, 0x9F, 0x9D, 0xB1, 0x06, 0x61, 0x2F, 0xF8, 0xCD, 0xEC, 0xB6, 0x31,
-0x9F, 0x13, 0xC7, 0xBC, 0x9C, 0x5A, 0xB6, 0x59, 0x67, 0xA0, 0xE1, 0x83, 0x36, 0x9E, 0x46, 0xBF,
-0x3F, 0x4D, 0x1F, 0xEA, 0xE0, 0x58, 0xC1, 0x9B, 0x2F, 0xD9, 0xB5, 0x7A, 0xAD, 0x67, 0x8A, 0x67,
-0x72, 0x78, 0xB3, 0xB6, 0xE9, 0x19, 0xCB, 0x37, 0xF8, 0xCC, 0x1F, 0x35, 0x87, 0x66, 0xA7, 0xD9,
-0xE1, 0x0D, 0x02, 0x28, 0xB6, 0x84, 0xC8, 0x11, 0x2F, 0x3E, 0x1B, 0xF5, 0xCB, 0x87, 0xB7, 0x11,
-0xDE, 0xC0, 0x7D, 0xC1, 0x2E, 0xD5, 0x6B, 0xF4, 0xA1, 0xC1, 0xC3, 0x3F, 0xE6, 0xB8, 0xD4, 0x2C,
-0xD2, 0x8C, 0x24, 0x46, 0x7C, 0x1E, 0x10, 0x45, 0xC5, 0x9A, 0xFF, 0x20, 0x23, 0x85, 0xCB, 0x0E,
-0xE4, 0x09, 0x34, 0xF7, 0xBA, 0x0A, 0x54, 0x3C, 0x2D, 0x88, 0xE0, 0xC8, 0xC9, 0x4B, 0x18, 0xDE,
-0xFE, 0x93, 0x18, 0x1E, 0xE8, 0xE3, 0x40, 0xAB, 0xEB, 0x1D, 0xFD, 0xA0, 0x4E, 0xAF, 0xBF, 0x03,
-0x76, 0xA6, 0xF5, 0xC6, 0x41, 0xB7, 0xD1, 0x68, 0xFB, 0xA0, 0x33, 0x52, 0x6F, 0xF5, 0x44, 0x13,
-0xF8, 0x43, 0xDB, 0xB0, 0x4E, 0xB2, 0xEF, 0xBF, 0x76, 0x17, 0x9E, 0x9F, 0xD7, 0xE0, 0x9D, 0xE5,
-0x60, 0x26, 0xCE, 0x6B, 0x72, 0x0D, 0x83, 0x17, 0xC7, 0x4C, 0x35, 0xD1, 0xE9, 0x43, 0x8E, 0x62,
-0xA4, 0x49, 0x9F, 0xFD, 0x82, 0x92, 0x5F, 0x2A, 0xF6, 0x79, 0xBD, 0x49, 0x70, 0xA6, 0xBC, 0x2E,
-0xD6, 0xAE, 0x6E, 0x65, 0xE3, 0x88, 0x2A, 0x3A, 0x3E, 0xD7, 0x90, 0xD2, 0x7F, 0x22, 0x60, 0xF1,
-0x1A, 0x29, 0x35, 0x87, 0x5E, 0xA6, 0x0C, 0x55, 0xD6, 0x57, 0xB9, 0xF5, 0x68, 0x7C, 0xA2, 0x39,
-0x39, 0xC6, 0x8E, 0xD7, 0x9E, 0x97, 0x0B, 0xF0, 0xF1, 0x99, 0x88, 0xA8, 0xEC, 0x1A, 0x0E, 0x38,
-0xC3, 0xD0, 0x0F, 0x03, 0xD0, 0xBC, 0x7C, 0x04, 0xB7, 0xA5, 0x0C, 0xC6, 0x47, 0xAB, 0x05, 0x00,
-0xD2, 0x3B, 0xDE, 0x25, 0x58, 0x69, 0x14, 0x9C, 0x5B, 0x2F, 0x24, 0xDF, 0x4A, 0x4E, 0x51, 0x00,
-0xD6, 0x34, 0xE7, 0x8A, 0x28, 0x03, 0xED, 0x1A, 0x61, 0xD0, 0x43, 0x20, 0x3E, 0x6C, 0x93, 0x42,
-0x5E, 0xC6, 0xB0, 0x3E, 0x3D, 0xA4, 0x4F, 0xC4, 0xC2, 0xAC, 0xA1, 0x7C, 0x7A, 0x18, 0x7F, 0x2B,
-0x19, 0x88, 0xF8, 0xDA, 0x43, 0x24, 0x42, 0x92, 0x2F, 0x6F, 0x22, 0xCB, 0x5B, 0x4C, 0x67, 0x14,
-0x40, 0xC8, 0x1F, 0xA5, 0x60, 0xE2, 0x22, 0x25, 0xC5, 0x45, 0xB8, 0xB8, 0x10, 0x20, 0x1A, 0xE1,
-0x16, 0xCF, 0xAD, 0x84, 0xF6, 0xFF, 0xEB, 0xF3, 0x88, 0xB3, 0xE5, 0x30, 0x97, 0x4E, 0x3E, 0x77,
-0x21, 0xB1, 0x97, 0x0F, 0x10, 0xFB, 0x72, 0x15, 0x63, 0x6B, 0x39, 0x2C, 0xC7, 0x96, 0x98, 0xFB,
-0x40, 0x80, 0x88, 0x2D, 0xF5, 0x0C, 0x89, 0x60, 0x25, 0x7C, 0x8B, 0x9C, 0x66, 0x38, 0xA6, 0x16,
-0x7E, 0xBF, 0x3C, 0x24, 0x96, 0xBD, 0x82, 0xAD, 0xB0, 0xDC, 0x64, 0xCD, 0x24, 0x26, 0xC3, 0x39,
-0x96, 0x42, 0xD0, 0xB0, 0xA5, 0x04, 0x1D, 0xD2, 0x91, 0x0B, 0x2D, 0x1A, 0xB1, 0xA2, 0x31, 0x3C,
-0x2D, 0x25, 0xAC, 0xB0, 0x75, 0xE4, 0x38, 0x11, 0x02, 0x31, 0x47, 0x73, 0x9C, 0x9C, 0xD3, 0x63,
-0x83, 0x17, 0xC6, 0x6C, 0x62, 0x88, 0x22, 0x37, 0x08, 0x59, 0x8A, 0xB5, 0x09, 0x1D, 0x84, 0xC1,
-0x67, 0x91, 0x59, 0x48, 0x0A, 0x5B, 0xF3, 0xD4, 0xDF, 0xDB, 0x04, 0xE7, 0x43, 0xF8, 0x3E, 0x46,
-0xDC, 0x83, 0xE8, 0x7A, 0x9A, 0xED, 0x2E, 0x09, 0xAE, 0x5F, 0x8A, 0xC7, 0x4D, 0xB4, 0x21, 0x81,
-0x98, 0x4A, 0xD8, 0xAC, 0x16, 0xC6, 0xA0, 0x60, 0x6A, 0xF9, 0x30, 0x08, 0xC7, 0xEF, 0x8C, 0x92,
-0x87, 0x7A, 0x98, 0x10, 0x0B, 0xD9, 0x4B, 0xCF, 0xF6, 0xC7, 0xC4, 0xC9, 0x60, 0x22, 0x59, 0x3E,
-0xE4, 0x3C, 0xA6, 0x02, 0x51, 0xDE, 0x3C, 0x5A, 0x05, 0x11, 0x86, 0xB7, 0xBF, 0x5A, 0x29, 0xAA,
-0x19, 0x28, 0x14, 0x64, 0x08, 0x16, 0xC9, 0x32, 0xE2, 0x35, 0x25, 0x4D, 0xD5, 0x64, 0x65, 0x8E,
-0x46, 0x71, 0xCE, 0x5E, 0x19, 0xE5, 0xB3, 0xB5, 0xC2, 0x24, 0xCE, 0x12, 0x2B, 0xFB, 0x9D, 0x1F,
-0x8A, 0x9D, 0x05, 0xEC, 0x0C, 0x0B, 0xC6, 0xC1, 0x83, 0xF3, 0xC3, 0x69, 0x30, 0xB3, 0x07, 0x0F,
-0xFE, 0x17, 0x8F, 0xA0, 0x18, 0x01, 0x53, 0xAD, 0x00, 0x00
-};
-
-
-//File: index_ov3660.html.gz, Size: 8887
-#define index_ov3660_html_gz_len 8887
-const uint8_t index_ov3660_html_gz[] = {
- 0x1F, 0x8B, 0x08, 0x08, 0xA3, 0xFA, 0x69, 0x5E, 0x00, 0x03, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x5F,
- 0x6F, 0x76, 0x33, 0x36, 0x36, 0x30, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x00, 0xED, 0x3D, 0x69, 0x73,
- 0xDB, 0x46, 0xB2, 0xDF, 0xFD, 0x2B, 0x60, 0x24, 0x6B, 0x51, 0x65, 0x91, 0xE2, 0xAD, 0x23, 0x12,
- 0xFD, 0x6C, 0x59, 0xB1, 0x53, 0x1B, 0x67, 0xBD, 0x71, 0xE2, 0x24, 0xB5, 0xB5, 0xE5, 0x80, 0xC4,
- 0x90, 0x44, 0x0C, 0x02, 0x5C, 0x00, 0xD4, 0x91, 0x94, 0x7E, 0xC7, 0xFB, 0x41, 0xEF, 0x8F, 0xBD,
- 0xEE, 0x39, 0x70, 0x71, 0x00, 0x0C, 0x00, 0x11, 0x52, 0xF2, 0x1E, 0x5D, 0x65, 0xE1, 0x98, 0xEE,
- 0xE9, 0x7B, 0x7A, 0x7A, 0x06, 0xC0, 0xD9, 0x53, 0xD3, 0x9D, 0x05, 0xB7, 0x6B, 0xA2, 0x2D, 0x83,
- 0x95, 0x3D, 0x79, 0x72, 0xC6, 0xFE, 0x68, 0xF0, 0x3B, 0x5B, 0x12, 0xC3, 0x64, 0x87, 0xF4, 0x74,
- 0x45, 0x02, 0x43, 0x9B, 0x2D, 0x0D, 0xCF, 0x27, 0xC1, 0xB9, 0xBE, 0x09, 0xE6, 0xED, 0x63, 0x3D,
- 0x7D, 0xDB, 0x31, 0x56, 0xE4, 0x5C, 0xBF, 0xB2, 0xC8, 0xF5, 0xDA, 0xF5, 0x02, 0x5D, 0x9B, 0xB9,
- 0x4E, 0x40, 0x1C, 0x68, 0x7E, 0x6D, 0x99, 0xC1, 0xF2, 0xDC, 0x24, 0x57, 0xD6, 0x8C, 0xB4, 0xE9,
- 0xC9, 0x81, 0xE5, 0x58, 0x81, 0x65, 0xD8, 0x6D, 0x7F, 0x66, 0xD8, 0xE4, 0xBC, 0x17, 0xC7, 0x15,
- 0x58, 0x81, 0x4D, 0x26, 0x97, 0x1F, 0xDE, 0x0F, 0xFA, 0xDA, 0x3F, 0x3E, 0x0E, 0xC6, 0xE3, 0xEE,
- 0xD9, 0x21, 0xBB, 0x16, 0xB5, 0xF1, 0x83, 0xDB, 0xF8, 0x39, 0xFE, 0xA6, 0xAE, 0x79, 0xAB, 0xFD,
- 0x91, 0xB8, 0x84, 0xBF, 0x39, 0x10, 0xD1, 0x9E, 0x1B, 0x2B, 0xCB, 0xBE, 0x3D, 0xD5, 0x5E, 0x7A,
- 0xD0, 0xE7, 0xC1, 0x5B, 0x62, 0x5F, 0x91, 0xC0, 0x9A, 0x19, 0x07, 0xBE, 0xE1, 0xF8, 0x6D, 0x9F,
- 0x78, 0xD6, 0xFC, 0xAB, 0x2D, 0xC0, 0xA9, 0x31, 0xFB, 0xBC, 0xF0, 0xDC, 0x8D, 0x63, 0x9E, 0x6A,
- 0x5F, 0xF4, 0x8E, 0xF1, 0xDF, 0x76, 0xA3, 0x99, 0x6B, 0xBB, 0x1E, 0xDC, 0xBF, 0xFC, 0x1A, 0xFF,
- 0x6D, 0xDF, 0xA7, 0xBD, 0xFB, 0xD6, 0xEF, 0xE4, 0x54, 0xEB, 0x8D, 0xD7, 0x37, 0x89, 0xFB, 0x77,
- 0x4F, 0x12, 0xA7, 0xCB, 0x7E, 0x16, 0xF5, 0x1C, 0xFE, 0x38, 0x1F, 0xDE, 0x27, 0xB3, 0xC0, 0x72,
- 0x9D, 0xCE, 0xCA, 0xB0, 0x1C, 0x09, 0x26, 0xD3, 0xF2, 0xD7, 0xB6, 0x01, 0x32, 0x98, 0xDB, 0x24,
- 0x17, 0xCF, 0x17, 0x2B, 0xE2, 0x6C, 0x0E, 0x0A, 0xB0, 0x21, 0x92, 0xB6, 0x69, 0x79, 0xAC, 0xD5,
- 0x29, 0xCA, 0x61, 0xB3, 0x72, 0x0A, 0xD1, 0xE6, 0xD1, 0xE5, 0xB8, 0x0E, 0x91, 0x08, 0x10, 0x3B,
- 0xBA, 0xF6, 0x8C, 0x35, 0x36, 0xC0, 0xBF, 0xDB, 0x4D, 0x56, 0x96, 0xC3, 0x8C, 0xEA, 0x54, 0x1B,
- 0x0C, 0xBB, 0xEB, 0x9B, 0x02, 0x55, 0x0E, 0xC6, 0xF8, 0x6F, 0xBB, 0xD1, 0xDA, 0x30, 0x4D, 0xCB,
- 0x59, 0x9C, 0x6A, 0xC7, 0x52, 0x14, 0xAE, 0x67, 0x12, 0xAF, 0xED, 0x19, 0xA6, 0xB5, 0xF1, 0x4F,
- 0xB5, 0xA1, 0xAC, 0xCD, 0xCA, 0xF0, 0x16, 0x40, 0x4B, 0xE0, 0x02, 0xB1, 0xED, 0x9E, 0x94, 0x12,
- 0xDE, 0xC4, 0xB3, 0x16, 0xCB, 0x00, 0x54, 0xBA, 0xD5, 0x26, 0x2D, 0x34, 0xEE, 0x42, 0x45, 0xFA,
- 0xCC, 0x95, 0x9B, 0x5C, 0x6A, 0x86, 0x6D, 0x2D, 0x9C, 0xB6, 0x15, 0x90, 0x15, 0xB0, 0xE3, 0x07,
- 0x1E, 0x09, 0x66, 0xCB, 0x3C, 0x52, 0xE6, 0xD6, 0x62, 0xE3, 0x11, 0x09, 0x21, 0xA1, 0xDC, 0x72,
- 0x18, 0x86, 0x9B, 0xDB, 0xB7, 0xDA, 0xD7, 0x64, 0xFA, 0xD9, 0x0A, 0xDA, 0x5C, 0x26, 0x53, 0x32,
- 0x77, 0x3D, 0x22, 0x6D, 0x29, 0x5A, 0xD8, 0xEE, 0xEC, 0x73, 0xDB, 0x0F, 0x0C, 0x2F, 0x50, 0x41,
- 0x68, 0xCC, 0x03, 0xE2, 0x15, 0xE3, 0x23, 0x68, 0x15, 0xC5, 0xD8, 0xB2, 0xBB, 0xE5, 0x0D, 0x2C,
- 0xC7, 0xB6, 0x1C, 0xA2, 0x4E, 0x5E, 0x56, 0xBF, 0x49, 0x74, 0xAC, 0x95, 0x82, 0x62, 0xAC, 0xD5,
- 0x22, 0xCF, 0x4A, 0x28, 0xAF, 0xDB, 0x9D, 0x71, 0xBF, 0xE9, 0x75, 0xBB, 0x7F, 0xDB, 0xBE, 0xB9,
- 0x24, 0xCC, 0x4C, 0x8D, 0x4D, 0xE0, 0xD6, 0xF7, 0x88, 0x2D, 0xB7, 0x4A, 0xF1, 0xF1, 0x5F, 0x2B,
- 0x62, 0x5A, 0x86, 0xD6, 0x8A, 0xB9, 0xF3, 0x71, 0x17, 0x6C, 0x6A, 0x5F, 0x33, 0x1C, 0x53, 0x6B,
- 0xB9, 0x9E, 0x05, 0x8E, 0x60, 0xD0, 0x70, 0x63, 0xC3, 0x15, 0x18, 0x38, 0xD6, 0x64, 0x5F, 0xC2,
- 0x72, 0x8E, 0xCF, 0xC4, 0x25, 0x22, 0x77, 0x1B, 0xFC, 0x29, 0x84, 0x1C, 0xFC, 0x15, 0x3A, 0x90,
- 0x84, 0x47, 0x8A, 0x3E, 0x4F, 0x5F, 0x71, 0x0A, 0xB3, 0x74, 0x86, 0xBF, 0x95, 0x71, 0xD3, 0xCE,
- 0xD5, 0x9D, 0x68, 0x24, 0x74, 0x08, 0xC3, 0xEC, 0xAC, 0x05, 0x4D, 0xAF, 0x96, 0x5A, 0x5B, 0xC3,
- 0x28, 0xB9, 0x2F, 0x87, 0xE1, 0x48, 0xE5, 0x2A, 0xC7, 0x5F, 0xDC, 0x28, 0x4A, 0xB0, 0x2B, 0x67,
- 0x35, 0x8A, 0x1D, 0xEC, 0x9F, 0xCC, 0x86, 0x18, 0x27, 0x99, 0x51, 0x04, 0x7F, 0xEA, 0x91, 0x24,
- 0x42, 0x56, 0x18, 0x4D, 0x24, 0x88, 0xB3, 0x23, 0xCA, 0x16, 0xDE, 0x2C, 0xEF, 0x96, 0x60, 0xCD,
- 0x27, 0x41, 0x35, 0xBA, 0x48, 0x10, 0xE7, 0xD1, 0x50, 0x18, 0x65, 0xF0, 0x77, 0xA7, 0x90, 0x6F,
- 0x7C, 0x31, 0xDD, 0x04, 0x81, 0xEB, 0xF8, 0xB5, 0x86, 0xA8, 0x2C, 0x3F, 0xFB, 0x6D, 0xE3, 0x07,
- 0xD6, 0xFC, 0xB6, 0xCD, 0x5D, 0x1A, 0xFC, 0x6C, 0x6D, 0x40, 0x0A, 0x39, 0x25, 0xC1, 0x35, 0x21,
- 0xF9, 0xE9, 0x86, 0x63, 0x5C, 0x41, 0xDC, 0x59, 0x2C, 0x6C, 0x99, 0xED, 0xCD, 0x36, 0x9E, 0x8F,
- 0x79, 0xDB, 0xDA, 0xB5, 0x00, 0xB1, 0xB7, 0xDD, 0x71, 0xD2, 0x07, 0x15, 0x3B, 0x6A, 0xCF, 0xA6,
- 0x92, 0xBE, 0xDC, 0x4D, 0x80, 0x32, 0x96, 0x6A, 0xC2, 0x05, 0x76, 0xAC, 0xE0, 0x56, 0x7A, 0x8F,
- 0x7B, 0xA2, 0xE4, 0x8E, 0x70, 0xC1, 0xDC, 0x61, 0x21, 0x49, 0xD7, 0xE9, 0x6C, 0x49, 0x66, 0x9F,
- 0x89, 0xF9, 0xBC, 0x30, 0x0D, 0x2B, 0x4A, 0x0F, 0x3B, 0x96, 0xB3, 0xDE, 0x04, 0x6D, 0x4C, 0xA7,
- 0xD6, 0x3B, 0xD1, 0x39, 0x35, 0x48, 0xC1, 0x62, 0xBF, 0x9F, 0x97, 0x54, 0x8C, 0xD6, 0x37, 0xF9,
- 0x42, 0x88, 0x13, 0x3B, 0xB1, 0x8D, 0x29, 0xB1, 0xF3, 0x48, 0xE6, 0xCE, 0x90, 0x11, 0x76, 0x79,
- 0xAC, 0xCA, 0xCE, 0xDD, 0x28, 0x65, 0xD1, 0xE0, 0x35, 0x3C, 0xFA, 0x9B, 0xB2, 0x1C, 0xE9, 0xF1,
- 0x41, 0xE2, 0x92, 0x4F, 0x6C, 0x70, 0xB0, 0xAC, 0xD4, 0x1B, 0xDA, 0x5C, 0x03, 0x0D, 0xB9, 0x1D,
- 0x78, 0x86, 0xB3, 0x20, 0x10, 0x0B, 0x6E, 0x0E, 0xC4, 0x61, 0xFE, 0xC4, 0x40, 0x89, 0x7D, 0x0C,
- 0xD5, 0xA3, 0xFC, 0x89, 0x08, 0x0B, 0x08, 0x07, 0x5A, 0x87, 0x1D, 0x54, 0xC8, 0x4A, 0x62, 0xFA,
- 0xCD, 0x25, 0xA4, 0x27, 0xB5, 0x0E, 0x96, 0x98, 0x48, 0x3D, 0x27, 0x69, 0x5B, 0xD2, 0x44, 0xBF,
- 0x30, 0x34, 0x88, 0x29, 0xDF, 0x7C, 0x5E, 0x34, 0x69, 0x9C, 0xCF, 0x07, 0xDD, 0xC1, 0xB0, 0x30,
- 0x73, 0x92, 0x72, 0x99, 0x9A, 0x38, 0x4A, 0x42, 0x47, 0x18, 0x56, 0x72, 0x8D, 0xC0, 0x37, 0xAE,
- 0xA4, 0x49, 0xBB, 0xEB, 0x5B, 0x6C, 0xE6, 0x66, 0x4C, 0x7D, 0x98, 0xBB, 0x05, 0x92, 0xA9, 0x17,
- 0x37, 0xF4, 0xBE, 0x94, 0x3E, 0x9A, 0xD2, 0x49, 0x5D, 0x40, 0x88, 0x57, 0x4E, 0x76, 0x42, 0x03,
- 0xF2, 0x26, 0x31, 0x05, 0x4B, 0x93, 0xCA, 0x80, 0xDC, 0x04, 0x6D, 0x93, 0xCC, 0x5C, 0x8F, 0x65,
- 0x83, 0x19, 0x33, 0xC7, 0x94, 0x22, 0x8B, 0x2D, 0xF6, 0x74, 0xE9, 0x5E, 0x11, 0x4F, 0x22, 0xAC,
- 0x94, 0x52, 0x87, 0x27, 0x43, 0x53, 0x01, 0x9B, 0x01, 0xC3, 0xA3, 0x54, 0xF6, 0x49, 0x74, 0xFD,
- 0xDE, 0xAC, 0x9F, 0xEB, 0xC7, 0x0C, 0x5D, 0x07, 0x7C, 0xC6, 0x98, 0xDA, 0xC4, 0xCC, 0x19, 0xCD,
- 0x4C, 0x32, 0x37, 0x36, 0x76, 0x50, 0x60, 0x95, 0x46, 0x17, 0xFF, 0xE5, 0xF5, 0x48, 0xC3, 0xD0,
- 0xBF, 0xB0, 0x2E, 0x74, 0x4E, 0x03, 0xC7, 0xBF, 0x25, 0x7D, 0x8A, 0x54, 0xC3, 0x58, 0xAF, 0x89,
- 0x01, 0xAD, 0x66, 0x24, 0x4B, 0x0F, 0x4A, 0x53, 0x0C, 0x79, 0x9C, 0x57, 0x9A, 0xB7, 0x17, 0x3A,
- 0x6C, 0x98, 0x3C, 0x96, 0xE2, 0xF9, 0x74, 0xEE, 0xCE, 0x36, 0xB2, 0xAC, 0x46, 0xCD, 0xF1, 0xB6,
- 0xF1, 0x9D, 0x0A, 0x91, 0xF9, 0xB6, 0x45, 0xDD, 0x7F, 0xE3, 0x38, 0xA8, 0xD1, 0x76, 0xE0, 0x01,
- 0x9B, 0x92, 0x8E, 0xD4, 0x04, 0x57, 0x29, 0x86, 0x25, 0x04, 0x9B, 0x55, 0xBB, 0x4A, 0x85, 0x29,
- 0x49, 0x38, 0x0D, 0x23, 0xAD, 0x06, 0x31, 0xC4, 0x32, 0x05, 0xAA, 0x7A, 0x72, 0x09, 0x96, 0x9B,
- 0x95, 0x2C, 0x8F, 0x12, 0x9D, 0xF5, 0x60, 0xD0, 0x67, 0xDD, 0x79, 0x8B, 0xA9, 0xD1, 0xEA, 0x1E,
- 0x74, 0x0F, 0x06, 0xF0, 0x9F, 0x64, 0x3E, 0x93, 0x6F, 0x5C, 0x5C, 0xBC, 0x19, 0x96, 0x97, 0x0A,
- 0xD1, 0xC5, 0x65, 0xA5, 0xAC, 0x60, 0x5F, 0xA8, 0x0B, 0x75, 0x4F, 0x4A, 0xD6, 0x97, 0x7A, 0x9D,
- 0x82, 0x71, 0x38, 0xC3, 0xA4, 0xCB, 0x1B, 0xA2, 0xC4, 0x5A, 0xCA, 0xAA, 0x78, 0xE5, 0xFE, 0xDE,
- 0x66, 0x49, 0xC8, 0xFF, 0x79, 0x6B, 0x8F, 0x89, 0xE2, 0x2F, 0x6D, 0xE9, 0xA5, 0xE5, 0xE2, 0x3F,
- 0xB4, 0x6D, 0x74, 0xB3, 0xB5, 0xDE, 0xE6, 0x59, 0x1F, 0x50, 0xE8, 0xC0, 0x1C, 0xD4, 0x83, 0xC9,
- 0x68, 0x66, 0x66, 0x18, 0x6B, 0x53, 0x41, 0x06, 0x73, 0xCB, 0xB6, 0xDB, 0xB6, 0x7B, 0x5D, 0x9C,
- 0x89, 0xE4, 0x5B, 0xF2, 0x96, 0x9D, 0x16, 0x9B, 0x7C, 0x55, 0x6A, 0x37, 0x10, 0xB9, 0xFE, 0x14,
- 0xD4, 0xFE, 0xB5, 0x1D, 0x2E, 0xD7, 0x35, 0xAA, 0x0D, 0x14, 0x15, 0xEC, 0xB1, 0x5E, 0x47, 0x4A,
- 0xA6, 0xC4, 0x32, 0xC1, 0xFC, 0x69, 0xCF, 0xB5, 0x15, 0xCC, 0x96, 0x15, 0xA6, 0x9E, 0xD1, 0xC4,
- 0xC8, 0x23, 0xB6, 0x81, 0x19, 0x7C, 0xA5, 0x0A, 0x45, 0xE1, 0xF4, 0x2D, 0x0E, 0xAE, 0xC2, 0x09,
- 0x15, 0xDD, 0xE3, 0xA9, 0x2E, 0x75, 0x58, 0xEE, 0x90, 0x1D, 0xAB, 0xE5, 0x66, 0x5D, 0x90, 0xEE,
- 0x27, 0x3D, 0x43, 0xDE, 0xA8, 0x44, 0x44, 0x17, 0x41, 0x7B, 0xE1, 0x91, 0x5B, 0x05, 0x66, 0x0E,
- 0xF8, 0xDF, 0x53, 0x56, 0x3F, 0xAE, 0x5E, 0x2A, 0xA1, 0x03, 0x00, 0xB7, 0xA2, 0xCE, 0xD0, 0x57,
- 0xE8, 0x3A, 0xBB, 0x4B, 0x15, 0x7B, 0x0C, 0xAB, 0xA3, 0xBA, 0xAE, 0x10, 0x6E, 0x72, 0x86, 0x50,
- 0xB9, 0xA9, 0x8A, 0xD1, 0x57, 0x3E, 0x9F, 0x27, 0xF3, 0x20, 0x63, 0xF1, 0x87, 0xE6, 0xA9, 0x83,
- 0xFC, 0xE8, 0xD6, 0x8E, 0x55, 0x53, 0x0A, 0x23, 0x47, 0x58, 0xC4, 0xCC, 0xB6, 0x3E, 0x29, 0x66,
- 0x8C, 0x9E, 0xA5, 0x91, 0x67, 0xAB, 0x44, 0xA4, 0xCF, 0x54, 0xCD, 0xD0, 0x66, 0xC5, 0x87, 0x7C,
- 0x50, 0x0F, 0xF9, 0xB9, 0xD5, 0x1F, 0x4B, 0xD7, 0x56, 0x72, 0x1A, 0xE7, 0x91, 0x96, 0x59, 0x05,
- 0xDC, 0x1E, 0xB2, 0x32, 0x27, 0xC8, 0xF1, 0x58, 0x24, 0x55, 0x54, 0xBE, 0x57, 0xE6, 0x45, 0x98,
- 0xED, 0x4A, 0x56, 0xAE, 0xB1, 0x5B, 0x2B, 0x03, 0xD2, 0x5E, 0x34, 0x57, 0x03, 0x30, 0xCA, 0xF4,
- 0xA7, 0x62, 0xEE, 0xB1, 0x1A, 0x6B, 0x6F, 0xDC, 0x2D, 0xE8, 0x72, 0x66, 0xBB, 0x7E, 0xCD, 0x02,
- 0x58, 0x76, 0xFD, 0x4B, 0x7A, 0x47, 0x69, 0xE8, 0xCE, 0xF5, 0xA9, 0x7C, 0x77, 0x4C, 0xC9, 0xBC,
- 0xD7, 0x95, 0x46, 0xDA, 0xDC, 0x2A, 0x25, 0xAD, 0xA0, 0xD1, 0xF5, 0xCB, 0x53, 0x6D, 0x46, 0xE4,
- 0x61, 0x34, 0x59, 0xA8, 0x53, 0x29, 0x95, 0xE6, 0xEA, 0x61, 0x69, 0x99, 0x26, 0xC9, 0xAD, 0x05,
- 0xE3, 0x9C, 0x57, 0x31, 0x79, 0x40, 0xFA, 0x65, 0x45, 0xA9, 0x9D, 0x38, 0x45, 0xEE, 0xB6, 0x86,
- 0xDE, 0xAE, 0x3D, 0x86, 0x0F, 0x34, 0x59, 0x95, 0xF4, 0x64, 0x2A, 0x92, 0x4B, 0xAA, 0xD4, 0xB9,
- 0xC3, 0x5A, 0x2B, 0x8A, 0x0C, 0xE4, 0x80, 0xAD, 0xB6, 0xA3, 0x79, 0x8A, 0x2A, 0xBA, 0x90, 0xD2,
- 0xE1, 0x6B, 0x4B, 0x7C, 0x19, 0xB0, 0x9D, 0xB5, 0xBA, 0x72, 0x8F, 0x4B, 0x6D, 0xD4, 0x02, 0xD2,
- 0xFD, 0x66, 0x8A, 0xE6, 0x81, 0x32, 0xA3, 0x1C, 0x22, 0xC3, 0x21, 0x46, 0x6C, 0xAE, 0x4A, 0xB6,
- 0x2A, 0xEB, 0x1C, 0xE1, 0xF9, 0xD9, 0x61, 0x6C, 0x3B, 0xDC, 0xD9, 0x61, 0xB4, 0x73, 0xEF, 0x0C,
- 0xF7, 0xC4, 0xC5, 0x77, 0xCD, 0xF1, 0x8E, 0x66, 0xB6, 0xE1, 0xFB, 0xE7, 0x3A, 0xEE, 0xED, 0xD2,
- 0x93, 0x9B, 0xE8, 0xCE, 0x4C, 0xEB, 0x4A, 0xB3, 0xCC, 0x73, 0xDD, 0x76, 0x17, 0x6E, 0xEA, 0x1E,
- 0xBD, 0xCF, 0xD4, 0x0C, 0x03, 0xD9, 0xB9, 0x9E, 0x58, 0x60, 0xD4, 0x29, 0x54, 0x74, 0x49, 0x9F,
- 0x3C, 0xFB, 0xE2, 0xE4, 0xE8, 0x68, 0xFC, 0xD5, 0x33, 0x67, 0xEA, 0xAF, 0xF9, 0xFF, 0x3F, 0xB0,
- 0xF5, 0x58, 0xB6, 0xA9, 0x0F, 0xC6, 0xB6, 0x20, 0x00, 0xDB, 0xF3, 0xCF, 0x0E, 0x29, 0xD2, 0x14,
- 0x21, 0x87, 0x40, 0x49, 0x06, 0x6D, 0x3C, 0xDF, 0x91, 0x91, 0x27, 0x9A, 0xF8, 0x30, 0x84, 0x4F,
- 0x0D, 0x4F, 0xD2, 0x84, 0x36, 0x63, 0xD9, 0x34, 0x8D, 0x25, 0x3A, 0x55, 0xCA, 0xD4, 0xBD, 0x49,
- 0x73, 0x40, 0x99, 0xE2, 0x1A, 0xE3, 0xAD, 0x88, 0x99, 0x85, 0x10, 0xC0, 0x28, 0x38, 0xAE, 0xAE,
- 0x42, 0x1B, 0x69, 0xA3, 0x84, 0x0A, 0xB0, 0xF1, 0xCD, 0xCC, 0xFE, 0x2C, 0x94, 0xAF, 0x0B, 0xA5,
- 0x38, 0x6E, 0xC0, 0x62, 0x65, 0x46, 0x57, 0x09, 0x56, 0x39, 0x4C, 0x6C, 0xDD, 0x90, 0x71, 0x01,
- 0xA2, 0x6D, 0x53, 0xEC, 0xEC, 0x5A, 0x3E, 0x26, 0x8A, 0x2D, 0xA6, 0x57, 0x01, 0xAC, 0x4F, 0x7E,
- 0xBE, 0xF8, 0xF6, 0xEF, 0xDA, 0xBB, 0xB7, 0xBF, 0x4B, 0x35, 0x54, 0x44, 0x14, 0x06, 0x69, 0x85,
- 0x9E, 0x29, 0x18, 0xD3, 0x87, 0x90, 0x89, 0xCE, 0x35, 0x43, 0x31, 0xE0, 0x70, 0x6F, 0x13, 0x67,
- 0x11, 0x2C, 0xCF, 0xF5, 0x9E, 0x8E, 0x7B, 0x5A, 0xC4, 0x59, 0x5F, 0xD7, 0x30, 0x80, 0xD3, 0x83,
- 0x2B, 0xC3, 0xDE, 0xE0, 0x51, 0x57, 0x85, 0xD7, 0x6D, 0xD3, 0x92, 0x36, 0xE3, 0x91, 0x25, 0x94,
- 0x71, 0x2C, 0x12, 0x27, 0xA5, 0xAC, 0x4F, 0x3E, 0x90, 0xE0, 0xEC, 0x90, 0xDD, 0x2A, 0xD0, 0x5A,
- 0x7E, 0xDF, 0xE0, 0xC9, 0xCC, 0x1C, 0xF2, 0x4C, 0x28, 0x4F, 0xF1, 0x73, 0xCF, 0x58, 0x11, 0x94,
- 0x8A, 0x92, 0xE6, 0xE3, 0x5A, 0x0F, 0x21, 0xF5, 0xC9, 0xF7, 0x84, 0x66, 0x44, 0x40, 0x86, 0x92,
- 0xE2, 0xCF, 0x78, 0x92, 0x9A, 0xE8, 0x3F, 0xB4, 0x67, 0xBE, 0x28, 0xD5, 0x36, 0x98, 0x99, 0x2B,
- 0xC8, 0xFD, 0x69, 0xBB, 0xAD, 0x0D, 0xDE, 0xBD, 0xD7, 0xDA, 0x6D, 0x85, 0xC6, 0xEE, 0x9A, 0xBA,
- 0x13, 0xD7, 0x7F, 0xEF, 0x48, 0x9F, 0xFC, 0xF3, 0xE7, 0x37, 0x2F, 0x5B, 0xFD, 0xEE, 0xF0, 0xF8,
- 0xA6, 0x37, 0x1A, 0x0F, 0xF7, 0xCF, 0x0E, 0x59, 0x93, 0xF2, 0xB8, 0xC6, 0xFA, 0xE4, 0x3D, 0x12,
- 0xD2, 0x3A, 0x1E, 0x0F, 0xEB, 0xE2, 0x1A, 0x21, 0xAE, 0xB7, 0xAF, 0x5B, 0x47, 0xFD, 0xEE, 0x4D,
- 0xAF, 0x7F, 0xDC, 0xAD, 0x81, 0x6A, 0xA8, 0x4F, 0xBE, 0x06, 0x4C, 0xBD, 0x13, 0x44, 0xD5, 0x2D,
- 0x87, 0x0A, 0x45, 0xDB, 0xAF, 0x28, 0xDA, 0x81, 0x3E, 0xF9, 0x11, 0x45, 0x0B, 0x39, 0x37, 0xF2,
- 0xD0, 0xAD, 0xC3, 0x43, 0x1F, 0x5C, 0x86, 0xE2, 0x02, 0x51, 0x00, 0x13, 0xFD, 0x3A, 0xA2, 0xED,
- 0xE9, 0x13, 0x14, 0x07, 0x62, 0x02, 0xE9, 0xD6, 0x40, 0x04, 0xB1, 0x83, 0xD2, 0x04, 0xE4, 0xDC,
- 0x1C, 0x8D, 0x8F, 0xAB, 0x63, 0x3A, 0x01, 0xEE, 0x3E, 0x02, 0xA6, 0x63, 0x10, 0xD4, 0xB8, 0x8E,
- 0x9C, 0x8E, 0xF5, 0x09, 0xE2, 0x19, 0x0F, 0xBB, 0x37, 0xC3, 0x3A, 0x36, 0x03, 0x5E, 0xF1, 0x16,
- 0x11, 0x01, 0x92, 0x9B, 0x41, 0x1D, 0x19, 0x81, 0x4B, 0x5C, 0x7C, 0xF3, 0x75, 0x6B, 0x08, 0x8C,
- 0xF5, 0x4F, 0xC6, 0xD5, 0xF1, 0x80, 0x3B, 0xFC, 0x13, 0x09, 0x02, 0x62, 0x6E, 0xFA, 0xC3, 0x1A,
- 0x04, 0x81, 0x33, 0x00, 0x3C, 0xE2, 0xA8, 0x8C, 0x02, 0xEC, 0xFA, 0x2D, 0x25, 0x06, 0x11, 0xF5,
- 0x8E, 0x6A, 0x70, 0x05, 0x56, 0xFD, 0x4F, 0x14, 0x0F, 0x20, 0xB9, 0xE9, 0x0D, 0xEB, 0xD8, 0x34,
- 0x20, 0xA2, 0x24, 0x81, 0xAF, 0xA1, 0xAB, 0x55, 0xC7, 0x04, 0x36, 0x7D, 0x32, 0xBE, 0x39, 0x19,
- 0xAB, 0x21, 0xC0, 0xE1, 0x07, 0x43, 0x79, 0xDE, 0x00, 0x95, 0x3F, 0x7E, 0xE5, 0x8D, 0x4D, 0xFF,
- 0xD9, 0xC0, 0x94, 0x33, 0xB8, 0x2D, 0x3D, 0x32, 0x71, 0x38, 0x90, 0x09, 0x3B, 0x50, 0x1B, 0x94,
- 0x62, 0x94, 0x84, 0xBB, 0x9F, 0xF4, 0xC9, 0x50, 0x61, 0xF0, 0x4F, 0x64, 0x87, 0x14, 0x36, 0x41,
- 0x3F, 0xCD, 0x48, 0xD0, 0xF2, 0x30, 0x17, 0x01, 0x97, 0x18, 0xE8, 0xB1, 0x08, 0x52, 0x69, 0xD4,
- 0x93, 0xD0, 0x6A, 0xDC, 0xE8, 0x93, 0xF1, 0xA0, 0x30, 0x5B, 0xA8, 0xAE, 0x8C, 0x29, 0x2D, 0x6E,
- 0x38, 0xC4, 0xF7, 0x4B, 0xEB, 0x23, 0x02, 0xD5, 0x27, 0xAF, 0xC2, 0xE3, 0x3A, 0x5A, 0x69, 0x17,
- 0x71, 0x4A, 0x61, 0x33, 0xD4, 0x12, 0x23, 0x87, 0x69, 0xA6, 0x3D, 0xE0, 0xAA, 0x89, 0x34, 0x73,
- 0xBF, 0x8A, 0xD9, 0xA5, 0x5E, 0x70, 0x6E, 0xE3, 0x19, 0x7E, 0x50, 0x5A, 0x2B, 0x02, 0x10, 0x22,
- 0x34, 0x3F, 0x7A, 0x30, 0x8D, 0x84, 0xA4, 0xFC, 0x05, 0xF4, 0xE1, 0x1B, 0xC1, 0x86, 0xED, 0x33,
- 0x2B, 0xAD, 0x91, 0x08, 0x14, 0xF2, 0x81, 0xF0, 0xB8, 0x96, 0x56, 0xEA, 0x84, 0xAF, 0x18, 0x39,
- 0x5C, 0x2F, 0x22, 0x84, 0x0D, 0x77, 0xA4, 0x97, 0x22, 0x6A, 0x6B, 0xE9, 0x65, 0x69, 0x78, 0xEB,
- 0x4A, 0xE1, 0x2B, 0x84, 0x04, 0xAD, 0x88, 0xC3, 0x07, 0x73, 0x95, 0x88, 0x98, 0xBF, 0x80, 0xAF,
- 0x98, 0xC4, 0x71, 0x2D, 0xBF, 0xFC, 0xD4, 0x93, 0xC3, 0xE9, 0x93, 0xD7, 0xA4, 0xFD, 0x1D, 0x1E,
- 0xD5, 0x51, 0xC7, 0xCB, 0x4D, 0xE0, 0xD6, 0x50, 0x88, 0xA0, 0x85, 0xA9, 0xA3, 0xCB, 0xB5, 0x71,
- 0xBC, 0x23, 0x6D, 0x1C, 0xEF, 0x50, 0x1B, 0x06, 0xF9, 0x64, 0x93, 0x2B, 0x62, 0x97, 0x56, 0x87,
- 0x00, 0xD4, 0x27, 0x97, 0x37, 0x6B, 0xD7, 0xC7, 0xA7, 0x77, 0xBE, 0xC5, 0xF3, 0x5A, 0x4E, 0x32,
- 0xAA, 0xA1, 0x93, 0x90, 0x20, 0xEE, 0x23, 0x23, 0xAE, 0x95, 0xD1, 0x8E, 0xB4, 0x52, 0x44, 0x6B,
- 0x1D, 0xAD, 0x2C, 0x0C, 0xCB, 0x99, 0x11, 0xCB, 0xC6, 0x27, 0x09, 0xCA, 0x2A, 0x26, 0x06, 0xAB,
- 0x4F, 0xDE, 0x44, 0x27, 0x75, 0x14, 0xD3, 0xAD, 0xA1, 0x97, 0x38, 0x3D, 0x49, 0x7F, 0x19, 0xC1,
- 0xAC, 0x7C, 0x47, 0xBA, 0xE9, 0xF5, 0x76, 0x39, 0xAA, 0xAC, 0xC9, 0xCC, 0x32, 0xEC, 0x4F, 0x64,
- 0x3E, 0x87, 0x69, 0x50, 0xF9, 0xA1, 0x25, 0x01, 0x0E, 0xE3, 0x0B, 0x3B, 0xD7, 0x2E, 0xE9, 0x79,
- 0xE9, 0x62, 0x5A, 0x0A, 0x5D, 0xF5, 0x8A, 0x5A, 0x7A, 0x4E, 0xC8, 0x97, 0x95, 0x09, 0xAD, 0x61,
- 0xB2, 0x23, 0x7D, 0xF2, 0x9D, 0x1B, 0xD2, 0x59, 0x7D, 0xDA, 0xFA, 0x1D, 0x59, 0xD0, 0x55, 0xDB,
- 0x3A, 0x73, 0xE8, 0x37, 0x9E, 0x71, 0x4B, 0x5F, 0x0B, 0x50, 0x67, 0x4A, 0xFF, 0x3D, 0x31, 0xB5,
- 0x1F, 0x2C, 0xA7, 0x3A, 0x33, 0x43, 0x24, 0x84, 0x10, 0xA7, 0x1E, 0x96, 0x11, 0x4C, 0x91, 0xE0,
- 0xA0, 0x1E, 0x92, 0x31, 0x16, 0x98, 0xD7, 0x96, 0xF1, 0x18, 0x26, 0xF1, 0xC6, 0xF5, 0xB4, 0xFC,
- 0x80, 0x72, 0x3D, 0x85, 0x71, 0xF9, 0xA7, 0x57, 0xDA, 0x25, 0xDD, 0x67, 0x5C, 0x3A, 0x5C, 0xB1,
- 0x2D, 0x50, 0x2A, 0x86, 0x1E, 0xAD, 0x23, 0x60, 0x9F, 0x5B, 0x0B, 0x3C, 0x72, 0x07, 0x52, 0x5D,
- 0xE4, 0x91, 0xB0, 0x27, 0x08, 0xA4, 0x3B, 0x46, 0xF4, 0x18, 0xB7, 0x6A, 0x3C, 0xEE, 0x30, 0x15,
- 0x9B, 0x5D, 0x97, 0x4F, 0xC3, 0x66, 0xD7, 0xA0, 0x26, 0xF3, 0x0A, 0xB7, 0xA0, 0x9B, 0x1A, 0xE8,
- 0xAB, 0x11, 0x45, 0x61, 0xAF, 0x0F, 0xA3, 0x28, 0xCA, 0xEF, 0x43, 0x2B, 0x0A, 0xAC, 0xE5, 0x13,
- 0x8E, 0xA3, 0x55, 0x9C, 0x8A, 0x02, 0xEA, 0x93, 0x77, 0x86, 0xB3, 0x81, 0x41, 0xA6, 0x29, 0x85,
- 0x85, 0x1D, 0x3F, 0x98, 0x7B, 0x71, 0xBE, 0x1F, 0x5A, 0x75, 0x40, 0xC8, 0xCA, 0x35, 0xCB, 0x4F,
- 0x77, 0x38, 0x1C, 0x0B, 0x89, 0xEF, 0xE0, 0xA8, 0x74, 0x62, 0x20, 0x30, 0xEC, 0x38, 0x23, 0x60,
- 0x53, 0xA9, 0xEA, 0xC9, 0xC0, 0x87, 0x8D, 0xE3, 0xDC, 0xD6, 0xC9, 0x04, 0x2E, 0x6C, 0x77, 0x63,
- 0x56, 0xC7, 0x00, 0x69, 0xC0, 0x3F, 0xE6, 0x73, 0x6B, 0x56, 0x3D, 0x91, 0x80, 0x24, 0xE0, 0xAD,
- 0xBB, 0x52, 0x84, 0xDF, 0xF1, 0xC0, 0x4B, 0x66, 0x15, 0x66, 0x72, 0x33, 0xD0, 0xE2, 0xE5, 0x45,
- 0xA3, 0x03, 0x2F, 0xF4, 0xF9, 0x40, 0x91, 0x01, 0xB9, 0x7D, 0xE8, 0xA0, 0x00, 0x44, 0x7C, 0xA2,
- 0xC6, 0x53, 0x45, 0x59, 0x0C, 0x32, 0x8C, 0xE8, 0x62, 0xFA, 0xFD, 0x50, 0xF3, 0xBB, 0x88, 0xA2,
- 0xE4, 0xEC, 0xAE, 0x37, 0x1A, 0x8C, 0xC3, 0xE9, 0xDD, 0xA0, 0x7F, 0xBF, 0x13, 0x3C, 0x44, 0xBE,
- 0x5B, 0xFD, 0xF4, 0xAB, 0xA8, 0x06, 0xA2, 0xD1, 0x77, 0xB8, 0xCE, 0x50, 0x22, 0x60, 0xD7, 0x77,
- 0xA4, 0xFE, 0xC3, 0x79, 0x52, 0xFF, 0x11, 0xB8, 0xD2, 0xA2, 0x42, 0xC4, 0x5B, 0x60, 0xC4, 0x7B,
- 0x73, 0xD1, 0x8C, 0x86, 0x16, 0x0F, 0x16, 0xEA, 0x16, 0x0F, 0x1A, 0xEA, 0x34, 0xBE, 0x43, 0x4D,
- 0x48, 0xA1, 0x62, 0x06, 0xCB, 0x01, 0x59, 0x2D, 0xAB, 0x4E, 0x90, 0xEB, 0xDD, 0xD4, 0x89, 0x72,
- 0x82, 0x8C, 0x64, 0x90, 0x1B, 0x47, 0xAB, 0x22, 0xA3, 0xFB, 0x5D, 0xD6, 0x1D, 0x16, 0x51, 0x5B,
- 0xC7, 0x69, 0x3C, 0xE3, 0xFA, 0xD3, 0x62, 0x65, 0x94, 0x56, 0x06, 0x87, 0x03, 0x5D, 0xBC, 0x7B,
- 0xD9, 0x64, 0xBA, 0x20, 0xFA, 0x7D, 0x18, 0x3F, 0x0A, 0xB9, 0x7E, 0xE8, 0x58, 0x67, 0x13, 0xA7,
- 0x7C, 0xB0, 0x43, 0x20, 0x7D, 0xF2, 0x2D, 0x71, 0x7C, 0xED, 0xC2, 0xF5, 0xF8, 0xBB, 0x18, 0x1B,
- 0xD1, 0x1A, 0xED, 0xF9, 0x61, 0x54, 0xC6, 0x98, 0x7E, 0x68, 0x7D, 0x2D, 0x57, 0x96, 0xE7, 0xB9,
- 0x5E, 0x69, 0x95, 0x71, 0x38, 0x98, 0x56, 0xB4, 0xDF, 0xD1, 0xA3, 0x46, 0xD4, 0x25, 0x7A, 0x7D,
- 0x18, 0x8D, 0x85, 0x3C, 0x3F, 0xB4, 0xD2, 0xAE, 0xE6, 0xB6, 0xB5, 0x2E, 0xAD, 0x32, 0x0A, 0xA5,
- 0x4F, 0x3E, 0xB6, 0xBF, 0x86, 0xBF, 0x8D, 0xA8, 0x8B, 0xF5, 0xF8, 0x30, 0xCA, 0xE2, 0xDC, 0x3E,
- 0xB4, 0xAA, 0xA6, 0xEB, 0xF2, 0xE1, 0x10, 0x60, 0xF4, 0xC9, 0xAB, 0xF7, 0xCD, 0xE4, 0x7E, 0xD8,
- 0x99, 0xA2, 0x86, 0x6A, 0xE9, 0x83, 0x32, 0xF5, 0xD0, 0xDA, 0xB8, 0xAE, 0xA0, 0x8D, 0x6B, 0x24,
- 0xFC, 0xA7, 0x86, 0xB4, 0x71, 0xAD, 0xAE, 0x8D, 0x7B, 0xF6, 0x97, 0xEB, 0xC7, 0xA0, 0x1F, 0xFA,
- 0xB0, 0xDF, 0xD4, 0x28, 0x3F, 0x1C, 0x09, 0x40, 0xDC, 0x34, 0x06, 0x47, 0xDA, 0x2B, 0xA3, 0x99,
- 0x01, 0x29, 0xEC, 0xB7, 0x09, 0x17, 0x8A, 0x98, 0x7C, 0x68, 0x3D, 0xD9, 0xC4, 0xAC, 0x90, 0xE4,
- 0x99, 0x9F, 0xF0, 0xC9, 0x39, 0x7C, 0xA2, 0xFC, 0x16, 0xB2, 0xBD, 0xCB, 0xD7, 0xDA, 0x37, 0xE2,
- 0xF4, 0xA1, 0x0A, 0x43, 0x49, 0x9A, 0x92, 0xF3, 0xA6, 0xFE, 0x68, 0x57, 0xDB, 0x32, 0x00, 0xF3,
- 0x0E, 0x75, 0x33, 0x37, 0x66, 0xE4, 0x93, 0x49, 0x82, 0x2A, 0xEB, 0xFE, 0x31, 0x58, 0x7D, 0xF2,
- 0x35, 0x9C, 0x68, 0xAF, 0xE9, 0x49, 0x53, 0xE9, 0x78, 0xBC, 0xFF, 0x26, 0x3C, 0x2A, 0xC1, 0xEF,
- 0x43, 0x3B, 0x15, 0x25, 0x06, 0x26, 0x3F, 0xEE, 0xC2, 0xA9, 0xF4, 0xDC, 0x53, 0x02, 0x9C, 0xAB,
- 0xEF, 0x7B, 0x76, 0xDE, 0xAC, 0x02, 0x23, 0x22, 0x1A, 0xD3, 0x61, 0x8C, 0xEF, 0x26, 0xD4, 0x18,
- 0x7F, 0xF8, 0x91, 0xBF, 0x36, 0xB8, 0x48, 0x53, 0xFC, 0x21, 0x3C, 0xBA, 0xDD, 0x88, 0x04, 0x6D,
- 0x3F, 0xB0, 0x6C, 0x5B, 0x9F, 0xBC, 0x21, 0x81, 0xF6, 0x01, 0x0F, 0x15, 0x9F, 0xBA, 0x8B, 0x61,
- 0x11, 0xCF, 0xDC, 0x06, 0x1E, 0x31, 0x56, 0xFA, 0xE4, 0x03, 0xBE, 0x50, 0x19, 0x70, 0xE1, 0x59,
- 0x79, 0x64, 0x54, 0x88, 0xC4, 0xF1, 0x5C, 0x20, 0x2A, 0x54, 0x12, 0x7F, 0x51, 0xA3, 0xAE, 0x89,
- 0xA3, 0xD8, 0xB5, 0xC9, 0x25, 0x6D, 0xAC, 0xA1, 0x95, 0x15, 0x77, 0x17, 0x7F, 0x1C, 0x30, 0xDF,
- 0x39, 0xE8, 0x03, 0xC0, 0xF8, 0x44, 0x6F, 0xF2, 0x7D, 0xEB, 0xA0, 0x56, 0xF6, 0x7C, 0xFF, 0xE4,
- 0xCC, 0x5F, 0x1B, 0x8E, 0x68, 0x46, 0x1F, 0x7E, 0xBF, 0xE6, 0x4F, 0x33, 0x4F, 0x5D, 0xDB, 0xFC,
- 0x2A, 0xB6, 0xF0, 0xFF, 0x21, 0x7C, 0x2C, 0x17, 0x41, 0xC0, 0x2E, 0x04, 0x86, 0x02, 0xE5, 0x2E,
- 0x3D, 0x81, 0x9E, 0x3D, 0x41, 0x8D, 0x6F, 0xEB, 0xCA, 0xD1, 0x6E, 0xC6, 0x93, 0xC4, 0x1E, 0x59,
- 0x84, 0x92, 0x94, 0x3D, 0x61, 0x2E, 0x7D, 0xAE, 0xF8, 0x7B, 0xB2, 0xB0, 0x7C, 0xA0, 0x51, 0x03,
- 0xBB, 0x38, 0xA4, 0xCF, 0x62, 0x32, 0x5B, 0x56, 0x7B, 0xCE, 0x37, 0xDE, 0x25, 0x7F, 0x4D, 0x81,
- 0xF4, 0xF1, 0xED, 0x52, 0xA9, 0x63, 0xFA, 0x59, 0xEB, 0x24, 0xC6, 0x22, 0xAB, 0x7F, 0xDA, 0x6E,
- 0x2F, 0x87, 0xF8, 0x54, 0xA9, 0x26, 0x58, 0x3B, 0x3B, 0x5C, 0x0E, 0x8B, 0x9E, 0xDA, 0x2B, 0x7C,
- 0x24, 0x18, 0x38, 0xAD, 0xFC, 0x44, 0x30, 0x4A, 0x69, 0x02, 0xD4, 0x1C, 0x68, 0xEF, 0x0C, 0xFF,
- 0xF3, 0x81, 0xF6, 0x11, 0x87, 0xF8, 0x06, 0x1F, 0x0C, 0x46, 0xDA, 0x0D, 0xD3, 0xF4, 0x32, 0x1F,
- 0x0E, 0x1E, 0x26, 0x1E, 0x0E, 0x1E, 0x8B, 0x87, 0x83, 0xA3, 0x95, 0xAA, 0xEE, 0xCD, 0xA0, 0xDB,
- 0x3D, 0x56, 0x61, 0x5D, 0xF1, 0x01, 0xE1, 0x7B, 0xE1, 0x69, 0x05, 0xD2, 0x54, 0xE4, 0x69, 0x28,
- 0x78, 0x8A, 0x6D, 0xD8, 0xBF, 0x99, 0xCF, 0x1F, 0x1B, 0x47, 0x7C, 0xC9, 0xB0, 0x3A, 0x4B, 0xDD,
- 0x7E, 0xD3, 0x4F, 0x71, 0x53, 0xE3, 0xBE, 0xAF, 0x87, 0xB8, 0x69, 0x93, 0x74, 0x34, 0x1C, 0xE5,
- 0x06, 0x43, 0x0A, 0xC2, 0x9C, 0xFE, 0xCD, 0x7D, 0x3A, 0xFD, 0xA2, 0x86, 0xD3, 0x2F, 0xB6, 0x9C,
- 0xBE, 0x41, 0x6F, 0x17, 0x84, 0xFF, 0xD5, 0x3C, 0x5E, 0xF0, 0x55, 0xC2, 0xEB, 0xA5, 0x7C, 0x75,
- 0xBB, 0xF7, 0xEA, 0xF7, 0x85, 0x4E, 0x12, 0x1A, 0xC3, 0x9B, 0xFB, 0x74, 0x92, 0x0C, 0xD3, 0xAD,
- 0x64, 0xA7, 0x3C, 0xEC, 0x4C, 0x9A, 0x19, 0x97, 0x68, 0x36, 0x15, 0x57, 0x28, 0xEF, 0x1D, 0x1F,
- 0xD7, 0x1D, 0x0C, 0x79, 0xEA, 0x74, 0x1F, 0xEA, 0x51, 0x7F, 0x61, 0x44, 0x66, 0x93, 0xFB, 0x49,
- 0xCC, 0xD6, 0xB1, 0x14, 0x57, 0x39, 0x31, 0x7B, 0xFF, 0xED, 0xB7, 0xE5, 0x72, 0xB1, 0x78, 0x2F,
- 0x8F, 0x24, 0x17, 0xCB, 0x2D, 0x53, 0xDF, 0xAE, 0xE1, 0x06, 0x52, 0x5D, 0xC9, 0x74, 0x23, 0x70,
- 0x7D, 0xF2, 0x8A, 0x1E, 0x6B, 0x31, 0x89, 0x95, 0x32, 0x5E, 0xE5, 0x59, 0x27, 0x05, 0x8C, 0xD5,
- 0xB1, 0x23, 0x12, 0xD2, 0xBA, 0x51, 0xC4, 0x95, 0x53, 0xBB, 0x8E, 0xB1, 0xA7, 0xCE, 0x54, 0x6D,
- 0x9F, 0xA0, 0x4D, 0x8A, 0x52, 0xE1, 0xD5, 0xC6, 0xAE, 0xAC, 0x36, 0x0E, 0xAB, 0x4F, 0xDE, 0xC1,
- 0x64, 0xDC, 0x5A, 0xDB, 0x16, 0xCC, 0x3C, 0x5A, 0x5D, 0xAD, 0xAD, 0x0D, 0x7A, 0xFB, 0x0D, 0x8E,
- 0x91, 0x82, 0x8C, 0x92, 0x6F, 0xCB, 0xE9, 0x45, 0x0F, 0xB3, 0x0D, 0xEE, 0xE9, 0x75, 0x39, 0x75,
- 0x15, 0xE2, 0xB9, 0x6E, 0x50, 0x59, 0x1B, 0x02, 0x18, 0x12, 0x15, 0x38, 0xD2, 0x22, 0x9D, 0xA8,
- 0xAB, 0x22, 0xB6, 0xB5, 0x36, 0xC2, 0xA6, 0xA6, 0x0E, 0xA5, 0x8D, 0xB4, 0xB8, 0x3F, 0x45, 0x75,
- 0x07, 0xAA, 0x04, 0x6B, 0x4F, 0x9F, 0xF4, 0x4B, 0x60, 0x28, 0xDE, 0x87, 0xCA, 0x5A, 0xD5, 0x77,
- 0x22, 0xFF, 0xB6, 0x7A, 0xEC, 0xE3, 0xB0, 0x90, 0x76, 0xDF, 0x42, 0xAA, 0xBB, 0xD2, 0x5E, 0x43,
- 0x5F, 0xD4, 0x89, 0x7A, 0xA3, 0x26, 0x9D, 0x48, 0x90, 0x51, 0xDD, 0x89, 0x7A, 0x8F, 0xC3, 0x87,
- 0x50, 0x1F, 0x6B, 0x8F, 0x54, 0xD6, 0x07, 0x87, 0xD5, 0x27, 0xEF, 0x3D, 0x82, 0xCA, 0xA8, 0xE4,
- 0x3D, 0x21, 0x92, 0x6A, 0xCE, 0x73, 0x0F, 0x8E, 0xD2, 0xEB, 0x8C, 0xEA, 0xE1, 0xE8, 0x97, 0x73,
- 0x36, 0x09, 0x86, 0x81, 0x3C, 0x08, 0x0C, 0x1E, 0xA7, 0x0B, 0x13, 0xDB, 0x1C, 0x55, 0x77, 0x62,
- 0x01, 0x8D, 0xB3, 0x67, 0x38, 0xAC, 0x6C, 0x38, 0x31, 0x44, 0x8F, 0x2A, 0xEE, 0xD6, 0xC4, 0x70,
- 0x1F, 0xC6, 0x34, 0xE9, 0x97, 0x32, 0xE9, 0x66, 0x4C, 0x67, 0x8D, 0x2F, 0x17, 0x24, 0x6A, 0x7B,
- 0x3E, 0x29, 0xB2, 0x78, 0xA4, 0x61, 0xB0, 0x10, 0x69, 0xE8, 0xEB, 0x05, 0xE9, 0x5E, 0xF7, 0x46,
- 0x73, 0x5E, 0x41, 0xC0, 0xF6, 0x32, 0x4B, 0xF9, 0xAD, 0x01, 0x31, 0xE6, 0x64, 0x29, 0x70, 0xC8,
- 0xEB, 0x63, 0xCB, 0x7F, 0x29, 0x61, 0x95, 0xC7, 0x0A, 0x0E, 0xCC, 0x55, 0x18, 0x0E, 0xDD, 0xCD,
- 0xE6, 0xBF, 0x21, 0x15, 0x35, 0xC6, 0xEE, 0x06, 0x13, 0xE0, 0xD8, 0xB2, 0x11, 0x55, 0x00, 0x0B,
- 0x9A, 0x01, 0x9B, 0xF1, 0x95, 0x58, 0x09, 0xCA, 0x6C, 0x72, 0x3F, 0xF3, 0xFC, 0x6B, 0xCB, 0x29,
- 0x3F, 0xCF, 0xFF, 0xC9, 0x72, 0x4C, 0xF7, 0xBA, 0xDC, 0x54, 0x3F, 0xDE, 0xD1, 0x9F, 0x60, 0xAA,
- 0x4F, 0x07, 0x4B, 0x5C, 0x2C, 0x6C, 0x7B, 0x44, 0xED, 0xA5, 0x33, 0x69, 0x21, 0x33, 0xE8, 0x1B,
- 0x5C, 0x6A, 0x03, 0x14, 0xBE, 0x46, 0x97, 0x1E, 0x77, 0xED, 0x2F, 0x3F, 0x9F, 0xC6, 0x93, 0x5D,
- 0x4E, 0x81, 0x9A, 0xC3, 0x0C, 0x25, 0x85, 0xC7, 0x07, 0xAF, 0xA5, 0xFE, 0xB2, 0xCD, 0xCF, 0xED,
- 0x83, 0xF3, 0x73, 0x1F, 0x01, 0x99, 0x38, 0x66, 0x65, 0xCB, 0x42, 0xD8, 0xC8, 0xAE, 0x2E, 0x1D,
- 0xB3, 0x51, 0xAB, 0x62, 0xBD, 0x57, 0xD6, 0x41, 0xBF, 0x7B, 0x74, 0xF2, 0xB8, 0xCC, 0x0A, 0x19,
- 0xAA, 0x61, 0x54, 0xBD, 0xD1, 0xF0, 0xE8, 0xF1, 0xD8, 0x95, 0x3B, 0x9F, 0xB3, 0x15, 0xAE, 0x6A,
- 0xA6, 0xC5, 0xC1, 0x6F, 0xE8, 0xA3, 0xB4, 0x3E, 0x69, 0x36, 0x5E, 0x85, 0x9D, 0xAB, 0xE9, 0x62,
- 0x20, 0xD1, 0xC5, 0xF8, 0x71, 0x99, 0x16, 0xE7, 0x48, 0xD5, 0xBA, 0x24, 0x1C, 0xDD, 0x13, 0x43,
- 0xF7, 0x61, 0x5A, 0x81, 0x1B, 0x18, 0x76, 0x65, 0xCB, 0x62, 0xD0, 0x60, 0x58, 0x3F, 0xE0, 0x81,
- 0xF6, 0x01, 0xF8, 0x6C, 0xD4, 0xB8, 0x44, 0xFF, 0xD5, 0x03, 0xD7, 0xA0, 0xFB, 0xC8, 0xC6, 0x43,
- 0xC6, 0x52, 0xAD, 0xD0, 0x35, 0x1E, 0x3E, 0x1E, 0xFB, 0x72, 0x37, 0x01, 0x5E, 0xAD, 0x1C, 0xBA,
- 0x18, 0x38, 0x86, 0x2E, 0x7A, 0xD4, 0xBC, 0x89, 0x85, 0x14, 0xD4, 0x18, 0x1C, 0x87, 0x0F, 0xBF,
- 0x7E, 0xFD, 0x8B, 0x84, 0xA7, 0x5A, 0x46, 0x36, 0x78, 0x2C, 0x41, 0x6C, 0x66, 0x28, 0xBF, 0x88,
- 0x8D, 0x22, 0x8B, 0x67, 0xF3, 0x0C, 0x16, 0xE6, 0x70, 0xEC, 0xA0, 0xD1, 0x0A, 0x86, 0xE8, 0xFC,
- 0xDE, 0x97, 0xEC, 0x42, 0xAE, 0x1E, 0x53, 0xBD, 0x62, 0x6A, 0x39, 0x4E, 0x55, 0x35, 0x71, 0x58,
- 0x7D, 0xF2, 0x8A, 0x1D, 0x34, 0xBB, 0xB8, 0xCA, 0x3B, 0xBF, 0xFF, 0x95, 0x55, 0xC1, 0x55, 0xD3,
- 0x6A, 0x4A, 0x15, 0x31, 0xBC, 0xF0, 0x4B, 0x11, 0x3A, 0xDF, 0xAD, 0x18, 0x7D, 0x39, 0xE2, 0xF1,
- 0x94, 0x34, 0x16, 0xC6, 0x0A, 0x9F, 0x30, 0x2E, 0x5B, 0xD4, 0x78, 0x83, 0x60, 0xE5, 0x6A, 0x1A,
- 0xC9, 0x9E, 0x1E, 0x77, 0x55, 0x63, 0x92, 0x7C, 0xB5, 0x24, 0x10, 0xDE, 0x9E, 0x5A, 0x86, 0x8F,
- 0x4F, 0xE3, 0xC3, 0xB1, 0xF6, 0x0A, 0x8E, 0xB5, 0xF7, 0xF6, 0x26, 0x7C, 0x37, 0xAE, 0xCC, 0x21,
- 0xE2, 0x3B, 0x9B, 0x22, 0x0C, 0x59, 0xDB, 0xD7, 0xE9, 0x86, 0x2E, 0xFE, 0x14, 0x16, 0x1C, 0xE3,
- 0x3E, 0xA6, 0xD1, 0xF0, 0xB8, 0xAB, 0x6B, 0x2C, 0x2B, 0xE6, 0xCF, 0x90, 0xF8, 0x9F, 0xE9, 0x06,
- 0xA7, 0x5E, 0x48, 0xA0, 0xCC, 0x01, 0xE2, 0xF4, 0x86, 0x04, 0x52, 0xFB, 0xAD, 0xB3, 0xEF, 0x68,
- 0x5B, 0x22, 0x3D, 0x21, 0x8E, 0xAE, 0xD4, 0x10, 0x12, 0x2F, 0xC3, 0x64, 0xED, 0x55, 0x9E, 0x86,
- 0x91, 0x0B, 0xA2, 0x27, 0x15, 0x04, 0xEE, 0xF3, 0xBA, 0x5F, 0x9E, 0xFA, 0x82, 0xA7, 0x9E, 0x1A,
- 0x4F, 0xFD, 0x1A, 0x3C, 0xF5, 0x1B, 0xE2, 0x69, 0x20, 0x78, 0xEA, 0xAB, 0xF1, 0x34, 0xA8, 0xC1,
- 0xD3, 0xA0, 0x21, 0x9E, 0x86, 0x82, 0xA7, 0x81, 0x1A, 0x4F, 0xC3, 0x1A, 0x3C, 0x0D, 0x1B, 0xE2,
- 0x69, 0x24, 0x78, 0x1A, 0xAA, 0xF1, 0x34, 0xAA, 0xC1, 0xD3, 0xA8, 0x21, 0x9E, 0xC6, 0x82, 0xA7,
- 0x91, 0x1A, 0x4F, 0xE3, 0x1A, 0x3C, 0x8D, 0x1B, 0xE2, 0xE9, 0x48, 0xF0, 0x34, 0x56, 0xE3, 0xE9,
- 0xA8, 0x06, 0x4F, 0x47, 0x0D, 0xF1, 0x74, 0x2C, 0x78, 0x3A, 0x52, 0xE3, 0xE9, 0xB8, 0x06, 0x4F,
- 0xC7, 0x0D, 0xF1, 0x74, 0x22, 0x78, 0x3A, 0x56, 0xE3, 0xE9, 0xA4, 0x06, 0x4F, 0x27, 0x0D, 0xF1,
- 0x84, 0x8B, 0x72, 0x8C, 0xA9, 0x13, 0xC5, 0x41, 0xB7, 0x5B, 0x83, 0x2B, 0xA3, 0x29, 0xAE, 0xC2,
- 0x54, 0xA2, 0xA7, 0x9A, 0x4B, 0xD4, 0x49, 0x26, 0xA6, 0x4D, 0xB1, 0x15, 0x65, 0x13, 0x8A, 0xE9,
- 0x44, 0xAF, 0x4E, 0x3E, 0x31, 0x6B, 0x8A, 0xAD, 0x30, 0xA1, 0xE8, 0x29, 0x66, 0x14, 0xBD, 0x3A,
- 0x29, 0x85, 0xD9, 0x14, 0x5B, 0x61, 0x4E, 0xD1, 0x53, 0x4C, 0x2A, 0x7A, 0x75, 0xB2, 0x0A, 0xD2,
- 0x14, 0x5B, 0x61, 0x5A, 0xD1, 0x53, 0xCC, 0x2B, 0x7A, 0x75, 0x12, 0x8B, 0x79, 0x53, 0x6C, 0x85,
- 0x99, 0x45, 0x4F, 0x31, 0xB5, 0xE8, 0xD5, 0xC8, 0x2D, 0x4E, 0xE4, 0x13, 0xB1, 0x7B, 0x65, 0x8B,
- 0x04, 0x7C, 0x8A, 0x1C, 0x4D, 0xDA, 0x94, 0x1E, 0x3D, 0xE1, 0x40, 0xF8, 0x6C, 0x14, 0x13, 0xC8,
- 0x85, 0xEB, 0xCC, 0xAD, 0x45, 0x58, 0x64, 0x78, 0x34, 0x4F, 0x49, 0xF8, 0xB1, 0xB7, 0xF2, 0x2A,
- 0x17, 0x1A, 0x3E, 0xBC, 0xBE, 0x2C, 0x57, 0x66, 0x88, 0xF7, 0xF2, 0x27, 0x2A, 0x32, 0x00, 0xD9,
- 0xFD, 0xF8, 0x27, 0x02, 0x94, 0xEA, 0x0A, 0x14, 0xA8, 0x4C, 0x45, 0x61, 0x14, 0xAF, 0x28, 0x8C,
- 0x95, 0x2B, 0x0A, 0x8C, 0xB8, 0xDD, 0xD4, 0x12, 0x00, 0xF7, 0x80, 0x7D, 0xD7, 0x40, 0x9D, 0xE9,
- 0x41, 0x75, 0xA6, 0x47, 0x65, 0x98, 0x1E, 0x54, 0x61, 0xBA, 0xC2, 0xD3, 0x8D, 0x8A, 0x72, 0x02,
- 0x7A, 0xBF, 0xB6, 0x6E, 0x88, 0xA9, 0xFD, 0xA2, 0x2E, 0xAA, 0x5E, 0x75, 0x51, 0x1D, 0x95, 0x11,
- 0x55, 0x6F, 0x87, 0xF6, 0x31, 0x12, 0x7C, 0xFF, 0xA8, 0xCE, 0xF7, 0xA8, 0x3A, 0xDF, 0x83, 0x32,
- 0x7C, 0x8F, 0x76, 0xC8, 0xF7, 0x50, 0xF0, 0xFD, 0x51, 0x9D, 0xEF, 0x61, 0x75, 0xBE, 0x87, 0x65,
- 0xF8, 0x1E, 0xEE, 0x90, 0xEF, 0x3E, 0x04, 0x9B, 0x1F, 0x3F, 0x6A, 0x3F, 0x2C, 0x3D, 0xE2, 0x2F,
- 0x8B, 0x2B, 0x71, 0x0C, 0xA2, 0xEA, 0xD8, 0x3E, 0x6A, 0x60, 0xEE, 0x86, 0x14, 0x0E, 0xE2, 0x3C,
- 0x15, 0xE6, 0xCD, 0x0C, 0x42, 0xE5, 0xC3, 0x41, 0x72, 0x9E, 0xE4, 0x33, 0xB7, 0x9E, 0x2A, 0x53,
- 0xBB, 0x8B, 0x61, 0xC7, 0xFA, 0xE4, 0xED, 0xA6, 0xC4, 0xF8, 0x76, 0x5C, 0xDD, 0x9E, 0xD5, 0x2B,
- 0xE6, 0x8C, 0xAE, 0x9D, 0xD9, 0xF3, 0x09, 0xE5, 0x19, 0xF2, 0x32, 0x5F, 0x41, 0xED, 0xD5, 0xAB,
- 0x10, 0xA3, 0x06, 0xAA, 0xE4, 0x18, 0xE9, 0x8F, 0x18, 0x3B, 0x3F, 0x22, 0x43, 0x1A, 0x64, 0x2C,
- 0x25, 0x06, 0xA3, 0xA3, 0x92, 0xDA, 0x3C, 0xAE, 0x18, 0x9D, 0x90, 0xC6, 0x9D, 0xA9, 0x13, 0xA7,
- 0x1E, 0x28, 0x80, 0x8F, 0x15, 0x04, 0x30, 0xAE, 0x2E, 0x80, 0x52, 0x99, 0x0B, 0xD2, 0xB8, 0x3B,
- 0x01, 0x74, 0x99, 0x00, 0x3E, 0x44, 0x6F, 0xA6, 0xCE, 0x31, 0xE8, 0x1A, 0x15, 0xA8, 0x51, 0x03,
- 0x6B, 0x24, 0x18, 0x69, 0x7B, 0xC2, 0xA2, 0x81, 0xA3, 0x72, 0x0A, 0xED, 0x97, 0xCD, 0xAF, 0xE4,
- 0xC5, 0x4F, 0x85, 0xFC, 0x7B, 0x97, 0x09, 0x56, 0xBF, 0x2B, 0x2C, 0xBA, 0xBC, 0x00, 0xBA, 0xD5,
- 0x05, 0xD0, 0x2B, 0x25, 0x80, 0xEE, 0xE3, 0x4A, 0xC6, 0xC7, 0xDB, 0x1F, 0x13, 0x2E, 0x96, 0x56,
- 0x59, 0xF7, 0x8F, 0x8D, 0x66, 0xFD, 0x32, 0xC2, 0xDA, 0xA9, 0xF7, 0x0F, 0x22, 0xCE, 0xB5, 0x5F,
- 0xB4, 0xE4, 0xD6, 0xD7, 0xBC, 0x38, 0x50, 0xBD, 0x08, 0x38, 0x6A, 0x60, 0xBD, 0x0A, 0x29, 0x3C,
- 0x91, 0x70, 0x56, 0x32, 0xC0, 0x9F, 0x54, 0x77, 0x87, 0x52, 0x1A, 0x46, 0x5A, 0x77, 0xA7, 0xE2,
- 0x51, 0x42, 0x10, 0xEC, 0x43, 0xE6, 0x2A, 0x2A, 0xAE, 0x5E, 0x39, 0x1C, 0x35, 0xB0, 0xD4, 0x85,
- 0x14, 0x1E, 0x4B, 0x38, 0x2B, 0xA9, 0xE2, 0xB2, 0x29, 0xE9, 0x71, 0xC5, 0xA9, 0x65, 0x6F, 0x97,
- 0x39, 0x29, 0x56, 0xBB, 0x63, 0x82, 0x88, 0x7F, 0x65, 0x22, 0x4F, 0xC1, 0xD5, 0x2B, 0xDE, 0xA3,
- 0x9A, 0xEB, 0xB3, 0xBB, 0x8B, 0xE4, 0x47, 0xB2, 0x4F, 0x90, 0x17, 0xDB, 0x41, 0xD9, 0x5C, 0xB6,
- 0x5B, 0x71, 0xE0, 0xDB, 0x69, 0x2A, 0x0B, 0xBD, 0x43, 0xD6, 0xB3, 0xCD, 0x7D, 0x8E, 0x09, 0x54,
- 0x5F, 0x79, 0x1B, 0x35, 0xB0, 0x3D, 0x04, 0x29, 0xEC, 0xEB, 0x93, 0x8F, 0x25, 0x99, 0xAA, 0x53,
- 0x3F, 0xA8, 0xBC, 0x3F, 0xA4, 0xB9, 0xD2, 0xFB, 0x6C, 0x75, 0x53, 0xBE, 0xF4, 0x7E, 0xF1, 0xEE,
- 0xE7, 0x72, 0xA5, 0xF7, 0x78, 0x2F, 0xCD, 0x95, 0xDE, 0xAB, 0xD9, 0x4C, 0xA9, 0x8D, 0xB2, 0xC0,
- 0x18, 0xBE, 0x3F, 0x62, 0x66, 0xF9, 0xB4, 0x4B, 0x10, 0x8C, 0xF6, 0x5E, 0x9C, 0x86, 0x22, 0x8A,
- 0x3D, 0xB1, 0x9F, 0x6C, 0x9F, 0x67, 0x3D, 0x83, 0x9C, 0xB0, 0xA0, 0xB6, 0x11, 0x76, 0xFB, 0x75,
- 0x28, 0x9D, 0x31, 0xFF, 0x10, 0x57, 0x8D, 0x47, 0xEB, 0xB3, 0x5E, 0x1A, 0xD0, 0x39, 0x2A, 0x89,
- 0x7B, 0xE7, 0x8F, 0xDC, 0x4F, 0x52, 0x8A, 0xEA, 0x51, 0xFD, 0xF4, 0xF0, 0x5C, 0xB9, 0x4E, 0x4E,
- 0xC1, 0xCA, 0x44, 0xF3, 0x41, 0xBC, 0xD4, 0xA2, 0x1E, 0xCD, 0x19, 0x79, 0xBB, 0x89, 0xE6, 0x88,
- 0x3B, 0xC1, 0x7B, 0x89, 0xAC, 0x86, 0xC1, 0x96, 0x13, 0x80, 0x7C, 0x13, 0x85, 0x82, 0x00, 0xB2,
- 0x24, 0x70, 0x2F, 0x22, 0xE8, 0x53, 0x09, 0xF4, 0x53, 0xDA, 0xCF, 0x08, 0xFC, 0xB4, 0x7D, 0xD5,
- 0xB8, 0x3F, 0x68, 0xA0, 0x36, 0x81, 0xE2, 0x4A, 0x70, 0x54, 0x52, 0xA7, 0xE5, 0x16, 0x07, 0x13,
- 0x3A, 0x2D, 0x67, 0xD4, 0x3B, 0x5B, 0x1D, 0x04, 0xE4, 0x03, 0x2A, 0x80, 0x81, 0xB2, 0x4A, 0xAB,
- 0x4F, 0x33, 0x07, 0x0D, 0xE4, 0x27, 0x28, 0xAD, 0x04, 0x47, 0x25, 0x55, 0x5A, 0x6E, 0xE9, 0x33,
- 0xA1, 0x52, 0xF5, 0xF9, 0x25, 0x27, 0x72, 0x67, 0x2A, 0x1D, 0x52, 0x01, 0x0C, 0x95, 0x55, 0x5A,
- 0x7D, 0xD6, 0x31, 0x68, 0x60, 0xF7, 0x2E, 0x4A, 0x2B, 0xC1, 0x51, 0x49, 0x95, 0x96, 0x5B, 0xB2,
- 0x4B, 0xA8, 0x54, 0x7D, 0x3E, 0xC9, 0x89, 0xDC, 0x99, 0x4A, 0x47, 0x54, 0x00, 0x23, 0x65, 0x95,
- 0x56, 0xAF, 0x14, 0x0C, 0x1A, 0x28, 0x06, 0xA1, 0xB4, 0x12, 0x1C, 0x95, 0x54, 0x69, 0xB9, 0xD5,
- 0xE7, 0x84, 0x4A, 0xD5, 0xD7, 0x39, 0x38, 0x91, 0x3B, 0x53, 0xE9, 0x98, 0x0A, 0x60, 0xAC, 0xAC,
- 0xD2, 0xEA, 0xFB, 0xAB, 0x06, 0x0D, 0xEC, 0xDD, 0x46, 0x69, 0x25, 0x38, 0x2A, 0xA9, 0xD2, 0x72,
- 0xA5, 0xDB, 0x84, 0x4A, 0xD5, 0x57, 0x6E, 0x38, 0x91, 0x3B, 0x53, 0xE9, 0x11, 0x15, 0xC0, 0x91,
- 0xB2, 0x4A, 0xAB, 0x6F, 0x5D, 0x1F, 0x34, 0x50, 0xCF, 0x43, 0x69, 0x25, 0x38, 0x2A, 0xA9, 0xD2,
- 0x72, 0x15, 0x9C, 0x84, 0x4A, 0xD5, 0xF7, 0x4E, 0x71, 0x22, 0x77, 0xA6, 0xD2, 0x63, 0x2A, 0x80,
- 0x63, 0x65, 0x95, 0x56, 0xDF, 0xB9, 0x3F, 0x68, 0x60, 0xE7, 0x3E, 0x4A, 0x2B, 0xC1, 0x51, 0x49,
- 0x95, 0x96, 0xAB, 0xCD, 0x26, 0x54, 0xAA, 0xBE, 0xDD, 0x89, 0x13, 0xB9, 0x33, 0x95, 0x9E, 0x50,
- 0x01, 0x9C, 0x28, 0xAB, 0xB4, 0xFA, 0x96, 0x81, 0x41, 0x03, 0x9B, 0x5F, 0x50, 0x5A, 0xDD, 0x38,
- 0x47, 0x25, 0x55, 0x5A, 0x6E, 0x81, 0x71, 0x90, 0xB1, 0xF5, 0x45, 0x41, 0xA5, 0x59, 0x0B, 0x8C,
- 0x8F, 0xA0, 0x7E, 0x67, 0x5C, 0x4F, 0x2B, 0x7C, 0xFA, 0xE5, 0xE5, 0x4F, 0xAF, 0xB2, 0x0B, 0xFB,
- 0x99, 0x55, 0xBC, 0x44, 0x5F, 0x8F, 0xBD, 0x8C, 0x17, 0x97, 0x17, 0x12, 0x0E, 0x5A, 0x66, 0x2F,
- 0x4D, 0xD4, 0xB6, 0x98, 0xCF, 0xB7, 0x34, 0x06, 0x5C, 0xC2, 0xD2, 0x06, 0xC3, 0xAE, 0x3C, 0x69,
- 0x29, 0xB0, 0x34, 0x4E, 0xE5, 0x6E, 0x82, 0x07, 0x22, 0x87, 0xB9, 0x38, 0xF2, 0xFE, 0xBD, 0xD2,
- 0x9A, 0x0E, 0x03, 0x48, 0x86, 0x8F, 0x61, 0xF7, 0x44, 0x31, 0x7E, 0x80, 0x0C, 0xB2, 0x36, 0xC6,
- 0xDF, 0x63, 0x00, 0x41, 0x1A, 0x07, 0x8C, 0xA9, 0x37, 0xCA, 0x4C, 0xA5, 0xAB, 0x00, 0xA5, 0x98,
- 0xCA, 0xAA, 0xEC, 0xDC, 0x33, 0x53, 0x43, 0xC6, 0x54, 0x8E, 0x93, 0xA6, 0x98, 0x4A, 0xCF, 0x83,
- 0x4B, 0x31, 0x95, 0x35, 0x11, 0x8E, 0x98, 0x7A, 0x0C, 0x81, 0x8E, 0xCC, 0x8C, 0xC5, 0xAC, 0x42,
- 0xA8, 0xBB, 0xBC, 0x38, 0x7C, 0xF9, 0xE6, 0x42, 0xA3, 0x4B, 0x9A, 0xAE, 0x5D, 0x32, 0xE2, 0x25,
- 0x3B, 0xFD, 0x53, 0xC5, 0x3C, 0x4A, 0x7A, 0x2C, 0xEA, 0xBD, 0xB9, 0x50, 0x0D, 0x78, 0x1C, 0xB2,
- 0x4C, 0xC8, 0x1B, 0x75, 0x07, 0x55, 0x2A, 0x84, 0x21, 0x91, 0x3B, 0x0A, 0x7A, 0x14, 0x7D, 0x3F,
- 0x92, 0xC1, 0x65, 0x39, 0x19, 0x94, 0xAA, 0x92, 0x26, 0x65, 0x50, 0x22, 0xEC, 0x0B, 0x22, 0x77,
- 0x29, 0x03, 0x8C, 0x92, 0x97, 0x17, 0xDA, 0xFB, 0xBF, 0x6B, 0x97, 0x37, 0x6B, 0xD7, 0xDF, 0x78,
- 0xA4, 0x30, 0xAA, 0x70, 0xB8, 0x64, 0x5C, 0x19, 0x8F, 0x46, 0x03, 0xD5, 0xC0, 0x32, 0xCA, 0x1E,
- 0x02, 0xE6, 0xDD, 0x7B, 0x8C, 0x97, 0x94, 0xD0, 0x61, 0xC8, 0xE0, 0xF7, 0x04, 0x34, 0xAD, 0x14,
- 0x37, 0x39, 0x60, 0x92, 0xC3, 0x5E, 0x17, 0xB7, 0x57, 0x2B, 0x32, 0x28, 0xCF, 0x28, 0x07, 0xF7,
- 0x3A, 0x1C, 0x50, 0x2A, 0x47, 0x21, 0x7B, 0x1F, 0x7F, 0xF8, 0xA0, 0xC6, 0x58, 0xBA, 0x8E, 0x56,
- 0x4E, 0x75, 0x59, 0x8F, 0x8C, 0xDE, 0xD3, 0xA0, 0x20, 0xBD, 0x71, 0x76, 0x08, 0xA1, 0x77, 0x1B,
- 0x26, 0x43, 0x92, 0x67, 0x73, 0x6B, 0x01, 0x76, 0x2C, 0xEF, 0x83, 0x8A, 0x96, 0xBD, 0xEC, 0x14,
- 0xBF, 0x51, 0xD9, 0x9E, 0x41, 0xF4, 0x07, 0x93, 0x40, 0xA7, 0x13, 0x02, 0x5F, 0x19, 0x0B, 0x12,
- 0x5D, 0xD7, 0x58, 0x6C, 0xCF, 0x8B, 0xD9, 0x06, 0x43, 0x68, 0x5C, 0x11, 0xFE, 0x41, 0x4D, 0x6D,
- 0xE9, 0x91, 0xF9, 0xB9, 0xFE, 0x45, 0x88, 0x93, 0x3F, 0x95, 0x87, 0x4D, 0x74, 0xCD, 0x74, 0xAF,
- 0x1D, 0xDB, 0x35, 0x70, 0x3C, 0x30, 0xD6, 0x01, 0x50, 0xDA, 0xF9, 0x6D, 0x8D, 0x2F, 0xBE, 0x32,
- 0xF0, 0x21, 0x2E, 0x23, 0xA7, 0x9F, 0x98, 0x55, 0xCC, 0x6C, 0xD7, 0x17, 0xB3, 0x39, 0x3C, 0x0C,
- 0x3F, 0xC0, 0xF9, 0x3F, 0xFF, 0x5D, 0xB4, 0x83, 0xC0, 0x5A, 0x2D, 0x62, 0x02, 0xD0, 0x35, 0xDF,
- 0x9B, 0x9D, 0xEB, 0x40, 0xA9, 0xE7, 0xFA, 0xBE, 0xEB, 0x59, 0x0B, 0x2B, 0x43, 0x3B, 0x59, 0xD2,
- 0x3E, 0x94, 0x89, 0x3B, 0xD5, 0x58, 0xA2, 0xF8, 0x33, 0x7F, 0xE6, 0x59, 0xEB, 0x60, 0xF2, 0xC4,
- 0x74, 0x67, 0x9B, 0x15, 0x71, 0x82, 0x8E, 0x61, 0x9A, 0x97, 0x57, 0x70, 0xF0, 0x2D, 0x7E, 0xAC,
- 0x0D, 0x24, 0xDF, 0xDA, 0x7B, 0xFD, 0x8F, 0x77, 0x38, 0x3A, 0xE3, 0x35, 0x90, 0x17, 0x31, 0xF7,
- 0x0E, 0xB4, 0xF9, 0xC6, 0x61, 0x03, 0x64, 0x8B, 0x60, 0xDB, 0x7D, 0xED, 0x0F, 0xC0, 0x78, 0x65,
- 0x78, 0xDA, 0xD4, 0xF0, 0xC9, 0x5B, 0xD7, 0x0F, 0xB4, 0x73, 0x2D, 0xC4, 0x68, 0xBB, 0x33, 0xBA,
- 0x9D, 0xA3, 0xC3, 0xF8, 0xE2, 0x2D, 0x19, 0xE3, 0x3F, 0x7A, 0x36, 0x34, 0x0D, 0xA1, 0x9E, 0x6B,
- 0x7B, 0xA7, 0xC7, 0xBD, 0x3D, 0xB4, 0xDD, 0xB0, 0x8B, 0x39, 0x81, 0xE8, 0x0F, 0xED, 0x5A, 0x1B,
- 0xCF, 0x3E, 0xD0, 0x66, 0xD3, 0xFD, 0x3F, 0x28, 0xF5, 0xF4, 0x32, 0x5E, 0xDB, 0xE7, 0xCC, 0x74,
- 0x82, 0x25, 0x71, 0x5A, 0x11, 0x65, 0x1E, 0xF1, 0xD7, 0xAE, 0xE3, 0x13, 0x46, 0x1C, 0xFB, 0x59,
- 0xF3, 0xE8, 0x7A, 0xC7, 0x0F, 0x8C, 0x60, 0xE3, 0x6B, 0x4F, 0xCF, 0xCF, 0xB5, 0x7E, 0xB7, 0x1B,
- 0x6F, 0xA6, 0x41, 0x37, 0xE9, 0x76, 0x07, 0x5A, 0xEA, 0xC2, 0x0F, 0xE4, 0x26, 0xD8, 0xFF, 0x2A,
- 0x84, 0xB9, 0xD3, 0x88, 0xED, 0x93, 0x04, 0x92, 0x10, 0x00, 0x5F, 0x27, 0xD7, 0xDA, 0x4F, 0x12,
- 0xD8, 0x32, 0x8D, 0xC0, 0xD8, 0xFF, 0x23, 0xA1, 0x2F, 0xE8, 0x15, 0x28, 0x39, 0xD0, 0xE8, 0xAD,
- 0xAF, 0x62, 0xB7, 0xEE, 0xF6, 0x3B, 0x20, 0x43, 0xE0, 0x37, 0x84, 0x26, 0x9E, 0x97, 0xA4, 0x98,
- 0x42, 0xB7, 0x7B, 0x07, 0x1A, 0xDE, 0x49, 0xC2, 0xC6, 0x88, 0x7C, 0x22, 0xAE, 0x09, 0xA1, 0xE5,
- 0xA3, 0x95, 0xA0, 0x64, 0xE8, 0xEE, 0x12, 0x2A, 0x82, 0x38, 0xF4, 0x3D, 0x59, 0x80, 0xC4, 0x16,
- 0x07, 0x3C, 0x2C, 0x1D, 0xD0, 0x98, 0x74, 0xC0, 0xC2, 0x59, 0x4C, 0x6B, 0xE0, 0xD0, 0xBE, 0x6B,
- 0x13, 0xB0, 0x89, 0x45, 0x6B, 0x8F, 0x7F, 0x0A, 0x14, 0xEC, 0x69, 0xAF, 0x7B, 0xB3, 0xF7, 0x1C,
- 0xC0, 0x3B, 0x81, 0xFB, 0x21, 0xF0, 0x2C, 0x67, 0xD1, 0xEA, 0x8D, 0xF7, 0x23, 0x5C, 0xF4, 0x36,
- 0x22, 0x4C, 0xDD, 0xA7, 0xD7, 0x69, 0x17, 0xE9, 0x1B, 0x2D, 0x7E, 0xFD, 0xF9, 0xDE, 0xFE, 0x1E,
- 0x27, 0x9D, 0x9E, 0x83, 0xB1, 0xB5, 0xD8, 0xC1, 0x33, 0x4A, 0xE1, 0xBE, 0x76, 0x76, 0xC6, 0xBB,
- 0x61, 0xAD, 0xF0, 0x22, 0x34, 0xA2, 0x7F, 0x52, 0xB7, 0x42, 0x43, 0xFC, 0xF5, 0xCB, 0x3F, 0x84,
- 0xC5, 0xDE, 0x1D, 0x02, 0xD5, 0x2F, 0x30, 0x2E, 0x7F, 0xF9, 0x07, 0xFC, 0x7F, 0xF7, 0x8C, 0x86,
- 0xE2, 0x2F, 0xFF, 0xC0, 0x3F, 0x77, 0xCF, 0xA0, 0x27, 0x38, 0xA6, 0xFD, 0xDD, 0xFD, 0x4A, 0xA5,
- 0xB0, 0x2D, 0xBB, 0x45, 0xA6, 0xEC, 0x42, 0xA1, 0x95, 0xA6, 0x69, 0x91, 0x43, 0xD4, 0xAF, 0x91,
- 0xF7, 0xB6, 0x66, 0xAE, 0x09, 0xCA, 0x09, 0xC0, 0x8E, 0x85, 0xCA, 0x6D, 0x50, 0x89, 0x10, 0x54,
- 0x57, 0xA8, 0xDC, 0x9A, 0xD3, 0x96, 0x1A, 0x77, 0x94, 0xC8, 0x3C, 0x44, 0xCB, 0xB5, 0xE1, 0xF9,
- 0xE4, 0x1B, 0x27, 0x68, 0x05, 0x09, 0x97, 0xC8, 0x90, 0xF8, 0x64, 0x92, 0x60, 0x01, 0x7F, 0x00,
- 0x07, 0xED, 0xF6, 0xB8, 0xD2, 0x42, 0x53, 0x7B, 0x12, 0x5A, 0x61, 0x44, 0x29, 0xBB, 0x99, 0x61,
- 0x85, 0x3F, 0xCF, 0xEC, 0xCF, 0xAD, 0x1B, 0xF8, 0x2F, 0x1D, 0x28, 0xB6, 0x44, 0x84, 0x8D, 0x5E,
- 0xE0, 0x7F, 0x20, 0x17, 0xFC, 0x93, 0xA9, 0x1F, 0xC0, 0xFA, 0xDE, 0xB6, 0x5B, 0xEC, 0xB3, 0x5F,
- 0xA0, 0x9A, 0x0D, 0x04, 0x21, 0xFF, 0x16, 0xC3, 0x81, 0xEB, 0x06, 0x9F, 0x0E, 0xB4, 0xB5, 0x07,
- 0x84, 0xD1, 0x2F, 0x7D, 0xC0, 0x31, 0x20, 0x22, 0x0E, 0xFB, 0x5B, 0x48, 0xC1, 0xDA, 0xB6, 0x5F,
- 0x30, 0xAC, 0x40, 0x02, 0x3B, 0x00, 0x4D, 0x6D, 0xD0, 0x62, 0xE0, 0xFF, 0xBB, 0x67, 0xD0, 0x09,
- 0x1C, 0xC2, 0xFF, 0x77, 0xCF, 0xB0, 0x2B, 0xD4, 0x25, 0xF6, 0x78, 0xF7, 0x0C, 0x7A, 0x84, 0x13,
- 0xF8, 0x1F, 0xDA, 0x60, 0xBF, 0xD8, 0x0A, 0xFF, 0xC2, 0x1D, 0xDA, 0x3F, 0xDE, 0xA4, 0x07, 0xEC,
- 0x02, 0x3F, 0xCD, 0x63, 0x90, 0xBD, 0xE9, 0xBE, 0x45, 0xDF, 0x3C, 0xFE, 0xE9, 0x06, 0xD8, 0xA1,
- 0x07, 0xB7, 0xE0, 0xF8, 0x8E, 0x89, 0xE7, 0xF8, 0xE7, 0x56, 0x98, 0x27, 0x5E, 0xE0, 0x47, 0x70,
- 0x8D, 0xBE, 0x9D, 0x15, 0x2F, 0xB1, 0x03, 0x6C, 0x45, 0xDF, 0xA5, 0x49, 0x5B, 0xB1, 0x23, 0xB8,
- 0xC6, 0xDF, 0xC0, 0x78, 0xA0, 0xF1, 0x77, 0xFC, 0x15, 0x0A, 0x27, 0x7A, 0x07, 0xDF, 0x0B, 0xFF,
- 0x06, 0x19, 0x64, 0xA4, 0xA1, 0x54, 0xC2, 0xB3, 0xDB, 0xBB, 0x67, 0x04, 0xEF, 0x51, 0x22, 0xE1,
- 0xF8, 0x96, 0x1F, 0xC3, 0x75, 0xA0, 0x0F, 0xEF, 0x08, 0x82, 0xE9, 0x85, 0xDB, 0xE8, 0x02, 0xB4,
- 0x08, 0xF0, 0x3E, 0x27, 0x1E, 0xCE, 0x6E, 0xC3, 0x33, 0x84, 0xA6, 0xB0, 0x9C, 0x0D, 0x38, 0xBD,
- 0x8D, 0x4E, 0xE1, 0x2E, 0xF2, 0x82, 0x0A, 0xE0, 0x3C, 0xDD, 0x3D, 0xE3, 0x3C, 0xA1, 0x16, 0xD9,
- 0x51, 0x5A, 0xD4, 0x18, 0xF4, 0x02, 0x1E, 0x24, 0x5F, 0xB1, 0x1C, 0x24, 0x36, 0x3C, 0x42, 0x00,
- 0xB8, 0xB4, 0x09, 0x1E, 0xBE, 0xBA, 0xFD, 0xC6, 0x6C, 0xED, 0xF1, 0x4F, 0xB7, 0xEE, 0x61, 0x88,
- 0x8E, 0xC3, 0x74, 0x5C, 0x67, 0x66, 0x5B, 0x33, 0x8C, 0x04, 0xAD, 0x7D, 0xED, 0x7C, 0xC2, 0xC3,
- 0x34, 0x7A, 0x2C, 0x34, 0x8F, 0x7B, 0x61, 0x26, 0x6A, 0x8F, 0x7F, 0x7C, 0x74, 0x6F, 0xBF, 0x43,
- 0x1D, 0x8D, 0x3B, 0x13, 0xA2, 0xE0, 0x31, 0x46, 0x0D, 0x07, 0x36, 0x96, 0xE0, 0xD8, 0x0A, 0x07,
- 0xB9, 0x48, 0x68, 0xEB, 0x18, 0x16, 0x8A, 0x26, 0x3E, 0x92, 0x74, 0x53, 0x83, 0x48, 0x4E, 0xD8,
- 0x12, 0x11, 0xEA, 0x69, 0x3A, 0x42, 0x81, 0xAA, 0xBC, 0xA0, 0xB5, 0x77, 0xE9, 0x79, 0xAE, 0xF7,
- 0xAF, 0xBD, 0xE7, 0xD8, 0xE8, 0xF9, 0xDE, 0xBF, 0x4F, 0xB5, 0xBD, 0xE7, 0xF1, 0x50, 0x75, 0x97,
- 0x8E, 0x29, 0x4C, 0x63, 0x0B, 0x45, 0x8D, 0x2D, 0x62, 0x1A, 0x5B, 0xDC, 0xAF, 0xC6, 0xE2, 0x9F,
- 0x8C, 0xAD, 0xA3, 0xB5, 0xF8, 0x27, 0x5A, 0x73, 0x34, 0x57, 0x08, 0xCF, 0x95, 0xC6, 0xB5, 0xB5,
- 0x90, 0x69, 0xAB, 0x8A, 0x9A, 0xD8, 0x18, 0x0E, 0xDE, 0x43, 0xBC, 0xB7, 0x3F, 0xBC, 0xFB, 0x16,
- 0xC7, 0x02, 0xB9, 0xCA, 0x42, 0x8D, 0xA5, 0xB3, 0x2D, 0x09, 0x06, 0x4C, 0x0E, 0x12, 0x23, 0x53,
- 0x22, 0x49, 0x78, 0xBE, 0xA7, 0xB5, 0x28, 0x4A, 0x4C, 0x11, 0x0A, 0x0C, 0x81, 0x8F, 0x2C, 0x6A,
- 0xBE, 0x8B, 0xA3, 0x89, 0x70, 0xDE, 0x08, 0x2A, 0xC7, 0x16, 0x10, 0x40, 0x49, 0x89, 0x0C, 0xF3,
- 0x96, 0xC3, 0xC4, 0x06, 0xBD, 0xC6, 0x5D, 0x84, 0xFA, 0xAB, 0xAF, 0x1A, 0xD4, 0x44, 0x4C, 0x8F,
- 0x62, 0x9B, 0x5F, 0x28, 0x1D, 0x1E, 0xF9, 0x95, 0x04, 0xC4, 0x3F, 0x05, 0x22, 0x31, 0x70, 0x3E,
- 0x62, 0x94, 0xC0, 0x72, 0x2B, 0xC1, 0x42, 0x47, 0x1A, 0x25, 0x1C, 0xF4, 0xF3, 0x11, 0x19, 0x18,
- 0xD4, 0xA8, 0xA0, 0xDF, 0x6B, 0x90, 0x60, 0x10, 0x63, 0x9A, 0x12, 0x12, 0xF1, 0xAD, 0x81, 0x6C,
- 0x3C, 0x6A, 0xC4, 0x88, 0x37, 0xFC, 0x4B, 0xF0, 0xF0, 0x31, 0x54, 0x09, 0x0D, 0x7F, 0x3B, 0x7D,
- 0x26, 0x16, 0x35, 0x62, 0xF8, 0x0B, 0xE1, 0x65, 0x3C, 0xF1, 0x31, 0x5B, 0x8D, 0x27, 0xFE, 0x1E,
- 0xF3, 0x6C, 0x3C, 0x8A, 0xB2, 0xE1, 0xEF, 0x0E, 0x97, 0x59, 0x1D, 0x4B, 0x11, 0x72, 0x1D, 0x83,
- 0x35, 0x01, 0x60, 0x5E, 0x96, 0x7E, 0xD1, 0x3B, 0xED, 0x46, 0x18, 0x78, 0x46, 0x91, 0x87, 0x81,
- 0x37, 0x49, 0x63, 0x10, 0xD1, 0xE1, 0x01, 0x72, 0xBB, 0x87, 0x88, 0x42, 0x90, 0xA3, 0xAB, 0x45,
- 0x21, 0x48, 0xBB, 0x45, 0xF8, 0x09, 0x61, 0x32, 0xC2, 0x0F, 0x2D, 0x68, 0xB0, 0x2F, 0x18, 0xE7,
- 0xC9, 0x3F, 0xFC, 0x20, 0xB0, 0x4C, 0x89, 0x88, 0x03, 0xD2, 0x79, 0x25, 0x4B, 0xE2, 0xDF, 0xBE,
- 0x4D, 0x19, 0x12, 0x2D, 0x96, 0xDC, 0xFA, 0x6A, 0xA1, 0xEB, 0xD6, 0xCF, 0xC0, 0x40, 0xE7, 0x0E,
- 0x6A, 0xB9, 0x19, 0xFF, 0x58, 0xAC, 0x04, 0x09, 0xCC, 0x39, 0x94, 0x50, 0xF0, 0x2F, 0x66, 0xCA,
- 0x18, 0xA1, 0x1F, 0x54, 0x54, 0x62, 0x45, 0x7C, 0x3C, 0x51, 0x46, 0x07, 0x9D, 0xDE, 0xE4, 0x29,
- 0x85, 0x7F, 0xA2, 0x2E, 0x4B, 0x23, 0x6B, 0xD5, 0x21, 0x57, 0x7C, 0x8E, 0x4D, 0x32, 0xEC, 0x56,
- 0x9C, 0x15, 0x3E, 0xCC, 0x10, 0xBD, 0xF8, 0x28, 0xE6, 0xE2, 0xC4, 0x96, 0xA6, 0xA2, 0xC4, 0xEE,
- 0x18, 0x01, 0x24, 0x47, 0xD3, 0x4D, 0x40, 0xFC, 0x0E, 0xD6, 0x0F, 0x42, 0xE1, 0x6C, 0xDD, 0xEA,
- 0x38, 0x40, 0x00, 0x45, 0xB8, 0x1F, 0x8F, 0x55, 0x2C, 0x70, 0x6C, 0xE1, 0x62, 0x97, 0xB3, 0xD0,
- 0xB1, 0xBB, 0x19, 0x18, 0x79, 0x7A, 0x9B, 0x84, 0xC0, 0x8B, 0x59, 0xD8, 0x68, 0x8D, 0x28, 0x86,
- 0xAB, 0x3F, 0x1A, 0x6D, 0x27, 0xB9, 0xBC, 0x03, 0xB6, 0xAC, 0x84, 0x02, 0xE9, 0x60, 0x89, 0x3E,
- 0x2A, 0x7B, 0xCD, 0x60, 0x16, 0xAA, 0xED, 0x89, 0x35, 0xA5, 0xBD, 0xD3, 0xAD, 0x7A, 0x06, 0x40,
- 0x70, 0xAB, 0xD2, 0x5E, 0x30, 0x1A, 0x4F, 0xA3, 0x62, 0x89, 0xA6, 0x4D, 0x3D, 0x62, 0x7C, 0xFE,
- 0x2A, 0x81, 0x8C, 0x56, 0xFF, 0x43, 0x4C, 0xEC, 0x1A, 0x16, 0x05, 0x53, 0x97, 0xD8, 0x13, 0x37,
- 0x6D, 0xD7, 0x21, 0xF2, 0x5E, 0x13, 0xD5, 0x11, 0xDE, 0x11, 0x3F, 0x33, 0xC9, 0xDC, 0xD8, 0xD8,
- 0x41, 0x04, 0xE6, 0x91, 0x60, 0xE3, 0x39, 0xBC, 0x5A, 0xB2, 0x3D, 0xB9, 0x92, 0x96, 0xE9, 0x1A,
- 0xB4, 0xCD, 0xC3, 0x43, 0xED, 0x65, 0x10, 0x18, 0xA0, 0x00, 0x5C, 0x66, 0x5D, 0xA2, 0x7C, 0x34,
- 0x83, 0x17, 0x7C, 0x5D, 0x0F, 0x8D, 0x12, 0xEB, 0xCF, 0x1E, 0x70, 0x4D, 0xBD, 0xD1, 0x07, 0x10,
- 0xE1, 0xA4, 0x14, 0x55, 0xE7, 0x3F, 0x1B, 0xE2, 0xDD, 0x7E, 0xA0, 0x02, 0x73, 0xBD, 0x97, 0xE0,
- 0x8B, 0x7B, 0x9D, 0x68, 0xA9, 0x64, 0x8F, 0xD5, 0x37, 0x3B, 0x80, 0xEA, 0x12, 0xFA, 0x00, 0x1D,
- 0x47, 0x36, 0xCF, 0xB8, 0x09, 0xF5, 0xAE, 0x9D, 0x9F, 0x9F, 0x73, 0x65, 0xA4, 0x0B, 0xAA, 0xD0,
- 0xC2, 0x75, 0x3E, 0x93, 0xDB, 0xCD, 0x1A, 0xC4, 0x1F, 0x95, 0x48, 0x53, 0x45, 0x5B, 0x2E, 0x1D,
- 0xD2, 0x81, 0x96, 0x17, 0xBC, 0x4C, 0xD6, 0x1B, 0x48, 0x1A, 0x45, 0x2A, 0xA0, 0xD6, 0x89, 0x9E,
- 0xF8, 0xD5, 0x56, 0xA3, 0xBB, 0x27, 0xF2, 0x33, 0x49, 0x79, 0x99, 0x13, 0xC8, 0x85, 0x27, 0x86,
- 0xAE, 0x54, 0x0F, 0x4F, 0x92, 0xA8, 0xEE, 0xF6, 0x9F, 0x44, 0x91, 0x61, 0xB3, 0x36, 0x8D, 0x80,
- 0x24, 0x83, 0x43, 0x68, 0x0B, 0xE2, 0xE6, 0xCA, 0x0D, 0x48, 0x2A, 0x62, 0x58, 0x8E, 0x15, 0x58,
- 0x86, 0xFD, 0x31, 0xB2, 0xC6, 0x9D, 0xBA, 0xBF, 0xC4, 0xC7, 0x4B, 0xF8, 0xFF, 0x56, 0x85, 0x57,
- 0xAD, 0x2A, 0xB9, 0x65, 0x21, 0x61, 0x3C, 0x88, 0xAC, 0x24, 0x2E, 0x87, 0x44, 0x58, 0xE0, 0xF7,
- 0x45, 0x4F, 0x4F, 0x9F, 0xD2, 0xA3, 0x27, 0xA1, 0xD2, 0x44, 0xF4, 0x38, 0xD7, 0xA2, 0x1B, 0x29,
- 0x05, 0x6F, 0xE3, 0x4E, 0xE1, 0x10, 0xC8, 0x63, 0x18, 0x98, 0x6F, 0x85, 0xEA, 0x5D, 0xC3, 0x54,
- 0x17, 0x6D, 0xE1, 0xFF, 0xA3, 0xFE, 0x23, 0x8A, 0xFA, 0xBB, 0x0B, 0xF1, 0x39, 0xB6, 0x9D, 0xF2,
- 0x00, 0x06, 0x27, 0x5F, 0x74, 0x79, 0xBE, 0x77, 0xA0, 0xC9, 0x57, 0x55, 0x52, 0x69, 0xC5, 0xD2,
- 0x32, 0x19, 0xC9, 0x91, 0x5D, 0xA1, 0x84, 0x70, 0x61, 0x14, 0x97, 0x0E, 0x71, 0x1D, 0xB1, 0xB5,
- 0xC7, 0x56, 0x6D, 0x69, 0x34, 0xBE, 0x8B, 0x12, 0x92, 0xA5, 0x7B, 0x9D, 0x07, 0xE9, 0x41, 0xCC,
- 0xB9, 0x22, 0x29, 0xE0, 0x10, 0xDA, 0xB4, 0x7C, 0x63, 0x6A, 0x17, 0x77, 0xCD, 0xDB, 0x99, 0x7C,
- 0x28, 0x80, 0x06, 0xE2, 0x0A, 0x80, 0x06, 0x1E, 0xF5, 0x99, 0x18, 0x5A, 0xE2, 0x14, 0x61, 0x15,
- 0x64, 0xE5, 0x22, 0x9E, 0x1B, 0xE0, 0xC4, 0x49, 0xCC, 0x2C, 0x90, 0x96, 0x08, 0xB1, 0xF1, 0xCB,
- 0x00, 0x91, 0x3C, 0x3D, 0xD7, 0x9C, 0x8D, 0x6D, 0x83, 0x05, 0x22, 0x0B, 0x60, 0x81, 0xF1, 0xBB,
- 0xD2, 0x00, 0xFD, 0xE7, 0x8D, 0x66, 0x21, 0xE5, 0x09, 0x09, 0x3C, 0x7B, 0x96, 0xC4, 0x86, 0xCB,
- 0xB7, 0x2C, 0x35, 0x0F, 0x7B, 0x63, 0xED, 0xD9, 0xDB, 0x74, 0xA3, 0x51, 0x96, 0x93, 0x04, 0x43,
- 0xF5, 0xD3, 0x84, 0xE0, 0x63, 0x19, 0x0E, 0x10, 0x62, 0x99, 0x54, 0x40, 0xB8, 0x49, 0x43, 0xDF,
- 0x5A, 0xE9, 0x7A, 0x41, 0xAD, 0xBE, 0x45, 0xF8, 0x1E, 0x9D, 0x7D, 0x90, 0x3F, 0x1A, 0x73, 0x74,
- 0x41, 0x64, 0x3B, 0x61, 0x57, 0x71, 0x8C, 0x8B, 0x04, 0x46, 0x64, 0x2C, 0x45, 0x37, 0xFE, 0x68,
- 0x07, 0xD0, 0x14, 0x77, 0xC8, 0xC4, 0x06, 0xEF, 0xED, 0xD1, 0x9F, 0x76, 0xBC, 0xDD, 0x30, 0x97,
- 0x82, 0xEB, 0xE9, 0xA7, 0x05, 0x34, 0x97, 0x31, 0x46, 0xD1, 0x5D, 0x4F, 0x91, 0x25, 0x4A, 0x02,
- 0x1C, 0xE6, 0xA1, 0x9A, 0x1B, 0x33, 0xF2, 0xC9, 0x23, 0x33, 0x77, 0xE1, 0x58, 0xBF, 0x13, 0x19,
- 0x42, 0xE6, 0x50, 0x2D, 0xE2, 0x78, 0xAE, 0x98, 0x66, 0x23, 0x72, 0xEE, 0x2B, 0xC9, 0xEB, 0x99,
- 0x3D, 0x69, 0x3A, 0xB8, 0xD5, 0x27, 0x0B, 0x37, 0x1F, 0xF8, 0x56, 0x70, 0xBB, 0xDD, 0xCF, 0x44,
- 0x6B, 0xF7, 0x04, 0xF5, 0xD0, 0xF4, 0x0D, 0x6E, 0xD0, 0x09, 0x79, 0x08, 0x2F, 0x24, 0x93, 0x50,
- 0xE1, 0x9E, 0xE1, 0x0A, 0x58, 0xDC, 0x5E, 0xD8, 0x50, 0x19, 0x8D, 0x93, 0x91, 0x41, 0xDE, 0xD3,
- 0xC8, 0xD1, 0xC3, 0x61, 0x43, 0x1A, 0xDF, 0x6B, 0x0E, 0x1A, 0x39, 0x38, 0xD9, 0xC6, 0x97, 0x34,
- 0xD2, 0xCD, 0x74, 0x65, 0x05, 0x12, 0x84, 0x7B, 0xBD, 0xBD, 0x32, 0xE3, 0x4F, 0xDC, 0x5B, 0x59,
- 0xC4, 0xA3, 0xA9, 0x39, 0x20, 0x4A, 0xAC, 0xE8, 0xCD, 0xD8, 0x06, 0xCF, 0x17, 0x30, 0xFD, 0xC6,
- 0x75, 0x3A, 0x54, 0x70, 0x6A, 0x81, 0x9C, 0xA1, 0x60, 0xFB, 0x3A, 0x28, 0x8A, 0xE4, 0xCE, 0x0E,
- 0xB1, 0x9B, 0x22, 0x99, 0xC9, 0xC7, 0x37, 0x14, 0xFC, 0xEA, 0x11, 0x80, 0xF3, 0xB1, 0x9A, 0xA8,
- 0x7D, 0xF9, 0x07, 0x45, 0x71, 0xA7, 0xCD, 0x21, 0x5A, 0xF8, 0x4B, 0x62, 0xD2, 0xCA, 0x57, 0xB0,
- 0xF1, 0x4F, 0x35, 0x5C, 0x14, 0x4F, 0xEC, 0xE4, 0xB8, 0xFB, 0x35, 0xB4, 0x90, 0x70, 0xB0, 0x29,
- 0x9C, 0x6C, 0xD0, 0x0D, 0x3F, 0xF9, 0xF3, 0x0C, 0x96, 0x9E, 0x4B, 0x0A, 0x4B, 0xF8, 0x63, 0x91,
- 0xC4, 0xEE, 0x40, 0x4E, 0x03, 0xDD, 0x7C, 0x07, 0xD9, 0x4B, 0xCA, 0x4C, 0xF7, 0xF9, 0x34, 0x09,
- 0x34, 0x60, 0x8A, 0x90, 0xC7, 0x74, 0x84, 0x93, 0x21, 0x26, 0xA6, 0x84, 0x84, 0x19, 0x33, 0x9C,
- 0x97, 0xE2, 0xDD, 0x30, 0x3C, 0x0B, 0x08, 0x65, 0xF1, 0x9B, 0x0F, 0x93, 0x9B, 0xFD, 0x27, 0xA1,
- 0x18, 0xB6, 0x71, 0x60, 0x07, 0x31, 0x04, 0x09, 0x11, 0x65, 0x89, 0x89, 0x1B, 0x4D, 0x72, 0x5E,
- 0x96, 0x23, 0x33, 0xF6, 0x8B, 0x8D, 0x99, 0x74, 0xC0, 0xA4, 0x3D, 0xFF, 0x8B, 0x1A, 0xCD, 0xBF,
- 0x0F, 0xD8, 0x20, 0x1B, 0x8B, 0x79, 0xFB, 0x65, 0x08, 0xDA, 0x9A, 0x24, 0x16, 0x12, 0x73, 0x6F,
- 0xE9, 0xB2, 0xF8, 0x41, 0x80, 0xA3, 0xF8, 0x20, 0x29, 0xDD, 0x9A, 0x26, 0xC6, 0x73, 0xBA, 0x90,
- 0x41, 0x89, 0x6C, 0x62, 0x73, 0x3C, 0x21, 0x1E, 0x69, 0x3E, 0x97, 0x29, 0x2E, 0x66, 0x5F, 0xCC,
- 0x61, 0xAF, 0x2C, 0x72, 0x9D, 0x5B, 0x37, 0xA5, 0x7B, 0xB5, 0xA8, 0xBC, 0x22, 0x80, 0x8B, 0x70,
- 0x6F, 0x5E, 0x21, 0x64, 0xB4, 0x8F, 0x2F, 0x86, 0x83, 0x6E, 0xD2, 0x53, 0x5B, 0x5C, 0xA5, 0x4D,
- 0x13, 0xA0, 0x88, 0xB5, 0x18, 0x56, 0xEC, 0xDB, 0x4E, 0x93, 0x1F, 0x1F, 0x7C, 0xF2, 0xE0, 0xE9,
- 0x28, 0xC7, 0x1A, 0xC7, 0xA0, 0xA9, 0xE7, 0x17, 0x03, 0xC7, 0x77, 0x04, 0xC6, 0x69, 0x37, 0xAE,
- 0x14, 0x80, 0xA3, 0x6D, 0x8C, 0x31, 0x50, 0x31, 0x9E, 0xE5, 0x01, 0x42, 0x1B, 0xB6, 0x4D, 0x75,
- 0x2F, 0xA6, 0x5F, 0x3F, 0x70, 0xD7, 0x1F, 0x28, 0x21, 0xA9, 0x40, 0x74, 0x4D, 0x17, 0x07, 0x3A,
- 0x78, 0xBF, 0xC5, 0xD3, 0xA4, 0xB8, 0x6C, 0x93, 0xEB, 0xA9, 0x1F, 0x70, 0xE5, 0x40, 0x63, 0x78,
- 0xF6, 0x92, 0x39, 0x2E, 0x5D, 0x54, 0x90, 0xF6, 0x80, 0x96, 0xD2, 0xF1, 0xBD, 0x19, 0x1B, 0x0E,
- 0xC2, 0x4D, 0x7F, 0x18, 0xAD, 0xF0, 0xF0, 0x57, 0xD6, 0x27, 0x0E, 0xDF, 0x09, 0x9B, 0xDA, 0x2F,
- 0xA4, 0xC5, 0x5D, 0xA7, 0x49, 0x89, 0x4A, 0x4A, 0xCC, 0xBF, 0x7D, 0x1C, 0x07, 0xD8, 0xD0, 0x87,
- 0x11, 0x33, 0x66, 0x6F, 0x19, 0x61, 0x39, 0x12, 0x13, 0x8F, 0x83, 0x49, 0xE2, 0x63, 0x63, 0x19,
- 0xDB, 0x31, 0xFA, 0xE2, 0xD3, 0x6C, 0x0A, 0xC3, 0xD7, 0x6B, 0x70, 0x3E, 0xF0, 0xF6, 0xEB, 0xD6,
- 0xFE, 0x5D, 0x1E, 0x3B, 0x4C, 0x5C, 0x91, 0xED, 0xA8, 0x12, 0x41, 0x07, 0x0A, 0x39, 0xB6, 0x84,
- 0x7C, 0xE4, 0xE8, 0xE2, 0x0E, 0x73, 0xE9, 0x88, 0x69, 0x4A, 0x96, 0x60, 0xCF, 0xB7, 0x45, 0xCB,
- 0x32, 0xD5, 0x04, 0x82, 0x68, 0x08, 0xD8, 0x22, 0x36, 0x95, 0xA8, 0xC6, 0xEC, 0x42, 0x34, 0x10,
- 0xB4, 0xC7, 0x7D, 0x30, 0x83, 0xF6, 0x64, 0x1E, 0x9F, 0x4A, 0x18, 0x99, 0x00, 0x42, 0x67, 0xCA,
- 0x59, 0xC2, 0x99, 0x19, 0xCE, 0x95, 0x91, 0x58, 0xC2, 0x99, 0x01, 0x41, 0x01, 0xE1, 0x7E, 0xD3,
- 0xD2, 0x59, 0x03, 0x9D, 0x3B, 0x00, 0x3B, 0xEB, 0xD0, 0x87, 0x61, 0x70, 0x46, 0x82, 0x36, 0x40,
- 0x4F, 0x12, 0xB7, 0x97, 0x84, 0xBE, 0x80, 0x90, 0xDF, 0x67, 0x67, 0xAC, 0x41, 0xD8, 0xCB, 0xD4,
- 0x35, 0x6F, 0x3B, 0xC6, 0x7A, 0x4D, 0x1C, 0xF3, 0x62, 0x69, 0xD9, 0x66, 0x8B, 0x81, 0xC6, 0xD6,
- 0x31, 0x30, 0x2C, 0x12, 0xBA, 0xF5, 0x8D, 0x63, 0x05, 0x6F, 0xBE, 0x60, 0xD7, 0x5A, 0x7B, 0x7D,
- 0x53, 0xEC, 0x5C, 0xE4, 0xCD, 0x3A, 0xA6, 0x67, 0x5C, 0x7F, 0x83, 0xFB, 0xA2, 0xA9, 0x39, 0x1C,
- 0x74, 0x0F, 0xBA, 0xBC, 0x41, 0x00, 0xE9, 0x96, 0x10, 0x39, 0xE2, 0xC5, 0xFD, 0xA3, 0x3F, 0x7E,
- 0xFF, 0x6D, 0x84, 0x37, 0x70, 0x5F, 0xB3, 0x4B, 0xAD, 0x3D, 0xBA, 0xB1, 0xFA, 0xF0, 0xB7, 0x35,
- 0xEE, 0x57, 0x11, 0xC3, 0x4C, 0x4C, 0x8C, 0xB8, 0x67, 0x1A, 0x45, 0xC5, 0x9A, 0x7F, 0x15, 0x47,
- 0x0A, 0x97, 0x1D, 0x18, 0x27, 0xD0, 0xDC, 0x5B, 0x32, 0x50, 0xB1, 0xA3, 0x1A, 0xC1, 0x91, 0x93,
- 0xAF, 0x61, 0xA2, 0xFA, 0x0B, 0x31, 0x3C, 0xD0, 0xC7, 0x73, 0xAD, 0xA5, 0x77, 0xF5, 0xE7, 0x2D,
- 0x7A, 0xFD, 0x1D, 0xB0, 0xB3, 0x6C, 0xED, 0x3F, 0xEF, 0xED, 0xEF, 0x77, 0x7C, 0xD0, 0x19, 0x69,
- 0xB5, 0xFB, 0xA2, 0x09, 0xFC, 0xA1, 0x6D, 0x58, 0x27, 0xD9, 0xF7, 0xDF, 0xBA, 0x1B, 0xCF, 0xCF,
- 0x6B, 0xF0, 0xCE, 0x72, 0x70, 0x24, 0xCE, 0x6B, 0xF2, 0x01, 0xA6, 0x2F, 0x8E, 0xB9, 0xD5, 0x44,
- 0xA7, 0x1B, 0xC1, 0xC5, 0x9C, 0x91, 0xEE, 0x8F, 0x85, 0xA4, 0x3F, 0x96, 0xEE, 0xF3, 0x8C, 0x93,
- 0x60, 0xC5, 0xBB, 0x25, 0x96, 0xA5, 0xEE, 0xE2, 0xC6, 0x11, 0xE5, 0x74, 0xBC, 0x6A, 0xB0, 0xA5,
- 0xFF, 0x54, 0xC0, 0xE2, 0x59, 0xD2, 0x56, 0x2D, 0x5C, 0x25, 0x11, 0x95, 0x66, 0x58, 0xB9, 0x19,
- 0x69, 0xB2, 0x60, 0x9C, 0x9E, 0x2D, 0x27, 0xB3, 0xCF, 0x8B, 0x0D, 0xF8, 0xF8, 0x4A, 0x44, 0x54,
- 0x76, 0x0D, 0xA7, 0x9C, 0x61, 0xE8, 0x87, 0x29, 0x68, 0xDE, 0x78, 0x04, 0xB7, 0x63, 0x23, 0x18,
- 0x9F, 0xAF, 0x16, 0x00, 0xD0, 0x49, 0x6A, 0x38, 0x8A, 0x69, 0x08, 0xB5, 0x4D, 0xB6, 0x24, 0x44,
- 0x40, 0xBB, 0xFD, 0x30, 0x62, 0x21, 0x10, 0x9F, 0x75, 0x45, 0xBA, 0xDB, 0x9E, 0x5D, 0xA7, 0x03,
- 0xD6, 0xD6, 0xAC, 0xFA, 0x2E, 0xA6, 0x2D, 0xF1, 0x70, 0x4E, 0xC4, 0x0F, 0xC9, 0x67, 0x9E, 0xC4,
- 0x99, 0x17, 0x55, 0x82, 0x02, 0x88, 0x4F, 0x34, 0xC7, 0x8F, 0xB3, 0x4F, 0x14, 0xD9, 0x27, 0x9C,
- 0x7D, 0x04, 0x88, 0x26, 0x9C, 0xC5, 0x25, 0x8B, 0xD0, 0x18, 0x7F, 0x7A, 0x15, 0x71, 0x76, 0x3D,
- 0xCD, 0xA5, 0x93, 0x97, 0x12, 0x62, 0xEC, 0xE5, 0x03, 0x40, 0xFB, 0x15, 0xF8, 0x43, 0x9C, 0xAD,
- 0xEB, 0xA9, 0x1A, 0x5B, 0xA2, 0x14, 0x81, 0x00, 0x11, 0x5B, 0xF2, 0x82, 0x85, 0x60, 0xE5, 0x35,
- 0x09, 0xF8, 0x23, 0x7C, 0x86, 0x63, 0x6A, 0x73, 0xCF, 0x58, 0x11, 0xFC, 0x62, 0x7B, 0x48, 0xAC,
- 0x49, 0xEF, 0x17, 0xE6, 0x7E, 0xAC, 0x59, 0x8C, 0xC9, 0xB0, 0xE4, 0x51, 0x08, 0x1A, 0xB6, 0x8C,
- 0x41, 0x87, 0x74, 0xE4, 0x42, 0x8B, 0x46, 0x2C, 0x83, 0x0B, 0x4F, 0x95, 0x84, 0x15, 0xB6, 0x8E,
- 0x1C, 0x21, 0x42, 0x20, 0x4A, 0x26, 0xA3, 0x74, 0xA9, 0x8C, 0xCD, 0x24, 0x18, 0xB3, 0xA9, 0xF9,
- 0x42, 0xBC, 0x41, 0xC8, 0x52, 0xA2, 0x4D, 0xE8, 0x20, 0x0C, 0x3E, 0x8B, 0xCC, 0x42, 0x52, 0xD8,
- 0x42, 0xA2, 0xFE, 0xDE, 0x26, 0x58, 0x9E, 0xE0, 0x2F, 0x65, 0xBC, 0xF8, 0xE6, 0x6B, 0xCD, 0xF5,
- 0x34, 0xDB, 0xBD, 0x26, 0xB8, 0x28, 0x28, 0x36, 0x90, 0x69, 0x53, 0x02, 0x01, 0x8E, 0xB0, 0x22,
- 0x13, 0xEE, 0x8F, 0x09, 0x96, 0x96, 0x0F, 0x73, 0x62, 0x7C, 0x75, 0x28, 0x79, 0xAA, 0x87, 0xA3,
- 0x53, 0x21, 0x7B, 0xDB, 0x25, 0xF4, 0x84, 0x38, 0x19, 0x4C, 0x24, 0xCB, 0xA7, 0x9C, 0xC7, 0xAD,
- 0xC0, 0x92, 0x57, 0xD6, 0x2A, 0x21, 0xC2, 0xF0, 0xF6, 0xA3, 0x95, 0xA2, 0x9C, 0x81, 0x42, 0x41,
- 0x86, 0x60, 0x91, 0x2C, 0x23, 0x5E, 0xB7, 0xA4, 0x29, 0xAB, 0x1D, 0xE6, 0x68, 0x14, 0x4B, 0xE1,
- 0xD2, 0x68, 0x9E, 0xAD, 0x15, 0x26, 0x71, 0x36, 0xCA, 0xB1, 0xDF, 0xD9, 0xA1, 0x78, 0x14, 0x8A,
- 0x9D, 0x61, 0xF6, 0x36, 0x79, 0x72, 0x76, 0xB8, 0x0C, 0x56, 0xF6, 0xE4, 0xC9, 0xFF, 0x02, 0x49,
- 0x60, 0xC8, 0xA8, 0x55, 0x0C, 0x01, 0x00
-};
-
-
-//File: index_ov5640.html.gz, Size: 9124
-#define index_ov5640_html_gz_len 9124
-const uint8_t index_ov5640_html_gz[] = {
- 0x1F, 0x8B, 0x08, 0x08, 0xD9, 0x6C, 0x6A, 0x5E, 0x00, 0x03, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x5F,
- 0x6F, 0x76, 0x35, 0x36, 0x34, 0x30, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x00, 0xED, 0x3D, 0x6B, 0x77,
- 0xDB, 0xB6, 0x92, 0xDF, 0xF3, 0x2B, 0x18, 0xF5, 0x6E, 0x24, 0x9F, 0x58, 0xB6, 0xA8, 0x97, 0x1F,
- 0xB1, 0x95, 0x4D, 0x1C, 0x27, 0xE9, 0xB9, 0x4D, 0x6F, 0x1A, 0xA7, 0x69, 0x7B, 0xBA, 0x3D, 0x29,
- 0x25, 0x41, 0x12, 0x1B, 0x8A, 0xD4, 0x25, 0x29, 0xCB, 0x6E, 0x8E, 0x7F, 0xC7, 0xFE, 0xA0, 0xFD,
- 0x63, 0x3B, 0x03, 0x80, 0x24, 0x48, 0x81, 0x24, 0x48, 0x4A, 0xB2, 0xDB, 0x5D, 0xE5, 0x9C, 0x98,
- 0x0F, 0xCC, 0x60, 0xDE, 0x18, 0x0C, 0x40, 0xF2, 0xEC, 0xF1, 0xD8, 0x19, 0xF9, 0xB7, 0x0B, 0xA2,
- 0xCD, 0xFC, 0xB9, 0x35, 0x78, 0x74, 0xC6, 0xFE, 0x68, 0xF0, 0x3B, 0x9B, 0x11, 0x63, 0xCC, 0x0E,
- 0xE9, 0xE9, 0x9C, 0xF8, 0x86, 0x36, 0x9A, 0x19, 0xAE, 0x47, 0xFC, 0xF3, 0xDA, 0xD2, 0x9F, 0x34,
- 0x8F, 0x6B, 0xC9, 0xDB, 0xB6, 0x31, 0x27, 0xE7, 0xB5, 0x6B, 0x93, 0xAC, 0x16, 0x8E, 0xEB, 0xD7,
- 0xB4, 0x91, 0x63, 0xFB, 0xC4, 0x86, 0xE6, 0x2B, 0x73, 0xEC, 0xCF, 0xCE, 0xC7, 0xE4, 0xDA, 0x1C,
- 0x91, 0x26, 0x3D, 0xD9, 0x37, 0x6D, 0xD3, 0x37, 0x0D, 0xAB, 0xE9, 0x8D, 0x0C, 0x8B, 0x9C, 0xEB,
- 0x22, 0x2E, 0xDF, 0xF4, 0x2D, 0x32, 0xB8, 0xBC, 0x7A, 0xDF, 0x69, 0x6B, 0xFF, 0xFA, 0xD4, 0xEB,
- 0x77, 0x5B, 0x67, 0x87, 0xEC, 0x5A, 0xD4, 0xC6, 0xF3, 0x6F, 0xC5, 0x73, 0xFC, 0x0D, 0x9D, 0xF1,
- 0xAD, 0xF6, 0x35, 0x76, 0x09, 0x7F, 0x13, 0x20, 0xA2, 0x39, 0x31, 0xE6, 0xA6, 0x75, 0x7B, 0xAA,
- 0xBD, 0x70, 0xA1, 0xCF, 0xFD, 0xB7, 0xC4, 0xBA, 0x26, 0xBE, 0x39, 0x32, 0xF6, 0x3D, 0xC3, 0xF6,
- 0x9A, 0x1E, 0x71, 0xCD, 0xC9, 0xB3, 0x35, 0xC0, 0xA1, 0x31, 0xFA, 0x32, 0x75, 0x9D, 0xA5, 0x3D,
- 0x3E, 0xD5, 0xBE, 0xD1, 0x8F, 0xF1, 0xDF, 0x7A, 0xA3, 0x91, 0x63, 0x39, 0x2E, 0xDC, 0xBF, 0x7C,
- 0x8D, 0xFF, 0xD6, 0xEF, 0xD3, 0xDE, 0x3D, 0xF3, 0x4F, 0x72, 0xAA, 0xE9, 0xFD, 0xC5, 0x4D, 0xEC,
- 0xFE, 0xDD, 0xA3, 0xD8, 0xE9, 0xAC, 0x9D, 0x46, 0x3D, 0x87, 0x3F, 0xCE, 0x86, 0xF7, 0xC8, 0xC8,
- 0x37, 0x1D, 0xFB, 0x60, 0x6E, 0x98, 0xB6, 0x04, 0xD3, 0xD8, 0xF4, 0x16, 0x96, 0x01, 0x32, 0x98,
- 0x58, 0x24, 0x13, 0xCF, 0x37, 0x73, 0x62, 0x2F, 0xF7, 0x73, 0xB0, 0x21, 0x92, 0xE6, 0xD8, 0x74,
- 0x59, 0xAB, 0x53, 0x94, 0xC3, 0x72, 0x6E, 0xE7, 0xA2, 0xCD, 0xA2, 0xCB, 0x76, 0x6C, 0x22, 0x11,
- 0x20, 0x76, 0xB4, 0x72, 0x8D, 0x05, 0x36, 0xC0, 0xBF, 0xEB, 0x4D, 0xE6, 0xA6, 0xCD, 0x8C, 0xEA,
- 0x54, 0xEB, 0x74, 0x5B, 0x8B, 0x9B, 0x1C, 0x55, 0x76, 0xFA, 0xF8, 0x6F, 0xBD, 0xD1, 0xC2, 0x18,
- 0x8F, 0x4D, 0x7B, 0x7A, 0xAA, 0x1D, 0x4B, 0x51, 0x38, 0xEE, 0x98, 0xB8, 0x4D, 0xD7, 0x18, 0x9B,
- 0x4B, 0xEF, 0x54, 0xEB, 0xCA, 0xDA, 0xCC, 0x0D, 0x77, 0x0A, 0xB4, 0xF8, 0x0E, 0x10, 0xDB, 0xD4,
- 0xA5, 0x94, 0xF0, 0x26, 0xAE, 0x39, 0x9D, 0xF9, 0xA0, 0xD2, 0xB5, 0x36, 0x49, 0xA1, 0x71, 0x17,
- 0xCA, 0xD3, 0x67, 0xA6, 0xDC, 0xE4, 0x52, 0x33, 0x2C, 0x73, 0x6A, 0x37, 0x4D, 0x9F, 0xCC, 0x81,
- 0x1D, 0xCF, 0x77, 0x89, 0x3F, 0x9A, 0x65, 0x91, 0x32, 0x31, 0xA7, 0x4B, 0x97, 0x48, 0x08, 0x09,
- 0xE5, 0x96, 0xC1, 0x30, 0xDC, 0x5C, 0xBF, 0xD5, 0x5C, 0x91, 0xE1, 0x17, 0xD3, 0x6F, 0x72, 0x99,
- 0x0C, 0xC9, 0xC4, 0x71, 0x89, 0xB4, 0x65, 0xD0, 0xC2, 0x72, 0x46, 0x5F, 0x9A, 0x9E, 0x6F, 0xB8,
- 0xBE, 0x0A, 0x42, 0x63, 0xE2, 0x13, 0x37, 0x1F, 0x1F, 0x41, 0xAB, 0xC8, 0xC7, 0x96, 0xDE, 0x2D,
- 0x6F, 0x60, 0xDA, 0x96, 0x69, 0x13, 0x75, 0xF2, 0xD2, 0xFA, 0x8D, 0xA3, 0x63, 0xAD, 0x14, 0x14,
- 0x63, 0xCE, 0xA7, 0x59, 0x56, 0x42, 0x79, 0x5D, 0xEF, 0x8C, 0xFB, 0x8D, 0xDE, 0x6A, 0xFD, 0xC7,
- 0xFA, 0xCD, 0x19, 0x61, 0x66, 0x6A, 0x2C, 0x7D, 0xA7, 0xBA, 0x47, 0xAC, 0xB9, 0x55, 0x82, 0x8F,
- 0xFF, 0x9C, 0x93, 0xB1, 0x69, 0x68, 0x0D, 0xC1, 0x9D, 0x8F, 0x5B, 0x60, 0x53, 0x7B, 0x9A, 0x61,
- 0x8F, 0xB5, 0x86, 0xE3, 0x9A, 0xE0, 0x08, 0x06, 0x0D, 0x37, 0x16, 0x5C, 0x81, 0x81, 0x63, 0x41,
- 0xF6, 0x24, 0x2C, 0x67, 0xF8, 0x8C, 0x28, 0x11, 0xB9, 0xDB, 0xE0, 0x4F, 0x21, 0xE4, 0xE0, 0x2F,
- 0xD7, 0x81, 0x24, 0x3C, 0x52, 0xF4, 0x59, 0xFA, 0x12, 0x29, 0x4C, 0xD3, 0x19, 0xFE, 0xE6, 0xC6,
- 0x4D, 0x33, 0x53, 0x77, 0x41, 0xA3, 0x40, 0x87, 0x30, 0xCC, 0x8E, 0x1A, 0xD0, 0xF4, 0x7A, 0xA6,
- 0x35, 0x35, 0x8C, 0x92, 0x7B, 0x72, 0x18, 0x8E, 0x54, 0xAE, 0x72, 0xFC, 0x89, 0x46, 0x51, 0x80,
- 0x5D, 0x39, 0xAB, 0x51, 0xEC, 0x60, 0xFF, 0x64, 0x36, 0xC4, 0x38, 0x49, 0x8D, 0x22, 0xF8, 0x53,
- 0x8F, 0x24, 0x11, 0xB2, 0xDC, 0x68, 0x22, 0x41, 0x9C, 0x1E, 0x51, 0xD6, 0xF0, 0xA6, 0x79, 0xB7,
- 0x04, 0x6B, 0x36, 0x09, 0xAA, 0xD1, 0x45, 0x82, 0x38, 0x8B, 0x86, 0xDC, 0x28, 0x83, 0xBF, 0x3B,
- 0x85, 0x7C, 0xE3, 0x9B, 0xE1, 0xD2, 0xF7, 0x1D, 0xDB, 0xAB, 0x34, 0x44, 0xA5, 0xF9, 0xD9, 0x1F,
- 0x4B, 0xCF, 0x37, 0x27, 0xB7, 0x4D, 0xEE, 0xD2, 0xE0, 0x67, 0x0B, 0x03, 0x52, 0xC8, 0x21, 0xF1,
- 0x57, 0x84, 0x64, 0xA7, 0x1B, 0xB6, 0x71, 0x0D, 0x71, 0x67, 0x3A, 0xB5, 0x64, 0xB6, 0x37, 0x5A,
- 0xBA, 0x1E, 0xE6, 0x6D, 0x0B, 0xC7, 0x04, 0xC4, 0xEE, 0x7A, 0xC7, 0x71, 0x1F, 0x54, 0xEC, 0xA8,
- 0x39, 0x1A, 0x4A, 0xFA, 0x72, 0x96, 0x3E, 0xCA, 0x58, 0xAA, 0x09, 0x07, 0xD8, 0x31, 0xFD, 0x5B,
- 0xE9, 0x3D, 0xEE, 0x89, 0x92, 0x3B, 0x81, 0x0B, 0x66, 0x0E, 0x0B, 0x71, 0xBA, 0x4E, 0x47, 0x33,
- 0x32, 0xFA, 0x42, 0xC6, 0x4F, 0x73, 0xD3, 0xB0, 0xBC, 0xF4, 0xF0, 0xC0, 0xB4, 0x17, 0x4B, 0xBF,
- 0x89, 0xE9, 0xD4, 0x62, 0x2B, 0x3A, 0xA7, 0x06, 0x19, 0xB0, 0xD8, 0x6E, 0x67, 0x25, 0x15, 0xBD,
- 0xC5, 0x4D, 0xB6, 0x10, 0x44, 0x62, 0x07, 0x96, 0x31, 0x24, 0x56, 0x16, 0xC9, 0xDC, 0x19, 0x52,
- 0xC2, 0x2E, 0x8F, 0x55, 0xE9, 0xB9, 0x1B, 0xA5, 0x2C, 0x1A, 0xBC, 0xBA, 0x47, 0xFF, 0xA1, 0x2C,
- 0x47, 0x7A, 0xBC, 0x1F, 0xBB, 0xE4, 0x11, 0x0B, 0x1C, 0x2C, 0x71, 0x6D, 0x61, 0xA4, 0x26, 0xE3,
- 0xD0, 0x62, 0x05, 0x54, 0x65, 0x76, 0xE9, 0x1A, 0xF6, 0x94, 0x40, 0x74, 0xB8, 0xD9, 0x0F, 0x0E,
- 0xB3, 0xA7, 0x0A, 0x4A, 0x02, 0xC1, 0xE0, 0xDD, 0xCB, 0x9E, 0x9A, 0xB0, 0x10, 0xB1, 0xAF, 0x1D,
- 0xB0, 0x83, 0x12, 0x79, 0x8A, 0xA0, 0xF1, 0x4C, 0x42, 0x74, 0xA9, 0xBD, 0xB0, 0x54, 0x45, 0xEA,
- 0x4B, 0x71, 0x6B, 0x93, 0xA6, 0xFE, 0xB9, 0xC1, 0x22, 0x98, 0x04, 0x4E, 0x26, 0x79, 0xD3, 0xC8,
- 0xC9, 0xA4, 0xD3, 0xEA, 0x74, 0x73, 0x73, 0x29, 0x29, 0x97, 0x89, 0xA9, 0xA4, 0x24, 0x98, 0x84,
- 0x81, 0x26, 0x5F, 0x17, 0xA7, 0x33, 0xE7, 0x9A, 0xB8, 0x12, 0x45, 0x24, 0xC8, 0xED, 0x9E, 0x74,
- 0xC7, 0x0A, 0xD8, 0x0C, 0x18, 0x0A, 0xAE, 0x65, 0x81, 0x36, 0x8E, 0xAE, 0xAD, 0x8F, 0xDA, 0x99,
- 0x16, 0xCA, 0xD0, 0x1D, 0x80, 0x35, 0x18, 0x43, 0x8B, 0x8C, 0x33, 0x22, 0xF7, 0x98, 0x4C, 0x8C,
- 0xA5, 0xE5, 0xE7, 0xC8, 0xDB, 0x68, 0xE1, 0xBF, 0xAC, 0x1E, 0xA9, 0x7B, 0xFD, 0x8A, 0x35, 0x90,
- 0x73, 0xEA, 0x12, 0xBF, 0x49, 0xFA, 0x0C, 0x86, 0x55, 0x63, 0xB1, 0x20, 0x06, 0xB4, 0x1A, 0x91,
- 0xB4, 0xD9, 0xAA, 0x52, 0x3A, 0x2D, 0x8F, 0x69, 0x4A, 0x73, 0xD4, 0x5C, 0x53, 0x0C, 0x13, 0xA5,
- 0x42, 0x3C, 0x9F, 0x4E, 0x9C, 0xD1, 0x52, 0x36, 0x82, 0xAB, 0x99, 0xD4, 0x3A, 0xBE, 0xD3, 0x40,
- 0x64, 0x9E, 0x65, 0x52, 0xC3, 0x5E, 0xDA, 0x36, 0x6A, 0xB4, 0xE9, 0xBB, 0xC0, 0xA6, 0xA4, 0x23,
- 0x35, 0xC1, 0x95, 0xF2, 0xCE, 0x98, 0x60, 0xD3, 0xEA, 0x34, 0x09, 0x07, 0x94, 0x04, 0x8A, 0x30,
- 0x86, 0x68, 0x9E, 0x03, 0x4C, 0x05, 0xA8, 0xAA, 0xC9, 0xC5, 0x9F, 0x2D, 0xE7, 0xB2, 0x9C, 0x21,
- 0xE8, 0x4C, 0x87, 0x01, 0x8E, 0x75, 0xE7, 0x4E, 0x87, 0x46, 0xA3, 0xB5, 0xDF, 0xDA, 0xEF, 0xC0,
- 0x7F, 0x92, 0xDC, 0x3D, 0xDB, 0xB8, 0xB8, 0x78, 0x53, 0x2C, 0x2F, 0x11, 0x7C, 0xF2, 0x4B, 0x28,
- 0x69, 0x61, 0x2C, 0x57, 0x17, 0xEA, 0x9E, 0x14, 0xAF, 0xA5, 0xE8, 0x07, 0x39, 0x23, 0x4C, 0x8A,
- 0x49, 0x17, 0x37, 0x44, 0x89, 0xB5, 0x14, 0x55, 0xF1, 0xDC, 0xF9, 0xB3, 0xC9, 0x86, 0xD7, 0xFF,
- 0xF3, 0xD6, 0x2E, 0x88, 0xE2, 0x6F, 0x6D, 0xE9, 0x85, 0xE5, 0xE2, 0xDD, 0xB7, 0x6D, 0xB4, 0xD2,
- 0xB5, 0xDE, 0xE4, 0xF9, 0x0C, 0x50, 0x68, 0x43, 0xC6, 0xE9, 0xC2, 0xC4, 0x2B, 0x35, 0xE7, 0x11,
- 0xDA, 0x94, 0x90, 0xC1, 0xC4, 0xB4, 0xAC, 0xA6, 0xE5, 0xAC, 0xF2, 0x33, 0x91, 0x6C, 0x4B, 0x5E,
- 0xB3, 0xD3, 0x7C, 0x93, 0x2F, 0x4B, 0xED, 0x12, 0x22, 0xD7, 0x5F, 0x82, 0xDA, 0xBF, 0xB7, 0xC3,
- 0x65, 0xBA, 0x46, 0xB9, 0x81, 0xA2, 0x84, 0x3D, 0x56, 0xEB, 0x48, 0xC9, 0x94, 0x58, 0x26, 0x98,
- 0x39, 0xAB, 0xF3, 0x56, 0xA6, 0x3F, 0x9A, 0x95, 0x98, 0x54, 0x2D, 0x1C, 0xCF, 0x64, 0xCB, 0x37,
- 0x2E, 0xB1, 0x0C, 0xCC, 0xE0, 0x4B, 0xCD, 0xC6, 0x73, 0x27, 0x26, 0x22, 0xB8, 0x0A, 0x27, 0x54,
- 0x74, 0x0F, 0xA7, 0x92, 0x72, 0xC0, 0x72, 0x87, 0xF4, 0x58, 0x2D, 0x37, 0xEB, 0x9C, 0x74, 0x3F,
- 0xEE, 0x19, 0xF2, 0x46, 0x05, 0x22, 0x7A, 0x10, 0xB4, 0xA7, 0x2E, 0xB9, 0x55, 0x60, 0x66, 0x9F,
- 0xFF, 0x3D, 0x65, 0xB5, 0xD2, 0xF2, 0x45, 0x00, 0x3A, 0x00, 0x70, 0x2B, 0x3A, 0xE8, 0x7A, 0x0A,
- 0x5D, 0xA7, 0x77, 0xA9, 0x62, 0x8F, 0x61, 0x25, 0xB0, 0x56, 0x53, 0x08, 0x37, 0x19, 0x43, 0xA8,
- 0xDC, 0x54, 0x83, 0xD1, 0x57, 0x7A, 0xD3, 0x22, 0x13, 0x3F, 0x65, 0xA1, 0x83, 0xE6, 0xA9, 0x9D,
- 0xEC, 0xE8, 0xD6, 0x14, 0xEA, 0x04, 0xB9, 0x91, 0x23, 0x2C, 0xD8, 0xA5, 0x5B, 0x9F, 0x14, 0x33,
- 0x46, 0xCF, 0xC2, 0xC8, 0xD3, 0x55, 0x12, 0xA4, 0xCF, 0x54, 0xCD, 0xD0, 0x66, 0xCE, 0x87, 0x7C,
- 0x50, 0x0F, 0xF9, 0xB9, 0xD1, 0xEE, 0x4B, 0xD7, 0x11, 0x32, 0x1A, 0x67, 0x91, 0xC6, 0x2A, 0x5E,
- 0x4A, 0x43, 0x56, 0xEA, 0x04, 0x59, 0x8C, 0x45, 0x52, 0x45, 0x65, 0x7B, 0x65, 0x56, 0x84, 0x59,
- 0xAF, 0xD1, 0x64, 0x1A, 0xBB, 0x39, 0x37, 0x20, 0xED, 0x45, 0x73, 0x35, 0x00, 0xA3, 0x4C, 0x7F,
- 0x2A, 0xE6, 0x2E, 0xD4, 0x13, 0xF5, 0x7E, 0x2B, 0xA7, 0xCB, 0x91, 0xE5, 0x78, 0xD9, 0x7E, 0x65,
- 0x0C, 0x41, 0x7E, 0x4B, 0x5F, 0xD2, 0x11, 0xAF, 0x6A, 0x4A, 0x2B, 0x4F, 0xD4, 0xB8, 0xA5, 0x77,
- 0x94, 0x86, 0xEE, 0x4C, 0x9F, 0xCA, 0x76, 0xC7, 0x84, 0xCC, 0xF5, 0x96, 0x34, 0xD2, 0x66, 0xD6,
- 0xDF, 0x7C, 0x72, 0x03, 0xF3, 0x4D, 0x5C, 0xAB, 0x3B, 0xD5, 0x46, 0x44, 0x1E, 0x46, 0x63, 0x83,
- 0x9C, 0xAE, 0x52, 0x04, 0xCC, 0xD4, 0xC3, 0xCC, 0x1C, 0x8F, 0x49, 0x66, 0x95, 0x13, 0xE7, 0xBC,
- 0xD9, 0xA1, 0xD2, 0x90, 0x96, 0xD3, 0x0A, 0x68, 0xB2, 0x9D, 0xAE, 0xCA, 0xCC, 0xE1, 0x2A, 0x25,
- 0xF4, 0xC5, 0x24, 0x24, 0x6D, 0x22, 0x54, 0x61, 0xE5, 0x21, 0x12, 0x15, 0x31, 0x26, 0x23, 0xC7,
- 0x65, 0x8B, 0xB8, 0x29, 0x13, 0xFF, 0x72, 0x33, 0x2B, 0x44, 0x2E, 0x2B, 0xDD, 0x6D, 0x25, 0x74,
- 0x64, 0x6E, 0x74, 0xD0, 0xB7, 0x1D, 0x57, 0xF8, 0x70, 0x9C, 0x56, 0x49, 0x8F, 0x27, 0x6C, 0x99,
- 0xA4, 0x4A, 0x43, 0x60, 0xA8, 0x46, 0x14, 0x19, 0xC8, 0x01, 0x5B, 0xAD, 0x2B, 0x34, 0x41, 0x15,
- 0x5D, 0x5A, 0x39, 0xE0, 0xAB, 0x4D, 0x7C, 0x61, 0xB0, 0x99, 0xB6, 0xDE, 0xB2, 0xC1, 0xC5, 0x37,
- 0x6A, 0x01, 0xC9, 0x7E, 0x53, 0x45, 0x73, 0x4F, 0xF9, 0x63, 0x06, 0x91, 0xE1, 0x40, 0x1C, 0x6C,
- 0xB7, 0x8A, 0xB7, 0x2A, 0x1B, 0x42, 0xCE, 0x0E, 0x85, 0xFD, 0x71, 0x67, 0x87, 0xD1, 0x56, 0xBE,
- 0x33, 0xDC, 0x24, 0x27, 0x6E, 0xA3, 0xE3, 0xFD, 0x8C, 0x2C, 0xC3, 0xF3, 0xCE, 0x6B, 0xB8, 0xD9,
- 0xAB, 0x16, 0xDF, 0x55, 0x77, 0x36, 0x36, 0xAF, 0x35, 0x73, 0x7C, 0x5E, 0xB3, 0x9C, 0xA9, 0x93,
- 0xB8, 0x47, 0xEF, 0x33, 0x2D, 0xC3, 0x68, 0x7F, 0x5E, 0x8B, 0xAD, 0x38, 0xD6, 0x28, 0x54, 0x74,
- 0xA9, 0x36, 0x78, 0xF2, 0xCD, 0xC9, 0xD1, 0x51, 0xFF, 0xD9, 0x13, 0x7B, 0xE8, 0x2D, 0xF8, 0xFF,
- 0x1F, 0xD9, 0x02, 0xAD, 0x47, 0x7C, 0x1F, 0x6C, 0xCE, 0x3B, 0x3B, 0xA4, 0xD8, 0x12, 0x14, 0x1C,
- 0x02, 0x09, 0x29, 0x44, 0xF1, 0x6C, 0x50, 0x46, 0x57, 0xD0, 0xC4, 0x83, 0x04, 0x67, 0x68, 0xB8,
- 0x92, 0x26, 0xB4, 0x19, 0x9B, 0x6B, 0xD0, 0x18, 0x52, 0xA3, 0xCA, 0x18, 0x3A, 0x37, 0x49, 0xD2,
- 0x29, 0x37, 0x5C, 0x53, 0xBC, 0x15, 0x19, 0xA7, 0x21, 0x04, 0x30, 0x0A, 0x8E, 0xEB, 0xAC, 0xD0,
- 0x46, 0xDA, 0x28, 0x26, 0x7B, 0x6C, 0x7C, 0x33, 0xB2, 0xBE, 0x04, 0x4A, 0xAF, 0x05, 0xDA, 0xB0,
- 0x1D, 0x9F, 0x8D, 0x24, 0x29, 0x5D, 0xC5, 0x58, 0xE5, 0x30, 0xC2, 0x6A, 0x21, 0xE3, 0x02, 0x44,
- 0xDB, 0xA4, 0xD8, 0xD9, 0xB5, 0x6C, 0x4C, 0x14, 0x9B, 0xA0, 0xD0, 0x00, 0xB8, 0x36, 0xF8, 0xF9,
- 0xE2, 0xBB, 0x7F, 0x6A, 0xEF, 0xDE, 0xFE, 0x29, 0xD5, 0x50, 0x1E, 0x51, 0x18, 0x9C, 0x15, 0x7A,
- 0xA6, 0x60, 0x4C, 0x1F, 0x81, 0x4C, 0x6A, 0x5C, 0x33, 0x14, 0x03, 0x26, 0x43, 0x16, 0xB1, 0xA7,
- 0xFE, 0xEC, 0xBC, 0xA6, 0xD7, 0x70, 0x77, 0x4B, 0x70, 0xD6, 0xAE, 0x69, 0x18, 0xB8, 0xE9, 0xC1,
- 0xB5, 0x61, 0x2D, 0xF1, 0xA8, 0xA5, 0xC2, 0xEB, 0xBA, 0x69, 0x49, 0x9B, 0xF1, 0x88, 0x12, 0xCA,
- 0x58, 0x88, 0xC0, 0x71, 0x29, 0xD7, 0x06, 0x57, 0xC4, 0x3F, 0x3B, 0x64, 0xB7, 0x72, 0xB4, 0x96,
- 0xDD, 0x37, 0xB8, 0x30, 0x33, 0x87, 0x2C, 0x13, 0xCA, 0x52, 0xFC, 0xC4, 0x35, 0xE6, 0x04, 0xA5,
- 0xA2, 0xA4, 0x79, 0x51, 0xEB, 0x21, 0x64, 0x6D, 0xF0, 0x81, 0xD0, 0x2C, 0x03, 0xC8, 0x50, 0x52,
- 0xFC, 0x19, 0x4F, 0xE1, 0x63, 0xFD, 0x87, 0xF6, 0xCC, 0x97, 0xEC, 0x9A, 0x06, 0x33, 0x73, 0x05,
- 0xB9, 0x3F, 0x6E, 0x36, 0xB5, 0xDE, 0xBB, 0xF7, 0x5A, 0xB3, 0xA9, 0xD0, 0xD8, 0x59, 0x50, 0x77,
- 0x0A, 0xF4, 0x0F, 0x16, 0xC2, 0xA8, 0x21, 0x54, 0x3F, 0xEC, 0xA8, 0x36, 0xF8, 0xE1, 0xEA, 0xE7,
- 0x37, 0x2F, 0x1A, 0xED, 0x5E, 0xBF, 0x75, 0xA3, 0x9F, 0xB4, 0x5B, 0x7B, 0x67, 0x87, 0x0C, 0xAE,
- 0x78, 0x07, 0x60, 0x60, 0xEF, 0xB5, 0xD7, 0x6F, 0x5F, 0x35, 0xF4, 0xD6, 0x71, 0x55, 0x64, 0xFA,
- 0x49, 0x6D, 0xF0, 0xD3, 0x0F, 0x11, 0x65, 0xFD, 0x56, 0x15, 0x64, 0xC7, 0xC0, 0x26, 0xD0, 0xC5,
- 0x50, 0x75, 0xBB, 0x85, 0x50, 0xA1, 0xC8, 0x3B, 0xE5, 0x44, 0xAE, 0x1F, 0x41, 0xBF, 0x94, 0x87,
- 0x56, 0xF7, 0xF8, 0x46, 0xEF, 0xF5, 0xBB, 0x15, 0x78, 0xE8, 0xA3, 0x74, 0x81, 0x90, 0xC6, 0x71,
- 0xBF, 0x5B, 0x15, 0x57, 0x0F, 0x71, 0x81, 0x40, 0x8E, 0xDA, 0x20, 0x8F, 0xF6, 0x71, 0x15, 0xD1,
- 0x76, 0x6B, 0x03, 0xAA, 0xF2, 0x13, 0x44, 0xD5, 0x2A, 0x86, 0x0A, 0x45, 0xDB, 0x2E, 0x29, 0xDA,
- 0x4E, 0x6D, 0xF0, 0x23, 0x8A, 0x16, 0x2D, 0x03, 0x78, 0xA8, 0x64, 0x1E, 0x6D, 0x88, 0x52, 0x14,
- 0x57, 0x1B, 0xED, 0xB6, 0xD5, 0xAE, 0x22, 0x5A, 0xBD, 0x36, 0x40, 0x71, 0x20, 0xA6, 0xA3, 0x4A,
- 0x0E, 0x00, 0xDE, 0x44, 0x69, 0x02, 0x72, 0x6E, 0x8E, 0xFA, 0xC7, 0xE5, 0x31, 0x81, 0x27, 0x5D,
- 0x7D, 0x02, 0x4C, 0xC7, 0x20, 0xA8, 0x4A, 0x6E, 0x04, 0x5E, 0x84, 0x78, 0xFA, 0xDD, 0xD6, 0x4D,
- 0xB7, 0x8A, 0xCD, 0x80, 0x57, 0xBC, 0x45, 0x44, 0x80, 0xE4, 0xA6, 0x53, 0x45, 0x46, 0xE0, 0x12,
- 0x17, 0xDF, 0xBE, 0x6E, 0x74, 0x81, 0xB1, 0xF6, 0x49, 0xBF, 0x3C, 0x1E, 0x70, 0x87, 0x1F, 0x90,
- 0x20, 0x20, 0xE6, 0xA6, 0x5D, 0x2C, 0x3A, 0xC4, 0x11, 0x81, 0x33, 0x00, 0x3C, 0xE2, 0x28, 0x8D,
- 0x02, 0xEC, 0xFA, 0x2D, 0x25, 0x06, 0x11, 0xE9, 0x47, 0x15, 0xB8, 0x02, 0xAB, 0xFE, 0x01, 0xC5,
- 0x03, 0x48, 0x30, 0xE8, 0x55, 0x30, 0x45, 0x40, 0x44, 0x49, 0xD2, 0xFB, 0xD4, 0xD5, 0xCA, 0x63,
- 0x02, 0x9B, 0x3E, 0xE9, 0xDF, 0x9C, 0xF4, 0xD5, 0x10, 0xE0, 0x88, 0x8F, 0xA3, 0x54, 0x56, 0x4E,
- 0x90, 0x9D, 0x32, 0x64, 0xA5, 0x03, 0xFF, 0x5E, 0x1A, 0x16, 0xCC, 0x6F, 0x0A, 0x27, 0x03, 0x1C,
- 0x0E, 0x64, 0xC2, 0x0E, 0xD4, 0xF2, 0x00, 0x81, 0x92, 0x70, 0xA3, 0x59, 0x6D, 0xD0, 0x55, 0xC8,
- 0xB7, 0x62, 0x09, 0x39, 0x85, 0x8D, 0xD1, 0x4F, 0x93, 0x40, 0xB4, 0x3C, 0x4C, 0xFF, 0xC0, 0x25,
- 0x3A, 0x35, 0x21, 0x82, 0x94, 0x4A, 0x34, 0x24, 0xB4, 0x1A, 0x37, 0xB5, 0x41, 0xBF, 0x93, 0x9B,
- 0xA0, 0x95, 0x57, 0xC6, 0x90, 0xD6, 0x68, 0x6C, 0xE2, 0x79, 0x85, 0xF5, 0x11, 0x81, 0xD6, 0x06,
- 0x2F, 0xC3, 0xE3, 0x2A, 0x5A, 0x69, 0xE6, 0x71, 0x4A, 0x61, 0x53, 0xD4, 0x22, 0x90, 0xC3, 0x34,
- 0xD3, 0xEC, 0x70, 0xD5, 0x44, 0x9A, 0xD9, 0xAC, 0x62, 0xB6, 0xA9, 0x17, 0x9C, 0x4E, 0xBA, 0x86,
- 0xE7, 0x17, 0xD6, 0x4A, 0x00, 0x08, 0x11, 0x9A, 0x1F, 0xDD, 0x9B, 0x46, 0x42, 0x52, 0xFE, 0x06,
- 0xFA, 0xF0, 0x0C, 0x7F, 0xC9, 0xAA, 0x85, 0x85, 0x35, 0x12, 0x81, 0x42, 0x3E, 0x10, 0x1E, 0x57,
- 0xD2, 0x4A, 0x95, 0xF0, 0x25, 0x90, 0xC3, 0xF5, 0x12, 0x84, 0xB0, 0xEE, 0x96, 0xF4, 0x92, 0x47,
- 0x6D, 0x25, 0xBD, 0xCC, 0x0C, 0x77, 0x51, 0x2A, 0x7C, 0x85, 0x90, 0xA0, 0x95, 0xE0, 0xF0, 0xDE,
- 0x5C, 0x25, 0x22, 0xE6, 0x6F, 0xE0, 0x2B, 0x63, 0x62, 0x3B, 0xA6, 0x57, 0x7C, 0xB6, 0xCF, 0xE1,
- 0x6A, 0x83, 0x57, 0xA4, 0xF9, 0x3D, 0x1E, 0x55, 0x51, 0xC7, 0x8B, 0xA5, 0xEF, 0x54, 0x50, 0x48,
- 0x40, 0x0B, 0x53, 0x47, 0x8B, 0x6B, 0xE3, 0x78, 0x4B, 0xDA, 0x38, 0xDE, 0xA2, 0x36, 0x0C, 0xF2,
- 0xD9, 0x22, 0xD7, 0xC4, 0x2A, 0xAC, 0x8E, 0x00, 0xB0, 0x36, 0xB8, 0xBC, 0x59, 0x38, 0x1E, 0x3E,
- 0x3A, 0xF5, 0x1D, 0x9E, 0x57, 0x72, 0x92, 0x5E, 0x05, 0x9D, 0x84, 0x04, 0x71, 0x1F, 0xE9, 0x71,
- 0xAD, 0xF4, 0xB6, 0xA4, 0x95, 0x3C, 0x5A, 0xAB, 0x68, 0x65, 0x6A, 0x98, 0xF6, 0x88, 0x98, 0x16,
- 0x3E, 0xC6, 0x51, 0x54, 0x31, 0x02, 0x6C, 0x6D, 0xF0, 0x26, 0x3A, 0xA9, 0xA2, 0x98, 0x56, 0x05,
- 0xBD, 0x88, 0xF4, 0xC4, 0xFD, 0xA5, 0x07, 0xB3, 0xF2, 0x2D, 0xE9, 0x46, 0xD7, 0xB7, 0x39, 0xAA,
- 0x2C, 0xC8, 0xC8, 0x34, 0xAC, 0xCF, 0x64, 0x32, 0x81, 0x69, 0x50, 0xF1, 0xA1, 0x25, 0x06, 0x0E,
- 0xE3, 0x0B, 0x3B, 0xD7, 0x2E, 0xE9, 0x79, 0xE1, 0xFA, 0x65, 0x02, 0x5D, 0xF9, 0x22, 0x66, 0x72,
- 0x4E, 0x28, 0x2D, 0x4B, 0x7E, 0xEF, 0x84, 0x74, 0x96, 0x9F, 0xB6, 0x7E, 0x4F, 0xA6, 0x74, 0x1B,
- 0x41, 0x95, 0x39, 0xF4, 0x1B, 0xD7, 0xB8, 0xA5, 0xEF, 0x64, 0xA8, 0x32, 0xA5, 0xFF, 0x40, 0xC6,
- 0xDA, 0x47, 0xD3, 0x2E, 0xCF, 0x4C, 0x17, 0x09, 0x21, 0xC4, 0xAE, 0x86, 0xA5, 0x07, 0x53, 0x24,
- 0x38, 0xA8, 0x86, 0xA4, 0x8F, 0x35, 0xFD, 0x85, 0x69, 0x3C, 0x84, 0x49, 0xBC, 0xB1, 0x1A, 0x16,
- 0x1F, 0x50, 0x56, 0x43, 0x18, 0x97, 0x7F, 0x7A, 0xA9, 0x5D, 0xD2, 0x8D, 0xEF, 0x85, 0xC3, 0x15,
- 0xDB, 0x93, 0xA7, 0x62, 0xE8, 0xD1, 0xD2, 0x0D, 0xF6, 0xB9, 0xB6, 0xA6, 0x26, 0x77, 0x20, 0xD5,
- 0x75, 0x35, 0x09, 0x7B, 0x01, 0x81, 0x74, 0x0B, 0x53, 0x4D, 0xE0, 0x56, 0x8D, 0xC7, 0x2D, 0xA6,
- 0x62, 0xA3, 0x55, 0xF1, 0x34, 0x6C, 0xB4, 0x02, 0x35, 0x8D, 0xAF, 0xF1, 0x99, 0x88, 0xB1, 0x06,
- 0xFA, 0xDA, 0x89, 0xA2, 0xB0, 0xD7, 0xFB, 0x51, 0x14, 0xE5, 0xF7, 0xBE, 0x15, 0x05, 0xD6, 0xF2,
- 0x19, 0xC7, 0xD1, 0x32, 0x4E, 0x45, 0x01, 0x6B, 0x83, 0x77, 0x86, 0xBD, 0x84, 0x41, 0x66, 0x57,
- 0x0A, 0x0B, 0x3B, 0xBE, 0x37, 0xF7, 0xE2, 0x7C, 0xDF, 0xB7, 0xEA, 0x80, 0x90, 0xB9, 0x33, 0x2E,
- 0x3E, 0xDD, 0xE1, 0x70, 0x2C, 0x24, 0xBE, 0x83, 0xA3, 0xC2, 0x89, 0x41, 0x80, 0x61, 0xCB, 0x19,
- 0x01, 0x9B, 0x4A, 0x95, 0x4F, 0x06, 0xAE, 0x96, 0xB6, 0x7D, 0x5B, 0x25, 0x13, 0xB8, 0xB0, 0x9C,
- 0xE5, 0xB8, 0x3C, 0x06, 0x48, 0x03, 0xFE, 0x35, 0x99, 0x98, 0xA3, 0xF2, 0x89, 0x04, 0x24, 0x01,
- 0x6F, 0x9D, 0xB9, 0x22, 0xFC, 0x96, 0x07, 0x5E, 0x32, 0x2A, 0x31, 0x93, 0x1B, 0x81, 0x16, 0x2F,
- 0x2F, 0x76, 0x3A, 0xF0, 0x42, 0x9F, 0xF7, 0x14, 0x19, 0x90, 0xDB, 0xFB, 0x0E, 0x0A, 0x40, 0xC4,
- 0x67, 0x6A, 0x3C, 0x65, 0x94, 0xC5, 0x20, 0xC3, 0x88, 0x1E, 0x4C, 0xBF, 0xEF, 0x6B, 0x7E, 0x17,
- 0x51, 0x14, 0x9F, 0xDD, 0xE1, 0xD2, 0x73, 0x38, 0xBD, 0xEB, 0xB4, 0x37, 0x3B, 0xC1, 0x43, 0xE4,
- 0xDB, 0xD5, 0x4F, 0xBB, 0x8C, 0x6A, 0x20, 0x1A, 0x7D, 0x8F, 0xEB, 0x0C, 0x05, 0x02, 0x76, 0x75,
- 0x47, 0x6A, 0xDF, 0x9F, 0x27, 0xB5, 0x1F, 0x80, 0x2B, 0x4D, 0x4B, 0x44, 0xBC, 0x29, 0x46, 0xBC,
- 0x37, 0x17, 0xBB, 0xD1, 0xD0, 0xF4, 0xDE, 0x42, 0xDD, 0xF4, 0x5E, 0x43, 0x9D, 0xC6, 0x37, 0x05,
- 0x06, 0x52, 0x28, 0x99, 0xC1, 0x72, 0x40, 0x56, 0xCB, 0xAA, 0x12, 0xE4, 0xF4, 0x9B, 0x2A, 0x51,
- 0x2E, 0x20, 0x23, 0x1E, 0xE4, 0xFA, 0xD1, 0xAA, 0x48, 0x6F, 0xB3, 0xCB, 0xBA, 0xDD, 0x3C, 0x6A,
- 0xAB, 0x38, 0x8D, 0x6B, 0xAC, 0x3E, 0x4F, 0xE7, 0x46, 0x61, 0x65, 0x70, 0x38, 0xD0, 0xC5, 0xBB,
- 0x17, 0xBB, 0x4C, 0x17, 0x82, 0x7E, 0xEF, 0xC7, 0x8F, 0x42, 0xAE, 0xEF, 0x3B, 0xD6, 0x59, 0xC4,
- 0x2E, 0x1E, 0xEC, 0x10, 0xA8, 0x36, 0xF8, 0x8E, 0xD8, 0x9E, 0x76, 0xE1, 0xB8, 0xFC, 0x45, 0x98,
- 0x3B, 0xD1, 0x1A, 0xED, 0xF9, 0x7E, 0x54, 0xC6, 0x98, 0xBE, 0x6F, 0x7D, 0xCD, 0xE6, 0xA6, 0xEB,
- 0x3A, 0x6E, 0x61, 0x95, 0x71, 0x38, 0x98, 0x56, 0x34, 0xDF, 0xD1, 0xA3, 0x9D, 0xA8, 0x2B, 0xE8,
- 0xF5, 0x7E, 0x34, 0x16, 0xF2, 0x7C, 0xDF, 0x4A, 0xBB, 0x9E, 0x58, 0xE6, 0xA2, 0xB0, 0xCA, 0x28,
- 0x54, 0x6D, 0xF0, 0xA9, 0xF9, 0x1A, 0xFE, 0xEE, 0x44, 0x5D, 0xAC, 0xC7, 0xFB, 0x51, 0x16, 0xE7,
- 0xF6, 0xBE, 0x55, 0x35, 0x5C, 0x14, 0x0F, 0x87, 0x00, 0x53, 0x1B, 0xBC, 0x7C, 0xBF, 0x9B, 0xDC,
- 0x0F, 0x3B, 0x53, 0xD4, 0x50, 0x25, 0x7D, 0x50, 0xA6, 0xEE, 0x5B, 0x1B, 0xAB, 0x12, 0xDA, 0x58,
- 0x21, 0xE1, 0x3F, 0xED, 0x48, 0x1B, 0x2B, 0x75, 0x6D, 0x6C, 0xD8, 0x5F, 0x56, 0x0F, 0x41, 0x3F,
- 0xF4, 0xE9, 0xD3, 0xA1, 0x51, 0x7C, 0x38, 0x0A, 0x00, 0x71, 0xD3, 0x18, 0x1C, 0x69, 0x2F, 0x8D,
- 0xDD, 0x0C, 0x48, 0x61, 0xBF, 0xBB, 0x70, 0xA1, 0x88, 0xC9, 0xFB, 0xD6, 0xD3, 0xC4, 0x18, 0x91,
- 0xCF, 0x63, 0xE2, 0x97, 0x59, 0x5B, 0x16, 0x60, 0x6B, 0x83, 0xD7, 0x70, 0xA2, 0xBD, 0xA2, 0x27,
- 0xBB, 0x4A, 0xF9, 0xC4, 0xFE, 0x77, 0xA1, 0xB5, 0x18, 0xBF, 0x0F, 0x42, 0x71, 0x90, 0x60, 0x3B,
- 0x53, 0xBB, 0xD4, 0xE3, 0x4C, 0x31, 0x70, 0xAE, 0xBE, 0x0F, 0xEC, 0x7C, 0xB7, 0x0A, 0x8C, 0x88,
- 0xD8, 0x99, 0x0E, 0x05, 0xBE, 0x37, 0xA8, 0x46, 0xC5, 0xA7, 0x1A, 0xF9, 0x9B, 0x81, 0xF3, 0x74,
- 0xC5, 0x9F, 0xAE, 0xA3, 0x9B, 0x5A, 0x88, 0xDF, 0xF4, 0x7C, 0xD3, 0xB2, 0x60, 0x2A, 0x4C, 0x7C,
- 0xED, 0x0A, 0x0F, 0x15, 0x1F, 0xA7, 0x13, 0xB0, 0x04, 0x0F, 0xD1, 0xFA, 0x2E, 0x31, 0xE6, 0xB5,
- 0xC1, 0x15, 0xBE, 0x33, 0x19, 0x70, 0xE1, 0x59, 0x71, 0x64, 0x54, 0x8C, 0xC4, 0x76, 0x1D, 0x20,
- 0x2A, 0x54, 0x13, 0x7F, 0x3F, 0x65, 0x4D, 0x0B, 0x8E, 0x84, 0x6B, 0x83, 0x4B, 0xDA, 0x58, 0x43,
- 0x3B, 0xCB, 0xEF, 0x4E, 0xF9, 0x39, 0x3F, 0xFA, 0x44, 0x2F, 0x3E, 0xA2, 0x1B, 0x7F, 0xA3, 0x3A,
- 0xE8, 0x95, 0xBD, 0xD5, 0x60, 0x70, 0x46, 0xDF, 0x0E, 0xCB, 0x9B, 0xD1, 0x87, 0xD9, 0x57, 0xFC,
- 0xE9, 0xE4, 0xA1, 0x63, 0x8D, 0x9F, 0x09, 0xAB, 0xCB, 0x57, 0xE1, 0xE3, 0xB6, 0x08, 0x02, 0x86,
- 0x11, 0x60, 0xC8, 0x51, 0xFE, 0xCC, 0x0D, 0xD0, 0xB3, 0x27, 0xA2, 0xF1, 0x1D, 0x65, 0x19, 0xCA,
- 0x4D, 0x79, 0x34, 0xD8, 0x25, 0xD3, 0x50, 0x90, 0xB2, 0x27, 0xC6, 0xA5, 0x0F, 0x0A, 0x7F, 0x20,
- 0x53, 0xD3, 0x03, 0x1A, 0x35, 0x30, 0x8B, 0x43, 0xFA, 0x8C, 0x25, 0x33, 0x66, 0xB5, 0xE7, 0x77,
- 0xC5, 0x2E, 0xF9, 0xCB, 0x19, 0xA4, 0x8F, 0x63, 0x17, 0xCA, 0x4F, 0x92, 0x0F, 0x4F, 0xC7, 0x31,
- 0xE6, 0x19, 0xFD, 0xE3, 0x66, 0x73, 0xD6, 0xC5, 0xA7, 0x45, 0xB5, 0x80, 0xB5, 0xB3, 0xC3, 0x59,
- 0x37, 0xEF, 0xD1, 0xB0, 0xDC, 0x47, 0x7D, 0x81, 0xD3, 0xD2, 0x4F, 0xFA, 0xA2, 0x94, 0x06, 0x40,
- 0xCD, 0xBE, 0xF6, 0xCE, 0xF0, 0xBE, 0xEC, 0x6B, 0x9F, 0xB0, 0x00, 0xB7, 0xC3, 0x07, 0x7E, 0x91,
- 0x76, 0x63, 0x3C, 0x76, 0x53, 0x1F, 0xFA, 0xED, 0xC6, 0x1E, 0xFA, 0xED, 0x07, 0x0F, 0xFD, 0xF6,
- 0xA3, 0xDD, 0x6E, 0x37, 0x9D, 0x56, 0xEB, 0x58, 0x85, 0x75, 0xC5, 0x07, 0x7F, 0x37, 0xC2, 0xD3,
- 0x1C, 0xA4, 0xA9, 0xC8, 0x53, 0x37, 0xE0, 0x49, 0xD8, 0x15, 0x7E, 0x33, 0x99, 0x3C, 0x34, 0x8E,
- 0xF8, 0xBA, 0x54, 0x79, 0x96, 0x5A, 0xED, 0x5D, 0x3F, 0x9D, 0x4D, 0x8D, 0x7B, 0x53, 0x0F, 0x67,
- 0xD3, 0x26, 0xC9, 0x68, 0xD8, 0xCB, 0x0C, 0x86, 0x14, 0x84, 0x39, 0xFD, 0x9B, 0x4D, 0x3A, 0xFD,
- 0xB4, 0x82, 0xD3, 0x4F, 0xD7, 0x9C, 0x7E, 0x87, 0xDE, 0x1E, 0x10, 0xFE, 0x77, 0xF3, 0xF8, 0x80,
- 0xAF, 0x02, 0x5E, 0x2F, 0xE5, 0xAB, 0xD5, 0xDA, 0xA8, 0xDF, 0xE7, 0x3A, 0x49, 0x68, 0x0C, 0x6F,
- 0x36, 0xE9, 0x24, 0x29, 0xA6, 0x5B, 0xCA, 0x4E, 0x79, 0xD8, 0x19, 0xEC, 0x66, 0x5C, 0xA2, 0xD9,
- 0x94, 0xA8, 0x50, 0xDE, 0x3B, 0x3E, 0x13, 0xDA, 0xE9, 0xF2, 0xD4, 0x69, 0x13, 0xEA, 0x51, 0x7F,
- 0x11, 0x44, 0x6A, 0x93, 0xCD, 0x24, 0x66, 0x0B, 0x21, 0xC3, 0x55, 0x4E, 0xCC, 0xDE, 0x7F, 0xF7,
- 0x5D, 0xB1, 0x5C, 0x4C, 0xEC, 0xE5, 0x81, 0xE4, 0x62, 0x99, 0xB5, 0xD0, 0xDB, 0x05, 0xDC, 0x40,
- 0xAA, 0x4B, 0x99, 0x6E, 0x04, 0x5E, 0x1B, 0xBC, 0xA4, 0xC7, 0x9A, 0x20, 0xB1, 0x42, 0xC6, 0xAB,
- 0x3C, 0xED, 0xA4, 0x80, 0x42, 0xB1, 0x34, 0x22, 0x21, 0xA9, 0x1B, 0x45, 0x5C, 0x19, 0x05, 0x52,
- 0x81, 0x3D, 0x75, 0xA6, 0x2A, 0xFB, 0x04, 0x6D, 0x92, 0x97, 0x0A, 0x2F, 0x5C, 0x52, 0x5A, 0x6D,
- 0x1C, 0xB6, 0x36, 0x78, 0xEF, 0x12, 0xED, 0x95, 0x79, 0xAD, 0xCE, 0x9B, 0xB0, 0x51, 0x30, 0x44,
- 0xA2, 0x26, 0xE5, 0xE4, 0x0E, 0x3E, 0xE9, 0xAE, 0x40, 0x5C, 0x6C, 0x57, 0xDD, 0x4E, 0x27, 0xC1,
- 0x0A, 0x69, 0x57, 0xBB, 0x1A, 0x86, 0x4E, 0x6D, 0xD0, 0xA9, 0x86, 0xA1, 0x5B, 0x1B, 0x74, 0xAB,
- 0x61, 0xE8, 0x81, 0x1C, 0x0E, 0x7A, 0xD5, 0x70, 0xF4, 0x6B, 0x83, 0x7E, 0x35, 0x0C, 0x47, 0x20,
- 0xCB, 0xAA, 0x54, 0x40, 0xE6, 0x72, 0x5C, 0x00, 0x43, 0xFE, 0x26, 0x47, 0xD6, 0xAA, 0xBA, 0xF3,
- 0xCC, 0x97, 0x56, 0x69, 0xE7, 0xE1, 0xB0, 0xB5, 0xC1, 0xBB, 0xA5, 0xE5, 0x9B, 0x0B, 0xCB, 0x84,
- 0x69, 0x7B, 0xA3, 0xAB, 0x35, 0xB5, 0x76, 0xAF, 0xBD, 0xB7, 0xC3, 0x0C, 0x33, 0xA0, 0x43, 0xED,
- 0x1D, 0x52, 0x9D, 0x20, 0x09, 0xD3, 0x8F, 0xC5, 0x77, 0x0A, 0x3C, 0x88, 0x70, 0xE6, 0x3A, 0x8E,
- 0x5F, 0x5A, 0x1D, 0x01, 0x30, 0xA4, 0xF9, 0x70, 0x54, 0x3A, 0x9A, 0x45, 0x68, 0xCA, 0x18, 0x7A,
- 0xCA, 0x26, 0xE7, 0x8A, 0xE1, 0x4C, 0x2F, 0x16, 0xCE, 0x76, 0xE7, 0x3E, 0xDE, 0x6D, 0xF9, 0x94,
- 0x81, 0xC3, 0xC2, 0x6C, 0xF5, 0x16, 0x66, 0x88, 0x73, 0x54, 0x98, 0xD6, 0x68, 0x81, 0xFB, 0xE8,
- 0xBD, 0x5D, 0x7A, 0x4F, 0x40, 0x46, 0xC1, 0x37, 0xB0, 0x89, 0xDE, 0xF3, 0x30, 0x9C, 0x87, 0xEA,
- 0x83, 0x58, 0xE3, 0x5E, 0x79, 0x8D, 0x04, 0xD0, 0x90, 0x0F, 0xE0, 0x7B, 0xF0, 0x2A, 0xF9, 0x91,
- 0x80, 0xAC, 0x9C, 0x23, 0x55, 0x77, 0x1A, 0xA9, 0x2B, 0x56, 0xCC, 0x0B, 0xDA, 0x95, 0x47, 0xF5,
- 0xCE, 0x43, 0x1C, 0x0B, 0x17, 0xF8, 0xEA, 0x44, 0xA2, 0xB6, 0xBD, 0x92, 0x22, 0x13, 0x93, 0x48,
- 0x06, 0xCB, 0x8D, 0x86, 0x6D, 0x2B, 0xDF, 0x69, 0xE6, 0x1F, 0x10, 0xB0, 0xBE, 0xDA, 0x54, 0x7C,
- 0x15, 0x5E, 0x60, 0x4E, 0x36, 0x11, 0x08, 0x79, 0x7D, 0x70, 0xB3, 0x00, 0x24, 0xAC, 0xF4, 0x34,
- 0x80, 0x03, 0x73, 0x15, 0x86, 0x91, 0xB8, 0xA3, 0x17, 0x88, 0xC4, 0xE2, 0x8C, 0x20, 0xC4, 0x57,
- 0x72, 0xB4, 0xBB, 0xF7, 0xF4, 0xBF, 0x2B, 0x0F, 0x1E, 0x15, 0x5D, 0xBF, 0x60, 0x1A, 0x2C, 0xC1,
- 0x80, 0xEF, 0x0B, 0xD4, 0x8B, 0x24, 0xF4, 0x9B, 0x0B, 0x1F, 0xC2, 0x5A, 0x21, 0x35, 0x38, 0x3A,
- 0x74, 0x13, 0x9F, 0xCD, 0xF3, 0x0B, 0x2C, 0xFF, 0xA5, 0x36, 0xD9, 0x4C, 0x75, 0x67, 0x65, 0xDA,
- 0xC5, 0xAB, 0x3B, 0x3F, 0x99, 0xF6, 0xD8, 0x59, 0x15, 0x2B, 0xF0, 0x88, 0x1D, 0xFD, 0x05, 0x0A,
- 0x3C, 0x34, 0x3D, 0xC0, 0x15, 0xE2, 0xA6, 0x4B, 0xD4, 0xDE, 0x67, 0x93, 0x14, 0x32, 0x83, 0xBE,
- 0xC1, 0x05, 0x56, 0x40, 0xE1, 0x69, 0x74, 0xBD, 0x79, 0xDB, 0x99, 0xDA, 0xCF, 0xA7, 0x62, 0xAE,
- 0xC6, 0x29, 0x50, 0xCB, 0xD5, 0xBA, 0x92, 0x72, 0xF3, 0xBD, 0x57, 0xD0, 0x7F, 0x59, 0xE7, 0xE7,
- 0xF6, 0xDE, 0xF9, 0xD9, 0xC4, 0x00, 0x44, 0xEC, 0x71, 0x69, 0xCB, 0x42, 0xD8, 0xC8, 0xAE, 0x2E,
- 0xED, 0xF1, 0x4E, 0xAD, 0x8A, 0xF5, 0x5E, 0x5A, 0x07, 0xED, 0x7E, 0xBB, 0xF3, 0xB0, 0xCC, 0x0A,
- 0x19, 0xAA, 0x60, 0x54, 0xFA, 0x49, 0xEF, 0x01, 0x4D, 0x69, 0x9C, 0xC9, 0x84, 0xAD, 0x6B, 0x96,
- 0x33, 0x2D, 0x0E, 0x7E, 0x43, 0x9F, 0xD2, 0xF5, 0xC8, 0x6E, 0xE3, 0x55, 0xD8, 0x79, 0xC1, 0xD2,
- 0x8C, 0xA0, 0x8B, 0xFE, 0xC3, 0x32, 0x2D, 0xCE, 0x91, 0xAA, 0x75, 0x49, 0x38, 0xEA, 0x3E, 0x1C,
- 0xD3, 0xF2, 0x1D, 0xDF, 0xB0, 0x4A, 0x5B, 0x16, 0x83, 0x06, 0xC3, 0xFA, 0x88, 0x07, 0xDA, 0x15,
- 0xF0, 0xB9, 0x53, 0xE3, 0x0A, 0xFA, 0x2F, 0x1F, 0xB8, 0x8E, 0xBB, 0x1B, 0x52, 0x46, 0x05, 0x96,
- 0x7E, 0x59, 0x67, 0xA9, 0x52, 0xE8, 0xEA, 0x6F, 0x68, 0x91, 0x7C, 0x23, 0xA1, 0x6B, 0xE9, 0xE3,
- 0xD5, 0xD2, 0xA1, 0x8B, 0x81, 0x63, 0xE8, 0xA2, 0x47, 0xBB, 0x37, 0xB1, 0x90, 0x82, 0xF2, 0x36,
- 0xD6, 0x3B, 0xD9, 0xE4, 0x16, 0x98, 0x4D, 0x44, 0x30, 0xC6, 0x53, 0x25, 0x23, 0xDB, 0x94, 0xDF,
- 0x54, 0x36, 0xB2, 0x91, 0xA1, 0xFC, 0x8E, 0x37, 0x8A, 0x4C, 0xCC, 0xE6, 0x19, 0x2C, 0xCC, 0xE1,
- 0xD8, 0xC1, 0x4E, 0x2B, 0x36, 0x41, 0xE7, 0x1B, 0x5F, 0xA8, 0x0D, 0xB9, 0x7A, 0x48, 0xF5, 0x99,
- 0xA1, 0x69, 0xDB, 0x65, 0xD5, 0xC4, 0x61, 0x6B, 0x83, 0x97, 0xEC, 0x60, 0xB7, 0x4B, 0xEA, 0xBC,
- 0xF3, 0xCD, 0xAF, 0xA7, 0x07, 0x5C, 0xED, 0x5A, 0x4D, 0x89, 0x22, 0x86, 0x1B, 0x7E, 0xF7, 0xA3,
- 0xC6, 0xF7, 0xA8, 0x46, 0xDF, 0x01, 0x79, 0x38, 0x25, 0x8D, 0xA9, 0x31, 0xC7, 0x87, 0x97, 0x8B,
- 0x16, 0x35, 0xDE, 0x20, 0x58, 0xB1, 0x9A, 0x46, 0xBC, 0xA7, 0x87, 0x5D, 0xD5, 0x18, 0xC4, 0xDF,
- 0x5A, 0x09, 0x84, 0x37, 0x87, 0xA6, 0xE1, 0xE1, 0x83, 0xFE, 0x70, 0xAC, 0xBD, 0x84, 0x63, 0xED,
- 0xBD, 0xB5, 0x0C, 0x5F, 0xBB, 0x2B, 0x73, 0x08, 0x71, 0x3F, 0x5B, 0x84, 0x21, 0xED, 0xA9, 0x05,
- 0xBA, 0x8D, 0x8F, 0x3F, 0xE0, 0x05, 0xC7, 0xB8, 0x7B, 0xAD, 0xD7, 0x3D, 0x6E, 0xD5, 0x34, 0x96,
- 0x15, 0xF3, 0xC7, 0xFA, 0xBD, 0x2F, 0x74, 0x5B, 0x9B, 0x1E, 0x12, 0x28, 0x73, 0x00, 0x91, 0xDE,
- 0x90, 0x40, 0x6A, 0xBF, 0x55, 0x76, 0x9B, 0xAD, 0x4B, 0x44, 0x0F, 0xC4, 0xD1, 0x92, 0x1A, 0x42,
- 0xEC, 0x3D, 0x9B, 0xAC, 0x7D, 0xFC, 0x05, 0x05, 0xED, 0x9E, 0xEC, 0xFD, 0xA7, 0x72, 0x41, 0xE8,
- 0x52, 0x41, 0xE0, 0xEE, 0xBE, 0xCD, 0xF2, 0xD4, 0x0E, 0x78, 0xD2, 0xD5, 0x78, 0x6A, 0x57, 0xE0,
- 0xA9, 0xBD, 0x23, 0x9E, 0x3A, 0x01, 0x4F, 0x6D, 0x35, 0x9E, 0x3A, 0x15, 0x78, 0xEA, 0xEC, 0x88,
- 0xA7, 0x6E, 0xC0, 0x53, 0x47, 0x8D, 0xA7, 0x6E, 0x05, 0x9E, 0xBA, 0x3B, 0xE2, 0xA9, 0x17, 0xF0,
- 0xD4, 0x55, 0xE3, 0xA9, 0x57, 0x81, 0xA7, 0xDE, 0x8E, 0x78, 0xEA, 0x07, 0x3C, 0xF5, 0xD4, 0x78,
- 0xEA, 0x57, 0xE0, 0xA9, 0xBF, 0x23, 0x9E, 0x8E, 0x02, 0x9E, 0xFA, 0x6A, 0x3C, 0x1D, 0x55, 0xE0,
- 0xE9, 0x68, 0x47, 0x3C, 0x1D, 0x07, 0x3C, 0x1D, 0xA9, 0xF1, 0x74, 0x5C, 0x81, 0xA7, 0xE3, 0x1D,
- 0xF1, 0x74, 0x12, 0xF0, 0x74, 0xAC, 0xC6, 0xD3, 0x49, 0x05, 0x9E, 0x4E, 0x76, 0xC4, 0x13, 0xEE,
- 0xA6, 0x62, 0x4C, 0x9D, 0x28, 0x0E, 0xBA, 0xAD, 0x0A, 0x5C, 0x19, 0xBB, 0xE2, 0x2A, 0x4C, 0x25,
- 0x74, 0xD5, 0x5C, 0xA2, 0x4A, 0x32, 0x31, 0xDC, 0x15, 0x5B, 0x51, 0x36, 0xA1, 0x98, 0x4E, 0xE8,
- 0x55, 0xF2, 0x89, 0xD1, 0xAE, 0xD8, 0x0A, 0x13, 0x0A, 0x5D, 0x31, 0xA3, 0xD0, 0xAB, 0xA4, 0x14,
- 0xE3, 0x5D, 0xB1, 0x15, 0xE6, 0x14, 0xBA, 0x62, 0x52, 0xA1, 0x57, 0xC9, 0x2A, 0xC8, 0xAE, 0xD8,
- 0x0A, 0xD3, 0x0A, 0x5D, 0x31, 0xAF, 0xD0, 0xAB, 0x24, 0x16, 0x93, 0x5D, 0xB1, 0x15, 0x66, 0x16,
- 0xBA, 0x62, 0x6A, 0xA1, 0x57, 0xC8, 0x2D, 0x4E, 0xE4, 0x13, 0xB1, 0x8D, 0xB2, 0x45, 0x7C, 0x3E,
- 0x45, 0x8E, 0x26, 0x6D, 0x4A, 0x0F, 0x1C, 0x71, 0x20, 0x7C, 0x22, 0x8E, 0x09, 0xE4, 0xC2, 0xB1,
- 0x27, 0xE6, 0x34, 0x2C, 0x32, 0x3C, 0x98, 0x67, 0x63, 0x3C, 0xE1, 0x85, 0xBF, 0xCA, 0x85, 0x86,
- 0xAB, 0x57, 0x97, 0xC5, 0xCA, 0x0C, 0x62, 0x2F, 0x7F, 0xA1, 0x22, 0x03, 0x90, 0xDD, 0x16, 0xBF,
- 0x3E, 0xA0, 0x54, 0x57, 0xA0, 0x40, 0x45, 0x2A, 0x0A, 0x3D, 0xB1, 0xA2, 0xD0, 0x57, 0xAE, 0x28,
- 0x30, 0xE2, 0xB6, 0x53, 0x4B, 0x00, 0xDC, 0x1D, 0xF6, 0xC9, 0x04, 0x75, 0xA6, 0x3B, 0xE5, 0x99,
- 0xEE, 0x15, 0x61, 0xBA, 0x53, 0x86, 0xE9, 0x12, 0xCF, 0xB4, 0x2A, 0xCA, 0x09, 0xE8, 0x7D, 0x6D,
- 0xDE, 0x90, 0xB1, 0xF6, 0x8B, 0xBA, 0xA8, 0xF4, 0xF2, 0xA2, 0x3A, 0x2A, 0x22, 0x2A, 0x7D, 0x8B,
- 0xF6, 0xD1, 0x0B, 0xF8, 0xFE, 0x51, 0x9D, 0xEF, 0x5E, 0x79, 0xBE, 0x3B, 0x45, 0xF8, 0xEE, 0x6D,
- 0x91, 0xEF, 0x6E, 0xC0, 0xF7, 0x27, 0x75, 0xBE, 0xBB, 0xE5, 0xF9, 0xEE, 0x16, 0xE1, 0xBB, 0xBB,
- 0x45, 0xBE, 0xDB, 0x10, 0x6C, 0x7E, 0xFC, 0xA4, 0x7D, 0x9C, 0xB9, 0xC4, 0x9B, 0xE5, 0x57, 0xE2,
- 0x18, 0x44, 0xD9, 0xB1, 0xBD, 0xB7, 0x83, 0xB9, 0x1B, 0x52, 0xD8, 0x11, 0x79, 0xCA, 0xCD, 0x9B,
- 0x19, 0x84, 0xCA, 0x37, 0x89, 0xE4, 0x3C, 0xC9, 0x67, 0x6E, 0xBA, 0x2A, 0x53, 0xDB, 0x8B, 0x61,
- 0xC7, 0xB5, 0xC1, 0xDB, 0x65, 0x81, 0xF1, 0xED, 0xB8, 0xBC, 0x3D, 0xAB, 0x57, 0xCC, 0x19, 0x5D,
- 0x5B, 0xB3, 0xE7, 0x13, 0xCA, 0x33, 0xE4, 0x65, 0x9E, 0x82, 0xDA, 0xCB, 0x57, 0x21, 0x7A, 0x3B,
- 0xA8, 0x92, 0x63, 0xA4, 0x3F, 0x62, 0xEC, 0xFC, 0x88, 0x0C, 0x69, 0x90, 0xB1, 0x14, 0x18, 0x8C,
- 0x8E, 0x0A, 0x6A, 0xF3, 0xB8, 0x64, 0x74, 0x42, 0x1A, 0xB7, 0xA6, 0x4E, 0x9C, 0x7A, 0xA0, 0x00,
- 0x3E, 0x95, 0x10, 0x40, 0xBF, 0xBC, 0x00, 0x0A, 0x65, 0x2E, 0x48, 0xE3, 0xF6, 0x04, 0xD0, 0x62,
- 0x02, 0xB8, 0x8A, 0x5E, 0x7A, 0x9D, 0x61, 0xD0, 0x15, 0x2A, 0x50, 0xBD, 0x1D, 0xAC, 0x91, 0x60,
- 0xA4, 0xD5, 0x03, 0x8B, 0x06, 0x8E, 0x8A, 0x29, 0xB4, 0x5D, 0x34, 0xBF, 0x92, 0x17, 0x3F, 0x15,
- 0xF2, 0xEF, 0x6D, 0x26, 0x58, 0xED, 0x56, 0x60, 0xD1, 0xC5, 0x05, 0xD0, 0x2A, 0x2F, 0x00, 0xBD,
- 0x90, 0x00, 0x5A, 0x0F, 0x2B, 0x19, 0xEF, 0xAF, 0x7F, 0xA7, 0x38, 0x5F, 0x5A, 0x45, 0xDD, 0x5F,
- 0x18, 0xCD, 0xDA, 0x45, 0x84, 0xB5, 0x55, 0xEF, 0xEF, 0x44, 0x9C, 0x6B, 0xBF, 0x68, 0xF1, 0xAD,
- 0xAF, 0x59, 0x71, 0xA0, 0x7C, 0x11, 0xB0, 0xB7, 0x83, 0xF5, 0x2A, 0xA4, 0xF0, 0x44, 0xC2, 0x59,
- 0xC1, 0x00, 0x7F, 0x52, 0xDE, 0x1D, 0x0A, 0x69, 0x18, 0x69, 0xDD, 0x9E, 0x8A, 0x7B, 0x31, 0x41,
- 0xB0, 0x6F, 0xA4, 0xAB, 0xA8, 0xB8, 0x7C, 0xE5, 0xB0, 0xB7, 0x83, 0xA5, 0x2E, 0xA4, 0xF0, 0x58,
- 0xC2, 0x59, 0x41, 0x15, 0x17, 0x4D, 0x49, 0x8F, 0x4B, 0x4E, 0x2D, 0xF5, 0x6D, 0xE6, 0xA4, 0x58,
- 0xED, 0x16, 0x04, 0x21, 0x7E, 0xC0, 0x22, 0x4B, 0xC1, 0xE5, 0x2B, 0xDE, 0xBD, 0x8A, 0xEB, 0xB3,
- 0xDB, 0x8B, 0xE4, 0x47, 0xB2, 0xAF, 0x9B, 0xE7, 0xDB, 0x41, 0xD1, 0x5C, 0xB6, 0x55, 0x72, 0xE0,
- 0xDB, 0x6A, 0x2A, 0x0B, 0xBD, 0x43, 0xD6, 0xB3, 0xCE, 0x7D, 0x86, 0x09, 0x94, 0x5F, 0x79, 0xEB,
- 0xED, 0x60, 0x7B, 0x08, 0x52, 0xD8, 0xAE, 0x0D, 0x3E, 0x15, 0x64, 0xAA, 0x4A, 0xFD, 0xA0, 0xF4,
- 0xFE, 0x90, 0xDD, 0x95, 0xDE, 0x47, 0xF3, 0x9B, 0xE2, 0xA5, 0xF7, 0x8B, 0x77, 0x3F, 0x17, 0x2B,
- 0xBD, 0x8B, 0xBD, 0xEC, 0xAE, 0xF4, 0x5E, 0xCE, 0x66, 0x0A, 0x6D, 0x94, 0x05, 0xC6, 0xF0, 0x55,
- 0x48, 0x23, 0xD3, 0xA3, 0x5D, 0x82, 0x60, 0xB4, 0xF7, 0xC1, 0x69, 0x28, 0x22, 0xE1, 0x19, 0xE5,
- 0x78, 0xFB, 0x2C, 0xEB, 0xE9, 0x64, 0x84, 0x85, 0x52, 0xCF, 0xF0, 0xE2, 0x0B, 0x75, 0xFA, 0xFC,
- 0x1B, 0x5F, 0x15, 0x9E, 0x05, 0x4E, 0x7B, 0xD7, 0xC8, 0xC1, 0x51, 0x41, 0xDC, 0x5B, 0x7F, 0xC5,
- 0xC0, 0x20, 0xA1, 0x28, 0x9D, 0xEA, 0x47, 0xC7, 0x73, 0xE5, 0x3A, 0x39, 0x05, 0x2B, 0x12, 0xCD,
- 0x3B, 0x62, 0xA9, 0x45, 0x3D, 0x9A, 0x33, 0xF2, 0xB6, 0x13, 0xCD, 0x11, 0x77, 0x8C, 0xF7, 0x02,
- 0x59, 0x0D, 0x83, 0x2D, 0x26, 0x00, 0xF9, 0x26, 0x0A, 0x05, 0x01, 0xA4, 0x49, 0x60, 0x23, 0x22,
- 0x68, 0x53, 0x09, 0xB4, 0x13, 0xDA, 0x4F, 0x09, 0xFC, 0xB4, 0x7D, 0xD9, 0xB8, 0xDF, 0xD9, 0x41,
- 0x6D, 0x02, 0xC5, 0x15, 0xE3, 0xA8, 0xA0, 0x4E, 0x8B, 0x2D, 0x0E, 0xC6, 0x74, 0x5A, 0xCC, 0xA8,
- 0xB7, 0xB6, 0x3A, 0x08, 0xC8, 0x3B, 0x54, 0x00, 0x1D, 0x65, 0x95, 0x96, 0x9F, 0x66, 0x76, 0x76,
- 0x90, 0x9F, 0xA0, 0xB4, 0x62, 0x1C, 0x15, 0x54, 0x69, 0xB1, 0xA5, 0xCF, 0x98, 0x4A, 0xD5, 0xE7,
- 0x97, 0x9C, 0xC8, 0xAD, 0xA9, 0xB4, 0x4B, 0x05, 0xD0, 0x55, 0x56, 0x69, 0xF9, 0x59, 0x47, 0x67,
- 0x07, 0xBB, 0x77, 0x51, 0x5A, 0x31, 0x8E, 0x0A, 0xAA, 0xB4, 0xD8, 0x92, 0x5D, 0x4C, 0xA5, 0xEA,
- 0xF3, 0x49, 0x4E, 0xE4, 0xD6, 0x54, 0xDA, 0xA3, 0x02, 0xE8, 0x29, 0xAB, 0xB4, 0x7C, 0xA5, 0xA0,
- 0xB3, 0x83, 0x62, 0x10, 0x4A, 0x2B, 0xC6, 0x51, 0x41, 0x95, 0x16, 0x5B, 0x7D, 0x8E, 0xA9, 0x54,
- 0x7D, 0x9D, 0x83, 0x13, 0xB9, 0x35, 0x95, 0xF6, 0xA9, 0x00, 0xFA, 0xCA, 0x2A, 0x2D, 0xBF, 0xBF,
- 0xAA, 0xB3, 0x83, 0xBD, 0xDB, 0x28, 0xAD, 0x18, 0x47, 0x05, 0x55, 0x5A, 0xAC, 0x74, 0x1B, 0x53,
- 0xA9, 0xFA, 0xCA, 0x0D, 0x27, 0x72, 0x6B, 0x2A, 0x3D, 0xA2, 0x02, 0x38, 0x52, 0x56, 0x69, 0xF9,
- 0xAD, 0xEB, 0x9D, 0x1D, 0xD4, 0xF3, 0x50, 0x5A, 0x31, 0x8E, 0x0A, 0xAA, 0xB4, 0x58, 0x05, 0x27,
- 0xA6, 0x52, 0xF5, 0xBD, 0x53, 0x9C, 0xC8, 0xAD, 0xA9, 0xF4, 0x98, 0x0A, 0xE0, 0x58, 0x59, 0xA5,
- 0xE5, 0x77, 0xEE, 0x77, 0x76, 0xB0, 0x73, 0x1F, 0xA5, 0x15, 0xE3, 0xA8, 0xA0, 0x4A, 0x8B, 0xD5,
- 0x66, 0x63, 0x2A, 0x55, 0xDF, 0xEE, 0xC4, 0x89, 0xDC, 0x9A, 0x4A, 0x4F, 0xA8, 0x00, 0x4E, 0x94,
- 0x55, 0x5A, 0x7E, 0xCB, 0x40, 0x67, 0x07, 0x9B, 0x5F, 0x50, 0x5A, 0x2D, 0x91, 0xA3, 0x82, 0x2A,
- 0x2D, 0xB6, 0xC0, 0xD8, 0x49, 0xD9, 0xFA, 0xA2, 0xA0, 0xD2, 0xB4, 0x05, 0xC6, 0x07, 0x50, 0xBF,
- 0x33, 0x56, 0xC3, 0x12, 0x1F, 0xFC, 0x79, 0xF1, 0xD3, 0xCB, 0xF4, 0xC2, 0x7E, 0x6A, 0x15, 0x2F,
- 0xD6, 0xD7, 0x43, 0x2F, 0xE3, 0x89, 0xF2, 0x42, 0xC2, 0x41, 0xCB, 0xEC, 0x25, 0x91, 0xDA, 0x1A,
- 0xF3, 0xD9, 0x96, 0xC6, 0x80, 0x0B, 0x58, 0x5A, 0xA7, 0xDB, 0x92, 0x27, 0x2D, 0x39, 0x96, 0xC6,
- 0xA9, 0xDC, 0x4E, 0xF0, 0x40, 0xE4, 0x30, 0x17, 0x47, 0xDE, 0x3F, 0x28, 0xAD, 0xE9, 0x30, 0x80,
- 0x78, 0xF8, 0xE8, 0xB6, 0x4E, 0x14, 0xE3, 0x07, 0xC8, 0x20, 0x6D, 0x63, 0xFC, 0x06, 0x03, 0x08,
- 0xD2, 0xD8, 0x61, 0x4C, 0xBD, 0x51, 0x66, 0x2A, 0x59, 0x05, 0x28, 0xC4, 0x54, 0x5A, 0x65, 0x67,
- 0xC3, 0x4C, 0x75, 0x19, 0x53, 0x19, 0x4E, 0x9A, 0x60, 0x2A, 0x39, 0x0F, 0x2E, 0xC4, 0x54, 0xDA,
- 0x44, 0x38, 0x62, 0xEA, 0x21, 0x04, 0x3A, 0x32, 0x32, 0xA6, 0xA3, 0x12, 0xA1, 0xEE, 0xF2, 0xE2,
- 0xF0, 0xC5, 0x9B, 0x0B, 0x8D, 0x2E, 0x69, 0x3A, 0x56, 0xC1, 0x88, 0x17, 0xEF, 0xF4, 0x2F, 0x15,
- 0xF3, 0x28, 0xE9, 0x42, 0xD4, 0x7B, 0x73, 0xA1, 0x1A, 0xF0, 0x38, 0x64, 0x91, 0x90, 0xD7, 0x6B,
- 0x75, 0xCA, 0x54, 0x08, 0x43, 0x22, 0xB7, 0x14, 0xF4, 0x28, 0xFA, 0x76, 0x24, 0x83, 0xCB, 0x62,
- 0x32, 0x28, 0x54, 0x25, 0x8D, 0xCB, 0xA0, 0x40, 0xD8, 0x0F, 0x88, 0xDC, 0xA6, 0x0C, 0x30, 0x4A,
- 0x5E, 0x5E, 0x68, 0xEF, 0xFF, 0xA9, 0x5D, 0xDE, 0x2C, 0x1C, 0x6F, 0xE9, 0x92, 0xDC, 0xA8, 0xC2,
- 0xE1, 0xE2, 0x71, 0xA5, 0xDF, 0xEB, 0x75, 0x54, 0x03, 0x4B, 0x2F, 0x7D, 0x08, 0x98, 0xB4, 0x36,
- 0x18, 0x2F, 0x29, 0xA1, 0xDD, 0x90, 0xC1, 0x0F, 0x04, 0x34, 0xAD, 0x14, 0x37, 0x39, 0x60, 0x9C,
- 0x43, 0xBD, 0x85, 0xDB, 0xAB, 0x15, 0x19, 0x94, 0x67, 0x94, 0x9D, 0x8D, 0x0E, 0x07, 0x94, 0xCA,
- 0x5E, 0xC8, 0xDE, 0xA7, 0x8F, 0x57, 0x6A, 0x8C, 0x25, 0xEB, 0x68, 0xC5, 0x54, 0x97, 0xF6, 0xC8,
- 0x68, 0xC1, 0x41, 0x41, 0xDE, 0xE8, 0xEC, 0x10, 0x62, 0xEC, 0xBA, 0x6C, 0x52, 0x44, 0x76, 0x36,
- 0x31, 0xA7, 0x60, 0xB0, 0x72, 0x59, 0x52, 0x19, 0xB2, 0xB7, 0x9A, 0xE2, 0x17, 0x48, 0x9B, 0x23,
- 0x08, 0xF3, 0xA0, 0x7B, 0xF4, 0xAE, 0x40, 0xB2, 0x73, 0x63, 0x4A, 0xA2, 0xEB, 0x1A, 0x0B, 0xE2,
- 0x59, 0xC1, 0xD9, 0x60, 0x08, 0x8D, 0x6B, 0xC2, 0x3F, 0x97, 0xAA, 0xCD, 0x5C, 0x32, 0x39, 0xAF,
- 0x7D, 0x13, 0xE2, 0xE4, 0x8F, 0xDF, 0x61, 0x93, 0x9A, 0x36, 0x76, 0x56, 0xB6, 0xE5, 0x18, 0x18,
- 0xF8, 0x8D, 0x85, 0x0F, 0x94, 0x1E, 0xFC, 0xB1, 0xC0, 0x37, 0x5C, 0x19, 0xF8, 0xB4, 0x96, 0x91,
- 0xD1, 0x8F, 0xA0, 0xFE, 0x91, 0xE5, 0x78, 0xC1, 0xB4, 0x0D, 0x0F, 0xC3, 0xCF, 0xAB, 0xFE, 0xCF,
- 0x7F, 0xE7, 0x6D, 0x15, 0x30, 0xE7, 0x53, 0x41, 0x00, 0x35, 0xCD, 0x73, 0x47, 0xE7, 0x35, 0xA0,
- 0xD4, 0x75, 0x3C, 0xCF, 0x71, 0xCD, 0xA9, 0x99, 0x32, 0x36, 0xA7, 0x49, 0xFB, 0x50, 0x26, 0xEE,
- 0x44, 0x63, 0xC9, 0xB0, 0x7F, 0xE6, 0x8D, 0x5C, 0x73, 0xE1, 0x0F, 0x1E, 0x8D, 0x9D, 0xD1, 0x72,
- 0x4E, 0x6C, 0xFF, 0xC0, 0x18, 0x8F, 0x2F, 0xAF, 0xE1, 0xE0, 0x3B, 0xFC, 0x16, 0x1F, 0x48, 0xBE,
- 0x51, 0x7F, 0xF5, 0xAF, 0x77, 0x38, 0x0C, 0xE3, 0x35, 0x90, 0x17, 0x19, 0xD7, 0xF7, 0xB5, 0xC9,
- 0xD2, 0x66, 0x23, 0x61, 0x83, 0x60, 0xDB, 0x3D, 0xED, 0x2B, 0x60, 0xBC, 0x36, 0x5C, 0x6D, 0x68,
- 0x78, 0xE4, 0xAD, 0xE3, 0xF9, 0xDA, 0xB9, 0x16, 0x62, 0xB4, 0x9C, 0x11, 0xDD, 0xB7, 0x71, 0xC0,
- 0xF8, 0xE2, 0x2D, 0x19, 0xE3, 0x3F, 0xBA, 0x16, 0x34, 0x0D, 0xA1, 0x9E, 0x6A, 0xF5, 0xD3, 0x63,
- 0xBD, 0x8E, 0xF6, 0x17, 0x76, 0x31, 0x21, 0x10, 0xE6, 0xA1, 0x5D, 0x63, 0xE9, 0x5A, 0xFB, 0xDA,
- 0x68, 0xB8, 0xF7, 0x95, 0x52, 0x4F, 0x2F, 0xE3, 0xB5, 0x3D, 0xCE, 0xCC, 0x81, 0x3F, 0x23, 0x76,
- 0x23, 0xA2, 0xCC, 0x25, 0xDE, 0xC2, 0xB1, 0x3D, 0xC2, 0x88, 0x63, 0x3F, 0x73, 0x12, 0x5D, 0x3F,
- 0xF0, 0x7C, 0xC3, 0x5F, 0x7A, 0xDA, 0xE3, 0xF3, 0x73, 0xAD, 0xDD, 0x6A, 0x89, 0xCD, 0x34, 0xE8,
- 0x26, 0xD9, 0x6E, 0x5F, 0x4B, 0x5C, 0xF8, 0x48, 0x6E, 0xFC, 0xBD, 0x67, 0x21, 0xCC, 0x9D, 0x46,
- 0x2C, 0x8F, 0xC4, 0x90, 0x84, 0x00, 0xF8, 0xDE, 0xB8, 0xC6, 0x5E, 0x9C, 0xC0, 0xC6, 0xD8, 0xF0,
- 0x8D, 0xBD, 0xAF, 0x31, 0x7D, 0x41, 0xAF, 0x40, 0xC9, 0xBE, 0x46, 0x6F, 0x3D, 0x13, 0x6E, 0xDD,
- 0xED, 0x1D, 0x80, 0x0C, 0x81, 0xDF, 0x10, 0x9A, 0xB8, 0x6E, 0x9C, 0x62, 0x0A, 0xDD, 0xD4, 0xF7,
- 0x35, 0xBC, 0x13, 0x87, 0x15, 0x88, 0x7C, 0x14, 0x5C, 0x0B, 0x84, 0x96, 0x8D, 0x56, 0x82, 0x92,
- 0xA1, 0xBB, 0x8B, 0xA9, 0x08, 0x02, 0xCE, 0x07, 0x32, 0x05, 0x89, 0x4D, 0xF7, 0x79, 0xFC, 0xD9,
- 0xA7, 0xC1, 0x67, 0x9F, 0xC5, 0x2D, 0x41, 0x6B, 0x87, 0x87, 0xE0, 0xD2, 0x9E, 0x63, 0x11, 0xB0,
- 0x8A, 0x69, 0xA3, 0xCE, 0xBF, 0xF5, 0x0A, 0x16, 0x55, 0x6F, 0xDD, 0xD4, 0x9F, 0x02, 0x82, 0x03,
- 0xDF, 0xB9, 0xF2, 0x5D, 0xD3, 0x9E, 0x36, 0xF4, 0xFE, 0x5E, 0x84, 0x8D, 0xDE, 0x46, 0x94, 0x89,
- 0xFB, 0xF4, 0x3A, 0xED, 0x24, 0x79, 0xA3, 0xC1, 0xAF, 0x3F, 0xAD, 0xEF, 0xD5, 0x39, 0xF1, 0xF4,
- 0x1C, 0xCC, 0xAD, 0xC1, 0x0E, 0x9E, 0x50, 0x1A, 0xF7, 0xB4, 0xB3, 0x33, 0xDE, 0x0D, 0x6B, 0x85,
- 0x17, 0xA1, 0x11, 0xFD, 0x93, 0xB8, 0x15, 0x9A, 0xE2, 0xEF, 0xFF, 0xF8, 0x1A, 0xD8, 0xEC, 0xDD,
- 0x21, 0x50, 0xFD, 0x1C, 0x43, 0xF0, 0x3F, 0xBE, 0xC2, 0xFF, 0x77, 0x4F, 0x68, 0xD4, 0xFD, 0xC7,
- 0x57, 0xFC, 0x73, 0xF7, 0x04, 0x7A, 0x82, 0x63, 0xDA, 0xDF, 0xDD, 0xEF, 0x54, 0x0E, 0xEB, 0xD2,
- 0x9B, 0xA6, 0x4A, 0x2F, 0x14, 0x5B, 0x61, 0x9A, 0xA6, 0x19, 0x44, 0xFD, 0x1E, 0xF9, 0x6F, 0x63,
- 0xE4, 0x8C, 0x41, 0x3D, 0x3E, 0x58, 0x72, 0xA0, 0x74, 0x0B, 0x54, 0x12, 0x08, 0xAA, 0x15, 0x28,
- 0xDD, 0x9C, 0xD0, 0x96, 0x1A, 0x77, 0x95, 0xC8, 0x40, 0x82, 0x96, 0x0B, 0xC3, 0xF5, 0xC8, 0xB7,
- 0xB6, 0xDF, 0xF0, 0x63, 0x4E, 0x91, 0x22, 0xF1, 0xC1, 0x20, 0xC6, 0x02, 0xFE, 0x00, 0x0E, 0xDA,
- 0xD5, 0xB9, 0xD2, 0x42, 0x63, 0xE3, 0x7F, 0x13, 0x66, 0xF3, 0xA6, 0x90, 0xD9, 0x34, 0xA8, 0xD8,
- 0xC2, 0x3E, 0xF7, 0x8A, 0x98, 0x10, 0x90, 0x25, 0x18, 0x10, 0x75, 0x88, 0x48, 0x64, 0xEC, 0x62,
- 0x8A, 0x43, 0xFC, 0x3C, 0xB2, 0xBE, 0x34, 0x6E, 0xE0, 0xBF, 0x64, 0xCC, 0x5A, 0xD3, 0x15, 0x36,
- 0x7A, 0x8E, 0xFF, 0x81, 0x82, 0xF0, 0x4F, 0xAA, 0xA1, 0x00, 0xD6, 0xF7, 0x96, 0xD5, 0x60, 0x1F,
- 0x98, 0x03, 0x1B, 0x59, 0x42, 0x3C, 0xF4, 0x6E, 0x31, 0x32, 0x39, 0x8E, 0xFF, 0x79, 0x5F, 0x5B,
- 0xB8, 0x40, 0x18, 0xFD, 0x96, 0x0A, 0x1C, 0x03, 0x22, 0x62, 0xB3, 0xBF, 0xB9, 0x14, 0x2C, 0x2C,
- 0xEB, 0x39, 0xC3, 0x0A, 0x24, 0xB0, 0x03, 0x30, 0x99, 0x25, 0x9A, 0x2E, 0xFC, 0x7F, 0xF7, 0x04,
- 0x3A, 0x81, 0x43, 0xF8, 0xFF, 0xEE, 0x09, 0x76, 0x85, 0x46, 0x85, 0x3D, 0xDE, 0x3D, 0x81, 0x1E,
- 0xE1, 0x04, 0xFE, 0x87, 0x36, 0xD8, 0x2F, 0xB6, 0xC2, 0xBF, 0x70, 0x87, 0xF6, 0x8F, 0x37, 0xE9,
- 0x01, 0xBB, 0xC0, 0x4F, 0xB3, 0x18, 0x64, 0x6F, 0xD7, 0x6F, 0xD0, 0xB7, 0x9D, 0x7F, 0xBE, 0x01,
- 0x76, 0xE8, 0xC1, 0x2D, 0xC4, 0x20, 0x7B, 0x8C, 0xE7, 0xF8, 0xE7, 0x36, 0x50, 0x30, 0x5E, 0xE0,
- 0x47, 0x70, 0x8D, 0xBE, 0x11, 0x16, 0x2F, 0xB1, 0x03, 0x6C, 0x45, 0xDF, 0xDF, 0x49, 0x5B, 0xB1,
- 0x23, 0xB8, 0xC6, 0xDF, 0xFA, 0xB8, 0xAF, 0xF1, 0xF7, 0x0A, 0xE6, 0x0A, 0x27, 0x7A, 0xEF, 0xDF,
- 0x73, 0xEF, 0x06, 0x19, 0x64, 0xA4, 0xA1, 0x54, 0xC2, 0xB3, 0xDB, 0xBB, 0x27, 0x04, 0xEF, 0x51,
- 0x22, 0xE1, 0xF8, 0x96, 0x1F, 0xC3, 0x75, 0xA0, 0x0F, 0xEF, 0x04, 0x04, 0xD3, 0x0B, 0xB7, 0xD1,
- 0x05, 0x68, 0xE1, 0xE3, 0x7D, 0x4E, 0x3C, 0x9C, 0xDD, 0x86, 0x67, 0x08, 0x4D, 0x61, 0x39, 0x1B,
- 0x70, 0x7A, 0x1B, 0x9D, 0xC2, 0x5D, 0xE4, 0x05, 0x15, 0xC0, 0x79, 0xBA, 0x7B, 0xC2, 0x79, 0x42,
- 0x2D, 0xB2, 0xA3, 0xB8, 0xA8, 0xE1, 0x7F, 0xF4, 0x23, 0x9F, 0x07, 0xEC, 0x4F, 0x81, 0x77, 0x12,
- 0x6B, 0x4F, 0x3B, 0x1F, 0xF0, 0xB8, 0x8F, 0x01, 0x00, 0x3C, 0x0A, 0xAE, 0x13, 0xEB, 0xC0, 0xF0,
- 0xC1, 0x21, 0x20, 0x6F, 0x22, 0xDE, 0x01, 0x46, 0x94, 0xD0, 0xCD, 0xD7, 0x6E, 0x1D, 0xD8, 0xE0,
- 0x16, 0x14, 0xE1, 0xDE, 0x29, 0x0F, 0x1B, 0x88, 0x88, 0x71, 0xB9, 0x86, 0x8B, 0x5D, 0x4E, 0x43,
- 0xC7, 0xEE, 0xA6, 0x60, 0xE4, 0xA1, 0x30, 0x0E, 0x81, 0x17, 0xD3, 0xB0, 0xD1, 0x51, 0x43, 0xC0,
- 0xD5, 0xEE, 0xF5, 0x22, 0x6C, 0x89, 0x48, 0xC7, 0xE6, 0x94, 0x28, 0x90, 0x03, 0xCC, 0xCF, 0xA3,
- 0xA1, 0x70, 0x04, 0xE6, 0xA0, 0xD5, 0x83, 0x09, 0x65, 0xFD, 0x74, 0x2D, 0xC2, 0x01, 0x04, 0x2F,
- 0x20, 0x68, 0xCF, 0x19, 0x8D, 0xA7, 0x51, 0xF8, 0xD4, 0xB4, 0x21, 0x24, 0x3B, 0x5F, 0x9E, 0xC5,
- 0x90, 0xD1, 0xD4, 0x3F, 0xC4, 0xC4, 0xAE, 0x61, 0xA2, 0x90, 0xB8, 0xC4, 0xB6, 0xDB, 0x35, 0x1D,
- 0x9B, 0xC8, 0x7B, 0x8D, 0xC5, 0x4B, 0xDE, 0x11, 0x3F, 0x1B, 0x93, 0x89, 0xB1, 0xB4, 0xFC, 0x08,
- 0xCC, 0x25, 0x90, 0xE8, 0xDA, 0x3C, 0x6C, 0xB1, 0x24, 0x3F, 0x77, 0xE8, 0xCE, 0x18, 0x2A, 0x82,
- 0x51, 0xE1, 0x71, 0x72, 0x54, 0x00, 0xAB, 0x74, 0xFD, 0x46, 0xFD, 0xD2, 0x75, 0x1D, 0xF7, 0xD7,
- 0xFA, 0x53, 0x6C, 0xF4, 0xB4, 0xFE, 0xDB, 0xA9, 0x46, 0xE3, 0xE9, 0x5E, 0x3C, 0xB8, 0x0B, 0xE1,
- 0xF3, 0xF0, 0x50, 0x7B, 0xE1, 0xFB, 0x06, 0x28, 0x00, 0x6B, 0x2C, 0x33, 0x94, 0x8F, 0x66, 0xF0,
- 0x24, 0xD0, 0x71, 0xD1, 0x28, 0xD9, 0xF7, 0xEE, 0x41, 0x22, 0x98, 0x58, 0x7A, 0x00, 0x12, 0x24,
- 0x99, 0x14, 0xD5, 0xC1, 0xBF, 0x97, 0xC4, 0xBD, 0xBD, 0xA2, 0x02, 0x73, 0xDC, 0x17, 0x10, 0x2A,
- 0xEB, 0x07, 0xD1, 0x3C, 0xA9, 0xCE, 0x72, 0x9E, 0x03, 0x40, 0x75, 0x09, 0x7D, 0x80, 0x8E, 0x23,
- 0x9B, 0x67, 0xDC, 0x84, 0x7A, 0x87, 0x71, 0xEE, 0x9C, 0x2B, 0x23, 0x99, 0x64, 0x41, 0x0B, 0xC7,
- 0xFE, 0x42, 0x6E, 0x97, 0x0B, 0x10, 0x7F, 0x94, 0x36, 0x25, 0x12, 0x39, 0x2E, 0x1D, 0x72, 0x00,
- 0x2D, 0x2F, 0xF8, 0xC0, 0xA9, 0x77, 0x24, 0x8D, 0x22, 0x15, 0x50, 0xEB, 0x44, 0x4F, 0x7C, 0xB6,
- 0xD6, 0xE8, 0xEE, 0x91, 0xFC, 0x4C, 0x92, 0x72, 0x72, 0x02, 0xB9, 0xF0, 0xC0, 0xB5, 0xA9, 0x63,
- 0x27, 0x7A, 0x48, 0xA4, 0x83, 0x90, 0x0C, 0x46, 0x91, 0x61, 0xB9, 0x80, 0xE4, 0x93, 0xC4, 0x83,
- 0x43, 0x68, 0x0B, 0xC1, 0xCD, 0xB9, 0xE3, 0x93, 0x44, 0xC4, 0x30, 0x6D, 0xD3, 0x37, 0x0D, 0xEB,
- 0x53, 0x64, 0x8D, 0x5B, 0x75, 0x7F, 0x89, 0x8F, 0x17, 0xF0, 0xFF, 0xB5, 0x9C, 0x4F, 0x2D, 0x4F,
- 0x59, 0xB3, 0x90, 0x30, 0x1E, 0x44, 0x56, 0x22, 0xCA, 0x21, 0x16, 0x16, 0xF8, 0xFD, 0xA0, 0xA7,
- 0xC7, 0x8F, 0xE9, 0xD1, 0xA3, 0x50, 0x69, 0x41, 0xF4, 0x38, 0xD7, 0xA2, 0x1B, 0x09, 0x05, 0xAF,
- 0xE3, 0x4E, 0xE0, 0x08, 0x90, 0x0B, 0x18, 0x12, 0x81, 0x7F, 0x01, 0xE9, 0x0D, 0xDA, 0xC2, 0xFF,
- 0x47, 0xFD, 0x07, 0x14, 0xF5, 0xB7, 0x17, 0xE2, 0x33, 0x6C, 0x3B, 0xE1, 0x01, 0x0C, 0x4E, 0x9E,
- 0x4F, 0x3F, 0x85, 0x44, 0x5B, 0x9E, 0x24, 0x87, 0xA1, 0x3B, 0x9C, 0xEC, 0xC3, 0x64, 0xE6, 0x92,
- 0x85, 0xE7, 0x97, 0xB7, 0xDF, 0x8E, 0x1B, 0xF5, 0xF0, 0x8D, 0x46, 0xF5, 0x3D, 0x8C, 0x4B, 0x96,
- 0x39, 0xFA, 0x12, 0x86, 0xA5, 0xC8, 0xF2, 0x20, 0xA5, 0xC1, 0xEC, 0x1F, 0x27, 0xD6, 0xE6, 0x88,
- 0x9B, 0xEA, 0xAB, 0x0F, 0x2F, 0xDE, 0x7D, 0x7E, 0xF1, 0xF1, 0xE3, 0x07, 0x6D, 0x09, 0x36, 0xAB,
- 0xF7, 0x3F, 0x63, 0xDA, 0x02, 0x93, 0x00, 0xF7, 0x33, 0xD0, 0xE7, 0x7D, 0xA6, 0x48, 0x5B, 0xBF,
- 0xFE, 0xF6, 0x6B, 0xFB, 0x37, 0x00, 0xFD, 0xFA, 0x5F, 0x76, 0x9D, 0x31, 0x82, 0xA8, 0x9E, 0x02,
- 0x2E, 0x3C, 0xFE, 0x5A, 0x7F, 0x1A, 0x18, 0x7C, 0x23, 0x9D, 0xC2, 0xF0, 0xF5, 0xBA, 0xF5, 0x3D,
- 0x60, 0xF5, 0x6E, 0x1F, 0x50, 0xB1, 0x74, 0x10, 0xC6, 0x9C, 0x06, 0x96, 0x2A, 0x4C, 0xE8, 0x40,
- 0x7F, 0x06, 0x7F, 0xCE, 0x34, 0xFD, 0x08, 0xFE, 0x3E, 0x7D, 0x1A, 0x99, 0x48, 0xC9, 0xEE, 0xEA,
- 0x4F, 0x4D, 0xDA, 0x19, 0xCC, 0x4E, 0x1A, 0xE6, 0x19, 0x48, 0xF2, 0x79, 0x7D, 0xBF, 0x7E, 0x5A,
- 0xAF, 0xC3, 0xB5, 0xA0, 0xFB, 0xBB, 0x18, 0x3B, 0x77, 0xCF, 0x42, 0x0E, 0xD9, 0xE8, 0x0A, 0x37,
- 0x22, 0xF1, 0x8B, 0x59, 0xDD, 0x4B, 0x56, 0xE5, 0x3A, 0x4F, 0xD7, 0x09, 0x7B, 0x9B, 0xF5, 0x94,
- 0x0E, 0x88, 0x22, 0x4C, 0x86, 0x82, 0x58, 0x68, 0x08, 0x7D, 0x2D, 0x15, 0x35, 0x1D, 0x6E, 0xC7,
- 0x63, 0x17, 0xB4, 0x4D, 0xAD, 0x65, 0x6F, 0xCD, 0x85, 0xD5, 0x70, 0x60, 0x63, 0x09, 0x8E, 0xB5,
- 0xE9, 0x66, 0x26, 0x12, 0xDA, 0x5A, 0xC0, 0xB2, 0x96, 0xF0, 0xB4, 0xEE, 0x2F, 0xD7, 0x61, 0x1A,
- 0x9B, 0x2A, 0x6A, 0x6C, 0x2A, 0x68, 0x6C, 0xBA, 0x59, 0x8D, 0x71, 0xD4, 0x95, 0xB5, 0x16, 0xE0,
- 0xC9, 0xD1, 0x5C, 0x2E, 0x3C, 0x57, 0x1A, 0xD7, 0xD6, 0x54, 0xA6, 0xAD, 0x32, 0x6A, 0x62, 0xB1,
- 0x0B, 0x26, 0x45, 0xC4, 0x7D, 0xFB, 0xF1, 0xDD, 0x77, 0x18, 0x6D, 0xE4, 0x2A, 0x0B, 0x35, 0x96,
- 0x4C, 0xAE, 0x24, 0x18, 0x30, 0x28, 0xC6, 0x2A, 0x1F, 0x89, 0xB0, 0xA9, 0x45, 0x15, 0x84, 0x1C,
- 0x43, 0xE0, 0x05, 0x03, 0x35, 0xDF, 0xC5, 0x22, 0x41, 0xE0, 0xBC, 0x11, 0x54, 0x86, 0x2D, 0x20,
- 0x80, 0x92, 0x12, 0x19, 0xE6, 0x35, 0x87, 0x11, 0x6A, 0x19, 0x3B, 0x77, 0x11, 0xEA, 0xAF, 0x9E,
- 0x6A, 0x50, 0x0B, 0xA6, 0xEA, 0x51, 0x6C, 0xF3, 0x72, 0xA5, 0xC3, 0x27, 0xF4, 0x4A, 0x02, 0xE2,
- 0x5F, 0x95, 0x93, 0x18, 0x38, 0x2F, 0x04, 0x14, 0xC0, 0x72, 0x2B, 0xC1, 0x42, 0x0B, 0x08, 0x4A,
- 0x38, 0xE8, 0x97, 0xC8, 0x52, 0x30, 0xA8, 0x51, 0x41, 0x3F, 0xFD, 0x25, 0xC1, 0x10, 0x94, 0x2A,
- 0x94, 0x90, 0x04, 0x9F, 0xAD, 0x4A, 0xC7, 0xA3, 0x46, 0x4C, 0xF0, 0xB1, 0x28, 0x09, 0x1E, 0x5E,
- 0x1A, 0x51, 0x42, 0xC3, 0x3F, 0x74, 0x94, 0x8A, 0x45, 0x8D, 0x18, 0xFE, 0x6D, 0x21, 0x19, 0x4F,
- 0xBC, 0x14, 0xA3, 0xC6, 0x13, 0xFF, 0x24, 0x4E, 0x3A, 0x1E, 0x45, 0xD9, 0xF0, 0xCF, 0xD0, 0xC8,
- 0xAC, 0x8E, 0x55, 0x7E, 0x32, 0x1D, 0x83, 0x35, 0x01, 0x60, 0x9E, 0xAA, 0x3E, 0xD7, 0xC5, 0xCC,
- 0x9A, 0x17, 0x8A, 0xB2, 0x30, 0xF0, 0x26, 0x49, 0x0C, 0x41, 0x74, 0xB8, 0x87, 0x92, 0xDD, 0x7D,
- 0x44, 0xA1, 0xF7, 0x96, 0xA5, 0x16, 0x85, 0x16, 0x96, 0x15, 0x84, 0x9F, 0x10, 0x26, 0x25, 0xFC,
- 0xD0, 0x25, 0x33, 0x5A, 0x6F, 0xCD, 0x94, 0x3F, 0x6D, 0xC1, 0xF0, 0xAE, 0x2B, 0x11, 0x71, 0xCC,
- 0x97, 0x96, 0x92, 0x25, 0x41, 0x3B, 0x8E, 0x46, 0x34, 0x24, 0xBA, 0x1C, 0x77, 0xEB, 0xA9, 0x85,
- 0xAE, 0x5B, 0x2F, 0x05, 0x03, 0x2D, 0x09, 0xAB, 0xE5, 0x66, 0xD0, 0x32, 0x05, 0xC9, 0xC2, 0x55,
- 0x4B, 0xEF, 0xA0, 0x5D, 0x1A, 0x23, 0x58, 0x7F, 0x56, 0x63, 0x25, 0xF8, 0xEA, 0xB8, 0x8C, 0x0E,
- 0x5A, 0xB5, 0xCE, 0x52, 0x0A, 0xFF, 0xBA, 0x73, 0x9A, 0x46, 0x16, 0xAA, 0x43, 0x6E, 0xF0, 0xFD,
- 0x63, 0xC9, 0xB0, 0x5B, 0xB2, 0xD8, 0xBF, 0x7B, 0xE7, 0x30, 0xAE, 0x89, 0x82, 0x6B, 0x84, 0x2B,
- 0xF3, 0x3C, 0xBB, 0x8B, 0xC0, 0x32, 0xBC, 0x63, 0x64, 0xD8, 0xD7, 0x46, 0xCC, 0x3B, 0x46, 0x30,
- 0xFD, 0xF5, 0x09, 0x47, 0xDD, 0xA8, 0xB1, 0x06, 0x35, 0x4E, 0x23, 0x3B, 0x3B, 0xA0, 0x5B, 0xD6,
- 0xB0, 0x10, 0x62, 0x92, 0x15, 0x3B, 0x89, 0xDD, 0x9E, 0x11, 0xFA, 0x9A, 0x10, 0x7E, 0x9F, 0x9D,
- 0xB1, 0x06, 0x61, 0x2F, 0x43, 0x67, 0x7C, 0x7B, 0x60, 0x2C, 0x16, 0x10, 0xBC, 0x2E, 0x66, 0xA6,
- 0x35, 0x6E, 0x30, 0x50, 0xC1, 0x44, 0x70, 0x6F, 0x02, 0xA1, 0xAB, 0x56, 0x1C, 0x2B, 0x30, 0x7C,
- 0xC1, 0xAE, 0x35, 0xEA, 0xED, 0x71, 0xB0, 0x66, 0xC4, 0x9B, 0x1D, 0x8C, 0x5D, 0x63, 0xF5, 0x2D,
- 0x6E, 0x6A, 0x68, 0x60, 0xA7, 0xFB, 0xAD, 0xFD, 0x16, 0x6F, 0xE0, 0xBB, 0xB7, 0x61, 0x96, 0x89,
- 0x78, 0x71, 0xF1, 0xF7, 0xC7, 0x0F, 0xDF, 0x45, 0x78, 0x7D, 0xE7, 0x15, 0xBB, 0xD4, 0xA8, 0xD3,
- 0x5D, 0x11, 0x87, 0x7F, 0x2C, 0x70, 0x2A, 0x10, 0x28, 0x45, 0x10, 0x23, 0x6E, 0x78, 0x40, 0x51,
- 0xB1, 0xE6, 0xCF, 0x44, 0xA4, 0x70, 0xD9, 0x26, 0x2B, 0x0D, 0x30, 0x91, 0x86, 0x0C, 0x34, 0xD8,
- 0x0E, 0x81, 0xE0, 0xC8, 0xC9, 0xEB, 0xA5, 0x65, 0xFD, 0x42, 0x0C, 0x17, 0xF4, 0xF1, 0x54, 0x6B,
- 0xD4, 0x5A, 0xB5, 0xA7, 0x0D, 0x7A, 0xFD, 0x1D, 0xB0, 0x33, 0x6B, 0xEC, 0x3D, 0xD5, 0xF7, 0xF6,
- 0x0E, 0x3C, 0xD0, 0x19, 0x69, 0x34, 0xDB, 0x41, 0x13, 0xF8, 0x43, 0xDB, 0xB0, 0x4E, 0xD2, 0xEF,
- 0xBF, 0x75, 0x96, 0xAE, 0x97, 0xD5, 0xE0, 0x9D, 0x69, 0x63, 0x11, 0x27, 0xAB, 0xC9, 0x15, 0x01,
- 0xC1, 0x8E, 0xD7, 0x9A, 0xD4, 0xE8, 0x2E, 0x0E, 0x5E, 0xFE, 0xD0, 0xE8, 0xE2, 0xB6, 0xD6, 0x10,
- 0x2B, 0x3A, 0x7C, 0x19, 0x91, 0xA0, 0xA1, 0x37, 0x02, 0x8F, 0xBF, 0x13, 0x8D, 0x03, 0x5C, 0x16,
- 0x0C, 0xE0, 0x7B, 0xF0, 0x80, 0x03, 0x97, 0xCC, 0x9D, 0x6B, 0xB2, 0xA6, 0x7F, 0x6C, 0x1E, 0x1A,
- 0xFF, 0xCC, 0x1C, 0xB3, 0x32, 0x4D, 0x64, 0xB7, 0x58, 0x15, 0xC2, 0x0D, 0x22, 0xB8, 0x85, 0x02,
- 0xF7, 0x53, 0x34, 0xEA, 0x6C, 0xF7, 0x0A, 0x1D, 0x15, 0xEE, 0x22, 0xB7, 0x99, 0x39, 0xAB, 0x2C,
- 0x48, 0xD6, 0x7B, 0x02, 0x38, 0x84, 0x1E, 0x9B, 0x9E, 0x31, 0xB4, 0xF2, 0xBB, 0xE6, 0xED, 0xC6,
- 0xBC, 0xFC, 0x0D, 0x0D, 0x82, 0x2B, 0x00, 0xEA, 0xBB, 0xB4, 0x4E, 0x28, 0xA0, 0x25, 0x76, 0x1E,
- 0xD6, 0x80, 0xAC, 0x4C, 0xC4, 0x13, 0x03, 0x26, 0x4F, 0x71, 0xCC, 0xAC, 0x78, 0x5C, 0xA0, 0xAC,
- 0x2C, 0x5E, 0x06, 0x88, 0xF8, 0x29, 0x98, 0x33, 0x58, 0xA8, 0xF6, 0x9C, 0xB2, 0xA0, 0x9D, 0xC6,
- 0xEE, 0x86, 0xB9, 0x8D, 0x58, 0x30, 0x7D, 0xC4, 0xE2, 0xDF, 0x5F, 0xB0, 0x82, 0x1B, 0x52, 0x1E,
- 0x93, 0xC0, 0x93, 0x27, 0x71, 0x6C, 0xB8, 0x8D, 0x85, 0x0D, 0x20, 0x61, 0x6F, 0xAC, 0x3D, 0x7B,
- 0x7D, 0x78, 0xB4, 0xB2, 0xC0, 0x49, 0x82, 0xA1, 0xE0, 0x71, 0x4C, 0xF0, 0xC2, 0x18, 0x01, 0x84,
- 0x98, 0x63, 0x2A, 0x20, 0xDC, 0x95, 0x56, 0x5B, 0x5B, 0xEF, 0x7F, 0x4E, 0xAD, 0xBE, 0x41, 0xF8,
- 0xA6, 0xC4, 0x3D, 0x90, 0x3F, 0x1A, 0x73, 0x74, 0x21, 0x3E, 0x87, 0x4E, 0x60, 0x9C, 0xC6, 0x30,
- 0x22, 0x63, 0x09, 0xBA, 0xF1, 0x77, 0x78, 0x48, 0x31, 0x4E, 0x0D, 0xD3, 0xBE, 0x20, 0x26, 0xA6,
- 0x7F, 0x7B, 0xC2, 0x5D, 0xDA, 0x3D, 0x20, 0xC2, 0x0D, 0x83, 0xC2, 0x72, 0xC6, 0xFA, 0x7A, 0xC8,
- 0xE1, 0x21, 0x6D, 0x9A, 0x82, 0x86, 0x76, 0xB1, 0x8E, 0x26, 0x93, 0xFA, 0xD5, 0xF0, 0x33, 0x62,
- 0x93, 0x09, 0x85, 0xA2, 0x5B, 0x0D, 0x51, 0x1C, 0xB4, 0x57, 0x38, 0xCC, 0x42, 0x35, 0x31, 0x46,
- 0xE4, 0xB3, 0x0B, 0x71, 0x6C, 0x6A, 0x9B, 0x7F, 0x12, 0x19, 0x42, 0xE6, 0x8C, 0x0D, 0x62, 0xBB,
- 0x4E, 0x90, 0x48, 0x22, 0x72, 0xEE, 0x67, 0xF1, 0xEB, 0xF1, 0x21, 0x3A, 0x70, 0xBD, 0x70, 0x69,
- 0x5D, 0xB4, 0x05, 0x56, 0xFA, 0x8F, 0x26, 0xC0, 0x91, 0xB1, 0x6D, 0xA8, 0x12, 0xAE, 0x63, 0x19,
- 0x3C, 0x6C, 0x22, 0xD6, 0xAB, 0x2B, 0x16, 0xC1, 0x33, 0x70, 0xB2, 0xCD, 0x7D, 0x49, 0xA4, 0xCB,
- 0xE1, 0xDC, 0xF4, 0x25, 0x08, 0xEB, 0x7A, 0x5D, 0x8A, 0x2B, 0xA5, 0x9E, 0x2E, 0x7A, 0x22, 0x8B,
- 0x66, 0x74, 0xA9, 0x11, 0x10, 0xC5, 0xB6, 0x0A, 0x8C, 0xD8, 0x6E, 0xF5, 0xE7, 0x30, 0xE2, 0xE2,
- 0x06, 0x00, 0x54, 0x75, 0x62, 0x0B, 0x10, 0x43, 0xC1, 0xF6, 0xAE, 0x51, 0x14, 0xF1, 0xDD, 0x6B,
- 0xC1, 0x8E, 0xB1, 0xF8, 0xCA, 0xA4, 0xB8, 0xF7, 0xE5, 0x77, 0x97, 0x00, 0x9C, 0x87, 0xF3, 0x59,
- 0xED, 0x1F, 0x5F, 0x29, 0x8A, 0x3B, 0x6D, 0x02, 0x91, 0xC0, 0x9B, 0x91, 0x31, 0x9D, 0x7B, 0xF9,
- 0x4B, 0xEF, 0x54, 0xC3, 0x6D, 0x3F, 0xB1, 0xDD, 0x6A, 0x77, 0xBF, 0x87, 0x16, 0x12, 0x0E, 0x24,
- 0xD1, 0x7A, 0x2B, 0x67, 0x7B, 0x6D, 0xDD, 0xF5, 0x91, 0xC2, 0x0A, 0x2B, 0x87, 0x55, 0x5A, 0x65,
- 0x95, 0x2D, 0x4E, 0x26, 0xA3, 0x14, 0xCF, 0x31, 0x1F, 0xA9, 0xF4, 0x4D, 0x77, 0x5D, 0xAA, 0x74,
- 0x29, 0xC9, 0x2E, 0xF1, 0xC7, 0xC2, 0x98, 0x25, 0x8C, 0xF9, 0x09, 0x3F, 0xDA, 0xE3, 0x72, 0x02,
- 0x13, 0x19, 0x07, 0xF1, 0x96, 0x19, 0x11, 0xAE, 0x3E, 0x33, 0x3D, 0xC6, 0x4C, 0x80, 0x49, 0x9B,
- 0x0B, 0x3B, 0x7F, 0x4B, 0x22, 0x5F, 0x76, 0x09, 0x95, 0xF5, 0x87, 0x07, 0x79, 0x7B, 0x28, 0x02,
- 0x19, 0x0E, 0xEC, 0x40, 0x40, 0x10, 0x13, 0x51, 0x21, 0x15, 0x65, 0xC8, 0x8C, 0xFD, 0x84, 0x01,
- 0x9B, 0x8E, 0xD6, 0xB4, 0xE7, 0x5F, 0xA9, 0x55, 0xFF, 0xB6, 0xCF, 0x46, 0x78, 0x21, 0x68, 0xEE,
- 0x15, 0x21, 0x68, 0x6D, 0x55, 0x3E, 0x97, 0x98, 0x8D, 0xAD, 0x4F, 0x06, 0x3F, 0x88, 0xC5, 0x14,
- 0xDF, 0xB9, 0xD6, 0x5A, 0x5B, 0x97, 0x17, 0x17, 0xD1, 0x42, 0x06, 0x25, 0xB2, 0x11, 0x16, 0xD5,
- 0x03, 0xF1, 0x48, 0x17, 0xD0, 0x52, 0xC5, 0xC5, 0xEC, 0x8B, 0x45, 0x14, 0x9C, 0x16, 0x64, 0xCE,
- 0x9F, 0xE8, 0x86, 0x59, 0x2A, 0xAF, 0x08, 0xE0, 0x22, 0xDC, 0x20, 0x9D, 0x0B, 0x19, 0x6D, 0xA6,
- 0x16, 0x70, 0xD0, 0xF9, 0x98, 0xDA, 0xFA, 0x03, 0x9F, 0xBA, 0x09, 0xA0, 0x88, 0x35, 0x1F, 0x36,
- 0x78, 0x4A, 0x26, 0x49, 0xBE, 0x38, 0x7A, 0x65, 0xC1, 0xD3, 0x61, 0x92, 0x35, 0x16, 0xA0, 0xA9,
- 0xE7, 0xE7, 0x03, 0x8B, 0xDB, 0xB2, 0xEB, 0x82, 0xB0, 0x3D, 0xDF, 0x59, 0x5C, 0xD1, 0xAB, 0x89,
- 0xA8, 0xB0, 0xA2, 0xC5, 0xAC, 0x03, 0xBC, 0x1F, 0xCC, 0x93, 0x44, 0x46, 0xE3, 0xF5, 0xFF, 0x2B,
- 0xAC, 0x74, 0x69, 0x0C, 0x4F, 0x3D, 0x9E, 0xED, 0xD2, 0x22, 0x98, 0xB4, 0x07, 0x3A, 0xE7, 0xF4,
- 0xDC, 0x11, 0x1B, 0x3C, 0xC2, 0x6D, 0xD0, 0x18, 0x3A, 0xF0, 0xF0, 0x77, 0xD6, 0x27, 0xA6, 0x12,
- 0x31, 0x05, 0xEF, 0xE5, 0xD2, 0xE2, 0x2C, 0x92, 0xA4, 0x44, 0x01, 0x9E, 0x39, 0x9B, 0x87, 0xA3,
- 0x06, 0x1B, 0x28, 0x31, 0x7C, 0x09, 0xCA, 0x4F, 0x89, 0x91, 0x91, 0x98, 0x78, 0x50, 0x8A, 0x13,
- 0x2F, 0x8C, 0x7C, 0x6C, 0x0F, 0xFD, 0xF3, 0xCF, 0xA3, 0x21, 0x0C, 0x76, 0x38, 0x01, 0x04, 0xD7,
- 0x5B, 0x35, 0xF6, 0xEE, 0xB2, 0xD8, 0x61, 0xE2, 0x8A, 0x14, 0xA9, 0x4A, 0x04, 0x8D, 0xDA, 0x72,
- 0x6C, 0x31, 0xF9, 0xC8, 0xD1, 0x89, 0xD6, 0x7B, 0x69, 0x07, 0x13, 0x96, 0x34, 0xC1, 0x9E, 0xAF,
- 0x8B, 0x96, 0xE5, 0xAC, 0x31, 0x04, 0x51, 0x3C, 0x5E, 0x23, 0x36, 0x91, 0x94, 0x0A, 0x76, 0x11,
- 0x34, 0x08, 0x68, 0x17, 0x1D, 0x22, 0x85, 0xF6, 0xF8, 0x58, 0x99, 0x48, 0xFF, 0x02, 0x95, 0x5F,
- 0x2C, 0x81, 0x88, 0x79, 0xA0, 0x72, 0x76, 0x0D, 0x33, 0xDC, 0xD0, 0x36, 0x21, 0xE3, 0xCD, 0xF2,
- 0x19, 0xB8, 0x2D, 0x38, 0x1A, 0x4F, 0x8F, 0x73, 0x00, 0x68, 0x4E, 0xCC, 0x1E, 0x84, 0xA1, 0xB0,
- 0x6C, 0xC3, 0xAE, 0xAF, 0x09, 0x89, 0x77, 0x66, 0x7C, 0x81, 0x66, 0x23, 0xD6, 0x4C, 0x40, 0x02,
- 0x78, 0xD7, 0xD3, 0x05, 0x89, 0x20, 0xA0, 0xDD, 0x5E, 0xA8, 0x17, 0x04, 0xE2, 0x99, 0x68, 0xA4,
- 0x95, 0xF4, 0xD9, 0xC4, 0xFA, 0x4C, 0x22, 0xA1, 0xB0, 0xF4, 0x19, 0xC4, 0xFA, 0xEC, 0xE1, 0x4E,
- 0xD0, 0x42, 0xF0, 0xC4, 0x56, 0x24, 0x48, 0x92, 0x2D, 0x75, 0x22, 0x4A, 0x3D, 0x98, 0x49, 0xE5,
- 0x40, 0x7C, 0xA6, 0xA9, 0x88, 0x28, 0x32, 0xA2, 0x28, 0x32, 0xC2, 0x45, 0x86, 0x00, 0x51, 0xE2,
- 0x9E, 0x3F, 0xAD, 0x0B, 0xE3, 0xCA, 0x4F, 0x2F, 0x23, 0xCE, 0x56, 0xC3, 0x4C, 0x3A, 0xF9, 0x94,
- 0x49, 0x60, 0x2F, 0x1B, 0x00, 0xDA, 0xCF, 0x61, 0xDC, 0x16, 0xD9, 0x5A, 0x0D, 0xD5, 0xD8, 0x0A,
- 0xA6, 0x5C, 0x08, 0x10, 0xB1, 0x25, 0x9F, 0x98, 0x05, 0xAC, 0xBC, 0x22, 0x3E, 0x7F, 0xAE, 0xD3,
- 0xB0, 0xC7, 0xDA, 0xC4, 0x35, 0xE6, 0xC4, 0x83, 0x09, 0x59, 0x48, 0xEC, 0x98, 0xDE, 0xCF, 0x1D,
- 0xA2, 0x58, 0x33, 0x81, 0xC9, 0x70, 0x6A, 0x97, 0x0B, 0x1A, 0xB6, 0x14, 0xA0, 0x43, 0x3A, 0x32,
- 0xA1, 0x83, 0x46, 0x6C, 0x6C, 0x0B, 0x4F, 0x95, 0x84, 0x15, 0xB6, 0x8E, 0x9C, 0x27, 0x42, 0xC0,
- 0x26, 0x4A, 0x03, 0xAD, 0x97, 0x2C, 0x27, 0xB0, 0x84, 0x87, 0x31, 0x9B, 0x48, 0x6B, 0xC4, 0x06,
- 0x21, 0x4B, 0xB1, 0x36, 0xA1, 0x83, 0x30, 0xF8, 0x34, 0x32, 0x73, 0x49, 0x61, 0xE5, 0xEA, 0xDA,
- 0x7B, 0x8B, 0xE0, 0x34, 0x8F, 0xBF, 0xA9, 0xF3, 0xE2, 0xDB, 0xD7, 0x9A, 0xE3, 0x6A, 0x96, 0xB3,
- 0x22, 0xB8, 0x59, 0x34, 0x58, 0x0A, 0xD6, 0x86, 0x04, 0x12, 0x4B, 0xC2, 0x26, 0xD3, 0x18, 0x87,
- 0xFC, 0x99, 0xE9, 0x41, 0xEA, 0x8E, 0xEF, 0x93, 0x25, 0x8F, 0x6B, 0x61, 0x31, 0x34, 0x97, 0xBD,
- 0xF5, 0xAD, 0x55, 0x31, 0x71, 0x32, 0x98, 0x48, 0x96, 0x8F, 0x39, 0x8F, 0x6B, 0xC1, 0x28, 0x6B,
- 0xFA, 0x5E, 0x40, 0x84, 0xE1, 0xED, 0x07, 0x2B, 0x45, 0x39, 0x03, 0xB9, 0x82, 0x0C, 0xC1, 0x22,
- 0x59, 0x46, 0xBC, 0xAE, 0x49, 0x53, 0x56, 0x23, 0xC9, 0xD0, 0x28, 0x96, 0x0B, 0xA5, 0x71, 0x3E,
- 0x5D, 0x2B, 0x4C, 0xE2, 0x2C, 0x55, 0x67, 0xBF, 0xB3, 0xC3, 0xE0, 0xB1, 0x39, 0x76, 0x86, 0x8B,
- 0x05, 0x83, 0x47, 0x67, 0x87, 0x33, 0x7F, 0x6E, 0x0D, 0x1E, 0xFD, 0x2F, 0x5E, 0x72, 0x0B, 0x89,
- 0x42, 0x10, 0x01, 0x00
-};
diff --git a/esp32-cam/CameraWebServer/camera_pins.h b/esp32-cam/CameraWebServer/camera_pins.h
deleted file mode 100644
index e1be287..0000000
--- a/esp32-cam/CameraWebServer/camera_pins.h
+++ /dev/null
@@ -1,273 +0,0 @@
-
-#if defined(CAMERA_MODEL_WROVER_KIT)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM -1
-#define XCLK_GPIO_NUM 21
-#define SIOD_GPIO_NUM 26
-#define SIOC_GPIO_NUM 27
-
-#define Y9_GPIO_NUM 35
-#define Y8_GPIO_NUM 34
-#define Y7_GPIO_NUM 39
-#define Y6_GPIO_NUM 36
-#define Y5_GPIO_NUM 19
-#define Y4_GPIO_NUM 18
-#define Y3_GPIO_NUM 5
-#define Y2_GPIO_NUM 4
-#define VSYNC_GPIO_NUM 25
-#define HREF_GPIO_NUM 23
-#define PCLK_GPIO_NUM 22
-
-#elif defined(CAMERA_MODEL_ESP_EYE)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM -1
-#define XCLK_GPIO_NUM 4
-#define SIOD_GPIO_NUM 18
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 36
-#define Y8_GPIO_NUM 37
-#define Y7_GPIO_NUM 38
-#define Y6_GPIO_NUM 39
-#define Y5_GPIO_NUM 35
-#define Y4_GPIO_NUM 14
-#define Y3_GPIO_NUM 13
-#define Y2_GPIO_NUM 34
-#define VSYNC_GPIO_NUM 5
-#define HREF_GPIO_NUM 27
-#define PCLK_GPIO_NUM 25
-
-#elif defined(CAMERA_MODEL_M5STACK_PSRAM)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM 15
-#define XCLK_GPIO_NUM 27
-#define SIOD_GPIO_NUM 25
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 19
-#define Y8_GPIO_NUM 36
-#define Y7_GPIO_NUM 18
-#define Y6_GPIO_NUM 39
-#define Y5_GPIO_NUM 5
-#define Y4_GPIO_NUM 34
-#define Y3_GPIO_NUM 35
-#define Y2_GPIO_NUM 32
-#define VSYNC_GPIO_NUM 22
-#define HREF_GPIO_NUM 26
-#define PCLK_GPIO_NUM 21
-
-#elif defined(CAMERA_MODEL_M5STACK_V2_PSRAM)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM 15
-#define XCLK_GPIO_NUM 27
-#define SIOD_GPIO_NUM 22
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 19
-#define Y8_GPIO_NUM 36
-#define Y7_GPIO_NUM 18
-#define Y6_GPIO_NUM 39
-#define Y5_GPIO_NUM 5
-#define Y4_GPIO_NUM 34
-#define Y3_GPIO_NUM 35
-#define Y2_GPIO_NUM 32
-#define VSYNC_GPIO_NUM 25
-#define HREF_GPIO_NUM 26
-#define PCLK_GPIO_NUM 21
-
-#elif defined(CAMERA_MODEL_M5STACK_WIDE)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM 15
-#define XCLK_GPIO_NUM 27
-#define SIOD_GPIO_NUM 22
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 19
-#define Y8_GPIO_NUM 36
-#define Y7_GPIO_NUM 18
-#define Y6_GPIO_NUM 39
-#define Y5_GPIO_NUM 5
-#define Y4_GPIO_NUM 34
-#define Y3_GPIO_NUM 35
-#define Y2_GPIO_NUM 32
-#define VSYNC_GPIO_NUM 25
-#define HREF_GPIO_NUM 26
-#define PCLK_GPIO_NUM 21
-
-#elif defined(CAMERA_MODEL_M5STACK_ESP32CAM)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM 15
-#define XCLK_GPIO_NUM 27
-#define SIOD_GPIO_NUM 25
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 19
-#define Y8_GPIO_NUM 36
-#define Y7_GPIO_NUM 18
-#define Y6_GPIO_NUM 39
-#define Y5_GPIO_NUM 5
-#define Y4_GPIO_NUM 34
-#define Y3_GPIO_NUM 35
-#define Y2_GPIO_NUM 17
-#define VSYNC_GPIO_NUM 22
-#define HREF_GPIO_NUM 26
-#define PCLK_GPIO_NUM 21
-
-#elif defined(CAMERA_MODEL_M5STACK_UNITCAM)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM 15
-#define XCLK_GPIO_NUM 27
-#define SIOD_GPIO_NUM 25
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 19
-#define Y8_GPIO_NUM 36
-#define Y7_GPIO_NUM 18
-#define Y6_GPIO_NUM 39
-#define Y5_GPIO_NUM 5
-#define Y4_GPIO_NUM 34
-#define Y3_GPIO_NUM 35
-#define Y2_GPIO_NUM 32
-#define VSYNC_GPIO_NUM 22
-#define HREF_GPIO_NUM 26
-#define PCLK_GPIO_NUM 21
-
-#elif defined(CAMERA_MODEL_AI_THINKER)
-#define PWDN_GPIO_NUM 32
-#define RESET_GPIO_NUM -1
-#define XCLK_GPIO_NUM 0
-#define SIOD_GPIO_NUM 26
-#define SIOC_GPIO_NUM 27
-
-#define Y9_GPIO_NUM 35
-#define Y8_GPIO_NUM 34
-#define Y7_GPIO_NUM 39
-#define Y6_GPIO_NUM 36
-#define Y5_GPIO_NUM 21
-#define Y4_GPIO_NUM 19
-#define Y3_GPIO_NUM 18
-#define Y2_GPIO_NUM 5
-#define VSYNC_GPIO_NUM 25
-#define HREF_GPIO_NUM 23
-#define PCLK_GPIO_NUM 22
-
-#elif defined(CAMERA_MODEL_TTGO_T_JOURNAL)
-#define PWDN_GPIO_NUM 0
-#define RESET_GPIO_NUM 15
-#define XCLK_GPIO_NUM 27
-#define SIOD_GPIO_NUM 25
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 19
-#define Y8_GPIO_NUM 36
-#define Y7_GPIO_NUM 18
-#define Y6_GPIO_NUM 39
-#define Y5_GPIO_NUM 5
-#define Y4_GPIO_NUM 34
-#define Y3_GPIO_NUM 35
-#define Y2_GPIO_NUM 17
-#define VSYNC_GPIO_NUM 22
-#define HREF_GPIO_NUM 26
-#define PCLK_GPIO_NUM 21
-
-
-#elif defined(CAMERA_MODEL_ESP32_CAM_BOARD)
-// The 18 pin header on the board has Y5 and Y3 swapped
-#define USE_BOARD_HEADER 0
-#define PWDN_GPIO_NUM 32
-#define RESET_GPIO_NUM 33
-#define XCLK_GPIO_NUM 4
-#define SIOD_GPIO_NUM 18
-#define SIOC_GPIO_NUM 23
-
-#define Y9_GPIO_NUM 36
-#define Y8_GPIO_NUM 19
-#define Y7_GPIO_NUM 21
-#define Y6_GPIO_NUM 39
-#if USE_BOARD_HEADER
-#define Y5_GPIO_NUM 13
-#else
-#define Y5_GPIO_NUM 35
-#endif
-#define Y4_GPIO_NUM 14
-#if USE_BOARD_HEADER
-#define Y3_GPIO_NUM 35
-#else
-#define Y3_GPIO_NUM 13
-#endif
-#define Y2_GPIO_NUM 34
-#define VSYNC_GPIO_NUM 5
-#define HREF_GPIO_NUM 27
-#define PCLK_GPIO_NUM 25
-
-#elif defined(CAMERA_MODEL_ESP32S3_CAM_LCD)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM -1
-#define XCLK_GPIO_NUM 40
-#define SIOD_GPIO_NUM 17
-#define SIOC_GPIO_NUM 18
-
-#define Y9_GPIO_NUM 39
-#define Y8_GPIO_NUM 41
-#define Y7_GPIO_NUM 42
-#define Y6_GPIO_NUM 12
-#define Y5_GPIO_NUM 3
-#define Y4_GPIO_NUM 14
-#define Y3_GPIO_NUM 47
-#define Y2_GPIO_NUM 13
-#define VSYNC_GPIO_NUM 21
-#define HREF_GPIO_NUM 38
-#define PCLK_GPIO_NUM 11
-
-#elif defined(CAMERA_MODEL_ESP32S2_CAM_BOARD)
-// The 18 pin header on the board has Y5 and Y3 swapped
-#define USE_BOARD_HEADER 0
-#define PWDN_GPIO_NUM 1
-#define RESET_GPIO_NUM 2
-#define XCLK_GPIO_NUM 42
-#define SIOD_GPIO_NUM 41
-#define SIOC_GPIO_NUM 18
-
-#define Y9_GPIO_NUM 16
-#define Y8_GPIO_NUM 39
-#define Y7_GPIO_NUM 40
-#define Y6_GPIO_NUM 15
-#if USE_BOARD_HEADER
-#define Y5_GPIO_NUM 12
-#else
-#define Y5_GPIO_NUM 13
-#endif
-#define Y4_GPIO_NUM 5
-#if USE_BOARD_HEADER
-#define Y3_GPIO_NUM 13
-#else
-#define Y3_GPIO_NUM 12
-#endif
-#define Y2_GPIO_NUM 14
-#define VSYNC_GPIO_NUM 38
-#define HREF_GPIO_NUM 4
-#define PCLK_GPIO_NUM 3
-
-#elif defined(CAMERA_MODEL_ESP32S3_EYE)
-#define PWDN_GPIO_NUM -1
-#define RESET_GPIO_NUM -1
-#define XCLK_GPIO_NUM 15
-#define SIOD_GPIO_NUM 4
-#define SIOC_GPIO_NUM 5
-
-#define Y2_GPIO_NUM 11
-#define Y3_GPIO_NUM 9
-#define Y4_GPIO_NUM 8
-#define Y5_GPIO_NUM 10
-#define Y6_GPIO_NUM 12
-#define Y7_GPIO_NUM 18
-#define Y8_GPIO_NUM 17
-#define Y9_GPIO_NUM 16
-
-#define VSYNC_GPIO_NUM 6
-#define HREF_GPIO_NUM 7
-#define PCLK_GPIO_NUM 13
-
-#else
-#error "Camera model not selected"
-#endif
diff --git a/esp32-cam/CameraWebServer/index_ov2640.html b/esp32-cam/CameraWebServer/index_ov2640.html
deleted file mode 100644
index 4f3738c..0000000
--- a/esp32-cam/CameraWebServer/index_ov2640.html
+++ /dev/null
@@ -1,1160 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- <title>ESP32 OV2460</title>
- <style>
- body {
- font-family: Arial,Helvetica,sans-serif;
- background: #181818;
- color: #EFEFEF;
- font-size: 16px
- }
-
- h2 {
- font-size: 18px
- }
-
- section.main {
- display: flex
- }
-
- #menu,section.main {
- flex-direction: column
- }
-
- #menu {
- display: none;
- flex-wrap: nowrap;
- min-width: 340px;
- background: #363636;
- padding: 8px;
- border-radius: 4px;
- margin-top: -10px;
- margin-right: 10px;
- }
-
- #content {
- display: flex;
- flex-wrap: wrap;
- align-items: stretch
- }
-
- figure {
- padding: 0px;
- margin: 0;
- -webkit-margin-before: 0;
- margin-block-start: 0;
- -webkit-margin-after: 0;
- margin-block-end: 0;
- -webkit-margin-start: 0;
- margin-inline-start: 0;
- -webkit-margin-end: 0;
- margin-inline-end: 0
- }
-
- figure img {
- display: block;
- width: 100%;
- height: auto;
- border-radius: 4px;
- margin-top: 8px;
- }
-
- @media (min-width: 800px) and (orientation:landscape) {
- #content {
- display:flex;
- flex-wrap: nowrap;
- align-items: stretch
- }
-
- figure img {
- display: block;
- max-width: 100%;
- max-height: calc(100vh - 40px);
- width: auto;
- height: auto
- }
-
- figure {
- padding: 0 0 0 0px;
- margin: 0;
- -webkit-margin-before: 0;
- margin-block-start: 0;
- -webkit-margin-after: 0;
- margin-block-end: 0;
- -webkit-margin-start: 0;
- margin-inline-start: 0;
- -webkit-margin-end: 0;
- margin-inline-end: 0
- }
- }
-
- section#buttons {
- display: flex;
- flex-wrap: nowrap;
- justify-content: space-between
- }
-
- #nav-toggle {
- cursor: pointer;
- display: block
- }
-
- #nav-toggle-cb {
- outline: 0;
- opacity: 0;
- width: 0;
- height: 0
- }
-
- #nav-toggle-cb:checked+#menu {
- display: flex
- }
-
- .input-group {
- display: flex;
- flex-wrap: nowrap;
- line-height: 22px;
- margin: 5px 0
- }
-
- .input-group>label {
- display: inline-block;
- padding-right: 10px;
- min-width: 47%
- }
-
- .input-group input,.input-group select {
- flex-grow: 1
- }
-
- .range-max,.range-min {
- display: inline-block;
- padding: 0 5px
- }
-
- button, .button {
- display: block;
- margin: 5px;
- padding: 0 12px;
- border: 0;
- line-height: 28px;
- cursor: pointer;
- color: #fff;
- background: #ff3034;
- border-radius: 5px;
- font-size: 16px;
- outline: 0
- }
-
- .save {
- position: absolute;
- right: 25px;
- top: 0px;
- height: 16px;
- line-height: 16px;
- padding: 0 4px;
- text-decoration: none;
- cursor: pointer
- }
-
- button:hover {
- background: #ff494d
- }
-
- button:active {
- background: #f21c21
- }
-
- button.disabled {
- cursor: default;
- background: #a0a0a0
- }
-
- input[type=range] {
- -webkit-appearance: none;
- width: 100%;
- height: 22px;
- background: #363636;
- cursor: pointer;
- margin: 0
- }
-
- input[type=range]:focus {
- outline: 0
- }
-
- input[type=range]::-webkit-slider-runnable-track {
- width: 100%;
- height: 2px;
- cursor: pointer;
- background: #EFEFEF;
- border-radius: 0;
- border: 0 solid #EFEFEF
- }
-
- input[type=range]::-webkit-slider-thumb {
- border: 1px solid rgba(0,0,30,0);
- height: 22px;
- width: 22px;
- border-radius: 50px;
- background: #ff3034;
- cursor: pointer;
- -webkit-appearance: none;
- margin-top: -11.5px
- }
-
- input[type=range]:focus::-webkit-slider-runnable-track {
- background: #EFEFEF
- }
-
- input[type=range]::-moz-range-track {
- width: 100%;
- height: 2px;
- cursor: pointer;
- background: #EFEFEF;
- border-radius: 0;
- border: 0 solid #EFEFEF
- }
-
- input[type=range]::-moz-range-thumb {
- border: 1px solid rgba(0,0,30,0);
- height: 22px;
- width: 22px;
- border-radius: 50px;
- background: #ff3034;
- cursor: pointer
- }
-
- input[type=range]::-ms-track {
- width: 100%;
- height: 2px;
- cursor: pointer;
- background: 0 0;
- border-color: transparent;
- color: transparent
- }
-
- input[type=range]::-ms-fill-lower {
- background: #EFEFEF;
- border: 0 solid #EFEFEF;
- border-radius: 0
- }
-
- input[type=range]::-ms-fill-upper {
- background: #EFEFEF;
- border: 0 solid #EFEFEF;
- border-radius: 0
- }
-
- input[type=range]::-ms-thumb {
- border: 1px solid rgba(0,0,30,0);
- height: 22px;
- width: 22px;
- border-radius: 50px;
- background: #ff3034;
- cursor: pointer;
- height: 2px
- }
-
- input[type=range]:focus::-ms-fill-lower {
- background: #EFEFEF
- }
-
- input[type=range]:focus::-ms-fill-upper {
- background: #363636
- }
-
- .switch {
- display: block;
- position: relative;
- line-height: 22px;
- font-size: 16px;
- height: 22px
- }
-
- .switch input {
- outline: 0;
- opacity: 0;
- width: 0;
- height: 0
- }
-
- .slider {
- width: 50px;
- height: 22px;
- border-radius: 22px;
- cursor: pointer;
- background-color: grey
- }
-
- .slider,.slider:before {
- display: inline-block;
- transition: .4s
- }
-
- .slider:before {
- position: relative;
- content: "";
- border-radius: 50%;
- height: 16px;
- width: 16px;
- left: 4px;
- top: 3px;
- background-color: #fff
- }
-
- input:checked+.slider {
- background-color: #ff3034
- }
-
- input:checked+.slider:before {
- -webkit-transform: translateX(26px);
- transform: translateX(26px)
- }
-
- select {
- border: 1px solid #363636;
- font-size: 14px;
- height: 22px;
- outline: 0;
- border-radius: 5px
- }
-
- .image-container {
- position: relative;
- min-width: 160px
- }
-
- .close {
- position: absolute;
- right: 5px;
- top: 5px;
- background: #ff3034;
- width: 16px;
- height: 16px;
- border-radius: 100px;
- color: #fff;
- text-align: center;
- line-height: 18px;
- cursor: pointer
- }
-
- .hidden {
- display: none
- }
-
- input[type=text] {
- border: 1px solid #363636;
- font-size: 14px;
- height: 20px;
- margin: 1px;
- outline: 0;
- border-radius: 5px
- }
-
- .inline-button {
- line-height: 20px;
- margin: 2px;
- padding: 1px 4px 2px 4px;
- }
-
- label.toggle-section-label {
- cursor: pointer;
- display: block
- }
-
- input.toggle-section-button {
- outline: 0;
- opacity: 0;
- width: 0;
- height: 0
- }
-
- input.toggle-section-button:checked+section.toggle-section {
- display: none
- }
-
- </style>
- </head>
- <body>
- <section class="main">
- <div id="logo">
- <label for="nav-toggle-cb" id="nav-toggle">&#9776;&nbsp;&nbsp;Toggle OV2640 settings</label>
- </div>
- <div id="content">
- <div id="sidebar">
- <input type="checkbox" id="nav-toggle-cb" checked="checked">
- <nav id="menu">
-
- <section id="xclk-section" class="nothidden">
- <div class="input-group" id="set-xclk-group">
- <label for="set-xclk">XCLK MHz</label>
- <div class="text">
- <input id="xclk" type="text" minlength="1" maxlength="2" size="2" value="20">
- </div>
- <button class="inline-button" id="set-xclk">Set</button>
- </div>
- </section>
-
- <div class="input-group" id="framesize-group">
- <label for="framesize">Resolution</label>
- <select id="framesize" class="default-action">
- <!-- 2MP -->
- <option value="13">UXGA(1600x1200)</option>
- <option value="12">SXGA(1280x1024)</option>
- <option value="11">HD(1280x720)</option>
- <option value="10">XGA(1024x768)</option>
- <option value="9">SVGA(800x600)</option>
- <option value="8">VGA(640x480)</option>
- <option value="7">HVGA(480x320)</option>
- <option value="6">CIF(400x296)</option>
- <option value="5">QVGA(320x240)</option>
- <option value="4">240x240</option>
- <option value="3">HQVGA(240x176)</option>
- <option value="2">QCIF(176x144)</option>
- <option value="1">QQVGA(160x120)</option>
- <option value="0">96x96</option>
- </select>
- </div>
- <div class="input-group" id="quality-group">
- <label for="quality">Quality</label>
- <div class="range-min">4</div>
- <input type="range" id="quality" min="4" max="63" value="10" class="default-action">
- <div class="range-max">63</div>
- </div>
- <div class="input-group" id="brightness-group">
- <label for="brightness">Brightness</label>
- <div class="range-min">-2</div>
- <input type="range" id="brightness" min="-2" max="2" value="0" class="default-action">
- <div class="range-max">2</div>
- </div>
- <div class="input-group" id="contrast-group">
- <label for="contrast">Contrast</label>
- <div class="range-min">-2</div>
- <input type="range" id="contrast" min="-2" max="2" value="0" class="default-action">
- <div class="range-max">2</div>
- </div>
- <div class="input-group" id="saturation-group">
- <label for="saturation">Saturation</label>
- <div class="range-min">-2</div>
- <input type="range" id="saturation" min="-2" max="2" value="0" class="default-action">
- <div class="range-max">2</div>
- </div>
- <div class="input-group" id="special_effect-group">
- <label for="special_effect">Special Effect</label>
- <select id="special_effect" class="default-action">
- <option value="0" selected="selected">No Effect</option>
- <option value="1">Negative</option>
- <option value="2">Grayscale</option>
- <option value="3">Red Tint</option>
- <option value="4">Green Tint</option>
- <option value="5">Blue Tint</option>
- <option value="6">Sepia</option>
- </select>
- </div>
- <div class="input-group" id="awb-group">
- <label for="awb">AWB</label>
- <div class="switch">
- <input id="awb" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="awb"></label>
- </div>
- </div>
- <div class="input-group" id="awb_gain-group">
- <label for="awb_gain">AWB Gain</label>
- <div class="switch">
- <input id="awb_gain" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="awb_gain"></label>
- </div>
- </div>
- <div class="input-group" id="wb_mode-group">
- <label for="wb_mode">WB Mode</label>
- <select id="wb_mode" class="default-action">
- <option value="0" selected="selected">Auto</option>
- <option value="1">Sunny</option>
- <option value="2">Cloudy</option>
- <option value="3">Office</option>
- <option value="4">Home</option>
- </select>
- </div>
- <div class="input-group" id="aec-group">
- <label for="aec">AEC SENSOR</label>
- <div class="switch">
- <input id="aec" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="aec"></label>
- </div>
- </div>
- <div class="input-group" id="aec2-group">
- <label for="aec2">AEC DSP</label>
- <div class="switch">
- <input id="aec2" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="aec2"></label>
- </div>
- </div>
- <div class="input-group" id="ae_level-group">
- <label for="ae_level">AE Level</label>
- <div class="range-min">-2</div>
- <input type="range" id="ae_level" min="-2" max="2" value="0" class="default-action">
- <div class="range-max">2</div>
- </div>
- <div class="input-group" id="aec_value-group">
- <label for="aec_value">Exposure</label>
- <div class="range-min">0</div>
- <input type="range" id="aec_value" min="0" max="1200" value="204" class="default-action">
- <div class="range-max">1200</div>
- </div>
- <div class="input-group" id="agc-group">
- <label for="agc">AGC</label>
- <div class="switch">
- <input id="agc" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="agc"></label>
- </div>
- </div>
- <div class="input-group hidden" id="agc_gain-group">
- <label for="agc_gain">Gain</label>
- <div class="range-min">1x</div>
- <input type="range" id="agc_gain" min="0" max="30" value="5" class="default-action">
- <div class="range-max">31x</div>
- </div>
- <div class="input-group" id="gainceiling-group">
- <label for="gainceiling">Gain Ceiling</label>
- <div class="range-min">2x</div>
- <input type="range" id="gainceiling" min="0" max="6" value="0" class="default-action">
- <div class="range-max">128x</div>
- </div>
- <div class="input-group" id="bpc-group">
- <label for="bpc">BPC</label>
- <div class="switch">
- <input id="bpc" type="checkbox" class="default-action">
- <label class="slider" for="bpc"></label>
- </div>
- </div>
- <div class="input-group" id="wpc-group">
- <label for="wpc">WPC</label>
- <div class="switch">
- <input id="wpc" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="wpc"></label>
- </div>
- </div>
- <div class="input-group" id="raw_gma-group">
- <label for="raw_gma">Raw GMA</label>
- <div class="switch">
- <input id="raw_gma" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="raw_gma"></label>
- </div>
- </div>
- <div class="input-group" id="lenc-group">
- <label for="lenc">Lens Correction</label>
- <div class="switch">
- <input id="lenc" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="lenc"></label>
- </div>
- </div>
- <div class="input-group" id="hmirror-group">
- <label for="hmirror">H-Mirror</label>
- <div class="switch">
- <input id="hmirror" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="hmirror"></label>
- </div>
- </div>
- <div class="input-group" id="vflip-group">
- <label for="vflip">V-Flip</label>
- <div class="switch">
- <input id="vflip" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="vflip"></label>
- </div>
- </div>
- <div class="input-group" id="dcw-group">
- <label for="dcw">DCW (Downsize EN)</label>
- <div class="switch">
- <input id="dcw" type="checkbox" class="default-action" checked="checked">
- <label class="slider" for="dcw"></label>
- </div>
- </div>
- <div class="input-group" id="colorbar-group">
- <label for="colorbar">Color Bar</label>
- <div class="switch">
- <input id="colorbar" type="checkbox" class="default-action">
- <label class="slider" for="colorbar"></label>
- </div>
- </div>
- <div class="input-group" id="led-group">
- <label for="led_intensity">LED Intensity</label>
- <div class="range-min">0</div>
- <input type="range" id="led_intensity" min="0" max="255" value="0" class="default-action">
- <div class="range-max">255</div>
- </div>
- <div class="input-group" id="face_detect-group">
- <label for="face_detect">Face Detection</label>
- <div class="switch">
- <input id="face_detect" type="checkbox" class="default-action">
- <label class="slider" for="face_detect"></label>
- </div>
- </div>
- <div class="input-group" id="face_recognize-group">
- <label for="face_recognize">Face Recognition</label>
- <div class="switch">
- <input id="face_recognize" type="checkbox" class="default-action">
- <label class="slider" for="face_recognize"></label>
- </div>
- </div>
- <div class="input-group" id="flash-group">
- <label for="flash">Flash</label>
- <div class="switch">
- <input id="flash" type="checkbox" class="default-action">
- <label class="slider" for="flash"></label>
- </div>
- </div>
-
- <section id="buttons">
- <button id="get-still">Get Still</button>
- <button id="toggle-stream">Start Stream</button>
- <button id="face_enroll" class="disabled" disabled="disabled">Enroll Face</button>
- </section>
-
- <div style="margin-top: 8px;"><center><span style="font-weight: bold;">Advanced Settings</span></center></div>
- <hr style="width:100%">
- <label for="nav-toggle-reg" class="toggle-section-label">&#9776;&nbsp;&nbsp;Register Get/Set</label><input type="checkbox" id="nav-toggle-reg" class="hidden toggle-section-button" checked="checked">
- <section class="toggle-section">
- <!--h4>Set Register</h4-->
- <div class="input-group" id="set-reg-group">
- <label for="set-reg">Reg, Mask, Value</label>
- <div class="text">
- <input id="reg-addr" type="text" minlength="4" maxlength="6" size="6" value="0x111">
- </div>
- <div class="text">
- <input id="reg-mask" type="text" minlength="4" maxlength="4" size="4" value="0x80">
- </div>
- <div class="text">
- <input id="reg-value" type="text" minlength="4" maxlength="4" size="4" value="0x80">
- </div>
- <button class="inline-button" id="set-reg">Set</button>
- </div>
- <hr style="width:50%">
- <!--h4>Get Register</h4-->
- <div class="input-group" id="get-reg-group">
- <label for="get-reg">Reg, Mask</label>
- <div class="text">
- <input id="get-reg-addr" type="text" minlength="4" maxlength="6" size="6" value="0x111">
- </div>
- <div class="text">
- <input id="get-reg-mask" type="text" minlength="4" maxlength="6" size="6" value="0x80">
- </div>
- <button class="inline-button" id="get-reg">Get</button>
- </div>
- <div class="input-group">
- <label for="get-reg-value">Value</label>
- <div class="text">
- <span id="get-reg-value">0x1234</span>
- </div>
- </div>
- </section>
- <hr style="width:100%">
- <label for="nav-toggle-2640pll" class="toggle-section-label">&#9776;&nbsp;&nbsp;CLK</label><input type="checkbox" id="nav-toggle-2640pll" class="hidden toggle-section-button" checked="checked">
- <section class="toggle-section">
-
- <div class="input-group"><label for="2640pll1">CLK 2X</label><div class="switch"><input id="2640pll1" type="checkbox" class="reg-action" reg="0x111" offset="7" mask="0x01"><label class="slider" for="2640pll1"></label></div></div>
-
- <div class="input-group"><label for="2640pll3">CLK DIV</label><div class="text">0<input id="2640pll3" type="text" minlength="1" maxlength="2" size="2" value="1" class="reg-action" reg="0x111" offset="0" mask="0x3f">63</div></div>
- <div class="input-group"><label for="2640pll5">Auto PCLK</label><div class="switch"><input id="2640pll5" type="checkbox" class="reg-action" reg="0xd3" offset="7" mask="0x01"><label class="slider" for="2640pll5"></label></div></div>
- <div class="input-group"><label for="2640pll4">PCLK DIV</label><div class="text">0<input id="2640pll4" type="text" minlength="1" maxlength="3" size="3" value="4" class="reg-action" reg="0xd3" offset="0" mask="0x7f">127</div></div>
-
- </section>
- <hr style="width:100%">
- <label for="nav-toggle-win" class="toggle-section-label">&#9776;&nbsp;&nbsp;Window</label><input type="checkbox" id="nav-toggle-win" class="hidden toggle-section-button" checked="checked">
- <section class="toggle-section">
-
- <div class="input-group">
- <label for="start-x">Sensor Resolution</label><select id="start-x">
- <option value="2">CIF (400x296)</option>
- <option value="1">SVGA (800x600)</option>
- <option value="0" selected="selected">UXGA (1600x1200)</option>
- </select>
- </div>
-
- <div class="input-group" id="set-offset-res-group">
- <label for="offset-x">Offset</label>
- <div class="text">
- X:<input id="offset-x" type="text" minlength="1" maxlength="3" size="6" value="400">
- </div>
- <div class="text">
- Y:<input id="offset-y" type="text" minlength="1" maxlength="3" size="6" value="300">
- </div>
- </div>
- <div class="input-group" id="set-total-res-group">
- <label for="total-x">Window Size</label>
- <div class="text">
- X:<input id="total-x" type="text" minlength="1" maxlength="4" size="6" value="800">
- </div>
- <div class="text">
- Y:<input id="total-y" type="text" minlength="1" maxlength="4" size="6" value="600">
- </div>
- </div>
- <div class="input-group" id="set-output-res-group">
- <label for="output-x">Output Size</label>
- <div class="text">
- X:<input id="output-x" type="text" minlength="1" maxlength="4" size="6" value="320">
- </div>
- <div class="text">
- Y:<input id="output-y" type="text" minlength="1" maxlength="4" size="6" value="240">
- </div>
- </div>
- <button id="set-resolution">Set Resolution</button>
- </section>
-
-
-
- </nav>
- </div>
- <figure>
- <div id="stream-container" class="image-container hidden">
- <a id="save-still" href="#" class="button save" download="capture.jpg">Save</a>
- <div class="close" id="close-stream">×</div>
- <img id="stream" src="" crossorigin>
- </div>
- </figure>
- </div>
- </section>
- <script>
-document.addEventListener('DOMContentLoaded', function (event) {
- var baseHost = document.location.origin
- var streamUrl = baseHost + ':81'
-
- function fetchUrl(url, cb){
- fetch(url)
- .then(function (response) {
- if (response.status !== 200) {
- cb(response.status, response.statusText);
- } else {
- response.text().then(function(data){
- cb(200, data);
- }).catch(function(err) {
- cb(-1, err);
- });
- }
- })
- .catch(function(err) {
- cb(-1, err);
- });
- }
-
- function setReg(reg, offset, mask, value, cb){
- //console.log('Set Reg', '0x'+reg.toString(16), offset, '0x'+mask.toString(16), '0x'+value.toString(16), '('+value+')');
- value = (value & mask) << offset;
- mask = mask << offset;
- fetchUrl(`${baseHost}/reg?reg=${reg}&mask=${mask}&val=${value}`, cb);
- }
-
- function getReg(reg, offset, mask, cb){
- mask = mask << offset;
- fetchUrl(`${baseHost}/greg?reg=${reg}&mask=${mask}`, function(code, txt){
- let value = 0;
- if(code == 200){
- value = parseInt(txt);
- value = (value & mask) >> offset;
- txt = ''+value;
- }
- cb(code, txt);
- });
- }
-
- function setXclk(xclk, cb){
- fetchUrl(`${baseHost}/xclk?xclk=${xclk}`, cb);
- }
-
- function setWindow(start_x, start_y, end_x, end_y, offset_x, offset_y, total_x, total_y, output_x, output_y, scaling, binning, cb){
- fetchUrl(`${baseHost}/resolution?sx=${start_x}&sy=${start_y}&ex=${end_x}&ey=${end_y}&offx=${offset_x}&offy=${offset_y}&tx=${total_x}&ty=${total_y}&ox=${output_x}&oy=${output_y}&scale=${scaling}&binning=${binning}`, cb);
- }
-
- const setRegButton = document.getElementById('set-reg')
- setRegButton.onclick = () => {
- let reg = parseInt(document.getElementById('reg-addr').value);
- let mask = parseInt(document.getElementById('reg-mask').value);
- let value = parseInt(document.getElementById('reg-value').value);
-
- setReg(reg, 0, mask, value, function(code, txt){
- if(code != 200){
- alert('Error['+code+']: '+txt);
- }
- });
- }
-
- const getRegButton = document.getElementById('get-reg')
- getRegButton.onclick = () => {
- let reg = parseInt(document.getElementById('get-reg-addr').value);
- let mask = parseInt(document.getElementById('get-reg-mask').value);
- let value = document.getElementById('get-reg-value');
-
- getReg(reg, 0, mask, function(code, txt){
- if(code != 200){
- value.innerHTML = 'Error['+code+']: '+txt;
- } else {
- value.innerHTML = '0x'+parseInt(txt).toString(16)+' ('+txt+')';
- }
- });
- }
-
- const setXclkButton = document.getElementById('set-xclk')
- setXclkButton.onclick = () => {
- let xclk = parseInt(document.getElementById('xclk').value);
-
- setXclk(xclk, function(code, txt){
- if(code != 200){
- alert('Error['+code+']: '+txt);
- }
- });
- }
-
- const setResButton = document.getElementById('set-resolution')
- setResButton.onclick = () => {
- let start_x = parseInt(document.getElementById('start-x').value);
- let offset_x = parseInt(document.getElementById('offset-x').value);
- let offset_y = parseInt(document.getElementById('offset-y').value);
- let total_x = parseInt(document.getElementById('total-x').value);
- let total_y = parseInt(document.getElementById('total-y').value);
- let output_x = parseInt(document.getElementById('output-x').value);
- let output_y = parseInt(document.getElementById('output-y').value);
-
- setWindow(start_x, 0, 0, 0, offset_x, offset_y, total_x, total_y, output_x, output_y, false, false, function(code, txt){
- if(code != 200){
- alert('Error['+code+']: '+txt);
- }
- });
- }
-
- const setRegValue = (el) => {
- let reg = el.attributes.reg?parseInt(el.attributes.reg.nodeValue):0;
- let offset = el.attributes.offset?parseInt(el.attributes.offset.nodeValue):0;
- let mask = el.attributes.mask?parseInt(el.attributes.mask.nodeValue):255;
- let value = 0;
- switch (el.type) {
- case 'checkbox':
- value = el.checked ? mask : 0;
- break;
- case 'range':
- case 'text':
- case 'select-one':
- value = el.value;
- break
- default:
- return;
- }
-
- setReg(reg, offset, mask, value, function(code, txt){
- if(code != 200){
- alert('Error['+code+']: '+txt);
- }
- });
- }
-
- // Attach on change action for register elements
- document
- .querySelectorAll('.reg-action')
- .forEach(el => {
- if (el.type === 'text') {
- el.onkeyup = function(e){
- if(e.keyCode == 13){
- setRegValue(el);
- }
- }
- } else {
- el.onchange = () => setRegValue(el)
- }
- })
-
-
- const updateRegValue = (el, value, updateRemote) => {
- let initialValue;
- let offset = el.attributes.offset?parseInt(el.attributes.offset.nodeValue):0;
- let mask = (el.attributes.mask?parseInt(el.attributes.mask.nodeValue):255) << offset;
- value = (value & mask) >> offset;
- if (el.type === 'checkbox') {
- initialValue = el.checked
- value = !!value
- el.checked = value
- } else {
- initialValue = el.value
- el.value = value
- }
- }
-
-
- const printReg = (el) => {
- let reg = el.attributes.reg?parseInt(el.attributes.reg.nodeValue):0;
- let offset = el.attributes.offset?parseInt(el.attributes.offset.nodeValue):0;
- let mask = el.attributes.mask?parseInt(el.attributes.mask.nodeValue):255;
- let value = 0;
- switch (el.type) {
- case 'checkbox':
- value = el.checked ? mask : 0;
- break;
- case 'range':
- case 'select-one':
- value = el.value;
- break
- default:
- return;
- }
- value = (value & mask) << offset;
- return '0x'+reg.toString(16)+', 0x'+value.toString(16);
- }
-
-
-
- const hide = el => {
- el.classList.add('hidden')
- }
- const show = el => {
- el.classList.remove('hidden')
- }
-
- const disable = el => {
- el.classList.add('disabled')
- el.disabled = true
- }
-
- const enable = el => {
- el.classList.remove('disabled')
- el.disabled = false
- }
-
- const updateValue = (el, value, updateRemote) => {
- updateRemote = updateRemote == null ? true : updateRemote
- let initialValue
- if (el.type === 'checkbox') {
- initialValue = el.checked
- value = !!value
- el.checked = value
- } else {
- initialValue = el.value
- el.value = value
- }
-
- if (updateRemote && initialValue !== value) {
- updateConfig(el);
- } else if(!updateRemote){
- if(el.id === "aec"){
- value ? hide(exposure) : show(exposure)
- } else if(el.id === "agc"){
- if (value) {
- show(gainCeiling)
- hide(agcGain)
- } else {
- hide(gainCeiling)
- show(agcGain)
- }
- } else if(el.id === "awb_gain"){
- value ? show(wb) : hide(wb)
- } else if(el.id === "face_recognize"){
- value ? enable(enrollButton) : disable(enrollButton)
- } else if(el.id == "led_intensity"){
- value > -1 ? show(ledGroup) : hide(ledGroup)
- }
- }
- }
-
- function updateConfig (el) {
- let value
- switch (el.type) {
- case 'checkbox':
- value = el.checked ? 1 : 0
- break
- case 'range':
- case 'select-one':
- value = el.value
- break
- case 'button':
- case 'submit':
- value = '1'
- break
- default:
- return
- }
-
- const query = `${baseHost}/control?var=${el.id}&val=${value}`
-
- fetch(query)
- .then(response => {
- console.log(`request to ${query} finished, status: ${response.status}`)
- })
- }
-
- document
- .querySelectorAll('.close')
- .forEach(el => {
- el.onclick = () => {
- hide(el.parentNode)
- }
- })
-
- // read initial values
- fetch(`${baseHost}/status`)
- .then(function (response) {
- return response.json()
- })
- .then(function (state) {
- document
- .querySelectorAll('.default-action')
- .forEach(el => {
- updateValue(el, state[el.id], false)
- })
- document
- .querySelectorAll('.reg-action')
- .forEach(el => {
- let reg = el.attributes.reg?parseInt(el.attributes.reg.nodeValue):0;
- if(reg == 0){
- return;
- }
- updateRegValue(el, state['0x'+reg.toString(16)], false)
- })
- })
-
- const view = document.getElementById('stream')
- const viewContainer = document.getElementById('stream-container')
- const stillButton = document.getElementById('get-still')
- const streamButton = document.getElementById('toggle-stream')
- const enrollButton = document.getElementById('face_enroll')
- const closeButton = document.getElementById('close-stream')
- const saveButton = document.getElementById('save-still')
- const ledGroup = document.getElementById('led-group')
-
- const stopStream = () => {
- window.stop();
- streamButton.innerHTML = 'Start Stream'
- }
-
- const startStream = () => {
- view.src = `${streamUrl}/stream`
- show(viewContainer)
- streamButton.innerHTML = 'Stop Stream'
- }
-
- // Attach actions to buttons
- stillButton.onclick = () => {
- stopStream()
- view.src = `${baseHost}/capture?_cb=${Date.now()}`
- show(viewContainer)
- }
-
- closeButton.onclick = () => {
- stopStream()
- hide(viewContainer)
- }
-
- streamButton.onclick = () => {
- const streamEnabled = streamButton.innerHTML === 'Stop Stream'
- if (streamEnabled) {
- stopStream()
- } else {
- startStream()
- }
- }
-
- enrollButton.onclick = () => {
- updateConfig(enrollButton)
- }
-
- saveButton.onclick = () => {
- var canvas = document.createElement("canvas");
- canvas.width = view.width;
- canvas.height = view.height;
- document.body.appendChild(canvas);
- var context = canvas.getContext('2d');
- context.drawImage(view,0,0);
- try {
- var dataURL = canvas.toDataURL('image/jpeg');
- saveButton.href = dataURL;
- var d = new Date();
- saveButton.download = d.getFullYear() + ("0"+(d.getMonth()+1)).slice(-2) + ("0" + d.getDate()).slice(-2) + ("0" + d.getHours()).slice(-2) + ("0" + d.getMinutes()).slice(-2) + ("0" + d.getSeconds()).slice(-2) + ".jpg";
- } catch (e) {
- console.error(e);
- }
- canvas.parentNode.removeChild(canvas);
- }
-
- // Attach default on change action
- document
- .querySelectorAll('.default-action')
- .forEach(el => {
- el.onchange = () => updateConfig(el)
- })
-
- // Custom actions
- // Gain
- const agc = document.getElementById('agc')
- const agcGain = document.getElementById('agc_gain-group')
- const gainCeiling = document.getElementById('gainceiling-group')
- agc.onchange = () => {
- updateConfig(agc)
- if (agc.checked) {
- show(gainCeiling)
- hide(agcGain)
- } else {
- hide(gainCeiling)
- show(agcGain)
- }
- }
-
- // Exposure
- const aec = document.getElementById('aec')
- const exposure = document.getElementById('aec_value-group')
- aec.onchange = () => {
- updateConfig(aec)
- aec.checked ? hide(exposure) : show(exposure)
- }
-
- // AWB
- const awb = document.getElementById('awb_gain')
- const wb = document.getElementById('wb_mode-group')
- awb.onchange = () => {
- updateConfig(awb)
- awb.checked ? show(wb) : hide(wb)
- }
-
- // Detection and framesize
- const detect = document.getElementById('face_detect')
- const recognize = document.getElementById('face_recognize')
- const framesize = document.getElementById('framesize')
-
- framesize.onchange = () => {
- updateConfig(framesize)
- if (framesize.value > 5) {
- updateValue(detect, false)
- updateValue(recognize, false)
- }
- }
-
- detect.onchange = () => {
- if (framesize.value > 5) {
- alert("Please select CIF or lower resolution before enabling this feature!");
- updateValue(detect, false)
- return;
- }
- updateConfig(detect)
- if (!detect.checked) {
- disable(enrollButton)
- updateValue(recognize, false)
- }
- }
-
- recognize.onchange = () => {
- if (framesize.value > 5) {
- alert("Please select CIF or lower resolution before enabling this feature!");
- updateValue(recognize, false)
- return;
- }
- updateConfig(recognize)
- if (recognize.checked) {
- enable(enrollButton)
- updateValue(detect, true)
- } else {
- disable(enrollButton)
- }
- }
-})
-
- </script>
- </body>
-</html>