From a6eafe100efad5422de801a20d6321b50c41cba7 Mon Sep 17 00:00:00 2001 From: takkaO_Work Date: Fri, 4 Mar 2022 15:56:33 +0900 Subject: [PATCH 01/20] [update] tweak fix --- src/FileSupport.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FileSupport.cpp b/src/FileSupport.cpp index 12f448c..325a947 100644 --- a/src/FileSupport.cpp +++ b/src/FileSupport.cpp @@ -12,7 +12,6 @@ #if defined(ARDUINO_WIO_TERMINAL) || defined(ENABLE_M5STACK) -fileclass_t fileclass; fs::FS &fontFS = SD; void ffsupport_setffs(fs::FS &ffs) { @@ -20,6 +19,7 @@ void ffsupport_setffs(fs::FS &ffs) { } fileclass_t *ffsupport_fopen(const char *Filename, const char *mode) { + fileclass_t fileclass; #if defined(ARDUINO_WIO_TERMINAL) // For WioTerminal if (strcmp(mode, "r") == 0) { From f0e788637fa13501bd465898c15385c2ba70f9a7 Mon Sep 17 00:00:00 2001 From: takkaO_Work Date: Fri, 1 Apr 2022 17:49:13 +0900 Subject: [PATCH 02/20] =?UTF-8?q?[update]=20=E7=B4=B0=E3=81=8B=E3=81=AA?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 表示位置を微調整 - BoundingBox取得機能の実装 - フォントサイズ計算機能の実装(暫定) - 右詰めレンダリング機能の実装 --- src/BoundingBox.cpp | 45 ++++++++++++ src/BoundingBox.h | 33 +++++++++ src/OpenFontRender.cpp | 154 +++++++++++++++++++++++++++++++++++++---- src/OpenFontRender.h | 35 +++++++--- 4 files changed, 246 insertions(+), 21 deletions(-) create mode 100644 src/BoundingBox.cpp create mode 100644 src/BoundingBox.h diff --git a/src/BoundingBox.cpp b/src/BoundingBox.cpp new file mode 100644 index 0000000..d17b99f --- /dev/null +++ b/src/BoundingBox.cpp @@ -0,0 +1,45 @@ +#include "BoundingBox.h" + +void BoundingBox::setBoundingBoxWithCoordinates(int32_t x1, int32_t y1, int32_t x2, int32_t y2) { + if (x1 > x2) { + std::swap(x1, x2); + } + if (y1 > y2) { + std::swap(y1, y2); + } + _x = x1; + _y = y1; + _w = (x2 - x1); + _h = (y2 - y1); +} + +void BoundingBox::setBoundingBoxWithWidthHeight(int32_t x1, int32_t y1, uint32_t w, uint32_t h) { + _x = x1; + _y = y1; + _w = w; + _h = h; +} + +int32_t BoundingBox::x() { + return _x; +} + +int32_t BoundingBox::y() { + return _y; +} + +uint32_t BoundingBox::width() { + return _w; +} + +uint32_t BoundingBox::height() { + return _h; +} + +int32_t BoundingBox::getEndX() { + return _x + _w; +} + +int32_t BoundingBox::getEndY() { + return _y + _h; +} \ No newline at end of file diff --git a/src/BoundingBox.h b/src/BoundingBox.h new file mode 100644 index 0000000..b3a7b98 --- /dev/null +++ b/src/BoundingBox.h @@ -0,0 +1,33 @@ +// ------------------------------------------------------- +// OpenFontRender.h +// +// Copyright (c) 2021 takkaO +// +// If you use, modify or redistribute this file as part of +// the original repository, please follow the repository's license. +// +// ------------------------------------------------------- + +#ifndef BOUNDING_BOX_H +#define BOUNDING_BOX_H + +#include + +class BoundingBox { +public: + void setBoundingBoxWithCoordinates(int32_t x1, int32_t y1, int32_t x2, int32_t y2); + void setBoundingBoxWithWidthHeight(int32_t x1, int32_t y1, uint32_t w, uint32_t h); + + int32_t x(); + int32_t y(); + uint32_t width(); + uint32_t height(); + int32_t getEndX(); + int32_t getEndY(); + +private: + int32_t _x = 0, _y = 0; + uint32_t _w = 0, _h = 0; +}; + +#endif /* BOUNDING_BOX_H */ \ No newline at end of file diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index afcab7e..944b24c 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -269,7 +269,7 @@ void OpenFontRender::unloadFont() { g_NeedInitialize = true; } -FT_Error OpenFontRender::drawChar(uint16_t unicode, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { +FT_Error OpenFontRender::drawChar(uint16_t unicode, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg, bool right_direction, bool no_draw) { FT_Face face; FT_Error error; FTC_SBit _sbit; @@ -352,11 +352,16 @@ FT_Error OpenFontRender::drawChar(uint16_t unicode, uint32_t x, uint32_t y, uint #endif // Set the drawing coordinate of the character to the upper left. - y += (face->bbox.yMax - face->bbox.yMin) * _font.size / face->units_per_EM; + y += ((face->bbox.yMax - face->bbox.yMin + (face->size->metrics.descender >> 6)) * _font.size / face->units_per_EM); + if (right_direction) { + x = x - _sbit->xadvance; + } - draw2screen(_sbit, x, y, fg, bg); - _cursor.x += _sbit->xadvance; // Seek cursor - _cursor.y += _sbit->yadvance; // Seek cursor + if (!no_draw) { + draw2screen(_sbit, x, y, fg, bg); + } + _cursor.x = (right_direction ? _cursor.x - _sbit->xadvance : _cursor.x + _sbit->xadvance); // Seek cursor + _cursor.y += _sbit->yadvance; // Seek cursor #ifdef FREERTOS_CONFIG_H g_RenderTaskStatus = IDLE; @@ -367,14 +372,21 @@ FT_Error OpenFontRender::drawChar(uint16_t unicode, uint32_t x, uint32_t y, uint uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { FT_Error error; - return drawString(str, x, y, fg, bg, &error); + return drawString(str, x, y, fg, bg, false, false, &error); +} + +uint16_t OpenFontRender::rdrawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { + FT_Error error; + return drawString(str, x, y, fg, bg, true, false, &error); } -uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg, FT_Error *error) { - uint16_t len = strlen(str); +uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg, bool right_direction, bool no_draw, FT_Error *error) { + uint16_t len = strlen(str); + ; uint16_t n = 0; uint16_t wrote_char_num = 0; uint32_t max_height; + std::deque unicode_q; _cursor = {x, y}; { @@ -383,30 +395,42 @@ uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uin if (*error) { return wrote_char_num; } - max_height = (face->bbox.yMax - face->bbox.yMin) * _font.size / face->units_per_EM; + max_height = (face->height) * _font.size / face->units_per_EM; } while (n < len) { uint16_t unicode = decodeUTF8((uint8_t *)str, &n, len - n); + if (right_direction) { + unicode_q.push_front(unicode); + } else { + unicode_q.push_back(unicode); + } + } + while (!unicode_q.empty()) { + uint16_t unicode = unicode_q.front(); if (unicode == '\r') { _cursor.x = 0; wrote_char_num++; + unicode_q.pop_front(); continue; } if (unicode == '\n') { _cursor.x = 0; _cursor.y += max_height; wrote_char_num++; + unicode_q.pop_front(); continue; } - *error = drawChar(unicode, _cursor.x, _cursor.y, fg, bg); + *error = drawChar(unicode, _cursor.x, _cursor.y, fg, bg, right_direction, no_draw); if (*error) { return wrote_char_num; } wrote_char_num++; + unicode_q.pop_front(); } + return wrote_char_num; } @@ -421,6 +445,112 @@ uint16_t OpenFontRender::printf(const char *fmt, ...) { return drawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color); } +uint16_t OpenFontRender::rprintf(const char *fmt, ...) { + char str[256] = {0}; + va_list ap; + + va_start(ap, fmt); + vsnprintf(str, 256, fmt, ap); + va_end(ap); + + return rdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color); +} + +BoundingBox OpenFontRender::calculateBoundingBoxFmt(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *fmt, ...) { + char str[256] = {0}; + va_list ap; + + va_start(ap, fmt); + vsnprintf(str, 256, fmt, ap); + va_end(ap); + + return calculateBoundingBox(x, y, font_size, right_direction, (const char *)str); +} + +BoundingBox OpenFontRender::calculateBoundingBox(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *str) { + FT_Error error; + size_t tmp_font_size = getFontSize(); + Cursor tmp_cursor = _cursor; + uint32_t max_height = 0; + uint32_t y_offset = 0; + BoundingBox bbox; + + setFontSize(font_size); + drawString(str, x, y, 0xFFFF, 0x0000, right_direction, true, &error); + + { + FT_Face face; + error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); + if (error) { + return bbox; + } + // Calculation not accurate + // max_height = (face->bbox.yMax - face->bbox.yMin) * _font.size / face->units_per_EM; + max_height = (face->height) * _font.size / face->units_per_EM; + y_offset = face->bbox.yMin * _font.size / face->units_per_EM; + } + + bbox.setBoundingBoxWithCoordinates(x, y - y_offset, _cursor.x, _cursor.y + max_height); + setFontSize(tmp_font_size); + _cursor = tmp_cursor; + + return bbox; +} + +size_t OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, const char *fmt, ...) { + char str[256] = {0}; + va_list ap; + + va_start(ap, fmt); + vsnprintf(str, 256, fmt, ap); + va_end(ap); + + return calculateFitFontSize(limit_width, limit_height, (const char *)str); +} + +size_t OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, const char *str) { + FT_Error error; + size_t tmp_font_size = getFontSize(); + Cursor tmp_cursor = _cursor; + size_t fs1 = 10; + size_t fs2 = 40; + + setFontSize(fs1); + drawString(str, 0, 0, 0xFFFF, 0x0000, false, true, &error); + int32_t x1 = _cursor.x; + + setFontSize(fs2); + drawString(str, 0, 0, 0xFFFF, 0x0000, false, true, &error); + int32_t x2 = _cursor.x; + + int32_t y1, y2; + { + FT_Face face; + error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); + if (error) { + return 0; + } + // Calculation not accurate + // max_height = (face->bbox.yMax - face->bbox.yMin) * _font.size / face->units_per_EM; + y1 = (face->height) * fs1 / face->units_per_EM; + y2 = (face->height) * fs2 / face->units_per_EM; + } + + double a1 = (double)(x2 - x1) / (double)((int32_t)fs2 - (int32_t)fs1); + double b1 = (double)((int32_t)fs2 * x1 - ((int32_t)fs1 * x2)) / (double)((int32_t)fs2 - (int32_t)fs1); + + double a2 = (double)(y2 - y1) / (double)((int32_t)fs2 - (int32_t)fs1); + double b2 = (double)((int32_t)fs2 * y1 - (int32_t)fs1 * y2) / (double)((int32_t)fs2 - (int32_t)fs1); + + size_t wfs = (size_t)std::floor((limit_width - b1) / (a1 + 0.00001)); + size_t hfs = (size_t)std::floor((limit_height - b2) / (a2 + 0.00001)); + + setFontSize(tmp_font_size); + _cursor = tmp_cursor; + + return std::min(wfs, hfs); +} + void OpenFontRender::showFreeTypeVersion(Print &output) { String str = "FreeType version: "; str += String(FREETYPE_MAJOR) + "."; @@ -523,8 +653,8 @@ uint16_t OpenFontRender::alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc) { uint16_t b = (((fgB * alpha) + (bgB * (255 - alpha))) >> 9); // Combine RGB565 colours into 16 bits - //return ((r&0x18) << 11) | ((g&0x30) << 5) | ((b&0x18) << 0); // 2 bit greyscale - //return ((r&0x1E) << 11) | ((g&0x3C) << 5) | ((b&0x1E) << 0); // 4 bit greyscale + // return ((r&0x18) << 11) | ((g&0x30) << 5) | ((b&0x18) << 0); // 2 bit greyscale + // return ((r&0x1E) << 11) | ((g&0x3C) << 5) | ((b&0x1E) << 0); // 4 bit greyscale return (r << 11) | (g << 5) | (b << 0); } diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index ba338b5..ad457d7 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -20,12 +20,14 @@ #include FT_FREETYPE_H #undef min +#include #include #define setDrawPixel(F) set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return F(x, y, c); }) #define setStartWrite(F) set_startWrite([&](void) { return F(); }) #define setEndWrite(F) set_endWrite([&](void) { return F(); }) #include "FileSupport.h" +#include "BoundingBox.h" enum OFR_DEBUG_LEVEL { OFR_NONE = 0, @@ -53,11 +55,11 @@ class OpenFontRender { void setFontColor(uint16_t font_color, uint16_t font_bgcolor); void setFontColor(uint8_t r, uint8_t g, uint8_t b); void setFontColor(uint8_t fr, - uint8_t fg, - uint8_t fb, - uint8_t br, - uint8_t bg, - uint8_t bb); + uint8_t fg, + uint8_t fb, + uint8_t br, + uint8_t bg, + uint8_t bb); uint16_t getFontColor(); uint16_t getBackgroundColor(); void setFontSize(size_t new_size); @@ -67,23 +69,38 @@ class OpenFontRender { FT_Error loadFont(const char *fpath); void unloadFont(); FT_Error drawChar(uint16_t unicode, - uint32_t x = 0, - uint32_t y = 0, - uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000); + uint32_t x = 0, + uint32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, + bool right_direction = false, + bool no_draw = false); uint16_t drawString(const char *str, uint32_t x = 0, uint32_t y = 0, uint16_t fg = 0xFFFF, uint16_t bg = 0x0000); + uint16_t rdrawString(const char *str, + uint32_t x = 0, + uint32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000); uint16_t drawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg, + bool right_direction, + bool no_draw, FT_Error *error); uint16_t printf(const char *fmt, ...); + uint16_t rprintf(const char *fmt, ...); + + BoundingBox calculateBoundingBoxFmt(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *fmt, ...); + BoundingBox calculateBoundingBox(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *str); + size_t calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, const char *fmt, ...); + size_t calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, const char *str); void showFreeTypeVersion(Print &output = Serial); void showCredit(Print &output = Serial); From c7f9184a218e2a96d4d7708355480854296e70f4 Mon Sep 17 00:00:00 2001 From: takkaO-HomeDesktop Date: Fri, 1 Apr 2022 23:58:43 +0900 Subject: [PATCH 03/20] tweak fix --- src/FileSupport.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/FileSupport.cpp b/src/FileSupport.cpp index 6f2fa81..07bcbed 100644 --- a/src/FileSupport.cpp +++ b/src/FileSupport.cpp @@ -12,6 +12,7 @@ #if defined(ARDUINO_WIO_TERMINAL) || defined(ENABLE_M5STACK) +std::list f_list; fs::FS &fontFS = SD; void ffsupport_setffs(fs::FS &ffs) { From 545abfd538143ac77b09cf1a3af43d05235fd026 Mon Sep 17 00:00:00 2001 From: takkaO-HomeDesktop Date: Sun, 3 Apr 2022 23:10:57 +0900 Subject: [PATCH 04/20] tweak fix --- src/OpenFontRender.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 944b24c..fd19a1f 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -381,13 +381,13 @@ uint16_t OpenFontRender::rdrawString(const char *str, uint32_t x, uint32_t y, ui } uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg, bool right_direction, bool no_draw, FT_Error *error) { - uint16_t len = strlen(str); - ; + uint16_t len = strlen(str); uint16_t n = 0; uint16_t wrote_char_num = 0; uint32_t max_height; std::deque unicode_q; - _cursor = {x, y}; + uint16_t q_count = 0; + _cursor = {x, y}; { FT_Face face; @@ -405,20 +405,19 @@ uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uin } else { unicode_q.push_back(unicode); } + q_count++; } - while (!unicode_q.empty()) { + for (wrote_char_num = 0; wrote_char_num < q_count; wrote_char_num++) { uint16_t unicode = unicode_q.front(); if (unicode == '\r') { _cursor.x = 0; - wrote_char_num++; unicode_q.pop_front(); continue; } if (unicode == '\n') { _cursor.x = 0; _cursor.y += max_height; - wrote_char_num++; unicode_q.pop_front(); continue; } @@ -427,7 +426,6 @@ uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uin if (*error) { return wrote_char_num; } - wrote_char_num++; unicode_q.pop_front(); } From 8b6679508c4a240b49abf0b8d6d8130c22556f3a Mon Sep 17 00:00:00 2001 From: takkaO_Work Date: Mon, 4 Apr 2022 17:31:06 +0900 Subject: [PATCH 05/20] tweak fix --- src/BoundingBox.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/BoundingBox.h b/src/BoundingBox.h index b3a7b98..c804964 100644 --- a/src/BoundingBox.h +++ b/src/BoundingBox.h @@ -12,6 +12,7 @@ #define BOUNDING_BOX_H #include +#include class BoundingBox { public: From 0f4cfdf9369b710e3580fb9444d580d10ec0c907 Mon Sep 17 00:00:00 2001 From: takkaO_Work Date: Tue, 5 Apr 2022 17:19:55 +0900 Subject: [PATCH 06/20] [update] add cache size set method --- src/OpenFontRender.cpp | 16 +++++++++++++--- src/OpenFontRender.h | 5 +++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index fd19a1f..8196dbe 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -107,6 +107,10 @@ OpenFontRender::OpenFontRender() { _startWrite = []() { return; }; _endWrite = []() { return; }; + _max_faces = OFR_CACHE_SIZE_NO_LIMIT; + _max_sizes = OFR_CACHE_SIZE_NO_LIMIT; + _max_bytes = OFR_CACHE_SIZE_NO_LIMIT; + _font.size = 44; // Set default font size _font.fg_color = 0xFFFF; // Set default font color (White) _font.bg_color = 0x0000; // Set default background color (Black) @@ -176,6 +180,12 @@ size_t OpenFontRender::getFontSize() { return _font.size; } +void OpenFontRender::setCacheSize(unsigned int max_faces, unsigned int max_sizes, unsigned long max_bytes) { + _max_faces = max_faces; + _max_sizes = max_sizes; + _max_bytes = max_bytes; +} + FT_Error OpenFontRender::loadFont(const unsigned char *data, size_t size) { FT_Face face; FT_Error error; @@ -192,7 +202,7 @@ FT_Error OpenFontRender::loadFont(const unsigned char *data, size_t size) { _face_id = g_AvailableFaceId++; // 現在の引数は適当 - error = FTC_Manager_New(g_FtLibrary, 0, 0, 0, &ftc_face_requester, &info, &_ftc_manager); + error = FTC_Manager_New(g_FtLibrary, _max_faces, _max_sizes, _max_bytes, &ftc_face_requester, &info, &_ftc_manager); if (error) { debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_New error: 0x%02X\n", error); return error; @@ -203,7 +213,7 @@ FT_Error OpenFontRender::loadFont(const unsigned char *data, size_t size) { debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_LookupFace error: 0x%02X\n", error); return error; } - + error = FTC_CMapCache_New(_ftc_manager, &_ftc_cmap_cache); if (error) { debugPrintf((_debug_level & OFR_ERROR), "FTC_CMapCache_New error: 0x%02X\n", error); @@ -235,7 +245,7 @@ FT_Error OpenFontRender::loadFont(const char *fpath) { _face_id = g_AvailableFaceId++; // 現在の引数は適当 - error = FTC_Manager_New(g_FtLibrary, 0, 0, 0, &ftc_face_requester, &info, &_ftc_manager); + error = FTC_Manager_New(g_FtLibrary, _max_faces, _max_sizes, _max_bytes, &ftc_face_requester, &info, &_ftc_manager); if (error) { debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_New error: 0x%02X\n", error); return error; diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index ad457d7..94c9a88 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -25,6 +25,7 @@ #define setDrawPixel(F) set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return F(x, y, c); }) #define setStartWrite(F) set_startWrite([&](void) { return F(); }) #define setEndWrite(F) set_endWrite([&](void) { return F(); }) +#define OFR_CACHE_SIZE_NO_LIMIT 0 #include "FileSupport.h" #include "BoundingBox.h" @@ -64,6 +65,7 @@ class OpenFontRender { uint16_t getBackgroundColor(); void setFontSize(size_t new_size); size_t getFontSize(); + void setCacheSize(unsigned int max_faces, unsigned int max_sizes, unsigned long max_bytes); FT_Error loadFont(const unsigned char *data, size_t size); FT_Error loadFont(const char *fpath); @@ -132,6 +134,9 @@ class OpenFontRender { FTC_CMapCache _ftc_cmap_cache; FTC_SBitCache _ftc_sbit_cache; uint8_t _face_id; + unsigned int _max_faces; + unsigned int _max_sizes; + unsigned long _max_bytes; enum RenderMode _render_mode; struct FontParameter { From 6cb7708e1ff1c0f288281ec787136cef1067dfae Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Tue, 13 Sep 2022 12:23:52 +0900 Subject: [PATCH 07/20] [update] Optimized rendering process - Optimized rendering process - Fixed a bug that failed to render large size font (#3) - Added line spacing adjustment variable - Added right-align and center-align options - Temporarily froze RTOS functionality - Added bounding box acquisition feature - Adjusted font size guess function - Separate Arduino dependent functions --- src/BoundingBox.cpp | 45 --- src/BoundingBox.h | 34 --- src/FileSupport.cpp | 2 +- src/FileSupport.h | 14 +- src/OpenFontRender.cpp | 649 ++++++++++++++++++++++++++--------------- src/OpenFontRender.h | 116 +++++--- 6 files changed, 504 insertions(+), 356 deletions(-) delete mode 100644 src/BoundingBox.cpp delete mode 100644 src/BoundingBox.h diff --git a/src/BoundingBox.cpp b/src/BoundingBox.cpp deleted file mode 100644 index d17b99f..0000000 --- a/src/BoundingBox.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "BoundingBox.h" - -void BoundingBox::setBoundingBoxWithCoordinates(int32_t x1, int32_t y1, int32_t x2, int32_t y2) { - if (x1 > x2) { - std::swap(x1, x2); - } - if (y1 > y2) { - std::swap(y1, y2); - } - _x = x1; - _y = y1; - _w = (x2 - x1); - _h = (y2 - y1); -} - -void BoundingBox::setBoundingBoxWithWidthHeight(int32_t x1, int32_t y1, uint32_t w, uint32_t h) { - _x = x1; - _y = y1; - _w = w; - _h = h; -} - -int32_t BoundingBox::x() { - return _x; -} - -int32_t BoundingBox::y() { - return _y; -} - -uint32_t BoundingBox::width() { - return _w; -} - -uint32_t BoundingBox::height() { - return _h; -} - -int32_t BoundingBox::getEndX() { - return _x + _w; -} - -int32_t BoundingBox::getEndY() { - return _y + _h; -} \ No newline at end of file diff --git a/src/BoundingBox.h b/src/BoundingBox.h deleted file mode 100644 index c804964..0000000 --- a/src/BoundingBox.h +++ /dev/null @@ -1,34 +0,0 @@ -// ------------------------------------------------------- -// OpenFontRender.h -// -// Copyright (c) 2021 takkaO -// -// If you use, modify or redistribute this file as part of -// the original repository, please follow the repository's license. -// -// ------------------------------------------------------- - -#ifndef BOUNDING_BOX_H -#define BOUNDING_BOX_H - -#include -#include - -class BoundingBox { -public: - void setBoundingBoxWithCoordinates(int32_t x1, int32_t y1, int32_t x2, int32_t y2); - void setBoundingBoxWithWidthHeight(int32_t x1, int32_t y1, uint32_t w, uint32_t h); - - int32_t x(); - int32_t y(); - uint32_t width(); - uint32_t height(); - int32_t getEndX(); - int32_t getEndY(); - -private: - int32_t _x = 0, _y = 0; - uint32_t _w = 0, _h = 0; -}; - -#endif /* BOUNDING_BOX_H */ \ No newline at end of file diff --git a/src/FileSupport.cpp b/src/FileSupport.cpp index 07bcbed..180202b 100644 --- a/src/FileSupport.cpp +++ b/src/FileSupport.cpp @@ -10,7 +10,7 @@ #include "FileSupport.h" -#if defined(ARDUINO_WIO_TERMINAL) || defined(ENABLE_M5STACK) +#if defined(ARDUINO_WIO_TERMINAL) || defined(M5) std::list f_list; fs::FS &fontFS = SD; diff --git a/src/FileSupport.h b/src/FileSupport.h index ea8fd33..6ffca57 100644 --- a/src/FileSupport.h +++ b/src/FileSupport.h @@ -13,22 +13,21 @@ #include -#if defined(ARDUINO_M5Stack_Core_ESP32) || defined(ARDUINO_M5STACK_FIRE) || defined(ARDUINO_M5STACK_Core2) -#define ENABLE_M5STACK + +#if defined(M5) +#include +#include #endif #if defined(ARDUINO_WIO_TERMINAL) #include #include - -#else if defined(ENABLE_M5STACK) -#include -#include #endif -#if defined(ARDUINO_WIO_TERMINAL) || defined(ENABLE_M5STACK) +#if defined(ARDUINO_WIO_TERMINAL) || defined(M5) // TODO: want to make the program more abstract and common. + #define FT_FILE fileclass_t #define ft_fclose ffsupport_fclose #define ft_fopen ffsupport_fopen @@ -73,4 +72,5 @@ long int ffsupport_ftell(fileclass_t *stream); #endif + #endif \ No newline at end of file diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 8196dbe..8925882 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -10,12 +10,12 @@ #include "OpenFontRender.h" -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // Data Structure Definition // (Use only within this file.) // -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ enum LoadFontFrom { FROM_FILE, @@ -42,22 +42,22 @@ enum RenderTaskStatus { typedef struct { enum RenderMode mode; // Rendering mode FTC_Manager *ftc_manager; // ftc_manager obj - FTC_SBitCache *ftc_sbit_cache; // ftc_sbit_cache obj + FTC_ImageCache *ftc_image_cache; // ftc_image_cache obj uint8_t face_id; // face id size_t font_size; // font size FT_UInt glyph_index; // glyph index - FTC_SBit *sbit; // result + FT_Glyph *aglyph; // result FT_Error error; // ft_error uint8_t debug_level; // debug level } RenderTaskParameter; #endif -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // Function Definition // (See below more ditails.) // -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, @@ -70,12 +70,12 @@ void debugPrintf(uint8_t level, const char *fmt, ...); void RenderTask(void *pvParameters); #endif -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // Global Variables // (Use only within this file.) // -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ FT_Library g_FtLibrary; uint8_t g_AvailableFaceId = 0; @@ -88,11 +88,11 @@ volatile bool g_UseRenderTask = (FREETYPE_MAJOR == 2 && FREE RenderTaskParameter g_TaskParameter; #endif -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // OpenFontRender Class Public Methods // -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ OpenFontRender::OpenFontRender() { // TODO: Automatic support some micro computers @@ -111,12 +111,14 @@ OpenFontRender::OpenFontRender() { _max_sizes = OFR_CACHE_SIZE_NO_LIMIT; _max_bytes = OFR_CACHE_SIZE_NO_LIMIT; + _font.line_space_ratio = 1.0; // Set default line space ratio _font.size = 44; // Set default font size _font.fg_color = 0xFFFF; // Set default font color (White) _font.bg_color = 0x0000; // Set default background color (Black) + _font.support_vertical = false; _debug_level = OFR_NONE; - _render_mode = NORMAL; + _render_mode = NORMAL; } void OpenFontRender::setUseRenderTask(bool enable) { @@ -129,15 +131,15 @@ void OpenFontRender::setRenderTaskMode(enum RenderMode mode) { _render_mode = mode; } -void OpenFontRender::setCursor(uint32_t x, uint32_t y) { +void OpenFontRender::setCursor(int32_t x, int32_t y) { _cursor = {x, y}; } -uint32_t OpenFontRender::getCursorX() { +int32_t OpenFontRender::getCursorX() { return _cursor.x; } -uint32_t OpenFontRender::getCursorY() { +int32_t OpenFontRender::getCursorY() { return _cursor.y; } @@ -164,6 +166,10 @@ void OpenFontRender::setFontColor(uint8_t fr, uint8_t fg, uint8_t fb, uint8_t br _font.bg_color = color565(br, bg, bb); } +void OpenFontRender::setBackgroundColor(uint16_t font_bgcolor) { + _font.bg_color = font_bgcolor; +} + uint16_t OpenFontRender::getFontColor() { return _font.fg_color; } @@ -172,14 +178,27 @@ uint16_t OpenFontRender::getBackgroundColor() { return _font.bg_color; } -void OpenFontRender::setFontSize(size_t new_size) { - _font.size = new_size; +void OpenFontRender::setFontSize(unsigned int pixel) { + _font.size = pixel; } -size_t OpenFontRender::getFontSize() { +unsigned int OpenFontRender::getFontSize() { return _font.size; } +double OpenFontRender::setLineSpaceRatio(double line_space_ratio) { + if (line_space_ratio <= 0) { + // Invalid argument + return _font.line_space_ratio; + } + _font.line_space_ratio = line_space_ratio; + return _font.line_space_ratio; +} + +double OpenFontRender::getLineSpaceRatio() { + return _font.line_space_ratio; +} + void OpenFontRender::setCacheSize(unsigned int max_faces, unsigned int max_sizes, unsigned long max_bytes) { _max_faces = max_faces; _max_sizes = max_sizes; @@ -213,19 +232,26 @@ FT_Error OpenFontRender::loadFont(const unsigned char *data, size_t size) { debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_LookupFace error: 0x%02X\n", error); return error; } - + error = FTC_CMapCache_New(_ftc_manager, &_ftc_cmap_cache); if (error) { debugPrintf((_debug_level & OFR_ERROR), "FTC_CMapCache_New error: 0x%02X\n", error); return error; } - error = FTC_SBitCache_New(_ftc_manager, &_ftc_sbit_cache); + error = FTC_ImageCache_New(_ftc_manager, &_ftc_image_cache); if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_SBitCache_New error: 0x%02X\n", error); + debugPrintf((_debug_level & OFR_ERROR), "FTC_ImageCache_New error: 0x%02X\n", error); return error; } + if (FT_HAS_VERTICAL(face) == 0) { + // Current font does NOT support vertical layout + _font.support_vertical = false; + } else { + _font.support_vertical = true; + } + return FT_Err_Ok; } @@ -263,12 +289,19 @@ FT_Error OpenFontRender::loadFont(const char *fpath) { return error; } - error = FTC_SBitCache_New(_ftc_manager, &_ftc_sbit_cache); + error = FTC_ImageCache_New(_ftc_manager, &_ftc_image_cache); if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_SBitCache_New error: 0x%02X\n", error); + debugPrintf((_debug_level & OFR_ERROR), "FTC_ImageCache_New error: 0x%02X\n", error); return error; } + if (FT_HAS_VERTICAL(face) == 0) { + // Current font does NOT support vertical layout + _font.support_vertical = false; + } else { + _font.support_vertical = true; + } + return FT_Err_Ok; } @@ -279,170 +312,281 @@ void OpenFontRender::unloadFont() { g_NeedInitialize = true; } -FT_Error OpenFontRender::drawChar(uint16_t unicode, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg, bool right_direction, bool no_draw) { +uint16_t OpenFontRender::drawHString(const char *str, + int32_t x, + int32_t y, + uint16_t fg, + uint16_t bg, + Align align, + Drawing drawing, + FT_BBox &abbox, + FT_Error &error) { + FT_Face face; - FT_Error error; - FTC_SBit _sbit; + FT_Glyph aglyph; + uint16_t written_char_num = 0; + bool detect_control_char = false; + Cursor initial_position = {x, y}; + Cursor current_line_position = {x, y}; + FT_Vector offset = {0, 0}; + FT_Size asize = NULL; + + FT_BBox bbox; + bbox.xMin = bbox.yMin = LONG_MAX; + bbox.xMax = bbox.yMax = LONG_MIN; + + abbox.xMin = abbox.yMin = LONG_MAX; + abbox.xMax = abbox.yMax = LONG_MIN; + FTC_ImageTypeRec image_type; - _cursor = {x, y}; + image_type.face_id = (FTC_FaceID)_face_id; + image_type.width = 0; + image_type.height = _font.size; + image_type.flags = FT_LOAD_DEFAULT; + + FTC_ScalerRec scaler; + scaler.face_id = (FTC_FaceID)_face_id; + scaler.width = 0; + scaler.height = _font.size; + scaler.pixel = true; + scaler.x_res = 0; + scaler.y_res = 0; + + std::vector v_rsi; + v_rsi.reserve(256); // Allocate memory for 256 characters for efficiency + + // decode UTF8 + uint16_t unicode; + uint16_t len = strlen(str); + uint16_t n = 0; + std::queue unicode_q; + while (n < len) { + uint16_t unicode = decodeUTF8((uint8_t *)str, &n, len - n); + unicode_q.push(unicode); + } - error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); + error = FTC_Manager_LookupSize(_ftc_manager, &scaler, &asize); if (error) { - return error; + return written_char_num; } + face = asize->face; + FT_Int cmap_index = FT_Get_Charmap_Index(face->charmap); + + // Rendering loop + while (unicode_q.size() != 0) { + RenderStringInfo rsi; + detect_control_char = false; + current_line_position = {x, y}; + bbox.xMin = bbox.yMin = LONG_MAX; + bbox.xMax = bbox.yMax = LONG_MIN; + v_rsi.clear(); + + // Glyph extraction + while (unicode_q.size() != 0 && detect_control_char == false) { + unicode = unicode_q.front(); + switch (unicode) { + case '\r': + [[fallthrough]]; // Fall Through + case '\n': + detect_control_char = true; + break; + default: + rsi.pos = {x, y}; + FT_UInt glyph_index = FTC_CMapCache_Lookup(_ftc_cmap_cache, + (FTC_FaceID)_face_id, + cmap_index, + unicode); + + error = FTC_ImageCache_Lookup(_ftc_image_cache, &image_type, glyph_index, &aglyph, NULL); + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FTC_ImageCache_Lookup error: 0x%02X\n", error); + return written_char_num; + } + + error = FT_Glyph_Copy(aglyph, &rsi.glyph); + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FT_Glyph_Copy error: 0x%02X\n", error); + return written_char_num; + } + v_rsi.push_back(rsi); + + x += (aglyph->advance.x >> 16); + } + unicode_q.pop(); + } - FT_Int cmap_index = FT_Get_Charmap_Index(face->charmap); - FT_UInt glyph_index = FTC_CMapCache_Lookup(_ftc_cmap_cache, - (FTC_FaceID)_face_id, - cmap_index, - unicode); - -#ifdef FREERTOS_CONFIG_H - if (g_UseRenderTask) { - if (g_RenderTaskHandle == NULL) { - debugPrintf((_debug_level & OFR_INFO), "Create render task\n"); - const uint8_t RUNNING_CORE = 1; - const uint8_t PRIORITY = 1; - xTaskCreateUniversal(RenderTask, - "RenderTask", - 8192 + 2048, // It seems that larger than 1024 is better. - NULL, - PRIORITY, - &g_RenderTaskHandle, - RUNNING_CORE); + // Caluculate BBox + for (int i = 0; i < v_rsi.size(); i++) { + FT_BBox glyph_bbox; + FT_Glyph_Get_CBox(v_rsi[i].glyph, FT_GLYPH_BBOX_PIXELS, &glyph_bbox); + + // Move coordinates on the grid + glyph_bbox.xMin += v_rsi[i].pos.x; + glyph_bbox.xMax += v_rsi[i].pos.x; + glyph_bbox.yMin += v_rsi[i].pos.y; + glyph_bbox.yMax += v_rsi[i].pos.y; + + // Merge bbox + bbox.xMin = std::min(bbox.xMin, glyph_bbox.xMin); + bbox.yMin = std::min(bbox.yMin, glyph_bbox.yMin); + bbox.xMax = std::max(bbox.xMax, glyph_bbox.xMax); + bbox.yMax = std::max(bbox.yMax, glyph_bbox.yMax); } - while (g_RenderTaskStatus != IDLE) { - vTaskDelay(1); + /* Check that we really grew the string bbox */ + if (bbox.xMin > bbox.xMax) { + // Failed + bbox.xMin = 0; + bbox.yMin = 0; + bbox.xMax = 0; + bbox.yMax = 0; + } else { + // Transform coordinate space differences + bbox.yMax = y - (bbox.yMax - y) + ((face->size->metrics.ascender) >> 6); + bbox.yMin = y + (y - bbox.yMin) + ((face->size->metrics.ascender) >> 6); + if (bbox.yMax < bbox.yMin) { + std::swap(bbox.yMax, bbox.yMin); + } + // Correct slight misalignment of each axis + offset.x = bbox.xMin - current_line_position.x; + offset.y = bbox.yMin - current_line_position.y; } - g_RenderTaskStatus = LOCK; - - g_TaskParameter.mode = _render_mode; - g_TaskParameter.ftc_manager = &_ftc_manager; - g_TaskParameter.face_id = _face_id; - g_TaskParameter.font_size = _font.size; - g_TaskParameter.glyph_index = glyph_index; - g_TaskParameter.debug_level = _debug_level; - g_TaskParameter.sbit = &_sbit; - g_TaskParameter.ftc_sbit_cache = &_ftc_sbit_cache; // for WITH_CACHE mode - - g_RenderTaskStatus = RENDERING; - while (g_RenderTaskStatus == RENDERING) { - vTaskDelay(1); + + switch (align) { + case Align::Left: + // Nothing to do + break; + case Align::Center: + offset.x += ((bbox.xMax - bbox.xMin) / 2); + break; + case Align::Right: + offset.x = (bbox.xMax - bbox.xMin); + break; + default: + break; } - if (g_RenderTaskStatus == END_ERROR) { - g_RenderTaskStatus = IDLE; - debugPrintf((_debug_level & OFR_ERROR), "Render task error: 0x%02X\n", g_TaskParameter.error); - return g_TaskParameter.error; + bbox.xMin -= offset.x; + bbox.xMax -= offset.x; + bbox.yMin -= offset.y; + bbox.yMax -= offset.y; + + if (drawing == Drawing::Execute) { + for (int i = 0; i < v_rsi.size(); i++) { + FT_Glyph image = v_rsi[i].glyph; + FT_Vector pos = {(v_rsi[i].pos.x - offset.x), (v_rsi[i].pos.y - offset.y)}; + // Change baseline to left top + pos.y += ((face->size->metrics.ascender) >> 6); + + error = FT_Glyph_To_Bitmap(&image, FT_RENDER_MODE_NORMAL, NULL, false); + if (!error) { + FT_BitmapGlyph bit = (FT_BitmapGlyph)image; + + draw2screen(bit, pos.x, pos.y, fg, bg); + + FT_Done_Glyph(image); + written_char_num++; + } + } } - } else { - image_type.face_id = (FTC_FaceID)_face_id; - image_type.width = 0; - image_type.height = _font.size; - image_type.flags = FT_LOAD_RENDER; - error = FTC_SBitCache_Lookup(_ftc_sbit_cache, &image_type, glyph_index, &_sbit, NULL); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_SBitCache_Lookup error: 0x%02X\n", error); - return error; + if (detect_control_char) { + switch (unicode) { + case '\r': + x = initial_position.x; + break; + case '\n': + x = initial_position.x; + y += getFontMaxHeight() * _font.line_space_ratio; + break; + default: + // No supported control char + break; + } } - } -#else - image_type.face_id = (FTC_FaceID)_face_id; - image_type.width = 0; - image_type.height = _font.size; - image_type.flags = FT_LOAD_RENDER; - error = FTC_SBitCache_Lookup(_ftc_sbit_cache, &image_type, glyph_index, &_sbit, NULL); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_SBitCache_Lookup error: 0x%02X\n", error); - return error; - } -#endif + // Merge bbox + abbox.xMin = std::min(bbox.xMin, abbox.xMin); + abbox.yMin = std::min(bbox.yMin, abbox.yMin); + abbox.xMax = std::max(bbox.xMax, abbox.xMax); + abbox.yMax = std::max(bbox.yMax, abbox.yMax); + } /* End of rendering loop */ - // Set the drawing coordinate of the character to the upper left. - y += ((face->bbox.yMax - face->bbox.yMin + (face->size->metrics.descender >> 6)) * _font.size / face->units_per_EM); - if (right_direction) { - x = x - _sbit->xadvance; + if (detect_control_char && unicode == '\n') { + // If string end with '\n' control char, expand bbox + abbox.yMax += getFontMaxHeight() * _font.line_space_ratio; } - if (!no_draw) { - draw2screen(_sbit, x, y, fg, bg); - } - _cursor.x = (right_direction ? _cursor.x - _sbit->xadvance : _cursor.x + _sbit->xadvance); // Seek cursor - _cursor.y += _sbit->yadvance; // Seek cursor + _cursor = {x, y}; + return written_char_num; +} -#ifdef FREERTOS_CONFIG_H - g_RenderTaskStatus = IDLE; -#endif +FT_Error OpenFontRender::drawChar(char character, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Align align) { + FT_Error error; + FT_BBox bbox; + + drawHString(&character, x, y, fg, bg, Align::Left, Drawing::Execute, bbox, error); return FT_Err_Ok; } -uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { +uint16_t OpenFontRender::drawString(const char *str, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Layout layout) { FT_Error error; - return drawString(str, x, y, fg, bg, false, false, &error); + FT_BBox bbox; + + switch (layout) { + case Layout::Horizontal: + return drawHString(str, x, y, fg, bg, Align::Left, Drawing::Execute, bbox, error); + case Layout::Vertical: + // Not support now + return 0; + default: + return 0; + } } -uint16_t OpenFontRender::rdrawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { +uint16_t OpenFontRender::cdrawString(const char *str, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Layout layout) { FT_Error error; - return drawString(str, x, y, fg, bg, true, false, &error); -} - -uint16_t OpenFontRender::drawString(const char *str, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg, bool right_direction, bool no_draw, FT_Error *error) { - uint16_t len = strlen(str); - uint16_t n = 0; - uint16_t wrote_char_num = 0; - uint32_t max_height; - std::deque unicode_q; - uint16_t q_count = 0; - _cursor = {x, y}; - - { - FT_Face face; - *error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); - if (*error) { - return wrote_char_num; - } - max_height = (face->height) * _font.size / face->units_per_EM; + FT_BBox bbox; + + switch (layout) { + case Layout::Horizontal: + return drawHString(str, x, y, fg, bg, Align::Center, Drawing::Execute, bbox, error); + case Layout::Vertical: + // Not support now + return 0; + default: + return 0; } +} - while (n < len) { - uint16_t unicode = decodeUTF8((uint8_t *)str, &n, len - n); - if (right_direction) { - unicode_q.push_front(unicode); - } else { - unicode_q.push_back(unicode); - } - q_count++; +uint16_t OpenFontRender::rdrawString(const char *str, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Layout layout) { + FT_Error error; + FT_BBox bbox; + + switch (layout) { + case Layout::Horizontal: + return drawHString(str, x, y, fg, bg, Align::Right, Drawing::Execute, bbox, error); + case Layout::Vertical: + // Not support now + return 0; + default: + return 0; } +} - for (wrote_char_num = 0; wrote_char_num < q_count; wrote_char_num++) { - uint16_t unicode = unicode_q.front(); - if (unicode == '\r') { - _cursor.x = 0; - unicode_q.pop_front(); - continue; - } - if (unicode == '\n') { - _cursor.x = 0; - _cursor.y += max_height; - unicode_q.pop_front(); - continue; - } +uint16_t OpenFontRender::printf(const char *fmt, ...) { + char str[256] = {0}; + va_list ap; - *error = drawChar(unicode, _cursor.x, _cursor.y, fg, bg, right_direction, no_draw); - if (*error) { - return wrote_char_num; - } - unicode_q.pop_front(); - } + va_start(ap, fmt); + vsnprintf(str, 256, fmt, ap); + va_end(ap); - return wrote_char_num; + return drawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, Layout::Horizontal); } -uint16_t OpenFontRender::printf(const char *fmt, ...) { +uint16_t OpenFontRender::cprintf(const char *fmt, ...) { char str[256] = {0}; va_list ap; @@ -450,7 +594,7 @@ uint16_t OpenFontRender::printf(const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - return drawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color); + return cdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, Layout::Horizontal); } uint16_t OpenFontRender::rprintf(const char *fmt, ...) { @@ -461,10 +605,10 @@ uint16_t OpenFontRender::rprintf(const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - return rdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color); + return rdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, Layout::Horizontal); } -BoundingBox OpenFontRender::calculateBoundingBoxFmt(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *fmt, ...) { +FT_BBox OpenFontRender::calculateBoundingBoxFmt(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *fmt, ...) { char str[256] = {0}; va_list ap; @@ -472,40 +616,37 @@ BoundingBox OpenFontRender::calculateBoundingBoxFmt(uint32_t x, uint32_t y, size vsnprintf(str, 256, fmt, ap); va_end(ap); - return calculateBoundingBox(x, y, font_size, right_direction, (const char *)str); + return calculateBoundingBox(x, y, font_size, align, layout, (const char *)str); } -BoundingBox OpenFontRender::calculateBoundingBox(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *str) { + +FT_BBox OpenFontRender::calculateBoundingBox(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *str) { FT_Error error; + FT_BBox bbox; size_t tmp_font_size = getFontSize(); Cursor tmp_cursor = _cursor; - uint32_t max_height = 0; - uint32_t y_offset = 0; - BoundingBox bbox; + _cursor = {x, y}; setFontSize(font_size); - drawString(str, x, y, 0xFFFF, 0x0000, right_direction, true, &error); - { - FT_Face face; - error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); - if (error) { - return bbox; - } - // Calculation not accurate - // max_height = (face->bbox.yMax - face->bbox.yMin) * _font.size / face->units_per_EM; - max_height = (face->height) * _font.size / face->units_per_EM; - y_offset = face->bbox.yMin * _font.size / face->units_per_EM; + switch (layout) { + case Layout::Horizontal: + drawHString(str, x, y, 0xFFFF, 0x0000, align, Drawing::Skip, bbox, error); + break; + case Layout::Vertical: + // Not support now + break; + default: + break; } - bbox.setBoundingBoxWithCoordinates(x, y - y_offset, _cursor.x, _cursor.y + max_height); setFontSize(tmp_font_size); _cursor = tmp_cursor; return bbox; } -size_t OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, const char *fmt, ...) { +unsigned int OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *fmt, ...) { char str[256] = {0}; va_list ap; @@ -513,45 +654,55 @@ size_t OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint32_t li vsnprintf(str, 256, fmt, ap); va_end(ap); - return calculateFitFontSize(limit_width, limit_height, (const char *)str); + return calculateFitFontSize(limit_width, limit_height, layout, (const char *)str); } -size_t OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, const char *str) { +unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *str) { FT_Error error; + FT_BBox bbox1 = {0, 0, 0, 0}; + FT_BBox bbox2 = {0, 0, 0, 0}; size_t tmp_font_size = getFontSize(); Cursor tmp_cursor = _cursor; - size_t fs1 = 10; - size_t fs2 = 40; + unsigned int fs1 = 10; + unsigned int fs2 = 50; + int32_t w1, w2, h1, h2; + // point1 setFontSize(fs1); - drawString(str, 0, 0, 0xFFFF, 0x0000, false, true, &error); - int32_t x1 = _cursor.x; + switch (layout) { + case Layout::Horizontal: + drawHString(str, 0, 0, 0xFFFF, 0x0000, Align::Left, Drawing::Skip, bbox1, error); + break; + case Layout::Vertical: + // Not support now + break; + default: + setFontSize(tmp_font_size); + _cursor = tmp_cursor; + return 0; + } + w1 = bbox1.xMax - bbox1.xMin; + h1 = bbox1.yMax - bbox1.yMin; + // point2 setFontSize(fs2); - drawString(str, 0, 0, 0xFFFF, 0x0000, false, true, &error); - int32_t x2 = _cursor.x; - - int32_t y1, y2; - { - FT_Face face; - error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); - if (error) { - return 0; - } - // Calculation not accurate - // max_height = (face->bbox.yMax - face->bbox.yMin) * _font.size / face->units_per_EM; - y1 = (face->height) * fs1 / face->units_per_EM; - y2 = (face->height) * fs2 / face->units_per_EM; + switch (layout) { + case Layout::Horizontal: + drawHString(str, 0, 0, 0xFFFF, 0x0000, Align::Left, Drawing::Skip, bbox2, error); + break; + case Layout::Vertical: + // Not support now + break; + default: + setFontSize(tmp_font_size); + _cursor = tmp_cursor; + return 0; } + w2 = bbox2.xMax - bbox2.xMin; + h2 = bbox2.yMax - bbox2.yMin; - double a1 = (double)(x2 - x1) / (double)((int32_t)fs2 - (int32_t)fs1); - double b1 = (double)((int32_t)fs2 * x1 - ((int32_t)fs1 * x2)) / (double)((int32_t)fs2 - (int32_t)fs1); - - double a2 = (double)(y2 - y1) / (double)((int32_t)fs2 - (int32_t)fs1); - double b2 = (double)((int32_t)fs2 * y1 - (int32_t)fs1 * y2) / (double)((int32_t)fs2 - (int32_t)fs1); - - size_t wfs = (size_t)std::floor((limit_width - b1) / (a1 + 0.00001)); - size_t hfs = (size_t)std::floor((limit_height - b2) / (a2 + 0.00001)); + unsigned int wfs = ((fs2 - fs1) / (w2 - w1 + 0.000001)) * (limit_width - w1) + fs1; + unsigned int hfs = ((fs2 - fs1) / (h2 - h1 + 0.000001)) * (limit_height - h1) + fs1; setFontSize(tmp_font_size); _cursor = tmp_cursor; @@ -559,35 +710,27 @@ size_t OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t limit return std::min(wfs, hfs); } -void OpenFontRender::showFreeTypeVersion(Print &output) { - String str = "FreeType version: "; - str += String(FREETYPE_MAJOR) + "."; - str += String(FREETYPE_MINOR) + "."; - str += String(FREETYPE_PATCH) + "\n"; - - output.print(str.c_str()); +void OpenFontRender::getFreeTypeVersion(char *str) { + snprintf(str, OFR_FT_VERSION_STRING_SIZE, + "FreeType version: %d.%d.%d\n", FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH); } -void OpenFontRender::showCredit(Print &output) { - String str = "Portions of this software are copyright © < "; - str += String(FREETYPE_MAJOR) + "."; - str += String(FREETYPE_MINOR) + "."; - str += String(FREETYPE_PATCH) + " "; - str += "> The FreeTypeProject (www.freetype.org). All rights reserved.\n"; - - output.print(str.c_str()); +void OpenFontRender::getCredit(char* str) { + snprintf(str, OFR_CREDIT_STRING_SIZE, + "Portions of this software are copyright (c) < %d.%d.%d > The FreeTypeProject (www.freetype.org). All rights reserved.\n", + FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH); } void OpenFontRender::setDebugLevel(uint8_t level) { _debug_level = level; } -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // OpenFontRender Class Public Methods // ( Direct calls are deprecated. ) // -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ void OpenFontRender::set_drawPixel(std::function user_func) { _drawPixel = user_func; @@ -599,19 +742,53 @@ void OpenFontRender::set_endWrite(std::function user_func) { _endWrite = user_func; } -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // OpenFontRender Class Private Methods // -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ + +uint32_t OpenFontRender::getFontMaxHeight() { + FT_Error error; + FT_Face face; + FTC_ScalerRec scaler; + FT_Size asize = NULL; + static uint32_t max_height = 0; + static unsigned int prev_font_size = 0; + + if (prev_font_size == _font.size) { + return max_height; + } -void OpenFontRender::draw2screen(FTC_SBit sbit, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { + scaler.face_id = (FTC_FaceID)_face_id; + scaler.width = 0; + scaler.height = _font.size; + scaler.pixel = true; + scaler.x_res = 0; + scaler.y_res = 0; + + //error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); + error = FTC_Manager_LookupSize(_ftc_manager, &scaler, &asize); + if (error) { + return 0; + } + face = asize->face; + + int bbox_ymax = FT_MulFix(face->bbox.yMax, face->size->metrics.y_scale) >> 6; + int bbox_ymin = FT_MulFix(face->bbox.yMin, face->size->metrics.y_scale) >> 6; + max_height = (bbox_ymax - bbox_ymin); + + prev_font_size = _font.size; + return max_height; +} + +void OpenFontRender::draw2screen(FT_BitmapGlyph glyph, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { _startWrite(); - for (size_t _y = 0; _y < sbit->height; ++_y) { - for (size_t _x = 0; _x < sbit->width; ++_x) { - uint8_t alpha = sbit->buffer[_y * sbit->pitch + _x]; + for (size_t _y = 0; _y < glyph->bitmap.rows; ++_y) { + for (size_t _x = 0; _x < glyph->bitmap.width; ++_x) { + uint8_t alpha = glyph->bitmap.buffer[_y * glyph->bitmap.pitch + _x]; debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "%c", (alpha == 0x00 ? ' ' : 'o')); - _drawPixel(_x + x + sbit->left, _y + y - sbit->top, alphaBlend(alpha, fg, bg)); + _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); } debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "\n"); } @@ -666,12 +843,12 @@ uint16_t OpenFontRender::alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc) { return (r << 11) | (g << 5) | (b << 0); } -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // Functions // (Use only within this file.) // -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_//_/_/_/_/_/_/_/_/_/*/ +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *face) { FT_Error error; @@ -689,6 +866,7 @@ FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer r } else { debugPrintf((info->debug_level & OFR_INFO), "Font load Success!\n"); } + //error = FT_Set_Pixel_Sizes(*face, 30, 0); } else if (info->from == FROM_MEMORY) { debugPrintf((info->debug_level & OFR_INFO), "Load from memory.\n"); @@ -833,11 +1011,20 @@ void RenderTask(void *pvParameters) { image_type.face_id = (FTC_FaceID)g_TaskParameter.face_id; image_type.height = g_TaskParameter.font_size; vTaskDelay(1); // Important delay to prevent stack overflow - g_TaskParameter.error = FTC_SBitCache_Lookup(*g_TaskParameter.ftc_sbit_cache, - &image_type, - g_TaskParameter.glyph_index, - g_TaskParameter.sbit, - NULL); + + if (g_TaskParameter.support_big_font) { + g_TaskParameter.error = FTC_ImageCache_Lookup(*g_TaskParameter.ftc_image_cache, + &image_type, + g_TaskParameter.glyph_index, + g_TaskParameter.aglyph, + NULL); + } else { + g_TaskParameter.error = FTC_SBitCache_Lookup(*g_TaskParameter.ftc_sbit_cache, + &image_type, + g_TaskParameter.glyph_index, + g_TaskParameter.sbit, + NULL); + } vTaskDelay(1); // Important delay to prevent stack overflow } break; default: diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index 94c9a88..9461e7c 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -20,15 +20,18 @@ #include FT_FREETYPE_H #undef min -#include +#include +#include +#include #include #define setDrawPixel(F) set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return F(x, y, c); }) #define setStartWrite(F) set_startWrite([&](void) { return F(); }) #define setEndWrite(F) set_endWrite([&](void) { return F(); }) #define OFR_CACHE_SIZE_NO_LIMIT 0 +#define OFR_FT_VERSION_STRING_SIZE (32) +#define OFR_CREDIT_STRING_SIZE (128) #include "FileSupport.h" -#include "BoundingBox.h" enum OFR_DEBUG_LEVEL { OFR_NONE = 0, @@ -43,14 +46,35 @@ enum RenderMode { WITH_CACHE }; +enum class Align { + Left, + Center, + Right +}; + +enum class Layout { + Horizontal, + Vertical +}; + +enum class Drawing { + Execute, + Skip +}; + +typedef struct { + FT_Glyph glyph; + FT_Vector pos; +}RenderStringInfo; + class OpenFontRender { public: OpenFontRender(); void setUseRenderTask(bool enable); void setRenderTaskMode(enum RenderMode mode); - void setCursor(uint32_t x, uint32_t y); - uint32_t getCursorX(); - uint32_t getCursorY(); + void setCursor(int32_t x, int32_t y); + int32_t getCursorX(); + int32_t getCursorY(); void seekCursor(int32_t delta_x, int32_t delta_y); void setFontColor(uint16_t font_color); void setFontColor(uint16_t font_color, uint16_t font_bgcolor); @@ -61,51 +85,64 @@ class OpenFontRender { uint8_t br, uint8_t bg, uint8_t bb); + void setBackgroundColor(uint16_t font_bgcolor); uint16_t getFontColor(); uint16_t getBackgroundColor(); - void setFontSize(size_t new_size); - size_t getFontSize(); + void setFontSize(unsigned int pixel); + unsigned int getFontSize(); + double setLineSpaceRatio(double line_space_ratio); + double getLineSpaceRatio(); void setCacheSize(unsigned int max_faces, unsigned int max_sizes, unsigned long max_bytes); FT_Error loadFont(const unsigned char *data, size_t size); FT_Error loadFont(const char *fpath); void unloadFont(); - FT_Error drawChar(uint16_t unicode, - uint32_t x = 0, - uint32_t y = 0, + + uint16_t drawHString(const char *str, + int32_t x, + int32_t y, + uint16_t fg, + uint16_t bg, + Align align, + Drawing drawing, + FT_BBox &abbox, + FT_Error &error); + FT_Error drawChar(char character, + int32_t x = 0, + int32_t y = 0, uint16_t fg = 0xFFFF, uint16_t bg = 0x0000, - bool right_direction = false, - bool no_draw = false); + Align align=Align::Left); uint16_t drawString(const char *str, - uint32_t x = 0, - uint32_t y = 0, + int32_t x = 0, + int32_t y = 0, uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000); + uint16_t bg = 0x0000, + Layout layout = Layout::Horizontal); + uint16_t cdrawString(const char *str, + int32_t x = 0, + int32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, + Layout layout = Layout::Horizontal); uint16_t rdrawString(const char *str, - uint32_t x = 0, - uint32_t y = 0, + int32_t x = 0, + int32_t y = 0, uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000); - uint16_t drawString(const char *str, - uint32_t x, - uint32_t y, - uint16_t fg, - uint16_t bg, - bool right_direction, - bool no_draw, - FT_Error *error); - + uint16_t bg = 0x0000, + Layout layout = Layout::Horizontal); + uint16_t printf(const char *fmt, ...); + uint16_t cprintf(const char *fmt, ...); uint16_t rprintf(const char *fmt, ...); - BoundingBox calculateBoundingBoxFmt(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *fmt, ...); - BoundingBox calculateBoundingBox(uint32_t x, uint32_t y, size_t font_size, bool right_direction, const char *str); - size_t calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, const char *fmt, ...); - size_t calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, const char *str); + FT_BBox calculateBoundingBoxFmt(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *fmt, ...); + FT_BBox calculateBoundingBox(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *str); + unsigned int calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *fmt, ...); + unsigned int calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *str); - void showFreeTypeVersion(Print &output = Serial); - void showCredit(Print &output = Serial); + void getFreeTypeVersion(char *str); + void getCredit(char *str); void setDebugLevel(uint8_t level); template @@ -121,7 +158,8 @@ class OpenFontRender { void set_endWrite(std::function user_func); private: - void draw2screen(FTC_SBit sbit, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg); + uint32_t getFontMaxHeight(); + void draw2screen(FT_BitmapGlyph glyph, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg); uint16_t decodeUTF8(uint8_t *buf, uint16_t *index, uint16_t remaining); uint16_t color565(uint8_t r, uint8_t g, uint8_t b); uint16_t alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc); @@ -132,7 +170,7 @@ class OpenFontRender { FTC_Manager _ftc_manager; FTC_CMapCache _ftc_cmap_cache; - FTC_SBitCache _ftc_sbit_cache; + FTC_ImageCache _ftc_image_cache; uint8_t _face_id; unsigned int _max_faces; unsigned int _max_sizes; @@ -140,15 +178,17 @@ class OpenFontRender { enum RenderMode _render_mode; struct FontParameter { - size_t size; + double line_space_ratio; + unsigned int size; uint16_t fg_color; uint16_t bg_color; + bool support_vertical; }; struct FontParameter _font; struct Cursor { - uint32_t x; - uint32_t y; + int32_t x; + int32_t y; }; struct Cursor _cursor; From 6dcfab0db2679c5d1ac7c5cb824bb7c144715119 Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Tue, 13 Sep 2022 22:26:34 +0900 Subject: [PATCH 08/20] [update] Added a mode to use a render task in order to use other versions of FreeType. - Added a mode to use a render task in order to use other versions of FreeType. - Added method to select standard output to reduce Arduino dependency - Discarded cache selection mode (NORMAL/WITH_CACHE) - Modified preprocessor macros in FileSupport --- src/.clang-format | 2 +- src/FileSupport.cpp | 8 +- src/FileSupport.h | 69 +++++------ src/OpenFontRender.cpp | 263 ++++++++++++++++++----------------------- src/OpenFontRender.h | 107 ++++++++++------- 5 files changed, 217 insertions(+), 232 deletions(-) diff --git a/src/.clang-format b/src/.clang-format index 9ad2c6f..7c750d4 100644 --- a/src/.clang-format +++ b/src/.clang-format @@ -1 +1 @@ -{ BasedOnStyle: LLVM, UseTab: ForIndentation, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Attach, AllowShortIfStatementsOnASingleLine: false, AllowShortCaseLabelsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false, AlignConsecutiveAssignments: true, AlignAfterOpenBracket: true, AlignTrailingComments: true } \ No newline at end of file +{ BasedOnStyle: LLVM, UseTab: ForIndentation, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Attach, AllowShortIfStatementsOnASingleLine: false, AllowShortCaseLabelsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false, AlignConsecutiveAssignments: true, AlignAfterOpenBracket: true, AlignTrailingComments: true, IndentPPDirectives: BeforeHash } \ No newline at end of file diff --git a/src/FileSupport.cpp b/src/FileSupport.cpp index 180202b..541f3e7 100644 --- a/src/FileSupport.cpp +++ b/src/FileSupport.cpp @@ -10,7 +10,7 @@ #include "FileSupport.h" -#if defined(ARDUINO_WIO_TERMINAL) || defined(M5) +#if defined(ARDUINO_WIO_TERMINAL) || defined(ARDUINO_M5_SERIES) std::list f_list; fs::FS &fontFS = SD; @@ -21,7 +21,7 @@ void ffsupport_setffs(fs::FS &ffs) { fileclass_t *ffsupport_fopen(const char *Filename, const char *mode) { fileclass_t fileclass; -#if defined(ARDUINO_WIO_TERMINAL) + #if defined(ARDUINO_WIO_TERMINAL) // For WioTerminal if (strcmp(mode, "r") == 0) { fileclass._fstream = fontFS.open(Filename, FA_READ); @@ -42,10 +42,10 @@ fileclass_t *ffsupport_fopen(const char *Filename, const char *mode) { } else { fileclass._fstream = fontFS.open(Filename, FA_READ); } -#else + #else // For M5Stack and others fileclass._fstream = fontFS.open(Filename, mode); -#endif + #endif f_list.push_back(fileclass); return &f_list.back(); diff --git a/src/FileSupport.h b/src/FileSupport.h index 6ffca57..9c871ba 100644 --- a/src/FileSupport.h +++ b/src/FileSupport.h @@ -13,30 +13,38 @@ #include +#if defined(ARDUINO_BOARD) + #if defined(ARDUINO_M5Stack_Core_ESP32) || defined(ARDUINO_M5STACK_FIRE) + #define ARDUINO_M5_SERIES + #elif defined(ARDUINO_M5STACK_CORE2) || defined(ARDUINO_M5STACK_Tough) + #define ARDUINO_M5_SERIES + #elif defined(ARDUINO_M5Stick_C) || defined(ARDUINO_M5Stick_C_PLUS) + #define ARDUINO_M5_SERIES + #endif +#endif -#if defined(M5) -#include -#include +#if defined(ARDUINO_M5_SERIES) + #include + #include #endif #if defined(ARDUINO_WIO_TERMINAL) -#include -#include + #include + #include #endif -#if defined(ARDUINO_WIO_TERMINAL) || defined(M5) +#if defined(ARDUINO_WIO_TERMINAL) || defined(ARDUINO_M5_SERIES) -// TODO: want to make the program more abstract and common. + // TODO: want to make the program more abstract and common. -#define FT_FILE fileclass_t -#define ft_fclose ffsupport_fclose -#define ft_fopen ffsupport_fopen -#define ft_fread ffsupport_fread -#define ft_fseek ffsupport_fseek -#define ft_ftell ffsupport_ftell + #define FT_FILE fileclass_t + #define ft_fclose ffsupport_fclose + #define ft_fopen ffsupport_fopen + #define ft_fread ffsupport_fread + #define ft_fseek ffsupport_fseek + #define ft_ftell ffsupport_ftell -typedef struct -{ +typedef struct { File _fstream; } fileclass_t; @@ -48,29 +56,22 @@ int ffsupport_fseek(fileclass_t *stream, long int offset, int whence); long int ffsupport_ftell(fileclass_t *stream); #else - -#define FT_FILE FILE -#define ft_fclose fclose -#define ft_fopen fopen -#define ft_fread fread -#define ft_fseek fseek -#define ft_ftell ftell - + #define FT_FILE FILE + #define ft_fclose fclose + #define ft_fopen fopen + #define ft_fread fread + #define ft_fseek fseek + #define ft_ftell ftell #endif #ifdef CONFIG_SPIRAM_SUPPORT - -#define ft_scalloc ps_calloc -#define ft_smalloc ps_malloc -#define ft_srealloc ps_realloc - + #define ft_scalloc ps_calloc + #define ft_smalloc ps_malloc + #define ft_srealloc ps_realloc #else - -#define ft_scalloc calloc -#define ft_smalloc malloc -#define ft_srealloc realloc - + #define ft_scalloc calloc + #define ft_smalloc malloc + #define ft_srealloc realloc #endif - #endif \ No newline at end of file diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 8925882..1255f2f 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -30,6 +30,11 @@ typedef struct { uint8_t debug_level; // debug level } FontDataInfo; +typedef struct { + FT_Glyph glyph; + FT_Vector pos; +} RenderStringInfo; + #ifdef FREERTOS_CONFIG_H enum RenderTaskStatus { IDLE, @@ -40,15 +45,9 @@ enum RenderTaskStatus { }; typedef struct { - enum RenderMode mode; // Rendering mode - FTC_Manager *ftc_manager; // ftc_manager obj - FTC_ImageCache *ftc_image_cache; // ftc_image_cache obj - uint8_t face_id; // face id - size_t font_size; // font size - FT_UInt glyph_index; // glyph index - FT_Glyph *aglyph; // result - FT_Error error; // ft_error - uint8_t debug_level; // debug level + FT_Glyph image; // result + FT_Error error; // ft_error + uint8_t debug_level; // debug level } RenderTaskParameter; #endif @@ -63,7 +62,6 @@ FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *face); - void debugPrintf(uint8_t level, const char *fmt, ...); #ifdef FREERTOS_CONFIG_H @@ -85,9 +83,12 @@ bool g_NeedInitialize = true; TaskHandle_t g_RenderTaskHandle = NULL; volatile enum RenderTaskStatus g_RenderTaskStatus = IDLE; volatile bool g_UseRenderTask = (FREETYPE_MAJOR == 2 && FREETYPE_MINOR == 4 && FREETYPE_PATCH == 12) ? false : true; +unsigned int g_RenderTaskStackSize = 8192 + 8192 + 4096; RenderTaskParameter g_TaskParameter; #endif +std::function g_Print; + /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // OpenFontRender Class Public Methods @@ -95,11 +96,19 @@ RenderTaskParameter g_TaskParameter; /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ OpenFontRender::OpenFontRender() { + g_Print = [](const char *s) { +#ifdef ARDUINO_BOARD + Serial.print(s); +#else + return; +#endif + }; + // TODO: Automatic support some micro computers _drawPixel = [](int x, int y, int c) { static bool flag = true; if (flag) { - Serial.println("** [Warning] Please set drawPixel() using setDrawPixel(). **"); + g_Print("\n** [Warning] Please set drawPixel() using setDrawPixel(). **\n"); flag = false; } return; @@ -111,14 +120,12 @@ OpenFontRender::OpenFontRender() { _max_sizes = OFR_CACHE_SIZE_NO_LIMIT; _max_bytes = OFR_CACHE_SIZE_NO_LIMIT; - _font.line_space_ratio = 1.0; // Set default line space ratio - _font.size = 44; // Set default font size - _font.fg_color = 0xFFFF; // Set default font color (White) - _font.bg_color = 0x0000; // Set default background color (Black) + _font.line_space_ratio = 1.0; // Set default line space ratio + _font.size = 44; // Set default font size + _font.fg_color = 0xFFFF; // Set default font color (White) + _font.bg_color = 0x0000; // Set default background color (Black) _font.support_vertical = false; - _debug_level = OFR_NONE; - - _render_mode = NORMAL; + _debug_level = OFR_NONE; } void OpenFontRender::setUseRenderTask(bool enable) { @@ -127,8 +134,10 @@ void OpenFontRender::setUseRenderTask(bool enable) { #endif } -void OpenFontRender::setRenderTaskMode(enum RenderMode mode) { - _render_mode = mode; +void OpenFontRender::setRenderTaskStackSize(unsigned int stack_size) { +#ifdef FREERTOS_CONFIG_H + g_RenderTaskStackSize = stack_size; +#endif } void OpenFontRender::setCursor(int32_t x, int32_t y) { @@ -320,16 +329,16 @@ uint16_t OpenFontRender::drawHString(const char *str, Align align, Drawing drawing, FT_BBox &abbox, - FT_Error &error) { - + FT_Error &error) { + FT_Face face; FT_Glyph aglyph; - uint16_t written_char_num = 0; - bool detect_control_char = false; - Cursor initial_position = {x, y}; + uint16_t written_char_num = 0; + bool detect_control_char = false; + Cursor initial_position = {x, y}; Cursor current_line_position = {x, y}; - FT_Vector offset = {0, 0}; - FT_Size asize = NULL; + FT_Vector offset = {0, 0}; + FT_Size asize = NULL; FT_BBox bbox; bbox.xMin = bbox.yMin = LONG_MAX; @@ -369,13 +378,13 @@ uint16_t OpenFontRender::drawHString(const char *str, if (error) { return written_char_num; } - face = asize->face; + face = asize->face; FT_Int cmap_index = FT_Get_Charmap_Index(face->charmap); // Rendering loop while (unicode_q.size() != 0) { RenderStringInfo rsi; - detect_control_char = false; + detect_control_char = false; current_line_position = {x, y}; bbox.xMin = bbox.yMin = LONG_MAX; bbox.xMax = bbox.yMax = LONG_MIN; @@ -386,12 +395,12 @@ uint16_t OpenFontRender::drawHString(const char *str, unicode = unicode_q.front(); switch (unicode) { case '\r': - [[fallthrough]]; // Fall Through + [[fallthrough]]; // Fall Through case '\n': detect_control_char = true; break; default: - rsi.pos = {x, y}; + rsi.pos = {x, y}; FT_UInt glyph_index = FTC_CMapCache_Lookup(_ftc_cmap_cache, (FTC_FaceID)_face_id, cmap_index, @@ -478,7 +487,42 @@ uint16_t OpenFontRender::drawHString(const char *str, // Change baseline to left top pos.y += ((face->size->metrics.ascender) >> 6); +#ifdef FREERTOS_CONFIG_H + if (g_UseRenderTask) { + if (g_RenderTaskHandle == NULL) { + debugPrintf((_debug_level & OFR_INFO), "Create render task\n"); + const uint8_t RUNNING_CORE = 1; + const uint8_t PRIORITY = 1; + xTaskCreateUniversal(RenderTask, + "RenderTask", + g_RenderTaskStackSize, // Seems to need a lot of memory. + NULL, + PRIORITY, + &g_RenderTaskHandle, + RUNNING_CORE); + } + while (g_RenderTaskStatus != IDLE) { + vTaskDelay(1); + } + g_RenderTaskStatus = LOCK; + g_TaskParameter.image = image; + g_TaskParameter.debug_level = _debug_level; + + g_RenderTaskStatus = RENDERING; + while (g_RenderTaskStatus == RENDERING) { + vTaskDelay(1); + } + debugPrintf((g_TaskParameter.debug_level & OFR_INFO), "Render task Finish\n"); + image = g_TaskParameter.image; + error = g_TaskParameter.error; + g_RenderTaskStatus = IDLE; + } else { + error = FT_Glyph_To_Bitmap(&image, FT_RENDER_MODE_NORMAL, NULL, false); + } +#else error = FT_Glyph_To_Bitmap(&image, FT_RENDER_MODE_NORMAL, NULL, false); +#endif + if (!error) { FT_BitmapGlyph bit = (FT_BitmapGlyph)image; @@ -619,7 +663,6 @@ FT_BBox OpenFontRender::calculateBoundingBoxFmt(int32_t x, int32_t y, unsigned i return calculateBoundingBox(x, y, font_size, align, layout, (const char *)str); } - FT_BBox OpenFontRender::calculateBoundingBox(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *str) { FT_Error error; FT_BBox bbox; @@ -659,11 +702,11 @@ unsigned int OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint3 unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *str) { FT_Error error; - FT_BBox bbox1 = {0, 0, 0, 0}; + FT_BBox bbox1 = {0, 0, 0, 0}; FT_BBox bbox2 = {0, 0, 0, 0}; size_t tmp_font_size = getFontSize(); Cursor tmp_cursor = _cursor; - unsigned int fs1 = 10; + unsigned int fs1 = 10; unsigned int fs2 = 50; int32_t w1, w2, h1, h2; @@ -710,15 +753,27 @@ unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t return std::min(wfs, hfs); } +void OpenFontRender::showFreeTypeVersion() { + char s[OFR_FT_VERSION_STRING_SIZE] = {0}; + getFreeTypeVersion(s); + g_Print(s); +} + +void OpenFontRender::showCredit() { + char s[OFR_CREDIT_STRING_SIZE] = {0}; + getCredit(s); + g_Print(s); +} + void OpenFontRender::getFreeTypeVersion(char *str) { snprintf(str, OFR_FT_VERSION_STRING_SIZE, "FreeType version: %d.%d.%d\n", FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH); } -void OpenFontRender::getCredit(char* str) { +void OpenFontRender::getCredit(char *str) { snprintf(str, OFR_CREDIT_STRING_SIZE, - "Portions of this software are copyright (c) < %d.%d.%d > The FreeTypeProject (www.freetype.org). All rights reserved.\n", - FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH); + "Portions of this software are copyright (c) < %d.%d.%d > The FreeTypeProject (www.freetype.org). All rights reserved.\n", + FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH); } void OpenFontRender::setDebugLevel(uint8_t level) { @@ -752,8 +807,8 @@ uint32_t OpenFontRender::getFontMaxHeight() { FT_Error error; FT_Face face; FTC_ScalerRec scaler; - FT_Size asize = NULL; - static uint32_t max_height = 0; + FT_Size asize = NULL; + static uint32_t max_height = 0; static unsigned int prev_font_size = 0; if (prev_font_size == _font.size) { @@ -767,7 +822,7 @@ uint32_t OpenFontRender::getFontMaxHeight() { scaler.x_res = 0; scaler.y_res = 0; - //error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); + // error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); error = FTC_Manager_LookupSize(_ftc_manager, &scaler, &asize); if (error) { return 0; @@ -866,7 +921,6 @@ FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer r } else { debugPrintf((info->debug_level & OFR_INFO), "Font load Success!\n"); } - //error = FT_Set_Pixel_Sizes(*face, 30, 0); } else if (info->from == FROM_MEMORY) { debugPrintf((info->debug_level & OFR_INFO), "Load from memory.\n"); @@ -894,8 +948,8 @@ void debugPrintf(uint8_t level, const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - Serial.print("[OFR ERROR] "); - Serial.print(str); + g_Print("[OFR ERROR] "); + g_Print(str); return; } case OFR_INFO: { @@ -903,8 +957,8 @@ void debugPrintf(uint8_t level, const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - Serial.print("[OFR INFO] "); - Serial.print(str); + g_Print("[OFR INFO] "); + g_Print(str); return; } case OFR_DEBUG: { @@ -912,8 +966,8 @@ void debugPrintf(uint8_t level, const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - Serial.print("[OFR DEBUG] "); - Serial.print(str); + g_Print("[OFR DEBUG] "); + g_Print(str); return; } case OFR_RAW: { @@ -921,7 +975,7 @@ void debugPrintf(uint8_t level, const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - Serial.print(str); + g_Print(str); return; } default: @@ -931,113 +985,26 @@ void debugPrintf(uint8_t level, const char *fmt, ...) { #ifdef FREERTOS_CONFIG_H void RenderTask(void *pvParameters) { - FTC_ImageTypeRec image_type; - image_type.width = 0; - image_type.flags = FT_LOAD_RENDER; - while (g_UseRenderTask == true) { if (g_RenderTaskStatus != RENDERING) { vTaskDelay(1); continue; } - - switch (g_TaskParameter.mode) { - case NORMAL: { - debugPrintf((g_TaskParameter.debug_level & OFR_INFO), "Render task start: Mode NORMAL\n"); - - FT_Face face; - FTC_SBitRec sbit; - FTC_ScalerRec ft_scaler; - FT_Size ft_size; - vTaskDelay(1); // Important delay to prevent stack overflow - g_TaskParameter.error = FTC_Manager_LookupFace(*g_TaskParameter.ftc_manager, - (FTC_FaceID)g_TaskParameter.face_id, - &face); - if (g_TaskParameter.error) { - debugPrintf((g_TaskParameter.debug_level & OFR_ERROR), "Render task error in LookupFace\n"); - break; - } - - // set scaler parameters - ft_scaler.face_id = (FTC_FaceID)g_TaskParameter.face_id; - ft_scaler.width = 0; - ft_scaler.height = g_TaskParameter.font_size; - ft_scaler.pixel = true; - ft_scaler.x_res = 0; - ft_scaler.y_res = 0; - vTaskDelay(1); // Important delay to prevent stack overflow - g_TaskParameter.error = FTC_Manager_LookupSize(*g_TaskParameter.ftc_manager, &ft_scaler, &ft_size); - if (g_TaskParameter.error) { - debugPrintf((g_TaskParameter.debug_level & OFR_ERROR), "Render task error in LookupSize\n"); - break; - } - face = ft_size->face; - - vTaskDelay(1); // Important delay to prevent stack overflow - g_TaskParameter.error = FT_Load_Glyph(face, g_TaskParameter.glyph_index, FT_LOAD_DEFAULT); - if (g_TaskParameter.error) { - debugPrintf((g_TaskParameter.debug_level & OFR_ERROR), "Render task error in Load_Glyph\n"); - break; - } - - vTaskDelay(1); // Important delay to prevent stack overflow - g_TaskParameter.error = FT_Render_Glyph(face->glyph, FT_RENDER_MODE_NORMAL); - if (g_TaskParameter.error) { - debugPrintf((g_TaskParameter.debug_level & OFR_ERROR), "Render task error in Render_Glyph\n"); - break; - } - - /* Copy render bitmap to sbit structure */ - sbit = { - face->glyph->bitmap.width, // width - face->glyph->bitmap.rows, // height - face->glyph->bitmap_left, // left - face->glyph->bitmap_top, // top - face->glyph->bitmap.pixel_mode, // format - face->glyph->bitmap.num_grays, // max_gray - face->glyph->bitmap.pitch, // pitch - face->glyph->advance.x >> 6, // xadvance - face->glyph->advance.y >> 6, // yadvance - face->glyph->bitmap.buffer // buffer - }; - - vTaskDelay(1); // Important delay to prevent stack overflow - *g_TaskParameter.sbit = &sbit; - vTaskDelay(1); // Important delay to prevent stack overflow - } break; - case WITH_CACHE: { - debugPrintf((g_TaskParameter.debug_level & OFR_INFO), "Render task start: Mode WITH_CACHE\n"); - - image_type.face_id = (FTC_FaceID)g_TaskParameter.face_id; - image_type.height = g_TaskParameter.font_size; - vTaskDelay(1); // Important delay to prevent stack overflow - - if (g_TaskParameter.support_big_font) { - g_TaskParameter.error = FTC_ImageCache_Lookup(*g_TaskParameter.ftc_image_cache, - &image_type, - g_TaskParameter.glyph_index, - g_TaskParameter.aglyph, - NULL); - } else { - g_TaskParameter.error = FTC_SBitCache_Lookup(*g_TaskParameter.ftc_sbit_cache, - &image_type, - g_TaskParameter.glyph_index, - g_TaskParameter.sbit, - NULL); - } - vTaskDelay(1); // Important delay to prevent stack overflow - } break; - default: - g_TaskParameter.error = FT_Err_Invalid_Argument; - } - - debugPrintf((g_TaskParameter.debug_level & OFR_INFO), "Render task Finish\n"); - g_RenderTaskStatus = (g_TaskParameter.error == FT_Err_Ok) ? END_SUCCESS : END_ERROR; - - break; + g_TaskParameter.error = FT_Glyph_To_Bitmap(&g_TaskParameter.image, FT_RENDER_MODE_NORMAL, NULL, false); + g_RenderTaskStatus = (g_TaskParameter.error == FT_Err_Ok) ? END_SUCCESS : END_ERROR; } - g_RenderTaskHandle = NULL; vTaskDelete(NULL); } #endif + +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ +// +// Functions +// ( Direct calls are deprecated. ) +// +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ + +void set_printFunc(std::function user_func) { + g_Print = user_func; +} diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index 9461e7c..af862b9 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -20,19 +20,22 @@ #include FT_FREETYPE_H #undef min -#include +#include #include #include -#include -#define setDrawPixel(F) set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return F(x, y, c); }) -#define setStartWrite(F) set_startWrite([&](void) { return F(); }) -#define setEndWrite(F) set_endWrite([&](void) { return F(); }) +#include + +#include "FileSupport.h" + +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ +// +// Constant definition +// +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ #define OFR_CACHE_SIZE_NO_LIMIT 0 #define OFR_FT_VERSION_STRING_SIZE (32) #define OFR_CREDIT_STRING_SIZE (128) -#include "FileSupport.h" - enum OFR_DEBUG_LEVEL { OFR_NONE = 0, OFR_ERROR = 1, @@ -41,11 +44,6 @@ enum OFR_DEBUG_LEVEL { OFR_RAW = 8, }; -enum RenderMode { - NORMAL, - WITH_CACHE -}; - enum class Align { Left, Center, @@ -62,16 +60,34 @@ enum class Drawing { Skip }; -typedef struct { - FT_Glyph glyph; - FT_Vector pos; -}RenderStringInfo; +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ +// +// Output function definition +// +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ +#define setPrintFunc(F) set_printFunc([&](const char *s) { return F(s); }) + +template +void setSerial(T &output) { + set_printFunc([&](const char *s) { return output.print(s); }); +} +// Direct calls are deprecated. +void set_printFunc(std::function user_func); + +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ +// +// Class definition +// +/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ +#define setDrawPixel(F) set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return F(x, y, c); }) +#define setStartWrite(F) set_startWrite([&](void) { return F(); }) +#define setEndWrite(F) set_endWrite([&](void) { return F(); }) class OpenFontRender { public: OpenFontRender(); void setUseRenderTask(bool enable); - void setRenderTaskMode(enum RenderMode mode); + void setRenderTaskStackSize(unsigned int stack_size); void setCursor(int32_t x, int32_t y); int32_t getCursorX(); int32_t getCursorY(); @@ -99,39 +115,39 @@ class OpenFontRender { void unloadFont(); uint16_t drawHString(const char *str, - int32_t x, - int32_t y, - uint16_t fg, - uint16_t bg, - Align align, - Drawing drawing, - FT_BBox &abbox, - FT_Error &error); + int32_t x, + int32_t y, + uint16_t fg, + uint16_t bg, + Align align, + Drawing drawing, + FT_BBox &abbox, + FT_Error &error); FT_Error drawChar(char character, - int32_t x = 0, - int32_t y = 0, - uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000, - Align align=Align::Left); + int32_t x = 0, + int32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, + Align align = Align::Left); uint16_t drawString(const char *str, - int32_t x = 0, - int32_t y = 0, - uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000, - Layout layout = Layout::Horizontal); + int32_t x = 0, + int32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, + Layout layout = Layout::Horizontal); uint16_t cdrawString(const char *str, - int32_t x = 0, - int32_t y = 0, - uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000, + int32_t x = 0, + int32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, Layout layout = Layout::Horizontal); uint16_t rdrawString(const char *str, - int32_t x = 0, - int32_t y = 0, - uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000, + int32_t x = 0, + int32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, Layout layout = Layout::Horizontal); - + uint16_t printf(const char *fmt, ...); uint16_t cprintf(const char *fmt, ...); uint16_t rprintf(const char *fmt, ...); @@ -141,6 +157,8 @@ class OpenFontRender { unsigned int calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *fmt, ...); unsigned int calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *str); + void showFreeTypeVersion(); + void showCredit(); void getFreeTypeVersion(char *str); void getCredit(char *str); void setDebugLevel(uint8_t level); @@ -176,7 +194,6 @@ class OpenFontRender { unsigned int _max_sizes; unsigned long _max_bytes; - enum RenderMode _render_mode; struct FontParameter { double line_space_ratio; unsigned int size; From 5ea6aa3924a13b74be8fba1f847dffe78e397f9e Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Wed, 14 Sep 2022 23:28:06 +0900 Subject: [PATCH 09/20] [update] support background transparent mode - support background transparent mode --- src/OpenFontRender.cpp | 9 +++++++++ src/OpenFontRender.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 1255f2f..5bb9f36 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -126,6 +126,8 @@ OpenFontRender::OpenFontRender() { _font.bg_color = 0x0000; // Set default background color (Black) _font.support_vertical = false; _debug_level = OFR_NONE; + + _transparent_background = false; } void OpenFontRender::setUseRenderTask(bool enable) { @@ -187,6 +189,10 @@ uint16_t OpenFontRender::getBackgroundColor() { return _font.bg_color; } +void OpenFontRender::setTransparentBackground(bool enable) { + _transparent_background = enable; +} + void OpenFontRender::setFontSize(unsigned int pixel) { _font.size = pixel; } @@ -843,6 +849,9 @@ void OpenFontRender::draw2screen(FT_BitmapGlyph glyph, uint32_t x, uint32_t y, u for (size_t _x = 0; _x < glyph->bitmap.width; ++_x) { uint8_t alpha = glyph->bitmap.buffer[_y * glyph->bitmap.pitch + _x]; debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "%c", (alpha == 0x00 ? ' ' : 'o')); + if (_transparent_background && alpha == 0x00) { + continue; + } _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); } debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "\n"); diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index af862b9..dede304 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -102,6 +102,7 @@ class OpenFontRender { uint8_t bg, uint8_t bb); void setBackgroundColor(uint16_t font_bgcolor); + void setTransparentBackground(bool enable); uint16_t getFontColor(); uint16_t getBackgroundColor(); void setFontSize(unsigned int pixel); @@ -193,6 +194,7 @@ class OpenFontRender { unsigned int _max_faces; unsigned int _max_sizes; unsigned long _max_bytes; + bool _transparent_background; struct FontParameter { double line_space_ratio; From 2f1f7b33804b6497a352d64b06374ddb40eb66a0 Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Thu, 15 Sep 2022 00:02:23 +0900 Subject: [PATCH 10/20] [add] add example (temporary) --- .../alignment_string/alignment_string.ino | 72 ++ examples/M5Stack/alignment_string/binaryttf.h | 652 ++++++++++++++++++ 2 files changed, 724 insertions(+) create mode 100644 examples/M5Stack/alignment_string/alignment_string.ino create mode 100644 examples/M5Stack/alignment_string/binaryttf.h diff --git a/examples/M5Stack/alignment_string/alignment_string.ino b/examples/M5Stack/alignment_string/alignment_string.ino new file mode 100644 index 0000000..a62bebc --- /dev/null +++ b/examples/M5Stack/alignment_string/alignment_string.ino @@ -0,0 +1,72 @@ +#if defined(ARDUINO_M5Stack_Core_ESP32) || defined(ARDUINO_M5STACK_FIRE) +#include "M5Stack.h" +#elif defined(ARDUINO_M5STACK_Core2) // M5Stack Core2 +#include "M5Core2.h" +#endif +#include "binaryttf.h" +#include "OpenFontRender.h" // Include after M5Stack.h / M5Core2.h + +OpenFontRender render; + +void setup() +{ + // put your setup code here, to run once: + M5.begin(); + M5.Lcd.fillScreen(BLACK); + + render.showFreeTypeVersion(); // print FreeType version + render.showCredit(); // print FTL credit + + if (render.loadFont(binaryttf, sizeof(binaryttf))) + { + Serial.println("Render initialize error"); + return; + } + + render.setDrawer(M5.Lcd); // Set drawer object + /* You can also be written as follows. */ + // render.setDrawPixel(M5.Lcd.drawPixel); + // render.setStartWrite(M5.Lcd.startWrite); // optional + // render.setEndWrite(M5.Lcd.endWrite); // optional + + render.setFontSize(25); +} + +void loop() +{ + // put your main code here, to run repeatedly: + + /* You can select text alignment! use printf function */ + // Alignment Left + render.setCursor(0, 0); + render.setFontColor(WHITE); + render.printf("Hello\nWorld"); + + // Alignment Center + render.setCursor(160, 95); + render.setFontColor(GREEN); + render.cprintf(u8"完全なUnicode\nサポート"); + + // Alignment Right + render.setCursor(320, 190); + render.setFontColor(ORANGE); + render.rprintf(u8"こんにちは\n世界"); + + + delay(1000); + //M5.Lcd.fillScreen(BLACK); + + /* You can select text alignment! use drawString function */ + // Alignment Left + render.drawString("Hello\nWorld", 0, 0, TFT_MAGENTA, TFT_BLACK); + + // Alignment Center + render.cdrawString(u8"完全なUnicode\nサポート", 160, 95, TFT_YELLOW, TFT_BLACK); + + // Alignment Right + render.rdrawString(u8"こんにちは\n世界", 320, 190, TFT_CYAN, TFT_BLACK); + + + delay(1000); + //M5.Lcd.fillScreen(BLACK); +} diff --git a/examples/M5Stack/alignment_string/binaryttf.h b/examples/M5Stack/alignment_string/binaryttf.h new file mode 100644 index 0000000..2417f5d --- /dev/null +++ b/examples/M5Stack/alignment_string/binaryttf.h @@ -0,0 +1,652 @@ +#ifndef _BINARYTTF_H_ +#define _BINARYTTF_H_ + +const unsigned char binaryttf[6456] = { +0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, +0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, +0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, +0x61, 0x70, 0x09, 0x9D, 0x21, 0xE0, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0xD4, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, +0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, +0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0xE2, 0x8C, 0xD7, 0xF3, +0x00, 0x00, 0x0D, 0x58, 0x00, 0x00, 0x0B, 0xE0, 0x68, 0x65, +0x61, 0x64, 0x35, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x91, +0x03, 0x93, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x54, 0xAE, 0x09, 0x6A, 0x00, 0x00, +0x0C, 0xEC, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x00, 0x86, 0x7C, 0x00, 0x00, 0x0C, 0x7C, 0x00, 0x00, +0x00, 0x70, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x35, 0x00, 0x7C, +0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, +0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, +0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, +0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, +0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, +0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0xA4, 0x38, 0x58, 0x6D, 0x5F, 0x0F, +0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, +0xD7, 0x12, 0x00, 0x26, 0xFF, 0xAC, 0x03, 0xF9, 0x03, 0x44, +0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, +0x00, 0x00, 0x04, 0x00, 0x00, 0x26, 0x00, 0x07, 0x03, 0xF9, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, +0x00, 0x00, 0x00, 0x1B, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, +0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, +0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0xEF, 0x01, 0x90, 0x00, 0x05, +0x00, 0x08, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x70, +0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0xB8, 0x00, 0x34, +0x01, 0x08, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x06, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x4D, 0x75, 0x73, 0x61, 0x00, 0x40, 0x00, 0x20, 0x75, 0x4C, +0x03, 0x70, 0xFF, 0x70, 0x00, 0x00, 0x03, 0x70, 0x00, 0x90, +0x40, 0x02, 0x00, 0x9F, 0xDF, 0xD7, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x20, 0x01, 0x86, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x3C, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, +0x00, 0x47, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, +0x00, 0x0B, 0x00, 0x4D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x0B, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x63, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x6F, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x7A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x00, +0x00, 0x3C, 0x00, 0x85, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, +0x00, 0x01, 0x00, 0x0B, 0x00, 0xC1, 0x00, 0x01, 0x00, 0x01, +0x00, 0x0B, 0x00, 0x02, 0x00, 0x06, 0x00, 0xCC, 0x00, 0x01, +0x00, 0x01, 0x00, 0x0B, 0x00, 0x03, 0x00, 0x0B, 0x00, 0xD2, +0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x04, 0x00, 0x0B, +0x00, 0xDD, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x05, +0x00, 0x0C, 0x00, 0xE8, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, +0x00, 0x06, 0x00, 0x0B, 0x00, 0xF4, 0x00, 0x01, 0x00, 0x01, +0x00, 0x0B, 0x00, 0x07, 0x00, 0x0B, 0x00, 0xFF, 0x00, 0x03, +0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x78, 0x01, 0x0A, +0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x16, +0x01, 0x82, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, +0x00, 0x0C, 0x01, 0x98, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, +0x00, 0x03, 0x00, 0x16, 0x01, 0xA4, 0x00, 0x03, 0x00, 0x01, +0x04, 0x09, 0x00, 0x04, 0x00, 0x16, 0x01, 0xBA, 0x00, 0x03, +0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x18, 0x01, 0xD0, +0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x16, +0x01, 0xE8, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x07, +0x00, 0x16, 0x01, 0xFE, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, +0x00, 0x00, 0x00, 0x78, 0x02, 0x14, 0x00, 0x03, 0x00, 0x01, +0x04, 0x11, 0x00, 0x01, 0x00, 0x0E, 0x02, 0x8C, 0x00, 0x03, +0x00, 0x01, 0x04, 0x11, 0x00, 0x02, 0x00, 0x0C, 0x02, 0x9A, +0x00, 0x03, 0x00, 0x01, 0x04, 0x11, 0x00, 0x03, 0x00, 0x0E, +0x02, 0xA6, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, 0x00, 0x04, +0x00, 0x0E, 0x02, 0xB4, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, +0x00, 0x05, 0x00, 0x18, 0x02, 0xC2, 0x00, 0x03, 0x00, 0x01, +0x04, 0x11, 0x00, 0x06, 0x00, 0x16, 0x02, 0xDA, 0x00, 0x03, +0x00, 0x01, 0x04, 0x11, 0x00, 0x07, 0x00, 0x0E, 0x02, 0xF0, +0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, +0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, 0x34, 0x20, 0x4D, +0x2B, 0x20, 0x46, 0x4F, 0x4E, 0x54, 0x53, 0x20, 0x5B, 0x6B, +0x61, 0x6E, 0x61, 0x5D, 0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, +0x69, 0x67, 0x68, 0x74, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, +0x31, 0x35, 0x20, 0x4A, 0x4B, 0x46, 0x4F, 0x4E, 0x54, 0x53, +0x4A, 0x4B, 0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, +0x4D, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, 0x4A, 0x4B, 0x20, +0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, 0x4D, 0x4A, 0x4B, +0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, 0x4D, 0x56, +0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x31, 0x2E, 0x30, +0x30, 0x4A, 0x4B, 0x2D, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, +0x2D, 0x4D, 0x4A, 0x4B, 0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, +0x63, 0x20, 0x4D, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, +0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, +0x34, 0x20, 0x4D, 0x2B, 0x20, 0x46, 0x4F, 0x4E, 0x54, 0x53, +0x20, 0x5B, 0x6B, 0x61, 0x6E, 0x61, 0x5D, 0x20, 0x43, 0x6F, +0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x28, 0x63, 0x29, +0x20, 0x32, 0x30, 0x31, 0x35, 0x20, 0x4A, 0x4B, 0x46, 0x4F, +0x4E, 0x54, 0x53, 0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, +0x62, 0x83, 0x4E, 0x4D, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, +0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, 0x4E, +0x4D, 0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, +0x4E, 0x4D, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, +0x31, 0x2E, 0x30, 0x30, 0x4A, 0x4B, 0x2D, 0x47, 0x6F, 0x74, +0x68, 0x69, 0x63, 0x2D, 0x4D, 0x4A, 0x4B, 0x83, 0x53, 0x83, +0x56, 0x83, 0x62, 0x83, 0x4E, 0x4D, 0x00, 0x43, 0x00, 0x6F, +0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, +0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, 0x00, 0x63, +0x00, 0x29, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, +0x00, 0x34, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x2B, 0x00, 0x20, +0x00, 0x46, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, +0x00, 0x20, 0x00, 0x5B, 0x00, 0x6B, 0x00, 0x61, 0x00, 0x6E, +0x00, 0x61, 0x00, 0x5D, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6F, +0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, +0x00, 0x68, 0x00, 0x74, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, +0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x35, +0x00, 0x20, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x46, 0x00, 0x4F, +0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, 0x00, 0x4A, 0x00, 0x4B, +0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x68, +0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x4D, +0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, +0x00, 0x6F, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, +0x00, 0x20, 0x00, 0x4D, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, +0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x20, +0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, 0x00, 0x4A, +0x00, 0x4B, 0x00, 0x2D, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x74, +0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x2D, 0x00, 0x4D, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, +0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, +0x00, 0x20, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, +0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x34, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x2B, 0x00, 0x20, 0x00, 0x46, 0x00, 0x4F, +0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, 0x00, 0x20, 0x00, 0x5B, +0x00, 0x6B, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x5D, +0x00, 0x20, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, +0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, +0x00, 0x28, 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, 0x00, 0x32, +0x00, 0x30, 0x00, 0x31, 0x00, 0x35, 0x00, 0x20, 0x00, 0x4A, +0x00, 0x4B, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x54, +0x00, 0x53, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x65, +0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x4A, +0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, 0x30, 0xC3, 0x30, 0xAF, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x56, 0x00, 0x65, +0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, +0x00, 0x20, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x2D, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x2D, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x02, +0x00, 0x08, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x03, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, +0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, +0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, +0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, +0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, +0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, +0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, +0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, +0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A, +0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, +0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, +0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, +0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, +0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, +0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, +0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, +0x00, 0x4E, 0x00, 0x4F, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, +0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, +0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, +0x00, 0x5D, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x60, 0x00, 0x61, +0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, +0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00, 0x6B, +0x00, 0x6C, 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x70, +0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, +0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, +0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7F, +0xB0, 0x00, 0x2C, 0x2F, 0xFD, 0x2D, 0xB0, 0x01, 0x2C, 0x2F, +0xFD, 0x3C, 0x2D, 0xB0, 0x02, 0x2C, 0x2F, 0xFD, 0x3C, 0x3C, +0x2D, 0xB0, 0x03, 0x2C, 0x2F, 0xFD, 0x3C, 0x3C, 0x3C, 0x2D, +0xB0, 0x04, 0x2C, 0x2F, 0x3C, 0xFD, 0x2D, 0xB0, 0x05, 0x2C, +0x2F, 0x3C, 0xFD, 0x3C, 0x2D, 0xB0, 0x06, 0x2C, 0x2F, 0x3C, +0xFD, 0x3C, 0x3C, 0x2D, 0xB0, 0x07, 0x2C, 0x2F, 0x3C, 0xFD, +0x3C, 0x3C, 0x3C, 0x2D, 0xB0, 0x08, 0x2C, 0x2F, 0x3C, 0x3C, +0xFD, 0x2D, 0xB0, 0x09, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, +0x2D, 0xB0, 0x0A, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, 0x3C, +0x2D, 0xB0, 0x0B, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, 0x3C, +0x3C, 0x2D, 0xB0, 0x0C, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, +0x2D, 0xB0, 0x0D, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, 0x3C, +0x2D, 0xB0, 0x0E, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, 0x3C, +0x3C, 0x2D, 0xB0, 0x0F, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, +0x3C, 0x3C, 0x3C, 0x2D, 0xB0, 0x10, 0x2C, 0x3C, 0x2D, 0xB0, +0x11, 0x2C, 0x2F, 0xB0, 0x10, 0x2A, 0xFD, 0x2D, 0xB0, 0x12, +0x2C, 0x2F, 0xFD, 0xB0, 0x10, 0x2A, 0x2D, 0xB0, 0x13, 0x2C, +0x2F, 0xB0, 0x10, 0x2A, 0xFD, 0xB0, 0x10, 0x2A, 0x2D, 0x00, +0xB8, 0x01, 0xFF, 0x85, 0xB0, 0x01, 0x8D, 0xB1, 0x01, 0x81, +0x45, 0x44, 0xB1, 0x02, 0x82, 0x45, 0x44, 0xB1, 0x03, 0x83, +0x45, 0x44, 0xB1, 0x04, 0x84, 0x45, 0x44, 0xB1, 0x05, 0x85, +0x45, 0x44, 0xB1, 0x06, 0x86, 0x45, 0x44, 0xB1, 0x07, 0x87, +0x45, 0x44, 0xB1, 0x08, 0x88, 0x45, 0x44, 0xB1, 0x09, 0x89, +0x45, 0x44, 0xB1, 0x0A, 0x8A, 0x45, 0x44, 0xB1, 0x0B, 0x8B, +0x45, 0x44, 0xB1, 0x0C, 0x8C, 0x45, 0x44, 0xB1, 0x0D, 0x8D, +0x45, 0x44, 0xB1, 0x0E, 0x8E, 0x45, 0x44, 0xB1, 0x0F, 0x8F, +0x45, 0x44, 0xB1, 0x10, 0x90, 0x45, 0x44, 0xB1, 0x11, 0x91, +0x45, 0x44, 0xB1, 0x12, 0x92, 0x45, 0x44, 0xB1, 0x13, 0x93, +0x45, 0x44, 0xB1, 0x14, 0x94, 0x45, 0x44, 0xB1, 0x15, 0x95, +0x45, 0x44, 0xB1, 0x16, 0x96, 0x45, 0x44, 0xB1, 0x17, 0x97, +0x45, 0x44, 0xB1, 0x18, 0x98, 0x45, 0x44, 0xB1, 0x19, 0x99, +0x45, 0x44, 0xB1, 0x1A, 0x9A, 0x45, 0x44, 0xB1, 0x1B, 0x9B, +0x45, 0x44, 0xB1, 0x1C, 0x9C, 0x45, 0x44, 0xB1, 0x1D, 0x9D, +0x45, 0x44, 0xB1, 0x1E, 0x9E, 0x45, 0x44, 0xB1, 0x1F, 0x9F, +0x45, 0x44, 0xB1, 0x20, 0xA0, 0x45, 0x44, 0xB1, 0x21, 0xA1, +0x45, 0x44, 0xB1, 0x22, 0xA2, 0x45, 0x44, 0xB1, 0x23, 0xA3, +0x45, 0x44, 0xB1, 0x24, 0xA4, 0x45, 0x44, 0xB1, 0x25, 0xA5, +0x45, 0x44, 0xB1, 0x26, 0xA6, 0x45, 0x44, 0xB1, 0x27, 0xA7, +0x45, 0x44, 0xB1, 0x28, 0xA8, 0x45, 0x44, 0xB1, 0x29, 0xA9, +0x45, 0x44, 0xB1, 0x2A, 0xAA, 0x45, 0x44, 0xB1, 0x2B, 0xAB, +0x45, 0x44, 0xB1, 0x2C, 0xAC, 0x45, 0x44, 0xB1, 0x2D, 0xAD, +0x45, 0x44, 0xB1, 0x2E, 0xAE, 0x45, 0x44, 0xB1, 0x2F, 0xAF, +0x45, 0x44, 0xB1, 0x30, 0xB0, 0x45, 0x44, 0xB1, 0x31, 0xB1, +0x45, 0x44, 0xB1, 0x32, 0xB2, 0x45, 0x44, 0xB1, 0x33, 0xB3, +0x45, 0x44, 0xB1, 0x34, 0xB4, 0x45, 0x44, 0xB1, 0x35, 0xB5, +0x45, 0x44, 0xB1, 0x36, 0xB6, 0x45, 0x44, 0xB1, 0x37, 0xB7, +0x45, 0x44, 0xB1, 0x38, 0xB8, 0x45, 0x44, 0xB1, 0x39, 0xB9, +0x45, 0x44, 0xB1, 0x3A, 0xBA, 0x45, 0x44, 0xB1, 0x3B, 0xBB, +0x45, 0x44, 0xB1, 0x3C, 0xBC, 0x45, 0x44, 0xB1, 0x3D, 0xBD, +0x45, 0x44, 0xB1, 0x3E, 0xBE, 0x45, 0x44, 0xB1, 0x3F, 0xBF, +0x45, 0x44, 0xB1, 0x40, 0xC0, 0x45, 0x44, 0xB1, 0x41, 0xC1, +0x45, 0x44, 0xB1, 0x42, 0xC2, 0x45, 0x44, 0xB1, 0x43, 0xC3, +0x45, 0x44, 0xB1, 0x44, 0xC4, 0x45, 0x44, 0xB1, 0x45, 0xC5, +0x45, 0x44, 0xB1, 0x46, 0xC6, 0x45, 0x44, 0xB1, 0x47, 0xC7, +0x45, 0x44, 0xB1, 0x48, 0xC8, 0x45, 0x44, 0xB1, 0x49, 0xC9, +0x45, 0x44, 0xB1, 0x4A, 0xCA, 0x45, 0x44, 0xB1, 0x4B, 0xCB, +0x45, 0x44, 0xB1, 0x4C, 0xCC, 0x45, 0x44, 0xB1, 0x4D, 0xCD, +0x45, 0x44, 0xB1, 0x4E, 0xCE, 0x45, 0x44, 0xB1, 0x4F, 0xCF, +0x45, 0x44, 0xB1, 0x50, 0xD0, 0x45, 0x44, 0xB1, 0x51, 0xD1, +0x45, 0x44, 0xB1, 0x52, 0xD2, 0x45, 0x44, 0xB1, 0x53, 0xD3, +0x45, 0x44, 0xB1, 0x54, 0xD4, 0x45, 0x44, 0xB1, 0x55, 0xD5, +0x45, 0x44, 0xB1, 0x56, 0xD6, 0x45, 0x44, 0xB1, 0x57, 0xD7, +0x45, 0x44, 0xB1, 0x58, 0xD8, 0x45, 0x44, 0xB1, 0x59, 0xD9, +0x45, 0x44, 0xB1, 0x5A, 0xDA, 0x45, 0x44, 0xB1, 0x5B, 0xDB, +0x45, 0x44, 0xB1, 0x5C, 0xDC, 0x45, 0x44, 0xB1, 0x5D, 0xDD, +0x45, 0x44, 0xB1, 0x5E, 0xDE, 0x45, 0x44, 0xB1, 0x5F, 0xDF, +0x45, 0x44, 0xB1, 0x60, 0xE0, 0x45, 0x44, 0xB1, 0x61, 0xE1, +0x45, 0x44, 0xB1, 0x62, 0xE2, 0x45, 0x44, 0xB1, 0x63, 0xE3, +0x45, 0x44, 0xB1, 0x64, 0xE4, 0x45, 0x44, 0xB1, 0x65, 0xE5, +0x45, 0x44, 0xB1, 0x66, 0xE6, 0x45, 0x44, 0xB1, 0x67, 0xE7, +0x45, 0x44, 0xB1, 0x68, 0xE8, 0x45, 0x44, 0xB1, 0x69, 0xE9, +0x45, 0x44, 0xB1, 0x6A, 0xEA, 0x45, 0x44, 0xB1, 0x6B, 0xEB, +0x45, 0x44, 0xB1, 0x6C, 0xEC, 0x45, 0x44, 0xB1, 0x6D, 0xED, +0x45, 0x44, 0xB1, 0x6E, 0xEE, 0x45, 0x44, 0xB1, 0x6F, 0xEF, +0x45, 0x44, 0xB1, 0x70, 0xF0, 0x45, 0x44, 0xB1, 0x71, 0xF1, +0x45, 0x44, 0xB1, 0x72, 0xF2, 0x45, 0x44, 0xB1, 0x73, 0xF3, +0x45, 0x44, 0xB1, 0x74, 0xF4, 0x45, 0x44, 0xB1, 0x75, 0xF5, +0x45, 0x44, 0xB1, 0x76, 0xF6, 0x45, 0x44, 0xB1, 0x77, 0xF7, +0x45, 0x44, 0xB1, 0x78, 0xF8, 0x45, 0x44, 0xB1, 0x79, 0xF9, +0x45, 0x44, 0xB1, 0x7A, 0xFA, 0x45, 0x44, 0xB1, 0x7B, 0xFB, +0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, +0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, +0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0xC8, +0x00, 0x00, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0E, +0x00, 0x20, 0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x65, +0x00, 0x69, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x72, 0x30, 0x53, +0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, +0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, +0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, +0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x63, 0x00, 0x69, +0x00, 0x6C, 0x00, 0x6E, 0x00, 0x72, 0x30, 0x53, 0x30, 0x61, +0x30, 0x6A, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, +0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, +0x75, 0x4C, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xBA, 0xFF, 0xAE, +0xFF, 0xAD, 0xFF, 0xA2, 0xFF, 0x9F, 0xFF, 0x9D, 0xFF, 0x9C, +0xFF, 0x9A, 0xCF, 0xBA, 0xCF, 0xAD, 0xCF, 0xA5, 0xCF, 0xA2, +0xCF, 0x7F, 0xCF, 0x5E, 0xCF, 0x4C, 0xCF, 0x38, 0xCF, 0x1A, +0xB2, 0x01, 0xAE, 0xB0, 0xA4, 0x8D, 0x8A, 0xCE, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, +0x00, 0x64, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x01, 0x08, +0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x01, 0xE8, 0x00, 0x00, +0x02, 0x50, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x02, 0xAC, +0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, +0x03, 0x98, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0xAC, +0x00, 0x00, 0x05, 0x94, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, +0x06, 0xD4, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00, 0x07, 0xD8, +0x00, 0x00, 0x08, 0x2C, 0x00, 0x00, 0x08, 0xF4, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0xA8, 0x00, 0x00, 0x0A, 0x38, +0x00, 0x00, 0x0B, 0x08, 0x00, 0x00, 0x0B, 0xE0, 0x04, 0x00, +0x01, 0x92, 0x01, 0x1C, 0x00, 0x00, 0x02, 0xC7, 0x00, 0x54, +0x02, 0xA8, 0x00, 0x4A, 0x03, 0x89, 0x00, 0x2B, 0x01, 0xFA, +0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, +0x01, 0x4C, 0x00, 0x6E, 0x01, 0x4C, 0x00, 0x6E, 0x02, 0x51, +0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, 0x01, 0xDB, 0x00, 0x4A, +0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, +0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, +0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, +0x00, 0xB0, 0x04, 0x00, 0x00, 0x27, 0x04, 0x00, 0x00, 0x6C, +0x04, 0x00, 0x00, 0x2D, 0x04, 0x00, 0x00, 0x26, 0x04, 0x00, +0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, +0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, +0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x17, 0x40, 0x0A, +0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, 0x71, 0x06, 0x02, 0x04, +0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, +0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, 0x71, 0x71, 0xFE, 0xC3, +0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, 0x32, 0xFD, 0x14, 0x01, +0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x4A, +0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x19, +0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, 0x07, 0x05, 0x03, 0x02, +0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, 0x00, 0xB3, 0x0C, 0x5E, +0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x14, +0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x20, 0x4A, +0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, 0xEC, 0x01, 0x05, 0x01, +0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, 0x5A, 0x01, 0xEC, 0xFE, +0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x5E, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x7B, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, +0x70, 0x02, 0x70, 0x6E, 0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, +0x9F, 0x02, 0xEC, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, +0x00, 0x15, 0x00, 0x1B, 0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, +0x05, 0x2B, 0x00, 0x40, 0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, +0x05, 0x08, 0x07, 0x54, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, +0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, +0x23, 0x22, 0x26, 0x26, 0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, +0x47, 0x46, 0x4A, 0x4D, 0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, +0x01, 0x0A, 0x86, 0x8F, 0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, +0x5A, 0x1C, 0x5C, 0x14, 0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, +0xFF, 0xF6, 0x02, 0x0C, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, +0x00, 0x24, 0x40, 0x0D, 0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, +0x14, 0x6B, 0x12, 0x0B, 0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x04, 0x03, 0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, +0x52, 0x09, 0x08, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, +0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, +0x25, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x11, 0x33, 0x11, +0x23, 0x27, 0x23, 0x0E, 0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, +0x4F, 0x36, 0x85, 0x46, 0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, +0x61, 0x5A, 0x43, 0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, +0x32, 0x5D, 0x7A, 0xBD, 0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, +0x47, 0x7B, 0x83, 0x92, 0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, +0x2B, 0x22, 0x95, 0x00, 0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, +0x01, 0xF3, 0x02, 0x1F, 0x00, 0x05, 0x00, 0x17, 0x00, 0x18, +0x00, 0x40, 0x10, 0x03, 0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, +0x0C, 0x50, 0x08, 0x07, 0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x33, 0x26, 0x23, 0x22, 0x06, +0x07, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, +0x10, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, +0x03, 0x6F, 0x3D, 0x41, 0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, +0x4A, 0x80, 0x8A, 0x7C, 0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, +0x94, 0x46, 0x9D, 0xA6, 0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, +0x8C, 0x84, 0x8C, 0x0E, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, +0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, +0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, +0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, +0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, +0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, +0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, +0x70, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, +0x11, 0x6E, 0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x1F, +0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, 0x6B, 0x0F, +0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x00, +0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0xB2, 0x4A, +0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, 0x64, 0x02, +0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, 0x2E, 0x5C, +0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, 0x00, 0x08, +0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, 0x0B, 0x00, +0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, 0xB7, 0x05, +0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, 0x26, 0x10, +0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, 0x85, 0x85, +0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, 0xD7, 0x48, +0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, 0xC2, 0x01, +0x85, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, +0x02, 0x14, 0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, +0x01, 0xA6, 0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, +0x44, 0x15, 0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, +0x66, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x89, +0x00, 0x02, 0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, +0x00, 0x09, 0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, +0x27, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, +0x37, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, +0x46, 0xA6, 0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, +0x2D, 0x07, 0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, +0x3D, 0x0B, 0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, +0x46, 0xA6, 0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, +0x19, 0x15, 0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, +0x2F, 0x2B, 0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x6C, 0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, +0x00, 0x0B, 0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, +0x17, 0x1E, 0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, +0x36, 0x37, 0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, +0x07, 0x06, 0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, +0x21, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, +0xFE, 0x5C, 0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, +0x0D, 0x26, 0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, +0x41, 0x17, 0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, +0x46, 0x26, 0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, +0x14, 0x1D, 0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, +0x6B, 0x57, 0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, +0xB4, 0x2D, 0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, +0x28, 0x14, 0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, +0x0E, 0x1C, 0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, +0x2E, 0x00, 0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, +0x03, 0x3E, 0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, +0x00, 0x1B, 0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, +0x00, 0x40, 0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, +0x00, 0x62, 0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x21, 0x06, 0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, +0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, +0x13, 0x25, 0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, +0x37, 0x36, 0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, +0x07, 0x26, 0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, +0x06, 0x17, 0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, +0x26, 0x03, 0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, +0x31, 0xA9, 0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, +0x15, 0x07, 0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, +0xFE, 0x21, 0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, +0x62, 0x5D, 0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, +0x2F, 0x20, 0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, +0x22, 0x11, 0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, +0x71, 0x56, 0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, +0x34, 0x0F, 0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, +0x47, 0x32, 0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, +0x5F, 0x23, 0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, +0x01, 0x0F, 0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, +0x39, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, +0x03, 0x8E, 0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, +0x00, 0x09, 0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, +0x31, 0x37, 0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, +0x01, 0x21, 0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, +0x37, 0x1E, 0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, +0x16, 0x30, 0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, +0x01, 0xC1, 0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, +0x24, 0x5E, 0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, +0x13, 0xB6, 0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, +0x5D, 0xFD, 0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, +0x30, 0x0C, 0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, +0xFF, 0xD5, 0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, +0x00, 0x36, 0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, +0x33, 0x23, 0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, +0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, +0x26, 0x22, 0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, +0x05, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, +0x26, 0x27, 0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, +0x01, 0x35, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, +0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, +0x17, 0x14, 0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, +0x27, 0xDA, 0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, +0x09, 0x23, 0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, +0x1A, 0x4C, 0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, +0x08, 0xFE, 0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, +0x26, 0x1A, 0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, +0x19, 0x28, 0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, +0x18, 0x47, 0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, +0x1E, 0x17, 0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, +0x0D, 0x04, 0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, +0x26, 0x35, 0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, +0x11, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, +0x03, 0x61, 0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, +0x61, 0x14, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, +0x17, 0x03, 0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, +0x02, 0x33, 0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, +0x27, 0x06, 0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, +0x06, 0x07, 0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, +0x05, 0x46, 0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, +0x1E, 0x2F, 0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, +0x3C, 0x3D, 0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, +0x19, 0x14, 0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, +0xFE, 0xCD, 0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, +0x26, 0x45, 0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, +0x66, 0x63, 0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, +0x2B, 0x0E, 0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, +0x00, 0x27, 0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, +0x00, 0x23, 0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, +0x19, 0x01, 0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x0C, 0x10, 0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, +0x61, 0x07, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, +0x0E, 0x01, 0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, +0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x21, 0x35, 0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, +0x86, 0x73, 0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, +0xDD, 0x62, 0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, +0xB7, 0x04, 0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, +0xE6, 0xE6, 0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, +0x03, 0x1F, 0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, +0x03, 0x5E, 0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, +0x11, 0x33, 0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, +0x07, 0x26, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, +0x5E, 0x5E, 0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, +0x24, 0x0F, 0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, +0x68, 0xFE, 0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, +0x05, 0x04, 0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, +0x00, 0x27, 0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, +0x00, 0x1D, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, +0x2B, 0x62, 0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, +0x16, 0x15, 0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, +0x1A, 0x59, 0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0F, 0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, +0x0F, 0x05, 0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, +0x22, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, +0x33, 0x15, 0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, +0x14, 0x07, 0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, +0x06, 0x05, 0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, +0x0E, 0x18, 0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, +0x62, 0xFE, 0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, +0x66, 0x32, 0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, +0x02, 0x6D, 0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, +0x46, 0x32, 0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, +0x12, 0x62, 0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, +0x48, 0x32, 0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, +0xCE, 0xC2, 0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, +0x00, 0x6C, 0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, +0x6B, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, +0x03, 0xD3, 0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, +0x40, 0x13, 0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, +0x00, 0x67, 0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, +0x00, 0x19, 0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, +0x0F, 0x0F, 0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x15, 0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, +0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, +0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x15, 0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, +0x95, 0x95, 0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, +0x7B, 0x7B, 0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, +0xAA, 0xAA, 0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, +0x47, 0x02, 0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, +0x00, 0x22, 0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, +0x05, 0x2B, 0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, +0x05, 0x21, 0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, +0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, +0x06, 0x01, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, +0x06, 0x07, 0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, +0x27, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, +0x21, 0xF1, 0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, +0x78, 0xFE, 0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, +0xB4, 0x86, 0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, +0xFE, 0xE2, 0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, +0x76, 0xFD, 0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, +0x7B, 0xA2, 0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, +0xB5, 0x5A, 0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, +0x03, 0x44, 0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, +0x40, 0x14, 0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, +0x00, 0x2A, 0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, +0x14, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, +0x58, 0x31, 0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, +0x06, 0x21, 0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, +0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, +0x15, 0x13, 0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, +0x35, 0x11, 0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, +0x23, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x03, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, +0x21, 0x15, 0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, +0x07, 0x04, 0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, +0x4C, 0x1C, 0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, +0xEA, 0x03, 0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, +0xFD, 0x84, 0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, +0xE1, 0x58, 0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, +0x26, 0x0A, 0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, +0x94, 0xA8, 0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, +0x16, 0x0A, 0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, +0x00, 0x05, 0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, +0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, +0x00, 0x3C, 0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, +0x18, 0x69, 0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, +0x6C, 0x0E, 0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, +0x55, 0x29, 0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, +0x07, 0x0F, 0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, +0x37, 0x33, 0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, +0x33, 0x26, 0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, +0x07, 0x27, 0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, +0x37, 0x2B, 0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, +0x26, 0x27, 0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, +0xDD, 0xDD, 0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, +0x50, 0x81, 0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, +0x7B, 0x55, 0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, +0x58, 0x02, 0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, +0x63, 0x63, 0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, +0x14, 0x85, 0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, +0x2C, 0x5F, 0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, +0x5F, 0x2B, 0x33, 0xFE, 0xD5, 0x00, }; + +#endif \ No newline at end of file From 195923473c2666570816e1df1ed4b95d11198a0d Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Tue, 20 Sep 2022 23:26:28 +0900 Subject: [PATCH 11/20] [update] Change FTC_FaceID from uint8_t to struct - Change FTC_FaceID from uint8_t to struct - Integrated font_load function - Add face_index select argument - Fixed problem what FTC_FaceID forgotten delete in unload_font function --- src/OpenFontRender.cpp | 199 ++++++++++++++++++----------------------- src/OpenFontRender.h | 23 ++++- 2 files changed, 105 insertions(+), 117 deletions(-) diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 5bb9f36..2c1677b 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -17,17 +17,9 @@ // /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ -enum LoadFontFrom { - FROM_FILE, - FROM_MEMORY -}; - typedef struct { - enum LoadFontFrom from; // data source - char *filepath; // ttf file path - unsigned char *data; // ttf array - size_t data_size; // ttf array size - uint8_t debug_level; // debug level + enum OFR::LoadFontFrom from; // data source + uint8_t debug_level; // debug level } FontDataInfo; typedef struct { @@ -76,8 +68,7 @@ void RenderTask(void *pvParameters); /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ FT_Library g_FtLibrary; -uint8_t g_AvailableFaceId = 0; -bool g_NeedInitialize = true; +bool g_NeedInitialize = true; #ifdef FREERTOS_CONFIG_H TaskHandle_t g_RenderTaskHandle = NULL; @@ -120,6 +111,11 @@ OpenFontRender::OpenFontRender() { _max_sizes = OFR_CACHE_SIZE_NO_LIMIT; _max_bytes = OFR_CACHE_SIZE_NO_LIMIT; + _face_id.filepath = nullptr; + _face_id.data = nullptr; + _face_id.data_size = 0; + _face_id.face_index = 0; + _font.line_space_ratio = 1.0; // Set default line space ratio _font.size = 44; // Set default font size _font.fg_color = 0xFFFF; // Set default font color (White) @@ -220,110 +216,34 @@ void OpenFontRender::setCacheSize(unsigned int max_faces, unsigned int max_sizes _max_bytes = max_bytes; } -FT_Error OpenFontRender::loadFont(const unsigned char *data, size_t size) { - FT_Face face; - FT_Error error; - FontDataInfo info = {FROM_MEMORY, nullptr, (unsigned char *)data, size, _debug_level}; - - if (g_NeedInitialize) { - error = FT_Init_FreeType(&g_FtLibrary); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FT_Init_FreeType error: 0x%02X\n", error); - return error; - } - g_NeedInitialize = false; - } - - _face_id = g_AvailableFaceId++; - // 現在の引数は適当 - error = FTC_Manager_New(g_FtLibrary, _max_faces, _max_sizes, _max_bytes, &ftc_face_requester, &info, &_ftc_manager); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_New error: 0x%02X\n", error); - return error; - } - - error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_LookupFace error: 0x%02X\n", error); - return error; - } - - error = FTC_CMapCache_New(_ftc_manager, &_ftc_cmap_cache); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_CMapCache_New error: 0x%02X\n", error); - return error; - } - - error = FTC_ImageCache_New(_ftc_manager, &_ftc_image_cache); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_ImageCache_New error: 0x%02X\n", error); - return error; - } - - if (FT_HAS_VERTICAL(face) == 0) { - // Current font does NOT support vertical layout - _font.support_vertical = false; - } else { - _font.support_vertical = true; - } +FT_Error OpenFontRender::loadFont(const unsigned char *data, size_t size, uint8_t target_face_index) { + _face_id.data_size = size; + _face_id.data = new unsigned char[size]; + memcpy(_face_id.data, data, size); - return FT_Err_Ok; + _face_id.face_index = target_face_index; + return loadFont(OFR::FROM_MEMORY); } -FT_Error OpenFontRender::loadFont(const char *fpath) { - FT_Face face; - FT_Error error; - FontDataInfo info = {FROM_FILE, (char *)fpath, nullptr, 0, _debug_level}; - - if (g_NeedInitialize) { - error = FT_Init_FreeType(&g_FtLibrary); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FT_Init_FreeType error: 0x%02X\n", error); - return error; - } - g_NeedInitialize = false; - } - - _face_id = g_AvailableFaceId++; - // 現在の引数は適当 - error = FTC_Manager_New(g_FtLibrary, _max_faces, _max_sizes, _max_bytes, &ftc_face_requester, &info, &_ftc_manager); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_New error: 0x%02X\n", error); - return error; - } +FT_Error OpenFontRender::loadFont(const char *fpath, uint8_t target_face_index) { + size_t len = strlen(fpath); - error = FTC_Manager_LookupFace(_ftc_manager, (FTC_FaceID)_face_id, &face); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_LookupFace error: 0x%02X\n", error); - return error; - } + _face_id.filepath = new char[len + 1]; + strncpy(_face_id.filepath, fpath, len); + _face_id.filepath[len] = '\0'; - error = FTC_CMapCache_New(_ftc_manager, &_ftc_cmap_cache); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_CMapCache_New error: 0x%02X\n", error); - return error; - } - - error = FTC_ImageCache_New(_ftc_manager, &_ftc_image_cache); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FTC_ImageCache_New error: 0x%02X\n", error); - return error; - } - - if (FT_HAS_VERTICAL(face) == 0) { - // Current font does NOT support vertical layout - _font.support_vertical = false; - } else { - _font.support_vertical = true; - } - - return FT_Err_Ok; + _face_id.face_index = target_face_index; + return loadFont(OFR::FROM_FILE); } void OpenFontRender::unloadFont() { + FTC_Manager_RemoveFaceID(_ftc_manager, &_face_id); FTC_Manager_Reset(_ftc_manager); FTC_Manager_Done(_ftc_manager); FT_Done_FreeType(g_FtLibrary); + + delete[] _face_id.filepath; + delete[] _face_id.data; g_NeedInitialize = true; } @@ -354,13 +274,13 @@ uint16_t OpenFontRender::drawHString(const char *str, abbox.xMax = abbox.yMax = LONG_MIN; FTC_ImageTypeRec image_type; - image_type.face_id = (FTC_FaceID)_face_id; + image_type.face_id = &_face_id; image_type.width = 0; image_type.height = _font.size; image_type.flags = FT_LOAD_DEFAULT; FTC_ScalerRec scaler; - scaler.face_id = (FTC_FaceID)_face_id; + scaler.face_id = &_face_id; scaler.width = 0; scaler.height = _font.size; scaler.pixel = true; @@ -408,7 +328,7 @@ uint16_t OpenFontRender::drawHString(const char *str, default: rsi.pos = {x, y}; FT_UInt glyph_index = FTC_CMapCache_Lookup(_ftc_cmap_cache, - (FTC_FaceID)_face_id, + &_face_id, cmap_index, unicode); @@ -809,6 +729,56 @@ void OpenFontRender::set_endWrite(std::function user_func) { // /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ +FT_Error OpenFontRender::loadFont(enum OFR::LoadFontFrom from) { + FT_Face face; + FT_Error error; + FontDataInfo info = {from, _debug_level}; + + if (g_NeedInitialize) { + error = FT_Init_FreeType(&g_FtLibrary); + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FT_Init_FreeType error: 0x%02X\n", error); + return error; + } + g_NeedInitialize = false; + } + + //_face_id = g_AvailableFaceId++; + // 現在の引数は適当 + error = FTC_Manager_New(g_FtLibrary, _max_faces, _max_sizes, _max_bytes, &ftc_face_requester, &info, &_ftc_manager); + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_New error: 0x%02X\n", error); + return error; + } + + error = FTC_Manager_LookupFace(_ftc_manager, &_face_id, &face); + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FTC_Manager_LookupFace error: 0x%02X\n", error); + return error; + } + + error = FTC_CMapCache_New(_ftc_manager, &_ftc_cmap_cache); + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FTC_CMapCache_New error: 0x%02X\n", error); + return error; + } + + error = FTC_ImageCache_New(_ftc_manager, &_ftc_image_cache); + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FTC_ImageCache_New error: 0x%02X\n", error); + return error; + } + + if (FT_HAS_VERTICAL(face) == 0) { + // Current font does NOT support vertical layout + _font.support_vertical = false; + } else { + _font.support_vertical = true; + } + + return FT_Err_Ok; +} + uint32_t OpenFontRender::getFontMaxHeight() { FT_Error error; FT_Face face; @@ -821,7 +791,7 @@ uint32_t OpenFontRender::getFontMaxHeight() { return max_height; } - scaler.face_id = (FTC_FaceID)_face_id; + scaler.face_id = &_face_id; scaler.width = 0; scaler.height = _font.size; scaler.pixel = true; @@ -914,28 +884,29 @@ uint16_t OpenFontRender::alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc) { // /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ -FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *face) { +FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *aface) { FT_Error error; + OFR::Face face = (OFR::Face)face_id; FontDataInfo *info = (FontDataInfo *)request_data; debugPrintf((info->debug_level & OFR_INFO), "Font load required. FaceId: %d\n", face_id); - if (info->from == FROM_FILE) { + if (info->from == OFR::FROM_FILE) { debugPrintf((info->debug_level & OFR_INFO), "Load from file.\n"); const uint8_t FACE_INDEX = 0; - error = FT_New_Face(library, info->filepath, FACE_INDEX, face); // create face object + error = FT_New_Face(library, face->filepath, FACE_INDEX, aface); // create face object if (error) { debugPrintf((info->debug_level & OFR_ERROR), "Font load Failed: 0x%02X\n", error); } else { debugPrintf((info->debug_level & OFR_INFO), "Font load Success!\n"); } - } else if (info->from == FROM_MEMORY) { + } else if (info->from == OFR::FROM_MEMORY) { debugPrintf((info->debug_level & OFR_INFO), "Load from memory.\n"); const uint8_t FACE_INDEX = 0; - error = FT_New_Memory_Face(library, info->data, info->data_size, FACE_INDEX, face); // create face object + error = FT_New_Memory_Face(library, face->data, face->data_size, FACE_INDEX, aface); // create face object if (error) { debugPrintf((info->debug_level & OFR_ERROR), "Font load Failed: 0x%02X\n", error); } else { diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index dede304..0f5b7dd 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -60,6 +60,20 @@ enum class Drawing { Skip }; +namespace OFR { + enum LoadFontFrom { + FROM_FILE, + FROM_MEMORY + }; + + typedef struct FaceRec_ { + char *filepath; // ttf file path + unsigned char *data; // ttf array + size_t data_size; // ttf array size + uint8_t face_index; // face index (default is 0) + } FaceRec, *Face; +}; + /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // Output function definition @@ -111,8 +125,8 @@ class OpenFontRender { double getLineSpaceRatio(); void setCacheSize(unsigned int max_faces, unsigned int max_sizes, unsigned long max_bytes); - FT_Error loadFont(const unsigned char *data, size_t size); - FT_Error loadFont(const char *fpath); + FT_Error loadFont(const unsigned char *data, size_t size, uint8_t target_face_index = 0); + FT_Error loadFont(const char *fpath, uint8_t target_face_index = 0); void unloadFont(); uint16_t drawHString(const char *str, @@ -177,6 +191,7 @@ class OpenFontRender { void set_endWrite(std::function user_func); private: + FT_Error loadFont(enum OFR::LoadFontFrom from); uint32_t getFontMaxHeight(); void draw2screen(FT_BitmapGlyph glyph, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg); uint16_t decodeUTF8(uint8_t *buf, uint16_t *index, uint16_t remaining); @@ -190,12 +205,14 @@ class OpenFontRender { FTC_Manager _ftc_manager; FTC_CMapCache _ftc_cmap_cache; FTC_ImageCache _ftc_image_cache; - uint8_t _face_id; + // uint8_t _face_id; unsigned int _max_faces; unsigned int _max_sizes; unsigned long _max_bytes; bool _transparent_background; + OFR::FaceRec _face_id; + struct FontParameter { double line_space_ratio; unsigned int size; From da5caf05fb01a0ce495ea66bbc71d127a3d7a5d8 Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Sun, 25 Sep 2022 23:33:08 +0900 Subject: [PATCH 12/20] [update] Change some method scope - change some method scope - tweak fix - reduce Arduino dependence --- src/OpenFontRender.cpp | 50 +++++++++++++++++++++--------------------- src/OpenFontRender.h | 40 +++++++++++++++++---------------- 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 2c1677b..9b7c819 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -69,6 +69,7 @@ void RenderTask(void *pvParameters); FT_Library g_FtLibrary; bool g_NeedInitialize = true; +std::function g_Print; #ifdef FREERTOS_CONFIG_H TaskHandle_t g_RenderTaskHandle = NULL; @@ -78,8 +79,6 @@ unsigned int g_RenderTaskStackSize = 8192 + 8192 + 4096; RenderTaskParameter g_TaskParameter; #endif -std::function g_Print; - /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // OpenFontRender Class Public Methods @@ -107,9 +106,9 @@ OpenFontRender::OpenFontRender() { _startWrite = []() { return; }; _endWrite = []() { return; }; - _max_faces = OFR_CACHE_SIZE_NO_LIMIT; - _max_sizes = OFR_CACHE_SIZE_NO_LIMIT; - _max_bytes = OFR_CACHE_SIZE_NO_LIMIT; + _max_faces = OpenFontRender::CACHE_SIZE_NO_LIMIT; + _max_sizes = OpenFontRender::CACHE_SIZE_NO_LIMIT; + _max_bytes = OpenFontRender::CACHE_SIZE_NO_LIMIT; _face_id.filepath = nullptr; _face_id.data = nullptr; @@ -292,7 +291,7 @@ uint16_t OpenFontRender::drawHString(const char *str, // decode UTF8 uint16_t unicode; - uint16_t len = strlen(str); + uint16_t len = (uint16_t)strlen(str); uint16_t n = 0; std::queue unicode_q; while (n < len) { @@ -467,7 +466,7 @@ uint16_t OpenFontRender::drawHString(const char *str, break; case '\n': x = initial_position.x; - y += getFontMaxHeight() * _font.line_space_ratio; + y += (int32_t)(getFontMaxHeight() * _font.line_space_ratio); break; default: // No supported control char @@ -484,7 +483,7 @@ uint16_t OpenFontRender::drawHString(const char *str, if (detect_control_char && unicode == '\n') { // If string end with '\n' control char, expand bbox - abbox.yMax += getFontMaxHeight() * _font.line_space_ratio; + abbox.yMax += (int32_t)(getFontMaxHeight() * _font.line_space_ratio); } _cursor = {x, y}; @@ -591,8 +590,8 @@ FT_BBox OpenFontRender::calculateBoundingBoxFmt(int32_t x, int32_t y, unsigned i FT_BBox OpenFontRender::calculateBoundingBox(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *str) { FT_Error error; - FT_BBox bbox; - size_t tmp_font_size = getFontSize(); + FT_BBox bbox = { 0, 0, 0, 0 }; + unsigned int tmp_font_size = getFontSize(); Cursor tmp_cursor = _cursor; _cursor = {x, y}; @@ -630,7 +629,7 @@ unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t FT_Error error; FT_BBox bbox1 = {0, 0, 0, 0}; FT_BBox bbox2 = {0, 0, 0, 0}; - size_t tmp_font_size = getFontSize(); + unsigned int tmp_font_size = getFontSize(); Cursor tmp_cursor = _cursor; unsigned int fs1 = 10; unsigned int fs2 = 50; @@ -670,8 +669,8 @@ unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t w2 = bbox2.xMax - bbox2.xMin; h2 = bbox2.yMax - bbox2.yMin; - unsigned int wfs = ((fs2 - fs1) / (w2 - w1 + 0.000001)) * (limit_width - w1) + fs1; - unsigned int hfs = ((fs2 - fs1) / (h2 - h1 + 0.000001)) * (limit_height - h1) + fs1; + unsigned int wfs = (unsigned int)((fs2 - fs1) / (w2 - w1 + 0.000001)) * (limit_width - w1) + fs1; + unsigned int hfs = (unsigned int)((fs2 - fs1) / (h2 - h1 + 0.000001)) * (limit_height - h1) + fs1; setFontSize(tmp_font_size); _cursor = tmp_cursor; @@ -680,24 +679,24 @@ unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t } void OpenFontRender::showFreeTypeVersion() { - char s[OFR_FT_VERSION_STRING_SIZE] = {0}; + char s[OpenFontRender::FT_VERSION_STRING_SIZE] = {0}; getFreeTypeVersion(s); g_Print(s); } void OpenFontRender::showCredit() { - char s[OFR_CREDIT_STRING_SIZE] = {0}; + char s[OpenFontRender::CREDIT_STRING_SIZE] = {0}; getCredit(s); g_Print(s); } void OpenFontRender::getFreeTypeVersion(char *str) { - snprintf(str, OFR_FT_VERSION_STRING_SIZE, + snprintf(str, OpenFontRender::FT_VERSION_STRING_SIZE, "FreeType version: %d.%d.%d\n", FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH); } void OpenFontRender::getCredit(char *str) { - snprintf(str, OFR_CREDIT_STRING_SIZE, + snprintf(str, OpenFontRender::CREDIT_STRING_SIZE, "Portions of this software are copyright (c) < %d.%d.%d > The FreeTypeProject (www.freetype.org). All rights reserved.\n", FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH); } @@ -722,6 +721,10 @@ void OpenFontRender::set_startWrite(std::function user_func) { void OpenFontRender::set_endWrite(std::function user_func) { _endWrite = user_func; } +void OpenFontRender::set_printFunc(std::function user_func) { + // This function is static member method + g_Print = user_func; +} /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // @@ -743,7 +746,6 @@ FT_Error OpenFontRender::loadFont(enum OFR::LoadFontFrom from) { g_NeedInitialize = false; } - //_face_id = g_AvailableFaceId++; // 現在の引数は適当 error = FTC_Manager_New(g_FtLibrary, _max_faces, _max_sizes, _max_bytes, &ftc_face_requester, &info, &_ftc_manager); if (error) { @@ -815,8 +817,8 @@ uint32_t OpenFontRender::getFontMaxHeight() { void OpenFontRender::draw2screen(FT_BitmapGlyph glyph, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { _startWrite(); - for (size_t _y = 0; _y < glyph->bitmap.rows; ++_y) { - for (size_t _x = 0; _x < glyph->bitmap.width; ++_x) { + for (int32_t _y = 0; _y < glyph->bitmap.rows; ++_y) { + for (int32_t _x = 0; _x < glyph->bitmap.width; ++_x) { uint8_t alpha = glyph->bitmap.buffer[_y * glyph->bitmap.pitch + _x]; debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "%c", (alpha == 0x00 ? ' ' : 'o')); if (_transparent_background && alpha == 0x00) { @@ -885,11 +887,11 @@ uint16_t OpenFontRender::alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc) { /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *aface) { - FT_Error error; + FT_Error error = FT_Err_Ok; OFR::Face face = (OFR::Face)face_id; FontDataInfo *info = (FontDataInfo *)request_data; - debugPrintf((info->debug_level & OFR_INFO), "Font load required. FaceId: %d\n", face_id); + debugPrintf((info->debug_level & OFR_INFO), "Font load required. FaceId: 0x%p\n", face_id); if (info->from == OFR::FROM_FILE) { debugPrintf((info->debug_level & OFR_INFO), "Load from file.\n"); @@ -985,6 +987,4 @@ void RenderTask(void *pvParameters) { // /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ -void set_printFunc(std::function user_func) { - g_Print = user_func; -} + diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index 0f5b7dd..985fa45 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -11,7 +11,9 @@ #ifndef OPEN_FONT_RENDER_H #define OPEN_FONT_RENDER_H -#include +#if defined(ARDUINO_BOARD) + #include +#endif #include #include @@ -19,7 +21,6 @@ #include FT_CACHE_H #include FT_FREETYPE_H -#undef min #include #include #include @@ -32,9 +33,6 @@ // Constant definition // /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ -#define OFR_CACHE_SIZE_NO_LIMIT 0 -#define OFR_FT_VERSION_STRING_SIZE (32) -#define OFR_CREDIT_STRING_SIZE (128) enum OFR_DEBUG_LEVEL { OFR_NONE = 0, @@ -61,6 +59,7 @@ enum class Drawing { }; namespace OFR { + /* USER DO NOT USE DIRECTORY IN THIS SCOPE ELEMENTS */ enum LoadFontFrom { FROM_FILE, FROM_MEMORY @@ -74,20 +73,6 @@ namespace OFR { } FaceRec, *Face; }; -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ -// -// Output function definition -// -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ -#define setPrintFunc(F) set_printFunc([&](const char *s) { return F(s); }) - -template -void setSerial(T &output) { - set_printFunc([&](const char *s) { return output.print(s); }); -} -// Direct calls are deprecated. -void set_printFunc(std::function user_func); - /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ // // Class definition @@ -96,9 +81,17 @@ void set_printFunc(std::function user_func); #define setDrawPixel(F) set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return F(x, y, c); }) #define setStartWrite(F) set_startWrite([&](void) { return F(); }) #define setEndWrite(F) set_endWrite([&](void) { return F(); }) +#define setPrintFunc(F) set_printFunc([&](const char *s) { return F(s); }) class OpenFontRender { public: + static const unsigned char MAIN_VERSION = 1; + static const unsigned char MINER_VERSION = 0; + + static const unsigned char CACHE_SIZE_NO_LIMIT = 0; + static const unsigned char FT_VERSION_STRING_SIZE = 32; + static const unsigned char CREDIT_STRING_SIZE = 128; + OpenFontRender(); void setUseRenderTask(bool enable); void setRenderTaskStackSize(unsigned int stack_size); @@ -190,6 +183,15 @@ class OpenFontRender { void set_startWrite(std::function user_func); void set_endWrite(std::function user_func); + + /* Static member method */ + template + static void setSerial(T &output) { + set_printFunc([&](const char *s) { return output.print(s); }); + } + // Direct calls are deprecated. + static void set_printFunc(std::function user_func); + private: FT_Error loadFont(enum OFR::LoadFontFrom from); uint32_t getFontMaxHeight(); From f9e831d8f1f6590e08f3c8f37f3023ee1fa85fe8 Mon Sep 17 00:00:00 2001 From: work-desktop Date: Mon, 26 Sep 2022 17:47:35 +0900 Subject: [PATCH 13/20] [update] Update documents - Update documents - fix bug --- README.md | 24 +- doc/API.md | 648 ++++++++++++++++++++++++++++++++++++----- doc/README_JA.md | 34 ++- src/OpenFontRender.cpp | 6 +- 4 files changed, 629 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index d184579..137fee7 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,11 @@ void setup() { tft.fillScreen(TFT_BLACK); digitalWrite(LCD_BACKLIGHT, HIGH); // turn on the backlight + // print library version + Serial.printf("OpenFontRender Library version: %d.%d\n", + OpenFontRender::MAIN_VERSION, + OpenFontRender::MINER_VERSION); + render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -98,6 +103,11 @@ void setup() { M5.begin(); M5.Lcd.fillScreen(BLACK); + // print library version + Serial.printf("OpenFontRender Library version: %d.%d\n", + OpenFontRender::MAIN_VERSION, + OpenFontRender::MINER_VERSION); + render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -149,12 +159,14 @@ render.setStartWrite(my_start_write_function); // optional render.setEndWrite(my_end_write_function); // optional ``` +If you have an object for drawing and it contains the necessary methods, you can also use ```setDrawer``` method instead. + See [API.md](/doc/API.md) for more detailed instructions. ## Switch other FreeType version You can switch to any FreeType version in this library. -We have confirmed that it works with 2.4.12 and 2.11.0. +We have confirmed that it works with 2.4.12 and 2.12.1. Default version is 2.4.12 because it was the version that worked most stably. ### How to switch @@ -230,6 +242,16 @@ We would like to thank sozai-font-hako for providing us with an easy-to-use lice - [freetype2 - example1.c](https://www.freetype.org/freetype2/docs/tutorial/example1.c) - [FreeType2 でフォントテクスチャ作る際のコツ。ピクセルサイズで作るのと文字送り量の取得 - GameProgrammar's Night](https://katze.hatenablog.jp/entry/2013/07/16/232911) - [FreeType のベースラインあわせでかなりハマッタのでメモ - くそにそてくにっく](https://niso1985.hatenadiary.org/entry/20090907/1252339660) +- [【C++/MinGW】FreeTypeを使ってTTFファイルから文字レンダリング - とある科学の備忘録](https://shizenkarasuzon.hatenablog.com/entry/2020/10/30/181607) +- [OpenGLでFreeTypeを使って文字列を描画してみた2。(FreeTypeキャッシュ編)](https://gist.github.com/rg687076/76d4ddac2a8628066f201391f9a4489d) +- [FreeType を使って文字を描画する - インゲージ開発者ブログ](https://blog.ingage.jp/entry/2022/03/24/080000) +- [[Font][Freetype]26.6 fractional pixel formatってなぁに? にお答えしますね – あおいろヨゾラ](https://www.nagatsuki-do.net/2014/05/18/fontfreetype26-6-fractional-pixel-format%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%81%E3%81%AB%EF%BC%9F%E3%80%80%E3%81%AB%E3%81%8A%E7%AD%94%E3%81%88%E3%81%97%E3%81%BE%E3%81%99%E3%81%AD/) +- [freetype - How to get height of font in Freetype2 - Stack Overflow](https://stackoverflow.com/questions/50373457/how-to-get-height-of-font-in-freetype2) +- [True type fontのレンダリング その7 - 忘備録-備忘録](https://blog.goo.ne.jp/lm324/e/457cf90b1c4267e1d49ed0881369b303) +- [FreeType-2.4.7 API Reference](https://opensource.apple.com/source/X11proto/X11proto-57.2/freetype/freetype-2.4.7/docs/reference/ft2-base_interface.html#FT_Open_Face) +- [The FreeType Caching Sub-System](http://www.fifi.org/doc/libfreetype6/cache.html) +- [freetype 2.8.1 | DirectAdmin Forums](https://forum.directadmin.com/threads/freetype-2-8-1.55304/) + ### Other diff --git a/doc/API.md b/doc/API.md index ad6f23e..2536fc7 100644 --- a/doc/API.md +++ b/doc/API.md @@ -79,26 +79,28 @@ None --- ```c++ -FT_Error drawChar(uint16_t unicode, +FT_Error drawChar(char character, uint32_t x = 0, uint32_t y = 0, uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000) + uint16_t bg = 0x0000, + Align align = Align::Left) ``` ### Summary -Draws a single character specified in Unicode. +Draws a single character. ### Arguments -| Type | Name | Description | -| -------- | :-----: | -------------------------------------- | -| uint16_t | unicode | Unicode number | -| uint32_t | x | Top-left X coordinate to start drawing | -| uint32_t | y | Top-left Y coordinate to start drawing | -| uint32_t | fg | Font color (16bit color) | -| uint32_t | bg | Font background color (16bit color) | +| Type | Name | Description | +| -------- | :-------: | -------------------------------------- | +| char | character | Character to draw | +| uint32_t | x | Top-left X coordinate to start drawing | +| uint32_t | y | Top-left Y coordinate to start drawing | +| uint32_t | fg | Font color (16bit color) | +| uint32_t | bg | Font background color (16bit color) | +| Align | align | Alignment of character | ### Return @@ -108,27 +110,67 @@ Draws a single character specified in Unicode. --- +```c++ +uint16_t drawHString(const char *str, + uint32_t x, + uint32_t y, + uint16_t fg, + uint16_t bg, + Align align, + Drawing drawing, + FT_BBox &abbox, + FT_Error &error) +``` + +### Summary + +Draw strings horizontally. + +### Arguments + +| Type | Name | Description | +| ------------- | :-----: | ---------------------------------------------------------- | +| const char \* | str | String to draw | +| uint32_t | x | Top-left X coordinate to start drawing | +| uint32_t | y | Top-left Y coordinate to start drawing | +| uint32_t | fg | Font color (16bit color) | +| uint32_t | bg | Font background color (16bit color) | +| Align | align | Alignment of strings | +| Drawing | drawing | Whether to draw or not | +| FT_BBox | &abbox | (output) Smallest rectangle that encloses the drawn string | +| FT_Error | &error | (output) FreeType error code. 0 is success | + +### Return + +| Type | Description | +| -------- | -------------------------------------- | +| uint16_t | Number of characters success to write. | + +--- + ```c++ uint16_t drawString(const char *str, uint32_t x = 0, uint32_t y = 0, uint16_t fg = 0xFFFF, - uint16_t bg = 0x0000) + uint16_t bg = 0x0000, + Layout layout = Layout::Horizontal) ``` ### Summary -Draws the specified string. +Draws the specified string left-aligned. ### Arguments -| Type | Name | Description | -| ------------- | :--: | -------------------------------------- | -| const char \* | str | String to draw | -| uint32_t | x | Top-left X coordinate to start drawing | -| uint32_t | y | Top-left Y coordinate to start drawing | -| uint32_t | fg | Font color (16bit color) | -| uint32_t | bg | Font background color (16bit color) | +| Type | Name | Description | +| ------------- | :----: | -------------------------------------------------------- | +| const char \* | str | String to draw | +| uint32_t | x | Top-left X coordinate to start drawing | +| uint32_t | y | Top-left Y coordinate to start drawing | +| uint32_t | fg | Font color (16bit color) | +| uint32_t | bg | Font background color (16bit color) | +| Layout | layout | String drawing direction (Vertical is NOT supported now) | ### Return @@ -136,31 +178,35 @@ Draws the specified string. | -------- | -------------------------------------- | | uint16_t | Number of characters success to write. | +### Note + +Vertical writing is currently not supported, but is available for future expansion. + --- ```c++ -uint16_t drawString(const char *str, - uint32_t x, - uint32_t y, - uint16_t fg, - uint16_t bg, - FT_Error *error) +uint16_t cdrawString(const char *str, + uint32_t x = 0, + uint32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, + Layout layout = Layout::Horizontal) ``` ### Summary -Draws the specified string. +Draws the specified string centered. ### Arguments -| Type | Name | Description | -| ------------- | :---: | -------------------------------------- | -| const char \* | str | String to draw | -| uint32_t | x | Top-left X coordinate to start drawing | -| uint32_t | y | Top-left Y coordinate to start drawing | -| uint32_t | fg | Font color (16bit color) | -| uint32_t | bg | Font background color (16bit color) | -| FT_Error\* | error | FreeType error code. 0 is success. | +| Type | Name | Description | +| ------------- | :----: | -------------------------------------------------------- | +| const char \* | str | String to draw | +| uint32_t | x | Top-center X coordinate to start drawing | +| uint32_t | y | Top-center Y coordinate to start drawing | +| uint32_t | fg | Font color (16bit color) | +| uint32_t | bg | Font background color (16bit color) | +| Layout | layout | String drawing direction (Vertical is NOT supported now) | ### Return @@ -168,6 +214,46 @@ Draws the specified string. | -------- | -------------------------------------- | | uint16_t | Number of characters success to write. | +### Note + +Vertical writing is currently not supported, but is available for future expansion. + +--- + +```c++ +uint16_t rdrawString(const char *str, + uint32_t x = 0, + uint32_t y = 0, + uint16_t fg = 0xFFFF, + uint16_t bg = 0x0000, + Layout layout = Layout::Horizontal) +``` + +### Summary + +Draws the specified string right-aligned. + +### Arguments + +| Type | Name | Description | +| ------------- | :----: | -------------------------------------------------------- | +| const char \* | str | String to draw | +| uint32_t | x | Top-right X coordinate to start drawing | +| uint32_t | y | Top-right Y coordinate to start drawing | +| uint32_t | fg | Font color (16bit color) | +| uint32_t | bg | Font background color (16bit color) | +| Layout | layout | String drawing direction (Vertical is NOT supported now) | + +### Return + +| Type | Description | +| -------- | -------------------------------------- | +| uint16_t | Number of characters success to write. | + +### Note + +Vertical writing is currently not supported, but is available for future expansion. + --- ```c++ @@ -176,7 +262,29 @@ uint16_t printf(const char *fmt, ...) ### Summary -Draws the specified format string. +Draws the specified format string left-aligned. + +### Arguments + +| Type | Name | Description | +| ------------- | :--: | ------------- | +| const char \* | fmt | Format string | + +### Return + +| Type | Description | +| -------- | -------------------------------------- | +| uint16_t | Number of characters success to write. | + +--- + +```c++ +uint16_t cprintf(const char *fmt, ...) +``` + +### Summary + +Draws the specified format string centered. ### Arguments @@ -192,6 +300,158 @@ Draws the specified format string. --- +```c++ +uint16_t rprintf(const char *fmt, ...) +``` + +### Summary + +Draws the specified format string right-aligned. + +### Arguments + +| Type | Name | Description | +| ------------- | :--: | ------------- | +| const char \* | fmt | Format string | + +### Return + +| Type | Description | +| -------- | -------------------------------------- | +| uint16_t | Number of characters success to write. | + +--- + +```c++ +FT_BBox calculateBoundingBoxFmt(int32_t x, + int32_t y, + unsigned int font_size, + Align align, + Layout layout, + const char *fmt, ...) +``` + +### Summary + +Obtains the enclosing rectangle of a string when drawn under the specified conditions. + +### Arguments + +| Type | Name | Description | +| ------------- | :-------: | -------------------------------------------------------- | +| int32_t | x | X coordinate to start drawing | +| int32_t | y | Y coordinate to start drawing | +| unsigned int | font_size | Drawing font size | +| Align | align | Alignment of strings | +| Layout | layout | String drawing direction (Vertical is NOT supported now) | +| const char \* | fmt | Format string | + +### Return + +| Type | Description | +| ------- | -------------------------------------------------- | +| FT_BBox | Smallest rectangle that encloses the drawn string. | + +--- + +```c++ +FT_BBox calculateBoundingBox(int32_t x, + int32_t y, + unsigned int font_size, + Align align, + Layout layout, + const char *str) +``` + +### Summary + +Obtains the enclosing rectangle of a string when drawn under the specified conditions. + +### Arguments + +| Type | Name | Description | +| ------------- | :-------: | -------------------------------------------------------- | +| int32_t | x | X coordinate to start drawing | +| int32_t | y | Y coordinate to start drawing | +| unsigned int | font_size | Drawing font size | +| Align | align | Alignment of strings | +| Layout | layout | String drawing direction (Vertical is NOT supported now) | +| const char \* | str | Drawing string | + +### Return + +| Type | Description | +| ------- | -------------------------------------------------- | +| FT_BBox | Smallest rectangle that encloses the drawn string. | + +--- + +```c++ +unsigned int calculateFitFontSizeFmt(uint32_t limit_width, + uint32_t limit_height, + Layout layout, + const char *fmt, ...) +``` + +### Summary + +Calculates the maximum font size that will fit in the specified rectangle. + +### Arguments + +| Type | Name | Description | +| ------------- | :----------: | -------------------------------------------------------- | +| uint32_t | limit_width | Rectangle width limit | +| uint32_t | limit_height | Rectangle height limit | +| Layout | layout | String drawing direction (Vertical is NOT supported now) | +| const char \* | fmt | Format string | + +### Return + +| Type | Description | +| ------------ | --------------------- | +| unsigned int | Calculated font size. | + +### Note + +Note that the calculated font size may not exactly meet the size limit. +This is because the font size is not strictly measured, but only "estimated" by calculation. + +--- + +```c++ +unsigned int calculateFitFontSize(uint32_t limit_width, + uint32_t limit_height, + Layout layout, + const char *str) +``` + +### Summary + +Calculates the maximum font size that will fit in the specified rectangle. + +### Arguments + +| Type | Name | Description | +| ------------- | :----------: | -------------------------------------------------------- | +| uint32_t | limit_width | Rectangle width limit | +| uint32_t | limit_height | Rectangle height limit | +| Layout | layout | String drawing direction (Vertical is NOT supported now) | +| const char \* | str | Drawing string | + +### Return + +| Type | Description | +| ------------ | --------------------- | +| unsigned int | Calculated font size. | + +### Note + +Note that the calculated font size may not exactly meet the size limit. +This is because the font size is not strictly measured, but only "estimated" by calculation. + +--- + ```c++ void setDrawPixel(Function f) ``` @@ -347,25 +607,27 @@ If you NOT use FreeType 2.4.12, recommend to set `enable`. --- ```c++ -void setRenderTaskMode(enum RenderMode mode) +void setRenderTaskStackSize(unsigned int stack_size) ``` ### Summary -Set the operation mode of the renderer task. -This is meaningless if you are not using FreeRTOS. -Default is `NORMAL`. +Set stack size for render task; ### Arguments -| Type | Name | Description | -| --------------- | :--: | ------------------------ | -| enum RenderMode | mode | `NORMAL` or `WITH_CACHE` | +| Type | Name | Description | +| ------------ | :--------: | ---------------------- | +| unsigned int | stack_size | render task stack size | ### Return None +### Note + +If you use this method, please call before first call of rendering method. + --- ## Cursor operation API @@ -373,7 +635,7 @@ None --- ```c++ -void setCursor(uint32_t x, uint32_t y) +void setCursor(int32_t x, int32_t y) ``` ### Summary @@ -383,10 +645,10 @@ It is used when drawing with the `printf` function. ### Arguments -| Type | Name | Description | -| -------- | :--: | ------------------- | -| uint32_t | x | X coordinate to set | -| uint32_t | y | Y coordinate to set | +| Type | Name | Description | +| ------- | :--: | ------------------- | +| int32_t | x | X coordinate to set | +| int32_t | y | Y coordinate to set | ### Return @@ -395,7 +657,7 @@ None --- ```c++ -uint32_t getCursorX() +int32_t getCursorX() ``` ### Summary @@ -408,14 +670,14 @@ None ### Return -| Type | Description | -| -------- | -------------------- | -| uint32_t | Current X coordinate | +| Type | Description | +| ------- | -------------------- | +| int32_t | Current X coordinate | --- ```c++ -uint32_t getCursorY() +int32_t getCursorY() ``` ### Summary @@ -428,9 +690,9 @@ None ### Return -| Type | Description | -| -------- | -------------------- | -| uint32_t | Current Y coordinate | +| Type | Description | +| ------- | -------------------- | +| int32_t | Current Y coordinate | --- @@ -445,10 +707,10 @@ This is useful for making fine adjustments. ### Arguments -| Type | Name | Description | -| -------- | :-----: | -------------------- | -| uint32_t | delta_x | X coordinate to move | -| uint32_t | delta_y | Y coordinate to move | +| Type | Name | Description | +| ------- | :-----: | -------------------- | +| int32_t | delta_x | X coordinate to move | +| int32_t | delta_y | Y coordinate to move | ### Return @@ -557,6 +819,48 @@ None --- +```c++ +void setBackgroundColor(uint16_t font_bgcolor) +``` + +### Summary + +Set the font background color to be retained by the renderer. +It is used when drawing with the `printf` function. + +### Arguments + +| Type | Name | Description | +| -------- | :----------: | ------------------------------------------- | +| uint16_t | font_bgcolor | Font background color to set (16 bit color) | + +### Return + +None + +--- + +```c++ +void setTransparentBackground(bool enable) +``` + +### Summary + +The text background is transparent (i.e., not drawn). +However, if the background colors do not match, an incongruity may appear near the text border. + +### Arguments + +| Type | Name | Description | +| ---- | :----: | -------------------------------- | +| bool | enable | True is enable. Default is False | + +### Return + +None + +--- + ```c++ uint16_t getFontColor() ``` @@ -598,7 +902,7 @@ None --- ```c++ -void setFontSize(size_t new_size) +void setFontSize(unsigned int pixel) ``` ### Summary @@ -608,9 +912,9 @@ It is used when drawing with the `printf` function. ### Arguments -| Type | Name | Description | -| ------ | :------: | ------------- | -| size_t | new_size | New font size | +| Type | Name | Description | +| ------------ | :---: | ------------- | +| unsigned int | pixel | New font size | ### Return @@ -619,7 +923,7 @@ None --- ```c++ -size_t getFontSize(); +unsigned int getFontSize(); ``` ### Summary @@ -632,9 +936,73 @@ None ### Return -| Type | Description | -| ------ | ----------------- | -| size_t | Current font size | +| Type | Description | +| ------------ | ----------------- | +| unsigned int | Current font size | + +--- + +```c++ +void setLineSpaceRatio(double line_space_ratio) +``` + +### Summary + +Gives the correction value for line spacing at line breaks. + +### Arguments + +| Type | Name | Description | +| ------ | :--------------: | ------------------------------------------------------- | +| double | line_space_ratio | The correction value for line spacing. Default is `1.0` | + +### Return + +None + +--- + +```c++ +double getLineSpaceRatio() +``` + +### Summary + +Gives the correction value for line spacing at line breaks. + +### Arguments + +None + +### Return + +| Type | Description | +| ------ | ------------------------------------------ | +| double | Current correction value for line spacing. | + +--- + +```c++ +void setCacheSize(unsigned int max_faces, + unsigned int max_sizes, + unsigned long max_bytes) +``` + +### Summary + +Set cache size; + +### Arguments + +| Type | Name | Description | +| ------------- | :-------: | ---------------- | +| unsigned int | max_faces | face cache size | +| unsigned int | max_sizes | sizes cache size | +| unsigned long | max_bytes | max cache size | + +### Return + +None --- @@ -643,7 +1011,7 @@ None --- ```c++ -void showFreeTypeVersion(Print &output = Serial) +void showFreeTypeVersion() ``` ### Summary @@ -652,18 +1020,54 @@ Outputs the version of the FreeType library in use. ### Arguments -| Type | Name | Description | -| ----- | :----: | ------------ | -| Print | output | Print object | +None + +### Return + +None + +### Note + +If `ARDUINO_BOARD` is not defined, specify the output destination with the `OpenFontRender::setPrintFunc()` or `OpenFontRender::setSerial()` function in advance. + +--- + +```c++ +void getFreeTypeVersion(char *str) +``` + +### Summary + +String the version of the FreeType library in use. + +### Arguments + +| Type | Name | Description | +| ------- | :--: | ---------------------------------- | +| char \* | str | (output) String for output version | ### Return None +### Note + +`OpenFontRender::FT_VERSION_STRING_SIZE` can be used to prepare an array large enough to store strings. + +```c++ +// in your main function + +char ftv_str[OpenFontRender::FT_VERSION_STRING_SIZE] = {0}; + +... + +render.getFreeTypeVersion(ftv_str); +``` + --- ```c++ -void showCredit(Print &output = Serial) +void showCredit() ``` ### Summary @@ -672,14 +1076,108 @@ Outputs a credit notation that complies with the FTL license. ### Arguments -| Type | Name | Description | -| ----- | :----: | ------------ | -| Print | output | Print object | +None + +### Return + +None + +### Note + +If `ARDUINO_BOARD` is not defined, specify the output destination with the `OpenFontRender::setPrintFunc()` or `OpenFontRender::setSerial()` function in advance. + +--- + +```c++ +void getCredit(char *str) +``` + +### Summary + +String a credit notation that complies with the FTL license. + +### Arguments + +| Type | Name | Description | +| ------- | :--: | ---------------------------------- | +| char \* | str | (output) String for output version | + +### Return + +None + +### Note + +`OpenFontRender::CREDIT_STRING_SIZE` can be used to prepare an array large enough to store strings. + +```c++ +// in your main function + +char ft_credit[OpenFontRender::CREDIT_STRING_SIZE] = {0}; + +... + +render.getCredit(ft_credit); +``` + +--- + +```c++ +void setPrintFunc(Function f) +``` + +### Summary + +Specifies the standard output destination for the system. + +### Arguments + +| Type | Name | Description | +| -------- | :--: | ------------- | +| Function | f | user function | + +### Return + +None + +### Note + +The function to be given must be a function like the one below that takes a specific argument. + +```c++ +void example_function (const char *s) +``` + +--- + +```c++ +template void setSerial(T &output) +``` + +### Summary + +If you have an object that produces standard output and has a `print` method, you can use this function. + +### Arguments + +| Type | Name | Description | +| ---- | :----: | ----------- | +| Any | output | user object | ### Return None +### Note + +Inside the function, the following process takes place. + +```c++ +template void setSerial(T &drawer) { + setPrintFunc(output.print); +} +``` + --- ```c++ diff --git a/doc/README_JA.md b/doc/README_JA.md index 605d4d3..d15a8a9 100644 --- a/doc/README_JA.md +++ b/doc/README_JA.md @@ -53,6 +53,11 @@ void setup() { tft.fillScreen(TFT_BLACK); digitalWrite(LCD_BACKLIGHT, HIGH); // turn on the backlight + // print library version + Serial.printf("OpenFontRender Library version: %d.%d\n", + OpenFontRender::MAIN_VERSION, + OpenFontRender::MINER_VERSION); + render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -99,6 +104,11 @@ void setup() { M5.begin(); M5.Lcd.fillScreen(BLACK); + // print library version + Serial.printf("OpenFontRender Library version: %d.%d\n", + OpenFontRender::MAIN_VERSION, + OpenFontRender::MINER_VERSION); + render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -150,12 +160,13 @@ render.setStartWrite(my_start_write_function); // 任意 render.setEndWrite(my_end_write_function); // 任意 ``` +描画用のオブジェクトがあり、必要なメソッドを含んでいる場合は ```setDrawer``` を利用することも出来ます。 より詳しい説明は [API.md](/doc/API.md) をご覧ください。 ## FreeType のバージョンを変更する このライブラリでは、どの FreeType バージョンにも切り替えることができます。 -2.4.12 と 2.11.0 で動作することを確認しています。 +2.4.12 と 2.12.1 で動作することを確認しています。 デフォルトのバージョンは 2.4.12 ですが、これは最も安定して動作していたバージョンだったからです。 ### 変更方法 @@ -176,9 +187,15 @@ FreeRTOS を使用している場合、バージョンによっては不安定 本ライブラリは,以下のハードウェアで動作確認をしています。 ここに掲載されていないハードウェアでの報告もお待ちしております。 -- Wio Terminal -- M5Stack Basic -- M5Stack Core2 +- Arduino IDE 2.0 + - Seeed SAMD Boards (Board Manager v1.8.3) + - Wio Terminal + - M5Stack (Board Manager v2.0.4) + - M5Stack Basic (Library v0.1.4) + - M5Stack Core2 (Library v0.4.0) +- PlatformIO + - M5Stack Basic (Library v2.0.4) + - M5Stack Core2 (Library v2.0.4) ### 描画速度 @@ -231,6 +248,15 @@ FTL ライセンスの詳細については,このリポジトリの [doc/FTL. - [freetype2 - example1.c](https://www.freetype.org/freetype2/docs/tutorial/example1.c) - [FreeType2でフォントテクスチャ作る際のコツ。ピクセルサイズで作るのと文字送り量の取得 - GameProgrammar's Night](https://katze.hatenablog.jp/entry/2013/07/16/232911) - [FreeTypeのベースラインあわせでかなりハマッタのでメモ - くそにそてくにっく](https://niso1985.hatenadiary.org/entry/20090907/1252339660) +- [【C++/MinGW】FreeTypeを使ってTTFファイルから文字レンダリング - とある科学の備忘録](https://shizenkarasuzon.hatenablog.com/entry/2020/10/30/181607) +- [OpenGLでFreeTypeを使って文字列を描画してみた2。(FreeTypeキャッシュ編)](https://gist.github.com/rg687076/76d4ddac2a8628066f201391f9a4489d) +- [FreeType を使って文字を描画する - インゲージ開発者ブログ](https://blog.ingage.jp/entry/2022/03/24/080000) +- [[Font][Freetype]26.6 fractional pixel formatってなぁに? にお答えしますね – あおいろヨゾラ](https://www.nagatsuki-do.net/2014/05/18/fontfreetype26-6-fractional-pixel-format%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%81%E3%81%AB%EF%BC%9F%E3%80%80%E3%81%AB%E3%81%8A%E7%AD%94%E3%81%88%E3%81%97%E3%81%BE%E3%81%99%E3%81%AD/) +- [freetype - How to get height of font in Freetype2 - Stack Overflow](https://stackoverflow.com/questions/50373457/how-to-get-height-of-font-in-freetype2) +- [True type fontのレンダリング その7 - 忘備録-備忘録](https://blog.goo.ne.jp/lm324/e/457cf90b1c4267e1d49ed0881369b303) +- [FreeType-2.4.7 API Reference](https://opensource.apple.com/source/X11proto/X11proto-57.2/freetype/freetype-2.4.7/docs/reference/ft2-base_interface.html#FT_Open_Face) +- [The FreeType Caching Sub-System](http://www.fifi.org/doc/libfreetype6/cache.html) +- [freetype 2.8.1 | DirectAdmin Forums](https://forum.directadmin.com/threads/freetype-2-8-1.55304/) ### その他 diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 9b7c819..44d0083 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -383,7 +383,7 @@ uint16_t OpenFontRender::drawHString(const char *str, } // Correct slight misalignment of each axis offset.x = bbox.xMin - current_line_position.x; - offset.y = bbox.yMin - current_line_position.y; + //offset.y = bbox.yMin - current_line_position.y; } switch (align) { @@ -669,8 +669,8 @@ unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t w2 = bbox2.xMax - bbox2.xMin; h2 = bbox2.yMax - bbox2.yMin; - unsigned int wfs = (unsigned int)((fs2 - fs1) / (w2 - w1 + 0.000001)) * (limit_width - w1) + fs1; - unsigned int hfs = (unsigned int)((fs2 - fs1) / (h2 - h1 + 0.000001)) * (limit_height - h1) + fs1; + unsigned int wfs = (unsigned int)(((fs2 - fs1) / (w2 - w1 + 0.000001)) * (limit_width - w1) + fs1); + unsigned int hfs = (unsigned int)(((fs2 - fs1) / (h2 - h1 + 0.000001)) * (limit_height - h1) + fs1); setFontSize(tmp_font_size); _cursor = tmp_cursor; From f0b8fad94dd840723cc7a625a306270b317e8eb7 Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Sat, 1 Oct 2022 18:09:36 +0900 Subject: [PATCH 14/20] [fix] Fix memory leak bug - Changed drawing process to use only FTC (to avoid memory leaks) - Change Cursor structure to public - Code formatted --- src/OpenFontRender.cpp | 275 ++++++++++++++++++++++++----------------- src/OpenFontRender.h | 21 ++-- 2 files changed, 169 insertions(+), 127 deletions(-) diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 44d0083..d15967f 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -37,9 +37,12 @@ enum RenderTaskStatus { }; typedef struct { - FT_Glyph image; // result - FT_Error error; // ft_error - uint8_t debug_level; // debug level + FTC_ImageCache ftc_image_cache; // cache + FTC_ImageTypeRec image_type; // parameter + FT_UInt glyph_index; // target index + FT_Glyph aglyph; // result + FT_Error error; // ft_error + uint8_t debug_level; // debug level } RenderTaskParameter; #endif @@ -256,18 +259,11 @@ uint16_t OpenFontRender::drawHString(const char *str, FT_BBox &abbox, FT_Error &error) { - FT_Face face; - FT_Glyph aglyph; uint16_t written_char_num = 0; - bool detect_control_char = false; Cursor initial_position = {x, y}; Cursor current_line_position = {x, y}; - FT_Vector offset = {0, 0}; - FT_Size asize = NULL; - - FT_BBox bbox; - bbox.xMin = bbox.yMin = LONG_MAX; - bbox.xMax = bbox.yMax = LONG_MIN; + FT_Pos ascender = 0; + bool detect_control_char = false; abbox.xMin = abbox.yMin = LONG_MAX; abbox.xMax = abbox.yMax = LONG_MIN; @@ -278,45 +274,55 @@ uint16_t OpenFontRender::drawHString(const char *str, image_type.height = _font.size; image_type.flags = FT_LOAD_DEFAULT; - FTC_ScalerRec scaler; - scaler.face_id = &_face_id; - scaler.width = 0; - scaler.height = _font.size; - scaler.pixel = true; - scaler.x_res = 0; - scaler.y_res = 0; - - std::vector v_rsi; - v_rsi.reserve(256); // Allocate memory for 256 characters for efficiency - // decode UTF8 uint16_t unicode; - uint16_t len = (uint16_t)strlen(str); - uint16_t n = 0; std::queue unicode_q; - while (n < len) { - uint16_t unicode = decodeUTF8((uint8_t *)str, &n, len - n); - unicode_q.push(unicode); + { + uint16_t len = (uint16_t)strlen(str); + uint16_t n = 0; + while (n < len) { + uint16_t unicode = decodeUTF8((uint8_t *)str, &n, len - n); + unicode_q.push(unicode); + } } - error = FTC_Manager_LookupSize(_ftc_manager, &scaler, &asize); - if (error) { - return written_char_num; + FT_Int cmap_index; + { + FT_Size asize = NULL; + FTC_ScalerRec scaler; + scaler.face_id = &_face_id; + scaler.width = 0; + scaler.height = _font.size; + scaler.pixel = true; + scaler.x_res = 0; + scaler.y_res = 0; + + error = FTC_Manager_LookupSize(_ftc_manager, &scaler, &asize); + if (error) { + return written_char_num; + } + cmap_index = FT_Get_Charmap_Index(asize->face->charmap); + ascender = asize->face->size->metrics.ascender; } - face = asize->face; - FT_Int cmap_index = FT_Get_Charmap_Index(face->charmap); // Rendering loop while (unicode_q.size() != 0) { - RenderStringInfo rsi; - detect_control_char = false; - current_line_position = {x, y}; + FT_Vector offset = {0, 0}; + std::queue rendering_unicode_q; + FT_BBox bbox; bbox.xMin = bbox.yMin = LONG_MAX; bbox.xMax = bbox.yMax = LONG_MIN; - v_rsi.clear(); + + detect_control_char = false; + current_line_position = {x, y}; + image_type.flags = FT_LOAD_DEFAULT; // Glyph extraction while (unicode_q.size() != 0 && detect_control_char == false) { + FT_Glyph aglyph; + FT_UInt glyph_index; + FT_BBox glyph_bbox; + unicode = unicode_q.front(); switch (unicode) { case '\r': @@ -325,11 +331,10 @@ uint16_t OpenFontRender::drawHString(const char *str, detect_control_char = true; break; default: - rsi.pos = {x, y}; - FT_UInt glyph_index = FTC_CMapCache_Lookup(_ftc_cmap_cache, - &_face_id, - cmap_index, - unicode); + glyph_index = FTC_CMapCache_Lookup(_ftc_cmap_cache, + &_face_id, + cmap_index, + unicode); error = FTC_ImageCache_Lookup(_ftc_image_cache, &image_type, glyph_index, &aglyph, NULL); if (error) { @@ -337,55 +342,42 @@ uint16_t OpenFontRender::drawHString(const char *str, return written_char_num; } - error = FT_Glyph_Copy(aglyph, &rsi.glyph); - if (error) { - debugPrintf((_debug_level & OFR_ERROR), "FT_Glyph_Copy error: 0x%02X\n", error); - return written_char_num; - } - v_rsi.push_back(rsi); + FT_Glyph_Get_CBox(aglyph, FT_GLYPH_BBOX_PIXELS, &glyph_bbox); + // Move coordinates on the grid + glyph_bbox.xMin += x; + glyph_bbox.xMax += x; + glyph_bbox.yMin += y; + glyph_bbox.yMax += y; + + // Merge bbox + bbox.xMin = std::min(bbox.xMin, glyph_bbox.xMin); + bbox.yMin = std::min(bbox.yMin, glyph_bbox.yMin); + bbox.xMax = std::max(bbox.xMax, glyph_bbox.xMax); + bbox.yMax = std::max(bbox.yMax, glyph_bbox.yMax); x += (aglyph->advance.x >> 16); + rendering_unicode_q.push(unicode); } unicode_q.pop(); } - // Caluculate BBox - for (int i = 0; i < v_rsi.size(); i++) { - FT_BBox glyph_bbox; - FT_Glyph_Get_CBox(v_rsi[i].glyph, FT_GLYPH_BBOX_PIXELS, &glyph_bbox); - - // Move coordinates on the grid - glyph_bbox.xMin += v_rsi[i].pos.x; - glyph_bbox.xMax += v_rsi[i].pos.x; - glyph_bbox.yMin += v_rsi[i].pos.y; - glyph_bbox.yMax += v_rsi[i].pos.y; - - // Merge bbox - bbox.xMin = std::min(bbox.xMin, glyph_bbox.xMin); - bbox.yMin = std::min(bbox.yMin, glyph_bbox.yMin); - bbox.xMax = std::max(bbox.xMax, glyph_bbox.xMax); - bbox.yMax = std::max(bbox.yMax, glyph_bbox.yMax); - } - - /* Check that we really grew the string bbox */ + // Check that we really grew the string bbox if (bbox.xMin > bbox.xMax) { // Failed - bbox.xMin = 0; - bbox.yMin = 0; - bbox.xMax = 0; - bbox.yMax = 0; + bbox.xMin = bbox.yMin = 0; + bbox.xMax = bbox.yMax = 0; } else { // Transform coordinate space differences - bbox.yMax = y - (bbox.yMax - y) + ((face->size->metrics.ascender) >> 6); - bbox.yMin = y + (y - bbox.yMin) + ((face->size->metrics.ascender) >> 6); + bbox.yMax = y - (bbox.yMax - y) + ((ascender) >> 6); + bbox.yMin = y + (y - bbox.yMin) + ((ascender) >> 6); if (bbox.yMax < bbox.yMin) { std::swap(bbox.yMax, bbox.yMin); } - // Correct slight misalignment of each axis + // Correct slight misalignment of X-axis offset.x = bbox.xMin - current_line_position.x; - //offset.y = bbox.yMin - current_line_position.y; } + // Calculate alignment offset switch (align) { case Align::Left: // Nothing to do @@ -405,13 +397,22 @@ uint16_t OpenFontRender::drawHString(const char *str, bbox.yMin -= offset.y; bbox.yMax -= offset.y; + // Restore coordinates + x = current_line_position.x; + y = current_line_position.y; + if (drawing == Drawing::Execute) { - for (int i = 0; i < v_rsi.size(); i++) { - FT_Glyph image = v_rsi[i].glyph; - FT_Vector pos = {(v_rsi[i].pos.x - offset.x), (v_rsi[i].pos.y - offset.y)}; - // Change baseline to left top - pos.y += ((face->size->metrics.ascender) >> 6); + image_type.flags = FT_LOAD_RENDER; + uint16_t rendering_unicode; + + while (rendering_unicode_q.size() != 0) { + rendering_unicode = rendering_unicode_q.front(); + FT_UInt glyph_index = FTC_CMapCache_Lookup(_ftc_cmap_cache, + &_face_id, + cmap_index, + rendering_unicode); + FT_Glyph aglyph; #ifdef FREERTOS_CONFIG_H if (g_UseRenderTask) { if (g_RenderTaskHandle == NULL) { @@ -429,33 +430,44 @@ uint16_t OpenFontRender::drawHString(const char *str, while (g_RenderTaskStatus != IDLE) { vTaskDelay(1); } - g_RenderTaskStatus = LOCK; - g_TaskParameter.image = image; - g_TaskParameter.debug_level = _debug_level; + g_RenderTaskStatus = LOCK; + g_TaskParameter.ftc_image_cache = _ftc_image_cache; + g_TaskParameter.image_type = image_type; + g_TaskParameter.glyph_index = glyph_index; + g_TaskParameter.debug_level = _debug_level; g_RenderTaskStatus = RENDERING; while (g_RenderTaskStatus == RENDERING) { vTaskDelay(1); } debugPrintf((g_TaskParameter.debug_level & OFR_INFO), "Render task Finish\n"); - image = g_TaskParameter.image; + aglyph = g_TaskParameter.aglyph; error = g_TaskParameter.error; g_RenderTaskStatus = IDLE; } else { - error = FT_Glyph_To_Bitmap(&image, FT_RENDER_MODE_NORMAL, NULL, false); + error = FTC_ImageCache_Lookup(_ftc_image_cache, &image_type, glyph_index, &aglyph, NULL); } #else - error = FT_Glyph_To_Bitmap(&image, FT_RENDER_MODE_NORMAL, NULL, false); + error = FTC_ImageCache_Lookup(_ftc_image_cache, &image_type, glyph_index, &aglyph, NULL); #endif + if (error) { + debugPrintf((_debug_level & OFR_ERROR), "FTC_ImageCache_Lookup error: 0x%02X\n", error); + return written_char_num; + } + FT_Vector pos = {(x - offset.x), (y - offset.y)}; + // Change baseline to left top + pos.y += ((ascender) >> 6); - if (!error) { - FT_BitmapGlyph bit = (FT_BitmapGlyph)image; + { + FT_BitmapGlyph bit = (FT_BitmapGlyph)aglyph; draw2screen(bit, pos.x, pos.y, fg, bg); - FT_Done_Glyph(image); written_char_num++; } + x += (aglyph->advance.x >> 16); + + rendering_unicode_q.pop(); } } @@ -479,7 +491,7 @@ uint16_t OpenFontRender::drawHString(const char *str, abbox.yMin = std::min(bbox.yMin, abbox.yMin); abbox.xMax = std::max(bbox.xMax, abbox.xMax); abbox.yMax = std::max(bbox.yMax, abbox.yMax); - } /* End of rendering loop */ + } // End of rendering loop if (detect_control_char && unicode == '\n') { // If string end with '\n' control char, expand bbox @@ -490,7 +502,12 @@ uint16_t OpenFontRender::drawHString(const char *str, return written_char_num; } -FT_Error OpenFontRender::drawChar(char character, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Align align) { +FT_Error OpenFontRender::drawChar(char character, + int32_t x, + int32_t y, + uint16_t fg, + uint16_t bg, + Align align) { FT_Error error; FT_BBox bbox; @@ -499,7 +516,12 @@ FT_Error OpenFontRender::drawChar(char character, int32_t x, int32_t y, uint16_t return FT_Err_Ok; } -uint16_t OpenFontRender::drawString(const char *str, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Layout layout) { +uint16_t OpenFontRender::drawString(const char *str, + int32_t x, + int32_t y, + uint16_t fg, + uint16_t bg, + Layout layout) { FT_Error error; FT_BBox bbox; @@ -514,7 +536,12 @@ uint16_t OpenFontRender::drawString(const char *str, int32_t x, int32_t y, uint1 } } -uint16_t OpenFontRender::cdrawString(const char *str, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Layout layout) { +uint16_t OpenFontRender::cdrawString(const char *str, + int32_t x, + int32_t y, + uint16_t fg, + uint16_t bg, + Layout layout) { FT_Error error; FT_BBox bbox; @@ -529,7 +556,12 @@ uint16_t OpenFontRender::cdrawString(const char *str, int32_t x, int32_t y, uint } } -uint16_t OpenFontRender::rdrawString(const char *str, int32_t x, int32_t y, uint16_t fg, uint16_t bg, Layout layout) { +uint16_t OpenFontRender::rdrawString(const char *str, + int32_t x, + int32_t y, + uint16_t fg, + uint16_t bg, + Layout layout) { FT_Error error; FT_BBox bbox; @@ -577,7 +609,12 @@ uint16_t OpenFontRender::rprintf(const char *fmt, ...) { return rdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, Layout::Horizontal); } -FT_BBox OpenFontRender::calculateBoundingBoxFmt(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *fmt, ...) { +FT_BBox OpenFontRender::calculateBoundingBoxFmt(int32_t x, + int32_t y, + unsigned int font_size, + Align align, + Layout layout, + const char *fmt, ...) { char str[256] = {0}; va_list ap; @@ -588,11 +625,16 @@ FT_BBox OpenFontRender::calculateBoundingBoxFmt(int32_t x, int32_t y, unsigned i return calculateBoundingBox(x, y, font_size, align, layout, (const char *)str); } -FT_BBox OpenFontRender::calculateBoundingBox(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *str) { +FT_BBox OpenFontRender::calculateBoundingBox(int32_t x, + int32_t y, + unsigned int font_size, + Align align, + Layout layout, + const char *str) { FT_Error error; - FT_BBox bbox = { 0, 0, 0, 0 }; + FT_BBox bbox = {0, 0, 0, 0}; unsigned int tmp_font_size = getFontSize(); - Cursor tmp_cursor = _cursor; + Cursor tmp_cursor = _cursor; _cursor = {x, y}; setFontSize(font_size); @@ -614,7 +656,10 @@ FT_BBox OpenFontRender::calculateBoundingBox(int32_t x, int32_t y, unsigned int return bbox; } -unsigned int OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *fmt, ...) { +unsigned int OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, + uint32_t limit_height, + Layout layout, + const char *fmt, ...) { char str[256] = {0}; va_list ap; @@ -625,14 +670,17 @@ unsigned int OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint3 return calculateFitFontSize(limit_width, limit_height, layout, (const char *)str); } -unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *str) { +unsigned int OpenFontRender::calculateFitFontSize(uint32_t limit_width, + uint32_t limit_height, + Layout layout, + const char *str) { FT_Error error; - FT_BBox bbox1 = {0, 0, 0, 0}; - FT_BBox bbox2 = {0, 0, 0, 0}; + FT_BBox bbox1 = {0, 0, 0, 0}; + FT_BBox bbox2 = {0, 0, 0, 0}; unsigned int tmp_font_size = getFontSize(); - Cursor tmp_cursor = _cursor; - unsigned int fs1 = 10; - unsigned int fs2 = 50; + Cursor tmp_cursor = _cursor; + unsigned int fs1 = 10; + unsigned int fs2 = 50; int32_t w1, w2, h1, h2; // point1 @@ -887,7 +935,7 @@ uint16_t OpenFontRender::alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc) { /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ FT_Error ftc_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *aface) { - FT_Error error = FT_Err_Ok; + FT_Error error = FT_Err_Ok; OFR::Face face = (OFR::Face)face_id; FontDataInfo *info = (FontDataInfo *)request_data; @@ -972,19 +1020,14 @@ void RenderTask(void *pvParameters) { vTaskDelay(1); continue; } - g_TaskParameter.error = FT_Glyph_To_Bitmap(&g_TaskParameter.image, FT_RENDER_MODE_NORMAL, NULL, false); + g_TaskParameter.error = FTC_ImageCache_Lookup(g_TaskParameter.ftc_image_cache, + &g_TaskParameter.image_type, + g_TaskParameter.glyph_index, + &g_TaskParameter.aglyph, + NULL); g_RenderTaskStatus = (g_TaskParameter.error == FT_Err_Ok) ? END_SUCCESS : END_ERROR; } g_RenderTaskHandle = NULL; vTaskDelete(NULL); } #endif - -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ -// -// Functions -// ( Direct calls are deprecated. ) -// -/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ - - diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index 985fa45..b7257a9 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -12,7 +12,7 @@ #define OPEN_FONT_RENDER_H #if defined(ARDUINO_BOARD) - #include + #include #endif #include #include @@ -85,10 +85,10 @@ namespace OFR { class OpenFontRender { public: - static const unsigned char MAIN_VERSION = 1; + static const unsigned char MAIN_VERSION = 1; static const unsigned char MINER_VERSION = 0; - static const unsigned char CACHE_SIZE_NO_LIMIT = 0; + static const unsigned char CACHE_SIZE_NO_LIMIT = 0; static const unsigned char FT_VERSION_STRING_SIZE = 32; static const unsigned char CREDIT_STRING_SIZE = 128; @@ -183,7 +183,6 @@ class OpenFontRender { void set_startWrite(std::function user_func); void set_endWrite(std::function user_func); - /* Static member method */ template static void setSerial(T &output) { @@ -192,6 +191,11 @@ class OpenFontRender { // Direct calls are deprecated. static void set_printFunc(std::function user_func); + struct Cursor { + int32_t x; + int32_t y; + }; + private: FT_Error loadFont(enum OFR::LoadFontFrom from); uint32_t getFontMaxHeight(); @@ -207,13 +211,14 @@ class OpenFontRender { FTC_Manager _ftc_manager; FTC_CMapCache _ftc_cmap_cache; FTC_ImageCache _ftc_image_cache; - // uint8_t _face_id; + unsigned int _max_faces; unsigned int _max_sizes; unsigned long _max_bytes; bool _transparent_background; OFR::FaceRec _face_id; + struct Cursor _cursor; struct FontParameter { double line_space_ratio; @@ -224,12 +229,6 @@ class OpenFontRender { }; struct FontParameter _font; - struct Cursor { - int32_t x; - int32_t y; - }; - struct Cursor _cursor; - uint8_t _debug_level; }; From fe25508867db57d4cbe9408668b8f2541f10c2f8 Mon Sep 17 00:00:00 2001 From: Bodmer Date: Fri, 11 Nov 2022 02:45:19 +0000 Subject: [PATCH 15/20] Update to add examples and fix compile problems Rendering has been speeded up by drawing pixel runs as lines keywords.tst added * added for architecture in library.properties so examples appear in IDE menu sfnt file updated so library compiles for ESP32 with latest board package (which is picky) Additional examples have been added for TFT_eSPI --- .../TFT_eSPI/Noto_Font_Demo/NotoSans_Bold.h | 733 ++++++++++++++++++ .../Noto_Font_Demo/Noto_Font_Demo.ino | 105 +++ .../TFT_eSPI/Noto_Font_Sizes/NotoSans_Bold.h | 733 ++++++++++++++++++ .../Noto_Font_Sizes/Noto_Font_Sizes.ino | 142 ++++ .../Sprite_Noto_Font_Demo/NotoSans_Bold.h | 732 +++++++++++++++++ .../Sprite_Noto_Font_Demo.ino | 118 +++ .../TFT_eSPI/load_from_binary/binaryttf.h | 652 ++++++++++++++++ .../load_from_binary/load_from_binary.ino | 95 +++ keywords.txt | 53 ++ library.properties | 2 +- src/OpenFontRender.cpp | 51 +- src/OpenFontRender.h | 3 + src/sfnt/ttcmap.c | 4 +- 13 files changed, 3419 insertions(+), 4 deletions(-) create mode 100644 examples/TFT_eSPI/Noto_Font_Demo/NotoSans_Bold.h create mode 100644 examples/TFT_eSPI/Noto_Font_Demo/Noto_Font_Demo.ino create mode 100644 examples/TFT_eSPI/Noto_Font_Sizes/NotoSans_Bold.h create mode 100644 examples/TFT_eSPI/Noto_Font_Sizes/Noto_Font_Sizes.ino create mode 100644 examples/TFT_eSPI/Sprite_Noto_Font_Demo/NotoSans_Bold.h create mode 100644 examples/TFT_eSPI/Sprite_Noto_Font_Demo/Sprite_Noto_Font_Demo.ino create mode 100644 examples/TFT_eSPI/load_from_binary/binaryttf.h create mode 100644 examples/TFT_eSPI/load_from_binary/load_from_binary.ino create mode 100644 keywords.txt diff --git a/examples/TFT_eSPI/Noto_Font_Demo/NotoSans_Bold.h b/examples/TFT_eSPI/Noto_Font_Demo/NotoSans_Bold.h new file mode 100644 index 0000000..a50c9b4 --- /dev/null +++ b/examples/TFT_eSPI/Noto_Font_Demo/NotoSans_Bold.h @@ -0,0 +1,733 @@ +// This font is a subset of the full font to reduce array size, ONLY these characters are present: +// !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + +// array size is 11628 +const unsigned char NotoSans_Bold[] PROGMEM = { + 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x80, 0x00, 0x03, 0x00, 0x30, 0x63, 0x6d, 0x61, 0x70, + 0xe1, 0x43, 0xf7, 0xed, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x0b, 0x8c, 0x67, 0x6c, 0x79, 0x66, + 0xab, 0x85, 0x48, 0xd5, 0x00, 0x00, 0x0c, 0x48, 0x00, 0x00, 0x1b, 0xa0, 0x68, 0x65, 0x61, 0x64, + 0x26, 0x95, 0xd6, 0x91, 0x00, 0x00, 0x27, 0xe8, 0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, + 0x03, 0x7f, 0x04, 0x09, 0x00, 0x00, 0x28, 0x20, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, + 0xd1, 0xab, 0x10, 0x76, 0x00, 0x00, 0x28, 0x44, 0x00, 0x00, 0x01, 0x80, 0x6c, 0x6f, 0x63, 0x61, + 0x00, 0x05, 0x34, 0x25, 0x00, 0x00, 0x29, 0xc4, 0x00, 0x00, 0x01, 0x84, 0x6d, 0x61, 0x78, 0x70, + 0x07, 0x5e, 0x11, 0x1f, 0x00, 0x00, 0x2b, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x1a, 0x56, 0x03, 0x30, 0x00, 0x00, 0x2b, 0x68, 0x00, 0x00, 0x01, 0x7a, 0x4f, 0x53, 0x2f, 0x32, + 0x0f, 0x8e, 0x89, 0xf7, 0x00, 0x00, 0x2c, 0xe4, 0x00, 0x00, 0x00, 0x60, 0x70, 0x6f, 0x73, 0x74, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x44, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, + 0x68, 0x06, 0x8c, 0x85, 0x00, 0x00, 0x2d, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0xec, + 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x07, 0xbc, 0x00, 0x04, 0x03, 0xd0, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x80, 0x00, 0x06, 0x00, 0x40, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, + 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, + 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, + 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, + 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, + 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, + 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, + 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, + 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, + 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, + 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, + 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, + 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x04, 0x03, 0xd0, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x80, 0x00, 0x06, 0x00, 0x40, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, + 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, + 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, + 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, + 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, + 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, + 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, + 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, + 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, + 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, + 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, + 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, + 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x04, 0x03, 0xd0, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x80, 0x00, 0x06, 0x00, 0x40, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, + 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, + 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, + 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, + 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, + 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, + 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, + 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, + 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, + 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, + 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, + 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, + 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, + 0x08, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00, 0xfd, 0xad, 0x02, 0x4e, 0x00, 0x00, 0xfd, 0xb2, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x05, 0x00, 0x00, 0x07, 0xf6, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x39, 0xff, 0xf3, 0x00, 0xe4, 0x02, 0xca, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, + 0x37, 0x23, 0x03, 0x33, 0x03, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0xcb, 0x77, 0x19, 0xa9, 0xab, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0xed, 0x01, 0xdd, + 0xfd, 0x7c, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, 0x41, 0x01, 0xc8, 0x01, + 0x97, 0x02, 0xca, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x13, 0x03, 0x23, 0x03, 0x21, 0x03, 0x23, + 0x03, 0xc9, 0x14, 0x60, 0x14, 0x01, 0x56, 0x14, 0x60, 0x14, 0x02, 0xca, 0xfe, 0xfe, 0x01, 0x02, + 0xfe, 0xfe, 0x01, 0x02, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x02, 0x70, 0x02, 0xc9, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x00, 0x01, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, 0x07, 0x23, 0x37, + 0x23, 0x35, 0x33, 0x37, 0x23, 0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, 0x15, + 0x05, 0x33, 0x37, 0x23, 0x01, 0xe8, 0x17, 0x7e, 0x91, 0x26, 0x6b, 0x26, 0x5f, 0x25, 0x69, 0x24, + 0x74, 0x87, 0x17, 0x7b, 0x8d, 0x26, 0x6b, 0x26, 0x61, 0x26, 0x69, 0x26, 0x75, 0xfe, 0x97, 0x60, + 0x17, 0x60, 0x01, 0x9c, 0x71, 0x65, 0xc6, 0xc6, 0xc6, 0xc6, 0x65, 0x71, 0x66, 0xc7, 0xc7, 0xc7, + 0xc7, 0x66, 0x71, 0x71, 0x00, 0x03, 0x00, 0x2b, 0xff, 0xc6, 0x02, 0x15, 0x02, 0xf7, 0x00, 0x22, + 0x00, 0x28, 0x00, 0x2e, 0x00, 0x00, 0x37, 0x26, 0x26, 0x27, 0x35, 0x16, 0x16, 0x17, 0x35, 0x2e, + 0x02, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x07, 0x26, 0x26, 0x27, 0x15, 0x1e, + 0x02, 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 0x11, 0x06, 0x15, 0x14, 0x16, 0x17, 0x13, 0x36, 0x35, + 0x34, 0x26, 0x27, 0xfd, 0x41, 0x66, 0x2a, 0x29, 0x74, 0x34, 0x4d, 0x5d, 0x28, 0x75, 0x5d, 0x43, + 0x6f, 0x5b, 0x2e, 0x28, 0x51, 0x23, 0x36, 0x62, 0x3d, 0x6a, 0x6b, 0x43, 0x3f, 0x1e, 0x21, 0x43, + 0x42, 0x21, 0x21, 0x28, 0x02, 0x15, 0x13, 0x81, 0x14, 0x21, 0x03, 0x97, 0x1e, 0x39, 0x46, 0x31, + 0x4b, 0x59, 0x08, 0x4b, 0x49, 0x04, 0x29, 0x72, 0x11, 0x12, 0x03, 0x90, 0x14, 0x2f, 0x48, 0x3b, + 0x49, 0x62, 0x0a, 0x64, 0x02, 0x6d, 0x09, 0x2a, 0x15, 0x1c, 0x0f, 0xfe, 0xde, 0x0c, 0x2e, 0x14, + 0x1d, 0x0f, 0x00, 0x05, 0x00, 0x1f, 0xff, 0xf7, 0x03, 0x66, 0x02, 0xd4, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x17, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x00, 0x13, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x05, 0x01, 0x23, 0x01, 0x05, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, + 0x05, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x22, 0x15, 0x14, + 0x33, 0x32, 0x35, 0x34, 0xc7, 0x54, 0x57, 0x52, 0x59, 0x52, 0x56, 0x50, 0x02, 0x53, 0xfe, 0x74, + 0x75, 0x01, 0x8c, 0xfe, 0x7b, 0x2e, 0x2e, 0x2f, 0x01, 0xc4, 0x54, 0x57, 0x52, 0x59, 0x52, 0x56, + 0x50, 0x59, 0x2e, 0x2e, 0x2f, 0x02, 0xd4, 0x75, 0x6a, 0x6a, 0x77, 0x77, 0x6a, 0x6a, 0x75, 0x0a, + 0xfd, 0x36, 0x02, 0xca, 0x5c, 0x7a, 0x7b, 0x7b, 0x7a, 0xb7, 0x75, 0x6a, 0x6a, 0x77, 0x77, 0x6a, + 0x6a, 0x75, 0x66, 0x7a, 0x7b, 0x7b, 0x7a, 0x00, 0x03, 0x00, 0x28, 0xff, 0xf6, 0x02, 0xee, 0x02, + 0xd4, 0x00, 0x21, 0x00, 0x2d, 0x00, 0x37, 0x00, 0x00, 0x01, 0x32, 0x16, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x17, 0x36, 0x36, 0x37, 0x33, 0x06, 0x06, 0x07, 0x17, 0x23, 0x27, 0x06, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x17, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x17, 0x36, 0x36, 0x35, 0x34, 0x26, 0x03, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x37, 0x01, 0x36, 0x3a, 0x5a, 0x34, 0x52, 0x3d, 0x8b, 0x14, 0x1e, 0x0a, 0x9b, 0x0f, 0x3a, 0x2d, + 0x93, 0xb8, 0x38, 0x2b, 0x6a, 0x3e, 0x7a, 0x89, 0x46, 0x3d, 0x27, 0x1f, 0x35, 0x5f, 0x3c, 0x19, + 0x2d, 0x19, 0x15, 0x2a, 0x2d, 0x28, 0x4a, 0x1c, 0x21, 0x40, 0x30, 0x20, 0x38, 0x17, 0x02, 0xd4, + 0x24, 0x45, 0x32, 0x45, 0x5e, 0x23, 0x87, 0x22, 0x4b, 0x26, 0x38, 0x80, 0x38, 0x8f, 0x37, 0x1e, + 0x23, 0x70, 0x5b, 0x4c, 0x5b, 0x23, 0x2d, 0x4c, 0x2b, 0x33, 0x4a, 0x28, 0x73, 0x19, 0x23, 0x19, + 0x2e, 0x18, 0x17, 0x2e, 0x1e, 0x1e, 0x1a, 0xfe, 0xd1, 0x15, 0x2f, 0x1f, 0x2b, 0x31, 0x10, 0x0e, + 0x00, 0x01, 0x00, 0x41, 0x01, 0xc8, 0x00, 0xc9, 0x02, 0xca, 0x00, 0x03, 0x00, 0x00, 0x13, 0x03, + 0x23, 0x03, 0xc9, 0x14, 0x60, 0x14, 0x02, 0xca, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0x01, 0x00, 0x28, + 0xff, 0x62, 0x01, 0x35, 0x02, 0xca, 0x00, 0x0d, 0x00, 0x00, 0x13, 0x34, 0x36, 0x37, 0x33, 0x06, + 0x06, 0x15, 0x14, 0x16, 0x17, 0x23, 0x26, 0x26, 0x28, 0x47, 0x4c, 0x7a, 0x44, 0x47, 0x47, 0x43, + 0x79, 0x4c, 0x47, 0x01, 0x12, 0x7a, 0xe3, 0x5b, 0x5e, 0xe2, 0x77, 0x74, 0xe1, 0x5c, 0x58, 0xdf, + 0x00, 0x01, 0x00, 0x1e, 0xff, 0x62, 0x01, 0x2b, 0x02, 0xca, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x14, + 0x06, 0x07, 0x23, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x33, 0x16, 0x16, 0x01, 0x2b, 0x47, 0x4c, + 0x79, 0x44, 0x46, 0x47, 0x44, 0x7a, 0x4c, 0x47, 0x01, 0x12, 0x79, 0xdf, 0x58, 0x5c, 0xe1, 0x74, + 0x77, 0xe2, 0x5e, 0x5b, 0xe3, 0x00, 0x01, 0x00, 0x1f, 0x01, 0x24, 0x02, 0x02, 0x02, 0xf8, 0x00, + 0x0e, 0x00, 0x00, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, 0x27, 0x07, 0x27, 0x37, 0x27, 0x37, + 0x17, 0x27, 0x01, 0x50, 0x14, 0xb6, 0x10, 0xa6, 0x6d, 0x6f, 0x4c, 0x43, 0x73, 0x6c, 0xa5, 0x13, + 0xb2, 0x14, 0x02, 0xf8, 0xb4, 0x33, 0x7b, 0x0c, 0x91, 0x3b, 0x99, 0x98, 0x3a, 0x91, 0x0d, 0x7a, + 0x33, 0xb4, 0x00, 0x01, 0x00, 0x2b, 0x00, 0x6f, 0x02, 0x10, 0x02, 0x54, 0x00, 0x0b, 0x00, 0x00, + 0x01, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x01, 0x53, 0xbd, 0xbd, + 0x6b, 0xbd, 0xbd, 0x6b, 0x01, 0x96, 0x6b, 0xbc, 0xbc, 0x6b, 0xbe, 0x00, 0x01, 0x00, 0x1f, 0xff, + 0x7f, 0x00, 0xe0, 0x00, 0x74, 0x00, 0x08, 0x00, 0x00, 0x37, 0x06, 0x06, 0x07, 0x23, 0x36, 0x36, + 0x37, 0x33, 0xe0, 0x0d, 0x30, 0x19, 0x6b, 0x0e, 0x1c, 0x07, 0x89, 0x69, 0x35, 0x7e, 0x37, 0x3b, + 0x86, 0x34, 0x00, 0x01, 0x00, 0x1e, 0x00, 0xcf, 0x01, 0x24, 0x01, 0x49, 0x00, 0x03, 0x00, 0x00, + 0x37, 0x35, 0x21, 0x15, 0x1e, 0x01, 0x06, 0xcf, 0x7a, 0x7a, 0x00, 0x01, 0x00, 0x39, 0xff, 0xf3, + 0x00, 0xe4, 0x00, 0x99, 0x00, 0x0b, 0x00, 0x00, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x46, 0x2e, 0x25, + 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x01, 0x98, 0x02, 0xca, 0x00, + 0x03, 0x00, 0x00, 0x01, 0x01, 0x23, 0x01, 0x01, 0x98, 0xfe, 0xf6, 0x87, 0x01, 0x0a, 0x02, 0xca, + 0xfd, 0x36, 0x02, 0xca, 0x00, 0x02, 0x00, 0x24, 0xff, 0xf6, 0x02, 0x17, 0x02, 0xd5, 0x00, 0x0d, + 0x00, 0x19, 0x00, 0x00, 0x01, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, + 0x32, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0x17, + 0x31, 0x6d, 0x5c, 0x81, 0x78, 0x30, 0x6e, 0x5b, 0x80, 0x7a, 0xfe, 0xa3, 0x2a, 0x39, 0x38, 0x2c, + 0x2c, 0x38, 0x39, 0x2a, 0x01, 0x65, 0x73, 0xa4, 0x58, 0xc3, 0xac, 0x74, 0xa4, 0x58, 0xc2, 0xae, + 0x7a, 0x7b, 0x7a, 0x7b, 0x7a, 0x7c, 0x7c, 0x00, 0x01, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x9d, 0x02, + 0xca, 0x00, 0x0c, 0x00, 0x00, 0x21, 0x23, 0x11, 0x34, 0x36, 0x37, 0x06, 0x06, 0x07, 0x07, 0x27, + 0x37, 0x33, 0x01, 0x9d, 0x97, 0x03, 0x01, 0x05, 0x21, 0x0e, 0x52, 0x49, 0xe6, 0x7c, 0x01, 0x9d, + 0x1a, 0x54, 0x20, 0x06, 0x1f, 0x0c, 0x42, 0x5b, 0xb7, 0x00, 0x01, 0x00, 0x26, 0x00, 0x00, 0x02, + 0x1b, 0x02, 0xd4, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x21, 0x35, 0x37, 0x3e, 0x02, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x16, 0x15, 0x14, 0x06, 0x06, 0x07, + 0x07, 0x15, 0x21, 0x02, 0x1b, 0xfe, 0x0d, 0xb3, 0x36, 0x42, 0x1e, 0x2f, 0x28, 0x29, 0x4e, 0x2b, + 0x52, 0x1f, 0x45, 0x5b, 0x40, 0x46, 0x65, 0x37, 0x2f, 0x59, 0x3f, 0x5c, 0x01, 0x37, 0x69, 0xb5, + 0x38, 0x4b, 0x3d, 0x23, 0x2b, 0x2a, 0x26, 0x23, 0x61, 0x1b, 0x2e, 0x1d, 0x33, 0x57, 0x37, 0x3b, + 0x62, 0x60, 0x3a, 0x56, 0x07, 0x00, 0x01, 0x00, 0x26, 0xff, 0xf6, 0x02, 0x14, 0x02, 0xd4, 0x00, + 0x2b, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x15, 0x16, 0x16, 0x15, 0x14, 0x06, 0x06, 0x23, 0x22, + 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, + 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x01, + 0xff, 0x59, 0x41, 0x56, 0x59, 0x3d, 0x7f, 0x64, 0x74, 0x5a, 0x2e, 0x65, 0x2b, 0x51, 0x41, 0x1e, + 0x4b, 0x43, 0x36, 0x37, 0x42, 0x45, 0x19, 0x2f, 0x37, 0x33, 0x4b, 0x1a, 0x46, 0x2a, 0x71, 0x4e, + 0x6e, 0x81, 0x02, 0x2a, 0x4a, 0x58, 0x10, 0x03, 0x0a, 0x54, 0x47, 0x3e, 0x63, 0x39, 0x27, 0x80, + 0x17, 0x18, 0x38, 0x33, 0x1e, 0x29, 0x15, 0x74, 0x19, 0x2b, 0x1c, 0x26, 0x2b, 0x23, 0x11, 0x68, + 0x1e, 0x28, 0x59, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x02, 0x2b, 0x02, 0xca, 0x00, 0x0a, 0x00, + 0x15, 0x00, 0x00, 0x25, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, 0x27, 0x34, + 0x36, 0x36, 0x37, 0x23, 0x06, 0x06, 0x07, 0x07, 0x33, 0x02, 0x2b, 0x56, 0x93, 0xfe, 0xcf, 0x01, + 0x39, 0x8b, 0x56, 0xe9, 0x02, 0x03, 0x01, 0x04, 0x09, 0x14, 0x0e, 0x83, 0xac, 0x94, 0x94, 0x94, + 0x69, 0x01, 0xcd, 0xfe, 0x3f, 0x79, 0x17, 0x42, 0x39, 0x09, 0x14, 0x26, 0x14, 0xc6, 0x00, 0x01, + 0x00, 0x31, 0xff, 0xf6, 0x02, 0x0e, 0x02, 0xca, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x32, 0x16, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, + 0x22, 0x06, 0x07, 0x27, 0x13, 0x21, 0x15, 0x23, 0x07, 0x36, 0x36, 0x01, 0x2c, 0x41, 0x66, 0x3b, + 0x90, 0x8d, 0x38, 0x63, 0x25, 0x25, 0x68, 0x2e, 0x43, 0x47, 0x8f, 0x1c, 0x3c, 0x14, 0x3c, 0x1b, + 0x01, 0x83, 0xff, 0x0d, 0x11, 0x27, 0x01, 0xc8, 0x32, 0x60, 0x47, 0x74, 0x85, 0x14, 0x13, 0x82, + 0x13, 0x1b, 0x37, 0x3a, 0x6c, 0x0b, 0x05, 0x20, 0x01, 0x6c, 0x80, 0x8c, 0x03, 0x07, 0x00, 0x02, + 0x00, 0x23, 0xff, 0xf6, 0x02, 0x1b, 0x02, 0xd2, 0x00, 0x1e, 0x00, 0x2c, 0x00, 0x00, 0x13, 0x34, + 0x3e, 0x03, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x07, 0x33, 0x36, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x26, 0x05, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x14, 0x16, 0x16, 0x23, 0x12, 0x2d, 0x51, 0x7d, 0x59, 0x15, + 0x38, 0x13, 0x13, 0x2d, 0x16, 0x59, 0x61, 0x28, 0x03, 0x06, 0x14, 0x4b, 0x3c, 0x5e, 0x6e, 0x83, + 0x70, 0x49, 0x76, 0x46, 0x01, 0x02, 0x2c, 0x38, 0x30, 0x31, 0x21, 0x32, 0x1c, 0x18, 0x31, 0x01, + 0x2f, 0x3e, 0x78, 0x6b, 0x53, 0x2f, 0x03, 0x04, 0x79, 0x05, 0x05, 0x38, 0x65, 0x42, 0x23, 0x30, + 0x76, 0x6c, 0x74, 0x84, 0x43, 0x8b, 0x55, 0x3d, 0x40, 0x34, 0x3c, 0x1d, 0x2e, 0x18, 0x21, 0x3f, + 0x2a, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x02, 0x1b, 0x02, 0xca, 0x00, 0x06, 0x00, 0x00, 0x33, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x6f, 0x01, 0x0c, 0xfe, 0xa0, 0x02, 0x00, 0xfe, 0xf2, 0x02, + 0x4b, 0x7f, 0x5f, 0xfd, 0x95, 0x00, 0x03, 0x00, 0x23, 0xff, 0xf6, 0x02, 0x18, 0x02, 0xd3, 0x00, + 0x1b, 0x00, 0x27, 0x00, 0x35, 0x00, 0x00, 0x01, 0x32, 0x16, 0x16, 0x15, 0x14, 0x06, 0x07, 0x1e, + 0x02, 0x15, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, + 0x36, 0x36, 0x17, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x36, 0x36, 0x35, 0x34, 0x26, 0x03, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x27, 0x27, 0x06, 0x06, 0x01, 0x1e, 0x3e, 0x67, + 0x3f, 0x49, 0x37, 0x26, 0x45, 0x2b, 0x3f, 0x71, 0x4a, 0x78, 0x83, 0x50, 0x39, 0x30, 0x43, 0x40, + 0x69, 0x3b, 0x25, 0x31, 0x34, 0x23, 0x22, 0x34, 0x31, 0x94, 0x37, 0x36, 0x38, 0x38, 0x20, 0x2f, + 0x19, 0x0d, 0x2e, 0x3a, 0x02, 0xd3, 0x26, 0x4c, 0x3a, 0x40, 0x53, 0x1b, 0x14, 0x35, 0x47, 0x30, + 0x3b, 0x58, 0x30, 0x66, 0x59, 0x4a, 0x5a, 0x1c, 0x1e, 0x55, 0x40, 0x39, 0x4c, 0x26, 0x6e, 0x26, + 0x23, 0x25, 0x2e, 0x11, 0x10, 0x2d, 0x27, 0x23, 0x26, 0xfe, 0x59, 0x27, 0x32, 0x30, 0x28, 0x1b, + 0x29, 0x21, 0x0e, 0x07, 0x16, 0x3a, 0x00, 0x02, 0x00, 0x20, 0xff, 0xf6, 0x02, 0x18, 0x02, 0xd2, + 0x00, 0x1e, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x14, 0x0e, 0x03, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, + 0x16, 0x33, 0x32, 0x36, 0x36, 0x37, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x16, 0x25, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x36, 0x35, 0x34, 0x26, + 0x26, 0x02, 0x18, 0x12, 0x2d, 0x51, 0x7d, 0x59, 0x15, 0x38, 0x13, 0x14, 0x2c, 0x16, 0x59, 0x61, + 0x28, 0x03, 0x06, 0x15, 0x45, 0x44, 0x5b, 0x6e, 0x83, 0x70, 0x49, 0x76, 0x46, 0xfe, 0xfe, 0x2c, + 0x38, 0x30, 0x31, 0x22, 0x31, 0x1c, 0x18, 0x30, 0x01, 0x99, 0x3d, 0x79, 0x6b, 0x53, 0x2f, 0x03, + 0x04, 0x79, 0x04, 0x06, 0x39, 0x64, 0x42, 0x23, 0x30, 0x76, 0x6c, 0x74, 0x84, 0x43, 0x8b, 0x55, + 0x3c, 0x41, 0x34, 0x3c, 0x1e, 0x2d, 0x18, 0x21, 0x40, 0x29, 0x00, 0x02, 0x00, 0x39, 0xff, 0xf3, + 0x00, 0xe4, 0x02, 0x2c, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x32, 0x24, 0x23, 0x32, 0x32, + 0x23, 0x24, 0x32, 0x01, 0xd9, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0xfe, 0x99, 0x2e, 0x25, + 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, 0x1f, 0xff, 0x7f, 0x00, 0xe4, 0x02, 0x2c, 0x00, + 0x0b, 0x00, 0x14, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x13, 0x06, 0x06, 0x07, 0x23, 0x36, 0x36, 0x37, 0x33, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, + 0x23, 0x24, 0x32, 0xa7, 0x0d, 0x30, 0x19, 0x6b, 0x0e, 0x1c, 0x07, 0x89, 0x01, 0xd9, 0x2e, 0x25, + 0x25, 0x2e, 0x2c, 0x27, 0x27, 0xfe, 0xbc, 0x35, 0x7e, 0x37, 0x3b, 0x86, 0x34, 0x00, 0x01, 0x00, + 0x2b, 0x00, 0x63, 0x02, 0x10, 0x02, 0x71, 0x00, 0x06, 0x00, 0x00, 0x25, 0x25, 0x35, 0x25, 0x15, + 0x05, 0x05, 0x02, 0x10, 0xfe, 0x1b, 0x01, 0xe5, 0xfe, 0xb2, 0x01, 0x4e, 0x63, 0xd6, 0x46, 0xf2, + 0x75, 0x9b, 0x89, 0x00, 0x02, 0x00, 0x2b, 0x00, 0xcc, 0x02, 0x10, 0x01, 0xf4, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x00, 0x13, 0x35, 0x21, 0x15, 0x05, 0x35, 0x21, 0x15, 0x2b, 0x01, 0xe5, 0xfe, 0x1b, + 0x01, 0xe5, 0x01, 0x8a, 0x6a, 0x6a, 0xbe, 0x6b, 0x6b, 0x00, 0x01, 0x00, 0x2b, 0x00, 0x63, 0x02, + 0x10, 0x02, 0x71, 0x00, 0x06, 0x00, 0x00, 0x37, 0x25, 0x25, 0x35, 0x05, 0x15, 0x05, 0x2b, 0x01, + 0x4e, 0xfe, 0xb2, 0x01, 0xe5, 0xfe, 0x1b, 0xd8, 0x89, 0x9b, 0x75, 0xf2, 0x46, 0xd6, 0x00, 0x02, + 0x00, 0x03, 0xff, 0xf3, 0x01, 0xc5, 0x02, 0xd4, 0x00, 0x1d, 0x00, 0x29, 0x00, 0x00, 0x13, 0x34, + 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x06, 0x07, 0x0e, 0x02, 0x15, 0x15, 0x23, 0x07, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x87, 0x2a, 0x33, 0x2d, 0x27, 0x2f, 0x2a, 0x2a, 0x52, + 0x2b, 0x35, 0x31, 0x72, 0x44, 0x68, 0x73, 0x1a, 0x34, 0x27, 0x1d, 0x20, 0x0b, 0x81, 0x10, 0x32, + 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x01, 0x11, 0x32, 0x44, 0x25, 0x20, 0x2f, 0x20, 0x20, + 0x21, 0x1a, 0x16, 0x6b, 0x1b, 0x22, 0x64, 0x4d, 0x29, 0x3c, 0x33, 0x1d, 0x15, 0x1e, 0x1c, 0x15, + 0x1d, 0xa7, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, 0x32, 0xff, 0xac, 0x03, + 0x4f, 0x02, 0xca, 0x00, 0x3f, 0x00, 0x4d, 0x00, 0x00, 0x01, 0x14, 0x0e, 0x02, 0x23, 0x22, 0x26, + 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, + 0x06, 0x14, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x36, 0x35, 0x34, 0x26, 0x26, 0x23, 0x22, 0x06, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, + 0x34, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x37, 0x26, + 0x26, 0x23, 0x22, 0x06, 0x06, 0x03, 0x4f, 0x16, 0x2d, 0x44, 0x2e, 0x25, 0x38, 0x0b, 0x08, 0x14, + 0x43, 0x2f, 0x59, 0x61, 0x3a, 0x6a, 0x48, 0x2f, 0x65, 0x1c, 0x0a, 0x01, 0x17, 0x0e, 0x17, 0x1e, + 0x0f, 0x44, 0x75, 0x4b, 0x69, 0x8f, 0x4a, 0x91, 0x88, 0x3a, 0x7e, 0x34, 0x30, 0x76, 0x42, 0x7c, + 0xb0, 0x5d, 0x3c, 0x71, 0x9e, 0x62, 0x6b, 0xa6, 0x5f, 0xfe, 0x0c, 0x2e, 0x26, 0x32, 0x29, 0x04, + 0x06, 0x0b, 0x1c, 0x11, 0x2f, 0x39, 0x19, 0x01, 0x66, 0x2e, 0x5a, 0x4a, 0x2b, 0x23, 0x1c, 0x19, + 0x26, 0x6b, 0x57, 0x43, 0x67, 0x3b, 0x11, 0x0a, 0xcd, 0x0a, 0x15, 0x03, 0x29, 0x1b, 0x2d, 0x4b, + 0x2d, 0x54, 0x75, 0x3e, 0x57, 0x96, 0x61, 0x87, 0x90, 0x1a, 0x13, 0x5e, 0x14, 0x18, 0x58, 0xa5, + 0x74, 0x5b, 0x9c, 0x75, 0x41, 0x56, 0xa0, 0xab, 0x37, 0x30, 0x49, 0x3b, 0x6c, 0x02, 0x03, 0x29, + 0x41, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0xb2, 0x02, 0xcd, 0x00, 0x07, 0x00, 0x12, 0x00, + 0x00, 0x21, 0x27, 0x21, 0x07, 0x23, 0x13, 0x33, 0x13, 0x01, 0x2e, 0x02, 0x27, 0x0e, 0x02, 0x07, + 0x07, 0x33, 0x02, 0x0f, 0x34, 0xfe, 0xfc, 0x34, 0xa3, 0xfc, 0xb9, 0xfd, 0xfe, 0xd1, 0x05, 0x10, + 0x10, 0x05, 0x05, 0x11, 0x0f, 0x04, 0x33, 0xba, 0xaa, 0xaa, 0x02, 0xcd, 0xfd, 0x33, 0x01, 0xcf, + 0x11, 0x34, 0x36, 0x14, 0x14, 0x3b, 0x35, 0x0b, 0xa6, 0x00, 0x03, 0x00, 0x5a, 0x00, 0x00, 0x02, + 0x6b, 0x02, 0xca, 0x00, 0x10, 0x00, 0x19, 0x00, 0x22, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x07, 0x15, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x13, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x23, 0x1d, 0x02, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, 0x38, 0x8f, 0x92, + 0x39, 0x35, 0x24, 0x3a, 0x22, 0x8c, 0x7a, 0xfe, 0xf5, 0xef, 0x42, 0x33, 0x3c, 0x41, 0x50, 0x63, + 0x44, 0x36, 0x37, 0x48, 0x02, 0xca, 0x50, 0x65, 0x3d, 0x54, 0x09, 0x05, 0x07, 0x24, 0x44, 0x38, + 0x61, 0x6e, 0x02, 0xca, 0xfe, 0xe5, 0x2a, 0x28, 0x29, 0x24, 0x9f, 0x78, 0xba, 0x35, 0x2c, 0x28, + 0x31, 0x00, 0x01, 0x00, 0x3a, 0xff, 0xf6, 0x02, 0x5a, 0x02, 0xd4, 0x00, 0x1b, 0x00, 0x00, 0x01, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, + 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x01, 0x89, 0x57, 0x5c, 0x55, + 0x5e, 0x2c, 0x57, 0x33, 0x2f, 0x5c, 0x39, 0x6e, 0x8f, 0x44, 0x4e, 0x95, 0x6c, 0x35, 0x6b, 0x31, + 0x31, 0x28, 0x51, 0x02, 0x56, 0x82, 0x71, 0x72, 0x7d, 0x14, 0x12, 0x7f, 0x13, 0x12, 0x5b, 0xa5, + 0x6e, 0x6c, 0xa6, 0x5e, 0x1b, 0x17, 0x7b, 0x13, 0x1c, 0x00, 0x02, 0x00, 0x5a, 0x00, 0x00, 0x02, + 0xaa, 0x02, 0xca, 0x00, 0x09, 0x00, 0x11, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x23, 0x11, 0x33, + 0x32, 0x16, 0x16, 0x07, 0x34, 0x26, 0x23, 0x23, 0x11, 0x33, 0x32, 0x02, 0xaa, 0xcd, 0xb9, 0xca, + 0xe0, 0x70, 0xa5, 0x5b, 0x9d, 0x68, 0x63, 0x51, 0x41, 0xdb, 0x01, 0x6c, 0xb5, 0xb7, 0x02, 0xca, + 0x50, 0x9b, 0x77, 0x77, 0x6f, 0xfe, 0x2f, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x01, 0xf5, 0x02, + 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x15, 0x23, 0x15, + 0x21, 0x01, 0xf5, 0xfe, 0x65, 0x01, 0x9b, 0xfe, 0xfc, 0xf2, 0xf2, 0x01, 0x04, 0x02, 0xca, 0x7c, + 0x9d, 0x7c, 0xb8, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x01, 0xf3, 0x02, 0xca, 0x00, 0x09, 0x00, + 0x00, 0x33, 0x23, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x15, 0x23, 0xef, 0x95, 0x01, 0x99, 0xfe, + 0xfc, 0xf2, 0xf2, 0x02, 0xca, 0x7c, 0xb8, 0x7c, 0x00, 0x01, 0x00, 0x3a, 0xff, 0xf6, 0x02, 0x84, + 0x02, 0xd4, 0x00, 0x20, 0x00, 0x00, 0x01, 0x21, 0x11, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x14, 0x16, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x23, 0x01, 0x69, 0x01, 0x1b, 0x38, 0x79, 0x4d, 0xa0, 0xac, + 0x57, 0xa6, 0x78, 0x39, 0x6e, 0x2d, 0x32, 0x21, 0x54, 0x2e, 0x42, 0x61, 0x35, 0x26, 0x52, 0x42, + 0x20, 0x2d, 0x13, 0x87, 0x01, 0x91, 0xfe, 0x8e, 0x13, 0x16, 0xbc, 0xb4, 0x70, 0xa4, 0x5a, 0x18, + 0x14, 0x79, 0x11, 0x16, 0x3c, 0x6d, 0x4a, 0x46, 0x6c, 0x3d, 0x06, 0x04, 0x95, 0x00, 0x01, 0x00, + 0x5a, 0x00, 0x00, 0x02, 0xa3, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x23, 0x11, 0x21, 0x11, + 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x02, 0xa3, 0x97, 0xfe, 0xe5, 0x97, 0x97, 0x01, 0x1b, + 0x97, 0x01, 0x34, 0xfe, 0xcc, 0x02, 0xca, 0xfe, 0xe8, 0x01, 0x18, 0x00, 0x01, 0x00, 0x20, 0x00, + 0x00, 0x01, 0x65, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x21, 0x35, 0x37, 0x11, 0x27, 0x35, + 0x21, 0x15, 0x07, 0x11, 0x17, 0x01, 0x65, 0xfe, 0xbb, 0x57, 0x57, 0x01, 0x45, 0x57, 0x57, 0x56, + 0x28, 0x01, 0xce, 0x28, 0x56, 0x56, 0x28, 0xfe, 0x32, 0x28, 0x00, 0x01, 0xff, 0xb6, 0xff, 0x2e, + 0x00, 0xf1, 0x02, 0xca, 0x00, 0x11, 0x00, 0x00, 0x17, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, + 0x32, 0x36, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x06, 0x0f, 0x1d, 0x2c, 0x10, 0x10, 0x23, + 0x14, 0x1a, 0x2b, 0x18, 0x97, 0x39, 0x66, 0xd2, 0x07, 0x04, 0x7e, 0x04, 0x06, 0x14, 0x38, 0x34, + 0x02, 0x9d, 0xfd, 0x64, 0x5c, 0x71, 0x33, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x02, 0x98, 0x02, + 0xca, 0x00, 0x0e, 0x00, 0x00, 0x21, 0x23, 0x03, 0x07, 0x15, 0x23, 0x11, 0x33, 0x11, 0x36, 0x36, + 0x37, 0x37, 0x33, 0x03, 0x02, 0x98, 0xac, 0xbb, 0x40, 0x97, 0x97, 0x0f, 0x1e, 0x0f, 0xc1, 0xa8, + 0xf9, 0x01, 0x2d, 0x2e, 0xff, 0x02, 0xca, 0xfe, 0xb9, 0x15, 0x2a, 0x15, 0xf3, 0xfe, 0xc4, 0x00, + 0x01, 0x00, 0x5a, 0x00, 0x00, 0x02, 0x13, 0x02, 0xca, 0x00, 0x05, 0x00, 0x00, 0x33, 0x11, 0x33, + 0x11, 0x21, 0x15, 0x5a, 0x97, 0x01, 0x22, 0x02, 0xca, 0xfd, 0xb3, 0x7d, 0x00, 0x01, 0x00, 0x5a, + 0x00, 0x00, 0x03, 0x55, 0x02, 0xca, 0x00, 0x17, 0x00, 0x00, 0x21, 0x03, 0x23, 0x1e, 0x02, 0x15, + 0x11, 0x23, 0x11, 0x33, 0x13, 0x33, 0x13, 0x33, 0x11, 0x23, 0x11, 0x34, 0x36, 0x36, 0x37, 0x23, + 0x03, 0x01, 0x88, 0xac, 0x04, 0x01, 0x04, 0x04, 0x87, 0xce, 0xa9, 0x03, 0xb3, 0xce, 0x8d, 0x03, + 0x03, 0x01, 0x04, 0xb8, 0x02, 0x30, 0x14, 0x50, 0x5b, 0x25, 0xfe, 0xb4, 0x02, 0xca, 0xfd, 0xde, + 0x02, 0x22, 0xfd, 0x36, 0x01, 0x52, 0x22, 0x58, 0x4f, 0x14, 0xfd, 0xd1, 0x00, 0x01, 0x00, 0x5a, + 0x00, 0x00, 0x02, 0xd3, 0x02, 0xca, 0x00, 0x11, 0x00, 0x00, 0x21, 0x23, 0x01, 0x23, 0x16, 0x16, + 0x17, 0x11, 0x23, 0x11, 0x33, 0x01, 0x33, 0x26, 0x26, 0x27, 0x11, 0x33, 0x02, 0xd3, 0xc0, 0xfe, + 0xc9, 0x04, 0x02, 0x05, 0x02, 0x87, 0xbf, 0x01, 0x36, 0x03, 0x01, 0x04, 0x02, 0x88, 0x02, 0x1c, + 0x33, 0x66, 0x33, 0xfe, 0xb0, 0x02, 0xca, 0xfd, 0xe9, 0x32, 0x62, 0x31, 0x01, 0x52, 0x00, 0x02, + 0x00, 0x3a, 0xff, 0xf6, 0x02, 0xe2, 0x02, 0xd5, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x14, + 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0xe2, 0x49, 0x96, 0x75, 0x74, + 0x97, 0x49, 0x49, 0x97, 0x75, 0x74, 0x96, 0x49, 0xfd, 0xf7, 0x56, 0x5f, 0x61, 0x54, 0x54, 0x60, + 0x60, 0x56, 0x01, 0x66, 0x6f, 0xa5, 0x5c, 0x5c, 0xa6, 0x6f, 0x6f, 0xa4, 0x5b, 0x5b, 0xa5, 0x6f, + 0x70, 0x81, 0x81, 0x70, 0x71, 0x80, 0x80, 0x00, 0x02, 0x00, 0x5a, 0x00, 0x00, 0x02, 0x47, 0x02, + 0xca, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x06, 0x23, 0x23, + 0x15, 0x23, 0x11, 0x17, 0x23, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, 0x01, 0x3e, 0x8a, 0x7f, 0x34, + 0x79, 0x68, 0x41, 0x97, 0xdc, 0x45, 0x32, 0x40, 0x4b, 0x02, 0xca, 0x77, 0x68, 0x3e, 0x6d, 0x42, + 0xfe, 0x02, 0xca, 0x7c, 0xd4, 0x33, 0x39, 0x68, 0x00, 0x02, 0x00, 0x3a, 0xff, 0x56, 0x02, 0xe2, + 0x02, 0xd5, 0x00, 0x12, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x17, 0x23, 0x27, 0x23, + 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0xe2, 0x56, 0x5a, 0xac, 0xc2, 0x83, 0x0b, 0x74, + 0x97, 0x49, 0x49, 0x97, 0x75, 0x74, 0x96, 0x49, 0xfd, 0xf7, 0x56, 0x5f, 0x61, 0x54, 0x54, 0x60, + 0x60, 0x56, 0x01, 0x66, 0x78, 0xaf, 0x29, 0xc0, 0xa0, 0x5c, 0xa6, 0x6f, 0x6f, 0xa4, 0x5b, 0x5b, + 0xa5, 0x6f, 0x70, 0x81, 0x81, 0x70, 0x71, 0x80, 0x80, 0x00, 0x02, 0x00, 0x5a, 0x00, 0x00, 0x02, + 0x94, 0x02, 0xca, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x06, + 0x07, 0x13, 0x23, 0x03, 0x23, 0x11, 0x23, 0x11, 0x17, 0x23, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x01, 0x2a, 0x92, 0x8b, 0x25, 0x3d, 0x23, 0xd2, 0xa8, 0xaa, 0x51, 0x97, 0xc5, 0x2e, 0x31, + 0x4b, 0x41, 0x45, 0x02, 0xca, 0x6a, 0x6c, 0x31, 0x49, 0x33, 0x10, 0xfe, 0xc9, 0x01, 0x12, 0xfe, + 0xee, 0x02, 0xca, 0x7c, 0xc1, 0x32, 0x31, 0x33, 0x2b, 0x00, 0x01, 0x00, 0x2e, 0xff, 0xf6, 0x01, + 0xff, 0x02, 0xd4, 0x00, 0x28, 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x27, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x02, 0x01, 0xff, 0x89, + 0x7e, 0x71, 0x59, 0x33, 0x6d, 0x36, 0x38, 0x2f, 0x25, 0x3e, 0x28, 0x19, 0x3a, 0x35, 0x22, 0x82, + 0x70, 0x38, 0x65, 0x37, 0x31, 0x31, 0x4e, 0x29, 0x2b, 0x2e, 0x44, 0x43, 0x37, 0x4d, 0x2a, 0xc6, + 0x5f, 0x71, 0x2b, 0x8d, 0x16, 0x25, 0x2b, 0x21, 0x1b, 0x26, 0x21, 0x13, 0x0c, 0x21, 0x31, 0x46, + 0x31, 0x60, 0x6b, 0x1a, 0x18, 0x76, 0x14, 0x16, 0x28, 0x20, 0x26, 0x2c, 0x20, 0x1a, 0x38, 0x4c, + 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x02, 0x2f, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x21, 0x23, + 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x01, 0x6d, 0x97, 0xc2, 0x02, 0x1b, 0xc2, 0x02, 0x4c, 0x7e, + 0x7e, 0x00, 0x01, 0x00, 0x55, 0xff, 0xf6, 0x02, 0x9f, 0x02, 0xca, 0x00, 0x12, 0x00, 0x00, 0x25, + 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x11, 0x33, 0x02, 0x9f, 0x41, 0x83, 0x64, 0x8e, 0x94, 0x97, 0x48, 0x47, 0x4a, 0x43, 0x97, 0xfc, + 0x4a, 0x77, 0x45, 0x91, 0x77, 0x01, 0xcc, 0xfe, 0x4b, 0x58, 0x48, 0x4e, 0x53, 0x01, 0xb4, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8a, 0x02, 0xca, 0x00, 0x0e, 0x00, 0x00, 0x01, 0x03, 0x23, + 0x03, 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, 0x02, 0x8a, 0xf3, 0xa5, 0xf2, 0x99, + 0x86, 0x04, 0x0f, 0x10, 0x03, 0x03, 0x0f, 0x10, 0x03, 0x87, 0x02, 0xca, 0xfd, 0x36, 0x02, 0xca, + 0xfe, 0x57, 0x0b, 0x3b, 0x41, 0x16, 0x16, 0x41, 0x3b, 0x0b, 0x01, 0xa9, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xc7, 0x02, 0xca, 0x00, 0x26, 0x00, 0x00, 0x01, 0x03, 0x23, 0x03, 0x2e, 0x03, + 0x27, 0x0e, 0x03, 0x07, 0x03, 0x23, 0x03, 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, + 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, 0x03, 0xc7, 0xb6, 0xac, 0x61, 0x03, 0x09, + 0x0b, 0x08, 0x02, 0x01, 0x09, 0x0a, 0x0a, 0x03, 0x60, 0xac, 0xb6, 0x95, 0x5b, 0x06, 0x0e, 0x0c, + 0x03, 0x03, 0x0c, 0x0d, 0x05, 0x68, 0x8f, 0x68, 0x05, 0x0d, 0x0c, 0x03, 0x03, 0x0c, 0x0f, 0x05, + 0x5b, 0x02, 0xca, 0xfd, 0x36, 0x01, 0x77, 0x0b, 0x2c, 0x34, 0x2f, 0x0d, 0x0d, 0x2f, 0x33, 0x2d, + 0x0c, 0xfe, 0x8a, 0x02, 0xca, 0xfe, 0x7a, 0x17, 0x46, 0x46, 0x18, 0x19, 0x45, 0x41, 0x12, 0x01, + 0x90, 0xfe, 0x70, 0x11, 0x42, 0x46, 0x18, 0x19, 0x45, 0x46, 0x17, 0x01, 0x86, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x9b, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x23, 0x03, 0x03, 0x23, + 0x13, 0x03, 0x33, 0x13, 0x13, 0x33, 0x03, 0x02, 0x9b, 0xad, 0xa6, 0xa6, 0xa2, 0xed, 0xde, 0xa7, + 0x9a, 0x97, 0xa3, 0xe0, 0x01, 0x0e, 0xfe, 0xf2, 0x01, 0x70, 0x01, 0x5a, 0xfe, 0xff, 0x01, 0x01, + 0xfe, 0x9e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x70, 0x02, 0xca, 0x00, 0x08, 0x00, 0x00, + 0x01, 0x13, 0x33, 0x03, 0x11, 0x23, 0x11, 0x03, 0x33, 0x01, 0x38, 0x95, 0xa3, 0xed, 0x96, 0xed, + 0xa4, 0x01, 0xa4, 0x01, 0x26, 0xfe, 0x4c, 0xfe, 0xea, 0x01, 0x11, 0x01, 0xb9, 0x00, 0x01, 0x00, + 0x18, 0x00, 0x00, 0x02, 0x2b, 0x02, 0xca, 0x00, 0x09, 0x00, 0x00, 0x21, 0x21, 0x35, 0x01, 0x21, + 0x35, 0x21, 0x15, 0x01, 0x21, 0x02, 0x2b, 0xfd, 0xed, 0x01, 0x56, 0xfe, 0xb3, 0x02, 0x01, 0xfe, + 0xaa, 0x01, 0x5f, 0x62, 0x01, 0xeb, 0x7d, 0x62, 0xfe, 0x15, 0x00, 0x01, 0x00, 0x46, 0xff, 0x62, + 0x01, 0x32, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x05, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, + 0x01, 0x32, 0xec, 0xec, 0x6d, 0x6d, 0x9e, 0x03, 0x68, 0x67, 0xfd, 0x66, 0x00, 0x01, 0x00, 0x06, + 0x00, 0x00, 0x01, 0x97, 0x02, 0xca, 0x00, 0x03, 0x00, 0x00, 0x13, 0x01, 0x23, 0x01, 0x8d, 0x01, + 0x0a, 0x87, 0xfe, 0xf6, 0x02, 0xca, 0xfd, 0x36, 0x02, 0xca, 0x00, 0x01, 0x00, 0x19, 0xff, 0x62, + 0x01, 0x05, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x17, 0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x23, + 0x19, 0x6d, 0x6d, 0xec, 0xec, 0x37, 0x02, 0x9a, 0x67, 0xfc, 0x98, 0x00, 0x01, 0x00, 0x17, 0x00, + 0xfe, 0x02, 0x25, 0x02, 0xce, 0x00, 0x06, 0x00, 0x00, 0x37, 0x13, 0x33, 0x13, 0x23, 0x03, 0x03, + 0x17, 0xd6, 0x46, 0xf2, 0x75, 0x9d, 0x89, 0xfe, 0x01, 0xd0, 0xfe, 0x30, 0x01, 0x3a, 0xfe, 0xc6, + 0x00, 0x01, 0xff, 0xfe, 0xff, 0x62, 0x01, 0x9d, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x00, 0x05, 0x21, + 0x35, 0x21, 0x01, 0x9d, 0xfe, 0x61, 0x01, 0x9f, 0x9e, 0x44, 0x00, 0x01, 0x00, 0x28, 0x02, 0x5e, + 0x01, 0x42, 0x02, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x13, 0x1e, 0x02, 0x17, 0x15, 0x23, 0x2e, 0x03, + 0x27, 0x35, 0xcf, 0x0f, 0x29, 0x2b, 0x10, 0x63, 0x13, 0x33, 0x35, 0x2e, 0x0e, 0x02, 0xfe, 0x16, + 0x37, 0x33, 0x13, 0x0d, 0x0d, 0x27, 0x2c, 0x28, 0x0e, 0x0a, 0x00, 0x02, 0x00, 0x2a, 0xff, 0xf6, + 0x02, 0x11, 0x02, 0x2d, 0x00, 0x1b, 0x00, 0x26, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x23, + 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x37, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x13, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x35, 0x01, 0x2e, 0x6e, 0x75, 0x68, 0x1d, 0x04, 0x23, 0x4e, 0x44, 0x49, 0x60, 0x7a, 0x7a, 0x5f, + 0x2d, 0x28, 0x28, 0x4c, 0x26, 0x31, 0x2c, 0x6b, 0x4f, 0x48, 0x38, 0x28, 0x20, 0x30, 0x42, 0x02, + 0x2d, 0x5f, 0x62, 0xfe, 0x94, 0x4a, 0x2c, 0x28, 0x55, 0x58, 0x57, 0x53, 0x04, 0x03, 0x18, 0x2b, + 0x28, 0x17, 0x11, 0x65, 0x17, 0x1a, 0xfe, 0xce, 0x02, 0x30, 0x27, 0x22, 0x1d, 0x39, 0x34, 0x2d, + 0x00, 0x02, 0x00, 0x4e, 0xff, 0xf6, 0x02, 0x4c, 0x02, 0xf8, 0x00, 0x15, 0x00, 0x22, 0x00, 0x00, + 0x13, 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x27, 0x23, 0x07, 0x23, 0x11, 0x33, 0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0xe3, 0x04, 0x02, 0x06, 0x16, 0x4a, 0x3b, 0x5c, 0x72, 0x74, 0x5e, 0x3c, 0x45, + 0x16, 0x0a, 0x19, 0x72, 0x95, 0x6b, 0x3a, 0x2f, 0x02, 0x2f, 0x3e, 0x2e, 0x36, 0x37, 0x02, 0x47, + 0x1f, 0x3c, 0x11, 0x22, 0x2f, 0x8f, 0x8b, 0x8c, 0x90, 0x2b, 0x1b, 0x3c, 0x02, 0xf8, 0xfe, 0xbd, + 0x48, 0x4a, 0x10, 0x4f, 0x55, 0x55, 0x50, 0x50, 0x51, 0x00, 0x01, 0x00, 0x2d, 0xff, 0xf6, 0x01, + 0xe3, 0x02, 0x2c, 0x00, 0x19, 0x00, 0x00, 0x05, 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, + 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, + 0x06, 0x01, 0x2c, 0x7a, 0x85, 0x44, 0x79, 0x4f, 0x38, 0x53, 0x1f, 0x2c, 0x23, 0x3d, 0x1e, 0x74, + 0x3d, 0x37, 0x2f, 0x48, 0x22, 0x22, 0x4b, 0x0a, 0x87, 0x91, 0x64, 0x7e, 0x3c, 0x16, 0x0f, 0x73, + 0x0e, 0x12, 0xa5, 0x52, 0x4e, 0x19, 0x16, 0x7f, 0x16, 0x13, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, + 0x02, 0x2b, 0x02, 0xf8, 0x00, 0x15, 0x00, 0x22, 0x00, 0x00, 0x17, 0x22, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x17, 0x33, 0x26, 0x26, 0x35, 0x35, 0x33, 0x11, 0x23, 0x27, 0x23, 0x06, 0x06, + 0x27, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0xfb, 0x5b, 0x73, + 0x74, 0x5e, 0x3b, 0x4c, 0x16, 0x05, 0x03, 0x08, 0x95, 0x72, 0x1d, 0x06, 0x16, 0x4a, 0x07, 0x3e, + 0x32, 0x01, 0x31, 0x42, 0x31, 0x38, 0x38, 0x0a, 0x8f, 0x8b, 0x8c, 0x90, 0x2e, 0x22, 0x10, 0x3d, + 0x20, 0xaf, 0xfd, 0x08, 0x47, 0x22, 0x2f, 0x77, 0x49, 0x49, 0x10, 0x50, 0x54, 0x55, 0x50, 0x50, + 0x51, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, 0x02, 0x24, 0x02, 0x2c, 0x00, 0x16, 0x00, 0x1d, 0x00, + 0x00, 0x01, 0x32, 0x16, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, + 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x17, 0x22, 0x06, 0x07, 0x33, 0x26, 0x26, 0x01, + 0x2f, 0x71, 0x84, 0xfe, 0xa0, 0x02, 0x47, 0x3f, 0x35, 0x56, 0x2e, 0x28, 0x59, 0x3f, 0x52, 0x7e, + 0x48, 0x41, 0x74, 0x4e, 0x2b, 0x39, 0x05, 0xd1, 0x01, 0x32, 0x02, 0x2c, 0x81, 0x77, 0x48, 0x3f, + 0x48, 0x15, 0x16, 0x73, 0x14, 0x13, 0x3d, 0x7c, 0x5e, 0x60, 0x7f, 0x40, 0x6a, 0x38, 0x3b, 0x32, + 0x41, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x01, 0xb0, 0x02, 0xfd, 0x00, 0x18, 0x00, 0x00, 0x01, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x37, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, + 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x33, 0x01, 0x7c, 0x81, 0x95, 0x52, 0x52, 0x2f, 0x57, + 0x3b, 0x2c, 0x47, 0x16, 0x26, 0x11, 0x28, 0x1a, 0x1f, 0x1d, 0x81, 0x01, 0xb2, 0xfe, 0x4e, 0x01, + 0xb2, 0x48, 0x28, 0x28, 0x46, 0x4d, 0x20, 0x0e, 0x09, 0x6d, 0x05, 0x09, 0x26, 0x1d, 0x22, 0x00, + 0x02, 0x00, 0x2d, 0xff, 0x10, 0x02, 0x2b, 0x02, 0x2c, 0x00, 0x1e, 0x00, 0x29, 0x00, 0x00, 0x13, + 0x32, 0x17, 0x33, 0x37, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x35, 0x35, 0x34, 0x36, 0x37, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x22, + 0x15, 0x14, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0xff, 0x65, 0x39, 0x04, 0x0c, 0x7e, 0x8a, + 0x87, 0x3a, 0x63, 0x2f, 0x65, 0x70, 0x73, 0x03, 0x01, 0x04, 0x1c, 0x4e, 0x31, 0x61, 0x6d, 0x70, + 0x91, 0x69, 0x6b, 0x39, 0x37, 0x36, 0x02, 0x2c, 0x50, 0x46, 0xfd, 0xdd, 0x75, 0x7a, 0x0e, 0x12, + 0x77, 0x2a, 0x7c, 0x0b, 0x11, 0x24, 0x0e, 0x2b, 0x26, 0x95, 0x85, 0x86, 0x96, 0x79, 0xa5, 0xa3, + 0x41, 0x51, 0x12, 0x58, 0x4c, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x46, 0x02, 0xf8, 0x00, + 0x16, 0x00, 0x00, 0x13, 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, + 0x11, 0x34, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0xe3, 0x05, 0x02, 0x08, 0x1a, 0x52, + 0x32, 0x59, 0x6b, 0x95, 0x58, 0x43, 0x33, 0x95, 0x95, 0x02, 0x5d, 0x28, 0x4a, 0x0f, 0x2a, 0x26, + 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x76, 0x5d, 0x57, 0xfe, 0xff, 0x02, 0xf8, 0x00, 0x02, 0x00, + 0x48, 0x00, 0x00, 0x00, 0xea, 0x02, 0xf8, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x13, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x11, 0x23, 0x11, 0x99, 0x21, 0x30, + 0x30, 0x21, 0x22, 0x2f, 0x2f, 0x6c, 0x95, 0x02, 0xf8, 0x1f, 0x2a, 0x29, 0x20, 0x20, 0x29, 0x2a, + 0x1f, 0xd6, 0xfd, 0xde, 0x02, 0x22, 0x00, 0x02, 0xff, 0xc0, 0xff, 0x10, 0x00, 0xea, 0x02, 0xf8, + 0x00, 0x0b, 0x00, 0x1c, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x03, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, + 0x14, 0x06, 0x06, 0x48, 0x2f, 0x22, 0x21, 0x30, 0x30, 0x21, 0x22, 0x2f, 0x26, 0x19, 0x37, 0x12, + 0x12, 0x20, 0x14, 0x1e, 0x2a, 0x95, 0x26, 0x55, 0x02, 0xaf, 0x2a, 0x1f, 0x1f, 0x2a, 0x29, 0x20, + 0x20, 0xfc, 0x8a, 0x07, 0x05, 0x75, 0x04, 0x05, 0x22, 0x31, 0x02, 0x47, 0xfd, 0xa3, 0x32, 0x52, + 0x31, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x6c, 0x02, 0xf8, 0x00, 0x12, 0x00, 0x00, 0x13, + 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x37, 0x37, 0x33, 0x07, 0x13, 0x23, 0x27, 0x07, 0x15, 0x23, + 0x11, 0x33, 0xe3, 0x05, 0x03, 0x02, 0x0f, 0x20, 0x12, 0x99, 0xa8, 0xd9, 0xe6, 0xac, 0x9d, 0x40, + 0x95, 0x95, 0x01, 0xa4, 0x1f, 0x3d, 0x1f, 0x15, 0x2b, 0x13, 0xa6, 0xed, 0xfe, 0xcb, 0xdd, 0x33, + 0xaa, 0x02, 0xf8, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xe3, 0x02, 0xf8, 0x00, 0x03, 0x00, + 0x00, 0x33, 0x23, 0x11, 0x33, 0xe3, 0x95, 0x95, 0x02, 0xf8, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, + 0x03, 0x8b, 0x02, 0x2c, 0x00, 0x22, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, + 0x17, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x36, 0x02, 0xcf, 0x5d, 0x5f, 0x95, + 0x52, 0x3b, 0x32, 0x95, 0x52, 0x3e, 0x2f, 0x95, 0x72, 0x14, 0x08, 0x19, 0x57, 0x2f, 0x3c, 0x54, + 0x16, 0x0d, 0x19, 0x59, 0x02, 0x2c, 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x76, 0x54, 0x4f, 0xfe, + 0xee, 0x01, 0x3f, 0x76, 0x5d, 0x57, 0xfe, 0xff, 0x02, 0x22, 0x46, 0x2a, 0x26, 0x27, 0x29, 0x2a, + 0x26, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x46, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x00, 0x01, + 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, + 0x17, 0x33, 0x36, 0x36, 0x01, 0x84, 0x58, 0x6a, 0x95, 0x2a, 0x2e, 0x44, 0x32, 0x95, 0x72, 0x14, + 0x08, 0x1a, 0x5b, 0x02, 0x2c, 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x3b, 0x3b, 0x5d, 0x57, 0xfe, + 0xff, 0x02, 0x22, 0x46, 0x2a, 0x26, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, 0x02, 0x3e, 0x02, 0x2c, + 0x00, 0x0d, 0x00, 0x19, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x02, 0x3e, 0x8f, 0x7b, 0x4c, 0x77, 0x44, 0x8e, 0x7c, 0x4d, 0x76, 0x44, 0xfe, 0x87, 0x35, 0x3c, + 0x3b, 0x35, 0x35, 0x3c, 0x3b, 0x35, 0x01, 0x12, 0x88, 0x94, 0x42, 0x7f, 0x5b, 0x88, 0x92, 0x42, + 0x7d, 0x5b, 0x51, 0x53, 0x53, 0x51, 0x51, 0x51, 0x51, 0x00, 0x02, 0x00, 0x4e, 0xff, 0x10, 0x02, + 0x4c, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x20, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x23, 0x16, 0x15, 0x15, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x36, 0x17, 0x22, + 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x01, 0x7e, 0x5c, 0x72, 0x76, 0x5c, + 0x3b, 0x46, 0x16, 0x08, 0x08, 0x95, 0x79, 0x15, 0x07, 0x16, 0x4a, 0x0b, 0x3a, 0x2f, 0x02, 0x2f, + 0x3e, 0x33, 0x31, 0x02, 0x2c, 0x8f, 0x8b, 0x8b, 0x91, 0x2b, 0x1b, 0x2a, 0x26, 0xdc, 0x03, 0x12, + 0x47, 0x21, 0x30, 0x77, 0x48, 0x4a, 0x10, 0x4f, 0x55, 0x55, 0x50, 0xa1, 0x00, 0x02, 0x00, 0x2d, + 0xff, 0x10, 0x02, 0x2b, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x20, 0x00, 0x00, 0x05, 0x34, 0x37, 0x23, + 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, + 0x23, 0x03, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x01, 0x96, 0x06, + 0x06, 0x15, 0x4a, 0x3c, 0x5c, 0x72, 0x74, 0x5d, 0x3c, 0x4b, 0x17, 0x04, 0x0d, 0x7e, 0x95, 0x66, + 0x3e, 0x31, 0x01, 0x31, 0x41, 0x35, 0x34, 0x0b, 0x2a, 0x28, 0x22, 0x2f, 0x8f, 0x8b, 0x8c, 0x90, + 0x2e, 0x22, 0x46, 0xfc, 0xee, 0x01, 0x5b, 0x49, 0x49, 0x12, 0x50, 0x54, 0x55, 0x50, 0xa3, 0x00, + 0x01, 0x00, 0x4e, 0x00, 0x00, 0x01, 0xb1, 0x02, 0x2c, 0x00, 0x13, 0x00, 0x00, 0x01, 0x32, 0x16, + 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, + 0x36, 0x01, 0x7f, 0x0b, 0x1e, 0x09, 0x0b, 0x07, 0x1b, 0x0a, 0x26, 0x46, 0x2b, 0x95, 0x71, 0x16, + 0x07, 0x18, 0x54, 0x02, 0x2c, 0x02, 0x02, 0x8c, 0x02, 0x03, 0x1b, 0x3c, 0x34, 0xfe, 0xea, 0x02, + 0x22, 0x5c, 0x2a, 0x3c, 0x00, 0x01, 0x00, 0x2d, 0xff, 0xf6, 0x01, 0xcb, 0x02, 0x2c, 0x00, 0x28, + 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x26, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, + 0x23, 0x22, 0x15, 0x14, 0x16, 0x16, 0x17, 0x1e, 0x02, 0x01, 0xcb, 0x75, 0x74, 0x39, 0x52, 0x29, + 0x2c, 0x66, 0x27, 0x2c, 0x25, 0x0f, 0x32, 0x35, 0x33, 0x42, 0x20, 0x76, 0x62, 0x33, 0x5c, 0x31, + 0x2d, 0x28, 0x48, 0x25, 0x42, 0x11, 0x31, 0x30, 0x2f, 0x44, 0x25, 0xa2, 0x53, 0x59, 0x0f, 0x11, + 0x7b, 0x14, 0x1a, 0x1a, 0x15, 0x0e, 0x16, 0x1c, 0x16, 0x16, 0x2b, 0x3d, 0x2e, 0x4c, 0x4c, 0x14, + 0x17, 0x6b, 0x11, 0x17, 0x24, 0x0d, 0x15, 0x18, 0x14, 0x13, 0x29, 0x3d, 0x00, 0x01, 0x00, 0x17, + 0xff, 0xf6, 0x01, 0x92, 0x02, 0x96, 0x00, 0x18, 0x00, 0x00, 0x25, 0x32, 0x36, 0x37, 0x15, 0x06, + 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x11, 0x23, 0x35, 0x37, 0x37, 0x33, 0x15, 0x33, 0x15, 0x23, + 0x11, 0x14, 0x16, 0x01, 0x34, 0x19, 0x2e, 0x17, 0x18, 0x47, 0x2a, 0x31, 0x4d, 0x2d, 0x47, 0x52, + 0x2b, 0x5f, 0x99, 0x99, 0x24, 0x6d, 0x0a, 0x07, 0x6f, 0x0a, 0x0f, 0x20, 0x4f, 0x46, 0x01, 0x07, + 0x3f, 0x32, 0x73, 0x74, 0x70, 0xfe, 0xf9, 0x1f, 0x1f, 0x00, 0x01, 0x00, 0x4b, 0xff, 0xf6, 0x02, + 0x43, 0x02, 0x22, 0x00, 0x14, 0x00, 0x00, 0x01, 0x11, 0x23, 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0x43, 0x72, 0x14, + 0x08, 0x1a, 0x5b, 0x33, 0x58, 0x6a, 0x95, 0x2a, 0x2e, 0x44, 0x32, 0x02, 0x22, 0xfd, 0xde, 0x46, + 0x2a, 0x26, 0x5f, 0x69, 0x01, 0x64, 0xfe, 0xc1, 0x3a, 0x3c, 0x5d, 0x57, 0x01, 0x01, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x39, 0x02, 0x22, 0x00, 0x0c, 0x00, 0x00, 0x33, 0x03, 0x33, 0x13, + 0x16, 0x16, 0x17, 0x33, 0x36, 0x37, 0x13, 0x33, 0x03, 0xd0, 0xd0, 0x9c, 0x69, 0x09, 0x0b, 0x01, + 0x04, 0x03, 0x13, 0x69, 0x9c, 0xd0, 0x02, 0x22, 0xfe, 0xc9, 0x1c, 0x3c, 0x18, 0x36, 0x3a, 0x01, + 0x37, 0xfd, 0xde, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x03, 0x4e, 0x02, 0x22, 0x00, 0x2a, 0x00, + 0x00, 0x25, 0x2e, 0x03, 0x27, 0x23, 0x0e, 0x03, 0x07, 0x07, 0x23, 0x03, 0x33, 0x17, 0x1e, 0x02, + 0x17, 0x33, 0x3e, 0x03, 0x37, 0x13, 0x33, 0x13, 0x1e, 0x02, 0x15, 0x33, 0x3e, 0x02, 0x37, 0x37, + 0x33, 0x03, 0x23, 0x01, 0xe5, 0x04, 0x0f, 0x12, 0x10, 0x03, 0x04, 0x03, 0x0f, 0x12, 0x10, 0x04, + 0x2c, 0xa0, 0x9b, 0x94, 0x3f, 0x07, 0x0b, 0x0a, 0x02, 0x04, 0x01, 0x06, 0x09, 0x07, 0x02, 0x43, + 0xa4, 0x40, 0x04, 0x0b, 0x09, 0x04, 0x02, 0x0a, 0x0d, 0x07, 0x41, 0x92, 0x9d, 0xa2, 0xbf, 0x11, + 0x43, 0x4d, 0x41, 0x0f, 0x0f, 0x41, 0x4d, 0x44, 0x12, 0xbd, 0x02, 0x22, 0xf2, 0x19, 0x46, 0x41, + 0x13, 0x0e, 0x2f, 0x32, 0x29, 0x07, 0x01, 0x06, 0xfe, 0xfa, 0x0e, 0x3e, 0x40, 0x13, 0x11, 0x41, + 0x48, 0x19, 0xf2, 0xfd, 0xde, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x02, 0x3d, 0x02, 0x22, 0x00, + 0x0b, 0x00, 0x00, 0x13, 0x03, 0x33, 0x17, 0x37, 0x33, 0x03, 0x13, 0x23, 0x27, 0x07, 0x23, 0xbe, + 0xb0, 0xa9, 0x6a, 0x6b, 0xa9, 0xb2, 0xba, 0xa9, 0x73, 0x73, 0xa9, 0x01, 0x17, 0x01, 0x0b, 0xae, + 0xae, 0xfe, 0xf5, 0xfe, 0xe9, 0xbb, 0xbb, 0x00, 0x01, 0x00, 0x00, 0xff, 0x10, 0x02, 0x39, 0x02, + 0x22, 0x00, 0x1a, 0x00, 0x00, 0x11, 0x33, 0x13, 0x16, 0x16, 0x17, 0x33, 0x36, 0x36, 0x37, 0x13, + 0x33, 0x03, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x37, + 0xa3, 0x67, 0x08, 0x08, 0x02, 0x03, 0x03, 0x0b, 0x07, 0x65, 0xa0, 0xe7, 0x1f, 0x77, 0x4e, 0x19, + 0x25, 0x0e, 0x0b, 0x1f, 0x11, 0x2f, 0x37, 0x0d, 0x09, 0x02, 0x22, 0xfe, 0xcd, 0x16, 0x2f, 0x1a, + 0x1a, 0x2f, 0x16, 0x01, 0x33, 0xfd, 0x98, 0x55, 0x55, 0x05, 0x03, 0x76, 0x02, 0x04, 0x39, 0x28, + 0x1b, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x01, 0xca, 0x02, 0x22, 0x00, 0x09, 0x00, 0x00, 0x21, + 0x21, 0x35, 0x13, 0x23, 0x35, 0x21, 0x15, 0x03, 0x33, 0x01, 0xca, 0xfe, 0x51, 0xfd, 0xee, 0x01, + 0x97, 0xf6, 0xff, 0x58, 0x01, 0x58, 0x72, 0x61, 0xfe, 0xb1, 0x00, 0x01, 0x00, 0x0f, 0xff, 0x62, + 0x01, 0x62, 0x02, 0xca, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x22, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, + 0x23, 0x35, 0x32, 0x36, 0x35, 0x35, 0x34, 0x36, 0x36, 0x33, 0x15, 0x06, 0x06, 0x15, 0x15, 0x14, + 0x07, 0x15, 0x16, 0x15, 0x15, 0x14, 0x16, 0x17, 0x01, 0x62, 0x55, 0x5d, 0x24, 0x40, 0x3d, 0x3d, + 0x40, 0x24, 0x5d, 0x55, 0x27, 0x2e, 0x72, 0x72, 0x2e, 0x27, 0x9e, 0x1c, 0x3c, 0x30, 0x9a, 0x2f, + 0x28, 0x75, 0x28, 0x2f, 0x9b, 0x30, 0x3c, 0x1c, 0x6e, 0x01, 0x1a, 0x2a, 0x92, 0x5b, 0x11, 0x06, + 0x11, 0x5b, 0x92, 0x2a, 0x1a, 0x01, 0x00, 0x01, 0x00, 0xde, 0xff, 0x1d, 0x01, 0x49, 0x02, 0xf5, + 0x00, 0x03, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0xde, 0x6b, 0x6b, 0x02, 0xf5, 0xfc, 0x28, 0x00, + 0x01, 0x00, 0x28, 0xff, 0x62, 0x01, 0x7b, 0x02, 0xca, 0x00, 0x1f, 0x00, 0x00, 0x17, 0x36, 0x36, + 0x35, 0x35, 0x34, 0x37, 0x35, 0x26, 0x35, 0x35, 0x34, 0x26, 0x27, 0x35, 0x32, 0x16, 0x16, 0x15, + 0x15, 0x14, 0x16, 0x33, 0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 0x06, 0x06, 0x23, 0x28, 0x27, 0x2e, + 0x72, 0x72, 0x2e, 0x27, 0x56, 0x5c, 0x24, 0x40, 0x3d, 0x3d, 0x40, 0x24, 0x5c, 0x56, 0x30, 0x01, + 0x1a, 0x2a, 0x92, 0x5b, 0x11, 0x06, 0x11, 0x5b, 0x92, 0x2a, 0x1a, 0x01, 0x6e, 0x1c, 0x3c, 0x30, + 0x9b, 0x2f, 0x28, 0x75, 0x28, 0x2f, 0x9a, 0x30, 0x3c, 0x1c, 0x00, 0x01, 0x00, 0x2b, 0x01, 0x0d, + 0x02, 0x10, 0x01, 0xb4, 0x00, 0x17, 0x00, 0x00, 0x01, 0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 0x35, + 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, + 0x01, 0x0c, 0x25, 0x33, 0x17, 0x1c, 0x3d, 0x19, 0x32, 0x4b, 0x1d, 0x3b, 0x2f, 0x25, 0x34, 0x16, + 0x1d, 0x3c, 0x19, 0x32, 0x4b, 0x1d, 0x3b, 0x01, 0x2d, 0x10, 0x0b, 0x22, 0x19, 0x71, 0x35, 0x0b, + 0x14, 0x10, 0x0b, 0x22, 0x19, 0x71, 0x35, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf1, 0x6e, 0x78, 0x2b, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdf, 0x93, 0x46, 0xee, 0x00, 0x00, 0x00, 0x00, 0xdf, 0x93, 0x46, 0xee, 0xfd, 0x68, 0xfe, 0x76, + 0x0a, 0xf0, 0x05, 0x43, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd6, 0xff, 0xb6, 0xff, 0xd3, + 0x03, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x02, 0x58, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x01, 0x1e, 0x00, 0x39, + 0x01, 0xd8, 0x00, 0x41, 0x02, 0x86, 0x00, 0x16, 0x02, 0x3c, 0x00, 0x2b, 0x03, 0x85, 0x00, 0x1f, + 0x02, 0xee, 0x00, 0x28, 0x01, 0x0a, 0x00, 0x41, 0x01, 0x53, 0x00, 0x28, 0x01, 0x53, 0x00, 0x1e, + 0x02, 0x21, 0x00, 0x1f, 0x02, 0x3c, 0x00, 0x2b, 0x01, 0x1d, 0x00, 0x1f, 0x01, 0x42, 0x00, 0x1e, + 0x01, 0x1d, 0x00, 0x39, 0x01, 0x9d, 0x00, 0x07, 0x02, 0x3c, 0x00, 0x24, 0x02, 0x3c, 0x00, 0x3b, + 0x02, 0x3c, 0x00, 0x26, 0x02, 0x3c, 0x00, 0x26, 0x02, 0x3c, 0x00, 0x11, 0x02, 0x3c, 0x00, 0x31, + 0x02, 0x3c, 0x00, 0x23, 0x02, 0x3c, 0x00, 0x1b, 0x02, 0x3c, 0x00, 0x23, 0x02, 0x3c, 0x00, 0x20, + 0x01, 0x1d, 0x00, 0x39, 0x01, 0x1d, 0x00, 0x1f, 0x02, 0x3c, 0x00, 0x2b, 0x02, 0x3c, 0x00, 0x2b, + 0x02, 0x3c, 0x00, 0x2b, 0x01, 0xdd, 0x00, 0x03, 0x03, 0x81, 0x00, 0x32, 0x02, 0xb2, 0x00, 0x00, + 0x02, 0xa0, 0x00, 0x5a, 0x02, 0x7d, 0x00, 0x3a, 0x02, 0xe4, 0x00, 0x5a, 0x02, 0x30, 0x00, 0x5a, + 0x02, 0x25, 0x00, 0x5a, 0x02, 0xd4, 0x00, 0x3a, 0x02, 0xfd, 0x00, 0x5a, 0x01, 0x85, 0x00, 0x20, + 0x01, 0x4b, 0xff, 0xb6, 0x02, 0x98, 0x00, 0x5a, 0x02, 0x35, 0x00, 0x5a, 0x03, 0xaf, 0x00, 0x5a, + 0x03, 0x2d, 0x00, 0x5a, 0x03, 0x1c, 0x00, 0x3a, 0x02, 0x74, 0x00, 0x5a, 0x03, 0x1c, 0x00, 0x3a, + 0x02, 0x94, 0x00, 0x5a, 0x02, 0x27, 0x00, 0x2e, 0x02, 0x43, 0x00, 0x14, 0x02, 0xf4, 0x00, 0x55, + 0x02, 0x8a, 0x00, 0x00, 0x03, 0xc7, 0x00, 0x00, 0x02, 0x9b, 0x00, 0x00, 0x02, 0x70, 0x00, 0x00, + 0x02, 0x43, 0x00, 0x18, 0x01, 0x4b, 0x00, 0x46, 0x01, 0x9d, 0x00, 0x06, 0x01, 0x4b, 0x00, 0x19, + 0x02, 0x3c, 0x00, 0x17, 0x01, 0x9b, 0xff, 0xfe, 0x01, 0x6a, 0x00, 0x28, 0x02, 0x5c, 0x00, 0x2a, + 0x02, 0x79, 0x00, 0x4e, 0x02, 0x02, 0x00, 0x2d, 0x02, 0x79, 0x00, 0x2d, 0x02, 0x4f, 0x00, 0x2d, + 0x01, 0x83, 0x00, 0x14, 0x02, 0x79, 0x00, 0x2d, 0x02, 0x91, 0x00, 0x4e, 0x01, 0x31, 0x00, 0x48, + 0x01, 0x31, 0xff, 0xc0, 0x02, 0x6c, 0x00, 0x4e, 0x01, 0x31, 0x00, 0x4e, 0x03, 0xd6, 0x00, 0x4e, + 0x02, 0x91, 0x00, 0x4e, 0x02, 0x6b, 0x00, 0x2d, 0x02, 0x79, 0x00, 0x4e, 0x02, 0x79, 0x00, 0x2d, + 0x01, 0xc6, 0x00, 0x4e, 0x01, 0xf1, 0x00, 0x2d, 0x01, 0xb2, 0x00, 0x17, 0x02, 0x91, 0x00, 0x4b, + 0x02, 0x39, 0x00, 0x00, 0x03, 0x58, 0x00, 0x0a, 0x02, 0x42, 0x00, 0x05, 0x02, 0x39, 0x00, 0x00, + 0x01, 0xe8, 0x00, 0x1b, 0x01, 0x8a, 0x00, 0x0f, 0x02, 0x27, 0x00, 0xde, 0x01, 0x8a, 0x00, 0x28, + 0x02, 0x3c, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x01, 0x8a, + 0x00, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x02, 0xb8, 0x00, 0x00, 0x02, 0xd4, 0x00, 0x00, 0x03, 0x08, + 0x00, 0x00, 0x03, 0x3d, 0x00, 0x00, 0x03, 0x7a, 0x00, 0x00, 0x03, 0xa3, 0x00, 0x00, 0x03, 0xca, + 0x00, 0x00, 0x03, 0xe2, 0x00, 0x00, 0x04, 0x0d, 0x00, 0x00, 0x04, 0x2c, 0x00, 0x00, 0x04, 0x7f, + 0x00, 0x00, 0x04, 0xb1, 0x00, 0x00, 0x05, 0x0d, 0x00, 0x00, 0x05, 0x8b, 0x00, 0x00, 0x05, 0xd6, + 0x00, 0x00, 0x06, 0x36, 0x00, 0x00, 0x06, 0xb9, 0x00, 0x00, 0x06, 0xdd, 0x00, 0x00, 0x07, 0x7e, + 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x08, 0x4d, 0x00, 0x00, 0x08, 0x95, 0x00, 0x00, 0x08, 0xbb, + 0x00, 0x00, 0x08, 0xe1, 0x00, 0x00, 0x09, 0x06, 0x00, 0x00, 0x09, 0x81, 0x00, 0x00, 0x0a, 0x59, + 0x00, 0x00, 0x0a, 0xa1, 0x00, 0x00, 0x0b, 0x09, 0x00, 0x00, 0x0b, 0x61, 0x00, 0x00, 0x0b, 0x9f, + 0x00, 0x00, 0x0b, 0xcb, 0x00, 0x00, 0x0b, 0xf0, 0x00, 0x00, 0x0c, 0x55, 0x00, 0x00, 0x0c, 0x83, + 0x00, 0x00, 0x0c, 0xb2, 0x00, 0x00, 0x0c, 0xef, 0x00, 0x00, 0x0d, 0x27, 0x00, 0x00, 0x0d, 0x44, + 0x00, 0x00, 0x0d, 0x94, 0x00, 0x00, 0x0d, 0xd6, 0x00, 0x00, 0x0e, 0x2f, 0x00, 0x00, 0x0e, 0x70, + 0x00, 0x00, 0x0e, 0xd1, 0x00, 0x00, 0x0f, 0x21, 0x00, 0x00, 0x0f, 0x98, 0x00, 0x00, 0x0f, 0xb9, + 0x00, 0x00, 0x0f, 0xf7, 0x00, 0x00, 0x10, 0x34, 0x00, 0x00, 0x10, 0xb5, 0x00, 0x00, 0x10, 0xea, + 0x00, 0x00, 0x11, 0x15, 0x00, 0x00, 0x11, 0x42, 0x00, 0x00, 0x11, 0x64, 0x00, 0x00, 0x11, 0x82, + 0x00, 0x00, 0x11, 0xa3, 0x00, 0x00, 0x11, 0xc8, 0x00, 0x00, 0x11, 0xe2, 0x00, 0x00, 0x12, 0x12, + 0x00, 0x00, 0x12, 0x88, 0x00, 0x00, 0x12, 0xf1, 0x00, 0x00, 0x13, 0x42, 0x00, 0x00, 0x13, 0xa9, + 0x00, 0x00, 0x14, 0x09, 0x00, 0x00, 0x14, 0x57, 0x00, 0x00, 0x14, 0xcd, 0x00, 0x00, 0x15, 0x15, + 0x00, 0x00, 0x15, 0x4e, 0x00, 0x00, 0x15, 0xa9, 0x00, 0x00, 0x15, 0xeb, 0x00, 0x00, 0x16, 0x02, + 0x00, 0x00, 0x16, 0x69, 0x00, 0x00, 0x16, 0xae, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x17, 0x64, + 0x00, 0x00, 0x17, 0xc7, 0x00, 0x00, 0x18, 0x0c, 0x00, 0x00, 0x18, 0x84, 0x00, 0x00, 0x18, 0xd1, + 0x00, 0x00, 0x19, 0x16, 0x00, 0x00, 0x19, 0x4b, 0x00, 0x00, 0x19, 0xcd, 0x00, 0x00, 0x19, 0xff, + 0x00, 0x00, 0x1a, 0x59, 0x00, 0x00, 0x1a, 0x82, 0x00, 0x00, 0x1a, 0xde, 0x00, 0x00, 0x1a, 0xf7, + 0x00, 0x00, 0x1b, 0x52, 0x00, 0x00, 0x1b, 0xa0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, + 0x04, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x96, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1e, + 0x00, 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x2f, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x0d, 0x00, 0x3f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x1a, + 0x00, 0x4c, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x08, 0x00, 0x66, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x3c, 0x00, 0x6e, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, + 0x00, 0x04, 0x00, 0x1a, 0x00, 0xaa, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x06, + 0x00, 0xc4, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x1a, 0x00, 0xca, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x42, 0x6f, 0x6c, 0x64, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x42, 0x6f, 0x6c, + 0x64, 0x3a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x30, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x31, 0x2e, 0x30, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x47, 0x00, 0x65, + 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, + 0x00, 0x3a, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x20, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x00, 0x00, 0x03, 0x02, 0x68, 0x02, 0xbc, 0x00, 0x05, 0x00, 0x08, 0x02, 0x8a, + 0x02, 0x58, 0x00, 0x00, 0x00, 0x4b, 0x02, 0x8a, 0x02, 0x58, 0x00, 0x00, 0x01, 0x5e, 0x00, 0x32, + 0x01, 0x48, 0x00, 0x00, 0x02, 0x0b, 0x08, 0x02, 0x04, 0x05, 0x04, 0x02, 0x02, 0x04, 0xe0, 0x00, + 0x82, 0xff, 0x40, 0x00, 0x20, 0x5f, 0x08, 0x00, 0x00, 0x29, 0x00, 0x10, 0x00, 0x00, 0x47, 0x4f, + 0x4f, 0x47, 0x00, 0xa0, 0x00, 0x00, 0xff, 0xfd, 0x04, 0x2d, 0xfe, 0xdb, 0x00, 0x00, 0x05, 0x43, + 0x01, 0x8b, 0x00, 0x00, 0x01, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x02, 0xca, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x01, 0xff, 0x85, 0xb0, 0x04, 0x8d, 0x00 +}; diff --git a/examples/TFT_eSPI/Noto_Font_Demo/Noto_Font_Demo.ino b/examples/TFT_eSPI/Noto_Font_Demo/Noto_Font_Demo.ino new file mode 100644 index 0000000..e428a11 --- /dev/null +++ b/examples/TFT_eSPI/Noto_Font_Demo/Noto_Font_Demo.ino @@ -0,0 +1,105 @@ +/* + Font generation: + + This sketch uses a ttf (TrueType Font) file that has been converted to a binary + format in a byte array. See NotoSans_Bold.h tab of this sketch. + + https://en.wikipedia.org/wiki/TrueType + + The font used in this sketch is free to use and from Google: + + https://fonts.google.com/ + + TTF font files can be VERY large, fortunately there are python and online tools that can + be used to convert a ttf font to a new ttf font file with a subset of the characters + (called "font subsetting") as needed by the sketch. For example maybe only 0-9 and : are + needed to display the time. It’s important to check the licence a particular font before + use and subsetting. Here is a simple subsetting online tool: + + https://products.aspose.app/font/generator/ttf-to-ttf + + To use this tool: + 1. Drag and drop file + 2. Copy and paste the "Font symbols" you want, here are ASCII characters 20 (space) and 33-126: + !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + 3. Make sure you include the "space" character if you are going to use it (renders as a box otherwise) + 4. Click "Generate" + 5. Save the file and convert to an array + + There is a more sophisticated font subsetting tool here: + + https://www.fontsquirrel.com/tools/webfont-generator + + The font must be in ttf format, it can then be converted to a binary array using the tool here: + + https://notisrac.github.io/FileToCArray/ + + To use this tool: + 1. Drag and drop the ttf file on "Browse..." button + 2. Untick box "static" + 3. Click "Convert" + 4. Click "Save as file" and move the header file to sketch folder + 5. Open the sketch in IDE + 6. Include the header file containing the array (NotoSans_Bold.h in this example) + + ttf font files can be very large, there are python and online tools that can + be used to convert a ttf font to a new font file with a subset of the characters + that will be used by the sketch. For example maybe only 0-9 and : are needed to + display the time. + + Note that translating a ttf font character to a glyph that can be rendered on + screen is a processor intensive operation. This means the rendering speed will + be much lower than bitmap encoded fonts which just need to be copied to the + display. + + TrueType font characters are scalable, so different font files are not needed to + render different size characters on the TFT screen. This is very convenient, just + use the setFontSize(font_size) function (see below). +*/ + +#include "TFT_eSPI.h" +#include "NotoSans_Bold.h" +#include "OpenFontRender.h" + +#define TTF_FONT NotoSans_Bold // The font is referenced with the array name +OpenFontRender ofr; + +TFT_eSPI tft; + +void setup() { + Serial.begin(115200); + + tft.begin(); + tft.setRotation(3); + tft.fillScreen(TFT_BLACK); + + ofr.setDrawer(tft); // Link drawing object to tft instance (so font will be rendered on TFT) +} + +void loop() { + tft.fillScreen(TFT_BLACK); + + ofr.setFontColor(TFT_WHITE, TFT_BLUE); + + // Load the font and check it can be read OK + if (ofr.loadFont(TTF_FONT, sizeof(TTF_FONT))) { + Serial.println("Initialise error"); + return; + } + + // Set the cursor to top left + ofr.setCursor(0, 0); + + // A neat feature is that line spacing can be tightend up (by a factor of 0.7 here) + ofr.setLineSpaceRatio(0.7); + + for (uint16_t font_size = 20; font_size < 60; font_size += 5) { + ofr.setFontSize(font_size); + ofr.printf("Hello World\n"); + } + + // Unload font + ofr.unloadFont(); + + delay(5000); +} diff --git a/examples/TFT_eSPI/Noto_Font_Sizes/NotoSans_Bold.h b/examples/TFT_eSPI/Noto_Font_Sizes/NotoSans_Bold.h new file mode 100644 index 0000000..a50c9b4 --- /dev/null +++ b/examples/TFT_eSPI/Noto_Font_Sizes/NotoSans_Bold.h @@ -0,0 +1,733 @@ +// This font is a subset of the full font to reduce array size, ONLY these characters are present: +// !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + +// array size is 11628 +const unsigned char NotoSans_Bold[] PROGMEM = { + 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x80, 0x00, 0x03, 0x00, 0x30, 0x63, 0x6d, 0x61, 0x70, + 0xe1, 0x43, 0xf7, 0xed, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x0b, 0x8c, 0x67, 0x6c, 0x79, 0x66, + 0xab, 0x85, 0x48, 0xd5, 0x00, 0x00, 0x0c, 0x48, 0x00, 0x00, 0x1b, 0xa0, 0x68, 0x65, 0x61, 0x64, + 0x26, 0x95, 0xd6, 0x91, 0x00, 0x00, 0x27, 0xe8, 0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, + 0x03, 0x7f, 0x04, 0x09, 0x00, 0x00, 0x28, 0x20, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, + 0xd1, 0xab, 0x10, 0x76, 0x00, 0x00, 0x28, 0x44, 0x00, 0x00, 0x01, 0x80, 0x6c, 0x6f, 0x63, 0x61, + 0x00, 0x05, 0x34, 0x25, 0x00, 0x00, 0x29, 0xc4, 0x00, 0x00, 0x01, 0x84, 0x6d, 0x61, 0x78, 0x70, + 0x07, 0x5e, 0x11, 0x1f, 0x00, 0x00, 0x2b, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x1a, 0x56, 0x03, 0x30, 0x00, 0x00, 0x2b, 0x68, 0x00, 0x00, 0x01, 0x7a, 0x4f, 0x53, 0x2f, 0x32, + 0x0f, 0x8e, 0x89, 0xf7, 0x00, 0x00, 0x2c, 0xe4, 0x00, 0x00, 0x00, 0x60, 0x70, 0x6f, 0x73, 0x74, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x44, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, + 0x68, 0x06, 0x8c, 0x85, 0x00, 0x00, 0x2d, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0xec, + 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x07, 0xbc, 0x00, 0x04, 0x03, 0xd0, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x80, 0x00, 0x06, 0x00, 0x40, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, + 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, + 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, + 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, + 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, + 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, + 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, + 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, + 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, + 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, + 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, + 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, + 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x04, 0x03, 0xd0, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x80, 0x00, 0x06, 0x00, 0x40, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, + 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, + 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, + 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, + 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, + 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, + 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, + 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, + 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, + 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, + 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, + 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, + 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x04, 0x03, 0xd0, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x80, 0x00, 0x06, 0x00, 0x40, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, + 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, + 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, + 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, + 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, + 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, + 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, + 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, + 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, + 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, + 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, + 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, + 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, + 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, + 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, + 0x08, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00, 0xfd, 0xad, 0x02, 0x4e, 0x00, 0x00, 0xfd, 0xb2, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x05, 0x00, 0x00, 0x07, 0xf6, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x39, 0xff, 0xf3, 0x00, 0xe4, 0x02, 0xca, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, + 0x37, 0x23, 0x03, 0x33, 0x03, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0xcb, 0x77, 0x19, 0xa9, 0xab, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0xed, 0x01, 0xdd, + 0xfd, 0x7c, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, 0x41, 0x01, 0xc8, 0x01, + 0x97, 0x02, 0xca, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x13, 0x03, 0x23, 0x03, 0x21, 0x03, 0x23, + 0x03, 0xc9, 0x14, 0x60, 0x14, 0x01, 0x56, 0x14, 0x60, 0x14, 0x02, 0xca, 0xfe, 0xfe, 0x01, 0x02, + 0xfe, 0xfe, 0x01, 0x02, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x02, 0x70, 0x02, 0xc9, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x00, 0x01, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, 0x07, 0x23, 0x37, + 0x23, 0x35, 0x33, 0x37, 0x23, 0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, 0x15, + 0x05, 0x33, 0x37, 0x23, 0x01, 0xe8, 0x17, 0x7e, 0x91, 0x26, 0x6b, 0x26, 0x5f, 0x25, 0x69, 0x24, + 0x74, 0x87, 0x17, 0x7b, 0x8d, 0x26, 0x6b, 0x26, 0x61, 0x26, 0x69, 0x26, 0x75, 0xfe, 0x97, 0x60, + 0x17, 0x60, 0x01, 0x9c, 0x71, 0x65, 0xc6, 0xc6, 0xc6, 0xc6, 0x65, 0x71, 0x66, 0xc7, 0xc7, 0xc7, + 0xc7, 0x66, 0x71, 0x71, 0x00, 0x03, 0x00, 0x2b, 0xff, 0xc6, 0x02, 0x15, 0x02, 0xf7, 0x00, 0x22, + 0x00, 0x28, 0x00, 0x2e, 0x00, 0x00, 0x37, 0x26, 0x26, 0x27, 0x35, 0x16, 0x16, 0x17, 0x35, 0x2e, + 0x02, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x07, 0x26, 0x26, 0x27, 0x15, 0x1e, + 0x02, 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 0x11, 0x06, 0x15, 0x14, 0x16, 0x17, 0x13, 0x36, 0x35, + 0x34, 0x26, 0x27, 0xfd, 0x41, 0x66, 0x2a, 0x29, 0x74, 0x34, 0x4d, 0x5d, 0x28, 0x75, 0x5d, 0x43, + 0x6f, 0x5b, 0x2e, 0x28, 0x51, 0x23, 0x36, 0x62, 0x3d, 0x6a, 0x6b, 0x43, 0x3f, 0x1e, 0x21, 0x43, + 0x42, 0x21, 0x21, 0x28, 0x02, 0x15, 0x13, 0x81, 0x14, 0x21, 0x03, 0x97, 0x1e, 0x39, 0x46, 0x31, + 0x4b, 0x59, 0x08, 0x4b, 0x49, 0x04, 0x29, 0x72, 0x11, 0x12, 0x03, 0x90, 0x14, 0x2f, 0x48, 0x3b, + 0x49, 0x62, 0x0a, 0x64, 0x02, 0x6d, 0x09, 0x2a, 0x15, 0x1c, 0x0f, 0xfe, 0xde, 0x0c, 0x2e, 0x14, + 0x1d, 0x0f, 0x00, 0x05, 0x00, 0x1f, 0xff, 0xf7, 0x03, 0x66, 0x02, 0xd4, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x17, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x00, 0x13, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x05, 0x01, 0x23, 0x01, 0x05, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, + 0x05, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x22, 0x15, 0x14, + 0x33, 0x32, 0x35, 0x34, 0xc7, 0x54, 0x57, 0x52, 0x59, 0x52, 0x56, 0x50, 0x02, 0x53, 0xfe, 0x74, + 0x75, 0x01, 0x8c, 0xfe, 0x7b, 0x2e, 0x2e, 0x2f, 0x01, 0xc4, 0x54, 0x57, 0x52, 0x59, 0x52, 0x56, + 0x50, 0x59, 0x2e, 0x2e, 0x2f, 0x02, 0xd4, 0x75, 0x6a, 0x6a, 0x77, 0x77, 0x6a, 0x6a, 0x75, 0x0a, + 0xfd, 0x36, 0x02, 0xca, 0x5c, 0x7a, 0x7b, 0x7b, 0x7a, 0xb7, 0x75, 0x6a, 0x6a, 0x77, 0x77, 0x6a, + 0x6a, 0x75, 0x66, 0x7a, 0x7b, 0x7b, 0x7a, 0x00, 0x03, 0x00, 0x28, 0xff, 0xf6, 0x02, 0xee, 0x02, + 0xd4, 0x00, 0x21, 0x00, 0x2d, 0x00, 0x37, 0x00, 0x00, 0x01, 0x32, 0x16, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x17, 0x36, 0x36, 0x37, 0x33, 0x06, 0x06, 0x07, 0x17, 0x23, 0x27, 0x06, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x17, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x17, 0x36, 0x36, 0x35, 0x34, 0x26, 0x03, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x37, 0x01, 0x36, 0x3a, 0x5a, 0x34, 0x52, 0x3d, 0x8b, 0x14, 0x1e, 0x0a, 0x9b, 0x0f, 0x3a, 0x2d, + 0x93, 0xb8, 0x38, 0x2b, 0x6a, 0x3e, 0x7a, 0x89, 0x46, 0x3d, 0x27, 0x1f, 0x35, 0x5f, 0x3c, 0x19, + 0x2d, 0x19, 0x15, 0x2a, 0x2d, 0x28, 0x4a, 0x1c, 0x21, 0x40, 0x30, 0x20, 0x38, 0x17, 0x02, 0xd4, + 0x24, 0x45, 0x32, 0x45, 0x5e, 0x23, 0x87, 0x22, 0x4b, 0x26, 0x38, 0x80, 0x38, 0x8f, 0x37, 0x1e, + 0x23, 0x70, 0x5b, 0x4c, 0x5b, 0x23, 0x2d, 0x4c, 0x2b, 0x33, 0x4a, 0x28, 0x73, 0x19, 0x23, 0x19, + 0x2e, 0x18, 0x17, 0x2e, 0x1e, 0x1e, 0x1a, 0xfe, 0xd1, 0x15, 0x2f, 0x1f, 0x2b, 0x31, 0x10, 0x0e, + 0x00, 0x01, 0x00, 0x41, 0x01, 0xc8, 0x00, 0xc9, 0x02, 0xca, 0x00, 0x03, 0x00, 0x00, 0x13, 0x03, + 0x23, 0x03, 0xc9, 0x14, 0x60, 0x14, 0x02, 0xca, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0x01, 0x00, 0x28, + 0xff, 0x62, 0x01, 0x35, 0x02, 0xca, 0x00, 0x0d, 0x00, 0x00, 0x13, 0x34, 0x36, 0x37, 0x33, 0x06, + 0x06, 0x15, 0x14, 0x16, 0x17, 0x23, 0x26, 0x26, 0x28, 0x47, 0x4c, 0x7a, 0x44, 0x47, 0x47, 0x43, + 0x79, 0x4c, 0x47, 0x01, 0x12, 0x7a, 0xe3, 0x5b, 0x5e, 0xe2, 0x77, 0x74, 0xe1, 0x5c, 0x58, 0xdf, + 0x00, 0x01, 0x00, 0x1e, 0xff, 0x62, 0x01, 0x2b, 0x02, 0xca, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x14, + 0x06, 0x07, 0x23, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x33, 0x16, 0x16, 0x01, 0x2b, 0x47, 0x4c, + 0x79, 0x44, 0x46, 0x47, 0x44, 0x7a, 0x4c, 0x47, 0x01, 0x12, 0x79, 0xdf, 0x58, 0x5c, 0xe1, 0x74, + 0x77, 0xe2, 0x5e, 0x5b, 0xe3, 0x00, 0x01, 0x00, 0x1f, 0x01, 0x24, 0x02, 0x02, 0x02, 0xf8, 0x00, + 0x0e, 0x00, 0x00, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, 0x27, 0x07, 0x27, 0x37, 0x27, 0x37, + 0x17, 0x27, 0x01, 0x50, 0x14, 0xb6, 0x10, 0xa6, 0x6d, 0x6f, 0x4c, 0x43, 0x73, 0x6c, 0xa5, 0x13, + 0xb2, 0x14, 0x02, 0xf8, 0xb4, 0x33, 0x7b, 0x0c, 0x91, 0x3b, 0x99, 0x98, 0x3a, 0x91, 0x0d, 0x7a, + 0x33, 0xb4, 0x00, 0x01, 0x00, 0x2b, 0x00, 0x6f, 0x02, 0x10, 0x02, 0x54, 0x00, 0x0b, 0x00, 0x00, + 0x01, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x01, 0x53, 0xbd, 0xbd, + 0x6b, 0xbd, 0xbd, 0x6b, 0x01, 0x96, 0x6b, 0xbc, 0xbc, 0x6b, 0xbe, 0x00, 0x01, 0x00, 0x1f, 0xff, + 0x7f, 0x00, 0xe0, 0x00, 0x74, 0x00, 0x08, 0x00, 0x00, 0x37, 0x06, 0x06, 0x07, 0x23, 0x36, 0x36, + 0x37, 0x33, 0xe0, 0x0d, 0x30, 0x19, 0x6b, 0x0e, 0x1c, 0x07, 0x89, 0x69, 0x35, 0x7e, 0x37, 0x3b, + 0x86, 0x34, 0x00, 0x01, 0x00, 0x1e, 0x00, 0xcf, 0x01, 0x24, 0x01, 0x49, 0x00, 0x03, 0x00, 0x00, + 0x37, 0x35, 0x21, 0x15, 0x1e, 0x01, 0x06, 0xcf, 0x7a, 0x7a, 0x00, 0x01, 0x00, 0x39, 0xff, 0xf3, + 0x00, 0xe4, 0x00, 0x99, 0x00, 0x0b, 0x00, 0x00, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x46, 0x2e, 0x25, + 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x01, 0x98, 0x02, 0xca, 0x00, + 0x03, 0x00, 0x00, 0x01, 0x01, 0x23, 0x01, 0x01, 0x98, 0xfe, 0xf6, 0x87, 0x01, 0x0a, 0x02, 0xca, + 0xfd, 0x36, 0x02, 0xca, 0x00, 0x02, 0x00, 0x24, 0xff, 0xf6, 0x02, 0x17, 0x02, 0xd5, 0x00, 0x0d, + 0x00, 0x19, 0x00, 0x00, 0x01, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, + 0x32, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0x17, + 0x31, 0x6d, 0x5c, 0x81, 0x78, 0x30, 0x6e, 0x5b, 0x80, 0x7a, 0xfe, 0xa3, 0x2a, 0x39, 0x38, 0x2c, + 0x2c, 0x38, 0x39, 0x2a, 0x01, 0x65, 0x73, 0xa4, 0x58, 0xc3, 0xac, 0x74, 0xa4, 0x58, 0xc2, 0xae, + 0x7a, 0x7b, 0x7a, 0x7b, 0x7a, 0x7c, 0x7c, 0x00, 0x01, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x9d, 0x02, + 0xca, 0x00, 0x0c, 0x00, 0x00, 0x21, 0x23, 0x11, 0x34, 0x36, 0x37, 0x06, 0x06, 0x07, 0x07, 0x27, + 0x37, 0x33, 0x01, 0x9d, 0x97, 0x03, 0x01, 0x05, 0x21, 0x0e, 0x52, 0x49, 0xe6, 0x7c, 0x01, 0x9d, + 0x1a, 0x54, 0x20, 0x06, 0x1f, 0x0c, 0x42, 0x5b, 0xb7, 0x00, 0x01, 0x00, 0x26, 0x00, 0x00, 0x02, + 0x1b, 0x02, 0xd4, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x21, 0x35, 0x37, 0x3e, 0x02, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x16, 0x15, 0x14, 0x06, 0x06, 0x07, + 0x07, 0x15, 0x21, 0x02, 0x1b, 0xfe, 0x0d, 0xb3, 0x36, 0x42, 0x1e, 0x2f, 0x28, 0x29, 0x4e, 0x2b, + 0x52, 0x1f, 0x45, 0x5b, 0x40, 0x46, 0x65, 0x37, 0x2f, 0x59, 0x3f, 0x5c, 0x01, 0x37, 0x69, 0xb5, + 0x38, 0x4b, 0x3d, 0x23, 0x2b, 0x2a, 0x26, 0x23, 0x61, 0x1b, 0x2e, 0x1d, 0x33, 0x57, 0x37, 0x3b, + 0x62, 0x60, 0x3a, 0x56, 0x07, 0x00, 0x01, 0x00, 0x26, 0xff, 0xf6, 0x02, 0x14, 0x02, 0xd4, 0x00, + 0x2b, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x15, 0x16, 0x16, 0x15, 0x14, 0x06, 0x06, 0x23, 0x22, + 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, + 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x01, + 0xff, 0x59, 0x41, 0x56, 0x59, 0x3d, 0x7f, 0x64, 0x74, 0x5a, 0x2e, 0x65, 0x2b, 0x51, 0x41, 0x1e, + 0x4b, 0x43, 0x36, 0x37, 0x42, 0x45, 0x19, 0x2f, 0x37, 0x33, 0x4b, 0x1a, 0x46, 0x2a, 0x71, 0x4e, + 0x6e, 0x81, 0x02, 0x2a, 0x4a, 0x58, 0x10, 0x03, 0x0a, 0x54, 0x47, 0x3e, 0x63, 0x39, 0x27, 0x80, + 0x17, 0x18, 0x38, 0x33, 0x1e, 0x29, 0x15, 0x74, 0x19, 0x2b, 0x1c, 0x26, 0x2b, 0x23, 0x11, 0x68, + 0x1e, 0x28, 0x59, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x02, 0x2b, 0x02, 0xca, 0x00, 0x0a, 0x00, + 0x15, 0x00, 0x00, 0x25, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, 0x27, 0x34, + 0x36, 0x36, 0x37, 0x23, 0x06, 0x06, 0x07, 0x07, 0x33, 0x02, 0x2b, 0x56, 0x93, 0xfe, 0xcf, 0x01, + 0x39, 0x8b, 0x56, 0xe9, 0x02, 0x03, 0x01, 0x04, 0x09, 0x14, 0x0e, 0x83, 0xac, 0x94, 0x94, 0x94, + 0x69, 0x01, 0xcd, 0xfe, 0x3f, 0x79, 0x17, 0x42, 0x39, 0x09, 0x14, 0x26, 0x14, 0xc6, 0x00, 0x01, + 0x00, 0x31, 0xff, 0xf6, 0x02, 0x0e, 0x02, 0xca, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x32, 0x16, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, + 0x22, 0x06, 0x07, 0x27, 0x13, 0x21, 0x15, 0x23, 0x07, 0x36, 0x36, 0x01, 0x2c, 0x41, 0x66, 0x3b, + 0x90, 0x8d, 0x38, 0x63, 0x25, 0x25, 0x68, 0x2e, 0x43, 0x47, 0x8f, 0x1c, 0x3c, 0x14, 0x3c, 0x1b, + 0x01, 0x83, 0xff, 0x0d, 0x11, 0x27, 0x01, 0xc8, 0x32, 0x60, 0x47, 0x74, 0x85, 0x14, 0x13, 0x82, + 0x13, 0x1b, 0x37, 0x3a, 0x6c, 0x0b, 0x05, 0x20, 0x01, 0x6c, 0x80, 0x8c, 0x03, 0x07, 0x00, 0x02, + 0x00, 0x23, 0xff, 0xf6, 0x02, 0x1b, 0x02, 0xd2, 0x00, 0x1e, 0x00, 0x2c, 0x00, 0x00, 0x13, 0x34, + 0x3e, 0x03, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x07, 0x33, 0x36, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x26, 0x05, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x14, 0x16, 0x16, 0x23, 0x12, 0x2d, 0x51, 0x7d, 0x59, 0x15, + 0x38, 0x13, 0x13, 0x2d, 0x16, 0x59, 0x61, 0x28, 0x03, 0x06, 0x14, 0x4b, 0x3c, 0x5e, 0x6e, 0x83, + 0x70, 0x49, 0x76, 0x46, 0x01, 0x02, 0x2c, 0x38, 0x30, 0x31, 0x21, 0x32, 0x1c, 0x18, 0x31, 0x01, + 0x2f, 0x3e, 0x78, 0x6b, 0x53, 0x2f, 0x03, 0x04, 0x79, 0x05, 0x05, 0x38, 0x65, 0x42, 0x23, 0x30, + 0x76, 0x6c, 0x74, 0x84, 0x43, 0x8b, 0x55, 0x3d, 0x40, 0x34, 0x3c, 0x1d, 0x2e, 0x18, 0x21, 0x3f, + 0x2a, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x02, 0x1b, 0x02, 0xca, 0x00, 0x06, 0x00, 0x00, 0x33, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x6f, 0x01, 0x0c, 0xfe, 0xa0, 0x02, 0x00, 0xfe, 0xf2, 0x02, + 0x4b, 0x7f, 0x5f, 0xfd, 0x95, 0x00, 0x03, 0x00, 0x23, 0xff, 0xf6, 0x02, 0x18, 0x02, 0xd3, 0x00, + 0x1b, 0x00, 0x27, 0x00, 0x35, 0x00, 0x00, 0x01, 0x32, 0x16, 0x16, 0x15, 0x14, 0x06, 0x07, 0x1e, + 0x02, 0x15, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, + 0x36, 0x36, 0x17, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x36, 0x36, 0x35, 0x34, 0x26, 0x03, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x27, 0x27, 0x06, 0x06, 0x01, 0x1e, 0x3e, 0x67, + 0x3f, 0x49, 0x37, 0x26, 0x45, 0x2b, 0x3f, 0x71, 0x4a, 0x78, 0x83, 0x50, 0x39, 0x30, 0x43, 0x40, + 0x69, 0x3b, 0x25, 0x31, 0x34, 0x23, 0x22, 0x34, 0x31, 0x94, 0x37, 0x36, 0x38, 0x38, 0x20, 0x2f, + 0x19, 0x0d, 0x2e, 0x3a, 0x02, 0xd3, 0x26, 0x4c, 0x3a, 0x40, 0x53, 0x1b, 0x14, 0x35, 0x47, 0x30, + 0x3b, 0x58, 0x30, 0x66, 0x59, 0x4a, 0x5a, 0x1c, 0x1e, 0x55, 0x40, 0x39, 0x4c, 0x26, 0x6e, 0x26, + 0x23, 0x25, 0x2e, 0x11, 0x10, 0x2d, 0x27, 0x23, 0x26, 0xfe, 0x59, 0x27, 0x32, 0x30, 0x28, 0x1b, + 0x29, 0x21, 0x0e, 0x07, 0x16, 0x3a, 0x00, 0x02, 0x00, 0x20, 0xff, 0xf6, 0x02, 0x18, 0x02, 0xd2, + 0x00, 0x1e, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x14, 0x0e, 0x03, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, + 0x16, 0x33, 0x32, 0x36, 0x36, 0x37, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x16, 0x25, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x36, 0x35, 0x34, 0x26, + 0x26, 0x02, 0x18, 0x12, 0x2d, 0x51, 0x7d, 0x59, 0x15, 0x38, 0x13, 0x14, 0x2c, 0x16, 0x59, 0x61, + 0x28, 0x03, 0x06, 0x15, 0x45, 0x44, 0x5b, 0x6e, 0x83, 0x70, 0x49, 0x76, 0x46, 0xfe, 0xfe, 0x2c, + 0x38, 0x30, 0x31, 0x22, 0x31, 0x1c, 0x18, 0x30, 0x01, 0x99, 0x3d, 0x79, 0x6b, 0x53, 0x2f, 0x03, + 0x04, 0x79, 0x04, 0x06, 0x39, 0x64, 0x42, 0x23, 0x30, 0x76, 0x6c, 0x74, 0x84, 0x43, 0x8b, 0x55, + 0x3c, 0x41, 0x34, 0x3c, 0x1e, 0x2d, 0x18, 0x21, 0x40, 0x29, 0x00, 0x02, 0x00, 0x39, 0xff, 0xf3, + 0x00, 0xe4, 0x02, 0x2c, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x32, 0x24, 0x23, 0x32, 0x32, + 0x23, 0x24, 0x32, 0x01, 0xd9, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0xfe, 0x99, 0x2e, 0x25, + 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, 0x1f, 0xff, 0x7f, 0x00, 0xe4, 0x02, 0x2c, 0x00, + 0x0b, 0x00, 0x14, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x13, 0x06, 0x06, 0x07, 0x23, 0x36, 0x36, 0x37, 0x33, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, + 0x23, 0x24, 0x32, 0xa7, 0x0d, 0x30, 0x19, 0x6b, 0x0e, 0x1c, 0x07, 0x89, 0x01, 0xd9, 0x2e, 0x25, + 0x25, 0x2e, 0x2c, 0x27, 0x27, 0xfe, 0xbc, 0x35, 0x7e, 0x37, 0x3b, 0x86, 0x34, 0x00, 0x01, 0x00, + 0x2b, 0x00, 0x63, 0x02, 0x10, 0x02, 0x71, 0x00, 0x06, 0x00, 0x00, 0x25, 0x25, 0x35, 0x25, 0x15, + 0x05, 0x05, 0x02, 0x10, 0xfe, 0x1b, 0x01, 0xe5, 0xfe, 0xb2, 0x01, 0x4e, 0x63, 0xd6, 0x46, 0xf2, + 0x75, 0x9b, 0x89, 0x00, 0x02, 0x00, 0x2b, 0x00, 0xcc, 0x02, 0x10, 0x01, 0xf4, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x00, 0x13, 0x35, 0x21, 0x15, 0x05, 0x35, 0x21, 0x15, 0x2b, 0x01, 0xe5, 0xfe, 0x1b, + 0x01, 0xe5, 0x01, 0x8a, 0x6a, 0x6a, 0xbe, 0x6b, 0x6b, 0x00, 0x01, 0x00, 0x2b, 0x00, 0x63, 0x02, + 0x10, 0x02, 0x71, 0x00, 0x06, 0x00, 0x00, 0x37, 0x25, 0x25, 0x35, 0x05, 0x15, 0x05, 0x2b, 0x01, + 0x4e, 0xfe, 0xb2, 0x01, 0xe5, 0xfe, 0x1b, 0xd8, 0x89, 0x9b, 0x75, 0xf2, 0x46, 0xd6, 0x00, 0x02, + 0x00, 0x03, 0xff, 0xf3, 0x01, 0xc5, 0x02, 0xd4, 0x00, 0x1d, 0x00, 0x29, 0x00, 0x00, 0x13, 0x34, + 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x06, 0x07, 0x0e, 0x02, 0x15, 0x15, 0x23, 0x07, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x87, 0x2a, 0x33, 0x2d, 0x27, 0x2f, 0x2a, 0x2a, 0x52, + 0x2b, 0x35, 0x31, 0x72, 0x44, 0x68, 0x73, 0x1a, 0x34, 0x27, 0x1d, 0x20, 0x0b, 0x81, 0x10, 0x32, + 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x01, 0x11, 0x32, 0x44, 0x25, 0x20, 0x2f, 0x20, 0x20, + 0x21, 0x1a, 0x16, 0x6b, 0x1b, 0x22, 0x64, 0x4d, 0x29, 0x3c, 0x33, 0x1d, 0x15, 0x1e, 0x1c, 0x15, + 0x1d, 0xa7, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, 0x32, 0xff, 0xac, 0x03, + 0x4f, 0x02, 0xca, 0x00, 0x3f, 0x00, 0x4d, 0x00, 0x00, 0x01, 0x14, 0x0e, 0x02, 0x23, 0x22, 0x26, + 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, + 0x06, 0x14, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x36, 0x35, 0x34, 0x26, 0x26, 0x23, 0x22, 0x06, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, + 0x34, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x37, 0x26, + 0x26, 0x23, 0x22, 0x06, 0x06, 0x03, 0x4f, 0x16, 0x2d, 0x44, 0x2e, 0x25, 0x38, 0x0b, 0x08, 0x14, + 0x43, 0x2f, 0x59, 0x61, 0x3a, 0x6a, 0x48, 0x2f, 0x65, 0x1c, 0x0a, 0x01, 0x17, 0x0e, 0x17, 0x1e, + 0x0f, 0x44, 0x75, 0x4b, 0x69, 0x8f, 0x4a, 0x91, 0x88, 0x3a, 0x7e, 0x34, 0x30, 0x76, 0x42, 0x7c, + 0xb0, 0x5d, 0x3c, 0x71, 0x9e, 0x62, 0x6b, 0xa6, 0x5f, 0xfe, 0x0c, 0x2e, 0x26, 0x32, 0x29, 0x04, + 0x06, 0x0b, 0x1c, 0x11, 0x2f, 0x39, 0x19, 0x01, 0x66, 0x2e, 0x5a, 0x4a, 0x2b, 0x23, 0x1c, 0x19, + 0x26, 0x6b, 0x57, 0x43, 0x67, 0x3b, 0x11, 0x0a, 0xcd, 0x0a, 0x15, 0x03, 0x29, 0x1b, 0x2d, 0x4b, + 0x2d, 0x54, 0x75, 0x3e, 0x57, 0x96, 0x61, 0x87, 0x90, 0x1a, 0x13, 0x5e, 0x14, 0x18, 0x58, 0xa5, + 0x74, 0x5b, 0x9c, 0x75, 0x41, 0x56, 0xa0, 0xab, 0x37, 0x30, 0x49, 0x3b, 0x6c, 0x02, 0x03, 0x29, + 0x41, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0xb2, 0x02, 0xcd, 0x00, 0x07, 0x00, 0x12, 0x00, + 0x00, 0x21, 0x27, 0x21, 0x07, 0x23, 0x13, 0x33, 0x13, 0x01, 0x2e, 0x02, 0x27, 0x0e, 0x02, 0x07, + 0x07, 0x33, 0x02, 0x0f, 0x34, 0xfe, 0xfc, 0x34, 0xa3, 0xfc, 0xb9, 0xfd, 0xfe, 0xd1, 0x05, 0x10, + 0x10, 0x05, 0x05, 0x11, 0x0f, 0x04, 0x33, 0xba, 0xaa, 0xaa, 0x02, 0xcd, 0xfd, 0x33, 0x01, 0xcf, + 0x11, 0x34, 0x36, 0x14, 0x14, 0x3b, 0x35, 0x0b, 0xa6, 0x00, 0x03, 0x00, 0x5a, 0x00, 0x00, 0x02, + 0x6b, 0x02, 0xca, 0x00, 0x10, 0x00, 0x19, 0x00, 0x22, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x07, 0x15, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x13, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x23, 0x1d, 0x02, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, 0x38, 0x8f, 0x92, + 0x39, 0x35, 0x24, 0x3a, 0x22, 0x8c, 0x7a, 0xfe, 0xf5, 0xef, 0x42, 0x33, 0x3c, 0x41, 0x50, 0x63, + 0x44, 0x36, 0x37, 0x48, 0x02, 0xca, 0x50, 0x65, 0x3d, 0x54, 0x09, 0x05, 0x07, 0x24, 0x44, 0x38, + 0x61, 0x6e, 0x02, 0xca, 0xfe, 0xe5, 0x2a, 0x28, 0x29, 0x24, 0x9f, 0x78, 0xba, 0x35, 0x2c, 0x28, + 0x31, 0x00, 0x01, 0x00, 0x3a, 0xff, 0xf6, 0x02, 0x5a, 0x02, 0xd4, 0x00, 0x1b, 0x00, 0x00, 0x01, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, + 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x01, 0x89, 0x57, 0x5c, 0x55, + 0x5e, 0x2c, 0x57, 0x33, 0x2f, 0x5c, 0x39, 0x6e, 0x8f, 0x44, 0x4e, 0x95, 0x6c, 0x35, 0x6b, 0x31, + 0x31, 0x28, 0x51, 0x02, 0x56, 0x82, 0x71, 0x72, 0x7d, 0x14, 0x12, 0x7f, 0x13, 0x12, 0x5b, 0xa5, + 0x6e, 0x6c, 0xa6, 0x5e, 0x1b, 0x17, 0x7b, 0x13, 0x1c, 0x00, 0x02, 0x00, 0x5a, 0x00, 0x00, 0x02, + 0xaa, 0x02, 0xca, 0x00, 0x09, 0x00, 0x11, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x23, 0x11, 0x33, + 0x32, 0x16, 0x16, 0x07, 0x34, 0x26, 0x23, 0x23, 0x11, 0x33, 0x32, 0x02, 0xaa, 0xcd, 0xb9, 0xca, + 0xe0, 0x70, 0xa5, 0x5b, 0x9d, 0x68, 0x63, 0x51, 0x41, 0xdb, 0x01, 0x6c, 0xb5, 0xb7, 0x02, 0xca, + 0x50, 0x9b, 0x77, 0x77, 0x6f, 0xfe, 0x2f, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x01, 0xf5, 0x02, + 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x15, 0x23, 0x15, + 0x21, 0x01, 0xf5, 0xfe, 0x65, 0x01, 0x9b, 0xfe, 0xfc, 0xf2, 0xf2, 0x01, 0x04, 0x02, 0xca, 0x7c, + 0x9d, 0x7c, 0xb8, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x01, 0xf3, 0x02, 0xca, 0x00, 0x09, 0x00, + 0x00, 0x33, 0x23, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x15, 0x23, 0xef, 0x95, 0x01, 0x99, 0xfe, + 0xfc, 0xf2, 0xf2, 0x02, 0xca, 0x7c, 0xb8, 0x7c, 0x00, 0x01, 0x00, 0x3a, 0xff, 0xf6, 0x02, 0x84, + 0x02, 0xd4, 0x00, 0x20, 0x00, 0x00, 0x01, 0x21, 0x11, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x14, 0x16, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x23, 0x01, 0x69, 0x01, 0x1b, 0x38, 0x79, 0x4d, 0xa0, 0xac, + 0x57, 0xa6, 0x78, 0x39, 0x6e, 0x2d, 0x32, 0x21, 0x54, 0x2e, 0x42, 0x61, 0x35, 0x26, 0x52, 0x42, + 0x20, 0x2d, 0x13, 0x87, 0x01, 0x91, 0xfe, 0x8e, 0x13, 0x16, 0xbc, 0xb4, 0x70, 0xa4, 0x5a, 0x18, + 0x14, 0x79, 0x11, 0x16, 0x3c, 0x6d, 0x4a, 0x46, 0x6c, 0x3d, 0x06, 0x04, 0x95, 0x00, 0x01, 0x00, + 0x5a, 0x00, 0x00, 0x02, 0xa3, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x23, 0x11, 0x21, 0x11, + 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x02, 0xa3, 0x97, 0xfe, 0xe5, 0x97, 0x97, 0x01, 0x1b, + 0x97, 0x01, 0x34, 0xfe, 0xcc, 0x02, 0xca, 0xfe, 0xe8, 0x01, 0x18, 0x00, 0x01, 0x00, 0x20, 0x00, + 0x00, 0x01, 0x65, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x21, 0x35, 0x37, 0x11, 0x27, 0x35, + 0x21, 0x15, 0x07, 0x11, 0x17, 0x01, 0x65, 0xfe, 0xbb, 0x57, 0x57, 0x01, 0x45, 0x57, 0x57, 0x56, + 0x28, 0x01, 0xce, 0x28, 0x56, 0x56, 0x28, 0xfe, 0x32, 0x28, 0x00, 0x01, 0xff, 0xb6, 0xff, 0x2e, + 0x00, 0xf1, 0x02, 0xca, 0x00, 0x11, 0x00, 0x00, 0x17, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, + 0x32, 0x36, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x06, 0x0f, 0x1d, 0x2c, 0x10, 0x10, 0x23, + 0x14, 0x1a, 0x2b, 0x18, 0x97, 0x39, 0x66, 0xd2, 0x07, 0x04, 0x7e, 0x04, 0x06, 0x14, 0x38, 0x34, + 0x02, 0x9d, 0xfd, 0x64, 0x5c, 0x71, 0x33, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x02, 0x98, 0x02, + 0xca, 0x00, 0x0e, 0x00, 0x00, 0x21, 0x23, 0x03, 0x07, 0x15, 0x23, 0x11, 0x33, 0x11, 0x36, 0x36, + 0x37, 0x37, 0x33, 0x03, 0x02, 0x98, 0xac, 0xbb, 0x40, 0x97, 0x97, 0x0f, 0x1e, 0x0f, 0xc1, 0xa8, + 0xf9, 0x01, 0x2d, 0x2e, 0xff, 0x02, 0xca, 0xfe, 0xb9, 0x15, 0x2a, 0x15, 0xf3, 0xfe, 0xc4, 0x00, + 0x01, 0x00, 0x5a, 0x00, 0x00, 0x02, 0x13, 0x02, 0xca, 0x00, 0x05, 0x00, 0x00, 0x33, 0x11, 0x33, + 0x11, 0x21, 0x15, 0x5a, 0x97, 0x01, 0x22, 0x02, 0xca, 0xfd, 0xb3, 0x7d, 0x00, 0x01, 0x00, 0x5a, + 0x00, 0x00, 0x03, 0x55, 0x02, 0xca, 0x00, 0x17, 0x00, 0x00, 0x21, 0x03, 0x23, 0x1e, 0x02, 0x15, + 0x11, 0x23, 0x11, 0x33, 0x13, 0x33, 0x13, 0x33, 0x11, 0x23, 0x11, 0x34, 0x36, 0x36, 0x37, 0x23, + 0x03, 0x01, 0x88, 0xac, 0x04, 0x01, 0x04, 0x04, 0x87, 0xce, 0xa9, 0x03, 0xb3, 0xce, 0x8d, 0x03, + 0x03, 0x01, 0x04, 0xb8, 0x02, 0x30, 0x14, 0x50, 0x5b, 0x25, 0xfe, 0xb4, 0x02, 0xca, 0xfd, 0xde, + 0x02, 0x22, 0xfd, 0x36, 0x01, 0x52, 0x22, 0x58, 0x4f, 0x14, 0xfd, 0xd1, 0x00, 0x01, 0x00, 0x5a, + 0x00, 0x00, 0x02, 0xd3, 0x02, 0xca, 0x00, 0x11, 0x00, 0x00, 0x21, 0x23, 0x01, 0x23, 0x16, 0x16, + 0x17, 0x11, 0x23, 0x11, 0x33, 0x01, 0x33, 0x26, 0x26, 0x27, 0x11, 0x33, 0x02, 0xd3, 0xc0, 0xfe, + 0xc9, 0x04, 0x02, 0x05, 0x02, 0x87, 0xbf, 0x01, 0x36, 0x03, 0x01, 0x04, 0x02, 0x88, 0x02, 0x1c, + 0x33, 0x66, 0x33, 0xfe, 0xb0, 0x02, 0xca, 0xfd, 0xe9, 0x32, 0x62, 0x31, 0x01, 0x52, 0x00, 0x02, + 0x00, 0x3a, 0xff, 0xf6, 0x02, 0xe2, 0x02, 0xd5, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x14, + 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0xe2, 0x49, 0x96, 0x75, 0x74, + 0x97, 0x49, 0x49, 0x97, 0x75, 0x74, 0x96, 0x49, 0xfd, 0xf7, 0x56, 0x5f, 0x61, 0x54, 0x54, 0x60, + 0x60, 0x56, 0x01, 0x66, 0x6f, 0xa5, 0x5c, 0x5c, 0xa6, 0x6f, 0x6f, 0xa4, 0x5b, 0x5b, 0xa5, 0x6f, + 0x70, 0x81, 0x81, 0x70, 0x71, 0x80, 0x80, 0x00, 0x02, 0x00, 0x5a, 0x00, 0x00, 0x02, 0x47, 0x02, + 0xca, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x06, 0x23, 0x23, + 0x15, 0x23, 0x11, 0x17, 0x23, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, 0x01, 0x3e, 0x8a, 0x7f, 0x34, + 0x79, 0x68, 0x41, 0x97, 0xdc, 0x45, 0x32, 0x40, 0x4b, 0x02, 0xca, 0x77, 0x68, 0x3e, 0x6d, 0x42, + 0xfe, 0x02, 0xca, 0x7c, 0xd4, 0x33, 0x39, 0x68, 0x00, 0x02, 0x00, 0x3a, 0xff, 0x56, 0x02, 0xe2, + 0x02, 0xd5, 0x00, 0x12, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x17, 0x23, 0x27, 0x23, + 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0xe2, 0x56, 0x5a, 0xac, 0xc2, 0x83, 0x0b, 0x74, + 0x97, 0x49, 0x49, 0x97, 0x75, 0x74, 0x96, 0x49, 0xfd, 0xf7, 0x56, 0x5f, 0x61, 0x54, 0x54, 0x60, + 0x60, 0x56, 0x01, 0x66, 0x78, 0xaf, 0x29, 0xc0, 0xa0, 0x5c, 0xa6, 0x6f, 0x6f, 0xa4, 0x5b, 0x5b, + 0xa5, 0x6f, 0x70, 0x81, 0x81, 0x70, 0x71, 0x80, 0x80, 0x00, 0x02, 0x00, 0x5a, 0x00, 0x00, 0x02, + 0x94, 0x02, 0xca, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x06, + 0x07, 0x13, 0x23, 0x03, 0x23, 0x11, 0x23, 0x11, 0x17, 0x23, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x01, 0x2a, 0x92, 0x8b, 0x25, 0x3d, 0x23, 0xd2, 0xa8, 0xaa, 0x51, 0x97, 0xc5, 0x2e, 0x31, + 0x4b, 0x41, 0x45, 0x02, 0xca, 0x6a, 0x6c, 0x31, 0x49, 0x33, 0x10, 0xfe, 0xc9, 0x01, 0x12, 0xfe, + 0xee, 0x02, 0xca, 0x7c, 0xc1, 0x32, 0x31, 0x33, 0x2b, 0x00, 0x01, 0x00, 0x2e, 0xff, 0xf6, 0x01, + 0xff, 0x02, 0xd4, 0x00, 0x28, 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x27, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x02, 0x01, 0xff, 0x89, + 0x7e, 0x71, 0x59, 0x33, 0x6d, 0x36, 0x38, 0x2f, 0x25, 0x3e, 0x28, 0x19, 0x3a, 0x35, 0x22, 0x82, + 0x70, 0x38, 0x65, 0x37, 0x31, 0x31, 0x4e, 0x29, 0x2b, 0x2e, 0x44, 0x43, 0x37, 0x4d, 0x2a, 0xc6, + 0x5f, 0x71, 0x2b, 0x8d, 0x16, 0x25, 0x2b, 0x21, 0x1b, 0x26, 0x21, 0x13, 0x0c, 0x21, 0x31, 0x46, + 0x31, 0x60, 0x6b, 0x1a, 0x18, 0x76, 0x14, 0x16, 0x28, 0x20, 0x26, 0x2c, 0x20, 0x1a, 0x38, 0x4c, + 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x02, 0x2f, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x21, 0x23, + 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x01, 0x6d, 0x97, 0xc2, 0x02, 0x1b, 0xc2, 0x02, 0x4c, 0x7e, + 0x7e, 0x00, 0x01, 0x00, 0x55, 0xff, 0xf6, 0x02, 0x9f, 0x02, 0xca, 0x00, 0x12, 0x00, 0x00, 0x25, + 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x11, 0x33, 0x02, 0x9f, 0x41, 0x83, 0x64, 0x8e, 0x94, 0x97, 0x48, 0x47, 0x4a, 0x43, 0x97, 0xfc, + 0x4a, 0x77, 0x45, 0x91, 0x77, 0x01, 0xcc, 0xfe, 0x4b, 0x58, 0x48, 0x4e, 0x53, 0x01, 0xb4, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8a, 0x02, 0xca, 0x00, 0x0e, 0x00, 0x00, 0x01, 0x03, 0x23, + 0x03, 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, 0x02, 0x8a, 0xf3, 0xa5, 0xf2, 0x99, + 0x86, 0x04, 0x0f, 0x10, 0x03, 0x03, 0x0f, 0x10, 0x03, 0x87, 0x02, 0xca, 0xfd, 0x36, 0x02, 0xca, + 0xfe, 0x57, 0x0b, 0x3b, 0x41, 0x16, 0x16, 0x41, 0x3b, 0x0b, 0x01, 0xa9, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xc7, 0x02, 0xca, 0x00, 0x26, 0x00, 0x00, 0x01, 0x03, 0x23, 0x03, 0x2e, 0x03, + 0x27, 0x0e, 0x03, 0x07, 0x03, 0x23, 0x03, 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, + 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, 0x03, 0xc7, 0xb6, 0xac, 0x61, 0x03, 0x09, + 0x0b, 0x08, 0x02, 0x01, 0x09, 0x0a, 0x0a, 0x03, 0x60, 0xac, 0xb6, 0x95, 0x5b, 0x06, 0x0e, 0x0c, + 0x03, 0x03, 0x0c, 0x0d, 0x05, 0x68, 0x8f, 0x68, 0x05, 0x0d, 0x0c, 0x03, 0x03, 0x0c, 0x0f, 0x05, + 0x5b, 0x02, 0xca, 0xfd, 0x36, 0x01, 0x77, 0x0b, 0x2c, 0x34, 0x2f, 0x0d, 0x0d, 0x2f, 0x33, 0x2d, + 0x0c, 0xfe, 0x8a, 0x02, 0xca, 0xfe, 0x7a, 0x17, 0x46, 0x46, 0x18, 0x19, 0x45, 0x41, 0x12, 0x01, + 0x90, 0xfe, 0x70, 0x11, 0x42, 0x46, 0x18, 0x19, 0x45, 0x46, 0x17, 0x01, 0x86, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x9b, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x23, 0x03, 0x03, 0x23, + 0x13, 0x03, 0x33, 0x13, 0x13, 0x33, 0x03, 0x02, 0x9b, 0xad, 0xa6, 0xa6, 0xa2, 0xed, 0xde, 0xa7, + 0x9a, 0x97, 0xa3, 0xe0, 0x01, 0x0e, 0xfe, 0xf2, 0x01, 0x70, 0x01, 0x5a, 0xfe, 0xff, 0x01, 0x01, + 0xfe, 0x9e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x70, 0x02, 0xca, 0x00, 0x08, 0x00, 0x00, + 0x01, 0x13, 0x33, 0x03, 0x11, 0x23, 0x11, 0x03, 0x33, 0x01, 0x38, 0x95, 0xa3, 0xed, 0x96, 0xed, + 0xa4, 0x01, 0xa4, 0x01, 0x26, 0xfe, 0x4c, 0xfe, 0xea, 0x01, 0x11, 0x01, 0xb9, 0x00, 0x01, 0x00, + 0x18, 0x00, 0x00, 0x02, 0x2b, 0x02, 0xca, 0x00, 0x09, 0x00, 0x00, 0x21, 0x21, 0x35, 0x01, 0x21, + 0x35, 0x21, 0x15, 0x01, 0x21, 0x02, 0x2b, 0xfd, 0xed, 0x01, 0x56, 0xfe, 0xb3, 0x02, 0x01, 0xfe, + 0xaa, 0x01, 0x5f, 0x62, 0x01, 0xeb, 0x7d, 0x62, 0xfe, 0x15, 0x00, 0x01, 0x00, 0x46, 0xff, 0x62, + 0x01, 0x32, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x05, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, + 0x01, 0x32, 0xec, 0xec, 0x6d, 0x6d, 0x9e, 0x03, 0x68, 0x67, 0xfd, 0x66, 0x00, 0x01, 0x00, 0x06, + 0x00, 0x00, 0x01, 0x97, 0x02, 0xca, 0x00, 0x03, 0x00, 0x00, 0x13, 0x01, 0x23, 0x01, 0x8d, 0x01, + 0x0a, 0x87, 0xfe, 0xf6, 0x02, 0xca, 0xfd, 0x36, 0x02, 0xca, 0x00, 0x01, 0x00, 0x19, 0xff, 0x62, + 0x01, 0x05, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x17, 0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x23, + 0x19, 0x6d, 0x6d, 0xec, 0xec, 0x37, 0x02, 0x9a, 0x67, 0xfc, 0x98, 0x00, 0x01, 0x00, 0x17, 0x00, + 0xfe, 0x02, 0x25, 0x02, 0xce, 0x00, 0x06, 0x00, 0x00, 0x37, 0x13, 0x33, 0x13, 0x23, 0x03, 0x03, + 0x17, 0xd6, 0x46, 0xf2, 0x75, 0x9d, 0x89, 0xfe, 0x01, 0xd0, 0xfe, 0x30, 0x01, 0x3a, 0xfe, 0xc6, + 0x00, 0x01, 0xff, 0xfe, 0xff, 0x62, 0x01, 0x9d, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x00, 0x05, 0x21, + 0x35, 0x21, 0x01, 0x9d, 0xfe, 0x61, 0x01, 0x9f, 0x9e, 0x44, 0x00, 0x01, 0x00, 0x28, 0x02, 0x5e, + 0x01, 0x42, 0x02, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x13, 0x1e, 0x02, 0x17, 0x15, 0x23, 0x2e, 0x03, + 0x27, 0x35, 0xcf, 0x0f, 0x29, 0x2b, 0x10, 0x63, 0x13, 0x33, 0x35, 0x2e, 0x0e, 0x02, 0xfe, 0x16, + 0x37, 0x33, 0x13, 0x0d, 0x0d, 0x27, 0x2c, 0x28, 0x0e, 0x0a, 0x00, 0x02, 0x00, 0x2a, 0xff, 0xf6, + 0x02, 0x11, 0x02, 0x2d, 0x00, 0x1b, 0x00, 0x26, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x23, + 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x37, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x13, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x35, 0x01, 0x2e, 0x6e, 0x75, 0x68, 0x1d, 0x04, 0x23, 0x4e, 0x44, 0x49, 0x60, 0x7a, 0x7a, 0x5f, + 0x2d, 0x28, 0x28, 0x4c, 0x26, 0x31, 0x2c, 0x6b, 0x4f, 0x48, 0x38, 0x28, 0x20, 0x30, 0x42, 0x02, + 0x2d, 0x5f, 0x62, 0xfe, 0x94, 0x4a, 0x2c, 0x28, 0x55, 0x58, 0x57, 0x53, 0x04, 0x03, 0x18, 0x2b, + 0x28, 0x17, 0x11, 0x65, 0x17, 0x1a, 0xfe, 0xce, 0x02, 0x30, 0x27, 0x22, 0x1d, 0x39, 0x34, 0x2d, + 0x00, 0x02, 0x00, 0x4e, 0xff, 0xf6, 0x02, 0x4c, 0x02, 0xf8, 0x00, 0x15, 0x00, 0x22, 0x00, 0x00, + 0x13, 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x27, 0x23, 0x07, 0x23, 0x11, 0x33, 0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0xe3, 0x04, 0x02, 0x06, 0x16, 0x4a, 0x3b, 0x5c, 0x72, 0x74, 0x5e, 0x3c, 0x45, + 0x16, 0x0a, 0x19, 0x72, 0x95, 0x6b, 0x3a, 0x2f, 0x02, 0x2f, 0x3e, 0x2e, 0x36, 0x37, 0x02, 0x47, + 0x1f, 0x3c, 0x11, 0x22, 0x2f, 0x8f, 0x8b, 0x8c, 0x90, 0x2b, 0x1b, 0x3c, 0x02, 0xf8, 0xfe, 0xbd, + 0x48, 0x4a, 0x10, 0x4f, 0x55, 0x55, 0x50, 0x50, 0x51, 0x00, 0x01, 0x00, 0x2d, 0xff, 0xf6, 0x01, + 0xe3, 0x02, 0x2c, 0x00, 0x19, 0x00, 0x00, 0x05, 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, + 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, + 0x06, 0x01, 0x2c, 0x7a, 0x85, 0x44, 0x79, 0x4f, 0x38, 0x53, 0x1f, 0x2c, 0x23, 0x3d, 0x1e, 0x74, + 0x3d, 0x37, 0x2f, 0x48, 0x22, 0x22, 0x4b, 0x0a, 0x87, 0x91, 0x64, 0x7e, 0x3c, 0x16, 0x0f, 0x73, + 0x0e, 0x12, 0xa5, 0x52, 0x4e, 0x19, 0x16, 0x7f, 0x16, 0x13, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, + 0x02, 0x2b, 0x02, 0xf8, 0x00, 0x15, 0x00, 0x22, 0x00, 0x00, 0x17, 0x22, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x17, 0x33, 0x26, 0x26, 0x35, 0x35, 0x33, 0x11, 0x23, 0x27, 0x23, 0x06, 0x06, + 0x27, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0xfb, 0x5b, 0x73, + 0x74, 0x5e, 0x3b, 0x4c, 0x16, 0x05, 0x03, 0x08, 0x95, 0x72, 0x1d, 0x06, 0x16, 0x4a, 0x07, 0x3e, + 0x32, 0x01, 0x31, 0x42, 0x31, 0x38, 0x38, 0x0a, 0x8f, 0x8b, 0x8c, 0x90, 0x2e, 0x22, 0x10, 0x3d, + 0x20, 0xaf, 0xfd, 0x08, 0x47, 0x22, 0x2f, 0x77, 0x49, 0x49, 0x10, 0x50, 0x54, 0x55, 0x50, 0x50, + 0x51, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, 0x02, 0x24, 0x02, 0x2c, 0x00, 0x16, 0x00, 0x1d, 0x00, + 0x00, 0x01, 0x32, 0x16, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, + 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x17, 0x22, 0x06, 0x07, 0x33, 0x26, 0x26, 0x01, + 0x2f, 0x71, 0x84, 0xfe, 0xa0, 0x02, 0x47, 0x3f, 0x35, 0x56, 0x2e, 0x28, 0x59, 0x3f, 0x52, 0x7e, + 0x48, 0x41, 0x74, 0x4e, 0x2b, 0x39, 0x05, 0xd1, 0x01, 0x32, 0x02, 0x2c, 0x81, 0x77, 0x48, 0x3f, + 0x48, 0x15, 0x16, 0x73, 0x14, 0x13, 0x3d, 0x7c, 0x5e, 0x60, 0x7f, 0x40, 0x6a, 0x38, 0x3b, 0x32, + 0x41, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x01, 0xb0, 0x02, 0xfd, 0x00, 0x18, 0x00, 0x00, 0x01, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x37, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, + 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x33, 0x01, 0x7c, 0x81, 0x95, 0x52, 0x52, 0x2f, 0x57, + 0x3b, 0x2c, 0x47, 0x16, 0x26, 0x11, 0x28, 0x1a, 0x1f, 0x1d, 0x81, 0x01, 0xb2, 0xfe, 0x4e, 0x01, + 0xb2, 0x48, 0x28, 0x28, 0x46, 0x4d, 0x20, 0x0e, 0x09, 0x6d, 0x05, 0x09, 0x26, 0x1d, 0x22, 0x00, + 0x02, 0x00, 0x2d, 0xff, 0x10, 0x02, 0x2b, 0x02, 0x2c, 0x00, 0x1e, 0x00, 0x29, 0x00, 0x00, 0x13, + 0x32, 0x17, 0x33, 0x37, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x35, 0x35, 0x34, 0x36, 0x37, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x22, + 0x15, 0x14, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0xff, 0x65, 0x39, 0x04, 0x0c, 0x7e, 0x8a, + 0x87, 0x3a, 0x63, 0x2f, 0x65, 0x70, 0x73, 0x03, 0x01, 0x04, 0x1c, 0x4e, 0x31, 0x61, 0x6d, 0x70, + 0x91, 0x69, 0x6b, 0x39, 0x37, 0x36, 0x02, 0x2c, 0x50, 0x46, 0xfd, 0xdd, 0x75, 0x7a, 0x0e, 0x12, + 0x77, 0x2a, 0x7c, 0x0b, 0x11, 0x24, 0x0e, 0x2b, 0x26, 0x95, 0x85, 0x86, 0x96, 0x79, 0xa5, 0xa3, + 0x41, 0x51, 0x12, 0x58, 0x4c, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x46, 0x02, 0xf8, 0x00, + 0x16, 0x00, 0x00, 0x13, 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, + 0x11, 0x34, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0xe3, 0x05, 0x02, 0x08, 0x1a, 0x52, + 0x32, 0x59, 0x6b, 0x95, 0x58, 0x43, 0x33, 0x95, 0x95, 0x02, 0x5d, 0x28, 0x4a, 0x0f, 0x2a, 0x26, + 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x76, 0x5d, 0x57, 0xfe, 0xff, 0x02, 0xf8, 0x00, 0x02, 0x00, + 0x48, 0x00, 0x00, 0x00, 0xea, 0x02, 0xf8, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x13, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x11, 0x23, 0x11, 0x99, 0x21, 0x30, + 0x30, 0x21, 0x22, 0x2f, 0x2f, 0x6c, 0x95, 0x02, 0xf8, 0x1f, 0x2a, 0x29, 0x20, 0x20, 0x29, 0x2a, + 0x1f, 0xd6, 0xfd, 0xde, 0x02, 0x22, 0x00, 0x02, 0xff, 0xc0, 0xff, 0x10, 0x00, 0xea, 0x02, 0xf8, + 0x00, 0x0b, 0x00, 0x1c, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x03, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, + 0x14, 0x06, 0x06, 0x48, 0x2f, 0x22, 0x21, 0x30, 0x30, 0x21, 0x22, 0x2f, 0x26, 0x19, 0x37, 0x12, + 0x12, 0x20, 0x14, 0x1e, 0x2a, 0x95, 0x26, 0x55, 0x02, 0xaf, 0x2a, 0x1f, 0x1f, 0x2a, 0x29, 0x20, + 0x20, 0xfc, 0x8a, 0x07, 0x05, 0x75, 0x04, 0x05, 0x22, 0x31, 0x02, 0x47, 0xfd, 0xa3, 0x32, 0x52, + 0x31, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x6c, 0x02, 0xf8, 0x00, 0x12, 0x00, 0x00, 0x13, + 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x37, 0x37, 0x33, 0x07, 0x13, 0x23, 0x27, 0x07, 0x15, 0x23, + 0x11, 0x33, 0xe3, 0x05, 0x03, 0x02, 0x0f, 0x20, 0x12, 0x99, 0xa8, 0xd9, 0xe6, 0xac, 0x9d, 0x40, + 0x95, 0x95, 0x01, 0xa4, 0x1f, 0x3d, 0x1f, 0x15, 0x2b, 0x13, 0xa6, 0xed, 0xfe, 0xcb, 0xdd, 0x33, + 0xaa, 0x02, 0xf8, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xe3, 0x02, 0xf8, 0x00, 0x03, 0x00, + 0x00, 0x33, 0x23, 0x11, 0x33, 0xe3, 0x95, 0x95, 0x02, 0xf8, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, + 0x03, 0x8b, 0x02, 0x2c, 0x00, 0x22, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, + 0x17, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x36, 0x02, 0xcf, 0x5d, 0x5f, 0x95, + 0x52, 0x3b, 0x32, 0x95, 0x52, 0x3e, 0x2f, 0x95, 0x72, 0x14, 0x08, 0x19, 0x57, 0x2f, 0x3c, 0x54, + 0x16, 0x0d, 0x19, 0x59, 0x02, 0x2c, 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x76, 0x54, 0x4f, 0xfe, + 0xee, 0x01, 0x3f, 0x76, 0x5d, 0x57, 0xfe, 0xff, 0x02, 0x22, 0x46, 0x2a, 0x26, 0x27, 0x29, 0x2a, + 0x26, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x46, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x00, 0x01, + 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, + 0x17, 0x33, 0x36, 0x36, 0x01, 0x84, 0x58, 0x6a, 0x95, 0x2a, 0x2e, 0x44, 0x32, 0x95, 0x72, 0x14, + 0x08, 0x1a, 0x5b, 0x02, 0x2c, 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x3b, 0x3b, 0x5d, 0x57, 0xfe, + 0xff, 0x02, 0x22, 0x46, 0x2a, 0x26, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, 0x02, 0x3e, 0x02, 0x2c, + 0x00, 0x0d, 0x00, 0x19, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x02, 0x3e, 0x8f, 0x7b, 0x4c, 0x77, 0x44, 0x8e, 0x7c, 0x4d, 0x76, 0x44, 0xfe, 0x87, 0x35, 0x3c, + 0x3b, 0x35, 0x35, 0x3c, 0x3b, 0x35, 0x01, 0x12, 0x88, 0x94, 0x42, 0x7f, 0x5b, 0x88, 0x92, 0x42, + 0x7d, 0x5b, 0x51, 0x53, 0x53, 0x51, 0x51, 0x51, 0x51, 0x00, 0x02, 0x00, 0x4e, 0xff, 0x10, 0x02, + 0x4c, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x20, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x23, 0x16, 0x15, 0x15, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x36, 0x17, 0x22, + 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x01, 0x7e, 0x5c, 0x72, 0x76, 0x5c, + 0x3b, 0x46, 0x16, 0x08, 0x08, 0x95, 0x79, 0x15, 0x07, 0x16, 0x4a, 0x0b, 0x3a, 0x2f, 0x02, 0x2f, + 0x3e, 0x33, 0x31, 0x02, 0x2c, 0x8f, 0x8b, 0x8b, 0x91, 0x2b, 0x1b, 0x2a, 0x26, 0xdc, 0x03, 0x12, + 0x47, 0x21, 0x30, 0x77, 0x48, 0x4a, 0x10, 0x4f, 0x55, 0x55, 0x50, 0xa1, 0x00, 0x02, 0x00, 0x2d, + 0xff, 0x10, 0x02, 0x2b, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x20, 0x00, 0x00, 0x05, 0x34, 0x37, 0x23, + 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, + 0x23, 0x03, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x01, 0x96, 0x06, + 0x06, 0x15, 0x4a, 0x3c, 0x5c, 0x72, 0x74, 0x5d, 0x3c, 0x4b, 0x17, 0x04, 0x0d, 0x7e, 0x95, 0x66, + 0x3e, 0x31, 0x01, 0x31, 0x41, 0x35, 0x34, 0x0b, 0x2a, 0x28, 0x22, 0x2f, 0x8f, 0x8b, 0x8c, 0x90, + 0x2e, 0x22, 0x46, 0xfc, 0xee, 0x01, 0x5b, 0x49, 0x49, 0x12, 0x50, 0x54, 0x55, 0x50, 0xa3, 0x00, + 0x01, 0x00, 0x4e, 0x00, 0x00, 0x01, 0xb1, 0x02, 0x2c, 0x00, 0x13, 0x00, 0x00, 0x01, 0x32, 0x16, + 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, + 0x36, 0x01, 0x7f, 0x0b, 0x1e, 0x09, 0x0b, 0x07, 0x1b, 0x0a, 0x26, 0x46, 0x2b, 0x95, 0x71, 0x16, + 0x07, 0x18, 0x54, 0x02, 0x2c, 0x02, 0x02, 0x8c, 0x02, 0x03, 0x1b, 0x3c, 0x34, 0xfe, 0xea, 0x02, + 0x22, 0x5c, 0x2a, 0x3c, 0x00, 0x01, 0x00, 0x2d, 0xff, 0xf6, 0x01, 0xcb, 0x02, 0x2c, 0x00, 0x28, + 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x26, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, + 0x23, 0x22, 0x15, 0x14, 0x16, 0x16, 0x17, 0x1e, 0x02, 0x01, 0xcb, 0x75, 0x74, 0x39, 0x52, 0x29, + 0x2c, 0x66, 0x27, 0x2c, 0x25, 0x0f, 0x32, 0x35, 0x33, 0x42, 0x20, 0x76, 0x62, 0x33, 0x5c, 0x31, + 0x2d, 0x28, 0x48, 0x25, 0x42, 0x11, 0x31, 0x30, 0x2f, 0x44, 0x25, 0xa2, 0x53, 0x59, 0x0f, 0x11, + 0x7b, 0x14, 0x1a, 0x1a, 0x15, 0x0e, 0x16, 0x1c, 0x16, 0x16, 0x2b, 0x3d, 0x2e, 0x4c, 0x4c, 0x14, + 0x17, 0x6b, 0x11, 0x17, 0x24, 0x0d, 0x15, 0x18, 0x14, 0x13, 0x29, 0x3d, 0x00, 0x01, 0x00, 0x17, + 0xff, 0xf6, 0x01, 0x92, 0x02, 0x96, 0x00, 0x18, 0x00, 0x00, 0x25, 0x32, 0x36, 0x37, 0x15, 0x06, + 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x11, 0x23, 0x35, 0x37, 0x37, 0x33, 0x15, 0x33, 0x15, 0x23, + 0x11, 0x14, 0x16, 0x01, 0x34, 0x19, 0x2e, 0x17, 0x18, 0x47, 0x2a, 0x31, 0x4d, 0x2d, 0x47, 0x52, + 0x2b, 0x5f, 0x99, 0x99, 0x24, 0x6d, 0x0a, 0x07, 0x6f, 0x0a, 0x0f, 0x20, 0x4f, 0x46, 0x01, 0x07, + 0x3f, 0x32, 0x73, 0x74, 0x70, 0xfe, 0xf9, 0x1f, 0x1f, 0x00, 0x01, 0x00, 0x4b, 0xff, 0xf6, 0x02, + 0x43, 0x02, 0x22, 0x00, 0x14, 0x00, 0x00, 0x01, 0x11, 0x23, 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0x43, 0x72, 0x14, + 0x08, 0x1a, 0x5b, 0x33, 0x58, 0x6a, 0x95, 0x2a, 0x2e, 0x44, 0x32, 0x02, 0x22, 0xfd, 0xde, 0x46, + 0x2a, 0x26, 0x5f, 0x69, 0x01, 0x64, 0xfe, 0xc1, 0x3a, 0x3c, 0x5d, 0x57, 0x01, 0x01, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x39, 0x02, 0x22, 0x00, 0x0c, 0x00, 0x00, 0x33, 0x03, 0x33, 0x13, + 0x16, 0x16, 0x17, 0x33, 0x36, 0x37, 0x13, 0x33, 0x03, 0xd0, 0xd0, 0x9c, 0x69, 0x09, 0x0b, 0x01, + 0x04, 0x03, 0x13, 0x69, 0x9c, 0xd0, 0x02, 0x22, 0xfe, 0xc9, 0x1c, 0x3c, 0x18, 0x36, 0x3a, 0x01, + 0x37, 0xfd, 0xde, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x03, 0x4e, 0x02, 0x22, 0x00, 0x2a, 0x00, + 0x00, 0x25, 0x2e, 0x03, 0x27, 0x23, 0x0e, 0x03, 0x07, 0x07, 0x23, 0x03, 0x33, 0x17, 0x1e, 0x02, + 0x17, 0x33, 0x3e, 0x03, 0x37, 0x13, 0x33, 0x13, 0x1e, 0x02, 0x15, 0x33, 0x3e, 0x02, 0x37, 0x37, + 0x33, 0x03, 0x23, 0x01, 0xe5, 0x04, 0x0f, 0x12, 0x10, 0x03, 0x04, 0x03, 0x0f, 0x12, 0x10, 0x04, + 0x2c, 0xa0, 0x9b, 0x94, 0x3f, 0x07, 0x0b, 0x0a, 0x02, 0x04, 0x01, 0x06, 0x09, 0x07, 0x02, 0x43, + 0xa4, 0x40, 0x04, 0x0b, 0x09, 0x04, 0x02, 0x0a, 0x0d, 0x07, 0x41, 0x92, 0x9d, 0xa2, 0xbf, 0x11, + 0x43, 0x4d, 0x41, 0x0f, 0x0f, 0x41, 0x4d, 0x44, 0x12, 0xbd, 0x02, 0x22, 0xf2, 0x19, 0x46, 0x41, + 0x13, 0x0e, 0x2f, 0x32, 0x29, 0x07, 0x01, 0x06, 0xfe, 0xfa, 0x0e, 0x3e, 0x40, 0x13, 0x11, 0x41, + 0x48, 0x19, 0xf2, 0xfd, 0xde, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x02, 0x3d, 0x02, 0x22, 0x00, + 0x0b, 0x00, 0x00, 0x13, 0x03, 0x33, 0x17, 0x37, 0x33, 0x03, 0x13, 0x23, 0x27, 0x07, 0x23, 0xbe, + 0xb0, 0xa9, 0x6a, 0x6b, 0xa9, 0xb2, 0xba, 0xa9, 0x73, 0x73, 0xa9, 0x01, 0x17, 0x01, 0x0b, 0xae, + 0xae, 0xfe, 0xf5, 0xfe, 0xe9, 0xbb, 0xbb, 0x00, 0x01, 0x00, 0x00, 0xff, 0x10, 0x02, 0x39, 0x02, + 0x22, 0x00, 0x1a, 0x00, 0x00, 0x11, 0x33, 0x13, 0x16, 0x16, 0x17, 0x33, 0x36, 0x36, 0x37, 0x13, + 0x33, 0x03, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x37, + 0xa3, 0x67, 0x08, 0x08, 0x02, 0x03, 0x03, 0x0b, 0x07, 0x65, 0xa0, 0xe7, 0x1f, 0x77, 0x4e, 0x19, + 0x25, 0x0e, 0x0b, 0x1f, 0x11, 0x2f, 0x37, 0x0d, 0x09, 0x02, 0x22, 0xfe, 0xcd, 0x16, 0x2f, 0x1a, + 0x1a, 0x2f, 0x16, 0x01, 0x33, 0xfd, 0x98, 0x55, 0x55, 0x05, 0x03, 0x76, 0x02, 0x04, 0x39, 0x28, + 0x1b, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x01, 0xca, 0x02, 0x22, 0x00, 0x09, 0x00, 0x00, 0x21, + 0x21, 0x35, 0x13, 0x23, 0x35, 0x21, 0x15, 0x03, 0x33, 0x01, 0xca, 0xfe, 0x51, 0xfd, 0xee, 0x01, + 0x97, 0xf6, 0xff, 0x58, 0x01, 0x58, 0x72, 0x61, 0xfe, 0xb1, 0x00, 0x01, 0x00, 0x0f, 0xff, 0x62, + 0x01, 0x62, 0x02, 0xca, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x22, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, + 0x23, 0x35, 0x32, 0x36, 0x35, 0x35, 0x34, 0x36, 0x36, 0x33, 0x15, 0x06, 0x06, 0x15, 0x15, 0x14, + 0x07, 0x15, 0x16, 0x15, 0x15, 0x14, 0x16, 0x17, 0x01, 0x62, 0x55, 0x5d, 0x24, 0x40, 0x3d, 0x3d, + 0x40, 0x24, 0x5d, 0x55, 0x27, 0x2e, 0x72, 0x72, 0x2e, 0x27, 0x9e, 0x1c, 0x3c, 0x30, 0x9a, 0x2f, + 0x28, 0x75, 0x28, 0x2f, 0x9b, 0x30, 0x3c, 0x1c, 0x6e, 0x01, 0x1a, 0x2a, 0x92, 0x5b, 0x11, 0x06, + 0x11, 0x5b, 0x92, 0x2a, 0x1a, 0x01, 0x00, 0x01, 0x00, 0xde, 0xff, 0x1d, 0x01, 0x49, 0x02, 0xf5, + 0x00, 0x03, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0xde, 0x6b, 0x6b, 0x02, 0xf5, 0xfc, 0x28, 0x00, + 0x01, 0x00, 0x28, 0xff, 0x62, 0x01, 0x7b, 0x02, 0xca, 0x00, 0x1f, 0x00, 0x00, 0x17, 0x36, 0x36, + 0x35, 0x35, 0x34, 0x37, 0x35, 0x26, 0x35, 0x35, 0x34, 0x26, 0x27, 0x35, 0x32, 0x16, 0x16, 0x15, + 0x15, 0x14, 0x16, 0x33, 0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 0x06, 0x06, 0x23, 0x28, 0x27, 0x2e, + 0x72, 0x72, 0x2e, 0x27, 0x56, 0x5c, 0x24, 0x40, 0x3d, 0x3d, 0x40, 0x24, 0x5c, 0x56, 0x30, 0x01, + 0x1a, 0x2a, 0x92, 0x5b, 0x11, 0x06, 0x11, 0x5b, 0x92, 0x2a, 0x1a, 0x01, 0x6e, 0x1c, 0x3c, 0x30, + 0x9b, 0x2f, 0x28, 0x75, 0x28, 0x2f, 0x9a, 0x30, 0x3c, 0x1c, 0x00, 0x01, 0x00, 0x2b, 0x01, 0x0d, + 0x02, 0x10, 0x01, 0xb4, 0x00, 0x17, 0x00, 0x00, 0x01, 0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 0x35, + 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, + 0x01, 0x0c, 0x25, 0x33, 0x17, 0x1c, 0x3d, 0x19, 0x32, 0x4b, 0x1d, 0x3b, 0x2f, 0x25, 0x34, 0x16, + 0x1d, 0x3c, 0x19, 0x32, 0x4b, 0x1d, 0x3b, 0x01, 0x2d, 0x10, 0x0b, 0x22, 0x19, 0x71, 0x35, 0x0b, + 0x14, 0x10, 0x0b, 0x22, 0x19, 0x71, 0x35, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf1, 0x6e, 0x78, 0x2b, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdf, 0x93, 0x46, 0xee, 0x00, 0x00, 0x00, 0x00, 0xdf, 0x93, 0x46, 0xee, 0xfd, 0x68, 0xfe, 0x76, + 0x0a, 0xf0, 0x05, 0x43, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd6, 0xff, 0xb6, 0xff, 0xd3, + 0x03, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x02, 0x58, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x01, 0x1e, 0x00, 0x39, + 0x01, 0xd8, 0x00, 0x41, 0x02, 0x86, 0x00, 0x16, 0x02, 0x3c, 0x00, 0x2b, 0x03, 0x85, 0x00, 0x1f, + 0x02, 0xee, 0x00, 0x28, 0x01, 0x0a, 0x00, 0x41, 0x01, 0x53, 0x00, 0x28, 0x01, 0x53, 0x00, 0x1e, + 0x02, 0x21, 0x00, 0x1f, 0x02, 0x3c, 0x00, 0x2b, 0x01, 0x1d, 0x00, 0x1f, 0x01, 0x42, 0x00, 0x1e, + 0x01, 0x1d, 0x00, 0x39, 0x01, 0x9d, 0x00, 0x07, 0x02, 0x3c, 0x00, 0x24, 0x02, 0x3c, 0x00, 0x3b, + 0x02, 0x3c, 0x00, 0x26, 0x02, 0x3c, 0x00, 0x26, 0x02, 0x3c, 0x00, 0x11, 0x02, 0x3c, 0x00, 0x31, + 0x02, 0x3c, 0x00, 0x23, 0x02, 0x3c, 0x00, 0x1b, 0x02, 0x3c, 0x00, 0x23, 0x02, 0x3c, 0x00, 0x20, + 0x01, 0x1d, 0x00, 0x39, 0x01, 0x1d, 0x00, 0x1f, 0x02, 0x3c, 0x00, 0x2b, 0x02, 0x3c, 0x00, 0x2b, + 0x02, 0x3c, 0x00, 0x2b, 0x01, 0xdd, 0x00, 0x03, 0x03, 0x81, 0x00, 0x32, 0x02, 0xb2, 0x00, 0x00, + 0x02, 0xa0, 0x00, 0x5a, 0x02, 0x7d, 0x00, 0x3a, 0x02, 0xe4, 0x00, 0x5a, 0x02, 0x30, 0x00, 0x5a, + 0x02, 0x25, 0x00, 0x5a, 0x02, 0xd4, 0x00, 0x3a, 0x02, 0xfd, 0x00, 0x5a, 0x01, 0x85, 0x00, 0x20, + 0x01, 0x4b, 0xff, 0xb6, 0x02, 0x98, 0x00, 0x5a, 0x02, 0x35, 0x00, 0x5a, 0x03, 0xaf, 0x00, 0x5a, + 0x03, 0x2d, 0x00, 0x5a, 0x03, 0x1c, 0x00, 0x3a, 0x02, 0x74, 0x00, 0x5a, 0x03, 0x1c, 0x00, 0x3a, + 0x02, 0x94, 0x00, 0x5a, 0x02, 0x27, 0x00, 0x2e, 0x02, 0x43, 0x00, 0x14, 0x02, 0xf4, 0x00, 0x55, + 0x02, 0x8a, 0x00, 0x00, 0x03, 0xc7, 0x00, 0x00, 0x02, 0x9b, 0x00, 0x00, 0x02, 0x70, 0x00, 0x00, + 0x02, 0x43, 0x00, 0x18, 0x01, 0x4b, 0x00, 0x46, 0x01, 0x9d, 0x00, 0x06, 0x01, 0x4b, 0x00, 0x19, + 0x02, 0x3c, 0x00, 0x17, 0x01, 0x9b, 0xff, 0xfe, 0x01, 0x6a, 0x00, 0x28, 0x02, 0x5c, 0x00, 0x2a, + 0x02, 0x79, 0x00, 0x4e, 0x02, 0x02, 0x00, 0x2d, 0x02, 0x79, 0x00, 0x2d, 0x02, 0x4f, 0x00, 0x2d, + 0x01, 0x83, 0x00, 0x14, 0x02, 0x79, 0x00, 0x2d, 0x02, 0x91, 0x00, 0x4e, 0x01, 0x31, 0x00, 0x48, + 0x01, 0x31, 0xff, 0xc0, 0x02, 0x6c, 0x00, 0x4e, 0x01, 0x31, 0x00, 0x4e, 0x03, 0xd6, 0x00, 0x4e, + 0x02, 0x91, 0x00, 0x4e, 0x02, 0x6b, 0x00, 0x2d, 0x02, 0x79, 0x00, 0x4e, 0x02, 0x79, 0x00, 0x2d, + 0x01, 0xc6, 0x00, 0x4e, 0x01, 0xf1, 0x00, 0x2d, 0x01, 0xb2, 0x00, 0x17, 0x02, 0x91, 0x00, 0x4b, + 0x02, 0x39, 0x00, 0x00, 0x03, 0x58, 0x00, 0x0a, 0x02, 0x42, 0x00, 0x05, 0x02, 0x39, 0x00, 0x00, + 0x01, 0xe8, 0x00, 0x1b, 0x01, 0x8a, 0x00, 0x0f, 0x02, 0x27, 0x00, 0xde, 0x01, 0x8a, 0x00, 0x28, + 0x02, 0x3c, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x01, 0x8a, + 0x00, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x02, 0xb8, 0x00, 0x00, 0x02, 0xd4, 0x00, 0x00, 0x03, 0x08, + 0x00, 0x00, 0x03, 0x3d, 0x00, 0x00, 0x03, 0x7a, 0x00, 0x00, 0x03, 0xa3, 0x00, 0x00, 0x03, 0xca, + 0x00, 0x00, 0x03, 0xe2, 0x00, 0x00, 0x04, 0x0d, 0x00, 0x00, 0x04, 0x2c, 0x00, 0x00, 0x04, 0x7f, + 0x00, 0x00, 0x04, 0xb1, 0x00, 0x00, 0x05, 0x0d, 0x00, 0x00, 0x05, 0x8b, 0x00, 0x00, 0x05, 0xd6, + 0x00, 0x00, 0x06, 0x36, 0x00, 0x00, 0x06, 0xb9, 0x00, 0x00, 0x06, 0xdd, 0x00, 0x00, 0x07, 0x7e, + 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x08, 0x4d, 0x00, 0x00, 0x08, 0x95, 0x00, 0x00, 0x08, 0xbb, + 0x00, 0x00, 0x08, 0xe1, 0x00, 0x00, 0x09, 0x06, 0x00, 0x00, 0x09, 0x81, 0x00, 0x00, 0x0a, 0x59, + 0x00, 0x00, 0x0a, 0xa1, 0x00, 0x00, 0x0b, 0x09, 0x00, 0x00, 0x0b, 0x61, 0x00, 0x00, 0x0b, 0x9f, + 0x00, 0x00, 0x0b, 0xcb, 0x00, 0x00, 0x0b, 0xf0, 0x00, 0x00, 0x0c, 0x55, 0x00, 0x00, 0x0c, 0x83, + 0x00, 0x00, 0x0c, 0xb2, 0x00, 0x00, 0x0c, 0xef, 0x00, 0x00, 0x0d, 0x27, 0x00, 0x00, 0x0d, 0x44, + 0x00, 0x00, 0x0d, 0x94, 0x00, 0x00, 0x0d, 0xd6, 0x00, 0x00, 0x0e, 0x2f, 0x00, 0x00, 0x0e, 0x70, + 0x00, 0x00, 0x0e, 0xd1, 0x00, 0x00, 0x0f, 0x21, 0x00, 0x00, 0x0f, 0x98, 0x00, 0x00, 0x0f, 0xb9, + 0x00, 0x00, 0x0f, 0xf7, 0x00, 0x00, 0x10, 0x34, 0x00, 0x00, 0x10, 0xb5, 0x00, 0x00, 0x10, 0xea, + 0x00, 0x00, 0x11, 0x15, 0x00, 0x00, 0x11, 0x42, 0x00, 0x00, 0x11, 0x64, 0x00, 0x00, 0x11, 0x82, + 0x00, 0x00, 0x11, 0xa3, 0x00, 0x00, 0x11, 0xc8, 0x00, 0x00, 0x11, 0xe2, 0x00, 0x00, 0x12, 0x12, + 0x00, 0x00, 0x12, 0x88, 0x00, 0x00, 0x12, 0xf1, 0x00, 0x00, 0x13, 0x42, 0x00, 0x00, 0x13, 0xa9, + 0x00, 0x00, 0x14, 0x09, 0x00, 0x00, 0x14, 0x57, 0x00, 0x00, 0x14, 0xcd, 0x00, 0x00, 0x15, 0x15, + 0x00, 0x00, 0x15, 0x4e, 0x00, 0x00, 0x15, 0xa9, 0x00, 0x00, 0x15, 0xeb, 0x00, 0x00, 0x16, 0x02, + 0x00, 0x00, 0x16, 0x69, 0x00, 0x00, 0x16, 0xae, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x17, 0x64, + 0x00, 0x00, 0x17, 0xc7, 0x00, 0x00, 0x18, 0x0c, 0x00, 0x00, 0x18, 0x84, 0x00, 0x00, 0x18, 0xd1, + 0x00, 0x00, 0x19, 0x16, 0x00, 0x00, 0x19, 0x4b, 0x00, 0x00, 0x19, 0xcd, 0x00, 0x00, 0x19, 0xff, + 0x00, 0x00, 0x1a, 0x59, 0x00, 0x00, 0x1a, 0x82, 0x00, 0x00, 0x1a, 0xde, 0x00, 0x00, 0x1a, 0xf7, + 0x00, 0x00, 0x1b, 0x52, 0x00, 0x00, 0x1b, 0xa0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, + 0x04, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x96, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1e, + 0x00, 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x2f, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x0d, 0x00, 0x3f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x1a, + 0x00, 0x4c, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x08, 0x00, 0x66, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x3c, 0x00, 0x6e, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, + 0x00, 0x04, 0x00, 0x1a, 0x00, 0xaa, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x06, + 0x00, 0xc4, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x1a, 0x00, 0xca, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x42, 0x6f, 0x6c, 0x64, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x42, 0x6f, 0x6c, + 0x64, 0x3a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x30, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x31, 0x2e, 0x30, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x47, 0x00, 0x65, + 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, + 0x00, 0x3a, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x20, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x00, 0x00, 0x03, 0x02, 0x68, 0x02, 0xbc, 0x00, 0x05, 0x00, 0x08, 0x02, 0x8a, + 0x02, 0x58, 0x00, 0x00, 0x00, 0x4b, 0x02, 0x8a, 0x02, 0x58, 0x00, 0x00, 0x01, 0x5e, 0x00, 0x32, + 0x01, 0x48, 0x00, 0x00, 0x02, 0x0b, 0x08, 0x02, 0x04, 0x05, 0x04, 0x02, 0x02, 0x04, 0xe0, 0x00, + 0x82, 0xff, 0x40, 0x00, 0x20, 0x5f, 0x08, 0x00, 0x00, 0x29, 0x00, 0x10, 0x00, 0x00, 0x47, 0x4f, + 0x4f, 0x47, 0x00, 0xa0, 0x00, 0x00, 0xff, 0xfd, 0x04, 0x2d, 0xfe, 0xdb, 0x00, 0x00, 0x05, 0x43, + 0x01, 0x8b, 0x00, 0x00, 0x01, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x02, 0xca, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x01, 0xff, 0x85, 0xb0, 0x04, 0x8d, 0x00 +}; diff --git a/examples/TFT_eSPI/Noto_Font_Sizes/Noto_Font_Sizes.ino b/examples/TFT_eSPI/Noto_Font_Sizes/Noto_Font_Sizes.ino new file mode 100644 index 0000000..c42ef44 --- /dev/null +++ b/examples/TFT_eSPI/Noto_Font_Sizes/Noto_Font_Sizes.ino @@ -0,0 +1,142 @@ +/* + Font generation: + + This sketch uses a ttf (TrueType Font) file that has been converted to a binary + format in a byte array. See NotoSans_Bold.h tab of this sketch. + + https://en.wikipedia.org/wiki/TrueType + + The font used in this sketch is free to use and from Google: + + https://fonts.google.com/ + + TTF font files can be VERY large, fortunately there are python and online tools that can + be used to convert a ttf font to a new ttf font file with a subset of the characters + (called "font subsetting") as needed by the sketch. For example maybe only 0-9 and : are + needed to display the time. It’s important to check the licence a particular font before + use and subsetting. Here is a simple subsetting online tool: + + https://products.aspose.app/font/generator/ttf-to-ttf + + To use this tool: + 1. Drag and drop file + 2. Copy and paste the "Font symbols" you want, here are ASCII characters 20 (space) and 33-126: + !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + 3. Make sure you include the "space" character if you are going to use it (renders as a box otherwise) + 4. Click "Generate" + 5. Save the file and convert to an array + + There is a more sophisticated font subsetting tool here: + + https://www.fontsquirrel.com/tools/webfont-generator + + The font must be in ttf format, it can then be converted to a binary array using the tool here: + + https://notisrac.github.io/FileToCArray/ + + To use this tool: + 1. Drag and drop the ttf file on "Browse..." button + 2. Untick box "static" + 3. Click "Convert" + 4. Click "Save as file" and move the header file to sketch folder + 5. Open the sketch in IDE + 6. Include the header file containing the array (NotoSans_Bold.h in this example) + + ttf font files can be very large, there are python and online tools that can + be used to convert a ttf font to a new font file with a subset of the characters + that will be used by the sketch. For example maybe only 0-9 and : are needed to + display the time. + + Note that translating a ttf font character to a glyph that can be rendered on + screen is a processor intensive operation. This means the rendering speed will + be much lower than bitmap encoded fonts which just need to be copied to the + display. + + TrueType font characters are scalable, so different font files are not needed to + render different size characters on the TFT screen. This is very convenient, just + use the setFontSize(font_size) function (see below). +*/ + +#include "TFT_eSPI.h" +#include "NotoSans_Bold.h" +#include "OpenFontRender.h" + +#define TTF_FONT NotoSans_Bold // The font is referenced with the array name +OpenFontRender ofr; + +TFT_eSPI tft; + +void setup() { + Serial.begin(115200); + + tft.begin(); + tft.setRotation(0); + tft.fillScreen(TFT_BLACK); + + ofr.setDrawer(tft); // Link drawing object to tft instance (so font will be rendered on TFT) +} + +void loop() { + tft.fillScreen(TFT_BLACK); + + ofr.setFontColor(TFT_YELLOW, TFT_BLACK); + + // Load the font and check it can be read OK + if (ofr.loadFont(TTF_FONT, sizeof(TTF_FONT))) { + Serial.println("Initialise error"); + return; + } + + // Set the cursor + ofr.setCursor(tft.width() / 2, 10); + + // A neat feature is that line spacing can be tightened up (by a factor of 0.8 here) + ofr.setLineSpaceRatio(0.8); + + renderTTF("It is a period of civil war.\n"); + renderTTF("Rebel spaceships, striking\n"); + renderTTF("from a hidden base, have won\n"); + renderTTF("their first victory against\n"); + renderTTF("the evil Galactic Empire.\n\n"); + + renderTTF("During the battle, Rebel\n"); + renderTTF("spies managed to steal secret\n"); + renderTTF("plans to the Empire's\n"); + renderTTF("ultimate weapon, the DEATH\n"); + renderTTF("STAR, an armored space\n"); + renderTTF("station with enough power to\n"); + renderTTF("destroy an entire planet.\n\n"); + + renderTTF("Pursued by the Empire's\n"); + renderTTF("sinister agents, Princess\n"); + renderTTF("Leia races home aboard her\n"); + renderTTF("starship, custodian of the\n"); + renderTTF("stolen plans that can save\n"); + renderTTF("her people and restore\n"); + renderTTF("freedom to the galaxy....\n"); + renderTTF(""); + + // Unload font + ofr.unloadFont(); + + // Wait here for ever + while (1) delay(1); +} + +void renderTTF(const char *str) +{ + static float df = 1.0; + const uint8_t fsize = 20; + const float mult = 1.05; + + // Reset df if string is empty + if (str[0] == 0) { + df = 1.0; + return; + } + + ofr.setFontSize(fsize * df); + ofr.cprintf(str); + + df = df * mult; +} diff --git a/examples/TFT_eSPI/Sprite_Noto_Font_Demo/NotoSans_Bold.h b/examples/TFT_eSPI/Sprite_Noto_Font_Demo/NotoSans_Bold.h new file mode 100644 index 0000000..b05e99e --- /dev/null +++ b/examples/TFT_eSPI/Sprite_Noto_Font_Demo/NotoSans_Bold.h @@ -0,0 +1,732 @@ +// This font is a subset of the full font to reduce array size, ONLY these characters are present: +// !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + +// array size is 11592 + +const unsigned char NotoSans_Bold[] PROGMEM = { + 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x80, 0x00, 0x03, 0x00, 0x30, 0x63, 0x6d, 0x61, 0x70, + 0xe1, 0x4c, 0xf1, 0x46, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x0b, 0x6e, 0x67, 0x6c, 0x79, 0x66, + 0xab, 0x85, 0x48, 0xd5, 0x00, 0x00, 0x0c, 0x2c, 0x00, 0x00, 0x1b, 0xa0, 0x68, 0x65, 0x61, 0x64, + 0x26, 0x95, 0xb4, 0xa1, 0x00, 0x00, 0x27, 0xcc, 0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, + 0x03, 0x7f, 0x04, 0x08, 0x00, 0x00, 0x28, 0x04, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, + 0xd0, 0xa7, 0x10, 0x76, 0x00, 0x00, 0x28, 0x28, 0x00, 0x00, 0x01, 0x7c, 0x6c, 0x6f, 0x63, 0x61, + 0x00, 0x05, 0x33, 0xed, 0x00, 0x00, 0x29, 0xa4, 0x00, 0x00, 0x01, 0x80, 0x6d, 0x61, 0x78, 0x70, + 0x07, 0x5d, 0x11, 0x1f, 0x00, 0x00, 0x2b, 0x24, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x1a, 0x56, 0x03, 0x30, 0x00, 0x00, 0x2b, 0x44, 0x00, 0x00, 0x01, 0x7a, 0x4f, 0x53, 0x2f, 0x32, + 0x0f, 0x8e, 0x89, 0xf7, 0x00, 0x00, 0x2c, 0xc0, 0x00, 0x00, 0x00, 0x60, 0x70, 0x6f, 0x73, 0x74, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x20, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, + 0x68, 0x06, 0x8c, 0x85, 0x00, 0x00, 0x2d, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe2, + 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x07, 0xa8, 0x00, 0x04, 0x03, 0xc6, 0x00, 0x00, 0x00, 0xbe, + 0x00, 0x80, 0x00, 0x06, 0x00, 0x3e, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, + 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, + 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, + 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, + 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, + 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, + 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, + 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, + 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, + 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, + 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, + 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, + 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, + 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, + 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, + 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, + 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, + 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, + 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, + 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, + 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, + 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, + 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, + 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, + 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, + 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, + 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, + 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, + 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, + 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, + 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, + 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, + 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, + 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x04, + 0x03, 0xc6, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x80, 0x00, 0x06, 0x00, 0x3e, 0x00, 0x21, 0x00, 0x22, + 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, + 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, + 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, + 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, + 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, + 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, + 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, + 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, + 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, + 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, + 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, + 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x21, 0x00, 0x22, + 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, + 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, + 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, + 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, + 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, + 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, + 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, + 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, + 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, + 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, + 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, + 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, + 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, + 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, + 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, + 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, + 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, + 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, + 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, + 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, + 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, + 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, + 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, + 0x00, 0x5e, 0x00, 0x00, 0x00, 0x04, 0x03, 0xc6, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x80, 0x00, 0x06, + 0x00, 0x3e, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, + 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, + 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, + 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, + 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, + 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, + 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, + 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, + 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, + 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, + 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, + 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, + 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, + 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, + 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, + 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, + 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, + 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, + 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, + 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, + 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, + 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, + 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, + 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0xbe, 0x00, 0x01, 0x00, 0x02, + 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, + 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, + 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, + 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, + 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, + 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, + 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, + 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, + 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, + 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, + 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, + 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x58, 0x08, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00, 0xfd, 0xad, 0x02, 0x4e, + 0x00, 0x00, 0xfd, 0xb2, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x07, 0xf6, 0x00, 0x00, 0x00, 0x02, 0x00, 0x39, 0xff, 0xf3, 0x00, 0xe4, 0x02, 0xca, 0x00, 0x03, + 0x00, 0x0f, 0x00, 0x00, 0x37, 0x23, 0x03, 0x33, 0x03, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0xcb, 0x77, 0x19, 0xa9, 0xab, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, + 0x32, 0xed, 0x01, 0xdd, 0xfd, 0x7c, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, + 0x41, 0x01, 0xc8, 0x01, 0x97, 0x02, 0xca, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x13, 0x03, 0x23, + 0x03, 0x21, 0x03, 0x23, 0x03, 0xc9, 0x14, 0x60, 0x14, 0x01, 0x56, 0x14, 0x60, 0x14, 0x02, 0xca, + 0xfe, 0xfe, 0x01, 0x02, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x02, 0x70, + 0x02, 0xc9, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, + 0x23, 0x07, 0x23, 0x37, 0x23, 0x35, 0x33, 0x37, 0x23, 0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, + 0x33, 0x07, 0x33, 0x15, 0x05, 0x33, 0x37, 0x23, 0x01, 0xe8, 0x17, 0x7e, 0x91, 0x26, 0x6b, 0x26, + 0x5f, 0x25, 0x69, 0x24, 0x74, 0x87, 0x17, 0x7b, 0x8d, 0x26, 0x6b, 0x26, 0x61, 0x26, 0x69, 0x26, + 0x75, 0xfe, 0x97, 0x60, 0x17, 0x60, 0x01, 0x9c, 0x71, 0x65, 0xc6, 0xc6, 0xc6, 0xc6, 0x65, 0x71, + 0x66, 0xc7, 0xc7, 0xc7, 0xc7, 0x66, 0x71, 0x71, 0x00, 0x03, 0x00, 0x2b, 0xff, 0xc6, 0x02, 0x15, + 0x02, 0xf7, 0x00, 0x22, 0x00, 0x28, 0x00, 0x2e, 0x00, 0x00, 0x37, 0x26, 0x26, 0x27, 0x35, 0x16, + 0x16, 0x17, 0x35, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x07, 0x26, + 0x26, 0x27, 0x15, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 0x11, 0x06, 0x15, 0x14, 0x16, + 0x17, 0x13, 0x36, 0x35, 0x34, 0x26, 0x27, 0xfd, 0x41, 0x66, 0x2a, 0x29, 0x74, 0x34, 0x4d, 0x5d, + 0x28, 0x75, 0x5d, 0x43, 0x6f, 0x5b, 0x2e, 0x28, 0x51, 0x23, 0x36, 0x62, 0x3d, 0x6a, 0x6b, 0x43, + 0x3f, 0x1e, 0x21, 0x43, 0x42, 0x21, 0x21, 0x28, 0x02, 0x15, 0x13, 0x81, 0x14, 0x21, 0x03, 0x97, + 0x1e, 0x39, 0x46, 0x31, 0x4b, 0x59, 0x08, 0x4b, 0x49, 0x04, 0x29, 0x72, 0x11, 0x12, 0x03, 0x90, + 0x14, 0x2f, 0x48, 0x3b, 0x49, 0x62, 0x0a, 0x64, 0x02, 0x6d, 0x09, 0x2a, 0x15, 0x1c, 0x0f, 0xfe, + 0xde, 0x0c, 0x2e, 0x14, 0x1d, 0x0f, 0x00, 0x05, 0x00, 0x1f, 0xff, 0xf7, 0x03, 0x66, 0x02, 0xd4, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x00, 0x13, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x05, 0x01, 0x23, 0x01, 0x05, 0x22, 0x15, 0x14, + 0x33, 0x32, 0x35, 0x34, 0x05, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, + 0x17, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0xc7, 0x54, 0x57, 0x52, 0x59, 0x52, 0x56, 0x50, + 0x02, 0x53, 0xfe, 0x74, 0x75, 0x01, 0x8c, 0xfe, 0x7b, 0x2e, 0x2e, 0x2f, 0x01, 0xc4, 0x54, 0x57, + 0x52, 0x59, 0x52, 0x56, 0x50, 0x59, 0x2e, 0x2e, 0x2f, 0x02, 0xd4, 0x75, 0x6a, 0x6a, 0x77, 0x77, + 0x6a, 0x6a, 0x75, 0x0a, 0xfd, 0x36, 0x02, 0xca, 0x5c, 0x7a, 0x7b, 0x7b, 0x7a, 0xb7, 0x75, 0x6a, + 0x6a, 0x77, 0x77, 0x6a, 0x6a, 0x75, 0x66, 0x7a, 0x7b, 0x7b, 0x7a, 0x00, 0x03, 0x00, 0x28, 0xff, + 0xf6, 0x02, 0xee, 0x02, 0xd4, 0x00, 0x21, 0x00, 0x2d, 0x00, 0x37, 0x00, 0x00, 0x01, 0x32, 0x16, + 0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x36, 0x36, 0x37, 0x33, 0x06, 0x06, 0x07, 0x17, 0x23, 0x27, + 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x17, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x36, 0x36, 0x35, 0x34, 0x26, 0x03, 0x06, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x01, 0x36, 0x3a, 0x5a, 0x34, 0x52, 0x3d, 0x8b, 0x14, 0x1e, 0x0a, + 0x9b, 0x0f, 0x3a, 0x2d, 0x93, 0xb8, 0x38, 0x2b, 0x6a, 0x3e, 0x7a, 0x89, 0x46, 0x3d, 0x27, 0x1f, + 0x35, 0x5f, 0x3c, 0x19, 0x2d, 0x19, 0x15, 0x2a, 0x2d, 0x28, 0x4a, 0x1c, 0x21, 0x40, 0x30, 0x20, + 0x38, 0x17, 0x02, 0xd4, 0x24, 0x45, 0x32, 0x45, 0x5e, 0x23, 0x87, 0x22, 0x4b, 0x26, 0x38, 0x80, + 0x38, 0x8f, 0x37, 0x1e, 0x23, 0x70, 0x5b, 0x4c, 0x5b, 0x23, 0x2d, 0x4c, 0x2b, 0x33, 0x4a, 0x28, + 0x73, 0x19, 0x23, 0x19, 0x2e, 0x18, 0x17, 0x2e, 0x1e, 0x1e, 0x1a, 0xfe, 0xd1, 0x15, 0x2f, 0x1f, + 0x2b, 0x31, 0x10, 0x0e, 0x00, 0x01, 0x00, 0x41, 0x01, 0xc8, 0x00, 0xc9, 0x02, 0xca, 0x00, 0x03, + 0x00, 0x00, 0x13, 0x03, 0x23, 0x03, 0xc9, 0x14, 0x60, 0x14, 0x02, 0xca, 0xfe, 0xfe, 0x01, 0x02, + 0x00, 0x01, 0x00, 0x28, 0xff, 0x62, 0x01, 0x35, 0x02, 0xca, 0x00, 0x0d, 0x00, 0x00, 0x13, 0x34, + 0x36, 0x37, 0x33, 0x06, 0x06, 0x15, 0x14, 0x16, 0x17, 0x23, 0x26, 0x26, 0x28, 0x47, 0x4c, 0x7a, + 0x44, 0x47, 0x47, 0x43, 0x79, 0x4c, 0x47, 0x01, 0x12, 0x7a, 0xe3, 0x5b, 0x5e, 0xe2, 0x77, 0x74, + 0xe1, 0x5c, 0x58, 0xdf, 0x00, 0x01, 0x00, 0x1e, 0xff, 0x62, 0x01, 0x2b, 0x02, 0xca, 0x00, 0x0d, + 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x23, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x33, 0x16, 0x16, + 0x01, 0x2b, 0x47, 0x4c, 0x79, 0x44, 0x46, 0x47, 0x44, 0x7a, 0x4c, 0x47, 0x01, 0x12, 0x79, 0xdf, + 0x58, 0x5c, 0xe1, 0x74, 0x77, 0xe2, 0x5e, 0x5b, 0xe3, 0x00, 0x01, 0x00, 0x1f, 0x01, 0x24, 0x02, + 0x02, 0x02, 0xf8, 0x00, 0x0e, 0x00, 0x00, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, 0x27, 0x07, + 0x27, 0x37, 0x27, 0x37, 0x17, 0x27, 0x01, 0x50, 0x14, 0xb6, 0x10, 0xa6, 0x6d, 0x6f, 0x4c, 0x43, + 0x73, 0x6c, 0xa5, 0x13, 0xb2, 0x14, 0x02, 0xf8, 0xb4, 0x33, 0x7b, 0x0c, 0x91, 0x3b, 0x99, 0x98, + 0x3a, 0x91, 0x0d, 0x7a, 0x33, 0xb4, 0x00, 0x01, 0x00, 0x2b, 0x00, 0x6f, 0x02, 0x10, 0x02, 0x54, + 0x00, 0x0b, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, + 0x01, 0x53, 0xbd, 0xbd, 0x6b, 0xbd, 0xbd, 0x6b, 0x01, 0x96, 0x6b, 0xbc, 0xbc, 0x6b, 0xbe, 0x00, + 0x01, 0x00, 0x1f, 0xff, 0x7f, 0x00, 0xe0, 0x00, 0x74, 0x00, 0x08, 0x00, 0x00, 0x37, 0x06, 0x06, + 0x07, 0x23, 0x36, 0x36, 0x37, 0x33, 0xe0, 0x0d, 0x30, 0x19, 0x6b, 0x0e, 0x1c, 0x07, 0x89, 0x69, + 0x35, 0x7e, 0x37, 0x3b, 0x86, 0x34, 0x00, 0x01, 0x00, 0x1e, 0x00, 0xcf, 0x01, 0x24, 0x01, 0x49, + 0x00, 0x03, 0x00, 0x00, 0x37, 0x35, 0x21, 0x15, 0x1e, 0x01, 0x06, 0xcf, 0x7a, 0x7a, 0x00, 0x01, + 0x00, 0x39, 0xff, 0xf3, 0x00, 0xe4, 0x00, 0x99, 0x00, 0x0b, 0x00, 0x00, 0x37, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, + 0x32, 0x46, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x01, + 0x98, 0x02, 0xca, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01, 0x23, 0x01, 0x01, 0x98, 0xfe, 0xf6, 0x87, + 0x01, 0x0a, 0x02, 0xca, 0xfd, 0x36, 0x02, 0xca, 0x00, 0x02, 0x00, 0x24, 0xff, 0xf6, 0x02, 0x17, + 0x02, 0xd5, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x00, 0x01, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x02, 0x17, 0x31, 0x6d, 0x5c, 0x81, 0x78, 0x30, 0x6e, 0x5b, 0x80, 0x7a, 0xfe, 0xa3, + 0x2a, 0x39, 0x38, 0x2c, 0x2c, 0x38, 0x39, 0x2a, 0x01, 0x65, 0x73, 0xa4, 0x58, 0xc3, 0xac, 0x74, + 0xa4, 0x58, 0xc2, 0xae, 0x7a, 0x7b, 0x7a, 0x7b, 0x7a, 0x7c, 0x7c, 0x00, 0x01, 0x00, 0x3b, 0x00, + 0x00, 0x01, 0x9d, 0x02, 0xca, 0x00, 0x0c, 0x00, 0x00, 0x21, 0x23, 0x11, 0x34, 0x36, 0x37, 0x06, + 0x06, 0x07, 0x07, 0x27, 0x37, 0x33, 0x01, 0x9d, 0x97, 0x03, 0x01, 0x05, 0x21, 0x0e, 0x52, 0x49, + 0xe6, 0x7c, 0x01, 0x9d, 0x1a, 0x54, 0x20, 0x06, 0x1f, 0x0c, 0x42, 0x5b, 0xb7, 0x00, 0x01, 0x00, + 0x26, 0x00, 0x00, 0x02, 0x1b, 0x02, 0xd4, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x21, 0x35, 0x37, 0x3e, + 0x02, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x16, 0x15, + 0x14, 0x06, 0x06, 0x07, 0x07, 0x15, 0x21, 0x02, 0x1b, 0xfe, 0x0d, 0xb3, 0x36, 0x42, 0x1e, 0x2f, + 0x28, 0x29, 0x4e, 0x2b, 0x52, 0x1f, 0x45, 0x5b, 0x40, 0x46, 0x65, 0x37, 0x2f, 0x59, 0x3f, 0x5c, + 0x01, 0x37, 0x69, 0xb5, 0x38, 0x4b, 0x3d, 0x23, 0x2b, 0x2a, 0x26, 0x23, 0x61, 0x1b, 0x2e, 0x1d, + 0x33, 0x57, 0x37, 0x3b, 0x62, 0x60, 0x3a, 0x56, 0x07, 0x00, 0x01, 0x00, 0x26, 0xff, 0xf6, 0x02, + 0x14, 0x02, 0xd4, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x15, 0x16, 0x16, 0x15, 0x14, + 0x06, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x23, + 0x23, 0x35, 0x33, 0x32, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, + 0x33, 0x32, 0x16, 0x01, 0xff, 0x59, 0x41, 0x56, 0x59, 0x3d, 0x7f, 0x64, 0x74, 0x5a, 0x2e, 0x65, + 0x2b, 0x51, 0x41, 0x1e, 0x4b, 0x43, 0x36, 0x37, 0x42, 0x45, 0x19, 0x2f, 0x37, 0x33, 0x4b, 0x1a, + 0x46, 0x2a, 0x71, 0x4e, 0x6e, 0x81, 0x02, 0x2a, 0x4a, 0x58, 0x10, 0x03, 0x0a, 0x54, 0x47, 0x3e, + 0x63, 0x39, 0x27, 0x80, 0x17, 0x18, 0x38, 0x33, 0x1e, 0x29, 0x15, 0x74, 0x19, 0x2b, 0x1c, 0x26, + 0x2b, 0x23, 0x11, 0x68, 0x1e, 0x28, 0x59, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x02, 0x2b, 0x02, + 0xca, 0x00, 0x0a, 0x00, 0x15, 0x00, 0x00, 0x25, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, + 0x11, 0x33, 0x27, 0x34, 0x36, 0x36, 0x37, 0x23, 0x06, 0x06, 0x07, 0x07, 0x33, 0x02, 0x2b, 0x56, + 0x93, 0xfe, 0xcf, 0x01, 0x39, 0x8b, 0x56, 0xe9, 0x02, 0x03, 0x01, 0x04, 0x09, 0x14, 0x0e, 0x83, + 0xac, 0x94, 0x94, 0x94, 0x69, 0x01, 0xcd, 0xfe, 0x3f, 0x79, 0x17, 0x42, 0x39, 0x09, 0x14, 0x26, + 0x14, 0xc6, 0x00, 0x01, 0x00, 0x31, 0xff, 0xf6, 0x02, 0x0e, 0x02, 0xca, 0x00, 0x1e, 0x00, 0x00, + 0x01, 0x32, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x23, 0x22, 0x06, 0x07, 0x27, 0x13, 0x21, 0x15, 0x23, 0x07, 0x36, 0x36, 0x01, + 0x2c, 0x41, 0x66, 0x3b, 0x90, 0x8d, 0x38, 0x63, 0x25, 0x25, 0x68, 0x2e, 0x43, 0x47, 0x8f, 0x1c, + 0x3c, 0x14, 0x3c, 0x1b, 0x01, 0x83, 0xff, 0x0d, 0x11, 0x27, 0x01, 0xc8, 0x32, 0x60, 0x47, 0x74, + 0x85, 0x14, 0x13, 0x82, 0x13, 0x1b, 0x37, 0x3a, 0x6c, 0x0b, 0x05, 0x20, 0x01, 0x6c, 0x80, 0x8c, + 0x03, 0x07, 0x00, 0x02, 0x00, 0x23, 0xff, 0xf6, 0x02, 0x1b, 0x02, 0xd2, 0x00, 0x1e, 0x00, 0x2c, + 0x00, 0x00, 0x13, 0x34, 0x3e, 0x03, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x26, 0x23, 0x22, 0x06, + 0x06, 0x07, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x26, 0x05, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x14, 0x16, 0x16, 0x23, 0x12, 0x2d, + 0x51, 0x7d, 0x59, 0x15, 0x38, 0x13, 0x13, 0x2d, 0x16, 0x59, 0x61, 0x28, 0x03, 0x06, 0x14, 0x4b, + 0x3c, 0x5e, 0x6e, 0x83, 0x70, 0x49, 0x76, 0x46, 0x01, 0x02, 0x2c, 0x38, 0x30, 0x31, 0x21, 0x32, + 0x1c, 0x18, 0x31, 0x01, 0x2f, 0x3e, 0x78, 0x6b, 0x53, 0x2f, 0x03, 0x04, 0x79, 0x05, 0x05, 0x38, + 0x65, 0x42, 0x23, 0x30, 0x76, 0x6c, 0x74, 0x84, 0x43, 0x8b, 0x55, 0x3d, 0x40, 0x34, 0x3c, 0x1d, + 0x2e, 0x18, 0x21, 0x3f, 0x2a, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x02, 0x1b, 0x02, 0xca, 0x00, + 0x06, 0x00, 0x00, 0x33, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x6f, 0x01, 0x0c, 0xfe, 0xa0, 0x02, + 0x00, 0xfe, 0xf2, 0x02, 0x4b, 0x7f, 0x5f, 0xfd, 0x95, 0x00, 0x03, 0x00, 0x23, 0xff, 0xf6, 0x02, + 0x18, 0x02, 0xd3, 0x00, 0x1b, 0x00, 0x27, 0x00, 0x35, 0x00, 0x00, 0x01, 0x32, 0x16, 0x16, 0x15, + 0x14, 0x06, 0x07, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, + 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x17, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x36, 0x36, 0x35, + 0x34, 0x26, 0x03, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x27, 0x27, 0x06, 0x06, + 0x01, 0x1e, 0x3e, 0x67, 0x3f, 0x49, 0x37, 0x26, 0x45, 0x2b, 0x3f, 0x71, 0x4a, 0x78, 0x83, 0x50, + 0x39, 0x30, 0x43, 0x40, 0x69, 0x3b, 0x25, 0x31, 0x34, 0x23, 0x22, 0x34, 0x31, 0x94, 0x37, 0x36, + 0x38, 0x38, 0x20, 0x2f, 0x19, 0x0d, 0x2e, 0x3a, 0x02, 0xd3, 0x26, 0x4c, 0x3a, 0x40, 0x53, 0x1b, + 0x14, 0x35, 0x47, 0x30, 0x3b, 0x58, 0x30, 0x66, 0x59, 0x4a, 0x5a, 0x1c, 0x1e, 0x55, 0x40, 0x39, + 0x4c, 0x26, 0x6e, 0x26, 0x23, 0x25, 0x2e, 0x11, 0x10, 0x2d, 0x27, 0x23, 0x26, 0xfe, 0x59, 0x27, + 0x32, 0x30, 0x28, 0x1b, 0x29, 0x21, 0x0e, 0x07, 0x16, 0x3a, 0x00, 0x02, 0x00, 0x20, 0xff, 0xf6, + 0x02, 0x18, 0x02, 0xd2, 0x00, 0x1e, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x14, 0x0e, 0x03, 0x23, 0x22, + 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x36, 0x37, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x25, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x36, 0x35, 0x34, 0x26, 0x26, 0x02, 0x18, 0x12, 0x2d, 0x51, 0x7d, 0x59, 0x15, 0x38, 0x13, 0x14, + 0x2c, 0x16, 0x59, 0x61, 0x28, 0x03, 0x06, 0x15, 0x45, 0x44, 0x5b, 0x6e, 0x83, 0x70, 0x49, 0x76, + 0x46, 0xfe, 0xfe, 0x2c, 0x38, 0x30, 0x31, 0x22, 0x31, 0x1c, 0x18, 0x30, 0x01, 0x99, 0x3d, 0x79, + 0x6b, 0x53, 0x2f, 0x03, 0x04, 0x79, 0x04, 0x06, 0x39, 0x64, 0x42, 0x23, 0x30, 0x76, 0x6c, 0x74, + 0x84, 0x43, 0x8b, 0x55, 0x3c, 0x41, 0x34, 0x3c, 0x1e, 0x2d, 0x18, 0x21, 0x40, 0x29, 0x00, 0x02, + 0x00, 0x39, 0xff, 0xf3, 0x00, 0xe4, 0x02, 0x2c, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, 0x13, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x39, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x32, + 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x01, 0xd9, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, + 0xfe, 0x99, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, 0x1f, 0xff, 0x7f, 0x00, + 0xe4, 0x02, 0x2c, 0x00, 0x0b, 0x00, 0x14, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x13, 0x06, 0x06, 0x07, 0x23, 0x36, 0x36, 0x37, 0x33, 0x39, 0x32, + 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0xa7, 0x0d, 0x30, 0x19, 0x6b, 0x0e, 0x1c, 0x07, 0x89, + 0x01, 0xd9, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0xfe, 0xbc, 0x35, 0x7e, 0x37, 0x3b, 0x86, + 0x34, 0x00, 0x01, 0x00, 0x2b, 0x00, 0x63, 0x02, 0x10, 0x02, 0x71, 0x00, 0x06, 0x00, 0x00, 0x25, + 0x25, 0x35, 0x25, 0x15, 0x05, 0x05, 0x02, 0x10, 0xfe, 0x1b, 0x01, 0xe5, 0xfe, 0xb2, 0x01, 0x4e, + 0x63, 0xd6, 0x46, 0xf2, 0x75, 0x9b, 0x89, 0x00, 0x02, 0x00, 0x2b, 0x00, 0xcc, 0x02, 0x10, 0x01, + 0xf4, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x13, 0x35, 0x21, 0x15, 0x05, 0x35, 0x21, 0x15, 0x2b, + 0x01, 0xe5, 0xfe, 0x1b, 0x01, 0xe5, 0x01, 0x8a, 0x6a, 0x6a, 0xbe, 0x6b, 0x6b, 0x00, 0x01, 0x00, + 0x2b, 0x00, 0x63, 0x02, 0x10, 0x02, 0x71, 0x00, 0x06, 0x00, 0x00, 0x37, 0x25, 0x25, 0x35, 0x05, + 0x15, 0x05, 0x2b, 0x01, 0x4e, 0xfe, 0xb2, 0x01, 0xe5, 0xfe, 0x1b, 0xd8, 0x89, 0x9b, 0x75, 0xf2, + 0x46, 0xd6, 0x00, 0x02, 0x00, 0x03, 0xff, 0xf3, 0x01, 0xc5, 0x02, 0xd4, 0x00, 0x1d, 0x00, 0x29, + 0x00, 0x00, 0x13, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, + 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x06, 0x07, 0x0e, 0x02, 0x15, 0x15, 0x23, 0x07, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x87, 0x2a, 0x33, 0x2d, 0x27, + 0x2f, 0x2a, 0x2a, 0x52, 0x2b, 0x35, 0x31, 0x72, 0x44, 0x68, 0x73, 0x1a, 0x34, 0x27, 0x1d, 0x20, + 0x0b, 0x81, 0x10, 0x32, 0x24, 0x23, 0x32, 0x32, 0x23, 0x24, 0x32, 0x01, 0x11, 0x32, 0x44, 0x25, + 0x20, 0x2f, 0x20, 0x20, 0x21, 0x1a, 0x16, 0x6b, 0x1b, 0x22, 0x64, 0x4d, 0x29, 0x3c, 0x33, 0x1d, + 0x15, 0x1e, 0x1c, 0x15, 0x1d, 0xa7, 0x2e, 0x25, 0x25, 0x2e, 0x2c, 0x27, 0x27, 0x00, 0x02, 0x00, + 0x32, 0xff, 0xac, 0x03, 0x4f, 0x02, 0xca, 0x00, 0x3f, 0x00, 0x4d, 0x00, 0x00, 0x01, 0x14, 0x0e, + 0x02, 0x23, 0x22, 0x26, 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, + 0x32, 0x16, 0x17, 0x07, 0x06, 0x14, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x36, 0x35, 0x34, 0x26, + 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, 0x23, + 0x22, 0x26, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x37, 0x37, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x03, 0x4f, 0x16, 0x2d, 0x44, 0x2e, 0x25, + 0x38, 0x0b, 0x08, 0x14, 0x43, 0x2f, 0x59, 0x61, 0x3a, 0x6a, 0x48, 0x2f, 0x65, 0x1c, 0x0a, 0x01, + 0x17, 0x0e, 0x17, 0x1e, 0x0f, 0x44, 0x75, 0x4b, 0x69, 0x8f, 0x4a, 0x91, 0x88, 0x3a, 0x7e, 0x34, + 0x30, 0x76, 0x42, 0x7c, 0xb0, 0x5d, 0x3c, 0x71, 0x9e, 0x62, 0x6b, 0xa6, 0x5f, 0xfe, 0x0c, 0x2e, + 0x26, 0x32, 0x29, 0x04, 0x06, 0x0b, 0x1c, 0x11, 0x2f, 0x39, 0x19, 0x01, 0x66, 0x2e, 0x5a, 0x4a, + 0x2b, 0x23, 0x1c, 0x19, 0x26, 0x6b, 0x57, 0x43, 0x67, 0x3b, 0x11, 0x0a, 0xcd, 0x0a, 0x15, 0x03, + 0x29, 0x1b, 0x2d, 0x4b, 0x2d, 0x54, 0x75, 0x3e, 0x57, 0x96, 0x61, 0x87, 0x90, 0x1a, 0x13, 0x5e, + 0x14, 0x18, 0x58, 0xa5, 0x74, 0x5b, 0x9c, 0x75, 0x41, 0x56, 0xa0, 0xab, 0x37, 0x30, 0x49, 0x3b, + 0x6c, 0x02, 0x03, 0x29, 0x41, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0xb2, 0x02, 0xcd, 0x00, + 0x07, 0x00, 0x12, 0x00, 0x00, 0x21, 0x27, 0x21, 0x07, 0x23, 0x13, 0x33, 0x13, 0x01, 0x2e, 0x02, + 0x27, 0x0e, 0x02, 0x07, 0x07, 0x33, 0x02, 0x0f, 0x34, 0xfe, 0xfc, 0x34, 0xa3, 0xfc, 0xb9, 0xfd, + 0xfe, 0xd1, 0x05, 0x10, 0x10, 0x05, 0x05, 0x11, 0x0f, 0x04, 0x33, 0xba, 0xaa, 0xaa, 0x02, 0xcd, + 0xfd, 0x33, 0x01, 0xcf, 0x11, 0x34, 0x36, 0x14, 0x14, 0x3b, 0x35, 0x0b, 0xa6, 0x00, 0x03, 0x00, + 0x5a, 0x00, 0x00, 0x02, 0x6b, 0x02, 0xca, 0x00, 0x10, 0x00, 0x19, 0x00, 0x22, 0x00, 0x00, 0x01, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x13, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x1d, 0x02, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x01, 0x38, 0x8f, 0x92, 0x39, 0x35, 0x24, 0x3a, 0x22, 0x8c, 0x7a, 0xfe, 0xf5, 0xef, 0x42, 0x33, + 0x3c, 0x41, 0x50, 0x63, 0x44, 0x36, 0x37, 0x48, 0x02, 0xca, 0x50, 0x65, 0x3d, 0x54, 0x09, 0x05, + 0x07, 0x24, 0x44, 0x38, 0x61, 0x6e, 0x02, 0xca, 0xfe, 0xe5, 0x2a, 0x28, 0x29, 0x24, 0x9f, 0x78, + 0xba, 0x35, 0x2c, 0x28, 0x31, 0x00, 0x01, 0x00, 0x3a, 0xff, 0xf6, 0x02, 0x5a, 0x02, 0xd4, 0x00, + 0x1b, 0x00, 0x00, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x06, 0x06, + 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x01, + 0x89, 0x57, 0x5c, 0x55, 0x5e, 0x2c, 0x57, 0x33, 0x2f, 0x5c, 0x39, 0x6e, 0x8f, 0x44, 0x4e, 0x95, + 0x6c, 0x35, 0x6b, 0x31, 0x31, 0x28, 0x51, 0x02, 0x56, 0x82, 0x71, 0x72, 0x7d, 0x14, 0x12, 0x7f, + 0x13, 0x12, 0x5b, 0xa5, 0x6e, 0x6c, 0xa6, 0x5e, 0x1b, 0x17, 0x7b, 0x13, 0x1c, 0x00, 0x02, 0x00, + 0x5a, 0x00, 0x00, 0x02, 0xaa, 0x02, 0xca, 0x00, 0x09, 0x00, 0x11, 0x00, 0x00, 0x01, 0x14, 0x06, + 0x23, 0x23, 0x11, 0x33, 0x32, 0x16, 0x16, 0x07, 0x34, 0x26, 0x23, 0x23, 0x11, 0x33, 0x32, 0x02, + 0xaa, 0xcd, 0xb9, 0xca, 0xe0, 0x70, 0xa5, 0x5b, 0x9d, 0x68, 0x63, 0x51, 0x41, 0xdb, 0x01, 0x6c, + 0xb5, 0xb7, 0x02, 0xca, 0x50, 0x9b, 0x77, 0x77, 0x6f, 0xfe, 0x2f, 0x00, 0x01, 0x00, 0x5a, 0x00, + 0x00, 0x01, 0xf5, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, + 0x33, 0x15, 0x23, 0x15, 0x21, 0x01, 0xf5, 0xfe, 0x65, 0x01, 0x9b, 0xfe, 0xfc, 0xf2, 0xf2, 0x01, + 0x04, 0x02, 0xca, 0x7c, 0x9d, 0x7c, 0xb8, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x01, 0xf3, 0x02, + 0xca, 0x00, 0x09, 0x00, 0x00, 0x33, 0x23, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x15, 0x23, 0xef, + 0x95, 0x01, 0x99, 0xfe, 0xfc, 0xf2, 0xf2, 0x02, 0xca, 0x7c, 0xb8, 0x7c, 0x00, 0x01, 0x00, 0x3a, + 0xff, 0xf6, 0x02, 0x84, 0x02, 0xd4, 0x00, 0x20, 0x00, 0x00, 0x01, 0x21, 0x11, 0x06, 0x06, 0x23, + 0x22, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, + 0x06, 0x15, 0x14, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x23, 0x01, 0x69, 0x01, 0x1b, 0x38, + 0x79, 0x4d, 0xa0, 0xac, 0x57, 0xa6, 0x78, 0x39, 0x6e, 0x2d, 0x32, 0x21, 0x54, 0x2e, 0x42, 0x61, + 0x35, 0x26, 0x52, 0x42, 0x20, 0x2d, 0x13, 0x87, 0x01, 0x91, 0xfe, 0x8e, 0x13, 0x16, 0xbc, 0xb4, + 0x70, 0xa4, 0x5a, 0x18, 0x14, 0x79, 0x11, 0x16, 0x3c, 0x6d, 0x4a, 0x46, 0x6c, 0x3d, 0x06, 0x04, + 0x95, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x02, 0xa3, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, + 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x02, 0xa3, 0x97, 0xfe, 0xe5, + 0x97, 0x97, 0x01, 0x1b, 0x97, 0x01, 0x34, 0xfe, 0xcc, 0x02, 0xca, 0xfe, 0xe8, 0x01, 0x18, 0x00, + 0x01, 0x00, 0x20, 0x00, 0x00, 0x01, 0x65, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x21, 0x35, + 0x37, 0x11, 0x27, 0x35, 0x21, 0x15, 0x07, 0x11, 0x17, 0x01, 0x65, 0xfe, 0xbb, 0x57, 0x57, 0x01, + 0x45, 0x57, 0x57, 0x56, 0x28, 0x01, 0xce, 0x28, 0x56, 0x56, 0x28, 0xfe, 0x32, 0x28, 0x00, 0x01, + 0xff, 0xb6, 0xff, 0x2e, 0x00, 0xf1, 0x02, 0xca, 0x00, 0x11, 0x00, 0x00, 0x17, 0x22, 0x26, 0x27, + 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x06, 0x0f, 0x1d, + 0x2c, 0x10, 0x10, 0x23, 0x14, 0x1a, 0x2b, 0x18, 0x97, 0x39, 0x66, 0xd2, 0x07, 0x04, 0x7e, 0x04, + 0x06, 0x14, 0x38, 0x34, 0x02, 0x9d, 0xfd, 0x64, 0x5c, 0x71, 0x33, 0x00, 0x01, 0x00, 0x5a, 0x00, + 0x00, 0x02, 0x98, 0x02, 0xca, 0x00, 0x0e, 0x00, 0x00, 0x21, 0x23, 0x03, 0x07, 0x15, 0x23, 0x11, + 0x33, 0x11, 0x36, 0x36, 0x37, 0x37, 0x33, 0x03, 0x02, 0x98, 0xac, 0xbb, 0x40, 0x97, 0x97, 0x0f, + 0x1e, 0x0f, 0xc1, 0xa8, 0xf9, 0x01, 0x2d, 0x2e, 0xff, 0x02, 0xca, 0xfe, 0xb9, 0x15, 0x2a, 0x15, + 0xf3, 0xfe, 0xc4, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x02, 0x13, 0x02, 0xca, 0x00, 0x05, 0x00, + 0x00, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x5a, 0x97, 0x01, 0x22, 0x02, 0xca, 0xfd, 0xb3, 0x7d, + 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x55, 0x02, 0xca, 0x00, 0x17, 0x00, 0x00, 0x21, 0x03, + 0x23, 0x1e, 0x02, 0x15, 0x11, 0x23, 0x11, 0x33, 0x13, 0x33, 0x13, 0x33, 0x11, 0x23, 0x11, 0x34, + 0x36, 0x36, 0x37, 0x23, 0x03, 0x01, 0x88, 0xac, 0x04, 0x01, 0x04, 0x04, 0x87, 0xce, 0xa9, 0x03, + 0xb3, 0xce, 0x8d, 0x03, 0x03, 0x01, 0x04, 0xb8, 0x02, 0x30, 0x14, 0x50, 0x5b, 0x25, 0xfe, 0xb4, + 0x02, 0xca, 0xfd, 0xde, 0x02, 0x22, 0xfd, 0x36, 0x01, 0x52, 0x22, 0x58, 0x4f, 0x14, 0xfd, 0xd1, + 0x00, 0x01, 0x00, 0x5a, 0x00, 0x00, 0x02, 0xd3, 0x02, 0xca, 0x00, 0x11, 0x00, 0x00, 0x21, 0x23, + 0x01, 0x23, 0x16, 0x16, 0x17, 0x11, 0x23, 0x11, 0x33, 0x01, 0x33, 0x26, 0x26, 0x27, 0x11, 0x33, + 0x02, 0xd3, 0xc0, 0xfe, 0xc9, 0x04, 0x02, 0x05, 0x02, 0x87, 0xbf, 0x01, 0x36, 0x03, 0x01, 0x04, + 0x02, 0x88, 0x02, 0x1c, 0x33, 0x66, 0x33, 0xfe, 0xb0, 0x02, 0xca, 0xfd, 0xe9, 0x32, 0x62, 0x31, + 0x01, 0x52, 0x00, 0x02, 0x00, 0x3a, 0xff, 0xf6, 0x02, 0xe2, 0x02, 0xd5, 0x00, 0x0f, 0x00, 0x1b, + 0x00, 0x00, 0x01, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, + 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0xe2, + 0x49, 0x96, 0x75, 0x74, 0x97, 0x49, 0x49, 0x97, 0x75, 0x74, 0x96, 0x49, 0xfd, 0xf7, 0x56, 0x5f, + 0x61, 0x54, 0x54, 0x60, 0x60, 0x56, 0x01, 0x66, 0x6f, 0xa5, 0x5c, 0x5c, 0xa6, 0x6f, 0x6f, 0xa4, + 0x5b, 0x5b, 0xa5, 0x6f, 0x70, 0x81, 0x81, 0x70, 0x71, 0x80, 0x80, 0x00, 0x02, 0x00, 0x5a, 0x00, + 0x00, 0x02, 0x47, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x06, 0x23, 0x23, 0x15, 0x23, 0x11, 0x17, 0x23, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, 0x01, + 0x3e, 0x8a, 0x7f, 0x34, 0x79, 0x68, 0x41, 0x97, 0xdc, 0x45, 0x32, 0x40, 0x4b, 0x02, 0xca, 0x77, + 0x68, 0x3e, 0x6d, 0x42, 0xfe, 0x02, 0xca, 0x7c, 0xd4, 0x33, 0x39, 0x68, 0x00, 0x02, 0x00, 0x3a, + 0xff, 0x56, 0x02, 0xe2, 0x02, 0xd5, 0x00, 0x12, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, + 0x17, 0x23, 0x27, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x16, 0x05, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x02, 0xe2, 0x56, 0x5a, 0xac, + 0xc2, 0x83, 0x0b, 0x74, 0x97, 0x49, 0x49, 0x97, 0x75, 0x74, 0x96, 0x49, 0xfd, 0xf7, 0x56, 0x5f, + 0x61, 0x54, 0x54, 0x60, 0x60, 0x56, 0x01, 0x66, 0x78, 0xaf, 0x29, 0xc0, 0xa0, 0x5c, 0xa6, 0x6f, + 0x6f, 0xa4, 0x5b, 0x5b, 0xa5, 0x6f, 0x70, 0x81, 0x81, 0x70, 0x71, 0x80, 0x80, 0x00, 0x02, 0x00, + 0x5a, 0x00, 0x00, 0x02, 0x94, 0x02, 0xca, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x00, 0x01, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x06, 0x07, 0x13, 0x23, 0x03, 0x23, 0x11, 0x23, 0x11, 0x17, 0x23, 0x15, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 0x2a, 0x92, 0x8b, 0x25, 0x3d, 0x23, 0xd2, 0xa8, 0xaa, 0x51, + 0x97, 0xc5, 0x2e, 0x31, 0x4b, 0x41, 0x45, 0x02, 0xca, 0x6a, 0x6c, 0x31, 0x49, 0x33, 0x10, 0xfe, + 0xc9, 0x01, 0x12, 0xfe, 0xee, 0x02, 0xca, 0x7c, 0xc1, 0x32, 0x31, 0x33, 0x2b, 0x00, 0x01, 0x00, + 0x2e, 0xff, 0xf6, 0x01, 0xff, 0x02, 0xd4, 0x00, 0x28, 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x22, + 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x27, 0x2e, 0x03, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1e, + 0x02, 0x01, 0xff, 0x89, 0x7e, 0x71, 0x59, 0x33, 0x6d, 0x36, 0x38, 0x2f, 0x25, 0x3e, 0x28, 0x19, + 0x3a, 0x35, 0x22, 0x82, 0x70, 0x38, 0x65, 0x37, 0x31, 0x31, 0x4e, 0x29, 0x2b, 0x2e, 0x44, 0x43, + 0x37, 0x4d, 0x2a, 0xc6, 0x5f, 0x71, 0x2b, 0x8d, 0x16, 0x25, 0x2b, 0x21, 0x1b, 0x26, 0x21, 0x13, + 0x0c, 0x21, 0x31, 0x46, 0x31, 0x60, 0x6b, 0x1a, 0x18, 0x76, 0x14, 0x16, 0x28, 0x20, 0x26, 0x2c, + 0x20, 0x1a, 0x38, 0x4c, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x02, 0x2f, 0x02, 0xca, 0x00, 0x07, + 0x00, 0x00, 0x21, 0x23, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x01, 0x6d, 0x97, 0xc2, 0x02, 0x1b, + 0xc2, 0x02, 0x4c, 0x7e, 0x7e, 0x00, 0x01, 0x00, 0x55, 0xff, 0xf6, 0x02, 0x9f, 0x02, 0xca, 0x00, + 0x12, 0x00, 0x00, 0x25, 0x14, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x02, 0x9f, 0x41, 0x83, 0x64, 0x8e, 0x94, 0x97, 0x48, 0x47, + 0x4a, 0x43, 0x97, 0xfc, 0x4a, 0x77, 0x45, 0x91, 0x77, 0x01, 0xcc, 0xfe, 0x4b, 0x58, 0x48, 0x4e, + 0x53, 0x01, 0xb4, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8a, 0x02, 0xca, 0x00, 0x0e, 0x00, + 0x00, 0x01, 0x03, 0x23, 0x03, 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, 0x02, 0x8a, + 0xf3, 0xa5, 0xf2, 0x99, 0x86, 0x04, 0x0f, 0x10, 0x03, 0x03, 0x0f, 0x10, 0x03, 0x87, 0x02, 0xca, + 0xfd, 0x36, 0x02, 0xca, 0xfe, 0x57, 0x0b, 0x3b, 0x41, 0x16, 0x16, 0x41, 0x3b, 0x0b, 0x01, 0xa9, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7, 0x02, 0xca, 0x00, 0x26, 0x00, 0x00, 0x01, 0x03, + 0x23, 0x03, 0x2e, 0x03, 0x27, 0x0e, 0x03, 0x07, 0x03, 0x23, 0x03, 0x33, 0x13, 0x1e, 0x02, 0x17, + 0x3e, 0x02, 0x37, 0x13, 0x33, 0x13, 0x1e, 0x02, 0x17, 0x3e, 0x02, 0x37, 0x13, 0x03, 0xc7, 0xb6, + 0xac, 0x61, 0x03, 0x09, 0x0b, 0x08, 0x02, 0x01, 0x09, 0x0a, 0x0a, 0x03, 0x60, 0xac, 0xb6, 0x95, + 0x5b, 0x06, 0x0e, 0x0c, 0x03, 0x03, 0x0c, 0x0d, 0x05, 0x68, 0x8f, 0x68, 0x05, 0x0d, 0x0c, 0x03, + 0x03, 0x0c, 0x0f, 0x05, 0x5b, 0x02, 0xca, 0xfd, 0x36, 0x01, 0x77, 0x0b, 0x2c, 0x34, 0x2f, 0x0d, + 0x0d, 0x2f, 0x33, 0x2d, 0x0c, 0xfe, 0x8a, 0x02, 0xca, 0xfe, 0x7a, 0x17, 0x46, 0x46, 0x18, 0x19, + 0x45, 0x41, 0x12, 0x01, 0x90, 0xfe, 0x70, 0x11, 0x42, 0x46, 0x18, 0x19, 0x45, 0x46, 0x17, 0x01, + 0x86, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x9b, 0x02, 0xca, 0x00, 0x0b, 0x00, 0x00, 0x21, + 0x23, 0x03, 0x03, 0x23, 0x13, 0x03, 0x33, 0x13, 0x13, 0x33, 0x03, 0x02, 0x9b, 0xad, 0xa6, 0xa6, + 0xa2, 0xed, 0xde, 0xa7, 0x9a, 0x97, 0xa3, 0xe0, 0x01, 0x0e, 0xfe, 0xf2, 0x01, 0x70, 0x01, 0x5a, + 0xfe, 0xff, 0x01, 0x01, 0xfe, 0x9e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x70, 0x02, 0xca, + 0x00, 0x08, 0x00, 0x00, 0x01, 0x13, 0x33, 0x03, 0x11, 0x23, 0x11, 0x03, 0x33, 0x01, 0x38, 0x95, + 0xa3, 0xed, 0x96, 0xed, 0xa4, 0x01, 0xa4, 0x01, 0x26, 0xfe, 0x4c, 0xfe, 0xea, 0x01, 0x11, 0x01, + 0xb9, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x02, 0x2b, 0x02, 0xca, 0x00, 0x09, 0x00, 0x00, 0x21, + 0x21, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x02, 0x2b, 0xfd, 0xed, 0x01, 0x56, 0xfe, + 0xb3, 0x02, 0x01, 0xfe, 0xaa, 0x01, 0x5f, 0x62, 0x01, 0xeb, 0x7d, 0x62, 0xfe, 0x15, 0x00, 0x01, + 0x00, 0x46, 0xff, 0x62, 0x01, 0x32, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x05, 0x23, 0x11, 0x33, + 0x15, 0x23, 0x11, 0x33, 0x01, 0x32, 0xec, 0xec, 0x6d, 0x6d, 0x9e, 0x03, 0x68, 0x67, 0xfd, 0x66, + 0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x01, 0x97, 0x02, 0xca, 0x00, 0x03, 0x00, 0x00, 0x13, 0x01, + 0x23, 0x01, 0x8d, 0x01, 0x0a, 0x87, 0xfe, 0xf6, 0x02, 0xca, 0xfd, 0x36, 0x02, 0xca, 0x00, 0x01, + 0x00, 0x19, 0xff, 0x62, 0x01, 0x05, 0x02, 0xca, 0x00, 0x07, 0x00, 0x00, 0x17, 0x33, 0x11, 0x23, + 0x35, 0x33, 0x11, 0x23, 0x19, 0x6d, 0x6d, 0xec, 0xec, 0x37, 0x02, 0x9a, 0x67, 0xfc, 0x98, 0x00, + 0x01, 0x00, 0x17, 0x00, 0xfe, 0x02, 0x25, 0x02, 0xce, 0x00, 0x06, 0x00, 0x00, 0x37, 0x13, 0x33, + 0x13, 0x23, 0x03, 0x03, 0x17, 0xd6, 0x46, 0xf2, 0x75, 0x9d, 0x89, 0xfe, 0x01, 0xd0, 0xfe, 0x30, + 0x01, 0x3a, 0xfe, 0xc6, 0x00, 0x01, 0xff, 0xfe, 0xff, 0x62, 0x01, 0x9d, 0xff, 0xa6, 0x00, 0x03, + 0x00, 0x00, 0x05, 0x21, 0x35, 0x21, 0x01, 0x9d, 0xfe, 0x61, 0x01, 0x9f, 0x9e, 0x44, 0x00, 0x01, + 0x00, 0x28, 0x02, 0x5e, 0x01, 0x42, 0x02, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x13, 0x1e, 0x02, 0x17, + 0x15, 0x23, 0x2e, 0x03, 0x27, 0x35, 0xcf, 0x0f, 0x29, 0x2b, 0x10, 0x63, 0x13, 0x33, 0x35, 0x2e, + 0x0e, 0x02, 0xfe, 0x16, 0x37, 0x33, 0x13, 0x0d, 0x0d, 0x27, 0x2c, 0x28, 0x0e, 0x0a, 0x00, 0x02, + 0x00, 0x2a, 0xff, 0xf6, 0x02, 0x11, 0x02, 0x2d, 0x00, 0x1b, 0x00, 0x26, 0x00, 0x00, 0x01, 0x32, + 0x16, 0x15, 0x11, 0x23, 0x27, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x37, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x13, 0x06, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x35, 0x01, 0x2e, 0x6e, 0x75, 0x68, 0x1d, 0x04, 0x23, 0x4e, 0x44, 0x49, + 0x60, 0x7a, 0x7a, 0x5f, 0x2d, 0x28, 0x28, 0x4c, 0x26, 0x31, 0x2c, 0x6b, 0x4f, 0x48, 0x38, 0x28, + 0x20, 0x30, 0x42, 0x02, 0x2d, 0x5f, 0x62, 0xfe, 0x94, 0x4a, 0x2c, 0x28, 0x55, 0x58, 0x57, 0x53, + 0x04, 0x03, 0x18, 0x2b, 0x28, 0x17, 0x11, 0x65, 0x17, 0x1a, 0xfe, 0xce, 0x02, 0x30, 0x27, 0x22, + 0x1d, 0x39, 0x34, 0x2d, 0x00, 0x02, 0x00, 0x4e, 0xff, 0xf6, 0x02, 0x4c, 0x02, 0xf8, 0x00, 0x15, + 0x00, 0x22, 0x00, 0x00, 0x13, 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, 0x07, 0x23, 0x11, 0x33, 0x13, 0x22, 0x06, 0x07, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0xe3, 0x04, 0x02, 0x06, 0x16, 0x4a, 0x3b, 0x5c, 0x72, + 0x74, 0x5e, 0x3c, 0x45, 0x16, 0x0a, 0x19, 0x72, 0x95, 0x6b, 0x3a, 0x2f, 0x02, 0x2f, 0x3e, 0x2e, + 0x36, 0x37, 0x02, 0x47, 0x1f, 0x3c, 0x11, 0x22, 0x2f, 0x8f, 0x8b, 0x8c, 0x90, 0x2b, 0x1b, 0x3c, + 0x02, 0xf8, 0xfe, 0xbd, 0x48, 0x4a, 0x10, 0x4f, 0x55, 0x55, 0x50, 0x50, 0x51, 0x00, 0x01, 0x00, + 0x2d, 0xff, 0xf6, 0x01, 0xe3, 0x02, 0x2c, 0x00, 0x19, 0x00, 0x00, 0x05, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x37, 0x15, 0x06, 0x06, 0x01, 0x2c, 0x7a, 0x85, 0x44, 0x79, 0x4f, 0x38, 0x53, 0x1f, 0x2c, + 0x23, 0x3d, 0x1e, 0x74, 0x3d, 0x37, 0x2f, 0x48, 0x22, 0x22, 0x4b, 0x0a, 0x87, 0x91, 0x64, 0x7e, + 0x3c, 0x16, 0x0f, 0x73, 0x0e, 0x12, 0xa5, 0x52, 0x4e, 0x19, 0x16, 0x7f, 0x16, 0x13, 0x00, 0x02, + 0x00, 0x2d, 0xff, 0xf6, 0x02, 0x2b, 0x02, 0xf8, 0x00, 0x15, 0x00, 0x22, 0x00, 0x00, 0x17, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x26, 0x26, 0x35, 0x35, 0x33, 0x11, 0x23, + 0x27, 0x23, 0x06, 0x06, 0x27, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x16, 0xfb, 0x5b, 0x73, 0x74, 0x5e, 0x3b, 0x4c, 0x16, 0x05, 0x03, 0x08, 0x95, 0x72, 0x1d, 0x06, + 0x16, 0x4a, 0x07, 0x3e, 0x32, 0x01, 0x31, 0x42, 0x31, 0x38, 0x38, 0x0a, 0x8f, 0x8b, 0x8c, 0x90, + 0x2e, 0x22, 0x10, 0x3d, 0x20, 0xaf, 0xfd, 0x08, 0x47, 0x22, 0x2f, 0x77, 0x49, 0x49, 0x10, 0x50, + 0x54, 0x55, 0x50, 0x50, 0x51, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, 0x02, 0x24, 0x02, 0x2c, 0x00, + 0x16, 0x00, 0x1d, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, + 0x37, 0x15, 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x17, 0x22, 0x06, 0x07, + 0x33, 0x26, 0x26, 0x01, 0x2f, 0x71, 0x84, 0xfe, 0xa0, 0x02, 0x47, 0x3f, 0x35, 0x56, 0x2e, 0x28, + 0x59, 0x3f, 0x52, 0x7e, 0x48, 0x41, 0x74, 0x4e, 0x2b, 0x39, 0x05, 0xd1, 0x01, 0x32, 0x02, 0x2c, + 0x81, 0x77, 0x48, 0x3f, 0x48, 0x15, 0x16, 0x73, 0x14, 0x13, 0x3d, 0x7c, 0x5e, 0x60, 0x7f, 0x40, + 0x6a, 0x38, 0x3b, 0x32, 0x41, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x01, 0xb0, 0x02, 0xfd, 0x00, + 0x18, 0x00, 0x00, 0x01, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x37, 0x35, 0x34, 0x36, 0x36, 0x33, + 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x33, 0x01, 0x7c, 0x81, 0x95, + 0x52, 0x52, 0x2f, 0x57, 0x3b, 0x2c, 0x47, 0x16, 0x26, 0x11, 0x28, 0x1a, 0x1f, 0x1d, 0x81, 0x01, + 0xb2, 0xfe, 0x4e, 0x01, 0xb2, 0x48, 0x28, 0x28, 0x46, 0x4d, 0x20, 0x0e, 0x09, 0x6d, 0x05, 0x09, + 0x26, 0x1d, 0x22, 0x00, 0x02, 0x00, 0x2d, 0xff, 0x10, 0x02, 0x2b, 0x02, 0x2c, 0x00, 0x1e, 0x00, + 0x29, 0x00, 0x00, 0x13, 0x32, 0x17, 0x33, 0x37, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x36, 0x37, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x17, 0x22, 0x15, 0x14, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0xff, 0x65, 0x39, + 0x04, 0x0c, 0x7e, 0x8a, 0x87, 0x3a, 0x63, 0x2f, 0x65, 0x70, 0x73, 0x03, 0x01, 0x04, 0x1c, 0x4e, + 0x31, 0x61, 0x6d, 0x70, 0x91, 0x69, 0x6b, 0x39, 0x37, 0x36, 0x02, 0x2c, 0x50, 0x46, 0xfd, 0xdd, + 0x75, 0x7a, 0x0e, 0x12, 0x77, 0x2a, 0x7c, 0x0b, 0x11, 0x24, 0x0e, 0x2b, 0x26, 0x95, 0x85, 0x86, + 0x96, 0x79, 0xa5, 0xa3, 0x41, 0x51, 0x12, 0x58, 0x4c, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, + 0x46, 0x02, 0xf8, 0x00, 0x16, 0x00, 0x00, 0x13, 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0xe3, 0x05, + 0x02, 0x08, 0x1a, 0x52, 0x32, 0x59, 0x6b, 0x95, 0x58, 0x43, 0x33, 0x95, 0x95, 0x02, 0x5d, 0x28, + 0x4a, 0x0f, 0x2a, 0x26, 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x76, 0x5d, 0x57, 0xfe, 0xff, 0x02, + 0xf8, 0x00, 0x02, 0x00, 0x48, 0x00, 0x00, 0x00, 0xea, 0x02, 0xf8, 0x00, 0x0b, 0x00, 0x0f, 0x00, + 0x00, 0x13, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x11, 0x23, + 0x11, 0x99, 0x21, 0x30, 0x30, 0x21, 0x22, 0x2f, 0x2f, 0x6c, 0x95, 0x02, 0xf8, 0x1f, 0x2a, 0x29, + 0x20, 0x20, 0x29, 0x2a, 0x1f, 0xd6, 0xfd, 0xde, 0x02, 0x22, 0x00, 0x02, 0xff, 0xc0, 0xff, 0x10, + 0x00, 0xea, 0x02, 0xf8, 0x00, 0x0b, 0x00, 0x1c, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x03, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x06, 0x48, 0x2f, 0x22, 0x21, 0x30, 0x30, 0x21, 0x22, 0x2f, + 0x26, 0x19, 0x37, 0x12, 0x12, 0x20, 0x14, 0x1e, 0x2a, 0x95, 0x26, 0x55, 0x02, 0xaf, 0x2a, 0x1f, + 0x1f, 0x2a, 0x29, 0x20, 0x20, 0xfc, 0x8a, 0x07, 0x05, 0x75, 0x04, 0x05, 0x22, 0x31, 0x02, 0x47, + 0xfd, 0xa3, 0x32, 0x52, 0x31, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x6c, 0x02, 0xf8, 0x00, + 0x12, 0x00, 0x00, 0x13, 0x14, 0x06, 0x07, 0x33, 0x36, 0x36, 0x37, 0x37, 0x33, 0x07, 0x13, 0x23, + 0x27, 0x07, 0x15, 0x23, 0x11, 0x33, 0xe3, 0x05, 0x03, 0x02, 0x0f, 0x20, 0x12, 0x99, 0xa8, 0xd9, + 0xe6, 0xac, 0x9d, 0x40, 0x95, 0x95, 0x01, 0xa4, 0x1f, 0x3d, 0x1f, 0x15, 0x2b, 0x13, 0xa6, 0xed, + 0xfe, 0xcb, 0xdd, 0x33, 0xaa, 0x02, 0xf8, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xe3, 0x02, + 0xf8, 0x00, 0x03, 0x00, 0x00, 0x33, 0x23, 0x11, 0x33, 0xe3, 0x95, 0x95, 0x02, 0xf8, 0x00, 0x01, + 0x00, 0x4e, 0x00, 0x00, 0x03, 0x8b, 0x02, 0x2c, 0x00, 0x22, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, + 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x06, 0x15, + 0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x36, 0x02, + 0xcf, 0x5d, 0x5f, 0x95, 0x52, 0x3b, 0x32, 0x95, 0x52, 0x3e, 0x2f, 0x95, 0x72, 0x14, 0x08, 0x19, + 0x57, 0x2f, 0x3c, 0x54, 0x16, 0x0d, 0x19, 0x59, 0x02, 0x2c, 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, + 0x76, 0x54, 0x4f, 0xfe, 0xee, 0x01, 0x3f, 0x76, 0x5d, 0x57, 0xfe, 0xff, 0x02, 0x22, 0x46, 0x2a, + 0x26, 0x27, 0x29, 0x2a, 0x26, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x02, 0x46, 0x02, 0x2c, 0x00, + 0x14, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x36, 0x01, 0x84, 0x58, 0x6a, 0x95, 0x2a, 0x2e, 0x44, + 0x32, 0x95, 0x72, 0x14, 0x08, 0x1a, 0x5b, 0x02, 0x2c, 0x5f, 0x69, 0xfe, 0x9c, 0x01, 0x3f, 0x3b, + 0x3b, 0x5d, 0x57, 0xfe, 0xff, 0x02, 0x22, 0x46, 0x2a, 0x26, 0x00, 0x02, 0x00, 0x2d, 0xff, 0xf6, + 0x02, 0x3e, 0x02, 0x2c, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x02, 0x3e, 0x8f, 0x7b, 0x4c, 0x77, 0x44, 0x8e, 0x7c, 0x4d, 0x76, 0x44, + 0xfe, 0x87, 0x35, 0x3c, 0x3b, 0x35, 0x35, 0x3c, 0x3b, 0x35, 0x01, 0x12, 0x88, 0x94, 0x42, 0x7f, + 0x5b, 0x88, 0x92, 0x42, 0x7d, 0x5b, 0x51, 0x53, 0x53, 0x51, 0x51, 0x51, 0x51, 0x00, 0x02, 0x00, + 0x4e, 0xff, 0x10, 0x02, 0x4c, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x20, 0x00, 0x00, 0x01, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, 0x16, 0x15, 0x15, 0x23, 0x11, 0x33, 0x17, 0x33, + 0x36, 0x36, 0x17, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x01, 0x7e, + 0x5c, 0x72, 0x76, 0x5c, 0x3b, 0x46, 0x16, 0x08, 0x08, 0x95, 0x79, 0x15, 0x07, 0x16, 0x4a, 0x0b, + 0x3a, 0x2f, 0x02, 0x2f, 0x3e, 0x33, 0x31, 0x02, 0x2c, 0x8f, 0x8b, 0x8b, 0x91, 0x2b, 0x1b, 0x2a, + 0x26, 0xdc, 0x03, 0x12, 0x47, 0x21, 0x30, 0x77, 0x48, 0x4a, 0x10, 0x4f, 0x55, 0x55, 0x50, 0xa1, + 0x00, 0x02, 0x00, 0x2d, 0xff, 0x10, 0x02, 0x2b, 0x02, 0x2c, 0x00, 0x14, 0x00, 0x20, 0x00, 0x00, + 0x05, 0x34, 0x37, 0x23, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, + 0x33, 0x37, 0x33, 0x11, 0x23, 0x03, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x14, 0x01, 0x96, 0x06, 0x06, 0x15, 0x4a, 0x3c, 0x5c, 0x72, 0x74, 0x5d, 0x3c, 0x4b, 0x17, 0x04, + 0x0d, 0x7e, 0x95, 0x66, 0x3e, 0x31, 0x01, 0x31, 0x41, 0x35, 0x34, 0x0b, 0x2a, 0x28, 0x22, 0x2f, + 0x8f, 0x8b, 0x8c, 0x90, 0x2e, 0x22, 0x46, 0xfc, 0xee, 0x01, 0x5b, 0x49, 0x49, 0x12, 0x50, 0x54, + 0x55, 0x50, 0xa3, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x01, 0xb1, 0x02, 0x2c, 0x00, 0x13, 0x00, + 0x00, 0x01, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x06, 0x15, 0x11, 0x23, 0x11, + 0x33, 0x17, 0x33, 0x36, 0x36, 0x01, 0x7f, 0x0b, 0x1e, 0x09, 0x0b, 0x07, 0x1b, 0x0a, 0x26, 0x46, + 0x2b, 0x95, 0x71, 0x16, 0x07, 0x18, 0x54, 0x02, 0x2c, 0x02, 0x02, 0x8c, 0x02, 0x03, 0x1b, 0x3c, + 0x34, 0xfe, 0xea, 0x02, 0x22, 0x5c, 0x2a, 0x3c, 0x00, 0x01, 0x00, 0x2d, 0xff, 0xf6, 0x01, 0xcb, + 0x02, 0x2c, 0x00, 0x28, 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x26, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x16, 0x17, 0x1e, 0x02, 0x01, 0xcb, 0x75, + 0x74, 0x39, 0x52, 0x29, 0x2c, 0x66, 0x27, 0x2c, 0x25, 0x0f, 0x32, 0x35, 0x33, 0x42, 0x20, 0x76, + 0x62, 0x33, 0x5c, 0x31, 0x2d, 0x28, 0x48, 0x25, 0x42, 0x11, 0x31, 0x30, 0x2f, 0x44, 0x25, 0xa2, + 0x53, 0x59, 0x0f, 0x11, 0x7b, 0x14, 0x1a, 0x1a, 0x15, 0x0e, 0x16, 0x1c, 0x16, 0x16, 0x2b, 0x3d, + 0x2e, 0x4c, 0x4c, 0x14, 0x17, 0x6b, 0x11, 0x17, 0x24, 0x0d, 0x15, 0x18, 0x14, 0x13, 0x29, 0x3d, + 0x00, 0x01, 0x00, 0x17, 0xff, 0xf6, 0x01, 0x92, 0x02, 0x96, 0x00, 0x18, 0x00, 0x00, 0x25, 0x32, + 0x36, 0x37, 0x15, 0x06, 0x06, 0x23, 0x22, 0x26, 0x26, 0x35, 0x11, 0x23, 0x35, 0x37, 0x37, 0x33, + 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x01, 0x34, 0x19, 0x2e, 0x17, 0x18, 0x47, 0x2a, 0x31, + 0x4d, 0x2d, 0x47, 0x52, 0x2b, 0x5f, 0x99, 0x99, 0x24, 0x6d, 0x0a, 0x07, 0x6f, 0x0a, 0x0f, 0x20, + 0x4f, 0x46, 0x01, 0x07, 0x3f, 0x32, 0x73, 0x74, 0x70, 0xfe, 0xf9, 0x1f, 0x1f, 0x00, 0x01, 0x00, + 0x4b, 0xff, 0xf6, 0x02, 0x43, 0x02, 0x22, 0x00, 0x14, 0x00, 0x00, 0x01, 0x11, 0x23, 0x27, 0x23, + 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, + 0x02, 0x43, 0x72, 0x14, 0x08, 0x1a, 0x5b, 0x33, 0x58, 0x6a, 0x95, 0x2a, 0x2e, 0x44, 0x32, 0x02, + 0x22, 0xfd, 0xde, 0x46, 0x2a, 0x26, 0x5f, 0x69, 0x01, 0x64, 0xfe, 0xc1, 0x3a, 0x3c, 0x5d, 0x57, + 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x39, 0x02, 0x22, 0x00, 0x0c, 0x00, 0x00, + 0x33, 0x03, 0x33, 0x13, 0x16, 0x16, 0x17, 0x33, 0x36, 0x37, 0x13, 0x33, 0x03, 0xd0, 0xd0, 0x9c, + 0x69, 0x09, 0x0b, 0x01, 0x04, 0x03, 0x13, 0x69, 0x9c, 0xd0, 0x02, 0x22, 0xfe, 0xc9, 0x1c, 0x3c, + 0x18, 0x36, 0x3a, 0x01, 0x37, 0xfd, 0xde, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x03, 0x4e, 0x02, + 0x22, 0x00, 0x2a, 0x00, 0x00, 0x25, 0x2e, 0x03, 0x27, 0x23, 0x0e, 0x03, 0x07, 0x07, 0x23, 0x03, + 0x33, 0x17, 0x1e, 0x02, 0x17, 0x33, 0x3e, 0x03, 0x37, 0x13, 0x33, 0x13, 0x1e, 0x02, 0x15, 0x33, + 0x3e, 0x02, 0x37, 0x37, 0x33, 0x03, 0x23, 0x01, 0xe5, 0x04, 0x0f, 0x12, 0x10, 0x03, 0x04, 0x03, + 0x0f, 0x12, 0x10, 0x04, 0x2c, 0xa0, 0x9b, 0x94, 0x3f, 0x07, 0x0b, 0x0a, 0x02, 0x04, 0x01, 0x06, + 0x09, 0x07, 0x02, 0x43, 0xa4, 0x40, 0x04, 0x0b, 0x09, 0x04, 0x02, 0x0a, 0x0d, 0x07, 0x41, 0x92, + 0x9d, 0xa2, 0xbf, 0x11, 0x43, 0x4d, 0x41, 0x0f, 0x0f, 0x41, 0x4d, 0x44, 0x12, 0xbd, 0x02, 0x22, + 0xf2, 0x19, 0x46, 0x41, 0x13, 0x0e, 0x2f, 0x32, 0x29, 0x07, 0x01, 0x06, 0xfe, 0xfa, 0x0e, 0x3e, + 0x40, 0x13, 0x11, 0x41, 0x48, 0x19, 0xf2, 0xfd, 0xde, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x02, + 0x3d, 0x02, 0x22, 0x00, 0x0b, 0x00, 0x00, 0x13, 0x03, 0x33, 0x17, 0x37, 0x33, 0x03, 0x13, 0x23, + 0x27, 0x07, 0x23, 0xbe, 0xb0, 0xa9, 0x6a, 0x6b, 0xa9, 0xb2, 0xba, 0xa9, 0x73, 0x73, 0xa9, 0x01, + 0x17, 0x01, 0x0b, 0xae, 0xae, 0xfe, 0xf5, 0xfe, 0xe9, 0xbb, 0xbb, 0x00, 0x01, 0x00, 0x00, 0xff, + 0x10, 0x02, 0x39, 0x02, 0x22, 0x00, 0x1a, 0x00, 0x00, 0x11, 0x33, 0x13, 0x16, 0x16, 0x17, 0x33, + 0x36, 0x36, 0x37, 0x13, 0x33, 0x03, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x37, 0xa3, 0x67, 0x08, 0x08, 0x02, 0x03, 0x03, 0x0b, 0x07, 0x65, 0xa0, 0xe7, + 0x1f, 0x77, 0x4e, 0x19, 0x25, 0x0e, 0x0b, 0x1f, 0x11, 0x2f, 0x37, 0x0d, 0x09, 0x02, 0x22, 0xfe, + 0xcd, 0x16, 0x2f, 0x1a, 0x1a, 0x2f, 0x16, 0x01, 0x33, 0xfd, 0x98, 0x55, 0x55, 0x05, 0x03, 0x76, + 0x02, 0x04, 0x39, 0x28, 0x1b, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x01, 0xca, 0x02, 0x22, 0x00, + 0x09, 0x00, 0x00, 0x21, 0x21, 0x35, 0x13, 0x23, 0x35, 0x21, 0x15, 0x03, 0x33, 0x01, 0xca, 0xfe, + 0x51, 0xfd, 0xee, 0x01, 0x97, 0xf6, 0xff, 0x58, 0x01, 0x58, 0x72, 0x61, 0xfe, 0xb1, 0x00, 0x01, + 0x00, 0x0f, 0xff, 0x62, 0x01, 0x62, 0x02, 0xca, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x22, 0x26, 0x26, + 0x35, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x36, 0x35, 0x35, 0x34, 0x36, 0x36, 0x33, 0x15, 0x06, + 0x06, 0x15, 0x15, 0x14, 0x07, 0x15, 0x16, 0x15, 0x15, 0x14, 0x16, 0x17, 0x01, 0x62, 0x55, 0x5d, + 0x24, 0x40, 0x3d, 0x3d, 0x40, 0x24, 0x5d, 0x55, 0x27, 0x2e, 0x72, 0x72, 0x2e, 0x27, 0x9e, 0x1c, + 0x3c, 0x30, 0x9a, 0x2f, 0x28, 0x75, 0x28, 0x2f, 0x9b, 0x30, 0x3c, 0x1c, 0x6e, 0x01, 0x1a, 0x2a, + 0x92, 0x5b, 0x11, 0x06, 0x11, 0x5b, 0x92, 0x2a, 0x1a, 0x01, 0x00, 0x01, 0x00, 0xde, 0xff, 0x1d, + 0x01, 0x49, 0x02, 0xf5, 0x00, 0x03, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0xde, 0x6b, 0x6b, 0x02, + 0xf5, 0xfc, 0x28, 0x00, 0x01, 0x00, 0x28, 0xff, 0x62, 0x01, 0x7b, 0x02, 0xca, 0x00, 0x1f, 0x00, + 0x00, 0x17, 0x36, 0x36, 0x35, 0x35, 0x34, 0x37, 0x35, 0x26, 0x35, 0x35, 0x34, 0x26, 0x27, 0x35, + 0x32, 0x16, 0x16, 0x15, 0x15, 0x14, 0x16, 0x33, 0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 0x06, 0x06, + 0x23, 0x28, 0x27, 0x2e, 0x72, 0x72, 0x2e, 0x27, 0x56, 0x5c, 0x24, 0x40, 0x3d, 0x3d, 0x40, 0x24, + 0x5c, 0x56, 0x30, 0x01, 0x1a, 0x2a, 0x92, 0x5b, 0x11, 0x06, 0x11, 0x5b, 0x92, 0x2a, 0x1a, 0x01, + 0x6e, 0x1c, 0x3c, 0x30, 0x9b, 0x2f, 0x28, 0x75, 0x28, 0x2f, 0x9a, 0x30, 0x3c, 0x1c, 0x00, 0x01, + 0x00, 0x2b, 0x01, 0x0d, 0x02, 0x10, 0x01, 0xb4, 0x00, 0x17, 0x00, 0x00, 0x01, 0x26, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, + 0x06, 0x23, 0x22, 0x26, 0x01, 0x0c, 0x25, 0x33, 0x17, 0x1c, 0x3d, 0x19, 0x32, 0x4b, 0x1d, 0x3b, + 0x2f, 0x25, 0x34, 0x16, 0x1d, 0x3c, 0x19, 0x32, 0x4b, 0x1d, 0x3b, 0x01, 0x2d, 0x10, 0x0b, 0x22, + 0x19, 0x71, 0x35, 0x0b, 0x14, 0x10, 0x0b, 0x22, 0x19, 0x71, 0x35, 0x0c, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf3, 0x66, 0xcb, 0x35, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x03, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xdf, 0x93, 0x35, 0xf6, 0x00, 0x00, 0x00, 0x00, 0xdf, 0x93, 0x35, 0xf6, + 0xfd, 0x68, 0xfe, 0x76, 0x0a, 0xf0, 0x05, 0x43, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd6, + 0xff, 0xb6, 0xff, 0xd3, 0x03, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x58, 0x00, 0x00, 0x01, 0x1e, 0x00, 0x39, + 0x01, 0xd8, 0x00, 0x41, 0x02, 0x86, 0x00, 0x16, 0x02, 0x3c, 0x00, 0x2b, 0x03, 0x85, 0x00, 0x1f, + 0x02, 0xee, 0x00, 0x28, 0x01, 0x0a, 0x00, 0x41, 0x01, 0x53, 0x00, 0x28, 0x01, 0x53, 0x00, 0x1e, + 0x02, 0x21, 0x00, 0x1f, 0x02, 0x3c, 0x00, 0x2b, 0x01, 0x1d, 0x00, 0x1f, 0x01, 0x42, 0x00, 0x1e, + 0x01, 0x1d, 0x00, 0x39, 0x01, 0x9d, 0x00, 0x07, 0x02, 0x3c, 0x00, 0x24, 0x02, 0x3c, 0x00, 0x3b, + 0x02, 0x3c, 0x00, 0x26, 0x02, 0x3c, 0x00, 0x26, 0x02, 0x3c, 0x00, 0x11, 0x02, 0x3c, 0x00, 0x31, + 0x02, 0x3c, 0x00, 0x23, 0x02, 0x3c, 0x00, 0x1b, 0x02, 0x3c, 0x00, 0x23, 0x02, 0x3c, 0x00, 0x20, + 0x01, 0x1d, 0x00, 0x39, 0x01, 0x1d, 0x00, 0x1f, 0x02, 0x3c, 0x00, 0x2b, 0x02, 0x3c, 0x00, 0x2b, + 0x02, 0x3c, 0x00, 0x2b, 0x01, 0xdd, 0x00, 0x03, 0x03, 0x81, 0x00, 0x32, 0x02, 0xb2, 0x00, 0x00, + 0x02, 0xa0, 0x00, 0x5a, 0x02, 0x7d, 0x00, 0x3a, 0x02, 0xe4, 0x00, 0x5a, 0x02, 0x30, 0x00, 0x5a, + 0x02, 0x25, 0x00, 0x5a, 0x02, 0xd4, 0x00, 0x3a, 0x02, 0xfd, 0x00, 0x5a, 0x01, 0x85, 0x00, 0x20, + 0x01, 0x4b, 0xff, 0xb6, 0x02, 0x98, 0x00, 0x5a, 0x02, 0x35, 0x00, 0x5a, 0x03, 0xaf, 0x00, 0x5a, + 0x03, 0x2d, 0x00, 0x5a, 0x03, 0x1c, 0x00, 0x3a, 0x02, 0x74, 0x00, 0x5a, 0x03, 0x1c, 0x00, 0x3a, + 0x02, 0x94, 0x00, 0x5a, 0x02, 0x27, 0x00, 0x2e, 0x02, 0x43, 0x00, 0x14, 0x02, 0xf4, 0x00, 0x55, + 0x02, 0x8a, 0x00, 0x00, 0x03, 0xc7, 0x00, 0x00, 0x02, 0x9b, 0x00, 0x00, 0x02, 0x70, 0x00, 0x00, + 0x02, 0x43, 0x00, 0x18, 0x01, 0x4b, 0x00, 0x46, 0x01, 0x9d, 0x00, 0x06, 0x01, 0x4b, 0x00, 0x19, + 0x02, 0x3c, 0x00, 0x17, 0x01, 0x9b, 0xff, 0xfe, 0x01, 0x6a, 0x00, 0x28, 0x02, 0x5c, 0x00, 0x2a, + 0x02, 0x79, 0x00, 0x4e, 0x02, 0x02, 0x00, 0x2d, 0x02, 0x79, 0x00, 0x2d, 0x02, 0x4f, 0x00, 0x2d, + 0x01, 0x83, 0x00, 0x14, 0x02, 0x79, 0x00, 0x2d, 0x02, 0x91, 0x00, 0x4e, 0x01, 0x31, 0x00, 0x48, + 0x01, 0x31, 0xff, 0xc0, 0x02, 0x6c, 0x00, 0x4e, 0x01, 0x31, 0x00, 0x4e, 0x03, 0xd6, 0x00, 0x4e, + 0x02, 0x91, 0x00, 0x4e, 0x02, 0x6b, 0x00, 0x2d, 0x02, 0x79, 0x00, 0x4e, 0x02, 0x79, 0x00, 0x2d, + 0x01, 0xc6, 0x00, 0x4e, 0x01, 0xf1, 0x00, 0x2d, 0x01, 0xb2, 0x00, 0x17, 0x02, 0x91, 0x00, 0x4b, + 0x02, 0x39, 0x00, 0x00, 0x03, 0x58, 0x00, 0x0a, 0x02, 0x42, 0x00, 0x05, 0x02, 0x39, 0x00, 0x00, + 0x01, 0xe8, 0x00, 0x1b, 0x01, 0x8a, 0x00, 0x0f, 0x02, 0x27, 0x00, 0xde, 0x01, 0x8a, 0x00, 0x28, + 0x02, 0x3c, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x71, + 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x02, 0x0f, + 0x00, 0x00, 0x02, 0xb8, 0x00, 0x00, 0x02, 0xd4, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x03, 0x3d, + 0x00, 0x00, 0x03, 0x7a, 0x00, 0x00, 0x03, 0xa3, 0x00, 0x00, 0x03, 0xca, 0x00, 0x00, 0x03, 0xe2, + 0x00, 0x00, 0x04, 0x0d, 0x00, 0x00, 0x04, 0x2c, 0x00, 0x00, 0x04, 0x7f, 0x00, 0x00, 0x04, 0xb1, + 0x00, 0x00, 0x05, 0x0d, 0x00, 0x00, 0x05, 0x8b, 0x00, 0x00, 0x05, 0xd6, 0x00, 0x00, 0x06, 0x36, + 0x00, 0x00, 0x06, 0xb9, 0x00, 0x00, 0x06, 0xdd, 0x00, 0x00, 0x07, 0x7e, 0x00, 0x00, 0x08, 0x02, + 0x00, 0x00, 0x08, 0x4d, 0x00, 0x00, 0x08, 0x95, 0x00, 0x00, 0x08, 0xbb, 0x00, 0x00, 0x08, 0xe1, + 0x00, 0x00, 0x09, 0x06, 0x00, 0x00, 0x09, 0x81, 0x00, 0x00, 0x0a, 0x59, 0x00, 0x00, 0x0a, 0xa1, + 0x00, 0x00, 0x0b, 0x09, 0x00, 0x00, 0x0b, 0x61, 0x00, 0x00, 0x0b, 0x9f, 0x00, 0x00, 0x0b, 0xcb, + 0x00, 0x00, 0x0b, 0xf0, 0x00, 0x00, 0x0c, 0x55, 0x00, 0x00, 0x0c, 0x83, 0x00, 0x00, 0x0c, 0xb2, + 0x00, 0x00, 0x0c, 0xef, 0x00, 0x00, 0x0d, 0x27, 0x00, 0x00, 0x0d, 0x44, 0x00, 0x00, 0x0d, 0x94, + 0x00, 0x00, 0x0d, 0xd6, 0x00, 0x00, 0x0e, 0x2f, 0x00, 0x00, 0x0e, 0x70, 0x00, 0x00, 0x0e, 0xd1, + 0x00, 0x00, 0x0f, 0x21, 0x00, 0x00, 0x0f, 0x98, 0x00, 0x00, 0x0f, 0xb9, 0x00, 0x00, 0x0f, 0xf7, + 0x00, 0x00, 0x10, 0x34, 0x00, 0x00, 0x10, 0xb5, 0x00, 0x00, 0x10, 0xea, 0x00, 0x00, 0x11, 0x15, + 0x00, 0x00, 0x11, 0x42, 0x00, 0x00, 0x11, 0x64, 0x00, 0x00, 0x11, 0x82, 0x00, 0x00, 0x11, 0xa3, + 0x00, 0x00, 0x11, 0xc8, 0x00, 0x00, 0x11, 0xe2, 0x00, 0x00, 0x12, 0x12, 0x00, 0x00, 0x12, 0x88, + 0x00, 0x00, 0x12, 0xf1, 0x00, 0x00, 0x13, 0x42, 0x00, 0x00, 0x13, 0xa9, 0x00, 0x00, 0x14, 0x09, + 0x00, 0x00, 0x14, 0x57, 0x00, 0x00, 0x14, 0xcd, 0x00, 0x00, 0x15, 0x15, 0x00, 0x00, 0x15, 0x4e, + 0x00, 0x00, 0x15, 0xa9, 0x00, 0x00, 0x15, 0xeb, 0x00, 0x00, 0x16, 0x02, 0x00, 0x00, 0x16, 0x69, + 0x00, 0x00, 0x16, 0xae, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x17, 0x64, 0x00, 0x00, 0x17, 0xc7, + 0x00, 0x00, 0x18, 0x0c, 0x00, 0x00, 0x18, 0x84, 0x00, 0x00, 0x18, 0xd1, 0x00, 0x00, 0x19, 0x16, + 0x00, 0x00, 0x19, 0x4b, 0x00, 0x00, 0x19, 0xcd, 0x00, 0x00, 0x19, 0xff, 0x00, 0x00, 0x1a, 0x59, + 0x00, 0x00, 0x1a, 0x82, 0x00, 0x00, 0x1a, 0xde, 0x00, 0x00, 0x1a, 0xf7, 0x00, 0x00, 0x1b, 0x52, + 0x00, 0x00, 0x1b, 0xa0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5f, 0x10, 0x00, 0x04, 0x00, 0x00, 0xff, + 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x96, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, + 0x00, 0x0d, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x11, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x2f, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x00, 0x03, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0d, + 0x00, 0x3f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x1a, 0x00, 0x4c, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x08, 0x00, 0x66, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, + 0x00, 0x03, 0x00, 0x3c, 0x00, 0x6e, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x1a, + 0x00, 0xaa, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x1a, 0x00, 0xca, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x42, 0x6f, 0x6c, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x42, 0x6f, 0x6c, 0x64, 0x3a, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x30, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x31, 0x2e, 0x30, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x3a, 0x00, 0x56, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x31, + 0x00, 0x2e, 0x00, 0x30, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x31, + 0x00, 0x2e, 0x00, 0x30, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x00, + 0x00, 0x03, 0x02, 0x68, 0x02, 0xbc, 0x00, 0x05, 0x00, 0x08, 0x02, 0x8a, 0x02, 0x58, 0x00, 0x00, + 0x00, 0x4b, 0x02, 0x8a, 0x02, 0x58, 0x00, 0x00, 0x01, 0x5e, 0x00, 0x32, 0x01, 0x48, 0x00, 0x00, + 0x02, 0x0b, 0x08, 0x02, 0x04, 0x05, 0x04, 0x02, 0x02, 0x04, 0xe0, 0x00, 0x82, 0xff, 0x40, 0x00, + 0x20, 0x5f, 0x08, 0x00, 0x00, 0x29, 0x00, 0x10, 0x00, 0x00, 0x47, 0x4f, 0x4f, 0x47, 0x00, 0xa0, + 0x00, 0x00, 0xff, 0xfd, 0x04, 0x2d, 0xfe, 0xdb, 0x00, 0x00, 0x05, 0x43, 0x01, 0x8b, 0x00, 0x00, + 0x01, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x02, 0xca, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb8, 0x01, 0xff, 0x85, 0xb0, 0x04, 0x8d, 0x00 +}; diff --git a/examples/TFT_eSPI/Sprite_Noto_Font_Demo/Sprite_Noto_Font_Demo.ino b/examples/TFT_eSPI/Sprite_Noto_Font_Demo/Sprite_Noto_Font_Demo.ino new file mode 100644 index 0000000..3e5a276 --- /dev/null +++ b/examples/TFT_eSPI/Sprite_Noto_Font_Demo/Sprite_Noto_Font_Demo.ino @@ -0,0 +1,118 @@ +/* + Font generation: + + This sketch uses a ttf (TrueType Font) file that has been converted to a binary + format in a byte array. See NotoSans_Bold.h tab of this sketch. + + https://en.wikipedia.org/wiki/TrueType + + The font used in this sketch is free to use and from Google: + + https://fonts.google.com/ + + TTF font files can be VERY large, fortunately there are python and online tools that can + be used to convert a ttf font to a new ttf font file with a subset of the characters + (called "font subsetting") as needed by the sketch. For example maybe only 0-9 and : are + needed to display the time. It’s important to check the licence a particular font before + use and subsetting. Here is a simple subsetting online tool: + + https://products.aspose.app/font/generator/ttf-to-ttf + + To use this tool: + 1. Drag and drop file + 2. Copy and paste the "Font symbols" you want, here are ASCII characters 20 (space) and 33-126: + !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + 3. Make sure you include the "space" character if you are going to use it (renders as a box otherwise) + 4. Click "Generate" + 5. Save the file and convert to an array + + There is a more sophisticated font subsetting tool here: + + https://www.fontsquirrel.com/tools/webfont-generator + + The font must be in ttf format, it can then be converted to a binary array using the tool here: + + https://notisrac.github.io/FileToCArray/ + + To use this tool: + 1. Drag and drop the ttf file on "Browse..." button + 2. Untick box "static" + 3. Click "Convert" + 4. Click "Save as file" and move the header file to sketch folder + 5. Open the sketch in IDE + 6. Include the header file containing the array (NotoSans_Bold.h in this example) + + ttf font files can be very large, there are python and online tools that can + be used to convert a ttf font to a new font file with a subset of the characters + that will be used by the sketch. For example maybe only 0-9 and : are needed to + display the time. + + Note that translating a ttf font character to a glyph that can be rendered on + screen is a processor intensive operation. This means the rendering speed will + be much lower than bitmap encoded fonts which just need to be copied to the + display. + + TrueType font characters are scalable, so different font files are not needed to + render different size characters on the TFT screen. This is very convenient, just + use the setFontSize(font_size) function (see below). +*/ + +#include "TFT_eSPI.h" +#include "NotoSans_Bold.h" +#include "OpenFontRender.h" + +#define TTF_FONT NotoSans_Bold + +// This sprite will require ~18 kbytes of RAM +#define WIDTH 40 +#define HEIGHT 220 + +TFT_eSPI tft; +TFT_eSprite spr = TFT_eSprite(&tft); // Declare Sprite object "spr" with pointer to "tft" object + +OpenFontRender ofr; + +void setup() { + Serial.begin(115200); + + tft.begin(); + tft.setRotation(0); + tft.fillScreen(TFT_BLACK); + + ofr.setDrawer(spr); // Link renderer to sprite (font will be rendered in sprite spr) + + spr.createSprite(WIDTH, HEIGHT); +} + +void loop() { + tft.fillScreen(TFT_BLACK); + spr.fillSprite(TFT_BLUE); + + ofr.setFontColor(TFT_WHITE, TFT_BLUE); + if (ofr.loadFont(TTF_FONT, sizeof(TTF_FONT))) { + Serial.println("Render initialize error"); + return; + } + + ofr.setCursor(20, 0); // Set x to half sprite width + + // A neat feature is that line spacing can be tightened up (by a factor of 0.7 here) + ofr.setLineSpaceRatio(0.7); + + char str_buf [32]; + + // Print in font sizes 20 to 75 (tiny sizes may be unreadable!) + for (uint16_t font_size = 20; font_size <= 65; font_size += 5) { + ofr.setFontSize(font_size); + itoa (font_size, str_buf, 10); + ofr.cprintf(str_buf); // Centre on cursor position + // Move cursor to start of next line (y move is 0.5 of font height) + ofr.setCursor(20, ofr.getCursorY() + (0.5 * ofr.getFontSize())); + } + + ofr.unloadFont(); + + spr.pushSprite(0, 0); + + delay(5000); +} diff --git a/examples/TFT_eSPI/load_from_binary/binaryttf.h b/examples/TFT_eSPI/load_from_binary/binaryttf.h new file mode 100644 index 0000000..53d0378 --- /dev/null +++ b/examples/TFT_eSPI/load_from_binary/binaryttf.h @@ -0,0 +1,652 @@ +#ifndef _BINARYTTF_H_ +#define _BINARYTTF_H_ + +const unsigned char binaryttf[6456] = { +0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, +0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, +0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, +0x61, 0x70, 0x09, 0x9D, 0x21, 0xE0, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0xD4, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, +0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, +0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0xE2, 0x8C, 0xD7, 0xF3, +0x00, 0x00, 0x0D, 0x58, 0x00, 0x00, 0x0B, 0xE0, 0x68, 0x65, +0x61, 0x64, 0x35, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x91, +0x03, 0x93, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x54, 0xAE, 0x09, 0x6A, 0x00, 0x00, +0x0C, 0xEC, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x00, 0x86, 0x7C, 0x00, 0x00, 0x0C, 0x7C, 0x00, 0x00, +0x00, 0x70, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x35, 0x00, 0x7C, +0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, +0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, +0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, +0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, +0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, +0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0xA4, 0x38, 0x58, 0x6D, 0x5F, 0x0F, +0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, +0xD7, 0x12, 0x00, 0x26, 0xFF, 0xAC, 0x03, 0xF9, 0x03, 0x44, +0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, +0x00, 0x00, 0x04, 0x00, 0x00, 0x26, 0x00, 0x07, 0x03, 0xF9, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, +0x00, 0x00, 0x00, 0x1B, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, +0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, +0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0xEF, 0x01, 0x90, 0x00, 0x05, +0x00, 0x08, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x70, +0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0xB8, 0x00, 0x34, +0x01, 0x08, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x06, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x4D, 0x75, 0x73, 0x61, 0x00, 0x40, 0x00, 0x20, 0x75, 0x4C, +0x03, 0x70, 0xFF, 0x70, 0x00, 0x00, 0x03, 0x70, 0x00, 0x90, +0x40, 0x02, 0x00, 0x9F, 0xDF, 0xD7, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x20, 0x01, 0x86, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x3C, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, +0x00, 0x47, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, +0x00, 0x0B, 0x00, 0x4D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x0B, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x63, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x6F, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x7A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x00, +0x00, 0x3C, 0x00, 0x85, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, +0x00, 0x01, 0x00, 0x0B, 0x00, 0xC1, 0x00, 0x01, 0x00, 0x01, +0x00, 0x0B, 0x00, 0x02, 0x00, 0x06, 0x00, 0xCC, 0x00, 0x01, +0x00, 0x01, 0x00, 0x0B, 0x00, 0x03, 0x00, 0x0B, 0x00, 0xD2, +0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x04, 0x00, 0x0B, +0x00, 0xDD, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x05, +0x00, 0x0C, 0x00, 0xE8, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, +0x00, 0x06, 0x00, 0x0B, 0x00, 0xF4, 0x00, 0x01, 0x00, 0x01, +0x00, 0x0B, 0x00, 0x07, 0x00, 0x0B, 0x00, 0xFF, 0x00, 0x03, +0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x78, 0x01, 0x0A, +0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x16, +0x01, 0x82, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, +0x00, 0x0C, 0x01, 0x98, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, +0x00, 0x03, 0x00, 0x16, 0x01, 0xA4, 0x00, 0x03, 0x00, 0x01, +0x04, 0x09, 0x00, 0x04, 0x00, 0x16, 0x01, 0xBA, 0x00, 0x03, +0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x18, 0x01, 0xD0, +0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x16, +0x01, 0xE8, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x07, +0x00, 0x16, 0x01, 0xFE, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, +0x00, 0x00, 0x00, 0x78, 0x02, 0x14, 0x00, 0x03, 0x00, 0x01, +0x04, 0x11, 0x00, 0x01, 0x00, 0x0E, 0x02, 0x8C, 0x00, 0x03, +0x00, 0x01, 0x04, 0x11, 0x00, 0x02, 0x00, 0x0C, 0x02, 0x9A, +0x00, 0x03, 0x00, 0x01, 0x04, 0x11, 0x00, 0x03, 0x00, 0x0E, +0x02, 0xA6, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, 0x00, 0x04, +0x00, 0x0E, 0x02, 0xB4, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, +0x00, 0x05, 0x00, 0x18, 0x02, 0xC2, 0x00, 0x03, 0x00, 0x01, +0x04, 0x11, 0x00, 0x06, 0x00, 0x16, 0x02, 0xDA, 0x00, 0x03, +0x00, 0x01, 0x04, 0x11, 0x00, 0x07, 0x00, 0x0E, 0x02, 0xF0, +0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, +0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, 0x34, 0x20, 0x4D, +0x2B, 0x20, 0x46, 0x4F, 0x4E, 0x54, 0x53, 0x20, 0x5B, 0x6B, +0x61, 0x6E, 0x61, 0x5D, 0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, +0x69, 0x67, 0x68, 0x74, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, +0x31, 0x35, 0x20, 0x4A, 0x4B, 0x46, 0x4F, 0x4E, 0x54, 0x53, +0x4A, 0x4B, 0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, +0x4D, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, 0x4A, 0x4B, 0x20, +0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, 0x4D, 0x4A, 0x4B, +0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, 0x4D, 0x56, +0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x31, 0x2E, 0x30, +0x30, 0x4A, 0x4B, 0x2D, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, +0x2D, 0x4D, 0x4A, 0x4B, 0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, +0x63, 0x20, 0x4D, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, +0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, +0x34, 0x20, 0x4D, 0x2B, 0x20, 0x46, 0x4F, 0x4E, 0x54, 0x53, +0x20, 0x5B, 0x6B, 0x61, 0x6E, 0x61, 0x5D, 0x20, 0x43, 0x6F, +0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x28, 0x63, 0x29, +0x20, 0x32, 0x30, 0x31, 0x35, 0x20, 0x4A, 0x4B, 0x46, 0x4F, +0x4E, 0x54, 0x53, 0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, +0x62, 0x83, 0x4E, 0x4D, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, +0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, 0x4E, +0x4D, 0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, +0x4E, 0x4D, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, +0x31, 0x2E, 0x30, 0x30, 0x4A, 0x4B, 0x2D, 0x47, 0x6F, 0x74, +0x68, 0x69, 0x63, 0x2D, 0x4D, 0x4A, 0x4B, 0x83, 0x53, 0x83, +0x56, 0x83, 0x62, 0x83, 0x4E, 0x4D, 0x00, 0x43, 0x00, 0x6F, +0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, +0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, 0x00, 0x63, +0x00, 0x29, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, +0x00, 0x34, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x2B, 0x00, 0x20, +0x00, 0x46, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, +0x00, 0x20, 0x00, 0x5B, 0x00, 0x6B, 0x00, 0x61, 0x00, 0x6E, +0x00, 0x61, 0x00, 0x5D, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6F, +0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, +0x00, 0x68, 0x00, 0x74, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, +0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x35, +0x00, 0x20, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x46, 0x00, 0x4F, +0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, 0x00, 0x4A, 0x00, 0x4B, +0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x68, +0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x4D, +0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, +0x00, 0x6F, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, +0x00, 0x20, 0x00, 0x4D, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, +0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x20, +0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, 0x00, 0x4A, +0x00, 0x4B, 0x00, 0x2D, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x74, +0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x2D, 0x00, 0x4D, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, +0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, +0x00, 0x20, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, +0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x34, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x2B, 0x00, 0x20, 0x00, 0x46, 0x00, 0x4F, +0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, 0x00, 0x20, 0x00, 0x5B, +0x00, 0x6B, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x5D, +0x00, 0x20, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, +0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, +0x00, 0x28, 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, 0x00, 0x32, +0x00, 0x30, 0x00, 0x31, 0x00, 0x35, 0x00, 0x20, 0x00, 0x4A, +0x00, 0x4B, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x54, +0x00, 0x53, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x65, +0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x4A, +0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, 0x30, 0xC3, 0x30, 0xAF, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x56, 0x00, 0x65, +0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, +0x00, 0x20, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x2D, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x2D, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x02, +0x00, 0x08, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x03, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, +0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, +0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, +0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, +0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, +0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, +0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, +0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, +0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A, +0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, +0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, +0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, +0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, +0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, +0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, +0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, +0x00, 0x4E, 0x00, 0x4F, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, +0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, +0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, +0x00, 0x5D, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x60, 0x00, 0x61, +0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, +0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00, 0x6B, +0x00, 0x6C, 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x70, +0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, +0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, +0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7F, +0xB0, 0x00, 0x2C, 0x2F, 0xFD, 0x2D, 0xB0, 0x01, 0x2C, 0x2F, +0xFD, 0x3C, 0x2D, 0xB0, 0x02, 0x2C, 0x2F, 0xFD, 0x3C, 0x3C, +0x2D, 0xB0, 0x03, 0x2C, 0x2F, 0xFD, 0x3C, 0x3C, 0x3C, 0x2D, +0xB0, 0x04, 0x2C, 0x2F, 0x3C, 0xFD, 0x2D, 0xB0, 0x05, 0x2C, +0x2F, 0x3C, 0xFD, 0x3C, 0x2D, 0xB0, 0x06, 0x2C, 0x2F, 0x3C, +0xFD, 0x3C, 0x3C, 0x2D, 0xB0, 0x07, 0x2C, 0x2F, 0x3C, 0xFD, +0x3C, 0x3C, 0x3C, 0x2D, 0xB0, 0x08, 0x2C, 0x2F, 0x3C, 0x3C, +0xFD, 0x2D, 0xB0, 0x09, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, +0x2D, 0xB0, 0x0A, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, 0x3C, +0x2D, 0xB0, 0x0B, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, 0x3C, +0x3C, 0x2D, 0xB0, 0x0C, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, +0x2D, 0xB0, 0x0D, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, 0x3C, +0x2D, 0xB0, 0x0E, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, 0x3C, +0x3C, 0x2D, 0xB0, 0x0F, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, +0x3C, 0x3C, 0x3C, 0x2D, 0xB0, 0x10, 0x2C, 0x3C, 0x2D, 0xB0, +0x11, 0x2C, 0x2F, 0xB0, 0x10, 0x2A, 0xFD, 0x2D, 0xB0, 0x12, +0x2C, 0x2F, 0xFD, 0xB0, 0x10, 0x2A, 0x2D, 0xB0, 0x13, 0x2C, +0x2F, 0xB0, 0x10, 0x2A, 0xFD, 0xB0, 0x10, 0x2A, 0x2D, 0x00, +0xB8, 0x01, 0xFF, 0x85, 0xB0, 0x01, 0x8D, 0xB1, 0x01, 0x81, +0x45, 0x44, 0xB1, 0x02, 0x82, 0x45, 0x44, 0xB1, 0x03, 0x83, +0x45, 0x44, 0xB1, 0x04, 0x84, 0x45, 0x44, 0xB1, 0x05, 0x85, +0x45, 0x44, 0xB1, 0x06, 0x86, 0x45, 0x44, 0xB1, 0x07, 0x87, +0x45, 0x44, 0xB1, 0x08, 0x88, 0x45, 0x44, 0xB1, 0x09, 0x89, +0x45, 0x44, 0xB1, 0x0A, 0x8A, 0x45, 0x44, 0xB1, 0x0B, 0x8B, +0x45, 0x44, 0xB1, 0x0C, 0x8C, 0x45, 0x44, 0xB1, 0x0D, 0x8D, +0x45, 0x44, 0xB1, 0x0E, 0x8E, 0x45, 0x44, 0xB1, 0x0F, 0x8F, +0x45, 0x44, 0xB1, 0x10, 0x90, 0x45, 0x44, 0xB1, 0x11, 0x91, +0x45, 0x44, 0xB1, 0x12, 0x92, 0x45, 0x44, 0xB1, 0x13, 0x93, +0x45, 0x44, 0xB1, 0x14, 0x94, 0x45, 0x44, 0xB1, 0x15, 0x95, +0x45, 0x44, 0xB1, 0x16, 0x96, 0x45, 0x44, 0xB1, 0x17, 0x97, +0x45, 0x44, 0xB1, 0x18, 0x98, 0x45, 0x44, 0xB1, 0x19, 0x99, +0x45, 0x44, 0xB1, 0x1A, 0x9A, 0x45, 0x44, 0xB1, 0x1B, 0x9B, +0x45, 0x44, 0xB1, 0x1C, 0x9C, 0x45, 0x44, 0xB1, 0x1D, 0x9D, +0x45, 0x44, 0xB1, 0x1E, 0x9E, 0x45, 0x44, 0xB1, 0x1F, 0x9F, +0x45, 0x44, 0xB1, 0x20, 0xA0, 0x45, 0x44, 0xB1, 0x21, 0xA1, +0x45, 0x44, 0xB1, 0x22, 0xA2, 0x45, 0x44, 0xB1, 0x23, 0xA3, +0x45, 0x44, 0xB1, 0x24, 0xA4, 0x45, 0x44, 0xB1, 0x25, 0xA5, +0x45, 0x44, 0xB1, 0x26, 0xA6, 0x45, 0x44, 0xB1, 0x27, 0xA7, +0x45, 0x44, 0xB1, 0x28, 0xA8, 0x45, 0x44, 0xB1, 0x29, 0xA9, +0x45, 0x44, 0xB1, 0x2A, 0xAA, 0x45, 0x44, 0xB1, 0x2B, 0xAB, +0x45, 0x44, 0xB1, 0x2C, 0xAC, 0x45, 0x44, 0xB1, 0x2D, 0xAD, +0x45, 0x44, 0xB1, 0x2E, 0xAE, 0x45, 0x44, 0xB1, 0x2F, 0xAF, +0x45, 0x44, 0xB1, 0x30, 0xB0, 0x45, 0x44, 0xB1, 0x31, 0xB1, +0x45, 0x44, 0xB1, 0x32, 0xB2, 0x45, 0x44, 0xB1, 0x33, 0xB3, +0x45, 0x44, 0xB1, 0x34, 0xB4, 0x45, 0x44, 0xB1, 0x35, 0xB5, +0x45, 0x44, 0xB1, 0x36, 0xB6, 0x45, 0x44, 0xB1, 0x37, 0xB7, +0x45, 0x44, 0xB1, 0x38, 0xB8, 0x45, 0x44, 0xB1, 0x39, 0xB9, +0x45, 0x44, 0xB1, 0x3A, 0xBA, 0x45, 0x44, 0xB1, 0x3B, 0xBB, +0x45, 0x44, 0xB1, 0x3C, 0xBC, 0x45, 0x44, 0xB1, 0x3D, 0xBD, +0x45, 0x44, 0xB1, 0x3E, 0xBE, 0x45, 0x44, 0xB1, 0x3F, 0xBF, +0x45, 0x44, 0xB1, 0x40, 0xC0, 0x45, 0x44, 0xB1, 0x41, 0xC1, +0x45, 0x44, 0xB1, 0x42, 0xC2, 0x45, 0x44, 0xB1, 0x43, 0xC3, +0x45, 0x44, 0xB1, 0x44, 0xC4, 0x45, 0x44, 0xB1, 0x45, 0xC5, +0x45, 0x44, 0xB1, 0x46, 0xC6, 0x45, 0x44, 0xB1, 0x47, 0xC7, +0x45, 0x44, 0xB1, 0x48, 0xC8, 0x45, 0x44, 0xB1, 0x49, 0xC9, +0x45, 0x44, 0xB1, 0x4A, 0xCA, 0x45, 0x44, 0xB1, 0x4B, 0xCB, +0x45, 0x44, 0xB1, 0x4C, 0xCC, 0x45, 0x44, 0xB1, 0x4D, 0xCD, +0x45, 0x44, 0xB1, 0x4E, 0xCE, 0x45, 0x44, 0xB1, 0x4F, 0xCF, +0x45, 0x44, 0xB1, 0x50, 0xD0, 0x45, 0x44, 0xB1, 0x51, 0xD1, +0x45, 0x44, 0xB1, 0x52, 0xD2, 0x45, 0x44, 0xB1, 0x53, 0xD3, +0x45, 0x44, 0xB1, 0x54, 0xD4, 0x45, 0x44, 0xB1, 0x55, 0xD5, +0x45, 0x44, 0xB1, 0x56, 0xD6, 0x45, 0x44, 0xB1, 0x57, 0xD7, +0x45, 0x44, 0xB1, 0x58, 0xD8, 0x45, 0x44, 0xB1, 0x59, 0xD9, +0x45, 0x44, 0xB1, 0x5A, 0xDA, 0x45, 0x44, 0xB1, 0x5B, 0xDB, +0x45, 0x44, 0xB1, 0x5C, 0xDC, 0x45, 0x44, 0xB1, 0x5D, 0xDD, +0x45, 0x44, 0xB1, 0x5E, 0xDE, 0x45, 0x44, 0xB1, 0x5F, 0xDF, +0x45, 0x44, 0xB1, 0x60, 0xE0, 0x45, 0x44, 0xB1, 0x61, 0xE1, +0x45, 0x44, 0xB1, 0x62, 0xE2, 0x45, 0x44, 0xB1, 0x63, 0xE3, +0x45, 0x44, 0xB1, 0x64, 0xE4, 0x45, 0x44, 0xB1, 0x65, 0xE5, +0x45, 0x44, 0xB1, 0x66, 0xE6, 0x45, 0x44, 0xB1, 0x67, 0xE7, +0x45, 0x44, 0xB1, 0x68, 0xE8, 0x45, 0x44, 0xB1, 0x69, 0xE9, +0x45, 0x44, 0xB1, 0x6A, 0xEA, 0x45, 0x44, 0xB1, 0x6B, 0xEB, +0x45, 0x44, 0xB1, 0x6C, 0xEC, 0x45, 0x44, 0xB1, 0x6D, 0xED, +0x45, 0x44, 0xB1, 0x6E, 0xEE, 0x45, 0x44, 0xB1, 0x6F, 0xEF, +0x45, 0x44, 0xB1, 0x70, 0xF0, 0x45, 0x44, 0xB1, 0x71, 0xF1, +0x45, 0x44, 0xB1, 0x72, 0xF2, 0x45, 0x44, 0xB1, 0x73, 0xF3, +0x45, 0x44, 0xB1, 0x74, 0xF4, 0x45, 0x44, 0xB1, 0x75, 0xF5, +0x45, 0x44, 0xB1, 0x76, 0xF6, 0x45, 0x44, 0xB1, 0x77, 0xF7, +0x45, 0x44, 0xB1, 0x78, 0xF8, 0x45, 0x44, 0xB1, 0x79, 0xF9, +0x45, 0x44, 0xB1, 0x7A, 0xFA, 0x45, 0x44, 0xB1, 0x7B, 0xFB, +0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, +0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, +0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0xC8, +0x00, 0x00, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0E, +0x00, 0x20, 0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x65, +0x00, 0x69, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x72, 0x30, 0x53, +0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, +0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, +0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, +0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x63, 0x00, 0x69, +0x00, 0x6C, 0x00, 0x6E, 0x00, 0x72, 0x30, 0x53, 0x30, 0x61, +0x30, 0x6A, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, +0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, +0x75, 0x4C, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xBA, 0xFF, 0xAE, +0xFF, 0xAD, 0xFF, 0xA2, 0xFF, 0x9F, 0xFF, 0x9D, 0xFF, 0x9C, +0xFF, 0x9A, 0xCF, 0xBA, 0xCF, 0xAD, 0xCF, 0xA5, 0xCF, 0xA2, +0xCF, 0x7F, 0xCF, 0x5E, 0xCF, 0x4C, 0xCF, 0x38, 0xCF, 0x1A, +0xB2, 0x01, 0xAE, 0xB0, 0xA4, 0x8D, 0x8A, 0xCE, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, +0x00, 0x64, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x01, 0x08, +0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x01, 0xE8, 0x00, 0x00, +0x02, 0x50, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x02, 0xAC, +0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, +0x03, 0x98, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0xAC, +0x00, 0x00, 0x05, 0x94, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, +0x06, 0xD4, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00, 0x07, 0xD8, +0x00, 0x00, 0x08, 0x2C, 0x00, 0x00, 0x08, 0xF4, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0xA8, 0x00, 0x00, 0x0A, 0x38, +0x00, 0x00, 0x0B, 0x08, 0x00, 0x00, 0x0B, 0xE0, 0x04, 0x00, +0x01, 0x92, 0x01, 0x1C, 0x00, 0x00, 0x02, 0xC7, 0x00, 0x54, +0x02, 0xA8, 0x00, 0x4A, 0x03, 0x89, 0x00, 0x2B, 0x01, 0xFA, +0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, +0x01, 0x4C, 0x00, 0x6E, 0x01, 0x4C, 0x00, 0x6E, 0x02, 0x51, +0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, 0x01, 0xDB, 0x00, 0x4A, +0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, +0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, +0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, +0x00, 0xB0, 0x04, 0x00, 0x00, 0x27, 0x04, 0x00, 0x00, 0x6C, +0x04, 0x00, 0x00, 0x2D, 0x04, 0x00, 0x00, 0x26, 0x04, 0x00, +0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, +0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, +0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x17, 0x40, 0x0A, +0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, 0x71, 0x06, 0x02, 0x04, +0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, +0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, 0x71, 0x71, 0xFE, 0xC3, +0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, 0x32, 0xFD, 0x14, 0x01, +0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x4A, +0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x19, +0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, 0x07, 0x05, 0x03, 0x02, +0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, 0x00, 0xB3, 0x0C, 0x5E, +0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x14, +0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x20, 0x4A, +0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, 0xEC, 0x01, 0x05, 0x01, +0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, 0x5A, 0x01, 0xEC, 0xFE, +0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x5E, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x7B, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, +0x70, 0x02, 0x70, 0x6E, 0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, +0x9F, 0x02, 0xEC, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, +0x00, 0x15, 0x00, 0x1B, 0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, +0x05, 0x2B, 0x00, 0x40, 0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, +0x05, 0x08, 0x07, 0x54, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, +0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, +0x23, 0x22, 0x26, 0x26, 0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, +0x47, 0x46, 0x4A, 0x4D, 0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, +0x01, 0x0A, 0x86, 0x8F, 0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, +0x5A, 0x1C, 0x5C, 0x14, 0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, +0xFF, 0xF6, 0x02, 0x0C, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, +0x00, 0x24, 0x40, 0x0D, 0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, +0x14, 0x6B, 0x12, 0x0B, 0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x04, 0x03, 0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, +0x52, 0x09, 0x08, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, +0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, +0x25, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x11, 0x33, 0x11, +0x23, 0x27, 0x23, 0x0E, 0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, +0x4F, 0x36, 0x85, 0x46, 0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, +0x61, 0x5A, 0x43, 0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, +0x32, 0x5D, 0x7A, 0xBD, 0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, +0x47, 0x7B, 0x83, 0x92, 0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, +0x2B, 0x22, 0x95, 0x00, 0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, +0x01, 0xF3, 0x02, 0x1F, 0x00, 0x05, 0x00, 0x17, 0x00, 0x18, +0x00, 0x40, 0x10, 0x03, 0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, +0x0C, 0x50, 0x08, 0x07, 0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x33, 0x26, 0x23, 0x22, 0x06, +0x07, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, +0x10, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, +0x03, 0x6F, 0x3D, 0x41, 0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, +0x4A, 0x80, 0x8A, 0x7C, 0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, +0x94, 0x46, 0x9D, 0xA6, 0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, +0x8C, 0x84, 0x8C, 0x0E, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, +0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, +0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, +0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, +0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, +0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, +0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, +0x70, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, +0x11, 0x6E, 0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x1F, +0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, 0x6B, 0x0F, +0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x00, +0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0xB2, 0x4A, +0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, 0x64, 0x02, +0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, 0x2E, 0x5C, +0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, 0x00, 0x08, +0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, 0x0B, 0x00, +0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, 0xB7, 0x05, +0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, 0x26, 0x10, +0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, 0x85, 0x85, +0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, 0xD7, 0x48, +0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, 0xC2, 0x01, +0x85, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, +0x02, 0x14, 0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, +0x01, 0xA6, 0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, +0x44, 0x15, 0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, +0x66, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x89, +0x00, 0x02, 0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, +0x00, 0x09, 0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, +0x27, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, +0x37, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, +0x46, 0xA6, 0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, +0x2D, 0x07, 0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, +0x3D, 0x0B, 0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, +0x46, 0xA6, 0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, +0x19, 0x15, 0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, +0x2F, 0x2B, 0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x6C, 0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, +0x00, 0x0B, 0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, +0x17, 0x1E, 0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, +0x36, 0x37, 0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, +0x07, 0x06, 0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, +0x21, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, +0xFE, 0x5C, 0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, +0x0D, 0x26, 0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, +0x41, 0x17, 0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, +0x46, 0x26, 0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, +0x14, 0x1D, 0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, +0x6B, 0x57, 0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, +0xB4, 0x2D, 0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, +0x28, 0x14, 0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, +0x0E, 0x1C, 0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, +0x2E, 0x00, 0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, +0x03, 0x3E, 0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, +0x00, 0x1B, 0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, +0x00, 0x40, 0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, +0x00, 0x62, 0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x21, 0x06, 0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, +0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, +0x13, 0x25, 0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, +0x37, 0x36, 0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, +0x07, 0x26, 0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, +0x06, 0x17, 0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, +0x26, 0x03, 0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, +0x31, 0xA9, 0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, +0x15, 0x07, 0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, +0xFE, 0x21, 0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, +0x62, 0x5D, 0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, +0x2F, 0x20, 0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, +0x22, 0x11, 0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, +0x71, 0x56, 0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, +0x34, 0x0F, 0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, +0x47, 0x32, 0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, +0x5F, 0x23, 0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, +0x01, 0x0F, 0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, +0x39, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, +0x03, 0x8E, 0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, +0x00, 0x09, 0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, +0x31, 0x37, 0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, +0x01, 0x21, 0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, +0x37, 0x1E, 0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, +0x16, 0x30, 0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, +0x01, 0xC1, 0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, +0x24, 0x5E, 0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, +0x13, 0xB6, 0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, +0x5D, 0xFD, 0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, +0x30, 0x0C, 0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, +0xFF, 0xD5, 0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, +0x00, 0x36, 0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, +0x33, 0x23, 0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, +0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, +0x26, 0x22, 0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, +0x05, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, +0x26, 0x27, 0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, +0x01, 0x35, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, +0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, +0x17, 0x14, 0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, +0x27, 0xDA, 0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, +0x09, 0x23, 0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, +0x1A, 0x4C, 0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, +0x08, 0xFE, 0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, +0x26, 0x1A, 0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, +0x19, 0x28, 0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, +0x18, 0x47, 0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, +0x1E, 0x17, 0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, +0x0D, 0x04, 0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, +0x26, 0x35, 0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, +0x11, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, +0x03, 0x61, 0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, +0x61, 0x14, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, +0x17, 0x03, 0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, +0x02, 0x33, 0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, +0x27, 0x06, 0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, +0x06, 0x07, 0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, +0x05, 0x46, 0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, +0x1E, 0x2F, 0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, +0x3C, 0x3D, 0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, +0x19, 0x14, 0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, +0xFE, 0xCD, 0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, +0x26, 0x45, 0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, +0x66, 0x63, 0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, +0x2B, 0x0E, 0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, +0x00, 0x27, 0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, +0x00, 0x23, 0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, +0x19, 0x01, 0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x0C, 0x10, 0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, +0x61, 0x07, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, +0x0E, 0x01, 0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, +0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x21, 0x35, 0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, +0x86, 0x73, 0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, +0xDD, 0x62, 0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, +0xB7, 0x04, 0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, +0xE6, 0xE6, 0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, +0x03, 0x1F, 0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, +0x03, 0x5E, 0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, +0x11, 0x33, 0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, +0x07, 0x26, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, +0x5E, 0x5E, 0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, +0x24, 0x0F, 0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, +0x68, 0xFE, 0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, +0x05, 0x04, 0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, +0x00, 0x27, 0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, +0x00, 0x1D, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, +0x2B, 0x62, 0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, +0x16, 0x15, 0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, +0x1A, 0x59, 0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0F, 0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, +0x0F, 0x05, 0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, +0x22, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, +0x33, 0x15, 0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, +0x14, 0x07, 0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, +0x06, 0x05, 0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, +0x0E, 0x18, 0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, +0x62, 0xFE, 0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, +0x66, 0x32, 0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, +0x02, 0x6D, 0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, +0x46, 0x32, 0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, +0x12, 0x62, 0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, +0x48, 0x32, 0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, +0xCE, 0xC2, 0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, +0x00, 0x6C, 0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, +0x6B, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, +0x03, 0xD3, 0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, +0x40, 0x13, 0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, +0x00, 0x67, 0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, +0x00, 0x19, 0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, +0x0F, 0x0F, 0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x15, 0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, +0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, +0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x15, 0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, +0x95, 0x95, 0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, +0x7B, 0x7B, 0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, +0xAA, 0xAA, 0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, +0x47, 0x02, 0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, +0x00, 0x22, 0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, +0x05, 0x2B, 0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, +0x05, 0x21, 0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, +0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, +0x06, 0x01, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, +0x06, 0x07, 0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, +0x27, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, +0x21, 0xF1, 0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, +0x78, 0xFE, 0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, +0xB4, 0x86, 0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, +0xFE, 0xE2, 0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, +0x76, 0xFD, 0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, +0x7B, 0xA2, 0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, +0xB5, 0x5A, 0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, +0x03, 0x44, 0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, +0x40, 0x14, 0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, +0x00, 0x2A, 0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, +0x14, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, +0x58, 0x31, 0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, +0x06, 0x21, 0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, +0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, +0x15, 0x13, 0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, +0x35, 0x11, 0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, +0x23, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x03, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, +0x21, 0x15, 0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, +0x07, 0x04, 0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, +0x4C, 0x1C, 0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, +0xEA, 0x03, 0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, +0xFD, 0x84, 0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, +0xE1, 0x58, 0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, +0x26, 0x0A, 0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, +0x94, 0xA8, 0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, +0x16, 0x0A, 0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, +0x00, 0x05, 0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, +0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, +0x00, 0x3C, 0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, +0x18, 0x69, 0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, +0x6C, 0x0E, 0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, +0x55, 0x29, 0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, +0x07, 0x0F, 0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, +0x37, 0x33, 0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, +0x33, 0x26, 0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, +0x07, 0x27, 0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, +0x37, 0x2B, 0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, +0x26, 0x27, 0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, +0xDD, 0xDD, 0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, +0x50, 0x81, 0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, +0x7B, 0x55, 0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, +0x58, 0x02, 0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, +0x63, 0x63, 0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, +0x14, 0x85, 0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, +0x2C, 0x5F, 0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, +0x5F, 0x2B, 0x33, 0xFE, 0xD5, 0x00, }; + +#endif diff --git a/examples/TFT_eSPI/load_from_binary/load_from_binary.ino b/examples/TFT_eSPI/load_from_binary/load_from_binary.ino new file mode 100644 index 0000000..86d9f4d --- /dev/null +++ b/examples/TFT_eSPI/load_from_binary/load_from_binary.ino @@ -0,0 +1,95 @@ +/* + Font generation: + + This sketch uses a ttf (TrueType Font) file that has been converted to a binary + format in a byte array. See NotoSans_Bold.h tab of this sketch. + + https://en.wikipedia.org/wiki/TrueType + + The font used in this sketch is free to use and from Google: + + https://fonts.google.com/ + + TTF font files can be VERY large, fortunately there are python and online tools that can + be used to convert a ttf font to a new ttf font file with a subset of the characters + (called "font subsetting") as needed by the sketch. For example maybe only 0-9 and : are + needed to display the time. It’s important to check the licence a particular font before + use and subsetting. Here is a simple subsetting online tool: + + https://products.aspose.app/font/generator/ttf-to-ttf + + To use this tool: + 1. Drag and drop file + 2. Copy and paste the "Font symbols" you want, here are ASCII characters 20 (space) and 33-126: + !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + 3. Make sure you include the "space" character if you are going to use it (renders as a box otherwise) + 4. Click "Generate" + 5. Save the file and convert to an array + + There is a more sophisticated font subsetting tool here: + + https://www.fontsquirrel.com/tools/webfont-generator + + The font must be in ttf format, it can then be converted to a binary array using the tool here: + + https://notisrac.github.io/FileToCArray/ + + To use this tool: + 1. Drag and drop the ttf file on "Browse..." button + 2. Untick box "static" + 3. Click "Convert" + 4. Click "Save as file" and move the header file to sketch folder + 5. Open the sketch in IDE + 6. Include the header file containing the array (NotoSans_Bold.h in this example) + + ttf font files can be very large, there are python and online tools that can + be used to convert a ttf font to a new font file with a subset of the characters + that will be used by the sketch. For example maybe only 0-9 and : are needed to + display the time. + + Note that translating a ttf font character to a glyph that can be rendered on + screen is a processor intensive operation. This means the rendering speed will + be much lower than bitmap encoded fonts which just need to be copied to the + display. + + TrueType font characters are scalable, so different font files are not needed to + render different size characters on the TFT screen. This is very convenient, just + use the setFontSize(font_size) function (see below). +*/ + +#include "TFT_eSPI.h" +#include "binaryttf.h" +#include "OpenFontRender.h" + +TFT_eSPI tft; +OpenFontRender render; + +void setup() { + Serial.begin(115200); + + tft.begin(); + tft.setRotation(3); + tft.fillScreen(TFT_BLUE); + + if (render.loadFont(binaryttf, sizeof(binaryttf))) { + Serial.println("Render initialize error"); + return; + } + render.setDrawer(tft); // Set drawer object + + render.setFontColor(TFT_WHITE, TFT_BLUE); + render.printf("Hello World\n"); + render.seekCursor(0, 10); + + render.setFontSize(30); + render.setFontColor(TFT_GREEN, TFT_BLUE); + render.printf("完全なUnicodeサポート\n"); + render.seekCursor(0, 10); + + render.setFontSize(40); + render.setFontColor(TFT_ORANGE, TFT_BLUE); + render.printf("こんにちは世界\n"); +} + +void loop() { +} diff --git a/keywords.txt b/keywords.txt new file mode 100644 index 0000000..8e6ba82 --- /dev/null +++ b/keywords.txt @@ -0,0 +1,53 @@ +# OpenFontRender library + +OpenFontRender KEYWORD1 + +setCursor KEYWORD2 +getCursorX KEYWORD2 +getCursorY KEYWORD2 +seekCursor KEYWORD2 + +setTransparentBackground KEYWORD2 + +setFontColor KEYWORD2 +getFontColor KEYWORD2 + +setBackgroundColor KEYWORD2 +getBackgroundColor KEYWORD2 + +setFontSize KEYWORD2 +getFontSize KEYWORD2 + +setLineSpaceRatio KEYWORD2 +getLineSpaceRatio KEYWORD2 + +setCacheSize KEYWORD2 + +loadFont KEYWORD2 +unloadFont KEYWORD2 + +drawChar KEYWORD2 +drawHString KEYWORD2 +drawString KEYWORD2 +cdrawString KEYWORD2 +rdrawString KEYWORD2 + +printf KEYWORD2 +cprintf KEYWORD2 +rprintf KEYWORD2 + +calculateBoundingBoxFmt KEYWORD2 +calculateFitFontSizeFmt KEYWORD2 +calculateFitFontSize KEYWORD2 + +showFreeTypeVersion KEYWORD2 +getFreeTypeVersion KEYWORD2 + +showCredit KEYWORD2 +getCredit KEYWORD2 + +setUseRenderTask KEYWORD2 +setRenderTaskStackSize KEYWORD2 + +setDebugLevel KEYWORD2 +setSerial KEYWORD2 diff --git a/library.properties b/library.properties index d1f01fd..5c19feb 100644 --- a/library.properties +++ b/library.properties @@ -6,5 +6,5 @@ sentence=Library for TTF font render paragraph= category=Other url= -architectures= +architectures=* includes=OpenFontRender.h \ No newline at end of file diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index d15967f..0c13e97 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -275,7 +275,7 @@ uint16_t OpenFontRender::drawHString(const char *str, image_type.flags = FT_LOAD_DEFAULT; // decode UTF8 - uint16_t unicode; + uint16_t unicode = 0; std::queue unicode_q; { uint16_t len = (uint16_t)strlen(str); @@ -763,6 +763,9 @@ void OpenFontRender::setDebugLevel(uint8_t level) { void OpenFontRender::set_drawPixel(std::function user_func) { _drawPixel = user_func; } +void OpenFontRender::set_drawFastHLine(std::function user_func) { + _drawFastHLine = user_func; +} void OpenFontRender::set_startWrite(std::function user_func) { _startWrite = user_func; } @@ -865,15 +868,61 @@ uint32_t OpenFontRender::getFontMaxHeight() { void OpenFontRender::draw2screen(FT_BitmapGlyph glyph, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { _startWrite(); + + int16_t fxs = x; + uint32_t fl = 0; + //-bg-//int16_t bxs = x; + //-bg-//uint32_t bl = 0; + //-bg-//int16_t bx = 0; + for (int32_t _y = 0; _y < glyph->bitmap.rows; ++_y) { for (int32_t _x = 0; _x < glyph->bitmap.width; ++_x) { uint8_t alpha = glyph->bitmap.buffer[_y * glyph->bitmap.pitch + _x]; debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "%c", (alpha == 0x00 ? ' ' : 'o')); +/* + // Original pixel by pixel code if (_transparent_background && alpha == 0x00) { continue; } _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); +*/ + + // Start of new render code for efficient rendering of pixel runs to a TFT + // Background fill code commented out thus //-bg-// as it is only filling the glyph bounding box + // Code for this will need to track the last background end x as glyphs may overlap + // Ideally need to keep track of the cursor position and use the font height for the fill box + // Could also then use a line buffer for the glyph image (entire glyph buffer could be large!) + if (alpha) + { + //-bg-//if (bl) { _drawFastHLine( bxs, _y + y - glyph->top, bl, bg); bl = 0; } + if (alpha != 0xFF) + { + if (fl) { + if (fl==1) _drawPixel(fxs, _y + y - glyph->top, fg); + else _drawFastHLine( fxs, _y + y - glyph->top, fl, fg); + fl = 0; + } + _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); + } + else + { + if (fl==0) fxs = _x + x + glyph->left; + fl++; + } + } + else + { + if (fl) { _drawFastHLine( fxs, _y + y - glyph->top, fl, fg); fl = 0; } + //-bg-//if (!_transparent_background) { + //-bg-// if (bl==0) bxs = _x + x + glyph->left; + //-bg-// bl++; + //-bg-//} + } + // End of new render code } + + if (fl) { _drawFastHLine( fxs, _y + y - glyph->top, fl, fg); fl = 0; } + //-bg-//else if (bl) { _drawFastHLine( bxs, _y + y - glyph->top, bl, bg); bl = 0; } debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "\n"); } _endWrite(); diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index b7257a9..a3e5139 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -174,12 +174,14 @@ class OpenFontRender { template void setDrawer(T &drawer) { set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return drawer.drawPixel(x, y, c); }); + set_drawFastHLine([&](int32_t x, int32_t y, int32_t w, uint16_t c) { return drawer.drawFastHLine(x, y, w, c); }); set_startWrite([&](void) { return drawer.startWrite(); }); set_endWrite([&](void) { return drawer.endWrite(); }); } // Direct calls are deprecated. void set_drawPixel(std::function user_func); + void set_drawFastHLine(std::function user_func); void set_startWrite(std::function user_func); void set_endWrite(std::function user_func); @@ -205,6 +207,7 @@ class OpenFontRender { uint16_t alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc); std::function _drawPixel; + std::function _drawFastHLine; std::function _startWrite; std::function _endWrite; diff --git a/src/sfnt/ttcmap.c b/src/sfnt/ttcmap.c index feb0034..856f635 100644 --- a/src/sfnt/ttcmap.c +++ b/src/sfnt/ttcmap.c @@ -50,7 +50,7 @@ #define TT_NEXT_LONG FT_NEXT_LONG #define TT_NEXT_ULONG FT_NEXT_ULONG - +/* FT_CALLBACK_DEF( FT_Error ) tt_cmap_init( TT_CMap cmap, FT_Byte* table ) @@ -58,7 +58,7 @@ cmap->data = table; return FT_Err_Ok; } - +*/ /*************************************************************************/ /*************************************************************************/ From 9d875fa5f315c5506601777c8efbed178787b295 Mon Sep 17 00:00:00 2001 From: Rudy Nurhadi Date: Tue, 22 Nov 2022 17:13:50 +0700 Subject: [PATCH 16/20] OpenFontRender.cpp: assign the address no need to create new array and use memcpy --- src/OpenFontRender.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index d15967f..dda6a68 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -220,8 +220,7 @@ void OpenFontRender::setCacheSize(unsigned int max_faces, unsigned int max_sizes FT_Error OpenFontRender::loadFont(const unsigned char *data, size_t size, uint8_t target_face_index) { _face_id.data_size = size; - _face_id.data = new unsigned char[size]; - memcpy(_face_id.data, data, size); + _face_id.data = (unsigned char *)data; _face_id.face_index = target_face_index; return loadFont(OFR::FROM_MEMORY); From 75dd1046f6236cdec79003fb94189ca99b9ca304 Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Wed, 23 Nov 2022 21:49:22 +0900 Subject: [PATCH 17/20] [update] Add Export_CMakeLists script - Fix Arduino IDE detection directive - Departure some method - Add Layout set method - Add to get text width/height method - Optimized draw2screen - Modify FreeType update script - Add Export_CMakeLists script - Add CMakeLists.txt for ESP-IDF --- AutoRun.ps1 | 8 +- AutoRun.sh | 11 ++- CMakeLists.txt | 90 +++++++++++++++++++++ CopyLibs.ps1 | 2 +- Export_CMakeLists.ps1 | 47 +++++++++++ Export_CMakeLists.sh | 46 +++++++++++ README.md | 60 ++++---------- REFERENCE_SITES.md | 45 +++++++++++ doc/README_JA.md | 13 ++-- keywords.txt | 8 +- library.properties | 4 +- src/OpenFontRender.cpp | 173 ++++++++++++++++++++++++++--------------- src/OpenFontRender.h | 19 ++++- src/sfnt/ttcmap.c | 4 +- 14 files changed, 406 insertions(+), 124 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 Export_CMakeLists.ps1 create mode 100644 Export_CMakeLists.sh create mode 100644 REFERENCE_SITES.md diff --git a/AutoRun.ps1 b/AutoRun.ps1 index 5880cea..e7ac184 100644 --- a/AutoRun.ps1 +++ b/AutoRun.ps1 @@ -1,7 +1,13 @@ Write-Host "Execute CopyLibs.ps1" +Write-Host "" ./CopyLibs.ps1 Write-Host "" Write-Host "Execute ModifyLibs.ps1" Write-Host "" -./ModifyLibs.ps1 \ No newline at end of file +./ModifyLibs.ps1 + +Write-Host "" +Write-Host "Execute Export_CMakeLists.ps1" +Write-Host "" +./Export_CMakeLists.ps1 \ No newline at end of file diff --git a/AutoRun.sh b/AutoRun.sh index d93f6cc..4d9aa5f 100644 --- a/AutoRun.sh +++ b/AutoRun.sh @@ -1,10 +1,15 @@ #!/bin/bash -echo "Execute CopyLibs.ps1" +echo "Execute CopyLibs.sh" echo "" ./CopyLibs.sh echo "" -echo "Execute ModifyLibs.ps1" +echo "Execute ModifyLibs.sh" echo "" -./ModifyLibs.sh \ No newline at end of file +./ModifyLibs.sh + +echo "" +echo "Execute Export_CMakeLists.sh" +echo "" +./Export_CMakeLists.sh \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e1c1f47 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,90 @@ +# This file was automatically created by "Export_CMakeLists" script. + +set(src + "./src/base/basepic.c" + "./src/base/ftadvanc.c" + "./src/base/ftapi.c" + "./src/base/ftbase.c" + "./src/base/ftbbox.c" + "./src/base/ftbdf.c" + "./src/base/ftbitmap.c" + "./src/base/ftcalc.c" + "./src/base/ftcid.c" + "./src/base/ftdbgmem.c" + "./src/base/ftdebug.c" + "./src/base/ftfstype.c" + "./src/base/ftgasp.c" + "./src/base/ftgloadr.c" + "./src/base/ftglyph.c" + "./src/base/ftgxval.c" + "./src/base/ftinit.c" + "./src/base/ftlcdfil.c" + "./src/base/ftmm.c" + "./src/base/ftobjs.c" + "./src/base/ftotval.c" + "./src/base/ftoutln.c" + "./src/base/ftpatent.c" + "./src/base/ftpfr.c" + "./src/base/ftpic.c" + "./src/base/ftrfork.c" + "./src/base/ftsnames.c" + "./src/base/ftstream.c" + "./src/base/ftstroke.c" + "./src/base/ftsynth.c" + "./src/base/ftsystem.cpp" + "./src/base/fttrigon.c" + "./src/base/fttype1.c" + "./src/base/ftutil.c" + "./src/base/ftwinfnt.c" + "./src/base/ftxf86.c" + "./src/base/md5.c" + "./src/cache/ftcache.c" + "./src/cache/ftcbasic.c" + "./src/cache/ftccache.c" + "./src/cache/ftccmap.c" + "./src/cache/ftcglyph.c" + "./src/cache/ftcimage.c" + "./src/cache/ftcmanag.c" + "./src/cache/ftcmru.c" + "./src/cache/ftcsbits.c" + "./src/sfnt/sfdriver.c" + "./src/sfnt/sfnt.c" + "./src/sfnt/sfntpic.c" + "./src/sfnt/sfobjs.c" + "./src/sfnt/ttbdf.c" + "./src/sfnt/ttcmap.c" + "./src/sfnt/ttkern.c" + "./src/sfnt/ttload.c" + "./src/sfnt/ttmtx.c" + "./src/sfnt/ttpost.c" + "./src/sfnt/ttsbit.c" + "./src/sfnt/ttsbit0.c" + "./src/smooth/ftgrays.c" + "./src/smooth/ftsmooth.c" + "./src/smooth/ftspic.c" + "./src/smooth/smooth.c" + "./src/truetype/truetype.c" + "./src/truetype/ttdriver.c" + "./src/truetype/ttgload.c" + "./src/truetype/ttinterp.c" + "./src/truetype/ttobjs.c" + "./src/truetype/ttpic.c" + "./src/truetype/ttpload.c" + "./src/truetype/ttsubpix.c" + "./src/FileSupport.cpp" + "./src/OpenFontRender.cpp" +) +idf_component_register(SRCS ${srcs} + INCLUDE_DIRS + "./src" + "./src/.vscode" + "./src/base" + "./src/cache" + "./src/freetype" + "./src/sfnt" + "./src/smooth" + "./src/truetype" + "./src/freetype/config" + "./src/freetype/internal" + "./src/freetype/internal/services" +) diff --git a/CopyLibs.ps1 b/CopyLibs.ps1 index d4b66a0..ef87c69 100644 --- a/CopyLibs.ps1 +++ b/CopyLibs.ps1 @@ -1,5 +1,5 @@ # ------------------------------------------------------- -# CopyLibs.sh +# CopyLibs.ps1 # # Copyright (c) 2021 takkaO # diff --git a/Export_CMakeLists.ps1 b/Export_CMakeLists.ps1 new file mode 100644 index 0000000..1e19498 --- /dev/null +++ b/Export_CMakeLists.ps1 @@ -0,0 +1,47 @@ +# ------------------------------------------------------- +# Export_CMakeLists.ps1 +# +# Copyright (c) 2022 takkaO +# +# If you use, modify, or redistribute this file independently  +# of the original repository, this program is licensed under +# the MIT License. +# +# If you use, modify or redistribute this file as part of +# the original repository, please follow the repository's license. +# +# ------------------------------------------------------- + +Write-Host "** Start create CMakeLists.txt **" + +## Clean CMakeLists.txt +Write-Host "Processing clear old CMakeLists.txt" +Write-Output "# This file was automatically created by `"Export_CMakeLists`" script.`n" | Set-Content CMakeLists.txt + +## Search source files +Write-Host "Processing search C/C++ source files" +$lst = Get-ChildItem -Path "./src" -File -Recurse -Include *.c,*.cpp | Resolve-Path -Relative +$lst = $lst -replace '\\', "/" + +Write-Output "set(src " | Add-Content CMakeLists.txt +foreach ($f in $lst) { + # Space for indent + Write-Output " `"$($f)`"" | Add-Content CMakeLists.txt +} +Write-Output ")" | Add-Content CMakeLists.txt + +## Search include directory +Write-Host "Processing search include directories" +$lst = Get-ChildItem -Path "./src" -Directory -Recurse | Resolve-Path -Relative +$lst = $lst -replace '\\', "/" + +Write-Output "idf_component_register(SRCS `${srcs}" | Add-Content CMakeLists.txt +Write-Output " INCLUDE_DIRS" | Add-Content CMakeLists.txt +Write-Output " `"./src`"" | Add-Content CMakeLists.txt +foreach ($f in $lst) { + # Space for indent + Write-Output " `"$($f)`"" | Add-Content CMakeLists.txt +} +Write-Output ")" | Add-Content CMakeLists.txt + +Write-Host "** Finish create CMakeLists.txt **" \ No newline at end of file diff --git a/Export_CMakeLists.sh b/Export_CMakeLists.sh new file mode 100644 index 0000000..ea3b2b1 --- /dev/null +++ b/Export_CMakeLists.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# ------------------------------------------------------- +# Export_CMakeLists.sh +# +# Copyright (c) 2022 takkaO +# +# If you use, modify, or redistribute this file independently  +# of the original repository, this program is licensed under +# the MIT License. +# +# If you use, modify or redistribute this file as part of +# the original repository, please follow the repository's license. +# +# ------------------------------------------------------- + +echo "** Start create CMakeLists.txt **" + +## Clean CMakeLists.txt +echo "Processing clear old CMakeLists.txt" +echo -e "# This file was automatically created by \"Export_CMakeLists\" script.\n" > CMakeLists.txt + +## Search source files +echo "Processing search C/C++ source files" +lst=$(find "./src" -type f -name "*.c" -or -name "*.cpp") + +echo "set(src " >> CMakeLists.txt +for f in $lst; do + # Space for indent + echo " "\"$f\" >> CMakeLists.txt +done +echo ")" >> CMakeLists.txt + +## Search include directory +echo "Processing search include directories" +lst=$(find "./src" -type d) + +echo "idf_component_register(SRCS \${srcs}" >> CMakeLists.txt +echo " INCLUDE_DIRS " >> CMakeLists.txt +for f in $lst; do + # Space for indent + echo " "\"$f\" >> CMakeLists.txt +done +echo ")" >> CMakeLists.txt + +echo "** Finish create CMakeLists.txt **" \ No newline at end of file diff --git a/README.md b/README.md index 137fee7..4bb184c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Open Font Render [[JA](/doc/README_JA.md)] +# Open Font Render \[[JA](/doc/README_JA.md)\] TTF font render support library for microcomputer using Arduino IDE. This library can render TTF font files in the SD card or TTF font files embedded in the program. @@ -155,11 +155,12 @@ To change it, use the following function. ```c++ render.setDrawPixel(my_draw_function); // necessary +render.setDrawFastHLine(my_draw_fast_h_line); // optional render.setStartWrite(my_start_write_function); // optional render.setEndWrite(my_end_write_function); // optional ``` -If you have an object for drawing and it contains the necessary methods, you can also use ```setDrawer``` method instead. +If you have an object for drawing and it contains the necessary methods, you can also use `setDrawer` method instead. See [API.md](/doc/API.md) for more detailed instructions. @@ -178,7 +179,7 @@ Default version is 2.4.12 because it was the version that worked most stably. ### Note If you are using FreeRTOS, some versions may become unstable. -You may have to increase the stack size or enable useRenderTask to get it to work. +You may have to increase the stack size or enable `useRenderTask` to get it to work. ## Test @@ -187,9 +188,17 @@ You may have to increase the stack size or enable useRenderTask to get it to wor This library has been tested on the following hardware. We would be happy to receive reports on hardware not listed here. -- Wio Terminal -- M5Stack Basic -- M5Stack Core2 +- Arduino IDE 2.0 + - Seeed SAMD Boards (Board Manager v1.8.3) + - Wio Terminal + - M5Stack (Board Manager v2.0.4) + - M5Stack Basic (Library v0.1.4) + - M5Stack Core2 (Library v0.4.0) +- PlatformIO + - M5Stack Basic (Library v2.0.4) + - M5Stack Core2 (Library v2.0.4) +- ESP-IDF (4.4) + - M5Stack Basic ### Rendering speed @@ -221,45 +230,6 @@ We would like to thank sozai-font-hako for providing us with an easy-to-use lice | ------------------------------------------------------------ | -------------------------------------------------------------------- | | [JK Gothic M](http://font.cutegirl.jp/jk-font-medium.html#i) | Copyright (c) 2014 M+ FONTS PROJECT
Copyright (c) 2015 JK FONTS | -## Reference - -### FreeType - -- [FreeType-2.11.0 API Reference](https://www.freetype.org/freetype2/docs/reference/index.html) -- [FreeType に関するメモ](http://ncl.sakura.ne.jp/doc/ja/comp/freetype-memo.html#ft-bitmap) -- [FreeType2 を試す-3-小さいサイズで描画 | ぬの部屋(仮)](https://suzulang.com/freetype2-3-small-size/) -- [True type font のレンダリング その 2 - 忘備録-備忘録](https://blog.goo.ne.jp/lm324/e/9839bdff2c26272596c6ccebaafb78aa) -- [libvita2d/vita2d_font.c at master · xerpi/libvita2d](https://github.com/xerpi/libvita2d/blob/master/libvita2d/source/vita2d_font.c) -- [freetype 函数介绍\_guoke312 的专栏-程序员宅基地 - 程序员宅基地](https://www.cxyzjd.com/article/guoke312/79552120) -- [Freetype 内存回收 / 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 / WhyCan Forum(哇酷开发者社区)](https://whycan.com/t_2984.html) -- [FreeType 2 Caching](https://www.sivachandran.in/2009/04/freetype-2-caching.html) -- [C++ (Cpp) FTC_Manager_LookupSize Examples - HotExamples](https://cpp.hotexamples.com/examples/-/-/FTC_Manager_LookupSize/cpp-ftc_manager_lookupsize-function-examples.html) -- [FreeType 的缓存 - 百度文库](https://wenku.baidu.com/view/046d34f90242a8956bece444.html) -- [freeType 移植总结 ①——使用 keil 编译 freeType2 库 - 编程猎人](https://www.programminghunter.com/article/6736670540/) -- [FreeType の使い方 - Qiita](https://qiita.com/496_/items/6d2540e26d66c9ed5f9a) -- [じぶんめも Qt で freetype](http://mochimocchi601.blog.fc2.com/blog-entry-4.html) -- [C++ (Cpp) FT_Glyph_To_Bitmap の例 - HotExamples](https://cpp.hotexamples.com/jp/examples/-/-/FT_Glyph_To_Bitmap/cpp-ft_glyph_to_bitmap-function-examples.html) -- [freetype2 - example1.c](https://www.freetype.org/freetype2/docs/tutorial/example1.c) -- [FreeType2 でフォントテクスチャ作る際のコツ。ピクセルサイズで作るのと文字送り量の取得 - GameProgrammar's Night](https://katze.hatenablog.jp/entry/2013/07/16/232911) -- [FreeType のベースラインあわせでかなりハマッタのでメモ - くそにそてくにっく](https://niso1985.hatenadiary.org/entry/20090907/1252339660) -- [【C++/MinGW】FreeTypeを使ってTTFファイルから文字レンダリング - とある科学の備忘録](https://shizenkarasuzon.hatenablog.com/entry/2020/10/30/181607) -- [OpenGLでFreeTypeを使って文字列を描画してみた2。(FreeTypeキャッシュ編)](https://gist.github.com/rg687076/76d4ddac2a8628066f201391f9a4489d) -- [FreeType を使って文字を描画する - インゲージ開発者ブログ](https://blog.ingage.jp/entry/2022/03/24/080000) -- [[Font][Freetype]26.6 fractional pixel formatってなぁに? にお答えしますね – あおいろヨゾラ](https://www.nagatsuki-do.net/2014/05/18/fontfreetype26-6-fractional-pixel-format%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%81%E3%81%AB%EF%BC%9F%E3%80%80%E3%81%AB%E3%81%8A%E7%AD%94%E3%81%88%E3%81%97%E3%81%BE%E3%81%99%E3%81%AD/) -- [freetype - How to get height of font in Freetype2 - Stack Overflow](https://stackoverflow.com/questions/50373457/how-to-get-height-of-font-in-freetype2) -- [True type fontのレンダリング その7 - 忘備録-備忘録](https://blog.goo.ne.jp/lm324/e/457cf90b1c4267e1d49ed0881369b303) -- [FreeType-2.4.7 API Reference](https://opensource.apple.com/source/X11proto/X11proto-57.2/freetype/freetype-2.4.7/docs/reference/ft2-base_interface.html#FT_Open_Face) -- [The FreeType Caching Sub-System](http://www.fifi.org/doc/libfreetype6/cache.html) -- [freetype 2.8.1 | DirectAdmin Forums](https://forum.directadmin.com/threads/freetype-2-8-1.55304/) - - -### Other - -- [Deleting a task and erasing it's handler - FreeRTOS](https://www.freertos.org/FreeRTOS_Support_Forum_Archive/October_2015/freertos_Deleting_a_task_and_erasing_its_handler_bb9bbcdbj.html) -- [FreeRTOS タスクスケジューリングまとめ - Qiita](https://qiita.com/MoriokaReimen/items/fe287a8bae1ce37849ae) -- [sed の正規表現で「\w」「\d」「\s」を実現する方法: 小粋空間](https://www.koikikukan.com/archives/2014/12/05-011111.php) -- [Regex in Powershell fails to check for newlines - Stack Overflow](https://stackoverflow.com/questions/52633995/regex-in-powershell-fails-to-check-for-newlines) - --- Portions of this software are copyright © The FreeTypeProject (www.freetype.org). All rights reserved. diff --git a/REFERENCE_SITES.md b/REFERENCE_SITES.md new file mode 100644 index 0000000..e436352 --- /dev/null +++ b/REFERENCE_SITES.md @@ -0,0 +1,45 @@ +## Reference + +### FreeType + +- [FreeType-2.11.0 API Reference](https://www.freetype.org/freetype2/docs/reference/index.html) +- [FreeType に関するメモ](http://ncl.sakura.ne.jp/doc/ja/comp/freetype-memo.html#ft-bitmap) +- [FreeType2 を試す-3-小さいサイズで描画 | ぬの部屋(仮)](https://suzulang.com/freetype2-3-small-size/) +- [True type font のレンダリング その 2 - 忘備録-備忘録](https://blog.goo.ne.jp/lm324/e/9839bdff2c26272596c6ccebaafb78aa) +- [libvita2d/vita2d_font.c at master · xerpi/libvita2d](https://github.com/xerpi/libvita2d/blob/master/libvita2d/source/vita2d_font.c) +- [freetype 函数介绍\_guoke312 的专栏-程序员宅基地 - 程序员宅基地](https://www.cxyzjd.com/article/guoke312/79552120) +- [Freetype 内存回收 / 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 / WhyCan Forum(哇酷开发者社区)](https://whycan.com/t_2984.html) +- [FreeType 2 Caching](https://www.sivachandran.in/2009/04/freetype-2-caching.html) +- [C++ (Cpp) FTC_Manager_LookupSize Examples - HotExamples](https://cpp.hotexamples.com/examples/-/-/FTC_Manager_LookupSize/cpp-ftc_manager_lookupsize-function-examples.html) +- [FreeType 的缓存 - 百度文库](https://wenku.baidu.com/view/046d34f90242a8956bece444.html) +- [freeType 移植总结 ①——使用 keil 编译 freeType2 库 - 编程猎人](https://www.programminghunter.com/article/6736670540/) +- [FreeType の使い方 - Qiita](https://qiita.com/496_/items/6d2540e26d66c9ed5f9a) +- [じぶんめも Qt で freetype](http://mochimocchi601.blog.fc2.com/blog-entry-4.html) +- [C++ (Cpp) FT_Glyph_To_Bitmap の例 - HotExamples](https://cpp.hotexamples.com/jp/examples/-/-/FT_Glyph_To_Bitmap/cpp-ft_glyph_to_bitmap-function-examples.html) +- [freetype2 - example1.c](https://www.freetype.org/freetype2/docs/tutorial/example1.c) +- [FreeType2 でフォントテクスチャ作る際のコツ。ピクセルサイズで作るのと文字送り量の取得 - GameProgrammar's Night](https://katze.hatenablog.jp/entry/2013/07/16/232911) +- [FreeType のベースラインあわせでかなりハマッタのでメモ - くそにそてくにっく](https://niso1985.hatenadiary.org/entry/20090907/1252339660) +- [【C++/MinGW】FreeTypeを使ってTTFファイルから文字レンダリング - とある科学の備忘録](https://shizenkarasuzon.hatenablog.com/entry/2020/10/30/181607) +- [OpenGLでFreeTypeを使って文字列を描画してみた2。(FreeTypeキャッシュ編)](https://gist.github.com/rg687076/76d4ddac2a8628066f201391f9a4489d) +- [FreeType を使って文字を描画する - インゲージ開発者ブログ](https://blog.ingage.jp/entry/2022/03/24/080000) +- [[Font][Freetype]26.6 fractional pixel formatってなぁに? にお答えしますね – あおいろヨゾラ](https://www.nagatsuki-do.net/2014/05/18/fontfreetype26-6-fractional-pixel-format%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%81%E3%81%AB%EF%BC%9F%E3%80%80%E3%81%AB%E3%81%8A%E7%AD%94%E3%81%88%E3%81%97%E3%81%BE%E3%81%99%E3%81%AD/) +- [freetype - How to get height of font in Freetype2 - Stack Overflow](https://stackoverflow.com/questions/50373457/how-to-get-height-of-font-in-freetype2) +- [True type fontのレンダリング その7 - 忘備録-備忘録](https://blog.goo.ne.jp/lm324/e/457cf90b1c4267e1d49ed0881369b303) +- [FreeType-2.4.7 API Reference](https://opensource.apple.com/source/X11proto/X11proto-57.2/freetype/freetype-2.4.7/docs/reference/ft2-base_interface.html#FT_Open_Face) +- [The FreeType Caching Sub-System](http://www.fifi.org/doc/libfreetype6/cache.html) +- [freetype 2.8.1 | DirectAdmin Forums](https://forum.directadmin.com/threads/freetype-2-8-1.55304/) + + +### Other + +- [Deleting a task and erasing it's handler - FreeRTOS](https://www.freertos.org/FreeRTOS_Support_Forum_Archive/October_2015/freertos_Deleting_a_task_and_erasing_its_handler_bb9bbcdbj.html) +- [FreeRTOS タスクスケジューリングまとめ - Qiita](https://qiita.com/MoriokaReimen/items/fe287a8bae1ce37849ae) +- [sed の正規表現で「\w」「\d」「\s」を実現する方法: 小粋空間](https://www.koikikukan.com/archives/2014/12/05-011111.php) +- [Regex in Powershell fails to check for newlines - Stack Overflow](https://stackoverflow.com/questions/52633995/regex-in-powershell-fails-to-check-for-newlines) +- [C++のEclipse設定 [いかたこのたこつぼ]](https://ikatakos.com/pot/programming/cpp/eclipse) +- [Windows PowerShellでファイルを検索する方法](https://kaworu.jpn.org/kaworu/2013-04-21-1.php) +- [PowerShell/ファイル操作/絶対パス相対パスの変換 - Resolve-Path - yanor.net/wiki](https://yanor.net/wiki/?PowerShell/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E6%93%8D%E4%BD%9C/%E7%B5%B6%E5%AF%BE%E3%83%91%E3%82%B9%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E3%81%AE%E5%A4%89%E6%8F%9B+-+Resolve-Path) +- [ファイルの一覧を表示する(Get-ChildItem)](http://suyamasoft.blue.coocan.jp/PowerShell/Tips/File/GetChildItem/index.html) +- [PowerShell/ファイルへの上書きと追記方法・Set-Content,Add-Content - Windowsと暮らす](https://win.just4fun.biz/?PowerShell/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%B8%E3%81%AE%E4%B8%8A%E6%9B%B8%E3%81%8D%E3%81%A8%E8%BF%BD%E8%A8%98%E6%96%B9%E6%B3%95%E3%83%BBSet-Content%2CAdd-Content) +- [PowerShell 文字列を結合するサンプル | ITSakura](https://itsakura.com/powershell-string#s3) +- [【PowerShell】文字列に改行を含める - Muni Bus](https://munibus.hatenablog.com/entry/2020/08/04/235440) \ No newline at end of file diff --git a/doc/README_JA.md b/doc/README_JA.md index d15a8a9..bcd15fd 100644 --- a/doc/README_JA.md +++ b/doc/README_JA.md @@ -140,8 +140,8 @@ void loop() { ## TTFをプログラムに埋め込む方法 バイナリTTFフォントファイルを作成するために、toolsディレクトリにある[binary2ttf.py](/tools/ttf2bin/ttf2bin.py)を使用します。 -この```binary2ttf.py```は、[M5EPD](https://github.com/m5stack/M5EPD/tree/main/tools/ttf2bin)ライブラリで提供されています。 -同じプログラムが、このリポジトリの ```tools``` ディレクトリに含まれています。 +この `binary2ttf.py` は、[M5EPD](https://github.com/m5stack/M5EPD/tree/main/tools/ttf2bin)ライブラリで提供されています。 +同じプログラムが、このリポジトリの `tools` ディレクトリに含まれています。 以下のコマンドを実行するだけです。 ```sh @@ -156,11 +156,12 @@ python3 binary2ttf.py your_font_file.ttf ```c++ render.setDrawPixel(my_draw_function); // 必須 +render.setDrawFastHLine(my_draw_fast_h_line); // 任意 render.setStartWrite(my_start_write_function); // 任意 render.setEndWrite(my_end_write_function); // 任意 ``` -描画用のオブジェクトがあり、必要なメソッドを含んでいる場合は ```setDrawer``` を利用することも出来ます。 +描画用のオブジェクトがあり、必要なメソッドを含んでいる場合は `setDrawer` を利用することも出来ます。 より詳しい説明は [API.md](/doc/API.md) をご覧ください。 ## FreeType のバージョンを変更する @@ -173,12 +174,12 @@ render.setEndWrite(my_end_write_function); // 任意 1. お好きな FreeType のバージョンをダウンロードしてください。 2. ダウンロードした FreeType フォルダを OpenFontRender の直下に置きます。 -3. ```AutoRun``` スクリプトを実行します。 +3. `AutoRun` スクリプトを実行します。 ### 備考 FreeRTOS を使用している場合、バージョンによっては不安定になることがあります。 -スタックサイズを大きくしたり、```useRenderTask``` を有効にしないと動作しない場合があります。 +スタックサイズを大きくしたり、`useRenderTask` を有効にしないと動作しない場合があります。 ## 動作検証 @@ -196,6 +197,8 @@ FreeRTOS を使用している場合、バージョンによっては不安定 - PlatformIO - M5Stack Basic (Library v2.0.4) - M5Stack Core2 (Library v2.0.4) +- ESP-IDF (4.4) + - M5Stack Basic ### 描画速度 diff --git a/keywords.txt b/keywords.txt index 8e6ba82..94998c4 100644 --- a/keywords.txt +++ b/keywords.txt @@ -7,7 +7,8 @@ getCursorX KEYWORD2 getCursorY KEYWORD2 seekCursor KEYWORD2 -setTransparentBackground KEYWORD2 +setLayout KEYWORD2 +getLayout KEYWORD2 setFontColor KEYWORD2 getFontColor KEYWORD2 @@ -37,6 +38,11 @@ cprintf KEYWORD2 rprintf KEYWORD2 calculateBoundingBoxFmt KEYWORD2 +calculateBoundingBox KEYWORD2 + +getTextWidth KEYWORD2 +getTextHeight KEYWORD2 + calculateFitFontSizeFmt KEYWORD2 calculateFitFontSize KEYWORD2 diff --git a/library.properties b/library.properties index 5c19feb..daaa034 100644 --- a/library.properties +++ b/library.properties @@ -1,10 +1,10 @@ name=OpenFontRender -version=0.2.0 +version=1.0.0 author=takkaO maintainer=takkaO sentence=Library for TTF font render paragraph= category=Other -url= +url=https://github.com/takkaO/OpenFontRender architectures=* includes=OpenFontRender.h \ No newline at end of file diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 0c13e97..f6885c3 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -90,7 +90,7 @@ RenderTaskParameter g_TaskParameter; OpenFontRender::OpenFontRender() { g_Print = [](const char *s) { -#ifdef ARDUINO_BOARD +#if defined(ARDUINO) Serial.print(s); #else return; @@ -123,9 +123,14 @@ OpenFontRender::OpenFontRender() { _font.fg_color = 0xFFFF; // Set default font color (White) _font.bg_color = 0x0000; // Set default background color (Black) _font.support_vertical = false; + _layout = Layout::Horizontal; // Set default layout Horizontal _debug_level = OFR_NONE; - _transparent_background = false; + _enable_optimized_drawing = false; + + _ftc_manager = nullptr; + _ftc_cmap_cache = nullptr; + _ftc_image_cache = nullptr; } void OpenFontRender::setUseRenderTask(bool enable) { @@ -187,10 +192,6 @@ uint16_t OpenFontRender::getBackgroundColor() { return _font.bg_color; } -void OpenFontRender::setTransparentBackground(bool enable) { - _transparent_background = enable; -} - void OpenFontRender::setFontSize(unsigned int pixel) { _font.size = pixel; } @@ -212,6 +213,14 @@ double OpenFontRender::getLineSpaceRatio() { return _font.line_space_ratio; } +void OpenFontRender::setLayout(Layout layout) { + _layout = layout; +} + +Layout OpenFontRender::getLayout() { + return _layout; +} + void OpenFontRender::setCacheSize(unsigned int max_faces, unsigned int max_sizes, unsigned long max_bytes) { _max_faces = max_faces; _max_sizes = max_sizes; @@ -275,13 +284,13 @@ uint16_t OpenFontRender::drawHString(const char *str, image_type.flags = FT_LOAD_DEFAULT; // decode UTF8 - uint16_t unicode = 0; + uint16_t unicode = '\0'; std::queue unicode_q; { uint16_t len = (uint16_t)strlen(str); uint16_t n = 0; while (n < len) { - uint16_t unicode = decodeUTF8((uint8_t *)str, &n, len - n); + unicode = decodeUTF8((uint8_t *)str, &n, len - n); unicode_q.push(unicode); } } @@ -584,7 +593,7 @@ uint16_t OpenFontRender::printf(const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - return drawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, Layout::Horizontal); + return drawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, _layout); } uint16_t OpenFontRender::cprintf(const char *fmt, ...) { @@ -595,7 +604,7 @@ uint16_t OpenFontRender::cprintf(const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - return cdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, Layout::Horizontal); + return cdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, _layout); } uint16_t OpenFontRender::rprintf(const char *fmt, ...) { @@ -606,7 +615,7 @@ uint16_t OpenFontRender::rprintf(const char *fmt, ...) { vsnprintf(str, 256, fmt, ap); va_end(ap); - return rdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, Layout::Horizontal); + return rdrawString(str, _cursor.x, _cursor.y, _font.fg_color, _font.bg_color, _layout); } FT_BBox OpenFontRender::calculateBoundingBoxFmt(int32_t x, @@ -656,6 +665,30 @@ FT_BBox OpenFontRender::calculateBoundingBox(int32_t x, return bbox; } +uint32_t OpenFontRender::getTextWidth(const char *fmt, ...) { + char str[256] = {0}; + va_list ap; + + va_start(ap, fmt); + vsnprintf(str, 256, fmt, ap); + va_end(ap); + + FT_BBox bbox = calculateBoundingBox(0, 0, _font.size, Align::Left, _layout, str); + return (bbox.xMax - bbox.xMin); +} + +uint32_t OpenFontRender::getTextHeight(const char *fmt, ...) { + char str[256] = {0}; + va_list ap; + + va_start(ap, fmt); + vsnprintf(str, 256, fmt, ap); + va_end(ap); + + FT_BBox bbox = calculateBoundingBox(0, 0, _font.size, Align::Left, _layout, str); + return (bbox.yMax - bbox.yMin); +} + unsigned int OpenFontRender::calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, Layout layout, @@ -764,7 +797,8 @@ void OpenFontRender::set_drawPixel(std::function user_func) { - _drawFastHLine = user_func; + _drawFastHLine = user_func; + _enable_optimized_drawing = true; // Enable optimized drawing method } void OpenFontRender::set_startWrite(std::function user_func) { _startWrite = user_func; @@ -869,62 +903,79 @@ uint32_t OpenFontRender::getFontMaxHeight() { void OpenFontRender::draw2screen(FT_BitmapGlyph glyph, uint32_t x, uint32_t y, uint16_t fg, uint16_t bg) { _startWrite(); - int16_t fxs = x; - uint32_t fl = 0; - //-bg-//int16_t bxs = x; - //-bg-//uint32_t bl = 0; - //-bg-//int16_t bx = 0; - - for (int32_t _y = 0; _y < glyph->bitmap.rows; ++_y) { - for (int32_t _x = 0; _x < glyph->bitmap.width; ++_x) { - uint8_t alpha = glyph->bitmap.buffer[_y * glyph->bitmap.pitch + _x]; - debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "%c", (alpha == 0x00 ? ' ' : 'o')); -/* - // Original pixel by pixel code - if (_transparent_background && alpha == 0x00) { - continue; - } - _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); -*/ - - // Start of new render code for efficient rendering of pixel runs to a TFT - // Background fill code commented out thus //-bg-// as it is only filling the glyph bounding box - // Code for this will need to track the last background end x as glyphs may overlap - // Ideally need to keep track of the cursor position and use the font height for the fill box - // Could also then use a line buffer for the glyph image (entire glyph buffer could be large!) - if (alpha) - { - //-bg-//if (bl) { _drawFastHLine( bxs, _y + y - glyph->top, bl, bg); bl = 0; } - if (alpha != 0xFF) - { + if (_enable_optimized_drawing) { + // Start of new render code for efficient rendering of pixel runs to a TFT + // Background fill code commented out thus //-bg-// as it is only filling the glyph bounding box + // Code for this will need to track the last background end x as glyphs may overlap + // Ideally need to keep track of the cursor position and use the font height for the fill box + // Could also then use a line buffer for the glyph image (entire glyph buffer could be large!) + + int16_t fxs = x; + uint32_t fl = 0; + //-bg-//int16_t bxs = x; + //-bg-//uint32_t bl = 0; + //-bg-//int16_t bx = 0; + + for (int32_t _y = 0; _y < glyph->bitmap.rows; ++_y) { + for (int32_t _x = 0; _x < glyph->bitmap.width; ++_x) { + uint8_t alpha = glyph->bitmap.buffer[_y * glyph->bitmap.pitch + _x]; + debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "%c", (alpha == 0x00 ? ' ' : 'o')); + + if (alpha) { + //-bg-//if (bl) { _drawFastHLine( bxs, _y + y - glyph->top, bl, bg); bl = 0; } + if (alpha != 0xFF) { + // Draw anti-aliasing area + if (fl) { + if (fl == 1) { + _drawPixel(fxs, _y + y - glyph->top, fg); + } else { + _drawFastHLine(fxs, _y + y - glyph->top, fl, fg); + } + fl = 0; + } + _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); + } else { + if (fl == 0) { + fxs = _x + x + glyph->left; + } + fl++; + } + } else { if (fl) { - if (fl==1) _drawPixel(fxs, _y + y - glyph->top, fg); - else _drawFastHLine( fxs, _y + y - glyph->top, fl, fg); - fl = 0; + _drawFastHLine(fxs, _y + y - glyph->top, fl, fg); + fl = 0; } - _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); - } - else - { - if (fl==0) fxs = _x + x + glyph->left; - fl++; + //-bg-//if (!_transparent_background) { + //-bg-// if (bl==0) bxs = _x + x + glyph->left; + //-bg-// bl++; + //-bg-//} } + // End of new render code } - else - { - if (fl) { _drawFastHLine( fxs, _y + y - glyph->top, fl, fg); fl = 0; } - //-bg-//if (!_transparent_background) { - //-bg-// if (bl==0) bxs = _x + x + glyph->left; - //-bg-// bl++; - //-bg-//} + + if (fl) { + _drawFastHLine(fxs, _y + y - glyph->top, fl, fg); + fl = 0; } - // End of new render code + //-bg-//else if (bl) { _drawFastHLine( bxs, _y + y - glyph->top, bl, bg); bl = 0; } + debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "\n"); + } + } else { + // The old draw method + // Not optimized, but can work with minimal method definitions + for (int32_t _y = 0; _y < glyph->bitmap.rows; ++_y) { + for (int32_t _x = 0; _x < glyph->bitmap.width; ++_x) { + uint8_t alpha = glyph->bitmap.buffer[_y * glyph->bitmap.pitch + _x]; + debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "%c", (alpha == 0x00 ? ' ' : 'o')); + + if (alpha) { + _drawPixel(_x + x + glyph->left, _y + y - glyph->top, alphaBlend(alpha, fg, bg)); + } + } + debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "\n"); } - - if (fl) { _drawFastHLine( fxs, _y + y - glyph->top, fl, fg); fl = 0; } - //-bg-//else if (bl) { _drawFastHLine( bxs, _y + y - glyph->top, bl, bg); bl = 0; } - debugPrintf((_debug_level & OFR_DEBUG) ? OFR_RAW : OFR_NONE, "\n"); } + _endWrite(); } diff --git a/src/OpenFontRender.h b/src/OpenFontRender.h index a3e5139..1d9652a 100644 --- a/src/OpenFontRender.h +++ b/src/OpenFontRender.h @@ -11,9 +11,12 @@ #ifndef OPEN_FONT_RENDER_H #define OPEN_FONT_RENDER_H -#if defined(ARDUINO_BOARD) +#if defined(ARDUINO) #include + #undef min + #undef max #endif + #include #include @@ -24,6 +27,7 @@ #include #include #include +#include #include #include "FileSupport.h" @@ -79,6 +83,7 @@ namespace OFR { // /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ #define setDrawPixel(F) set_drawPixel([&](int32_t x, int32_t y, uint16_t c) { return F(x, y, c); }) +#define setDrawFastHLine(F) set_drawFastHLine([&](int32_t x, int32_t y, int32_t w, uint16_t c) { return F(x, y, w, c); }) #define setStartWrite(F) set_startWrite([&](void) { return F(); }) #define setEndWrite(F) set_endWrite([&](void) { return F(); }) #define setPrintFunc(F) set_printFunc([&](const char *s) { return F(s); }) @@ -109,13 +114,14 @@ class OpenFontRender { uint8_t bg, uint8_t bb); void setBackgroundColor(uint16_t font_bgcolor); - void setTransparentBackground(bool enable); uint16_t getFontColor(); uint16_t getBackgroundColor(); void setFontSize(unsigned int pixel); unsigned int getFontSize(); double setLineSpaceRatio(double line_space_ratio); double getLineSpaceRatio(); + void setLayout(Layout layout); + Layout getLayout(); void setCacheSize(unsigned int max_faces, unsigned int max_sizes, unsigned long max_bytes); FT_Error loadFont(const unsigned char *data, size_t size, uint8_t target_face_index = 0); @@ -162,6 +168,10 @@ class OpenFontRender { FT_BBox calculateBoundingBoxFmt(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *fmt, ...); FT_BBox calculateBoundingBox(int32_t x, int32_t y, unsigned int font_size, Align align, Layout layout, const char *str); + + uint32_t getTextWidth(const char *fmt, ...); + uint32_t getTextHeight(const char *fmt, ...); + unsigned int calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *fmt, ...); unsigned int calculateFitFontSize(uint32_t limit_width, uint32_t limit_height, Layout layout, const char *str); @@ -211,6 +221,8 @@ class OpenFontRender { std::function _startWrite; std::function _endWrite; + bool _enable_optimized_drawing; + FTC_Manager _ftc_manager; FTC_CMapCache _ftc_cmap_cache; FTC_ImageCache _ftc_image_cache; @@ -218,7 +230,6 @@ class OpenFontRender { unsigned int _max_faces; unsigned int _max_sizes; unsigned long _max_bytes; - bool _transparent_background; OFR::FaceRec _face_id; struct Cursor _cursor; @@ -232,6 +243,8 @@ class OpenFontRender { }; struct FontParameter _font; + Layout _layout; + uint8_t _debug_level; }; diff --git a/src/sfnt/ttcmap.c b/src/sfnt/ttcmap.c index 856f635..feb0034 100644 --- a/src/sfnt/ttcmap.c +++ b/src/sfnt/ttcmap.c @@ -50,7 +50,7 @@ #define TT_NEXT_LONG FT_NEXT_LONG #define TT_NEXT_ULONG FT_NEXT_ULONG -/* + FT_CALLBACK_DEF( FT_Error ) tt_cmap_init( TT_CMap cmap, FT_Byte* table ) @@ -58,7 +58,7 @@ cmap->data = table; return FT_Err_Ok; } -*/ + /*************************************************************************/ /*************************************************************************/ From ccb23b656191ab61f873703c6a2460f5233f682c Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Wed, 23 Nov 2022 23:02:52 +0900 Subject: [PATCH 18/20] [fix] Fixed critical typos in scripts - Fixed critical typos in scripts - Fixed default CMakeLists.txt --- CMakeLists.txt | 3 +-- Export_CMakeLists.ps1 | 2 +- Export_CMakeLists.sh | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1c1f47..4566287 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # This file was automatically created by "Export_CMakeLists" script. -set(src +set(srcs "./src/base/basepic.c" "./src/base/ftadvanc.c" "./src/base/ftapi.c" @@ -77,7 +77,6 @@ set(src idf_component_register(SRCS ${srcs} INCLUDE_DIRS "./src" - "./src/.vscode" "./src/base" "./src/cache" "./src/freetype" diff --git a/Export_CMakeLists.ps1 b/Export_CMakeLists.ps1 index 1e19498..09a5f60 100644 --- a/Export_CMakeLists.ps1 +++ b/Export_CMakeLists.ps1 @@ -23,7 +23,7 @@ Write-Host "Processing search C/C++ source files" $lst = Get-ChildItem -Path "./src" -File -Recurse -Include *.c,*.cpp | Resolve-Path -Relative $lst = $lst -replace '\\', "/" -Write-Output "set(src " | Add-Content CMakeLists.txt +Write-Output "set(srcs " | Add-Content CMakeLists.txt foreach ($f in $lst) { # Space for indent Write-Output " `"$($f)`"" | Add-Content CMakeLists.txt diff --git a/Export_CMakeLists.sh b/Export_CMakeLists.sh index ea3b2b1..bf240fd 100644 --- a/Export_CMakeLists.sh +++ b/Export_CMakeLists.sh @@ -24,7 +24,7 @@ echo -e "# This file was automatically created by \"Export_CMakeLists\" script.\ echo "Processing search C/C++ source files" lst=$(find "./src" -type f -name "*.c" -or -name "*.cpp") -echo "set(src " >> CMakeLists.txt +echo "set(srcs " >> CMakeLists.txt for f in $lst; do # Space for indent echo " "\"$f\" >> CMakeLists.txt From 529d833f7fa4cad36baa6b0b9369a5346487f90e Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Thu, 24 Nov 2022 00:13:25 +0900 Subject: [PATCH 19/20] [update] Update API document - Update API document - Change g_Print initialize (remove the auto initialize) --- doc/API.md | 113 ++++++++++++++++++++++++++++++++++++++--- src/OpenFontRender.cpp | 19 +++---- 2 files changed, 113 insertions(+), 19 deletions(-) diff --git a/doc/API.md b/doc/API.md index 2536fc7..28546ff 100644 --- a/doc/API.md +++ b/doc/API.md @@ -386,6 +386,50 @@ Obtains the enclosing rectangle of a string when drawn under the specified condi --- +```c++ +uint32_t getTextWidth(const char *fmt, ...) +``` + +### Summary + +Calculate text width. + +### Arguments + +| Type | Name | Description | +| ------------- | :--: | ------------- | +| const char \* | fmt | Format string | + +### Return + +| Type | Description | +| -------- | ----------- | +| uint32_t | Text width. | + +--- + +```c++ +uint32_t getTextHeight(const char *fmt, ...) +``` + +### Summary + +Calculate text height. + +### Arguments + +| Type | Name | Description | +| ------------- | :--: | ------------- | +| const char \* | fmt | Format string | + +### Return + +| Type | Description | +| -------- | ------------ | +| uint32_t | Text height. | + +--- + ```c++ unsigned int calculateFitFontSizeFmt(uint32_t limit_width, uint32_t limit_height, @@ -486,6 +530,42 @@ void example_function (int32_t x, int32_t y, uint16_t c) --- +```c++ +void setDrawFastHLine(Function f) +``` + +### Summary + +Set the function for drawing on the LCD. +If you set this function, drawing method will be optimized and improve speed. + +### Arguments + +| Type | Name | Description | +| -------- | :--: | ------------------------- | +| Function | f | Draw fast h line function | + +### Return + +None + +### Note + +The function to be given must be a function like the one below that takes a specific argument. + +```c++ +void example_function (int32_t x, int32_t y, int32_t w, uint16_t c) +``` + +| Type | Name | Description | +| ------- | :--: | ------------------------- | +| int32_t | x | Draw position X | +| int32_t | y | Draw position Y | +| int32_t | w | Draw Length | +| int32_t | c | Draw color (16 bit color) | + +--- + ```c++ void setStartWrite(Function f) ``` @@ -569,6 +649,7 @@ Inside the function, the following process takes place. ```c++ template void setDrawer(T &drawer) { setDrawPixel(drawer.drawPixel); + setDrawFastHLine(drawer.drawFastHLine); setStartWrite(drawer.startWrite); setEndWrite(drawer.endWrite); } @@ -841,19 +922,19 @@ None --- ```c++ -void setTransparentBackground(bool enable) +void setLayout(Layout layout) ``` ### Summary -The text background is transparent (i.e., not drawn). -However, if the background colors do not match, an incongruity may appear near the text border. +Set the text layout. +It is used when drawing with the `printf` function. ### Arguments -| Type | Name | Description | -| ---- | :----: | -------------------------------- | -| bool | enable | True is enable. Default is False | +| Type | Name | Description | +| ------ | :----: | ------------------------------------------ | +| Layout | layout | `Layout::Horizontal` or `Layout::Vertical` | ### Return @@ -861,6 +942,26 @@ None --- +```c++ +void getLayout() +``` + +### Summary + +Get the current text layout. + +### Arguments + +None + +### Return + +| Type | Description | +| ------ | ------------------------------------------ | +| Layout | `Layout::Horizontal` or `Layout::Vertical` | + +--- + ```c++ uint16_t getFontColor() ``` diff --git a/src/OpenFontRender.cpp b/src/OpenFontRender.cpp index 143af7b..c3eb302 100644 --- a/src/OpenFontRender.cpp +++ b/src/OpenFontRender.cpp @@ -71,8 +71,8 @@ void RenderTask(void *pvParameters); /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ FT_Library g_FtLibrary; -bool g_NeedInitialize = true; -std::function g_Print; +bool g_NeedInitialize = true; +std::function g_Print = [](const char *s) { return; }; #ifdef FREERTOS_CONFIG_H TaskHandle_t g_RenderTaskHandle = NULL; @@ -89,16 +89,8 @@ RenderTaskParameter g_TaskParameter; /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/ OpenFontRender::OpenFontRender() { - g_Print = [](const char *s) { -#if defined(ARDUINO) - Serial.print(s); -#else - return; -#endif - }; - // TODO: Automatic support some micro computers - _drawPixel = [](int x, int y, int c) { + _drawPixel = [](int32_t x, int32_t y, uint16_t c) { static bool flag = true; if (flag) { g_Print("\n** [Warning] Please set drawPixel() using setDrawPixel(). **\n"); @@ -106,8 +98,9 @@ OpenFontRender::OpenFontRender() { } return; }; - _startWrite = []() { return; }; - _endWrite = []() { return; }; + _drawFastHLine = [](int32_t x, int32_t y, int32_t w, uint16_t c) { return; }; + _startWrite = []() { return; }; + _endWrite = []() { return; }; _max_faces = OpenFontRender::CACHE_SIZE_NO_LIMIT; _max_sizes = OpenFontRender::CACHE_SIZE_NO_LIMIT; From 99000f7bbd0c42dca7e763f00d94156b3cca84ef Mon Sep 17 00:00:00 2001 From: HomeDesktop Date: Thu, 24 Nov 2022 22:31:00 +0900 Subject: [PATCH 20/20] [update] Tweak fix sample codes - Tweak fix sample codes - Add sample codes - Sample binaryttf.h support ASCII code - Update README.md --- README.md | 60 +- .../alignment_string/alignment_string.ino | 29 +- examples/M5Stack/alignment_string/binaryttf.h | 1487 +++++++++++++---- examples/M5Stack/load_from_binary/binaryttf.h | 1487 +++++++++++++---- .../load_from_binary/load_from_binary.ino | 18 +- .../JK_Gothic_Font/JKG-M_3_Tiny.ttf | Bin 6456 -> 14344 bytes .../M5Stack/load_from_sd/load_from_sd.ino | 18 +- examples/M5Stack/use_LovyanGFX/binaryttf.h | 1487 +++++++++++++---- .../M5Stack/use_LovyanGFX/use_LovyanGFX.ino | 8 +- .../alignment_string/alignment_string.ino | 74 + .../WioTerminal/alignment_string/binaryttf.h | 1441 ++++++++++++++++ .../WioTerminal/load_from_binary/binaryttf.h | 1487 +++++++++++++---- .../load_from_binary/load_from_binary.ino | 10 +- .../WioTerminal/load_from_sd/load_from_sd.ino | 10 +- .../WioTerminal/use_LovyanGFX/binaryttf.h | 1487 +++++++++++++---- .../use_LovyanGFX/use_LovyanGFX.ino | 12 +- 16 files changed, 7303 insertions(+), 1812 deletions(-) create mode 100644 examples/WioTerminal/alignment_string/alignment_string.ino create mode 100644 examples/WioTerminal/alignment_string/binaryttf.h diff --git a/README.md b/README.md index 4bb184c..5f5fc3d 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,8 @@ More detailed examples can be found in [examples](/examples/). TFT_eSPI tft; OpenFontRender render; -void setup() { +void setup() +{ // put your setup code here, to run once: Serial.begin(115200); Serial.flush(); @@ -52,19 +53,24 @@ void setup() { tft.fillScreen(TFT_BLACK); digitalWrite(LCD_BACKLIGHT, HIGH); // turn on the backlight - // print library version - Serial.printf("OpenFontRender Library version: %d.%d\n", - OpenFontRender::MAIN_VERSION, - OpenFontRender::MINER_VERSION); - + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit - if (render.loadFont(binaryttf, sizeof(binaryttf))) { + if (render.loadFont(binaryttf, sizeof(binaryttf))) + { Serial.println("Render initialize error"); return; } + render.setDrawer(tft); // Set drawer object + /* You can also be written as follows. */ + // render.setDrawPixel(tft.drawPixel); + // render.setDrawFastHLine(tft.drawFastHLine); // optional + // render.setStartWrite(tft.startWrite); // optional + // render.setEndWrite(tft.endWrite); // optional + + unsigned long t_start = millis(); render.setFontColor(TFT_WHITE); render.printf("Hello World\n"); @@ -78,9 +84,13 @@ void setup() { render.setFontSize(40); render.setFontColor(TFT_ORANGE); render.printf("こんにちは世界\n"); + + unsigned long t_end = millis(); + Serial.printf("Time: %ld ms\n", t_end - t_start); } -void loop() { +void loop() +{ // put your main code here, to run repeatedly: } ``` @@ -98,40 +108,50 @@ void loop() { OpenFontRender render; -void setup() { +void setup() +{ // put your setup code here, to run once: M5.begin(); - M5.Lcd.fillScreen(BLACK); - - // print library version - Serial.printf("OpenFontRender Library version: %d.%d\n", - OpenFontRender::MAIN_VERSION, - OpenFontRender::MINER_VERSION); + M5.Lcd.fillScreen(TFT_BLACK); + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit - if (render.loadFont("/JKG-M_3_Tiny.ttf")) { + if (render.loadFont("/JKG-M_3_Tiny.ttf")) + { Serial.println("Render initialize error"); return; } + render.setDrawer(M5.Lcd); // Set drawer object + /* You can also be written as follows. */ + // render.setDrawPixel(M5.Lcd.drawPixel); + // render.setDrawFastHLine(M5.Lcd.drawFastHLine); // optional + // render.setStartWrite(M5.Lcd.startWrite); // optional + // render.setEndWrite(M5.Lcd.endWrite); // optional - render.setFontColor(WHITE); + unsigned long t_start = millis(); + + render.setFontColor(TFT_WHITE); render.printf("Hello World\n"); render.seekCursor(0, 10); render.setFontSize(30); - render.setFontColor(GREEN); + render.setFontColor(TFT_GREEN); render.printf("完全なUnicodeサポート\n"); render.seekCursor(0, 10); render.setFontSize(40); - render.setFontColor(ORANGE); + render.setFontColor(TFT_ORANGE); render.printf("こんにちは世界\n"); + + unsigned long t_end = millis(); + Serial.printf("Time: %ld ms\n", t_end - t_start); } -void loop() { +void loop() +{ // put your main code here, to run repeatedly: } ``` diff --git a/examples/M5Stack/alignment_string/alignment_string.ino b/examples/M5Stack/alignment_string/alignment_string.ino index a62bebc..d2e39a1 100644 --- a/examples/M5Stack/alignment_string/alignment_string.ino +++ b/examples/M5Stack/alignment_string/alignment_string.ino @@ -12,8 +12,9 @@ void setup() { // put your setup code here, to run once: M5.begin(); - M5.Lcd.fillScreen(BLACK); + M5.Lcd.fillScreen(TFT_BLACK); + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -26,8 +27,9 @@ void setup() render.setDrawer(M5.Lcd); // Set drawer object /* You can also be written as follows. */ // render.setDrawPixel(M5.Lcd.drawPixel); - // render.setStartWrite(M5.Lcd.startWrite); // optional - // render.setEndWrite(M5.Lcd.endWrite); // optional + // render.setDrawFastHLine(M5.Lcd.drawFastHLine); // optional + // render.setStartWrite(M5.Lcd.startWrite); // optional + // render.setEndWrite(M5.Lcd.endWrite); // optional render.setFontSize(25); } @@ -35,38 +37,35 @@ void setup() void loop() { // put your main code here, to run repeatedly: - + /* You can select text alignment! use printf function */ // Alignment Left render.setCursor(0, 0); - render.setFontColor(WHITE); + render.setFontColor(TFT_WHITE); render.printf("Hello\nWorld"); // Alignment Center render.setCursor(160, 95); - render.setFontColor(GREEN); - render.cprintf(u8"完全なUnicode\nサポート"); + render.setFontColor(TFT_GREEN); + render.cprintf("完全なUnicode\nサポート"); // Alignment Right render.setCursor(320, 190); - render.setFontColor(ORANGE); - render.rprintf(u8"こんにちは\n世界"); - + render.setFontColor(TFT_ORANGE); + render.rprintf("こんにちは\n世界"); delay(1000); - //M5.Lcd.fillScreen(BLACK); + // M5.Lcd.fillScreen(BLACK); /* You can select text alignment! use drawString function */ // Alignment Left render.drawString("Hello\nWorld", 0, 0, TFT_MAGENTA, TFT_BLACK); // Alignment Center - render.cdrawString(u8"完全なUnicode\nサポート", 160, 95, TFT_YELLOW, TFT_BLACK); + render.cdrawString("完全なUnicode\nサポート", 160, 95, TFT_YELLOW, TFT_BLACK); // Alignment Right - render.rdrawString(u8"こんにちは\n世界", 320, 190, TFT_CYAN, TFT_BLACK); - + render.rdrawString("こんにちは\n世界", 320, 190, TFT_CYAN, TFT_BLACK); delay(1000); - //M5.Lcd.fillScreen(BLACK); } diff --git a/examples/M5Stack/alignment_string/binaryttf.h b/examples/M5Stack/alignment_string/binaryttf.h index 2417f5d..c7f6447 100644 --- a/examples/M5Stack/alignment_string/binaryttf.h +++ b/examples/M5Stack/alignment_string/binaryttf.h @@ -1,43 +1,43 @@ #ifndef _BINARYTTF_H_ #define _BINARYTTF_H_ -const unsigned char binaryttf[6456] = { +const unsigned char binaryttf[14344] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, -0x61, 0x70, 0x09, 0x9D, 0x21, 0xE0, 0x00, 0x00, 0x0B, 0xA8, -0x00, 0x00, 0x00, 0xD4, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x61, 0x70, 0x0A, 0x07, 0x22, 0x62, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0x94, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, 0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, 0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, -0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0xE2, 0x8C, 0xD7, 0xF3, -0x00, 0x00, 0x0D, 0x58, 0x00, 0x00, 0x0B, 0xE0, 0x68, 0x65, -0x61, 0x64, 0x35, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0xEC, -0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x91, -0x03, 0x93, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, -0x68, 0x6D, 0x74, 0x78, 0x54, 0xAE, 0x09, 0x6A, 0x00, 0x00, -0x0C, 0xEC, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6F, 0x63, 0x61, -0x00, 0x00, 0x86, 0x7C, 0x00, 0x00, 0x0C, 0x7C, 0x00, 0x00, -0x00, 0x70, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x35, 0x00, 0x7C, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0x3C, 0x78, 0xF7, 0x7E, +0x00, 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x28, 0x58, 0x68, 0x65, +0x61, 0x64, 0x34, 0xE5, 0x1A, 0x67, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x5F, +0x03, 0xD7, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x15, 0xB8, 0x1D, 0xCF, 0x00, 0x00, +0x0D, 0xF8, 0x00, 0x00, 0x01, 0xB8, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x07, 0xE5, 0xA0, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x00, +0x01, 0xBC, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x88, 0x00, 0x83, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, 0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, 0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0xA4, 0x38, 0x58, 0x6D, 0x5F, 0x0F, +0x00, 0x01, 0x00, 0x00, 0x6D, 0x8D, 0x0F, 0xE7, 0x5F, 0x0F, 0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, -0xD7, 0x12, 0x00, 0x26, 0xFF, 0xAC, 0x03, 0xF9, 0x03, 0x44, +0xD7, 0x12, 0xFF, 0xF3, 0xFF, 0x14, 0x03, 0xF9, 0x03, 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, -0x00, 0x00, 0x04, 0x00, 0x00, 0x26, 0x00, 0x07, 0x03, 0xF9, +0x00, 0x00, 0x04, 0x00, 0xFF, 0xF3, 0xFF, 0xF8, 0x03, 0xF9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, -0x00, 0x00, 0x00, 0x1B, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x01, +0x00, 0x00, 0x00, 0x6E, 0x00, 0x42, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x18, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -301,43 +301,103 @@ const unsigned char binaryttf[6456] = { 0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, 0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, 0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, -0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0xC8, -0x00, 0x00, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0E, -0x00, 0x20, 0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x65, -0x00, 0x69, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x72, 0x30, 0x53, -0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, -0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, -0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, -0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x63, 0x00, 0x69, -0x00, 0x6C, 0x00, 0x6E, 0x00, 0x72, 0x30, 0x53, 0x30, 0x61, -0x30, 0x6A, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, -0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, -0x75, 0x4C, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xBA, 0xFF, 0xAE, -0xFF, 0xAD, 0xFF, 0xA2, 0xFF, 0x9F, 0xFF, 0x9D, 0xFF, 0x9C, -0xFF, 0x9A, 0xCF, 0xBA, 0xCF, 0xAD, 0xCF, 0xA5, 0xCF, 0xA2, -0xCF, 0x7F, 0xCF, 0x5E, 0xCF, 0x4C, 0xCF, 0x38, 0xCF, 0x1A, -0xB2, 0x01, 0xAE, 0xB0, 0xA4, 0x8D, 0x8A, 0xCE, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x88, +0x00, 0x00, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x03, 0x00, 0x0E, +0x00, 0x7E, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, +0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, +0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, +0x00, 0x00, 0x00, 0x20, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6A, +0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, +0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, +0xFF, 0xFF, 0xFF, 0xE1, 0xD0, 0x0D, 0xD0, 0x00, 0xCF, 0xF8, +0xCF, 0xF5, 0xCF, 0xD2, 0xCF, 0xB1, 0xCF, 0x9F, 0xCF, 0x8B, +0xCF, 0x6D, 0xB2, 0x54, 0xAF, 0x03, 0xA4, 0xE0, 0x8B, 0x21, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, -0x00, 0x64, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x01, 0x08, -0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x01, 0xE8, 0x00, 0x00, -0x02, 0x50, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x02, 0xAC, -0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, -0x03, 0x98, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0xAC, -0x00, 0x00, 0x05, 0x94, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, -0x06, 0xD4, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00, 0x07, 0xD8, -0x00, 0x00, 0x08, 0x2C, 0x00, 0x00, 0x08, 0xF4, 0x00, 0x00, -0x09, 0x18, 0x00, 0x00, 0x09, 0xA8, 0x00, 0x00, 0x0A, 0x38, -0x00, 0x00, 0x0B, 0x08, 0x00, 0x00, 0x0B, 0xE0, 0x04, 0x00, -0x01, 0x92, 0x01, 0x1C, 0x00, 0x00, 0x02, 0xC7, 0x00, 0x54, -0x02, 0xA8, 0x00, 0x4A, 0x03, 0x89, 0x00, 0x2B, 0x01, 0xFA, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, +0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0x88, +0x00, 0x00, 0x02, 0x28, 0x00, 0x00, 0x02, 0xE0, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x03, 0x70, +0x00, 0x00, 0x03, 0xB8, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, +0x04, 0x10, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x04, 0x50, +0x00, 0x00, 0x04, 0x74, 0x00, 0x00, 0x04, 0xD4, 0x00, 0x00, +0x05, 0x08, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00, 0x05, 0xEC, +0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x06, 0xB0, 0x00, 0x00, +0x07, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x08, 0x34, +0x00, 0x00, 0x08, 0xC8, 0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0x4C, 0x00, 0x00, 0x09, 0x80, +0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x0A, 0x34, 0x00, 0x00, +0x0B, 0x2C, 0x00, 0x00, 0x0B, 0x70, 0x00, 0x00, 0x0C, 0x08, +0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x0C, 0xC8, 0x00, 0x00, +0x0D, 0x14, 0x00, 0x00, 0x0D, 0x54, 0x00, 0x00, 0x0D, 0xCC, +0x00, 0x00, 0x0E, 0x14, 0x00, 0x00, 0x0E, 0x38, 0x00, 0x00, +0x0E, 0x7C, 0x00, 0x00, 0x0E, 0xC8, 0x00, 0x00, 0x0E, 0xF8, +0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x0F, 0x84, 0x00, 0x00, +0x0F, 0xE4, 0x00, 0x00, 0x10, 0x44, 0x00, 0x00, 0x10, 0xC0, +0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x11, 0xC8, 0x00, 0x00, +0x11, 0xFC, 0x00, 0x00, 0x12, 0x4C, 0x00, 0x00, 0x12, 0x80, +0x00, 0x00, 0x12, 0xD4, 0x00, 0x00, 0x13, 0x14, 0x00, 0x00, +0x13, 0x4C, 0x00, 0x00, 0x13, 0x8C, 0x00, 0x00, 0x13, 0xC4, +0x00, 0x00, 0x13, 0xE4, 0x00, 0x00, 0x14, 0x1C, 0x00, 0x00, +0x14, 0x48, 0x00, 0x00, 0x14, 0x6C, 0x00, 0x00, 0x14, 0x8C, +0x00, 0x00, 0x15, 0x24, 0x00, 0x00, 0x15, 0xA4, 0x00, 0x00, +0x16, 0x04, 0x00, 0x00, 0x16, 0x84, 0x00, 0x00, 0x16, 0xEC, +0x00, 0x00, 0x17, 0x4C, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00, +0x18, 0x80, 0x00, 0x00, 0x18, 0xB8, 0x00, 0x00, 0x19, 0x08, +0x00, 0x00, 0x19, 0x4C, 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, +0x1A, 0x00, 0x00, 0x00, 0x1A, 0x58, 0x00, 0x00, 0x1A, 0xAC, +0x00, 0x00, 0x1B, 0x2C, 0x00, 0x00, 0x1B, 0xAC, 0x00, 0x00, +0x1B, 0xEC, 0x00, 0x00, 0x1C, 0x70, 0x00, 0x00, 0x1C, 0xD0, +0x00, 0x00, 0x1D, 0x2C, 0x00, 0x00, 0x1D, 0x60, 0x00, 0x00, +0x1D, 0xB4, 0x00, 0x00, 0x1D, 0xF0, 0x00, 0x00, 0x1E, 0x34, +0x00, 0x00, 0x1E, 0x74, 0x00, 0x00, 0x1F, 0x04, 0x00, 0x00, +0x1F, 0x28, 0x00, 0x00, 0x1F, 0xB8, 0x00, 0x00, 0x20, 0x10, +0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x21, 0x24, 0x00, 0x00, +0x22, 0x0C, 0x00, 0x00, 0x22, 0x7C, 0x00, 0x00, 0x23, 0x4C, +0x00, 0x00, 0x23, 0xDC, 0x00, 0x00, 0x24, 0x50, 0x00, 0x00, +0x24, 0xA4, 0x00, 0x00, 0x25, 0x6C, 0x00, 0x00, 0x25, 0x90, +0x00, 0x00, 0x26, 0x20, 0x00, 0x00, 0x26, 0xB0, 0x00, 0x00, +0x27, 0x80, 0x00, 0x00, 0x28, 0x58, 0x04, 0x00, 0x01, 0x92, +0x01, 0x1C, 0x00, 0x00, 0x01, 0x6A, 0x00, 0x73, 0x01, 0xBC, +0x00, 0x45, 0x02, 0xBC, 0x00, 0x30, 0x02, 0x56, 0x00, 0x35, +0x03, 0x60, 0x00, 0x26, 0x02, 0xF0, 0x00, 0x35, 0x01, 0x0E, +0x00, 0x4A, 0x01, 0xA3, 0x00, 0x45, 0x01, 0xA3, 0x00, 0x2B, +0x02, 0x17, 0x00, 0x30, 0x02, 0xF0, 0x00, 0x4F, 0x01, 0x56, +0x00, 0x3A, 0x01, 0xE5, 0x00, 0x4F, 0x01, 0x42, 0x00, 0x5E, +0x02, 0x1E, 0x00, 0x21, 0x02, 0x85, 0x00, 0x2E, 0x02, 0x85, +0x00, 0x71, 0x02, 0x85, 0x00, 0x57, 0x02, 0x85, 0x00, 0x57, +0x02, 0x85, 0x00, 0x0F, 0x02, 0x85, 0x00, 0x61, 0x02, 0x85, +0x00, 0x38, 0x02, 0x85, 0x00, 0x52, 0x02, 0x85, 0x00, 0x2E, +0x02, 0x85, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x87, 0x01, 0xA8, +0x00, 0x4F, 0x02, 0xB2, 0x00, 0x3F, 0x03, 0x04, 0x00, 0x59, +0x02, 0xB2, 0x00, 0x5E, 0x02, 0x7F, 0x00, 0x54, 0x03, 0x4C, +0x00, 0x26, 0x02, 0xB2, 0x00, 0x1C, 0x02, 0x70, 0x00, 0x54, +0x02, 0x7F, 0x00, 0x26, 0x02, 0xAD, 0x00, 0x54, 0x02, 0x60, +0x00, 0x54, 0x02, 0x51, 0x00, 0x54, 0x02, 0xC7, 0x00, 0x26, +0x02, 0xC7, 0x00, 0x54, 0x01, 0x56, 0x00, 0x6E, 0x02, 0x28, +0x00, 0x26, 0x02, 0x89, 0x00, 0x54, 0x02, 0x5B, 0x00, 0x54, +0x03, 0x37, 0x00, 0x2B, 0x02, 0xC7, 0x00, 0x54, 0x02, 0xE5, +0x00, 0x26, 0x02, 0x75, 0x00, 0x54, 0x03, 0x04, 0x00, 0x26, +0x02, 0x89, 0x00, 0x54, 0x02, 0x42, 0x00, 0x3A, 0x02, 0x89, +0x00, 0x3A, 0x02, 0xA8, 0x00, 0x4A, 0x02, 0xB2, 0x00, 0x1C, +0x03, 0x89, 0x00, 0x2B, 0x02, 0xA8, 0x00, 0x35, 0x02, 0xA8, +0x00, 0x1C, 0x02, 0x7F, 0x00, 0x4A, 0x01, 0xF0, 0x00, 0x73, +0x02, 0x1E, 0x00, 0x30, 0x01, 0xF0, 0x00, 0x54, 0x02, 0x9E, +0x00, 0x26, 0x02, 0x4E, 0xFF, 0xFE, 0x01, 0x32, 0x00, 0x0C, +0x02, 0x2D, 0x00, 0x30, 0x02, 0x5B, 0x00, 0x4F, 0x01, 0xFA, 0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, -0x01, 0x4C, 0x00, 0x6E, 0x01, 0x4C, 0x00, 0x6E, 0x02, 0x51, -0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, 0x01, 0xDB, 0x00, 0x4A, +0x02, 0x09, 0x00, 0x35, 0x02, 0x1E, 0x00, 0x1C, 0x02, 0x56, +0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x01, 0x75, 0xFF, 0xF3, +0x02, 0x47, 0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x03, 0x28, +0x00, 0x4A, 0x02, 0x51, 0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, +0x02, 0x56, 0x00, 0x4A, 0x02, 0x56, 0x00, 0x2B, 0x01, 0xDB, +0x00, 0x4A, 0x02, 0x04, 0x00, 0x3A, 0x02, 0x09, 0x00, 0x30, +0x02, 0x4C, 0x00, 0x45, 0x02, 0x37, 0x00, 0x21, 0x03, 0x2D, +0x00, 0x2B, 0x02, 0x37, 0x00, 0x30, 0x02, 0x47, 0x00, 0x26, +0x02, 0x2D, 0x00, 0x4A, 0x02, 0x19, 0x00, 0x3A, 0x01, 0x75, +0x00, 0x87, 0x02, 0x19, 0x00, 0x59, 0x02, 0xD1, 0x00, 0x35, 0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, 0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, 0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, @@ -346,307 +406,1036 @@ const unsigned char binaryttf[6456] = { 0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, 0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, -0x00, 0xDC, 0xFF, 0x24, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, -0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x17, 0x40, 0x0A, -0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, 0x71, 0x06, 0x02, 0x04, -0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, -0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, 0x71, 0x71, 0xFE, 0xC3, -0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, 0x32, 0xFD, 0x14, 0x01, -0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x4A, -0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x19, -0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, 0x07, 0x05, 0x03, 0x02, -0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, 0x00, 0xB3, 0x0C, 0x5E, -0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x14, -0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x20, 0x4A, -0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, 0xEC, 0x01, 0x05, 0x01, -0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, 0x5A, 0x01, 0xEC, 0xFE, -0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, -0x00, 0x00, 0x03, 0x5E, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, -0x00, 0x40, 0x0C, 0x0B, 0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, -0x09, 0x7B, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, -0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, -0x03, 0x23, 0x03, 0x23, 0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, -0x70, 0x02, 0x70, 0x6E, 0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, -0x9F, 0x02, 0xEC, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, -0x71, 0xFD, 0x14, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, -0x00, 0x01, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, -0x00, 0x15, 0x00, 0x1B, 0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, -0x05, 0x2B, 0x00, 0x40, 0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, -0x05, 0x08, 0x07, 0x54, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, -0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, -0x23, 0x22, 0x26, 0x26, 0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, -0x47, 0x46, 0x4A, 0x4D, 0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, -0x01, 0x0A, 0x86, 0x8F, 0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, -0x5A, 0x1C, 0x5C, 0x14, 0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, -0xFF, 0xF6, 0x02, 0x0C, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, -0x00, 0x24, 0x40, 0x0D, 0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, -0x14, 0x6B, 0x12, 0x0B, 0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, -0x40, 0x0C, 0x04, 0x03, 0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, -0x52, 0x09, 0x08, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, -0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, -0x25, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x11, 0x33, 0x11, -0x23, 0x27, 0x23, 0x0E, 0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, -0x4F, 0x36, 0x85, 0x46, 0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, -0x61, 0x5A, 0x43, 0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, -0x32, 0x5D, 0x7A, 0xBD, 0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, -0x47, 0x7B, 0x83, 0x92, 0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, -0x2B, 0x22, 0x95, 0x00, 0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, -0x01, 0xF3, 0x02, 0x1F, 0x00, 0x05, 0x00, 0x17, 0x00, 0x18, -0x00, 0x40, 0x10, 0x03, 0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, -0x0C, 0x50, 0x08, 0x07, 0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, -0x2B, 0x2B, 0x30, 0x31, 0x13, 0x33, 0x26, 0x23, 0x22, 0x06, -0x07, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, -0x10, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, -0x03, 0x6F, 0x3D, 0x41, 0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, -0x4A, 0x80, 0x8A, 0x7C, 0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, -0x94, 0x46, 0x9D, 0xA6, 0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, -0x8C, 0x84, 0x8C, 0x0E, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, +0x00, 0xF8, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x07, 0x00, 0x09, +0xB3, 0x06, 0x7B, 0x04, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x07, 0x35, 0x33, 0x15, 0x73, 0x85, 0x10, +0x66, 0x0A, 0x7B, 0x02, 0xEC, 0xFD, 0xEB, 0xD7, 0x85, 0x85, +0x00, 0x00, 0x00, 0x02, 0x00, 0x45, 0x02, 0x0A, 0x01, 0x78, +0x03, 0x14, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, 0x00, 0x30, +0x31, 0x13, 0x33, 0x03, 0x23, 0x13, 0x33, 0x03, 0x23, 0x45, +0x70, 0x0F, 0x52, 0xB3, 0x71, 0x10, 0x51, 0x03, 0x14, 0xFE, +0xF6, 0x01, 0x0A, 0xFE, 0xF6, 0x00, 0x00, 0x02, 0x00, 0x30, +0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, 0x00, 0x1B, 0x00, 0x1F, +0x00, 0x17, 0x00, 0x40, 0x10, 0x1C, 0x0F, 0x03, 0x58, 0x0D, +0x09, 0x05, 0x0A, 0x1B, 0x17, 0x13, 0x58, 0x1E, 0x11, 0x01, +0x0A, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x35, 0x33, 0x37, 0x23, +0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, +0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, +0x07, 0x23, 0x37, 0x01, 0x23, 0x07, 0x33, 0x30, 0x78, 0x28, +0x6D, 0x7D, 0x1D, 0x66, 0x1C, 0x7B, 0x1C, 0x67, 0x1D, 0x64, +0x74, 0x28, 0x69, 0x79, 0x21, 0x66, 0x21, 0x7B, 0x21, 0x66, +0x21, 0x01, 0x18, 0x7B, 0x28, 0x7B, 0xB8, 0x58, 0xE0, 0x58, +0xA4, 0xA4, 0xA4, 0xA4, 0x58, 0xE0, 0x58, 0xB8, 0xB8, 0xB8, +0xB8, 0x01, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x35, +0xFF, 0xA9, 0x02, 0x21, 0x03, 0x43, 0x00, 0x1C, 0x00, 0x22, +0x00, 0x27, 0x00, 0x1D, 0x40, 0x15, 0x19, 0x6C, 0x1F, 0x1E, +0x04, 0x25, 0x24, 0x6A, 0x0B, 0x0A, 0x05, 0x22, 0x1C, 0x16, +0x10, 0x56, 0x27, 0x0E, 0x07, 0x01, 0x0F, 0x2B, 0x2B, 0x2B, +0x00, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x35, 0x16, +0x17, 0x35, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, +0x15, 0x16, 0x17, 0x15, 0x26, 0x27, 0x15, 0x1E, 0x01, 0x14, +0x06, 0x07, 0x35, 0x36, 0x35, 0x34, 0x26, 0x27, 0x03, 0x06, +0x15, 0x14, 0x17, 0x01, 0x56, 0x56, 0x64, 0x57, 0x57, 0x64, +0x6A, 0x61, 0x67, 0x64, 0x56, 0x5A, 0x57, 0x4F, 0x62, 0x71, +0x5A, 0x68, 0x63, 0x5F, 0x29, 0x36, 0x56, 0x61, 0x61, 0x57, +0x67, 0x06, 0x22, 0x67, 0x2E, 0x07, 0xF2, 0x21, 0x64, 0x48, +0x4C, 0x5D, 0x08, 0x69, 0x68, 0x04, 0x1A, 0x62, 0x1E, 0x07, +0xDA, 0x22, 0x60, 0xA4, 0x63, 0x0B, 0x5C, 0x11, 0x53, 0x2A, +0x33, 0x14, 0x01, 0x3D, 0x0B, 0x4C, 0x48, 0x23, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xF6, 0x03, 0x3A, 0x02, 0xF6, 0x00, 0x03, +0x00, 0x0C, 0x00, 0x15, 0x00, 0x1A, 0x00, 0x1F, 0x00, 0x31, +0x40, 0x12, 0x10, 0x6B, 0x1D, 0x00, 0x07, 0x6B, 0x18, 0x00, +0x1F, 0x1B, 0x6B, 0x14, 0x01, 0x1A, 0x16, 0x6B, 0x0B, 0x01, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x12, 0x52, 0x1C, +0x00, 0x09, 0x52, 0x17, 0x00, 0x1E, 0x52, 0x0E, 0x00, 0x19, +0x52, 0x05, 0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x01, 0x23, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, +0x26, 0x34, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, +0x34, 0x01, 0x14, 0x32, 0x34, 0x22, 0x25, 0x14, 0x32, 0x34, +0x22, 0x02, 0x3F, 0x71, 0xFE, 0x71, 0x71, 0x01, 0x53, 0x2F, +0xAA, 0x5E, 0x5E, 0xAA, 0x5E, 0xFE, 0x81, 0x2F, 0xAA, 0x5E, +0x5E, 0xAA, 0x5E, 0x02, 0x19, 0x90, 0x90, 0xFE, 0x52, 0x90, +0x90, 0x02, 0xEC, 0xFD, 0x14, 0x01, 0x52, 0x33, 0x67, 0xC1, +0x67, 0x67, 0xC1, 0x01, 0xA5, 0x33, 0x68, 0xC0, 0x68, 0x68, +0xC0, 0xFE, 0x2F, 0x75, 0xEB, 0xFB, 0x76, 0xEC, 0x00, 0x03, +0x00, 0x35, 0xFF, 0xF6, 0x02, 0xEE, 0x02, 0xF6, 0x00, 0x1B, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x2A, 0x40, 0x12, 0x03, 0x02, +0x69, 0x1F, 0x1E, 0x05, 0x24, 0x23, 0x6E, 0x19, 0x18, 0x05, +0x2B, 0x2A, 0x71, 0x13, 0x12, 0x05, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x11, 0x10, 0x58, 0x2D, 0x2C, 0x05, 0x21, 0x20, +0x56, 0x1B, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, +0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x36, 0x37, 0x33, 0x06, +0x07, 0x17, 0x23, 0x27, 0x06, 0x23, 0x22, 0x35, 0x34, 0x36, +0x37, 0x27, 0x26, 0x35, 0x34, 0x36, 0x13, 0x3E, 0x01, 0x35, +0x34, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x27, 0x0E, +0x01, 0x15, 0x14, 0x33, 0x32, 0x01, 0x4A, 0x67, 0x6B, 0x49, +0x5A, 0x9A, 0x21, 0x0B, 0x6C, 0x12, 0x3E, 0x93, 0x86, 0x4C, +0x66, 0x8B, 0xF6, 0x4D, 0x60, 0x0A, 0x65, 0x70, 0x55, 0x4C, +0x2F, 0x69, 0x32, 0x37, 0x1E, 0xDB, 0xB7, 0x46, 0x37, 0x8A, +0x66, 0x02, 0xF6, 0x54, 0x4B, 0x37, 0x63, 0x3B, 0xA0, 0x43, +0x56, 0x86, 0x5C, 0x99, 0x4F, 0x59, 0xB8, 0x37, 0x69, 0x40, +0x0B, 0x66, 0x53, 0x4B, 0x59, 0xFE, 0xD0, 0x32, 0x38, 0x22, +0x4E, 0x2A, 0x24, 0x1F, 0x32, 0xFE, 0x90, 0xBB, 0x2E, 0x48, +0x23, 0x65, 0x00, 0x01, 0x00, 0x4A, 0x02, 0x0A, 0x00, 0xC5, +0x03, 0x14, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x4A, 0x7B, 0x10, 0x5C, 0x03, 0x14, 0xFE, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0x61, +0x01, 0x78, 0x03, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x0A, +0x00, 0x6B, 0x05, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x13, 0x10, +0x17, 0x23, 0x2E, 0x01, 0x10, 0x36, 0x37, 0x33, 0x06, 0xB0, +0xC8, 0x67, 0x62, 0x6A, 0x6A, 0x62, 0x67, 0xC8, 0x01, 0x3B, +0xFE, 0xE8, 0xC2, 0x5A, 0xF6, 0x01, 0x15, 0xF4, 0x5A, 0xC1, +0x00, 0x01, 0x00, 0x2B, 0xFF, 0x61, 0x01, 0x5E, 0x03, 0x14, +0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x03, 0x6B, 0x09, 0x08, 0x04, +0x2B, 0x00, 0x30, 0x31, 0x13, 0x33, 0x1E, 0x01, 0x10, 0x06, +0x07, 0x23, 0x36, 0x11, 0x10, 0x2B, 0x66, 0x63, 0x6A, 0x6A, +0x63, 0x66, 0xC8, 0x03, 0x14, 0x5A, 0xF4, 0xFE, 0xEB, 0xF6, +0x5A, 0xC2, 0x01, 0x18, 0x01, 0x18, 0x00, 0x01, 0x00, 0x30, +0x01, 0x4E, 0x01, 0xE6, 0x03, 0x14, 0x00, 0x11, 0x00, 0x03, +0x00, 0x30, 0x31, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, +0x27, 0x17, 0x23, 0x37, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, +0x27, 0x01, 0x37, 0x07, 0x8A, 0x2C, 0x91, 0x91, 0x2C, 0x8A, +0x07, 0x58, 0x07, 0x8A, 0x2C, 0x92, 0x92, 0x2C, 0x8A, 0x07, +0x03, 0x14, 0xA3, 0x58, 0x4C, 0x4C, 0x4C, 0x4B, 0x58, 0xA4, +0xA4, 0x58, 0x4B, 0x4C, 0x4C, 0x4C, 0x58, 0xA3, 0x00, 0x01, +0x00, 0x4F, 0x00, 0x00, 0x02, 0xA1, 0x02, 0x52, 0x00, 0x0B, +0x00, 0x13, 0xB5, 0x04, 0x00, 0x5C, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0xB5, 0x07, 0x03, 0x56, 0x09, 0x01, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, +0x35, 0x33, 0x35, 0x01, 0xA6, 0xFB, 0xFB, 0x5C, 0xFB, 0xFB, +0x02, 0x52, 0xFE, 0x56, 0xFE, 0xFE, 0x56, 0xFE, 0x00, 0x01, +0x00, 0x3A, 0xFF, 0x8F, 0x01, 0x11, 0x00, 0x9A, 0x00, 0x03, +0x00, 0x03, 0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x82, +0x8F, 0x70, 0x67, 0x9A, 0xFE, 0xF5, 0x00, 0x01, 0x00, 0x4F, +0x00, 0xFE, 0x01, 0x97, 0x01, 0x54, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x56, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x21, 0x15, 0x4F, 0x01, 0x48, 0xFE, 0x56, 0x56, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x00, 0x00, 0xE3, +0x00, 0x9A, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x33, +0x35, 0x33, 0x15, 0x5E, 0x85, 0x9A, 0x9A, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x21, 0xFF, 0xD7, 0x01, 0xEE, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x09, 0x01, 0x23, +0x01, 0x01, 0xEE, 0xFE, 0x9E, 0x6B, 0x01, 0x61, 0x02, 0xEC, +0xFC, 0xEB, 0x03, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x08, 0x00, 0x11, +0x00, 0x19, 0xB7, 0x03, 0x71, 0x0C, 0x00, 0x10, 0x71, 0x07, +0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5A, 0x0A, 0x00, 0x0E, +0x5A, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x36, 0x20, +0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, 0x32, 0x36, +0x10, 0x26, 0x22, 0x06, 0x10, 0x74, 0x44, 0x01, 0x15, 0x8A, +0x8A, 0xFE, 0xEB, 0x8A, 0x9A, 0x28, 0xA6, 0x50, 0x50, 0xA6, +0x51, 0x02, 0x9B, 0x5B, 0xB7, 0xFE, 0x6D, 0xB6, 0xB6, 0x01, +0x93, 0xFE, 0x54, 0x43, 0x86, 0x01, 0x40, 0x86, 0x86, 0xFE, +0xC0, 0x00, 0x00, 0x01, 0x00, 0x71, 0x00, 0x00, 0x01, 0xAE, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0xB3, 0x01, 0x71, 0x03, +0x00, 0x2B, 0x00, 0xB3, 0x04, 0x7B, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x07, 0x35, 0x01, +0x3D, 0x71, 0x71, 0x02, 0xCA, 0x02, 0xEC, 0xFD, 0x14, 0x02, +0x71, 0xA4, 0x7B, 0x00, 0x00, 0x01, 0x00, 0x57, 0x00, 0x00, +0x02, 0x2E, 0x02, 0xF6, 0x00, 0x14, 0x00, 0x1A, 0xB6, 0x12, +0x11, 0x02, 0x75, 0x08, 0x07, 0x06, 0x2B, 0x00, 0x40, 0x0A, +0x0A, 0x09, 0x5E, 0x0F, 0x0E, 0x05, 0x03, 0x5C, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x37, 0x15, 0x21, 0x15, 0x21, 0x35, +0x3E, 0x01, 0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0xF1, 0x01, 0x3D, 0xFE, 0x29, +0xD1, 0x91, 0x8B, 0x5C, 0x6C, 0x63, 0x74, 0x73, 0x7E, 0x82, +0x5E, 0x02, 0x5C, 0x5C, 0xA6, 0xBB, 0x57, 0x84, 0x3C, 0x6C, +0x2E, 0x72, 0x65, 0x67, 0xBE, 0x00, 0x00, 0x01, 0x00, 0x57, +0xFF, 0xF6, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x21, 0x00, 0x2A, +0x40, 0x0C, 0x1A, 0x19, 0x6E, 0x10, 0x0F, 0x05, 0x1F, 0x1E, +0x70, 0x08, 0x07, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x12, +0x11, 0x5C, 0x17, 0x16, 0x05, 0x0B, 0x0A, 0x5C, 0x0E, 0x0D, +0x05, 0x21, 0x00, 0x5C, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x35, 0x34, +0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, +0x07, 0x15, 0x16, 0x15, 0x14, 0x06, 0x01, 0x31, 0x79, 0x61, +0x67, 0x6D, 0x50, 0x54, 0x66, 0x75, 0x33, 0x33, 0xCF, 0x8E, +0x6F, 0x65, 0x62, 0x83, 0x6E, 0x7D, 0xA0, 0xAE, 0x8E, 0x0A, +0x2E, 0x64, 0x36, 0x48, 0x42, 0x41, 0x3F, 0x5C, 0x7B, 0x67, +0x37, 0x65, 0x2E, 0x5E, 0x50, 0x8F, 0x29, 0x02, 0x1A, 0x9D, +0x6A, 0x77, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x4D, +0x02, 0xEC, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x19, 0x40, 0x0A, +0x03, 0x71, 0x0C, 0x00, 0x0F, 0x08, 0x6F, 0x0A, 0x00, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x0B, 0x07, 0x5A, 0x05, 0x04, 0x05, +0x2B, 0x30, 0x31, 0x25, 0x11, 0x23, 0x03, 0x15, 0x21, 0x33, +0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x01, +0x66, 0x02, 0xE4, 0x01, 0x55, 0x78, 0x78, 0x6F, 0xFE, 0xA9, +0x01, 0x57, 0x6F, 0xFE, 0x01, 0x4B, 0xFE, 0xB7, 0x02, 0x5A, +0xA4, 0xA4, 0x5A, 0x01, 0xEE, 0x00, 0x00, 0x01, 0x00, 0x61, +0xFF, 0xF6, 0x02, 0x38, 0x02, 0xEC, 0x00, 0x19, 0x00, 0x20, +0xB5, 0x03, 0x02, 0x70, 0x0D, 0x0C, 0x05, 0x2B, 0x00, 0x40, +0x10, 0x15, 0x5D, 0x13, 0x00, 0x06, 0x05, 0x5C, 0x0B, 0x0A, +0x05, 0x0F, 0x0E, 0x58, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x07, +0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x33, 0x36, 0x01, 0x57, +0x6B, 0x76, 0x91, 0x8D, 0x63, 0x56, 0x67, 0x52, 0xAE, 0x85, +0x4C, 0x2F, 0x62, 0x15, 0x01, 0x9F, 0xFE, 0xC7, 0x0A, 0x02, +0x37, 0x01, 0xE1, 0x79, 0x6D, 0x81, 0x84, 0x24, 0x68, 0x30, +0xA9, 0x8E, 0x2D, 0x01, 0x90, 0x5D, 0xCC, 0x1E, 0x00, 0x02, +0x00, 0x38, 0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x15, +0x00, 0x21, 0x00, 0x2A, 0x40, 0x0C, 0x06, 0x05, 0x71, 0x19, +0x18, 0x05, 0x1F, 0x1E, 0x73, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x5C, 0x21, 0x16, 0x05, 0x13, +0x12, 0x5C, 0x0E, 0x0D, 0x05, 0x1C, 0x1B, 0x55, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x17, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x20, 0x11, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x13, 0x32, +0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, +0xB2, 0x02, 0x3E, 0x6F, 0x72, 0x84, 0x93, 0x7C, 0xFE, 0xF0, +0xA4, 0x9A, 0x4D, 0x42, 0x40, 0x4F, 0x50, 0x6A, 0x8C, 0x4A, +0x54, 0x57, 0x47, 0x46, 0x57, 0x58, 0x01, 0xB9, 0x01, 0x3E, +0x85, 0x71, 0x7D, 0x8D, 0x01, 0x52, 0xD8, 0xD6, 0x15, 0x61, +0x1A, 0x75, 0xFE, 0x2D, 0x59, 0x55, 0x4A, 0x57, 0x59, 0x48, +0x50, 0x5E, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x02, 0x3D, +0x02, 0xEC, 0x00, 0x0A, 0x00, 0x0F, 0xB3, 0x01, 0x6B, 0x08, +0x00, 0x2B, 0x00, 0xB3, 0x09, 0x5D, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x21, 0x15, 0x06, 0x02, 0x07, 0x23, 0x12, 0x13, +0x35, 0x21, 0x52, 0x01, 0xEB, 0x5D, 0x88, 0x39, 0x76, 0x73, +0xB6, 0xFE, 0x80, 0x02, 0xEC, 0x5D, 0x97, 0xFE, 0xCA, 0xC2, +0x01, 0x66, 0x01, 0x27, 0x02, 0x00, 0x00, 0x03, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x0B, 0x00, 0x15, +0x00, 0x2B, 0x00, 0x2E, 0x40, 0x18, 0x09, 0x08, 0x6C, 0x1D, +0x1C, 0x05, 0x0F, 0x0E, 0x6B, 0x2B, 0x16, 0x05, 0x27, 0x26, +0x6F, 0x14, 0x13, 0x05, 0x22, 0x21, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x09, 0x06, 0x05, 0x58, +0x1F, 0x01, 0x29, 0x58, 0x11, 0x00, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x3E, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x14, 0x16, 0x17, 0x0E, 0x01, 0x15, 0x14, 0x16, 0x32, 0x36, +0x35, 0x34, 0x05, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0x35, +0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x16, 0x15, +0x14, 0x06, 0x20, 0x26, 0x01, 0x43, 0x46, 0x4C, 0x4C, 0x46, +0x46, 0x49, 0x49, 0x40, 0x50, 0x54, 0x5B, 0x9D, 0x57, 0xFE, +0x46, 0x52, 0x48, 0x3E, 0x42, 0x85, 0xEB, 0x85, 0x80, 0x9A, +0x92, 0xFE, 0xFC, 0x93, 0x01, 0xB8, 0x11, 0x41, 0x29, 0x31, +0x3A, 0x39, 0x32, 0x2B, 0x40, 0x67, 0x13, 0x4D, 0x2F, 0x3E, +0x46, 0x46, 0x3E, 0x6B, 0x70, 0x3B, 0x66, 0x1B, 0x02, 0x1B, +0x5D, 0x3A, 0x53, 0x66, 0x66, 0x53, 0x72, 0x35, 0x03, 0x34, +0x92, 0x63, 0x74, 0x74, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x4D, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x21, +0x00, 0x2A, 0x40, 0x0C, 0x0B, 0x0A, 0x73, 0x1F, 0x1E, 0x05, +0x19, 0x18, 0x71, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x12, 0x03, 0x02, 0x55, 0x1C, 0x1B, 0x05, 0x0E, 0x0D, 0x5C, +0x13, 0x12, 0x05, 0x21, 0x16, 0x5C, 0x09, 0x08, 0x05, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x27, 0x06, 0x23, 0x22, 0x26, +0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x03, 0x22, 0x06, 0x15, +0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 0xD3, +0x02, 0x3E, 0x6F, 0x73, 0x83, 0x94, 0x7B, 0x01, 0x10, 0xA1, +0x9D, 0x52, 0x47, 0x4B, 0x4E, 0x57, 0x6B, 0x94, 0x4A, 0x54, +0x57, 0x47, 0x47, 0x56, 0x59, 0x01, 0x32, 0x01, 0x3D, 0x88, +0x78, 0x76, 0x8A, 0xFE, 0xB8, 0xE4, 0xD4, 0x14, 0x62, 0x1A, +0x74, 0x01, 0xD4, 0x55, 0x4F, 0x51, 0x5A, 0x5C, 0x4F, 0x49, +0x5B, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x00, 0x00, +0x01, 0x0C, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, +0x15, 0x87, 0x85, 0x85, 0x85, 0x01, 0x8F, 0x9A, 0x9A, 0xFE, +0x71, 0x9A, 0x9A, 0x00, 0x00, 0x02, 0x00, 0x4F, 0xFF, 0x8F, +0x01, 0x26, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x13, 0x35, 0x33, +0x15, 0x97, 0x8F, 0x71, 0x66, 0x48, 0x85, 0x9A, 0xFE, 0xF5, +0x02, 0x00, 0x9A, 0x9A, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x0A, +0x02, 0x54, 0x02, 0x48, 0x00, 0x07, 0x00, 0x09, 0xB3, 0x01, +0x43, 0x05, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x05, 0x15, +0x05, 0x15, 0x25, 0x35, 0x25, 0x02, 0x54, 0xFE, 0x2E, 0x01, +0xD2, 0xFD, 0xEB, 0x02, 0x15, 0x01, 0xE6, 0xBC, 0x02, 0xBC, +0x62, 0xE7, 0x70, 0xE7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x59, +0x00, 0x85, 0x02, 0xAB, 0x01, 0xCD, 0x00, 0x03, 0x00, 0x07, +0x00, 0x0E, 0x00, 0xB7, 0x07, 0x57, 0x05, 0x00, 0x03, 0x57, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, +0x05, 0x35, 0x21, 0x15, 0x59, 0x02, 0x52, 0xFD, 0xAE, 0x02, +0x52, 0x01, 0x76, 0x57, 0x57, 0xF1, 0x57, 0x57, 0x00, 0x01, +0x00, 0x5E, 0x00, 0x0A, 0x02, 0x73, 0x02, 0x48, 0x00, 0x07, +0x00, 0x09, 0xB3, 0x02, 0x43, 0x06, 0x00, 0x2B, 0x00, 0x30, +0x31, 0x13, 0x35, 0x05, 0x15, 0x05, 0x35, 0x25, 0x35, 0x5E, +0x02, 0x15, 0xFD, 0xEB, 0x01, 0xD2, 0x01, 0xE6, 0x62, 0xE7, +0x70, 0xE7, 0x62, 0xBC, 0x02, 0x00, 0x00, 0x02, 0x00, 0x54, +0x00, 0x00, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x1D, 0x00, 0x21, +0x00, 0x1E, 0x40, 0x0E, 0x20, 0x7B, 0x1E, 0x00, 0x14, 0x13, +0x75, 0x0A, 0x09, 0x05, 0x1D, 0x71, 0x01, 0x00, 0x2B, 0x2B, +0x2B, 0x00, 0xB5, 0x0C, 0x0B, 0x5E, 0x11, 0x10, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x23, 0x34, 0x3E, 0x02, 0x37, 0x3E, 0x02, +0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, +0x15, 0x14, 0x0E, 0x02, 0x07, 0x0E, 0x03, 0x07, 0x35, 0x33, +0x15, 0x01, 0x4F, 0x71, 0x17, 0x30, 0x23, 0x20, 0x22, 0x21, +0x1F, 0x95, 0x69, 0x78, 0x75, 0x7C, 0x78, 0x82, 0x12, 0x2A, +0x1F, 0x1D, 0x1F, 0x1E, 0x2A, 0x11, 0x76, 0x7B, 0xDC, 0x2C, +0x47, 0x37, 0x1E, 0x16, 0x18, 0x1C, 0x32, 0x1D, 0x5B, 0x27, +0x66, 0x1F, 0x5F, 0x4F, 0x24, 0x38, 0x2E, 0x19, 0x15, 0x15, +0x19, 0x2D, 0x36, 0xFF, 0x85, 0x85, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0x8A, 0x03, 0x26, 0x02, 0x8A, 0x00, 0x34, +0x00, 0x41, 0x00, 0x3B, 0x40, 0x0B, 0x07, 0x56, 0x12, 0x11, +0x04, 0x18, 0x17, 0x56, 0x02, 0x01, 0x05, 0x2B, 0x2B, 0x00, +0x40, 0x22, 0x22, 0x21, 0x1B, 0x1A, 0x63, 0x41, 0x35, 0x07, +0x3B, 0x3A, 0x5E, 0x28, 0x27, 0x05, 0x05, 0x04, 0x51, 0x15, +0x14, 0x05, 0x0F, 0x0E, 0x51, 0x0A, 0x09, 0x05, 0x22, 0x21, +0x1B, 0x1A, 0x48, 0x34, 0x00, 0x07, 0x2B, 0x2B, 0x2B, 0x2B, +0x2B, 0x30, 0x31, 0x25, 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, +0x06, 0x10, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, +0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, +0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x06, 0x23, 0x22, 0x27, +0x26, 0x3E, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x37, +0x33, 0x07, 0x0E, 0x01, 0x17, 0x16, 0x27, 0x32, 0x37, 0x36, +0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x17, 0x16, 0x02, +0x4F, 0x81, 0xA4, 0x86, 0x83, 0xA7, 0xA7, 0x83, 0x6E, 0x4B, +0x2D, 0x60, 0x86, 0xA3, 0xDD, 0xDA, 0xA6, 0xA8, 0xD8, 0x6F, +0x67, 0x2E, 0x1F, 0x1D, 0x08, 0x02, 0x2F, 0x51, 0x46, 0x2C, +0x33, 0x27, 0x6E, 0x4D, 0x1A, 0x1A, 0x11, 0x11, 0x02, 0x09, +0x75, 0x33, 0x0A, 0x01, 0x07, 0x07, 0xCF, 0x4C, 0x19, 0x0C, +0x14, 0x12, 0x1F, 0x24, 0x37, 0x0C, 0x0C, 0x15, 0x12, 0x86, +0x84, 0x88, 0xA7, 0xAA, 0xFE, 0xF6, 0xAA, 0x3D, 0x46, 0x48, +0xD7, 0xA9, 0xA8, 0xD8, 0xD6, 0xAA, 0x64, 0x68, 0x11, 0x0F, +0x1A, 0x3A, 0x34, 0x3C, 0xC1, 0x69, 0x0E, 0x09, 0x13, 0x27, +0xF6, 0x30, 0x1E, 0x05, 0x06, 0x1B, 0x6D, 0x38, 0x1C, 0x18, +0x39, 0x34, 0x35, 0x1F, 0x18, 0x00, 0x00, 0x02, 0x00, 0x1C, +0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x05, 0x58, 0x08, 0x00, 0x0A, 0x67, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x33, 0x01, 0x33, 0x01, +0x23, 0x27, 0x21, 0x07, 0x13, 0x33, 0x03, 0x23, 0x1C, 0x01, +0x00, 0x7B, 0x01, 0x00, 0x79, 0x3D, 0xFE, 0xEC, 0x3D, 0x58, +0xDE, 0x6E, 0x02, 0x02, 0xEC, 0xFD, 0x14, 0xC7, 0xC7, 0x01, +0x1F, 0x01, 0x66, 0x00, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, +0x02, 0x4A, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x18, 0x00, 0x21, +0x00, 0x30, 0x40, 0x11, 0x09, 0x08, 0x69, 0x1D, 0x1C, 0x05, +0x0F, 0x00, 0x6F, 0x18, 0x10, 0x05, 0x21, 0x14, 0x71, 0x04, +0x01, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x13, 0x12, 0x58, +0x1A, 0x19, 0x05, 0x03, 0x02, 0x5A, 0x16, 0x15, 0x05, 0x20, +0x1F, 0x5B, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x25, 0x14, 0x06, 0x2B, 0x01, 0x11, 0x33, 0x32, 0x16, 0x15, +0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x07, 0x34, 0x26, 0x2B, +0x01, 0x11, 0x33, 0x32, 0x36, 0x01, 0x33, 0x32, 0x36, 0x35, +0x34, 0x26, 0x2B, 0x01, 0x02, 0x4A, 0x98, 0xA6, 0xB8, 0xAE, +0x9E, 0x8B, 0x54, 0x46, 0x58, 0x61, 0x6F, 0x6A, 0x83, 0x29, +0x5C, 0x61, 0x59, 0xFE, 0xEA, 0x29, 0x72, 0x62, 0x4E, 0x5D, +0x52, 0xDC, 0x6F, 0x6D, 0x02, 0xEC, 0x59, 0x5B, 0x3C, 0x58, +0x0E, 0x03, 0x0D, 0x60, 0x40, 0x42, 0x3A, 0xFE, 0xF8, 0x44, +0x01, 0x1C, 0x37, 0x38, 0x37, 0x31, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x02, 0x30, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1A, +0xB4, 0x13, 0x73, 0x08, 0x07, 0x04, 0x2B, 0x00, 0x40, 0x0C, +0x11, 0x10, 0x5C, 0x0B, 0x0A, 0x05, 0x05, 0x04, 0x5C, 0x15, +0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, +0x15, 0x2E, 0x01, 0x23, 0x22, 0x06, 0x10, 0x16, 0x01, 0x87, +0x52, 0x57, 0x56, 0x5D, 0x9C, 0xBB, 0xB5, 0xA2, 0x5D, 0x51, +0x34, 0x3E, 0x32, 0x6E, 0x80, 0x83, 0x52, 0x1B, 0x63, 0x14, +0xC8, 0xB8, 0xB5, 0xCB, 0x15, 0x62, 0x10, 0x0B, 0x99, 0xFE, +0xE9, 0x98, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, 0x02, 0x87, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x21, 0x40, 0x0A, +0x07, 0x00, 0x6B, 0x0F, 0x08, 0x05, 0x0B, 0x71, 0x03, 0x00, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x02, 0x01, 0x5C, 0x0D, 0x0C, +0x05, 0x0A, 0x09, 0x5D, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x16, 0x07, +0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x02, 0x87, 0xFE, +0x71, 0xA4, 0xA4, 0xC5, 0xCA, 0x6B, 0xFE, 0xE6, 0x3D, 0x3D, +0x90, 0x8A, 0x01, 0x80, 0xFE, 0x80, 0x02, 0xEC, 0xBA, 0xB2, +0x01, 0x0F, 0xFD, 0xCD, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x17, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x1B, 0xB4, 0x04, 0x00, 0x71, 0x08, 0x01, 0x2B, 0x00, +0x40, 0x0C, 0x0B, 0x5D, 0x09, 0x00, 0x07, 0x5C, 0x05, 0x00, +0x03, 0x58, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, +0x15, 0xC5, 0x01, 0x3D, 0xFE, 0xC3, 0x01, 0x52, 0xFE, 0x3D, +0x01, 0xC3, 0x02, 0x8F, 0xD5, 0x58, 0xFE, 0xFA, 0x5C, 0x02, +0xEC, 0x5D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x0C, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x15, 0xB4, 0x07, +0x03, 0x71, 0x09, 0x01, 0x2B, 0x00, 0xB7, 0x06, 0x58, 0x04, +0x00, 0x02, 0x5D, 0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x54, +0x01, 0xB8, 0xFE, 0xB9, 0x01, 0x33, 0xFE, 0xCD, 0x71, 0x02, +0xEC, 0x5D, 0xDF, 0x58, 0xFE, 0xA8, 0x00, 0x00, 0x00, 0x01, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x78, 0x02, 0xF6, 0x00, 0x19, +0x00, 0x26, 0x40, 0x0A, 0x08, 0x07, 0x73, 0x17, 0x16, 0x05, +0x11, 0x6C, 0x0D, 0x00, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x0E, +0x58, 0x10, 0x00, 0x14, 0x13, 0x5A, 0x0B, 0x0A, 0x05, 0x05, +0x04, 0x5A, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x11, 0x23, 0x35, 0x21, 0x11, 0x06, +0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x01, 0xA1, 0x60, 0x53, +0x55, 0x54, 0x84, 0x8E, 0x8B, 0x73, 0x3E, 0x37, 0xDC, 0x01, +0x48, 0x6F, 0x7D, 0x9D, 0xC9, 0xCB, 0x02, 0xF6, 0x15, 0x60, +0x1B, 0x97, 0x8F, 0x89, 0x9D, 0x12, 0x01, 0x00, 0x58, 0xFE, +0x6A, 0x2E, 0xD1, 0xAF, 0xB2, 0xCE, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x17, 0x40, 0x0A, 0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, +0x71, 0x06, 0x02, 0x04, 0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, +0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x21, 0x11, 0x33, +0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, +0x71, 0x71, 0xFE, 0xC3, 0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, +0x32, 0xFD, 0x14, 0x01, 0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xE8, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x7A, 0x00, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, 0x7A, 0x02, +0xEC, 0xFD, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xDE, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x13, +0xB5, 0x09, 0x08, 0x76, 0x06, 0x05, 0x05, 0x2B, 0x00, 0xB5, +0x0C, 0x0B, 0x5C, 0x03, 0x02, 0x05, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, +0x06, 0x23, 0x22, 0x26, 0x63, 0x55, 0x48, 0x42, 0x76, 0x7B, +0x85, 0x68, 0x14, 0x67, 0x29, 0x58, 0x6A, 0x01, 0xD8, 0xFE, +0x0A, 0x86, 0x7A, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x68, 0x02, 0xEC, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x09, +0x00, 0x71, 0x0B, 0x01, 0x2B, 0x00, 0xB3, 0x08, 0x3E, 0x01, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x01, 0x33, 0x09, +0x01, 0x23, 0x01, 0x23, 0x11, 0x23, 0x11, 0xC5, 0x02, 0x01, +0x12, 0x85, 0xFE, 0xCD, 0x01, 0x3D, 0x85, 0xFE, 0xE4, 0x02, +0x71, 0x02, 0xEC, 0xFE, 0xB8, 0x01, 0x48, 0xFE, 0x99, 0xFE, +0x7B, 0x01, 0x66, 0xFE, 0x9A, 0x02, 0xEC, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x54, 0x00, 0x00, 0x02, 0x21, 0x02, 0xEC, +0x00, 0x05, 0x00, 0x0F, 0xB3, 0x00, 0x76, 0x04, 0x00, 0x2B, +0x00, 0xB3, 0x03, 0x5E, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x21, 0x15, 0x21, 0x11, 0xCA, 0x01, 0x57, 0xFE, 0x33, +0x02, 0xEC, 0xFD, 0x72, 0x5E, 0x02, 0xEC, 0x00, 0x00, 0x01, +0x00, 0x2B, 0x00, 0x00, 0x03, 0x0C, 0x02, 0xEC, 0x00, 0x0F, +0x00, 0x0B, 0x00, 0xB5, 0x0F, 0x0B, 0x07, 0x7B, 0x03, 0x02, +0x2B, 0x30, 0x31, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, +0x13, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x2B, +0x57, 0x85, 0x94, 0x02, 0x93, 0x85, 0x57, 0x70, 0x3A, 0x02, +0x89, 0x7B, 0x89, 0x02, 0x39, 0x02, 0xEC, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x52, 0xFD, 0xAE, 0x02, 0x52, 0xFD, +0xAE, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, 0xB7, 0x06, +0x6F, 0x04, 0x00, 0x0A, 0x6F, 0x00, 0x00, 0x2B, 0x2B, 0x00, +0x30, 0x31, 0x33, 0x11, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, +0x23, 0x01, 0x23, 0x11, 0x54, 0x6F, 0x01, 0x3F, 0x02, 0x6F, +0x6F, 0xFE, 0xC1, 0x02, 0x02, 0xEC, 0xFD, 0xD1, 0x02, 0x2F, +0xFD, 0x14, 0x02, 0x2E, 0xFD, 0xD2, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0xBF, 0x02, 0xF6, 0x00, 0x08, +0x00, 0x11, 0x00, 0x19, 0xB7, 0x03, 0x72, 0x0C, 0x00, 0x10, +0x73, 0x07, 0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5C, 0x0A, +0x00, 0x0E, 0x5C, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x20, 0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, +0x32, 0x36, 0x10, 0x26, 0x22, 0x06, 0x10, 0x80, 0x59, 0x01, +0x33, 0xB3, 0xB3, 0xFE, 0xCD, 0xB3, 0xAC, 0x38, 0xD1, 0x72, +0x72, 0xD1, 0x71, 0x02, 0x90, 0x66, 0xCB, 0xFE, 0x96, 0xCB, +0xCB, 0x01, 0x6A, 0xFE, 0x71, 0x4A, 0x92, 0x01, 0x23, 0x93, +0x93, 0xFE, 0xDD, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x54, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x11, 0x00, 0x22, +0x40, 0x0B, 0x07, 0x06, 0x6F, 0x0E, 0x0D, 0x05, 0x11, 0x00, +0x71, 0x02, 0x01, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x09, 0x08, +0x58, 0x0B, 0x0A, 0x05, 0x10, 0x0F, 0x5B, 0x04, 0x03, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x23, 0x11, 0x33, 0x32, +0x16, 0x15, 0x14, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, +0x2B, 0x01, 0xC5, 0x71, 0xCD, 0x9D, 0x96, 0xFE, 0xE1, 0x70, +0x66, 0x5B, 0x5F, 0xBA, 0x66, 0x01, 0x1A, 0xFE, 0xE6, 0x02, +0xEC, 0x6E, 0x6F, 0xF5, 0x58, 0x4A, 0x49, 0x8C, 0x00, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0x66, 0x03, 0x0C, 0x02, 0xF6, +0x00, 0x08, 0x00, 0x1A, 0x00, 0x1D, 0x40, 0x09, 0x03, 0x73, +0x0B, 0x00, 0x10, 0x0F, 0x72, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0x40, 0x09, 0x01, 0x5C, 0x0D, 0x00, 0x1A, 0x09, 0x5C, 0x05, +0x01, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x26, 0x22, 0x06, 0x10, +0x16, 0x32, 0x36, 0x10, 0x03, 0x22, 0x26, 0x10, 0x36, 0x20, +0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x17, 0x23, +0x2E, 0x01, 0x02, 0x14, 0x39, 0xD1, 0x71, 0x71, 0xD1, 0x72, +0xDA, 0x9A, 0xB3, 0xB3, 0x01, 0x33, 0xB3, 0x53, 0x4B, 0x42, +0x82, 0x27, 0x85, 0x37, 0x6E, 0x02, 0x51, 0x49, 0x93, 0xFE, +0xDD, 0x92, 0x92, 0x01, 0x23, 0xFD, 0xEF, 0xCB, 0x01, 0x6A, +0xCB, 0xCB, 0xB5, 0x74, 0xAA, 0x2E, 0x02, 0x16, 0x6B, 0x41, +0x57, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x5E, 0x02, 0xEC, 0x00, 0x08, 0x00, 0x1C, 0x00, 0x22, +0x40, 0x0B, 0x09, 0x01, 0x71, 0x0B, 0x01, 0x10, 0x0F, 0x6F, +0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x08, 0x00, +0x5B, 0x0D, 0x0C, 0x05, 0x1C, 0x1B, 0x58, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x03, 0x11, 0x23, 0x11, 0x33, 0x32, 0x16, +0x15, 0x14, 0x06, 0x07, 0x15, 0x16, 0x1F, 0x01, 0x23, 0x27, +0x2E, 0x01, 0x23, 0x01, 0x17, 0x52, 0x3D, 0x72, 0x67, 0x5B, +0xBB, 0x71, 0xB8, 0xA7, 0x97, 0x4F, 0x46, 0x2C, 0x26, 0x57, +0x75, 0x55, 0x15, 0x34, 0x49, 0x02, 0x91, 0xFE, 0xFA, 0x47, +0x48, 0x3D, 0x3A, 0xFE, 0xA2, 0xFE, 0xCD, 0x02, 0xEC, 0x64, +0x64, 0x4C, 0x6A, 0x16, 0x02, 0x1B, 0x5F, 0xDC, 0xDC, 0x37, +0x20, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, 0x02, 0x07, +0x02, 0xF6, 0x00, 0x20, 0x00, 0x23, 0x40, 0x0C, 0x03, 0x02, +0x6F, 0x19, 0x18, 0x05, 0x09, 0x08, 0x70, 0x13, 0x12, 0x05, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x20, 0x00, 0x5A, 0x1C, 0x1B, +0x05, 0x0C, 0x0B, 0x5C, 0x11, 0x10, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1E, 0x01, +0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, +0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x33, +0x32, 0x17, 0x15, 0x26, 0x01, 0x1C, 0x38, 0x3B, 0x37, 0x37, +0x87, 0x69, 0x7F, 0x7C, 0x69, 0x59, 0x59, 0x5F, 0x95, 0x3B, +0x45, 0x75, 0x68, 0x73, 0x64, 0x74, 0x63, 0x66, 0x02, 0x9C, +0x38, 0x31, 0x28, 0x40, 0x13, 0x2D, 0x6E, 0x55, 0x68, 0x6A, +0x2E, 0x6B, 0x3D, 0x76, 0x2D, 0x3F, 0x19, 0x28, 0x6F, 0x4F, +0x5A, 0x69, 0x29, 0x6A, 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x3A, 0x00, 0x00, 0x02, 0x4F, 0x02, 0xEC, 0x00, 0x07, +0x00, 0x10, 0xB3, 0x03, 0x71, 0x05, 0x00, 0x2B, 0x00, 0xB4, +0x06, 0x02, 0x5F, 0x00, 0x01, 0x2B, 0x30, 0x31, 0x13, 0x21, +0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3A, 0x02, 0x15, 0xD2, +0x71, 0xD2, 0x02, 0xEC, 0x5F, 0xFD, 0x73, 0x02, 0x8D, 0x00, +0x00, 0x01, 0x00, 0x4A, 0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, +0x00, 0x0D, 0x00, 0x19, 0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, +0x07, 0x05, 0x03, 0x02, 0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, +0x00, 0xB3, 0x0C, 0x5E, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x33, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, +0x11, 0x10, 0x20, 0x4A, 0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, +0xEC, 0x01, 0x05, 0x01, 0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, +0x5A, 0x01, 0xEC, 0xFE, 0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, +0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, 0x05, 0x71, 0x01, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x01, 0x23, +0x01, 0x94, 0xC6, 0x02, 0xC6, 0x75, 0xFF, 0x00, 0x7B, 0xFF, +0x00, 0x02, 0xEC, 0xFD, 0x85, 0x02, 0x7B, 0xFD, 0x14, 0x02, +0xEC, 0x00, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x00, 0x03, 0x5E, +0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, 0x00, 0x40, 0x0C, 0x0B, +0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, 0x09, 0x7B, 0x05, 0x01, +0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, +0x13, 0x33, 0x13, 0x33, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, +0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, 0x70, 0x02, 0x70, 0x6E, +0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, 0x9F, 0x02, 0xEC, 0xFD, +0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x14, 0x02, +0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x03, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x13, +0x23, 0x03, 0x23, 0x03, 0x23, 0x13, 0x03, 0xBC, 0x99, 0x02, +0x99, 0x7E, 0xD2, 0xD7, 0x84, 0x9C, 0x02, 0x9C, 0x80, 0xD7, +0xD2, 0x02, 0xEC, 0xFE, 0xDC, 0x01, 0x24, 0xFE, 0x8F, 0xFE, +0x85, 0x01, 0x2E, 0xFE, 0xD2, 0x01, 0x7B, 0x01, 0x71, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, +0x00, 0x09, 0x00, 0x09, 0xB3, 0x05, 0x76, 0x07, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x11, +0x23, 0x11, 0x03, 0xA0, 0xB5, 0x02, 0xB5, 0x80, 0xFD, 0x76, +0xFD, 0x02, 0xEC, 0xFE, 0xA3, 0x01, 0x5D, 0xFE, 0x47, 0xFE, +0xCD, 0x01, 0x33, 0x01, 0xB9, 0x00, 0x00, 0x01, 0x00, 0x4A, +0x00, 0x00, 0x02, 0x35, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, +0x00, 0xB7, 0x06, 0x5C, 0x04, 0x00, 0x0A, 0x5D, 0x00, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, 0x15, 0x21, +0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, 0xEB, 0xFE, +0x98, 0x01, 0x68, 0xFE, 0x15, 0x01, 0x68, 0xFE, 0x98, 0x02, +0xEC, 0x5D, 0xFD, 0xCF, 0x02, 0x5C, 0x5C, 0x02, 0x31, 0x02, +0x00, 0x01, 0x00, 0x73, 0xFF, 0x61, 0x01, 0x9C, 0x03, 0x14, +0x00, 0x07, 0x00, 0x14, 0xB3, 0x00, 0x66, 0x04, 0x00, 0x2B, +0x00, 0xB7, 0x07, 0x51, 0x05, 0x00, 0x03, 0x52, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x15, 0x21, 0x11, +0x21, 0x15, 0xD9, 0xC3, 0xFE, 0xD7, 0x01, 0x29, 0x02, 0xC3, +0xFC, 0xF0, 0x52, 0x03, 0xB3, 0x51, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xD7, 0x01, 0xFD, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x33, 0x01, 0x23, 0x30, 0x6C, 0x01, +0x61, 0x6C, 0x02, 0xEC, 0xFC, 0xEB, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0xFF, 0x61, 0x01, 0x7D, 0x03, 0x14, 0x00, 0x07, +0x00, 0x14, 0xB3, 0x04, 0x66, 0x00, 0x00, 0x2B, 0x00, 0xB7, +0x05, 0x52, 0x07, 0x00, 0x01, 0x51, 0x03, 0x00, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, +0x01, 0x17, 0xC3, 0x01, 0x29, 0xFE, 0xD7, 0x4D, 0x03, 0x10, +0x51, 0xFC, 0x4D, 0x52, 0x00, 0x01, 0x00, 0x26, 0x01, 0x1F, +0x02, 0x78, 0x02, 0xEC, 0x00, 0x06, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x33, 0x13, 0x23, 0x0B, 0x01, 0x26, 0xE6, +0x85, 0xE7, 0x73, 0xB6, 0xB6, 0x01, 0x1F, 0x01, 0xCD, 0xFE, +0x33, 0x01, 0x85, 0xFE, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x01, +0xFF, 0xFE, 0xFF, 0x61, 0x02, 0x50, 0xFF, 0xB3, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x52, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x07, 0x35, 0x21, 0x15, 0x02, 0x02, 0x52, 0x9F, 0x52, +0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x02, 0x29, +0x01, 0x0C, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x23, 0x03, 0x9C, 0x70, 0x5C, 0xA4, 0x03, +0x3D, 0xFE, 0xEC, 0x01, 0x14, 0x00, 0x00, 0x02, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xE8, 0x02, 0x1F, 0x00, 0x18, 0x00, 0x23, +0x00, 0x2C, 0x40, 0x0E, 0x03, 0x02, 0x6B, 0x23, 0x22, 0x11, +0x10, 0x0D, 0x1D, 0x1C, 0x6C, 0x0C, 0x0B, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x57, 0x20, 0x1F, 0x05, 0x1A, +0x19, 0x4B, 0x0F, 0x0E, 0x05, 0x14, 0x13, 0x52, 0x18, 0x00, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, +0x11, 0x23, 0x27, 0x23, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, +0x36, 0x3B, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x35, +0x36, 0x13, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x35, 0x01, 0x07, 0x81, 0x60, 0x64, 0x02, 0x02, 0x3B, +0x76, 0x46, 0x59, 0x89, 0x8C, 0x38, 0x33, 0x43, 0x50, 0x68, +0x5F, 0xCF, 0x38, 0x54, 0x55, 0x2D, 0x1F, 0x44, 0x51, 0x02, +0x1F, 0x5C, 0x7B, 0xFE, 0xB8, 0x4D, 0x57, 0x5A, 0x4A, 0x5A, +0x63, 0x15, 0x36, 0x2B, 0x27, 0x5A, 0x1F, 0xFE, 0xED, 0x38, +0x30, 0x26, 0x31, 0x55, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x4F, 0xFF, 0xF6, 0x02, 0x30, 0x03, 0x00, 0x00, 0x0B, +0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, 0x17, 0x0B, 0x0A, 0x00, +0x6B, 0x15, 0x03, 0x1D, 0x0C, 0x6B, 0x06, 0x05, 0x05, 0x2B, +0x2B, 0x00, 0x40, 0x0C, 0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, +0x0F, 0x0E, 0x52, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, +0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, +0x06, 0x15, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, +0x07, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x33, 0x32, 0x16, +0xBA, 0x4F, 0x36, 0x3F, 0x47, 0x86, 0x36, 0x4F, 0x01, 0x76, +0x7A, 0x5D, 0x32, 0x49, 0x27, 0x02, 0x02, 0x64, 0x6B, 0x02, +0x43, 0x5A, 0x61, 0x76, 0xBD, 0x2E, 0x47, 0x60, 0x62, 0xC3, +0x48, 0x2E, 0x4D, 0x7F, 0x95, 0x22, 0x2B, 0x43, 0x03, 0x00, +0xFE, 0xDC, 0x43, 0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, 0x00, 0x15, 0x00, 0x1B, +0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, 0x05, 0x08, 0x07, 0x54, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x26, +0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, 0x47, 0x46, 0x4A, 0x4D, +0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, 0x01, 0x0A, 0x86, 0x8F, +0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, 0x5A, 0x1C, 0x5C, 0x14, +0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0xF6, 0x02, 0x0C, +0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x14, 0x6B, 0x12, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x17, 0x33, 0x11, 0x33, 0x11, 0x23, 0x27, 0x23, 0x0E, +0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x46, +0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x5A, 0x43, 0x02, +0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x5D, 0x7A, 0xBD, +0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, 0x47, 0x7B, 0x83, 0x92, +0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, 0x2B, 0x22, 0x95, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xF3, 0x02, 0x1F, +0x00, 0x05, 0x00, 0x17, 0x00, 0x18, 0x00, 0x40, 0x10, 0x03, +0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, 0x0C, 0x50, 0x08, 0x07, +0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x13, 0x33, 0x26, 0x23, 0x22, 0x06, 0x07, 0x16, 0x33, 0x32, +0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, +0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, 0x03, 0x6F, 0x3D, 0x41, +0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, 0x4A, 0x80, 0x8A, 0x7C, +0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, 0x94, 0x46, 0x9D, 0xA6, +0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, 0x8C, 0x84, 0x8C, 0x0E, +0x15, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, +0x01, 0xC5, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1D, 0xB7, 0x12, +0x0E, 0x0D, 0x71, 0x14, 0x03, 0x02, 0x0A, 0x2B, 0x00, 0x40, +0x0C, 0x0B, 0x0A, 0x52, 0x06, 0x05, 0x05, 0x15, 0x11, 0x52, +0x0F, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x33, +0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, +0x06, 0x1D, 0x01, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x35, +0x71, 0x5C, 0x61, 0x34, 0x2E, 0x27, 0x26, 0x36, 0x2B, 0xA3, +0xA3, 0x71, 0x01, 0xAE, 0x52, 0x29, 0x6A, 0x63, 0x10, 0x52, +0x10, 0x32, 0x44, 0x2E, 0x52, 0xFE, 0x52, 0x01, 0xAE, 0x00, +0x00, 0x02, 0x00, 0x1C, 0xFF, 0x14, 0x01, 0xFD, 0x02, 0x1F, +0x00, 0x29, 0x00, 0x35, 0x00, 0x40, 0x40, 0x19, 0x15, 0x14, +0x71, 0x30, 0x2F, 0x05, 0x35, 0x2A, 0x68, 0x27, 0x0C, 0x0B, +0x09, 0x1C, 0x1B, 0x5C, 0x08, 0x07, 0x05, 0x22, 0x21, 0x6C, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x18, +0x18, 0x17, 0x43, 0x2D, 0x2C, 0x05, 0x05, 0x04, 0x4E, 0x1F, +0x1E, 0x05, 0x33, 0x32, 0x4C, 0x0F, 0x0E, 0x05, 0x25, 0x24, +0x52, 0x29, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x17, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, +0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x37, +0x33, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, +0x35, 0x16, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, +0x26, 0x23, 0x22, 0x06, 0xE8, 0x51, 0x58, 0x9C, 0x71, 0x5E, +0x2D, 0x37, 0x70, 0x57, 0x6A, 0x41, 0x02, 0x01, 0x62, 0x76, +0x76, 0x3E, 0x31, 0x16, 0x35, 0x4E, 0x81, 0x77, 0x8B, 0x8A, +0x6D, 0x5F, 0x5E, 0x0A, 0x44, 0x3C, 0x39, 0x45, 0x49, 0x3A, +0x37, 0x44, 0x9A, 0x35, 0x2A, 0x55, 0x34, 0x35, 0x28, 0x32, +0x32, 0x4F, 0x55, 0x6C, 0x42, 0x37, 0xB8, 0x59, 0x5F, 0x11, +0x17, 0x0F, 0x14, 0x13, 0x4A, 0x4C, 0x5A, 0x64, 0x29, 0x5D, +0x34, 0x01, 0xF5, 0x36, 0x3E, 0x3F, 0x35, 0x37, 0x41, 0x43, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, 0x02, 0x11, +0x03, 0x00, 0x00, 0x13, 0x00, 0x1B, 0x40, 0x0C, 0x0D, 0x09, +0x08, 0x6B, 0x0B, 0x02, 0x13, 0x00, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x06, 0x05, 0x57, 0x11, 0x10, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, +0x33, 0x32, 0x16, 0x02, 0x11, 0x68, 0x2D, 0x3D, 0x2F, 0x56, +0x6B, 0x6B, 0x02, 0x47, 0x5B, 0x5D, 0x56, 0x01, 0x3D, 0xFE, +0xC3, 0x01, 0x29, 0x5F, 0x40, 0x59, 0x32, 0xFE, 0xC3, 0x03, +0x00, 0xFE, 0xD2, 0x4D, 0x68, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, 0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, 0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, -0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, -0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, -0x70, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, -0x11, 0x6E, 0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x1F, -0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, 0x6B, 0x0F, -0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x00, -0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, 0x31, 0x13, -0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, -0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0xB2, 0x4A, -0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, 0x64, 0x02, -0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, 0x2E, 0x5C, -0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, 0x00, 0x08, -0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, 0x0B, 0x00, -0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, 0xB7, 0x05, -0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, 0x26, 0x10, -0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, 0x85, 0x85, -0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, 0xD7, 0x48, -0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, 0xC2, 0x01, -0x85, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, -0x02, 0x14, 0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, -0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, -0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, -0x01, 0xA6, 0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, -0x44, 0x15, 0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, -0x66, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x89, -0x00, 0x02, 0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, -0x00, 0x09, 0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, -0x31, 0x01, 0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, -0x27, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, -0x37, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, -0x46, 0xA6, 0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, -0x2D, 0x07, 0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, -0x3D, 0x0B, 0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, -0x46, 0xA6, 0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, -0x19, 0x15, 0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, -0x2F, 0x2B, 0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x6C, 0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, -0x00, 0x0B, 0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, -0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, -0x17, 0x1E, 0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, -0x36, 0x37, 0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, -0x07, 0x06, 0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, -0x21, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, -0xFE, 0x5C, 0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, -0x0D, 0x26, 0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, -0x41, 0x17, 0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, -0x46, 0x26, 0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, -0x14, 0x1D, 0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, -0x6B, 0x57, 0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, -0xB4, 0x2D, 0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, -0x28, 0x14, 0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, -0x0E, 0x1C, 0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, -0x2E, 0x00, 0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, -0x03, 0x3E, 0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, -0x00, 0x1B, 0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, -0x00, 0x40, 0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, -0x00, 0x62, 0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, -0x21, 0x06, 0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, -0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, -0x13, 0x25, 0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, -0x37, 0x36, 0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, -0x07, 0x26, 0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, -0x06, 0x17, 0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, -0x26, 0x03, 0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, -0x31, 0xA9, 0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, -0x15, 0x07, 0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, -0xFE, 0x21, 0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, -0x62, 0x5D, 0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, -0x2F, 0x20, 0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, -0x22, 0x11, 0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, -0x71, 0x56, 0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, -0x34, 0x0F, 0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, -0x47, 0x32, 0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, -0x5F, 0x23, 0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, -0x01, 0x0F, 0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, -0x39, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, -0x03, 0x8E, 0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, -0x00, 0x09, 0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, -0x31, 0x37, 0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, -0x01, 0x21, 0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, -0x37, 0x1E, 0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, -0x16, 0x30, 0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, -0x01, 0xC1, 0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, -0x24, 0x5E, 0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, -0x13, 0xB6, 0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, -0x5D, 0xFD, 0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, -0x30, 0x0C, 0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, -0xFF, 0xD5, 0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, -0x00, 0x36, 0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, -0x33, 0x23, 0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, -0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, -0x26, 0x22, 0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, -0x05, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, -0x26, 0x27, 0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, -0x01, 0x35, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, -0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, -0x17, 0x14, 0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, -0x27, 0xDA, 0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, -0x09, 0x23, 0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, -0x1A, 0x4C, 0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, -0x08, 0xFE, 0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, -0x26, 0x1A, 0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, -0x19, 0x28, 0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, -0x18, 0x47, 0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, -0x1E, 0x17, 0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, -0x0D, 0x04, 0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, -0x26, 0x35, 0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, -0x11, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, -0x03, 0x61, 0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, -0x61, 0x14, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, -0x17, 0x03, 0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, -0x02, 0x33, 0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, -0x27, 0x06, 0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, -0x06, 0x07, 0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, -0x05, 0x46, 0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, -0x1E, 0x2F, 0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, -0x3C, 0x3D, 0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, -0x19, 0x14, 0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, -0xFE, 0xCD, 0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, -0x26, 0x45, 0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, -0x66, 0x63, 0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, -0x2B, 0x0E, 0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, -0x00, 0x27, 0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, -0x00, 0x23, 0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, -0x19, 0x01, 0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, -0x0C, 0x10, 0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, -0x61, 0x07, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, -0x0E, 0x01, 0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, -0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, -0x21, 0x35, 0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, -0x86, 0x73, 0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, -0xDD, 0x62, 0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, -0xB7, 0x04, 0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, -0xE6, 0xE6, 0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, -0x03, 0x1F, 0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, -0x03, 0x5E, 0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, -0x11, 0x33, 0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, -0x07, 0x26, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, -0x5E, 0x5E, 0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, -0x24, 0x0F, 0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, -0x68, 0xFE, 0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, -0x05, 0x04, 0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, -0x00, 0x27, 0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, -0x00, 0x1D, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, -0x2B, 0x62, 0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, -0x16, 0x15, 0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, -0x1A, 0x59, 0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, -0x40, 0x0F, 0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, -0x0F, 0x05, 0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, -0x22, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, -0x33, 0x15, 0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, -0x14, 0x07, 0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, -0x06, 0x05, 0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, -0x0E, 0x18, 0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, -0x62, 0xFE, 0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, -0x66, 0x32, 0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, -0x02, 0x6D, 0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, -0x46, 0x32, 0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, -0x12, 0x62, 0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, -0x48, 0x32, 0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, -0xCE, 0xC2, 0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, -0x00, 0x6C, 0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, -0x00, 0x09, 0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, -0x6B, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, -0x03, 0xD3, 0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, -0x40, 0x13, 0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, -0x00, 0x67, 0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, -0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, -0x00, 0x19, 0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, -0x0F, 0x0F, 0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, -0x01, 0x15, 0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, -0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, -0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, -0x33, 0x15, 0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, -0x95, 0x95, 0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, -0x7B, 0x7B, 0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, -0xAA, 0xAA, 0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, -0x47, 0x02, 0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, -0x00, 0x22, 0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, -0x05, 0x2B, 0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, -0x05, 0x21, 0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, -0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, -0x06, 0x01, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, -0x06, 0x07, 0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, -0x27, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, -0x21, 0xF1, 0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, -0x78, 0xFE, 0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, -0xB4, 0x86, 0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, -0xFE, 0xE2, 0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, -0x76, 0xFD, 0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, -0x7B, 0xA2, 0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, -0xB5, 0x5A, 0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, -0x03, 0x44, 0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, -0x40, 0x14, 0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, -0x00, 0x2A, 0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, -0x14, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, -0x58, 0x31, 0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, -0x06, 0x21, 0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, -0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, -0x15, 0x13, 0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, -0x35, 0x11, 0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, -0x23, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, -0x36, 0x03, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, -0x21, 0x15, 0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, -0x07, 0x04, 0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, -0x4C, 0x1C, 0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, -0xEA, 0x03, 0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, -0xFD, 0x84, 0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, -0xE1, 0x58, 0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, -0x26, 0x0A, 0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, -0x94, 0xA8, 0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, -0x16, 0x0A, 0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, -0x00, 0x05, 0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, -0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, -0x00, 0x3C, 0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, -0x18, 0x69, 0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, -0x6C, 0x0E, 0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, -0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, -0x55, 0x29, 0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, -0x07, 0x0F, 0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, -0x37, 0x33, 0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, -0x33, 0x26, 0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, -0x07, 0x27, 0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, -0x37, 0x2B, 0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, -0x26, 0x27, 0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, -0xDD, 0xDD, 0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, -0x50, 0x81, 0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, -0x7B, 0x55, 0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, -0x58, 0x02, 0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, -0x63, 0x63, 0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, -0x14, 0x85, 0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, -0x2C, 0x5F, 0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, -0x5F, 0x2B, 0x33, 0xFE, 0xD5, 0x00, }; +0x71, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF3, 0xFF, 0x1F, +0x01, 0x07, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x18, +0xB7, 0x0E, 0x07, 0x06, 0x70, 0x0C, 0x04, 0x03, 0x0A, 0x2B, +0x00, 0xB7, 0x0F, 0x71, 0x0D, 0x00, 0x0B, 0x5A, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x07, 0x35, 0x32, 0x36, 0x35, 0x11, +0x33, 0x11, 0x14, 0x0E, 0x02, 0x13, 0x35, 0x33, 0x15, 0x0D, +0x6A, 0x3A, 0x70, 0x15, 0x40, 0x67, 0x4C, 0x70, 0xE1, 0x5A, +0x33, 0x5E, 0x02, 0x0A, 0xFD, 0xF6, 0x49, 0x57, 0x38, 0x13, +0x03, 0x70, 0x71, 0x71, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, +0x02, 0x1C, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x05, +0x01, 0x6B, 0x03, 0x01, 0x2B, 0x00, 0xB3, 0x00, 0x29, 0x06, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, +0x11, 0x33, 0x37, 0x33, 0x03, 0x13, 0x23, 0xBC, 0x02, 0x6B, +0x6B, 0x02, 0xE0, 0x80, 0xF6, 0xF6, 0x80, 0x01, 0x00, 0xFF, +0x00, 0x03, 0x00, 0xFE, 0x29, 0xEB, 0xFF, 0x00, 0xFE, 0xEC, +0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, +0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x70, 0x00, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, +0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x02, 0xE3, 0x02, 0x1F, 0x00, 0x22, +0x00, 0x26, 0x40, 0x11, 0x1A, 0x19, 0x69, 0x1D, 0x1C, 0x05, +0x09, 0x08, 0x6B, 0x0B, 0x01, 0x22, 0x00, 0x6A, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0A, 0x20, 0x1F, 0x06, +0x05, 0x52, 0x17, 0x16, 0x11, 0x10, 0x0F, 0x2B, 0x30, 0x31, +0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, +0x17, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, +0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xCD, 0x6A, 0x22, 0x30, +0x1D, 0x3F, 0x6B, 0x66, 0x02, 0x02, 0x3C, 0x4A, 0x2D, 0x38, +0x15, 0x02, 0x3D, 0x55, 0x54, 0x47, 0x69, 0x23, 0x2F, 0x1E, +0x3D, 0x01, 0x71, 0xFE, 0x8F, 0x01, 0x33, 0x5D, 0x3D, 0x3E, +0x1E, 0xFE, 0x8F, 0x02, 0x14, 0x3D, 0x48, 0x25, 0x2D, 0x52, +0x5B, 0x72, 0xFE, 0xAE, 0x01, 0x33, 0x5D, 0x3D, 0x3E, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, +0x6B, 0x0F, 0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, +0x2B, 0x00, 0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, +0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, +0xB2, 0x4A, 0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, +0x64, 0x02, 0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, +0x2E, 0x5C, 0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, +0x00, 0x08, 0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, +0x0B, 0x00, 0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0xB7, 0x05, 0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, +0x2B, 0x30, 0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, +0x26, 0x10, 0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, +0x85, 0x85, 0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, +0xD7, 0x48, 0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, +0xC2, 0x01, 0x85, 0x00, 0x00, 0x02, 0x00, 0x4A, 0xFF, 0x1F, +0x02, 0x2B, 0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, +0x40, 0x0D, 0x12, 0x0B, 0x0A, 0x00, 0x6B, 0x14, 0x03, 0x1D, +0x0C, 0x6C, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, +0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, 0x0F, 0x0E, 0x52, 0x03, +0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x14, 0x16, 0x33, +0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x06, 0x15, 0x05, 0x14, +0x06, 0x23, 0x22, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x17, +0x33, 0x3E, 0x01, 0x33, 0x32, 0x16, 0xB5, 0x4F, 0x36, 0x3E, +0x47, 0x85, 0x36, 0x4F, 0x01, 0x76, 0x7A, 0x5D, 0x5A, 0x43, +0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x61, 0x76, +0xBD, 0x2F, 0x46, 0x62, 0x60, 0xC3, 0x47, 0x2F, 0x4D, 0x7F, +0x95, 0x42, 0xFE, 0xE7, 0x02, 0xF5, 0x42, 0x2B, 0x22, 0x92, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0x1F, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x15, 0x6B, 0x17, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, 0x23, 0x11, 0x23, +0x06, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x47, +0x3E, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x32, 0x49, 0x27, +0x02, 0x02, 0x64, 0x6B, 0x02, 0x43, 0x5A, 0x5D, 0x7A, 0xBD, +0x9A, 0x2F, 0x47, 0xC3, 0x60, 0x62, 0x46, 0x7C, 0x83, 0x92, +0x22, 0x2B, 0x42, 0xFD, 0x0B, 0x01, 0x19, 0x42, 0x95, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, 0x02, 0x14, +0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, +0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, 0x01, 0xA6, +0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, 0x44, 0x15, +0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, 0x66, 0x2F, +0x37, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, +0x01, 0xCA, 0x02, 0x1F, 0x00, 0x1F, 0x00, 0x23, 0x40, 0x0C, +0x02, 0x01, 0x6C, 0x18, 0x17, 0x05, 0x08, 0x07, 0x6C, 0x12, +0x11, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x1F, 0x00, 0x52, +0x1B, 0x1A, 0x05, 0x0B, 0x0A, 0x52, 0x10, 0x0F, 0x05, 0x2B, +0x2B, 0x30, 0x31, 0x01, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1E, +0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, +0x32, 0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x01, 0x11, 0x6B, 0x29, 0x33, +0x76, 0x52, 0x6C, 0x66, 0x5E, 0x50, 0x50, 0x54, 0x70, 0x2D, +0x39, 0x69, 0x55, 0x68, 0x65, 0x58, 0x56, 0x55, 0x01, 0xCD, +0x3E, 0x1E, 0x27, 0x0D, 0x1B, 0x4D, 0x4B, 0x45, 0x4F, 0x1E, +0x58, 0x24, 0x42, 0x20, 0x28, 0x0F, 0x1A, 0x4F, 0x3B, 0x48, +0x52, 0x1A, 0x57, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xBF, 0x02, 0xC3, 0x00, 0x15, 0x00, 0x1D, +0xB7, 0x15, 0x04, 0x03, 0x6B, 0x13, 0x0F, 0x0E, 0x0A, 0x2B, +0x00, 0x40, 0x0C, 0x0C, 0x0B, 0x52, 0x07, 0x06, 0x05, 0x10, +0x02, 0x52, 0x12, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x15, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x01, 0x07, 0xB8, 0xB8, 0x21, 0x31, 0x2E, 0x29, 0x32, +0x39, 0x5F, 0x4A, 0x6C, 0x6C, 0x6B, 0x02, 0x00, 0x52, 0xF6, +0x45, 0x2B, 0x0D, 0x55, 0x0A, 0x50, 0x68, 0x01, 0x00, 0x52, +0xC3, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0xF6, 0x02, 0x02, +0x02, 0x14, 0x00, 0x13, 0x00, 0x1A, 0x40, 0x0B, 0x10, 0x6B, +0x0E, 0x0D, 0x04, 0x08, 0x07, 0x69, 0x05, 0x04, 0x05, 0x2B, +0x2B, 0x00, 0xB5, 0x02, 0x01, 0x52, 0x0B, 0x0A, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, +0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, +0x23, 0x27, 0x01, 0x9A, 0x4A, 0x5D, 0x5A, 0x54, 0x69, 0x2D, +0x36, 0x31, 0x55, 0x6B, 0x64, 0x02, 0x43, 0x4D, 0x63, 0x74, +0x01, 0x47, 0xFE, 0xC8, 0x55, 0x3F, 0x55, 0x30, 0x01, 0x47, +0xFD, 0xEC, 0x43, 0x00, 0x00, 0x01, 0x00, 0x21, 0x00, 0x00, +0x02, 0x17, 0x02, 0x14, 0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, +0x05, 0x3D, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, +0x13, 0x33, 0x03, 0x23, 0x03, 0x96, 0x87, 0x02, 0x87, 0x71, +0xB4, 0x8F, 0xB3, 0x02, 0x14, 0xFE, 0x29, 0x01, 0xD7, 0xFD, +0xEC, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x02, 0x02, 0x14, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x66, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x5C, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0xA0, 0x59, 0x02, 0x56, 0x8F, +0x56, 0x02, 0x59, 0x71, 0x8A, 0x8A, 0x56, 0x02, 0x57, 0x8A, +0x8A, 0x02, 0x14, 0xFE, 0x48, 0x01, 0xB8, 0xFE, 0x48, 0x01, +0xB8, 0xFD, 0xEC, 0x01, 0xAE, 0xFE, 0x52, 0x02, 0x14, 0x00, +0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x02, 0x07, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x03, 0x00, 0x30, 0x31, 0x25, 0x23, 0x07, +0x23, 0x13, 0x03, 0x33, 0x17, 0x33, 0x37, 0x33, 0x03, 0x13, +0x23, 0x01, 0x1B, 0x02, 0x75, 0x74, 0xAE, 0xA9, 0x78, 0x70, +0x02, 0x6F, 0x74, 0xA9, 0xAE, 0x78, 0xCD, 0xCD, 0x01, 0x0F, +0x01, 0x05, 0xC2, 0xC2, 0xFE, 0xFB, 0xFE, 0xF1, 0x00, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0x14, 0x02, 0x26, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x09, 0x00, 0xB3, 0x07, 0x54, 0x09, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x0E, +0x01, 0x23, 0x35, 0x32, 0x36, 0x37, 0x03, 0x99, 0x93, 0x02, +0x89, 0x6F, 0xC8, 0x34, 0x7C, 0x79, 0x55, 0x4B, 0x23, 0xD2, +0x02, 0x14, 0xFE, 0x67, 0x01, 0x99, 0xFD, 0xEC, 0x8B, 0x61, +0x54, 0x3A, 0x5E, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x01, 0xE3, 0x02, 0x14, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x06, 0x52, 0x04, 0x00, 0x0A, 0x51, +0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, +0x15, 0x21, 0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, +0x99, 0xFE, 0xE7, 0x01, 0x19, 0xFE, 0x67, 0x01, 0x19, 0xFE, +0xE7, 0x02, 0x14, 0x51, 0xFE, 0x91, 0x02, 0x52, 0x52, 0x01, +0x6F, 0x02, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0x61, 0x01, 0xBF, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x23, 0x22, +0x08, 0x07, 0x06, 0x05, 0x00, 0x67, 0x1A, 0x19, 0x18, 0x12, +0x11, 0x05, 0x10, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x20, 0x1F, +0x51, 0x1D, 0x1C, 0x05, 0x14, 0x13, 0x57, 0x17, 0x16, 0x05, +0x0E, 0x0D, 0x52, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x1D, 0x01, +0x14, 0x16, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x26, 0x3D, 0x01, +0x34, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x3D, 0x01, 0x34, 0x36, +0x3B, 0x01, 0x15, 0x23, 0x22, 0x06, 0x15, 0x01, 0x21, 0x2D, +0x35, 0x35, 0x2D, 0x27, 0x3A, 0x3D, 0x70, 0x4F, 0x46, 0x57, +0x29, 0x29, 0x57, 0x46, 0x4F, 0x70, 0x3D, 0x3A, 0x27, 0x01, +0xDC, 0x40, 0x4A, 0x17, 0x02, 0x16, 0x49, 0x40, 0x7B, 0x44, +0x28, 0x52, 0x4A, 0x55, 0x94, 0x7B, 0x57, 0x7B, 0x95, 0x55, +0x49, 0x51, 0x27, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, +0xFF, 0x1F, 0x00, 0xEE, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x09, +0xB3, 0x02, 0x67, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, +0x11, 0x33, 0x11, 0x87, 0x67, 0xE1, 0x04, 0x1E, 0xFB, 0xE2, +0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0xFF, 0x61, 0x01, 0xDE, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x13, 0x12, +0x11, 0x0B, 0x0A, 0x05, 0x09, 0x66, 0x23, 0x1D, 0x1C, 0x1B, +0x01, 0x05, 0x00, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x16, 0x15, +0x52, 0x19, 0x18, 0x05, 0x10, 0x0F, 0x57, 0x0D, 0x0C, 0x05, +0x04, 0x03, 0x51, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, +0x16, 0x1D, 0x01, 0x14, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x1D, +0x01, 0x14, 0x06, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x36, 0x3D, +0x01, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0xF8, 0x27, 0x3A, +0x3E, 0x71, 0x4F, 0x45, 0x57, 0x29, 0x29, 0x57, 0x45, 0x4F, +0x71, 0x3E, 0x3A, 0x27, 0x2D, 0x34, 0x34, 0x2D, 0x01, 0xDC, +0x7B, 0x45, 0x27, 0x51, 0x49, 0x55, 0x95, 0x7B, 0x57, 0x7B, +0x94, 0x55, 0x4A, 0x52, 0x28, 0x44, 0x7B, 0x40, 0x49, 0x16, +0x02, 0x17, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0xCD, 0x02, 0x9C, 0x01, 0x9A, 0x00, 0x13, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x03, 0x02, 0x59, 0x11, 0x10, 0x05, 0x07, +0x06, 0x59, 0x0D, 0x0C, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x17, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, +0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x02, +0x5C, 0x40, 0x47, 0x71, 0x50, 0x43, 0x32, 0x32, 0x23, 0x37, +0x1E, 0x40, 0x47, 0x71, 0x4F, 0x44, 0x32, 0x32, 0x23, 0x36, +0x01, 0x72, 0x34, 0x71, 0x42, 0x32, 0x22, 0x2A, 0x33, 0x72, +0x43, 0x31, 0x22, 0x00, 0x00, 0x02, 0x00, 0x89, 0x00, 0x02, +0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, 0x00, 0x09, +0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, 0x31, 0x01, +0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, 0x27, 0x26, +0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, 0x37, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, 0x46, 0xA6, +0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, 0x2D, 0x07, +0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, 0x3D, 0x0B, +0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, 0x46, 0xA6, +0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, 0x19, 0x15, +0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, 0x2F, 0x2B, +0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6C, +0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, 0x00, 0x0B, +0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, 0x17, 0x1E, +0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, 0x36, 0x37, +0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, 0x07, 0x06, +0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, 0x21, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, 0xFE, 0x5C, +0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, 0x0D, 0x26, +0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, 0x41, 0x17, +0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, 0x46, 0x26, +0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, 0x14, 0x1D, +0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, 0x6B, 0x57, +0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, 0xB4, 0x2D, +0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, 0x28, 0x14, +0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, 0x0E, 0x1C, +0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, 0x2E, 0x00, +0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, 0x03, 0x3E, +0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, 0x00, 0x1B, +0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, 0x00, 0x62, +0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, +0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, 0x36, 0x37, +0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, 0x13, 0x25, +0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, 0x37, 0x36, +0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, 0x07, 0x26, +0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, 0x06, 0x17, +0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, 0x26, 0x03, +0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, 0x31, 0xA9, +0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, 0x15, 0x07, +0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, 0xFE, 0x21, +0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, 0x62, 0x5D, +0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, 0x2F, 0x20, +0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, 0x22, 0x11, +0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, 0x71, 0x56, +0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, 0x34, 0x0F, +0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, 0x47, 0x32, +0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, 0x5F, 0x23, +0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, 0x01, 0x0F, +0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, 0x39, 0x11, +0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, 0x03, 0x8E, +0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x09, +0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, 0x01, 0x21, +0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, 0x37, 0x1E, +0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, 0x16, 0x30, +0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, 0x01, 0xC1, +0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, 0x24, 0x5E, +0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, 0x13, 0xB6, +0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, 0x5D, 0xFD, +0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, 0x30, 0x0C, +0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, 0xFF, 0xD5, +0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, 0x00, 0x36, +0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, 0x33, 0x23, +0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, 0x01, 0x00, +0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, 0x26, 0x22, +0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, 0x05, 0x21, +0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, 0x26, 0x27, +0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, 0x01, 0x35, +0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, 0x35, 0x21, +0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, 0x17, 0x14, +0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, 0x27, 0xDA, +0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, 0x09, 0x23, +0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, 0x1A, 0x4C, +0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, 0x08, 0xFE, +0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, 0x26, 0x1A, +0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, 0x19, 0x28, +0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, 0x18, 0x47, +0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, 0x1E, 0x17, +0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, 0x0D, 0x04, +0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, 0x26, 0x35, +0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, 0x11, 0x09, +0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, 0x03, 0x61, +0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, 0x61, 0x14, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, 0x17, 0x03, +0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, 0x02, 0x33, +0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, 0x27, 0x06, +0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, 0x06, 0x07, +0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, 0x05, 0x46, +0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, 0x1E, 0x2F, +0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, 0x3C, 0x3D, +0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, 0x19, 0x14, +0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, 0xFE, 0xCD, +0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, 0x26, 0x45, +0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, 0x66, 0x63, +0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, 0x2B, 0x0E, +0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, 0x00, 0x27, +0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, 0x00, 0x23, +0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, 0x19, 0x01, +0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x10, +0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, 0x61, 0x07, +0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, 0x0E, 0x01, +0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, 0x21, 0x15, +0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, +0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, 0x86, 0x73, +0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, 0xDD, 0x62, +0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, 0xB7, 0x04, +0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, 0xE6, 0xE6, +0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, 0x03, 0x1F, +0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, 0x03, 0x5E, +0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, 0x11, 0x33, +0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, 0x07, 0x26, +0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, 0x5E, 0x5E, +0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, 0x24, 0x0F, +0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, 0x68, 0xFE, +0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, 0x05, 0x04, +0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, 0x00, 0x27, +0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, 0x00, 0x1D, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, 0x2B, 0x62, +0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, 0x16, 0x15, +0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, 0x1A, 0x59, +0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0F, +0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, 0x0F, 0x05, +0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x13, +0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, +0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, +0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, 0x06, 0x05, +0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, 0x0E, 0x18, +0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, 0x62, 0xFE, +0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, 0x66, 0x32, +0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, 0x02, 0x6D, +0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, 0x46, 0x32, +0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, 0x12, 0x62, +0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, 0x48, 0x32, +0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, 0xCE, 0xC2, +0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, 0x00, 0x6C, +0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, 0x6B, 0x6B, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, 0x03, 0xD3, +0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, 0x40, 0x13, +0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, 0x00, 0x67, +0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, 0x05, 0x2B, +0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, 0x00, 0x19, +0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, 0x0F, 0x0F, +0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x15, +0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, +0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, +0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, 0x95, 0x95, +0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, 0x7B, 0x7B, +0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, 0xAA, 0xAA, +0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, 0x47, 0x02, +0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x26, +0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, 0x00, 0x22, +0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, 0x05, 0x21, +0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, 0x01, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, 0x06, 0x01, +0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, 0x06, 0x07, +0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, 0x27, 0x15, +0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xF1, +0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, 0x78, 0xFE, +0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, 0xB4, 0x86, +0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, 0xFE, 0xE2, +0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, 0x76, 0xFD, +0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, 0x7B, 0xA2, +0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, 0xB5, 0x5A, +0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, 0x03, 0x44, +0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, 0x40, 0x14, +0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, 0x00, 0x2A, +0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, 0x14, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, 0x58, 0x31, +0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, 0x06, 0x21, +0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, 0x00, 0x2B, +0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, 0x13, +0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, 0x35, 0x11, +0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, 0x23, 0x35, +0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, +0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, +0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, 0x07, 0x04, +0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, 0x4C, 0x1C, +0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, 0xEA, 0x03, +0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, 0xFD, 0x84, +0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, 0xE1, 0x58, +0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, 0x26, 0x0A, +0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, 0x94, 0xA8, +0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, 0x16, 0x0A, +0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, 0x00, 0x03, +0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, 0x00, 0x3C, +0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, 0x18, 0x69, +0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, 0x6C, 0x0E, +0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, 0x2B, 0x2B, +0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, 0x55, 0x29, +0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, 0x07, 0x0F, +0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, 0x37, 0x33, +0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, 0x33, 0x26, +0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, 0x07, 0x27, +0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, 0x37, 0x2B, +0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, 0x26, 0x27, +0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, 0xDD, 0xDD, +0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, 0x50, 0x81, +0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, 0x7B, 0x55, +0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, 0x58, 0x02, +0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, 0x63, 0x63, +0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, 0x14, 0x85, +0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, 0x2C, 0x5F, +0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, 0x5F, 0x2B, +0x33, 0xFE, 0xD5, 0x00, }; #endif \ No newline at end of file diff --git a/examples/M5Stack/load_from_binary/binaryttf.h b/examples/M5Stack/load_from_binary/binaryttf.h index 2417f5d..c7f6447 100644 --- a/examples/M5Stack/load_from_binary/binaryttf.h +++ b/examples/M5Stack/load_from_binary/binaryttf.h @@ -1,43 +1,43 @@ #ifndef _BINARYTTF_H_ #define _BINARYTTF_H_ -const unsigned char binaryttf[6456] = { +const unsigned char binaryttf[14344] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, -0x61, 0x70, 0x09, 0x9D, 0x21, 0xE0, 0x00, 0x00, 0x0B, 0xA8, -0x00, 0x00, 0x00, 0xD4, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x61, 0x70, 0x0A, 0x07, 0x22, 0x62, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0x94, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, 0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, 0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, -0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0xE2, 0x8C, 0xD7, 0xF3, -0x00, 0x00, 0x0D, 0x58, 0x00, 0x00, 0x0B, 0xE0, 0x68, 0x65, -0x61, 0x64, 0x35, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0xEC, -0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x91, -0x03, 0x93, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, -0x68, 0x6D, 0x74, 0x78, 0x54, 0xAE, 0x09, 0x6A, 0x00, 0x00, -0x0C, 0xEC, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6F, 0x63, 0x61, -0x00, 0x00, 0x86, 0x7C, 0x00, 0x00, 0x0C, 0x7C, 0x00, 0x00, -0x00, 0x70, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x35, 0x00, 0x7C, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0x3C, 0x78, 0xF7, 0x7E, +0x00, 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x28, 0x58, 0x68, 0x65, +0x61, 0x64, 0x34, 0xE5, 0x1A, 0x67, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x5F, +0x03, 0xD7, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x15, 0xB8, 0x1D, 0xCF, 0x00, 0x00, +0x0D, 0xF8, 0x00, 0x00, 0x01, 0xB8, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x07, 0xE5, 0xA0, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x00, +0x01, 0xBC, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x88, 0x00, 0x83, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, 0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, 0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0xA4, 0x38, 0x58, 0x6D, 0x5F, 0x0F, +0x00, 0x01, 0x00, 0x00, 0x6D, 0x8D, 0x0F, 0xE7, 0x5F, 0x0F, 0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, -0xD7, 0x12, 0x00, 0x26, 0xFF, 0xAC, 0x03, 0xF9, 0x03, 0x44, +0xD7, 0x12, 0xFF, 0xF3, 0xFF, 0x14, 0x03, 0xF9, 0x03, 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, -0x00, 0x00, 0x04, 0x00, 0x00, 0x26, 0x00, 0x07, 0x03, 0xF9, +0x00, 0x00, 0x04, 0x00, 0xFF, 0xF3, 0xFF, 0xF8, 0x03, 0xF9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, -0x00, 0x00, 0x00, 0x1B, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x01, +0x00, 0x00, 0x00, 0x6E, 0x00, 0x42, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x18, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -301,43 +301,103 @@ const unsigned char binaryttf[6456] = { 0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, 0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, 0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, -0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0xC8, -0x00, 0x00, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0E, -0x00, 0x20, 0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x65, -0x00, 0x69, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x72, 0x30, 0x53, -0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, -0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, -0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, -0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x63, 0x00, 0x69, -0x00, 0x6C, 0x00, 0x6E, 0x00, 0x72, 0x30, 0x53, 0x30, 0x61, -0x30, 0x6A, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, -0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, -0x75, 0x4C, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xBA, 0xFF, 0xAE, -0xFF, 0xAD, 0xFF, 0xA2, 0xFF, 0x9F, 0xFF, 0x9D, 0xFF, 0x9C, -0xFF, 0x9A, 0xCF, 0xBA, 0xCF, 0xAD, 0xCF, 0xA5, 0xCF, 0xA2, -0xCF, 0x7F, 0xCF, 0x5E, 0xCF, 0x4C, 0xCF, 0x38, 0xCF, 0x1A, -0xB2, 0x01, 0xAE, 0xB0, 0xA4, 0x8D, 0x8A, 0xCE, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x88, +0x00, 0x00, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x03, 0x00, 0x0E, +0x00, 0x7E, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, +0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, +0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, +0x00, 0x00, 0x00, 0x20, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6A, +0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, +0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, +0xFF, 0xFF, 0xFF, 0xE1, 0xD0, 0x0D, 0xD0, 0x00, 0xCF, 0xF8, +0xCF, 0xF5, 0xCF, 0xD2, 0xCF, 0xB1, 0xCF, 0x9F, 0xCF, 0x8B, +0xCF, 0x6D, 0xB2, 0x54, 0xAF, 0x03, 0xA4, 0xE0, 0x8B, 0x21, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, -0x00, 0x64, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x01, 0x08, -0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x01, 0xE8, 0x00, 0x00, -0x02, 0x50, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x02, 0xAC, -0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, -0x03, 0x98, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0xAC, -0x00, 0x00, 0x05, 0x94, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, -0x06, 0xD4, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00, 0x07, 0xD8, -0x00, 0x00, 0x08, 0x2C, 0x00, 0x00, 0x08, 0xF4, 0x00, 0x00, -0x09, 0x18, 0x00, 0x00, 0x09, 0xA8, 0x00, 0x00, 0x0A, 0x38, -0x00, 0x00, 0x0B, 0x08, 0x00, 0x00, 0x0B, 0xE0, 0x04, 0x00, -0x01, 0x92, 0x01, 0x1C, 0x00, 0x00, 0x02, 0xC7, 0x00, 0x54, -0x02, 0xA8, 0x00, 0x4A, 0x03, 0x89, 0x00, 0x2B, 0x01, 0xFA, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, +0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0x88, +0x00, 0x00, 0x02, 0x28, 0x00, 0x00, 0x02, 0xE0, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x03, 0x70, +0x00, 0x00, 0x03, 0xB8, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, +0x04, 0x10, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x04, 0x50, +0x00, 0x00, 0x04, 0x74, 0x00, 0x00, 0x04, 0xD4, 0x00, 0x00, +0x05, 0x08, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00, 0x05, 0xEC, +0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x06, 0xB0, 0x00, 0x00, +0x07, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x08, 0x34, +0x00, 0x00, 0x08, 0xC8, 0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0x4C, 0x00, 0x00, 0x09, 0x80, +0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x0A, 0x34, 0x00, 0x00, +0x0B, 0x2C, 0x00, 0x00, 0x0B, 0x70, 0x00, 0x00, 0x0C, 0x08, +0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x0C, 0xC8, 0x00, 0x00, +0x0D, 0x14, 0x00, 0x00, 0x0D, 0x54, 0x00, 0x00, 0x0D, 0xCC, +0x00, 0x00, 0x0E, 0x14, 0x00, 0x00, 0x0E, 0x38, 0x00, 0x00, +0x0E, 0x7C, 0x00, 0x00, 0x0E, 0xC8, 0x00, 0x00, 0x0E, 0xF8, +0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x0F, 0x84, 0x00, 0x00, +0x0F, 0xE4, 0x00, 0x00, 0x10, 0x44, 0x00, 0x00, 0x10, 0xC0, +0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x11, 0xC8, 0x00, 0x00, +0x11, 0xFC, 0x00, 0x00, 0x12, 0x4C, 0x00, 0x00, 0x12, 0x80, +0x00, 0x00, 0x12, 0xD4, 0x00, 0x00, 0x13, 0x14, 0x00, 0x00, +0x13, 0x4C, 0x00, 0x00, 0x13, 0x8C, 0x00, 0x00, 0x13, 0xC4, +0x00, 0x00, 0x13, 0xE4, 0x00, 0x00, 0x14, 0x1C, 0x00, 0x00, +0x14, 0x48, 0x00, 0x00, 0x14, 0x6C, 0x00, 0x00, 0x14, 0x8C, +0x00, 0x00, 0x15, 0x24, 0x00, 0x00, 0x15, 0xA4, 0x00, 0x00, +0x16, 0x04, 0x00, 0x00, 0x16, 0x84, 0x00, 0x00, 0x16, 0xEC, +0x00, 0x00, 0x17, 0x4C, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00, +0x18, 0x80, 0x00, 0x00, 0x18, 0xB8, 0x00, 0x00, 0x19, 0x08, +0x00, 0x00, 0x19, 0x4C, 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, +0x1A, 0x00, 0x00, 0x00, 0x1A, 0x58, 0x00, 0x00, 0x1A, 0xAC, +0x00, 0x00, 0x1B, 0x2C, 0x00, 0x00, 0x1B, 0xAC, 0x00, 0x00, +0x1B, 0xEC, 0x00, 0x00, 0x1C, 0x70, 0x00, 0x00, 0x1C, 0xD0, +0x00, 0x00, 0x1D, 0x2C, 0x00, 0x00, 0x1D, 0x60, 0x00, 0x00, +0x1D, 0xB4, 0x00, 0x00, 0x1D, 0xF0, 0x00, 0x00, 0x1E, 0x34, +0x00, 0x00, 0x1E, 0x74, 0x00, 0x00, 0x1F, 0x04, 0x00, 0x00, +0x1F, 0x28, 0x00, 0x00, 0x1F, 0xB8, 0x00, 0x00, 0x20, 0x10, +0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x21, 0x24, 0x00, 0x00, +0x22, 0x0C, 0x00, 0x00, 0x22, 0x7C, 0x00, 0x00, 0x23, 0x4C, +0x00, 0x00, 0x23, 0xDC, 0x00, 0x00, 0x24, 0x50, 0x00, 0x00, +0x24, 0xA4, 0x00, 0x00, 0x25, 0x6C, 0x00, 0x00, 0x25, 0x90, +0x00, 0x00, 0x26, 0x20, 0x00, 0x00, 0x26, 0xB0, 0x00, 0x00, +0x27, 0x80, 0x00, 0x00, 0x28, 0x58, 0x04, 0x00, 0x01, 0x92, +0x01, 0x1C, 0x00, 0x00, 0x01, 0x6A, 0x00, 0x73, 0x01, 0xBC, +0x00, 0x45, 0x02, 0xBC, 0x00, 0x30, 0x02, 0x56, 0x00, 0x35, +0x03, 0x60, 0x00, 0x26, 0x02, 0xF0, 0x00, 0x35, 0x01, 0x0E, +0x00, 0x4A, 0x01, 0xA3, 0x00, 0x45, 0x01, 0xA3, 0x00, 0x2B, +0x02, 0x17, 0x00, 0x30, 0x02, 0xF0, 0x00, 0x4F, 0x01, 0x56, +0x00, 0x3A, 0x01, 0xE5, 0x00, 0x4F, 0x01, 0x42, 0x00, 0x5E, +0x02, 0x1E, 0x00, 0x21, 0x02, 0x85, 0x00, 0x2E, 0x02, 0x85, +0x00, 0x71, 0x02, 0x85, 0x00, 0x57, 0x02, 0x85, 0x00, 0x57, +0x02, 0x85, 0x00, 0x0F, 0x02, 0x85, 0x00, 0x61, 0x02, 0x85, +0x00, 0x38, 0x02, 0x85, 0x00, 0x52, 0x02, 0x85, 0x00, 0x2E, +0x02, 0x85, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x87, 0x01, 0xA8, +0x00, 0x4F, 0x02, 0xB2, 0x00, 0x3F, 0x03, 0x04, 0x00, 0x59, +0x02, 0xB2, 0x00, 0x5E, 0x02, 0x7F, 0x00, 0x54, 0x03, 0x4C, +0x00, 0x26, 0x02, 0xB2, 0x00, 0x1C, 0x02, 0x70, 0x00, 0x54, +0x02, 0x7F, 0x00, 0x26, 0x02, 0xAD, 0x00, 0x54, 0x02, 0x60, +0x00, 0x54, 0x02, 0x51, 0x00, 0x54, 0x02, 0xC7, 0x00, 0x26, +0x02, 0xC7, 0x00, 0x54, 0x01, 0x56, 0x00, 0x6E, 0x02, 0x28, +0x00, 0x26, 0x02, 0x89, 0x00, 0x54, 0x02, 0x5B, 0x00, 0x54, +0x03, 0x37, 0x00, 0x2B, 0x02, 0xC7, 0x00, 0x54, 0x02, 0xE5, +0x00, 0x26, 0x02, 0x75, 0x00, 0x54, 0x03, 0x04, 0x00, 0x26, +0x02, 0x89, 0x00, 0x54, 0x02, 0x42, 0x00, 0x3A, 0x02, 0x89, +0x00, 0x3A, 0x02, 0xA8, 0x00, 0x4A, 0x02, 0xB2, 0x00, 0x1C, +0x03, 0x89, 0x00, 0x2B, 0x02, 0xA8, 0x00, 0x35, 0x02, 0xA8, +0x00, 0x1C, 0x02, 0x7F, 0x00, 0x4A, 0x01, 0xF0, 0x00, 0x73, +0x02, 0x1E, 0x00, 0x30, 0x01, 0xF0, 0x00, 0x54, 0x02, 0x9E, +0x00, 0x26, 0x02, 0x4E, 0xFF, 0xFE, 0x01, 0x32, 0x00, 0x0C, +0x02, 0x2D, 0x00, 0x30, 0x02, 0x5B, 0x00, 0x4F, 0x01, 0xFA, 0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, -0x01, 0x4C, 0x00, 0x6E, 0x01, 0x4C, 0x00, 0x6E, 0x02, 0x51, -0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, 0x01, 0xDB, 0x00, 0x4A, +0x02, 0x09, 0x00, 0x35, 0x02, 0x1E, 0x00, 0x1C, 0x02, 0x56, +0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x01, 0x75, 0xFF, 0xF3, +0x02, 0x47, 0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x03, 0x28, +0x00, 0x4A, 0x02, 0x51, 0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, +0x02, 0x56, 0x00, 0x4A, 0x02, 0x56, 0x00, 0x2B, 0x01, 0xDB, +0x00, 0x4A, 0x02, 0x04, 0x00, 0x3A, 0x02, 0x09, 0x00, 0x30, +0x02, 0x4C, 0x00, 0x45, 0x02, 0x37, 0x00, 0x21, 0x03, 0x2D, +0x00, 0x2B, 0x02, 0x37, 0x00, 0x30, 0x02, 0x47, 0x00, 0x26, +0x02, 0x2D, 0x00, 0x4A, 0x02, 0x19, 0x00, 0x3A, 0x01, 0x75, +0x00, 0x87, 0x02, 0x19, 0x00, 0x59, 0x02, 0xD1, 0x00, 0x35, 0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, 0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, 0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, @@ -346,307 +406,1036 @@ const unsigned char binaryttf[6456] = { 0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, 0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, -0x00, 0xDC, 0xFF, 0x24, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, -0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x17, 0x40, 0x0A, -0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, 0x71, 0x06, 0x02, 0x04, -0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, -0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, 0x71, 0x71, 0xFE, 0xC3, -0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, 0x32, 0xFD, 0x14, 0x01, -0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x4A, -0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x19, -0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, 0x07, 0x05, 0x03, 0x02, -0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, 0x00, 0xB3, 0x0C, 0x5E, -0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x14, -0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x20, 0x4A, -0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, 0xEC, 0x01, 0x05, 0x01, -0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, 0x5A, 0x01, 0xEC, 0xFE, -0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, -0x00, 0x00, 0x03, 0x5E, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, -0x00, 0x40, 0x0C, 0x0B, 0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, -0x09, 0x7B, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, -0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, -0x03, 0x23, 0x03, 0x23, 0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, -0x70, 0x02, 0x70, 0x6E, 0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, -0x9F, 0x02, 0xEC, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, -0x71, 0xFD, 0x14, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, -0x00, 0x01, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, -0x00, 0x15, 0x00, 0x1B, 0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, -0x05, 0x2B, 0x00, 0x40, 0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, -0x05, 0x08, 0x07, 0x54, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, -0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, -0x23, 0x22, 0x26, 0x26, 0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, -0x47, 0x46, 0x4A, 0x4D, 0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, -0x01, 0x0A, 0x86, 0x8F, 0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, -0x5A, 0x1C, 0x5C, 0x14, 0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, -0xFF, 0xF6, 0x02, 0x0C, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, -0x00, 0x24, 0x40, 0x0D, 0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, -0x14, 0x6B, 0x12, 0x0B, 0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, -0x40, 0x0C, 0x04, 0x03, 0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, -0x52, 0x09, 0x08, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, -0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, -0x25, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x11, 0x33, 0x11, -0x23, 0x27, 0x23, 0x0E, 0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, -0x4F, 0x36, 0x85, 0x46, 0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, -0x61, 0x5A, 0x43, 0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, -0x32, 0x5D, 0x7A, 0xBD, 0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, -0x47, 0x7B, 0x83, 0x92, 0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, -0x2B, 0x22, 0x95, 0x00, 0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, -0x01, 0xF3, 0x02, 0x1F, 0x00, 0x05, 0x00, 0x17, 0x00, 0x18, -0x00, 0x40, 0x10, 0x03, 0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, -0x0C, 0x50, 0x08, 0x07, 0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, -0x2B, 0x2B, 0x30, 0x31, 0x13, 0x33, 0x26, 0x23, 0x22, 0x06, -0x07, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, -0x10, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, -0x03, 0x6F, 0x3D, 0x41, 0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, -0x4A, 0x80, 0x8A, 0x7C, 0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, -0x94, 0x46, 0x9D, 0xA6, 0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, -0x8C, 0x84, 0x8C, 0x0E, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, +0x00, 0xF8, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x07, 0x00, 0x09, +0xB3, 0x06, 0x7B, 0x04, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x07, 0x35, 0x33, 0x15, 0x73, 0x85, 0x10, +0x66, 0x0A, 0x7B, 0x02, 0xEC, 0xFD, 0xEB, 0xD7, 0x85, 0x85, +0x00, 0x00, 0x00, 0x02, 0x00, 0x45, 0x02, 0x0A, 0x01, 0x78, +0x03, 0x14, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, 0x00, 0x30, +0x31, 0x13, 0x33, 0x03, 0x23, 0x13, 0x33, 0x03, 0x23, 0x45, +0x70, 0x0F, 0x52, 0xB3, 0x71, 0x10, 0x51, 0x03, 0x14, 0xFE, +0xF6, 0x01, 0x0A, 0xFE, 0xF6, 0x00, 0x00, 0x02, 0x00, 0x30, +0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, 0x00, 0x1B, 0x00, 0x1F, +0x00, 0x17, 0x00, 0x40, 0x10, 0x1C, 0x0F, 0x03, 0x58, 0x0D, +0x09, 0x05, 0x0A, 0x1B, 0x17, 0x13, 0x58, 0x1E, 0x11, 0x01, +0x0A, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x35, 0x33, 0x37, 0x23, +0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, +0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, +0x07, 0x23, 0x37, 0x01, 0x23, 0x07, 0x33, 0x30, 0x78, 0x28, +0x6D, 0x7D, 0x1D, 0x66, 0x1C, 0x7B, 0x1C, 0x67, 0x1D, 0x64, +0x74, 0x28, 0x69, 0x79, 0x21, 0x66, 0x21, 0x7B, 0x21, 0x66, +0x21, 0x01, 0x18, 0x7B, 0x28, 0x7B, 0xB8, 0x58, 0xE0, 0x58, +0xA4, 0xA4, 0xA4, 0xA4, 0x58, 0xE0, 0x58, 0xB8, 0xB8, 0xB8, +0xB8, 0x01, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x35, +0xFF, 0xA9, 0x02, 0x21, 0x03, 0x43, 0x00, 0x1C, 0x00, 0x22, +0x00, 0x27, 0x00, 0x1D, 0x40, 0x15, 0x19, 0x6C, 0x1F, 0x1E, +0x04, 0x25, 0x24, 0x6A, 0x0B, 0x0A, 0x05, 0x22, 0x1C, 0x16, +0x10, 0x56, 0x27, 0x0E, 0x07, 0x01, 0x0F, 0x2B, 0x2B, 0x2B, +0x00, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x35, 0x16, +0x17, 0x35, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, +0x15, 0x16, 0x17, 0x15, 0x26, 0x27, 0x15, 0x1E, 0x01, 0x14, +0x06, 0x07, 0x35, 0x36, 0x35, 0x34, 0x26, 0x27, 0x03, 0x06, +0x15, 0x14, 0x17, 0x01, 0x56, 0x56, 0x64, 0x57, 0x57, 0x64, +0x6A, 0x61, 0x67, 0x64, 0x56, 0x5A, 0x57, 0x4F, 0x62, 0x71, +0x5A, 0x68, 0x63, 0x5F, 0x29, 0x36, 0x56, 0x61, 0x61, 0x57, +0x67, 0x06, 0x22, 0x67, 0x2E, 0x07, 0xF2, 0x21, 0x64, 0x48, +0x4C, 0x5D, 0x08, 0x69, 0x68, 0x04, 0x1A, 0x62, 0x1E, 0x07, +0xDA, 0x22, 0x60, 0xA4, 0x63, 0x0B, 0x5C, 0x11, 0x53, 0x2A, +0x33, 0x14, 0x01, 0x3D, 0x0B, 0x4C, 0x48, 0x23, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xF6, 0x03, 0x3A, 0x02, 0xF6, 0x00, 0x03, +0x00, 0x0C, 0x00, 0x15, 0x00, 0x1A, 0x00, 0x1F, 0x00, 0x31, +0x40, 0x12, 0x10, 0x6B, 0x1D, 0x00, 0x07, 0x6B, 0x18, 0x00, +0x1F, 0x1B, 0x6B, 0x14, 0x01, 0x1A, 0x16, 0x6B, 0x0B, 0x01, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x12, 0x52, 0x1C, +0x00, 0x09, 0x52, 0x17, 0x00, 0x1E, 0x52, 0x0E, 0x00, 0x19, +0x52, 0x05, 0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x01, 0x23, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, +0x26, 0x34, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, +0x34, 0x01, 0x14, 0x32, 0x34, 0x22, 0x25, 0x14, 0x32, 0x34, +0x22, 0x02, 0x3F, 0x71, 0xFE, 0x71, 0x71, 0x01, 0x53, 0x2F, +0xAA, 0x5E, 0x5E, 0xAA, 0x5E, 0xFE, 0x81, 0x2F, 0xAA, 0x5E, +0x5E, 0xAA, 0x5E, 0x02, 0x19, 0x90, 0x90, 0xFE, 0x52, 0x90, +0x90, 0x02, 0xEC, 0xFD, 0x14, 0x01, 0x52, 0x33, 0x67, 0xC1, +0x67, 0x67, 0xC1, 0x01, 0xA5, 0x33, 0x68, 0xC0, 0x68, 0x68, +0xC0, 0xFE, 0x2F, 0x75, 0xEB, 0xFB, 0x76, 0xEC, 0x00, 0x03, +0x00, 0x35, 0xFF, 0xF6, 0x02, 0xEE, 0x02, 0xF6, 0x00, 0x1B, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x2A, 0x40, 0x12, 0x03, 0x02, +0x69, 0x1F, 0x1E, 0x05, 0x24, 0x23, 0x6E, 0x19, 0x18, 0x05, +0x2B, 0x2A, 0x71, 0x13, 0x12, 0x05, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x11, 0x10, 0x58, 0x2D, 0x2C, 0x05, 0x21, 0x20, +0x56, 0x1B, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, +0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x36, 0x37, 0x33, 0x06, +0x07, 0x17, 0x23, 0x27, 0x06, 0x23, 0x22, 0x35, 0x34, 0x36, +0x37, 0x27, 0x26, 0x35, 0x34, 0x36, 0x13, 0x3E, 0x01, 0x35, +0x34, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x27, 0x0E, +0x01, 0x15, 0x14, 0x33, 0x32, 0x01, 0x4A, 0x67, 0x6B, 0x49, +0x5A, 0x9A, 0x21, 0x0B, 0x6C, 0x12, 0x3E, 0x93, 0x86, 0x4C, +0x66, 0x8B, 0xF6, 0x4D, 0x60, 0x0A, 0x65, 0x70, 0x55, 0x4C, +0x2F, 0x69, 0x32, 0x37, 0x1E, 0xDB, 0xB7, 0x46, 0x37, 0x8A, +0x66, 0x02, 0xF6, 0x54, 0x4B, 0x37, 0x63, 0x3B, 0xA0, 0x43, +0x56, 0x86, 0x5C, 0x99, 0x4F, 0x59, 0xB8, 0x37, 0x69, 0x40, +0x0B, 0x66, 0x53, 0x4B, 0x59, 0xFE, 0xD0, 0x32, 0x38, 0x22, +0x4E, 0x2A, 0x24, 0x1F, 0x32, 0xFE, 0x90, 0xBB, 0x2E, 0x48, +0x23, 0x65, 0x00, 0x01, 0x00, 0x4A, 0x02, 0x0A, 0x00, 0xC5, +0x03, 0x14, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x4A, 0x7B, 0x10, 0x5C, 0x03, 0x14, 0xFE, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0x61, +0x01, 0x78, 0x03, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x0A, +0x00, 0x6B, 0x05, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x13, 0x10, +0x17, 0x23, 0x2E, 0x01, 0x10, 0x36, 0x37, 0x33, 0x06, 0xB0, +0xC8, 0x67, 0x62, 0x6A, 0x6A, 0x62, 0x67, 0xC8, 0x01, 0x3B, +0xFE, 0xE8, 0xC2, 0x5A, 0xF6, 0x01, 0x15, 0xF4, 0x5A, 0xC1, +0x00, 0x01, 0x00, 0x2B, 0xFF, 0x61, 0x01, 0x5E, 0x03, 0x14, +0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x03, 0x6B, 0x09, 0x08, 0x04, +0x2B, 0x00, 0x30, 0x31, 0x13, 0x33, 0x1E, 0x01, 0x10, 0x06, +0x07, 0x23, 0x36, 0x11, 0x10, 0x2B, 0x66, 0x63, 0x6A, 0x6A, +0x63, 0x66, 0xC8, 0x03, 0x14, 0x5A, 0xF4, 0xFE, 0xEB, 0xF6, +0x5A, 0xC2, 0x01, 0x18, 0x01, 0x18, 0x00, 0x01, 0x00, 0x30, +0x01, 0x4E, 0x01, 0xE6, 0x03, 0x14, 0x00, 0x11, 0x00, 0x03, +0x00, 0x30, 0x31, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, +0x27, 0x17, 0x23, 0x37, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, +0x27, 0x01, 0x37, 0x07, 0x8A, 0x2C, 0x91, 0x91, 0x2C, 0x8A, +0x07, 0x58, 0x07, 0x8A, 0x2C, 0x92, 0x92, 0x2C, 0x8A, 0x07, +0x03, 0x14, 0xA3, 0x58, 0x4C, 0x4C, 0x4C, 0x4B, 0x58, 0xA4, +0xA4, 0x58, 0x4B, 0x4C, 0x4C, 0x4C, 0x58, 0xA3, 0x00, 0x01, +0x00, 0x4F, 0x00, 0x00, 0x02, 0xA1, 0x02, 0x52, 0x00, 0x0B, +0x00, 0x13, 0xB5, 0x04, 0x00, 0x5C, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0xB5, 0x07, 0x03, 0x56, 0x09, 0x01, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, +0x35, 0x33, 0x35, 0x01, 0xA6, 0xFB, 0xFB, 0x5C, 0xFB, 0xFB, +0x02, 0x52, 0xFE, 0x56, 0xFE, 0xFE, 0x56, 0xFE, 0x00, 0x01, +0x00, 0x3A, 0xFF, 0x8F, 0x01, 0x11, 0x00, 0x9A, 0x00, 0x03, +0x00, 0x03, 0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x82, +0x8F, 0x70, 0x67, 0x9A, 0xFE, 0xF5, 0x00, 0x01, 0x00, 0x4F, +0x00, 0xFE, 0x01, 0x97, 0x01, 0x54, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x56, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x21, 0x15, 0x4F, 0x01, 0x48, 0xFE, 0x56, 0x56, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x00, 0x00, 0xE3, +0x00, 0x9A, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x33, +0x35, 0x33, 0x15, 0x5E, 0x85, 0x9A, 0x9A, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x21, 0xFF, 0xD7, 0x01, 0xEE, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x09, 0x01, 0x23, +0x01, 0x01, 0xEE, 0xFE, 0x9E, 0x6B, 0x01, 0x61, 0x02, 0xEC, +0xFC, 0xEB, 0x03, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x08, 0x00, 0x11, +0x00, 0x19, 0xB7, 0x03, 0x71, 0x0C, 0x00, 0x10, 0x71, 0x07, +0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5A, 0x0A, 0x00, 0x0E, +0x5A, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x36, 0x20, +0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, 0x32, 0x36, +0x10, 0x26, 0x22, 0x06, 0x10, 0x74, 0x44, 0x01, 0x15, 0x8A, +0x8A, 0xFE, 0xEB, 0x8A, 0x9A, 0x28, 0xA6, 0x50, 0x50, 0xA6, +0x51, 0x02, 0x9B, 0x5B, 0xB7, 0xFE, 0x6D, 0xB6, 0xB6, 0x01, +0x93, 0xFE, 0x54, 0x43, 0x86, 0x01, 0x40, 0x86, 0x86, 0xFE, +0xC0, 0x00, 0x00, 0x01, 0x00, 0x71, 0x00, 0x00, 0x01, 0xAE, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0xB3, 0x01, 0x71, 0x03, +0x00, 0x2B, 0x00, 0xB3, 0x04, 0x7B, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x07, 0x35, 0x01, +0x3D, 0x71, 0x71, 0x02, 0xCA, 0x02, 0xEC, 0xFD, 0x14, 0x02, +0x71, 0xA4, 0x7B, 0x00, 0x00, 0x01, 0x00, 0x57, 0x00, 0x00, +0x02, 0x2E, 0x02, 0xF6, 0x00, 0x14, 0x00, 0x1A, 0xB6, 0x12, +0x11, 0x02, 0x75, 0x08, 0x07, 0x06, 0x2B, 0x00, 0x40, 0x0A, +0x0A, 0x09, 0x5E, 0x0F, 0x0E, 0x05, 0x03, 0x5C, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x37, 0x15, 0x21, 0x15, 0x21, 0x35, +0x3E, 0x01, 0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0xF1, 0x01, 0x3D, 0xFE, 0x29, +0xD1, 0x91, 0x8B, 0x5C, 0x6C, 0x63, 0x74, 0x73, 0x7E, 0x82, +0x5E, 0x02, 0x5C, 0x5C, 0xA6, 0xBB, 0x57, 0x84, 0x3C, 0x6C, +0x2E, 0x72, 0x65, 0x67, 0xBE, 0x00, 0x00, 0x01, 0x00, 0x57, +0xFF, 0xF6, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x21, 0x00, 0x2A, +0x40, 0x0C, 0x1A, 0x19, 0x6E, 0x10, 0x0F, 0x05, 0x1F, 0x1E, +0x70, 0x08, 0x07, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x12, +0x11, 0x5C, 0x17, 0x16, 0x05, 0x0B, 0x0A, 0x5C, 0x0E, 0x0D, +0x05, 0x21, 0x00, 0x5C, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x35, 0x34, +0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, +0x07, 0x15, 0x16, 0x15, 0x14, 0x06, 0x01, 0x31, 0x79, 0x61, +0x67, 0x6D, 0x50, 0x54, 0x66, 0x75, 0x33, 0x33, 0xCF, 0x8E, +0x6F, 0x65, 0x62, 0x83, 0x6E, 0x7D, 0xA0, 0xAE, 0x8E, 0x0A, +0x2E, 0x64, 0x36, 0x48, 0x42, 0x41, 0x3F, 0x5C, 0x7B, 0x67, +0x37, 0x65, 0x2E, 0x5E, 0x50, 0x8F, 0x29, 0x02, 0x1A, 0x9D, +0x6A, 0x77, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x4D, +0x02, 0xEC, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x19, 0x40, 0x0A, +0x03, 0x71, 0x0C, 0x00, 0x0F, 0x08, 0x6F, 0x0A, 0x00, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x0B, 0x07, 0x5A, 0x05, 0x04, 0x05, +0x2B, 0x30, 0x31, 0x25, 0x11, 0x23, 0x03, 0x15, 0x21, 0x33, +0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x01, +0x66, 0x02, 0xE4, 0x01, 0x55, 0x78, 0x78, 0x6F, 0xFE, 0xA9, +0x01, 0x57, 0x6F, 0xFE, 0x01, 0x4B, 0xFE, 0xB7, 0x02, 0x5A, +0xA4, 0xA4, 0x5A, 0x01, 0xEE, 0x00, 0x00, 0x01, 0x00, 0x61, +0xFF, 0xF6, 0x02, 0x38, 0x02, 0xEC, 0x00, 0x19, 0x00, 0x20, +0xB5, 0x03, 0x02, 0x70, 0x0D, 0x0C, 0x05, 0x2B, 0x00, 0x40, +0x10, 0x15, 0x5D, 0x13, 0x00, 0x06, 0x05, 0x5C, 0x0B, 0x0A, +0x05, 0x0F, 0x0E, 0x58, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x07, +0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x33, 0x36, 0x01, 0x57, +0x6B, 0x76, 0x91, 0x8D, 0x63, 0x56, 0x67, 0x52, 0xAE, 0x85, +0x4C, 0x2F, 0x62, 0x15, 0x01, 0x9F, 0xFE, 0xC7, 0x0A, 0x02, +0x37, 0x01, 0xE1, 0x79, 0x6D, 0x81, 0x84, 0x24, 0x68, 0x30, +0xA9, 0x8E, 0x2D, 0x01, 0x90, 0x5D, 0xCC, 0x1E, 0x00, 0x02, +0x00, 0x38, 0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x15, +0x00, 0x21, 0x00, 0x2A, 0x40, 0x0C, 0x06, 0x05, 0x71, 0x19, +0x18, 0x05, 0x1F, 0x1E, 0x73, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x5C, 0x21, 0x16, 0x05, 0x13, +0x12, 0x5C, 0x0E, 0x0D, 0x05, 0x1C, 0x1B, 0x55, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x17, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x20, 0x11, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x13, 0x32, +0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, +0xB2, 0x02, 0x3E, 0x6F, 0x72, 0x84, 0x93, 0x7C, 0xFE, 0xF0, +0xA4, 0x9A, 0x4D, 0x42, 0x40, 0x4F, 0x50, 0x6A, 0x8C, 0x4A, +0x54, 0x57, 0x47, 0x46, 0x57, 0x58, 0x01, 0xB9, 0x01, 0x3E, +0x85, 0x71, 0x7D, 0x8D, 0x01, 0x52, 0xD8, 0xD6, 0x15, 0x61, +0x1A, 0x75, 0xFE, 0x2D, 0x59, 0x55, 0x4A, 0x57, 0x59, 0x48, +0x50, 0x5E, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x02, 0x3D, +0x02, 0xEC, 0x00, 0x0A, 0x00, 0x0F, 0xB3, 0x01, 0x6B, 0x08, +0x00, 0x2B, 0x00, 0xB3, 0x09, 0x5D, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x21, 0x15, 0x06, 0x02, 0x07, 0x23, 0x12, 0x13, +0x35, 0x21, 0x52, 0x01, 0xEB, 0x5D, 0x88, 0x39, 0x76, 0x73, +0xB6, 0xFE, 0x80, 0x02, 0xEC, 0x5D, 0x97, 0xFE, 0xCA, 0xC2, +0x01, 0x66, 0x01, 0x27, 0x02, 0x00, 0x00, 0x03, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x0B, 0x00, 0x15, +0x00, 0x2B, 0x00, 0x2E, 0x40, 0x18, 0x09, 0x08, 0x6C, 0x1D, +0x1C, 0x05, 0x0F, 0x0E, 0x6B, 0x2B, 0x16, 0x05, 0x27, 0x26, +0x6F, 0x14, 0x13, 0x05, 0x22, 0x21, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x09, 0x06, 0x05, 0x58, +0x1F, 0x01, 0x29, 0x58, 0x11, 0x00, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x3E, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x14, 0x16, 0x17, 0x0E, 0x01, 0x15, 0x14, 0x16, 0x32, 0x36, +0x35, 0x34, 0x05, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0x35, +0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x16, 0x15, +0x14, 0x06, 0x20, 0x26, 0x01, 0x43, 0x46, 0x4C, 0x4C, 0x46, +0x46, 0x49, 0x49, 0x40, 0x50, 0x54, 0x5B, 0x9D, 0x57, 0xFE, +0x46, 0x52, 0x48, 0x3E, 0x42, 0x85, 0xEB, 0x85, 0x80, 0x9A, +0x92, 0xFE, 0xFC, 0x93, 0x01, 0xB8, 0x11, 0x41, 0x29, 0x31, +0x3A, 0x39, 0x32, 0x2B, 0x40, 0x67, 0x13, 0x4D, 0x2F, 0x3E, +0x46, 0x46, 0x3E, 0x6B, 0x70, 0x3B, 0x66, 0x1B, 0x02, 0x1B, +0x5D, 0x3A, 0x53, 0x66, 0x66, 0x53, 0x72, 0x35, 0x03, 0x34, +0x92, 0x63, 0x74, 0x74, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x4D, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x21, +0x00, 0x2A, 0x40, 0x0C, 0x0B, 0x0A, 0x73, 0x1F, 0x1E, 0x05, +0x19, 0x18, 0x71, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x12, 0x03, 0x02, 0x55, 0x1C, 0x1B, 0x05, 0x0E, 0x0D, 0x5C, +0x13, 0x12, 0x05, 0x21, 0x16, 0x5C, 0x09, 0x08, 0x05, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x27, 0x06, 0x23, 0x22, 0x26, +0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x03, 0x22, 0x06, 0x15, +0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 0xD3, +0x02, 0x3E, 0x6F, 0x73, 0x83, 0x94, 0x7B, 0x01, 0x10, 0xA1, +0x9D, 0x52, 0x47, 0x4B, 0x4E, 0x57, 0x6B, 0x94, 0x4A, 0x54, +0x57, 0x47, 0x47, 0x56, 0x59, 0x01, 0x32, 0x01, 0x3D, 0x88, +0x78, 0x76, 0x8A, 0xFE, 0xB8, 0xE4, 0xD4, 0x14, 0x62, 0x1A, +0x74, 0x01, 0xD4, 0x55, 0x4F, 0x51, 0x5A, 0x5C, 0x4F, 0x49, +0x5B, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x00, 0x00, +0x01, 0x0C, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, +0x15, 0x87, 0x85, 0x85, 0x85, 0x01, 0x8F, 0x9A, 0x9A, 0xFE, +0x71, 0x9A, 0x9A, 0x00, 0x00, 0x02, 0x00, 0x4F, 0xFF, 0x8F, +0x01, 0x26, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x13, 0x35, 0x33, +0x15, 0x97, 0x8F, 0x71, 0x66, 0x48, 0x85, 0x9A, 0xFE, 0xF5, +0x02, 0x00, 0x9A, 0x9A, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x0A, +0x02, 0x54, 0x02, 0x48, 0x00, 0x07, 0x00, 0x09, 0xB3, 0x01, +0x43, 0x05, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x05, 0x15, +0x05, 0x15, 0x25, 0x35, 0x25, 0x02, 0x54, 0xFE, 0x2E, 0x01, +0xD2, 0xFD, 0xEB, 0x02, 0x15, 0x01, 0xE6, 0xBC, 0x02, 0xBC, +0x62, 0xE7, 0x70, 0xE7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x59, +0x00, 0x85, 0x02, 0xAB, 0x01, 0xCD, 0x00, 0x03, 0x00, 0x07, +0x00, 0x0E, 0x00, 0xB7, 0x07, 0x57, 0x05, 0x00, 0x03, 0x57, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, +0x05, 0x35, 0x21, 0x15, 0x59, 0x02, 0x52, 0xFD, 0xAE, 0x02, +0x52, 0x01, 0x76, 0x57, 0x57, 0xF1, 0x57, 0x57, 0x00, 0x01, +0x00, 0x5E, 0x00, 0x0A, 0x02, 0x73, 0x02, 0x48, 0x00, 0x07, +0x00, 0x09, 0xB3, 0x02, 0x43, 0x06, 0x00, 0x2B, 0x00, 0x30, +0x31, 0x13, 0x35, 0x05, 0x15, 0x05, 0x35, 0x25, 0x35, 0x5E, +0x02, 0x15, 0xFD, 0xEB, 0x01, 0xD2, 0x01, 0xE6, 0x62, 0xE7, +0x70, 0xE7, 0x62, 0xBC, 0x02, 0x00, 0x00, 0x02, 0x00, 0x54, +0x00, 0x00, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x1D, 0x00, 0x21, +0x00, 0x1E, 0x40, 0x0E, 0x20, 0x7B, 0x1E, 0x00, 0x14, 0x13, +0x75, 0x0A, 0x09, 0x05, 0x1D, 0x71, 0x01, 0x00, 0x2B, 0x2B, +0x2B, 0x00, 0xB5, 0x0C, 0x0B, 0x5E, 0x11, 0x10, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x23, 0x34, 0x3E, 0x02, 0x37, 0x3E, 0x02, +0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, +0x15, 0x14, 0x0E, 0x02, 0x07, 0x0E, 0x03, 0x07, 0x35, 0x33, +0x15, 0x01, 0x4F, 0x71, 0x17, 0x30, 0x23, 0x20, 0x22, 0x21, +0x1F, 0x95, 0x69, 0x78, 0x75, 0x7C, 0x78, 0x82, 0x12, 0x2A, +0x1F, 0x1D, 0x1F, 0x1E, 0x2A, 0x11, 0x76, 0x7B, 0xDC, 0x2C, +0x47, 0x37, 0x1E, 0x16, 0x18, 0x1C, 0x32, 0x1D, 0x5B, 0x27, +0x66, 0x1F, 0x5F, 0x4F, 0x24, 0x38, 0x2E, 0x19, 0x15, 0x15, +0x19, 0x2D, 0x36, 0xFF, 0x85, 0x85, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0x8A, 0x03, 0x26, 0x02, 0x8A, 0x00, 0x34, +0x00, 0x41, 0x00, 0x3B, 0x40, 0x0B, 0x07, 0x56, 0x12, 0x11, +0x04, 0x18, 0x17, 0x56, 0x02, 0x01, 0x05, 0x2B, 0x2B, 0x00, +0x40, 0x22, 0x22, 0x21, 0x1B, 0x1A, 0x63, 0x41, 0x35, 0x07, +0x3B, 0x3A, 0x5E, 0x28, 0x27, 0x05, 0x05, 0x04, 0x51, 0x15, +0x14, 0x05, 0x0F, 0x0E, 0x51, 0x0A, 0x09, 0x05, 0x22, 0x21, +0x1B, 0x1A, 0x48, 0x34, 0x00, 0x07, 0x2B, 0x2B, 0x2B, 0x2B, +0x2B, 0x30, 0x31, 0x25, 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, +0x06, 0x10, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, +0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, +0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x06, 0x23, 0x22, 0x27, +0x26, 0x3E, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x37, +0x33, 0x07, 0x0E, 0x01, 0x17, 0x16, 0x27, 0x32, 0x37, 0x36, +0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x17, 0x16, 0x02, +0x4F, 0x81, 0xA4, 0x86, 0x83, 0xA7, 0xA7, 0x83, 0x6E, 0x4B, +0x2D, 0x60, 0x86, 0xA3, 0xDD, 0xDA, 0xA6, 0xA8, 0xD8, 0x6F, +0x67, 0x2E, 0x1F, 0x1D, 0x08, 0x02, 0x2F, 0x51, 0x46, 0x2C, +0x33, 0x27, 0x6E, 0x4D, 0x1A, 0x1A, 0x11, 0x11, 0x02, 0x09, +0x75, 0x33, 0x0A, 0x01, 0x07, 0x07, 0xCF, 0x4C, 0x19, 0x0C, +0x14, 0x12, 0x1F, 0x24, 0x37, 0x0C, 0x0C, 0x15, 0x12, 0x86, +0x84, 0x88, 0xA7, 0xAA, 0xFE, 0xF6, 0xAA, 0x3D, 0x46, 0x48, +0xD7, 0xA9, 0xA8, 0xD8, 0xD6, 0xAA, 0x64, 0x68, 0x11, 0x0F, +0x1A, 0x3A, 0x34, 0x3C, 0xC1, 0x69, 0x0E, 0x09, 0x13, 0x27, +0xF6, 0x30, 0x1E, 0x05, 0x06, 0x1B, 0x6D, 0x38, 0x1C, 0x18, +0x39, 0x34, 0x35, 0x1F, 0x18, 0x00, 0x00, 0x02, 0x00, 0x1C, +0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x05, 0x58, 0x08, 0x00, 0x0A, 0x67, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x33, 0x01, 0x33, 0x01, +0x23, 0x27, 0x21, 0x07, 0x13, 0x33, 0x03, 0x23, 0x1C, 0x01, +0x00, 0x7B, 0x01, 0x00, 0x79, 0x3D, 0xFE, 0xEC, 0x3D, 0x58, +0xDE, 0x6E, 0x02, 0x02, 0xEC, 0xFD, 0x14, 0xC7, 0xC7, 0x01, +0x1F, 0x01, 0x66, 0x00, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, +0x02, 0x4A, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x18, 0x00, 0x21, +0x00, 0x30, 0x40, 0x11, 0x09, 0x08, 0x69, 0x1D, 0x1C, 0x05, +0x0F, 0x00, 0x6F, 0x18, 0x10, 0x05, 0x21, 0x14, 0x71, 0x04, +0x01, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x13, 0x12, 0x58, +0x1A, 0x19, 0x05, 0x03, 0x02, 0x5A, 0x16, 0x15, 0x05, 0x20, +0x1F, 0x5B, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x25, 0x14, 0x06, 0x2B, 0x01, 0x11, 0x33, 0x32, 0x16, 0x15, +0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x07, 0x34, 0x26, 0x2B, +0x01, 0x11, 0x33, 0x32, 0x36, 0x01, 0x33, 0x32, 0x36, 0x35, +0x34, 0x26, 0x2B, 0x01, 0x02, 0x4A, 0x98, 0xA6, 0xB8, 0xAE, +0x9E, 0x8B, 0x54, 0x46, 0x58, 0x61, 0x6F, 0x6A, 0x83, 0x29, +0x5C, 0x61, 0x59, 0xFE, 0xEA, 0x29, 0x72, 0x62, 0x4E, 0x5D, +0x52, 0xDC, 0x6F, 0x6D, 0x02, 0xEC, 0x59, 0x5B, 0x3C, 0x58, +0x0E, 0x03, 0x0D, 0x60, 0x40, 0x42, 0x3A, 0xFE, 0xF8, 0x44, +0x01, 0x1C, 0x37, 0x38, 0x37, 0x31, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x02, 0x30, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1A, +0xB4, 0x13, 0x73, 0x08, 0x07, 0x04, 0x2B, 0x00, 0x40, 0x0C, +0x11, 0x10, 0x5C, 0x0B, 0x0A, 0x05, 0x05, 0x04, 0x5C, 0x15, +0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, +0x15, 0x2E, 0x01, 0x23, 0x22, 0x06, 0x10, 0x16, 0x01, 0x87, +0x52, 0x57, 0x56, 0x5D, 0x9C, 0xBB, 0xB5, 0xA2, 0x5D, 0x51, +0x34, 0x3E, 0x32, 0x6E, 0x80, 0x83, 0x52, 0x1B, 0x63, 0x14, +0xC8, 0xB8, 0xB5, 0xCB, 0x15, 0x62, 0x10, 0x0B, 0x99, 0xFE, +0xE9, 0x98, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, 0x02, 0x87, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x21, 0x40, 0x0A, +0x07, 0x00, 0x6B, 0x0F, 0x08, 0x05, 0x0B, 0x71, 0x03, 0x00, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x02, 0x01, 0x5C, 0x0D, 0x0C, +0x05, 0x0A, 0x09, 0x5D, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x16, 0x07, +0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x02, 0x87, 0xFE, +0x71, 0xA4, 0xA4, 0xC5, 0xCA, 0x6B, 0xFE, 0xE6, 0x3D, 0x3D, +0x90, 0x8A, 0x01, 0x80, 0xFE, 0x80, 0x02, 0xEC, 0xBA, 0xB2, +0x01, 0x0F, 0xFD, 0xCD, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x17, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x1B, 0xB4, 0x04, 0x00, 0x71, 0x08, 0x01, 0x2B, 0x00, +0x40, 0x0C, 0x0B, 0x5D, 0x09, 0x00, 0x07, 0x5C, 0x05, 0x00, +0x03, 0x58, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, +0x15, 0xC5, 0x01, 0x3D, 0xFE, 0xC3, 0x01, 0x52, 0xFE, 0x3D, +0x01, 0xC3, 0x02, 0x8F, 0xD5, 0x58, 0xFE, 0xFA, 0x5C, 0x02, +0xEC, 0x5D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x0C, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x15, 0xB4, 0x07, +0x03, 0x71, 0x09, 0x01, 0x2B, 0x00, 0xB7, 0x06, 0x58, 0x04, +0x00, 0x02, 0x5D, 0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x54, +0x01, 0xB8, 0xFE, 0xB9, 0x01, 0x33, 0xFE, 0xCD, 0x71, 0x02, +0xEC, 0x5D, 0xDF, 0x58, 0xFE, 0xA8, 0x00, 0x00, 0x00, 0x01, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x78, 0x02, 0xF6, 0x00, 0x19, +0x00, 0x26, 0x40, 0x0A, 0x08, 0x07, 0x73, 0x17, 0x16, 0x05, +0x11, 0x6C, 0x0D, 0x00, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x0E, +0x58, 0x10, 0x00, 0x14, 0x13, 0x5A, 0x0B, 0x0A, 0x05, 0x05, +0x04, 0x5A, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x11, 0x23, 0x35, 0x21, 0x11, 0x06, +0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x01, 0xA1, 0x60, 0x53, +0x55, 0x54, 0x84, 0x8E, 0x8B, 0x73, 0x3E, 0x37, 0xDC, 0x01, +0x48, 0x6F, 0x7D, 0x9D, 0xC9, 0xCB, 0x02, 0xF6, 0x15, 0x60, +0x1B, 0x97, 0x8F, 0x89, 0x9D, 0x12, 0x01, 0x00, 0x58, 0xFE, +0x6A, 0x2E, 0xD1, 0xAF, 0xB2, 0xCE, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x17, 0x40, 0x0A, 0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, +0x71, 0x06, 0x02, 0x04, 0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, +0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x21, 0x11, 0x33, +0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, +0x71, 0x71, 0xFE, 0xC3, 0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, +0x32, 0xFD, 0x14, 0x01, 0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xE8, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x7A, 0x00, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, 0x7A, 0x02, +0xEC, 0xFD, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xDE, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x13, +0xB5, 0x09, 0x08, 0x76, 0x06, 0x05, 0x05, 0x2B, 0x00, 0xB5, +0x0C, 0x0B, 0x5C, 0x03, 0x02, 0x05, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, +0x06, 0x23, 0x22, 0x26, 0x63, 0x55, 0x48, 0x42, 0x76, 0x7B, +0x85, 0x68, 0x14, 0x67, 0x29, 0x58, 0x6A, 0x01, 0xD8, 0xFE, +0x0A, 0x86, 0x7A, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x68, 0x02, 0xEC, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x09, +0x00, 0x71, 0x0B, 0x01, 0x2B, 0x00, 0xB3, 0x08, 0x3E, 0x01, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x01, 0x33, 0x09, +0x01, 0x23, 0x01, 0x23, 0x11, 0x23, 0x11, 0xC5, 0x02, 0x01, +0x12, 0x85, 0xFE, 0xCD, 0x01, 0x3D, 0x85, 0xFE, 0xE4, 0x02, +0x71, 0x02, 0xEC, 0xFE, 0xB8, 0x01, 0x48, 0xFE, 0x99, 0xFE, +0x7B, 0x01, 0x66, 0xFE, 0x9A, 0x02, 0xEC, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x54, 0x00, 0x00, 0x02, 0x21, 0x02, 0xEC, +0x00, 0x05, 0x00, 0x0F, 0xB3, 0x00, 0x76, 0x04, 0x00, 0x2B, +0x00, 0xB3, 0x03, 0x5E, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x21, 0x15, 0x21, 0x11, 0xCA, 0x01, 0x57, 0xFE, 0x33, +0x02, 0xEC, 0xFD, 0x72, 0x5E, 0x02, 0xEC, 0x00, 0x00, 0x01, +0x00, 0x2B, 0x00, 0x00, 0x03, 0x0C, 0x02, 0xEC, 0x00, 0x0F, +0x00, 0x0B, 0x00, 0xB5, 0x0F, 0x0B, 0x07, 0x7B, 0x03, 0x02, +0x2B, 0x30, 0x31, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, +0x13, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x2B, +0x57, 0x85, 0x94, 0x02, 0x93, 0x85, 0x57, 0x70, 0x3A, 0x02, +0x89, 0x7B, 0x89, 0x02, 0x39, 0x02, 0xEC, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x52, 0xFD, 0xAE, 0x02, 0x52, 0xFD, +0xAE, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, 0xB7, 0x06, +0x6F, 0x04, 0x00, 0x0A, 0x6F, 0x00, 0x00, 0x2B, 0x2B, 0x00, +0x30, 0x31, 0x33, 0x11, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, +0x23, 0x01, 0x23, 0x11, 0x54, 0x6F, 0x01, 0x3F, 0x02, 0x6F, +0x6F, 0xFE, 0xC1, 0x02, 0x02, 0xEC, 0xFD, 0xD1, 0x02, 0x2F, +0xFD, 0x14, 0x02, 0x2E, 0xFD, 0xD2, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0xBF, 0x02, 0xF6, 0x00, 0x08, +0x00, 0x11, 0x00, 0x19, 0xB7, 0x03, 0x72, 0x0C, 0x00, 0x10, +0x73, 0x07, 0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5C, 0x0A, +0x00, 0x0E, 0x5C, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x20, 0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, +0x32, 0x36, 0x10, 0x26, 0x22, 0x06, 0x10, 0x80, 0x59, 0x01, +0x33, 0xB3, 0xB3, 0xFE, 0xCD, 0xB3, 0xAC, 0x38, 0xD1, 0x72, +0x72, 0xD1, 0x71, 0x02, 0x90, 0x66, 0xCB, 0xFE, 0x96, 0xCB, +0xCB, 0x01, 0x6A, 0xFE, 0x71, 0x4A, 0x92, 0x01, 0x23, 0x93, +0x93, 0xFE, 0xDD, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x54, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x11, 0x00, 0x22, +0x40, 0x0B, 0x07, 0x06, 0x6F, 0x0E, 0x0D, 0x05, 0x11, 0x00, +0x71, 0x02, 0x01, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x09, 0x08, +0x58, 0x0B, 0x0A, 0x05, 0x10, 0x0F, 0x5B, 0x04, 0x03, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x23, 0x11, 0x33, 0x32, +0x16, 0x15, 0x14, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, +0x2B, 0x01, 0xC5, 0x71, 0xCD, 0x9D, 0x96, 0xFE, 0xE1, 0x70, +0x66, 0x5B, 0x5F, 0xBA, 0x66, 0x01, 0x1A, 0xFE, 0xE6, 0x02, +0xEC, 0x6E, 0x6F, 0xF5, 0x58, 0x4A, 0x49, 0x8C, 0x00, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0x66, 0x03, 0x0C, 0x02, 0xF6, +0x00, 0x08, 0x00, 0x1A, 0x00, 0x1D, 0x40, 0x09, 0x03, 0x73, +0x0B, 0x00, 0x10, 0x0F, 0x72, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0x40, 0x09, 0x01, 0x5C, 0x0D, 0x00, 0x1A, 0x09, 0x5C, 0x05, +0x01, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x26, 0x22, 0x06, 0x10, +0x16, 0x32, 0x36, 0x10, 0x03, 0x22, 0x26, 0x10, 0x36, 0x20, +0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x17, 0x23, +0x2E, 0x01, 0x02, 0x14, 0x39, 0xD1, 0x71, 0x71, 0xD1, 0x72, +0xDA, 0x9A, 0xB3, 0xB3, 0x01, 0x33, 0xB3, 0x53, 0x4B, 0x42, +0x82, 0x27, 0x85, 0x37, 0x6E, 0x02, 0x51, 0x49, 0x93, 0xFE, +0xDD, 0x92, 0x92, 0x01, 0x23, 0xFD, 0xEF, 0xCB, 0x01, 0x6A, +0xCB, 0xCB, 0xB5, 0x74, 0xAA, 0x2E, 0x02, 0x16, 0x6B, 0x41, +0x57, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x5E, 0x02, 0xEC, 0x00, 0x08, 0x00, 0x1C, 0x00, 0x22, +0x40, 0x0B, 0x09, 0x01, 0x71, 0x0B, 0x01, 0x10, 0x0F, 0x6F, +0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x08, 0x00, +0x5B, 0x0D, 0x0C, 0x05, 0x1C, 0x1B, 0x58, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x03, 0x11, 0x23, 0x11, 0x33, 0x32, 0x16, +0x15, 0x14, 0x06, 0x07, 0x15, 0x16, 0x1F, 0x01, 0x23, 0x27, +0x2E, 0x01, 0x23, 0x01, 0x17, 0x52, 0x3D, 0x72, 0x67, 0x5B, +0xBB, 0x71, 0xB8, 0xA7, 0x97, 0x4F, 0x46, 0x2C, 0x26, 0x57, +0x75, 0x55, 0x15, 0x34, 0x49, 0x02, 0x91, 0xFE, 0xFA, 0x47, +0x48, 0x3D, 0x3A, 0xFE, 0xA2, 0xFE, 0xCD, 0x02, 0xEC, 0x64, +0x64, 0x4C, 0x6A, 0x16, 0x02, 0x1B, 0x5F, 0xDC, 0xDC, 0x37, +0x20, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, 0x02, 0x07, +0x02, 0xF6, 0x00, 0x20, 0x00, 0x23, 0x40, 0x0C, 0x03, 0x02, +0x6F, 0x19, 0x18, 0x05, 0x09, 0x08, 0x70, 0x13, 0x12, 0x05, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x20, 0x00, 0x5A, 0x1C, 0x1B, +0x05, 0x0C, 0x0B, 0x5C, 0x11, 0x10, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1E, 0x01, +0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, +0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x33, +0x32, 0x17, 0x15, 0x26, 0x01, 0x1C, 0x38, 0x3B, 0x37, 0x37, +0x87, 0x69, 0x7F, 0x7C, 0x69, 0x59, 0x59, 0x5F, 0x95, 0x3B, +0x45, 0x75, 0x68, 0x73, 0x64, 0x74, 0x63, 0x66, 0x02, 0x9C, +0x38, 0x31, 0x28, 0x40, 0x13, 0x2D, 0x6E, 0x55, 0x68, 0x6A, +0x2E, 0x6B, 0x3D, 0x76, 0x2D, 0x3F, 0x19, 0x28, 0x6F, 0x4F, +0x5A, 0x69, 0x29, 0x6A, 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x3A, 0x00, 0x00, 0x02, 0x4F, 0x02, 0xEC, 0x00, 0x07, +0x00, 0x10, 0xB3, 0x03, 0x71, 0x05, 0x00, 0x2B, 0x00, 0xB4, +0x06, 0x02, 0x5F, 0x00, 0x01, 0x2B, 0x30, 0x31, 0x13, 0x21, +0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3A, 0x02, 0x15, 0xD2, +0x71, 0xD2, 0x02, 0xEC, 0x5F, 0xFD, 0x73, 0x02, 0x8D, 0x00, +0x00, 0x01, 0x00, 0x4A, 0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, +0x00, 0x0D, 0x00, 0x19, 0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, +0x07, 0x05, 0x03, 0x02, 0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, +0x00, 0xB3, 0x0C, 0x5E, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x33, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, +0x11, 0x10, 0x20, 0x4A, 0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, +0xEC, 0x01, 0x05, 0x01, 0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, +0x5A, 0x01, 0xEC, 0xFE, 0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, +0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, 0x05, 0x71, 0x01, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x01, 0x23, +0x01, 0x94, 0xC6, 0x02, 0xC6, 0x75, 0xFF, 0x00, 0x7B, 0xFF, +0x00, 0x02, 0xEC, 0xFD, 0x85, 0x02, 0x7B, 0xFD, 0x14, 0x02, +0xEC, 0x00, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x00, 0x03, 0x5E, +0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, 0x00, 0x40, 0x0C, 0x0B, +0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, 0x09, 0x7B, 0x05, 0x01, +0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, +0x13, 0x33, 0x13, 0x33, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, +0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, 0x70, 0x02, 0x70, 0x6E, +0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, 0x9F, 0x02, 0xEC, 0xFD, +0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x14, 0x02, +0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x03, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x13, +0x23, 0x03, 0x23, 0x03, 0x23, 0x13, 0x03, 0xBC, 0x99, 0x02, +0x99, 0x7E, 0xD2, 0xD7, 0x84, 0x9C, 0x02, 0x9C, 0x80, 0xD7, +0xD2, 0x02, 0xEC, 0xFE, 0xDC, 0x01, 0x24, 0xFE, 0x8F, 0xFE, +0x85, 0x01, 0x2E, 0xFE, 0xD2, 0x01, 0x7B, 0x01, 0x71, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, +0x00, 0x09, 0x00, 0x09, 0xB3, 0x05, 0x76, 0x07, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x11, +0x23, 0x11, 0x03, 0xA0, 0xB5, 0x02, 0xB5, 0x80, 0xFD, 0x76, +0xFD, 0x02, 0xEC, 0xFE, 0xA3, 0x01, 0x5D, 0xFE, 0x47, 0xFE, +0xCD, 0x01, 0x33, 0x01, 0xB9, 0x00, 0x00, 0x01, 0x00, 0x4A, +0x00, 0x00, 0x02, 0x35, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, +0x00, 0xB7, 0x06, 0x5C, 0x04, 0x00, 0x0A, 0x5D, 0x00, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, 0x15, 0x21, +0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, 0xEB, 0xFE, +0x98, 0x01, 0x68, 0xFE, 0x15, 0x01, 0x68, 0xFE, 0x98, 0x02, +0xEC, 0x5D, 0xFD, 0xCF, 0x02, 0x5C, 0x5C, 0x02, 0x31, 0x02, +0x00, 0x01, 0x00, 0x73, 0xFF, 0x61, 0x01, 0x9C, 0x03, 0x14, +0x00, 0x07, 0x00, 0x14, 0xB3, 0x00, 0x66, 0x04, 0x00, 0x2B, +0x00, 0xB7, 0x07, 0x51, 0x05, 0x00, 0x03, 0x52, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x15, 0x21, 0x11, +0x21, 0x15, 0xD9, 0xC3, 0xFE, 0xD7, 0x01, 0x29, 0x02, 0xC3, +0xFC, 0xF0, 0x52, 0x03, 0xB3, 0x51, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xD7, 0x01, 0xFD, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x33, 0x01, 0x23, 0x30, 0x6C, 0x01, +0x61, 0x6C, 0x02, 0xEC, 0xFC, 0xEB, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0xFF, 0x61, 0x01, 0x7D, 0x03, 0x14, 0x00, 0x07, +0x00, 0x14, 0xB3, 0x04, 0x66, 0x00, 0x00, 0x2B, 0x00, 0xB7, +0x05, 0x52, 0x07, 0x00, 0x01, 0x51, 0x03, 0x00, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, +0x01, 0x17, 0xC3, 0x01, 0x29, 0xFE, 0xD7, 0x4D, 0x03, 0x10, +0x51, 0xFC, 0x4D, 0x52, 0x00, 0x01, 0x00, 0x26, 0x01, 0x1F, +0x02, 0x78, 0x02, 0xEC, 0x00, 0x06, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x33, 0x13, 0x23, 0x0B, 0x01, 0x26, 0xE6, +0x85, 0xE7, 0x73, 0xB6, 0xB6, 0x01, 0x1F, 0x01, 0xCD, 0xFE, +0x33, 0x01, 0x85, 0xFE, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x01, +0xFF, 0xFE, 0xFF, 0x61, 0x02, 0x50, 0xFF, 0xB3, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x52, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x07, 0x35, 0x21, 0x15, 0x02, 0x02, 0x52, 0x9F, 0x52, +0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x02, 0x29, +0x01, 0x0C, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x23, 0x03, 0x9C, 0x70, 0x5C, 0xA4, 0x03, +0x3D, 0xFE, 0xEC, 0x01, 0x14, 0x00, 0x00, 0x02, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xE8, 0x02, 0x1F, 0x00, 0x18, 0x00, 0x23, +0x00, 0x2C, 0x40, 0x0E, 0x03, 0x02, 0x6B, 0x23, 0x22, 0x11, +0x10, 0x0D, 0x1D, 0x1C, 0x6C, 0x0C, 0x0B, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x57, 0x20, 0x1F, 0x05, 0x1A, +0x19, 0x4B, 0x0F, 0x0E, 0x05, 0x14, 0x13, 0x52, 0x18, 0x00, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, +0x11, 0x23, 0x27, 0x23, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, +0x36, 0x3B, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x35, +0x36, 0x13, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x35, 0x01, 0x07, 0x81, 0x60, 0x64, 0x02, 0x02, 0x3B, +0x76, 0x46, 0x59, 0x89, 0x8C, 0x38, 0x33, 0x43, 0x50, 0x68, +0x5F, 0xCF, 0x38, 0x54, 0x55, 0x2D, 0x1F, 0x44, 0x51, 0x02, +0x1F, 0x5C, 0x7B, 0xFE, 0xB8, 0x4D, 0x57, 0x5A, 0x4A, 0x5A, +0x63, 0x15, 0x36, 0x2B, 0x27, 0x5A, 0x1F, 0xFE, 0xED, 0x38, +0x30, 0x26, 0x31, 0x55, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x4F, 0xFF, 0xF6, 0x02, 0x30, 0x03, 0x00, 0x00, 0x0B, +0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, 0x17, 0x0B, 0x0A, 0x00, +0x6B, 0x15, 0x03, 0x1D, 0x0C, 0x6B, 0x06, 0x05, 0x05, 0x2B, +0x2B, 0x00, 0x40, 0x0C, 0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, +0x0F, 0x0E, 0x52, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, +0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, +0x06, 0x15, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, +0x07, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x33, 0x32, 0x16, +0xBA, 0x4F, 0x36, 0x3F, 0x47, 0x86, 0x36, 0x4F, 0x01, 0x76, +0x7A, 0x5D, 0x32, 0x49, 0x27, 0x02, 0x02, 0x64, 0x6B, 0x02, +0x43, 0x5A, 0x61, 0x76, 0xBD, 0x2E, 0x47, 0x60, 0x62, 0xC3, +0x48, 0x2E, 0x4D, 0x7F, 0x95, 0x22, 0x2B, 0x43, 0x03, 0x00, +0xFE, 0xDC, 0x43, 0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, 0x00, 0x15, 0x00, 0x1B, +0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, 0x05, 0x08, 0x07, 0x54, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x26, +0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, 0x47, 0x46, 0x4A, 0x4D, +0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, 0x01, 0x0A, 0x86, 0x8F, +0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, 0x5A, 0x1C, 0x5C, 0x14, +0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0xF6, 0x02, 0x0C, +0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x14, 0x6B, 0x12, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x17, 0x33, 0x11, 0x33, 0x11, 0x23, 0x27, 0x23, 0x0E, +0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x46, +0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x5A, 0x43, 0x02, +0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x5D, 0x7A, 0xBD, +0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, 0x47, 0x7B, 0x83, 0x92, +0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, 0x2B, 0x22, 0x95, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xF3, 0x02, 0x1F, +0x00, 0x05, 0x00, 0x17, 0x00, 0x18, 0x00, 0x40, 0x10, 0x03, +0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, 0x0C, 0x50, 0x08, 0x07, +0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x13, 0x33, 0x26, 0x23, 0x22, 0x06, 0x07, 0x16, 0x33, 0x32, +0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, +0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, 0x03, 0x6F, 0x3D, 0x41, +0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, 0x4A, 0x80, 0x8A, 0x7C, +0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, 0x94, 0x46, 0x9D, 0xA6, +0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, 0x8C, 0x84, 0x8C, 0x0E, +0x15, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, +0x01, 0xC5, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1D, 0xB7, 0x12, +0x0E, 0x0D, 0x71, 0x14, 0x03, 0x02, 0x0A, 0x2B, 0x00, 0x40, +0x0C, 0x0B, 0x0A, 0x52, 0x06, 0x05, 0x05, 0x15, 0x11, 0x52, +0x0F, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x33, +0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, +0x06, 0x1D, 0x01, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x35, +0x71, 0x5C, 0x61, 0x34, 0x2E, 0x27, 0x26, 0x36, 0x2B, 0xA3, +0xA3, 0x71, 0x01, 0xAE, 0x52, 0x29, 0x6A, 0x63, 0x10, 0x52, +0x10, 0x32, 0x44, 0x2E, 0x52, 0xFE, 0x52, 0x01, 0xAE, 0x00, +0x00, 0x02, 0x00, 0x1C, 0xFF, 0x14, 0x01, 0xFD, 0x02, 0x1F, +0x00, 0x29, 0x00, 0x35, 0x00, 0x40, 0x40, 0x19, 0x15, 0x14, +0x71, 0x30, 0x2F, 0x05, 0x35, 0x2A, 0x68, 0x27, 0x0C, 0x0B, +0x09, 0x1C, 0x1B, 0x5C, 0x08, 0x07, 0x05, 0x22, 0x21, 0x6C, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x18, +0x18, 0x17, 0x43, 0x2D, 0x2C, 0x05, 0x05, 0x04, 0x4E, 0x1F, +0x1E, 0x05, 0x33, 0x32, 0x4C, 0x0F, 0x0E, 0x05, 0x25, 0x24, +0x52, 0x29, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x17, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, +0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x37, +0x33, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, +0x35, 0x16, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, +0x26, 0x23, 0x22, 0x06, 0xE8, 0x51, 0x58, 0x9C, 0x71, 0x5E, +0x2D, 0x37, 0x70, 0x57, 0x6A, 0x41, 0x02, 0x01, 0x62, 0x76, +0x76, 0x3E, 0x31, 0x16, 0x35, 0x4E, 0x81, 0x77, 0x8B, 0x8A, +0x6D, 0x5F, 0x5E, 0x0A, 0x44, 0x3C, 0x39, 0x45, 0x49, 0x3A, +0x37, 0x44, 0x9A, 0x35, 0x2A, 0x55, 0x34, 0x35, 0x28, 0x32, +0x32, 0x4F, 0x55, 0x6C, 0x42, 0x37, 0xB8, 0x59, 0x5F, 0x11, +0x17, 0x0F, 0x14, 0x13, 0x4A, 0x4C, 0x5A, 0x64, 0x29, 0x5D, +0x34, 0x01, 0xF5, 0x36, 0x3E, 0x3F, 0x35, 0x37, 0x41, 0x43, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, 0x02, 0x11, +0x03, 0x00, 0x00, 0x13, 0x00, 0x1B, 0x40, 0x0C, 0x0D, 0x09, +0x08, 0x6B, 0x0B, 0x02, 0x13, 0x00, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x06, 0x05, 0x57, 0x11, 0x10, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, +0x33, 0x32, 0x16, 0x02, 0x11, 0x68, 0x2D, 0x3D, 0x2F, 0x56, +0x6B, 0x6B, 0x02, 0x47, 0x5B, 0x5D, 0x56, 0x01, 0x3D, 0xFE, +0xC3, 0x01, 0x29, 0x5F, 0x40, 0x59, 0x32, 0xFE, 0xC3, 0x03, +0x00, 0xFE, 0xD2, 0x4D, 0x68, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, 0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, 0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, -0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, -0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, -0x70, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, -0x11, 0x6E, 0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x1F, -0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, 0x6B, 0x0F, -0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x00, -0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, 0x31, 0x13, -0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, -0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0xB2, 0x4A, -0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, 0x64, 0x02, -0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, 0x2E, 0x5C, -0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, 0x00, 0x08, -0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, 0x0B, 0x00, -0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, 0xB7, 0x05, -0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, 0x26, 0x10, -0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, 0x85, 0x85, -0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, 0xD7, 0x48, -0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, 0xC2, 0x01, -0x85, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, -0x02, 0x14, 0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, -0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, -0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, -0x01, 0xA6, 0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, -0x44, 0x15, 0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, -0x66, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x89, -0x00, 0x02, 0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, -0x00, 0x09, 0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, -0x31, 0x01, 0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, -0x27, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, -0x37, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, -0x46, 0xA6, 0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, -0x2D, 0x07, 0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, -0x3D, 0x0B, 0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, -0x46, 0xA6, 0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, -0x19, 0x15, 0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, -0x2F, 0x2B, 0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x6C, 0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, -0x00, 0x0B, 0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, -0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, -0x17, 0x1E, 0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, -0x36, 0x37, 0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, -0x07, 0x06, 0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, -0x21, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, -0xFE, 0x5C, 0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, -0x0D, 0x26, 0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, -0x41, 0x17, 0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, -0x46, 0x26, 0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, -0x14, 0x1D, 0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, -0x6B, 0x57, 0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, -0xB4, 0x2D, 0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, -0x28, 0x14, 0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, -0x0E, 0x1C, 0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, -0x2E, 0x00, 0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, -0x03, 0x3E, 0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, -0x00, 0x1B, 0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, -0x00, 0x40, 0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, -0x00, 0x62, 0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, -0x21, 0x06, 0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, -0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, -0x13, 0x25, 0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, -0x37, 0x36, 0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, -0x07, 0x26, 0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, -0x06, 0x17, 0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, -0x26, 0x03, 0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, -0x31, 0xA9, 0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, -0x15, 0x07, 0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, -0xFE, 0x21, 0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, -0x62, 0x5D, 0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, -0x2F, 0x20, 0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, -0x22, 0x11, 0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, -0x71, 0x56, 0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, -0x34, 0x0F, 0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, -0x47, 0x32, 0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, -0x5F, 0x23, 0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, -0x01, 0x0F, 0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, -0x39, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, -0x03, 0x8E, 0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, -0x00, 0x09, 0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, -0x31, 0x37, 0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, -0x01, 0x21, 0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, -0x37, 0x1E, 0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, -0x16, 0x30, 0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, -0x01, 0xC1, 0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, -0x24, 0x5E, 0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, -0x13, 0xB6, 0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, -0x5D, 0xFD, 0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, -0x30, 0x0C, 0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, -0xFF, 0xD5, 0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, -0x00, 0x36, 0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, -0x33, 0x23, 0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, -0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, -0x26, 0x22, 0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, -0x05, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, -0x26, 0x27, 0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, -0x01, 0x35, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, -0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, -0x17, 0x14, 0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, -0x27, 0xDA, 0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, -0x09, 0x23, 0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, -0x1A, 0x4C, 0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, -0x08, 0xFE, 0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, -0x26, 0x1A, 0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, -0x19, 0x28, 0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, -0x18, 0x47, 0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, -0x1E, 0x17, 0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, -0x0D, 0x04, 0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, -0x26, 0x35, 0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, -0x11, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, -0x03, 0x61, 0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, -0x61, 0x14, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, -0x17, 0x03, 0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, -0x02, 0x33, 0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, -0x27, 0x06, 0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, -0x06, 0x07, 0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, -0x05, 0x46, 0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, -0x1E, 0x2F, 0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, -0x3C, 0x3D, 0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, -0x19, 0x14, 0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, -0xFE, 0xCD, 0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, -0x26, 0x45, 0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, -0x66, 0x63, 0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, -0x2B, 0x0E, 0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, -0x00, 0x27, 0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, -0x00, 0x23, 0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, -0x19, 0x01, 0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, -0x0C, 0x10, 0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, -0x61, 0x07, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, -0x0E, 0x01, 0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, -0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, -0x21, 0x35, 0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, -0x86, 0x73, 0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, -0xDD, 0x62, 0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, -0xB7, 0x04, 0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, -0xE6, 0xE6, 0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, -0x03, 0x1F, 0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, -0x03, 0x5E, 0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, -0x11, 0x33, 0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, -0x07, 0x26, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, -0x5E, 0x5E, 0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, -0x24, 0x0F, 0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, -0x68, 0xFE, 0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, -0x05, 0x04, 0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, -0x00, 0x27, 0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, -0x00, 0x1D, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, -0x2B, 0x62, 0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, -0x16, 0x15, 0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, -0x1A, 0x59, 0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, -0x40, 0x0F, 0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, -0x0F, 0x05, 0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, -0x22, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, -0x33, 0x15, 0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, -0x14, 0x07, 0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, -0x06, 0x05, 0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, -0x0E, 0x18, 0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, -0x62, 0xFE, 0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, -0x66, 0x32, 0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, -0x02, 0x6D, 0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, -0x46, 0x32, 0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, -0x12, 0x62, 0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, -0x48, 0x32, 0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, -0xCE, 0xC2, 0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, -0x00, 0x6C, 0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, -0x00, 0x09, 0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, -0x6B, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, -0x03, 0xD3, 0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, -0x40, 0x13, 0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, -0x00, 0x67, 0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, -0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, -0x00, 0x19, 0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, -0x0F, 0x0F, 0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, -0x01, 0x15, 0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, -0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, -0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, -0x33, 0x15, 0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, -0x95, 0x95, 0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, -0x7B, 0x7B, 0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, -0xAA, 0xAA, 0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, -0x47, 0x02, 0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, -0x00, 0x22, 0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, -0x05, 0x2B, 0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, -0x05, 0x21, 0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, -0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, -0x06, 0x01, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, -0x06, 0x07, 0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, -0x27, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, -0x21, 0xF1, 0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, -0x78, 0xFE, 0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, -0xB4, 0x86, 0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, -0xFE, 0xE2, 0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, -0x76, 0xFD, 0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, -0x7B, 0xA2, 0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, -0xB5, 0x5A, 0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, -0x03, 0x44, 0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, -0x40, 0x14, 0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, -0x00, 0x2A, 0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, -0x14, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, -0x58, 0x31, 0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, -0x06, 0x21, 0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, -0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, -0x15, 0x13, 0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, -0x35, 0x11, 0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, -0x23, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, -0x36, 0x03, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, -0x21, 0x15, 0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, -0x07, 0x04, 0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, -0x4C, 0x1C, 0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, -0xEA, 0x03, 0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, -0xFD, 0x84, 0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, -0xE1, 0x58, 0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, -0x26, 0x0A, 0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, -0x94, 0xA8, 0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, -0x16, 0x0A, 0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, -0x00, 0x05, 0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, -0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, -0x00, 0x3C, 0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, -0x18, 0x69, 0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, -0x6C, 0x0E, 0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, -0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, -0x55, 0x29, 0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, -0x07, 0x0F, 0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, -0x37, 0x33, 0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, -0x33, 0x26, 0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, -0x07, 0x27, 0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, -0x37, 0x2B, 0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, -0x26, 0x27, 0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, -0xDD, 0xDD, 0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, -0x50, 0x81, 0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, -0x7B, 0x55, 0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, -0x58, 0x02, 0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, -0x63, 0x63, 0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, -0x14, 0x85, 0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, -0x2C, 0x5F, 0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, -0x5F, 0x2B, 0x33, 0xFE, 0xD5, 0x00, }; +0x71, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF3, 0xFF, 0x1F, +0x01, 0x07, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x18, +0xB7, 0x0E, 0x07, 0x06, 0x70, 0x0C, 0x04, 0x03, 0x0A, 0x2B, +0x00, 0xB7, 0x0F, 0x71, 0x0D, 0x00, 0x0B, 0x5A, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x07, 0x35, 0x32, 0x36, 0x35, 0x11, +0x33, 0x11, 0x14, 0x0E, 0x02, 0x13, 0x35, 0x33, 0x15, 0x0D, +0x6A, 0x3A, 0x70, 0x15, 0x40, 0x67, 0x4C, 0x70, 0xE1, 0x5A, +0x33, 0x5E, 0x02, 0x0A, 0xFD, 0xF6, 0x49, 0x57, 0x38, 0x13, +0x03, 0x70, 0x71, 0x71, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, +0x02, 0x1C, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x05, +0x01, 0x6B, 0x03, 0x01, 0x2B, 0x00, 0xB3, 0x00, 0x29, 0x06, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, +0x11, 0x33, 0x37, 0x33, 0x03, 0x13, 0x23, 0xBC, 0x02, 0x6B, +0x6B, 0x02, 0xE0, 0x80, 0xF6, 0xF6, 0x80, 0x01, 0x00, 0xFF, +0x00, 0x03, 0x00, 0xFE, 0x29, 0xEB, 0xFF, 0x00, 0xFE, 0xEC, +0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, +0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x70, 0x00, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, +0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x02, 0xE3, 0x02, 0x1F, 0x00, 0x22, +0x00, 0x26, 0x40, 0x11, 0x1A, 0x19, 0x69, 0x1D, 0x1C, 0x05, +0x09, 0x08, 0x6B, 0x0B, 0x01, 0x22, 0x00, 0x6A, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0A, 0x20, 0x1F, 0x06, +0x05, 0x52, 0x17, 0x16, 0x11, 0x10, 0x0F, 0x2B, 0x30, 0x31, +0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, +0x17, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, +0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xCD, 0x6A, 0x22, 0x30, +0x1D, 0x3F, 0x6B, 0x66, 0x02, 0x02, 0x3C, 0x4A, 0x2D, 0x38, +0x15, 0x02, 0x3D, 0x55, 0x54, 0x47, 0x69, 0x23, 0x2F, 0x1E, +0x3D, 0x01, 0x71, 0xFE, 0x8F, 0x01, 0x33, 0x5D, 0x3D, 0x3E, +0x1E, 0xFE, 0x8F, 0x02, 0x14, 0x3D, 0x48, 0x25, 0x2D, 0x52, +0x5B, 0x72, 0xFE, 0xAE, 0x01, 0x33, 0x5D, 0x3D, 0x3E, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, +0x6B, 0x0F, 0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, +0x2B, 0x00, 0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, +0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, +0xB2, 0x4A, 0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, +0x64, 0x02, 0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, +0x2E, 0x5C, 0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, +0x00, 0x08, 0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, +0x0B, 0x00, 0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0xB7, 0x05, 0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, +0x2B, 0x30, 0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, +0x26, 0x10, 0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, +0x85, 0x85, 0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, +0xD7, 0x48, 0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, +0xC2, 0x01, 0x85, 0x00, 0x00, 0x02, 0x00, 0x4A, 0xFF, 0x1F, +0x02, 0x2B, 0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, +0x40, 0x0D, 0x12, 0x0B, 0x0A, 0x00, 0x6B, 0x14, 0x03, 0x1D, +0x0C, 0x6C, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, +0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, 0x0F, 0x0E, 0x52, 0x03, +0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x14, 0x16, 0x33, +0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x06, 0x15, 0x05, 0x14, +0x06, 0x23, 0x22, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x17, +0x33, 0x3E, 0x01, 0x33, 0x32, 0x16, 0xB5, 0x4F, 0x36, 0x3E, +0x47, 0x85, 0x36, 0x4F, 0x01, 0x76, 0x7A, 0x5D, 0x5A, 0x43, +0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x61, 0x76, +0xBD, 0x2F, 0x46, 0x62, 0x60, 0xC3, 0x47, 0x2F, 0x4D, 0x7F, +0x95, 0x42, 0xFE, 0xE7, 0x02, 0xF5, 0x42, 0x2B, 0x22, 0x92, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0x1F, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x15, 0x6B, 0x17, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, 0x23, 0x11, 0x23, +0x06, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x47, +0x3E, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x32, 0x49, 0x27, +0x02, 0x02, 0x64, 0x6B, 0x02, 0x43, 0x5A, 0x5D, 0x7A, 0xBD, +0x9A, 0x2F, 0x47, 0xC3, 0x60, 0x62, 0x46, 0x7C, 0x83, 0x92, +0x22, 0x2B, 0x42, 0xFD, 0x0B, 0x01, 0x19, 0x42, 0x95, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, 0x02, 0x14, +0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, +0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, 0x01, 0xA6, +0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, 0x44, 0x15, +0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, 0x66, 0x2F, +0x37, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, +0x01, 0xCA, 0x02, 0x1F, 0x00, 0x1F, 0x00, 0x23, 0x40, 0x0C, +0x02, 0x01, 0x6C, 0x18, 0x17, 0x05, 0x08, 0x07, 0x6C, 0x12, +0x11, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x1F, 0x00, 0x52, +0x1B, 0x1A, 0x05, 0x0B, 0x0A, 0x52, 0x10, 0x0F, 0x05, 0x2B, +0x2B, 0x30, 0x31, 0x01, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1E, +0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, +0x32, 0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x01, 0x11, 0x6B, 0x29, 0x33, +0x76, 0x52, 0x6C, 0x66, 0x5E, 0x50, 0x50, 0x54, 0x70, 0x2D, +0x39, 0x69, 0x55, 0x68, 0x65, 0x58, 0x56, 0x55, 0x01, 0xCD, +0x3E, 0x1E, 0x27, 0x0D, 0x1B, 0x4D, 0x4B, 0x45, 0x4F, 0x1E, +0x58, 0x24, 0x42, 0x20, 0x28, 0x0F, 0x1A, 0x4F, 0x3B, 0x48, +0x52, 0x1A, 0x57, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xBF, 0x02, 0xC3, 0x00, 0x15, 0x00, 0x1D, +0xB7, 0x15, 0x04, 0x03, 0x6B, 0x13, 0x0F, 0x0E, 0x0A, 0x2B, +0x00, 0x40, 0x0C, 0x0C, 0x0B, 0x52, 0x07, 0x06, 0x05, 0x10, +0x02, 0x52, 0x12, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x15, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x01, 0x07, 0xB8, 0xB8, 0x21, 0x31, 0x2E, 0x29, 0x32, +0x39, 0x5F, 0x4A, 0x6C, 0x6C, 0x6B, 0x02, 0x00, 0x52, 0xF6, +0x45, 0x2B, 0x0D, 0x55, 0x0A, 0x50, 0x68, 0x01, 0x00, 0x52, +0xC3, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0xF6, 0x02, 0x02, +0x02, 0x14, 0x00, 0x13, 0x00, 0x1A, 0x40, 0x0B, 0x10, 0x6B, +0x0E, 0x0D, 0x04, 0x08, 0x07, 0x69, 0x05, 0x04, 0x05, 0x2B, +0x2B, 0x00, 0xB5, 0x02, 0x01, 0x52, 0x0B, 0x0A, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, +0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, +0x23, 0x27, 0x01, 0x9A, 0x4A, 0x5D, 0x5A, 0x54, 0x69, 0x2D, +0x36, 0x31, 0x55, 0x6B, 0x64, 0x02, 0x43, 0x4D, 0x63, 0x74, +0x01, 0x47, 0xFE, 0xC8, 0x55, 0x3F, 0x55, 0x30, 0x01, 0x47, +0xFD, 0xEC, 0x43, 0x00, 0x00, 0x01, 0x00, 0x21, 0x00, 0x00, +0x02, 0x17, 0x02, 0x14, 0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, +0x05, 0x3D, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, +0x13, 0x33, 0x03, 0x23, 0x03, 0x96, 0x87, 0x02, 0x87, 0x71, +0xB4, 0x8F, 0xB3, 0x02, 0x14, 0xFE, 0x29, 0x01, 0xD7, 0xFD, +0xEC, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x02, 0x02, 0x14, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x66, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x5C, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0xA0, 0x59, 0x02, 0x56, 0x8F, +0x56, 0x02, 0x59, 0x71, 0x8A, 0x8A, 0x56, 0x02, 0x57, 0x8A, +0x8A, 0x02, 0x14, 0xFE, 0x48, 0x01, 0xB8, 0xFE, 0x48, 0x01, +0xB8, 0xFD, 0xEC, 0x01, 0xAE, 0xFE, 0x52, 0x02, 0x14, 0x00, +0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x02, 0x07, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x03, 0x00, 0x30, 0x31, 0x25, 0x23, 0x07, +0x23, 0x13, 0x03, 0x33, 0x17, 0x33, 0x37, 0x33, 0x03, 0x13, +0x23, 0x01, 0x1B, 0x02, 0x75, 0x74, 0xAE, 0xA9, 0x78, 0x70, +0x02, 0x6F, 0x74, 0xA9, 0xAE, 0x78, 0xCD, 0xCD, 0x01, 0x0F, +0x01, 0x05, 0xC2, 0xC2, 0xFE, 0xFB, 0xFE, 0xF1, 0x00, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0x14, 0x02, 0x26, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x09, 0x00, 0xB3, 0x07, 0x54, 0x09, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x0E, +0x01, 0x23, 0x35, 0x32, 0x36, 0x37, 0x03, 0x99, 0x93, 0x02, +0x89, 0x6F, 0xC8, 0x34, 0x7C, 0x79, 0x55, 0x4B, 0x23, 0xD2, +0x02, 0x14, 0xFE, 0x67, 0x01, 0x99, 0xFD, 0xEC, 0x8B, 0x61, +0x54, 0x3A, 0x5E, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x01, 0xE3, 0x02, 0x14, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x06, 0x52, 0x04, 0x00, 0x0A, 0x51, +0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, +0x15, 0x21, 0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, +0x99, 0xFE, 0xE7, 0x01, 0x19, 0xFE, 0x67, 0x01, 0x19, 0xFE, +0xE7, 0x02, 0x14, 0x51, 0xFE, 0x91, 0x02, 0x52, 0x52, 0x01, +0x6F, 0x02, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0x61, 0x01, 0xBF, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x23, 0x22, +0x08, 0x07, 0x06, 0x05, 0x00, 0x67, 0x1A, 0x19, 0x18, 0x12, +0x11, 0x05, 0x10, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x20, 0x1F, +0x51, 0x1D, 0x1C, 0x05, 0x14, 0x13, 0x57, 0x17, 0x16, 0x05, +0x0E, 0x0D, 0x52, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x1D, 0x01, +0x14, 0x16, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x26, 0x3D, 0x01, +0x34, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x3D, 0x01, 0x34, 0x36, +0x3B, 0x01, 0x15, 0x23, 0x22, 0x06, 0x15, 0x01, 0x21, 0x2D, +0x35, 0x35, 0x2D, 0x27, 0x3A, 0x3D, 0x70, 0x4F, 0x46, 0x57, +0x29, 0x29, 0x57, 0x46, 0x4F, 0x70, 0x3D, 0x3A, 0x27, 0x01, +0xDC, 0x40, 0x4A, 0x17, 0x02, 0x16, 0x49, 0x40, 0x7B, 0x44, +0x28, 0x52, 0x4A, 0x55, 0x94, 0x7B, 0x57, 0x7B, 0x95, 0x55, +0x49, 0x51, 0x27, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, +0xFF, 0x1F, 0x00, 0xEE, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x09, +0xB3, 0x02, 0x67, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, +0x11, 0x33, 0x11, 0x87, 0x67, 0xE1, 0x04, 0x1E, 0xFB, 0xE2, +0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0xFF, 0x61, 0x01, 0xDE, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x13, 0x12, +0x11, 0x0B, 0x0A, 0x05, 0x09, 0x66, 0x23, 0x1D, 0x1C, 0x1B, +0x01, 0x05, 0x00, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x16, 0x15, +0x52, 0x19, 0x18, 0x05, 0x10, 0x0F, 0x57, 0x0D, 0x0C, 0x05, +0x04, 0x03, 0x51, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, +0x16, 0x1D, 0x01, 0x14, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x1D, +0x01, 0x14, 0x06, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x36, 0x3D, +0x01, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0xF8, 0x27, 0x3A, +0x3E, 0x71, 0x4F, 0x45, 0x57, 0x29, 0x29, 0x57, 0x45, 0x4F, +0x71, 0x3E, 0x3A, 0x27, 0x2D, 0x34, 0x34, 0x2D, 0x01, 0xDC, +0x7B, 0x45, 0x27, 0x51, 0x49, 0x55, 0x95, 0x7B, 0x57, 0x7B, +0x94, 0x55, 0x4A, 0x52, 0x28, 0x44, 0x7B, 0x40, 0x49, 0x16, +0x02, 0x17, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0xCD, 0x02, 0x9C, 0x01, 0x9A, 0x00, 0x13, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x03, 0x02, 0x59, 0x11, 0x10, 0x05, 0x07, +0x06, 0x59, 0x0D, 0x0C, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x17, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, +0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x02, +0x5C, 0x40, 0x47, 0x71, 0x50, 0x43, 0x32, 0x32, 0x23, 0x37, +0x1E, 0x40, 0x47, 0x71, 0x4F, 0x44, 0x32, 0x32, 0x23, 0x36, +0x01, 0x72, 0x34, 0x71, 0x42, 0x32, 0x22, 0x2A, 0x33, 0x72, +0x43, 0x31, 0x22, 0x00, 0x00, 0x02, 0x00, 0x89, 0x00, 0x02, +0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, 0x00, 0x09, +0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, 0x31, 0x01, +0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, 0x27, 0x26, +0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, 0x37, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, 0x46, 0xA6, +0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, 0x2D, 0x07, +0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, 0x3D, 0x0B, +0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, 0x46, 0xA6, +0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, 0x19, 0x15, +0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, 0x2F, 0x2B, +0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6C, +0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, 0x00, 0x0B, +0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, 0x17, 0x1E, +0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, 0x36, 0x37, +0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, 0x07, 0x06, +0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, 0x21, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, 0xFE, 0x5C, +0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, 0x0D, 0x26, +0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, 0x41, 0x17, +0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, 0x46, 0x26, +0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, 0x14, 0x1D, +0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, 0x6B, 0x57, +0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, 0xB4, 0x2D, +0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, 0x28, 0x14, +0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, 0x0E, 0x1C, +0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, 0x2E, 0x00, +0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, 0x03, 0x3E, +0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, 0x00, 0x1B, +0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, 0x00, 0x62, +0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, +0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, 0x36, 0x37, +0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, 0x13, 0x25, +0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, 0x37, 0x36, +0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, 0x07, 0x26, +0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, 0x06, 0x17, +0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, 0x26, 0x03, +0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, 0x31, 0xA9, +0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, 0x15, 0x07, +0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, 0xFE, 0x21, +0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, 0x62, 0x5D, +0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, 0x2F, 0x20, +0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, 0x22, 0x11, +0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, 0x71, 0x56, +0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, 0x34, 0x0F, +0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, 0x47, 0x32, +0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, 0x5F, 0x23, +0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, 0x01, 0x0F, +0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, 0x39, 0x11, +0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, 0x03, 0x8E, +0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x09, +0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, 0x01, 0x21, +0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, 0x37, 0x1E, +0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, 0x16, 0x30, +0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, 0x01, 0xC1, +0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, 0x24, 0x5E, +0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, 0x13, 0xB6, +0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, 0x5D, 0xFD, +0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, 0x30, 0x0C, +0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, 0xFF, 0xD5, +0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, 0x00, 0x36, +0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, 0x33, 0x23, +0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, 0x01, 0x00, +0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, 0x26, 0x22, +0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, 0x05, 0x21, +0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, 0x26, 0x27, +0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, 0x01, 0x35, +0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, 0x35, 0x21, +0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, 0x17, 0x14, +0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, 0x27, 0xDA, +0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, 0x09, 0x23, +0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, 0x1A, 0x4C, +0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, 0x08, 0xFE, +0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, 0x26, 0x1A, +0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, 0x19, 0x28, +0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, 0x18, 0x47, +0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, 0x1E, 0x17, +0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, 0x0D, 0x04, +0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, 0x26, 0x35, +0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, 0x11, 0x09, +0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, 0x03, 0x61, +0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, 0x61, 0x14, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, 0x17, 0x03, +0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, 0x02, 0x33, +0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, 0x27, 0x06, +0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, 0x06, 0x07, +0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, 0x05, 0x46, +0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, 0x1E, 0x2F, +0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, 0x3C, 0x3D, +0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, 0x19, 0x14, +0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, 0xFE, 0xCD, +0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, 0x26, 0x45, +0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, 0x66, 0x63, +0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, 0x2B, 0x0E, +0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, 0x00, 0x27, +0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, 0x00, 0x23, +0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, 0x19, 0x01, +0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x10, +0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, 0x61, 0x07, +0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, 0x0E, 0x01, +0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, 0x21, 0x15, +0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, +0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, 0x86, 0x73, +0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, 0xDD, 0x62, +0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, 0xB7, 0x04, +0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, 0xE6, 0xE6, +0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, 0x03, 0x1F, +0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, 0x03, 0x5E, +0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, 0x11, 0x33, +0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, 0x07, 0x26, +0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, 0x5E, 0x5E, +0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, 0x24, 0x0F, +0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, 0x68, 0xFE, +0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, 0x05, 0x04, +0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, 0x00, 0x27, +0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, 0x00, 0x1D, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, 0x2B, 0x62, +0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, 0x16, 0x15, +0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, 0x1A, 0x59, +0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0F, +0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, 0x0F, 0x05, +0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x13, +0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, +0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, +0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, 0x06, 0x05, +0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, 0x0E, 0x18, +0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, 0x62, 0xFE, +0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, 0x66, 0x32, +0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, 0x02, 0x6D, +0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, 0x46, 0x32, +0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, 0x12, 0x62, +0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, 0x48, 0x32, +0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, 0xCE, 0xC2, +0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, 0x00, 0x6C, +0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, 0x6B, 0x6B, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, 0x03, 0xD3, +0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, 0x40, 0x13, +0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, 0x00, 0x67, +0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, 0x05, 0x2B, +0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, 0x00, 0x19, +0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, 0x0F, 0x0F, +0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x15, +0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, +0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, +0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, 0x95, 0x95, +0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, 0x7B, 0x7B, +0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, 0xAA, 0xAA, +0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, 0x47, 0x02, +0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x26, +0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, 0x00, 0x22, +0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, 0x05, 0x21, +0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, 0x01, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, 0x06, 0x01, +0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, 0x06, 0x07, +0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, 0x27, 0x15, +0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xF1, +0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, 0x78, 0xFE, +0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, 0xB4, 0x86, +0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, 0xFE, 0xE2, +0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, 0x76, 0xFD, +0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, 0x7B, 0xA2, +0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, 0xB5, 0x5A, +0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, 0x03, 0x44, +0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, 0x40, 0x14, +0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, 0x00, 0x2A, +0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, 0x14, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, 0x58, 0x31, +0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, 0x06, 0x21, +0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, 0x00, 0x2B, +0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, 0x13, +0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, 0x35, 0x11, +0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, 0x23, 0x35, +0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, +0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, +0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, 0x07, 0x04, +0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, 0x4C, 0x1C, +0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, 0xEA, 0x03, +0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, 0xFD, 0x84, +0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, 0xE1, 0x58, +0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, 0x26, 0x0A, +0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, 0x94, 0xA8, +0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, 0x16, 0x0A, +0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, 0x00, 0x03, +0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, 0x00, 0x3C, +0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, 0x18, 0x69, +0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, 0x6C, 0x0E, +0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, 0x2B, 0x2B, +0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, 0x55, 0x29, +0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, 0x07, 0x0F, +0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, 0x37, 0x33, +0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, 0x33, 0x26, +0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, 0x07, 0x27, +0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, 0x37, 0x2B, +0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, 0x26, 0x27, +0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, 0xDD, 0xDD, +0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, 0x50, 0x81, +0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, 0x7B, 0x55, +0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, 0x58, 0x02, +0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, 0x63, 0x63, +0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, 0x14, 0x85, +0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, 0x2C, 0x5F, +0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, 0x5F, 0x2B, +0x33, 0xFE, 0xD5, 0x00, }; #endif \ No newline at end of file diff --git a/examples/M5Stack/load_from_binary/load_from_binary.ino b/examples/M5Stack/load_from_binary/load_from_binary.ino index 278a194..72fa8b5 100644 --- a/examples/M5Stack/load_from_binary/load_from_binary.ino +++ b/examples/M5Stack/load_from_binary/load_from_binary.ino @@ -12,8 +12,9 @@ void setup() { // put your setup code here, to run once: M5.begin(); - M5.Lcd.fillScreen(BLACK); + M5.Lcd.fillScreen(TFT_BLACK); + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -26,22 +27,23 @@ void setup() render.setDrawer(M5.Lcd); // Set drawer object /* You can also be written as follows. */ // render.setDrawPixel(M5.Lcd.drawPixel); - // render.setStartWrite(M5.Lcd.startWrite); // optional - // render.setEndWrite(M5.Lcd.endWrite); // optional + // render.setDrawFastHLine(M5.Lcd.drawFastHLine); // optional + // render.setStartWrite(M5.Lcd.startWrite); // optional + // render.setEndWrite(M5.Lcd.endWrite); // optional unsigned long t_start = millis(); - - render.setFontColor(WHITE); + + render.setFontColor(TFT_WHITE); render.printf("Hello World\n"); render.seekCursor(0, 10); render.setFontSize(30); - render.setFontColor(GREEN); + render.setFontColor(TFT_GREEN); render.printf("完全なUnicodeサポート\n"); render.seekCursor(0, 10); - + render.setFontSize(40); - render.setFontColor(ORANGE); + render.setFontColor(TFT_ORANGE); render.printf("こんにちは世界\n"); unsigned long t_end = millis(); diff --git a/examples/M5Stack/load_from_sd/JK_Gothic_Font/JKG-M_3_Tiny.ttf b/examples/M5Stack/load_from_sd/JK_Gothic_Font/JKG-M_3_Tiny.ttf index 033780aefef2b95ac1f43b573c0f364671b1aa4f..5b53097f8eb2029a70e0fd573eaf718ef88bb986 100644 GIT binary patch delta 8493 zcmZ`<3tW`fmB06X%zVrY%!7IH9){5w5kX)W22pSV%1aa(ff;Z>5d#Paj3_lB>6jQa z!6ZINn&_G~X>4BGwb`JNHg=oDP2(nYjc&GPTboU`dF{%kcH6LN6F&BTzd_CZ`YU+8 z_dWNVbI;>{E>0EPKXfP~PAz6`Aw=^WA>@(6O9~rT?Ec?x6QX;OkVV0s+dH-vew^Hm zchjJv9y|~?30DZA3vj=nXZz0G=Bc!cgv5V|XH)%yogGB{_(?+IR^a~Z_Kw{{iT9Je zhfnz;+aJ<>x=FX<3qoTs^w!U%kFF%l{b9}|{7G1ary`;F>p?p~?-HVj z1#Jbv%t{~VMOXr7aStJ}_%`-D=sF=PXr{tkDm+)=n}`}OHA_H4usN8-^?>kkyb06@ z`UN3cTx%hO_AU_KX}`q!!q&R`KpzpJ$F=@dLJXMDfcJ*42}!^t3790|T|$f)Z^XUv zLC`;fFvbL>P1PhqO#QgP3-bcd2|_F}p!-16gjnma6d52eN`&@Fu^>E4g0RU16a@W{ zkd!4Lex8Og@hE8blv^|YCk(2sF0C+#eq*x49~PND@Qj^#kRjnL}P zc(xH^(s5Q{Tsp=z<9Qt!pu6V&z^bCx!Xof*0F~pr<;}QgCfW4YILBae6`0k*oL*uV za=^@s`zm~xgZD`=-!8Hr=N5K}cqTI9n<9)16GFaZ(+Cxjs3w)8F(jMh?}63|}(vR@2>rN&a4#|B`>bdPwJ=4C@;NlQcus(hUDL4~GZAJB8SY zmH70jIw2UZQm9j`#$dXEsGD{to?PlFEP^;@i`DFOnbWCBDSC=Lg-(~CG@Gon zxp`|Ku(h|NduwxRpnglZwWo7aR#9_DN1$7o*_|u?k9})(U0dw7o|xn<>Ef?4H=pR# zgbW)NyG^uIQ&;Uknsm<12qkO=BE}IjNshoU`Mv~wUm6kn5{WIP&qR|geHxmL9~dmb zpGs7ID@pfjNs?bd_~X2M>ZT4_RA4bFGo6LEE=&c5nG5-Wtqe=yFx{~9h4%Ir+NFD< zXO?v6kmNsf2#aZ=es}k4-QBN6=nvdIulDr3DlOf0?W+;)1)jMX_BkX>Ax@G@7W)ze zw#}BVSl}2)N>pSo4jU5`vTSh%eK2Q=DNiTYz5MxS8}Tzx1$o(GBtTacFY@Y zSv#r^ad(7E;Qi{k4%u#Z}? z{KwYUFfbbf+rgL*6#7)LG0^}?r+TI6C^G1?yE=P&JG;&crq(}7*JfH@r-?KX@T3ysDM#h&MKD=aH42t7RjvT>-V0t=OS68 zi{R5>RF5!vius9#7*EHLkXot8CZ|QASw$7x?qdhfxZ?qd>g0Qg2E`WS7*D;1d(nxQHWN4vS6R!hyzQM0w<^xK;Z z+=!0$v17-g@9c9|=;w0o;LKInDG%Kx$vg|{3#Z8NID~gi z!jZ`tMXNeOw5^yG(;AC1EP7>zQ*X2s6zQFrO8w4N)I2^eT^m2P=$ZBFpJ`x!v+<0y z{pFYGgw$BEkNWoQlV0WP8ph!ygb;~tl7Vs}Mp_nY?DZ+3tzDE)s!TcJSZRQYq`w;RB)m z&Yi>GzPFu)LeIPsxNk*&?vC5L|3PLBjaP!X9nlk)oHU@$(QfbUx$Wx@X0hZadcOtJ>!9UYSSAKnNj^2Vy)Jf8&BK+P z)`+c&m3;1EyQdmIE9j-5yJDjRbb~tFK zWTGR%=&}3hwYK}0jSRmm?P1exk4bO6PP?d!@#1tNA~eJt!Qfn9qAIpOEftpQ%eE+7 z&Owt=k!kOVDgxuGl!~B@W(5s$piu6QTovR}D^I0}7f+#r7cRMeahpf|CBsQ8D(mVh zD{E?e>l-&d5s)hV)n(;l*T(i7J0g8OL8lCn+p_XYmK9|Cx{Yg>mQ_}k^$jiWN?|E& zB^$cBHtg^Sg-1Gf0`<+u@mhHG{4!|N!>9^LiD9K8x(otqN=;E{<3lJAc1uVVJMRO$ z4)7A-&M=s88Fg|&7T;YE;qFfVg_R8s?|o#H>YsYTU$tgkpzjgB4pq%9w1Af0zk6g{ zn)>Kn)0X6&^xdZVhSpGh%|@Pp7}*bxjAL0aswn3-Bhr%q+CMfnMh_l4CWU#bVx%5f z(D{w;cpl{6MjksD?y4R`I%EW2QnHe$StF~Ku@J35!R47-VOE$IdKR)qDVJWJy~fP+ zle6sXmQRO1m4#>_W9)C~1z89!IU@!XLLQgw0&t9XK=_h=OEob30j5OlFlS&$*Al;|U7)>W8<1V#Ikrw7t zA)w37Zm3vnaxQ#MRW7m&p9_PIN3NUB)5^}K8@I%V2DYyHZ#;A z_-SUQJtevGHjlWxqPbTA0{fT7FK`HiG6#YeRl7_nw-u1p8n0Ro_X%Q!R}mJ zS}a@IP`SkI8d#g0Y%nm@F1MPB;>Eh8I8%acfj2JBoUre{`=5P5nt7qLGE#lz`RCsI z|OfE7Sw613q!C0d1j;^tr z!!eg#?*8BEkG z?51!GhkYm!#)M#Ul0smu7PBJ5wo#5SZZ(rKn;N23NCY|+d8NR85zG`V8?5&6XQobm z_dsK1uw$@yZ&s+IMf$I-9b4A5`L7OcXVWbkR|K^}{AOQyiS*?vn(B=dd-LIqK&32C zj_u@A#^G2I2*(F}$J4nYCS;D{yM+Z_^UamAnsX^%KnvaP4>Y$Of93S|+ZqbX3I_J< z^`~^2&QG0w+q^}uIV%0<d<8%+tsXuv%>Siw-;CX<`rnO=M4M{l_L&CAZcD^`G zn~I1b1Y=N+5MT^m&ka#}17-XijrgTfdX63Z*P!(05c2d*W^rJqBIZ+~5LSWN86`Sa z#*;kOf!8pZlcSMNNk67;=|UJ||2-%@Cy(dW+zo3c5vNZbD-NUF8~Woh6m?P?)FWs|W9X;-B7TGv>`Hj~#sA zi3Cc5Qg801AHDR?giP#=UlSRC0G~m00J=$bC&WeiavR)+fjhY?;$?KP>HGL59%xb( zJHow-Cyx-XHyr*!gdz{d@NDhuY^p9F86E2}b!P>8>3foTAGk*C-2)x~bEi}!jDCeo z#+Ff(GnmJKh~QWd*vs$+qX}cu1zI{LeZ*iTX$sKts5DBuq+=K_3&i8XjvEE)DH-AY z=cLe%CF894V!cHJk{j~xXy+sF0>Q-BM~CG;t<#930>ig%quUta2Zs>-%?^w`!Y0N7 zLukuKA7IPC;UEhG1Inp*_T;U}hrtYCeMUJLL)3$Ok)vhR85UcHw~;f#4wz(k9^Z!4L^}^9{}SHrX`$}PN$JAm4~sAD*l{V$ z4t2dPedq1BX|EKnJwhE56Vh+^1l&4}5KsmDoQa&P90blWVABK10#2@q4Z@l9x{Wb{ zLT;yxu)3Th>@GPiWYago7oPZz^x;s~#!WxzqRG-HY`H=gT+8(KmFiw*e~>4;h*{?Z-Y8(#@eJ^NUFpv zTvc6KB7I-Fz^1out?RY0lucK!dNa5)l^|F}XrDnGzBqvm0$ZwLhvX&~*3BTT05u2> zURk*XqOdC+unW;4V;Km8$vMC&utv;Inp(Wv>)pRCa@V$&mQ9Z?U%jhmc) zf056aGtku2o7-19lCv^t(O`Y+wya)m2rdXLQ4dRqL_aBnIr2EAWSa=(VPH4&SaOsw z^X2emHoa+fm_5YD)IxY}y?DU;IE{K>;$pln?^dZoQ>WnQATK|KA~Im1M}E$JzH5$* z&Jj5B7#oEnPfuvH!H5U5^Du~)VU+y25RD|GaP}xW`t8eC?mNzo@415MrK@y-bWj?j zxzc4iN_qb!*GIn7qe9|QjKKd9K~XLcTzK*{JH2OiWENwerfpIc5`vrlSk?gZdf0S? z#~-q62myF2%Tk_YJ=9~brPrj#X^&(EJ&sg6dl6k1%V(H)7|r={G}$6CO_DC2JkE#> z$oYPr^W|hDr~H3ACtaag?A+Ja{la7e#^s@Pg*;G~x2_RxoxFb9(a$?qc|97z`0jbe zF{t0XVfABoya6317%Su~4e6}sXqI$kt)OrCdaWOfoz#ZxKTVW3E$Pru=O<&I4x@Fo z(F>BBj!9@jq5YgR*TL4$O%fp@H{e|6ynNAPH#6q{o*#V%HxckHjT1`eB~76Y;rLMK zgaC{|kW;a2U+6N3arnOY0$@~rS`{ZWL%b@iVbAg6v;_z(A%1f{={#z zX9kCiwIUp$FON1BXgZB3?Q$(D@=)=f&085;K2q88z=Or^iuFC4E*3X7<=9p=Fk5I; znpzuZt!?cz7iGIzZPI@i=Q;D6YPsMXbOTjj2VMivy1*B2)nM1fETqNt-HdM0pOOrO z=ocDz(}v>1>mS0KPp^>cj|;niNWyMJm*pq*MJucJ71h&`JKG9sT#Rk)V->9(BR|cp z+Pvjlb?(~8qnX(i0+Fs(93hjNw6!!s2^^cgf%rC)v@;3X_^?S}Y8f1;{Sd=!@as5u zg`;5iaZdU7x=T}6@e7i zsPo+6w6xMP(~J-rFi< zpW{1D1}vSCr1;|ERk3{G(GXYE+_I^EMz87n;|)g19Pr7%_P0i)x-8shE1vP zTP+5?4s8Fw_Eygq%FiaK{zdG}*Us5kHYA#lp9CI1Cd5zwU&ha02_KiNxz)`ZDa+~l zqOz*7X!x{Nus%e!tEK?qv$S%{=5tj`5kBS8r|gUJ?93zhTM&FZ8v?}L5Yec)-EoQ`!XoXTQw(rs=jEfs;sD98XxJn6`O5${`A<=s&kvSRNl4sNM?5VtcE6) zKRWRveK{f%m6yH+?lxX|8SPKBDq_X{1cRKj;%tQH294T}-7_AaG?VXl{I$Z1x@+jm za*z1?yV}>UZyd^5wymk>_F!`py-=3!iceX)W_5jfa6x&-B3*L*@@ju_Bw&*rohQ$q zv2${IFvkdeMx9np4{;j5s8r~gKOx%u@O%(O=g}Sr+28GPQ*mm_o}ZgluxwLpe}5k% z{+ZR;@lERWJ=i5W$CLMJed=m?u9k-#3xo?1P zhl?JoZEJ1ZmQ$49gr%xj+qsigN#~nZHs#T(+35<-+zy|&f;s+hgGyg|tI`7je`i12 zA3k+(l9{9|dS!MRpUDby@C<<>K+i_rBX#LSAvT^PJlV{0%?5}@FDw5(*}|F+HnW!S z_;@o5jE{p|HJTpK>@+DJur(kfn2Z5*bJ}=$-DJ0nLf|xNvMi@&tYRrG zl(%njMnT0BrJ34uJf0j^N$F61WgsgnP+31z8YywntG-$*v()%TS1t0_Ha#*L7=5&< zropvZw#xoF8~I$W`sn2F9{@O@vLcJ^@BT0*{j2|wziENc@81yGm|%c2sk$6#sVP)J zWT7o)Kk%$x7XXNk5gMSBy!~SI6h@+(%oYePONlc!7qIPI#0BSDiC?-(%EI-lxxlOI z!(}C|oWjB!dUbTQtD&apQ3(4;Q>}l|s!?B!g<0i_&x`E^cAOrAXK~*WSPSZesBGbT z#5{!gMo)AD$F-QlW$x@O;t-?{gG@0qgS9=#WC z2+XuqfnW*1O0n~J>ihKSZ(zqDS=Aa%kHkXFn!R7t35&p2G!-D)>D#UB^?a%v7y}w= z{Y)k|oCa=9(o?Xr>AW3^VY0Z`U6_jxW-m8(twDI$`oBK?SZzW?&ztLJ52+7=S8cJH zwzdJzN8mHpx4GMNON&cda1wQ{-`cke2mxI#F}H^GQ&g^rp8D2h`a=lwkvmz>q8|eo z#T8_b!-RSt3}4uW!!8`hggh_Pa!lr=lCR~m{3`#R+udgkP2Wgrt-t9dUDgYFRzJ}* z`muiGEIA9#GiTN*IG3EH6L*?liSo<2yLUc9sH@&sVGlo`rV(n98U2(+{RE6&YKod? zaAr1n1m;7==ZuG}?g8K>_pb0Salh{~;P0gV00AZrlz{p;kB#%est4k};G2vONEsz0 z%-e{HjlGB%Lx>u@izLQtGWw7(PSJlsLggF#)y>v~dePRaj_pfT2KJv8>PSaiZFU?~ RZw@?H7o**kcZbjT{{iqoifjM? diff --git a/examples/M5Stack/load_from_sd/load_from_sd.ino b/examples/M5Stack/load_from_sd/load_from_sd.ino index b8fb269..85d6e1a 100644 --- a/examples/M5Stack/load_from_sd/load_from_sd.ino +++ b/examples/M5Stack/load_from_sd/load_from_sd.ino @@ -12,8 +12,9 @@ void setup() { // put your setup code here, to run once: M5.begin(); - M5.Lcd.fillScreen(BLACK); + M5.Lcd.fillScreen(TFT_BLACK); + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -26,22 +27,23 @@ void setup() render.setDrawer(M5.Lcd); // Set drawer object /* You can also be written as follows. */ // render.setDrawPixel(M5.Lcd.drawPixel); - // render.setStartWrite(M5.Lcd.startWrite); // optional - // render.setEndWrite(M5.Lcd.endWrite); // optional + // render.setDrawFastHLine(M5.Lcd.drawFastHLine); // optional + // render.setStartWrite(M5.Lcd.startWrite); // optional + // render.setEndWrite(M5.Lcd.endWrite); // optional unsigned long t_start = millis(); - - render.setFontColor(WHITE); + + render.setFontColor(TFT_WHITE); render.printf("Hello World\n"); render.seekCursor(0, 10); render.setFontSize(30); - render.setFontColor(GREEN); + render.setFontColor(TFT_GREEN); render.printf("完全なUnicodeサポート\n"); render.seekCursor(0, 10); - + render.setFontSize(40); - render.setFontColor(ORANGE); + render.setFontColor(TFT_ORANGE); render.printf("こんにちは世界\n"); unsigned long t_end = millis(); diff --git a/examples/M5Stack/use_LovyanGFX/binaryttf.h b/examples/M5Stack/use_LovyanGFX/binaryttf.h index 2417f5d..c7f6447 100644 --- a/examples/M5Stack/use_LovyanGFX/binaryttf.h +++ b/examples/M5Stack/use_LovyanGFX/binaryttf.h @@ -1,43 +1,43 @@ #ifndef _BINARYTTF_H_ #define _BINARYTTF_H_ -const unsigned char binaryttf[6456] = { +const unsigned char binaryttf[14344] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, -0x61, 0x70, 0x09, 0x9D, 0x21, 0xE0, 0x00, 0x00, 0x0B, 0xA8, -0x00, 0x00, 0x00, 0xD4, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x61, 0x70, 0x0A, 0x07, 0x22, 0x62, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0x94, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, 0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, 0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, -0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0xE2, 0x8C, 0xD7, 0xF3, -0x00, 0x00, 0x0D, 0x58, 0x00, 0x00, 0x0B, 0xE0, 0x68, 0x65, -0x61, 0x64, 0x35, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0xEC, -0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x91, -0x03, 0x93, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, -0x68, 0x6D, 0x74, 0x78, 0x54, 0xAE, 0x09, 0x6A, 0x00, 0x00, -0x0C, 0xEC, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6F, 0x63, 0x61, -0x00, 0x00, 0x86, 0x7C, 0x00, 0x00, 0x0C, 0x7C, 0x00, 0x00, -0x00, 0x70, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x35, 0x00, 0x7C, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0x3C, 0x78, 0xF7, 0x7E, +0x00, 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x28, 0x58, 0x68, 0x65, +0x61, 0x64, 0x34, 0xE5, 0x1A, 0x67, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x5F, +0x03, 0xD7, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x15, 0xB8, 0x1D, 0xCF, 0x00, 0x00, +0x0D, 0xF8, 0x00, 0x00, 0x01, 0xB8, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x07, 0xE5, 0xA0, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x00, +0x01, 0xBC, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x88, 0x00, 0x83, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, 0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, 0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0xA4, 0x38, 0x58, 0x6D, 0x5F, 0x0F, +0x00, 0x01, 0x00, 0x00, 0x6D, 0x8D, 0x0F, 0xE7, 0x5F, 0x0F, 0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, -0xD7, 0x12, 0x00, 0x26, 0xFF, 0xAC, 0x03, 0xF9, 0x03, 0x44, +0xD7, 0x12, 0xFF, 0xF3, 0xFF, 0x14, 0x03, 0xF9, 0x03, 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, -0x00, 0x00, 0x04, 0x00, 0x00, 0x26, 0x00, 0x07, 0x03, 0xF9, +0x00, 0x00, 0x04, 0x00, 0xFF, 0xF3, 0xFF, 0xF8, 0x03, 0xF9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, -0x00, 0x00, 0x00, 0x1B, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x01, +0x00, 0x00, 0x00, 0x6E, 0x00, 0x42, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x18, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -301,43 +301,103 @@ const unsigned char binaryttf[6456] = { 0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, 0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, 0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, -0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0xC8, -0x00, 0x00, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0E, -0x00, 0x20, 0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x65, -0x00, 0x69, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x72, 0x30, 0x53, -0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, -0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, -0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, -0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x63, 0x00, 0x69, -0x00, 0x6C, 0x00, 0x6E, 0x00, 0x72, 0x30, 0x53, 0x30, 0x61, -0x30, 0x6A, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, -0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, -0x75, 0x4C, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xBA, 0xFF, 0xAE, -0xFF, 0xAD, 0xFF, 0xA2, 0xFF, 0x9F, 0xFF, 0x9D, 0xFF, 0x9C, -0xFF, 0x9A, 0xCF, 0xBA, 0xCF, 0xAD, 0xCF, 0xA5, 0xCF, 0xA2, -0xCF, 0x7F, 0xCF, 0x5E, 0xCF, 0x4C, 0xCF, 0x38, 0xCF, 0x1A, -0xB2, 0x01, 0xAE, 0xB0, 0xA4, 0x8D, 0x8A, 0xCE, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x88, +0x00, 0x00, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x03, 0x00, 0x0E, +0x00, 0x7E, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, +0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, +0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, +0x00, 0x00, 0x00, 0x20, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6A, +0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, +0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, +0xFF, 0xFF, 0xFF, 0xE1, 0xD0, 0x0D, 0xD0, 0x00, 0xCF, 0xF8, +0xCF, 0xF5, 0xCF, 0xD2, 0xCF, 0xB1, 0xCF, 0x9F, 0xCF, 0x8B, +0xCF, 0x6D, 0xB2, 0x54, 0xAF, 0x03, 0xA4, 0xE0, 0x8B, 0x21, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, -0x00, 0x64, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x01, 0x08, -0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x01, 0xE8, 0x00, 0x00, -0x02, 0x50, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x02, 0xAC, -0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, -0x03, 0x98, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0xAC, -0x00, 0x00, 0x05, 0x94, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, -0x06, 0xD4, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00, 0x07, 0xD8, -0x00, 0x00, 0x08, 0x2C, 0x00, 0x00, 0x08, 0xF4, 0x00, 0x00, -0x09, 0x18, 0x00, 0x00, 0x09, 0xA8, 0x00, 0x00, 0x0A, 0x38, -0x00, 0x00, 0x0B, 0x08, 0x00, 0x00, 0x0B, 0xE0, 0x04, 0x00, -0x01, 0x92, 0x01, 0x1C, 0x00, 0x00, 0x02, 0xC7, 0x00, 0x54, -0x02, 0xA8, 0x00, 0x4A, 0x03, 0x89, 0x00, 0x2B, 0x01, 0xFA, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, +0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0x88, +0x00, 0x00, 0x02, 0x28, 0x00, 0x00, 0x02, 0xE0, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x03, 0x70, +0x00, 0x00, 0x03, 0xB8, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, +0x04, 0x10, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x04, 0x50, +0x00, 0x00, 0x04, 0x74, 0x00, 0x00, 0x04, 0xD4, 0x00, 0x00, +0x05, 0x08, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00, 0x05, 0xEC, +0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x06, 0xB0, 0x00, 0x00, +0x07, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x08, 0x34, +0x00, 0x00, 0x08, 0xC8, 0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0x4C, 0x00, 0x00, 0x09, 0x80, +0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x0A, 0x34, 0x00, 0x00, +0x0B, 0x2C, 0x00, 0x00, 0x0B, 0x70, 0x00, 0x00, 0x0C, 0x08, +0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x0C, 0xC8, 0x00, 0x00, +0x0D, 0x14, 0x00, 0x00, 0x0D, 0x54, 0x00, 0x00, 0x0D, 0xCC, +0x00, 0x00, 0x0E, 0x14, 0x00, 0x00, 0x0E, 0x38, 0x00, 0x00, +0x0E, 0x7C, 0x00, 0x00, 0x0E, 0xC8, 0x00, 0x00, 0x0E, 0xF8, +0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x0F, 0x84, 0x00, 0x00, +0x0F, 0xE4, 0x00, 0x00, 0x10, 0x44, 0x00, 0x00, 0x10, 0xC0, +0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x11, 0xC8, 0x00, 0x00, +0x11, 0xFC, 0x00, 0x00, 0x12, 0x4C, 0x00, 0x00, 0x12, 0x80, +0x00, 0x00, 0x12, 0xD4, 0x00, 0x00, 0x13, 0x14, 0x00, 0x00, +0x13, 0x4C, 0x00, 0x00, 0x13, 0x8C, 0x00, 0x00, 0x13, 0xC4, +0x00, 0x00, 0x13, 0xE4, 0x00, 0x00, 0x14, 0x1C, 0x00, 0x00, +0x14, 0x48, 0x00, 0x00, 0x14, 0x6C, 0x00, 0x00, 0x14, 0x8C, +0x00, 0x00, 0x15, 0x24, 0x00, 0x00, 0x15, 0xA4, 0x00, 0x00, +0x16, 0x04, 0x00, 0x00, 0x16, 0x84, 0x00, 0x00, 0x16, 0xEC, +0x00, 0x00, 0x17, 0x4C, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00, +0x18, 0x80, 0x00, 0x00, 0x18, 0xB8, 0x00, 0x00, 0x19, 0x08, +0x00, 0x00, 0x19, 0x4C, 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, +0x1A, 0x00, 0x00, 0x00, 0x1A, 0x58, 0x00, 0x00, 0x1A, 0xAC, +0x00, 0x00, 0x1B, 0x2C, 0x00, 0x00, 0x1B, 0xAC, 0x00, 0x00, +0x1B, 0xEC, 0x00, 0x00, 0x1C, 0x70, 0x00, 0x00, 0x1C, 0xD0, +0x00, 0x00, 0x1D, 0x2C, 0x00, 0x00, 0x1D, 0x60, 0x00, 0x00, +0x1D, 0xB4, 0x00, 0x00, 0x1D, 0xF0, 0x00, 0x00, 0x1E, 0x34, +0x00, 0x00, 0x1E, 0x74, 0x00, 0x00, 0x1F, 0x04, 0x00, 0x00, +0x1F, 0x28, 0x00, 0x00, 0x1F, 0xB8, 0x00, 0x00, 0x20, 0x10, +0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x21, 0x24, 0x00, 0x00, +0x22, 0x0C, 0x00, 0x00, 0x22, 0x7C, 0x00, 0x00, 0x23, 0x4C, +0x00, 0x00, 0x23, 0xDC, 0x00, 0x00, 0x24, 0x50, 0x00, 0x00, +0x24, 0xA4, 0x00, 0x00, 0x25, 0x6C, 0x00, 0x00, 0x25, 0x90, +0x00, 0x00, 0x26, 0x20, 0x00, 0x00, 0x26, 0xB0, 0x00, 0x00, +0x27, 0x80, 0x00, 0x00, 0x28, 0x58, 0x04, 0x00, 0x01, 0x92, +0x01, 0x1C, 0x00, 0x00, 0x01, 0x6A, 0x00, 0x73, 0x01, 0xBC, +0x00, 0x45, 0x02, 0xBC, 0x00, 0x30, 0x02, 0x56, 0x00, 0x35, +0x03, 0x60, 0x00, 0x26, 0x02, 0xF0, 0x00, 0x35, 0x01, 0x0E, +0x00, 0x4A, 0x01, 0xA3, 0x00, 0x45, 0x01, 0xA3, 0x00, 0x2B, +0x02, 0x17, 0x00, 0x30, 0x02, 0xF0, 0x00, 0x4F, 0x01, 0x56, +0x00, 0x3A, 0x01, 0xE5, 0x00, 0x4F, 0x01, 0x42, 0x00, 0x5E, +0x02, 0x1E, 0x00, 0x21, 0x02, 0x85, 0x00, 0x2E, 0x02, 0x85, +0x00, 0x71, 0x02, 0x85, 0x00, 0x57, 0x02, 0x85, 0x00, 0x57, +0x02, 0x85, 0x00, 0x0F, 0x02, 0x85, 0x00, 0x61, 0x02, 0x85, +0x00, 0x38, 0x02, 0x85, 0x00, 0x52, 0x02, 0x85, 0x00, 0x2E, +0x02, 0x85, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x87, 0x01, 0xA8, +0x00, 0x4F, 0x02, 0xB2, 0x00, 0x3F, 0x03, 0x04, 0x00, 0x59, +0x02, 0xB2, 0x00, 0x5E, 0x02, 0x7F, 0x00, 0x54, 0x03, 0x4C, +0x00, 0x26, 0x02, 0xB2, 0x00, 0x1C, 0x02, 0x70, 0x00, 0x54, +0x02, 0x7F, 0x00, 0x26, 0x02, 0xAD, 0x00, 0x54, 0x02, 0x60, +0x00, 0x54, 0x02, 0x51, 0x00, 0x54, 0x02, 0xC7, 0x00, 0x26, +0x02, 0xC7, 0x00, 0x54, 0x01, 0x56, 0x00, 0x6E, 0x02, 0x28, +0x00, 0x26, 0x02, 0x89, 0x00, 0x54, 0x02, 0x5B, 0x00, 0x54, +0x03, 0x37, 0x00, 0x2B, 0x02, 0xC7, 0x00, 0x54, 0x02, 0xE5, +0x00, 0x26, 0x02, 0x75, 0x00, 0x54, 0x03, 0x04, 0x00, 0x26, +0x02, 0x89, 0x00, 0x54, 0x02, 0x42, 0x00, 0x3A, 0x02, 0x89, +0x00, 0x3A, 0x02, 0xA8, 0x00, 0x4A, 0x02, 0xB2, 0x00, 0x1C, +0x03, 0x89, 0x00, 0x2B, 0x02, 0xA8, 0x00, 0x35, 0x02, 0xA8, +0x00, 0x1C, 0x02, 0x7F, 0x00, 0x4A, 0x01, 0xF0, 0x00, 0x73, +0x02, 0x1E, 0x00, 0x30, 0x01, 0xF0, 0x00, 0x54, 0x02, 0x9E, +0x00, 0x26, 0x02, 0x4E, 0xFF, 0xFE, 0x01, 0x32, 0x00, 0x0C, +0x02, 0x2D, 0x00, 0x30, 0x02, 0x5B, 0x00, 0x4F, 0x01, 0xFA, 0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, -0x01, 0x4C, 0x00, 0x6E, 0x01, 0x4C, 0x00, 0x6E, 0x02, 0x51, -0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, 0x01, 0xDB, 0x00, 0x4A, +0x02, 0x09, 0x00, 0x35, 0x02, 0x1E, 0x00, 0x1C, 0x02, 0x56, +0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x01, 0x75, 0xFF, 0xF3, +0x02, 0x47, 0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x03, 0x28, +0x00, 0x4A, 0x02, 0x51, 0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, +0x02, 0x56, 0x00, 0x4A, 0x02, 0x56, 0x00, 0x2B, 0x01, 0xDB, +0x00, 0x4A, 0x02, 0x04, 0x00, 0x3A, 0x02, 0x09, 0x00, 0x30, +0x02, 0x4C, 0x00, 0x45, 0x02, 0x37, 0x00, 0x21, 0x03, 0x2D, +0x00, 0x2B, 0x02, 0x37, 0x00, 0x30, 0x02, 0x47, 0x00, 0x26, +0x02, 0x2D, 0x00, 0x4A, 0x02, 0x19, 0x00, 0x3A, 0x01, 0x75, +0x00, 0x87, 0x02, 0x19, 0x00, 0x59, 0x02, 0xD1, 0x00, 0x35, 0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, 0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, 0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, @@ -346,307 +406,1036 @@ const unsigned char binaryttf[6456] = { 0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, 0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, -0x00, 0xDC, 0xFF, 0x24, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, -0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x17, 0x40, 0x0A, -0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, 0x71, 0x06, 0x02, 0x04, -0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, -0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, 0x71, 0x71, 0xFE, 0xC3, -0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, 0x32, 0xFD, 0x14, 0x01, -0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x4A, -0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x19, -0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, 0x07, 0x05, 0x03, 0x02, -0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, 0x00, 0xB3, 0x0C, 0x5E, -0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x14, -0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x20, 0x4A, -0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, 0xEC, 0x01, 0x05, 0x01, -0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, 0x5A, 0x01, 0xEC, 0xFE, -0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, -0x00, 0x00, 0x03, 0x5E, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, -0x00, 0x40, 0x0C, 0x0B, 0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, -0x09, 0x7B, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, -0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, -0x03, 0x23, 0x03, 0x23, 0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, -0x70, 0x02, 0x70, 0x6E, 0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, -0x9F, 0x02, 0xEC, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, -0x71, 0xFD, 0x14, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, -0x00, 0x01, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, -0x00, 0x15, 0x00, 0x1B, 0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, -0x05, 0x2B, 0x00, 0x40, 0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, -0x05, 0x08, 0x07, 0x54, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, -0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, -0x23, 0x22, 0x26, 0x26, 0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, -0x47, 0x46, 0x4A, 0x4D, 0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, -0x01, 0x0A, 0x86, 0x8F, 0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, -0x5A, 0x1C, 0x5C, 0x14, 0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, -0xFF, 0xF6, 0x02, 0x0C, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, -0x00, 0x24, 0x40, 0x0D, 0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, -0x14, 0x6B, 0x12, 0x0B, 0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, -0x40, 0x0C, 0x04, 0x03, 0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, -0x52, 0x09, 0x08, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, -0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, -0x25, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x11, 0x33, 0x11, -0x23, 0x27, 0x23, 0x0E, 0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, -0x4F, 0x36, 0x85, 0x46, 0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, -0x61, 0x5A, 0x43, 0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, -0x32, 0x5D, 0x7A, 0xBD, 0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, -0x47, 0x7B, 0x83, 0x92, 0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, -0x2B, 0x22, 0x95, 0x00, 0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, -0x01, 0xF3, 0x02, 0x1F, 0x00, 0x05, 0x00, 0x17, 0x00, 0x18, -0x00, 0x40, 0x10, 0x03, 0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, -0x0C, 0x50, 0x08, 0x07, 0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, -0x2B, 0x2B, 0x30, 0x31, 0x13, 0x33, 0x26, 0x23, 0x22, 0x06, -0x07, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, -0x10, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, -0x03, 0x6F, 0x3D, 0x41, 0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, -0x4A, 0x80, 0x8A, 0x7C, 0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, -0x94, 0x46, 0x9D, 0xA6, 0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, -0x8C, 0x84, 0x8C, 0x0E, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, +0x00, 0xF8, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x07, 0x00, 0x09, +0xB3, 0x06, 0x7B, 0x04, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x07, 0x35, 0x33, 0x15, 0x73, 0x85, 0x10, +0x66, 0x0A, 0x7B, 0x02, 0xEC, 0xFD, 0xEB, 0xD7, 0x85, 0x85, +0x00, 0x00, 0x00, 0x02, 0x00, 0x45, 0x02, 0x0A, 0x01, 0x78, +0x03, 0x14, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, 0x00, 0x30, +0x31, 0x13, 0x33, 0x03, 0x23, 0x13, 0x33, 0x03, 0x23, 0x45, +0x70, 0x0F, 0x52, 0xB3, 0x71, 0x10, 0x51, 0x03, 0x14, 0xFE, +0xF6, 0x01, 0x0A, 0xFE, 0xF6, 0x00, 0x00, 0x02, 0x00, 0x30, +0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, 0x00, 0x1B, 0x00, 0x1F, +0x00, 0x17, 0x00, 0x40, 0x10, 0x1C, 0x0F, 0x03, 0x58, 0x0D, +0x09, 0x05, 0x0A, 0x1B, 0x17, 0x13, 0x58, 0x1E, 0x11, 0x01, +0x0A, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x35, 0x33, 0x37, 0x23, +0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, +0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, +0x07, 0x23, 0x37, 0x01, 0x23, 0x07, 0x33, 0x30, 0x78, 0x28, +0x6D, 0x7D, 0x1D, 0x66, 0x1C, 0x7B, 0x1C, 0x67, 0x1D, 0x64, +0x74, 0x28, 0x69, 0x79, 0x21, 0x66, 0x21, 0x7B, 0x21, 0x66, +0x21, 0x01, 0x18, 0x7B, 0x28, 0x7B, 0xB8, 0x58, 0xE0, 0x58, +0xA4, 0xA4, 0xA4, 0xA4, 0x58, 0xE0, 0x58, 0xB8, 0xB8, 0xB8, +0xB8, 0x01, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x35, +0xFF, 0xA9, 0x02, 0x21, 0x03, 0x43, 0x00, 0x1C, 0x00, 0x22, +0x00, 0x27, 0x00, 0x1D, 0x40, 0x15, 0x19, 0x6C, 0x1F, 0x1E, +0x04, 0x25, 0x24, 0x6A, 0x0B, 0x0A, 0x05, 0x22, 0x1C, 0x16, +0x10, 0x56, 0x27, 0x0E, 0x07, 0x01, 0x0F, 0x2B, 0x2B, 0x2B, +0x00, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x35, 0x16, +0x17, 0x35, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, +0x15, 0x16, 0x17, 0x15, 0x26, 0x27, 0x15, 0x1E, 0x01, 0x14, +0x06, 0x07, 0x35, 0x36, 0x35, 0x34, 0x26, 0x27, 0x03, 0x06, +0x15, 0x14, 0x17, 0x01, 0x56, 0x56, 0x64, 0x57, 0x57, 0x64, +0x6A, 0x61, 0x67, 0x64, 0x56, 0x5A, 0x57, 0x4F, 0x62, 0x71, +0x5A, 0x68, 0x63, 0x5F, 0x29, 0x36, 0x56, 0x61, 0x61, 0x57, +0x67, 0x06, 0x22, 0x67, 0x2E, 0x07, 0xF2, 0x21, 0x64, 0x48, +0x4C, 0x5D, 0x08, 0x69, 0x68, 0x04, 0x1A, 0x62, 0x1E, 0x07, +0xDA, 0x22, 0x60, 0xA4, 0x63, 0x0B, 0x5C, 0x11, 0x53, 0x2A, +0x33, 0x14, 0x01, 0x3D, 0x0B, 0x4C, 0x48, 0x23, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xF6, 0x03, 0x3A, 0x02, 0xF6, 0x00, 0x03, +0x00, 0x0C, 0x00, 0x15, 0x00, 0x1A, 0x00, 0x1F, 0x00, 0x31, +0x40, 0x12, 0x10, 0x6B, 0x1D, 0x00, 0x07, 0x6B, 0x18, 0x00, +0x1F, 0x1B, 0x6B, 0x14, 0x01, 0x1A, 0x16, 0x6B, 0x0B, 0x01, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x12, 0x52, 0x1C, +0x00, 0x09, 0x52, 0x17, 0x00, 0x1E, 0x52, 0x0E, 0x00, 0x19, +0x52, 0x05, 0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x01, 0x23, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, +0x26, 0x34, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, +0x34, 0x01, 0x14, 0x32, 0x34, 0x22, 0x25, 0x14, 0x32, 0x34, +0x22, 0x02, 0x3F, 0x71, 0xFE, 0x71, 0x71, 0x01, 0x53, 0x2F, +0xAA, 0x5E, 0x5E, 0xAA, 0x5E, 0xFE, 0x81, 0x2F, 0xAA, 0x5E, +0x5E, 0xAA, 0x5E, 0x02, 0x19, 0x90, 0x90, 0xFE, 0x52, 0x90, +0x90, 0x02, 0xEC, 0xFD, 0x14, 0x01, 0x52, 0x33, 0x67, 0xC1, +0x67, 0x67, 0xC1, 0x01, 0xA5, 0x33, 0x68, 0xC0, 0x68, 0x68, +0xC0, 0xFE, 0x2F, 0x75, 0xEB, 0xFB, 0x76, 0xEC, 0x00, 0x03, +0x00, 0x35, 0xFF, 0xF6, 0x02, 0xEE, 0x02, 0xF6, 0x00, 0x1B, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x2A, 0x40, 0x12, 0x03, 0x02, +0x69, 0x1F, 0x1E, 0x05, 0x24, 0x23, 0x6E, 0x19, 0x18, 0x05, +0x2B, 0x2A, 0x71, 0x13, 0x12, 0x05, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x11, 0x10, 0x58, 0x2D, 0x2C, 0x05, 0x21, 0x20, +0x56, 0x1B, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, +0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x36, 0x37, 0x33, 0x06, +0x07, 0x17, 0x23, 0x27, 0x06, 0x23, 0x22, 0x35, 0x34, 0x36, +0x37, 0x27, 0x26, 0x35, 0x34, 0x36, 0x13, 0x3E, 0x01, 0x35, +0x34, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x27, 0x0E, +0x01, 0x15, 0x14, 0x33, 0x32, 0x01, 0x4A, 0x67, 0x6B, 0x49, +0x5A, 0x9A, 0x21, 0x0B, 0x6C, 0x12, 0x3E, 0x93, 0x86, 0x4C, +0x66, 0x8B, 0xF6, 0x4D, 0x60, 0x0A, 0x65, 0x70, 0x55, 0x4C, +0x2F, 0x69, 0x32, 0x37, 0x1E, 0xDB, 0xB7, 0x46, 0x37, 0x8A, +0x66, 0x02, 0xF6, 0x54, 0x4B, 0x37, 0x63, 0x3B, 0xA0, 0x43, +0x56, 0x86, 0x5C, 0x99, 0x4F, 0x59, 0xB8, 0x37, 0x69, 0x40, +0x0B, 0x66, 0x53, 0x4B, 0x59, 0xFE, 0xD0, 0x32, 0x38, 0x22, +0x4E, 0x2A, 0x24, 0x1F, 0x32, 0xFE, 0x90, 0xBB, 0x2E, 0x48, +0x23, 0x65, 0x00, 0x01, 0x00, 0x4A, 0x02, 0x0A, 0x00, 0xC5, +0x03, 0x14, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x4A, 0x7B, 0x10, 0x5C, 0x03, 0x14, 0xFE, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0x61, +0x01, 0x78, 0x03, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x0A, +0x00, 0x6B, 0x05, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x13, 0x10, +0x17, 0x23, 0x2E, 0x01, 0x10, 0x36, 0x37, 0x33, 0x06, 0xB0, +0xC8, 0x67, 0x62, 0x6A, 0x6A, 0x62, 0x67, 0xC8, 0x01, 0x3B, +0xFE, 0xE8, 0xC2, 0x5A, 0xF6, 0x01, 0x15, 0xF4, 0x5A, 0xC1, +0x00, 0x01, 0x00, 0x2B, 0xFF, 0x61, 0x01, 0x5E, 0x03, 0x14, +0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x03, 0x6B, 0x09, 0x08, 0x04, +0x2B, 0x00, 0x30, 0x31, 0x13, 0x33, 0x1E, 0x01, 0x10, 0x06, +0x07, 0x23, 0x36, 0x11, 0x10, 0x2B, 0x66, 0x63, 0x6A, 0x6A, +0x63, 0x66, 0xC8, 0x03, 0x14, 0x5A, 0xF4, 0xFE, 0xEB, 0xF6, +0x5A, 0xC2, 0x01, 0x18, 0x01, 0x18, 0x00, 0x01, 0x00, 0x30, +0x01, 0x4E, 0x01, 0xE6, 0x03, 0x14, 0x00, 0x11, 0x00, 0x03, +0x00, 0x30, 0x31, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, +0x27, 0x17, 0x23, 0x37, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, +0x27, 0x01, 0x37, 0x07, 0x8A, 0x2C, 0x91, 0x91, 0x2C, 0x8A, +0x07, 0x58, 0x07, 0x8A, 0x2C, 0x92, 0x92, 0x2C, 0x8A, 0x07, +0x03, 0x14, 0xA3, 0x58, 0x4C, 0x4C, 0x4C, 0x4B, 0x58, 0xA4, +0xA4, 0x58, 0x4B, 0x4C, 0x4C, 0x4C, 0x58, 0xA3, 0x00, 0x01, +0x00, 0x4F, 0x00, 0x00, 0x02, 0xA1, 0x02, 0x52, 0x00, 0x0B, +0x00, 0x13, 0xB5, 0x04, 0x00, 0x5C, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0xB5, 0x07, 0x03, 0x56, 0x09, 0x01, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, +0x35, 0x33, 0x35, 0x01, 0xA6, 0xFB, 0xFB, 0x5C, 0xFB, 0xFB, +0x02, 0x52, 0xFE, 0x56, 0xFE, 0xFE, 0x56, 0xFE, 0x00, 0x01, +0x00, 0x3A, 0xFF, 0x8F, 0x01, 0x11, 0x00, 0x9A, 0x00, 0x03, +0x00, 0x03, 0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x82, +0x8F, 0x70, 0x67, 0x9A, 0xFE, 0xF5, 0x00, 0x01, 0x00, 0x4F, +0x00, 0xFE, 0x01, 0x97, 0x01, 0x54, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x56, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x21, 0x15, 0x4F, 0x01, 0x48, 0xFE, 0x56, 0x56, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x00, 0x00, 0xE3, +0x00, 0x9A, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x33, +0x35, 0x33, 0x15, 0x5E, 0x85, 0x9A, 0x9A, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x21, 0xFF, 0xD7, 0x01, 0xEE, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x09, 0x01, 0x23, +0x01, 0x01, 0xEE, 0xFE, 0x9E, 0x6B, 0x01, 0x61, 0x02, 0xEC, +0xFC, 0xEB, 0x03, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x08, 0x00, 0x11, +0x00, 0x19, 0xB7, 0x03, 0x71, 0x0C, 0x00, 0x10, 0x71, 0x07, +0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5A, 0x0A, 0x00, 0x0E, +0x5A, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x36, 0x20, +0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, 0x32, 0x36, +0x10, 0x26, 0x22, 0x06, 0x10, 0x74, 0x44, 0x01, 0x15, 0x8A, +0x8A, 0xFE, 0xEB, 0x8A, 0x9A, 0x28, 0xA6, 0x50, 0x50, 0xA6, +0x51, 0x02, 0x9B, 0x5B, 0xB7, 0xFE, 0x6D, 0xB6, 0xB6, 0x01, +0x93, 0xFE, 0x54, 0x43, 0x86, 0x01, 0x40, 0x86, 0x86, 0xFE, +0xC0, 0x00, 0x00, 0x01, 0x00, 0x71, 0x00, 0x00, 0x01, 0xAE, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0xB3, 0x01, 0x71, 0x03, +0x00, 0x2B, 0x00, 0xB3, 0x04, 0x7B, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x07, 0x35, 0x01, +0x3D, 0x71, 0x71, 0x02, 0xCA, 0x02, 0xEC, 0xFD, 0x14, 0x02, +0x71, 0xA4, 0x7B, 0x00, 0x00, 0x01, 0x00, 0x57, 0x00, 0x00, +0x02, 0x2E, 0x02, 0xF6, 0x00, 0x14, 0x00, 0x1A, 0xB6, 0x12, +0x11, 0x02, 0x75, 0x08, 0x07, 0x06, 0x2B, 0x00, 0x40, 0x0A, +0x0A, 0x09, 0x5E, 0x0F, 0x0E, 0x05, 0x03, 0x5C, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x37, 0x15, 0x21, 0x15, 0x21, 0x35, +0x3E, 0x01, 0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0xF1, 0x01, 0x3D, 0xFE, 0x29, +0xD1, 0x91, 0x8B, 0x5C, 0x6C, 0x63, 0x74, 0x73, 0x7E, 0x82, +0x5E, 0x02, 0x5C, 0x5C, 0xA6, 0xBB, 0x57, 0x84, 0x3C, 0x6C, +0x2E, 0x72, 0x65, 0x67, 0xBE, 0x00, 0x00, 0x01, 0x00, 0x57, +0xFF, 0xF6, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x21, 0x00, 0x2A, +0x40, 0x0C, 0x1A, 0x19, 0x6E, 0x10, 0x0F, 0x05, 0x1F, 0x1E, +0x70, 0x08, 0x07, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x12, +0x11, 0x5C, 0x17, 0x16, 0x05, 0x0B, 0x0A, 0x5C, 0x0E, 0x0D, +0x05, 0x21, 0x00, 0x5C, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x35, 0x34, +0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, +0x07, 0x15, 0x16, 0x15, 0x14, 0x06, 0x01, 0x31, 0x79, 0x61, +0x67, 0x6D, 0x50, 0x54, 0x66, 0x75, 0x33, 0x33, 0xCF, 0x8E, +0x6F, 0x65, 0x62, 0x83, 0x6E, 0x7D, 0xA0, 0xAE, 0x8E, 0x0A, +0x2E, 0x64, 0x36, 0x48, 0x42, 0x41, 0x3F, 0x5C, 0x7B, 0x67, +0x37, 0x65, 0x2E, 0x5E, 0x50, 0x8F, 0x29, 0x02, 0x1A, 0x9D, +0x6A, 0x77, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x4D, +0x02, 0xEC, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x19, 0x40, 0x0A, +0x03, 0x71, 0x0C, 0x00, 0x0F, 0x08, 0x6F, 0x0A, 0x00, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x0B, 0x07, 0x5A, 0x05, 0x04, 0x05, +0x2B, 0x30, 0x31, 0x25, 0x11, 0x23, 0x03, 0x15, 0x21, 0x33, +0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x01, +0x66, 0x02, 0xE4, 0x01, 0x55, 0x78, 0x78, 0x6F, 0xFE, 0xA9, +0x01, 0x57, 0x6F, 0xFE, 0x01, 0x4B, 0xFE, 0xB7, 0x02, 0x5A, +0xA4, 0xA4, 0x5A, 0x01, 0xEE, 0x00, 0x00, 0x01, 0x00, 0x61, +0xFF, 0xF6, 0x02, 0x38, 0x02, 0xEC, 0x00, 0x19, 0x00, 0x20, +0xB5, 0x03, 0x02, 0x70, 0x0D, 0x0C, 0x05, 0x2B, 0x00, 0x40, +0x10, 0x15, 0x5D, 0x13, 0x00, 0x06, 0x05, 0x5C, 0x0B, 0x0A, +0x05, 0x0F, 0x0E, 0x58, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x07, +0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x33, 0x36, 0x01, 0x57, +0x6B, 0x76, 0x91, 0x8D, 0x63, 0x56, 0x67, 0x52, 0xAE, 0x85, +0x4C, 0x2F, 0x62, 0x15, 0x01, 0x9F, 0xFE, 0xC7, 0x0A, 0x02, +0x37, 0x01, 0xE1, 0x79, 0x6D, 0x81, 0x84, 0x24, 0x68, 0x30, +0xA9, 0x8E, 0x2D, 0x01, 0x90, 0x5D, 0xCC, 0x1E, 0x00, 0x02, +0x00, 0x38, 0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x15, +0x00, 0x21, 0x00, 0x2A, 0x40, 0x0C, 0x06, 0x05, 0x71, 0x19, +0x18, 0x05, 0x1F, 0x1E, 0x73, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x5C, 0x21, 0x16, 0x05, 0x13, +0x12, 0x5C, 0x0E, 0x0D, 0x05, 0x1C, 0x1B, 0x55, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x17, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x20, 0x11, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x13, 0x32, +0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, +0xB2, 0x02, 0x3E, 0x6F, 0x72, 0x84, 0x93, 0x7C, 0xFE, 0xF0, +0xA4, 0x9A, 0x4D, 0x42, 0x40, 0x4F, 0x50, 0x6A, 0x8C, 0x4A, +0x54, 0x57, 0x47, 0x46, 0x57, 0x58, 0x01, 0xB9, 0x01, 0x3E, +0x85, 0x71, 0x7D, 0x8D, 0x01, 0x52, 0xD8, 0xD6, 0x15, 0x61, +0x1A, 0x75, 0xFE, 0x2D, 0x59, 0x55, 0x4A, 0x57, 0x59, 0x48, +0x50, 0x5E, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x02, 0x3D, +0x02, 0xEC, 0x00, 0x0A, 0x00, 0x0F, 0xB3, 0x01, 0x6B, 0x08, +0x00, 0x2B, 0x00, 0xB3, 0x09, 0x5D, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x21, 0x15, 0x06, 0x02, 0x07, 0x23, 0x12, 0x13, +0x35, 0x21, 0x52, 0x01, 0xEB, 0x5D, 0x88, 0x39, 0x76, 0x73, +0xB6, 0xFE, 0x80, 0x02, 0xEC, 0x5D, 0x97, 0xFE, 0xCA, 0xC2, +0x01, 0x66, 0x01, 0x27, 0x02, 0x00, 0x00, 0x03, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x0B, 0x00, 0x15, +0x00, 0x2B, 0x00, 0x2E, 0x40, 0x18, 0x09, 0x08, 0x6C, 0x1D, +0x1C, 0x05, 0x0F, 0x0E, 0x6B, 0x2B, 0x16, 0x05, 0x27, 0x26, +0x6F, 0x14, 0x13, 0x05, 0x22, 0x21, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x09, 0x06, 0x05, 0x58, +0x1F, 0x01, 0x29, 0x58, 0x11, 0x00, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x3E, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x14, 0x16, 0x17, 0x0E, 0x01, 0x15, 0x14, 0x16, 0x32, 0x36, +0x35, 0x34, 0x05, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0x35, +0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x16, 0x15, +0x14, 0x06, 0x20, 0x26, 0x01, 0x43, 0x46, 0x4C, 0x4C, 0x46, +0x46, 0x49, 0x49, 0x40, 0x50, 0x54, 0x5B, 0x9D, 0x57, 0xFE, +0x46, 0x52, 0x48, 0x3E, 0x42, 0x85, 0xEB, 0x85, 0x80, 0x9A, +0x92, 0xFE, 0xFC, 0x93, 0x01, 0xB8, 0x11, 0x41, 0x29, 0x31, +0x3A, 0x39, 0x32, 0x2B, 0x40, 0x67, 0x13, 0x4D, 0x2F, 0x3E, +0x46, 0x46, 0x3E, 0x6B, 0x70, 0x3B, 0x66, 0x1B, 0x02, 0x1B, +0x5D, 0x3A, 0x53, 0x66, 0x66, 0x53, 0x72, 0x35, 0x03, 0x34, +0x92, 0x63, 0x74, 0x74, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x4D, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x21, +0x00, 0x2A, 0x40, 0x0C, 0x0B, 0x0A, 0x73, 0x1F, 0x1E, 0x05, +0x19, 0x18, 0x71, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x12, 0x03, 0x02, 0x55, 0x1C, 0x1B, 0x05, 0x0E, 0x0D, 0x5C, +0x13, 0x12, 0x05, 0x21, 0x16, 0x5C, 0x09, 0x08, 0x05, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x27, 0x06, 0x23, 0x22, 0x26, +0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x03, 0x22, 0x06, 0x15, +0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 0xD3, +0x02, 0x3E, 0x6F, 0x73, 0x83, 0x94, 0x7B, 0x01, 0x10, 0xA1, +0x9D, 0x52, 0x47, 0x4B, 0x4E, 0x57, 0x6B, 0x94, 0x4A, 0x54, +0x57, 0x47, 0x47, 0x56, 0x59, 0x01, 0x32, 0x01, 0x3D, 0x88, +0x78, 0x76, 0x8A, 0xFE, 0xB8, 0xE4, 0xD4, 0x14, 0x62, 0x1A, +0x74, 0x01, 0xD4, 0x55, 0x4F, 0x51, 0x5A, 0x5C, 0x4F, 0x49, +0x5B, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x00, 0x00, +0x01, 0x0C, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, +0x15, 0x87, 0x85, 0x85, 0x85, 0x01, 0x8F, 0x9A, 0x9A, 0xFE, +0x71, 0x9A, 0x9A, 0x00, 0x00, 0x02, 0x00, 0x4F, 0xFF, 0x8F, +0x01, 0x26, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x13, 0x35, 0x33, +0x15, 0x97, 0x8F, 0x71, 0x66, 0x48, 0x85, 0x9A, 0xFE, 0xF5, +0x02, 0x00, 0x9A, 0x9A, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x0A, +0x02, 0x54, 0x02, 0x48, 0x00, 0x07, 0x00, 0x09, 0xB3, 0x01, +0x43, 0x05, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x05, 0x15, +0x05, 0x15, 0x25, 0x35, 0x25, 0x02, 0x54, 0xFE, 0x2E, 0x01, +0xD2, 0xFD, 0xEB, 0x02, 0x15, 0x01, 0xE6, 0xBC, 0x02, 0xBC, +0x62, 0xE7, 0x70, 0xE7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x59, +0x00, 0x85, 0x02, 0xAB, 0x01, 0xCD, 0x00, 0x03, 0x00, 0x07, +0x00, 0x0E, 0x00, 0xB7, 0x07, 0x57, 0x05, 0x00, 0x03, 0x57, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, +0x05, 0x35, 0x21, 0x15, 0x59, 0x02, 0x52, 0xFD, 0xAE, 0x02, +0x52, 0x01, 0x76, 0x57, 0x57, 0xF1, 0x57, 0x57, 0x00, 0x01, +0x00, 0x5E, 0x00, 0x0A, 0x02, 0x73, 0x02, 0x48, 0x00, 0x07, +0x00, 0x09, 0xB3, 0x02, 0x43, 0x06, 0x00, 0x2B, 0x00, 0x30, +0x31, 0x13, 0x35, 0x05, 0x15, 0x05, 0x35, 0x25, 0x35, 0x5E, +0x02, 0x15, 0xFD, 0xEB, 0x01, 0xD2, 0x01, 0xE6, 0x62, 0xE7, +0x70, 0xE7, 0x62, 0xBC, 0x02, 0x00, 0x00, 0x02, 0x00, 0x54, +0x00, 0x00, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x1D, 0x00, 0x21, +0x00, 0x1E, 0x40, 0x0E, 0x20, 0x7B, 0x1E, 0x00, 0x14, 0x13, +0x75, 0x0A, 0x09, 0x05, 0x1D, 0x71, 0x01, 0x00, 0x2B, 0x2B, +0x2B, 0x00, 0xB5, 0x0C, 0x0B, 0x5E, 0x11, 0x10, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x23, 0x34, 0x3E, 0x02, 0x37, 0x3E, 0x02, +0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, +0x15, 0x14, 0x0E, 0x02, 0x07, 0x0E, 0x03, 0x07, 0x35, 0x33, +0x15, 0x01, 0x4F, 0x71, 0x17, 0x30, 0x23, 0x20, 0x22, 0x21, +0x1F, 0x95, 0x69, 0x78, 0x75, 0x7C, 0x78, 0x82, 0x12, 0x2A, +0x1F, 0x1D, 0x1F, 0x1E, 0x2A, 0x11, 0x76, 0x7B, 0xDC, 0x2C, +0x47, 0x37, 0x1E, 0x16, 0x18, 0x1C, 0x32, 0x1D, 0x5B, 0x27, +0x66, 0x1F, 0x5F, 0x4F, 0x24, 0x38, 0x2E, 0x19, 0x15, 0x15, +0x19, 0x2D, 0x36, 0xFF, 0x85, 0x85, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0x8A, 0x03, 0x26, 0x02, 0x8A, 0x00, 0x34, +0x00, 0x41, 0x00, 0x3B, 0x40, 0x0B, 0x07, 0x56, 0x12, 0x11, +0x04, 0x18, 0x17, 0x56, 0x02, 0x01, 0x05, 0x2B, 0x2B, 0x00, +0x40, 0x22, 0x22, 0x21, 0x1B, 0x1A, 0x63, 0x41, 0x35, 0x07, +0x3B, 0x3A, 0x5E, 0x28, 0x27, 0x05, 0x05, 0x04, 0x51, 0x15, +0x14, 0x05, 0x0F, 0x0E, 0x51, 0x0A, 0x09, 0x05, 0x22, 0x21, +0x1B, 0x1A, 0x48, 0x34, 0x00, 0x07, 0x2B, 0x2B, 0x2B, 0x2B, +0x2B, 0x30, 0x31, 0x25, 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, +0x06, 0x10, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, +0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, +0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x06, 0x23, 0x22, 0x27, +0x26, 0x3E, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x37, +0x33, 0x07, 0x0E, 0x01, 0x17, 0x16, 0x27, 0x32, 0x37, 0x36, +0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x17, 0x16, 0x02, +0x4F, 0x81, 0xA4, 0x86, 0x83, 0xA7, 0xA7, 0x83, 0x6E, 0x4B, +0x2D, 0x60, 0x86, 0xA3, 0xDD, 0xDA, 0xA6, 0xA8, 0xD8, 0x6F, +0x67, 0x2E, 0x1F, 0x1D, 0x08, 0x02, 0x2F, 0x51, 0x46, 0x2C, +0x33, 0x27, 0x6E, 0x4D, 0x1A, 0x1A, 0x11, 0x11, 0x02, 0x09, +0x75, 0x33, 0x0A, 0x01, 0x07, 0x07, 0xCF, 0x4C, 0x19, 0x0C, +0x14, 0x12, 0x1F, 0x24, 0x37, 0x0C, 0x0C, 0x15, 0x12, 0x86, +0x84, 0x88, 0xA7, 0xAA, 0xFE, 0xF6, 0xAA, 0x3D, 0x46, 0x48, +0xD7, 0xA9, 0xA8, 0xD8, 0xD6, 0xAA, 0x64, 0x68, 0x11, 0x0F, +0x1A, 0x3A, 0x34, 0x3C, 0xC1, 0x69, 0x0E, 0x09, 0x13, 0x27, +0xF6, 0x30, 0x1E, 0x05, 0x06, 0x1B, 0x6D, 0x38, 0x1C, 0x18, +0x39, 0x34, 0x35, 0x1F, 0x18, 0x00, 0x00, 0x02, 0x00, 0x1C, +0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x05, 0x58, 0x08, 0x00, 0x0A, 0x67, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x33, 0x01, 0x33, 0x01, +0x23, 0x27, 0x21, 0x07, 0x13, 0x33, 0x03, 0x23, 0x1C, 0x01, +0x00, 0x7B, 0x01, 0x00, 0x79, 0x3D, 0xFE, 0xEC, 0x3D, 0x58, +0xDE, 0x6E, 0x02, 0x02, 0xEC, 0xFD, 0x14, 0xC7, 0xC7, 0x01, +0x1F, 0x01, 0x66, 0x00, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, +0x02, 0x4A, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x18, 0x00, 0x21, +0x00, 0x30, 0x40, 0x11, 0x09, 0x08, 0x69, 0x1D, 0x1C, 0x05, +0x0F, 0x00, 0x6F, 0x18, 0x10, 0x05, 0x21, 0x14, 0x71, 0x04, +0x01, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x13, 0x12, 0x58, +0x1A, 0x19, 0x05, 0x03, 0x02, 0x5A, 0x16, 0x15, 0x05, 0x20, +0x1F, 0x5B, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x25, 0x14, 0x06, 0x2B, 0x01, 0x11, 0x33, 0x32, 0x16, 0x15, +0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x07, 0x34, 0x26, 0x2B, +0x01, 0x11, 0x33, 0x32, 0x36, 0x01, 0x33, 0x32, 0x36, 0x35, +0x34, 0x26, 0x2B, 0x01, 0x02, 0x4A, 0x98, 0xA6, 0xB8, 0xAE, +0x9E, 0x8B, 0x54, 0x46, 0x58, 0x61, 0x6F, 0x6A, 0x83, 0x29, +0x5C, 0x61, 0x59, 0xFE, 0xEA, 0x29, 0x72, 0x62, 0x4E, 0x5D, +0x52, 0xDC, 0x6F, 0x6D, 0x02, 0xEC, 0x59, 0x5B, 0x3C, 0x58, +0x0E, 0x03, 0x0D, 0x60, 0x40, 0x42, 0x3A, 0xFE, 0xF8, 0x44, +0x01, 0x1C, 0x37, 0x38, 0x37, 0x31, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x02, 0x30, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1A, +0xB4, 0x13, 0x73, 0x08, 0x07, 0x04, 0x2B, 0x00, 0x40, 0x0C, +0x11, 0x10, 0x5C, 0x0B, 0x0A, 0x05, 0x05, 0x04, 0x5C, 0x15, +0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, +0x15, 0x2E, 0x01, 0x23, 0x22, 0x06, 0x10, 0x16, 0x01, 0x87, +0x52, 0x57, 0x56, 0x5D, 0x9C, 0xBB, 0xB5, 0xA2, 0x5D, 0x51, +0x34, 0x3E, 0x32, 0x6E, 0x80, 0x83, 0x52, 0x1B, 0x63, 0x14, +0xC8, 0xB8, 0xB5, 0xCB, 0x15, 0x62, 0x10, 0x0B, 0x99, 0xFE, +0xE9, 0x98, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, 0x02, 0x87, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x21, 0x40, 0x0A, +0x07, 0x00, 0x6B, 0x0F, 0x08, 0x05, 0x0B, 0x71, 0x03, 0x00, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x02, 0x01, 0x5C, 0x0D, 0x0C, +0x05, 0x0A, 0x09, 0x5D, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x16, 0x07, +0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x02, 0x87, 0xFE, +0x71, 0xA4, 0xA4, 0xC5, 0xCA, 0x6B, 0xFE, 0xE6, 0x3D, 0x3D, +0x90, 0x8A, 0x01, 0x80, 0xFE, 0x80, 0x02, 0xEC, 0xBA, 0xB2, +0x01, 0x0F, 0xFD, 0xCD, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x17, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x1B, 0xB4, 0x04, 0x00, 0x71, 0x08, 0x01, 0x2B, 0x00, +0x40, 0x0C, 0x0B, 0x5D, 0x09, 0x00, 0x07, 0x5C, 0x05, 0x00, +0x03, 0x58, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, +0x15, 0xC5, 0x01, 0x3D, 0xFE, 0xC3, 0x01, 0x52, 0xFE, 0x3D, +0x01, 0xC3, 0x02, 0x8F, 0xD5, 0x58, 0xFE, 0xFA, 0x5C, 0x02, +0xEC, 0x5D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x0C, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x15, 0xB4, 0x07, +0x03, 0x71, 0x09, 0x01, 0x2B, 0x00, 0xB7, 0x06, 0x58, 0x04, +0x00, 0x02, 0x5D, 0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x54, +0x01, 0xB8, 0xFE, 0xB9, 0x01, 0x33, 0xFE, 0xCD, 0x71, 0x02, +0xEC, 0x5D, 0xDF, 0x58, 0xFE, 0xA8, 0x00, 0x00, 0x00, 0x01, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x78, 0x02, 0xF6, 0x00, 0x19, +0x00, 0x26, 0x40, 0x0A, 0x08, 0x07, 0x73, 0x17, 0x16, 0x05, +0x11, 0x6C, 0x0D, 0x00, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x0E, +0x58, 0x10, 0x00, 0x14, 0x13, 0x5A, 0x0B, 0x0A, 0x05, 0x05, +0x04, 0x5A, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x11, 0x23, 0x35, 0x21, 0x11, 0x06, +0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x01, 0xA1, 0x60, 0x53, +0x55, 0x54, 0x84, 0x8E, 0x8B, 0x73, 0x3E, 0x37, 0xDC, 0x01, +0x48, 0x6F, 0x7D, 0x9D, 0xC9, 0xCB, 0x02, 0xF6, 0x15, 0x60, +0x1B, 0x97, 0x8F, 0x89, 0x9D, 0x12, 0x01, 0x00, 0x58, 0xFE, +0x6A, 0x2E, 0xD1, 0xAF, 0xB2, 0xCE, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x17, 0x40, 0x0A, 0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, +0x71, 0x06, 0x02, 0x04, 0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, +0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x21, 0x11, 0x33, +0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, +0x71, 0x71, 0xFE, 0xC3, 0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, +0x32, 0xFD, 0x14, 0x01, 0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xE8, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x7A, 0x00, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, 0x7A, 0x02, +0xEC, 0xFD, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xDE, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x13, +0xB5, 0x09, 0x08, 0x76, 0x06, 0x05, 0x05, 0x2B, 0x00, 0xB5, +0x0C, 0x0B, 0x5C, 0x03, 0x02, 0x05, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, +0x06, 0x23, 0x22, 0x26, 0x63, 0x55, 0x48, 0x42, 0x76, 0x7B, +0x85, 0x68, 0x14, 0x67, 0x29, 0x58, 0x6A, 0x01, 0xD8, 0xFE, +0x0A, 0x86, 0x7A, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x68, 0x02, 0xEC, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x09, +0x00, 0x71, 0x0B, 0x01, 0x2B, 0x00, 0xB3, 0x08, 0x3E, 0x01, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x01, 0x33, 0x09, +0x01, 0x23, 0x01, 0x23, 0x11, 0x23, 0x11, 0xC5, 0x02, 0x01, +0x12, 0x85, 0xFE, 0xCD, 0x01, 0x3D, 0x85, 0xFE, 0xE4, 0x02, +0x71, 0x02, 0xEC, 0xFE, 0xB8, 0x01, 0x48, 0xFE, 0x99, 0xFE, +0x7B, 0x01, 0x66, 0xFE, 0x9A, 0x02, 0xEC, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x54, 0x00, 0x00, 0x02, 0x21, 0x02, 0xEC, +0x00, 0x05, 0x00, 0x0F, 0xB3, 0x00, 0x76, 0x04, 0x00, 0x2B, +0x00, 0xB3, 0x03, 0x5E, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x21, 0x15, 0x21, 0x11, 0xCA, 0x01, 0x57, 0xFE, 0x33, +0x02, 0xEC, 0xFD, 0x72, 0x5E, 0x02, 0xEC, 0x00, 0x00, 0x01, +0x00, 0x2B, 0x00, 0x00, 0x03, 0x0C, 0x02, 0xEC, 0x00, 0x0F, +0x00, 0x0B, 0x00, 0xB5, 0x0F, 0x0B, 0x07, 0x7B, 0x03, 0x02, +0x2B, 0x30, 0x31, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, +0x13, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x2B, +0x57, 0x85, 0x94, 0x02, 0x93, 0x85, 0x57, 0x70, 0x3A, 0x02, +0x89, 0x7B, 0x89, 0x02, 0x39, 0x02, 0xEC, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x52, 0xFD, 0xAE, 0x02, 0x52, 0xFD, +0xAE, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, 0xB7, 0x06, +0x6F, 0x04, 0x00, 0x0A, 0x6F, 0x00, 0x00, 0x2B, 0x2B, 0x00, +0x30, 0x31, 0x33, 0x11, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, +0x23, 0x01, 0x23, 0x11, 0x54, 0x6F, 0x01, 0x3F, 0x02, 0x6F, +0x6F, 0xFE, 0xC1, 0x02, 0x02, 0xEC, 0xFD, 0xD1, 0x02, 0x2F, +0xFD, 0x14, 0x02, 0x2E, 0xFD, 0xD2, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0xBF, 0x02, 0xF6, 0x00, 0x08, +0x00, 0x11, 0x00, 0x19, 0xB7, 0x03, 0x72, 0x0C, 0x00, 0x10, +0x73, 0x07, 0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5C, 0x0A, +0x00, 0x0E, 0x5C, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x20, 0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, +0x32, 0x36, 0x10, 0x26, 0x22, 0x06, 0x10, 0x80, 0x59, 0x01, +0x33, 0xB3, 0xB3, 0xFE, 0xCD, 0xB3, 0xAC, 0x38, 0xD1, 0x72, +0x72, 0xD1, 0x71, 0x02, 0x90, 0x66, 0xCB, 0xFE, 0x96, 0xCB, +0xCB, 0x01, 0x6A, 0xFE, 0x71, 0x4A, 0x92, 0x01, 0x23, 0x93, +0x93, 0xFE, 0xDD, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x54, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x11, 0x00, 0x22, +0x40, 0x0B, 0x07, 0x06, 0x6F, 0x0E, 0x0D, 0x05, 0x11, 0x00, +0x71, 0x02, 0x01, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x09, 0x08, +0x58, 0x0B, 0x0A, 0x05, 0x10, 0x0F, 0x5B, 0x04, 0x03, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x23, 0x11, 0x33, 0x32, +0x16, 0x15, 0x14, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, +0x2B, 0x01, 0xC5, 0x71, 0xCD, 0x9D, 0x96, 0xFE, 0xE1, 0x70, +0x66, 0x5B, 0x5F, 0xBA, 0x66, 0x01, 0x1A, 0xFE, 0xE6, 0x02, +0xEC, 0x6E, 0x6F, 0xF5, 0x58, 0x4A, 0x49, 0x8C, 0x00, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0x66, 0x03, 0x0C, 0x02, 0xF6, +0x00, 0x08, 0x00, 0x1A, 0x00, 0x1D, 0x40, 0x09, 0x03, 0x73, +0x0B, 0x00, 0x10, 0x0F, 0x72, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0x40, 0x09, 0x01, 0x5C, 0x0D, 0x00, 0x1A, 0x09, 0x5C, 0x05, +0x01, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x26, 0x22, 0x06, 0x10, +0x16, 0x32, 0x36, 0x10, 0x03, 0x22, 0x26, 0x10, 0x36, 0x20, +0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x17, 0x23, +0x2E, 0x01, 0x02, 0x14, 0x39, 0xD1, 0x71, 0x71, 0xD1, 0x72, +0xDA, 0x9A, 0xB3, 0xB3, 0x01, 0x33, 0xB3, 0x53, 0x4B, 0x42, +0x82, 0x27, 0x85, 0x37, 0x6E, 0x02, 0x51, 0x49, 0x93, 0xFE, +0xDD, 0x92, 0x92, 0x01, 0x23, 0xFD, 0xEF, 0xCB, 0x01, 0x6A, +0xCB, 0xCB, 0xB5, 0x74, 0xAA, 0x2E, 0x02, 0x16, 0x6B, 0x41, +0x57, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x5E, 0x02, 0xEC, 0x00, 0x08, 0x00, 0x1C, 0x00, 0x22, +0x40, 0x0B, 0x09, 0x01, 0x71, 0x0B, 0x01, 0x10, 0x0F, 0x6F, +0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x08, 0x00, +0x5B, 0x0D, 0x0C, 0x05, 0x1C, 0x1B, 0x58, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x03, 0x11, 0x23, 0x11, 0x33, 0x32, 0x16, +0x15, 0x14, 0x06, 0x07, 0x15, 0x16, 0x1F, 0x01, 0x23, 0x27, +0x2E, 0x01, 0x23, 0x01, 0x17, 0x52, 0x3D, 0x72, 0x67, 0x5B, +0xBB, 0x71, 0xB8, 0xA7, 0x97, 0x4F, 0x46, 0x2C, 0x26, 0x57, +0x75, 0x55, 0x15, 0x34, 0x49, 0x02, 0x91, 0xFE, 0xFA, 0x47, +0x48, 0x3D, 0x3A, 0xFE, 0xA2, 0xFE, 0xCD, 0x02, 0xEC, 0x64, +0x64, 0x4C, 0x6A, 0x16, 0x02, 0x1B, 0x5F, 0xDC, 0xDC, 0x37, +0x20, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, 0x02, 0x07, +0x02, 0xF6, 0x00, 0x20, 0x00, 0x23, 0x40, 0x0C, 0x03, 0x02, +0x6F, 0x19, 0x18, 0x05, 0x09, 0x08, 0x70, 0x13, 0x12, 0x05, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x20, 0x00, 0x5A, 0x1C, 0x1B, +0x05, 0x0C, 0x0B, 0x5C, 0x11, 0x10, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1E, 0x01, +0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, +0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x33, +0x32, 0x17, 0x15, 0x26, 0x01, 0x1C, 0x38, 0x3B, 0x37, 0x37, +0x87, 0x69, 0x7F, 0x7C, 0x69, 0x59, 0x59, 0x5F, 0x95, 0x3B, +0x45, 0x75, 0x68, 0x73, 0x64, 0x74, 0x63, 0x66, 0x02, 0x9C, +0x38, 0x31, 0x28, 0x40, 0x13, 0x2D, 0x6E, 0x55, 0x68, 0x6A, +0x2E, 0x6B, 0x3D, 0x76, 0x2D, 0x3F, 0x19, 0x28, 0x6F, 0x4F, +0x5A, 0x69, 0x29, 0x6A, 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x3A, 0x00, 0x00, 0x02, 0x4F, 0x02, 0xEC, 0x00, 0x07, +0x00, 0x10, 0xB3, 0x03, 0x71, 0x05, 0x00, 0x2B, 0x00, 0xB4, +0x06, 0x02, 0x5F, 0x00, 0x01, 0x2B, 0x30, 0x31, 0x13, 0x21, +0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3A, 0x02, 0x15, 0xD2, +0x71, 0xD2, 0x02, 0xEC, 0x5F, 0xFD, 0x73, 0x02, 0x8D, 0x00, +0x00, 0x01, 0x00, 0x4A, 0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, +0x00, 0x0D, 0x00, 0x19, 0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, +0x07, 0x05, 0x03, 0x02, 0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, +0x00, 0xB3, 0x0C, 0x5E, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x33, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, +0x11, 0x10, 0x20, 0x4A, 0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, +0xEC, 0x01, 0x05, 0x01, 0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, +0x5A, 0x01, 0xEC, 0xFE, 0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, +0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, 0x05, 0x71, 0x01, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x01, 0x23, +0x01, 0x94, 0xC6, 0x02, 0xC6, 0x75, 0xFF, 0x00, 0x7B, 0xFF, +0x00, 0x02, 0xEC, 0xFD, 0x85, 0x02, 0x7B, 0xFD, 0x14, 0x02, +0xEC, 0x00, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x00, 0x03, 0x5E, +0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, 0x00, 0x40, 0x0C, 0x0B, +0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, 0x09, 0x7B, 0x05, 0x01, +0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, +0x13, 0x33, 0x13, 0x33, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, +0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, 0x70, 0x02, 0x70, 0x6E, +0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, 0x9F, 0x02, 0xEC, 0xFD, +0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x14, 0x02, +0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x03, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x13, +0x23, 0x03, 0x23, 0x03, 0x23, 0x13, 0x03, 0xBC, 0x99, 0x02, +0x99, 0x7E, 0xD2, 0xD7, 0x84, 0x9C, 0x02, 0x9C, 0x80, 0xD7, +0xD2, 0x02, 0xEC, 0xFE, 0xDC, 0x01, 0x24, 0xFE, 0x8F, 0xFE, +0x85, 0x01, 0x2E, 0xFE, 0xD2, 0x01, 0x7B, 0x01, 0x71, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, +0x00, 0x09, 0x00, 0x09, 0xB3, 0x05, 0x76, 0x07, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x11, +0x23, 0x11, 0x03, 0xA0, 0xB5, 0x02, 0xB5, 0x80, 0xFD, 0x76, +0xFD, 0x02, 0xEC, 0xFE, 0xA3, 0x01, 0x5D, 0xFE, 0x47, 0xFE, +0xCD, 0x01, 0x33, 0x01, 0xB9, 0x00, 0x00, 0x01, 0x00, 0x4A, +0x00, 0x00, 0x02, 0x35, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, +0x00, 0xB7, 0x06, 0x5C, 0x04, 0x00, 0x0A, 0x5D, 0x00, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, 0x15, 0x21, +0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, 0xEB, 0xFE, +0x98, 0x01, 0x68, 0xFE, 0x15, 0x01, 0x68, 0xFE, 0x98, 0x02, +0xEC, 0x5D, 0xFD, 0xCF, 0x02, 0x5C, 0x5C, 0x02, 0x31, 0x02, +0x00, 0x01, 0x00, 0x73, 0xFF, 0x61, 0x01, 0x9C, 0x03, 0x14, +0x00, 0x07, 0x00, 0x14, 0xB3, 0x00, 0x66, 0x04, 0x00, 0x2B, +0x00, 0xB7, 0x07, 0x51, 0x05, 0x00, 0x03, 0x52, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x15, 0x21, 0x11, +0x21, 0x15, 0xD9, 0xC3, 0xFE, 0xD7, 0x01, 0x29, 0x02, 0xC3, +0xFC, 0xF0, 0x52, 0x03, 0xB3, 0x51, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xD7, 0x01, 0xFD, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x33, 0x01, 0x23, 0x30, 0x6C, 0x01, +0x61, 0x6C, 0x02, 0xEC, 0xFC, 0xEB, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0xFF, 0x61, 0x01, 0x7D, 0x03, 0x14, 0x00, 0x07, +0x00, 0x14, 0xB3, 0x04, 0x66, 0x00, 0x00, 0x2B, 0x00, 0xB7, +0x05, 0x52, 0x07, 0x00, 0x01, 0x51, 0x03, 0x00, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, +0x01, 0x17, 0xC3, 0x01, 0x29, 0xFE, 0xD7, 0x4D, 0x03, 0x10, +0x51, 0xFC, 0x4D, 0x52, 0x00, 0x01, 0x00, 0x26, 0x01, 0x1F, +0x02, 0x78, 0x02, 0xEC, 0x00, 0x06, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x33, 0x13, 0x23, 0x0B, 0x01, 0x26, 0xE6, +0x85, 0xE7, 0x73, 0xB6, 0xB6, 0x01, 0x1F, 0x01, 0xCD, 0xFE, +0x33, 0x01, 0x85, 0xFE, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x01, +0xFF, 0xFE, 0xFF, 0x61, 0x02, 0x50, 0xFF, 0xB3, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x52, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x07, 0x35, 0x21, 0x15, 0x02, 0x02, 0x52, 0x9F, 0x52, +0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x02, 0x29, +0x01, 0x0C, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x23, 0x03, 0x9C, 0x70, 0x5C, 0xA4, 0x03, +0x3D, 0xFE, 0xEC, 0x01, 0x14, 0x00, 0x00, 0x02, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xE8, 0x02, 0x1F, 0x00, 0x18, 0x00, 0x23, +0x00, 0x2C, 0x40, 0x0E, 0x03, 0x02, 0x6B, 0x23, 0x22, 0x11, +0x10, 0x0D, 0x1D, 0x1C, 0x6C, 0x0C, 0x0B, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x57, 0x20, 0x1F, 0x05, 0x1A, +0x19, 0x4B, 0x0F, 0x0E, 0x05, 0x14, 0x13, 0x52, 0x18, 0x00, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, +0x11, 0x23, 0x27, 0x23, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, +0x36, 0x3B, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x35, +0x36, 0x13, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x35, 0x01, 0x07, 0x81, 0x60, 0x64, 0x02, 0x02, 0x3B, +0x76, 0x46, 0x59, 0x89, 0x8C, 0x38, 0x33, 0x43, 0x50, 0x68, +0x5F, 0xCF, 0x38, 0x54, 0x55, 0x2D, 0x1F, 0x44, 0x51, 0x02, +0x1F, 0x5C, 0x7B, 0xFE, 0xB8, 0x4D, 0x57, 0x5A, 0x4A, 0x5A, +0x63, 0x15, 0x36, 0x2B, 0x27, 0x5A, 0x1F, 0xFE, 0xED, 0x38, +0x30, 0x26, 0x31, 0x55, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x4F, 0xFF, 0xF6, 0x02, 0x30, 0x03, 0x00, 0x00, 0x0B, +0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, 0x17, 0x0B, 0x0A, 0x00, +0x6B, 0x15, 0x03, 0x1D, 0x0C, 0x6B, 0x06, 0x05, 0x05, 0x2B, +0x2B, 0x00, 0x40, 0x0C, 0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, +0x0F, 0x0E, 0x52, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, +0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, +0x06, 0x15, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, +0x07, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x33, 0x32, 0x16, +0xBA, 0x4F, 0x36, 0x3F, 0x47, 0x86, 0x36, 0x4F, 0x01, 0x76, +0x7A, 0x5D, 0x32, 0x49, 0x27, 0x02, 0x02, 0x64, 0x6B, 0x02, +0x43, 0x5A, 0x61, 0x76, 0xBD, 0x2E, 0x47, 0x60, 0x62, 0xC3, +0x48, 0x2E, 0x4D, 0x7F, 0x95, 0x22, 0x2B, 0x43, 0x03, 0x00, +0xFE, 0xDC, 0x43, 0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, 0x00, 0x15, 0x00, 0x1B, +0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, 0x05, 0x08, 0x07, 0x54, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x26, +0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, 0x47, 0x46, 0x4A, 0x4D, +0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, 0x01, 0x0A, 0x86, 0x8F, +0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, 0x5A, 0x1C, 0x5C, 0x14, +0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0xF6, 0x02, 0x0C, +0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x14, 0x6B, 0x12, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x17, 0x33, 0x11, 0x33, 0x11, 0x23, 0x27, 0x23, 0x0E, +0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x46, +0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x5A, 0x43, 0x02, +0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x5D, 0x7A, 0xBD, +0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, 0x47, 0x7B, 0x83, 0x92, +0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, 0x2B, 0x22, 0x95, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xF3, 0x02, 0x1F, +0x00, 0x05, 0x00, 0x17, 0x00, 0x18, 0x00, 0x40, 0x10, 0x03, +0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, 0x0C, 0x50, 0x08, 0x07, +0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x13, 0x33, 0x26, 0x23, 0x22, 0x06, 0x07, 0x16, 0x33, 0x32, +0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, +0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, 0x03, 0x6F, 0x3D, 0x41, +0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, 0x4A, 0x80, 0x8A, 0x7C, +0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, 0x94, 0x46, 0x9D, 0xA6, +0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, 0x8C, 0x84, 0x8C, 0x0E, +0x15, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, +0x01, 0xC5, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1D, 0xB7, 0x12, +0x0E, 0x0D, 0x71, 0x14, 0x03, 0x02, 0x0A, 0x2B, 0x00, 0x40, +0x0C, 0x0B, 0x0A, 0x52, 0x06, 0x05, 0x05, 0x15, 0x11, 0x52, +0x0F, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x33, +0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, +0x06, 0x1D, 0x01, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x35, +0x71, 0x5C, 0x61, 0x34, 0x2E, 0x27, 0x26, 0x36, 0x2B, 0xA3, +0xA3, 0x71, 0x01, 0xAE, 0x52, 0x29, 0x6A, 0x63, 0x10, 0x52, +0x10, 0x32, 0x44, 0x2E, 0x52, 0xFE, 0x52, 0x01, 0xAE, 0x00, +0x00, 0x02, 0x00, 0x1C, 0xFF, 0x14, 0x01, 0xFD, 0x02, 0x1F, +0x00, 0x29, 0x00, 0x35, 0x00, 0x40, 0x40, 0x19, 0x15, 0x14, +0x71, 0x30, 0x2F, 0x05, 0x35, 0x2A, 0x68, 0x27, 0x0C, 0x0B, +0x09, 0x1C, 0x1B, 0x5C, 0x08, 0x07, 0x05, 0x22, 0x21, 0x6C, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x18, +0x18, 0x17, 0x43, 0x2D, 0x2C, 0x05, 0x05, 0x04, 0x4E, 0x1F, +0x1E, 0x05, 0x33, 0x32, 0x4C, 0x0F, 0x0E, 0x05, 0x25, 0x24, +0x52, 0x29, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x17, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, +0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x37, +0x33, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, +0x35, 0x16, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, +0x26, 0x23, 0x22, 0x06, 0xE8, 0x51, 0x58, 0x9C, 0x71, 0x5E, +0x2D, 0x37, 0x70, 0x57, 0x6A, 0x41, 0x02, 0x01, 0x62, 0x76, +0x76, 0x3E, 0x31, 0x16, 0x35, 0x4E, 0x81, 0x77, 0x8B, 0x8A, +0x6D, 0x5F, 0x5E, 0x0A, 0x44, 0x3C, 0x39, 0x45, 0x49, 0x3A, +0x37, 0x44, 0x9A, 0x35, 0x2A, 0x55, 0x34, 0x35, 0x28, 0x32, +0x32, 0x4F, 0x55, 0x6C, 0x42, 0x37, 0xB8, 0x59, 0x5F, 0x11, +0x17, 0x0F, 0x14, 0x13, 0x4A, 0x4C, 0x5A, 0x64, 0x29, 0x5D, +0x34, 0x01, 0xF5, 0x36, 0x3E, 0x3F, 0x35, 0x37, 0x41, 0x43, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, 0x02, 0x11, +0x03, 0x00, 0x00, 0x13, 0x00, 0x1B, 0x40, 0x0C, 0x0D, 0x09, +0x08, 0x6B, 0x0B, 0x02, 0x13, 0x00, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x06, 0x05, 0x57, 0x11, 0x10, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, +0x33, 0x32, 0x16, 0x02, 0x11, 0x68, 0x2D, 0x3D, 0x2F, 0x56, +0x6B, 0x6B, 0x02, 0x47, 0x5B, 0x5D, 0x56, 0x01, 0x3D, 0xFE, +0xC3, 0x01, 0x29, 0x5F, 0x40, 0x59, 0x32, 0xFE, 0xC3, 0x03, +0x00, 0xFE, 0xD2, 0x4D, 0x68, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, 0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, 0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, -0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, -0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, -0x70, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, -0x11, 0x6E, 0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x1F, -0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, 0x6B, 0x0F, -0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x00, -0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, 0x31, 0x13, -0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, -0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0xB2, 0x4A, -0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, 0x64, 0x02, -0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, 0x2E, 0x5C, -0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, 0x00, 0x08, -0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, 0x0B, 0x00, -0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, 0xB7, 0x05, -0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, 0x26, 0x10, -0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, 0x85, 0x85, -0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, 0xD7, 0x48, -0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, 0xC2, 0x01, -0x85, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, -0x02, 0x14, 0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, -0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, -0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, -0x01, 0xA6, 0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, -0x44, 0x15, 0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, -0x66, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x89, -0x00, 0x02, 0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, -0x00, 0x09, 0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, -0x31, 0x01, 0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, -0x27, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, -0x37, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, -0x46, 0xA6, 0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, -0x2D, 0x07, 0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, -0x3D, 0x0B, 0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, -0x46, 0xA6, 0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, -0x19, 0x15, 0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, -0x2F, 0x2B, 0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x6C, 0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, -0x00, 0x0B, 0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, -0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, -0x17, 0x1E, 0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, -0x36, 0x37, 0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, -0x07, 0x06, 0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, -0x21, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, -0xFE, 0x5C, 0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, -0x0D, 0x26, 0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, -0x41, 0x17, 0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, -0x46, 0x26, 0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, -0x14, 0x1D, 0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, -0x6B, 0x57, 0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, -0xB4, 0x2D, 0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, -0x28, 0x14, 0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, -0x0E, 0x1C, 0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, -0x2E, 0x00, 0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, -0x03, 0x3E, 0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, -0x00, 0x1B, 0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, -0x00, 0x40, 0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, -0x00, 0x62, 0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, -0x21, 0x06, 0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, -0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, -0x13, 0x25, 0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, -0x37, 0x36, 0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, -0x07, 0x26, 0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, -0x06, 0x17, 0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, -0x26, 0x03, 0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, -0x31, 0xA9, 0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, -0x15, 0x07, 0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, -0xFE, 0x21, 0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, -0x62, 0x5D, 0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, -0x2F, 0x20, 0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, -0x22, 0x11, 0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, -0x71, 0x56, 0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, -0x34, 0x0F, 0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, -0x47, 0x32, 0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, -0x5F, 0x23, 0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, -0x01, 0x0F, 0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, -0x39, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, -0x03, 0x8E, 0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, -0x00, 0x09, 0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, -0x31, 0x37, 0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, -0x01, 0x21, 0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, -0x37, 0x1E, 0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, -0x16, 0x30, 0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, -0x01, 0xC1, 0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, -0x24, 0x5E, 0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, -0x13, 0xB6, 0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, -0x5D, 0xFD, 0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, -0x30, 0x0C, 0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, -0xFF, 0xD5, 0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, -0x00, 0x36, 0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, -0x33, 0x23, 0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, -0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, -0x26, 0x22, 0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, -0x05, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, -0x26, 0x27, 0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, -0x01, 0x35, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, -0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, -0x17, 0x14, 0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, -0x27, 0xDA, 0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, -0x09, 0x23, 0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, -0x1A, 0x4C, 0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, -0x08, 0xFE, 0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, -0x26, 0x1A, 0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, -0x19, 0x28, 0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, -0x18, 0x47, 0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, -0x1E, 0x17, 0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, -0x0D, 0x04, 0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, -0x26, 0x35, 0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, -0x11, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, -0x03, 0x61, 0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, -0x61, 0x14, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, -0x17, 0x03, 0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, -0x02, 0x33, 0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, -0x27, 0x06, 0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, -0x06, 0x07, 0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, -0x05, 0x46, 0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, -0x1E, 0x2F, 0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, -0x3C, 0x3D, 0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, -0x19, 0x14, 0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, -0xFE, 0xCD, 0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, -0x26, 0x45, 0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, -0x66, 0x63, 0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, -0x2B, 0x0E, 0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, -0x00, 0x27, 0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, -0x00, 0x23, 0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, -0x19, 0x01, 0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, -0x0C, 0x10, 0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, -0x61, 0x07, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, -0x0E, 0x01, 0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, -0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, -0x21, 0x35, 0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, -0x86, 0x73, 0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, -0xDD, 0x62, 0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, -0xB7, 0x04, 0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, -0xE6, 0xE6, 0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, -0x03, 0x1F, 0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, -0x03, 0x5E, 0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, -0x11, 0x33, 0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, -0x07, 0x26, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, -0x5E, 0x5E, 0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, -0x24, 0x0F, 0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, -0x68, 0xFE, 0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, -0x05, 0x04, 0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, -0x00, 0x27, 0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, -0x00, 0x1D, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, -0x2B, 0x62, 0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, -0x16, 0x15, 0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, -0x1A, 0x59, 0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, -0x40, 0x0F, 0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, -0x0F, 0x05, 0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, -0x22, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, -0x33, 0x15, 0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, -0x14, 0x07, 0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, -0x06, 0x05, 0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, -0x0E, 0x18, 0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, -0x62, 0xFE, 0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, -0x66, 0x32, 0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, -0x02, 0x6D, 0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, -0x46, 0x32, 0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, -0x12, 0x62, 0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, -0x48, 0x32, 0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, -0xCE, 0xC2, 0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, -0x00, 0x6C, 0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, -0x00, 0x09, 0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, -0x6B, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, -0x03, 0xD3, 0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, -0x40, 0x13, 0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, -0x00, 0x67, 0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, -0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, -0x00, 0x19, 0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, -0x0F, 0x0F, 0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, -0x01, 0x15, 0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, -0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, -0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, -0x33, 0x15, 0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, -0x95, 0x95, 0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, -0x7B, 0x7B, 0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, -0xAA, 0xAA, 0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, -0x47, 0x02, 0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, -0x00, 0x22, 0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, -0x05, 0x2B, 0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, -0x05, 0x21, 0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, -0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, -0x06, 0x01, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, -0x06, 0x07, 0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, -0x27, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, -0x21, 0xF1, 0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, -0x78, 0xFE, 0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, -0xB4, 0x86, 0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, -0xFE, 0xE2, 0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, -0x76, 0xFD, 0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, -0x7B, 0xA2, 0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, -0xB5, 0x5A, 0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, -0x03, 0x44, 0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, -0x40, 0x14, 0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, -0x00, 0x2A, 0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, -0x14, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, -0x58, 0x31, 0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, -0x06, 0x21, 0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, -0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, -0x15, 0x13, 0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, -0x35, 0x11, 0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, -0x23, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, -0x36, 0x03, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, -0x21, 0x15, 0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, -0x07, 0x04, 0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, -0x4C, 0x1C, 0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, -0xEA, 0x03, 0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, -0xFD, 0x84, 0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, -0xE1, 0x58, 0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, -0x26, 0x0A, 0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, -0x94, 0xA8, 0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, -0x16, 0x0A, 0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, -0x00, 0x05, 0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, -0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, -0x00, 0x3C, 0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, -0x18, 0x69, 0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, -0x6C, 0x0E, 0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, -0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, -0x55, 0x29, 0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, -0x07, 0x0F, 0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, -0x37, 0x33, 0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, -0x33, 0x26, 0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, -0x07, 0x27, 0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, -0x37, 0x2B, 0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, -0x26, 0x27, 0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, -0xDD, 0xDD, 0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, -0x50, 0x81, 0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, -0x7B, 0x55, 0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, -0x58, 0x02, 0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, -0x63, 0x63, 0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, -0x14, 0x85, 0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, -0x2C, 0x5F, 0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, -0x5F, 0x2B, 0x33, 0xFE, 0xD5, 0x00, }; +0x71, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF3, 0xFF, 0x1F, +0x01, 0x07, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x18, +0xB7, 0x0E, 0x07, 0x06, 0x70, 0x0C, 0x04, 0x03, 0x0A, 0x2B, +0x00, 0xB7, 0x0F, 0x71, 0x0D, 0x00, 0x0B, 0x5A, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x07, 0x35, 0x32, 0x36, 0x35, 0x11, +0x33, 0x11, 0x14, 0x0E, 0x02, 0x13, 0x35, 0x33, 0x15, 0x0D, +0x6A, 0x3A, 0x70, 0x15, 0x40, 0x67, 0x4C, 0x70, 0xE1, 0x5A, +0x33, 0x5E, 0x02, 0x0A, 0xFD, 0xF6, 0x49, 0x57, 0x38, 0x13, +0x03, 0x70, 0x71, 0x71, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, +0x02, 0x1C, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x05, +0x01, 0x6B, 0x03, 0x01, 0x2B, 0x00, 0xB3, 0x00, 0x29, 0x06, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, +0x11, 0x33, 0x37, 0x33, 0x03, 0x13, 0x23, 0xBC, 0x02, 0x6B, +0x6B, 0x02, 0xE0, 0x80, 0xF6, 0xF6, 0x80, 0x01, 0x00, 0xFF, +0x00, 0x03, 0x00, 0xFE, 0x29, 0xEB, 0xFF, 0x00, 0xFE, 0xEC, +0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, +0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x70, 0x00, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, +0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x02, 0xE3, 0x02, 0x1F, 0x00, 0x22, +0x00, 0x26, 0x40, 0x11, 0x1A, 0x19, 0x69, 0x1D, 0x1C, 0x05, +0x09, 0x08, 0x6B, 0x0B, 0x01, 0x22, 0x00, 0x6A, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0A, 0x20, 0x1F, 0x06, +0x05, 0x52, 0x17, 0x16, 0x11, 0x10, 0x0F, 0x2B, 0x30, 0x31, +0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, +0x17, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, +0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xCD, 0x6A, 0x22, 0x30, +0x1D, 0x3F, 0x6B, 0x66, 0x02, 0x02, 0x3C, 0x4A, 0x2D, 0x38, +0x15, 0x02, 0x3D, 0x55, 0x54, 0x47, 0x69, 0x23, 0x2F, 0x1E, +0x3D, 0x01, 0x71, 0xFE, 0x8F, 0x01, 0x33, 0x5D, 0x3D, 0x3E, +0x1E, 0xFE, 0x8F, 0x02, 0x14, 0x3D, 0x48, 0x25, 0x2D, 0x52, +0x5B, 0x72, 0xFE, 0xAE, 0x01, 0x33, 0x5D, 0x3D, 0x3E, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, +0x6B, 0x0F, 0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, +0x2B, 0x00, 0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, +0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, +0xB2, 0x4A, 0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, +0x64, 0x02, 0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, +0x2E, 0x5C, 0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, +0x00, 0x08, 0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, +0x0B, 0x00, 0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0xB7, 0x05, 0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, +0x2B, 0x30, 0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, +0x26, 0x10, 0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, +0x85, 0x85, 0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, +0xD7, 0x48, 0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, +0xC2, 0x01, 0x85, 0x00, 0x00, 0x02, 0x00, 0x4A, 0xFF, 0x1F, +0x02, 0x2B, 0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, +0x40, 0x0D, 0x12, 0x0B, 0x0A, 0x00, 0x6B, 0x14, 0x03, 0x1D, +0x0C, 0x6C, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, +0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, 0x0F, 0x0E, 0x52, 0x03, +0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x14, 0x16, 0x33, +0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x06, 0x15, 0x05, 0x14, +0x06, 0x23, 0x22, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x17, +0x33, 0x3E, 0x01, 0x33, 0x32, 0x16, 0xB5, 0x4F, 0x36, 0x3E, +0x47, 0x85, 0x36, 0x4F, 0x01, 0x76, 0x7A, 0x5D, 0x5A, 0x43, +0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x61, 0x76, +0xBD, 0x2F, 0x46, 0x62, 0x60, 0xC3, 0x47, 0x2F, 0x4D, 0x7F, +0x95, 0x42, 0xFE, 0xE7, 0x02, 0xF5, 0x42, 0x2B, 0x22, 0x92, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0x1F, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x15, 0x6B, 0x17, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, 0x23, 0x11, 0x23, +0x06, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x47, +0x3E, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x32, 0x49, 0x27, +0x02, 0x02, 0x64, 0x6B, 0x02, 0x43, 0x5A, 0x5D, 0x7A, 0xBD, +0x9A, 0x2F, 0x47, 0xC3, 0x60, 0x62, 0x46, 0x7C, 0x83, 0x92, +0x22, 0x2B, 0x42, 0xFD, 0x0B, 0x01, 0x19, 0x42, 0x95, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, 0x02, 0x14, +0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, +0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, 0x01, 0xA6, +0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, 0x44, 0x15, +0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, 0x66, 0x2F, +0x37, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, +0x01, 0xCA, 0x02, 0x1F, 0x00, 0x1F, 0x00, 0x23, 0x40, 0x0C, +0x02, 0x01, 0x6C, 0x18, 0x17, 0x05, 0x08, 0x07, 0x6C, 0x12, +0x11, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x1F, 0x00, 0x52, +0x1B, 0x1A, 0x05, 0x0B, 0x0A, 0x52, 0x10, 0x0F, 0x05, 0x2B, +0x2B, 0x30, 0x31, 0x01, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1E, +0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, +0x32, 0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x01, 0x11, 0x6B, 0x29, 0x33, +0x76, 0x52, 0x6C, 0x66, 0x5E, 0x50, 0x50, 0x54, 0x70, 0x2D, +0x39, 0x69, 0x55, 0x68, 0x65, 0x58, 0x56, 0x55, 0x01, 0xCD, +0x3E, 0x1E, 0x27, 0x0D, 0x1B, 0x4D, 0x4B, 0x45, 0x4F, 0x1E, +0x58, 0x24, 0x42, 0x20, 0x28, 0x0F, 0x1A, 0x4F, 0x3B, 0x48, +0x52, 0x1A, 0x57, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xBF, 0x02, 0xC3, 0x00, 0x15, 0x00, 0x1D, +0xB7, 0x15, 0x04, 0x03, 0x6B, 0x13, 0x0F, 0x0E, 0x0A, 0x2B, +0x00, 0x40, 0x0C, 0x0C, 0x0B, 0x52, 0x07, 0x06, 0x05, 0x10, +0x02, 0x52, 0x12, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x15, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x01, 0x07, 0xB8, 0xB8, 0x21, 0x31, 0x2E, 0x29, 0x32, +0x39, 0x5F, 0x4A, 0x6C, 0x6C, 0x6B, 0x02, 0x00, 0x52, 0xF6, +0x45, 0x2B, 0x0D, 0x55, 0x0A, 0x50, 0x68, 0x01, 0x00, 0x52, +0xC3, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0xF6, 0x02, 0x02, +0x02, 0x14, 0x00, 0x13, 0x00, 0x1A, 0x40, 0x0B, 0x10, 0x6B, +0x0E, 0x0D, 0x04, 0x08, 0x07, 0x69, 0x05, 0x04, 0x05, 0x2B, +0x2B, 0x00, 0xB5, 0x02, 0x01, 0x52, 0x0B, 0x0A, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, +0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, +0x23, 0x27, 0x01, 0x9A, 0x4A, 0x5D, 0x5A, 0x54, 0x69, 0x2D, +0x36, 0x31, 0x55, 0x6B, 0x64, 0x02, 0x43, 0x4D, 0x63, 0x74, +0x01, 0x47, 0xFE, 0xC8, 0x55, 0x3F, 0x55, 0x30, 0x01, 0x47, +0xFD, 0xEC, 0x43, 0x00, 0x00, 0x01, 0x00, 0x21, 0x00, 0x00, +0x02, 0x17, 0x02, 0x14, 0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, +0x05, 0x3D, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, +0x13, 0x33, 0x03, 0x23, 0x03, 0x96, 0x87, 0x02, 0x87, 0x71, +0xB4, 0x8F, 0xB3, 0x02, 0x14, 0xFE, 0x29, 0x01, 0xD7, 0xFD, +0xEC, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x02, 0x02, 0x14, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x66, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x5C, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0xA0, 0x59, 0x02, 0x56, 0x8F, +0x56, 0x02, 0x59, 0x71, 0x8A, 0x8A, 0x56, 0x02, 0x57, 0x8A, +0x8A, 0x02, 0x14, 0xFE, 0x48, 0x01, 0xB8, 0xFE, 0x48, 0x01, +0xB8, 0xFD, 0xEC, 0x01, 0xAE, 0xFE, 0x52, 0x02, 0x14, 0x00, +0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x02, 0x07, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x03, 0x00, 0x30, 0x31, 0x25, 0x23, 0x07, +0x23, 0x13, 0x03, 0x33, 0x17, 0x33, 0x37, 0x33, 0x03, 0x13, +0x23, 0x01, 0x1B, 0x02, 0x75, 0x74, 0xAE, 0xA9, 0x78, 0x70, +0x02, 0x6F, 0x74, 0xA9, 0xAE, 0x78, 0xCD, 0xCD, 0x01, 0x0F, +0x01, 0x05, 0xC2, 0xC2, 0xFE, 0xFB, 0xFE, 0xF1, 0x00, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0x14, 0x02, 0x26, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x09, 0x00, 0xB3, 0x07, 0x54, 0x09, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x0E, +0x01, 0x23, 0x35, 0x32, 0x36, 0x37, 0x03, 0x99, 0x93, 0x02, +0x89, 0x6F, 0xC8, 0x34, 0x7C, 0x79, 0x55, 0x4B, 0x23, 0xD2, +0x02, 0x14, 0xFE, 0x67, 0x01, 0x99, 0xFD, 0xEC, 0x8B, 0x61, +0x54, 0x3A, 0x5E, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x01, 0xE3, 0x02, 0x14, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x06, 0x52, 0x04, 0x00, 0x0A, 0x51, +0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, +0x15, 0x21, 0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, +0x99, 0xFE, 0xE7, 0x01, 0x19, 0xFE, 0x67, 0x01, 0x19, 0xFE, +0xE7, 0x02, 0x14, 0x51, 0xFE, 0x91, 0x02, 0x52, 0x52, 0x01, +0x6F, 0x02, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0x61, 0x01, 0xBF, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x23, 0x22, +0x08, 0x07, 0x06, 0x05, 0x00, 0x67, 0x1A, 0x19, 0x18, 0x12, +0x11, 0x05, 0x10, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x20, 0x1F, +0x51, 0x1D, 0x1C, 0x05, 0x14, 0x13, 0x57, 0x17, 0x16, 0x05, +0x0E, 0x0D, 0x52, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x1D, 0x01, +0x14, 0x16, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x26, 0x3D, 0x01, +0x34, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x3D, 0x01, 0x34, 0x36, +0x3B, 0x01, 0x15, 0x23, 0x22, 0x06, 0x15, 0x01, 0x21, 0x2D, +0x35, 0x35, 0x2D, 0x27, 0x3A, 0x3D, 0x70, 0x4F, 0x46, 0x57, +0x29, 0x29, 0x57, 0x46, 0x4F, 0x70, 0x3D, 0x3A, 0x27, 0x01, +0xDC, 0x40, 0x4A, 0x17, 0x02, 0x16, 0x49, 0x40, 0x7B, 0x44, +0x28, 0x52, 0x4A, 0x55, 0x94, 0x7B, 0x57, 0x7B, 0x95, 0x55, +0x49, 0x51, 0x27, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, +0xFF, 0x1F, 0x00, 0xEE, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x09, +0xB3, 0x02, 0x67, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, +0x11, 0x33, 0x11, 0x87, 0x67, 0xE1, 0x04, 0x1E, 0xFB, 0xE2, +0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0xFF, 0x61, 0x01, 0xDE, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x13, 0x12, +0x11, 0x0B, 0x0A, 0x05, 0x09, 0x66, 0x23, 0x1D, 0x1C, 0x1B, +0x01, 0x05, 0x00, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x16, 0x15, +0x52, 0x19, 0x18, 0x05, 0x10, 0x0F, 0x57, 0x0D, 0x0C, 0x05, +0x04, 0x03, 0x51, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, +0x16, 0x1D, 0x01, 0x14, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x1D, +0x01, 0x14, 0x06, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x36, 0x3D, +0x01, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0xF8, 0x27, 0x3A, +0x3E, 0x71, 0x4F, 0x45, 0x57, 0x29, 0x29, 0x57, 0x45, 0x4F, +0x71, 0x3E, 0x3A, 0x27, 0x2D, 0x34, 0x34, 0x2D, 0x01, 0xDC, +0x7B, 0x45, 0x27, 0x51, 0x49, 0x55, 0x95, 0x7B, 0x57, 0x7B, +0x94, 0x55, 0x4A, 0x52, 0x28, 0x44, 0x7B, 0x40, 0x49, 0x16, +0x02, 0x17, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0xCD, 0x02, 0x9C, 0x01, 0x9A, 0x00, 0x13, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x03, 0x02, 0x59, 0x11, 0x10, 0x05, 0x07, +0x06, 0x59, 0x0D, 0x0C, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x17, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, +0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x02, +0x5C, 0x40, 0x47, 0x71, 0x50, 0x43, 0x32, 0x32, 0x23, 0x37, +0x1E, 0x40, 0x47, 0x71, 0x4F, 0x44, 0x32, 0x32, 0x23, 0x36, +0x01, 0x72, 0x34, 0x71, 0x42, 0x32, 0x22, 0x2A, 0x33, 0x72, +0x43, 0x31, 0x22, 0x00, 0x00, 0x02, 0x00, 0x89, 0x00, 0x02, +0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, 0x00, 0x09, +0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, 0x31, 0x01, +0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, 0x27, 0x26, +0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, 0x37, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, 0x46, 0xA6, +0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, 0x2D, 0x07, +0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, 0x3D, 0x0B, +0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, 0x46, 0xA6, +0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, 0x19, 0x15, +0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, 0x2F, 0x2B, +0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6C, +0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, 0x00, 0x0B, +0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, 0x17, 0x1E, +0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, 0x36, 0x37, +0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, 0x07, 0x06, +0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, 0x21, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, 0xFE, 0x5C, +0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, 0x0D, 0x26, +0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, 0x41, 0x17, +0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, 0x46, 0x26, +0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, 0x14, 0x1D, +0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, 0x6B, 0x57, +0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, 0xB4, 0x2D, +0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, 0x28, 0x14, +0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, 0x0E, 0x1C, +0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, 0x2E, 0x00, +0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, 0x03, 0x3E, +0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, 0x00, 0x1B, +0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, 0x00, 0x62, +0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, +0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, 0x36, 0x37, +0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, 0x13, 0x25, +0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, 0x37, 0x36, +0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, 0x07, 0x26, +0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, 0x06, 0x17, +0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, 0x26, 0x03, +0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, 0x31, 0xA9, +0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, 0x15, 0x07, +0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, 0xFE, 0x21, +0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, 0x62, 0x5D, +0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, 0x2F, 0x20, +0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, 0x22, 0x11, +0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, 0x71, 0x56, +0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, 0x34, 0x0F, +0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, 0x47, 0x32, +0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, 0x5F, 0x23, +0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, 0x01, 0x0F, +0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, 0x39, 0x11, +0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, 0x03, 0x8E, +0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x09, +0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, 0x01, 0x21, +0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, 0x37, 0x1E, +0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, 0x16, 0x30, +0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, 0x01, 0xC1, +0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, 0x24, 0x5E, +0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, 0x13, 0xB6, +0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, 0x5D, 0xFD, +0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, 0x30, 0x0C, +0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, 0xFF, 0xD5, +0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, 0x00, 0x36, +0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, 0x33, 0x23, +0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, 0x01, 0x00, +0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, 0x26, 0x22, +0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, 0x05, 0x21, +0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, 0x26, 0x27, +0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, 0x01, 0x35, +0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, 0x35, 0x21, +0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, 0x17, 0x14, +0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, 0x27, 0xDA, +0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, 0x09, 0x23, +0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, 0x1A, 0x4C, +0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, 0x08, 0xFE, +0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, 0x26, 0x1A, +0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, 0x19, 0x28, +0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, 0x18, 0x47, +0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, 0x1E, 0x17, +0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, 0x0D, 0x04, +0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, 0x26, 0x35, +0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, 0x11, 0x09, +0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, 0x03, 0x61, +0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, 0x61, 0x14, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, 0x17, 0x03, +0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, 0x02, 0x33, +0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, 0x27, 0x06, +0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, 0x06, 0x07, +0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, 0x05, 0x46, +0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, 0x1E, 0x2F, +0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, 0x3C, 0x3D, +0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, 0x19, 0x14, +0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, 0xFE, 0xCD, +0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, 0x26, 0x45, +0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, 0x66, 0x63, +0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, 0x2B, 0x0E, +0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, 0x00, 0x27, +0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, 0x00, 0x23, +0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, 0x19, 0x01, +0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x10, +0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, 0x61, 0x07, +0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, 0x0E, 0x01, +0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, 0x21, 0x15, +0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, +0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, 0x86, 0x73, +0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, 0xDD, 0x62, +0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, 0xB7, 0x04, +0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, 0xE6, 0xE6, +0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, 0x03, 0x1F, +0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, 0x03, 0x5E, +0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, 0x11, 0x33, +0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, 0x07, 0x26, +0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, 0x5E, 0x5E, +0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, 0x24, 0x0F, +0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, 0x68, 0xFE, +0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, 0x05, 0x04, +0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, 0x00, 0x27, +0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, 0x00, 0x1D, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, 0x2B, 0x62, +0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, 0x16, 0x15, +0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, 0x1A, 0x59, +0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0F, +0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, 0x0F, 0x05, +0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x13, +0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, +0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, +0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, 0x06, 0x05, +0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, 0x0E, 0x18, +0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, 0x62, 0xFE, +0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, 0x66, 0x32, +0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, 0x02, 0x6D, +0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, 0x46, 0x32, +0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, 0x12, 0x62, +0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, 0x48, 0x32, +0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, 0xCE, 0xC2, +0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, 0x00, 0x6C, +0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, 0x6B, 0x6B, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, 0x03, 0xD3, +0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, 0x40, 0x13, +0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, 0x00, 0x67, +0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, 0x05, 0x2B, +0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, 0x00, 0x19, +0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, 0x0F, 0x0F, +0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x15, +0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, +0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, +0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, 0x95, 0x95, +0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, 0x7B, 0x7B, +0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, 0xAA, 0xAA, +0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, 0x47, 0x02, +0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x26, +0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, 0x00, 0x22, +0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, 0x05, 0x21, +0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, 0x01, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, 0x06, 0x01, +0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, 0x06, 0x07, +0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, 0x27, 0x15, +0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xF1, +0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, 0x78, 0xFE, +0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, 0xB4, 0x86, +0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, 0xFE, 0xE2, +0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, 0x76, 0xFD, +0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, 0x7B, 0xA2, +0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, 0xB5, 0x5A, +0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, 0x03, 0x44, +0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, 0x40, 0x14, +0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, 0x00, 0x2A, +0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, 0x14, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, 0x58, 0x31, +0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, 0x06, 0x21, +0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, 0x00, 0x2B, +0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, 0x13, +0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, 0x35, 0x11, +0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, 0x23, 0x35, +0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, +0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, +0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, 0x07, 0x04, +0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, 0x4C, 0x1C, +0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, 0xEA, 0x03, +0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, 0xFD, 0x84, +0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, 0xE1, 0x58, +0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, 0x26, 0x0A, +0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, 0x94, 0xA8, +0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, 0x16, 0x0A, +0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, 0x00, 0x03, +0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, 0x00, 0x3C, +0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, 0x18, 0x69, +0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, 0x6C, 0x0E, +0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, 0x2B, 0x2B, +0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, 0x55, 0x29, +0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, 0x07, 0x0F, +0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, 0x37, 0x33, +0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, 0x33, 0x26, +0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, 0x07, 0x27, +0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, 0x37, 0x2B, +0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, 0x26, 0x27, +0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, 0xDD, 0xDD, +0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, 0x50, 0x81, +0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, 0x7B, 0x55, +0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, 0x58, 0x02, +0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, 0x63, 0x63, +0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, 0x14, 0x85, +0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, 0x2C, 0x5F, +0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, 0x5F, 0x2B, +0x33, 0xFE, 0xD5, 0x00, }; #endif \ No newline at end of file diff --git a/examples/M5Stack/use_LovyanGFX/use_LovyanGFX.ino b/examples/M5Stack/use_LovyanGFX/use_LovyanGFX.ino index f281472..dd4e146 100644 --- a/examples/M5Stack/use_LovyanGFX/use_LovyanGFX.ino +++ b/examples/M5Stack/use_LovyanGFX/use_LovyanGFX.ino @@ -12,7 +12,7 @@ #include #include -static LGFX lcd; +static LGFX lcd; OpenFontRender render; @@ -25,6 +25,7 @@ void setup() lcd.setRotation(1); lcd.fillScreen(TFT_BLACK); + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -37,8 +38,9 @@ void setup() render.setDrawer(lcd); // Set drawer object /* You can also be written as follows. */ // render.setDrawPixel(lcd.drawPixel); - // render.setStartWrite(lcd.startWrite); // optional - // render.setEndWrite(lcd.endWrite); // optional + // render.setDrawFastHLine(Lcd.drawFastHLine); // optional + // render.setStartWrite(lcd.startWrite); // optional + // render.setEndWrite(lcd.endWrite); // optional unsigned long t_start = millis(); diff --git a/examples/WioTerminal/alignment_string/alignment_string.ino b/examples/WioTerminal/alignment_string/alignment_string.ino new file mode 100644 index 0000000..95ec666 --- /dev/null +++ b/examples/WioTerminal/alignment_string/alignment_string.ino @@ -0,0 +1,74 @@ +#include "TFT_eSPI.h" +#include "binaryttf.h" +#include "OpenFontRender.h" + +TFT_eSPI tft; +OpenFontRender render; + +void setup() +{ + // put your setup code here, to run once: + Serial.begin(115200); + Serial.flush(); + delay(50); + + tft.begin(); + tft.setRotation(3); + tft.fillScreen(TFT_BLACK); + digitalWrite(LCD_BACKLIGHT, HIGH); // turn on the backlight + + render.setSerial(Serial); // Need to print render library message + render.showFreeTypeVersion(); // print FreeType version + render.showCredit(); // print FTL credit + + if (render.loadFont(binaryttf, sizeof(binaryttf))) + { + Serial.println("Render initialize error"); + return; + } + + render.setDrawer(tft); // Set drawer object + /* You can also be written as follows. */ + // render.setDrawPixel(tft.drawPixel); + // render.setDrawFastHLine(tft.drawFastHLine); // optional + // render.setStartWrite(tft.startWrite); // optional + // render.setEndWrite(tft.endWrite); // optional + + render.setFontSize(25); +} + +void loop() +{ + // put your main code here, to run repeatedly: + + /* You can select text alignment! use printf function */ + // Alignment Left + render.setCursor(0, 0); + render.setFontColor(TFT_WHITE); + render.printf("Hello\nWorld"); + + // Alignment Center + render.setCursor(160, 95); + render.setFontColor(TFT_GREEN); + render.cprintf("完全なUnicode\nサポート"); + + // Alignment Right + render.setCursor(320, 190); + render.setFontColor(TFT_ORANGE); + render.rprintf("こんにちは\n世界"); + + delay(1000); + // M5.Lcd.fillScreen(BLACK); + + /* You can select text alignment! use drawString function */ + // Alignment Left + render.drawString("Hello\nWorld", 0, 0, TFT_MAGENTA, TFT_BLACK); + + // Alignment Center + render.cdrawString("完全なUnicode\nサポート", 160, 95, TFT_YELLOW, TFT_BLACK); + + // Alignment Right + render.rdrawString("こんにちは\n世界", 320, 190, TFT_CYAN, TFT_BLACK); + + delay(1000); +} diff --git a/examples/WioTerminal/alignment_string/binaryttf.h b/examples/WioTerminal/alignment_string/binaryttf.h new file mode 100644 index 0000000..c7f6447 --- /dev/null +++ b/examples/WioTerminal/alignment_string/binaryttf.h @@ -0,0 +1,1441 @@ +#ifndef _BINARYTTF_H_ +#define _BINARYTTF_H_ + +const unsigned char binaryttf[14344] = { +0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, +0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, +0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, +0x61, 0x70, 0x0A, 0x07, 0x22, 0x62, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0x94, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, +0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, +0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0x3C, 0x78, 0xF7, 0x7E, +0x00, 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x28, 0x58, 0x68, 0x65, +0x61, 0x64, 0x34, 0xE5, 0x1A, 0x67, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x5F, +0x03, 0xD7, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x15, 0xB8, 0x1D, 0xCF, 0x00, 0x00, +0x0D, 0xF8, 0x00, 0x00, 0x01, 0xB8, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x07, 0xE5, 0xA0, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x00, +0x01, 0xBC, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x88, 0x00, 0x83, +0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, +0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, +0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, +0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, +0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, +0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x6D, 0x8D, 0x0F, 0xE7, 0x5F, 0x0F, +0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, +0xD7, 0x12, 0xFF, 0xF3, 0xFF, 0x14, 0x03, 0xF9, 0x03, 0x44, +0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, +0x00, 0x00, 0x04, 0x00, 0xFF, 0xF3, 0xFF, 0xF8, 0x03, 0xF9, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x01, +0x00, 0x00, 0x00, 0x6E, 0x00, 0x42, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, +0x00, 0x00, 0x18, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, +0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, +0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0xEF, 0x01, 0x90, 0x00, 0x05, +0x00, 0x08, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x70, +0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0xB8, 0x00, 0x34, +0x01, 0x08, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x06, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x4D, 0x75, 0x73, 0x61, 0x00, 0x40, 0x00, 0x20, 0x75, 0x4C, +0x03, 0x70, 0xFF, 0x70, 0x00, 0x00, 0x03, 0x70, 0x00, 0x90, +0x40, 0x02, 0x00, 0x9F, 0xDF, 0xD7, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x20, 0x01, 0x86, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x3C, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, +0x00, 0x47, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, +0x00, 0x0B, 0x00, 0x4D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x0B, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x63, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x6F, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x7A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x00, +0x00, 0x3C, 0x00, 0x85, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, +0x00, 0x01, 0x00, 0x0B, 0x00, 0xC1, 0x00, 0x01, 0x00, 0x01, +0x00, 0x0B, 0x00, 0x02, 0x00, 0x06, 0x00, 0xCC, 0x00, 0x01, +0x00, 0x01, 0x00, 0x0B, 0x00, 0x03, 0x00, 0x0B, 0x00, 0xD2, +0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x04, 0x00, 0x0B, +0x00, 0xDD, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x05, +0x00, 0x0C, 0x00, 0xE8, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, +0x00, 0x06, 0x00, 0x0B, 0x00, 0xF4, 0x00, 0x01, 0x00, 0x01, +0x00, 0x0B, 0x00, 0x07, 0x00, 0x0B, 0x00, 0xFF, 0x00, 0x03, +0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x78, 0x01, 0x0A, +0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x16, +0x01, 0x82, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, +0x00, 0x0C, 0x01, 0x98, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, +0x00, 0x03, 0x00, 0x16, 0x01, 0xA4, 0x00, 0x03, 0x00, 0x01, +0x04, 0x09, 0x00, 0x04, 0x00, 0x16, 0x01, 0xBA, 0x00, 0x03, +0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x18, 0x01, 0xD0, +0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x16, +0x01, 0xE8, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x07, +0x00, 0x16, 0x01, 0xFE, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, +0x00, 0x00, 0x00, 0x78, 0x02, 0x14, 0x00, 0x03, 0x00, 0x01, +0x04, 0x11, 0x00, 0x01, 0x00, 0x0E, 0x02, 0x8C, 0x00, 0x03, +0x00, 0x01, 0x04, 0x11, 0x00, 0x02, 0x00, 0x0C, 0x02, 0x9A, +0x00, 0x03, 0x00, 0x01, 0x04, 0x11, 0x00, 0x03, 0x00, 0x0E, +0x02, 0xA6, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, 0x00, 0x04, +0x00, 0x0E, 0x02, 0xB4, 0x00, 0x03, 0x00, 0x01, 0x04, 0x11, +0x00, 0x05, 0x00, 0x18, 0x02, 0xC2, 0x00, 0x03, 0x00, 0x01, +0x04, 0x11, 0x00, 0x06, 0x00, 0x16, 0x02, 0xDA, 0x00, 0x03, +0x00, 0x01, 0x04, 0x11, 0x00, 0x07, 0x00, 0x0E, 0x02, 0xF0, +0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, +0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, 0x34, 0x20, 0x4D, +0x2B, 0x20, 0x46, 0x4F, 0x4E, 0x54, 0x53, 0x20, 0x5B, 0x6B, +0x61, 0x6E, 0x61, 0x5D, 0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, +0x69, 0x67, 0x68, 0x74, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, +0x31, 0x35, 0x20, 0x4A, 0x4B, 0x46, 0x4F, 0x4E, 0x54, 0x53, +0x4A, 0x4B, 0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, +0x4D, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, 0x4A, 0x4B, 0x20, +0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, 0x4D, 0x4A, 0x4B, +0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, 0x20, 0x4D, 0x56, +0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x31, 0x2E, 0x30, +0x30, 0x4A, 0x4B, 0x2D, 0x47, 0x6F, 0x74, 0x68, 0x69, 0x63, +0x2D, 0x4D, 0x4A, 0x4B, 0x20, 0x47, 0x6F, 0x74, 0x68, 0x69, +0x63, 0x20, 0x4D, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, +0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, +0x34, 0x20, 0x4D, 0x2B, 0x20, 0x46, 0x4F, 0x4E, 0x54, 0x53, +0x20, 0x5B, 0x6B, 0x61, 0x6E, 0x61, 0x5D, 0x20, 0x43, 0x6F, +0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x28, 0x63, 0x29, +0x20, 0x32, 0x30, 0x31, 0x35, 0x20, 0x4A, 0x4B, 0x46, 0x4F, +0x4E, 0x54, 0x53, 0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, +0x62, 0x83, 0x4E, 0x4D, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, +0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, 0x4E, +0x4D, 0x4A, 0x4B, 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, +0x4E, 0x4D, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, +0x31, 0x2E, 0x30, 0x30, 0x4A, 0x4B, 0x2D, 0x47, 0x6F, 0x74, +0x68, 0x69, 0x63, 0x2D, 0x4D, 0x4A, 0x4B, 0x83, 0x53, 0x83, +0x56, 0x83, 0x62, 0x83, 0x4E, 0x4D, 0x00, 0x43, 0x00, 0x6F, +0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, +0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, 0x00, 0x63, +0x00, 0x29, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, +0x00, 0x34, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x2B, 0x00, 0x20, +0x00, 0x46, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, +0x00, 0x20, 0x00, 0x5B, 0x00, 0x6B, 0x00, 0x61, 0x00, 0x6E, +0x00, 0x61, 0x00, 0x5D, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6F, +0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, +0x00, 0x68, 0x00, 0x74, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, +0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x35, +0x00, 0x20, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x46, 0x00, 0x4F, +0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, 0x00, 0x4A, 0x00, 0x4B, +0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x68, +0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x4D, +0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, +0x00, 0x6F, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, +0x00, 0x20, 0x00, 0x4D, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, +0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x20, +0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, 0x00, 0x4A, +0x00, 0x4B, 0x00, 0x2D, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x74, +0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x2D, 0x00, 0x4D, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, +0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, +0x00, 0x20, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, +0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x34, 0x00, 0x20, +0x00, 0x4D, 0x00, 0x2B, 0x00, 0x20, 0x00, 0x46, 0x00, 0x4F, +0x00, 0x4E, 0x00, 0x54, 0x00, 0x53, 0x00, 0x20, 0x00, 0x5B, +0x00, 0x6B, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x5D, +0x00, 0x20, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, +0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, +0x00, 0x28, 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, 0x00, 0x32, +0x00, 0x30, 0x00, 0x31, 0x00, 0x35, 0x00, 0x20, 0x00, 0x4A, +0x00, 0x4B, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x54, +0x00, 0x53, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x65, +0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x4A, +0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, 0x30, 0xC3, 0x30, 0xAF, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x56, 0x00, 0x65, +0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, +0x00, 0x20, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, +0x00, 0x4A, 0x00, 0x4B, 0x00, 0x2D, 0x00, 0x47, 0x00, 0x6F, +0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x2D, +0x00, 0x4D, 0x00, 0x4A, 0x00, 0x4B, 0x30, 0xB4, 0x30, 0xB7, +0x30, 0xC3, 0x30, 0xAF, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x02, +0x00, 0x08, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x03, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, +0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, +0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, +0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, +0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, +0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, +0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, +0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, +0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A, +0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, +0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, +0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, +0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, +0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, +0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, +0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, +0x00, 0x4E, 0x00, 0x4F, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, +0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, +0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, +0x00, 0x5D, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x60, 0x00, 0x61, +0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, +0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00, 0x6B, +0x00, 0x6C, 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x70, +0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, +0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, +0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7F, +0xB0, 0x00, 0x2C, 0x2F, 0xFD, 0x2D, 0xB0, 0x01, 0x2C, 0x2F, +0xFD, 0x3C, 0x2D, 0xB0, 0x02, 0x2C, 0x2F, 0xFD, 0x3C, 0x3C, +0x2D, 0xB0, 0x03, 0x2C, 0x2F, 0xFD, 0x3C, 0x3C, 0x3C, 0x2D, +0xB0, 0x04, 0x2C, 0x2F, 0x3C, 0xFD, 0x2D, 0xB0, 0x05, 0x2C, +0x2F, 0x3C, 0xFD, 0x3C, 0x2D, 0xB0, 0x06, 0x2C, 0x2F, 0x3C, +0xFD, 0x3C, 0x3C, 0x2D, 0xB0, 0x07, 0x2C, 0x2F, 0x3C, 0xFD, +0x3C, 0x3C, 0x3C, 0x2D, 0xB0, 0x08, 0x2C, 0x2F, 0x3C, 0x3C, +0xFD, 0x2D, 0xB0, 0x09, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, +0x2D, 0xB0, 0x0A, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, 0x3C, +0x2D, 0xB0, 0x0B, 0x2C, 0x2F, 0x3C, 0x3C, 0xFD, 0x3C, 0x3C, +0x3C, 0x2D, 0xB0, 0x0C, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, +0x2D, 0xB0, 0x0D, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, 0x3C, +0x2D, 0xB0, 0x0E, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, 0x3C, +0x3C, 0x2D, 0xB0, 0x0F, 0x2C, 0x2F, 0x3C, 0x3C, 0x3C, 0xFD, +0x3C, 0x3C, 0x3C, 0x2D, 0xB0, 0x10, 0x2C, 0x3C, 0x2D, 0xB0, +0x11, 0x2C, 0x2F, 0xB0, 0x10, 0x2A, 0xFD, 0x2D, 0xB0, 0x12, +0x2C, 0x2F, 0xFD, 0xB0, 0x10, 0x2A, 0x2D, 0xB0, 0x13, 0x2C, +0x2F, 0xB0, 0x10, 0x2A, 0xFD, 0xB0, 0x10, 0x2A, 0x2D, 0x00, +0xB8, 0x01, 0xFF, 0x85, 0xB0, 0x01, 0x8D, 0xB1, 0x01, 0x81, +0x45, 0x44, 0xB1, 0x02, 0x82, 0x45, 0x44, 0xB1, 0x03, 0x83, +0x45, 0x44, 0xB1, 0x04, 0x84, 0x45, 0x44, 0xB1, 0x05, 0x85, +0x45, 0x44, 0xB1, 0x06, 0x86, 0x45, 0x44, 0xB1, 0x07, 0x87, +0x45, 0x44, 0xB1, 0x08, 0x88, 0x45, 0x44, 0xB1, 0x09, 0x89, +0x45, 0x44, 0xB1, 0x0A, 0x8A, 0x45, 0x44, 0xB1, 0x0B, 0x8B, +0x45, 0x44, 0xB1, 0x0C, 0x8C, 0x45, 0x44, 0xB1, 0x0D, 0x8D, +0x45, 0x44, 0xB1, 0x0E, 0x8E, 0x45, 0x44, 0xB1, 0x0F, 0x8F, +0x45, 0x44, 0xB1, 0x10, 0x90, 0x45, 0x44, 0xB1, 0x11, 0x91, +0x45, 0x44, 0xB1, 0x12, 0x92, 0x45, 0x44, 0xB1, 0x13, 0x93, +0x45, 0x44, 0xB1, 0x14, 0x94, 0x45, 0x44, 0xB1, 0x15, 0x95, +0x45, 0x44, 0xB1, 0x16, 0x96, 0x45, 0x44, 0xB1, 0x17, 0x97, +0x45, 0x44, 0xB1, 0x18, 0x98, 0x45, 0x44, 0xB1, 0x19, 0x99, +0x45, 0x44, 0xB1, 0x1A, 0x9A, 0x45, 0x44, 0xB1, 0x1B, 0x9B, +0x45, 0x44, 0xB1, 0x1C, 0x9C, 0x45, 0x44, 0xB1, 0x1D, 0x9D, +0x45, 0x44, 0xB1, 0x1E, 0x9E, 0x45, 0x44, 0xB1, 0x1F, 0x9F, +0x45, 0x44, 0xB1, 0x20, 0xA0, 0x45, 0x44, 0xB1, 0x21, 0xA1, +0x45, 0x44, 0xB1, 0x22, 0xA2, 0x45, 0x44, 0xB1, 0x23, 0xA3, +0x45, 0x44, 0xB1, 0x24, 0xA4, 0x45, 0x44, 0xB1, 0x25, 0xA5, +0x45, 0x44, 0xB1, 0x26, 0xA6, 0x45, 0x44, 0xB1, 0x27, 0xA7, +0x45, 0x44, 0xB1, 0x28, 0xA8, 0x45, 0x44, 0xB1, 0x29, 0xA9, +0x45, 0x44, 0xB1, 0x2A, 0xAA, 0x45, 0x44, 0xB1, 0x2B, 0xAB, +0x45, 0x44, 0xB1, 0x2C, 0xAC, 0x45, 0x44, 0xB1, 0x2D, 0xAD, +0x45, 0x44, 0xB1, 0x2E, 0xAE, 0x45, 0x44, 0xB1, 0x2F, 0xAF, +0x45, 0x44, 0xB1, 0x30, 0xB0, 0x45, 0x44, 0xB1, 0x31, 0xB1, +0x45, 0x44, 0xB1, 0x32, 0xB2, 0x45, 0x44, 0xB1, 0x33, 0xB3, +0x45, 0x44, 0xB1, 0x34, 0xB4, 0x45, 0x44, 0xB1, 0x35, 0xB5, +0x45, 0x44, 0xB1, 0x36, 0xB6, 0x45, 0x44, 0xB1, 0x37, 0xB7, +0x45, 0x44, 0xB1, 0x38, 0xB8, 0x45, 0x44, 0xB1, 0x39, 0xB9, +0x45, 0x44, 0xB1, 0x3A, 0xBA, 0x45, 0x44, 0xB1, 0x3B, 0xBB, +0x45, 0x44, 0xB1, 0x3C, 0xBC, 0x45, 0x44, 0xB1, 0x3D, 0xBD, +0x45, 0x44, 0xB1, 0x3E, 0xBE, 0x45, 0x44, 0xB1, 0x3F, 0xBF, +0x45, 0x44, 0xB1, 0x40, 0xC0, 0x45, 0x44, 0xB1, 0x41, 0xC1, +0x45, 0x44, 0xB1, 0x42, 0xC2, 0x45, 0x44, 0xB1, 0x43, 0xC3, +0x45, 0x44, 0xB1, 0x44, 0xC4, 0x45, 0x44, 0xB1, 0x45, 0xC5, +0x45, 0x44, 0xB1, 0x46, 0xC6, 0x45, 0x44, 0xB1, 0x47, 0xC7, +0x45, 0x44, 0xB1, 0x48, 0xC8, 0x45, 0x44, 0xB1, 0x49, 0xC9, +0x45, 0x44, 0xB1, 0x4A, 0xCA, 0x45, 0x44, 0xB1, 0x4B, 0xCB, +0x45, 0x44, 0xB1, 0x4C, 0xCC, 0x45, 0x44, 0xB1, 0x4D, 0xCD, +0x45, 0x44, 0xB1, 0x4E, 0xCE, 0x45, 0x44, 0xB1, 0x4F, 0xCF, +0x45, 0x44, 0xB1, 0x50, 0xD0, 0x45, 0x44, 0xB1, 0x51, 0xD1, +0x45, 0x44, 0xB1, 0x52, 0xD2, 0x45, 0x44, 0xB1, 0x53, 0xD3, +0x45, 0x44, 0xB1, 0x54, 0xD4, 0x45, 0x44, 0xB1, 0x55, 0xD5, +0x45, 0x44, 0xB1, 0x56, 0xD6, 0x45, 0x44, 0xB1, 0x57, 0xD7, +0x45, 0x44, 0xB1, 0x58, 0xD8, 0x45, 0x44, 0xB1, 0x59, 0xD9, +0x45, 0x44, 0xB1, 0x5A, 0xDA, 0x45, 0x44, 0xB1, 0x5B, 0xDB, +0x45, 0x44, 0xB1, 0x5C, 0xDC, 0x45, 0x44, 0xB1, 0x5D, 0xDD, +0x45, 0x44, 0xB1, 0x5E, 0xDE, 0x45, 0x44, 0xB1, 0x5F, 0xDF, +0x45, 0x44, 0xB1, 0x60, 0xE0, 0x45, 0x44, 0xB1, 0x61, 0xE1, +0x45, 0x44, 0xB1, 0x62, 0xE2, 0x45, 0x44, 0xB1, 0x63, 0xE3, +0x45, 0x44, 0xB1, 0x64, 0xE4, 0x45, 0x44, 0xB1, 0x65, 0xE5, +0x45, 0x44, 0xB1, 0x66, 0xE6, 0x45, 0x44, 0xB1, 0x67, 0xE7, +0x45, 0x44, 0xB1, 0x68, 0xE8, 0x45, 0x44, 0xB1, 0x69, 0xE9, +0x45, 0x44, 0xB1, 0x6A, 0xEA, 0x45, 0x44, 0xB1, 0x6B, 0xEB, +0x45, 0x44, 0xB1, 0x6C, 0xEC, 0x45, 0x44, 0xB1, 0x6D, 0xED, +0x45, 0x44, 0xB1, 0x6E, 0xEE, 0x45, 0x44, 0xB1, 0x6F, 0xEF, +0x45, 0x44, 0xB1, 0x70, 0xF0, 0x45, 0x44, 0xB1, 0x71, 0xF1, +0x45, 0x44, 0xB1, 0x72, 0xF2, 0x45, 0x44, 0xB1, 0x73, 0xF3, +0x45, 0x44, 0xB1, 0x74, 0xF4, 0x45, 0x44, 0xB1, 0x75, 0xF5, +0x45, 0x44, 0xB1, 0x76, 0xF6, 0x45, 0x44, 0xB1, 0x77, 0xF7, +0x45, 0x44, 0xB1, 0x78, 0xF8, 0x45, 0x44, 0xB1, 0x79, 0xF9, +0x45, 0x44, 0xB1, 0x7A, 0xFA, 0x45, 0x44, 0xB1, 0x7B, 0xFB, +0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, +0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, +0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x88, +0x00, 0x00, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x03, 0x00, 0x0E, +0x00, 0x7E, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, +0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, +0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, +0x00, 0x00, 0x00, 0x20, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6A, +0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, +0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, +0xFF, 0xFF, 0xFF, 0xE1, 0xD0, 0x0D, 0xD0, 0x00, 0xCF, 0xF8, +0xCF, 0xF5, 0xCF, 0xD2, 0xCF, 0xB1, 0xCF, 0x9F, 0xCF, 0x8B, +0xCF, 0x6D, 0xB2, 0x54, 0xAF, 0x03, 0xA4, 0xE0, 0x8B, 0x21, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, +0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0x88, +0x00, 0x00, 0x02, 0x28, 0x00, 0x00, 0x02, 0xE0, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x03, 0x70, +0x00, 0x00, 0x03, 0xB8, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, +0x04, 0x10, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x04, 0x50, +0x00, 0x00, 0x04, 0x74, 0x00, 0x00, 0x04, 0xD4, 0x00, 0x00, +0x05, 0x08, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00, 0x05, 0xEC, +0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x06, 0xB0, 0x00, 0x00, +0x07, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x08, 0x34, +0x00, 0x00, 0x08, 0xC8, 0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0x4C, 0x00, 0x00, 0x09, 0x80, +0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x0A, 0x34, 0x00, 0x00, +0x0B, 0x2C, 0x00, 0x00, 0x0B, 0x70, 0x00, 0x00, 0x0C, 0x08, +0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x0C, 0xC8, 0x00, 0x00, +0x0D, 0x14, 0x00, 0x00, 0x0D, 0x54, 0x00, 0x00, 0x0D, 0xCC, +0x00, 0x00, 0x0E, 0x14, 0x00, 0x00, 0x0E, 0x38, 0x00, 0x00, +0x0E, 0x7C, 0x00, 0x00, 0x0E, 0xC8, 0x00, 0x00, 0x0E, 0xF8, +0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x0F, 0x84, 0x00, 0x00, +0x0F, 0xE4, 0x00, 0x00, 0x10, 0x44, 0x00, 0x00, 0x10, 0xC0, +0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x11, 0xC8, 0x00, 0x00, +0x11, 0xFC, 0x00, 0x00, 0x12, 0x4C, 0x00, 0x00, 0x12, 0x80, +0x00, 0x00, 0x12, 0xD4, 0x00, 0x00, 0x13, 0x14, 0x00, 0x00, +0x13, 0x4C, 0x00, 0x00, 0x13, 0x8C, 0x00, 0x00, 0x13, 0xC4, +0x00, 0x00, 0x13, 0xE4, 0x00, 0x00, 0x14, 0x1C, 0x00, 0x00, +0x14, 0x48, 0x00, 0x00, 0x14, 0x6C, 0x00, 0x00, 0x14, 0x8C, +0x00, 0x00, 0x15, 0x24, 0x00, 0x00, 0x15, 0xA4, 0x00, 0x00, +0x16, 0x04, 0x00, 0x00, 0x16, 0x84, 0x00, 0x00, 0x16, 0xEC, +0x00, 0x00, 0x17, 0x4C, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00, +0x18, 0x80, 0x00, 0x00, 0x18, 0xB8, 0x00, 0x00, 0x19, 0x08, +0x00, 0x00, 0x19, 0x4C, 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, +0x1A, 0x00, 0x00, 0x00, 0x1A, 0x58, 0x00, 0x00, 0x1A, 0xAC, +0x00, 0x00, 0x1B, 0x2C, 0x00, 0x00, 0x1B, 0xAC, 0x00, 0x00, +0x1B, 0xEC, 0x00, 0x00, 0x1C, 0x70, 0x00, 0x00, 0x1C, 0xD0, +0x00, 0x00, 0x1D, 0x2C, 0x00, 0x00, 0x1D, 0x60, 0x00, 0x00, +0x1D, 0xB4, 0x00, 0x00, 0x1D, 0xF0, 0x00, 0x00, 0x1E, 0x34, +0x00, 0x00, 0x1E, 0x74, 0x00, 0x00, 0x1F, 0x04, 0x00, 0x00, +0x1F, 0x28, 0x00, 0x00, 0x1F, 0xB8, 0x00, 0x00, 0x20, 0x10, +0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x21, 0x24, 0x00, 0x00, +0x22, 0x0C, 0x00, 0x00, 0x22, 0x7C, 0x00, 0x00, 0x23, 0x4C, +0x00, 0x00, 0x23, 0xDC, 0x00, 0x00, 0x24, 0x50, 0x00, 0x00, +0x24, 0xA4, 0x00, 0x00, 0x25, 0x6C, 0x00, 0x00, 0x25, 0x90, +0x00, 0x00, 0x26, 0x20, 0x00, 0x00, 0x26, 0xB0, 0x00, 0x00, +0x27, 0x80, 0x00, 0x00, 0x28, 0x58, 0x04, 0x00, 0x01, 0x92, +0x01, 0x1C, 0x00, 0x00, 0x01, 0x6A, 0x00, 0x73, 0x01, 0xBC, +0x00, 0x45, 0x02, 0xBC, 0x00, 0x30, 0x02, 0x56, 0x00, 0x35, +0x03, 0x60, 0x00, 0x26, 0x02, 0xF0, 0x00, 0x35, 0x01, 0x0E, +0x00, 0x4A, 0x01, 0xA3, 0x00, 0x45, 0x01, 0xA3, 0x00, 0x2B, +0x02, 0x17, 0x00, 0x30, 0x02, 0xF0, 0x00, 0x4F, 0x01, 0x56, +0x00, 0x3A, 0x01, 0xE5, 0x00, 0x4F, 0x01, 0x42, 0x00, 0x5E, +0x02, 0x1E, 0x00, 0x21, 0x02, 0x85, 0x00, 0x2E, 0x02, 0x85, +0x00, 0x71, 0x02, 0x85, 0x00, 0x57, 0x02, 0x85, 0x00, 0x57, +0x02, 0x85, 0x00, 0x0F, 0x02, 0x85, 0x00, 0x61, 0x02, 0x85, +0x00, 0x38, 0x02, 0x85, 0x00, 0x52, 0x02, 0x85, 0x00, 0x2E, +0x02, 0x85, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x87, 0x01, 0xA8, +0x00, 0x4F, 0x02, 0xB2, 0x00, 0x3F, 0x03, 0x04, 0x00, 0x59, +0x02, 0xB2, 0x00, 0x5E, 0x02, 0x7F, 0x00, 0x54, 0x03, 0x4C, +0x00, 0x26, 0x02, 0xB2, 0x00, 0x1C, 0x02, 0x70, 0x00, 0x54, +0x02, 0x7F, 0x00, 0x26, 0x02, 0xAD, 0x00, 0x54, 0x02, 0x60, +0x00, 0x54, 0x02, 0x51, 0x00, 0x54, 0x02, 0xC7, 0x00, 0x26, +0x02, 0xC7, 0x00, 0x54, 0x01, 0x56, 0x00, 0x6E, 0x02, 0x28, +0x00, 0x26, 0x02, 0x89, 0x00, 0x54, 0x02, 0x5B, 0x00, 0x54, +0x03, 0x37, 0x00, 0x2B, 0x02, 0xC7, 0x00, 0x54, 0x02, 0xE5, +0x00, 0x26, 0x02, 0x75, 0x00, 0x54, 0x03, 0x04, 0x00, 0x26, +0x02, 0x89, 0x00, 0x54, 0x02, 0x42, 0x00, 0x3A, 0x02, 0x89, +0x00, 0x3A, 0x02, 0xA8, 0x00, 0x4A, 0x02, 0xB2, 0x00, 0x1C, +0x03, 0x89, 0x00, 0x2B, 0x02, 0xA8, 0x00, 0x35, 0x02, 0xA8, +0x00, 0x1C, 0x02, 0x7F, 0x00, 0x4A, 0x01, 0xF0, 0x00, 0x73, +0x02, 0x1E, 0x00, 0x30, 0x01, 0xF0, 0x00, 0x54, 0x02, 0x9E, +0x00, 0x26, 0x02, 0x4E, 0xFF, 0xFE, 0x01, 0x32, 0x00, 0x0C, +0x02, 0x2D, 0x00, 0x30, 0x02, 0x5B, 0x00, 0x4F, 0x01, 0xFA, +0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, +0x02, 0x09, 0x00, 0x35, 0x02, 0x1E, 0x00, 0x1C, 0x02, 0x56, +0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x01, 0x75, 0xFF, 0xF3, +0x02, 0x47, 0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x03, 0x28, +0x00, 0x4A, 0x02, 0x51, 0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, +0x02, 0x56, 0x00, 0x4A, 0x02, 0x56, 0x00, 0x2B, 0x01, 0xDB, +0x00, 0x4A, 0x02, 0x04, 0x00, 0x3A, 0x02, 0x09, 0x00, 0x30, +0x02, 0x4C, 0x00, 0x45, 0x02, 0x37, 0x00, 0x21, 0x03, 0x2D, +0x00, 0x2B, 0x02, 0x37, 0x00, 0x30, 0x02, 0x47, 0x00, 0x26, +0x02, 0x2D, 0x00, 0x4A, 0x02, 0x19, 0x00, 0x3A, 0x01, 0x75, +0x00, 0x87, 0x02, 0x19, 0x00, 0x59, 0x02, 0xD1, 0x00, 0x35, +0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, +0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, +0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, +0x00, 0xB0, 0x04, 0x00, 0x00, 0x27, 0x04, 0x00, 0x00, 0x6C, +0x04, 0x00, 0x00, 0x2D, 0x04, 0x00, 0x00, 0x26, 0x04, 0x00, +0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, +0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, +0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, +0x00, 0xF8, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x07, 0x00, 0x09, +0xB3, 0x06, 0x7B, 0x04, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x07, 0x35, 0x33, 0x15, 0x73, 0x85, 0x10, +0x66, 0x0A, 0x7B, 0x02, 0xEC, 0xFD, 0xEB, 0xD7, 0x85, 0x85, +0x00, 0x00, 0x00, 0x02, 0x00, 0x45, 0x02, 0x0A, 0x01, 0x78, +0x03, 0x14, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, 0x00, 0x30, +0x31, 0x13, 0x33, 0x03, 0x23, 0x13, 0x33, 0x03, 0x23, 0x45, +0x70, 0x0F, 0x52, 0xB3, 0x71, 0x10, 0x51, 0x03, 0x14, 0xFE, +0xF6, 0x01, 0x0A, 0xFE, 0xF6, 0x00, 0x00, 0x02, 0x00, 0x30, +0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, 0x00, 0x1B, 0x00, 0x1F, +0x00, 0x17, 0x00, 0x40, 0x10, 0x1C, 0x0F, 0x03, 0x58, 0x0D, +0x09, 0x05, 0x0A, 0x1B, 0x17, 0x13, 0x58, 0x1E, 0x11, 0x01, +0x0A, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x35, 0x33, 0x37, 0x23, +0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, +0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, +0x07, 0x23, 0x37, 0x01, 0x23, 0x07, 0x33, 0x30, 0x78, 0x28, +0x6D, 0x7D, 0x1D, 0x66, 0x1C, 0x7B, 0x1C, 0x67, 0x1D, 0x64, +0x74, 0x28, 0x69, 0x79, 0x21, 0x66, 0x21, 0x7B, 0x21, 0x66, +0x21, 0x01, 0x18, 0x7B, 0x28, 0x7B, 0xB8, 0x58, 0xE0, 0x58, +0xA4, 0xA4, 0xA4, 0xA4, 0x58, 0xE0, 0x58, 0xB8, 0xB8, 0xB8, +0xB8, 0x01, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x35, +0xFF, 0xA9, 0x02, 0x21, 0x03, 0x43, 0x00, 0x1C, 0x00, 0x22, +0x00, 0x27, 0x00, 0x1D, 0x40, 0x15, 0x19, 0x6C, 0x1F, 0x1E, +0x04, 0x25, 0x24, 0x6A, 0x0B, 0x0A, 0x05, 0x22, 0x1C, 0x16, +0x10, 0x56, 0x27, 0x0E, 0x07, 0x01, 0x0F, 0x2B, 0x2B, 0x2B, +0x00, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x35, 0x16, +0x17, 0x35, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, +0x15, 0x16, 0x17, 0x15, 0x26, 0x27, 0x15, 0x1E, 0x01, 0x14, +0x06, 0x07, 0x35, 0x36, 0x35, 0x34, 0x26, 0x27, 0x03, 0x06, +0x15, 0x14, 0x17, 0x01, 0x56, 0x56, 0x64, 0x57, 0x57, 0x64, +0x6A, 0x61, 0x67, 0x64, 0x56, 0x5A, 0x57, 0x4F, 0x62, 0x71, +0x5A, 0x68, 0x63, 0x5F, 0x29, 0x36, 0x56, 0x61, 0x61, 0x57, +0x67, 0x06, 0x22, 0x67, 0x2E, 0x07, 0xF2, 0x21, 0x64, 0x48, +0x4C, 0x5D, 0x08, 0x69, 0x68, 0x04, 0x1A, 0x62, 0x1E, 0x07, +0xDA, 0x22, 0x60, 0xA4, 0x63, 0x0B, 0x5C, 0x11, 0x53, 0x2A, +0x33, 0x14, 0x01, 0x3D, 0x0B, 0x4C, 0x48, 0x23, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xF6, 0x03, 0x3A, 0x02, 0xF6, 0x00, 0x03, +0x00, 0x0C, 0x00, 0x15, 0x00, 0x1A, 0x00, 0x1F, 0x00, 0x31, +0x40, 0x12, 0x10, 0x6B, 0x1D, 0x00, 0x07, 0x6B, 0x18, 0x00, +0x1F, 0x1B, 0x6B, 0x14, 0x01, 0x1A, 0x16, 0x6B, 0x0B, 0x01, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x12, 0x52, 0x1C, +0x00, 0x09, 0x52, 0x17, 0x00, 0x1E, 0x52, 0x0E, 0x00, 0x19, +0x52, 0x05, 0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x01, 0x23, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, +0x26, 0x34, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, +0x34, 0x01, 0x14, 0x32, 0x34, 0x22, 0x25, 0x14, 0x32, 0x34, +0x22, 0x02, 0x3F, 0x71, 0xFE, 0x71, 0x71, 0x01, 0x53, 0x2F, +0xAA, 0x5E, 0x5E, 0xAA, 0x5E, 0xFE, 0x81, 0x2F, 0xAA, 0x5E, +0x5E, 0xAA, 0x5E, 0x02, 0x19, 0x90, 0x90, 0xFE, 0x52, 0x90, +0x90, 0x02, 0xEC, 0xFD, 0x14, 0x01, 0x52, 0x33, 0x67, 0xC1, +0x67, 0x67, 0xC1, 0x01, 0xA5, 0x33, 0x68, 0xC0, 0x68, 0x68, +0xC0, 0xFE, 0x2F, 0x75, 0xEB, 0xFB, 0x76, 0xEC, 0x00, 0x03, +0x00, 0x35, 0xFF, 0xF6, 0x02, 0xEE, 0x02, 0xF6, 0x00, 0x1B, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x2A, 0x40, 0x12, 0x03, 0x02, +0x69, 0x1F, 0x1E, 0x05, 0x24, 0x23, 0x6E, 0x19, 0x18, 0x05, +0x2B, 0x2A, 0x71, 0x13, 0x12, 0x05, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x11, 0x10, 0x58, 0x2D, 0x2C, 0x05, 0x21, 0x20, +0x56, 0x1B, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, +0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x36, 0x37, 0x33, 0x06, +0x07, 0x17, 0x23, 0x27, 0x06, 0x23, 0x22, 0x35, 0x34, 0x36, +0x37, 0x27, 0x26, 0x35, 0x34, 0x36, 0x13, 0x3E, 0x01, 0x35, +0x34, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x27, 0x0E, +0x01, 0x15, 0x14, 0x33, 0x32, 0x01, 0x4A, 0x67, 0x6B, 0x49, +0x5A, 0x9A, 0x21, 0x0B, 0x6C, 0x12, 0x3E, 0x93, 0x86, 0x4C, +0x66, 0x8B, 0xF6, 0x4D, 0x60, 0x0A, 0x65, 0x70, 0x55, 0x4C, +0x2F, 0x69, 0x32, 0x37, 0x1E, 0xDB, 0xB7, 0x46, 0x37, 0x8A, +0x66, 0x02, 0xF6, 0x54, 0x4B, 0x37, 0x63, 0x3B, 0xA0, 0x43, +0x56, 0x86, 0x5C, 0x99, 0x4F, 0x59, 0xB8, 0x37, 0x69, 0x40, +0x0B, 0x66, 0x53, 0x4B, 0x59, 0xFE, 0xD0, 0x32, 0x38, 0x22, +0x4E, 0x2A, 0x24, 0x1F, 0x32, 0xFE, 0x90, 0xBB, 0x2E, 0x48, +0x23, 0x65, 0x00, 0x01, 0x00, 0x4A, 0x02, 0x0A, 0x00, 0xC5, +0x03, 0x14, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x4A, 0x7B, 0x10, 0x5C, 0x03, 0x14, 0xFE, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0x61, +0x01, 0x78, 0x03, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x0A, +0x00, 0x6B, 0x05, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x13, 0x10, +0x17, 0x23, 0x2E, 0x01, 0x10, 0x36, 0x37, 0x33, 0x06, 0xB0, +0xC8, 0x67, 0x62, 0x6A, 0x6A, 0x62, 0x67, 0xC8, 0x01, 0x3B, +0xFE, 0xE8, 0xC2, 0x5A, 0xF6, 0x01, 0x15, 0xF4, 0x5A, 0xC1, +0x00, 0x01, 0x00, 0x2B, 0xFF, 0x61, 0x01, 0x5E, 0x03, 0x14, +0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x03, 0x6B, 0x09, 0x08, 0x04, +0x2B, 0x00, 0x30, 0x31, 0x13, 0x33, 0x1E, 0x01, 0x10, 0x06, +0x07, 0x23, 0x36, 0x11, 0x10, 0x2B, 0x66, 0x63, 0x6A, 0x6A, +0x63, 0x66, 0xC8, 0x03, 0x14, 0x5A, 0xF4, 0xFE, 0xEB, 0xF6, +0x5A, 0xC2, 0x01, 0x18, 0x01, 0x18, 0x00, 0x01, 0x00, 0x30, +0x01, 0x4E, 0x01, 0xE6, 0x03, 0x14, 0x00, 0x11, 0x00, 0x03, +0x00, 0x30, 0x31, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, +0x27, 0x17, 0x23, 0x37, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, +0x27, 0x01, 0x37, 0x07, 0x8A, 0x2C, 0x91, 0x91, 0x2C, 0x8A, +0x07, 0x58, 0x07, 0x8A, 0x2C, 0x92, 0x92, 0x2C, 0x8A, 0x07, +0x03, 0x14, 0xA3, 0x58, 0x4C, 0x4C, 0x4C, 0x4B, 0x58, 0xA4, +0xA4, 0x58, 0x4B, 0x4C, 0x4C, 0x4C, 0x58, 0xA3, 0x00, 0x01, +0x00, 0x4F, 0x00, 0x00, 0x02, 0xA1, 0x02, 0x52, 0x00, 0x0B, +0x00, 0x13, 0xB5, 0x04, 0x00, 0x5C, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0xB5, 0x07, 0x03, 0x56, 0x09, 0x01, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, +0x35, 0x33, 0x35, 0x01, 0xA6, 0xFB, 0xFB, 0x5C, 0xFB, 0xFB, +0x02, 0x52, 0xFE, 0x56, 0xFE, 0xFE, 0x56, 0xFE, 0x00, 0x01, +0x00, 0x3A, 0xFF, 0x8F, 0x01, 0x11, 0x00, 0x9A, 0x00, 0x03, +0x00, 0x03, 0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x82, +0x8F, 0x70, 0x67, 0x9A, 0xFE, 0xF5, 0x00, 0x01, 0x00, 0x4F, +0x00, 0xFE, 0x01, 0x97, 0x01, 0x54, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x56, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x21, 0x15, 0x4F, 0x01, 0x48, 0xFE, 0x56, 0x56, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x00, 0x00, 0xE3, +0x00, 0x9A, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x33, +0x35, 0x33, 0x15, 0x5E, 0x85, 0x9A, 0x9A, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x21, 0xFF, 0xD7, 0x01, 0xEE, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x09, 0x01, 0x23, +0x01, 0x01, 0xEE, 0xFE, 0x9E, 0x6B, 0x01, 0x61, 0x02, 0xEC, +0xFC, 0xEB, 0x03, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x08, 0x00, 0x11, +0x00, 0x19, 0xB7, 0x03, 0x71, 0x0C, 0x00, 0x10, 0x71, 0x07, +0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5A, 0x0A, 0x00, 0x0E, +0x5A, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x36, 0x20, +0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, 0x32, 0x36, +0x10, 0x26, 0x22, 0x06, 0x10, 0x74, 0x44, 0x01, 0x15, 0x8A, +0x8A, 0xFE, 0xEB, 0x8A, 0x9A, 0x28, 0xA6, 0x50, 0x50, 0xA6, +0x51, 0x02, 0x9B, 0x5B, 0xB7, 0xFE, 0x6D, 0xB6, 0xB6, 0x01, +0x93, 0xFE, 0x54, 0x43, 0x86, 0x01, 0x40, 0x86, 0x86, 0xFE, +0xC0, 0x00, 0x00, 0x01, 0x00, 0x71, 0x00, 0x00, 0x01, 0xAE, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0xB3, 0x01, 0x71, 0x03, +0x00, 0x2B, 0x00, 0xB3, 0x04, 0x7B, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x07, 0x35, 0x01, +0x3D, 0x71, 0x71, 0x02, 0xCA, 0x02, 0xEC, 0xFD, 0x14, 0x02, +0x71, 0xA4, 0x7B, 0x00, 0x00, 0x01, 0x00, 0x57, 0x00, 0x00, +0x02, 0x2E, 0x02, 0xF6, 0x00, 0x14, 0x00, 0x1A, 0xB6, 0x12, +0x11, 0x02, 0x75, 0x08, 0x07, 0x06, 0x2B, 0x00, 0x40, 0x0A, +0x0A, 0x09, 0x5E, 0x0F, 0x0E, 0x05, 0x03, 0x5C, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x37, 0x15, 0x21, 0x15, 0x21, 0x35, +0x3E, 0x01, 0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0xF1, 0x01, 0x3D, 0xFE, 0x29, +0xD1, 0x91, 0x8B, 0x5C, 0x6C, 0x63, 0x74, 0x73, 0x7E, 0x82, +0x5E, 0x02, 0x5C, 0x5C, 0xA6, 0xBB, 0x57, 0x84, 0x3C, 0x6C, +0x2E, 0x72, 0x65, 0x67, 0xBE, 0x00, 0x00, 0x01, 0x00, 0x57, +0xFF, 0xF6, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x21, 0x00, 0x2A, +0x40, 0x0C, 0x1A, 0x19, 0x6E, 0x10, 0x0F, 0x05, 0x1F, 0x1E, +0x70, 0x08, 0x07, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x12, +0x11, 0x5C, 0x17, 0x16, 0x05, 0x0B, 0x0A, 0x5C, 0x0E, 0x0D, +0x05, 0x21, 0x00, 0x5C, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x35, 0x34, +0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, +0x07, 0x15, 0x16, 0x15, 0x14, 0x06, 0x01, 0x31, 0x79, 0x61, +0x67, 0x6D, 0x50, 0x54, 0x66, 0x75, 0x33, 0x33, 0xCF, 0x8E, +0x6F, 0x65, 0x62, 0x83, 0x6E, 0x7D, 0xA0, 0xAE, 0x8E, 0x0A, +0x2E, 0x64, 0x36, 0x48, 0x42, 0x41, 0x3F, 0x5C, 0x7B, 0x67, +0x37, 0x65, 0x2E, 0x5E, 0x50, 0x8F, 0x29, 0x02, 0x1A, 0x9D, +0x6A, 0x77, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x4D, +0x02, 0xEC, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x19, 0x40, 0x0A, +0x03, 0x71, 0x0C, 0x00, 0x0F, 0x08, 0x6F, 0x0A, 0x00, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x0B, 0x07, 0x5A, 0x05, 0x04, 0x05, +0x2B, 0x30, 0x31, 0x25, 0x11, 0x23, 0x03, 0x15, 0x21, 0x33, +0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x01, +0x66, 0x02, 0xE4, 0x01, 0x55, 0x78, 0x78, 0x6F, 0xFE, 0xA9, +0x01, 0x57, 0x6F, 0xFE, 0x01, 0x4B, 0xFE, 0xB7, 0x02, 0x5A, +0xA4, 0xA4, 0x5A, 0x01, 0xEE, 0x00, 0x00, 0x01, 0x00, 0x61, +0xFF, 0xF6, 0x02, 0x38, 0x02, 0xEC, 0x00, 0x19, 0x00, 0x20, +0xB5, 0x03, 0x02, 0x70, 0x0D, 0x0C, 0x05, 0x2B, 0x00, 0x40, +0x10, 0x15, 0x5D, 0x13, 0x00, 0x06, 0x05, 0x5C, 0x0B, 0x0A, +0x05, 0x0F, 0x0E, 0x58, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x07, +0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x33, 0x36, 0x01, 0x57, +0x6B, 0x76, 0x91, 0x8D, 0x63, 0x56, 0x67, 0x52, 0xAE, 0x85, +0x4C, 0x2F, 0x62, 0x15, 0x01, 0x9F, 0xFE, 0xC7, 0x0A, 0x02, +0x37, 0x01, 0xE1, 0x79, 0x6D, 0x81, 0x84, 0x24, 0x68, 0x30, +0xA9, 0x8E, 0x2D, 0x01, 0x90, 0x5D, 0xCC, 0x1E, 0x00, 0x02, +0x00, 0x38, 0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x15, +0x00, 0x21, 0x00, 0x2A, 0x40, 0x0C, 0x06, 0x05, 0x71, 0x19, +0x18, 0x05, 0x1F, 0x1E, 0x73, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x5C, 0x21, 0x16, 0x05, 0x13, +0x12, 0x5C, 0x0E, 0x0D, 0x05, 0x1C, 0x1B, 0x55, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x17, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x20, 0x11, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x13, 0x32, +0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, +0xB2, 0x02, 0x3E, 0x6F, 0x72, 0x84, 0x93, 0x7C, 0xFE, 0xF0, +0xA4, 0x9A, 0x4D, 0x42, 0x40, 0x4F, 0x50, 0x6A, 0x8C, 0x4A, +0x54, 0x57, 0x47, 0x46, 0x57, 0x58, 0x01, 0xB9, 0x01, 0x3E, +0x85, 0x71, 0x7D, 0x8D, 0x01, 0x52, 0xD8, 0xD6, 0x15, 0x61, +0x1A, 0x75, 0xFE, 0x2D, 0x59, 0x55, 0x4A, 0x57, 0x59, 0x48, +0x50, 0x5E, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x02, 0x3D, +0x02, 0xEC, 0x00, 0x0A, 0x00, 0x0F, 0xB3, 0x01, 0x6B, 0x08, +0x00, 0x2B, 0x00, 0xB3, 0x09, 0x5D, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x21, 0x15, 0x06, 0x02, 0x07, 0x23, 0x12, 0x13, +0x35, 0x21, 0x52, 0x01, 0xEB, 0x5D, 0x88, 0x39, 0x76, 0x73, +0xB6, 0xFE, 0x80, 0x02, 0xEC, 0x5D, 0x97, 0xFE, 0xCA, 0xC2, +0x01, 0x66, 0x01, 0x27, 0x02, 0x00, 0x00, 0x03, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x0B, 0x00, 0x15, +0x00, 0x2B, 0x00, 0x2E, 0x40, 0x18, 0x09, 0x08, 0x6C, 0x1D, +0x1C, 0x05, 0x0F, 0x0E, 0x6B, 0x2B, 0x16, 0x05, 0x27, 0x26, +0x6F, 0x14, 0x13, 0x05, 0x22, 0x21, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x09, 0x06, 0x05, 0x58, +0x1F, 0x01, 0x29, 0x58, 0x11, 0x00, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x3E, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x14, 0x16, 0x17, 0x0E, 0x01, 0x15, 0x14, 0x16, 0x32, 0x36, +0x35, 0x34, 0x05, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0x35, +0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x16, 0x15, +0x14, 0x06, 0x20, 0x26, 0x01, 0x43, 0x46, 0x4C, 0x4C, 0x46, +0x46, 0x49, 0x49, 0x40, 0x50, 0x54, 0x5B, 0x9D, 0x57, 0xFE, +0x46, 0x52, 0x48, 0x3E, 0x42, 0x85, 0xEB, 0x85, 0x80, 0x9A, +0x92, 0xFE, 0xFC, 0x93, 0x01, 0xB8, 0x11, 0x41, 0x29, 0x31, +0x3A, 0x39, 0x32, 0x2B, 0x40, 0x67, 0x13, 0x4D, 0x2F, 0x3E, +0x46, 0x46, 0x3E, 0x6B, 0x70, 0x3B, 0x66, 0x1B, 0x02, 0x1B, +0x5D, 0x3A, 0x53, 0x66, 0x66, 0x53, 0x72, 0x35, 0x03, 0x34, +0x92, 0x63, 0x74, 0x74, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x4D, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x21, +0x00, 0x2A, 0x40, 0x0C, 0x0B, 0x0A, 0x73, 0x1F, 0x1E, 0x05, +0x19, 0x18, 0x71, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x12, 0x03, 0x02, 0x55, 0x1C, 0x1B, 0x05, 0x0E, 0x0D, 0x5C, +0x13, 0x12, 0x05, 0x21, 0x16, 0x5C, 0x09, 0x08, 0x05, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x27, 0x06, 0x23, 0x22, 0x26, +0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x03, 0x22, 0x06, 0x15, +0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 0xD3, +0x02, 0x3E, 0x6F, 0x73, 0x83, 0x94, 0x7B, 0x01, 0x10, 0xA1, +0x9D, 0x52, 0x47, 0x4B, 0x4E, 0x57, 0x6B, 0x94, 0x4A, 0x54, +0x57, 0x47, 0x47, 0x56, 0x59, 0x01, 0x32, 0x01, 0x3D, 0x88, +0x78, 0x76, 0x8A, 0xFE, 0xB8, 0xE4, 0xD4, 0x14, 0x62, 0x1A, +0x74, 0x01, 0xD4, 0x55, 0x4F, 0x51, 0x5A, 0x5C, 0x4F, 0x49, +0x5B, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x00, 0x00, +0x01, 0x0C, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, +0x15, 0x87, 0x85, 0x85, 0x85, 0x01, 0x8F, 0x9A, 0x9A, 0xFE, +0x71, 0x9A, 0x9A, 0x00, 0x00, 0x02, 0x00, 0x4F, 0xFF, 0x8F, +0x01, 0x26, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x13, 0x35, 0x33, +0x15, 0x97, 0x8F, 0x71, 0x66, 0x48, 0x85, 0x9A, 0xFE, 0xF5, +0x02, 0x00, 0x9A, 0x9A, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x0A, +0x02, 0x54, 0x02, 0x48, 0x00, 0x07, 0x00, 0x09, 0xB3, 0x01, +0x43, 0x05, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x05, 0x15, +0x05, 0x15, 0x25, 0x35, 0x25, 0x02, 0x54, 0xFE, 0x2E, 0x01, +0xD2, 0xFD, 0xEB, 0x02, 0x15, 0x01, 0xE6, 0xBC, 0x02, 0xBC, +0x62, 0xE7, 0x70, 0xE7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x59, +0x00, 0x85, 0x02, 0xAB, 0x01, 0xCD, 0x00, 0x03, 0x00, 0x07, +0x00, 0x0E, 0x00, 0xB7, 0x07, 0x57, 0x05, 0x00, 0x03, 0x57, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, +0x05, 0x35, 0x21, 0x15, 0x59, 0x02, 0x52, 0xFD, 0xAE, 0x02, +0x52, 0x01, 0x76, 0x57, 0x57, 0xF1, 0x57, 0x57, 0x00, 0x01, +0x00, 0x5E, 0x00, 0x0A, 0x02, 0x73, 0x02, 0x48, 0x00, 0x07, +0x00, 0x09, 0xB3, 0x02, 0x43, 0x06, 0x00, 0x2B, 0x00, 0x30, +0x31, 0x13, 0x35, 0x05, 0x15, 0x05, 0x35, 0x25, 0x35, 0x5E, +0x02, 0x15, 0xFD, 0xEB, 0x01, 0xD2, 0x01, 0xE6, 0x62, 0xE7, +0x70, 0xE7, 0x62, 0xBC, 0x02, 0x00, 0x00, 0x02, 0x00, 0x54, +0x00, 0x00, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x1D, 0x00, 0x21, +0x00, 0x1E, 0x40, 0x0E, 0x20, 0x7B, 0x1E, 0x00, 0x14, 0x13, +0x75, 0x0A, 0x09, 0x05, 0x1D, 0x71, 0x01, 0x00, 0x2B, 0x2B, +0x2B, 0x00, 0xB5, 0x0C, 0x0B, 0x5E, 0x11, 0x10, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x23, 0x34, 0x3E, 0x02, 0x37, 0x3E, 0x02, +0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, +0x15, 0x14, 0x0E, 0x02, 0x07, 0x0E, 0x03, 0x07, 0x35, 0x33, +0x15, 0x01, 0x4F, 0x71, 0x17, 0x30, 0x23, 0x20, 0x22, 0x21, +0x1F, 0x95, 0x69, 0x78, 0x75, 0x7C, 0x78, 0x82, 0x12, 0x2A, +0x1F, 0x1D, 0x1F, 0x1E, 0x2A, 0x11, 0x76, 0x7B, 0xDC, 0x2C, +0x47, 0x37, 0x1E, 0x16, 0x18, 0x1C, 0x32, 0x1D, 0x5B, 0x27, +0x66, 0x1F, 0x5F, 0x4F, 0x24, 0x38, 0x2E, 0x19, 0x15, 0x15, +0x19, 0x2D, 0x36, 0xFF, 0x85, 0x85, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0x8A, 0x03, 0x26, 0x02, 0x8A, 0x00, 0x34, +0x00, 0x41, 0x00, 0x3B, 0x40, 0x0B, 0x07, 0x56, 0x12, 0x11, +0x04, 0x18, 0x17, 0x56, 0x02, 0x01, 0x05, 0x2B, 0x2B, 0x00, +0x40, 0x22, 0x22, 0x21, 0x1B, 0x1A, 0x63, 0x41, 0x35, 0x07, +0x3B, 0x3A, 0x5E, 0x28, 0x27, 0x05, 0x05, 0x04, 0x51, 0x15, +0x14, 0x05, 0x0F, 0x0E, 0x51, 0x0A, 0x09, 0x05, 0x22, 0x21, +0x1B, 0x1A, 0x48, 0x34, 0x00, 0x07, 0x2B, 0x2B, 0x2B, 0x2B, +0x2B, 0x30, 0x31, 0x25, 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, +0x06, 0x10, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, +0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, +0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x06, 0x23, 0x22, 0x27, +0x26, 0x3E, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x37, +0x33, 0x07, 0x0E, 0x01, 0x17, 0x16, 0x27, 0x32, 0x37, 0x36, +0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x17, 0x16, 0x02, +0x4F, 0x81, 0xA4, 0x86, 0x83, 0xA7, 0xA7, 0x83, 0x6E, 0x4B, +0x2D, 0x60, 0x86, 0xA3, 0xDD, 0xDA, 0xA6, 0xA8, 0xD8, 0x6F, +0x67, 0x2E, 0x1F, 0x1D, 0x08, 0x02, 0x2F, 0x51, 0x46, 0x2C, +0x33, 0x27, 0x6E, 0x4D, 0x1A, 0x1A, 0x11, 0x11, 0x02, 0x09, +0x75, 0x33, 0x0A, 0x01, 0x07, 0x07, 0xCF, 0x4C, 0x19, 0x0C, +0x14, 0x12, 0x1F, 0x24, 0x37, 0x0C, 0x0C, 0x15, 0x12, 0x86, +0x84, 0x88, 0xA7, 0xAA, 0xFE, 0xF6, 0xAA, 0x3D, 0x46, 0x48, +0xD7, 0xA9, 0xA8, 0xD8, 0xD6, 0xAA, 0x64, 0x68, 0x11, 0x0F, +0x1A, 0x3A, 0x34, 0x3C, 0xC1, 0x69, 0x0E, 0x09, 0x13, 0x27, +0xF6, 0x30, 0x1E, 0x05, 0x06, 0x1B, 0x6D, 0x38, 0x1C, 0x18, +0x39, 0x34, 0x35, 0x1F, 0x18, 0x00, 0x00, 0x02, 0x00, 0x1C, +0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x05, 0x58, 0x08, 0x00, 0x0A, 0x67, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x33, 0x01, 0x33, 0x01, +0x23, 0x27, 0x21, 0x07, 0x13, 0x33, 0x03, 0x23, 0x1C, 0x01, +0x00, 0x7B, 0x01, 0x00, 0x79, 0x3D, 0xFE, 0xEC, 0x3D, 0x58, +0xDE, 0x6E, 0x02, 0x02, 0xEC, 0xFD, 0x14, 0xC7, 0xC7, 0x01, +0x1F, 0x01, 0x66, 0x00, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, +0x02, 0x4A, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x18, 0x00, 0x21, +0x00, 0x30, 0x40, 0x11, 0x09, 0x08, 0x69, 0x1D, 0x1C, 0x05, +0x0F, 0x00, 0x6F, 0x18, 0x10, 0x05, 0x21, 0x14, 0x71, 0x04, +0x01, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x13, 0x12, 0x58, +0x1A, 0x19, 0x05, 0x03, 0x02, 0x5A, 0x16, 0x15, 0x05, 0x20, +0x1F, 0x5B, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x25, 0x14, 0x06, 0x2B, 0x01, 0x11, 0x33, 0x32, 0x16, 0x15, +0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x07, 0x34, 0x26, 0x2B, +0x01, 0x11, 0x33, 0x32, 0x36, 0x01, 0x33, 0x32, 0x36, 0x35, +0x34, 0x26, 0x2B, 0x01, 0x02, 0x4A, 0x98, 0xA6, 0xB8, 0xAE, +0x9E, 0x8B, 0x54, 0x46, 0x58, 0x61, 0x6F, 0x6A, 0x83, 0x29, +0x5C, 0x61, 0x59, 0xFE, 0xEA, 0x29, 0x72, 0x62, 0x4E, 0x5D, +0x52, 0xDC, 0x6F, 0x6D, 0x02, 0xEC, 0x59, 0x5B, 0x3C, 0x58, +0x0E, 0x03, 0x0D, 0x60, 0x40, 0x42, 0x3A, 0xFE, 0xF8, 0x44, +0x01, 0x1C, 0x37, 0x38, 0x37, 0x31, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x02, 0x30, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1A, +0xB4, 0x13, 0x73, 0x08, 0x07, 0x04, 0x2B, 0x00, 0x40, 0x0C, +0x11, 0x10, 0x5C, 0x0B, 0x0A, 0x05, 0x05, 0x04, 0x5C, 0x15, +0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, +0x15, 0x2E, 0x01, 0x23, 0x22, 0x06, 0x10, 0x16, 0x01, 0x87, +0x52, 0x57, 0x56, 0x5D, 0x9C, 0xBB, 0xB5, 0xA2, 0x5D, 0x51, +0x34, 0x3E, 0x32, 0x6E, 0x80, 0x83, 0x52, 0x1B, 0x63, 0x14, +0xC8, 0xB8, 0xB5, 0xCB, 0x15, 0x62, 0x10, 0x0B, 0x99, 0xFE, +0xE9, 0x98, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, 0x02, 0x87, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x21, 0x40, 0x0A, +0x07, 0x00, 0x6B, 0x0F, 0x08, 0x05, 0x0B, 0x71, 0x03, 0x00, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x02, 0x01, 0x5C, 0x0D, 0x0C, +0x05, 0x0A, 0x09, 0x5D, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x16, 0x07, +0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x02, 0x87, 0xFE, +0x71, 0xA4, 0xA4, 0xC5, 0xCA, 0x6B, 0xFE, 0xE6, 0x3D, 0x3D, +0x90, 0x8A, 0x01, 0x80, 0xFE, 0x80, 0x02, 0xEC, 0xBA, 0xB2, +0x01, 0x0F, 0xFD, 0xCD, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x17, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x1B, 0xB4, 0x04, 0x00, 0x71, 0x08, 0x01, 0x2B, 0x00, +0x40, 0x0C, 0x0B, 0x5D, 0x09, 0x00, 0x07, 0x5C, 0x05, 0x00, +0x03, 0x58, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, +0x15, 0xC5, 0x01, 0x3D, 0xFE, 0xC3, 0x01, 0x52, 0xFE, 0x3D, +0x01, 0xC3, 0x02, 0x8F, 0xD5, 0x58, 0xFE, 0xFA, 0x5C, 0x02, +0xEC, 0x5D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x0C, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x15, 0xB4, 0x07, +0x03, 0x71, 0x09, 0x01, 0x2B, 0x00, 0xB7, 0x06, 0x58, 0x04, +0x00, 0x02, 0x5D, 0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x54, +0x01, 0xB8, 0xFE, 0xB9, 0x01, 0x33, 0xFE, 0xCD, 0x71, 0x02, +0xEC, 0x5D, 0xDF, 0x58, 0xFE, 0xA8, 0x00, 0x00, 0x00, 0x01, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x78, 0x02, 0xF6, 0x00, 0x19, +0x00, 0x26, 0x40, 0x0A, 0x08, 0x07, 0x73, 0x17, 0x16, 0x05, +0x11, 0x6C, 0x0D, 0x00, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x0E, +0x58, 0x10, 0x00, 0x14, 0x13, 0x5A, 0x0B, 0x0A, 0x05, 0x05, +0x04, 0x5A, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x11, 0x23, 0x35, 0x21, 0x11, 0x06, +0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x01, 0xA1, 0x60, 0x53, +0x55, 0x54, 0x84, 0x8E, 0x8B, 0x73, 0x3E, 0x37, 0xDC, 0x01, +0x48, 0x6F, 0x7D, 0x9D, 0xC9, 0xCB, 0x02, 0xF6, 0x15, 0x60, +0x1B, 0x97, 0x8F, 0x89, 0x9D, 0x12, 0x01, 0x00, 0x58, 0xFE, +0x6A, 0x2E, 0xD1, 0xAF, 0xB2, 0xCE, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x17, 0x40, 0x0A, 0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, +0x71, 0x06, 0x02, 0x04, 0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, +0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x21, 0x11, 0x33, +0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, +0x71, 0x71, 0xFE, 0xC3, 0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, +0x32, 0xFD, 0x14, 0x01, 0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xE8, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x7A, 0x00, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, 0x7A, 0x02, +0xEC, 0xFD, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xDE, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x13, +0xB5, 0x09, 0x08, 0x76, 0x06, 0x05, 0x05, 0x2B, 0x00, 0xB5, +0x0C, 0x0B, 0x5C, 0x03, 0x02, 0x05, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, +0x06, 0x23, 0x22, 0x26, 0x63, 0x55, 0x48, 0x42, 0x76, 0x7B, +0x85, 0x68, 0x14, 0x67, 0x29, 0x58, 0x6A, 0x01, 0xD8, 0xFE, +0x0A, 0x86, 0x7A, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x68, 0x02, 0xEC, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x09, +0x00, 0x71, 0x0B, 0x01, 0x2B, 0x00, 0xB3, 0x08, 0x3E, 0x01, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x01, 0x33, 0x09, +0x01, 0x23, 0x01, 0x23, 0x11, 0x23, 0x11, 0xC5, 0x02, 0x01, +0x12, 0x85, 0xFE, 0xCD, 0x01, 0x3D, 0x85, 0xFE, 0xE4, 0x02, +0x71, 0x02, 0xEC, 0xFE, 0xB8, 0x01, 0x48, 0xFE, 0x99, 0xFE, +0x7B, 0x01, 0x66, 0xFE, 0x9A, 0x02, 0xEC, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x54, 0x00, 0x00, 0x02, 0x21, 0x02, 0xEC, +0x00, 0x05, 0x00, 0x0F, 0xB3, 0x00, 0x76, 0x04, 0x00, 0x2B, +0x00, 0xB3, 0x03, 0x5E, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x21, 0x15, 0x21, 0x11, 0xCA, 0x01, 0x57, 0xFE, 0x33, +0x02, 0xEC, 0xFD, 0x72, 0x5E, 0x02, 0xEC, 0x00, 0x00, 0x01, +0x00, 0x2B, 0x00, 0x00, 0x03, 0x0C, 0x02, 0xEC, 0x00, 0x0F, +0x00, 0x0B, 0x00, 0xB5, 0x0F, 0x0B, 0x07, 0x7B, 0x03, 0x02, +0x2B, 0x30, 0x31, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, +0x13, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x2B, +0x57, 0x85, 0x94, 0x02, 0x93, 0x85, 0x57, 0x70, 0x3A, 0x02, +0x89, 0x7B, 0x89, 0x02, 0x39, 0x02, 0xEC, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x52, 0xFD, 0xAE, 0x02, 0x52, 0xFD, +0xAE, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, 0xB7, 0x06, +0x6F, 0x04, 0x00, 0x0A, 0x6F, 0x00, 0x00, 0x2B, 0x2B, 0x00, +0x30, 0x31, 0x33, 0x11, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, +0x23, 0x01, 0x23, 0x11, 0x54, 0x6F, 0x01, 0x3F, 0x02, 0x6F, +0x6F, 0xFE, 0xC1, 0x02, 0x02, 0xEC, 0xFD, 0xD1, 0x02, 0x2F, +0xFD, 0x14, 0x02, 0x2E, 0xFD, 0xD2, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0xBF, 0x02, 0xF6, 0x00, 0x08, +0x00, 0x11, 0x00, 0x19, 0xB7, 0x03, 0x72, 0x0C, 0x00, 0x10, +0x73, 0x07, 0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5C, 0x0A, +0x00, 0x0E, 0x5C, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x20, 0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, +0x32, 0x36, 0x10, 0x26, 0x22, 0x06, 0x10, 0x80, 0x59, 0x01, +0x33, 0xB3, 0xB3, 0xFE, 0xCD, 0xB3, 0xAC, 0x38, 0xD1, 0x72, +0x72, 0xD1, 0x71, 0x02, 0x90, 0x66, 0xCB, 0xFE, 0x96, 0xCB, +0xCB, 0x01, 0x6A, 0xFE, 0x71, 0x4A, 0x92, 0x01, 0x23, 0x93, +0x93, 0xFE, 0xDD, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x54, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x11, 0x00, 0x22, +0x40, 0x0B, 0x07, 0x06, 0x6F, 0x0E, 0x0D, 0x05, 0x11, 0x00, +0x71, 0x02, 0x01, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x09, 0x08, +0x58, 0x0B, 0x0A, 0x05, 0x10, 0x0F, 0x5B, 0x04, 0x03, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x23, 0x11, 0x33, 0x32, +0x16, 0x15, 0x14, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, +0x2B, 0x01, 0xC5, 0x71, 0xCD, 0x9D, 0x96, 0xFE, 0xE1, 0x70, +0x66, 0x5B, 0x5F, 0xBA, 0x66, 0x01, 0x1A, 0xFE, 0xE6, 0x02, +0xEC, 0x6E, 0x6F, 0xF5, 0x58, 0x4A, 0x49, 0x8C, 0x00, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0x66, 0x03, 0x0C, 0x02, 0xF6, +0x00, 0x08, 0x00, 0x1A, 0x00, 0x1D, 0x40, 0x09, 0x03, 0x73, +0x0B, 0x00, 0x10, 0x0F, 0x72, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0x40, 0x09, 0x01, 0x5C, 0x0D, 0x00, 0x1A, 0x09, 0x5C, 0x05, +0x01, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x26, 0x22, 0x06, 0x10, +0x16, 0x32, 0x36, 0x10, 0x03, 0x22, 0x26, 0x10, 0x36, 0x20, +0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x17, 0x23, +0x2E, 0x01, 0x02, 0x14, 0x39, 0xD1, 0x71, 0x71, 0xD1, 0x72, +0xDA, 0x9A, 0xB3, 0xB3, 0x01, 0x33, 0xB3, 0x53, 0x4B, 0x42, +0x82, 0x27, 0x85, 0x37, 0x6E, 0x02, 0x51, 0x49, 0x93, 0xFE, +0xDD, 0x92, 0x92, 0x01, 0x23, 0xFD, 0xEF, 0xCB, 0x01, 0x6A, +0xCB, 0xCB, 0xB5, 0x74, 0xAA, 0x2E, 0x02, 0x16, 0x6B, 0x41, +0x57, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x5E, 0x02, 0xEC, 0x00, 0x08, 0x00, 0x1C, 0x00, 0x22, +0x40, 0x0B, 0x09, 0x01, 0x71, 0x0B, 0x01, 0x10, 0x0F, 0x6F, +0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x08, 0x00, +0x5B, 0x0D, 0x0C, 0x05, 0x1C, 0x1B, 0x58, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x03, 0x11, 0x23, 0x11, 0x33, 0x32, 0x16, +0x15, 0x14, 0x06, 0x07, 0x15, 0x16, 0x1F, 0x01, 0x23, 0x27, +0x2E, 0x01, 0x23, 0x01, 0x17, 0x52, 0x3D, 0x72, 0x67, 0x5B, +0xBB, 0x71, 0xB8, 0xA7, 0x97, 0x4F, 0x46, 0x2C, 0x26, 0x57, +0x75, 0x55, 0x15, 0x34, 0x49, 0x02, 0x91, 0xFE, 0xFA, 0x47, +0x48, 0x3D, 0x3A, 0xFE, 0xA2, 0xFE, 0xCD, 0x02, 0xEC, 0x64, +0x64, 0x4C, 0x6A, 0x16, 0x02, 0x1B, 0x5F, 0xDC, 0xDC, 0x37, +0x20, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, 0x02, 0x07, +0x02, 0xF6, 0x00, 0x20, 0x00, 0x23, 0x40, 0x0C, 0x03, 0x02, +0x6F, 0x19, 0x18, 0x05, 0x09, 0x08, 0x70, 0x13, 0x12, 0x05, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x20, 0x00, 0x5A, 0x1C, 0x1B, +0x05, 0x0C, 0x0B, 0x5C, 0x11, 0x10, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1E, 0x01, +0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, +0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x33, +0x32, 0x17, 0x15, 0x26, 0x01, 0x1C, 0x38, 0x3B, 0x37, 0x37, +0x87, 0x69, 0x7F, 0x7C, 0x69, 0x59, 0x59, 0x5F, 0x95, 0x3B, +0x45, 0x75, 0x68, 0x73, 0x64, 0x74, 0x63, 0x66, 0x02, 0x9C, +0x38, 0x31, 0x28, 0x40, 0x13, 0x2D, 0x6E, 0x55, 0x68, 0x6A, +0x2E, 0x6B, 0x3D, 0x76, 0x2D, 0x3F, 0x19, 0x28, 0x6F, 0x4F, +0x5A, 0x69, 0x29, 0x6A, 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x3A, 0x00, 0x00, 0x02, 0x4F, 0x02, 0xEC, 0x00, 0x07, +0x00, 0x10, 0xB3, 0x03, 0x71, 0x05, 0x00, 0x2B, 0x00, 0xB4, +0x06, 0x02, 0x5F, 0x00, 0x01, 0x2B, 0x30, 0x31, 0x13, 0x21, +0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3A, 0x02, 0x15, 0xD2, +0x71, 0xD2, 0x02, 0xEC, 0x5F, 0xFD, 0x73, 0x02, 0x8D, 0x00, +0x00, 0x01, 0x00, 0x4A, 0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, +0x00, 0x0D, 0x00, 0x19, 0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, +0x07, 0x05, 0x03, 0x02, 0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, +0x00, 0xB3, 0x0C, 0x5E, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x33, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, +0x11, 0x10, 0x20, 0x4A, 0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, +0xEC, 0x01, 0x05, 0x01, 0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, +0x5A, 0x01, 0xEC, 0xFE, 0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, +0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, 0x05, 0x71, 0x01, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x01, 0x23, +0x01, 0x94, 0xC6, 0x02, 0xC6, 0x75, 0xFF, 0x00, 0x7B, 0xFF, +0x00, 0x02, 0xEC, 0xFD, 0x85, 0x02, 0x7B, 0xFD, 0x14, 0x02, +0xEC, 0x00, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x00, 0x03, 0x5E, +0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, 0x00, 0x40, 0x0C, 0x0B, +0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, 0x09, 0x7B, 0x05, 0x01, +0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, +0x13, 0x33, 0x13, 0x33, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, +0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, 0x70, 0x02, 0x70, 0x6E, +0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, 0x9F, 0x02, 0xEC, 0xFD, +0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x14, 0x02, +0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x03, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x13, +0x23, 0x03, 0x23, 0x03, 0x23, 0x13, 0x03, 0xBC, 0x99, 0x02, +0x99, 0x7E, 0xD2, 0xD7, 0x84, 0x9C, 0x02, 0x9C, 0x80, 0xD7, +0xD2, 0x02, 0xEC, 0xFE, 0xDC, 0x01, 0x24, 0xFE, 0x8F, 0xFE, +0x85, 0x01, 0x2E, 0xFE, 0xD2, 0x01, 0x7B, 0x01, 0x71, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, +0x00, 0x09, 0x00, 0x09, 0xB3, 0x05, 0x76, 0x07, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x11, +0x23, 0x11, 0x03, 0xA0, 0xB5, 0x02, 0xB5, 0x80, 0xFD, 0x76, +0xFD, 0x02, 0xEC, 0xFE, 0xA3, 0x01, 0x5D, 0xFE, 0x47, 0xFE, +0xCD, 0x01, 0x33, 0x01, 0xB9, 0x00, 0x00, 0x01, 0x00, 0x4A, +0x00, 0x00, 0x02, 0x35, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, +0x00, 0xB7, 0x06, 0x5C, 0x04, 0x00, 0x0A, 0x5D, 0x00, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, 0x15, 0x21, +0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, 0xEB, 0xFE, +0x98, 0x01, 0x68, 0xFE, 0x15, 0x01, 0x68, 0xFE, 0x98, 0x02, +0xEC, 0x5D, 0xFD, 0xCF, 0x02, 0x5C, 0x5C, 0x02, 0x31, 0x02, +0x00, 0x01, 0x00, 0x73, 0xFF, 0x61, 0x01, 0x9C, 0x03, 0x14, +0x00, 0x07, 0x00, 0x14, 0xB3, 0x00, 0x66, 0x04, 0x00, 0x2B, +0x00, 0xB7, 0x07, 0x51, 0x05, 0x00, 0x03, 0x52, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x15, 0x21, 0x11, +0x21, 0x15, 0xD9, 0xC3, 0xFE, 0xD7, 0x01, 0x29, 0x02, 0xC3, +0xFC, 0xF0, 0x52, 0x03, 0xB3, 0x51, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xD7, 0x01, 0xFD, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x33, 0x01, 0x23, 0x30, 0x6C, 0x01, +0x61, 0x6C, 0x02, 0xEC, 0xFC, 0xEB, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0xFF, 0x61, 0x01, 0x7D, 0x03, 0x14, 0x00, 0x07, +0x00, 0x14, 0xB3, 0x04, 0x66, 0x00, 0x00, 0x2B, 0x00, 0xB7, +0x05, 0x52, 0x07, 0x00, 0x01, 0x51, 0x03, 0x00, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, +0x01, 0x17, 0xC3, 0x01, 0x29, 0xFE, 0xD7, 0x4D, 0x03, 0x10, +0x51, 0xFC, 0x4D, 0x52, 0x00, 0x01, 0x00, 0x26, 0x01, 0x1F, +0x02, 0x78, 0x02, 0xEC, 0x00, 0x06, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x33, 0x13, 0x23, 0x0B, 0x01, 0x26, 0xE6, +0x85, 0xE7, 0x73, 0xB6, 0xB6, 0x01, 0x1F, 0x01, 0xCD, 0xFE, +0x33, 0x01, 0x85, 0xFE, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x01, +0xFF, 0xFE, 0xFF, 0x61, 0x02, 0x50, 0xFF, 0xB3, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x52, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x07, 0x35, 0x21, 0x15, 0x02, 0x02, 0x52, 0x9F, 0x52, +0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x02, 0x29, +0x01, 0x0C, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x23, 0x03, 0x9C, 0x70, 0x5C, 0xA4, 0x03, +0x3D, 0xFE, 0xEC, 0x01, 0x14, 0x00, 0x00, 0x02, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xE8, 0x02, 0x1F, 0x00, 0x18, 0x00, 0x23, +0x00, 0x2C, 0x40, 0x0E, 0x03, 0x02, 0x6B, 0x23, 0x22, 0x11, +0x10, 0x0D, 0x1D, 0x1C, 0x6C, 0x0C, 0x0B, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x57, 0x20, 0x1F, 0x05, 0x1A, +0x19, 0x4B, 0x0F, 0x0E, 0x05, 0x14, 0x13, 0x52, 0x18, 0x00, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, +0x11, 0x23, 0x27, 0x23, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, +0x36, 0x3B, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x35, +0x36, 0x13, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x35, 0x01, 0x07, 0x81, 0x60, 0x64, 0x02, 0x02, 0x3B, +0x76, 0x46, 0x59, 0x89, 0x8C, 0x38, 0x33, 0x43, 0x50, 0x68, +0x5F, 0xCF, 0x38, 0x54, 0x55, 0x2D, 0x1F, 0x44, 0x51, 0x02, +0x1F, 0x5C, 0x7B, 0xFE, 0xB8, 0x4D, 0x57, 0x5A, 0x4A, 0x5A, +0x63, 0x15, 0x36, 0x2B, 0x27, 0x5A, 0x1F, 0xFE, 0xED, 0x38, +0x30, 0x26, 0x31, 0x55, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x4F, 0xFF, 0xF6, 0x02, 0x30, 0x03, 0x00, 0x00, 0x0B, +0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, 0x17, 0x0B, 0x0A, 0x00, +0x6B, 0x15, 0x03, 0x1D, 0x0C, 0x6B, 0x06, 0x05, 0x05, 0x2B, +0x2B, 0x00, 0x40, 0x0C, 0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, +0x0F, 0x0E, 0x52, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, +0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, +0x06, 0x15, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, +0x07, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x33, 0x32, 0x16, +0xBA, 0x4F, 0x36, 0x3F, 0x47, 0x86, 0x36, 0x4F, 0x01, 0x76, +0x7A, 0x5D, 0x32, 0x49, 0x27, 0x02, 0x02, 0x64, 0x6B, 0x02, +0x43, 0x5A, 0x61, 0x76, 0xBD, 0x2E, 0x47, 0x60, 0x62, 0xC3, +0x48, 0x2E, 0x4D, 0x7F, 0x95, 0x22, 0x2B, 0x43, 0x03, 0x00, +0xFE, 0xDC, 0x43, 0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, 0x00, 0x15, 0x00, 0x1B, +0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, 0x05, 0x08, 0x07, 0x54, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x26, +0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, 0x47, 0x46, 0x4A, 0x4D, +0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, 0x01, 0x0A, 0x86, 0x8F, +0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, 0x5A, 0x1C, 0x5C, 0x14, +0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0xF6, 0x02, 0x0C, +0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x14, 0x6B, 0x12, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x17, 0x33, 0x11, 0x33, 0x11, 0x23, 0x27, 0x23, 0x0E, +0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x46, +0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x5A, 0x43, 0x02, +0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x5D, 0x7A, 0xBD, +0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, 0x47, 0x7B, 0x83, 0x92, +0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, 0x2B, 0x22, 0x95, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xF3, 0x02, 0x1F, +0x00, 0x05, 0x00, 0x17, 0x00, 0x18, 0x00, 0x40, 0x10, 0x03, +0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, 0x0C, 0x50, 0x08, 0x07, +0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x13, 0x33, 0x26, 0x23, 0x22, 0x06, 0x07, 0x16, 0x33, 0x32, +0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, +0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, 0x03, 0x6F, 0x3D, 0x41, +0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, 0x4A, 0x80, 0x8A, 0x7C, +0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, 0x94, 0x46, 0x9D, 0xA6, +0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, 0x8C, 0x84, 0x8C, 0x0E, +0x15, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, +0x01, 0xC5, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1D, 0xB7, 0x12, +0x0E, 0x0D, 0x71, 0x14, 0x03, 0x02, 0x0A, 0x2B, 0x00, 0x40, +0x0C, 0x0B, 0x0A, 0x52, 0x06, 0x05, 0x05, 0x15, 0x11, 0x52, +0x0F, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x33, +0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, +0x06, 0x1D, 0x01, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x35, +0x71, 0x5C, 0x61, 0x34, 0x2E, 0x27, 0x26, 0x36, 0x2B, 0xA3, +0xA3, 0x71, 0x01, 0xAE, 0x52, 0x29, 0x6A, 0x63, 0x10, 0x52, +0x10, 0x32, 0x44, 0x2E, 0x52, 0xFE, 0x52, 0x01, 0xAE, 0x00, +0x00, 0x02, 0x00, 0x1C, 0xFF, 0x14, 0x01, 0xFD, 0x02, 0x1F, +0x00, 0x29, 0x00, 0x35, 0x00, 0x40, 0x40, 0x19, 0x15, 0x14, +0x71, 0x30, 0x2F, 0x05, 0x35, 0x2A, 0x68, 0x27, 0x0C, 0x0B, +0x09, 0x1C, 0x1B, 0x5C, 0x08, 0x07, 0x05, 0x22, 0x21, 0x6C, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x18, +0x18, 0x17, 0x43, 0x2D, 0x2C, 0x05, 0x05, 0x04, 0x4E, 0x1F, +0x1E, 0x05, 0x33, 0x32, 0x4C, 0x0F, 0x0E, 0x05, 0x25, 0x24, +0x52, 0x29, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x17, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, +0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x37, +0x33, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, +0x35, 0x16, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, +0x26, 0x23, 0x22, 0x06, 0xE8, 0x51, 0x58, 0x9C, 0x71, 0x5E, +0x2D, 0x37, 0x70, 0x57, 0x6A, 0x41, 0x02, 0x01, 0x62, 0x76, +0x76, 0x3E, 0x31, 0x16, 0x35, 0x4E, 0x81, 0x77, 0x8B, 0x8A, +0x6D, 0x5F, 0x5E, 0x0A, 0x44, 0x3C, 0x39, 0x45, 0x49, 0x3A, +0x37, 0x44, 0x9A, 0x35, 0x2A, 0x55, 0x34, 0x35, 0x28, 0x32, +0x32, 0x4F, 0x55, 0x6C, 0x42, 0x37, 0xB8, 0x59, 0x5F, 0x11, +0x17, 0x0F, 0x14, 0x13, 0x4A, 0x4C, 0x5A, 0x64, 0x29, 0x5D, +0x34, 0x01, 0xF5, 0x36, 0x3E, 0x3F, 0x35, 0x37, 0x41, 0x43, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, 0x02, 0x11, +0x03, 0x00, 0x00, 0x13, 0x00, 0x1B, 0x40, 0x0C, 0x0D, 0x09, +0x08, 0x6B, 0x0B, 0x02, 0x13, 0x00, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x06, 0x05, 0x57, 0x11, 0x10, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, +0x33, 0x32, 0x16, 0x02, 0x11, 0x68, 0x2D, 0x3D, 0x2F, 0x56, +0x6B, 0x6B, 0x02, 0x47, 0x5B, 0x5D, 0x56, 0x01, 0x3D, 0xFE, +0xC3, 0x01, 0x29, 0x5F, 0x40, 0x59, 0x32, 0xFE, 0xC3, 0x03, +0x00, 0xFE, 0xD2, 0x4D, 0x68, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, +0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, +0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, +0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, +0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, +0x71, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF3, 0xFF, 0x1F, +0x01, 0x07, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x18, +0xB7, 0x0E, 0x07, 0x06, 0x70, 0x0C, 0x04, 0x03, 0x0A, 0x2B, +0x00, 0xB7, 0x0F, 0x71, 0x0D, 0x00, 0x0B, 0x5A, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x07, 0x35, 0x32, 0x36, 0x35, 0x11, +0x33, 0x11, 0x14, 0x0E, 0x02, 0x13, 0x35, 0x33, 0x15, 0x0D, +0x6A, 0x3A, 0x70, 0x15, 0x40, 0x67, 0x4C, 0x70, 0xE1, 0x5A, +0x33, 0x5E, 0x02, 0x0A, 0xFD, 0xF6, 0x49, 0x57, 0x38, 0x13, +0x03, 0x70, 0x71, 0x71, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, +0x02, 0x1C, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x05, +0x01, 0x6B, 0x03, 0x01, 0x2B, 0x00, 0xB3, 0x00, 0x29, 0x06, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, +0x11, 0x33, 0x37, 0x33, 0x03, 0x13, 0x23, 0xBC, 0x02, 0x6B, +0x6B, 0x02, 0xE0, 0x80, 0xF6, 0xF6, 0x80, 0x01, 0x00, 0xFF, +0x00, 0x03, 0x00, 0xFE, 0x29, 0xEB, 0xFF, 0x00, 0xFE, 0xEC, +0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, +0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x70, 0x00, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, +0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x02, 0xE3, 0x02, 0x1F, 0x00, 0x22, +0x00, 0x26, 0x40, 0x11, 0x1A, 0x19, 0x69, 0x1D, 0x1C, 0x05, +0x09, 0x08, 0x6B, 0x0B, 0x01, 0x22, 0x00, 0x6A, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0A, 0x20, 0x1F, 0x06, +0x05, 0x52, 0x17, 0x16, 0x11, 0x10, 0x0F, 0x2B, 0x30, 0x31, +0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, +0x17, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, +0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xCD, 0x6A, 0x22, 0x30, +0x1D, 0x3F, 0x6B, 0x66, 0x02, 0x02, 0x3C, 0x4A, 0x2D, 0x38, +0x15, 0x02, 0x3D, 0x55, 0x54, 0x47, 0x69, 0x23, 0x2F, 0x1E, +0x3D, 0x01, 0x71, 0xFE, 0x8F, 0x01, 0x33, 0x5D, 0x3D, 0x3E, +0x1E, 0xFE, 0x8F, 0x02, 0x14, 0x3D, 0x48, 0x25, 0x2D, 0x52, +0x5B, 0x72, 0xFE, 0xAE, 0x01, 0x33, 0x5D, 0x3D, 0x3E, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, +0x6B, 0x0F, 0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, +0x2B, 0x00, 0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, +0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, +0xB2, 0x4A, 0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, +0x64, 0x02, 0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, +0x2E, 0x5C, 0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, +0x00, 0x08, 0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, +0x0B, 0x00, 0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0xB7, 0x05, 0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, +0x2B, 0x30, 0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, +0x26, 0x10, 0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, +0x85, 0x85, 0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, +0xD7, 0x48, 0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, +0xC2, 0x01, 0x85, 0x00, 0x00, 0x02, 0x00, 0x4A, 0xFF, 0x1F, +0x02, 0x2B, 0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, +0x40, 0x0D, 0x12, 0x0B, 0x0A, 0x00, 0x6B, 0x14, 0x03, 0x1D, +0x0C, 0x6C, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, +0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, 0x0F, 0x0E, 0x52, 0x03, +0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x14, 0x16, 0x33, +0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x06, 0x15, 0x05, 0x14, +0x06, 0x23, 0x22, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x17, +0x33, 0x3E, 0x01, 0x33, 0x32, 0x16, 0xB5, 0x4F, 0x36, 0x3E, +0x47, 0x85, 0x36, 0x4F, 0x01, 0x76, 0x7A, 0x5D, 0x5A, 0x43, +0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x61, 0x76, +0xBD, 0x2F, 0x46, 0x62, 0x60, 0xC3, 0x47, 0x2F, 0x4D, 0x7F, +0x95, 0x42, 0xFE, 0xE7, 0x02, 0xF5, 0x42, 0x2B, 0x22, 0x92, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0x1F, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x15, 0x6B, 0x17, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, 0x23, 0x11, 0x23, +0x06, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x47, +0x3E, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x32, 0x49, 0x27, +0x02, 0x02, 0x64, 0x6B, 0x02, 0x43, 0x5A, 0x5D, 0x7A, 0xBD, +0x9A, 0x2F, 0x47, 0xC3, 0x60, 0x62, 0x46, 0x7C, 0x83, 0x92, +0x22, 0x2B, 0x42, 0xFD, 0x0B, 0x01, 0x19, 0x42, 0x95, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, 0x02, 0x14, +0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, +0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, 0x01, 0xA6, +0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, 0x44, 0x15, +0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, 0x66, 0x2F, +0x37, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, +0x01, 0xCA, 0x02, 0x1F, 0x00, 0x1F, 0x00, 0x23, 0x40, 0x0C, +0x02, 0x01, 0x6C, 0x18, 0x17, 0x05, 0x08, 0x07, 0x6C, 0x12, +0x11, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x1F, 0x00, 0x52, +0x1B, 0x1A, 0x05, 0x0B, 0x0A, 0x52, 0x10, 0x0F, 0x05, 0x2B, +0x2B, 0x30, 0x31, 0x01, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1E, +0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, +0x32, 0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x01, 0x11, 0x6B, 0x29, 0x33, +0x76, 0x52, 0x6C, 0x66, 0x5E, 0x50, 0x50, 0x54, 0x70, 0x2D, +0x39, 0x69, 0x55, 0x68, 0x65, 0x58, 0x56, 0x55, 0x01, 0xCD, +0x3E, 0x1E, 0x27, 0x0D, 0x1B, 0x4D, 0x4B, 0x45, 0x4F, 0x1E, +0x58, 0x24, 0x42, 0x20, 0x28, 0x0F, 0x1A, 0x4F, 0x3B, 0x48, +0x52, 0x1A, 0x57, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xBF, 0x02, 0xC3, 0x00, 0x15, 0x00, 0x1D, +0xB7, 0x15, 0x04, 0x03, 0x6B, 0x13, 0x0F, 0x0E, 0x0A, 0x2B, +0x00, 0x40, 0x0C, 0x0C, 0x0B, 0x52, 0x07, 0x06, 0x05, 0x10, +0x02, 0x52, 0x12, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x15, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x01, 0x07, 0xB8, 0xB8, 0x21, 0x31, 0x2E, 0x29, 0x32, +0x39, 0x5F, 0x4A, 0x6C, 0x6C, 0x6B, 0x02, 0x00, 0x52, 0xF6, +0x45, 0x2B, 0x0D, 0x55, 0x0A, 0x50, 0x68, 0x01, 0x00, 0x52, +0xC3, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0xF6, 0x02, 0x02, +0x02, 0x14, 0x00, 0x13, 0x00, 0x1A, 0x40, 0x0B, 0x10, 0x6B, +0x0E, 0x0D, 0x04, 0x08, 0x07, 0x69, 0x05, 0x04, 0x05, 0x2B, +0x2B, 0x00, 0xB5, 0x02, 0x01, 0x52, 0x0B, 0x0A, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, +0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, +0x23, 0x27, 0x01, 0x9A, 0x4A, 0x5D, 0x5A, 0x54, 0x69, 0x2D, +0x36, 0x31, 0x55, 0x6B, 0x64, 0x02, 0x43, 0x4D, 0x63, 0x74, +0x01, 0x47, 0xFE, 0xC8, 0x55, 0x3F, 0x55, 0x30, 0x01, 0x47, +0xFD, 0xEC, 0x43, 0x00, 0x00, 0x01, 0x00, 0x21, 0x00, 0x00, +0x02, 0x17, 0x02, 0x14, 0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, +0x05, 0x3D, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, +0x13, 0x33, 0x03, 0x23, 0x03, 0x96, 0x87, 0x02, 0x87, 0x71, +0xB4, 0x8F, 0xB3, 0x02, 0x14, 0xFE, 0x29, 0x01, 0xD7, 0xFD, +0xEC, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x02, 0x02, 0x14, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x66, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x5C, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0xA0, 0x59, 0x02, 0x56, 0x8F, +0x56, 0x02, 0x59, 0x71, 0x8A, 0x8A, 0x56, 0x02, 0x57, 0x8A, +0x8A, 0x02, 0x14, 0xFE, 0x48, 0x01, 0xB8, 0xFE, 0x48, 0x01, +0xB8, 0xFD, 0xEC, 0x01, 0xAE, 0xFE, 0x52, 0x02, 0x14, 0x00, +0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x02, 0x07, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x03, 0x00, 0x30, 0x31, 0x25, 0x23, 0x07, +0x23, 0x13, 0x03, 0x33, 0x17, 0x33, 0x37, 0x33, 0x03, 0x13, +0x23, 0x01, 0x1B, 0x02, 0x75, 0x74, 0xAE, 0xA9, 0x78, 0x70, +0x02, 0x6F, 0x74, 0xA9, 0xAE, 0x78, 0xCD, 0xCD, 0x01, 0x0F, +0x01, 0x05, 0xC2, 0xC2, 0xFE, 0xFB, 0xFE, 0xF1, 0x00, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0x14, 0x02, 0x26, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x09, 0x00, 0xB3, 0x07, 0x54, 0x09, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x0E, +0x01, 0x23, 0x35, 0x32, 0x36, 0x37, 0x03, 0x99, 0x93, 0x02, +0x89, 0x6F, 0xC8, 0x34, 0x7C, 0x79, 0x55, 0x4B, 0x23, 0xD2, +0x02, 0x14, 0xFE, 0x67, 0x01, 0x99, 0xFD, 0xEC, 0x8B, 0x61, +0x54, 0x3A, 0x5E, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x01, 0xE3, 0x02, 0x14, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x06, 0x52, 0x04, 0x00, 0x0A, 0x51, +0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, +0x15, 0x21, 0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, +0x99, 0xFE, 0xE7, 0x01, 0x19, 0xFE, 0x67, 0x01, 0x19, 0xFE, +0xE7, 0x02, 0x14, 0x51, 0xFE, 0x91, 0x02, 0x52, 0x52, 0x01, +0x6F, 0x02, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0x61, 0x01, 0xBF, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x23, 0x22, +0x08, 0x07, 0x06, 0x05, 0x00, 0x67, 0x1A, 0x19, 0x18, 0x12, +0x11, 0x05, 0x10, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x20, 0x1F, +0x51, 0x1D, 0x1C, 0x05, 0x14, 0x13, 0x57, 0x17, 0x16, 0x05, +0x0E, 0x0D, 0x52, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x1D, 0x01, +0x14, 0x16, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x26, 0x3D, 0x01, +0x34, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x3D, 0x01, 0x34, 0x36, +0x3B, 0x01, 0x15, 0x23, 0x22, 0x06, 0x15, 0x01, 0x21, 0x2D, +0x35, 0x35, 0x2D, 0x27, 0x3A, 0x3D, 0x70, 0x4F, 0x46, 0x57, +0x29, 0x29, 0x57, 0x46, 0x4F, 0x70, 0x3D, 0x3A, 0x27, 0x01, +0xDC, 0x40, 0x4A, 0x17, 0x02, 0x16, 0x49, 0x40, 0x7B, 0x44, +0x28, 0x52, 0x4A, 0x55, 0x94, 0x7B, 0x57, 0x7B, 0x95, 0x55, +0x49, 0x51, 0x27, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, +0xFF, 0x1F, 0x00, 0xEE, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x09, +0xB3, 0x02, 0x67, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, +0x11, 0x33, 0x11, 0x87, 0x67, 0xE1, 0x04, 0x1E, 0xFB, 0xE2, +0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0xFF, 0x61, 0x01, 0xDE, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x13, 0x12, +0x11, 0x0B, 0x0A, 0x05, 0x09, 0x66, 0x23, 0x1D, 0x1C, 0x1B, +0x01, 0x05, 0x00, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x16, 0x15, +0x52, 0x19, 0x18, 0x05, 0x10, 0x0F, 0x57, 0x0D, 0x0C, 0x05, +0x04, 0x03, 0x51, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, +0x16, 0x1D, 0x01, 0x14, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x1D, +0x01, 0x14, 0x06, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x36, 0x3D, +0x01, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0xF8, 0x27, 0x3A, +0x3E, 0x71, 0x4F, 0x45, 0x57, 0x29, 0x29, 0x57, 0x45, 0x4F, +0x71, 0x3E, 0x3A, 0x27, 0x2D, 0x34, 0x34, 0x2D, 0x01, 0xDC, +0x7B, 0x45, 0x27, 0x51, 0x49, 0x55, 0x95, 0x7B, 0x57, 0x7B, +0x94, 0x55, 0x4A, 0x52, 0x28, 0x44, 0x7B, 0x40, 0x49, 0x16, +0x02, 0x17, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0xCD, 0x02, 0x9C, 0x01, 0x9A, 0x00, 0x13, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x03, 0x02, 0x59, 0x11, 0x10, 0x05, 0x07, +0x06, 0x59, 0x0D, 0x0C, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x17, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, +0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x02, +0x5C, 0x40, 0x47, 0x71, 0x50, 0x43, 0x32, 0x32, 0x23, 0x37, +0x1E, 0x40, 0x47, 0x71, 0x4F, 0x44, 0x32, 0x32, 0x23, 0x36, +0x01, 0x72, 0x34, 0x71, 0x42, 0x32, 0x22, 0x2A, 0x33, 0x72, +0x43, 0x31, 0x22, 0x00, 0x00, 0x02, 0x00, 0x89, 0x00, 0x02, +0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, 0x00, 0x09, +0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, 0x31, 0x01, +0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, 0x27, 0x26, +0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, 0x37, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, 0x46, 0xA6, +0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, 0x2D, 0x07, +0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, 0x3D, 0x0B, +0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, 0x46, 0xA6, +0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, 0x19, 0x15, +0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, 0x2F, 0x2B, +0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6C, +0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, 0x00, 0x0B, +0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, 0x17, 0x1E, +0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, 0x36, 0x37, +0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, 0x07, 0x06, +0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, 0x21, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, 0xFE, 0x5C, +0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, 0x0D, 0x26, +0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, 0x41, 0x17, +0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, 0x46, 0x26, +0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, 0x14, 0x1D, +0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, 0x6B, 0x57, +0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, 0xB4, 0x2D, +0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, 0x28, 0x14, +0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, 0x0E, 0x1C, +0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, 0x2E, 0x00, +0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, 0x03, 0x3E, +0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, 0x00, 0x1B, +0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, 0x00, 0x62, +0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, +0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, 0x36, 0x37, +0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, 0x13, 0x25, +0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, 0x37, 0x36, +0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, 0x07, 0x26, +0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, 0x06, 0x17, +0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, 0x26, 0x03, +0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, 0x31, 0xA9, +0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, 0x15, 0x07, +0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, 0xFE, 0x21, +0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, 0x62, 0x5D, +0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, 0x2F, 0x20, +0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, 0x22, 0x11, +0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, 0x71, 0x56, +0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, 0x34, 0x0F, +0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, 0x47, 0x32, +0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, 0x5F, 0x23, +0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, 0x01, 0x0F, +0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, 0x39, 0x11, +0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, 0x03, 0x8E, +0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x09, +0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, 0x01, 0x21, +0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, 0x37, 0x1E, +0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, 0x16, 0x30, +0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, 0x01, 0xC1, +0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, 0x24, 0x5E, +0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, 0x13, 0xB6, +0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, 0x5D, 0xFD, +0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, 0x30, 0x0C, +0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, 0xFF, 0xD5, +0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, 0x00, 0x36, +0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, 0x33, 0x23, +0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, 0x01, 0x00, +0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, 0x26, 0x22, +0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, 0x05, 0x21, +0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, 0x26, 0x27, +0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, 0x01, 0x35, +0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, 0x35, 0x21, +0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, 0x17, 0x14, +0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, 0x27, 0xDA, +0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, 0x09, 0x23, +0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, 0x1A, 0x4C, +0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, 0x08, 0xFE, +0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, 0x26, 0x1A, +0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, 0x19, 0x28, +0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, 0x18, 0x47, +0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, 0x1E, 0x17, +0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, 0x0D, 0x04, +0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, 0x26, 0x35, +0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, 0x11, 0x09, +0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, 0x03, 0x61, +0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, 0x61, 0x14, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, 0x17, 0x03, +0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, 0x02, 0x33, +0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, 0x27, 0x06, +0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, 0x06, 0x07, +0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, 0x05, 0x46, +0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, 0x1E, 0x2F, +0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, 0x3C, 0x3D, +0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, 0x19, 0x14, +0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, 0xFE, 0xCD, +0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, 0x26, 0x45, +0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, 0x66, 0x63, +0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, 0x2B, 0x0E, +0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, 0x00, 0x27, +0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, 0x00, 0x23, +0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, 0x19, 0x01, +0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x10, +0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, 0x61, 0x07, +0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, 0x0E, 0x01, +0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, 0x21, 0x15, +0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, +0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, 0x86, 0x73, +0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, 0xDD, 0x62, +0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, 0xB7, 0x04, +0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, 0xE6, 0xE6, +0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, 0x03, 0x1F, +0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, 0x03, 0x5E, +0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, 0x11, 0x33, +0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, 0x07, 0x26, +0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, 0x5E, 0x5E, +0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, 0x24, 0x0F, +0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, 0x68, 0xFE, +0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, 0x05, 0x04, +0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, 0x00, 0x27, +0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, 0x00, 0x1D, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, 0x2B, 0x62, +0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, 0x16, 0x15, +0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, 0x1A, 0x59, +0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0F, +0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, 0x0F, 0x05, +0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x13, +0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, +0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, +0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, 0x06, 0x05, +0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, 0x0E, 0x18, +0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, 0x62, 0xFE, +0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, 0x66, 0x32, +0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, 0x02, 0x6D, +0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, 0x46, 0x32, +0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, 0x12, 0x62, +0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, 0x48, 0x32, +0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, 0xCE, 0xC2, +0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, 0x00, 0x6C, +0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, 0x6B, 0x6B, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, 0x03, 0xD3, +0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, 0x40, 0x13, +0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, 0x00, 0x67, +0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, 0x05, 0x2B, +0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, 0x00, 0x19, +0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, 0x0F, 0x0F, +0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x15, +0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, +0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, +0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, 0x95, 0x95, +0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, 0x7B, 0x7B, +0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, 0xAA, 0xAA, +0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, 0x47, 0x02, +0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x26, +0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, 0x00, 0x22, +0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, 0x05, 0x21, +0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, 0x01, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, 0x06, 0x01, +0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, 0x06, 0x07, +0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, 0x27, 0x15, +0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xF1, +0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, 0x78, 0xFE, +0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, 0xB4, 0x86, +0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, 0xFE, 0xE2, +0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, 0x76, 0xFD, +0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, 0x7B, 0xA2, +0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, 0xB5, 0x5A, +0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, 0x03, 0x44, +0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, 0x40, 0x14, +0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, 0x00, 0x2A, +0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, 0x14, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, 0x58, 0x31, +0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, 0x06, 0x21, +0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, 0x00, 0x2B, +0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, 0x13, +0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, 0x35, 0x11, +0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, 0x23, 0x35, +0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, +0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, +0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, 0x07, 0x04, +0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, 0x4C, 0x1C, +0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, 0xEA, 0x03, +0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, 0xFD, 0x84, +0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, 0xE1, 0x58, +0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, 0x26, 0x0A, +0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, 0x94, 0xA8, +0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, 0x16, 0x0A, +0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, 0x00, 0x03, +0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, 0x00, 0x3C, +0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, 0x18, 0x69, +0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, 0x6C, 0x0E, +0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, 0x2B, 0x2B, +0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, 0x55, 0x29, +0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, 0x07, 0x0F, +0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, 0x37, 0x33, +0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, 0x33, 0x26, +0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, 0x07, 0x27, +0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, 0x37, 0x2B, +0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, 0x26, 0x27, +0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, 0xDD, 0xDD, +0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, 0x50, 0x81, +0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, 0x7B, 0x55, +0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, 0x58, 0x02, +0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, 0x63, 0x63, +0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, 0x14, 0x85, +0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, 0x2C, 0x5F, +0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, 0x5F, 0x2B, +0x33, 0xFE, 0xD5, 0x00, }; + +#endif \ No newline at end of file diff --git a/examples/WioTerminal/load_from_binary/binaryttf.h b/examples/WioTerminal/load_from_binary/binaryttf.h index 2417f5d..c7f6447 100644 --- a/examples/WioTerminal/load_from_binary/binaryttf.h +++ b/examples/WioTerminal/load_from_binary/binaryttf.h @@ -1,43 +1,43 @@ #ifndef _BINARYTTF_H_ #define _BINARYTTF_H_ -const unsigned char binaryttf[6456] = { +const unsigned char binaryttf[14344] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, -0x61, 0x70, 0x09, 0x9D, 0x21, 0xE0, 0x00, 0x00, 0x0B, 0xA8, -0x00, 0x00, 0x00, 0xD4, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x61, 0x70, 0x0A, 0x07, 0x22, 0x62, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0x94, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, 0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, 0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, -0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0xE2, 0x8C, 0xD7, 0xF3, -0x00, 0x00, 0x0D, 0x58, 0x00, 0x00, 0x0B, 0xE0, 0x68, 0x65, -0x61, 0x64, 0x35, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0xEC, -0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x91, -0x03, 0x93, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, -0x68, 0x6D, 0x74, 0x78, 0x54, 0xAE, 0x09, 0x6A, 0x00, 0x00, -0x0C, 0xEC, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6F, 0x63, 0x61, -0x00, 0x00, 0x86, 0x7C, 0x00, 0x00, 0x0C, 0x7C, 0x00, 0x00, -0x00, 0x70, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x35, 0x00, 0x7C, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0x3C, 0x78, 0xF7, 0x7E, +0x00, 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x28, 0x58, 0x68, 0x65, +0x61, 0x64, 0x34, 0xE5, 0x1A, 0x67, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x5F, +0x03, 0xD7, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x15, 0xB8, 0x1D, 0xCF, 0x00, 0x00, +0x0D, 0xF8, 0x00, 0x00, 0x01, 0xB8, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x07, 0xE5, 0xA0, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x00, +0x01, 0xBC, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x88, 0x00, 0x83, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, 0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, 0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0xA4, 0x38, 0x58, 0x6D, 0x5F, 0x0F, +0x00, 0x01, 0x00, 0x00, 0x6D, 0x8D, 0x0F, 0xE7, 0x5F, 0x0F, 0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, -0xD7, 0x12, 0x00, 0x26, 0xFF, 0xAC, 0x03, 0xF9, 0x03, 0x44, +0xD7, 0x12, 0xFF, 0xF3, 0xFF, 0x14, 0x03, 0xF9, 0x03, 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, -0x00, 0x00, 0x04, 0x00, 0x00, 0x26, 0x00, 0x07, 0x03, 0xF9, +0x00, 0x00, 0x04, 0x00, 0xFF, 0xF3, 0xFF, 0xF8, 0x03, 0xF9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, -0x00, 0x00, 0x00, 0x1B, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x01, +0x00, 0x00, 0x00, 0x6E, 0x00, 0x42, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x18, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -301,43 +301,103 @@ const unsigned char binaryttf[6456] = { 0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, 0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, 0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, -0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0xC8, -0x00, 0x00, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0E, -0x00, 0x20, 0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x65, -0x00, 0x69, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x72, 0x30, 0x53, -0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, -0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, -0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, -0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x63, 0x00, 0x69, -0x00, 0x6C, 0x00, 0x6E, 0x00, 0x72, 0x30, 0x53, 0x30, 0x61, -0x30, 0x6A, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, -0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, -0x75, 0x4C, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xBA, 0xFF, 0xAE, -0xFF, 0xAD, 0xFF, 0xA2, 0xFF, 0x9F, 0xFF, 0x9D, 0xFF, 0x9C, -0xFF, 0x9A, 0xCF, 0xBA, 0xCF, 0xAD, 0xCF, 0xA5, 0xCF, 0xA2, -0xCF, 0x7F, 0xCF, 0x5E, 0xCF, 0x4C, 0xCF, 0x38, 0xCF, 0x1A, -0xB2, 0x01, 0xAE, 0xB0, 0xA4, 0x8D, 0x8A, 0xCE, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x88, +0x00, 0x00, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x03, 0x00, 0x0E, +0x00, 0x7E, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, +0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, +0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, +0x00, 0x00, 0x00, 0x20, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6A, +0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, +0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, +0xFF, 0xFF, 0xFF, 0xE1, 0xD0, 0x0D, 0xD0, 0x00, 0xCF, 0xF8, +0xCF, 0xF5, 0xCF, 0xD2, 0xCF, 0xB1, 0xCF, 0x9F, 0xCF, 0x8B, +0xCF, 0x6D, 0xB2, 0x54, 0xAF, 0x03, 0xA4, 0xE0, 0x8B, 0x21, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, -0x00, 0x64, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x01, 0x08, -0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x01, 0xE8, 0x00, 0x00, -0x02, 0x50, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x02, 0xAC, -0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, -0x03, 0x98, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0xAC, -0x00, 0x00, 0x05, 0x94, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, -0x06, 0xD4, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00, 0x07, 0xD8, -0x00, 0x00, 0x08, 0x2C, 0x00, 0x00, 0x08, 0xF4, 0x00, 0x00, -0x09, 0x18, 0x00, 0x00, 0x09, 0xA8, 0x00, 0x00, 0x0A, 0x38, -0x00, 0x00, 0x0B, 0x08, 0x00, 0x00, 0x0B, 0xE0, 0x04, 0x00, -0x01, 0x92, 0x01, 0x1C, 0x00, 0x00, 0x02, 0xC7, 0x00, 0x54, -0x02, 0xA8, 0x00, 0x4A, 0x03, 0x89, 0x00, 0x2B, 0x01, 0xFA, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, +0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0x88, +0x00, 0x00, 0x02, 0x28, 0x00, 0x00, 0x02, 0xE0, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x03, 0x70, +0x00, 0x00, 0x03, 0xB8, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, +0x04, 0x10, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x04, 0x50, +0x00, 0x00, 0x04, 0x74, 0x00, 0x00, 0x04, 0xD4, 0x00, 0x00, +0x05, 0x08, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00, 0x05, 0xEC, +0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x06, 0xB0, 0x00, 0x00, +0x07, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x08, 0x34, +0x00, 0x00, 0x08, 0xC8, 0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0x4C, 0x00, 0x00, 0x09, 0x80, +0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x0A, 0x34, 0x00, 0x00, +0x0B, 0x2C, 0x00, 0x00, 0x0B, 0x70, 0x00, 0x00, 0x0C, 0x08, +0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x0C, 0xC8, 0x00, 0x00, +0x0D, 0x14, 0x00, 0x00, 0x0D, 0x54, 0x00, 0x00, 0x0D, 0xCC, +0x00, 0x00, 0x0E, 0x14, 0x00, 0x00, 0x0E, 0x38, 0x00, 0x00, +0x0E, 0x7C, 0x00, 0x00, 0x0E, 0xC8, 0x00, 0x00, 0x0E, 0xF8, +0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x0F, 0x84, 0x00, 0x00, +0x0F, 0xE4, 0x00, 0x00, 0x10, 0x44, 0x00, 0x00, 0x10, 0xC0, +0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x11, 0xC8, 0x00, 0x00, +0x11, 0xFC, 0x00, 0x00, 0x12, 0x4C, 0x00, 0x00, 0x12, 0x80, +0x00, 0x00, 0x12, 0xD4, 0x00, 0x00, 0x13, 0x14, 0x00, 0x00, +0x13, 0x4C, 0x00, 0x00, 0x13, 0x8C, 0x00, 0x00, 0x13, 0xC4, +0x00, 0x00, 0x13, 0xE4, 0x00, 0x00, 0x14, 0x1C, 0x00, 0x00, +0x14, 0x48, 0x00, 0x00, 0x14, 0x6C, 0x00, 0x00, 0x14, 0x8C, +0x00, 0x00, 0x15, 0x24, 0x00, 0x00, 0x15, 0xA4, 0x00, 0x00, +0x16, 0x04, 0x00, 0x00, 0x16, 0x84, 0x00, 0x00, 0x16, 0xEC, +0x00, 0x00, 0x17, 0x4C, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00, +0x18, 0x80, 0x00, 0x00, 0x18, 0xB8, 0x00, 0x00, 0x19, 0x08, +0x00, 0x00, 0x19, 0x4C, 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, +0x1A, 0x00, 0x00, 0x00, 0x1A, 0x58, 0x00, 0x00, 0x1A, 0xAC, +0x00, 0x00, 0x1B, 0x2C, 0x00, 0x00, 0x1B, 0xAC, 0x00, 0x00, +0x1B, 0xEC, 0x00, 0x00, 0x1C, 0x70, 0x00, 0x00, 0x1C, 0xD0, +0x00, 0x00, 0x1D, 0x2C, 0x00, 0x00, 0x1D, 0x60, 0x00, 0x00, +0x1D, 0xB4, 0x00, 0x00, 0x1D, 0xF0, 0x00, 0x00, 0x1E, 0x34, +0x00, 0x00, 0x1E, 0x74, 0x00, 0x00, 0x1F, 0x04, 0x00, 0x00, +0x1F, 0x28, 0x00, 0x00, 0x1F, 0xB8, 0x00, 0x00, 0x20, 0x10, +0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x21, 0x24, 0x00, 0x00, +0x22, 0x0C, 0x00, 0x00, 0x22, 0x7C, 0x00, 0x00, 0x23, 0x4C, +0x00, 0x00, 0x23, 0xDC, 0x00, 0x00, 0x24, 0x50, 0x00, 0x00, +0x24, 0xA4, 0x00, 0x00, 0x25, 0x6C, 0x00, 0x00, 0x25, 0x90, +0x00, 0x00, 0x26, 0x20, 0x00, 0x00, 0x26, 0xB0, 0x00, 0x00, +0x27, 0x80, 0x00, 0x00, 0x28, 0x58, 0x04, 0x00, 0x01, 0x92, +0x01, 0x1C, 0x00, 0x00, 0x01, 0x6A, 0x00, 0x73, 0x01, 0xBC, +0x00, 0x45, 0x02, 0xBC, 0x00, 0x30, 0x02, 0x56, 0x00, 0x35, +0x03, 0x60, 0x00, 0x26, 0x02, 0xF0, 0x00, 0x35, 0x01, 0x0E, +0x00, 0x4A, 0x01, 0xA3, 0x00, 0x45, 0x01, 0xA3, 0x00, 0x2B, +0x02, 0x17, 0x00, 0x30, 0x02, 0xF0, 0x00, 0x4F, 0x01, 0x56, +0x00, 0x3A, 0x01, 0xE5, 0x00, 0x4F, 0x01, 0x42, 0x00, 0x5E, +0x02, 0x1E, 0x00, 0x21, 0x02, 0x85, 0x00, 0x2E, 0x02, 0x85, +0x00, 0x71, 0x02, 0x85, 0x00, 0x57, 0x02, 0x85, 0x00, 0x57, +0x02, 0x85, 0x00, 0x0F, 0x02, 0x85, 0x00, 0x61, 0x02, 0x85, +0x00, 0x38, 0x02, 0x85, 0x00, 0x52, 0x02, 0x85, 0x00, 0x2E, +0x02, 0x85, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x87, 0x01, 0xA8, +0x00, 0x4F, 0x02, 0xB2, 0x00, 0x3F, 0x03, 0x04, 0x00, 0x59, +0x02, 0xB2, 0x00, 0x5E, 0x02, 0x7F, 0x00, 0x54, 0x03, 0x4C, +0x00, 0x26, 0x02, 0xB2, 0x00, 0x1C, 0x02, 0x70, 0x00, 0x54, +0x02, 0x7F, 0x00, 0x26, 0x02, 0xAD, 0x00, 0x54, 0x02, 0x60, +0x00, 0x54, 0x02, 0x51, 0x00, 0x54, 0x02, 0xC7, 0x00, 0x26, +0x02, 0xC7, 0x00, 0x54, 0x01, 0x56, 0x00, 0x6E, 0x02, 0x28, +0x00, 0x26, 0x02, 0x89, 0x00, 0x54, 0x02, 0x5B, 0x00, 0x54, +0x03, 0x37, 0x00, 0x2B, 0x02, 0xC7, 0x00, 0x54, 0x02, 0xE5, +0x00, 0x26, 0x02, 0x75, 0x00, 0x54, 0x03, 0x04, 0x00, 0x26, +0x02, 0x89, 0x00, 0x54, 0x02, 0x42, 0x00, 0x3A, 0x02, 0x89, +0x00, 0x3A, 0x02, 0xA8, 0x00, 0x4A, 0x02, 0xB2, 0x00, 0x1C, +0x03, 0x89, 0x00, 0x2B, 0x02, 0xA8, 0x00, 0x35, 0x02, 0xA8, +0x00, 0x1C, 0x02, 0x7F, 0x00, 0x4A, 0x01, 0xF0, 0x00, 0x73, +0x02, 0x1E, 0x00, 0x30, 0x01, 0xF0, 0x00, 0x54, 0x02, 0x9E, +0x00, 0x26, 0x02, 0x4E, 0xFF, 0xFE, 0x01, 0x32, 0x00, 0x0C, +0x02, 0x2D, 0x00, 0x30, 0x02, 0x5B, 0x00, 0x4F, 0x01, 0xFA, 0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, -0x01, 0x4C, 0x00, 0x6E, 0x01, 0x4C, 0x00, 0x6E, 0x02, 0x51, -0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, 0x01, 0xDB, 0x00, 0x4A, +0x02, 0x09, 0x00, 0x35, 0x02, 0x1E, 0x00, 0x1C, 0x02, 0x56, +0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x01, 0x75, 0xFF, 0xF3, +0x02, 0x47, 0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x03, 0x28, +0x00, 0x4A, 0x02, 0x51, 0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, +0x02, 0x56, 0x00, 0x4A, 0x02, 0x56, 0x00, 0x2B, 0x01, 0xDB, +0x00, 0x4A, 0x02, 0x04, 0x00, 0x3A, 0x02, 0x09, 0x00, 0x30, +0x02, 0x4C, 0x00, 0x45, 0x02, 0x37, 0x00, 0x21, 0x03, 0x2D, +0x00, 0x2B, 0x02, 0x37, 0x00, 0x30, 0x02, 0x47, 0x00, 0x26, +0x02, 0x2D, 0x00, 0x4A, 0x02, 0x19, 0x00, 0x3A, 0x01, 0x75, +0x00, 0x87, 0x02, 0x19, 0x00, 0x59, 0x02, 0xD1, 0x00, 0x35, 0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, 0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, 0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, @@ -346,307 +406,1036 @@ const unsigned char binaryttf[6456] = { 0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, 0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, -0x00, 0xDC, 0xFF, 0x24, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, -0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x17, 0x40, 0x0A, -0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, 0x71, 0x06, 0x02, 0x04, -0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, -0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, 0x71, 0x71, 0xFE, 0xC3, -0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, 0x32, 0xFD, 0x14, 0x01, -0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x4A, -0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x19, -0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, 0x07, 0x05, 0x03, 0x02, -0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, 0x00, 0xB3, 0x0C, 0x5E, -0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x14, -0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x20, 0x4A, -0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, 0xEC, 0x01, 0x05, 0x01, -0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, 0x5A, 0x01, 0xEC, 0xFE, -0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, -0x00, 0x00, 0x03, 0x5E, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, -0x00, 0x40, 0x0C, 0x0B, 0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, -0x09, 0x7B, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, -0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, -0x03, 0x23, 0x03, 0x23, 0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, -0x70, 0x02, 0x70, 0x6E, 0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, -0x9F, 0x02, 0xEC, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, -0x71, 0xFD, 0x14, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, -0x00, 0x01, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, -0x00, 0x15, 0x00, 0x1B, 0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, -0x05, 0x2B, 0x00, 0x40, 0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, -0x05, 0x08, 0x07, 0x54, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, -0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, -0x23, 0x22, 0x26, 0x26, 0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, -0x47, 0x46, 0x4A, 0x4D, 0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, -0x01, 0x0A, 0x86, 0x8F, 0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, -0x5A, 0x1C, 0x5C, 0x14, 0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, -0xFF, 0xF6, 0x02, 0x0C, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, -0x00, 0x24, 0x40, 0x0D, 0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, -0x14, 0x6B, 0x12, 0x0B, 0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, -0x40, 0x0C, 0x04, 0x03, 0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, -0x52, 0x09, 0x08, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, -0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, -0x25, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x11, 0x33, 0x11, -0x23, 0x27, 0x23, 0x0E, 0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, -0x4F, 0x36, 0x85, 0x46, 0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, -0x61, 0x5A, 0x43, 0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, -0x32, 0x5D, 0x7A, 0xBD, 0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, -0x47, 0x7B, 0x83, 0x92, 0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, -0x2B, 0x22, 0x95, 0x00, 0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, -0x01, 0xF3, 0x02, 0x1F, 0x00, 0x05, 0x00, 0x17, 0x00, 0x18, -0x00, 0x40, 0x10, 0x03, 0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, -0x0C, 0x50, 0x08, 0x07, 0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, -0x2B, 0x2B, 0x30, 0x31, 0x13, 0x33, 0x26, 0x23, 0x22, 0x06, -0x07, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, -0x10, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, -0x03, 0x6F, 0x3D, 0x41, 0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, -0x4A, 0x80, 0x8A, 0x7C, 0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, -0x94, 0x46, 0x9D, 0xA6, 0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, -0x8C, 0x84, 0x8C, 0x0E, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, +0x00, 0xF8, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x07, 0x00, 0x09, +0xB3, 0x06, 0x7B, 0x04, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x07, 0x35, 0x33, 0x15, 0x73, 0x85, 0x10, +0x66, 0x0A, 0x7B, 0x02, 0xEC, 0xFD, 0xEB, 0xD7, 0x85, 0x85, +0x00, 0x00, 0x00, 0x02, 0x00, 0x45, 0x02, 0x0A, 0x01, 0x78, +0x03, 0x14, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, 0x00, 0x30, +0x31, 0x13, 0x33, 0x03, 0x23, 0x13, 0x33, 0x03, 0x23, 0x45, +0x70, 0x0F, 0x52, 0xB3, 0x71, 0x10, 0x51, 0x03, 0x14, 0xFE, +0xF6, 0x01, 0x0A, 0xFE, 0xF6, 0x00, 0x00, 0x02, 0x00, 0x30, +0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, 0x00, 0x1B, 0x00, 0x1F, +0x00, 0x17, 0x00, 0x40, 0x10, 0x1C, 0x0F, 0x03, 0x58, 0x0D, +0x09, 0x05, 0x0A, 0x1B, 0x17, 0x13, 0x58, 0x1E, 0x11, 0x01, +0x0A, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x35, 0x33, 0x37, 0x23, +0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, +0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, +0x07, 0x23, 0x37, 0x01, 0x23, 0x07, 0x33, 0x30, 0x78, 0x28, +0x6D, 0x7D, 0x1D, 0x66, 0x1C, 0x7B, 0x1C, 0x67, 0x1D, 0x64, +0x74, 0x28, 0x69, 0x79, 0x21, 0x66, 0x21, 0x7B, 0x21, 0x66, +0x21, 0x01, 0x18, 0x7B, 0x28, 0x7B, 0xB8, 0x58, 0xE0, 0x58, +0xA4, 0xA4, 0xA4, 0xA4, 0x58, 0xE0, 0x58, 0xB8, 0xB8, 0xB8, +0xB8, 0x01, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x35, +0xFF, 0xA9, 0x02, 0x21, 0x03, 0x43, 0x00, 0x1C, 0x00, 0x22, +0x00, 0x27, 0x00, 0x1D, 0x40, 0x15, 0x19, 0x6C, 0x1F, 0x1E, +0x04, 0x25, 0x24, 0x6A, 0x0B, 0x0A, 0x05, 0x22, 0x1C, 0x16, +0x10, 0x56, 0x27, 0x0E, 0x07, 0x01, 0x0F, 0x2B, 0x2B, 0x2B, +0x00, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x35, 0x16, +0x17, 0x35, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, +0x15, 0x16, 0x17, 0x15, 0x26, 0x27, 0x15, 0x1E, 0x01, 0x14, +0x06, 0x07, 0x35, 0x36, 0x35, 0x34, 0x26, 0x27, 0x03, 0x06, +0x15, 0x14, 0x17, 0x01, 0x56, 0x56, 0x64, 0x57, 0x57, 0x64, +0x6A, 0x61, 0x67, 0x64, 0x56, 0x5A, 0x57, 0x4F, 0x62, 0x71, +0x5A, 0x68, 0x63, 0x5F, 0x29, 0x36, 0x56, 0x61, 0x61, 0x57, +0x67, 0x06, 0x22, 0x67, 0x2E, 0x07, 0xF2, 0x21, 0x64, 0x48, +0x4C, 0x5D, 0x08, 0x69, 0x68, 0x04, 0x1A, 0x62, 0x1E, 0x07, +0xDA, 0x22, 0x60, 0xA4, 0x63, 0x0B, 0x5C, 0x11, 0x53, 0x2A, +0x33, 0x14, 0x01, 0x3D, 0x0B, 0x4C, 0x48, 0x23, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xF6, 0x03, 0x3A, 0x02, 0xF6, 0x00, 0x03, +0x00, 0x0C, 0x00, 0x15, 0x00, 0x1A, 0x00, 0x1F, 0x00, 0x31, +0x40, 0x12, 0x10, 0x6B, 0x1D, 0x00, 0x07, 0x6B, 0x18, 0x00, +0x1F, 0x1B, 0x6B, 0x14, 0x01, 0x1A, 0x16, 0x6B, 0x0B, 0x01, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x12, 0x52, 0x1C, +0x00, 0x09, 0x52, 0x17, 0x00, 0x1E, 0x52, 0x0E, 0x00, 0x19, +0x52, 0x05, 0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x01, 0x23, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, +0x26, 0x34, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, +0x34, 0x01, 0x14, 0x32, 0x34, 0x22, 0x25, 0x14, 0x32, 0x34, +0x22, 0x02, 0x3F, 0x71, 0xFE, 0x71, 0x71, 0x01, 0x53, 0x2F, +0xAA, 0x5E, 0x5E, 0xAA, 0x5E, 0xFE, 0x81, 0x2F, 0xAA, 0x5E, +0x5E, 0xAA, 0x5E, 0x02, 0x19, 0x90, 0x90, 0xFE, 0x52, 0x90, +0x90, 0x02, 0xEC, 0xFD, 0x14, 0x01, 0x52, 0x33, 0x67, 0xC1, +0x67, 0x67, 0xC1, 0x01, 0xA5, 0x33, 0x68, 0xC0, 0x68, 0x68, +0xC0, 0xFE, 0x2F, 0x75, 0xEB, 0xFB, 0x76, 0xEC, 0x00, 0x03, +0x00, 0x35, 0xFF, 0xF6, 0x02, 0xEE, 0x02, 0xF6, 0x00, 0x1B, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x2A, 0x40, 0x12, 0x03, 0x02, +0x69, 0x1F, 0x1E, 0x05, 0x24, 0x23, 0x6E, 0x19, 0x18, 0x05, +0x2B, 0x2A, 0x71, 0x13, 0x12, 0x05, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x11, 0x10, 0x58, 0x2D, 0x2C, 0x05, 0x21, 0x20, +0x56, 0x1B, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, +0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x36, 0x37, 0x33, 0x06, +0x07, 0x17, 0x23, 0x27, 0x06, 0x23, 0x22, 0x35, 0x34, 0x36, +0x37, 0x27, 0x26, 0x35, 0x34, 0x36, 0x13, 0x3E, 0x01, 0x35, +0x34, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x27, 0x0E, +0x01, 0x15, 0x14, 0x33, 0x32, 0x01, 0x4A, 0x67, 0x6B, 0x49, +0x5A, 0x9A, 0x21, 0x0B, 0x6C, 0x12, 0x3E, 0x93, 0x86, 0x4C, +0x66, 0x8B, 0xF6, 0x4D, 0x60, 0x0A, 0x65, 0x70, 0x55, 0x4C, +0x2F, 0x69, 0x32, 0x37, 0x1E, 0xDB, 0xB7, 0x46, 0x37, 0x8A, +0x66, 0x02, 0xF6, 0x54, 0x4B, 0x37, 0x63, 0x3B, 0xA0, 0x43, +0x56, 0x86, 0x5C, 0x99, 0x4F, 0x59, 0xB8, 0x37, 0x69, 0x40, +0x0B, 0x66, 0x53, 0x4B, 0x59, 0xFE, 0xD0, 0x32, 0x38, 0x22, +0x4E, 0x2A, 0x24, 0x1F, 0x32, 0xFE, 0x90, 0xBB, 0x2E, 0x48, +0x23, 0x65, 0x00, 0x01, 0x00, 0x4A, 0x02, 0x0A, 0x00, 0xC5, +0x03, 0x14, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x4A, 0x7B, 0x10, 0x5C, 0x03, 0x14, 0xFE, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0x61, +0x01, 0x78, 0x03, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x0A, +0x00, 0x6B, 0x05, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x13, 0x10, +0x17, 0x23, 0x2E, 0x01, 0x10, 0x36, 0x37, 0x33, 0x06, 0xB0, +0xC8, 0x67, 0x62, 0x6A, 0x6A, 0x62, 0x67, 0xC8, 0x01, 0x3B, +0xFE, 0xE8, 0xC2, 0x5A, 0xF6, 0x01, 0x15, 0xF4, 0x5A, 0xC1, +0x00, 0x01, 0x00, 0x2B, 0xFF, 0x61, 0x01, 0x5E, 0x03, 0x14, +0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x03, 0x6B, 0x09, 0x08, 0x04, +0x2B, 0x00, 0x30, 0x31, 0x13, 0x33, 0x1E, 0x01, 0x10, 0x06, +0x07, 0x23, 0x36, 0x11, 0x10, 0x2B, 0x66, 0x63, 0x6A, 0x6A, +0x63, 0x66, 0xC8, 0x03, 0x14, 0x5A, 0xF4, 0xFE, 0xEB, 0xF6, +0x5A, 0xC2, 0x01, 0x18, 0x01, 0x18, 0x00, 0x01, 0x00, 0x30, +0x01, 0x4E, 0x01, 0xE6, 0x03, 0x14, 0x00, 0x11, 0x00, 0x03, +0x00, 0x30, 0x31, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, +0x27, 0x17, 0x23, 0x37, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, +0x27, 0x01, 0x37, 0x07, 0x8A, 0x2C, 0x91, 0x91, 0x2C, 0x8A, +0x07, 0x58, 0x07, 0x8A, 0x2C, 0x92, 0x92, 0x2C, 0x8A, 0x07, +0x03, 0x14, 0xA3, 0x58, 0x4C, 0x4C, 0x4C, 0x4B, 0x58, 0xA4, +0xA4, 0x58, 0x4B, 0x4C, 0x4C, 0x4C, 0x58, 0xA3, 0x00, 0x01, +0x00, 0x4F, 0x00, 0x00, 0x02, 0xA1, 0x02, 0x52, 0x00, 0x0B, +0x00, 0x13, 0xB5, 0x04, 0x00, 0x5C, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0xB5, 0x07, 0x03, 0x56, 0x09, 0x01, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, +0x35, 0x33, 0x35, 0x01, 0xA6, 0xFB, 0xFB, 0x5C, 0xFB, 0xFB, +0x02, 0x52, 0xFE, 0x56, 0xFE, 0xFE, 0x56, 0xFE, 0x00, 0x01, +0x00, 0x3A, 0xFF, 0x8F, 0x01, 0x11, 0x00, 0x9A, 0x00, 0x03, +0x00, 0x03, 0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x82, +0x8F, 0x70, 0x67, 0x9A, 0xFE, 0xF5, 0x00, 0x01, 0x00, 0x4F, +0x00, 0xFE, 0x01, 0x97, 0x01, 0x54, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x56, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x21, 0x15, 0x4F, 0x01, 0x48, 0xFE, 0x56, 0x56, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x00, 0x00, 0xE3, +0x00, 0x9A, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x33, +0x35, 0x33, 0x15, 0x5E, 0x85, 0x9A, 0x9A, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x21, 0xFF, 0xD7, 0x01, 0xEE, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x09, 0x01, 0x23, +0x01, 0x01, 0xEE, 0xFE, 0x9E, 0x6B, 0x01, 0x61, 0x02, 0xEC, +0xFC, 0xEB, 0x03, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x08, 0x00, 0x11, +0x00, 0x19, 0xB7, 0x03, 0x71, 0x0C, 0x00, 0x10, 0x71, 0x07, +0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5A, 0x0A, 0x00, 0x0E, +0x5A, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x36, 0x20, +0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, 0x32, 0x36, +0x10, 0x26, 0x22, 0x06, 0x10, 0x74, 0x44, 0x01, 0x15, 0x8A, +0x8A, 0xFE, 0xEB, 0x8A, 0x9A, 0x28, 0xA6, 0x50, 0x50, 0xA6, +0x51, 0x02, 0x9B, 0x5B, 0xB7, 0xFE, 0x6D, 0xB6, 0xB6, 0x01, +0x93, 0xFE, 0x54, 0x43, 0x86, 0x01, 0x40, 0x86, 0x86, 0xFE, +0xC0, 0x00, 0x00, 0x01, 0x00, 0x71, 0x00, 0x00, 0x01, 0xAE, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0xB3, 0x01, 0x71, 0x03, +0x00, 0x2B, 0x00, 0xB3, 0x04, 0x7B, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x07, 0x35, 0x01, +0x3D, 0x71, 0x71, 0x02, 0xCA, 0x02, 0xEC, 0xFD, 0x14, 0x02, +0x71, 0xA4, 0x7B, 0x00, 0x00, 0x01, 0x00, 0x57, 0x00, 0x00, +0x02, 0x2E, 0x02, 0xF6, 0x00, 0x14, 0x00, 0x1A, 0xB6, 0x12, +0x11, 0x02, 0x75, 0x08, 0x07, 0x06, 0x2B, 0x00, 0x40, 0x0A, +0x0A, 0x09, 0x5E, 0x0F, 0x0E, 0x05, 0x03, 0x5C, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x37, 0x15, 0x21, 0x15, 0x21, 0x35, +0x3E, 0x01, 0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0xF1, 0x01, 0x3D, 0xFE, 0x29, +0xD1, 0x91, 0x8B, 0x5C, 0x6C, 0x63, 0x74, 0x73, 0x7E, 0x82, +0x5E, 0x02, 0x5C, 0x5C, 0xA6, 0xBB, 0x57, 0x84, 0x3C, 0x6C, +0x2E, 0x72, 0x65, 0x67, 0xBE, 0x00, 0x00, 0x01, 0x00, 0x57, +0xFF, 0xF6, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x21, 0x00, 0x2A, +0x40, 0x0C, 0x1A, 0x19, 0x6E, 0x10, 0x0F, 0x05, 0x1F, 0x1E, +0x70, 0x08, 0x07, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x12, +0x11, 0x5C, 0x17, 0x16, 0x05, 0x0B, 0x0A, 0x5C, 0x0E, 0x0D, +0x05, 0x21, 0x00, 0x5C, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x35, 0x34, +0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, +0x07, 0x15, 0x16, 0x15, 0x14, 0x06, 0x01, 0x31, 0x79, 0x61, +0x67, 0x6D, 0x50, 0x54, 0x66, 0x75, 0x33, 0x33, 0xCF, 0x8E, +0x6F, 0x65, 0x62, 0x83, 0x6E, 0x7D, 0xA0, 0xAE, 0x8E, 0x0A, +0x2E, 0x64, 0x36, 0x48, 0x42, 0x41, 0x3F, 0x5C, 0x7B, 0x67, +0x37, 0x65, 0x2E, 0x5E, 0x50, 0x8F, 0x29, 0x02, 0x1A, 0x9D, +0x6A, 0x77, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x4D, +0x02, 0xEC, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x19, 0x40, 0x0A, +0x03, 0x71, 0x0C, 0x00, 0x0F, 0x08, 0x6F, 0x0A, 0x00, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x0B, 0x07, 0x5A, 0x05, 0x04, 0x05, +0x2B, 0x30, 0x31, 0x25, 0x11, 0x23, 0x03, 0x15, 0x21, 0x33, +0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x01, +0x66, 0x02, 0xE4, 0x01, 0x55, 0x78, 0x78, 0x6F, 0xFE, 0xA9, +0x01, 0x57, 0x6F, 0xFE, 0x01, 0x4B, 0xFE, 0xB7, 0x02, 0x5A, +0xA4, 0xA4, 0x5A, 0x01, 0xEE, 0x00, 0x00, 0x01, 0x00, 0x61, +0xFF, 0xF6, 0x02, 0x38, 0x02, 0xEC, 0x00, 0x19, 0x00, 0x20, +0xB5, 0x03, 0x02, 0x70, 0x0D, 0x0C, 0x05, 0x2B, 0x00, 0x40, +0x10, 0x15, 0x5D, 0x13, 0x00, 0x06, 0x05, 0x5C, 0x0B, 0x0A, +0x05, 0x0F, 0x0E, 0x58, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x07, +0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x33, 0x36, 0x01, 0x57, +0x6B, 0x76, 0x91, 0x8D, 0x63, 0x56, 0x67, 0x52, 0xAE, 0x85, +0x4C, 0x2F, 0x62, 0x15, 0x01, 0x9F, 0xFE, 0xC7, 0x0A, 0x02, +0x37, 0x01, 0xE1, 0x79, 0x6D, 0x81, 0x84, 0x24, 0x68, 0x30, +0xA9, 0x8E, 0x2D, 0x01, 0x90, 0x5D, 0xCC, 0x1E, 0x00, 0x02, +0x00, 0x38, 0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x15, +0x00, 0x21, 0x00, 0x2A, 0x40, 0x0C, 0x06, 0x05, 0x71, 0x19, +0x18, 0x05, 0x1F, 0x1E, 0x73, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x5C, 0x21, 0x16, 0x05, 0x13, +0x12, 0x5C, 0x0E, 0x0D, 0x05, 0x1C, 0x1B, 0x55, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x17, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x20, 0x11, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x13, 0x32, +0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, +0xB2, 0x02, 0x3E, 0x6F, 0x72, 0x84, 0x93, 0x7C, 0xFE, 0xF0, +0xA4, 0x9A, 0x4D, 0x42, 0x40, 0x4F, 0x50, 0x6A, 0x8C, 0x4A, +0x54, 0x57, 0x47, 0x46, 0x57, 0x58, 0x01, 0xB9, 0x01, 0x3E, +0x85, 0x71, 0x7D, 0x8D, 0x01, 0x52, 0xD8, 0xD6, 0x15, 0x61, +0x1A, 0x75, 0xFE, 0x2D, 0x59, 0x55, 0x4A, 0x57, 0x59, 0x48, +0x50, 0x5E, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x02, 0x3D, +0x02, 0xEC, 0x00, 0x0A, 0x00, 0x0F, 0xB3, 0x01, 0x6B, 0x08, +0x00, 0x2B, 0x00, 0xB3, 0x09, 0x5D, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x21, 0x15, 0x06, 0x02, 0x07, 0x23, 0x12, 0x13, +0x35, 0x21, 0x52, 0x01, 0xEB, 0x5D, 0x88, 0x39, 0x76, 0x73, +0xB6, 0xFE, 0x80, 0x02, 0xEC, 0x5D, 0x97, 0xFE, 0xCA, 0xC2, +0x01, 0x66, 0x01, 0x27, 0x02, 0x00, 0x00, 0x03, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x0B, 0x00, 0x15, +0x00, 0x2B, 0x00, 0x2E, 0x40, 0x18, 0x09, 0x08, 0x6C, 0x1D, +0x1C, 0x05, 0x0F, 0x0E, 0x6B, 0x2B, 0x16, 0x05, 0x27, 0x26, +0x6F, 0x14, 0x13, 0x05, 0x22, 0x21, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x09, 0x06, 0x05, 0x58, +0x1F, 0x01, 0x29, 0x58, 0x11, 0x00, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x3E, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x14, 0x16, 0x17, 0x0E, 0x01, 0x15, 0x14, 0x16, 0x32, 0x36, +0x35, 0x34, 0x05, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0x35, +0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x16, 0x15, +0x14, 0x06, 0x20, 0x26, 0x01, 0x43, 0x46, 0x4C, 0x4C, 0x46, +0x46, 0x49, 0x49, 0x40, 0x50, 0x54, 0x5B, 0x9D, 0x57, 0xFE, +0x46, 0x52, 0x48, 0x3E, 0x42, 0x85, 0xEB, 0x85, 0x80, 0x9A, +0x92, 0xFE, 0xFC, 0x93, 0x01, 0xB8, 0x11, 0x41, 0x29, 0x31, +0x3A, 0x39, 0x32, 0x2B, 0x40, 0x67, 0x13, 0x4D, 0x2F, 0x3E, +0x46, 0x46, 0x3E, 0x6B, 0x70, 0x3B, 0x66, 0x1B, 0x02, 0x1B, +0x5D, 0x3A, 0x53, 0x66, 0x66, 0x53, 0x72, 0x35, 0x03, 0x34, +0x92, 0x63, 0x74, 0x74, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x4D, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x21, +0x00, 0x2A, 0x40, 0x0C, 0x0B, 0x0A, 0x73, 0x1F, 0x1E, 0x05, +0x19, 0x18, 0x71, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x12, 0x03, 0x02, 0x55, 0x1C, 0x1B, 0x05, 0x0E, 0x0D, 0x5C, +0x13, 0x12, 0x05, 0x21, 0x16, 0x5C, 0x09, 0x08, 0x05, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x27, 0x06, 0x23, 0x22, 0x26, +0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x03, 0x22, 0x06, 0x15, +0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 0xD3, +0x02, 0x3E, 0x6F, 0x73, 0x83, 0x94, 0x7B, 0x01, 0x10, 0xA1, +0x9D, 0x52, 0x47, 0x4B, 0x4E, 0x57, 0x6B, 0x94, 0x4A, 0x54, +0x57, 0x47, 0x47, 0x56, 0x59, 0x01, 0x32, 0x01, 0x3D, 0x88, +0x78, 0x76, 0x8A, 0xFE, 0xB8, 0xE4, 0xD4, 0x14, 0x62, 0x1A, +0x74, 0x01, 0xD4, 0x55, 0x4F, 0x51, 0x5A, 0x5C, 0x4F, 0x49, +0x5B, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x00, 0x00, +0x01, 0x0C, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, +0x15, 0x87, 0x85, 0x85, 0x85, 0x01, 0x8F, 0x9A, 0x9A, 0xFE, +0x71, 0x9A, 0x9A, 0x00, 0x00, 0x02, 0x00, 0x4F, 0xFF, 0x8F, +0x01, 0x26, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x13, 0x35, 0x33, +0x15, 0x97, 0x8F, 0x71, 0x66, 0x48, 0x85, 0x9A, 0xFE, 0xF5, +0x02, 0x00, 0x9A, 0x9A, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x0A, +0x02, 0x54, 0x02, 0x48, 0x00, 0x07, 0x00, 0x09, 0xB3, 0x01, +0x43, 0x05, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x05, 0x15, +0x05, 0x15, 0x25, 0x35, 0x25, 0x02, 0x54, 0xFE, 0x2E, 0x01, +0xD2, 0xFD, 0xEB, 0x02, 0x15, 0x01, 0xE6, 0xBC, 0x02, 0xBC, +0x62, 0xE7, 0x70, 0xE7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x59, +0x00, 0x85, 0x02, 0xAB, 0x01, 0xCD, 0x00, 0x03, 0x00, 0x07, +0x00, 0x0E, 0x00, 0xB7, 0x07, 0x57, 0x05, 0x00, 0x03, 0x57, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, +0x05, 0x35, 0x21, 0x15, 0x59, 0x02, 0x52, 0xFD, 0xAE, 0x02, +0x52, 0x01, 0x76, 0x57, 0x57, 0xF1, 0x57, 0x57, 0x00, 0x01, +0x00, 0x5E, 0x00, 0x0A, 0x02, 0x73, 0x02, 0x48, 0x00, 0x07, +0x00, 0x09, 0xB3, 0x02, 0x43, 0x06, 0x00, 0x2B, 0x00, 0x30, +0x31, 0x13, 0x35, 0x05, 0x15, 0x05, 0x35, 0x25, 0x35, 0x5E, +0x02, 0x15, 0xFD, 0xEB, 0x01, 0xD2, 0x01, 0xE6, 0x62, 0xE7, +0x70, 0xE7, 0x62, 0xBC, 0x02, 0x00, 0x00, 0x02, 0x00, 0x54, +0x00, 0x00, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x1D, 0x00, 0x21, +0x00, 0x1E, 0x40, 0x0E, 0x20, 0x7B, 0x1E, 0x00, 0x14, 0x13, +0x75, 0x0A, 0x09, 0x05, 0x1D, 0x71, 0x01, 0x00, 0x2B, 0x2B, +0x2B, 0x00, 0xB5, 0x0C, 0x0B, 0x5E, 0x11, 0x10, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x23, 0x34, 0x3E, 0x02, 0x37, 0x3E, 0x02, +0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, +0x15, 0x14, 0x0E, 0x02, 0x07, 0x0E, 0x03, 0x07, 0x35, 0x33, +0x15, 0x01, 0x4F, 0x71, 0x17, 0x30, 0x23, 0x20, 0x22, 0x21, +0x1F, 0x95, 0x69, 0x78, 0x75, 0x7C, 0x78, 0x82, 0x12, 0x2A, +0x1F, 0x1D, 0x1F, 0x1E, 0x2A, 0x11, 0x76, 0x7B, 0xDC, 0x2C, +0x47, 0x37, 0x1E, 0x16, 0x18, 0x1C, 0x32, 0x1D, 0x5B, 0x27, +0x66, 0x1F, 0x5F, 0x4F, 0x24, 0x38, 0x2E, 0x19, 0x15, 0x15, +0x19, 0x2D, 0x36, 0xFF, 0x85, 0x85, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0x8A, 0x03, 0x26, 0x02, 0x8A, 0x00, 0x34, +0x00, 0x41, 0x00, 0x3B, 0x40, 0x0B, 0x07, 0x56, 0x12, 0x11, +0x04, 0x18, 0x17, 0x56, 0x02, 0x01, 0x05, 0x2B, 0x2B, 0x00, +0x40, 0x22, 0x22, 0x21, 0x1B, 0x1A, 0x63, 0x41, 0x35, 0x07, +0x3B, 0x3A, 0x5E, 0x28, 0x27, 0x05, 0x05, 0x04, 0x51, 0x15, +0x14, 0x05, 0x0F, 0x0E, 0x51, 0x0A, 0x09, 0x05, 0x22, 0x21, +0x1B, 0x1A, 0x48, 0x34, 0x00, 0x07, 0x2B, 0x2B, 0x2B, 0x2B, +0x2B, 0x30, 0x31, 0x25, 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, +0x06, 0x10, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, +0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, +0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x06, 0x23, 0x22, 0x27, +0x26, 0x3E, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x37, +0x33, 0x07, 0x0E, 0x01, 0x17, 0x16, 0x27, 0x32, 0x37, 0x36, +0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x17, 0x16, 0x02, +0x4F, 0x81, 0xA4, 0x86, 0x83, 0xA7, 0xA7, 0x83, 0x6E, 0x4B, +0x2D, 0x60, 0x86, 0xA3, 0xDD, 0xDA, 0xA6, 0xA8, 0xD8, 0x6F, +0x67, 0x2E, 0x1F, 0x1D, 0x08, 0x02, 0x2F, 0x51, 0x46, 0x2C, +0x33, 0x27, 0x6E, 0x4D, 0x1A, 0x1A, 0x11, 0x11, 0x02, 0x09, +0x75, 0x33, 0x0A, 0x01, 0x07, 0x07, 0xCF, 0x4C, 0x19, 0x0C, +0x14, 0x12, 0x1F, 0x24, 0x37, 0x0C, 0x0C, 0x15, 0x12, 0x86, +0x84, 0x88, 0xA7, 0xAA, 0xFE, 0xF6, 0xAA, 0x3D, 0x46, 0x48, +0xD7, 0xA9, 0xA8, 0xD8, 0xD6, 0xAA, 0x64, 0x68, 0x11, 0x0F, +0x1A, 0x3A, 0x34, 0x3C, 0xC1, 0x69, 0x0E, 0x09, 0x13, 0x27, +0xF6, 0x30, 0x1E, 0x05, 0x06, 0x1B, 0x6D, 0x38, 0x1C, 0x18, +0x39, 0x34, 0x35, 0x1F, 0x18, 0x00, 0x00, 0x02, 0x00, 0x1C, +0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x05, 0x58, 0x08, 0x00, 0x0A, 0x67, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x33, 0x01, 0x33, 0x01, +0x23, 0x27, 0x21, 0x07, 0x13, 0x33, 0x03, 0x23, 0x1C, 0x01, +0x00, 0x7B, 0x01, 0x00, 0x79, 0x3D, 0xFE, 0xEC, 0x3D, 0x58, +0xDE, 0x6E, 0x02, 0x02, 0xEC, 0xFD, 0x14, 0xC7, 0xC7, 0x01, +0x1F, 0x01, 0x66, 0x00, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, +0x02, 0x4A, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x18, 0x00, 0x21, +0x00, 0x30, 0x40, 0x11, 0x09, 0x08, 0x69, 0x1D, 0x1C, 0x05, +0x0F, 0x00, 0x6F, 0x18, 0x10, 0x05, 0x21, 0x14, 0x71, 0x04, +0x01, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x13, 0x12, 0x58, +0x1A, 0x19, 0x05, 0x03, 0x02, 0x5A, 0x16, 0x15, 0x05, 0x20, +0x1F, 0x5B, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x25, 0x14, 0x06, 0x2B, 0x01, 0x11, 0x33, 0x32, 0x16, 0x15, +0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x07, 0x34, 0x26, 0x2B, +0x01, 0x11, 0x33, 0x32, 0x36, 0x01, 0x33, 0x32, 0x36, 0x35, +0x34, 0x26, 0x2B, 0x01, 0x02, 0x4A, 0x98, 0xA6, 0xB8, 0xAE, +0x9E, 0x8B, 0x54, 0x46, 0x58, 0x61, 0x6F, 0x6A, 0x83, 0x29, +0x5C, 0x61, 0x59, 0xFE, 0xEA, 0x29, 0x72, 0x62, 0x4E, 0x5D, +0x52, 0xDC, 0x6F, 0x6D, 0x02, 0xEC, 0x59, 0x5B, 0x3C, 0x58, +0x0E, 0x03, 0x0D, 0x60, 0x40, 0x42, 0x3A, 0xFE, 0xF8, 0x44, +0x01, 0x1C, 0x37, 0x38, 0x37, 0x31, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x02, 0x30, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1A, +0xB4, 0x13, 0x73, 0x08, 0x07, 0x04, 0x2B, 0x00, 0x40, 0x0C, +0x11, 0x10, 0x5C, 0x0B, 0x0A, 0x05, 0x05, 0x04, 0x5C, 0x15, +0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, +0x15, 0x2E, 0x01, 0x23, 0x22, 0x06, 0x10, 0x16, 0x01, 0x87, +0x52, 0x57, 0x56, 0x5D, 0x9C, 0xBB, 0xB5, 0xA2, 0x5D, 0x51, +0x34, 0x3E, 0x32, 0x6E, 0x80, 0x83, 0x52, 0x1B, 0x63, 0x14, +0xC8, 0xB8, 0xB5, 0xCB, 0x15, 0x62, 0x10, 0x0B, 0x99, 0xFE, +0xE9, 0x98, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, 0x02, 0x87, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x21, 0x40, 0x0A, +0x07, 0x00, 0x6B, 0x0F, 0x08, 0x05, 0x0B, 0x71, 0x03, 0x00, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x02, 0x01, 0x5C, 0x0D, 0x0C, +0x05, 0x0A, 0x09, 0x5D, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x16, 0x07, +0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x02, 0x87, 0xFE, +0x71, 0xA4, 0xA4, 0xC5, 0xCA, 0x6B, 0xFE, 0xE6, 0x3D, 0x3D, +0x90, 0x8A, 0x01, 0x80, 0xFE, 0x80, 0x02, 0xEC, 0xBA, 0xB2, +0x01, 0x0F, 0xFD, 0xCD, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x17, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x1B, 0xB4, 0x04, 0x00, 0x71, 0x08, 0x01, 0x2B, 0x00, +0x40, 0x0C, 0x0B, 0x5D, 0x09, 0x00, 0x07, 0x5C, 0x05, 0x00, +0x03, 0x58, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, +0x15, 0xC5, 0x01, 0x3D, 0xFE, 0xC3, 0x01, 0x52, 0xFE, 0x3D, +0x01, 0xC3, 0x02, 0x8F, 0xD5, 0x58, 0xFE, 0xFA, 0x5C, 0x02, +0xEC, 0x5D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x0C, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x15, 0xB4, 0x07, +0x03, 0x71, 0x09, 0x01, 0x2B, 0x00, 0xB7, 0x06, 0x58, 0x04, +0x00, 0x02, 0x5D, 0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x54, +0x01, 0xB8, 0xFE, 0xB9, 0x01, 0x33, 0xFE, 0xCD, 0x71, 0x02, +0xEC, 0x5D, 0xDF, 0x58, 0xFE, 0xA8, 0x00, 0x00, 0x00, 0x01, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x78, 0x02, 0xF6, 0x00, 0x19, +0x00, 0x26, 0x40, 0x0A, 0x08, 0x07, 0x73, 0x17, 0x16, 0x05, +0x11, 0x6C, 0x0D, 0x00, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x0E, +0x58, 0x10, 0x00, 0x14, 0x13, 0x5A, 0x0B, 0x0A, 0x05, 0x05, +0x04, 0x5A, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x11, 0x23, 0x35, 0x21, 0x11, 0x06, +0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x01, 0xA1, 0x60, 0x53, +0x55, 0x54, 0x84, 0x8E, 0x8B, 0x73, 0x3E, 0x37, 0xDC, 0x01, +0x48, 0x6F, 0x7D, 0x9D, 0xC9, 0xCB, 0x02, 0xF6, 0x15, 0x60, +0x1B, 0x97, 0x8F, 0x89, 0x9D, 0x12, 0x01, 0x00, 0x58, 0xFE, +0x6A, 0x2E, 0xD1, 0xAF, 0xB2, 0xCE, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x17, 0x40, 0x0A, 0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, +0x71, 0x06, 0x02, 0x04, 0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, +0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x21, 0x11, 0x33, +0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, +0x71, 0x71, 0xFE, 0xC3, 0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, +0x32, 0xFD, 0x14, 0x01, 0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xE8, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x7A, 0x00, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, 0x7A, 0x02, +0xEC, 0xFD, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xDE, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x13, +0xB5, 0x09, 0x08, 0x76, 0x06, 0x05, 0x05, 0x2B, 0x00, 0xB5, +0x0C, 0x0B, 0x5C, 0x03, 0x02, 0x05, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, +0x06, 0x23, 0x22, 0x26, 0x63, 0x55, 0x48, 0x42, 0x76, 0x7B, +0x85, 0x68, 0x14, 0x67, 0x29, 0x58, 0x6A, 0x01, 0xD8, 0xFE, +0x0A, 0x86, 0x7A, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x68, 0x02, 0xEC, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x09, +0x00, 0x71, 0x0B, 0x01, 0x2B, 0x00, 0xB3, 0x08, 0x3E, 0x01, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x01, 0x33, 0x09, +0x01, 0x23, 0x01, 0x23, 0x11, 0x23, 0x11, 0xC5, 0x02, 0x01, +0x12, 0x85, 0xFE, 0xCD, 0x01, 0x3D, 0x85, 0xFE, 0xE4, 0x02, +0x71, 0x02, 0xEC, 0xFE, 0xB8, 0x01, 0x48, 0xFE, 0x99, 0xFE, +0x7B, 0x01, 0x66, 0xFE, 0x9A, 0x02, 0xEC, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x54, 0x00, 0x00, 0x02, 0x21, 0x02, 0xEC, +0x00, 0x05, 0x00, 0x0F, 0xB3, 0x00, 0x76, 0x04, 0x00, 0x2B, +0x00, 0xB3, 0x03, 0x5E, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x21, 0x15, 0x21, 0x11, 0xCA, 0x01, 0x57, 0xFE, 0x33, +0x02, 0xEC, 0xFD, 0x72, 0x5E, 0x02, 0xEC, 0x00, 0x00, 0x01, +0x00, 0x2B, 0x00, 0x00, 0x03, 0x0C, 0x02, 0xEC, 0x00, 0x0F, +0x00, 0x0B, 0x00, 0xB5, 0x0F, 0x0B, 0x07, 0x7B, 0x03, 0x02, +0x2B, 0x30, 0x31, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, +0x13, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x2B, +0x57, 0x85, 0x94, 0x02, 0x93, 0x85, 0x57, 0x70, 0x3A, 0x02, +0x89, 0x7B, 0x89, 0x02, 0x39, 0x02, 0xEC, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x52, 0xFD, 0xAE, 0x02, 0x52, 0xFD, +0xAE, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, 0xB7, 0x06, +0x6F, 0x04, 0x00, 0x0A, 0x6F, 0x00, 0x00, 0x2B, 0x2B, 0x00, +0x30, 0x31, 0x33, 0x11, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, +0x23, 0x01, 0x23, 0x11, 0x54, 0x6F, 0x01, 0x3F, 0x02, 0x6F, +0x6F, 0xFE, 0xC1, 0x02, 0x02, 0xEC, 0xFD, 0xD1, 0x02, 0x2F, +0xFD, 0x14, 0x02, 0x2E, 0xFD, 0xD2, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0xBF, 0x02, 0xF6, 0x00, 0x08, +0x00, 0x11, 0x00, 0x19, 0xB7, 0x03, 0x72, 0x0C, 0x00, 0x10, +0x73, 0x07, 0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5C, 0x0A, +0x00, 0x0E, 0x5C, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x20, 0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, +0x32, 0x36, 0x10, 0x26, 0x22, 0x06, 0x10, 0x80, 0x59, 0x01, +0x33, 0xB3, 0xB3, 0xFE, 0xCD, 0xB3, 0xAC, 0x38, 0xD1, 0x72, +0x72, 0xD1, 0x71, 0x02, 0x90, 0x66, 0xCB, 0xFE, 0x96, 0xCB, +0xCB, 0x01, 0x6A, 0xFE, 0x71, 0x4A, 0x92, 0x01, 0x23, 0x93, +0x93, 0xFE, 0xDD, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x54, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x11, 0x00, 0x22, +0x40, 0x0B, 0x07, 0x06, 0x6F, 0x0E, 0x0D, 0x05, 0x11, 0x00, +0x71, 0x02, 0x01, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x09, 0x08, +0x58, 0x0B, 0x0A, 0x05, 0x10, 0x0F, 0x5B, 0x04, 0x03, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x23, 0x11, 0x33, 0x32, +0x16, 0x15, 0x14, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, +0x2B, 0x01, 0xC5, 0x71, 0xCD, 0x9D, 0x96, 0xFE, 0xE1, 0x70, +0x66, 0x5B, 0x5F, 0xBA, 0x66, 0x01, 0x1A, 0xFE, 0xE6, 0x02, +0xEC, 0x6E, 0x6F, 0xF5, 0x58, 0x4A, 0x49, 0x8C, 0x00, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0x66, 0x03, 0x0C, 0x02, 0xF6, +0x00, 0x08, 0x00, 0x1A, 0x00, 0x1D, 0x40, 0x09, 0x03, 0x73, +0x0B, 0x00, 0x10, 0x0F, 0x72, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0x40, 0x09, 0x01, 0x5C, 0x0D, 0x00, 0x1A, 0x09, 0x5C, 0x05, +0x01, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x26, 0x22, 0x06, 0x10, +0x16, 0x32, 0x36, 0x10, 0x03, 0x22, 0x26, 0x10, 0x36, 0x20, +0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x17, 0x23, +0x2E, 0x01, 0x02, 0x14, 0x39, 0xD1, 0x71, 0x71, 0xD1, 0x72, +0xDA, 0x9A, 0xB3, 0xB3, 0x01, 0x33, 0xB3, 0x53, 0x4B, 0x42, +0x82, 0x27, 0x85, 0x37, 0x6E, 0x02, 0x51, 0x49, 0x93, 0xFE, +0xDD, 0x92, 0x92, 0x01, 0x23, 0xFD, 0xEF, 0xCB, 0x01, 0x6A, +0xCB, 0xCB, 0xB5, 0x74, 0xAA, 0x2E, 0x02, 0x16, 0x6B, 0x41, +0x57, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x5E, 0x02, 0xEC, 0x00, 0x08, 0x00, 0x1C, 0x00, 0x22, +0x40, 0x0B, 0x09, 0x01, 0x71, 0x0B, 0x01, 0x10, 0x0F, 0x6F, +0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x08, 0x00, +0x5B, 0x0D, 0x0C, 0x05, 0x1C, 0x1B, 0x58, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x03, 0x11, 0x23, 0x11, 0x33, 0x32, 0x16, +0x15, 0x14, 0x06, 0x07, 0x15, 0x16, 0x1F, 0x01, 0x23, 0x27, +0x2E, 0x01, 0x23, 0x01, 0x17, 0x52, 0x3D, 0x72, 0x67, 0x5B, +0xBB, 0x71, 0xB8, 0xA7, 0x97, 0x4F, 0x46, 0x2C, 0x26, 0x57, +0x75, 0x55, 0x15, 0x34, 0x49, 0x02, 0x91, 0xFE, 0xFA, 0x47, +0x48, 0x3D, 0x3A, 0xFE, 0xA2, 0xFE, 0xCD, 0x02, 0xEC, 0x64, +0x64, 0x4C, 0x6A, 0x16, 0x02, 0x1B, 0x5F, 0xDC, 0xDC, 0x37, +0x20, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, 0x02, 0x07, +0x02, 0xF6, 0x00, 0x20, 0x00, 0x23, 0x40, 0x0C, 0x03, 0x02, +0x6F, 0x19, 0x18, 0x05, 0x09, 0x08, 0x70, 0x13, 0x12, 0x05, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x20, 0x00, 0x5A, 0x1C, 0x1B, +0x05, 0x0C, 0x0B, 0x5C, 0x11, 0x10, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1E, 0x01, +0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, +0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x33, +0x32, 0x17, 0x15, 0x26, 0x01, 0x1C, 0x38, 0x3B, 0x37, 0x37, +0x87, 0x69, 0x7F, 0x7C, 0x69, 0x59, 0x59, 0x5F, 0x95, 0x3B, +0x45, 0x75, 0x68, 0x73, 0x64, 0x74, 0x63, 0x66, 0x02, 0x9C, +0x38, 0x31, 0x28, 0x40, 0x13, 0x2D, 0x6E, 0x55, 0x68, 0x6A, +0x2E, 0x6B, 0x3D, 0x76, 0x2D, 0x3F, 0x19, 0x28, 0x6F, 0x4F, +0x5A, 0x69, 0x29, 0x6A, 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x3A, 0x00, 0x00, 0x02, 0x4F, 0x02, 0xEC, 0x00, 0x07, +0x00, 0x10, 0xB3, 0x03, 0x71, 0x05, 0x00, 0x2B, 0x00, 0xB4, +0x06, 0x02, 0x5F, 0x00, 0x01, 0x2B, 0x30, 0x31, 0x13, 0x21, +0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3A, 0x02, 0x15, 0xD2, +0x71, 0xD2, 0x02, 0xEC, 0x5F, 0xFD, 0x73, 0x02, 0x8D, 0x00, +0x00, 0x01, 0x00, 0x4A, 0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, +0x00, 0x0D, 0x00, 0x19, 0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, +0x07, 0x05, 0x03, 0x02, 0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, +0x00, 0xB3, 0x0C, 0x5E, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x33, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, +0x11, 0x10, 0x20, 0x4A, 0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, +0xEC, 0x01, 0x05, 0x01, 0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, +0x5A, 0x01, 0xEC, 0xFE, 0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, +0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, 0x05, 0x71, 0x01, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x01, 0x23, +0x01, 0x94, 0xC6, 0x02, 0xC6, 0x75, 0xFF, 0x00, 0x7B, 0xFF, +0x00, 0x02, 0xEC, 0xFD, 0x85, 0x02, 0x7B, 0xFD, 0x14, 0x02, +0xEC, 0x00, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x00, 0x03, 0x5E, +0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, 0x00, 0x40, 0x0C, 0x0B, +0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, 0x09, 0x7B, 0x05, 0x01, +0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, +0x13, 0x33, 0x13, 0x33, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, +0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, 0x70, 0x02, 0x70, 0x6E, +0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, 0x9F, 0x02, 0xEC, 0xFD, +0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x14, 0x02, +0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x03, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x13, +0x23, 0x03, 0x23, 0x03, 0x23, 0x13, 0x03, 0xBC, 0x99, 0x02, +0x99, 0x7E, 0xD2, 0xD7, 0x84, 0x9C, 0x02, 0x9C, 0x80, 0xD7, +0xD2, 0x02, 0xEC, 0xFE, 0xDC, 0x01, 0x24, 0xFE, 0x8F, 0xFE, +0x85, 0x01, 0x2E, 0xFE, 0xD2, 0x01, 0x7B, 0x01, 0x71, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, +0x00, 0x09, 0x00, 0x09, 0xB3, 0x05, 0x76, 0x07, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x11, +0x23, 0x11, 0x03, 0xA0, 0xB5, 0x02, 0xB5, 0x80, 0xFD, 0x76, +0xFD, 0x02, 0xEC, 0xFE, 0xA3, 0x01, 0x5D, 0xFE, 0x47, 0xFE, +0xCD, 0x01, 0x33, 0x01, 0xB9, 0x00, 0x00, 0x01, 0x00, 0x4A, +0x00, 0x00, 0x02, 0x35, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, +0x00, 0xB7, 0x06, 0x5C, 0x04, 0x00, 0x0A, 0x5D, 0x00, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, 0x15, 0x21, +0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, 0xEB, 0xFE, +0x98, 0x01, 0x68, 0xFE, 0x15, 0x01, 0x68, 0xFE, 0x98, 0x02, +0xEC, 0x5D, 0xFD, 0xCF, 0x02, 0x5C, 0x5C, 0x02, 0x31, 0x02, +0x00, 0x01, 0x00, 0x73, 0xFF, 0x61, 0x01, 0x9C, 0x03, 0x14, +0x00, 0x07, 0x00, 0x14, 0xB3, 0x00, 0x66, 0x04, 0x00, 0x2B, +0x00, 0xB7, 0x07, 0x51, 0x05, 0x00, 0x03, 0x52, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x15, 0x21, 0x11, +0x21, 0x15, 0xD9, 0xC3, 0xFE, 0xD7, 0x01, 0x29, 0x02, 0xC3, +0xFC, 0xF0, 0x52, 0x03, 0xB3, 0x51, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xD7, 0x01, 0xFD, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x33, 0x01, 0x23, 0x30, 0x6C, 0x01, +0x61, 0x6C, 0x02, 0xEC, 0xFC, 0xEB, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0xFF, 0x61, 0x01, 0x7D, 0x03, 0x14, 0x00, 0x07, +0x00, 0x14, 0xB3, 0x04, 0x66, 0x00, 0x00, 0x2B, 0x00, 0xB7, +0x05, 0x52, 0x07, 0x00, 0x01, 0x51, 0x03, 0x00, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, +0x01, 0x17, 0xC3, 0x01, 0x29, 0xFE, 0xD7, 0x4D, 0x03, 0x10, +0x51, 0xFC, 0x4D, 0x52, 0x00, 0x01, 0x00, 0x26, 0x01, 0x1F, +0x02, 0x78, 0x02, 0xEC, 0x00, 0x06, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x33, 0x13, 0x23, 0x0B, 0x01, 0x26, 0xE6, +0x85, 0xE7, 0x73, 0xB6, 0xB6, 0x01, 0x1F, 0x01, 0xCD, 0xFE, +0x33, 0x01, 0x85, 0xFE, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x01, +0xFF, 0xFE, 0xFF, 0x61, 0x02, 0x50, 0xFF, 0xB3, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x52, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x07, 0x35, 0x21, 0x15, 0x02, 0x02, 0x52, 0x9F, 0x52, +0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x02, 0x29, +0x01, 0x0C, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x23, 0x03, 0x9C, 0x70, 0x5C, 0xA4, 0x03, +0x3D, 0xFE, 0xEC, 0x01, 0x14, 0x00, 0x00, 0x02, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xE8, 0x02, 0x1F, 0x00, 0x18, 0x00, 0x23, +0x00, 0x2C, 0x40, 0x0E, 0x03, 0x02, 0x6B, 0x23, 0x22, 0x11, +0x10, 0x0D, 0x1D, 0x1C, 0x6C, 0x0C, 0x0B, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x57, 0x20, 0x1F, 0x05, 0x1A, +0x19, 0x4B, 0x0F, 0x0E, 0x05, 0x14, 0x13, 0x52, 0x18, 0x00, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, +0x11, 0x23, 0x27, 0x23, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, +0x36, 0x3B, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x35, +0x36, 0x13, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x35, 0x01, 0x07, 0x81, 0x60, 0x64, 0x02, 0x02, 0x3B, +0x76, 0x46, 0x59, 0x89, 0x8C, 0x38, 0x33, 0x43, 0x50, 0x68, +0x5F, 0xCF, 0x38, 0x54, 0x55, 0x2D, 0x1F, 0x44, 0x51, 0x02, +0x1F, 0x5C, 0x7B, 0xFE, 0xB8, 0x4D, 0x57, 0x5A, 0x4A, 0x5A, +0x63, 0x15, 0x36, 0x2B, 0x27, 0x5A, 0x1F, 0xFE, 0xED, 0x38, +0x30, 0x26, 0x31, 0x55, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x4F, 0xFF, 0xF6, 0x02, 0x30, 0x03, 0x00, 0x00, 0x0B, +0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, 0x17, 0x0B, 0x0A, 0x00, +0x6B, 0x15, 0x03, 0x1D, 0x0C, 0x6B, 0x06, 0x05, 0x05, 0x2B, +0x2B, 0x00, 0x40, 0x0C, 0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, +0x0F, 0x0E, 0x52, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, +0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, +0x06, 0x15, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, +0x07, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x33, 0x32, 0x16, +0xBA, 0x4F, 0x36, 0x3F, 0x47, 0x86, 0x36, 0x4F, 0x01, 0x76, +0x7A, 0x5D, 0x32, 0x49, 0x27, 0x02, 0x02, 0x64, 0x6B, 0x02, +0x43, 0x5A, 0x61, 0x76, 0xBD, 0x2E, 0x47, 0x60, 0x62, 0xC3, +0x48, 0x2E, 0x4D, 0x7F, 0x95, 0x22, 0x2B, 0x43, 0x03, 0x00, +0xFE, 0xDC, 0x43, 0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, 0x00, 0x15, 0x00, 0x1B, +0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, 0x05, 0x08, 0x07, 0x54, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x26, +0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, 0x47, 0x46, 0x4A, 0x4D, +0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, 0x01, 0x0A, 0x86, 0x8F, +0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, 0x5A, 0x1C, 0x5C, 0x14, +0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0xF6, 0x02, 0x0C, +0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x14, 0x6B, 0x12, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x17, 0x33, 0x11, 0x33, 0x11, 0x23, 0x27, 0x23, 0x0E, +0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x46, +0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x5A, 0x43, 0x02, +0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x5D, 0x7A, 0xBD, +0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, 0x47, 0x7B, 0x83, 0x92, +0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, 0x2B, 0x22, 0x95, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xF3, 0x02, 0x1F, +0x00, 0x05, 0x00, 0x17, 0x00, 0x18, 0x00, 0x40, 0x10, 0x03, +0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, 0x0C, 0x50, 0x08, 0x07, +0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x13, 0x33, 0x26, 0x23, 0x22, 0x06, 0x07, 0x16, 0x33, 0x32, +0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, +0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, 0x03, 0x6F, 0x3D, 0x41, +0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, 0x4A, 0x80, 0x8A, 0x7C, +0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, 0x94, 0x46, 0x9D, 0xA6, +0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, 0x8C, 0x84, 0x8C, 0x0E, +0x15, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, +0x01, 0xC5, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1D, 0xB7, 0x12, +0x0E, 0x0D, 0x71, 0x14, 0x03, 0x02, 0x0A, 0x2B, 0x00, 0x40, +0x0C, 0x0B, 0x0A, 0x52, 0x06, 0x05, 0x05, 0x15, 0x11, 0x52, +0x0F, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x33, +0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, +0x06, 0x1D, 0x01, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x35, +0x71, 0x5C, 0x61, 0x34, 0x2E, 0x27, 0x26, 0x36, 0x2B, 0xA3, +0xA3, 0x71, 0x01, 0xAE, 0x52, 0x29, 0x6A, 0x63, 0x10, 0x52, +0x10, 0x32, 0x44, 0x2E, 0x52, 0xFE, 0x52, 0x01, 0xAE, 0x00, +0x00, 0x02, 0x00, 0x1C, 0xFF, 0x14, 0x01, 0xFD, 0x02, 0x1F, +0x00, 0x29, 0x00, 0x35, 0x00, 0x40, 0x40, 0x19, 0x15, 0x14, +0x71, 0x30, 0x2F, 0x05, 0x35, 0x2A, 0x68, 0x27, 0x0C, 0x0B, +0x09, 0x1C, 0x1B, 0x5C, 0x08, 0x07, 0x05, 0x22, 0x21, 0x6C, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x18, +0x18, 0x17, 0x43, 0x2D, 0x2C, 0x05, 0x05, 0x04, 0x4E, 0x1F, +0x1E, 0x05, 0x33, 0x32, 0x4C, 0x0F, 0x0E, 0x05, 0x25, 0x24, +0x52, 0x29, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x17, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, +0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x37, +0x33, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, +0x35, 0x16, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, +0x26, 0x23, 0x22, 0x06, 0xE8, 0x51, 0x58, 0x9C, 0x71, 0x5E, +0x2D, 0x37, 0x70, 0x57, 0x6A, 0x41, 0x02, 0x01, 0x62, 0x76, +0x76, 0x3E, 0x31, 0x16, 0x35, 0x4E, 0x81, 0x77, 0x8B, 0x8A, +0x6D, 0x5F, 0x5E, 0x0A, 0x44, 0x3C, 0x39, 0x45, 0x49, 0x3A, +0x37, 0x44, 0x9A, 0x35, 0x2A, 0x55, 0x34, 0x35, 0x28, 0x32, +0x32, 0x4F, 0x55, 0x6C, 0x42, 0x37, 0xB8, 0x59, 0x5F, 0x11, +0x17, 0x0F, 0x14, 0x13, 0x4A, 0x4C, 0x5A, 0x64, 0x29, 0x5D, +0x34, 0x01, 0xF5, 0x36, 0x3E, 0x3F, 0x35, 0x37, 0x41, 0x43, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, 0x02, 0x11, +0x03, 0x00, 0x00, 0x13, 0x00, 0x1B, 0x40, 0x0C, 0x0D, 0x09, +0x08, 0x6B, 0x0B, 0x02, 0x13, 0x00, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x06, 0x05, 0x57, 0x11, 0x10, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, +0x33, 0x32, 0x16, 0x02, 0x11, 0x68, 0x2D, 0x3D, 0x2F, 0x56, +0x6B, 0x6B, 0x02, 0x47, 0x5B, 0x5D, 0x56, 0x01, 0x3D, 0xFE, +0xC3, 0x01, 0x29, 0x5F, 0x40, 0x59, 0x32, 0xFE, 0xC3, 0x03, +0x00, 0xFE, 0xD2, 0x4D, 0x68, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, 0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, 0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, -0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, -0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, -0x70, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, -0x11, 0x6E, 0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x1F, -0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, 0x6B, 0x0F, -0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x00, -0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, 0x31, 0x13, -0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, -0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0xB2, 0x4A, -0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, 0x64, 0x02, -0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, 0x2E, 0x5C, -0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, 0x00, 0x08, -0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, 0x0B, 0x00, -0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, 0xB7, 0x05, -0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, 0x26, 0x10, -0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, 0x85, 0x85, -0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, 0xD7, 0x48, -0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, 0xC2, 0x01, -0x85, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, -0x02, 0x14, 0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, -0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, -0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, -0x01, 0xA6, 0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, -0x44, 0x15, 0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, -0x66, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x89, -0x00, 0x02, 0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, -0x00, 0x09, 0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, -0x31, 0x01, 0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, -0x27, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, -0x37, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, -0x46, 0xA6, 0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, -0x2D, 0x07, 0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, -0x3D, 0x0B, 0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, -0x46, 0xA6, 0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, -0x19, 0x15, 0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, -0x2F, 0x2B, 0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x6C, 0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, -0x00, 0x0B, 0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, -0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, -0x17, 0x1E, 0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, -0x36, 0x37, 0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, -0x07, 0x06, 0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, -0x21, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, -0xFE, 0x5C, 0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, -0x0D, 0x26, 0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, -0x41, 0x17, 0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, -0x46, 0x26, 0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, -0x14, 0x1D, 0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, -0x6B, 0x57, 0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, -0xB4, 0x2D, 0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, -0x28, 0x14, 0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, -0x0E, 0x1C, 0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, -0x2E, 0x00, 0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, -0x03, 0x3E, 0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, -0x00, 0x1B, 0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, -0x00, 0x40, 0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, -0x00, 0x62, 0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, -0x21, 0x06, 0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, -0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, -0x13, 0x25, 0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, -0x37, 0x36, 0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, -0x07, 0x26, 0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, -0x06, 0x17, 0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, -0x26, 0x03, 0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, -0x31, 0xA9, 0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, -0x15, 0x07, 0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, -0xFE, 0x21, 0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, -0x62, 0x5D, 0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, -0x2F, 0x20, 0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, -0x22, 0x11, 0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, -0x71, 0x56, 0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, -0x34, 0x0F, 0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, -0x47, 0x32, 0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, -0x5F, 0x23, 0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, -0x01, 0x0F, 0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, -0x39, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, -0x03, 0x8E, 0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, -0x00, 0x09, 0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, -0x31, 0x37, 0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, -0x01, 0x21, 0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, -0x37, 0x1E, 0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, -0x16, 0x30, 0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, -0x01, 0xC1, 0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, -0x24, 0x5E, 0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, -0x13, 0xB6, 0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, -0x5D, 0xFD, 0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, -0x30, 0x0C, 0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, -0xFF, 0xD5, 0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, -0x00, 0x36, 0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, -0x33, 0x23, 0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, -0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, -0x26, 0x22, 0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, -0x05, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, -0x26, 0x27, 0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, -0x01, 0x35, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, -0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, -0x17, 0x14, 0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, -0x27, 0xDA, 0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, -0x09, 0x23, 0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, -0x1A, 0x4C, 0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, -0x08, 0xFE, 0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, -0x26, 0x1A, 0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, -0x19, 0x28, 0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, -0x18, 0x47, 0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, -0x1E, 0x17, 0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, -0x0D, 0x04, 0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, -0x26, 0x35, 0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, -0x11, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, -0x03, 0x61, 0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, -0x61, 0x14, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, -0x17, 0x03, 0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, -0x02, 0x33, 0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, -0x27, 0x06, 0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, -0x06, 0x07, 0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, -0x05, 0x46, 0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, -0x1E, 0x2F, 0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, -0x3C, 0x3D, 0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, -0x19, 0x14, 0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, -0xFE, 0xCD, 0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, -0x26, 0x45, 0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, -0x66, 0x63, 0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, -0x2B, 0x0E, 0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, -0x00, 0x27, 0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, -0x00, 0x23, 0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, -0x19, 0x01, 0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, -0x0C, 0x10, 0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, -0x61, 0x07, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, -0x0E, 0x01, 0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, -0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, -0x21, 0x35, 0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, -0x86, 0x73, 0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, -0xDD, 0x62, 0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, -0xB7, 0x04, 0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, -0xE6, 0xE6, 0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, -0x03, 0x1F, 0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, -0x03, 0x5E, 0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, -0x11, 0x33, 0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, -0x07, 0x26, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, -0x5E, 0x5E, 0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, -0x24, 0x0F, 0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, -0x68, 0xFE, 0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, -0x05, 0x04, 0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, -0x00, 0x27, 0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, -0x00, 0x1D, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, -0x2B, 0x62, 0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, -0x16, 0x15, 0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, -0x1A, 0x59, 0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, -0x40, 0x0F, 0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, -0x0F, 0x05, 0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, -0x22, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, -0x33, 0x15, 0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, -0x14, 0x07, 0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, -0x06, 0x05, 0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, -0x0E, 0x18, 0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, -0x62, 0xFE, 0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, -0x66, 0x32, 0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, -0x02, 0x6D, 0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, -0x46, 0x32, 0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, -0x12, 0x62, 0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, -0x48, 0x32, 0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, -0xCE, 0xC2, 0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, -0x00, 0x6C, 0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, -0x00, 0x09, 0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, -0x6B, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, -0x03, 0xD3, 0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, -0x40, 0x13, 0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, -0x00, 0x67, 0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, -0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, -0x00, 0x19, 0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, -0x0F, 0x0F, 0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, -0x01, 0x15, 0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, -0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, -0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, -0x33, 0x15, 0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, -0x95, 0x95, 0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, -0x7B, 0x7B, 0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, -0xAA, 0xAA, 0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, -0x47, 0x02, 0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, -0x00, 0x22, 0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, -0x05, 0x2B, 0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, -0x05, 0x21, 0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, -0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, -0x06, 0x01, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, -0x06, 0x07, 0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, -0x27, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, -0x21, 0xF1, 0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, -0x78, 0xFE, 0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, -0xB4, 0x86, 0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, -0xFE, 0xE2, 0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, -0x76, 0xFD, 0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, -0x7B, 0xA2, 0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, -0xB5, 0x5A, 0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, -0x03, 0x44, 0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, -0x40, 0x14, 0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, -0x00, 0x2A, 0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, -0x14, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, -0x58, 0x31, 0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, -0x06, 0x21, 0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, -0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, -0x15, 0x13, 0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, -0x35, 0x11, 0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, -0x23, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, -0x36, 0x03, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, -0x21, 0x15, 0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, -0x07, 0x04, 0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, -0x4C, 0x1C, 0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, -0xEA, 0x03, 0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, -0xFD, 0x84, 0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, -0xE1, 0x58, 0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, -0x26, 0x0A, 0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, -0x94, 0xA8, 0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, -0x16, 0x0A, 0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, -0x00, 0x05, 0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, -0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, -0x00, 0x3C, 0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, -0x18, 0x69, 0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, -0x6C, 0x0E, 0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, -0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, -0x55, 0x29, 0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, -0x07, 0x0F, 0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, -0x37, 0x33, 0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, -0x33, 0x26, 0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, -0x07, 0x27, 0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, -0x37, 0x2B, 0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, -0x26, 0x27, 0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, -0xDD, 0xDD, 0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, -0x50, 0x81, 0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, -0x7B, 0x55, 0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, -0x58, 0x02, 0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, -0x63, 0x63, 0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, -0x14, 0x85, 0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, -0x2C, 0x5F, 0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, -0x5F, 0x2B, 0x33, 0xFE, 0xD5, 0x00, }; +0x71, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF3, 0xFF, 0x1F, +0x01, 0x07, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x18, +0xB7, 0x0E, 0x07, 0x06, 0x70, 0x0C, 0x04, 0x03, 0x0A, 0x2B, +0x00, 0xB7, 0x0F, 0x71, 0x0D, 0x00, 0x0B, 0x5A, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x07, 0x35, 0x32, 0x36, 0x35, 0x11, +0x33, 0x11, 0x14, 0x0E, 0x02, 0x13, 0x35, 0x33, 0x15, 0x0D, +0x6A, 0x3A, 0x70, 0x15, 0x40, 0x67, 0x4C, 0x70, 0xE1, 0x5A, +0x33, 0x5E, 0x02, 0x0A, 0xFD, 0xF6, 0x49, 0x57, 0x38, 0x13, +0x03, 0x70, 0x71, 0x71, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, +0x02, 0x1C, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x05, +0x01, 0x6B, 0x03, 0x01, 0x2B, 0x00, 0xB3, 0x00, 0x29, 0x06, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, +0x11, 0x33, 0x37, 0x33, 0x03, 0x13, 0x23, 0xBC, 0x02, 0x6B, +0x6B, 0x02, 0xE0, 0x80, 0xF6, 0xF6, 0x80, 0x01, 0x00, 0xFF, +0x00, 0x03, 0x00, 0xFE, 0x29, 0xEB, 0xFF, 0x00, 0xFE, 0xEC, +0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, +0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x70, 0x00, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, +0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x02, 0xE3, 0x02, 0x1F, 0x00, 0x22, +0x00, 0x26, 0x40, 0x11, 0x1A, 0x19, 0x69, 0x1D, 0x1C, 0x05, +0x09, 0x08, 0x6B, 0x0B, 0x01, 0x22, 0x00, 0x6A, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0A, 0x20, 0x1F, 0x06, +0x05, 0x52, 0x17, 0x16, 0x11, 0x10, 0x0F, 0x2B, 0x30, 0x31, +0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, +0x17, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, +0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xCD, 0x6A, 0x22, 0x30, +0x1D, 0x3F, 0x6B, 0x66, 0x02, 0x02, 0x3C, 0x4A, 0x2D, 0x38, +0x15, 0x02, 0x3D, 0x55, 0x54, 0x47, 0x69, 0x23, 0x2F, 0x1E, +0x3D, 0x01, 0x71, 0xFE, 0x8F, 0x01, 0x33, 0x5D, 0x3D, 0x3E, +0x1E, 0xFE, 0x8F, 0x02, 0x14, 0x3D, 0x48, 0x25, 0x2D, 0x52, +0x5B, 0x72, 0xFE, 0xAE, 0x01, 0x33, 0x5D, 0x3D, 0x3E, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, +0x6B, 0x0F, 0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, +0x2B, 0x00, 0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, +0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, +0xB2, 0x4A, 0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, +0x64, 0x02, 0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, +0x2E, 0x5C, 0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, +0x00, 0x08, 0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, +0x0B, 0x00, 0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0xB7, 0x05, 0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, +0x2B, 0x30, 0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, +0x26, 0x10, 0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, +0x85, 0x85, 0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, +0xD7, 0x48, 0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, +0xC2, 0x01, 0x85, 0x00, 0x00, 0x02, 0x00, 0x4A, 0xFF, 0x1F, +0x02, 0x2B, 0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, +0x40, 0x0D, 0x12, 0x0B, 0x0A, 0x00, 0x6B, 0x14, 0x03, 0x1D, +0x0C, 0x6C, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, +0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, 0x0F, 0x0E, 0x52, 0x03, +0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x14, 0x16, 0x33, +0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x06, 0x15, 0x05, 0x14, +0x06, 0x23, 0x22, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x17, +0x33, 0x3E, 0x01, 0x33, 0x32, 0x16, 0xB5, 0x4F, 0x36, 0x3E, +0x47, 0x85, 0x36, 0x4F, 0x01, 0x76, 0x7A, 0x5D, 0x5A, 0x43, +0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x61, 0x76, +0xBD, 0x2F, 0x46, 0x62, 0x60, 0xC3, 0x47, 0x2F, 0x4D, 0x7F, +0x95, 0x42, 0xFE, 0xE7, 0x02, 0xF5, 0x42, 0x2B, 0x22, 0x92, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0x1F, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x15, 0x6B, 0x17, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, 0x23, 0x11, 0x23, +0x06, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x47, +0x3E, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x32, 0x49, 0x27, +0x02, 0x02, 0x64, 0x6B, 0x02, 0x43, 0x5A, 0x5D, 0x7A, 0xBD, +0x9A, 0x2F, 0x47, 0xC3, 0x60, 0x62, 0x46, 0x7C, 0x83, 0x92, +0x22, 0x2B, 0x42, 0xFD, 0x0B, 0x01, 0x19, 0x42, 0x95, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, 0x02, 0x14, +0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, +0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, 0x01, 0xA6, +0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, 0x44, 0x15, +0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, 0x66, 0x2F, +0x37, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, +0x01, 0xCA, 0x02, 0x1F, 0x00, 0x1F, 0x00, 0x23, 0x40, 0x0C, +0x02, 0x01, 0x6C, 0x18, 0x17, 0x05, 0x08, 0x07, 0x6C, 0x12, +0x11, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x1F, 0x00, 0x52, +0x1B, 0x1A, 0x05, 0x0B, 0x0A, 0x52, 0x10, 0x0F, 0x05, 0x2B, +0x2B, 0x30, 0x31, 0x01, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1E, +0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, +0x32, 0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x01, 0x11, 0x6B, 0x29, 0x33, +0x76, 0x52, 0x6C, 0x66, 0x5E, 0x50, 0x50, 0x54, 0x70, 0x2D, +0x39, 0x69, 0x55, 0x68, 0x65, 0x58, 0x56, 0x55, 0x01, 0xCD, +0x3E, 0x1E, 0x27, 0x0D, 0x1B, 0x4D, 0x4B, 0x45, 0x4F, 0x1E, +0x58, 0x24, 0x42, 0x20, 0x28, 0x0F, 0x1A, 0x4F, 0x3B, 0x48, +0x52, 0x1A, 0x57, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xBF, 0x02, 0xC3, 0x00, 0x15, 0x00, 0x1D, +0xB7, 0x15, 0x04, 0x03, 0x6B, 0x13, 0x0F, 0x0E, 0x0A, 0x2B, +0x00, 0x40, 0x0C, 0x0C, 0x0B, 0x52, 0x07, 0x06, 0x05, 0x10, +0x02, 0x52, 0x12, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x15, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x01, 0x07, 0xB8, 0xB8, 0x21, 0x31, 0x2E, 0x29, 0x32, +0x39, 0x5F, 0x4A, 0x6C, 0x6C, 0x6B, 0x02, 0x00, 0x52, 0xF6, +0x45, 0x2B, 0x0D, 0x55, 0x0A, 0x50, 0x68, 0x01, 0x00, 0x52, +0xC3, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0xF6, 0x02, 0x02, +0x02, 0x14, 0x00, 0x13, 0x00, 0x1A, 0x40, 0x0B, 0x10, 0x6B, +0x0E, 0x0D, 0x04, 0x08, 0x07, 0x69, 0x05, 0x04, 0x05, 0x2B, +0x2B, 0x00, 0xB5, 0x02, 0x01, 0x52, 0x0B, 0x0A, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, +0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, +0x23, 0x27, 0x01, 0x9A, 0x4A, 0x5D, 0x5A, 0x54, 0x69, 0x2D, +0x36, 0x31, 0x55, 0x6B, 0x64, 0x02, 0x43, 0x4D, 0x63, 0x74, +0x01, 0x47, 0xFE, 0xC8, 0x55, 0x3F, 0x55, 0x30, 0x01, 0x47, +0xFD, 0xEC, 0x43, 0x00, 0x00, 0x01, 0x00, 0x21, 0x00, 0x00, +0x02, 0x17, 0x02, 0x14, 0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, +0x05, 0x3D, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, +0x13, 0x33, 0x03, 0x23, 0x03, 0x96, 0x87, 0x02, 0x87, 0x71, +0xB4, 0x8F, 0xB3, 0x02, 0x14, 0xFE, 0x29, 0x01, 0xD7, 0xFD, +0xEC, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x02, 0x02, 0x14, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x66, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x5C, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0xA0, 0x59, 0x02, 0x56, 0x8F, +0x56, 0x02, 0x59, 0x71, 0x8A, 0x8A, 0x56, 0x02, 0x57, 0x8A, +0x8A, 0x02, 0x14, 0xFE, 0x48, 0x01, 0xB8, 0xFE, 0x48, 0x01, +0xB8, 0xFD, 0xEC, 0x01, 0xAE, 0xFE, 0x52, 0x02, 0x14, 0x00, +0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x02, 0x07, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x03, 0x00, 0x30, 0x31, 0x25, 0x23, 0x07, +0x23, 0x13, 0x03, 0x33, 0x17, 0x33, 0x37, 0x33, 0x03, 0x13, +0x23, 0x01, 0x1B, 0x02, 0x75, 0x74, 0xAE, 0xA9, 0x78, 0x70, +0x02, 0x6F, 0x74, 0xA9, 0xAE, 0x78, 0xCD, 0xCD, 0x01, 0x0F, +0x01, 0x05, 0xC2, 0xC2, 0xFE, 0xFB, 0xFE, 0xF1, 0x00, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0x14, 0x02, 0x26, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x09, 0x00, 0xB3, 0x07, 0x54, 0x09, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x0E, +0x01, 0x23, 0x35, 0x32, 0x36, 0x37, 0x03, 0x99, 0x93, 0x02, +0x89, 0x6F, 0xC8, 0x34, 0x7C, 0x79, 0x55, 0x4B, 0x23, 0xD2, +0x02, 0x14, 0xFE, 0x67, 0x01, 0x99, 0xFD, 0xEC, 0x8B, 0x61, +0x54, 0x3A, 0x5E, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x01, 0xE3, 0x02, 0x14, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x06, 0x52, 0x04, 0x00, 0x0A, 0x51, +0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, +0x15, 0x21, 0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, +0x99, 0xFE, 0xE7, 0x01, 0x19, 0xFE, 0x67, 0x01, 0x19, 0xFE, +0xE7, 0x02, 0x14, 0x51, 0xFE, 0x91, 0x02, 0x52, 0x52, 0x01, +0x6F, 0x02, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0x61, 0x01, 0xBF, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x23, 0x22, +0x08, 0x07, 0x06, 0x05, 0x00, 0x67, 0x1A, 0x19, 0x18, 0x12, +0x11, 0x05, 0x10, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x20, 0x1F, +0x51, 0x1D, 0x1C, 0x05, 0x14, 0x13, 0x57, 0x17, 0x16, 0x05, +0x0E, 0x0D, 0x52, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x1D, 0x01, +0x14, 0x16, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x26, 0x3D, 0x01, +0x34, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x3D, 0x01, 0x34, 0x36, +0x3B, 0x01, 0x15, 0x23, 0x22, 0x06, 0x15, 0x01, 0x21, 0x2D, +0x35, 0x35, 0x2D, 0x27, 0x3A, 0x3D, 0x70, 0x4F, 0x46, 0x57, +0x29, 0x29, 0x57, 0x46, 0x4F, 0x70, 0x3D, 0x3A, 0x27, 0x01, +0xDC, 0x40, 0x4A, 0x17, 0x02, 0x16, 0x49, 0x40, 0x7B, 0x44, +0x28, 0x52, 0x4A, 0x55, 0x94, 0x7B, 0x57, 0x7B, 0x95, 0x55, +0x49, 0x51, 0x27, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, +0xFF, 0x1F, 0x00, 0xEE, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x09, +0xB3, 0x02, 0x67, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, +0x11, 0x33, 0x11, 0x87, 0x67, 0xE1, 0x04, 0x1E, 0xFB, 0xE2, +0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0xFF, 0x61, 0x01, 0xDE, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x13, 0x12, +0x11, 0x0B, 0x0A, 0x05, 0x09, 0x66, 0x23, 0x1D, 0x1C, 0x1B, +0x01, 0x05, 0x00, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x16, 0x15, +0x52, 0x19, 0x18, 0x05, 0x10, 0x0F, 0x57, 0x0D, 0x0C, 0x05, +0x04, 0x03, 0x51, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, +0x16, 0x1D, 0x01, 0x14, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x1D, +0x01, 0x14, 0x06, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x36, 0x3D, +0x01, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0xF8, 0x27, 0x3A, +0x3E, 0x71, 0x4F, 0x45, 0x57, 0x29, 0x29, 0x57, 0x45, 0x4F, +0x71, 0x3E, 0x3A, 0x27, 0x2D, 0x34, 0x34, 0x2D, 0x01, 0xDC, +0x7B, 0x45, 0x27, 0x51, 0x49, 0x55, 0x95, 0x7B, 0x57, 0x7B, +0x94, 0x55, 0x4A, 0x52, 0x28, 0x44, 0x7B, 0x40, 0x49, 0x16, +0x02, 0x17, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0xCD, 0x02, 0x9C, 0x01, 0x9A, 0x00, 0x13, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x03, 0x02, 0x59, 0x11, 0x10, 0x05, 0x07, +0x06, 0x59, 0x0D, 0x0C, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x17, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, +0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x02, +0x5C, 0x40, 0x47, 0x71, 0x50, 0x43, 0x32, 0x32, 0x23, 0x37, +0x1E, 0x40, 0x47, 0x71, 0x4F, 0x44, 0x32, 0x32, 0x23, 0x36, +0x01, 0x72, 0x34, 0x71, 0x42, 0x32, 0x22, 0x2A, 0x33, 0x72, +0x43, 0x31, 0x22, 0x00, 0x00, 0x02, 0x00, 0x89, 0x00, 0x02, +0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, 0x00, 0x09, +0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, 0x31, 0x01, +0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, 0x27, 0x26, +0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, 0x37, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, 0x46, 0xA6, +0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, 0x2D, 0x07, +0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, 0x3D, 0x0B, +0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, 0x46, 0xA6, +0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, 0x19, 0x15, +0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, 0x2F, 0x2B, +0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6C, +0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, 0x00, 0x0B, +0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, 0x17, 0x1E, +0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, 0x36, 0x37, +0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, 0x07, 0x06, +0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, 0x21, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, 0xFE, 0x5C, +0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, 0x0D, 0x26, +0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, 0x41, 0x17, +0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, 0x46, 0x26, +0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, 0x14, 0x1D, +0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, 0x6B, 0x57, +0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, 0xB4, 0x2D, +0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, 0x28, 0x14, +0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, 0x0E, 0x1C, +0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, 0x2E, 0x00, +0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, 0x03, 0x3E, +0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, 0x00, 0x1B, +0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, 0x00, 0x62, +0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, +0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, 0x36, 0x37, +0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, 0x13, 0x25, +0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, 0x37, 0x36, +0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, 0x07, 0x26, +0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, 0x06, 0x17, +0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, 0x26, 0x03, +0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, 0x31, 0xA9, +0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, 0x15, 0x07, +0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, 0xFE, 0x21, +0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, 0x62, 0x5D, +0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, 0x2F, 0x20, +0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, 0x22, 0x11, +0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, 0x71, 0x56, +0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, 0x34, 0x0F, +0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, 0x47, 0x32, +0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, 0x5F, 0x23, +0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, 0x01, 0x0F, +0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, 0x39, 0x11, +0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, 0x03, 0x8E, +0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x09, +0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, 0x01, 0x21, +0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, 0x37, 0x1E, +0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, 0x16, 0x30, +0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, 0x01, 0xC1, +0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, 0x24, 0x5E, +0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, 0x13, 0xB6, +0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, 0x5D, 0xFD, +0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, 0x30, 0x0C, +0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, 0xFF, 0xD5, +0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, 0x00, 0x36, +0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, 0x33, 0x23, +0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, 0x01, 0x00, +0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, 0x26, 0x22, +0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, 0x05, 0x21, +0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, 0x26, 0x27, +0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, 0x01, 0x35, +0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, 0x35, 0x21, +0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, 0x17, 0x14, +0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, 0x27, 0xDA, +0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, 0x09, 0x23, +0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, 0x1A, 0x4C, +0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, 0x08, 0xFE, +0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, 0x26, 0x1A, +0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, 0x19, 0x28, +0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, 0x18, 0x47, +0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, 0x1E, 0x17, +0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, 0x0D, 0x04, +0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, 0x26, 0x35, +0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, 0x11, 0x09, +0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, 0x03, 0x61, +0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, 0x61, 0x14, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, 0x17, 0x03, +0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, 0x02, 0x33, +0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, 0x27, 0x06, +0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, 0x06, 0x07, +0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, 0x05, 0x46, +0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, 0x1E, 0x2F, +0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, 0x3C, 0x3D, +0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, 0x19, 0x14, +0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, 0xFE, 0xCD, +0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, 0x26, 0x45, +0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, 0x66, 0x63, +0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, 0x2B, 0x0E, +0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, 0x00, 0x27, +0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, 0x00, 0x23, +0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, 0x19, 0x01, +0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x10, +0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, 0x61, 0x07, +0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, 0x0E, 0x01, +0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, 0x21, 0x15, +0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, +0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, 0x86, 0x73, +0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, 0xDD, 0x62, +0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, 0xB7, 0x04, +0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, 0xE6, 0xE6, +0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, 0x03, 0x1F, +0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, 0x03, 0x5E, +0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, 0x11, 0x33, +0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, 0x07, 0x26, +0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, 0x5E, 0x5E, +0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, 0x24, 0x0F, +0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, 0x68, 0xFE, +0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, 0x05, 0x04, +0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, 0x00, 0x27, +0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, 0x00, 0x1D, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, 0x2B, 0x62, +0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, 0x16, 0x15, +0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, 0x1A, 0x59, +0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0F, +0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, 0x0F, 0x05, +0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x13, +0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, +0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, +0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, 0x06, 0x05, +0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, 0x0E, 0x18, +0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, 0x62, 0xFE, +0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, 0x66, 0x32, +0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, 0x02, 0x6D, +0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, 0x46, 0x32, +0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, 0x12, 0x62, +0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, 0x48, 0x32, +0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, 0xCE, 0xC2, +0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, 0x00, 0x6C, +0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, 0x6B, 0x6B, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, 0x03, 0xD3, +0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, 0x40, 0x13, +0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, 0x00, 0x67, +0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, 0x05, 0x2B, +0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, 0x00, 0x19, +0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, 0x0F, 0x0F, +0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x15, +0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, +0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, +0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, 0x95, 0x95, +0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, 0x7B, 0x7B, +0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, 0xAA, 0xAA, +0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, 0x47, 0x02, +0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x26, +0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, 0x00, 0x22, +0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, 0x05, 0x21, +0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, 0x01, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, 0x06, 0x01, +0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, 0x06, 0x07, +0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, 0x27, 0x15, +0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xF1, +0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, 0x78, 0xFE, +0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, 0xB4, 0x86, +0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, 0xFE, 0xE2, +0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, 0x76, 0xFD, +0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, 0x7B, 0xA2, +0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, 0xB5, 0x5A, +0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, 0x03, 0x44, +0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, 0x40, 0x14, +0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, 0x00, 0x2A, +0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, 0x14, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, 0x58, 0x31, +0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, 0x06, 0x21, +0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, 0x00, 0x2B, +0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, 0x13, +0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, 0x35, 0x11, +0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, 0x23, 0x35, +0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, +0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, +0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, 0x07, 0x04, +0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, 0x4C, 0x1C, +0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, 0xEA, 0x03, +0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, 0xFD, 0x84, +0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, 0xE1, 0x58, +0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, 0x26, 0x0A, +0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, 0x94, 0xA8, +0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, 0x16, 0x0A, +0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, 0x00, 0x03, +0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, 0x00, 0x3C, +0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, 0x18, 0x69, +0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, 0x6C, 0x0E, +0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, 0x2B, 0x2B, +0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, 0x55, 0x29, +0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, 0x07, 0x0F, +0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, 0x37, 0x33, +0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, 0x33, 0x26, +0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, 0x07, 0x27, +0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, 0x37, 0x2B, +0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, 0x26, 0x27, +0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, 0xDD, 0xDD, +0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, 0x50, 0x81, +0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, 0x7B, 0x55, +0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, 0x58, 0x02, +0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, 0x63, 0x63, +0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, 0x14, 0x85, +0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, 0x2C, 0x5F, +0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, 0x5F, 0x2B, +0x33, 0xFE, 0xD5, 0x00, }; #endif \ No newline at end of file diff --git a/examples/WioTerminal/load_from_binary/load_from_binary.ino b/examples/WioTerminal/load_from_binary/load_from_binary.ino index 95a9df1..0f56278 100644 --- a/examples/WioTerminal/load_from_binary/load_from_binary.ino +++ b/examples/WioTerminal/load_from_binary/load_from_binary.ino @@ -10,13 +10,14 @@ void setup() // put your setup code here, to run once: Serial.begin(115200); Serial.flush(); - delay(50); - + delay(50); + tft.begin(); tft.setRotation(3); tft.fillScreen(TFT_BLACK); digitalWrite(LCD_BACKLIGHT, HIGH); // turn on the backlight + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -29,8 +30,9 @@ void setup() render.setDrawer(tft); // Set drawer object /* You can also be written as follows. */ // render.setDrawPixel(tft.drawPixel); - // render.setStartWrite(tft.startWrite); // optional - // render.setEndWrite(tft.endWrite); // optional + // render.setDrawFastHLine(tft.drawFastHLine); // optional + // render.setStartWrite(tft.startWrite); // optional + // render.setEndWrite(tft.endWrite); // optional unsigned long t_start = millis(); diff --git a/examples/WioTerminal/load_from_sd/load_from_sd.ino b/examples/WioTerminal/load_from_sd/load_from_sd.ino index 7be7521..5c9b978 100644 --- a/examples/WioTerminal/load_from_sd/load_from_sd.ino +++ b/examples/WioTerminal/load_from_sd/load_from_sd.ino @@ -9,8 +9,8 @@ void setup() // put your setup code here, to run once: Serial.begin(115200); Serial.flush(); - delay(50); - + delay(50); + if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)) { Serial.println("SD initialization failed!"); @@ -21,6 +21,7 @@ void setup() tft.fillScreen(TFT_BLACK); digitalWrite(LCD_BACKLIGHT, HIGH); // turn on the backlight + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -33,8 +34,9 @@ void setup() render.setDrawer(tft); // Set drawer object /* You can also be written as follows. */ // render.setDrawPixel(tft.drawPixel); - // render.setStartWrite(tft.startWrite); // optional - // render.setEndWrite(tft.endWrite); // optional + // render.setDrawFastHLine(tft.drawFastHLine); // optional + // render.setStartWrite(tft.startWrite); // optional + // render.setEndWrite(tft.endWrite); // optional unsigned long t_start = millis(); diff --git a/examples/WioTerminal/use_LovyanGFX/binaryttf.h b/examples/WioTerminal/use_LovyanGFX/binaryttf.h index 2417f5d..c7f6447 100644 --- a/examples/WioTerminal/use_LovyanGFX/binaryttf.h +++ b/examples/WioTerminal/use_LovyanGFX/binaryttf.h @@ -1,43 +1,43 @@ #ifndef _BINARYTTF_H_ #define _BINARYTTF_H_ -const unsigned char binaryttf[6456] = { +const unsigned char binaryttf[14344] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x4F, 0x53, 0x2F, 0x32, 0x83, 0xEC, 0xF9, 0xE8, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, -0x61, 0x70, 0x09, 0x9D, 0x21, 0xE0, 0x00, 0x00, 0x0B, 0xA8, -0x00, 0x00, 0x00, 0xD4, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, +0x61, 0x70, 0x0A, 0x07, 0x22, 0x62, 0x00, 0x00, 0x0B, 0xA8, +0x00, 0x00, 0x00, 0x94, 0x63, 0x76, 0x74, 0x20, 0x0F, 0xC0, 0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x02, 0x00, 0x66, 0x70, 0x67, 0x6D, 0x01, 0x52, 0x9C, 0x18, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x61, 0x73, 0x70, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x64, 0x00, 0x00, -0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0xE2, 0x8C, 0xD7, 0xF3, -0x00, 0x00, 0x0D, 0x58, 0x00, 0x00, 0x0B, 0xE0, 0x68, 0x65, -0x61, 0x64, 0x35, 0x18, 0x1A, 0xFF, 0x00, 0x00, 0x00, 0xEC, -0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x91, -0x03, 0x93, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, -0x68, 0x6D, 0x74, 0x78, 0x54, 0xAE, 0x09, 0x6A, 0x00, 0x00, -0x0C, 0xEC, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6F, 0x63, 0x61, -0x00, 0x00, 0x86, 0x7C, 0x00, 0x00, 0x0C, 0x7C, 0x00, 0x00, -0x00, 0x70, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x35, 0x00, 0x7C, +0x00, 0x0C, 0x67, 0x6C, 0x79, 0x66, 0x3C, 0x78, 0xF7, 0x7E, +0x00, 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x28, 0x58, 0x68, 0x65, +0x61, 0x64, 0x34, 0xE5, 0x1A, 0x67, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x07, 0x5F, +0x03, 0xD7, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, +0x68, 0x6D, 0x74, 0x78, 0x15, 0xB8, 0x1D, 0xCF, 0x00, 0x00, +0x0D, 0xF8, 0x00, 0x00, 0x01, 0xB8, 0x6C, 0x6F, 0x63, 0x61, +0x00, 0x07, 0xE5, 0xA0, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x00, +0x01, 0xBC, 0x6D, 0x61, 0x78, 0x70, 0x18, 0x88, 0x00, 0x83, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x76, 0x4B, 0x09, 0xC7, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x04, 0x84, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xA3, 0x00, 0x30, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x20, 0x70, 0x72, 0x65, 0x70, 0x0F, 0x25, 0x3E, 0xA5, 0x00, 0x00, 0x09, 0x24, 0x00, 0x00, 0x02, 0x82, 0x00, 0x01, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0xA4, 0x38, 0x58, 0x6D, 0x5F, 0x0F, +0x00, 0x01, 0x00, 0x00, 0x6D, 0x8D, 0x0F, 0xE7, 0x5F, 0x0F, 0x3C, 0xF5, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xE4, -0xD7, 0x12, 0x00, 0x26, 0xFF, 0xAC, 0x03, 0xF9, 0x03, 0x44, +0xD7, 0x12, 0xFF, 0xF3, 0xFF, 0x14, 0x03, 0xF9, 0x03, 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x70, 0xFF, 0x70, -0x00, 0x00, 0x04, 0x00, 0x00, 0x26, 0x00, 0x07, 0x03, 0xF9, +0x00, 0x00, 0x04, 0x00, 0xFF, 0xF3, 0xFF, 0xF8, 0x03, 0xF9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, -0x00, 0x00, 0x00, 0x1B, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x01, +0x00, 0x00, 0x00, 0x6E, 0x00, 0x42, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x18, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xA0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -301,43 +301,103 @@ const unsigned char binaryttf[6456] = { 0x45, 0x44, 0xB1, 0x7C, 0xFC, 0x45, 0x44, 0xB1, 0x7D, 0xFD, 0x45, 0x44, 0xB1, 0x7E, 0xFE, 0x45, 0x44, 0xB1, 0x7F, 0xFF, 0x45, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, -0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0xC8, -0x00, 0x00, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0E, -0x00, 0x20, 0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x65, -0x00, 0x69, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x72, 0x30, 0x53, -0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, -0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, -0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, -0x00, 0x48, 0x00, 0x55, 0x00, 0x57, 0x00, 0x63, 0x00, 0x69, -0x00, 0x6C, 0x00, 0x6E, 0x00, 0x72, 0x30, 0x53, 0x30, 0x61, -0x30, 0x6A, 0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, -0x30, 0xDD, 0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, -0x75, 0x4C, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xBA, 0xFF, 0xAE, -0xFF, 0xAD, 0xFF, 0xA2, 0xFF, 0x9F, 0xFF, 0x9D, 0xFF, 0x9C, -0xFF, 0x9A, 0xCF, 0xBA, 0xCF, 0xAD, 0xCF, 0xA5, 0xCF, 0xA2, -0xCF, 0x7F, 0xCF, 0x5E, 0xCF, 0x4C, 0xCF, 0x38, 0xCF, 0x1A, -0xB2, 0x01, 0xAE, 0xB0, 0xA4, 0x8D, 0x8A, 0xCE, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x88, +0x00, 0x00, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x03, 0x00, 0x0E, +0x00, 0x7E, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6B, 0x30, 0x6F, +0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, 0x30, 0xFC, +0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, 0xFF, 0xFF, +0x00, 0x00, 0x00, 0x20, 0x30, 0x53, 0x30, 0x61, 0x30, 0x6A, +0x30, 0x6F, 0x30, 0x93, 0x30, 0xB5, 0x30, 0xC8, 0x30, 0xDD, +0x30, 0xFC, 0x4E, 0x16, 0x51, 0x68, 0x5B, 0x8C, 0x75, 0x4C, +0xFF, 0xFF, 0xFF, 0xE1, 0xD0, 0x0D, 0xD0, 0x00, 0xCF, 0xF8, +0xCF, 0xF5, 0xCF, 0xD2, 0xCF, 0xB1, 0xCF, 0x9F, 0xCF, 0x8B, +0xCF, 0x6D, 0xB2, 0x54, 0xAF, 0x03, 0xA4, 0xE0, 0x8B, 0x21, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, -0x00, 0x64, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x01, 0x08, -0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x01, 0xE8, 0x00, 0x00, -0x02, 0x50, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x02, 0xAC, -0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, -0x03, 0x98, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0xAC, -0x00, 0x00, 0x05, 0x94, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, -0x06, 0xD4, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00, 0x07, 0xD8, -0x00, 0x00, 0x08, 0x2C, 0x00, 0x00, 0x08, 0xF4, 0x00, 0x00, -0x09, 0x18, 0x00, 0x00, 0x09, 0xA8, 0x00, 0x00, 0x0A, 0x38, -0x00, 0x00, 0x0B, 0x08, 0x00, 0x00, 0x0B, 0xE0, 0x04, 0x00, -0x01, 0x92, 0x01, 0x1C, 0x00, 0x00, 0x02, 0xC7, 0x00, 0x54, -0x02, 0xA8, 0x00, 0x4A, 0x03, 0x89, 0x00, 0x2B, 0x01, 0xFA, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, +0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, +0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0x88, +0x00, 0x00, 0x02, 0x28, 0x00, 0x00, 0x02, 0xE0, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x03, 0x70, +0x00, 0x00, 0x03, 0xB8, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, +0x04, 0x10, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x04, 0x50, +0x00, 0x00, 0x04, 0x74, 0x00, 0x00, 0x04, 0xD4, 0x00, 0x00, +0x05, 0x08, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00, 0x05, 0xEC, +0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x06, 0xB0, 0x00, 0x00, +0x07, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x08, 0x34, +0x00, 0x00, 0x08, 0xC8, 0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, +0x09, 0x18, 0x00, 0x00, 0x09, 0x4C, 0x00, 0x00, 0x09, 0x80, +0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x0A, 0x34, 0x00, 0x00, +0x0B, 0x2C, 0x00, 0x00, 0x0B, 0x70, 0x00, 0x00, 0x0C, 0x08, +0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x0C, 0xC8, 0x00, 0x00, +0x0D, 0x14, 0x00, 0x00, 0x0D, 0x54, 0x00, 0x00, 0x0D, 0xCC, +0x00, 0x00, 0x0E, 0x14, 0x00, 0x00, 0x0E, 0x38, 0x00, 0x00, +0x0E, 0x7C, 0x00, 0x00, 0x0E, 0xC8, 0x00, 0x00, 0x0E, 0xF8, +0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x0F, 0x84, 0x00, 0x00, +0x0F, 0xE4, 0x00, 0x00, 0x10, 0x44, 0x00, 0x00, 0x10, 0xC0, +0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x11, 0xC8, 0x00, 0x00, +0x11, 0xFC, 0x00, 0x00, 0x12, 0x4C, 0x00, 0x00, 0x12, 0x80, +0x00, 0x00, 0x12, 0xD4, 0x00, 0x00, 0x13, 0x14, 0x00, 0x00, +0x13, 0x4C, 0x00, 0x00, 0x13, 0x8C, 0x00, 0x00, 0x13, 0xC4, +0x00, 0x00, 0x13, 0xE4, 0x00, 0x00, 0x14, 0x1C, 0x00, 0x00, +0x14, 0x48, 0x00, 0x00, 0x14, 0x6C, 0x00, 0x00, 0x14, 0x8C, +0x00, 0x00, 0x15, 0x24, 0x00, 0x00, 0x15, 0xA4, 0x00, 0x00, +0x16, 0x04, 0x00, 0x00, 0x16, 0x84, 0x00, 0x00, 0x16, 0xEC, +0x00, 0x00, 0x17, 0x4C, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00, +0x18, 0x80, 0x00, 0x00, 0x18, 0xB8, 0x00, 0x00, 0x19, 0x08, +0x00, 0x00, 0x19, 0x4C, 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, +0x1A, 0x00, 0x00, 0x00, 0x1A, 0x58, 0x00, 0x00, 0x1A, 0xAC, +0x00, 0x00, 0x1B, 0x2C, 0x00, 0x00, 0x1B, 0xAC, 0x00, 0x00, +0x1B, 0xEC, 0x00, 0x00, 0x1C, 0x70, 0x00, 0x00, 0x1C, 0xD0, +0x00, 0x00, 0x1D, 0x2C, 0x00, 0x00, 0x1D, 0x60, 0x00, 0x00, +0x1D, 0xB4, 0x00, 0x00, 0x1D, 0xF0, 0x00, 0x00, 0x1E, 0x34, +0x00, 0x00, 0x1E, 0x74, 0x00, 0x00, 0x1F, 0x04, 0x00, 0x00, +0x1F, 0x28, 0x00, 0x00, 0x1F, 0xB8, 0x00, 0x00, 0x20, 0x10, +0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x21, 0x24, 0x00, 0x00, +0x22, 0x0C, 0x00, 0x00, 0x22, 0x7C, 0x00, 0x00, 0x23, 0x4C, +0x00, 0x00, 0x23, 0xDC, 0x00, 0x00, 0x24, 0x50, 0x00, 0x00, +0x24, 0xA4, 0x00, 0x00, 0x25, 0x6C, 0x00, 0x00, 0x25, 0x90, +0x00, 0x00, 0x26, 0x20, 0x00, 0x00, 0x26, 0xB0, 0x00, 0x00, +0x27, 0x80, 0x00, 0x00, 0x28, 0x58, 0x04, 0x00, 0x01, 0x92, +0x01, 0x1C, 0x00, 0x00, 0x01, 0x6A, 0x00, 0x73, 0x01, 0xBC, +0x00, 0x45, 0x02, 0xBC, 0x00, 0x30, 0x02, 0x56, 0x00, 0x35, +0x03, 0x60, 0x00, 0x26, 0x02, 0xF0, 0x00, 0x35, 0x01, 0x0E, +0x00, 0x4A, 0x01, 0xA3, 0x00, 0x45, 0x01, 0xA3, 0x00, 0x2B, +0x02, 0x17, 0x00, 0x30, 0x02, 0xF0, 0x00, 0x4F, 0x01, 0x56, +0x00, 0x3A, 0x01, 0xE5, 0x00, 0x4F, 0x01, 0x42, 0x00, 0x5E, +0x02, 0x1E, 0x00, 0x21, 0x02, 0x85, 0x00, 0x2E, 0x02, 0x85, +0x00, 0x71, 0x02, 0x85, 0x00, 0x57, 0x02, 0x85, 0x00, 0x57, +0x02, 0x85, 0x00, 0x0F, 0x02, 0x85, 0x00, 0x61, 0x02, 0x85, +0x00, 0x38, 0x02, 0x85, 0x00, 0x52, 0x02, 0x85, 0x00, 0x2E, +0x02, 0x85, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x87, 0x01, 0xA8, +0x00, 0x4F, 0x02, 0xB2, 0x00, 0x3F, 0x03, 0x04, 0x00, 0x59, +0x02, 0xB2, 0x00, 0x5E, 0x02, 0x7F, 0x00, 0x54, 0x03, 0x4C, +0x00, 0x26, 0x02, 0xB2, 0x00, 0x1C, 0x02, 0x70, 0x00, 0x54, +0x02, 0x7F, 0x00, 0x26, 0x02, 0xAD, 0x00, 0x54, 0x02, 0x60, +0x00, 0x54, 0x02, 0x51, 0x00, 0x54, 0x02, 0xC7, 0x00, 0x26, +0x02, 0xC7, 0x00, 0x54, 0x01, 0x56, 0x00, 0x6E, 0x02, 0x28, +0x00, 0x26, 0x02, 0x89, 0x00, 0x54, 0x02, 0x5B, 0x00, 0x54, +0x03, 0x37, 0x00, 0x2B, 0x02, 0xC7, 0x00, 0x54, 0x02, 0xE5, +0x00, 0x26, 0x02, 0x75, 0x00, 0x54, 0x03, 0x04, 0x00, 0x26, +0x02, 0x89, 0x00, 0x54, 0x02, 0x42, 0x00, 0x3A, 0x02, 0x89, +0x00, 0x3A, 0x02, 0xA8, 0x00, 0x4A, 0x02, 0xB2, 0x00, 0x1C, +0x03, 0x89, 0x00, 0x2B, 0x02, 0xA8, 0x00, 0x35, 0x02, 0xA8, +0x00, 0x1C, 0x02, 0x7F, 0x00, 0x4A, 0x01, 0xF0, 0x00, 0x73, +0x02, 0x1E, 0x00, 0x30, 0x01, 0xF0, 0x00, 0x54, 0x02, 0x9E, +0x00, 0x26, 0x02, 0x4E, 0xFF, 0xFE, 0x01, 0x32, 0x00, 0x0C, +0x02, 0x2D, 0x00, 0x30, 0x02, 0x5B, 0x00, 0x4F, 0x01, 0xFA, 0x00, 0x26, 0x02, 0x5B, 0x00, 0x2B, 0x02, 0x1E, 0x00, 0x26, -0x01, 0x4C, 0x00, 0x6E, 0x01, 0x4C, 0x00, 0x6E, 0x02, 0x51, -0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, 0x01, 0xDB, 0x00, 0x4A, +0x02, 0x09, 0x00, 0x35, 0x02, 0x1E, 0x00, 0x1C, 0x02, 0x56, +0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x01, 0x75, 0xFF, 0xF3, +0x02, 0x47, 0x00, 0x4F, 0x01, 0x4C, 0x00, 0x6E, 0x03, 0x28, +0x00, 0x4A, 0x02, 0x51, 0x00, 0x4A, 0x02, 0x42, 0x00, 0x26, +0x02, 0x56, 0x00, 0x4A, 0x02, 0x56, 0x00, 0x2B, 0x01, 0xDB, +0x00, 0x4A, 0x02, 0x04, 0x00, 0x3A, 0x02, 0x09, 0x00, 0x30, +0x02, 0x4C, 0x00, 0x45, 0x02, 0x37, 0x00, 0x21, 0x03, 0x2D, +0x00, 0x2B, 0x02, 0x37, 0x00, 0x30, 0x02, 0x47, 0x00, 0x26, +0x02, 0x2D, 0x00, 0x4A, 0x02, 0x19, 0x00, 0x3A, 0x01, 0x75, +0x00, 0x87, 0x02, 0x19, 0x00, 0x59, 0x02, 0xD1, 0x00, 0x35, 0x03, 0xC0, 0x00, 0x89, 0x04, 0x00, 0x00, 0x6C, 0x04, 0x00, 0x00, 0x6F, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x78, 0x03, 0xD2, 0x00, 0x74, 0x04, 0x00, 0x00, 0x27, 0x03, 0x8F, @@ -346,307 +406,1036 @@ const unsigned char binaryttf[6456] = { 0x00, 0x3D, 0x04, 0x00, 0x00, 0x26, 0x00, 0x01, 0x01, 0x92, 0x01, 0x02, 0x02, 0x6E, 0x01, 0xDE, 0x00, 0x03, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, 0x01, 0x92, 0x00, 0xDC, 0x01, 0x02, -0x00, 0xDC, 0xFF, 0x24, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, -0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x17, 0x40, 0x0A, -0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, 0x71, 0x06, 0x02, 0x04, -0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, -0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, 0x71, 0x71, 0xFE, 0xC3, -0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, 0x32, 0xFD, 0x14, 0x01, -0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x4A, -0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x19, -0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, 0x07, 0x05, 0x03, 0x02, -0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, 0x00, 0xB3, 0x0C, 0x5E, -0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x14, -0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x20, 0x4A, -0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, 0xEC, 0x01, 0x05, 0x01, -0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, 0x5A, 0x01, 0xEC, 0xFE, -0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, -0x00, 0x00, 0x03, 0x5E, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, -0x00, 0x40, 0x0C, 0x0B, 0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, -0x09, 0x7B, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, -0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, -0x03, 0x23, 0x03, 0x23, 0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, -0x70, 0x02, 0x70, 0x6E, 0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, -0x9F, 0x02, 0xEC, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, -0x71, 0xFD, 0x14, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, -0x00, 0x01, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, -0x00, 0x15, 0x00, 0x1B, 0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, -0x05, 0x2B, 0x00, 0x40, 0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, -0x05, 0x08, 0x07, 0x54, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, -0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, -0x23, 0x22, 0x26, 0x26, 0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, -0x47, 0x46, 0x4A, 0x4D, 0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, -0x01, 0x0A, 0x86, 0x8F, 0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, -0x5A, 0x1C, 0x5C, 0x14, 0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, -0xFF, 0xF6, 0x02, 0x0C, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, -0x00, 0x24, 0x40, 0x0D, 0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, -0x14, 0x6B, 0x12, 0x0B, 0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, -0x40, 0x0C, 0x04, 0x03, 0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, -0x52, 0x09, 0x08, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, -0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, -0x25, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x11, 0x33, 0x11, -0x23, 0x27, 0x23, 0x0E, 0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, -0x4F, 0x36, 0x85, 0x46, 0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, -0x61, 0x5A, 0x43, 0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, -0x32, 0x5D, 0x7A, 0xBD, 0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, -0x47, 0x7B, 0x83, 0x92, 0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, -0x2B, 0x22, 0x95, 0x00, 0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, -0x01, 0xF3, 0x02, 0x1F, 0x00, 0x05, 0x00, 0x17, 0x00, 0x18, -0x00, 0x40, 0x10, 0x03, 0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, -0x0C, 0x50, 0x08, 0x07, 0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, -0x2B, 0x2B, 0x30, 0x31, 0x13, 0x33, 0x26, 0x23, 0x22, 0x06, -0x07, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, -0x10, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, -0x03, 0x6F, 0x3D, 0x41, 0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, -0x4A, 0x80, 0x8A, 0x7C, 0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, -0x94, 0x46, 0x9D, 0xA6, 0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, -0x8C, 0x84, 0x8C, 0x0E, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0xDC, 0xFF, 0x24, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, +0x00, 0xF8, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x07, 0x00, 0x09, +0xB3, 0x06, 0x7B, 0x04, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x07, 0x35, 0x33, 0x15, 0x73, 0x85, 0x10, +0x66, 0x0A, 0x7B, 0x02, 0xEC, 0xFD, 0xEB, 0xD7, 0x85, 0x85, +0x00, 0x00, 0x00, 0x02, 0x00, 0x45, 0x02, 0x0A, 0x01, 0x78, +0x03, 0x14, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, 0x00, 0x30, +0x31, 0x13, 0x33, 0x03, 0x23, 0x13, 0x33, 0x03, 0x23, 0x45, +0x70, 0x0F, 0x52, 0xB3, 0x71, 0x10, 0x51, 0x03, 0x14, 0xFE, +0xF6, 0x01, 0x0A, 0xFE, 0xF6, 0x00, 0x00, 0x02, 0x00, 0x30, +0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, 0x00, 0x1B, 0x00, 0x1F, +0x00, 0x17, 0x00, 0x40, 0x10, 0x1C, 0x0F, 0x03, 0x58, 0x0D, +0x09, 0x05, 0x0A, 0x1B, 0x17, 0x13, 0x58, 0x1E, 0x11, 0x01, +0x0A, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x35, 0x33, 0x37, 0x23, +0x35, 0x33, 0x37, 0x33, 0x07, 0x33, 0x37, 0x33, 0x07, 0x33, +0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x07, 0x23, 0x37, 0x23, +0x07, 0x23, 0x37, 0x01, 0x23, 0x07, 0x33, 0x30, 0x78, 0x28, +0x6D, 0x7D, 0x1D, 0x66, 0x1C, 0x7B, 0x1C, 0x67, 0x1D, 0x64, +0x74, 0x28, 0x69, 0x79, 0x21, 0x66, 0x21, 0x7B, 0x21, 0x66, +0x21, 0x01, 0x18, 0x7B, 0x28, 0x7B, 0xB8, 0x58, 0xE0, 0x58, +0xA4, 0xA4, 0xA4, 0xA4, 0x58, 0xE0, 0x58, 0xB8, 0xB8, 0xB8, +0xB8, 0x01, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x35, +0xFF, 0xA9, 0x02, 0x21, 0x03, 0x43, 0x00, 0x1C, 0x00, 0x22, +0x00, 0x27, 0x00, 0x1D, 0x40, 0x15, 0x19, 0x6C, 0x1F, 0x1E, +0x04, 0x25, 0x24, 0x6A, 0x0B, 0x0A, 0x05, 0x22, 0x1C, 0x16, +0x10, 0x56, 0x27, 0x0E, 0x07, 0x01, 0x0F, 0x2B, 0x2B, 0x2B, +0x00, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x35, 0x16, +0x17, 0x35, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, +0x15, 0x16, 0x17, 0x15, 0x26, 0x27, 0x15, 0x1E, 0x01, 0x14, +0x06, 0x07, 0x35, 0x36, 0x35, 0x34, 0x26, 0x27, 0x03, 0x06, +0x15, 0x14, 0x17, 0x01, 0x56, 0x56, 0x64, 0x57, 0x57, 0x64, +0x6A, 0x61, 0x67, 0x64, 0x56, 0x5A, 0x57, 0x4F, 0x62, 0x71, +0x5A, 0x68, 0x63, 0x5F, 0x29, 0x36, 0x56, 0x61, 0x61, 0x57, +0x67, 0x06, 0x22, 0x67, 0x2E, 0x07, 0xF2, 0x21, 0x64, 0x48, +0x4C, 0x5D, 0x08, 0x69, 0x68, 0x04, 0x1A, 0x62, 0x1E, 0x07, +0xDA, 0x22, 0x60, 0xA4, 0x63, 0x0B, 0x5C, 0x11, 0x53, 0x2A, +0x33, 0x14, 0x01, 0x3D, 0x0B, 0x4C, 0x48, 0x23, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xF6, 0x03, 0x3A, 0x02, 0xF6, 0x00, 0x03, +0x00, 0x0C, 0x00, 0x15, 0x00, 0x1A, 0x00, 0x1F, 0x00, 0x31, +0x40, 0x12, 0x10, 0x6B, 0x1D, 0x00, 0x07, 0x6B, 0x18, 0x00, +0x1F, 0x1B, 0x6B, 0x14, 0x01, 0x1A, 0x16, 0x6B, 0x0B, 0x01, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x12, 0x52, 0x1C, +0x00, 0x09, 0x52, 0x17, 0x00, 0x1E, 0x52, 0x0E, 0x00, 0x19, +0x52, 0x05, 0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x01, 0x23, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, +0x26, 0x34, 0x01, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, +0x34, 0x01, 0x14, 0x32, 0x34, 0x22, 0x25, 0x14, 0x32, 0x34, +0x22, 0x02, 0x3F, 0x71, 0xFE, 0x71, 0x71, 0x01, 0x53, 0x2F, +0xAA, 0x5E, 0x5E, 0xAA, 0x5E, 0xFE, 0x81, 0x2F, 0xAA, 0x5E, +0x5E, 0xAA, 0x5E, 0x02, 0x19, 0x90, 0x90, 0xFE, 0x52, 0x90, +0x90, 0x02, 0xEC, 0xFD, 0x14, 0x01, 0x52, 0x33, 0x67, 0xC1, +0x67, 0x67, 0xC1, 0x01, 0xA5, 0x33, 0x68, 0xC0, 0x68, 0x68, +0xC0, 0xFE, 0x2F, 0x75, 0xEB, 0xFB, 0x76, 0xEC, 0x00, 0x03, +0x00, 0x35, 0xFF, 0xF6, 0x02, 0xEE, 0x02, 0xF6, 0x00, 0x1B, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x2A, 0x40, 0x12, 0x03, 0x02, +0x69, 0x1F, 0x1E, 0x05, 0x24, 0x23, 0x6E, 0x19, 0x18, 0x05, +0x2B, 0x2A, 0x71, 0x13, 0x12, 0x05, 0x2B, 0x2B, 0x2B, 0x00, +0x40, 0x0C, 0x11, 0x10, 0x58, 0x2D, 0x2C, 0x05, 0x21, 0x20, +0x56, 0x1B, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, +0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x36, 0x37, 0x33, 0x06, +0x07, 0x17, 0x23, 0x27, 0x06, 0x23, 0x22, 0x35, 0x34, 0x36, +0x37, 0x27, 0x26, 0x35, 0x34, 0x36, 0x13, 0x3E, 0x01, 0x35, +0x34, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x27, 0x0E, +0x01, 0x15, 0x14, 0x33, 0x32, 0x01, 0x4A, 0x67, 0x6B, 0x49, +0x5A, 0x9A, 0x21, 0x0B, 0x6C, 0x12, 0x3E, 0x93, 0x86, 0x4C, +0x66, 0x8B, 0xF6, 0x4D, 0x60, 0x0A, 0x65, 0x70, 0x55, 0x4C, +0x2F, 0x69, 0x32, 0x37, 0x1E, 0xDB, 0xB7, 0x46, 0x37, 0x8A, +0x66, 0x02, 0xF6, 0x54, 0x4B, 0x37, 0x63, 0x3B, 0xA0, 0x43, +0x56, 0x86, 0x5C, 0x99, 0x4F, 0x59, 0xB8, 0x37, 0x69, 0x40, +0x0B, 0x66, 0x53, 0x4B, 0x59, 0xFE, 0xD0, 0x32, 0x38, 0x22, +0x4E, 0x2A, 0x24, 0x1F, 0x32, 0xFE, 0x90, 0xBB, 0x2E, 0x48, +0x23, 0x65, 0x00, 0x01, 0x00, 0x4A, 0x02, 0x0A, 0x00, 0xC5, +0x03, 0x14, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x13, +0x33, 0x03, 0x23, 0x4A, 0x7B, 0x10, 0x5C, 0x03, 0x14, 0xFE, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0x61, +0x01, 0x78, 0x03, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x0A, +0x00, 0x6B, 0x05, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x13, 0x10, +0x17, 0x23, 0x2E, 0x01, 0x10, 0x36, 0x37, 0x33, 0x06, 0xB0, +0xC8, 0x67, 0x62, 0x6A, 0x6A, 0x62, 0x67, 0xC8, 0x01, 0x3B, +0xFE, 0xE8, 0xC2, 0x5A, 0xF6, 0x01, 0x15, 0xF4, 0x5A, 0xC1, +0x00, 0x01, 0x00, 0x2B, 0xFF, 0x61, 0x01, 0x5E, 0x03, 0x14, +0x00, 0x0A, 0x00, 0x0A, 0xB4, 0x03, 0x6B, 0x09, 0x08, 0x04, +0x2B, 0x00, 0x30, 0x31, 0x13, 0x33, 0x1E, 0x01, 0x10, 0x06, +0x07, 0x23, 0x36, 0x11, 0x10, 0x2B, 0x66, 0x63, 0x6A, 0x6A, +0x63, 0x66, 0xC8, 0x03, 0x14, 0x5A, 0xF4, 0xFE, 0xEB, 0xF6, +0x5A, 0xC2, 0x01, 0x18, 0x01, 0x18, 0x00, 0x01, 0x00, 0x30, +0x01, 0x4E, 0x01, 0xE6, 0x03, 0x14, 0x00, 0x11, 0x00, 0x03, +0x00, 0x30, 0x31, 0x01, 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, +0x27, 0x17, 0x23, 0x37, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, +0x27, 0x01, 0x37, 0x07, 0x8A, 0x2C, 0x91, 0x91, 0x2C, 0x8A, +0x07, 0x58, 0x07, 0x8A, 0x2C, 0x92, 0x92, 0x2C, 0x8A, 0x07, +0x03, 0x14, 0xA3, 0x58, 0x4C, 0x4C, 0x4C, 0x4B, 0x58, 0xA4, +0xA4, 0x58, 0x4B, 0x4C, 0x4C, 0x4C, 0x58, 0xA3, 0x00, 0x01, +0x00, 0x4F, 0x00, 0x00, 0x02, 0xA1, 0x02, 0x52, 0x00, 0x0B, +0x00, 0x13, 0xB5, 0x04, 0x00, 0x5C, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0xB5, 0x07, 0x03, 0x56, 0x09, 0x01, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, +0x35, 0x33, 0x35, 0x01, 0xA6, 0xFB, 0xFB, 0x5C, 0xFB, 0xFB, +0x02, 0x52, 0xFE, 0x56, 0xFE, 0xFE, 0x56, 0xFE, 0x00, 0x01, +0x00, 0x3A, 0xFF, 0x8F, 0x01, 0x11, 0x00, 0x9A, 0x00, 0x03, +0x00, 0x03, 0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x82, +0x8F, 0x70, 0x67, 0x9A, 0xFE, 0xF5, 0x00, 0x01, 0x00, 0x4F, +0x00, 0xFE, 0x01, 0x97, 0x01, 0x54, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x56, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x21, 0x15, 0x4F, 0x01, 0x48, 0xFE, 0x56, 0x56, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x00, 0x00, 0xE3, +0x00, 0x9A, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x33, +0x35, 0x33, 0x15, 0x5E, 0x85, 0x9A, 0x9A, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x21, 0xFF, 0xD7, 0x01, 0xEE, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x31, 0x09, 0x01, 0x23, +0x01, 0x01, 0xEE, 0xFE, 0x9E, 0x6B, 0x01, 0x61, 0x02, 0xEC, +0xFC, 0xEB, 0x03, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x08, 0x00, 0x11, +0x00, 0x19, 0xB7, 0x03, 0x71, 0x0C, 0x00, 0x10, 0x71, 0x07, +0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5A, 0x0A, 0x00, 0x0E, +0x5A, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x36, 0x20, +0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, 0x32, 0x36, +0x10, 0x26, 0x22, 0x06, 0x10, 0x74, 0x44, 0x01, 0x15, 0x8A, +0x8A, 0xFE, 0xEB, 0x8A, 0x9A, 0x28, 0xA6, 0x50, 0x50, 0xA6, +0x51, 0x02, 0x9B, 0x5B, 0xB7, 0xFE, 0x6D, 0xB6, 0xB6, 0x01, +0x93, 0xFE, 0x54, 0x43, 0x86, 0x01, 0x40, 0x86, 0x86, 0xFE, +0xC0, 0x00, 0x00, 0x01, 0x00, 0x71, 0x00, 0x00, 0x01, 0xAE, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0xB3, 0x01, 0x71, 0x03, +0x00, 0x2B, 0x00, 0xB3, 0x04, 0x7B, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x07, 0x35, 0x01, +0x3D, 0x71, 0x71, 0x02, 0xCA, 0x02, 0xEC, 0xFD, 0x14, 0x02, +0x71, 0xA4, 0x7B, 0x00, 0x00, 0x01, 0x00, 0x57, 0x00, 0x00, +0x02, 0x2E, 0x02, 0xF6, 0x00, 0x14, 0x00, 0x1A, 0xB6, 0x12, +0x11, 0x02, 0x75, 0x08, 0x07, 0x06, 0x2B, 0x00, 0x40, 0x0A, +0x0A, 0x09, 0x5E, 0x0F, 0x0E, 0x05, 0x03, 0x5C, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x37, 0x15, 0x21, 0x15, 0x21, 0x35, +0x3E, 0x01, 0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0xF1, 0x01, 0x3D, 0xFE, 0x29, +0xD1, 0x91, 0x8B, 0x5C, 0x6C, 0x63, 0x74, 0x73, 0x7E, 0x82, +0x5E, 0x02, 0x5C, 0x5C, 0xA6, 0xBB, 0x57, 0x84, 0x3C, 0x6C, +0x2E, 0x72, 0x65, 0x67, 0xBE, 0x00, 0x00, 0x01, 0x00, 0x57, +0xFF, 0xF6, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x21, 0x00, 0x2A, +0x40, 0x0C, 0x1A, 0x19, 0x6E, 0x10, 0x0F, 0x05, 0x1F, 0x1E, +0x70, 0x08, 0x07, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x12, +0x11, 0x5C, 0x17, 0x16, 0x05, 0x0B, 0x0A, 0x5C, 0x0E, 0x0D, +0x05, 0x21, 0x00, 0x5C, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x35, 0x34, +0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, +0x07, 0x15, 0x16, 0x15, 0x14, 0x06, 0x01, 0x31, 0x79, 0x61, +0x67, 0x6D, 0x50, 0x54, 0x66, 0x75, 0x33, 0x33, 0xCF, 0x8E, +0x6F, 0x65, 0x62, 0x83, 0x6E, 0x7D, 0xA0, 0xAE, 0x8E, 0x0A, +0x2E, 0x64, 0x36, 0x48, 0x42, 0x41, 0x3F, 0x5C, 0x7B, 0x67, +0x37, 0x65, 0x2E, 0x5E, 0x50, 0x8F, 0x29, 0x02, 0x1A, 0x9D, +0x6A, 0x77, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x4D, +0x02, 0xEC, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x19, 0x40, 0x0A, +0x03, 0x71, 0x0C, 0x00, 0x0F, 0x08, 0x6F, 0x0A, 0x00, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x0B, 0x07, 0x5A, 0x05, 0x04, 0x05, +0x2B, 0x30, 0x31, 0x25, 0x11, 0x23, 0x03, 0x15, 0x21, 0x33, +0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x01, +0x66, 0x02, 0xE4, 0x01, 0x55, 0x78, 0x78, 0x6F, 0xFE, 0xA9, +0x01, 0x57, 0x6F, 0xFE, 0x01, 0x4B, 0xFE, 0xB7, 0x02, 0x5A, +0xA4, 0xA4, 0x5A, 0x01, 0xEE, 0x00, 0x00, 0x01, 0x00, 0x61, +0xFF, 0xF6, 0x02, 0x38, 0x02, 0xEC, 0x00, 0x19, 0x00, 0x20, +0xB5, 0x03, 0x02, 0x70, 0x0D, 0x0C, 0x05, 0x2B, 0x00, 0x40, +0x10, 0x15, 0x5D, 0x13, 0x00, 0x06, 0x05, 0x5C, 0x0B, 0x0A, +0x05, 0x0F, 0x0E, 0x58, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, +0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x07, +0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x33, 0x36, 0x01, 0x57, +0x6B, 0x76, 0x91, 0x8D, 0x63, 0x56, 0x67, 0x52, 0xAE, 0x85, +0x4C, 0x2F, 0x62, 0x15, 0x01, 0x9F, 0xFE, 0xC7, 0x0A, 0x02, +0x37, 0x01, 0xE1, 0x79, 0x6D, 0x81, 0x84, 0x24, 0x68, 0x30, +0xA9, 0x8E, 0x2D, 0x01, 0x90, 0x5D, 0xCC, 0x1E, 0x00, 0x02, +0x00, 0x38, 0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x15, +0x00, 0x21, 0x00, 0x2A, 0x40, 0x0C, 0x06, 0x05, 0x71, 0x19, +0x18, 0x05, 0x1F, 0x1E, 0x73, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x5C, 0x21, 0x16, 0x05, 0x13, +0x12, 0x5C, 0x0E, 0x0D, 0x05, 0x1C, 0x1B, 0x55, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x17, 0x36, 0x33, +0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x20, 0x11, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x13, 0x32, +0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, +0xB2, 0x02, 0x3E, 0x6F, 0x72, 0x84, 0x93, 0x7C, 0xFE, 0xF0, +0xA4, 0x9A, 0x4D, 0x42, 0x40, 0x4F, 0x50, 0x6A, 0x8C, 0x4A, +0x54, 0x57, 0x47, 0x46, 0x57, 0x58, 0x01, 0xB9, 0x01, 0x3E, +0x85, 0x71, 0x7D, 0x8D, 0x01, 0x52, 0xD8, 0xD6, 0x15, 0x61, +0x1A, 0x75, 0xFE, 0x2D, 0x59, 0x55, 0x4A, 0x57, 0x59, 0x48, +0x50, 0x5E, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x02, 0x3D, +0x02, 0xEC, 0x00, 0x0A, 0x00, 0x0F, 0xB3, 0x01, 0x6B, 0x08, +0x00, 0x2B, 0x00, 0xB3, 0x09, 0x5D, 0x00, 0x00, 0x2B, 0x30, +0x31, 0x13, 0x21, 0x15, 0x06, 0x02, 0x07, 0x23, 0x12, 0x13, +0x35, 0x21, 0x52, 0x01, 0xEB, 0x5D, 0x88, 0x39, 0x76, 0x73, +0xB6, 0xFE, 0x80, 0x02, 0xEC, 0x5D, 0x97, 0xFE, 0xCA, 0xC2, +0x01, 0x66, 0x01, 0x27, 0x02, 0x00, 0x00, 0x03, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x57, 0x02, 0xF6, 0x00, 0x0B, 0x00, 0x15, +0x00, 0x2B, 0x00, 0x2E, 0x40, 0x18, 0x09, 0x08, 0x6C, 0x1D, +0x1C, 0x05, 0x0F, 0x0E, 0x6B, 0x2B, 0x16, 0x05, 0x27, 0x26, +0x6F, 0x14, 0x13, 0x05, 0x22, 0x21, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x09, 0x06, 0x05, 0x58, +0x1F, 0x01, 0x29, 0x58, 0x11, 0x00, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x3E, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x14, 0x16, 0x17, 0x0E, 0x01, 0x15, 0x14, 0x16, 0x32, 0x36, +0x35, 0x34, 0x05, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0x35, +0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x16, 0x15, +0x14, 0x06, 0x20, 0x26, 0x01, 0x43, 0x46, 0x4C, 0x4C, 0x46, +0x46, 0x49, 0x49, 0x40, 0x50, 0x54, 0x5B, 0x9D, 0x57, 0xFE, +0x46, 0x52, 0x48, 0x3E, 0x42, 0x85, 0xEB, 0x85, 0x80, 0x9A, +0x92, 0xFE, 0xFC, 0x93, 0x01, 0xB8, 0x11, 0x41, 0x29, 0x31, +0x3A, 0x39, 0x32, 0x2B, 0x40, 0x67, 0x13, 0x4D, 0x2F, 0x3E, +0x46, 0x46, 0x3E, 0x6B, 0x70, 0x3B, 0x66, 0x1B, 0x02, 0x1B, +0x5D, 0x3A, 0x53, 0x66, 0x66, 0x53, 0x72, 0x35, 0x03, 0x34, +0x92, 0x63, 0x74, 0x74, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2E, +0xFF, 0xF6, 0x02, 0x4D, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x21, +0x00, 0x2A, 0x40, 0x0C, 0x0B, 0x0A, 0x73, 0x1F, 0x1E, 0x05, +0x19, 0x18, 0x71, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, +0x12, 0x03, 0x02, 0x55, 0x1C, 0x1B, 0x05, 0x0E, 0x0D, 0x5C, +0x13, 0x12, 0x05, 0x21, 0x16, 0x5C, 0x09, 0x08, 0x05, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x27, 0x06, 0x23, 0x22, 0x26, +0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, +0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x03, 0x22, 0x06, 0x15, +0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 0xD3, +0x02, 0x3E, 0x6F, 0x73, 0x83, 0x94, 0x7B, 0x01, 0x10, 0xA1, +0x9D, 0x52, 0x47, 0x4B, 0x4E, 0x57, 0x6B, 0x94, 0x4A, 0x54, +0x57, 0x47, 0x47, 0x56, 0x59, 0x01, 0x32, 0x01, 0x3D, 0x88, +0x78, 0x76, 0x8A, 0xFE, 0xB8, 0xE4, 0xD4, 0x14, 0x62, 0x1A, +0x74, 0x01, 0xD4, 0x55, 0x4F, 0x51, 0x5A, 0x5C, 0x4F, 0x49, +0x5B, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x00, 0x00, +0x01, 0x0C, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, +0x15, 0x87, 0x85, 0x85, 0x85, 0x01, 0x8F, 0x9A, 0x9A, 0xFE, +0x71, 0x9A, 0x9A, 0x00, 0x00, 0x02, 0x00, 0x4F, 0xFF, 0x8F, +0x01, 0x26, 0x02, 0x29, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, +0x00, 0x30, 0x31, 0x37, 0x33, 0x03, 0x23, 0x13, 0x35, 0x33, +0x15, 0x97, 0x8F, 0x71, 0x66, 0x48, 0x85, 0x9A, 0xFE, 0xF5, +0x02, 0x00, 0x9A, 0x9A, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x0A, +0x02, 0x54, 0x02, 0x48, 0x00, 0x07, 0x00, 0x09, 0xB3, 0x01, +0x43, 0x05, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x05, 0x15, +0x05, 0x15, 0x25, 0x35, 0x25, 0x02, 0x54, 0xFE, 0x2E, 0x01, +0xD2, 0xFD, 0xEB, 0x02, 0x15, 0x01, 0xE6, 0xBC, 0x02, 0xBC, +0x62, 0xE7, 0x70, 0xE7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x59, +0x00, 0x85, 0x02, 0xAB, 0x01, 0xCD, 0x00, 0x03, 0x00, 0x07, +0x00, 0x0E, 0x00, 0xB7, 0x07, 0x57, 0x05, 0x00, 0x03, 0x57, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, +0x05, 0x35, 0x21, 0x15, 0x59, 0x02, 0x52, 0xFD, 0xAE, 0x02, +0x52, 0x01, 0x76, 0x57, 0x57, 0xF1, 0x57, 0x57, 0x00, 0x01, +0x00, 0x5E, 0x00, 0x0A, 0x02, 0x73, 0x02, 0x48, 0x00, 0x07, +0x00, 0x09, 0xB3, 0x02, 0x43, 0x06, 0x00, 0x2B, 0x00, 0x30, +0x31, 0x13, 0x35, 0x05, 0x15, 0x05, 0x35, 0x25, 0x35, 0x5E, +0x02, 0x15, 0xFD, 0xEB, 0x01, 0xD2, 0x01, 0xE6, 0x62, 0xE7, +0x70, 0xE7, 0x62, 0xBC, 0x02, 0x00, 0x00, 0x02, 0x00, 0x54, +0x00, 0x00, 0x02, 0x3F, 0x02, 0xF6, 0x00, 0x1D, 0x00, 0x21, +0x00, 0x1E, 0x40, 0x0E, 0x20, 0x7B, 0x1E, 0x00, 0x14, 0x13, +0x75, 0x0A, 0x09, 0x05, 0x1D, 0x71, 0x01, 0x00, 0x2B, 0x2B, +0x2B, 0x00, 0xB5, 0x0C, 0x0B, 0x5E, 0x11, 0x10, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x23, 0x34, 0x3E, 0x02, 0x37, 0x3E, 0x02, +0x35, 0x34, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, +0x15, 0x14, 0x0E, 0x02, 0x07, 0x0E, 0x03, 0x07, 0x35, 0x33, +0x15, 0x01, 0x4F, 0x71, 0x17, 0x30, 0x23, 0x20, 0x22, 0x21, +0x1F, 0x95, 0x69, 0x78, 0x75, 0x7C, 0x78, 0x82, 0x12, 0x2A, +0x1F, 0x1D, 0x1F, 0x1E, 0x2A, 0x11, 0x76, 0x7B, 0xDC, 0x2C, +0x47, 0x37, 0x1E, 0x16, 0x18, 0x1C, 0x32, 0x1D, 0x5B, 0x27, +0x66, 0x1F, 0x5F, 0x4F, 0x24, 0x38, 0x2E, 0x19, 0x15, 0x15, +0x19, 0x2D, 0x36, 0xFF, 0x85, 0x85, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0x8A, 0x03, 0x26, 0x02, 0x8A, 0x00, 0x34, +0x00, 0x41, 0x00, 0x3B, 0x40, 0x0B, 0x07, 0x56, 0x12, 0x11, +0x04, 0x18, 0x17, 0x56, 0x02, 0x01, 0x05, 0x2B, 0x2B, 0x00, +0x40, 0x22, 0x22, 0x21, 0x1B, 0x1A, 0x63, 0x41, 0x35, 0x07, +0x3B, 0x3A, 0x5E, 0x28, 0x27, 0x05, 0x05, 0x04, 0x51, 0x15, +0x14, 0x05, 0x0F, 0x0E, 0x51, 0x0A, 0x09, 0x05, 0x22, 0x21, +0x1B, 0x1A, 0x48, 0x34, 0x00, 0x07, 0x2B, 0x2B, 0x2B, 0x2B, +0x2B, 0x30, 0x31, 0x25, 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, +0x06, 0x10, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, +0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, +0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x06, 0x23, 0x22, 0x27, +0x26, 0x3E, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x37, +0x33, 0x07, 0x0E, 0x01, 0x17, 0x16, 0x27, 0x32, 0x37, 0x36, +0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x17, 0x16, 0x02, +0x4F, 0x81, 0xA4, 0x86, 0x83, 0xA7, 0xA7, 0x83, 0x6E, 0x4B, +0x2D, 0x60, 0x86, 0xA3, 0xDD, 0xDA, 0xA6, 0xA8, 0xD8, 0x6F, +0x67, 0x2E, 0x1F, 0x1D, 0x08, 0x02, 0x2F, 0x51, 0x46, 0x2C, +0x33, 0x27, 0x6E, 0x4D, 0x1A, 0x1A, 0x11, 0x11, 0x02, 0x09, +0x75, 0x33, 0x0A, 0x01, 0x07, 0x07, 0xCF, 0x4C, 0x19, 0x0C, +0x14, 0x12, 0x1F, 0x24, 0x37, 0x0C, 0x0C, 0x15, 0x12, 0x86, +0x84, 0x88, 0xA7, 0xAA, 0xFE, 0xF6, 0xAA, 0x3D, 0x46, 0x48, +0xD7, 0xA9, 0xA8, 0xD8, 0xD6, 0xAA, 0x64, 0x68, 0x11, 0x0F, +0x1A, 0x3A, 0x34, 0x3C, 0xC1, 0x69, 0x0E, 0x09, 0x13, 0x27, +0xF6, 0x30, 0x1E, 0x05, 0x06, 0x1B, 0x6D, 0x38, 0x1C, 0x18, +0x39, 0x34, 0x35, 0x1F, 0x18, 0x00, 0x00, 0x02, 0x00, 0x1C, +0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, 0x00, 0x07, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x05, 0x58, 0x08, 0x00, 0x0A, 0x67, +0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x33, 0x01, 0x33, 0x01, +0x23, 0x27, 0x21, 0x07, 0x13, 0x33, 0x03, 0x23, 0x1C, 0x01, +0x00, 0x7B, 0x01, 0x00, 0x79, 0x3D, 0xFE, 0xEC, 0x3D, 0x58, +0xDE, 0x6E, 0x02, 0x02, 0xEC, 0xFD, 0x14, 0xC7, 0xC7, 0x01, +0x1F, 0x01, 0x66, 0x00, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, +0x02, 0x4A, 0x02, 0xEC, 0x00, 0x0F, 0x00, 0x18, 0x00, 0x21, +0x00, 0x30, 0x40, 0x11, 0x09, 0x08, 0x69, 0x1D, 0x1C, 0x05, +0x0F, 0x00, 0x6F, 0x18, 0x10, 0x05, 0x21, 0x14, 0x71, 0x04, +0x01, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x13, 0x12, 0x58, +0x1A, 0x19, 0x05, 0x03, 0x02, 0x5A, 0x16, 0x15, 0x05, 0x20, +0x1F, 0x5B, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x25, 0x14, 0x06, 0x2B, 0x01, 0x11, 0x33, 0x32, 0x16, 0x15, +0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x07, 0x34, 0x26, 0x2B, +0x01, 0x11, 0x33, 0x32, 0x36, 0x01, 0x33, 0x32, 0x36, 0x35, +0x34, 0x26, 0x2B, 0x01, 0x02, 0x4A, 0x98, 0xA6, 0xB8, 0xAE, +0x9E, 0x8B, 0x54, 0x46, 0x58, 0x61, 0x6F, 0x6A, 0x83, 0x29, +0x5C, 0x61, 0x59, 0xFE, 0xEA, 0x29, 0x72, 0x62, 0x4E, 0x5D, +0x52, 0xDC, 0x6F, 0x6D, 0x02, 0xEC, 0x59, 0x5B, 0x3C, 0x58, +0x0E, 0x03, 0x0D, 0x60, 0x40, 0x42, 0x3A, 0xFE, 0xF8, 0x44, +0x01, 0x1C, 0x37, 0x38, 0x37, 0x31, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x02, 0x30, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1A, +0xB4, 0x13, 0x73, 0x08, 0x07, 0x04, 0x2B, 0x00, 0x40, 0x0C, +0x11, 0x10, 0x5C, 0x0B, 0x0A, 0x05, 0x05, 0x04, 0x5C, 0x15, +0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x25, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, +0x15, 0x2E, 0x01, 0x23, 0x22, 0x06, 0x10, 0x16, 0x01, 0x87, +0x52, 0x57, 0x56, 0x5D, 0x9C, 0xBB, 0xB5, 0xA2, 0x5D, 0x51, +0x34, 0x3E, 0x32, 0x6E, 0x80, 0x83, 0x52, 0x1B, 0x63, 0x14, +0xC8, 0xB8, 0xB5, 0xCB, 0x15, 0x62, 0x10, 0x0B, 0x99, 0xFE, +0xE9, 0x98, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, 0x02, 0x87, +0x02, 0xEC, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x21, 0x40, 0x0A, +0x07, 0x00, 0x6B, 0x0F, 0x08, 0x05, 0x0B, 0x71, 0x03, 0x00, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x02, 0x01, 0x5C, 0x0D, 0x0C, +0x05, 0x0A, 0x09, 0x5D, 0x05, 0x04, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x16, 0x07, +0x10, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x02, 0x87, 0xFE, +0x71, 0xA4, 0xA4, 0xC5, 0xCA, 0x6B, 0xFE, 0xE6, 0x3D, 0x3D, +0x90, 0x8A, 0x01, 0x80, 0xFE, 0x80, 0x02, 0xEC, 0xBA, 0xB2, +0x01, 0x0F, 0xFD, 0xCD, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x17, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x1B, 0xB4, 0x04, 0x00, 0x71, 0x08, 0x01, 0x2B, 0x00, +0x40, 0x0C, 0x0B, 0x5D, 0x09, 0x00, 0x07, 0x5C, 0x05, 0x00, +0x03, 0x58, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, +0x15, 0xC5, 0x01, 0x3D, 0xFE, 0xC3, 0x01, 0x52, 0xFE, 0x3D, +0x01, 0xC3, 0x02, 0x8F, 0xD5, 0x58, 0xFE, 0xFA, 0x5C, 0x02, +0xEC, 0x5D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x0C, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x15, 0xB4, 0x07, +0x03, 0x71, 0x09, 0x01, 0x2B, 0x00, 0xB7, 0x06, 0x58, 0x04, +0x00, 0x02, 0x5D, 0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x54, +0x01, 0xB8, 0xFE, 0xB9, 0x01, 0x33, 0xFE, 0xCD, 0x71, 0x02, +0xEC, 0x5D, 0xDF, 0x58, 0xFE, 0xA8, 0x00, 0x00, 0x00, 0x01, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0x78, 0x02, 0xF6, 0x00, 0x19, +0x00, 0x26, 0x40, 0x0A, 0x08, 0x07, 0x73, 0x17, 0x16, 0x05, +0x11, 0x6C, 0x0D, 0x00, 0x2B, 0x2B, 0x00, 0x40, 0x10, 0x0E, +0x58, 0x10, 0x00, 0x14, 0x13, 0x5A, 0x0B, 0x0A, 0x05, 0x05, +0x04, 0x5A, 0x19, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x11, 0x23, 0x35, 0x21, 0x11, 0x06, +0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x01, 0xA1, 0x60, 0x53, +0x55, 0x54, 0x84, 0x8E, 0x8B, 0x73, 0x3E, 0x37, 0xDC, 0x01, +0x48, 0x6F, 0x7D, 0x9D, 0xC9, 0xCB, 0x02, 0xF6, 0x15, 0x60, +0x1B, 0x97, 0x8F, 0x89, 0x9D, 0x12, 0x01, 0x00, 0x58, 0xFE, +0x6A, 0x2E, 0xD1, 0xAF, 0xB2, 0xCE, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, +0x00, 0x17, 0x40, 0x0A, 0x08, 0x00, 0x71, 0x0A, 0x01, 0x04, +0x71, 0x06, 0x02, 0x04, 0x2B, 0x2B, 0x00, 0xB3, 0x07, 0x58, +0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x21, 0x11, 0x33, +0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0xC5, 0x01, 0x3D, +0x71, 0x71, 0xFE, 0xC3, 0x71, 0x02, 0xEC, 0xFE, 0xCE, 0x01, +0x32, 0xFD, 0x14, 0x01, 0x62, 0xFE, 0x9E, 0x02, 0xEC, 0x00, +0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xE8, 0x02, 0xEC, +0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x7A, 0x00, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, 0x7A, 0x02, +0xEC, 0xFD, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xDE, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x13, +0xB5, 0x09, 0x08, 0x76, 0x06, 0x05, 0x05, 0x2B, 0x00, 0xB5, +0x0C, 0x0B, 0x5C, 0x03, 0x02, 0x05, 0x2B, 0x30, 0x31, 0x37, +0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, +0x06, 0x23, 0x22, 0x26, 0x63, 0x55, 0x48, 0x42, 0x76, 0x7B, +0x85, 0x68, 0x14, 0x67, 0x29, 0x58, 0x6A, 0x01, 0xD8, 0xFE, +0x0A, 0x86, 0x7A, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x68, 0x02, 0xEC, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x09, +0x00, 0x71, 0x0B, 0x01, 0x2B, 0x00, 0xB3, 0x08, 0x3E, 0x01, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x01, 0x33, 0x09, +0x01, 0x23, 0x01, 0x23, 0x11, 0x23, 0x11, 0xC5, 0x02, 0x01, +0x12, 0x85, 0xFE, 0xCD, 0x01, 0x3D, 0x85, 0xFE, 0xE4, 0x02, +0x71, 0x02, 0xEC, 0xFE, 0xB8, 0x01, 0x48, 0xFE, 0x99, 0xFE, +0x7B, 0x01, 0x66, 0xFE, 0x9A, 0x02, 0xEC, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x54, 0x00, 0x00, 0x02, 0x21, 0x02, 0xEC, +0x00, 0x05, 0x00, 0x0F, 0xB3, 0x00, 0x76, 0x04, 0x00, 0x2B, +0x00, 0xB3, 0x03, 0x5E, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x21, 0x15, 0x21, 0x11, 0xCA, 0x01, 0x57, 0xFE, 0x33, +0x02, 0xEC, 0xFD, 0x72, 0x5E, 0x02, 0xEC, 0x00, 0x00, 0x01, +0x00, 0x2B, 0x00, 0x00, 0x03, 0x0C, 0x02, 0xEC, 0x00, 0x0F, +0x00, 0x0B, 0x00, 0xB5, 0x0F, 0x0B, 0x07, 0x7B, 0x03, 0x02, +0x2B, 0x30, 0x31, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, +0x13, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, 0x03, 0x2B, +0x57, 0x85, 0x94, 0x02, 0x93, 0x85, 0x57, 0x70, 0x3A, 0x02, +0x89, 0x7B, 0x89, 0x02, 0x39, 0x02, 0xEC, 0xFD, 0x8F, 0x02, +0x71, 0xFD, 0x14, 0x02, 0x52, 0xFD, 0xAE, 0x02, 0x52, 0xFD, +0xAE, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, +0x02, 0x73, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, 0xB7, 0x06, +0x6F, 0x04, 0x00, 0x0A, 0x6F, 0x00, 0x00, 0x2B, 0x2B, 0x00, +0x30, 0x31, 0x33, 0x11, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, +0x23, 0x01, 0x23, 0x11, 0x54, 0x6F, 0x01, 0x3F, 0x02, 0x6F, +0x6F, 0xFE, 0xC1, 0x02, 0x02, 0xEC, 0xFD, 0xD1, 0x02, 0x2F, +0xFD, 0x14, 0x02, 0x2E, 0xFD, 0xD2, 0x00, 0x00, 0x00, 0x02, +0x00, 0x26, 0xFF, 0xF6, 0x02, 0xBF, 0x02, 0xF6, 0x00, 0x08, +0x00, 0x11, 0x00, 0x19, 0xB7, 0x03, 0x72, 0x0C, 0x00, 0x10, +0x73, 0x07, 0x00, 0x2B, 0x2B, 0x00, 0xB7, 0x05, 0x5C, 0x0A, +0x00, 0x0E, 0x5C, 0x01, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, +0x36, 0x20, 0x16, 0x10, 0x06, 0x20, 0x26, 0x10, 0x13, 0x16, +0x32, 0x36, 0x10, 0x26, 0x22, 0x06, 0x10, 0x80, 0x59, 0x01, +0x33, 0xB3, 0xB3, 0xFE, 0xCD, 0xB3, 0xAC, 0x38, 0xD1, 0x72, +0x72, 0xD1, 0x71, 0x02, 0x90, 0x66, 0xCB, 0xFE, 0x96, 0xCB, +0xCB, 0x01, 0x6A, 0xFE, 0x71, 0x4A, 0x92, 0x01, 0x23, 0x93, +0x93, 0xFE, 0xDD, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x54, 0x02, 0xEC, 0x00, 0x09, 0x00, 0x11, 0x00, 0x22, +0x40, 0x0B, 0x07, 0x06, 0x6F, 0x0E, 0x0D, 0x05, 0x11, 0x00, +0x71, 0x02, 0x01, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x09, 0x08, +0x58, 0x0B, 0x0A, 0x05, 0x10, 0x0F, 0x5B, 0x04, 0x03, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x23, 0x11, 0x33, 0x32, +0x16, 0x15, 0x14, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, +0x2B, 0x01, 0xC5, 0x71, 0xCD, 0x9D, 0x96, 0xFE, 0xE1, 0x70, +0x66, 0x5B, 0x5F, 0xBA, 0x66, 0x01, 0x1A, 0xFE, 0xE6, 0x02, +0xEC, 0x6E, 0x6F, 0xF5, 0x58, 0x4A, 0x49, 0x8C, 0x00, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0x66, 0x03, 0x0C, 0x02, 0xF6, +0x00, 0x08, 0x00, 0x1A, 0x00, 0x1D, 0x40, 0x09, 0x03, 0x73, +0x0B, 0x00, 0x10, 0x0F, 0x72, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0x40, 0x09, 0x01, 0x5C, 0x0D, 0x00, 0x1A, 0x09, 0x5C, 0x05, +0x01, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x26, 0x22, 0x06, 0x10, +0x16, 0x32, 0x36, 0x10, 0x03, 0x22, 0x26, 0x10, 0x36, 0x20, +0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x17, 0x23, +0x2E, 0x01, 0x02, 0x14, 0x39, 0xD1, 0x71, 0x71, 0xD1, 0x72, +0xDA, 0x9A, 0xB3, 0xB3, 0x01, 0x33, 0xB3, 0x53, 0x4B, 0x42, +0x82, 0x27, 0x85, 0x37, 0x6E, 0x02, 0x51, 0x49, 0x93, 0xFE, +0xDD, 0x92, 0x92, 0x01, 0x23, 0xFD, 0xEF, 0xCB, 0x01, 0x6A, +0xCB, 0xCB, 0xB5, 0x74, 0xAA, 0x2E, 0x02, 0x16, 0x6B, 0x41, +0x57, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00, 0x00, +0x02, 0x5E, 0x02, 0xEC, 0x00, 0x08, 0x00, 0x1C, 0x00, 0x22, +0x40, 0x0B, 0x09, 0x01, 0x71, 0x0B, 0x01, 0x10, 0x0F, 0x6F, +0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x08, 0x00, +0x5B, 0x0D, 0x0C, 0x05, 0x1C, 0x1B, 0x58, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x36, +0x35, 0x34, 0x26, 0x03, 0x11, 0x23, 0x11, 0x33, 0x32, 0x16, +0x15, 0x14, 0x06, 0x07, 0x15, 0x16, 0x1F, 0x01, 0x23, 0x27, +0x2E, 0x01, 0x23, 0x01, 0x17, 0x52, 0x3D, 0x72, 0x67, 0x5B, +0xBB, 0x71, 0xB8, 0xA7, 0x97, 0x4F, 0x46, 0x2C, 0x26, 0x57, +0x75, 0x55, 0x15, 0x34, 0x49, 0x02, 0x91, 0xFE, 0xFA, 0x47, +0x48, 0x3D, 0x3A, 0xFE, 0xA2, 0xFE, 0xCD, 0x02, 0xEC, 0x64, +0x64, 0x4C, 0x6A, 0x16, 0x02, 0x1B, 0x5F, 0xDC, 0xDC, 0x37, +0x20, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, 0x02, 0x07, +0x02, 0xF6, 0x00, 0x20, 0x00, 0x23, 0x40, 0x0C, 0x03, 0x02, +0x6F, 0x19, 0x18, 0x05, 0x09, 0x08, 0x70, 0x13, 0x12, 0x05, +0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x20, 0x00, 0x5A, 0x1C, 0x1B, +0x05, 0x0C, 0x0B, 0x5C, 0x11, 0x10, 0x05, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x1E, 0x01, +0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, +0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, 0x33, +0x32, 0x17, 0x15, 0x26, 0x01, 0x1C, 0x38, 0x3B, 0x37, 0x37, +0x87, 0x69, 0x7F, 0x7C, 0x69, 0x59, 0x59, 0x5F, 0x95, 0x3B, +0x45, 0x75, 0x68, 0x73, 0x64, 0x74, 0x63, 0x66, 0x02, 0x9C, +0x38, 0x31, 0x28, 0x40, 0x13, 0x2D, 0x6E, 0x55, 0x68, 0x6A, +0x2E, 0x6B, 0x3D, 0x76, 0x2D, 0x3F, 0x19, 0x28, 0x6F, 0x4F, +0x5A, 0x69, 0x29, 0x6A, 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x3A, 0x00, 0x00, 0x02, 0x4F, 0x02, 0xEC, 0x00, 0x07, +0x00, 0x10, 0xB3, 0x03, 0x71, 0x05, 0x00, 0x2B, 0x00, 0xB4, +0x06, 0x02, 0x5F, 0x00, 0x01, 0x2B, 0x30, 0x31, 0x13, 0x21, +0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3A, 0x02, 0x15, 0xD2, +0x71, 0xD2, 0x02, 0xEC, 0x5F, 0xFD, 0x73, 0x02, 0x8D, 0x00, +0x00, 0x01, 0x00, 0x4A, 0xFF, 0xF6, 0x02, 0x5E, 0x02, 0xEC, +0x00, 0x0D, 0x00, 0x19, 0x40, 0x0C, 0x0B, 0x0A, 0x6E, 0x08, +0x07, 0x05, 0x03, 0x02, 0x72, 0x0D, 0x00, 0x05, 0x2B, 0x2B, +0x00, 0xB3, 0x0C, 0x5E, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x11, 0x33, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, +0x11, 0x10, 0x20, 0x4A, 0x72, 0x4B, 0x9E, 0x4B, 0x6E, 0xFD, +0xEC, 0x01, 0x05, 0x01, 0xE7, 0xFE, 0x14, 0x5A, 0x52, 0x52, +0x5A, 0x01, 0xEC, 0xFE, 0x19, 0xFE, 0xF1, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x97, 0x02, 0xEC, +0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, 0x05, 0x71, 0x01, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x01, 0x23, +0x01, 0x94, 0xC6, 0x02, 0xC6, 0x75, 0xFF, 0x00, 0x7B, 0xFF, +0x00, 0x02, 0xEC, 0xFD, 0x85, 0x02, 0x7B, 0xFD, 0x14, 0x02, +0xEC, 0x00, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x00, 0x03, 0x5E, +0x02, 0xEC, 0x00, 0x0F, 0x00, 0x13, 0x00, 0x40, 0x0C, 0x0B, +0x7B, 0x0F, 0x07, 0x03, 0x08, 0x0D, 0x09, 0x7B, 0x05, 0x01, +0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, +0x13, 0x33, 0x13, 0x33, 0x03, 0x23, 0x03, 0x23, 0x03, 0x23, +0x03, 0x9E, 0x6F, 0x02, 0x70, 0x8F, 0x70, 0x02, 0x70, 0x6E, +0x9F, 0x8A, 0x6F, 0x02, 0x70, 0x8A, 0x9F, 0x02, 0xEC, 0xFD, +0x8F, 0x02, 0x71, 0xFD, 0x8F, 0x02, 0x71, 0xFD, 0x14, 0x02, +0x71, 0xFD, 0x8F, 0x02, 0xEC, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0x00, 0x02, 0x73, 0x02, 0xEC, 0x00, 0x0D, 0x00, 0x03, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x13, +0x23, 0x03, 0x23, 0x03, 0x23, 0x13, 0x03, 0xBC, 0x99, 0x02, +0x99, 0x7E, 0xD2, 0xD7, 0x84, 0x9C, 0x02, 0x9C, 0x80, 0xD7, +0xD2, 0x02, 0xEC, 0xFE, 0xDC, 0x01, 0x24, 0xFE, 0x8F, 0xFE, +0x85, 0x01, 0x2E, 0xFE, 0xD2, 0x01, 0x7B, 0x01, 0x71, 0x00, +0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x8C, 0x02, 0xEC, +0x00, 0x09, 0x00, 0x09, 0xB3, 0x05, 0x76, 0x07, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x11, +0x23, 0x11, 0x03, 0xA0, 0xB5, 0x02, 0xB5, 0x80, 0xFD, 0x76, +0xFD, 0x02, 0xEC, 0xFE, 0xA3, 0x01, 0x5D, 0xFE, 0x47, 0xFE, +0xCD, 0x01, 0x33, 0x01, 0xB9, 0x00, 0x00, 0x01, 0x00, 0x4A, +0x00, 0x00, 0x02, 0x35, 0x02, 0xEC, 0x00, 0x0B, 0x00, 0x0E, +0x00, 0xB7, 0x06, 0x5C, 0x04, 0x00, 0x0A, 0x5D, 0x00, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, 0x15, 0x21, +0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, 0xEB, 0xFE, +0x98, 0x01, 0x68, 0xFE, 0x15, 0x01, 0x68, 0xFE, 0x98, 0x02, +0xEC, 0x5D, 0xFD, 0xCF, 0x02, 0x5C, 0x5C, 0x02, 0x31, 0x02, +0x00, 0x01, 0x00, 0x73, 0xFF, 0x61, 0x01, 0x9C, 0x03, 0x14, +0x00, 0x07, 0x00, 0x14, 0xB3, 0x00, 0x66, 0x04, 0x00, 0x2B, +0x00, 0xB7, 0x07, 0x51, 0x05, 0x00, 0x03, 0x52, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x11, 0x33, 0x15, 0x21, 0x11, +0x21, 0x15, 0xD9, 0xC3, 0xFE, 0xD7, 0x01, 0x29, 0x02, 0xC3, +0xFC, 0xF0, 0x52, 0x03, 0xB3, 0x51, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xD7, 0x01, 0xFD, 0x02, 0xEC, 0x00, 0x03, 0x00, 0x03, +0x00, 0x30, 0x31, 0x13, 0x33, 0x01, 0x23, 0x30, 0x6C, 0x01, +0x61, 0x6C, 0x02, 0xEC, 0xFC, 0xEB, 0x00, 0x00, 0x00, 0x01, +0x00, 0x54, 0xFF, 0x61, 0x01, 0x7D, 0x03, 0x14, 0x00, 0x07, +0x00, 0x14, 0xB3, 0x04, 0x66, 0x00, 0x00, 0x2B, 0x00, 0xB7, +0x05, 0x52, 0x07, 0x00, 0x01, 0x51, 0x03, 0x00, 0x2B, 0x2B, +0x30, 0x31, 0x05, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, +0x01, 0x17, 0xC3, 0x01, 0x29, 0xFE, 0xD7, 0x4D, 0x03, 0x10, +0x51, 0xFC, 0x4D, 0x52, 0x00, 0x01, 0x00, 0x26, 0x01, 0x1F, +0x02, 0x78, 0x02, 0xEC, 0x00, 0x06, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x33, 0x13, 0x23, 0x0B, 0x01, 0x26, 0xE6, +0x85, 0xE7, 0x73, 0xB6, 0xB6, 0x01, 0x1F, 0x01, 0xCD, 0xFE, +0x33, 0x01, 0x85, 0xFE, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x01, +0xFF, 0xFE, 0xFF, 0x61, 0x02, 0x50, 0xFF, 0xB3, 0x00, 0x03, +0x00, 0x09, 0x00, 0xB3, 0x03, 0x52, 0x01, 0x00, 0x2B, 0x30, +0x31, 0x07, 0x35, 0x21, 0x15, 0x02, 0x02, 0x52, 0x9F, 0x52, +0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x02, 0x29, +0x01, 0x0C, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, +0x31, 0x1B, 0x01, 0x23, 0x03, 0x9C, 0x70, 0x5C, 0xA4, 0x03, +0x3D, 0xFE, 0xEC, 0x01, 0x14, 0x00, 0x00, 0x02, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xE8, 0x02, 0x1F, 0x00, 0x18, 0x00, 0x23, +0x00, 0x2C, 0x40, 0x0E, 0x03, 0x02, 0x6B, 0x23, 0x22, 0x11, +0x10, 0x0D, 0x1D, 0x1C, 0x6C, 0x0C, 0x0B, 0x05, 0x2B, 0x2B, +0x00, 0x40, 0x12, 0x09, 0x08, 0x57, 0x20, 0x1F, 0x05, 0x1A, +0x19, 0x4B, 0x0F, 0x0E, 0x05, 0x14, 0x13, 0x52, 0x18, 0x00, +0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, +0x11, 0x23, 0x27, 0x23, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, +0x36, 0x3B, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x35, +0x36, 0x13, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, +0x36, 0x35, 0x01, 0x07, 0x81, 0x60, 0x64, 0x02, 0x02, 0x3B, +0x76, 0x46, 0x59, 0x89, 0x8C, 0x38, 0x33, 0x43, 0x50, 0x68, +0x5F, 0xCF, 0x38, 0x54, 0x55, 0x2D, 0x1F, 0x44, 0x51, 0x02, +0x1F, 0x5C, 0x7B, 0xFE, 0xB8, 0x4D, 0x57, 0x5A, 0x4A, 0x5A, +0x63, 0x15, 0x36, 0x2B, 0x27, 0x5A, 0x1F, 0xFE, 0xED, 0x38, +0x30, 0x26, 0x31, 0x55, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x02, +0x00, 0x4F, 0xFF, 0xF6, 0x02, 0x30, 0x03, 0x00, 0x00, 0x0B, +0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, 0x17, 0x0B, 0x0A, 0x00, +0x6B, 0x15, 0x03, 0x1D, 0x0C, 0x6B, 0x06, 0x05, 0x05, 0x2B, +0x2B, 0x00, 0x40, 0x0C, 0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, +0x0F, 0x0E, 0x52, 0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, +0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, +0x06, 0x15, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, +0x07, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x33, 0x32, 0x16, +0xBA, 0x4F, 0x36, 0x3F, 0x47, 0x86, 0x36, 0x4F, 0x01, 0x76, +0x7A, 0x5D, 0x32, 0x49, 0x27, 0x02, 0x02, 0x64, 0x6B, 0x02, +0x43, 0x5A, 0x61, 0x76, 0xBD, 0x2E, 0x47, 0x60, 0x62, 0xC3, +0x48, 0x2E, 0x4D, 0x7F, 0x95, 0x22, 0x2B, 0x43, 0x03, 0x00, +0xFE, 0xDC, 0x43, 0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0x26, +0xFF, 0xF6, 0x01, 0xB5, 0x02, 0x1F, 0x00, 0x15, 0x00, 0x1B, +0xB5, 0x0B, 0x0A, 0x71, 0x15, 0x00, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x13, 0x12, 0x54, 0x0E, 0x0D, 0x05, 0x08, 0x07, 0x54, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x26, +0x81, 0x75, 0x47, 0x4D, 0x48, 0x44, 0x47, 0x46, 0x4A, 0x4D, +0x43, 0x44, 0x47, 0x48, 0x7B, 0x85, 0x01, 0x0A, 0x86, 0x8F, +0x10, 0x5C, 0x18, 0x5C, 0x65, 0x66, 0x5A, 0x1C, 0x5C, 0x14, +0x8C, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0xF6, 0x02, 0x0C, +0x03, 0x00, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x14, 0x6B, 0x12, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x17, 0x33, 0x11, 0x33, 0x11, 0x23, 0x27, 0x23, 0x0E, +0x01, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x46, +0x3F, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x5A, 0x43, 0x02, +0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x5D, 0x7A, 0xBD, +0x9A, 0x2E, 0x48, 0xC3, 0x62, 0x60, 0x47, 0x7B, 0x83, 0x92, +0x43, 0x01, 0x24, 0xFD, 0x00, 0x43, 0x2B, 0x22, 0x95, 0x00, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x01, 0xF3, 0x02, 0x1F, +0x00, 0x05, 0x00, 0x17, 0x00, 0x18, 0x00, 0x40, 0x10, 0x03, +0x02, 0x50, 0x12, 0x11, 0x05, 0x0D, 0x0C, 0x50, 0x08, 0x07, +0x05, 0x17, 0x4F, 0x00, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x13, 0x33, 0x26, 0x23, 0x22, 0x06, 0x07, 0x16, 0x33, 0x32, +0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, +0x16, 0x15, 0x14, 0x07, 0x92, 0xF7, 0x03, 0x6F, 0x3D, 0x41, +0x07, 0x0A, 0x9E, 0x45, 0x50, 0x55, 0x4A, 0x80, 0x8A, 0x7C, +0x75, 0x6E, 0x6E, 0x03, 0x01, 0x3B, 0x94, 0x46, 0x9D, 0xA6, +0x20, 0x5A, 0x16, 0x8B, 0x01, 0x12, 0x8C, 0x84, 0x8C, 0x0E, +0x15, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, +0x01, 0xC5, 0x02, 0xF6, 0x00, 0x15, 0x00, 0x1D, 0xB7, 0x12, +0x0E, 0x0D, 0x71, 0x14, 0x03, 0x02, 0x0A, 0x2B, 0x00, 0x40, +0x0C, 0x0B, 0x0A, 0x52, 0x06, 0x05, 0x05, 0x15, 0x11, 0x52, +0x0F, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x33, +0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, +0x06, 0x1D, 0x01, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x35, +0x71, 0x5C, 0x61, 0x34, 0x2E, 0x27, 0x26, 0x36, 0x2B, 0xA3, +0xA3, 0x71, 0x01, 0xAE, 0x52, 0x29, 0x6A, 0x63, 0x10, 0x52, +0x10, 0x32, 0x44, 0x2E, 0x52, 0xFE, 0x52, 0x01, 0xAE, 0x00, +0x00, 0x02, 0x00, 0x1C, 0xFF, 0x14, 0x01, 0xFD, 0x02, 0x1F, +0x00, 0x29, 0x00, 0x35, 0x00, 0x40, 0x40, 0x19, 0x15, 0x14, +0x71, 0x30, 0x2F, 0x05, 0x35, 0x2A, 0x68, 0x27, 0x0C, 0x0B, +0x09, 0x1C, 0x1B, 0x5C, 0x08, 0x07, 0x05, 0x22, 0x21, 0x6C, +0x03, 0x02, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x18, +0x18, 0x17, 0x43, 0x2D, 0x2C, 0x05, 0x05, 0x04, 0x4E, 0x1F, +0x1E, 0x05, 0x33, 0x32, 0x4C, 0x0F, 0x0E, 0x05, 0x25, 0x24, +0x52, 0x29, 0x00, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x17, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, +0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x33, 0x37, +0x33, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x15, 0x14, +0x16, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, +0x35, 0x16, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, +0x26, 0x23, 0x22, 0x06, 0xE8, 0x51, 0x58, 0x9C, 0x71, 0x5E, +0x2D, 0x37, 0x70, 0x57, 0x6A, 0x41, 0x02, 0x01, 0x62, 0x76, +0x76, 0x3E, 0x31, 0x16, 0x35, 0x4E, 0x81, 0x77, 0x8B, 0x8A, +0x6D, 0x5F, 0x5E, 0x0A, 0x44, 0x3C, 0x39, 0x45, 0x49, 0x3A, +0x37, 0x44, 0x9A, 0x35, 0x2A, 0x55, 0x34, 0x35, 0x28, 0x32, +0x32, 0x4F, 0x55, 0x6C, 0x42, 0x37, 0xB8, 0x59, 0x5F, 0x11, +0x17, 0x0F, 0x14, 0x13, 0x4A, 0x4C, 0x5A, 0x64, 0x29, 0x5D, +0x34, 0x01, 0xF5, 0x36, 0x3E, 0x3F, 0x35, 0x37, 0x41, 0x43, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, 0x02, 0x11, +0x03, 0x00, 0x00, 0x13, 0x00, 0x1B, 0x40, 0x0C, 0x0D, 0x09, +0x08, 0x6B, 0x0B, 0x02, 0x13, 0x00, 0x68, 0x03, 0x02, 0x05, +0x2B, 0x2B, 0x00, 0xB5, 0x06, 0x05, 0x57, 0x11, 0x10, 0x05, +0x2B, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, +0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, +0x33, 0x32, 0x16, 0x02, 0x11, 0x68, 0x2D, 0x3D, 0x2F, 0x56, +0x6B, 0x6B, 0x02, 0x47, 0x5B, 0x5D, 0x56, 0x01, 0x3D, 0xFE, +0xC3, 0x01, 0x29, 0x5F, 0x40, 0x59, 0x32, 0xFE, 0xC3, 0x03, +0x00, 0xFE, 0xD2, 0x4D, 0x68, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x11, 0xB5, 0x06, 0x02, 0x70, 0x04, 0x00, 0x05, 0x2B, 0x00, 0xB3, 0x07, 0x71, 0x05, 0x00, 0x2B, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x03, 0x35, 0x33, 0x15, 0x6E, 0x70, 0x70, 0x70, 0x02, 0x14, 0xFD, 0xEC, 0x02, 0x8F, 0x71, -0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, -0x00, 0xDE, 0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, -0x70, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, -0x11, 0x6E, 0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x1F, -0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, 0x6B, 0x0F, -0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x00, -0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, 0x31, 0x13, -0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, -0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, 0xB2, 0x4A, -0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, 0x64, 0x02, -0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, 0x2E, 0x5C, -0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, 0x00, 0x08, -0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, 0x0B, 0x00, -0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, 0xB7, 0x05, -0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, 0x2B, 0x30, -0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, 0x26, 0x10, -0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, 0x85, 0x85, -0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, 0xD7, 0x48, -0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, 0xC2, 0x01, -0x85, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, -0x02, 0x14, 0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, -0x00, 0x2B, 0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, -0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, -0x01, 0xA6, 0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, -0x44, 0x15, 0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, -0x66, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x89, -0x00, 0x02, 0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, -0x00, 0x09, 0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, -0x31, 0x01, 0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, -0x27, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, -0x37, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, -0x46, 0xA6, 0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, -0x2D, 0x07, 0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, -0x3D, 0x0B, 0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, -0x46, 0xA6, 0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, -0x19, 0x15, 0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, -0x2F, 0x2B, 0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x6C, 0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, -0x00, 0x0B, 0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, -0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, -0x17, 0x1E, 0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, -0x36, 0x37, 0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, -0x07, 0x06, 0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, -0x21, 0x36, 0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, -0xFE, 0x5C, 0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, -0x0D, 0x26, 0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, -0x41, 0x17, 0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, -0x46, 0x26, 0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, -0x14, 0x1D, 0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, -0x6B, 0x57, 0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, -0xB4, 0x2D, 0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, -0x28, 0x14, 0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, -0x0E, 0x1C, 0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, -0x2E, 0x00, 0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, -0x03, 0x3E, 0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, -0x00, 0x1B, 0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, -0x00, 0x40, 0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, -0x00, 0x62, 0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, -0x21, 0x06, 0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, -0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, -0x13, 0x25, 0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, -0x37, 0x36, 0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, -0x07, 0x26, 0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, -0x06, 0x17, 0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, -0x26, 0x03, 0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, -0x31, 0xA9, 0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, -0x15, 0x07, 0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, -0xFE, 0x21, 0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, -0x62, 0x5D, 0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, -0x2F, 0x20, 0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, -0x22, 0x11, 0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, -0x71, 0x56, 0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, -0x34, 0x0F, 0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, -0x47, 0x32, 0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, -0x5F, 0x23, 0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, -0x01, 0x0F, 0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, -0x39, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, -0x03, 0x8E, 0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, -0x00, 0x09, 0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, -0x31, 0x37, 0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, -0x01, 0x21, 0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, -0x37, 0x1E, 0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, -0x16, 0x30, 0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, -0x01, 0xC1, 0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, -0x24, 0x5E, 0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, -0x13, 0xB6, 0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, -0x5D, 0xFD, 0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, -0x30, 0x0C, 0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, -0xFF, 0xD5, 0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, -0x00, 0x36, 0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, -0x33, 0x23, 0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, -0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, -0x26, 0x22, 0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, -0x05, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, -0x26, 0x27, 0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, -0x01, 0x35, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, -0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, -0x17, 0x14, 0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, -0x27, 0xDA, 0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, -0x09, 0x23, 0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, -0x1A, 0x4C, 0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, -0x08, 0xFE, 0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, -0x26, 0x1A, 0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, -0x19, 0x28, 0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, -0x18, 0x47, 0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, -0x1E, 0x17, 0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, -0x0D, 0x04, 0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, -0x26, 0x35, 0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, -0x11, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, -0x03, 0x61, 0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, -0x61, 0x14, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, -0x17, 0x03, 0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, -0x02, 0x33, 0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, -0x27, 0x06, 0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, -0x06, 0x07, 0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, -0x05, 0x46, 0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, -0x1E, 0x2F, 0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, -0x3C, 0x3D, 0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, -0x19, 0x14, 0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, -0xFE, 0xCD, 0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, -0x26, 0x45, 0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, -0x66, 0x63, 0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, -0x2B, 0x0E, 0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, -0x00, 0x27, 0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, -0x00, 0x23, 0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, -0x19, 0x01, 0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, -0x0C, 0x10, 0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, -0x61, 0x07, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, -0x0E, 0x01, 0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, -0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, -0x21, 0x35, 0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, -0x86, 0x73, 0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, -0xDD, 0x62, 0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, -0xB7, 0x04, 0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, -0xE6, 0xE6, 0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, -0x03, 0x1F, 0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, -0x03, 0x5E, 0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, -0x11, 0x33, 0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, -0x07, 0x26, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, -0x5E, 0x5E, 0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, -0x24, 0x0F, 0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, -0x68, 0xFE, 0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, -0x05, 0x04, 0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, -0x00, 0x27, 0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, -0x00, 0x1D, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, -0x2B, 0x62, 0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, -0x16, 0x15, 0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, -0x1A, 0x59, 0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, -0x40, 0x0F, 0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, -0x0F, 0x05, 0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, -0x22, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, -0x33, 0x15, 0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, -0x14, 0x07, 0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, -0x06, 0x05, 0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, -0x0E, 0x18, 0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, -0x62, 0xFE, 0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, -0x66, 0x32, 0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, -0x02, 0x6D, 0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, -0x46, 0x32, 0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, -0x12, 0x62, 0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, -0x48, 0x32, 0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, -0xCE, 0xC2, 0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, -0x00, 0x6C, 0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, -0x00, 0x09, 0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, -0x31, 0x13, 0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, -0x6B, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, -0x03, 0xD3, 0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, -0x40, 0x13, 0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, -0x00, 0x67, 0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, -0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, -0x00, 0x19, 0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, -0x0F, 0x0F, 0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, -0x01, 0x15, 0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, -0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, -0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, -0x33, 0x15, 0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, -0x95, 0x95, 0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, -0x7B, 0x7B, 0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, -0xAA, 0xAA, 0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, -0x47, 0x02, 0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, -0x00, 0x26, 0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, -0x00, 0x22, 0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, -0x05, 0x2B, 0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, -0x05, 0x21, 0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, -0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, -0x06, 0x01, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, -0x06, 0x07, 0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, -0x27, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, -0x21, 0xF1, 0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, -0x78, 0xFE, 0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, -0xB4, 0x86, 0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, -0xFE, 0xE2, 0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, -0x76, 0xFD, 0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, -0x7B, 0xA2, 0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, -0xB5, 0x5A, 0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, -0x03, 0x44, 0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, -0x40, 0x14, 0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, -0x00, 0x2A, 0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, -0x14, 0x05, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, -0x58, 0x31, 0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, -0x06, 0x21, 0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, -0x00, 0x2B, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, -0x15, 0x13, 0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, -0x35, 0x11, 0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, -0x23, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, -0x36, 0x03, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, -0x21, 0x15, 0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, -0x07, 0x04, 0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, -0x4C, 0x1C, 0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, -0xEA, 0x03, 0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, -0xFD, 0x84, 0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, -0xE1, 0x58, 0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, -0x26, 0x0A, 0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, -0x94, 0xA8, 0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, -0x16, 0x0A, 0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, -0x00, 0x05, 0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, -0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, -0x00, 0x3C, 0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, -0x18, 0x69, 0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, -0x6C, 0x0E, 0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, -0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, -0x55, 0x29, 0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, -0x07, 0x0F, 0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, -0x30, 0x31, 0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, -0x37, 0x33, 0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, -0x33, 0x26, 0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, -0x07, 0x27, 0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, -0x37, 0x2B, 0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, -0x26, 0x27, 0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, -0xDD, 0xDD, 0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, -0x50, 0x81, 0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, -0x7B, 0x55, 0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, -0x58, 0x02, 0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, -0x63, 0x63, 0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, -0x14, 0x85, 0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, -0x2C, 0x5F, 0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, -0x5F, 0x2B, 0x33, 0xFE, 0xD5, 0x00, }; +0x71, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF3, 0xFF, 0x1F, +0x01, 0x07, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x18, +0xB7, 0x0E, 0x07, 0x06, 0x70, 0x0C, 0x04, 0x03, 0x0A, 0x2B, +0x00, 0xB7, 0x0F, 0x71, 0x0D, 0x00, 0x0B, 0x5A, 0x01, 0x00, +0x2B, 0x2B, 0x30, 0x31, 0x07, 0x35, 0x32, 0x36, 0x35, 0x11, +0x33, 0x11, 0x14, 0x0E, 0x02, 0x13, 0x35, 0x33, 0x15, 0x0D, +0x6A, 0x3A, 0x70, 0x15, 0x40, 0x67, 0x4C, 0x70, 0xE1, 0x5A, +0x33, 0x5E, 0x02, 0x0A, 0xFD, 0xF6, 0x49, 0x57, 0x38, 0x13, +0x03, 0x70, 0x71, 0x71, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x00, +0x02, 0x1C, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0xB4, 0x05, +0x01, 0x6B, 0x03, 0x01, 0x2B, 0x00, 0xB3, 0x00, 0x29, 0x06, +0x00, 0x2B, 0x30, 0x31, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, +0x11, 0x33, 0x37, 0x33, 0x03, 0x13, 0x23, 0xBC, 0x02, 0x6B, +0x6B, 0x02, 0xE0, 0x80, 0xF6, 0xF6, 0x80, 0x01, 0x00, 0xFF, +0x00, 0x03, 0x00, 0xFE, 0x29, 0xEB, 0xFF, 0x00, 0xFE, 0xEC, +0x00, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xDE, +0x03, 0x00, 0x00, 0x03, 0x00, 0x09, 0xB3, 0x02, 0x70, 0x00, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x6E, +0x70, 0x03, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x02, 0xE3, 0x02, 0x1F, 0x00, 0x22, +0x00, 0x26, 0x40, 0x11, 0x1A, 0x19, 0x69, 0x1D, 0x1C, 0x05, +0x09, 0x08, 0x6B, 0x0B, 0x01, 0x22, 0x00, 0x6A, 0x03, 0x02, +0x05, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0A, 0x20, 0x1F, 0x06, +0x05, 0x52, 0x17, 0x16, 0x11, 0x10, 0x0F, 0x2B, 0x30, 0x31, +0x01, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, +0x11, 0x23, 0x11, 0x33, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, +0x17, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, +0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xCD, 0x6A, 0x22, 0x30, +0x1D, 0x3F, 0x6B, 0x66, 0x02, 0x02, 0x3C, 0x4A, 0x2D, 0x38, +0x15, 0x02, 0x3D, 0x55, 0x54, 0x47, 0x69, 0x23, 0x2F, 0x1E, +0x3D, 0x01, 0x71, 0xFE, 0x8F, 0x01, 0x33, 0x5D, 0x3D, 0x3E, +0x1E, 0xFE, 0x8F, 0x02, 0x14, 0x3D, 0x48, 0x25, 0x2D, 0x52, +0x5B, 0x72, 0xFE, 0xAE, 0x01, 0x33, 0x5D, 0x3D, 0x3E, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x12, 0x00, 0x19, 0x40, 0x0B, 0x0D, 0x0C, +0x6B, 0x0F, 0x01, 0x04, 0x03, 0x69, 0x07, 0x06, 0x05, 0x2B, +0x2B, 0x00, 0xB4, 0x0A, 0x09, 0x52, 0x01, 0x01, 0x2B, 0x30, +0x31, 0x13, 0x36, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, +0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x17, +0xB2, 0x4A, 0xBA, 0x56, 0x69, 0x2D, 0x3C, 0x30, 0x55, 0x6B, +0x64, 0x02, 0x01, 0xD2, 0x4D, 0x6A, 0x78, 0xFE, 0xC3, 0x01, +0x2E, 0x5C, 0x43, 0x55, 0x30, 0xFE, 0xB8, 0x02, 0x14, 0x42, +0x00, 0x02, 0x00, 0x26, 0xFF, 0xF6, 0x02, 0x1C, 0x02, 0x1F, +0x00, 0x08, 0x00, 0x0D, 0x00, 0x1B, 0x40, 0x09, 0x03, 0x6E, +0x0B, 0x00, 0x0D, 0x09, 0x6D, 0x07, 0x01, 0x2B, 0x2B, 0x00, +0xB7, 0x05, 0x52, 0x0A, 0x00, 0x0C, 0x52, 0x01, 0x00, 0x2B, +0x2B, 0x30, 0x31, 0x13, 0x36, 0x32, 0x16, 0x10, 0x06, 0x22, +0x26, 0x10, 0x17, 0x14, 0x20, 0x10, 0x20, 0x68, 0x43, 0xEC, +0x85, 0x85, 0xEC, 0x85, 0x6D, 0x01, 0x1B, 0xFE, 0xE5, 0x01, +0xD7, 0x48, 0x91, 0xFE, 0xF8, 0x90, 0x90, 0x01, 0x08, 0x84, +0xC2, 0x01, 0x85, 0x00, 0x00, 0x02, 0x00, 0x4A, 0xFF, 0x1F, +0x02, 0x2B, 0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, +0x40, 0x0D, 0x12, 0x0B, 0x0A, 0x00, 0x6B, 0x14, 0x03, 0x1D, +0x0C, 0x6C, 0x06, 0x05, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, +0x08, 0x07, 0x52, 0x1B, 0x1A, 0x05, 0x0F, 0x0E, 0x52, 0x03, +0x02, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x37, 0x14, 0x16, 0x33, +0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x06, 0x15, 0x05, 0x14, +0x06, 0x23, 0x22, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x17, +0x33, 0x3E, 0x01, 0x33, 0x32, 0x16, 0xB5, 0x4F, 0x36, 0x3E, +0x47, 0x85, 0x36, 0x4F, 0x01, 0x76, 0x7A, 0x5D, 0x5A, 0x43, +0x02, 0x6B, 0x64, 0x02, 0x02, 0x27, 0x49, 0x32, 0x61, 0x76, +0xBD, 0x2F, 0x46, 0x62, 0x60, 0xC3, 0x47, 0x2F, 0x4D, 0x7F, +0x95, 0x42, 0xFE, 0xE7, 0x02, 0xF5, 0x42, 0x2B, 0x22, 0x92, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2B, 0xFF, 0x1F, 0x02, 0x0C, +0x02, 0x1F, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x24, 0x40, 0x0D, +0x06, 0x05, 0x6C, 0x1D, 0x0C, 0x05, 0x15, 0x6B, 0x17, 0x0B, +0x01, 0x00, 0x0C, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x04, 0x03, +0x52, 0x0F, 0x0E, 0x05, 0x1B, 0x1A, 0x52, 0x09, 0x08, 0x05, +0x2B, 0x2B, 0x30, 0x31, 0x25, 0x35, 0x34, 0x26, 0x23, 0x22, +0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x34, 0x36, 0x33, +0x32, 0x16, 0x17, 0x33, 0x37, 0x33, 0x11, 0x23, 0x11, 0x23, +0x06, 0x23, 0x22, 0x26, 0x01, 0xA1, 0x4F, 0x36, 0x85, 0x47, +0x3E, 0x36, 0x4F, 0xFE, 0x8A, 0x76, 0x61, 0x32, 0x49, 0x27, +0x02, 0x02, 0x64, 0x6B, 0x02, 0x43, 0x5A, 0x5D, 0x7A, 0xBD, +0x9A, 0x2F, 0x47, 0xC3, 0x60, 0x62, 0x46, 0x7C, 0x83, 0x92, +0x22, 0x2B, 0x42, 0xFD, 0x0B, 0x01, 0x19, 0x42, 0x95, 0x00, +0x00, 0x01, 0x00, 0x4A, 0x00, 0x00, 0x01, 0xA6, 0x02, 0x14, +0x00, 0x0E, 0x00, 0x09, 0xB3, 0x08, 0x6B, 0x06, 0x00, 0x2B, +0x00, 0x30, 0x31, 0x01, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, +0x11, 0x33, 0x15, 0x33, 0x3E, 0x01, 0x3B, 0x01, 0x01, 0xA6, +0x15, 0x6E, 0x69, 0x70, 0x6B, 0x02, 0x21, 0x75, 0x44, 0x15, +0x01, 0xBD, 0x5D, 0x60, 0xFF, 0x00, 0x02, 0x14, 0x66, 0x2F, +0x37, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0xF6, +0x01, 0xCA, 0x02, 0x1F, 0x00, 0x1F, 0x00, 0x23, 0x40, 0x0C, +0x02, 0x01, 0x6C, 0x18, 0x17, 0x05, 0x08, 0x07, 0x6C, 0x12, +0x11, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x1F, 0x00, 0x52, +0x1B, 0x1A, 0x05, 0x0B, 0x0A, 0x52, 0x10, 0x0F, 0x05, 0x2B, +0x2B, 0x30, 0x31, 0x01, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1E, +0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, +0x32, 0x35, 0x34, 0x26, 0x27, 0x2E, 0x01, 0x35, 0x34, 0x36, +0x33, 0x32, 0x17, 0x15, 0x26, 0x01, 0x11, 0x6B, 0x29, 0x33, +0x76, 0x52, 0x6C, 0x66, 0x5E, 0x50, 0x50, 0x54, 0x70, 0x2D, +0x39, 0x69, 0x55, 0x68, 0x65, 0x58, 0x56, 0x55, 0x01, 0xCD, +0x3E, 0x1E, 0x27, 0x0D, 0x1B, 0x4D, 0x4B, 0x45, 0x4F, 0x1E, +0x58, 0x24, 0x42, 0x20, 0x28, 0x0F, 0x1A, 0x4F, 0x3B, 0x48, +0x52, 0x1A, 0x57, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, +0xFF, 0xF6, 0x01, 0xBF, 0x02, 0xC3, 0x00, 0x15, 0x00, 0x1D, +0xB7, 0x15, 0x04, 0x03, 0x6B, 0x13, 0x0F, 0x0E, 0x0A, 0x2B, +0x00, 0x40, 0x0C, 0x0C, 0x0B, 0x52, 0x07, 0x06, 0x05, 0x10, +0x02, 0x52, 0x12, 0x00, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x33, 0x15, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, +0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, +0x33, 0x01, 0x07, 0xB8, 0xB8, 0x21, 0x31, 0x2E, 0x29, 0x32, +0x39, 0x5F, 0x4A, 0x6C, 0x6C, 0x6B, 0x02, 0x00, 0x52, 0xF6, +0x45, 0x2B, 0x0D, 0x55, 0x0A, 0x50, 0x68, 0x01, 0x00, 0x52, +0xC3, 0x00, 0x00, 0x01, 0x00, 0x45, 0xFF, 0xF6, 0x02, 0x02, +0x02, 0x14, 0x00, 0x13, 0x00, 0x1A, 0x40, 0x0B, 0x10, 0x6B, +0x0E, 0x0D, 0x04, 0x08, 0x07, 0x69, 0x05, 0x04, 0x05, 0x2B, +0x2B, 0x00, 0xB5, 0x02, 0x01, 0x52, 0x0B, 0x0A, 0x05, 0x2B, +0x30, 0x31, 0x25, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, +0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, +0x23, 0x27, 0x01, 0x9A, 0x4A, 0x5D, 0x5A, 0x54, 0x69, 0x2D, +0x36, 0x31, 0x55, 0x6B, 0x64, 0x02, 0x43, 0x4D, 0x63, 0x74, +0x01, 0x47, 0xFE, 0xC8, 0x55, 0x3F, 0x55, 0x30, 0x01, 0x47, +0xFD, 0xEC, 0x43, 0x00, 0x00, 0x01, 0x00, 0x21, 0x00, 0x00, +0x02, 0x17, 0x02, 0x14, 0x00, 0x07, 0x00, 0x09, 0x00, 0xB3, +0x05, 0x3D, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, +0x13, 0x33, 0x03, 0x23, 0x03, 0x96, 0x87, 0x02, 0x87, 0x71, +0xB4, 0x8F, 0xB3, 0x02, 0x14, 0xFE, 0x29, 0x01, 0xD7, 0xFD, +0xEC, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2B, +0x00, 0x00, 0x03, 0x02, 0x02, 0x14, 0x00, 0x0F, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x0B, 0x66, 0x0F, 0x07, 0x03, 0x08, 0x0D, +0x09, 0x5C, 0x05, 0x01, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x1B, +0x01, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x03, 0x23, +0x03, 0x23, 0x03, 0x23, 0x03, 0xA0, 0x59, 0x02, 0x56, 0x8F, +0x56, 0x02, 0x59, 0x71, 0x8A, 0x8A, 0x56, 0x02, 0x57, 0x8A, +0x8A, 0x02, 0x14, 0xFE, 0x48, 0x01, 0xB8, 0xFE, 0x48, 0x01, +0xB8, 0xFD, 0xEC, 0x01, 0xAE, 0xFE, 0x52, 0x02, 0x14, 0x00, +0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x02, 0x07, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x03, 0x00, 0x30, 0x31, 0x25, 0x23, 0x07, +0x23, 0x13, 0x03, 0x33, 0x17, 0x33, 0x37, 0x33, 0x03, 0x13, +0x23, 0x01, 0x1B, 0x02, 0x75, 0x74, 0xAE, 0xA9, 0x78, 0x70, +0x02, 0x6F, 0x74, 0xA9, 0xAE, 0x78, 0xCD, 0xCD, 0x01, 0x0F, +0x01, 0x05, 0xC2, 0xC2, 0xFE, 0xFB, 0xFE, 0xF1, 0x00, 0x00, +0x00, 0x01, 0x00, 0x26, 0xFF, 0x14, 0x02, 0x26, 0x02, 0x14, +0x00, 0x0D, 0x00, 0x09, 0x00, 0xB3, 0x07, 0x54, 0x09, 0x00, +0x2B, 0x30, 0x31, 0x1B, 0x01, 0x33, 0x13, 0x33, 0x03, 0x0E, +0x01, 0x23, 0x35, 0x32, 0x36, 0x37, 0x03, 0x99, 0x93, 0x02, +0x89, 0x6F, 0xC8, 0x34, 0x7C, 0x79, 0x55, 0x4B, 0x23, 0xD2, +0x02, 0x14, 0xFE, 0x67, 0x01, 0x99, 0xFD, 0xEC, 0x8B, 0x61, +0x54, 0x3A, 0x5E, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x4A, 0x00, 0x00, 0x01, 0xE3, 0x02, 0x14, 0x00, 0x0B, +0x00, 0x0E, 0x00, 0xB7, 0x06, 0x52, 0x04, 0x00, 0x0A, 0x51, +0x00, 0x00, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x15, 0x01, +0x15, 0x21, 0x15, 0x21, 0x35, 0x01, 0x35, 0x21, 0x4A, 0x01, +0x99, 0xFE, 0xE7, 0x01, 0x19, 0xFE, 0x67, 0x01, 0x19, 0xFE, +0xE7, 0x02, 0x14, 0x51, 0xFE, 0x91, 0x02, 0x52, 0x52, 0x01, +0x6F, 0x02, 0x00, 0x01, 0x00, 0x3A, 0xFF, 0x61, 0x01, 0xBF, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x23, 0x22, +0x08, 0x07, 0x06, 0x05, 0x00, 0x67, 0x1A, 0x19, 0x18, 0x12, +0x11, 0x05, 0x10, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x20, 0x1F, +0x51, 0x1D, 0x1C, 0x05, 0x14, 0x13, 0x57, 0x17, 0x16, 0x05, +0x0E, 0x0D, 0x52, 0x0B, 0x0A, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x01, 0x14, 0x06, 0x07, 0x15, 0x1E, 0x01, 0x1D, 0x01, +0x14, 0x16, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x26, 0x3D, 0x01, +0x34, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x3D, 0x01, 0x34, 0x36, +0x3B, 0x01, 0x15, 0x23, 0x22, 0x06, 0x15, 0x01, 0x21, 0x2D, +0x35, 0x35, 0x2D, 0x27, 0x3A, 0x3D, 0x70, 0x4F, 0x46, 0x57, +0x29, 0x29, 0x57, 0x46, 0x4F, 0x70, 0x3D, 0x3A, 0x27, 0x01, +0xDC, 0x40, 0x4A, 0x17, 0x02, 0x16, 0x49, 0x40, 0x7B, 0x44, +0x28, 0x52, 0x4A, 0x55, 0x94, 0x7B, 0x57, 0x7B, 0x95, 0x55, +0x49, 0x51, 0x27, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, +0xFF, 0x1F, 0x00, 0xEE, 0x03, 0x3D, 0x00, 0x03, 0x00, 0x09, +0xB3, 0x02, 0x67, 0x00, 0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, +0x11, 0x33, 0x11, 0x87, 0x67, 0xE1, 0x04, 0x1E, 0xFB, 0xE2, +0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0xFF, 0x61, 0x01, 0xDE, +0x03, 0x14, 0x00, 0x23, 0x00, 0x2D, 0x40, 0x10, 0x13, 0x12, +0x11, 0x0B, 0x0A, 0x05, 0x09, 0x66, 0x23, 0x1D, 0x1C, 0x1B, +0x01, 0x05, 0x00, 0x13, 0x2B, 0x00, 0x40, 0x12, 0x16, 0x15, +0x52, 0x19, 0x18, 0x05, 0x10, 0x0F, 0x57, 0x0D, 0x0C, 0x05, +0x04, 0x03, 0x51, 0x07, 0x06, 0x05, 0x2B, 0x2B, 0x2B, 0x30, +0x31, 0x13, 0x35, 0x34, 0x26, 0x2B, 0x01, 0x35, 0x33, 0x32, +0x16, 0x1D, 0x01, 0x14, 0x3B, 0x01, 0x15, 0x23, 0x22, 0x1D, +0x01, 0x14, 0x06, 0x2B, 0x01, 0x35, 0x33, 0x32, 0x36, 0x3D, +0x01, 0x34, 0x36, 0x37, 0x35, 0x2E, 0x01, 0xF8, 0x27, 0x3A, +0x3E, 0x71, 0x4F, 0x45, 0x57, 0x29, 0x29, 0x57, 0x45, 0x4F, +0x71, 0x3E, 0x3A, 0x27, 0x2D, 0x34, 0x34, 0x2D, 0x01, 0xDC, +0x7B, 0x45, 0x27, 0x51, 0x49, 0x55, 0x95, 0x7B, 0x57, 0x7B, +0x94, 0x55, 0x4A, 0x52, 0x28, 0x44, 0x7B, 0x40, 0x49, 0x16, +0x02, 0x17, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, +0x00, 0xCD, 0x02, 0x9C, 0x01, 0x9A, 0x00, 0x13, 0x00, 0x13, +0x00, 0x40, 0x0C, 0x03, 0x02, 0x59, 0x11, 0x10, 0x05, 0x07, +0x06, 0x59, 0x0D, 0x0C, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, +0x17, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, +0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x02, +0x5C, 0x40, 0x47, 0x71, 0x50, 0x43, 0x32, 0x32, 0x23, 0x37, +0x1E, 0x40, 0x47, 0x71, 0x4F, 0x44, 0x32, 0x32, 0x23, 0x36, +0x01, 0x72, 0x34, 0x71, 0x42, 0x32, 0x22, 0x2A, 0x33, 0x72, +0x43, 0x31, 0x22, 0x00, 0x00, 0x02, 0x00, 0x89, 0x00, 0x02, +0x03, 0x7F, 0x02, 0xA6, 0x00, 0x05, 0x00, 0x1A, 0x00, 0x09, +0x00, 0xB3, 0x02, 0x61, 0x04, 0x00, 0x2B, 0x30, 0x31, 0x01, +0x27, 0x37, 0x21, 0x35, 0x21, 0x01, 0x06, 0x26, 0x27, 0x26, +0x27, 0x36, 0x37, 0x16, 0x17, 0x1E, 0x01, 0x36, 0x37, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x06, 0x02, 0x37, 0x46, 0xA6, +0xFD, 0xF2, 0x02, 0xF6, 0xFE, 0x87, 0x4F, 0x94, 0x2D, 0x07, +0x15, 0x2A, 0x26, 0x14, 0x07, 0x25, 0x7A, 0x83, 0x3D, 0x0B, +0x24, 0x0E, 0x0E, 0x21, 0x0C, 0x5B, 0x01, 0x59, 0x46, 0xA6, +0x61, 0xFD, 0x5D, 0x01, 0x41, 0x44, 0x09, 0x1F, 0x19, 0x15, +0x19, 0x0A, 0x35, 0x29, 0x0D, 0x15, 0x05, 0x0D, 0x2F, 0x2B, +0x0D, 0x05, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6C, +0xFF, 0xAC, 0x03, 0x84, 0x03, 0x36, 0x00, 0x2D, 0x00, 0x0B, +0x00, 0xB5, 0x23, 0x00, 0x5D, 0x2C, 0x25, 0x05, 0x2B, 0x30, +0x31, 0x01, 0x21, 0x06, 0x07, 0x36, 0x37, 0x36, 0x17, 0x1E, +0x01, 0x17, 0x16, 0x06, 0x0F, 0x01, 0x26, 0x27, 0x36, 0x37, +0x3E, 0x02, 0x27, 0x2E, 0x01, 0x27, 0x26, 0x06, 0x07, 0x06, +0x07, 0x26, 0x27, 0x3E, 0x01, 0x37, 0x21, 0x35, 0x21, 0x36, +0x37, 0x16, 0x17, 0x06, 0x07, 0x21, 0x03, 0x84, 0xFE, 0x5C, +0x22, 0x21, 0x39, 0x3F, 0x44, 0x46, 0x27, 0x3F, 0x0D, 0x26, +0x68, 0x5B, 0x2D, 0x15, 0x16, 0x23, 0x0A, 0x28, 0x41, 0x17, +0x12, 0x07, 0x1F, 0x13, 0x32, 0x68, 0x32, 0x2D, 0x46, 0x26, +0x24, 0x11, 0x4D, 0x28, 0xFE, 0xF0, 0x01, 0x2E, 0x14, 0x1D, +0x32, 0x2A, 0x1C, 0x0E, 0x01, 0x87, 0x02, 0x1C, 0x6B, 0x57, +0x17, 0x0A, 0x0A, 0x12, 0x0E, 0x37, 0x29, 0x67, 0xB4, 0x2D, +0x11, 0x29, 0x30, 0x0C, 0x05, 0x14, 0x3E, 0x52, 0x28, 0x14, +0x1B, 0x07, 0x0D, 0x13, 0x15, 0x14, 0x33, 0x12, 0x0E, 0x1C, +0xAE, 0x7C, 0x5D, 0x40, 0x7D, 0x0B, 0x0A, 0x7A, 0x2E, 0x00, +0x00, 0x04, 0x00, 0x6F, 0xFF, 0xC9, 0x03, 0xB0, 0x03, 0x3E, +0x00, 0x14, 0x00, 0x18, 0x00, 0x2F, 0x00, 0x3E, 0x00, 0x1B, +0xB5, 0x2B, 0x24, 0x62, 0x3C, 0x22, 0x05, 0x2B, 0x00, 0x40, +0x0C, 0x2F, 0x19, 0x59, 0x38, 0x37, 0x05, 0x07, 0x00, 0x62, +0x13, 0x09, 0x05, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x21, 0x06, +0x07, 0x26, 0x27, 0x36, 0x37, 0x23, 0x35, 0x33, 0x36, 0x37, +0x36, 0x37, 0x17, 0x06, 0x07, 0x06, 0x07, 0x21, 0x13, 0x25, +0x37, 0x05, 0x01, 0x22, 0x2E, 0x01, 0x35, 0x36, 0x37, 0x36, +0x16, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x06, 0x07, 0x26, +0x27, 0x15, 0x16, 0x0E, 0x01, 0x27, 0x26, 0x07, 0x06, 0x17, +0x1E, 0x02, 0x33, 0x32, 0x3E, 0x01, 0x27, 0x35, 0x26, 0x03, +0x20, 0xFE, 0x65, 0x41, 0x78, 0x23, 0x26, 0x64, 0x31, 0xA9, +0xDB, 0x15, 0x18, 0x04, 0x0E, 0x5A, 0x0F, 0x03, 0x15, 0x07, +0x01, 0x6B, 0x64, 0xFE, 0xE8, 0x2F, 0x01, 0x15, 0xFE, 0x21, +0x2C, 0x53, 0x3C, 0x04, 0x46, 0x34, 0x71, 0x12, 0x62, 0x5D, +0x75, 0x19, 0x1C, 0x6E, 0x2F, 0x02, 0x31, 0x50, 0x2F, 0x20, +0x1A, 0x1A, 0x01, 0x01, 0x1A, 0x28, 0x16, 0x14, 0x22, 0x11, +0x01, 0x1D, 0x02, 0x49, 0x71, 0x94, 0x1F, 0x1F, 0x71, 0x56, +0x62, 0x2C, 0x3A, 0x0B, 0x22, 0x24, 0x21, 0x0B, 0x34, 0x0F, +0xFE, 0x92, 0x7B, 0x52, 0x75, 0xFE, 0x34, 0x22, 0x47, 0x32, +0x55, 0x2F, 0x1F, 0x02, 0x08, 0x72, 0x98, 0x23, 0x5F, 0x23, +0x27, 0x4D, 0x14, 0x0C, 0x2D, 0x4B, 0x1F, 0xE1, 0x01, 0x0F, +0x12, 0x25, 0x12, 0x22, 0x0F, 0x0A, 0x21, 0x11, 0x39, 0x11, +0x00, 0x00, 0x00, 0x03, 0x00, 0x92, 0x00, 0x19, 0x03, 0x8E, +0x02, 0x9F, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x09, +0x00, 0xB3, 0x09, 0x5D, 0x0B, 0x00, 0x2B, 0x30, 0x31, 0x37, +0x26, 0x02, 0x37, 0x16, 0x17, 0x06, 0x12, 0x17, 0x01, 0x21, +0x35, 0x21, 0x03, 0x22, 0x2E, 0x02, 0x27, 0x36, 0x37, 0x1E, +0x02, 0x37, 0x16, 0x17, 0x06, 0xB8, 0x21, 0x05, 0x16, 0x30, +0x32, 0x18, 0x06, 0x1B, 0x02, 0x70, 0xFE, 0x3F, 0x01, 0xC1, +0x5B, 0x31, 0x5F, 0x5A, 0x4C, 0x1A, 0x2C, 0x2C, 0x24, 0x5E, +0x6D, 0x67, 0x04, 0x04, 0x4C, 0x19, 0xBD, 0x01, 0x13, 0xB6, +0x04, 0x04, 0xB1, 0xFE, 0xFA, 0xB3, 0x01, 0xF4, 0x5D, 0xFD, +0xB7, 0x0F, 0x27, 0x47, 0x5F, 0x0E, 0x0D, 0x5D, 0x30, 0x0C, +0x0A, 0x31, 0x31, 0x03, 0x00, 0x03, 0x00, 0x78, 0xFF, 0xD5, +0x03, 0xD0, 0x03, 0x0A, 0x00, 0x03, 0x00, 0x27, 0x00, 0x36, +0x00, 0x20, 0x40, 0x10, 0x25, 0x0F, 0x05, 0x61, 0x33, 0x23, +0x1F, 0x0A, 0x2C, 0x62, 0x18, 0x00, 0x03, 0x62, 0x01, 0x00, +0x2B, 0x2B, 0x2B, 0x00, 0xB5, 0x20, 0x04, 0x62, 0x26, 0x22, +0x05, 0x2B, 0x30, 0x31, 0x37, 0x23, 0x11, 0x33, 0x05, 0x21, +0x15, 0x16, 0x17, 0x16, 0x17, 0x07, 0x26, 0x27, 0x26, 0x27, +0x15, 0x16, 0x06, 0x07, 0x0E, 0x01, 0x27, 0x2E, 0x01, 0x35, +0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x35, 0x21, 0x35, 0x21, +0x35, 0x33, 0x15, 0x21, 0x01, 0x26, 0x07, 0x06, 0x17, 0x14, +0x16, 0x17, 0x16, 0x37, 0x36, 0x27, 0x35, 0x26, 0x27, 0xDA, +0x62, 0x62, 0x02, 0xF6, 0xFE, 0xFA, 0x64, 0x66, 0x09, 0x23, +0x3F, 0x1B, 0x0A, 0x57, 0x3B, 0x01, 0x17, 0x1E, 0x1A, 0x4C, +0x26, 0x4E, 0x6B, 0x01, 0x44, 0x43, 0x5B, 0x2F, 0x08, 0xFE, +0xD6, 0x01, 0x2A, 0x61, 0x01, 0x06, 0xFE, 0x44, 0x26, 0x1A, +0x23, 0x02, 0x32, 0x26, 0x2A, 0x1F, 0x1A, 0x05, 0x19, 0x28, +0x8F, 0x02, 0x17, 0x81, 0xFF, 0x38, 0x4E, 0x06, 0x18, 0x47, +0x13, 0x07, 0x41, 0x26, 0x22, 0x26, 0x4E, 0x1C, 0x1E, 0x17, +0x01, 0x01, 0x6F, 0x4F, 0x5D, 0x40, 0x3C, 0x0C, 0x0D, 0x04, +0xD4, 0x62, 0x83, 0x83, 0xFE, 0x7E, 0x01, 0x16, 0x26, 0x35, +0x27, 0x3A, 0x01, 0x01, 0x1A, 0x20, 0x2D, 0x52, 0x11, 0x09, +0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0xFF, 0xE7, 0x03, 0x61, +0x02, 0xFB, 0x00, 0x2A, 0x00, 0x09, 0xB3, 0x16, 0x61, 0x14, +0x00, 0x2B, 0x00, 0x30, 0x31, 0x17, 0x27, 0x13, 0x17, 0x03, +0x36, 0x37, 0x36, 0x17, 0x1E, 0x02, 0x17, 0x1E, 0x02, 0x33, +0x3E, 0x02, 0x37, 0x35, 0x33, 0x15, 0x0E, 0x03, 0x27, 0x06, +0x2E, 0x01, 0x27, 0x2E, 0x02, 0x27, 0x26, 0x07, 0x06, 0x07, +0x06, 0x07, 0xD0, 0x5C, 0x9A, 0x61, 0x42, 0x04, 0x05, 0x46, +0x3A, 0x22, 0x26, 0x16, 0x0B, 0x0A, 0x14, 0x26, 0x1E, 0x2F, +0x36, 0x17, 0x03, 0x61, 0x02, 0x16, 0x2F, 0x5C, 0x3C, 0x3D, +0x54, 0x23, 0x0B, 0x08, 0x10, 0x17, 0x15, 0x17, 0x19, 0x14, +0x10, 0x11, 0x09, 0x09, 0x12, 0x02, 0xF2, 0x12, 0xFE, 0xCD, +0x01, 0x02, 0x0D, 0x27, 0x16, 0x44, 0x42, 0x22, 0x26, 0x45, +0x30, 0x02, 0x4F, 0x62, 0x34, 0x2E, 0x2F, 0x35, 0x66, 0x63, +0x46, 0x01, 0x02, 0x4D, 0x64, 0x2F, 0x1B, 0x34, 0x2B, 0x0E, +0x13, 0x04, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x01, 0x00, 0x27, +0xFF, 0xC9, 0x03, 0xDD, 0x03, 0x25, 0x00, 0x1B, 0x00, 0x23, +0x40, 0x0C, 0x15, 0x0D, 0x62, 0x13, 0x0F, 0x05, 0x19, 0x01, +0x5D, 0x17, 0x0B, 0x05, 0x2B, 0x2B, 0x00, 0x40, 0x0C, 0x10, +0x0C, 0x00, 0x62, 0x1A, 0x16, 0x12, 0x0A, 0x05, 0x61, 0x07, +0x00, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x23, 0x15, 0x0E, 0x01, +0x07, 0x23, 0x35, 0x33, 0x3E, 0x01, 0x37, 0x35, 0x21, 0x15, +0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, +0x33, 0x15, 0x33, 0x03, 0xDD, 0xEA, 0x02, 0xBE, 0x86, 0x73, +0x73, 0x5E, 0x88, 0x03, 0xFE, 0xD0, 0x62, 0xDD, 0xDD, 0x62, +0x01, 0x30, 0x5D, 0xEA, 0x01, 0xCB, 0xC0, 0x87, 0xB7, 0x04, +0x61, 0x03, 0x80, 0x5E, 0xC0, 0xDD, 0xDD, 0x62, 0xE6, 0xE6, +0xF8, 0xF8, 0x00, 0x01, 0x00, 0xB0, 0xFF, 0xB3, 0x03, 0x1F, +0x03, 0x1B, 0x00, 0x14, 0x00, 0x0A, 0xB4, 0x14, 0x03, 0x5E, +0x01, 0x01, 0x2B, 0x00, 0x30, 0x31, 0x05, 0x23, 0x11, 0x33, +0x11, 0x26, 0x33, 0x1E, 0x01, 0x17, 0x16, 0x17, 0x07, 0x26, +0x27, 0x2E, 0x02, 0x27, 0x26, 0x27, 0x01, 0x0E, 0x5E, 0x5E, +0x0B, 0x01, 0x76, 0xFA, 0x7F, 0x0A, 0x22, 0x12, 0x24, 0x0F, +0x41, 0x7F, 0x7F, 0x3F, 0x39, 0x15, 0x4D, 0x03, 0x68, 0xFE, +0xC5, 0x05, 0x2D, 0x43, 0x1B, 0x03, 0x06, 0x60, 0x05, 0x04, +0x0F, 0x1F, 0x23, 0x14, 0x11, 0x09, 0x00, 0x04, 0x00, 0x27, +0xFF, 0xBB, 0x03, 0xF9, 0x03, 0x41, 0x00, 0x08, 0x00, 0x1D, +0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x40, 0x18, 0x2B, 0x62, +0x29, 0x00, 0x24, 0x62, 0x22, 0x00, 0x01, 0x59, 0x16, 0x15, +0x04, 0x12, 0x0A, 0x62, 0x10, 0x0C, 0x05, 0x1B, 0x1A, 0x59, +0x05, 0x01, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x0F, +0x07, 0x59, 0x18, 0x00, 0x0D, 0x09, 0x62, 0x13, 0x0F, 0x05, +0x0D, 0x09, 0x5A, 0x03, 0x01, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x06, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x13, +0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, +0x33, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, +0x01, 0x26, 0x27, 0x36, 0x37, 0x35, 0x33, 0x15, 0x06, 0x05, +0x26, 0x27, 0x35, 0x33, 0x15, 0x16, 0x17, 0x03, 0x0E, 0x18, +0x31, 0x46, 0x33, 0x33, 0x46, 0xA1, 0xFE, 0x6B, 0x62, 0xFE, +0x56, 0x01, 0xAA, 0x62, 0x82, 0x18, 0x65, 0x91, 0x66, 0x32, +0xFC, 0xAB, 0x27, 0x24, 0x80, 0x04, 0x62, 0x02, 0x02, 0x6D, +0x70, 0x10, 0x62, 0x09, 0x64, 0x02, 0xCF, 0x19, 0x46, 0x32, +0x32, 0x46, 0x32, 0xFE, 0xFC, 0xFD, 0xEE, 0x02, 0x12, 0x62, +0xCC, 0xCC, 0x25, 0x28, 0x48, 0x66, 0x66, 0x48, 0x48, 0x32, +0xFD, 0xA2, 0x1F, 0x1F, 0xA9, 0xAE, 0x2F, 0x2F, 0xCE, 0xC2, +0xC6, 0xB7, 0x34, 0x2D, 0x9F, 0xB8, 0x00, 0x01, 0x00, 0x6C, +0x01, 0x3B, 0x03, 0x94, 0x01, 0xA6, 0x00, 0x03, 0x00, 0x09, +0x00, 0xB3, 0x03, 0x6B, 0x01, 0x00, 0x2B, 0x30, 0x31, 0x13, +0x35, 0x21, 0x15, 0x6C, 0x03, 0x28, 0x01, 0x3B, 0x6B, 0x6B, +0x00, 0x00, 0x00, 0x02, 0x00, 0x2D, 0xFF, 0xAD, 0x03, 0xD3, +0x03, 0x2A, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x32, 0x40, 0x13, +0x1E, 0x16, 0x12, 0x6C, 0x1C, 0x18, 0x06, 0x06, 0x00, 0x67, +0x10, 0x04, 0x05, 0x0E, 0x0A, 0x69, 0x08, 0x02, 0x05, 0x2B, +0x2B, 0x2B, 0x00, 0x40, 0x12, 0x15, 0x5C, 0x13, 0x00, 0x19, +0x11, 0x0D, 0x03, 0x5D, 0x1F, 0x1B, 0x0B, 0x07, 0x0F, 0x0F, +0x55, 0x01, 0x00, 0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x01, 0x15, +0x33, 0x35, 0x25, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, +0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, +0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, +0x02, 0x19, 0xBC, 0xFE, 0xDD, 0x67, 0xBC, 0x69, 0x95, 0x95, +0xFE, 0x74, 0x9E, 0x02, 0x8D, 0xFD, 0x73, 0x6C, 0x7B, 0x7B, +0x6C, 0x02, 0x23, 0xF6, 0xF6, 0x5D, 0xAA, 0xAA, 0xAA, 0xAA, +0x5D, 0xFE, 0xB5, 0x01, 0x4B, 0xFE, 0x2D, 0x5C, 0x47, 0x02, +0x76, 0x5D, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x26, +0xFF, 0xC9, 0x03, 0xDA, 0x03, 0x36, 0x00, 0x04, 0x00, 0x22, +0x00, 0x20, 0xB5, 0x1E, 0x1A, 0x6E, 0x0A, 0x06, 0x05, 0x2B, +0x00, 0x40, 0x10, 0x1D, 0x07, 0x57, 0x1B, 0x09, 0x05, 0x21, +0x5A, 0x1F, 0x05, 0x04, 0x19, 0x0B, 0x58, 0x00, 0x01, 0x2B, +0x2B, 0x2B, 0x30, 0x31, 0x13, 0x21, 0x26, 0x27, 0x06, 0x01, +0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, 0x06, 0x07, +0x27, 0x36, 0x37, 0x33, 0x16, 0x17, 0x07, 0x26, 0x27, 0x15, +0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xF1, +0x02, 0x1E, 0x92, 0x7D, 0x7D, 0xFE, 0xCE, 0x01, 0x78, 0xFE, +0xE2, 0x01, 0x1E, 0xF1, 0x32, 0x52, 0x2E, 0xE3, 0xB4, 0x86, +0xB4, 0xE3, 0x2E, 0x3F, 0x42, 0xF4, 0x01, 0x1E, 0xFE, 0xE2, +0x01, 0x78, 0xFC, 0xA2, 0x02, 0x1C, 0x5F, 0x76, 0x76, 0xFD, +0xA8, 0xB5, 0x57, 0x95, 0x47, 0x1F, 0x2D, 0x5A, 0x7B, 0xA2, +0xA2, 0x7B, 0x5A, 0x21, 0x2A, 0x46, 0x95, 0x57, 0xB5, 0x5A, +0x00, 0x03, 0x00, 0x3D, 0xFF, 0xB2, 0x03, 0xC4, 0x03, 0x44, +0x00, 0x03, 0x00, 0x28, 0x00, 0x34, 0x00, 0x39, 0x40, 0x14, +0x32, 0x20, 0x68, 0x34, 0x01, 0x30, 0x6E, 0x2E, 0x00, 0x2A, +0x68, 0x1E, 0x2C, 0x04, 0x23, 0x22, 0x6C, 0x13, 0x14, 0x05, +0x2B, 0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x16, 0x29, 0x58, 0x31, +0x2D, 0x04, 0x10, 0x0F, 0x0E, 0x5B, 0x26, 0x25, 0x06, 0x21, +0x1D, 0x15, 0x5B, 0x1F, 0x02, 0x03, 0x58, 0x01, 0x00, 0x2B, +0x2B, 0x2B, 0x2B, 0x30, 0x31, 0x13, 0x35, 0x21, 0x15, 0x13, +0x17, 0x0E, 0x08, 0x22, 0x23, 0x22, 0x2E, 0x01, 0x35, 0x11, +0x23, 0x0E, 0x01, 0x07, 0x27, 0x3E, 0x01, 0x37, 0x23, 0x35, +0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, +0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, +0x23, 0xEC, 0x02, 0x28, 0x4B, 0x65, 0x02, 0x03, 0x07, 0x04, +0x0F, 0x09, 0x1C, 0x14, 0x2F, 0x22, 0x22, 0x5A, 0x4C, 0x1C, +0x8D, 0x04, 0x89, 0xA5, 0x3B, 0x90, 0x71, 0x06, 0xEA, 0x03, +0x4C, 0xFE, 0xFD, 0x1A, 0x43, 0x42, 0x17, 0x1B, 0xFD, 0x84, +0x68, 0x01, 0x6F, 0x6E, 0x01, 0x6F, 0x68, 0x01, 0xE1, 0x58, +0x58, 0xFE, 0xE6, 0x0C, 0x2E, 0x2C, 0x3E, 0x19, 0x26, 0x0A, +0x13, 0x02, 0x07, 0x0D, 0x21, 0x27, 0x01, 0x17, 0x94, 0xA8, +0x3C, 0x55, 0x2F, 0x7E, 0x76, 0x5B, 0x5B, 0xF1, 0x16, 0x0A, +0x2C, 0x02, 0x42, 0x8A, 0xE2, 0x65, 0x65, 0xE2, 0x00, 0x05, +0x00, 0x26, 0xFF, 0xAD, 0x03, 0xDA, 0x03, 0x20, 0x00, 0x03, +0x00, 0x07, 0x00, 0x0B, 0x00, 0x0F, 0x00, 0x32, 0x00, 0x3C, +0x40, 0x1A, 0x05, 0x02, 0x6C, 0x28, 0x01, 0x19, 0x18, 0x69, +0x20, 0x1F, 0x05, 0x31, 0x6F, 0x10, 0x00, 0x2A, 0x6C, 0x0E, +0x09, 0x04, 0x0C, 0x0B, 0x68, 0x07, 0x00, 0x05, 0x2B, 0x2B, +0x2B, 0x2B, 0x2B, 0x00, 0x40, 0x13, 0x0A, 0x01, 0x55, 0x29, +0x01, 0x2B, 0x27, 0x26, 0x14, 0x52, 0x0D, 0x06, 0x07, 0x0F, +0x04, 0x4D, 0x08, 0x03, 0x05, 0x2B, 0x2B, 0x2B, 0x30, 0x31, +0x01, 0x35, 0x23, 0x15, 0x17, 0x23, 0x15, 0x33, 0x37, 0x33, +0x35, 0x23, 0x1D, 0x01, 0x33, 0x35, 0x03, 0x11, 0x33, 0x26, +0x27, 0x23, 0x06, 0x07, 0x33, 0x15, 0x14, 0x06, 0x07, 0x27, +0x3E, 0x01, 0x3D, 0x01, 0x06, 0x07, 0x27, 0x36, 0x37, 0x2B, +0x01, 0x11, 0x21, 0x11, 0x23, 0x16, 0x17, 0x07, 0x26, 0x27, +0x11, 0x01, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0x68, 0xDD, 0xDD, +0xDD, 0x94, 0x44, 0x50, 0x43, 0x5C, 0x43, 0x50, 0x50, 0x81, +0x99, 0x28, 0x85, 0x54, 0x62, 0x75, 0x29, 0xA3, 0x7B, 0x55, +0x6C, 0x02, 0xFA, 0xC1, 0x7B, 0xA3, 0x29, 0x6D, 0x58, 0x02, +0x6E, 0x5D, 0x5D, 0x4D, 0x63, 0xB0, 0x5D, 0xAA, 0x63, 0x63, +0xFD, 0x96, 0x01, 0x46, 0x34, 0x3B, 0x3B, 0x34, 0x14, 0x85, +0x91, 0x26, 0x5A, 0x24, 0x59, 0x65, 0x04, 0x3D, 0x2C, 0x5F, +0x3B, 0x4E, 0x01, 0xB4, 0xFE, 0x4C, 0x4E, 0x3B, 0x5F, 0x2B, +0x33, 0xFE, 0xD5, 0x00, }; #endif \ No newline at end of file diff --git a/examples/WioTerminal/use_LovyanGFX/use_LovyanGFX.ino b/examples/WioTerminal/use_LovyanGFX/use_LovyanGFX.ino index 83a30af..d783e5a 100644 --- a/examples/WioTerminal/use_LovyanGFX/use_LovyanGFX.ino +++ b/examples/WioTerminal/use_LovyanGFX/use_LovyanGFX.ino @@ -6,7 +6,7 @@ #include #include -static LGFX lcd; +static LGFX lcd; OpenFontRender render; @@ -15,13 +15,14 @@ void setup() // put your setup code here, to run once: Serial.begin(115200); Serial.flush(); - delay(50); - + delay(50); + lcd.begin(); lcd.setRotation(1); lcd.fillScreen(TFT_BLACK); digitalWrite(LCD_BACKLIGHT, HIGH); // turn on the backlight + render.setSerial(Serial); // Need to print render library message render.showFreeTypeVersion(); // print FreeType version render.showCredit(); // print FTL credit @@ -34,8 +35,9 @@ void setup() render.setDrawer(lcd); // Set drawer object /* You can also be written as follows. */ // render.setDrawPixel(lcd.drawPixel); - // render.setStartWrite(lcd.startWrite); // optional - // render.setEndWrite(lcd.endWrite); // optional + // render.setDrawFastHLine(Lcd.drawFastHLine); // optional + // render.setStartWrite(lcd.startWrite); // optional + // render.setEndWrite(lcd.endWrite); // optional unsigned long t_start = millis();