From fd0c47233ec8de72104633b910004a5eeff7854c Mon Sep 17 00:00:00 2001 From: Pavel Brychta Date: Thu, 5 Dec 2019 18:18:18 +0100 Subject: [PATCH 1/3] WIP: just add lvgl6.1 --- src/README.md | 14 +- src/docs/CODING_STYLE.md | 2 +- src/library.json | 14 + src/lv_conf_template.h | 98 +- src/lvgl.h | 5 + src/lvgl.mk | 8 + .../FontAwesome5-Solid+Brands+Regular.woff | Bin 0 -> 353228 bytes .../built_in_font/built_in_font_gen.py | 4 +- src/scripts/lv_conf_checker.py | 6 +- src/src/lv_conf_checker.h | 142 +- src/src/lv_core/lv_core.mk | 1 + src/src/lv_core/lv_debug.c | 193 + src/src/lv_core/lv_debug.h | 154 + src/src/lv_core/lv_group.c | 7 +- src/src/lv_core/lv_indev.c | 17 +- src/src/lv_core/lv_obj.c | 373 +- src/src/lv_core/lv_obj.h | 26 +- src/src/lv_core/lv_refr.c | 10 +- src/src/lv_core/lv_style.c | 9 +- src/src/lv_core/lv_style.h | 24 +- src/src/lv_draw/lv_draw.c | 5 +- src/src/lv_draw/lv_draw_arc.c | 158 +- src/src/lv_draw/lv_draw_basic.c | 124 +- src/src/lv_draw/lv_draw_img.c | 80 +- src/src/lv_draw/lv_draw_img.h | 47 +- src/src/lv_draw/lv_draw_label.c | 79 +- src/src/lv_draw/lv_draw_label.h | 15 +- src/src/lv_draw/lv_draw_line.c | 5 +- src/src/lv_draw/lv_draw_triangle.c | 3 +- src/src/lv_draw/lv_img_cache.c | 15 +- src/src/lv_draw/lv_img_decoder.c | 59 +- src/src/lv_font/lv_font.h | 16 +- src/src/lv_font/lv_font_fmt_txt.c | 226 +- src/src/lv_font/lv_font_fmt_txt.h | 9 +- src/src/lv_font/lv_font_roboto_12.c | 2677 +++--- src/src/lv_font/lv_font_roboto_12_subpx.c | 3419 ++++++++ src/src/lv_font/lv_font_roboto_16.c | 3625 ++++---- src/src/lv_font/lv_font_roboto_22.c | 5589 ++++++------ src/src/lv_font/lv_font_roboto_28.c | 7716 +++++++++-------- .../lv_font/lv_font_roboto_28_compressed.c | 2451 ++++++ src/src/lv_font/lv_font_unscii_8.c | 3 +- src/src/lv_font/lv_symbol_def.h | 115 +- src/src/lv_hal/lv_hal_disp.c | 11 +- src/src/lv_hal/lv_hal_indev.c | 3 +- src/src/lv_misc/lv_anim.c | 3 +- src/src/lv_misc/lv_anim.h | 4 +- src/src/lv_misc/lv_area.c | 13 + src/src/lv_misc/lv_area.h | 14 +- src/src/lv_misc/lv_bidi.c | 540 ++ src/src/lv_misc/lv_bidi.h | 76 + src/src/lv_misc/lv_color.c | 60 +- src/src/lv_misc/lv_color.h | 314 +- src/src/lv_misc/lv_fs.c | 7 +- src/src/lv_misc/lv_fs.h | 1 + src/src/lv_misc/lv_log.c | 1 + src/src/lv_misc/lv_log.h | 6 + src/src/lv_misc/lv_math.c | 106 +- src/src/lv_misc/lv_math.h | 15 + src/src/lv_misc/lv_mem.c | 4 +- src/src/lv_misc/lv_mem.h | 21 - src/src/lv_misc/lv_misc.mk | 3 + src/src/lv_misc/lv_printf.c | 852 ++ src/src/lv_misc/lv_printf.h | 75 + src/src/lv_misc/lv_task.c | 46 +- src/src/lv_misc/lv_txt.c | 216 +- src/src/lv_misc/lv_txt.h | 4 +- src/src/lv_objx/lv_arc.c | 25 +- src/src/lv_objx/lv_bar.c | 36 +- src/src/lv_objx/lv_bar.h | 5 + src/src/lv_objx/lv_btn.c | 42 +- src/src/lv_objx/lv_btnm.c | 96 +- src/src/lv_objx/lv_btnm.h | 2 + src/src/lv_objx/lv_calendar.c | 72 +- src/src/lv_objx/lv_calendar.h | 6 +- src/src/lv_objx/lv_canvas.c | 94 +- src/src/lv_objx/lv_canvas.h | 23 +- src/src/lv_objx/lv_cb.c | 25 +- src/src/lv_objx/lv_cb.h | 2 +- src/src/lv_objx/lv_chart.c | 418 +- src/src/lv_objx/lv_chart.h | 30 +- src/src/lv_objx/lv_cont.c | 50 +- src/src/lv_objx/lv_cpicker.c | 1068 +++ src/src/lv_objx/lv_cpicker.h | 263 + src/src/lv_objx/lv_ddlist.c | 124 +- src/src/lv_objx/lv_gauge.c | 32 +- src/src/lv_objx/lv_img.c | 50 +- src/src/lv_objx/lv_imgbtn.c | 70 +- src/src/lv_objx/lv_kb.c | 62 +- src/src/lv_objx/lv_kb.h | 1 + src/src/lv_objx/lv_label.c | 327 +- src/src/lv_objx/lv_label.h | 20 +- src/src/lv_objx/lv_led.c | 17 +- src/src/lv_objx/lv_line.c | 38 +- src/src/lv_objx/lv_list.c | 133 +- src/src/lv_objx/lv_list.h | 21 +- src/src/lv_objx/lv_lmeter.c | 62 +- src/src/lv_objx/lv_lmeter.h | 15 + src/src/lv_objx/lv_mbox.c | 46 +- src/src/lv_objx/lv_mbox.h | 2 +- src/src/lv_objx/lv_objx.mk | 1 + src/src/lv_objx/lv_objx_templ.c | 14 +- src/src/lv_objx/lv_page.c | 68 +- src/src/lv_objx/lv_page.h | 4 +- src/src/lv_objx/lv_preload.c | 39 +- src/src/lv_objx/lv_preload.h | 3 +- src/src/lv_objx/lv_roller.c | 57 +- src/src/lv_objx/lv_slider.c | 69 +- src/src/lv_objx/lv_slider.h | 35 +- src/src/lv_objx/lv_spinbox.c | 35 +- src/src/lv_objx/lv_sw.c | 28 +- src/src/lv_objx/lv_ta.c | 216 +- src/src/lv_objx/lv_ta.h | 5 +- src/src/lv_objx/lv_table.c | 71 +- src/src/lv_objx/lv_tabview.c | 110 +- src/src/lv_objx/lv_tabview.h | 4 +- src/src/lv_objx/lv_tileview.c | 32 +- src/src/lv_objx/lv_tileview.h | 6 +- src/src/lv_objx/lv_win.c | 84 +- src/src/lv_objx/lv_win.h | 13 +- src/src/lv_themes/lv_theme_material.c | 5 +- src/src/lv_themes/lv_theme_nemo.c | 1 - src/src/lv_version.h | 2 +- 122 files changed, 23115 insertions(+), 11002 deletions(-) create mode 100644 src/library.json create mode 100644 src/lvgl.mk create mode 100644 src/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff mode change 100644 => 100755 src/scripts/lv_conf_checker.py create mode 100644 src/src/lv_core/lv_debug.c create mode 100644 src/src/lv_core/lv_debug.h create mode 100644 src/src/lv_font/lv_font_roboto_12_subpx.c create mode 100644 src/src/lv_font/lv_font_roboto_28_compressed.c create mode 100644 src/src/lv_misc/lv_bidi.c create mode 100644 src/src/lv_misc/lv_bidi.h create mode 100644 src/src/lv_misc/lv_printf.c create mode 100644 src/src/lv_misc/lv_printf.h create mode 100644 src/src/lv_objx/lv_cpicker.c create mode 100644 src/src/lv_objx/lv_cpicker.h diff --git a/src/README.md b/src/README.md index 8f71b52..9d17088 100644 --- a/src/README.md +++ b/src/README.md @@ -2,7 +2,9 @@

-
+

+ +

@@ -81,7 +83,7 @@ Choose a project with your favourite IDE: | Eclipse | CodeBlocks | Visual Studio | PlatformIO | Qt Creator | |-------------|-------------|---------------|-----------|------------| | [![Eclipse](https://littlevgl.com/logo/ide/eclipse.jpg)](https://github.com/littlevgl/pc_simulator_sdl_eclipse) | [![CodeBlocks](https://littlevgl.com/logo/ide/codeblocks.jpg)](https://github.com/littlevgl/pc_simulator_win_codeblocks) | [![VisualStudio](https://littlevgl.com/logo/ide/visualstudio.jpg)](https://github.com/littlevgl/visual_studio_2017_sdl_x64) | [![PlatformIO](https://littlevgl.com/logo/ide/platformio.jpg)](https://github.com/littlevgl/pc_simulator_sdl_platformio) | [![QtCreator](https://littlevgl.com/logo/ide/qtcreator.jpg)](https://blog.littlevgl.com/2019-01-03/qt-creator) | -| Cross-platform
with SDL | Native Windows | Cross-platform
with SDL | Cross-platform
with SDL | Cross-platform
with SDL | +| Cross-platform
with SDL
(Recommended on
Linux and Mac) | Native Windows | Windows
with SDL | Cross-platform
with SDL | Cross-platform
with SDL | ## Add LittlevGL to your project @@ -91,7 +93,7 @@ You can use the [Simulators](https://docs.littlevgl.com/en/html/get-started/pc-s 1. [Download](https://littlevgl.com/download) or [Clone](https://github.com/littlevgl/lvgl) the library 2. Copy the `lvgl` folder into your project -3. Copy `lvgl/lv_conf_templ.h` as `lv_conf.h` next to the `lvgl` folder and set at least `LV_HOR_RES_MAX`, `LV_VER_RES_MAX` and `LV_COLOR_DEPTH`. +3. Copy `lvgl/lv_conf_template.h` as `lv_conf.h` next to the `lvgl` folder and set at least `LV_HOR_RES_MAX`, `LV_VER_RES_MAX` and `LV_COLOR_DEPTH`. 4. Include `lvgl/lvgl.h` where you need to use LittlevGL related functions. 5. Call `lv_tick_inc(x)` every `x` milliseconds **in a Timer or Task** (`x` should be between 1 and 10). It is required for the internal timing of LittlevGL. 6. Call `lv_init()` @@ -130,7 +132,7 @@ indev_drv.type = LV_INDEV_TYPE_POINTER; /*Touch pad is a pointer-like device* indev_drv.read_cb = my_touchpad_read; /*Set your driver function*/ lv_indev_drv_register(&indev_drv); /*Finally register the driver*/ -bool my_touchpad_read(lv_indev_t * indev, lv_indev_data_t * data) +bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data) { static lv_coord_t last_x = 0; static lv_coord_t last_y = 0; @@ -186,8 +188,8 @@ Styles can be assigned to the objects to changed their appearance. A style descr You can create a new style like this: ```c -static lv_style_t style1; /*Declare a new style. Should be `static`*/ -lv_style_copy(&style1, &lv_style_plain); /*Copy a buil-in style*/ +static lv_style_t style1; /*Declare a new style. Should be `static`*/ +lv_style_copy(&style1, &lv_style_plain); /*Copy a built-in style*/ style1.body.main_color = LV_COLOR_RED; /*Main color*/ style1.body.grad_color = lv_color_hex(0xffd83c) /*Gradient color (orange)*/ style1.body.radius = 3; diff --git a/src/docs/CODING_STYLE.md b/src/docs/CODING_STYLE.md index b8bb841..31071e9 100644 --- a/src/docs/CODING_STYLE.md +++ b/src/docs/CODING_STYLE.md @@ -1,6 +1,6 @@ ## File format -Use [lv_misc/lv_templ.c](https://github.com/littlevgl/lvgl/blob/master/lv_misc/lv_templ.c) and [lv_misc/lv_templ.h](https://github.com/littlevgl/lvgl/blob/master/lv_misc/lv_templ.h) +Use [lv_misc/lv_templ.c](https://github.com/littlevgl/lvgl/blob/master/src/lv_misc/lv_templ.c) and [lv_misc/lv_templ.h](https://github.com/littlevgl/lvgl/blob/master/src/lv_misc/lv_templ.h) ## Naming conventions * Words are separated by '_' diff --git a/src/library.json b/src/library.json new file mode 100644 index 0000000..f634590 --- /dev/null +++ b/src/library.json @@ -0,0 +1,14 @@ +{ + "name": "lvgl", + "version": "6.0.2", + "keywords": "graphics, gui, embedded, littlevgl", + "description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.", + "repository": + { + "type": "git", + "url": "https://github.com/littlevgl/lvgl.git" + }, + "build": { + "includeDir": "." + } +} diff --git a/src/lv_conf_template.h b/src/lv_conf_template.h index 08e9beb..77b97b1 100644 --- a/src/lv_conf_template.h +++ b/src/lv_conf_template.h @@ -43,6 +43,9 @@ /*Images pixels with this color will not be drawn (with chroma keying)*/ #define LV_COLOR_TRANSP LV_COLOR_LIME /*LV_COLOR_LIME: pure green*/ +/* Enable chroma keying for indexed images. */ +#define LV_INDEXED_CHROMA 1 + /* Enable anti-aliasing (lines, and radiuses will be smoothed) */ #define LV_ANTIALIAS 1 @@ -193,6 +196,14 @@ typedef void * lv_img_decoder_user_data_t; * font's bitmaps */ #define LV_ATTRIBUTE_LARGE_CONST +/* Export integer constant to binding. + * This macro is used with constants in the form of LV_ that + * should also appear on lvgl binding API such as Micropython + * + * The default value just prevents a GCC warning. + */ +#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning + /*=================== * HAL settings *==================*/ @@ -225,10 +236,46 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i # define LV_LOG_LEVEL LV_LOG_LEVEL_WARN /* 1: Print the log with 'printf'; - * 0: user need to register a callback with `lv_log_register_print`*/ + * 0: user need to register a callback with `lv_log_register_print_cb`*/ # define LV_LOG_PRINTF 0 #endif /*LV_USE_LOG*/ +/*================= + * Debug settings + *================*/ + +/* If Debug is enabled LittelvGL validates the parameters of the functions. + * If an invalid parameter is found an error log message is printed and + * the MCU halts at the error. (`LV_USE_LOG` should be enabled) + * If you are debugging the MCU you can pause + * the debugger to see exactly where the issue is. + * + * The behavior of asserts can be overwritten by redefining them here. + * E.g. #define LV_ASSERT_MEM(p) + */ +#define LV_USE_DEBUG 1 +#if LV_USE_DEBUG + +/*Check if the parameter is NULL. (Quite fast) */ +#define LV_USE_ASSERT_NULL 1 + +/*Checks is the memory is successfully allocated or no. (Quite fast)*/ +#define LV_USE_ASSERT_MEM 1 + +/* Check the strings. + * Search for NULL, very long strings, invalid characters, and unnatural repetitions. (Slow) + * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ +#define LV_USE_ASSERT_STR 0 + +/* Check NULL, the object's type and existence (e.g. not deleted). (Quite slow) + * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ +#define LV_USE_ASSERT_OBJ 0 + +/*Check if the styles are properly initialized. (Fast)*/ +#define LV_USE_ASSERT_STYLE 1 + +#endif /*LV_USE_DEBUG*/ + /*================ * THEME USAGE *================*/ @@ -260,6 +307,10 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i #define LV_FONT_ROBOTO_22 0 #define LV_FONT_ROBOTO_28 0 +/* Demonstrate special features */ +#define LV_FONT_ROBOTO_12_SUBPX 1 +#define LV_FONT_ROBOTO_28_COMPRESSED 1 /*bpp = 3*/ + /*Pixel perfect monospace font * http://pelulamu.net/unscii/ */ #define LV_FONT_UNSCII_8 0 @@ -280,6 +331,12 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i * but with > 10,000 characters if you see issues probably you need to enable it.*/ #define LV_FONT_FMT_TXT_LARGE 0 +/* Set the pixel order of the display. + * Important only if "subpx fonts" are used. + * With "normal" font it doesn't matter. + */ +#define LV_FONT_SUBPX_BGR 0 + /*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/ typedef void * lv_font_user_data_t; @@ -297,6 +354,42 @@ typedef void * lv_font_user_data_t; /*Can break (wrap) texts on these chars*/ #define LV_TXT_BREAK_CHARS " ,.;:-_" +/* If a word is at least this long, will break wherever "prettiest" + * To disable, set to a value <= 0 */ +#define LV_TXT_LINE_BREAK_LONG_LEN 12 + +/* Minimum number of characters in a long word to put on a line before a break. + * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ +#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 + +/* Minimum number of characters in a long word to put on a line after a break. + * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ +#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 + +/* The control character to use for signalling text recoloring. */ +#define LV_TXT_COLOR_CMD "#" + +/* Support bidirectional texts. + * Allows mixing Left-to-Right and Right-to-Left texts. + * The direction will be processed according to the Unicode Bidirectioanl Algorithm: + * https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ +#define LV_USE_BIDI 0 +#if LV_USE_BIDI +/* Set the default direction. Supported values: + * `LV_BIDI_DIR_LTR` Left-to-Right + * `LV_BIDI_DIR_RTL` Right-to-Left + * `LV_BIDI_DIR_AUTO` detect texts base direction */ +#define LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_AUTO +#endif + +/*Change the built in (v)snprintf functions*/ +#define LV_SPRINTF_CUSTOM 0 +#if LV_SPRINTF_CUSTOM +# define LV_SPRINTF_INCLUDE +# define lv_snprintf snprintf +# define lv_vsnprintf vsnprintf +#endif /*LV_SPRINTF_CUSTOM*/ + /*=================== * LV_OBJ SETTINGS *==================*/ @@ -355,6 +448,9 @@ typedef void * lv_obj_user_data_t; /*Container (dependencies: -*/ #define LV_USE_CONT 1 +/*Color picker (dependencies: -*/ +#define LV_USE_CPICKER 1 + /*Drop down list (dependencies: lv_page, lv_label, lv_symbol_def.h)*/ #define LV_USE_DDLIST 1 #if LV_USE_DDLIST != 0 diff --git a/src/lvgl.h b/src/lvgl.h index b6e29b6..418ffd2 100644 --- a/src/lvgl.h +++ b/src/lvgl.h @@ -25,14 +25,18 @@ extern "C" { #include "src/lv_core/lv_obj.h" #include "src/lv_core/lv_group.h" +#include "src/lv_core/lv_indev.h" #include "src/lv_core/lv_refr.h" #include "src/lv_core/lv_disp.h" +#include "src/lv_core/lv_debug.h" #include "src/lv_themes/lv_theme.h" #include "src/lv_font/lv_font.h" #include "src/lv_font/lv_font_fmt_txt.h" +#include "src/lv_misc/lv_bidi.h" +#include "src/lv_misc/lv_printf.h" #include "src/lv_objx/lv_btn.h" #include "src/lv_objx/lv_imgbtn.h" @@ -45,6 +49,7 @@ extern "C" { #include "src/lv_objx/lv_chart.h" #include "src/lv_objx/lv_table.h" #include "src/lv_objx/lv_cb.h" +#include "src/lv_objx/lv_cpicker.h" #include "src/lv_objx/lv_bar.h" #include "src/lv_objx/lv_slider.h" #include "src/lv_objx/lv_led.h" diff --git a/src/lvgl.mk b/src/lvgl.mk new file mode 100644 index 0000000..830fe11 --- /dev/null +++ b/src/lvgl.mk @@ -0,0 +1,8 @@ +include $(LVGL_DIR)/lvgl/src/lv_core/lv_core.mk +include $(LVGL_DIR)/lvgl/src/lv_hal/lv_hal.mk +include $(LVGL_DIR)/lvgl/src/lv_objx/lv_objx.mk +include $(LVGL_DIR)/lvgl/src/lv_font/lv_font.mk +include $(LVGL_DIR)/lvgl/src/lv_misc/lv_misc.mk +include $(LVGL_DIR)/lvgl/src/lv_themes/lv_themes.mk +include $(LVGL_DIR)/lvgl/src/lv_draw/lv_draw.mk + diff --git a/src/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff b/src/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..791b4101398bdd5b8ff606d2628c38a0876727eb GIT binary patch literal 353228 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

L%Z8dT46iUgR=7_y3~h3%I5A#)q58m7OEnA? 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

    !3{vLB6%Gl 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⋚cK6aX{4XyJOw{? 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 Qb60ag7_%75F2AWQsZn#z61m4UA~2Y5FWX!JKLN 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ⅈ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 literal 0 HcmV?d00001 diff --git a/src/scripts/built_in_font/built_in_font_gen.py b/src/scripts/built_in_font/built_in_font_gen.py index 1f5d64b..db8e88c 100644 --- a/src/scripts/built_in_font/built_in_font_gen.py +++ b/src/scripts/built_in_font/built_in_font_gen.py @@ -40,8 +40,8 @@ compr = "" #Built in symbols -syms = "61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099" +syms = "61441,61448,61451,61452,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650" #Run the command -cmd = "lv_font_conv {} --bpp {} --size {} --font ./Roboto-Regular.woff -r {} --font FontAwesome.ttf -r {} --format lvgl -o {} --force-fast-kern-format".format(compr, args.bpp, args.size, args.range[0], syms, args.output) +cmd = "lv_font_conv {} --bpp {} --size {} --font Roboto-Regular.woff -r {} --font FontAwesome5-Solid+Brands+Regular.woff -r {} --format lvgl -o {} --force-fast-kern-format".format(compr, args.bpp, args.size, args.range[0], syms, args.output) os.system(cmd) diff --git a/src/scripts/lv_conf_checker.py b/src/scripts/lv_conf_checker.py old mode 100644 new mode 100755 index 7929dcf..c2171ff --- a/src/scripts/lv_conf_checker.py +++ b/src/scripts/lv_conf_checker.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3.6 + ''' Generates a checker file for lv_conf.h from lv_conf_templ.h define all the not defined values ''' @@ -34,9 +36,11 @@ if '/*--END OF LV_CONF_H--*/' in i: break r = re.search(r'^ *# *define ([^\s]+).*$', i) + if r: + line = re.sub('\(.*?\)', '', r[1], 1) #remove parentheses from macros fout.write( - f'#ifndef {r[1]}\n' + f'#ifndef {line}\n' f'{i}\n' '#endif\n' ) diff --git a/src/src/lv_conf_checker.h b/src/src/lv_conf_checker.h index ff7ac05..4b0d9a6 100644 --- a/src/src/lv_conf_checker.h +++ b/src/src/lv_conf_checker.h @@ -50,6 +50,11 @@ #define LV_COLOR_TRANSP LV_COLOR_LIME /*LV_COLOR_LIME: pure green*/ #endif +/* Enable chroma keying for indexed images. */ +#ifndef LV_INDEXED_CHROMA +#define LV_INDEXED_CHROMA 1 +#endif + /* Enable anti-aliasing (lines, and radiuses will be smoothed) */ #ifndef LV_ANTIALIAS #define LV_ANTIALIAS 1 @@ -261,6 +266,16 @@ #define LV_ATTRIBUTE_LARGE_CONST #endif +/* Export integer constant to binding. + * This macro is used with constants in the form of LV_ that + * should also appear on lvgl binding API such as Micropython + * + * The default value just prevents a GCC warning. + */ +#ifndef LV_EXPORT_CONST_INT +#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning +#endif + /*=================== * HAL settings *==================*/ @@ -301,12 +316,60 @@ #endif /* 1: Print the log with 'printf'; - * 0: user need to register a callback with `lv_log_register_print`*/ + * 0: user need to register a callback with `lv_log_register_print_cb`*/ #ifndef LV_LOG_PRINTF # define LV_LOG_PRINTF 0 #endif #endif /*LV_USE_LOG*/ +/*================= + * Debug settings + *================*/ + +/* If Debug is enabled LittelvGL validates the parameters of the functions. + * If an invalid parameter is found an error log message is printed and + * the MCU halts at the error. (`LV_USE_LOG` should be enabled) + * If you are debugging the MCU you can pause + * the debugger to see exactly where the issue is. + * + * The behavior of asserts can be overwritten by redefining them here. + * E.g. #define LV_ASSERT_MEM(p) + */ +#ifndef LV_USE_DEBUG +#define LV_USE_DEBUG 1 +#endif +#if LV_USE_DEBUG + +/*Check if the parameter is NULL. (Quite fast) */ +#ifndef LV_USE_ASSERT_NULL +#define LV_USE_ASSERT_NULL 1 +#endif + +/*Checks is the memory is successfully allocated or no. (Quite fast)*/ +#ifndef LV_USE_ASSERT_MEM +#define LV_USE_ASSERT_MEM 1 +#endif + +/* Check the strings. + * Search for NULL, very long strings, invalid characters, and unnatural repetitions. (Slow) + * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ +#ifndef LV_USE_ASSERT_STR +#define LV_USE_ASSERT_STR 0 +#endif + +/* Check NULL, the object's type and existence (e.g. not deleted). (Quite slow) + * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ +#ifndef LV_USE_ASSERT_OBJ +#define LV_USE_ASSERT_OBJ 0 +#endif + +/*Check if the styles are properly initialized. (Fast)*/ +#ifndef LV_USE_ASSERT_STYLE +#define LV_USE_ASSERT_STYLE 1 +#endif + +#endif /*LV_USE_DEBUG*/ + /*================ * THEME USAGE *================*/ @@ -364,6 +427,14 @@ #define LV_FONT_ROBOTO_28 0 #endif +/* Demonstrate special features */ +#ifndef LV_FONT_ROBOTO_12_SUBPX +#define LV_FONT_ROBOTO_12_SUBPX 1 +#endif +#ifndef LV_FONT_ROBOTO_28_COMPRESSED +#define LV_FONT_ROBOTO_28_COMPRESSED 1 /*bpp = 3*/ +#endif + /*Pixel perfect monospace font * http://pelulamu.net/unscii/ */ #ifndef LV_FONT_UNSCII_8 @@ -392,6 +463,14 @@ #define LV_FONT_FMT_TXT_LARGE 0 #endif +/* Set the pixel order of the display. + * Important only if "subpx fonts" are used. + * With "normal" font it doesn't matter. + */ +#ifndef LV_FONT_SUBPX_BGR +#define LV_FONT_SUBPX_BGR 0 +#endif + /*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/ /*================= @@ -412,6 +491,62 @@ #define LV_TXT_BREAK_CHARS " ,.;:-_" #endif +/* If a word is at least this long, will break wherever "prettiest" + * To disable, set to a value <= 0 */ +#ifndef LV_TXT_LINE_BREAK_LONG_LEN +#define LV_TXT_LINE_BREAK_LONG_LEN 12 +#endif + +/* Minimum number of characters in a long word to put on a line before a break. + * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ +#ifndef LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN +#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 +#endif + +/* Minimum number of characters in a long word to put on a line after a break. + * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ +#ifndef LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN +#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 +#endif + +/* The control character to use for signalling text recoloring. */ +#ifndef LV_TXT_COLOR_CMD +#define LV_TXT_COLOR_CMD "#" +#endif + +/* Support bidirectional texts. + * Allows mixing Left-to-Right and Right-to-Left texts. + * The direction will be processed according to the Unicode Bidirectioanl Algorithm: + * https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ +#ifndef LV_USE_BIDI +#define LV_USE_BIDI 0 +#endif +#if LV_USE_BIDI +/* Set the default direction. Supported values: + * `LV_BIDI_DIR_LTR` Left-to-Right + * `LV_BIDI_DIR_RTL` Right-to-Left + * `LV_BIDI_DIR_AUTO` detect texts base direction */ +#ifndef LV_BIDI_BASE_DIR_DEF +#define LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_AUTO +#endif +#endif + +/*Change the built in (v)snprintf functions*/ +#ifndef LV_SPRINTF_CUSTOM +#define LV_SPRINTF_CUSTOM 0 +#endif +#if LV_SPRINTF_CUSTOM +#ifndef LV_SPRINTF_INCLUDE +# define LV_SPRINTF_INCLUDE +#endif +#ifndef lv_snprintf +# define lv_snprintf snprintf +#endif +#ifndef lv_vsnprintf +# define lv_vsnprintf vsnprintf +#endif +#endif /*LV_SPRINTF_CUSTOM*/ + /*=================== * LV_OBJ SETTINGS *==================*/ @@ -495,6 +630,11 @@ #define LV_USE_CONT 1 #endif +/*Color picker (dependencies: -*/ +#ifndef LV_USE_CPICKER +#define LV_USE_CPICKER 1 +#endif + /*Drop down list (dependencies: lv_page, lv_label, lv_symbol_def.h)*/ #ifndef LV_USE_DDLIST #define LV_USE_DDLIST 1 diff --git a/src/src/lv_core/lv_core.mk b/src/src/lv_core/lv_core.mk index 5cd51bf..eb1c5e0 100644 --- a/src/src/lv_core/lv_core.mk +++ b/src/src/lv_core/lv_core.mk @@ -4,6 +4,7 @@ CSRCS += lv_disp.c CSRCS += lv_obj.c CSRCS += lv_refr.c CSRCS += lv_style.c +CSRCS += lv_debug.c DEPPATH += --dep-path $(LVGL_DIR)/lvgl/src/lv_core VPATH += :$(LVGL_DIR)/lvgl/src/lv_core diff --git a/src/src/lv_core/lv_debug.c b/src/src/lv_core/lv_debug.c new file mode 100644 index 0000000..f5b02d5 --- /dev/null +++ b/src/src/lv_core/lv_debug.c @@ -0,0 +1,193 @@ +/** + * @file lv_debug.c + * + */ + +/********************* + * INCLUDES + *********************/ +#include "lv_obj.h" +#include "lv_debug.h" + +#if LV_USE_DEBUG + +/********************* + * DEFINES + *********************/ +#ifndef LV_DEBUG_STR_MAX_LENGTH +#define LV_DEBUG_STR_MAX_LENGTH (1024 * 8) +#endif + +#ifndef LV_DEBUG_STR_MAX_REPEAT +#define LV_DEBUG_STR_MAX_REPEAT 8 +#endif +/********************** + * TYPEDEFS + **********************/ + +/********************** + * STATIC PROTOTYPES + **********************/ +static bool obj_valid_child(const lv_obj_t * parent, const lv_obj_t * obj_to_find); + +/********************** + * STATIC VARIABLES + **********************/ + +/********************** + * MACROS + **********************/ + +/********************** + * GLOBAL FUNCTIONS + **********************/ + +bool lv_debug_check_null(const void * p) +{ + if(p) return true; + + return false; +} + +bool lv_debug_check_obj_type(const lv_obj_t * obj, const char * obj_type) +{ + if(obj_type[0] == '\0') return true; + + lv_obj_type_t types; + lv_obj_get_type((lv_obj_t *)obj, &types); + + uint8_t i; + for(i = 0; i < LV_MAX_ANCESTOR_NUM; i++) { + if(strcmp(types.type[i], obj_type) == 0) return true; + } + + return false; +} + +bool lv_debug_check_obj_valid(const lv_obj_t * obj) +{ + lv_disp_t * disp = lv_disp_get_next(NULL); + while(disp) { + lv_obj_t * scr; + LV_LL_READ(disp->scr_ll, scr) { + + if(scr == obj) return true; + bool found = obj_valid_child(scr, obj); + if(found) return true; + } + + disp = lv_disp_get_next(disp); + } + + return false; +} + +bool lv_debug_check_style(const lv_style_t * style) +{ + if(style == NULL) return true; /*NULL style is still valid*/ + +#if LV_USE_ASSERT_STYLE + if(style->debug_sentinel != LV_STYLE_DEGUG_SENTINEL_VALUE) { + LV_LOG_WARN("Invalid style (local variable or not initialized?)"); + return false; + } +#endif + + return true; +} + +bool lv_debug_check_str(const void * str) +{ + const uint8_t * s = (const uint8_t *)str; + uint8_t last_byte = 0; + uint32_t rep = 0; + uint32_t i; + + for(i = 0; s[i] != '\0' && i < LV_DEBUG_STR_MAX_LENGTH; i++) { + if(s[i] != last_byte) { + last_byte = s[i]; + rep = 1; + } else if(s[i] > 0x7F){ + rep++; + if(rep > LV_DEBUG_STR_MAX_REPEAT) { + LV_LOG_WARN("lv_debug_check_str: a non-ASCII char has repeated more than LV_DEBUG_STR_MAX_REPEAT times)"); + return false; + } + } + + if(s[i] < 10) { + LV_LOG_WARN("lv_debug_check_str: invalid char in the string (< 10 value)"); + return false; /*Shouldn't occur in strings*/ + } + } + + if(s[i] == '\0') return true; + + LV_LOG_WARN("lv_debug_check_str: string is longer than LV_DEBUG_STR_MAX_LENGTH"); + return false; +} + +void lv_debug_log_error(const char * msg, uint64_t value) +{ + static const char hex[] = "0123456789ABCDEF"; + + uint32_t msg_len = strlen(msg); + uint32_t value_len = sizeof(unsigned long int); + + if(msg_len < 230) { + char buf[255]; + char * bufp = buf; + + /*Add the function name*/ + memcpy(bufp, msg, msg_len); + bufp += msg_len; + + /*Add value in hey*/ + *bufp = ' '; + bufp ++; + *bufp = '('; + bufp ++; + *bufp = '0'; + bufp ++; + *bufp = 'x'; + bufp ++; + + int8_t i; + for(i = value_len * 2 - 1; i >= 0; i--) { + uint8_t x = (unsigned long int)((unsigned long int)value >> (i * 4)) & 0xF; + + *bufp = hex[x]; + bufp++; + } + + *bufp = ')'; + bufp ++; + + *bufp = '\0'; + LV_LOG_ERROR(buf); + } else { + LV_LOG_ERROR(msg); + } +} + +/********************** + * STATIC FUNCTIONS + **********************/ + +static bool obj_valid_child(const lv_obj_t * parent, const lv_obj_t * obj_to_find) +{ + /*Check all children of `parent`*/ + lv_obj_t * child; + LV_LL_READ(parent->child_ll, child) { + if(child == obj_to_find) return true; + + /*Check the children*/ + bool found = obj_valid_child(child, obj_to_find); + if(found) return true; + } + + return false; +} + +#endif /*LV_USE_DEBUG*/ + diff --git a/src/src/lv_core/lv_debug.h b/src/src/lv_core/lv_debug.h new file mode 100644 index 0000000..f225f76 --- /dev/null +++ b/src/src/lv_core/lv_debug.h @@ -0,0 +1,154 @@ +/** + * @file lv_debug.h + * + */ + +#ifndef LV_DEBUG_H +#define LV_DEBUG_H + +#ifdef __cplusplus +extern "C" { +#endif + +/********************* + * INCLUDES + *********************/ +#include "lv_obj.h" + +#if LV_USE_DEBUG + +/********************* + * DEFINES + *********************/ + +/********************** + * TYPEDEFS + **********************/ + +/********************** + * GLOBAL PROTOTYPES + **********************/ +bool lv_debug_check_null(const void * p); + +bool lv_debug_check_obj_type(const lv_obj_t * obj, const char * obj_type); + +bool lv_debug_check_obj_valid(const lv_obj_t * obj); + +bool lv_debug_check_style(const lv_style_t * style); + +bool lv_debug_check_str(const void * str); + +void lv_debug_log_error(const char * msg, uint64_t value); + +/********************** + * MACROS + **********************/ + +#ifndef LV_DEBUG_ASSERT +#define LV_DEBUG_ASSERT(expr, msg, value) \ +{ \ + if(!(expr)) { \ + LV_LOG_ERROR(__func__); \ + lv_debug_log_error(msg, (unsigned long int)value); \ + while(1); \ + } \ +} +#endif + +/*---------------- + * CHECKS + *----------------*/ + +#ifndef LV_DEBUG_IS_NULL +#define LV_DEBUG_IS_NULL(p) (lv_debug_check_null(p)) +#endif + +#ifndef LV_DEBUG_IS_STR +#define LV_DEBUG_IS_STR(str) (lv_debug_check_null(str) && \ + lv_debug_check_str(str)) +#endif + +#ifndef LV_DEBUG_IS_OBJ +#define LV_DEBUG_IS_OBJ(obj_p, obj_type) (lv_debug_check_null(obj_p) && \ + lv_debug_check_obj_valid(obj_p) && \ + lv_debug_check_obj_type(obj_p, obj_type)) +#endif + +#ifndef LV_DEBUG_IS_STYLE +#define LV_DEBUG_IS_STYLE(style_p) (lv_debug_check_style(style_p)) +#endif + +/*----------------- + * ASSERTS + *-----------------*/ + +/*clang-format off*/ + +#if LV_USE_ASSERT_NULL +# ifndef LV_ASSERT_NULL +# define LV_ASSERT_NULL(p) LV_DEBUG_ASSERT(LV_DEBUG_IS_NULL(p), "NULL pointer", p); +# endif +#else +# define LV_ASSERT_NULL(p) true +#endif + +#if LV_USE_ASSERT_MEM +# ifndef LV_ASSERT_MEM +# define LV_ASSERT_MEM(p) LV_DEBUG_ASSERT(LV_DEBUG_IS_NULL(p), "Out of memory", p); +# endif +#else +# define LV_ASSERT_MEM(p) true +#endif + +#if LV_USE_ASSERT_STR +# ifndef LV_ASSERT_STR +# define LV_ASSERT_STR(str) LV_DEBUG_ASSERT(LV_DEBUG_IS_STR(str), "Strange or invalid string", str); +# endif +#else /* LV_USE_ASSERT_OBJ == 0 */ +# if LV_USE_ASSERT_NULL /*Use at least LV_ASSERT_NULL if enabled*/ +# define LV_ASSERT_STR(str) LV_ASSERT_NULL(str) +# else +# define LV_ASSERT_STR(str) true +# endif +#endif + + +#if LV_USE_ASSERT_OBJ +# ifndef LV_ASSERT_OBJ +# define LV_ASSERT_OBJ(obj_p, obj_type) LV_DEBUG_ASSERT(LV_DEBUG_IS_OBJ(obj_p, obj_type), "Invalid object", obj_p); +# endif +#else /* LV_USE_ASSERT_OBJ == 0 */ +# if LV_USE_ASSERT_NULL /*Use at least LV_ASSERT_NULL if enabled*/ +# define LV_ASSERT_OBJ(obj_p, obj_type) LV_ASSERT_NULL(obj_p) +# else +# define LV_ASSERT_OBJ(obj_p, obj_type) true +# endif +#endif + + +#if LV_USE_ASSERT_STYLE +# ifndef LV_ASSERT_STYLE +# define LV_ASSERT_STYLE(style_p) LV_DEBUG_ASSERT(LV_DEBUG_IS_STYLE(style_p), "Invalid style", style_p); +# endif +#else +# define LV_ASSERT_STYLE(style) true +#endif + +#else /* LV_USE_DEBUG == 0 */ + +#define LV_DEBUG_ASSERT(expr, msg, value) do{}while(0) + +#define LV_ASSERT_NULL(p) true +#define LV_ASSERT_MEM(p) true +#define LV_ASSERT_STR(p) true +#define LV_ASSERT_OBJ(obj, obj_type) true +#define LV_ASSERT_STYLE(p) true + +#endif /* LV_USE_DEBUG */ +/*clang-format on*/ + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*LV_DEBUG_H*/ diff --git a/src/src/lv_core/lv_group.c b/src/src/lv_core/lv_group.c index d04de3e..b26de56 100644 --- a/src/src/lv_core/lv_group.c +++ b/src/src/lv_core/lv_group.c @@ -8,8 +8,9 @@ *********************/ #include "lv_group.h" #if LV_USE_GROUP != 0 -#include "../lv_themes/lv_theme.h" #include +#include "../lv_core/lv_debug.h" +#include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_gc.h" #if defined(LV_GC_INCLUDE) @@ -62,7 +63,7 @@ void lv_group_init(void) lv_group_t * lv_group_create(void) { lv_group_t * group = lv_ll_ins_head(&LV_GC_ROOT(_lv_group_ll)); - lv_mem_assert(group); + LV_ASSERT_MEM(group); if(group == NULL) return NULL; lv_ll_init(&group->obj_ll, sizeof(lv_obj_t *)); @@ -138,7 +139,7 @@ void lv_group_add_obj(lv_group_t * group, lv_obj_t * obj) obj->group_p = group; lv_obj_t ** next = lv_ll_ins_tail(&group->obj_ll); - lv_mem_assert(next); + LV_ASSERT_MEM(next); if(next == NULL) return; *next = obj; diff --git a/src/src/lv_core/lv_indev.c b/src/src/lv_core/lv_indev.c index 86e343a..6ec59bd 100644 --- a/src/src/lv_core/lv_indev.c +++ b/src/src/lv_core/lv_indev.c @@ -182,7 +182,7 @@ void lv_indev_enable(lv_indev_t * indev, bool en) { if(!indev) return; - indev->proc.disabled = en ? 1 : 0; + indev->proc.disabled = en ? 0 : 1; } /** @@ -687,12 +687,14 @@ static void indev_proc_press(lv_indev_proc_t * proc) if(proc->wait_until_release != 0) return; lv_disp_t * disp = indev_act->driver.disp; + bool new_obj_searched = false; /*If there is no last object then search*/ if(indev_obj_act == NULL) { indev_obj_act = indev_search_obj(proc, lv_disp_get_layer_sys(disp)); if(indev_obj_act == NULL) indev_obj_act = indev_search_obj(proc, lv_disp_get_layer_top(disp)); if(indev_obj_act == NULL) indev_obj_act = indev_search_obj(proc, lv_disp_get_scr_act(disp)); + new_obj_searched = true; } /*If there is last object but it is not dragged and not protected also search*/ else if(proc->types.pointer.drag_in_prog == 0 && @@ -700,14 +702,21 @@ static void indev_proc_press(lv_indev_proc_t * proc) indev_obj_act = indev_search_obj(proc, lv_disp_get_layer_sys(disp)); if(indev_obj_act == NULL) indev_obj_act = indev_search_obj(proc, lv_disp_get_layer_top(disp)); if(indev_obj_act == NULL) indev_obj_act = indev_search_obj(proc, lv_disp_get_scr_act(disp)); + new_obj_searched = true; } /*If a dragable or a protected object was the last then keep it*/ else { } + /*The last object might have drag throw. Stop it manually*/ + if(new_obj_searched && proc->types.pointer.last_obj) { + proc->types.pointer.drag_throw_vect.x = 0; + proc->types.pointer.drag_throw_vect.y = 0; + indev_drag_throw(proc); + } + /*If a new object was found reset some variables and send a pressed signal*/ if(indev_obj_act != proc->types.pointer.act_obj) { - proc->types.pointer.last_point.x = proc->types.pointer.act_point.x; proc->types.pointer.last_point.y = proc->types.pointer.act_point.y; @@ -720,6 +729,7 @@ static void indev_proc_press(lv_indev_proc_t * proc) if(indev_reset_check(proc)) return; lv_event_send(last_obj, LV_EVENT_PRESS_LOST, NULL); if(indev_reset_check(proc)) return; + } proc->types.pointer.act_obj = indev_obj_act; /*Save the pressed object*/ @@ -1108,9 +1118,6 @@ static void indev_drag(lv_indev_proc_t * state) lv_obj_set_y(drag_obj, act_y + state->types.pointer.vect.y); } - - - /*If the object didn't moved then clear the invalidated areas*/ if(drag_obj->coords.x1 == prev_x && drag_obj->coords.y1 == prev_y) { // state->types.pointer.drag_in_prog = 0; diff --git a/src/src/lv_core/lv_obj.c b/src/src/lv_core/lv_obj.c index e0ad6c4..dc4ff18 100644 --- a/src/src/lv_core/lv_obj.c +++ b/src/src/lv_core/lv_obj.c @@ -11,6 +11,7 @@ #include "lv_refr.h" #include "lv_group.h" #include "lv_disp.h" +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" #include "../lv_draw/lv_draw.h" #include "../lv_misc/lv_anim.h" @@ -21,6 +22,7 @@ #include #include #include "../lv_misc/lv_gc.h" +#include "../lv_misc/lv_math.h" #if defined(LV_GC_INCLUDE) #include LV_GC_INCLUDE @@ -29,6 +31,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_obj" #define LV_OBJ_DEF_WIDTH (LV_DPI) #define LV_OBJ_DEF_HEIGHT (2 * LV_DPI / 3) @@ -49,6 +52,7 @@ static void refresh_children_position(lv_obj_t * obj, lv_coord_t x_diff, lv_coor static void report_style_mod_core(void * style_p, lv_obj_t * obj); static void refresh_children_style(lv_obj_t * obj); static void delete_children(lv_obj_t * obj); +static void base_dir_refr_children(lv_obj_t * obj); static void lv_event_mark_deleted(lv_obj_t * obj); static void lv_obj_del_async_cb(void * obj); static bool lv_obj_design(lv_obj_t * obj, const lv_area_t * mask_p, lv_design_mode_t mode); @@ -142,12 +146,17 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) } new_obj = lv_ll_ins_head(&disp->scr_ll); - lv_mem_assert(new_obj); + LV_ASSERT_MEM(new_obj); if(new_obj == NULL) return NULL; new_obj->par = NULL; /*Screens has no a parent*/ lv_ll_init(&(new_obj->child_ll), sizeof(lv_obj_t)); + /*Set the callbacks*/ + new_obj->signal_cb = lv_obj_signal; + new_obj->design_cb = lv_obj_design; + new_obj->event_cb = NULL; + /*Set coordinates to full screen size*/ new_obj->coords.x1 = 0; new_obj->coords.y1 = 0; @@ -180,10 +189,6 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) } else { new_obj->style_p = &lv_style_scr; } - /*Set the callbacks*/ - lv_obj_set_signal_cb(new_obj, lv_obj_signal); - lv_obj_set_design_cb(new_obj, lv_obj_design); - new_obj->event_cb = NULL; /*Init. user date*/ #if LV_USE_USER_DATA @@ -204,6 +209,12 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) new_obj->opa_scale_en = 0; new_obj->opa_scale = LV_OPA_COVER; new_obj->parent_event = 0; +#if LV_USE_BIDI + new_obj->base_dir = LV_BIDI_BASE_DIR_DEF; +#else + new_obj->base_dir = LV_BIDI_DIR_LTR; +#endif + new_obj->reserved = 0; new_obj->ext_attr = NULL; @@ -213,19 +224,36 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) /*parent != NULL create normal obj. on a parent*/ else { LV_LOG_TRACE("Object create started"); + LV_ASSERT_OBJ(parent, LV_OBJX_NAME); new_obj = lv_ll_ins_head(&parent->child_ll); - lv_mem_assert(new_obj); + LV_ASSERT_MEM(new_obj); if(new_obj == NULL) return NULL; new_obj->par = parent; /*Set the parent*/ lv_ll_init(&(new_obj->child_ll), sizeof(lv_obj_t)); + /*Set the callbacks*/ + new_obj->signal_cb = lv_obj_signal; + new_obj->design_cb = lv_obj_design; + new_obj->event_cb = NULL; + +#if LV_USE_BIDI + new_obj->base_dir = LV_BIDI_DIR_INHERIT; +#else + new_obj->base_dir = LV_BIDI_DIR_LTR; +#endif + /*Set coordinates left top corner of parent*/ - new_obj->coords.x1 = parent->coords.x1; new_obj->coords.y1 = parent->coords.y1; - new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH; new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT; + if(lv_obj_get_base_dir(new_obj) == LV_BIDI_DIR_RTL) { + new_obj->coords.x2 = parent->coords.x2; + new_obj->coords.x1 = parent->coords.x2 - LV_OBJ_DEF_WIDTH; + } else { + new_obj->coords.x1 = parent->coords.x1; + new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH; + } new_obj->ext_draw_pad = 0; #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL @@ -253,11 +281,6 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) new_obj->style_p = &lv_style_plain_color; } - /*Set the callbacks*/ - lv_obj_set_signal_cb(new_obj, lv_obj_signal); - lv_obj_set_design_cb(new_obj, lv_obj_design); - new_obj->event_cb = NULL; - #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL memset(&new_obj->ext_click_pad, 0, sizeof(new_obj->ext_click_pad)); #endif @@ -288,12 +311,14 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) new_obj->opa_scale = LV_OPA_COVER; new_obj->opa_scale_en = 0; new_obj->parent_event = 0; + new_obj->reserved = 0; new_obj->ext_attr = NULL; } /*Copy the attributes if required*/ if(copy != NULL) { + LV_ASSERT_OBJ(copy, LV_OBJX_NAME); lv_area_copy(&new_obj->coords, ©->coords); new_obj->ext_draw_pad = copy->ext_draw_pad; @@ -319,7 +344,7 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) new_obj->realign.auto_realign = copy->realign.auto_realign; #endif - /*Only copy the `event_cb`. `signal_cb` and `design_cb` will be copied the the derived + /*Only copy the `event_cb`. `signal_cb` and `design_cb` will be copied in the derived * object type (e.g. `lv_btn`)*/ new_obj->event_cb = copy->event_cb; @@ -374,6 +399,7 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) */ lv_res_t lv_obj_del(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); lv_obj_invalidate(obj); /*Delete from the group*/ @@ -407,15 +433,6 @@ lv_res_t lv_obj_del(lv_obj_t * obj) lv_event_mark_deleted(obj); - /*Remove the object from parent's children list*/ - lv_obj_t * par = lv_obj_get_parent(obj); - if(par == NULL) { /*It is a screen*/ - lv_disp_t * d = lv_obj_get_disp(obj); - lv_ll_rem(&d->scr_ll, obj); - } else { - lv_ll_rem(&(par->child_ll), obj); - } - /* Reset all input devices if the object to delete is used*/ lv_indev_t * indev = lv_indev_get_next(NULL); while(indev) { @@ -438,6 +455,15 @@ lv_res_t lv_obj_del(lv_obj_t * obj) * Now clean up the object specific data*/ obj->signal_cb(obj, LV_SIGNAL_CLEANUP, NULL); + /*Remove the object from parent's children list*/ + lv_obj_t * par = lv_obj_get_parent(obj); + if(par == NULL) { /*It is a screen*/ + lv_disp_t * d = lv_obj_get_disp(obj); + lv_ll_rem(&d->scr_ll, obj); + } else { + lv_ll_rem(&(par->child_ll), obj); + } + /*Delete the base objects*/ if(obj->ext_attr != NULL) lv_mem_free(obj->ext_attr); lv_mem_free(obj); /*Free the object itself*/ @@ -458,6 +484,7 @@ lv_res_t lv_obj_del(lv_obj_t * obj) */ void lv_obj_del_async(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); lv_async_call(lv_obj_del_async_cb, obj); } @@ -467,6 +494,7 @@ void lv_obj_del_async(lv_obj_t * obj) */ void lv_obj_clean(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); lv_obj_t * child = lv_obj_get_child(obj, NULL); lv_obj_t * child_next; while(child) { @@ -484,6 +512,8 @@ void lv_obj_clean(lv_obj_t * obj) */ void lv_obj_invalidate(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + if(lv_obj_get_hidden(obj)) return; /*Invalidate the object only if it belongs to the 'LV_GC_ROOT(_lv_act_scr)'*/ @@ -531,6 +561,9 @@ void lv_obj_invalidate(const lv_obj_t * obj) */ void lv_obj_set_parent(lv_obj_t * obj, lv_obj_t * parent) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + LV_ASSERT_OBJ(parent, LV_OBJX_NAME); + if(obj->par == NULL) { LV_LOG_WARN("Can't set the parent of a screen"); return; @@ -568,6 +601,8 @@ void lv_obj_set_parent(lv_obj_t * obj, lv_obj_t * parent) */ void lv_obj_move_foreground(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_t * parent = lv_obj_get_parent(obj); /*Do nothing of already in the foreground*/ @@ -589,6 +624,8 @@ void lv_obj_move_foreground(lv_obj_t * obj) */ void lv_obj_move_background(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_t * parent = lv_obj_get_parent(obj); /*Do nothing of already in the background*/ @@ -616,6 +653,8 @@ void lv_obj_move_background(lv_obj_t * obj) */ void lv_obj_set_pos(lv_obj_t * obj, lv_coord_t x, lv_coord_t y) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + /*Convert x and y to absolute coordinates*/ lv_obj_t * par = obj->par; @@ -663,6 +702,8 @@ void lv_obj_set_pos(lv_obj_t * obj, lv_coord_t x, lv_coord_t y) */ void lv_obj_set_x(lv_obj_t * obj, lv_coord_t x) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_set_pos(obj, x, lv_obj_get_y(obj)); } @@ -673,6 +714,8 @@ void lv_obj_set_x(lv_obj_t * obj, lv_coord_t x) */ void lv_obj_set_y(lv_obj_t * obj, lv_coord_t y) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_set_pos(obj, lv_obj_get_x(obj), y); } @@ -684,6 +727,8 @@ void lv_obj_set_y(lv_obj_t * obj, lv_coord_t y) */ void lv_obj_set_size(lv_obj_t * obj, lv_coord_t w, lv_coord_t h) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + /* Do nothing if the size is not changed */ /* It is very important else recursive resizing can @@ -700,8 +745,12 @@ void lv_obj_set_size(lv_obj_t * obj, lv_coord_t w, lv_coord_t h) lv_obj_get_coords(obj, &ori); /*Set the length and height*/ - obj->coords.x2 = obj->coords.x1 + w - 1; obj->coords.y2 = obj->coords.y1 + h - 1; + if(lv_obj_get_base_dir(obj) == LV_BIDI_DIR_RTL) { + obj->coords.x1 = obj->coords.x2 - w + 1; + } else { + obj->coords.x2 = obj->coords.x1 + w - 1; + } /*Send a signal to the object with its new coordinates*/ obj->signal_cb(obj, LV_SIGNAL_CORD_CHG, &ori); @@ -733,6 +782,8 @@ void lv_obj_set_size(lv_obj_t * obj, lv_coord_t w, lv_coord_t h) */ void lv_obj_set_width(lv_obj_t * obj, lv_coord_t w) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_set_size(obj, w, lv_obj_get_height(obj)); } @@ -743,6 +794,8 @@ void lv_obj_set_width(lv_obj_t * obj, lv_coord_t w) */ void lv_obj_set_height(lv_obj_t * obj, lv_coord_t h) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_set_size(obj, lv_obj_get_width(obj), h); } @@ -756,6 +809,8 @@ void lv_obj_set_height(lv_obj_t * obj, lv_coord_t h) */ void lv_obj_align(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_coord_t x_mod, lv_coord_t y_mod) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_coord_t new_x = lv_obj_get_x(obj); lv_coord_t new_y = lv_obj_get_y(obj); @@ -763,6 +818,9 @@ void lv_obj_align(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_co base = lv_obj_get_parent(obj); } + LV_ASSERT_OBJ(base, LV_OBJX_NAME); + + switch(align) { case LV_ALIGN_CENTER: new_x = lv_obj_get_width(base) / 2 - lv_obj_get_width(obj) / 2; @@ -901,6 +959,8 @@ void lv_obj_align(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_co */ void lv_obj_align_origo(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_coord_t x_mod, lv_coord_t y_mod) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_coord_t new_x = lv_obj_get_x(obj); lv_coord_t new_y = lv_obj_get_y(obj); @@ -911,6 +971,9 @@ void lv_obj_align_origo(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, base = lv_obj_get_parent(obj); } + LV_ASSERT_OBJ(base, LV_OBJX_NAME); + + switch(align) { case LV_ALIGN_CENTER: new_x = lv_obj_get_width(base) / 2 - obj_w_half; @@ -1045,6 +1108,8 @@ void lv_obj_align_origo(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, */ void lv_obj_realign(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_OBJ_REALIGN if(obj->realign.origo_align) lv_obj_align_origo(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs); @@ -1064,6 +1129,8 @@ void lv_obj_realign(lv_obj_t * obj) */ void lv_obj_set_auto_realign(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_OBJ_REALIGN obj->realign.auto_realign = en ? 1 : 0; #else @@ -1073,19 +1140,6 @@ void lv_obj_set_auto_realign(lv_obj_t * obj, bool en) #endif } -#if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_TINY -/** - * Set the size of an extended clickable area - * @param obj pointer to an object - * @param w extended width to both sides - * @param h extended height to both sides - */ -void lv_obj_set_ext_click_area(lv_obj_t * obj, uint8_t w, uint8_t h) -{ - obj->ext_click_pad_hor = w; - obj->ext_click_pad_ver = h; -} -#endif /** * Set the size of an extended clickable area @@ -1099,6 +1153,8 @@ void lv_obj_set_ext_click_area(lv_obj_t * obj, uint8_t w, uint8_t h) */ void lv_obj_set_ext_click_area(lv_obj_t * obj, lv_coord_t left, lv_coord_t right, lv_coord_t top, lv_coord_t bottom) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL obj->ext_click_pad.x1 = left; obj->ext_click_pad.x2 = right; @@ -1127,6 +1183,9 @@ void lv_obj_set_ext_click_area(lv_obj_t * obj, lv_coord_t left, lv_coord_t right */ void lv_obj_set_style(lv_obj_t * obj, const lv_style_t * style) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + LV_ASSERT_STYLE(style); + obj->style_p = style; /*Send a signal about style change to every children with NULL style*/ @@ -1142,6 +1201,8 @@ void lv_obj_set_style(lv_obj_t * obj, const lv_style_t * style) */ void lv_obj_refresh_style(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_invalidate(obj); obj->signal_cb(obj, LV_SIGNAL_STYLE_CHG, NULL); lv_obj_invalidate(obj); @@ -1154,6 +1215,8 @@ void lv_obj_refresh_style(lv_obj_t * obj) */ void lv_obj_report_style_mod(lv_style_t * style) { + LV_ASSERT_STYLE(style); + lv_disp_t * d = lv_disp_get_next(NULL); while(d) { @@ -1181,6 +1244,8 @@ void lv_obj_report_style_mod(lv_style_t * style) */ void lv_obj_set_hidden(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + if(!obj->hidden) lv_obj_invalidate(obj); /*Invalidate when not hidden (hidden objects are ignored) */ obj->hidden = en == false ? 0 : 1; @@ -1198,6 +1263,8 @@ void lv_obj_set_hidden(lv_obj_t * obj, bool en) */ void lv_obj_set_click(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->click = (en == true ? 1 : 0); } @@ -1209,6 +1276,8 @@ void lv_obj_set_click(lv_obj_t * obj, bool en) */ void lv_obj_set_top(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->top = (en == true ? 1 : 0); } @@ -1219,6 +1288,8 @@ void lv_obj_set_top(lv_obj_t * obj, bool en) */ void lv_obj_set_drag(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + if(en == true) lv_obj_set_click(obj, true); /*Drag is useless without enabled clicking*/ obj->drag = (en == true ? 1 : 0); } @@ -1230,6 +1301,8 @@ void lv_obj_set_drag(lv_obj_t * obj, bool en) */ void lv_obj_set_drag_dir(lv_obj_t * obj, lv_drag_dir_t drag_dir) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->drag_dir = drag_dir; if(obj->drag_dir != 0) lv_obj_set_drag(obj, true); /*Drag direction requires drag*/ @@ -1242,6 +1315,8 @@ void lv_obj_set_drag_dir(lv_obj_t * obj, lv_drag_dir_t drag_dir) */ void lv_obj_set_drag_throw(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->drag_throw = (en == true ? 1 : 0); } @@ -1253,6 +1328,8 @@ void lv_obj_set_drag_throw(lv_obj_t * obj, bool en) */ void lv_obj_set_drag_parent(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->drag_parent = (en == true ? 1 : 0); } @@ -1263,9 +1340,28 @@ void lv_obj_set_drag_parent(lv_obj_t * obj, bool en) */ void lv_obj_set_parent_event(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->parent_event = (en == true ? 1 : 0); } +void lv_obj_set_base_dir(lv_obj_t * obj, lv_bidi_dir_t dir) +{ + if(dir != LV_BIDI_DIR_LTR && dir != LV_BIDI_DIR_RTL && + dir != LV_BIDI_DIR_AUTO && dir != LV_BIDI_DIR_INHERIT) { + + LV_LOG_WARN("lv_obj_set_base_dir: invalid base dir"); + return; + } + + obj->base_dir = dir; + lv_signal_send(obj, LV_SIGNAL_BASE_DIR_CHG, NULL); + + /* Notify the children about the parent base dir has changed. + * (The children might have `LV_BIDI_DIR_INHERIT`)*/ + base_dir_refr_children(obj); +} + /** * Set the opa scale enable parameter (required to set opa_scale with `lv_obj_set_opa_scale()`) * @param obj pointer to an object @@ -1273,6 +1369,8 @@ void lv_obj_set_parent_event(lv_obj_t * obj, bool en) */ void lv_obj_set_opa_scale_enable(lv_obj_t * obj, bool en) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->opa_scale_en = en ? 1 : 0; } @@ -1286,6 +1384,8 @@ void lv_obj_set_opa_scale_enable(lv_obj_t * obj, bool en) */ void lv_obj_set_opa_scale(lv_obj_t * obj, lv_opa_t opa_scale) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->opa_scale = opa_scale; lv_obj_invalidate(obj); } @@ -1297,6 +1397,8 @@ void lv_obj_set_opa_scale(lv_obj_t * obj, lv_opa_t opa_scale) */ void lv_obj_set_protect(lv_obj_t * obj, uint8_t prot) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->protect |= prot; } @@ -1307,6 +1409,8 @@ void lv_obj_set_protect(lv_obj_t * obj, uint8_t prot) */ void lv_obj_clear_protect(lv_obj_t * obj, uint8_t prot) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + prot = (~prot) & 0xFF; obj->protect &= prot; } @@ -1319,6 +1423,8 @@ void lv_obj_clear_protect(lv_obj_t * obj, uint8_t prot) */ void lv_obj_set_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->event_cb = event_cb; } @@ -1333,6 +1439,8 @@ lv_res_t lv_event_send(lv_obj_t * obj, lv_event_t event, const void * data) { if(obj == NULL) return LV_RES_OK; + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_res_t res; res = lv_event_send_func(obj->event_cb, obj, event, data); return res; @@ -1350,6 +1458,8 @@ lv_res_t lv_event_send(lv_obj_t * obj, lv_event_t event, const void * data) */ lv_res_t lv_event_send_func(lv_event_cb_t event_xcb, lv_obj_t * obj, lv_event_t event, const void * data) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + /* Build a simple linked list from the objects used in the events * It's important to know if an this object was deleted by a nested event * called from this `even_cb`. */ @@ -1414,6 +1524,8 @@ const void * lv_event_get_data(void) */ void lv_obj_set_signal_cb(lv_obj_t * obj, lv_signal_cb_t signal_cb) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->signal_cb = signal_cb; } @@ -1424,6 +1536,8 @@ void lv_obj_set_signal_cb(lv_obj_t * obj, lv_signal_cb_t signal_cb) */ void lv_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + if(obj->signal_cb) obj->signal_cb(obj, signal, param); } @@ -1434,6 +1548,8 @@ void lv_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param) */ void lv_obj_set_design_cb(lv_obj_t * obj, lv_design_cb_t design_cb) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->design_cb = design_cb; } @@ -1449,6 +1565,8 @@ void lv_obj_set_design_cb(lv_obj_t * obj, lv_design_cb_t design_cb) */ void * lv_obj_allocate_ext_attr(lv_obj_t * obj, uint16_t ext_size) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->ext_attr = lv_mem_realloc(obj->ext_attr, ext_size); return (void *)obj->ext_attr; @@ -1460,6 +1578,8 @@ void * lv_obj_allocate_ext_attr(lv_obj_t * obj, uint16_t ext_size) */ void lv_obj_refresh_ext_draw_pad(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + obj->ext_draw_pad = 0; obj->signal_cb(obj, LV_SIGNAL_REFR_EXT_DRAW_PAD, NULL); @@ -1477,6 +1597,8 @@ void lv_obj_refresh_ext_draw_pad(lv_obj_t * obj) */ lv_obj_t * lv_obj_get_screen(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + const lv_obj_t * par = obj; const lv_obj_t * act_p; @@ -1495,6 +1617,8 @@ lv_obj_t * lv_obj_get_screen(const lv_obj_t * obj) */ lv_disp_t * lv_obj_get_disp(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + const lv_obj_t * scr; if(obj->par == NULL) @@ -1527,6 +1651,8 @@ lv_disp_t * lv_obj_get_disp(const lv_obj_t * obj) */ lv_obj_t * lv_obj_get_parent(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->par; } @@ -1539,6 +1665,8 @@ lv_obj_t * lv_obj_get_parent(const lv_obj_t * obj) */ lv_obj_t * lv_obj_get_child(const lv_obj_t * obj, const lv_obj_t * child) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_t * result = NULL; if(child == NULL) { @@ -1559,6 +1687,8 @@ lv_obj_t * lv_obj_get_child(const lv_obj_t * obj, const lv_obj_t * child) */ lv_obj_t * lv_obj_get_child_back(const lv_obj_t * obj, const lv_obj_t * child) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_t * result = NULL; if(child == NULL) { @@ -1577,6 +1707,8 @@ lv_obj_t * lv_obj_get_child_back(const lv_obj_t * obj, const lv_obj_t * child) */ uint16_t lv_obj_count_children(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_t * i; uint16_t cnt = 0; @@ -1591,6 +1723,8 @@ uint16_t lv_obj_count_children(const lv_obj_t * obj) */ uint16_t lv_obj_count_children_recursive(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_t * i; uint16_t cnt = 0; @@ -1614,6 +1748,8 @@ uint16_t lv_obj_count_children_recursive(const lv_obj_t * obj) */ void lv_obj_get_coords(const lv_obj_t * obj, lv_area_t * cords_p) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_area_copy(cords_p, &obj->coords); } @@ -1624,6 +1760,8 @@ void lv_obj_get_coords(const lv_obj_t * obj, lv_area_t * cords_p) */ void lv_obj_get_inner_coords(const lv_obj_t * obj, lv_area_t * coords_p) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + const lv_style_t * style = lv_obj_get_style(obj); if(style->body.border.part & LV_BORDER_LEFT) coords_p->x1 += style->body.border.width; @@ -1641,10 +1779,15 @@ void lv_obj_get_inner_coords(const lv_obj_t * obj, lv_area_t * coords_p) */ lv_coord_t lv_obj_get_x(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_coord_t rel_x; lv_obj_t * parent = lv_obj_get_parent(obj); - rel_x = obj->coords.x1 - parent->coords.x1; - + if(parent) { + rel_x = obj->coords.x1 - parent->coords.x1; + } else { + rel_x = obj->coords.x1; + } return rel_x; } @@ -1655,10 +1798,15 @@ lv_coord_t lv_obj_get_x(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_y(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_coord_t rel_y; lv_obj_t * parent = lv_obj_get_parent(obj); - rel_y = obj->coords.y1 - parent->coords.y1; - + if(parent) { + rel_y = obj->coords.y1 - parent->coords.y1; + } else { + rel_y = obj->coords.y1; + } return rel_y; } @@ -1669,6 +1817,8 @@ lv_coord_t lv_obj_get_y(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_width(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return lv_area_get_width(&obj->coords); } @@ -1679,6 +1829,8 @@ lv_coord_t lv_obj_get_width(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_height(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return lv_area_get_height(&obj->coords); } @@ -1689,6 +1841,8 @@ lv_coord_t lv_obj_get_height(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_width_fit(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + const lv_style_t * style = lv_obj_get_style(obj); return lv_obj_get_width(obj) - style->body.padding.left - style->body.padding.right; @@ -1701,6 +1855,8 @@ lv_coord_t lv_obj_get_width_fit(lv_obj_t * obj) */ lv_coord_t lv_obj_get_height_fit(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + const lv_style_t * style = lv_obj_get_style(obj); return lv_obj_get_height(obj) - style->body.padding.top - style->body.padding.bottom; @@ -1713,6 +1869,8 @@ lv_coord_t lv_obj_get_height_fit(lv_obj_t * obj) */ bool lv_obj_get_auto_realign(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_OBJ_REALIGN return obj->realign.auto_realign ? true : false; #else @@ -1728,6 +1886,8 @@ bool lv_obj_get_auto_realign(lv_obj_t * obj) */ lv_coord_t lv_obj_get_ext_click_pad_left(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_TINY return obj->ext_click_pad_hor; #elif LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL @@ -1745,6 +1905,8 @@ lv_coord_t lv_obj_get_ext_click_pad_left(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_ext_click_pad_right(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_TINY return obj->ext_click_pad_hor; #elif LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL @@ -1762,6 +1924,8 @@ lv_coord_t lv_obj_get_ext_click_pad_right(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_ext_click_pad_top(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_TINY return obj->ext_click_pad_ver; #elif LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL @@ -1779,8 +1943,10 @@ lv_coord_t lv_obj_get_ext_click_pad_top(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_ext_click_pad_bottom(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_TINY - return obj->ext_click_pad_ver + return obj->ext_click_pad_ver; #elif LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL return obj->ext_click_pad.y2; #else @@ -1796,6 +1962,8 @@ lv_coord_t lv_obj_get_ext_click_pad_bottom(const lv_obj_t * obj) */ lv_coord_t lv_obj_get_ext_draw_pad(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->ext_draw_pad; } @@ -1810,6 +1978,8 @@ lv_coord_t lv_obj_get_ext_draw_pad(const lv_obj_t * obj) */ const lv_style_t * lv_obj_get_style(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + const lv_style_t * style_act = obj->style_p; if(style_act == NULL) { lv_obj_t * par = obj->par; @@ -1858,6 +2028,8 @@ const lv_style_t * lv_obj_get_style(const lv_obj_t * obj) */ bool lv_obj_get_hidden(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->hidden == 0 ? false : true; } @@ -1868,6 +2040,8 @@ bool lv_obj_get_hidden(const lv_obj_t * obj) */ bool lv_obj_get_click(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->click == 0 ? false : true; } @@ -1878,6 +2052,8 @@ bool lv_obj_get_click(const lv_obj_t * obj) */ bool lv_obj_get_top(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->top == 0 ? false : true; } @@ -1888,6 +2064,8 @@ bool lv_obj_get_top(const lv_obj_t * obj) */ bool lv_obj_get_drag(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->drag == 0 ? false : true; } @@ -1898,6 +2076,8 @@ bool lv_obj_get_drag(const lv_obj_t * obj) */ lv_drag_dir_t lv_obj_get_drag_dir(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->drag_dir; } @@ -1908,6 +2088,8 @@ lv_drag_dir_t lv_obj_get_drag_dir(const lv_obj_t * obj) */ bool lv_obj_get_drag_throw(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->drag_throw == 0 ? false : true; } @@ -1928,9 +2110,31 @@ bool lv_obj_get_drag_parent(const lv_obj_t * obj) */ bool lv_obj_get_parent_event(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->parent_event == 0 ? false : true; } + +lv_bidi_dir_t lv_obj_get_base_dir(const lv_obj_t * obj) +{ +#if LV_USE_BIDI + const lv_obj_t * parent = obj; + + while(parent) { + if(parent->base_dir != LV_BIDI_DIR_INHERIT) return parent->base_dir; + + parent = lv_obj_get_parent(parent); + } + + return LV_BIDI_BASE_DIR_DEF; +#else + (void) obj; /*Unused*/ + return LV_BIDI_DIR_LTR; +#endif +} + + /** * Get the opa scale enable parameter * @param obj pointer to an object @@ -1938,6 +2142,8 @@ bool lv_obj_get_parent_event(const lv_obj_t * obj) */ lv_opa_t lv_obj_get_opa_scale_enable(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->opa_scale_en == 0 ? false : true; } @@ -1948,6 +2154,8 @@ lv_opa_t lv_obj_get_opa_scale_enable(const lv_obj_t * obj) */ lv_opa_t lv_obj_get_opa_scale(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + const lv_obj_t * parent = obj; while(parent) { @@ -1965,6 +2173,8 @@ lv_opa_t lv_obj_get_opa_scale(const lv_obj_t * obj) */ uint8_t lv_obj_get_protect(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->protect; } @@ -1976,6 +2186,8 @@ uint8_t lv_obj_get_protect(const lv_obj_t * obj) */ bool lv_obj_is_protected(const lv_obj_t * obj, uint8_t prot) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return (obj->protect & prot) == 0 ? false : true; } @@ -1986,6 +2198,8 @@ bool lv_obj_is_protected(const lv_obj_t * obj, uint8_t prot) */ lv_signal_cb_t lv_obj_get_signal_cb(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->signal_cb; } @@ -1996,6 +2210,8 @@ lv_signal_cb_t lv_obj_get_signal_cb(const lv_obj_t * obj) */ lv_design_cb_t lv_obj_get_design_cb(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->design_cb; } @@ -2006,6 +2222,8 @@ lv_design_cb_t lv_obj_get_design_cb(const lv_obj_t * obj) */ lv_event_cb_t lv_obj_get_event_cb(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->event_cb; } @@ -2021,6 +2239,8 @@ lv_event_cb_t lv_obj_get_event_cb(const lv_obj_t * obj) */ void * lv_obj_get_ext_attr(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->ext_attr; } @@ -2032,6 +2252,9 @@ void * lv_obj_get_ext_attr(const lv_obj_t * obj) */ void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf) { + LV_ASSERT_NULL(buf); + LV_ASSERT_NULL(obj); + lv_obj_type_t tmp; memset(buf, 0, sizeof(lv_obj_type_t)); @@ -2060,6 +2283,8 @@ void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf) */ lv_obj_user_data_t lv_obj_get_user_data(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->user_data; } @@ -2070,6 +2295,8 @@ lv_obj_user_data_t lv_obj_get_user_data(lv_obj_t * obj) */ lv_obj_user_data_t * lv_obj_get_user_data_ptr(lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return &obj->user_data; } @@ -2080,6 +2307,8 @@ lv_obj_user_data_t * lv_obj_get_user_data_ptr(lv_obj_t * obj) */ void lv_obj_set_user_data(lv_obj_t * obj, lv_obj_user_data_t data) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + memcpy(&obj->user_data, &data, sizeof(lv_obj_user_data_t)); } #endif @@ -2092,6 +2321,8 @@ void lv_obj_set_user_data(lv_obj_t * obj, lv_obj_user_data_t data) */ void * lv_obj_get_group(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + return obj->group_p; } @@ -2102,6 +2333,8 @@ void * lv_obj_get_group(const lv_obj_t * obj) */ bool lv_obj_is_focused(const lv_obj_t * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + if(obj->group_p) { if(lv_group_get_focused(obj->group_p) == obj) return true; } @@ -2110,12 +2343,37 @@ bool lv_obj_is_focused(const lv_obj_t * obj) } #endif + +/*------------------- + * OTHER FUNCTIONS + *------------------*/ + +/** + * Used in the signal callback to handle `LV_SIGNAL_GET_TYPE` signal + * @param obj pointer to an object + * @param buf pointer to `lv_obj_type_t`. (`param` i nteh signal callback) + * @param name name of the object. E.g. "lv_btn". (Only teh pointer is saved) + * @return LV_RES_OK + */ +lv_res_t lv_obj_handle_get_type_signal(lv_obj_type_t * buf, const char * name) +{ + uint8_t i; + for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ + if(buf->type[i] == NULL) break; + } + buf->type[i] = name; + + return LV_RES_OK; +} + /********************** * STATIC FUNCTIONS **********************/ static void lv_obj_del_async_cb(void * obj) { + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + lv_obj_del(obj); } @@ -2176,24 +2434,19 @@ static bool lv_obj_design(lv_obj_t * obj, const lv_area_t * mask_p, lv_design_mo */ static lv_res_t lv_obj_signal(lv_obj_t * obj, lv_signal_t sign, void * param) { - (void)param; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_res_t res = LV_RES_OK; - const lv_style_t * style = lv_obj_get_style(obj); - if(sign == LV_SIGNAL_CHILD_CHG) { /*Return 'invalid' if the child change signal is not enabled*/ if(lv_obj_is_protected(obj, LV_PROTECT_CHILD_CHG) != false) res = LV_RES_INV; } else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { + const lv_style_t * style = lv_obj_get_style(obj); if(style->body.shadow.width > obj->ext_draw_pad) obj->ext_draw_pad = style->body.shadow.width; } else if(sign == LV_SIGNAL_STYLE_CHG) { lv_obj_refresh_ext_draw_pad(obj); - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - buf->type[0] = "lv_obj"; } - return res; } @@ -2314,18 +2567,34 @@ static void delete_children(lv_obj_t * obj) indev = lv_indev_get_next(indev); } + /* Clean up the object specific data*/ + obj->signal_cb(obj, LV_SIGNAL_CLEANUP, NULL); + /*Remove the object from parent's children list*/ lv_obj_t * par = lv_obj_get_parent(obj); lv_ll_rem(&(par->child_ll), obj); - /* Clean up the object specific data*/ - obj->signal_cb(obj, LV_SIGNAL_CLEANUP, NULL); - /*Delete the base objects*/ if(obj->ext_attr != NULL) lv_mem_free(obj->ext_attr); lv_mem_free(obj); /*Free the object itself*/ } +static void base_dir_refr_children(lv_obj_t * obj) +{ + lv_obj_t * child; + child = lv_obj_get_child(obj, NULL); + + while(child) { + if(child->base_dir == LV_BIDI_DIR_INHERIT) { + lv_signal_send(child, LV_SIGNAL_BASE_DIR_CHG, NULL); + base_dir_refr_children(child); + } + + child = lv_obj_get_child(obj, child); + } +} + + static void lv_event_mark_deleted(lv_obj_t * obj) { lv_event_temp_data_t * t = event_temp_data_head; diff --git a/src/src/lv_core/lv_obj.h b/src/src/lv_core/lv_obj.h index c2062e9..201dbc6 100644 --- a/src/src/lv_core/lv_obj.h +++ b/src/src/lv_core/lv_obj.h @@ -28,6 +28,7 @@ extern "C" { #include "../lv_misc/lv_ll.h" #include "../lv_misc/lv_color.h" #include "../lv_misc/lv_log.h" +#include "../lv_misc/lv_bidi.h" #include "../lv_hal/lv_hal.h" /********************* @@ -111,7 +112,8 @@ enum { LV_SIGNAL_CHILD_CHG, /**< Child was removed/added */ LV_SIGNAL_CORD_CHG, /**< Object coordinates/size have changed */ LV_SIGNAL_PARENT_SIZE_CHG, /**< Parent's size has changed */ - LV_SIGNAL_STYLE_CHG, /**< Object's style has changed */ + LV_SIGNAL_STYLE_CHG, /**< Object's style has changed */ + LV_SIGNAL_BASE_DIR_CHG, /**driver.rounder_cb(&disp_refr->driver, &tmp); /*If this height fits into `max_row` then fine*/ if(lv_area_get_height(&tmp) <= max_row) break; /*Decrement the height of the area until it fits into `max_row` after rounding*/ - y_tmp--; - } while(y_tmp != 0); + h_tmp--; + } while(h_tmp > 0); - if(y_tmp == 0) { + if(h_tmp <= 0) { LV_LOG_WARN("Can't set VDB height using the round function. (Wrong round_cb or to " "small VDB)"); return; diff --git a/src/src/lv_core/lv_style.c b/src/src/lv_core/lv_style.c index f5241fb..718fa6b 100644 --- a/src/src/lv_core/lv_style.c +++ b/src/src/lv_core/lv_style.c @@ -7,6 +7,7 @@ * INCLUDES *********************/ #include "lv_obj.h" +#include "../lv_core/lv_debug.h" #include "../lv_misc/lv_mem.h" #include "../lv_misc/lv_anim.h" @@ -106,6 +107,12 @@ void lv_style_init(void) lv_style_scr.line.width = 2; lv_style_scr.line.rounded = 0; +#if LV_USE_DEBUG +#if LV_USE_ASSERT_STYLE + lv_style_scr.debug_sentinel = LV_STYLE_DEGUG_SENTINEL_VALUE; +#endif +#endif + /*Plain style (by default near the same as the screen style)*/ lv_style_copy(&lv_style_plain, &lv_style_scr); lv_style_plain.body.padding.left = LV_DPI / 20; @@ -287,7 +294,7 @@ void lv_style_anim_init(lv_anim_t * a) lv_style_anim_dsc_t * dsc; dsc = lv_mem_alloc(sizeof(lv_style_anim_dsc_t)); - lv_mem_assert(dsc); + LV_ASSERT_MEM(dsc); if(dsc == NULL) return; dsc->ready_cb = NULL; dsc->style_anim = NULL; diff --git a/src/src/lv_core/lv_style.h b/src/src/lv_core/lv_style.h index 83c46f1..e002b2e 100644 --- a/src/src/lv_core/lv_style.h +++ b/src/src/lv_core/lv_style.h @@ -23,6 +23,9 @@ extern "C" { * DEFINES *********************/ #define LV_RADIUS_CIRCLE (LV_COORD_MAX) /**< A very big radius to always draw as circle*/ +#define LV_STYLE_DEGUG_SENTINEL_VALUE 0x12345678 + +LV_EXPORT_CONST_INT(LV_RADIUS_CIRCLE); /********************** * TYPEDEFS @@ -119,6 +122,13 @@ typedef struct lv_opa_t opa; uint8_t rounded : 1; /**< 1: rounded line endings*/ } line; + +#if LV_USE_DEBUG +#if LV_USE_ASSERT_STYLE + uint32_t debug_sentinel; /** #include #include "lv_draw.h" +#include "../lv_core/lv_debug.h" #include "../lv_misc/lv_math.h" #include "../lv_misc/lv_log.h" #include "../lv_misc/lv_math.h" @@ -60,12 +61,12 @@ void * lv_draw_get_buf(uint32_t size) if(LV_GC_ROOT(_lv_draw_buf) == NULL) { LV_GC_ROOT(_lv_draw_buf) = lv_mem_alloc(size); - lv_mem_assert(LV_GC_ROOT(_lv_draw_buf)); + LV_ASSERT_MEM(LV_GC_ROOT(_lv_draw_buf)); return LV_GC_ROOT(_lv_draw_buf); } LV_GC_ROOT(_lv_draw_buf) = lv_mem_realloc(LV_GC_ROOT(_lv_draw_buf), size); - lv_mem_assert(LV_GC_ROOT(_lv_draw_buf)); + LV_ASSERT_MEM(LV_GC_ROOT(_lv_draw_buf)); return LV_GC_ROOT(_lv_draw_buf); } diff --git a/src/src/lv_draw/lv_draw_arc.c b/src/src/lv_draw/lv_draw_arc.c index 3062492..5b19a12 100644 --- a/src/src/lv_draw/lv_draw_arc.c +++ b/src/src/lv_draw/lv_draw_arc.c @@ -20,7 +20,6 @@ /********************** * STATIC PROTOTYPES **********************/ -static uint16_t fast_atan2(int x, int y); static void ver_line(lv_coord_t x, lv_coord_t y, const lv_area_t * mask, lv_coord_t len, lv_color_t color, lv_opa_t opa); static void hor_line(lv_coord_t x, lv_coord_t y, const lv_area_t * mask, lv_coord_t len, lv_color_t color, @@ -57,6 +56,11 @@ void lv_draw_arc(lv_coord_t center_x, lv_coord_t center_y, uint16_t radius, cons lv_coord_t thickness = style->line.width; if(thickness > radius) thickness = radius; +#if LV_ANTIALIAS + thickness--; + radius--; +#endif + lv_coord_t r_out = radius; lv_coord_t r_in = r_out - thickness; int16_t deg_base; @@ -73,17 +77,26 @@ void lv_draw_arc(lv_coord_t center_x, lv_coord_t center_y, uint16_t radius, cons else deg_test = deg_test_inv; + int middle_r_out = r_out; +#if !LV_ANTIALIAS + thickness--; + middle_r_out = r_out - 1; +#endif if(deg_test(270, start_angle, end_angle)) - hor_line(center_x - r_out + 1, center_y, mask, thickness - 1, color, opa); /*Left Middle*/ + hor_line(center_x - middle_r_out, center_y, mask, thickness, color, opa); /*Left Middle*/ if(deg_test(90, start_angle, end_angle)) - hor_line(center_x + r_in, center_y, mask, thickness - 1, color, opa); /*Right Middle*/ + hor_line(center_x + r_in, center_y, mask, thickness, color, opa); /*Right Middle*/ if(deg_test(180, start_angle, end_angle)) - ver_line(center_x, center_y - r_out + 1, mask, thickness - 1, color, opa); /*Top Middle*/ + ver_line(center_x, center_y - middle_r_out, mask, thickness, color, opa); /*Top Middle*/ if(deg_test(0, start_angle, end_angle)) - ver_line(center_x, center_y + r_in, mask, thickness - 1, color, opa); /*Bottom middle*/ + ver_line(center_x, center_y + r_in, mask, thickness, color, opa); /*Bottom middle*/ uint32_t r_out_sqr = r_out * r_out; uint32_t r_in_sqr = r_in * r_in; +#if LV_ANTIALIAS + uint32_t r_out_aa_sqr = (r_out + 1) * (r_out + 1); + uint32_t r_in_aa_sqr = (r_in - 1) * (r_in - 1); +#endif int16_t xi; int16_t yi; for(yi = -r_out; yi < 0; yi++) { @@ -95,12 +108,55 @@ void lv_draw_arc(lv_coord_t center_x, lv_coord_t center_y, uint16_t radius, cons x_end[1] = LV_COORD_MIN; x_end[2] = LV_COORD_MIN; x_end[3] = LV_COORD_MIN; + int xe = 0; for(xi = -r_out; xi < 0; xi++) { uint32_t r_act_sqr = xi * xi + yi * yi; +#if LV_ANTIALIAS + if(r_act_sqr > r_out_aa_sqr) { + continue; + } +#else if(r_act_sqr > r_out_sqr) continue; +#endif - deg_base = fast_atan2(xi, yi) - 180; + deg_base = lv_atan2(xi, yi) - 180; + +#if LV_ANTIALIAS + int opa2 = -1; + if(r_act_sqr > r_out_sqr) { + opa2 = LV_OPA_100 * (r_out + 1) - lv_sqrt(LV_OPA_100 * LV_OPA_100 * r_act_sqr); + if(opa2 < LV_OPA_0) + opa2 = LV_OPA_0; + else if(opa2 > LV_OPA_100) + opa2 = LV_OPA_100; + } else if(r_act_sqr < r_in_sqr) { + if(xe == 0) xe = xi; + opa2 = lv_sqrt(LV_OPA_100 * LV_OPA_100 * r_act_sqr) - LV_OPA_100 * (r_in - 1); + if(opa2 < LV_OPA_0) + opa2 = LV_OPA_0; + else if(opa2 > LV_OPA_100) + opa2 = LV_OPA_100; + if(r_act_sqr < r_in_aa_sqr) + break; /*No need to continue the iteration in x once we found the inner edge of the + arc*/ + } + if(opa2 != -1) { + if(deg_test(180 + deg_base, start_angle, end_angle)) { + lv_draw_px(center_x + xi, center_y + yi, mask, color, opa2); + } + if(deg_test(360 - deg_base, start_angle, end_angle)) { + lv_draw_px(center_x + xi, center_y - yi, mask, color, opa2); + } + if(deg_test(180 - deg_base, start_angle, end_angle)) { + lv_draw_px(center_x - xi, center_y + yi, mask, color, opa2); + } + if(deg_test(deg_base, start_angle, end_angle)) { + lv_draw_px(center_x - xi, center_y - yi, mask, color, opa2); + } + continue; + } +#endif deg = 180 + deg_base; if(deg_test(deg, start_angle, end_angle)) { @@ -130,109 +186,33 @@ void lv_draw_arc(lv_coord_t center_x, lv_coord_t center_y, uint16_t radius, cons x_end[3] = xi - 1; } - if(r_act_sqr < r_in_sqr) + if(r_act_sqr < r_in_sqr) { + xe = xi; break; /*No need to continue the iteration in x once we found the inner edge of the arc*/ + } } if(x_start[0] != LV_COORD_MIN) { - if(x_end[0] == LV_COORD_MIN) x_end[0] = xi - 1; + if(x_end[0] == LV_COORD_MIN) x_end[0] = xe - 1; hor_line(center_x + x_start[0], center_y + yi, mask, x_end[0] - x_start[0], color, opa); } if(x_start[1] != LV_COORD_MIN) { - if(x_end[1] == LV_COORD_MIN) x_end[1] = xi - 1; + if(x_end[1] == LV_COORD_MIN) x_end[1] = xe - 1; hor_line(center_x + x_start[1], center_y - yi, mask, x_end[1] - x_start[1], color, opa); } if(x_start[2] != LV_COORD_MIN) { - if(x_end[2] == LV_COORD_MIN) x_end[2] = xi - 1; + if(x_end[2] == LV_COORD_MIN) x_end[2] = xe - 1; hor_line(center_x - x_end[2], center_y + yi, mask, LV_MATH_ABS(x_end[2] - x_start[2]), color, opa); } if(x_start[3] != LV_COORD_MIN) { - if(x_end[3] == LV_COORD_MIN) x_end[3] = xi - 1; + if(x_end[3] == LV_COORD_MIN) x_end[3] = xe - 1; hor_line(center_x - x_end[3], center_y - yi, mask, LV_MATH_ABS(x_end[3] - x_start[3]), color, opa); } - -#if LV_ANTIALIAS - /*TODO*/ - -#endif - } -} - -static uint16_t fast_atan2(int x, int y) -{ - // Fast XY vector to integer degree algorithm - Jan 2011 www.RomanBlack.com - // Converts any XY values including 0 to a degree value that should be - // within +/- 1 degree of the accurate value without needing - // large slow trig functions like ArcTan() or ArcCos(). - // NOTE! at least one of the X or Y values must be non-zero! - // This is the full version, for all 4 quadrants and will generate - // the angle in integer degrees from 0-360. - // Any values of X and Y are usable including negative values provided - // they are between -1456 and 1456 so the 16bit multiply does not overflow. - - unsigned char negflag; - unsigned char tempdegree; - unsigned char comp; - unsigned int degree; /*this will hold the result*/ - unsigned int ux; - unsigned int uy; - - /*Save the sign flags then remove signs and get XY as unsigned ints*/ - negflag = 0; - if(x < 0) { - negflag += 0x01; /*x flag bit*/ - x = (0 - x); /*is now +*/ - } - ux = x; /*copy to unsigned var before multiply*/ - if(y < 0) { - negflag += 0x02; /*y flag bit*/ - y = (0 - y); /*is now +*/ - } - uy = y; /*copy to unsigned var before multiply*/ - - /*1. Calc the scaled "degrees"*/ - if(ux > uy) { - degree = (uy * 45) / ux; /*degree result will be 0-45 range*/ - negflag += 0x10; /*octant flag bit*/ - } else { - degree = (ux * 45) / uy; /*degree result will be 0-45 range*/ - } - - /*2. Compensate for the 4 degree error curve*/ - comp = 0; - tempdegree = degree; /*use an unsigned char for speed!*/ - if(tempdegree > 22) { /*if top half of range*/ - if(tempdegree <= 44) comp++; - if(tempdegree <= 41) comp++; - if(tempdegree <= 37) comp++; - if(tempdegree <= 32) comp++; /*max is 4 degrees compensated*/ - } else { /*else is lower half of range*/ - if(tempdegree >= 2) comp++; - if(tempdegree >= 6) comp++; - if(tempdegree >= 10) comp++; - if(tempdegree >= 15) comp++; /*max is 4 degrees compensated*/ - } - degree += comp; /*degree is now accurate to +/- 1 degree!*/ - - /*Invert degree if it was X>Y octant, makes 0-45 into 90-45*/ - if(negflag & 0x10) degree = (90 - degree); - - /*3. Degree is now 0-90 range for this quadrant,*/ - /*need to invert it for whichever quadrant it was in*/ - if(negflag & 0x02) { /*if -Y*/ - if(negflag & 0x01) /*if -Y -X*/ - degree = (180 + degree); - else /*else is -Y +X*/ - degree = (180 - degree); - } else { /*else is +Y*/ - if(negflag & 0x01) /*if +Y -X*/ - degree = (360 - degree); } - return degree; } /********************** diff --git a/src/src/lv_draw/lv_draw_basic.c b/src/src/lv_draw/lv_draw_basic.c index afbf481..6a0593b 100644 --- a/src/src/lv_draw/lv_draw_basic.c +++ b/src/src/lv_draw/lv_draw_basic.c @@ -252,6 +252,7 @@ void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * mask_p, const lv bool g_ret = lv_font_get_glyph_dsc(font_p, &g, letter, '\0'); if(g_ret == false) return; + lv_coord_t pos_x = pos_p->x + g.ofs_x; lv_coord_t pos_y = pos_p->y + (font_p->line_height - font_p->base_line) - g.box_h - g.ofs_y; @@ -259,6 +260,9 @@ void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * mask_p, const lv uint8_t bitmask_init; uint8_t bitmask; + /*bpp = 3 should be converted to bpp = 4 in lv_font_get_glyph_bitmap */ + if(g.bpp == 3) g.bpp = 4; + switch(g.bpp) { case 1: bpp_opa_table = bpp1_opa_table; @@ -297,17 +301,32 @@ void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * mask_p, const lv if(g.box_w & 0x7) width_byte_scr++; uint16_t width_bit = g.box_w * g.bpp; /*Letter width in bits*/ + bool subpx = font_p->subpx == LV_FONT_SUBPX_NONE ? false : true; + /* Calculate the col/row start/end on the map*/ - lv_coord_t col_start = pos_x >= mask_p->x1 ? 0 : mask_p->x1 - pos_x; - lv_coord_t col_end = pos_x + g.box_w <= mask_p->x2 ? g.box_w : mask_p->x2 - pos_x + 1; - lv_coord_t row_start = pos_y >= mask_p->y1 ? 0 : mask_p->y1 - pos_y; - lv_coord_t row_end = pos_y + g.box_h <= mask_p->y2 ? g.box_h : mask_p->y2 - pos_y + 1; + lv_coord_t col_start; + lv_coord_t col_end; + lv_coord_t row_start; + lv_coord_t row_end; + + if(subpx == false) { + col_start = pos_x >= mask_p->x1 ? 0 : mask_p->x1 - pos_x; + col_end = pos_x + g.box_w <= mask_p->x2 ? g.box_w : mask_p->x2 - pos_x + 1; + row_start = pos_y >= mask_p->y1 ? 0 : mask_p->y1 - pos_y; + row_end = pos_y + g.box_h <= mask_p->y2 ? g.box_h : mask_p->y2 - pos_y + 1; + } else { + col_start = pos_x >= mask_p->x1 ? 0 : (mask_p->x1 - pos_x) * 3; + col_end = pos_x + g.box_w / 3 <= mask_p->x2 ? g.box_w : (mask_p->x2 - pos_x + 1) * 3; + row_start = pos_y >= mask_p->y1 ? 0 : mask_p->y1 - pos_y; + row_end = pos_y + g.box_h <= mask_p->y2 ? g.box_h : mask_p->y2 - pos_y + 1; + } /*Set a pointer on VDB to the first pixel of the letter*/ vdb_buf_tmp += ((pos_y - vdb->area.y1) * vdb_width) + pos_x - vdb->area.x1; /*If the letter is partially out of mask the move there on VDB*/ - vdb_buf_tmp += (row_start * vdb_width) + col_start; + if(subpx) vdb_buf_tmp += (row_start * vdb_width) + col_start / 3; + else vdb_buf_tmp += (row_start * vdb_width) + col_start; /*Move on the map too*/ uint32_t bit_ofs = (row_start * width_bit) + (col_start * g.bpp); @@ -323,37 +342,90 @@ void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * mask_p, const lv scr_transp = disp->driver.screen_transp; #endif + uint8_t font_rgb[3]; + uint8_t txt_rgb[3] = {LV_COLOR_GET_R(color), LV_COLOR_GET_G(color), LV_COLOR_GET_B(color)}; + for(row = row_start; row < row_end; row++) { bitmask = bitmask_init >> col_bit; + uint8_t sub_px_cnt = 0; for(col = col_start; col < col_end; col++) { letter_px = (*map_p & bitmask) >> (8 - col_bit - g.bpp); - if(letter_px != 0) { - if(opa == LV_OPA_COVER) { - px_opa = g.bpp == 8 ? letter_px : bpp_opa_table[letter_px]; + + /*subpx == 0*/ + if(subpx == false) { + if(letter_px != 0) { + if(opa == LV_OPA_COVER) { + px_opa = g.bpp == 8 ? letter_px : bpp_opa_table[letter_px]; + } else { + px_opa = g.bpp == 8 ? (uint16_t)((uint16_t)letter_px * opa) >> 8 + : (uint16_t)((uint16_t)bpp_opa_table[letter_px] * opa) >> 8; + } + + if(disp->driver.set_px_cb) { + disp->driver.set_px_cb(&disp->driver, (uint8_t *)vdb->buf_act, vdb_width, + (col + pos_x) - vdb->area.x1, (row + pos_y) - vdb->area.y1, color, px_opa); + } else if(vdb_buf_tmp->full != color.full) { + if(px_opa > LV_OPA_MAX) { + *vdb_buf_tmp = color; + } else if(px_opa > LV_OPA_MIN) { + if(scr_transp == false) { + *vdb_buf_tmp = lv_color_mix(color, *vdb_buf_tmp, px_opa); + } else { +#if LV_COLOR_DEPTH == 32 && LV_COLOR_SCREEN_TRANSP + *vdb_buf_tmp = color_mix_2_alpha(*vdb_buf_tmp, (*vdb_buf_tmp).ch.alpha, color, px_opa); +#endif + } + } + } + } + vdb_buf_tmp++; + } + /*Handle subpx drawing*/ + else { + if(letter_px != 0) { + if(opa == LV_OPA_COVER) { + px_opa = g.bpp == 8 ? letter_px : bpp_opa_table[letter_px]; + } else { + px_opa = g.bpp == 8 ? (uint16_t)((uint16_t)letter_px * opa) >> 8 + : (uint16_t)((uint16_t)bpp_opa_table[letter_px] * opa) >> 8; + } + + font_rgb[sub_px_cnt] = px_opa; } else { - px_opa = g.bpp == 8 ? (uint16_t)((uint16_t)letter_px * opa) >> 8 - : (uint16_t)((uint16_t)bpp_opa_table[letter_px] * opa) >> 8; + font_rgb[sub_px_cnt] = 0; } + sub_px_cnt ++; + + if(sub_px_cnt == 3) { + lv_color_t res_color; + + if(font_rgb[0] == 0 && font_rgb[1] == 0 && font_rgb[2] == 0) { + res_color = *vdb_buf_tmp; + } else { + + uint8_t bg_rgb[3] = {LV_COLOR_GET_R(*vdb_buf_tmp), LV_COLOR_GET_G(*vdb_buf_tmp), LV_COLOR_GET_B(*vdb_buf_tmp)}; - if(disp->driver.set_px_cb) { - disp->driver.set_px_cb(&disp->driver, (uint8_t *)vdb->buf_act, vdb_width, - (col + pos_x) - vdb->area.x1, (row + pos_y) - vdb->area.y1, color, px_opa); - } else if(vdb_buf_tmp->full != color.full) { - if(px_opa > LV_OPA_MAX) - *vdb_buf_tmp = color; - else if(px_opa > LV_OPA_MIN) { - if(scr_transp == false) { - *vdb_buf_tmp = lv_color_mix(color, *vdb_buf_tmp, px_opa); - } else { +#if LV_FONT_SUBPX_BGR + LV_COLOR_SET_B(res_color, (uint16_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[2] * (255 - font_rgb[0]))) >> 8); + LV_COLOR_SET_R(res_color, (uint16_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[0] * (255 - font_rgb[2]))) >> 8); +#else + LV_COLOR_SET_R(res_color, (uint16_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8); + LV_COLOR_SET_B(res_color, (uint16_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8); +#endif + LV_COLOR_SET_G(res_color, (uint16_t)((uint16_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8); + } + if(scr_transp == false) { + vdb_buf_tmp->full = res_color.full; #if LV_COLOR_DEPTH == 32 && LV_COLOR_SCREEN_TRANSP - *vdb_buf_tmp = color_mix_2_alpha(*vdb_buf_tmp, (*vdb_buf_tmp).ch.alpha, color, px_opa); + } else { + *vdb_buf_tmp = color_mix_2_alpha(*vdb_buf_tmp, (*vdb_buf_tmp).ch.alpha, color, px_opa); #endif - } } + sub_px_cnt = 0; + vdb_buf_tmp++; } } - vdb_buf_tmp++; if(col_bit < 8 - g.bpp) { col_bit += g.bpp; @@ -364,11 +436,15 @@ void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * mask_p, const lv map_p++; } } + col_bit += ((g.box_w - col_end) + col_start) * g.bpp; map_p += (col_bit >> 3); col_bit = col_bit & 0x7; - vdb_buf_tmp += vdb_width - (col_end - col_start); /*Next row in VDB*/ + + /*Next row in VDB*/ + if(subpx) vdb_buf_tmp += vdb_width - (col_end - col_start) / 3; + else vdb_buf_tmp += vdb_width - (col_end - col_start); } } diff --git a/src/src/lv_draw/lv_draw_img.c b/src/src/lv_draw/lv_draw_img.c index 8b5048b..0f1f692 100644 --- a/src/src/lv_draw/lv_draw_img.c +++ b/src/src/lv_draw/lv_draw_img.c @@ -9,6 +9,7 @@ #include "lv_draw_img.h" #include "lv_img_cache.h" #include "../lv_misc/lv_log.h" +#include "../lv_misc/lv_mem.h" /********************* * DEFINES @@ -50,7 +51,7 @@ void lv_draw_img(const lv_area_t * coords, const lv_area_t * mask, const void * if(src == NULL) { LV_LOG_WARN("Image draw: src is NULL"); lv_draw_rect(coords, mask, &lv_style_plain, LV_OPA_COVER); - lv_draw_label(coords, mask, &lv_style_plain, LV_OPA_COVER, "No\ndata", LV_TXT_FLAG_NONE, NULL, -1, -1, NULL); + lv_draw_label(coords, mask, &lv_style_plain, LV_OPA_COVER, "No\ndata", LV_TXT_FLAG_NONE, NULL, NULL, NULL, LV_BIDI_DIR_LTR); return; } @@ -60,7 +61,7 @@ void lv_draw_img(const lv_area_t * coords, const lv_area_t * mask, const void * if(res == LV_RES_INV) { LV_LOG_WARN("Image draw error"); lv_draw_rect(coords, mask, &lv_style_plain, LV_OPA_COVER); - lv_draw_label(coords, mask, &lv_style_plain, LV_OPA_COVER, "No\ndata", LV_TXT_FLAG_NONE, NULL, -1, -1, NULL); + lv_draw_label(coords, mask, &lv_style_plain, LV_OPA_COVER, "No\ndata", LV_TXT_FLAG_NONE, NULL, NULL, NULL, LV_BIDI_DIR_LTR); return; } } @@ -401,10 +402,14 @@ bool lv_img_color_format_is_chroma_keyed(lv_img_cf_t cf) switch(cf) { case LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED: case LV_IMG_CF_RAW_CHROMA_KEYED: +#if LV_INDEXED_CHROMA case LV_IMG_CF_INDEXED_1BIT: case LV_IMG_CF_INDEXED_2BIT: case LV_IMG_CF_INDEXED_4BIT: - case LV_IMG_CF_INDEXED_8BIT: is_chroma_keyed = true; break; + case LV_IMG_CF_INDEXED_8BIT: +#endif + is_chroma_keyed = true; break; + default: is_chroma_keyed = false; break; } @@ -423,6 +428,10 @@ bool lv_img_color_format_has_alpha(lv_img_cf_t cf) switch(cf) { case LV_IMG_CF_TRUE_COLOR_ALPHA: case LV_IMG_CF_RAW_ALPHA: + case LV_IMG_CF_INDEXED_1BIT: + case LV_IMG_CF_INDEXED_2BIT: + case LV_IMG_CF_INDEXED_4BIT: + case LV_IMG_CF_INDEXED_8BIT: case LV_IMG_CF_ALPHA_1BIT: case LV_IMG_CF_ALPHA_2BIT: case LV_IMG_CF_ALPHA_4BIT: @@ -464,6 +473,66 @@ lv_img_src_t lv_img_src_get_type(const void * src) return img_src_type; } +lv_img_dsc_t *lv_img_buf_alloc(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf) +{ + /* Allocate image descriptor */ + lv_img_dsc_t *dsc = lv_mem_alloc(sizeof(lv_img_dsc_t)); + if(dsc == NULL) + return NULL; + + memset(dsc, 0, sizeof(lv_img_dsc_t)); + + /* Get image data size */ + dsc->data_size = lv_img_buf_get_img_size(w, h, cf); + if(dsc->data_size == 0) { + lv_mem_free(dsc); + return NULL; + } + + /* Allocate raw buffer */ + dsc->data = lv_mem_alloc(dsc->data_size); + if(dsc->data == NULL) { + lv_mem_free(dsc); + return NULL; + } + memset((uint8_t *)dsc->data, 0, dsc->data_size); + + /* Fill in header */ + dsc->header.always_zero = 0; + dsc->header.w = w; + dsc->header.h = h; + dsc->header.cf = cf; + return dsc; +} + +void lv_img_buf_free(lv_img_dsc_t *dsc) +{ + if(dsc != NULL) { + if(dsc->data != NULL) + lv_mem_free(dsc->data); + + lv_mem_free(dsc); + } +} + +uint32_t lv_img_buf_get_img_size(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf) +{ + switch(cf) { + case LV_IMG_CF_TRUE_COLOR: return LV_IMG_BUF_SIZE_TRUE_COLOR(w, h); + case LV_IMG_CF_TRUE_COLOR_ALPHA: return LV_IMG_BUF_SIZE_TRUE_COLOR_ALPHA(w, h); + case LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED: return LV_IMG_BUF_SIZE_TRUE_COLOR_CHROMA_KEYED(w, h); + case LV_IMG_CF_ALPHA_1BIT: return LV_IMG_BUF_SIZE_ALPHA_1BIT(w, h); + case LV_IMG_CF_ALPHA_2BIT: return LV_IMG_BUF_SIZE_ALPHA_2BIT(w, h); + case LV_IMG_CF_ALPHA_4BIT: return LV_IMG_BUF_SIZE_ALPHA_4BIT(w, h); + case LV_IMG_CF_ALPHA_8BIT: return LV_IMG_BUF_SIZE_ALPHA_8BIT(w, h); + case LV_IMG_CF_INDEXED_1BIT: return LV_IMG_BUF_SIZE_INDEXED_1BIT(w, h); + case LV_IMG_CF_INDEXED_2BIT: return LV_IMG_BUF_SIZE_INDEXED_2BIT(w, h); + case LV_IMG_CF_INDEXED_4BIT: return LV_IMG_BUF_SIZE_INDEXED_4BIT(w, h); + case LV_IMG_CF_INDEXED_8BIT: return LV_IMG_BUF_SIZE_INDEXED_8BIT(w, h); + default: return 0; + } +} + /********************** * STATIC FUNCTIONS **********************/ @@ -493,8 +562,7 @@ static lv_res_t lv_img_draw_core(const lv_area_t * coords, const lv_area_t * mas if(cdsc->dec_dsc.error_msg != NULL) { LV_LOG_WARN("Image draw error"); lv_draw_rect(coords, mask, &lv_style_plain, LV_OPA_COVER); - lv_draw_label(coords, mask, &lv_style_plain, LV_OPA_COVER, cdsc->dec_dsc.error_msg, LV_TXT_FLAG_NONE, NULL, -1, - -1, NULL); + lv_draw_label(coords, mask, &lv_style_plain, LV_OPA_COVER, cdsc->dec_dsc.error_msg, LV_TXT_FLAG_NONE, NULL, NULL, NULL, LV_BIDI_DIR_LTR); } /* The decoder open could open the image and gave the entire uncompressed image. * Just draw it!*/ @@ -506,7 +574,7 @@ static lv_res_t lv_img_draw_core(const lv_area_t * coords, const lv_area_t * mas else { lv_coord_t width = lv_area_get_width(&mask_com); - uint8_t * buf = lv_draw_get_buf(lv_area_get_width(&mask_com) * ((LV_COLOR_DEPTH >> 3) + 1)); /*+1 because of the possible alpha byte*/ + uint8_t * buf = lv_draw_get_buf(lv_area_get_width(&mask_com) * LV_IMG_PX_SIZE_ALPHA_BYTE); /*space for the possible alpha byte*/ lv_area_t line; lv_area_copy(&line, &mask_com); diff --git a/src/src/lv_draw/lv_draw_img.h b/src/src/lv_draw/lv_draw_img.h index 61c6048..794dd79 100644 --- a/src/src/lv_draw/lv_draw_img.h +++ b/src/src/lv_draw/lv_draw_img.h @@ -20,6 +20,26 @@ extern "C" { * DEFINES *********************/ +/********************** + * MACROS + **********************/ + +#define LV_IMG_BUF_SIZE_TRUE_COLOR(w, h) ((LV_COLOR_SIZE / 8) * w * h) +#define LV_IMG_BUF_SIZE_TRUE_COLOR_CHROMA_KEYED(w, h) ((LV_COLOR_SIZE / 8) * w * h) +#define LV_IMG_BUF_SIZE_TRUE_COLOR_ALPHA(w, h) (LV_IMG_PX_SIZE_ALPHA_BYTE * w * h) + +/*+ 1: to be sure no fractional row*/ +#define LV_IMG_BUF_SIZE_ALPHA_1BIT(w, h) ((((w / 8) + 1) * h)) +#define LV_IMG_BUF_SIZE_ALPHA_2BIT(w, h) ((((w / 4) + 1) * h)) +#define LV_IMG_BUF_SIZE_ALPHA_4BIT(w, h) ((((w / 2) + 1) * h)) +#define LV_IMG_BUF_SIZE_ALPHA_8BIT(w, h) ((w * h)) + +/*4 * X: for palette*/ +#define LV_IMG_BUF_SIZE_INDEXED_1BIT(w, h) (LV_IMG_BUF_SIZE_ALPHA_1BIT(w, h) + 4 * 2) +#define LV_IMG_BUF_SIZE_INDEXED_2BIT(w, h) (LV_IMG_BUF_SIZE_ALPHA_2BIT(w, h) + 4 * 4) +#define LV_IMG_BUF_SIZE_INDEXED_4BIT(w, h) (LV_IMG_BUF_SIZE_ALPHA_4BIT(w, h) + 4 * 16) +#define LV_IMG_BUF_SIZE_INDEXED_8BIT(w, h) (LV_IMG_BUF_SIZE_ALPHA_8BIT(w, h) + 4 * 256) + /********************** * TYPEDEFS **********************/ @@ -120,9 +140,30 @@ bool lv_img_color_format_is_chroma_keyed(lv_img_cf_t cf); */ bool lv_img_color_format_has_alpha(lv_img_cf_t cf); -/********************** - * MACROS - **********************/ +/** + * Allocate an image buffer in RAM + * @param w width of image + * @param h height of image + * @param cf a color format (`LV_IMG_CF_...`) + * @return an allocated image, or NULL on failure + */ +lv_img_dsc_t *lv_img_buf_alloc(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf); + +/** + * Free an allocated image buffer + * @param dsc image buffer to free + */ +void lv_img_buf_free(lv_img_dsc_t *dsc); + +/** + * Get the memory consumption of a raw bitmap, given color format and dimensions. + * @param w width + * @param h height + * @param cf color format + * @return size in bytes + */ +uint32_t lv_img_buf_get_img_size(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf); + #ifdef __cplusplus } /* extern "C" */ diff --git a/src/src/lv_draw/lv_draw_label.c b/src/src/lv_draw/lv_draw_label.c index aa3445d..2986543 100644 --- a/src/src/lv_draw/lv_draw_label.c +++ b/src/src/lv_draw/lv_draw_label.c @@ -8,6 +8,7 @@ *********************/ #include "lv_draw_label.h" #include "../lv_misc/lv_math.h" +#include "../lv_misc/lv_bidi.h" /********************* * DEFINES @@ -51,15 +52,18 @@ static uint8_t hex_char_to_num(char hex); * @param txt 0 terminated text to write * @param flag settings for the text from 'txt_flag_t' enum * @param offset text offset in x and y direction (NULL if unused) - * @param sel_start start index of selected area (`LV_LABEL_TXT_SEL_OFF` if none) - * @param sel_end end index of selected area (`LV_LABEL_TXT_SEL_OFF` if none) + * @param sel make the text selected in the range by drawing a background there */ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_style_t * style, lv_opa_t opa_scale, - const char * txt, lv_txt_flag_t flag, lv_point_t * offset, uint16_t sel_start, uint16_t sel_end, - lv_draw_label_hint_t * hint) + const char * txt, lv_txt_flag_t flag, lv_point_t * offset, lv_draw_label_txt_sel_t * sel, + lv_draw_label_hint_t * hint, lv_bidi_dir_t bidi_dir) { const lv_font_t * font = style->text.font; lv_coord_t w; + + /*No need to waste processor time if string is empty*/ + if (txt[0] == '\0') return; + if((flag & LV_TXT_FLAG_EXPAND) == 0) { /*Normally use the label's width as width*/ w = lv_area_get_width(coords); @@ -67,7 +71,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st /*If EXAPND is enabled then not limit the text's width to the object's width*/ lv_point_t p; lv_txt_get_size(&p, txt, style->text.font, style->text.letter_space, style->text.line_space, LV_COORD_MAX, - flag); + flag); w = p.x; } @@ -105,6 +109,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st pos.y += hint->y; } + uint32_t line_end = line_start + lv_txt_get_next_line(&txt[line_start], font, style->text.letter_space, w, flag); /*Go the first visible line*/ @@ -139,6 +144,18 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st lv_opa_t opa = opa_scale == LV_OPA_COVER ? style->text.opa : (uint16_t)((uint16_t)style->text.opa * opa_scale) >> 8; + uint16_t sel_start = 0xFFFF; + uint16_t sel_end = 0xFFFF; + if(sel) { + sel_start = sel->start; + sel_end = sel->end; + if(sel_start > sel_end) { + uint16_t tmp = sel_start; + sel_start = sel_end; + sel_end = tmp; + } + } + cmd_state_t cmd_state = CMD_STATE_WAIT; uint32_t i; uint16_t par_start = 0; @@ -155,12 +172,31 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st } /*Write all letter of a line*/ cmd_state = CMD_STATE_WAIT; - i = line_start; + i = 0; uint32_t letter; uint32_t letter_next; - while(i < line_end) { - letter = lv_txt_encoded_next(txt, &i); - letter_next = lv_txt_encoded_next(&txt[i], NULL); +#if LV_USE_BIDI + char *bidi_txt = lv_draw_get_buf(line_end - line_start + 1); + lv_bidi_process_paragraph(txt + line_start, bidi_txt, line_end - line_start, bidi_dir, NULL, 0); +#else + const char *bidi_txt = txt + line_start; +#endif + + while(i < line_end - line_start) { + uint16_t logical_char_pos = 0; + if(sel_start != 0xFFFF && sel_end != 0xFFFF) { +#if LV_USE_BIDI + logical_char_pos = lv_txt_encoded_get_char_id(txt, line_start); + uint16_t t = lv_txt_encoded_get_char_id(bidi_txt, i); + logical_char_pos += lv_bidi_get_logical_pos(bidi_txt, NULL, line_end - line_start, bidi_dir, t, NULL); +#else + logical_char_pos = lv_txt_encoded_get_char_id(txt, line_start + i); +#endif + } + + letter = lv_txt_encoded_next(bidi_txt, &i); + letter_next = lv_txt_encoded_next(&bidi_txt[i], NULL); + /*Handle the re-color command*/ if((flag & LV_TXT_FLAG_RECOLOR) != 0) { @@ -183,7 +219,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st /*Get the parameter*/ if(i - par_start == LABEL_RECOLOR_PAR_LENGTH + 1) { char buf[LABEL_RECOLOR_PAR_LENGTH + 1]; - memcpy(buf, &txt[par_start], LABEL_RECOLOR_PAR_LENGTH); + memcpy(buf, &bidi_txt[par_start], LABEL_RECOLOR_PAR_LENGTH); buf[LABEL_RECOLOR_PAR_LENGTH] = '\0'; int r, g, b; r = (hex_char_to_num(buf[0]) << 4) + hex_char_to_num(buf[1]); @@ -206,9 +242,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st letter_w = lv_font_get_glyph_width(font, letter, letter_next); if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - int char_ind = lv_encoded_get_char_id(txt, i); - /*Do not draw the rectangle on the character at `sel_start`.*/ - if(char_ind > sel_start && char_ind <= sel_end) { + if(logical_char_pos >= sel_start && logical_char_pos < sel_end) { lv_area_t sel_coords; sel_coords.x1 = pos.x; sel_coords.y1 = pos.y; @@ -217,6 +251,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st lv_draw_rect(&sel_coords, mask, &sel_style, opa); } } + lv_draw_letter(&pos, mask, font, letter, color, opa); if(letter_w > 0) { @@ -231,7 +266,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st /*Align to middle*/ if(flag & LV_TXT_FLAG_CENTER) { line_width = - lv_txt_get_width(&txt[line_start], line_end - line_start, font, style->text.letter_space, flag); + lv_txt_get_width(&txt[line_start], line_end - line_start, font, style->text.letter_space, flag); pos.x += (lv_area_get_width(coords) - line_width) / 2; @@ -239,7 +274,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_st /*Align to the right*/ else if(flag & LV_TXT_FLAG_RIGHT) { line_width = - lv_txt_get_width(&txt[line_start], line_end - line_start, font, style->text.letter_space, flag); + lv_txt_get_width(&txt[line_start], line_end - line_start, font, style->text.letter_space, flag); pos.x += lv_area_get_width(coords) - line_width; } @@ -269,13 +304,13 @@ static uint8_t hex_char_to_num(char hex) if(hex >= 'a') hex -= 'a' - 'A'; /*Convert to upper case*/ switch(hex) { - case 'A': result = 10; break; - case 'B': result = 11; break; - case 'C': result = 12; break; - case 'D': result = 13; break; - case 'E': result = 14; break; - case 'F': result = 15; break; - default: result = 0; break; + case 'A': result = 10; break; + case 'B': result = 11; break; + case 'C': result = 12; break; + case 'D': result = 13; break; + case 'E': result = 14; break; + case 'F': result = 15; break; + default: result = 0; break; } } diff --git a/src/src/lv_draw/lv_draw_label.h b/src/src/lv_draw/lv_draw_label.h index 2328aa2..6dc4d64 100644 --- a/src/src/lv_draw/lv_draw_label.h +++ b/src/src/lv_draw/lv_draw_label.h @@ -14,15 +14,24 @@ extern "C" { * INCLUDES *********************/ #include "lv_draw.h" +#include "../lv_misc/lv_bidi.h" /********************* * DEFINES *********************/ +#define LV_DRAW_LABEL_NO_TXT_SEL (0xFFFF) /********************** * TYPEDEFS **********************/ +typedef struct +{ + uint16_t start; + uint16_t end; +}lv_draw_label_txt_sel_t; + + /** Store some info to speed up drawing of very large texts * It takes a lot of time to get the first visible character because * all the previous characters needs to be checked to calculate the positions. @@ -54,11 +63,11 @@ typedef struct { * @param flag settings for the text from 'txt_flag_t' enum * @param offset text offset in x and y direction (NULL if unused) * @param sel_start start index of selected area (`LV_LABEL_TXT_SEL_OFF` if none) - * @param sel_end end index of selected area (`LV_LABEL_TXT_SEL_OFF` if none) + * @param bidi_dir base direction of the text */ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_style_t * style, lv_opa_t opa_scale, - const char * txt, lv_txt_flag_t flag, lv_point_t * offset, uint16_t sel_start, uint16_t sel_end, - lv_draw_label_hint_t * hint); + const char * txt, lv_txt_flag_t flag, lv_point_t * offset, lv_draw_label_txt_sel_t * sel, + lv_draw_label_hint_t * hint, lv_bidi_dir_t bidi_dir); /********************** * MACROS diff --git a/src/src/lv_draw/lv_draw_line.c b/src/src/lv_draw/lv_draw_line.c index 76d62f0..a522a4b 100644 --- a/src/src/lv_draw/lv_draw_line.c +++ b/src/src/lv_draw/lv_draw_line.c @@ -263,7 +263,8 @@ static void line_draw_skew(line_draw_t * main_line, bool dir_ori, const lv_area_ /* The pattern stores the points of the line ending. It has the good direction and length. * The worth case is the 45° line where pattern can have 1.41 x `width` points*/ - lv_point_t * pattern = lv_draw_get_buf(width * 2 * sizeof(lv_point_t)); + lv_coord_t pattern_size = width * 2; + lv_point_t * pattern = lv_draw_get_buf(pattern_size * sizeof(lv_point_t)); lv_coord_t i = 0; /*Create a perpendicular pattern (a small line)*/ @@ -274,7 +275,7 @@ static void line_draw_skew(line_draw_t * main_line, bool dir_ori, const lv_area_ uint32_t width_sqr = width * width; /* Run for a lot of times. Meanwhile the real width will be determined as well */ - for(i = 0; i < (lv_coord_t)sizeof(pattern); i++) { + for(i = 0; i < (lv_coord_t)pattern_size - 1; i++) { pattern[i].x = pattern_line.p_act.x; pattern[i].y = pattern_line.p_act.y; diff --git a/src/src/lv_draw/lv_draw_triangle.c b/src/src/lv_draw/lv_draw_triangle.c index e06af2b..1c8939a 100644 --- a/src/src/lv_draw/lv_draw_triangle.c +++ b/src/src/lv_draw/lv_draw_triangle.c @@ -45,8 +45,7 @@ static void point_swap(lv_point_t * p1, lv_point_t * p2); */ void lv_draw_triangle(const lv_point_t * points, const lv_area_t * mask, const lv_style_t * style, lv_opa_t opa_scale) { - - /*Return is the triangle is degenerated*/ + /*Return if the triangle is degenerated*/ if(points[0].x == points[1].x && points[0].y == points[1].y) return; if(points[1].x == points[2].x && points[1].y == points[2].y) return; if(points[0].x == points[2].x && points[0].y == points[2].y) return; diff --git a/src/src/lv_draw/lv_img_cache.c b/src/src/lv_draw/lv_img_cache.c index eab900c..5ca48e4 100644 --- a/src/src/lv_draw/lv_img_cache.c +++ b/src/src/lv_draw/lv_img_cache.c @@ -6,7 +6,10 @@ /********************* * INCLUDES *********************/ +#include "../lv_core/lv_debug.h" #include "lv_img_cache.h" +#include "lv_img_decoder.h" +#include "lv_draw_img.h" #include "../lv_hal/lv_hal_tick.h" #include "../lv_misc/lv_gc.h" @@ -79,7 +82,15 @@ lv_img_cache_entry_t * lv_img_cache_open(const void * src, const lv_style_t * st /*Is the image cached?*/ lv_img_cache_entry_t * cached_src = NULL; for(i = 0; i < entry_cnt; i++) { - if(cache[i].dec_dsc.src == src) { + bool match = false; + lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src); + if(src_type == LV_IMG_SRC_VARIABLE) { + if(cache[i].dec_dsc.src == src) match = true; + } else if(src_type == LV_IMG_SRC_FILE) { + if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true; + } + + if(match) { /* If opened increment its life. * Image difficult to open should live longer to keep avoid frequent their recaching. * Therefore increase `life` with `time_to_open`*/ @@ -152,7 +163,7 @@ void lv_img_cache_set_size(uint16_t new_entry_cnt) /*Reallocate the cache*/ LV_GC_ROOT(_lv_img_cache_array) = lv_mem_alloc(sizeof(lv_img_cache_entry_t) * new_entry_cnt); - lv_mem_assert(LV_GC_ROOT(_lv_img_cache_array)); + LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array)); if(LV_GC_ROOT(_lv_img_cache_array) == NULL) { entry_cnt = 0; return; diff --git a/src/src/lv_draw/lv_img_decoder.c b/src/src/lv_draw/lv_img_decoder.c index 730739c..b71624c 100644 --- a/src/src/lv_draw/lv_img_decoder.c +++ b/src/src/lv_draw/lv_img_decoder.c @@ -7,6 +7,7 @@ * INCLUDES *********************/ #include "lv_img_decoder.h" +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw_img.h" #include "../lv_misc/lv_ll.h" #include "../lv_misc/lv_color.h" @@ -31,6 +32,7 @@ typedef struct lv_fs_file_t * f; #endif lv_color_t * palette; + lv_opa_t * opa; } lv_img_decoder_built_in_data_t; /********************** @@ -68,7 +70,7 @@ void lv_img_decoder_init(void) decoder = lv_img_decoder_create(); if(decoder == NULL) { LV_LOG_WARN("lv_img_decoder_init: out of memory"); - lv_mem_assert(decoder); + LV_ASSERT_MEM(decoder); return; } @@ -118,10 +120,17 @@ lv_res_t lv_img_decoder_get_info(const char * src, lv_img_header_t * header) lv_res_t lv_img_decoder_open(lv_img_decoder_dsc_t * dsc, const void * src, const lv_style_t * style) { dsc->style = style; - dsc->src = src; dsc->src_type = lv_img_src_get_type(src); dsc->user_data = NULL; + if(dsc->src_type == LV_IMG_SRC_FILE) { + uint16_t fnlen = strlen(src); + dsc->src = lv_mem_alloc(fnlen + 1); + strcpy((char *)dsc->src, src); + } else { + dsc->src = src; + } + lv_res_t res = LV_RES_INV; lv_img_decoder_t * d; @@ -175,6 +184,11 @@ void lv_img_decoder_close(lv_img_decoder_dsc_t * dsc) { if(dsc->decoder) { if(dsc->decoder->close_cb) dsc->decoder->close_cb(dsc->decoder, dsc); + + if(dsc->src_type == LV_IMG_SRC_FILE) { + lv_mem_free(dsc->src); + dsc->src = NULL; + } } } @@ -186,7 +200,7 @@ lv_img_decoder_t * lv_img_decoder_create(void) { lv_img_decoder_t * decoder; decoder = lv_ll_ins_head(&LV_GC_ROOT(_lv_img_defoder_ll)); - lv_mem_assert(decoder); + LV_ASSERT_MEM(decoder); if(decoder == NULL) return NULL; memset(decoder, 0, sizeof(lv_img_decoder_t)); @@ -321,7 +335,7 @@ lv_res_t lv_img_decoder_built_in_open(lv_img_decoder_t * decoder, lv_img_decoder dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); if(dsc->user_data == NULL) { LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - lv_mem_assert(dsc->user_data); + LV_ASSERT_MEM(dsc->user_data); } memset(dsc->user_data, 0, sizeof(lv_img_decoder_built_in_data_t)); } @@ -330,7 +344,7 @@ lv_res_t lv_img_decoder_built_in_open(lv_img_decoder_t * decoder, lv_img_decoder user_data->f = lv_mem_alloc(sizeof(f)); if(user_data->f == NULL) { LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - lv_mem_assert(user_data->f); + LV_ASSERT_MEM(user_data->f); } memcpy(user_data->f, &f, sizeof(f)); @@ -368,17 +382,18 @@ lv_res_t lv_img_decoder_built_in_open(lv_img_decoder_t * decoder, lv_img_decoder dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); if(dsc->user_data == NULL) { LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - lv_mem_assert(dsc->user_data); + LV_ASSERT_MEM(dsc->user_data); } memset(dsc->user_data, 0, sizeof(lv_img_decoder_built_in_data_t)); } lv_img_decoder_built_in_data_t * user_data = dsc->user_data; user_data->palette = lv_mem_alloc(palette_size * sizeof(lv_color_t)); - if(user_data->palette == NULL) { + user_data->opa = lv_mem_alloc(palette_size * sizeof(lv_opa_t)); + if(user_data->palette == NULL || user_data->opa == NULL) { LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); #if LV_USE_FILESYSTEM - lv_mem_assert(user_data->f); + LV_ASSERT_MEM(user_data->f); #endif } @@ -386,7 +401,13 @@ lv_res_t lv_img_decoder_built_in_open(lv_img_decoder_t * decoder, lv_img_decoder /*Read the palette from file*/ #if LV_USE_FILESYSTEM lv_fs_seek(user_data->f, 4); /*Skip the header*/ - lv_fs_read(user_data->f, user_data->palette, palette_size * sizeof(lv_color_t), NULL); + lv_color32_t cur_color; + uint32_t i; + for(i = 0; i < palette_size; i++) { + lv_fs_read(user_data->f, &cur_color, sizeof(lv_color32_t), NULL); + user_data->palette[i] = lv_color_make(cur_color.ch.red, cur_color.ch.green, cur_color.ch.blue); + user_data->opa[i] = cur_color.ch.alpha; + } #else LV_LOG_WARN("Image built-in decoder can read the palette because LV_USE_FILESYSTEM = 0"); return LV_RES_INV; @@ -398,6 +419,7 @@ lv_res_t lv_img_decoder_built_in_open(lv_img_decoder_t * decoder, lv_img_decoder uint32_t i; for(i = 0; i < palette_size; i++) { user_data->palette[i] = lv_color_make(palette_p[i].ch.red, palette_p[i].ch.green, palette_p[i].ch.blue); + user_data->opa[i] = palette_p[i].ch.alpha; } } @@ -699,13 +721,24 @@ static lv_res_t lv_img_decoder_built_in_line_indexed(lv_img_decoder_dsc_t * dsc, #endif } - uint8_t byte_act = 0; uint8_t val_act; lv_coord_t i; - lv_color_t * cbuf = (lv_color_t *)buf; for(i = 0; i < len; i++) { - val_act = (data_tmp[byte_act] & (mask << pos)) >> pos; - cbuf[i] = user_data->palette[val_act]; + val_act = (*data_tmp & (mask << pos)) >> pos; + + lv_color_t color = user_data->palette[val_act]; +#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1 + buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = color.full; +#elif LV_COLOR_DEPTH == 16 + /*Because of Alpha byte 16 bit color can start on odd address which can cause crash*/ + buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = color.full & 0xFF; + buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (color.full >> 8) & 0xFF; +#elif LV_COLOR_DEPTH == 32 + *((uint32_t *)&buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE]) = color.full; +#else +#error "Invalid LV_COLOR_DEPTH. Check it in lv_conf.h" +#endif + buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; pos -= px_size; if(pos < 0) { diff --git a/src/src/lv_font/lv_font.h b/src/src/lv_font/lv_font.h index e639a54..e6433b8 100644 --- a/src/src/lv_font/lv_font.h +++ b/src/src/lv_font/lv_font.h @@ -53,7 +53,18 @@ typedef struct uint8_t bpp; /**< Bit-per-pixel: 1, 2, 4, 8*/ }lv_font_glyph_dsc_t; -/*Describe the properties of a font*/ + +/** The bitmaps might be upscaled by 3 to achieve subpixel rendering. */ +enum { + LV_FONT_SUBPX_NONE, + LV_FONT_SUBPX_HOR, + LV_FONT_SUBPX_VER, + LV_FONT_SUBPX_BOTH, +}; + +typedef uint8_t lv_font_subpx_t; + +/** Describe the properties of a font*/ typedef struct _lv_font_struct { /** Get a glyph's descriptor from a font*/ @@ -65,10 +76,13 @@ typedef struct _lv_font_struct /*Pointer to the font in a font pack (must have the same line height)*/ uint8_t line_height; /**< The real line height where any text fits*/ uint8_t base_line; /**< Base line measured from the top of the line_height*/ + uint8_t subpx :2; /**< An element of `lv_font_subpx_t`*/ void * dsc; /**< Store implementation specific data here*/ #if LV_USE_USER_DATA lv_font_user_data_t user_data; /**< Custom user data for font. */ #endif + + } lv_font_t; /********************** diff --git a/src/src/lv_font/lv_font_fmt_txt.c b/src/src/lv_font/lv_font_fmt_txt.c index d491da1..6f350ed 100644 --- a/src/src/lv_font/lv_font_fmt_txt.c +++ b/src/src/lv_font/lv_font_fmt_txt.c @@ -8,9 +8,12 @@ *********************/ #include "lv_font.h" #include "lv_font_fmt_txt.h" +#include "../lv_core/lv_debug.h" +#include "../lv_draw/lv_draw.h" #include "../lv_misc/lv_types.h" #include "../lv_misc/lv_log.h" #include "../lv_misc/lv_utils.h" +#include "../lv_misc/lv_mem.h" /********************* * DEFINES @@ -19,6 +22,11 @@ /********************** * TYPEDEFS **********************/ +typedef enum { + RLE_STATE_SINGLE = 0, + RLE_STATE_REPEATE, + RLE_STATE_COUNTER, +}rle_state_t; /********************** * STATIC PROTOTYPES @@ -29,10 +37,25 @@ static int32_t unicode_list_compare(const void * ref, const void * element); static int32_t kern_pair_8_compare(const void * ref, const void * element); static int32_t kern_pair_16_compare(const void * ref, const void * element); +static void decompress(const uint8_t * in, uint8_t * out, lv_coord_t w, lv_coord_t h, uint8_t bpp); +static void decompress_line(uint8_t * out, lv_coord_t w); +static uint8_t get_bits(const uint8_t * in, uint32_t bit_pos, uint8_t len); +static void bits_write(uint8_t * out, uint32_t bit_pos, uint8_t val, uint8_t len); +static void rle_init(const uint8_t * in, uint8_t bpp); +static uint8_t rle_next(void); + + /********************** * STATIC VARIABLES **********************/ +static uint32_t rle_rdp; +static const uint8_t * rle_in; +static uint8_t rle_bpp; +static uint8_t rle_prev_v; +static uint8_t rle_cnt; +static rle_state_t rle_state; + /********************** * GLOBAL PROTOTYPES **********************/ @@ -59,7 +82,34 @@ const uint8_t * lv_font_get_bitmap_fmt_txt(const lv_font_t * font, uint32_t unic const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - if(gdsc) return &fdsc->glyph_bitmap[gdsc->bitmap_index]; + if(fdsc->bitmap_format == LV_FONT_FMT_TXT_PLAIN) { + if(gdsc) return &fdsc->glyph_bitmap[gdsc->bitmap_index]; + } + /*Handle compressed bitmap*/ + else + { + static uint8_t * buf = NULL; + + uint32_t gsize = gdsc->box_w * gdsc->box_h; + if(gsize == 0) return NULL; + + uint32_t buf_size = gsize; + switch(fdsc->bpp) { + case 1: buf_size = gsize >> 3; break; + case 2: buf_size = gsize >> 2; break; + case 3: buf_size = gsize >> 1; break; + case 4: buf_size = gsize >> 1; break; + } + + if(lv_mem_get_size(buf) < buf_size) { + buf = lv_mem_realloc(buf, buf_size); + LV_ASSERT_MEM(buf); + if(buf == NULL) return NULL; + } + + decompress(&fdsc->glyph_bitmap[gdsc->bitmap_index], buf, gdsc->box_w , gdsc->box_h, fdsc->bpp); + return buf; + } /*If not returned earlier then the letter is not found in this font*/ return NULL; @@ -90,7 +140,9 @@ bool lv_font_get_glyph_dsc_fmt_txt(const lv_font_t * font, lv_font_glyph_dsc_t * /*Put together a glyph dsc*/ const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - uint32_t adv_w = gdsc->adv_w + ((int32_t)((int32_t)kvalue * fdsc->kern_scale) >> 4); + int32_t kv = ((int32_t)((int32_t)kvalue * fdsc->kern_scale) >> 4); + + uint32_t adv_w = gdsc->adv_w + kv; adv_w = (adv_w + (1 << 3)) >> 4; dsc_out->adv_w = adv_w; @@ -238,6 +290,176 @@ static int32_t kern_pair_16_compare(const void * ref, const void * element) else return (int32_t) ref16_p[1] - element16_p[1]; } +/** + * The compress a glyph's bitmap + * @param in the compressed bitmap + * @param out buffer to store the result + * @param px_num number of pixels in the glyph (width * height) + * @param bpp bit per pixel (bpp = 3 will be converted to bpp = 4) + */ +static void decompress(const uint8_t * in, uint8_t * out, lv_coord_t w, lv_coord_t h, uint8_t bpp) +{ + uint32_t wrp = 0; + uint8_t wr_size = bpp; + if(bpp == 3) wr_size = 4; + + rle_init(in, bpp); + + uint8_t * line_buf = lv_draw_get_buf(w * 2); + uint8_t * line_buf1 = line_buf; + uint8_t * line_buf2 = line_buf + w; + + decompress_line(line_buf1, w); + + lv_coord_t y; + lv_coord_t x; + for(x = 0; x < w; x++) { + bits_write(out,wrp, line_buf1[x], bpp); + wrp += wr_size; + } + + for(y = 1; y < h; y++) { + decompress_line(line_buf2, w); + + for(x = 0; x < w; x++) { + line_buf1[x] = line_buf2[x] ^ line_buf1[x]; + bits_write(out,wrp, line_buf1[x], bpp); + wrp += wr_size; + } + } +} + +/** + * Decompress one line. Store one pixel per byte + * @param out output buffer + * @param w width of the line in pixel count + */ +static void decompress_line(uint8_t * out, lv_coord_t w) +{ + lv_coord_t i; + for(i = 0; i < w; i++) { + out[i] = rle_next(); + } +} + +/** + * Read bits from an input buffer. The read can cross byte boundary. + * @param in the input buffer to read from. + * @param bit_pos index of teh first bit to read. + * @param len number of bits to read (must be <= 8). + * @return the read bits + */ +static uint8_t get_bits(const uint8_t * in, uint32_t bit_pos, uint8_t len) +{ + uint8_t res = 0; + uint32_t byte_pos = bit_pos >> 3; + bit_pos = bit_pos & 0x7; + uint8_t bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; + uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; + + res = (in16 >> (16 - bit_pos - len)) & bit_mask; + return res; +} + +/** + * Write `val` data to `bit_pos` position of `out`. The write can NOT cross byte boundary. + * @param out buffer where to write + * @param bit_pos bit index to write + * @param val value to write + * @param len length of bits to write from `val`. (Counted from the LSB). + * @note `len == 3` will be converted to `len = 4` and `val` will be upscaled too + */ +static void bits_write(uint8_t * out, uint32_t bit_pos, uint8_t val, uint8_t len) +{ + if(len == 3) { + len = 4; + switch(val) { + case 0: val = 0; break; + case 1: val = 2; break; + case 2: val = 4; break; + case 3: val = 6; break; + case 4: val = 9; break; + case 5: val = 11; break; + case 6: val = 13; break; + case 7: val = 15; break; + } + } + + uint16_t byte_pos = bit_pos >> 3; + bit_pos = bit_pos & 0x7; + bit_pos = 8 - bit_pos - len; + + uint8_t bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; + out[byte_pos] &= ((~bit_mask) << bit_pos); + out[byte_pos] |= (val << bit_pos); +} + +static void rle_init(const uint8_t * in, uint8_t bpp) +{ + rle_in = in; + rle_bpp = bpp; + rle_state = RLE_STATE_SINGLE; + rle_rdp = 0; + rle_prev_v = 0; + rle_cnt = 0; +} + +static uint8_t rle_next(void) +{ + uint8_t v = 0; + uint8_t ret = 0; + + if(rle_state == RLE_STATE_SINGLE) { + ret = get_bits(rle_in, rle_rdp, rle_bpp); + if(rle_rdp != 0 && rle_prev_v == ret) { + rle_cnt = 0; + rle_state = RLE_STATE_REPEATE; + } + + rle_prev_v = ret; + rle_rdp += rle_bpp; + } + else if(rle_state == RLE_STATE_REPEATE) { + v = get_bits(rle_in, rle_rdp, 1); + rle_cnt++; + rle_rdp += 1; + if(v == 1) { + ret = rle_prev_v; + if(rle_cnt == 11) { + rle_cnt = get_bits(rle_in, rle_rdp, 6); + rle_rdp += 6; + if(rle_cnt != 0) { + rle_state = RLE_STATE_COUNTER; + } else { + ret = get_bits(rle_in, rle_rdp, rle_bpp); + rle_prev_v = ret; + rle_rdp += rle_bpp; + rle_state = RLE_STATE_SINGLE; + } + } + } else { + ret = get_bits(rle_in, rle_rdp, rle_bpp); + rle_prev_v = ret; + rle_rdp += rle_bpp; + rle_state = RLE_STATE_SINGLE; + } + + + } + else if(rle_state == RLE_STATE_COUNTER) { + ret = rle_prev_v; + rle_cnt--; + if(rle_cnt == 0) { + ret = get_bits(rle_in, rle_rdp, rle_bpp); + rle_prev_v = ret; + rle_rdp += rle_bpp; + rle_state = RLE_STATE_SINGLE; + } + } + + return ret; +} + /** Code Comparator. * * Compares the value of both input arguments. diff --git a/src/src/lv_font/lv_font_fmt_txt.h b/src/src/lv_font/lv_font_fmt_txt.h index 446a106..ab15834 100644 --- a/src/src/lv_font/lv_font_fmt_txt.h +++ b/src/src/lv_font/lv_font_fmt_txt.h @@ -45,7 +45,7 @@ typedef struct uint8_t box_w; /**< Width of the glyph's bounding box*/ uint8_t box_h; /**< Height of the glyph's bounding box*/ int8_t ofs_x; /**< x offset of the bounding box*/ - uint8_t ofs_y; /**< y offset of the bounding box. Measured from the top of the line*/ + int8_t ofs_y; /**< y offset of the bounding box. Measured from the top of the line*/ }lv_font_fmt_txt_glyph_dsc_t; @@ -113,7 +113,7 @@ typedef struct { uint16_t list_length; /** Type of this character map*/ - lv_font_fmt_txt_cmap_type_t type :2; + lv_font_fmt_txt_cmap_type_t type; }lv_font_fmt_txt_cmap_t; /** A simple mapping of kern values from pairs*/ @@ -141,7 +141,7 @@ typedef struct { 3. value = class_pair_values[(left_class-1)*right_class_cnt + (righ_class-1)] */ - const uint8_t * class_pair_values; /*left_class_num * right_class_num value*/ + const int8_t * class_pair_values; /*left_class_num * right_class_num value*/ const uint8_t * left_class_mapping; /*Map the glyph_ids to classes: index -> glyph_id -> class_id*/ const uint8_t * right_class_mapping; /*Map the glyph_ids to classes: index -> glyph_id -> class_id*/ uint8_t left_class_cnt; @@ -180,7 +180,7 @@ typedef struct { /*Number of cmap tables*/ uint16_t cmap_num :10; - /*Bit per pixel: 1, 2, 4 or 8*/ + /*Bit per pixel: 1, 2, 3, 4*/ uint16_t bpp :3; /*Type of `kern_dsc`*/ @@ -191,6 +191,7 @@ typedef struct { * from `lv_font_fmt_txt_bitmap_format_t` */ uint16_t bitmap_format :2; + uint16_t subpx :1; /*Cache the last letter and is glyph id*/ uint32_t last_letter; diff --git a/src/src/lv_font/lv_font_roboto_12.c b/src/src/lv_font/lv_font_roboto_12.c index a3a0860..3da8e89 100644 --- a/src/src/lv_font/lv_font_roboto_12.c +++ b/src/src/lv_font/lv_font_roboto_12.c @@ -3,7 +3,7 @@ /******************************************************************************* * Size: 12 px * Bpp: 4 - * Opts: + * Opts: --no-compress --no-prefilter --bpp 4 --size 12 --font Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 61441,61448,61451,61452,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl -o lv_font_roboto_12.c --force-fast-kern-format ******************************************************************************/ #ifndef LV_FONT_ROBOTO_12 @@ -21,1001 +21,1140 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+20 " " */ /* U+21 "!" */ - 0x82, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0x41, 0x41, - 0xf4, + 0xf, 0x10, 0xf1, 0xf, 0x10, 0xf1, 0xf, 0x0, + 0xf0, 0x9, 0x0, 0x30, 0xe, 0x10, /* U+22 "\"" */ - 0x27, 0x46, 0x4f, 0x8c, 0x4b, 0x89, 0x23, 0x42, + 0x39, 0x93, 0x39, 0x92, 0x38, 0x91, 0x1, 0x10, /* U+23 "#" */ - 0x0, 0x6, 0x6, 0x20, 0x4, 0xb0, 0xd1, 0x0, - 0x78, 0xe, 0x3, 0xcf, 0xdd, 0xec, 0x0, 0xc1, - 0x78, 0x2, 0x3e, 0x3a, 0x62, 0x4a, 0xd8, 0xf8, - 0x40, 0x68, 0xe, 0x0, 0x9, 0x44, 0xb0, 0x0, + 0x0, 0x1b, 0xb, 0x10, 0x5, 0x70, 0xd0, 0x1e, + 0xfe, 0xef, 0xd0, 0xb, 0x15, 0x70, 0x0, 0xd0, + 0x84, 0x8, 0xef, 0xef, 0xe7, 0x4, 0x90, 0xd0, + 0x0, 0x66, 0xc, 0x0, 0x9, 0x43, 0xa0, 0x0, /* U+24 "$" */ - 0x0, 0xc, 0x0, 0x0, 0x7, 0xd6, 0x10, 0xa, - 0xd5, 0xbb, 0x0, 0xe4, 0x1, 0xf0, 0xb, 0x90, - 0x0, 0x0, 0x3d, 0xd7, 0x10, 0x0, 0x4, 0xcc, - 0x2, 0x70, 0x1, 0xf3, 0x1f, 0x30, 0x3f, 0x10, - 0x6f, 0xdf, 0x60, 0x0, 0xf, 0x0, 0x0, 0x0, - 0x40, 0x0, + 0x0, 0xd, 0x0, 0x0, 0x6, 0xf6, 0x0, 0xa, + 0xc7, 0xd8, 0x0, 0xf2, 0x3, 0xe0, 0xe, 0x30, + 0x5, 0x0, 0x6f, 0x81, 0x0, 0x0, 0x3a, 0xf5, + 0x0, 0x0, 0x4, 0xe0, 0x4d, 0x0, 0xf, 0x0, + 0xe7, 0x4a, 0xc0, 0x2, 0xaf, 0x91, 0x0, 0x0, + 0xd0, 0x0, /* U+25 "%" */ - 0x6, 0x84, 0x0, 0x0, 0x3, 0xb1, 0xd0, 0x16, - 0x0, 0x78, 0xc, 0x38, 0x50, 0x2, 0xc7, 0xc3, - 0xc0, 0x0, 0x2, 0x41, 0xb2, 0x0, 0x0, 0x0, - 0x78, 0x8c, 0x70, 0x0, 0x1c, 0x3c, 0xc, 0x30, - 0xb, 0x44, 0xa0, 0xa4, 0x0, 0x20, 0xc, 0x9c, + 0xb, 0xc8, 0x0, 0x0, 0x5, 0x70, 0xc0, 0x28, + 0x0, 0x58, 0xc, 0xb, 0x10, 0x0, 0x9c, 0x65, + 0x70, 0x0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x0, + 0x94, 0x8c, 0x80, 0x0, 0x3a, 0x2b, 0xa, 0x30, + 0xb, 0x12, 0xa0, 0x93, 0x0, 0x0, 0x9, 0xca, 0x0, /* U+26 "&" */ - 0x1, 0x79, 0x40, 0x0, 0xb, 0xb5, 0xf3, 0x0, - 0xc, 0x50, 0xd4, 0x0, 0x9, 0xa9, 0xa0, 0x0, - 0x5, 0xfc, 0x0, 0x0, 0x4f, 0x5f, 0x60, 0xf0, - 0x89, 0x3, 0xf9, 0xc0, 0x7b, 0x0, 0x8f, 0x50, - 0xb, 0xdc, 0xeb, 0xc1, + 0x2, 0xcf, 0xa0, 0x0, 0x9, 0x90, 0xb6, 0x0, + 0xa, 0x80, 0xc4, 0x0, 0x3, 0xec, 0x70, 0x0, + 0x5, 0xee, 0x0, 0x30, 0x2f, 0x29, 0xb2, 0xd0, + 0x5b, 0x0, 0xcc, 0x90, 0x2e, 0x10, 0x5f, 0x50, + 0x5, 0xdd, 0xc7, 0xe1, /* U+27 "'" */ - 0x27, 0x4f, 0x4a, 0x23, + 0x67, 0x67, 0x66, 0x0, /* U+28 "(" */ - 0x0, 0x4, 0x0, 0x8a, 0x4, 0xe0, 0xa, 0x60, - 0xf, 0x20, 0x1f, 0x0, 0x4f, 0x0, 0x2f, 0x0, - 0xf, 0x10, 0xb, 0x60, 0x4, 0xc0, 0x0, 0xa6, - 0x0, 0x7, + 0x0, 0x2, 0x0, 0x5a, 0x1, 0xd0, 0x8, 0x70, + 0xd, 0x30, 0x1f, 0x0, 0x2e, 0x0, 0x3e, 0x0, + 0x2f, 0x0, 0xf, 0x10, 0xb, 0x50, 0x5, 0xa0, + 0x0, 0xc4, 0x0, 0x19, /* U+29 ")" */ - 0x40, 0x0, 0xa8, 0x0, 0xe, 0x20, 0x7, 0xa0, - 0x3, 0xf0, 0x0, 0xf0, 0x0, 0xf4, 0x0, 0xf1, - 0x2, 0xf0, 0x7, 0xa0, 0xd, 0x40, 0x79, 0x0, - 0x70, 0x0, + 0x20, 0x0, 0x87, 0x0, 0xd, 0x20, 0x6, 0x90, + 0x2, 0xe0, 0x0, 0xe2, 0x0, 0xd4, 0x0, 0xc4, + 0x0, 0xd3, 0x0, 0xf1, 0x3, 0xd0, 0x9, 0x60, + 0x2c, 0x0, 0x82, 0x0, /* U+2A "*" */ - 0x0, 0x30, 0x1, 0x2c, 0x12, 0x4d, 0xed, 0x60, - 0x9d, 0x90, 0x7, 0x7, 0x0, + 0x0, 0xd0, 0x4, 0x1c, 0x4, 0x7d, 0xfe, 0x90, + 0x6e, 0x80, 0x1d, 0x1d, 0x20, 0x10, 0x10, /* U+2B "+" */ - 0x0, 0x4f, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x47, - 0x9f, 0x77, 0x24, 0x8a, 0xf8, 0x82, 0x0, 0x4f, - 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x14, 0x0, + 0x0, 0x1b, 0x0, 0x0, 0x2, 0xe0, 0x0, 0x0, + 0x2e, 0x0, 0x8, 0xff, 0xff, 0xf4, 0x12, 0x4e, + 0x22, 0x0, 0x2, 0xe0, 0x0, 0x0, 0x2e, 0x0, 0x0, /* U+2C "," */ - 0x13, 0x4c, 0x4a, 0x23, + 0x4c, 0x5b, 0xa5, 0x0, /* U+2D "-" */ - 0x0, 0x0, 0xdd, 0xd5, + 0xbf, 0xf1, /* U+2E "." */ - 0x2, 0x0, 0xf1, + 0x4, 0x1, 0xe1, /* U+2F "/" */ - 0x0, 0x4, 0x40, 0x0, 0xc4, 0x0, 0x2e, 0x0, - 0x8, 0x70, 0x0, 0xe2, 0x0, 0x5b, 0x0, 0xa, - 0x50, 0x1, 0xf0, 0x0, 0x79, 0x0, 0x9, 0x20, + 0x0, 0x8, 0x60, 0x0, 0xd1, 0x0, 0x3b, 0x0, + 0x9, 0x50, 0x0, 0xd0, 0x0, 0x4a, 0x0, 0xa, + 0x40, 0x0, 0xd0, 0x0, 0x59, 0x0, 0xb, 0x30, 0x0, /* U+30 "0" */ - 0x1, 0x68, 0x50, 0xc, 0xa4, 0xd8, 0x3f, 0x0, - 0x3f, 0x4c, 0x0, 0xf, 0x4c, 0x0, 0xf, 0x4c, - 0x0, 0xf, 0x4c, 0x0, 0x1f, 0x1f, 0x30, 0x7c, - 0x6, 0xfc, 0xe3, 0x0, 0x1, 0x0, + 0x3, 0xdf, 0xb1, 0x0, 0xe5, 0x9, 0xa0, 0x3d, + 0x0, 0x2f, 0x5, 0xc0, 0x0, 0xf0, 0x5c, 0x0, + 0xf, 0x14, 0xc0, 0x0, 0xf0, 0x3e, 0x0, 0x2f, + 0x0, 0xe5, 0x9, 0xa0, 0x3, 0xdf, 0xb1, 0x0, /* U+31 "1" */ - 0x57, 0x83, 0x68, 0xf4, 0x0, 0xf4, 0x0, 0xf4, - 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, - 0x0, 0xf4, + 0x5, 0xc4, 0xea, 0xe4, 0x10, 0xd4, 0x0, 0xd4, + 0x0, 0xd4, 0x0, 0xd4, 0x0, 0xd4, 0x0, 0xd4, + 0x0, 0xd4, /* U+32 "2" */ - 0x1, 0x69, 0x60, 0x0, 0xca, 0x4c, 0xa0, 0x2f, - 0x0, 0x4e, 0x0, 0x0, 0x8, 0xb0, 0x0, 0x2, - 0xe3, 0x0, 0x1, 0xc7, 0x0, 0x0, 0xaa, 0x0, - 0x0, 0x9c, 0x0, 0x0, 0xf, 0xff, 0xff, 0x40, + 0x5, 0xdf, 0xb2, 0x2, 0xe3, 0x9, 0xb0, 0x48, + 0x0, 0x3d, 0x0, 0x0, 0x7, 0x90, 0x0, 0x2, + 0xe1, 0x0, 0x1, 0xd4, 0x0, 0x0, 0xc6, 0x0, + 0x0, 0xb8, 0x0, 0x0, 0x4f, 0xff, 0xff, 0x40, /* U+33 "3" */ - 0x1, 0x69, 0x61, 0xd, 0x94, 0xca, 0x3c, 0x0, - 0x4e, 0x0, 0x0, 0x7c, 0x0, 0x6d, 0xf2, 0x0, - 0x0, 0x8b, 0x13, 0x0, 0x1f, 0x3f, 0x30, 0x6f, - 0x6, 0xeb, 0xf4, + 0x5, 0xdf, 0xb1, 0x2e, 0x20, 0x99, 0x25, 0x0, + 0x4c, 0x0, 0x0, 0xa8, 0x0, 0xbf, 0xd1, 0x0, + 0x0, 0x9a, 0x24, 0x0, 0x2e, 0x3e, 0x20, 0x8b, + 0x6, 0xef, 0xb1, /* U+34 "4" */ - 0x0, 0x1, 0x72, 0x0, 0x0, 0xaf, 0x40, 0x0, - 0x4e, 0xf4, 0x0, 0xd, 0x4f, 0x40, 0x7, 0xb0, - 0xf4, 0x1, 0xe1, 0xf, 0x40, 0x8e, 0xbb, 0xfc, - 0x60, 0x0, 0xf, 0x40, 0x0, 0x0, 0xf4, 0x0, + 0x0, 0x3, 0xf4, 0x0, 0x0, 0xcf, 0x40, 0x0, + 0x6a, 0xc4, 0x0, 0x1d, 0x1c, 0x40, 0x9, 0x70, + 0xc4, 0x3, 0xd0, 0xc, 0x40, 0xaf, 0xff, 0xff, + 0x70, 0x0, 0xc, 0x40, 0x0, 0x0, 0xc4, 0x0, /* U+35 "5" */ - 0x47, 0x77, 0x69, 0xc8, 0x86, 0xc6, 0x0, 0xc, - 0x87, 0x50, 0xfb, 0x8e, 0x94, 0x0, 0x4f, 0x40, - 0x0, 0xff, 0x30, 0x7e, 0x6e, 0xbf, 0x40, + 0x6, 0xff, 0xff, 0x0, 0x88, 0x11, 0x10, 0x9, + 0x60, 0x0, 0x0, 0xbc, 0xec, 0x30, 0x6, 0x62, + 0x8e, 0x0, 0x0, 0x0, 0xe2, 0x7, 0x0, 0xd, + 0x30, 0xd6, 0x5, 0xe0, 0x2, 0xcf, 0xc3, 0x0, /* U+36 "6" */ - 0x0, 0x59, 0x83, 0x0, 0x7d, 0x55, 0x40, 0xf, - 0x20, 0x0, 0x3, 0xf2, 0x64, 0x0, 0x4f, 0xa8, - 0xda, 0x4, 0xf0, 0x1, 0xf2, 0x1f, 0x0, 0xf, - 0x40, 0xd7, 0x4, 0xf0, 0x3, 0xec, 0xf5, 0x0, + 0x0, 0x4c, 0xe0, 0x0, 0x4e, 0x51, 0x0, 0xd, + 0x40, 0x0, 0x1, 0xf9, 0xec, 0x20, 0x3f, 0x60, + 0x7d, 0x3, 0xe0, 0x0, 0xf1, 0x1f, 0x0, 0xf, + 0x10, 0xb8, 0x7, 0xc0, 0x1, 0xcf, 0xc2, 0x0, /* U+37 "7" */ - 0x47, 0x77, 0x77, 0x24, 0x88, 0x89, 0xf2, 0x0, - 0x0, 0xc6, 0x0, 0x0, 0x6c, 0x0, 0x0, 0xe, - 0x30, 0x0, 0x5, 0xd0, 0x0, 0x0, 0x89, 0x0, - 0x0, 0xa, 0x80, 0x0, 0x0, 0xc8, 0x0, 0x0, + 0x8f, 0xff, 0xff, 0x30, 0x0, 0x2, 0xd0, 0x0, + 0x0, 0x97, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x7, + 0x90, 0x0, 0x0, 0xe2, 0x0, 0x0, 0x5b, 0x0, + 0x0, 0xc, 0x50, 0x0, 0x3, 0xe0, 0x0, 0x0, /* U+38 "8" */ - 0x1, 0x69, 0x60, 0x0, 0xda, 0x4d, 0x90, 0x1f, - 0x0, 0x4d, 0x0, 0xf5, 0x8, 0xb0, 0x4, 0xef, - 0xe2, 0x1, 0xe7, 0x8, 0xb0, 0x5c, 0x0, 0xf, - 0x13, 0xf1, 0x4, 0xf0, 0x8, 0xeb, 0xf5, 0x0, + 0x3, 0xdf, 0xb1, 0x0, 0xe5, 0x9, 0xa0, 0x1f, + 0x0, 0x3d, 0x0, 0xd5, 0x9, 0x90, 0x4, 0xff, + 0xe1, 0x1, 0xe4, 0x7, 0xb0, 0x4c, 0x0, 0xf, + 0x2, 0xf3, 0x6, 0xd0, 0x5, 0xdf, 0xc3, 0x0, /* U+39 "9" */ - 0x1, 0x78, 0x50, 0x1d, 0x85, 0xd6, 0x5d, 0x0, - 0x5c, 0x7c, 0x0, 0x4f, 0x3f, 0x10, 0x7f, 0x9, - 0xfc, 0xdf, 0x0, 0x1, 0x4e, 0x0, 0x0, 0xba, - 0xb, 0xbd, 0xb1, + 0x4, 0xdf, 0x90, 0x1f, 0x31, 0xc7, 0x5b, 0x0, + 0x4d, 0x5b, 0x0, 0x2e, 0x1f, 0x30, 0xae, 0x5, + 0xde, 0x8d, 0x0, 0x0, 0x79, 0x0, 0x6, 0xe2, + 0x3, 0xeb, 0x30, /* U+3A ":" */ - 0x4f, 0x0, 0x4, 0xf0, + 0x1e, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x1e, 0x0, /* U+3B ";" */ - 0x4, 0xf, 0x0, 0x0, 0x0, 0x13, 0x4c, 0x4a, - 0x23, + 0x3d, 0x4, 0x0, 0x0, 0x0, 0x18, 0x3d, 0x79, + 0x51, /* U+3C "<" */ - 0x0, 0x2, 0x94, 0x4, 0xaf, 0x81, 0x7e, 0x60, - 0x0, 0x2a, 0xe7, 0x20, 0x0, 0x2a, 0xf3, 0x0, - 0x0, 0x11, + 0x0, 0x2, 0x93, 0x2, 0x9f, 0x91, 0x6e, 0x71, + 0x0, 0x4d, 0xa3, 0x0, 0x0, 0x6e, 0xc1, 0x0, + 0x0, 0x62, /* U+3D "=" */ - 0xcb, 0xbb, 0x94, 0x44, 0x43, 0x43, 0x33, 0x38, - 0x88, 0x86, + 0x1e, 0xee, 0xeb, 0x1, 0x11, 0x11, 0x0, 0x0, + 0x0, 0x1e, 0xee, 0xeb, 0x1, 0x11, 0x11, /* U+3E ">" */ - 0x37, 0x10, 0x0, 0x1a, 0xf9, 0x30, 0x0, 0x16, - 0xca, 0x0, 0x6b, 0xe5, 0x3e, 0xc4, 0x0, 0x22, + 0x3a, 0x20, 0x0, 0x8, 0xea, 0x30, 0x0, 0x6, + 0xd9, 0x0, 0x3a, 0xe6, 0x1c, 0xe7, 0x0, 0x26, 0x0, 0x0, /* U+3F "?" */ - 0x6, 0x97, 0x20, 0x6e, 0x59, 0xd0, 0x54, 0x0, - 0xf3, 0x0, 0x4, 0xf0, 0x0, 0x1e, 0x60, 0x0, - 0xc8, 0x0, 0x0, 0x82, 0x0, 0x0, 0x41, 0x0, - 0x0, 0xf4, 0x0, + 0x9, 0xfe, 0x60, 0x6c, 0x13, 0xf0, 0x11, 0x0, + 0xe2, 0x0, 0x5, 0xd0, 0x0, 0x4e, 0x20, 0x0, + 0xc5, 0x0, 0x0, 0x51, 0x0, 0x0, 0x30, 0x0, + 0x0, 0xc3, 0x0, /* U+40 "@" */ - 0x0, 0x0, 0x34, 0x30, 0x0, 0x0, 0x3, 0xc9, - 0x58, 0xb6, 0x0, 0x2, 0xc2, 0x0, 0x0, 0xa4, - 0x0, 0xa4, 0x5, 0xba, 0x21, 0xb0, 0xd, 0x4, - 0xe1, 0x86, 0xc, 0x4, 0xb0, 0xa6, 0x9, 0x40, - 0xc1, 0x48, 0xc, 0x40, 0xc4, 0xc, 0x14, 0xb0, - 0xc5, 0xd, 0x41, 0xb0, 0x1e, 0x5, 0xec, 0xab, - 0xd3, 0x0, 0xa7, 0x1, 0x0, 0x0, 0x0, 0x1, - 0xc6, 0x30, 0x42, 0x0, 0x0, 0x0, 0x58, 0xb7, - 0x20, 0x0, + 0x0, 0x6, 0xcd, 0xda, 0x10, 0x0, 0xa, 0x81, + 0x0, 0x4c, 0x10, 0x5, 0x90, 0x0, 0x0, 0x39, + 0x0, 0xc1, 0x5, 0xcb, 0x20, 0xb0, 0x1c, 0x2, + 0xc0, 0x86, 0xa, 0x14, 0x90, 0x95, 0x9, 0x40, + 0x92, 0x58, 0xc, 0x20, 0xa2, 0xb, 0x14, 0x90, + 0xb3, 0xe, 0x21, 0xb0, 0x1c, 0x4, 0xda, 0x5d, + 0xc2, 0x0, 0xb3, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xd3, 0x0, 0x11, 0x0, 0x0, 0x2, 0xad, 0xcc, + 0x30, 0x0, /* U+41 "A" */ - 0x0, 0x6, 0x30, 0x0, 0x0, 0x1f, 0xb0, 0x0, - 0x0, 0x6c, 0xf1, 0x0, 0x0, 0xd6, 0xb6, 0x0, - 0x2, 0xf0, 0x6b, 0x0, 0x7, 0xb3, 0x4f, 0x20, - 0xe, 0xdc, 0xce, 0x70, 0x3f, 0x0, 0x6, 0xc0, - 0x9a, 0x0, 0x1, 0xf2, + 0x0, 0xc, 0x90, 0x0, 0x0, 0x2e, 0xe0, 0x0, + 0x0, 0x79, 0xc4, 0x0, 0x0, 0xd4, 0x7a, 0x0, + 0x3, 0xe0, 0x1f, 0x10, 0x9, 0xa0, 0xc, 0x60, + 0xe, 0xff, 0xff, 0xc0, 0x4e, 0x0, 0x1, 0xf2, + 0xa8, 0x0, 0x0, 0xb7, /* U+42 "B" */ - 0x87, 0x77, 0x20, 0xf, 0x88, 0x9f, 0x30, 0xf0, - 0x0, 0xa8, 0xf, 0x0, 0x1d, 0x60, 0xff, 0xff, - 0xc1, 0xf, 0x0, 0x8, 0xd0, 0xf0, 0x0, 0xf, - 0x1f, 0x0, 0x6, 0xf0, 0xff, 0xff, 0xd4, 0x0, + 0xf, 0xff, 0xe8, 0x0, 0xf1, 0x2, 0xd5, 0xf, + 0x10, 0x9, 0x80, 0xf1, 0x2, 0xe4, 0xf, 0xff, + 0xfb, 0x0, 0xf1, 0x1, 0xb8, 0xf, 0x10, 0x5, + 0xc0, 0xf1, 0x1, 0xb9, 0xf, 0xff, 0xea, 0x0, /* U+43 "C" */ - 0x0, 0x58, 0x85, 0x0, 0x7e, 0x65, 0xd9, 0x1e, - 0x40, 0x2, 0xf4, 0xf0, 0x0, 0x4, 0x4c, 0x0, - 0x0, 0x4, 0xc0, 0x0, 0x0, 0x3f, 0x10, 0x0, - 0xc0, 0xc9, 0x0, 0x7d, 0x1, 0xcd, 0xdc, 0x30, + 0x0, 0x8e, 0xea, 0x10, 0x9, 0xb2, 0x19, 0xc0, + 0x1f, 0x10, 0x0, 0xe2, 0x3e, 0x0, 0x0, 0x0, + 0x4d, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x0, 0x0, + 0x1f, 0x10, 0x0, 0xe2, 0x9, 0xb2, 0x18, 0xc0, + 0x0, 0x9f, 0xea, 0x10, /* U+44 "D" */ - 0x87, 0x75, 0x20, 0xf, 0xa8, 0x9e, 0x50, 0xf4, - 0x0, 0x4f, 0x1f, 0x40, 0x0, 0xe4, 0xf4, 0x0, - 0xc, 0x7f, 0x40, 0x0, 0xc5, 0xf4, 0x0, 0x1f, - 0x3f, 0x40, 0x1a, 0xb0, 0xff, 0xfe, 0x81, 0x0, + 0xf, 0xff, 0xd4, 0x0, 0xf, 0x10, 0x4e, 0x40, + 0xf, 0x10, 0x4, 0xd0, 0xf, 0x10, 0x0, 0xf1, + 0xf, 0x10, 0x0, 0xf2, 0xf, 0x10, 0x0, 0xf1, + 0xf, 0x10, 0x5, 0xd0, 0xf, 0x10, 0x4e, 0x40, + 0xf, 0xff, 0xd4, 0x0, /* U+45 "E" */ - 0x87, 0x77, 0x72, 0xf8, 0x88, 0x82, 0xf0, 0x0, - 0x0, 0xf0, 0x0, 0x0, 0xfb, 0xbb, 0x60, 0xf0, - 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, - 0xff, 0xff, 0xf4, + 0xf, 0xff, 0xff, 0x50, 0xf1, 0x0, 0x0, 0xf, + 0x10, 0x0, 0x0, 0xf1, 0x0, 0x0, 0xf, 0xff, + 0xfd, 0x0, 0xf1, 0x0, 0x0, 0xf, 0x10, 0x0, + 0x0, 0xf1, 0x0, 0x0, 0xf, 0xff, 0xff, 0x60, /* U+46 "F" */ - 0x87, 0x77, 0x72, 0xf8, 0x88, 0x82, 0xf0, 0x0, - 0x0, 0xf0, 0x0, 0x0, 0xfb, 0xbb, 0x90, 0xf4, - 0x44, 0x30, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, - 0xf0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0x40, 0xf1, 0x0, 0x0, 0xf, + 0x10, 0x0, 0x0, 0xf1, 0x0, 0x0, 0xf, 0xff, + 0xfa, 0x0, 0xf1, 0x0, 0x0, 0xf, 0x10, 0x0, + 0x0, 0xf1, 0x0, 0x0, 0xf, 0x10, 0x0, 0x0, /* U+47 "G" */ - 0x0, 0x48, 0x85, 0x0, 0x7, 0xe6, 0x5d, 0x90, - 0x1e, 0x30, 0x2, 0xf0, 0x4f, 0x0, 0x0, 0x0, - 0x4f, 0x0, 0x43, 0x31, 0x4f, 0x0, 0xcc, 0xf4, - 0x3f, 0x10, 0x0, 0xf4, 0xc, 0x90, 0x2, 0xf3, - 0x1, 0xbe, 0xbf, 0x60, 0x0, 0x0, 0x10, 0x0, + 0x0, 0x8e, 0xfb, 0x20, 0x9, 0xb2, 0x7, 0xe0, + 0x1f, 0x20, 0x0, 0x61, 0x3e, 0x0, 0x0, 0x0, + 0x4d, 0x0, 0xcf, 0xf4, 0x3e, 0x0, 0x0, 0xd4, + 0xf, 0x20, 0x0, 0xd4, 0x8, 0xd2, 0x4, 0xf3, + 0x0, 0x7e, 0xfd, 0x60, /* U+48 "H" */ - 0x82, 0x0, 0x6, 0x4f, 0x40, 0x0, 0xc8, 0xf4, - 0x0, 0xc, 0x8f, 0x40, 0x0, 0xc8, 0xfc, 0xbb, - 0xbe, 0x8f, 0x74, 0x44, 0xd8, 0xf4, 0x0, 0xc, - 0x8f, 0x40, 0x0, 0xc8, 0xf4, 0x0, 0xc, 0x80, + 0xf, 0x10, 0x0, 0x98, 0xf, 0x10, 0x0, 0x98, + 0xf, 0x10, 0x0, 0x98, 0xf, 0x10, 0x0, 0x98, + 0xf, 0xff, 0xff, 0xf8, 0xf, 0x10, 0x0, 0x98, + 0xf, 0x10, 0x0, 0x98, 0xf, 0x10, 0x0, 0x98, + 0xf, 0x10, 0x0, 0x98, /* U+49 "I" */ - 0x72, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, - 0xe4, + 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe3, /* U+4A "J" */ - 0x0, 0x0, 0x44, 0x0, 0x0, 0x88, 0x0, 0x0, - 0x88, 0x0, 0x0, 0x88, 0x0, 0x0, 0x88, 0x0, - 0x0, 0x88, 0x22, 0x0, 0x88, 0x7c, 0x0, 0xe7, - 0xc, 0xdd, 0xb0, + 0x0, 0x0, 0x7b, 0x0, 0x0, 0x7b, 0x0, 0x0, + 0x7b, 0x0, 0x0, 0x7b, 0x0, 0x0, 0x7b, 0x0, + 0x0, 0x7b, 0x64, 0x0, 0x7a, 0x7c, 0x12, 0xd6, + 0x9, 0xee, 0x90, /* U+4B "K" */ - 0x80, 0x0, 0x37, 0xf, 0x0, 0x1d, 0x60, 0xf0, - 0xc, 0x90, 0xf, 0x9, 0xb0, 0x0, 0xfb, 0xf2, - 0x0, 0xf, 0x4c, 0x90, 0x0, 0xf0, 0x1e, 0x70, - 0xf, 0x0, 0x3f, 0x50, 0xf0, 0x0, 0x6f, 0x30, + 0xf, 0x10, 0x8, 0xc0, 0xf, 0x10, 0x5e, 0x10, + 0xf, 0x13, 0xe3, 0x0, 0xf, 0x4e, 0x40, 0x0, + 0xf, 0xef, 0x40, 0x0, 0xf, 0x85, 0xe1, 0x0, + 0xf, 0x10, 0x9b, 0x0, 0xf, 0x10, 0xd, 0x70, + 0xf, 0x10, 0x3, 0xf3, /* U+4C "L" */ - 0x82, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0, - 0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4, - 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0, - 0xff, 0xff, 0xf4, + 0xf, 0x20, 0x0, 0x0, 0xf2, 0x0, 0x0, 0xf, + 0x20, 0x0, 0x0, 0xf2, 0x0, 0x0, 0xf, 0x20, + 0x0, 0x0, 0xf2, 0x0, 0x0, 0xf, 0x20, 0x0, + 0x0, 0xf2, 0x0, 0x0, 0xf, 0xff, 0xff, 0x20, /* U+4D "M" */ - 0x85, 0x0, 0x0, 0x17, 0x4f, 0xd0, 0x0, 0x7, - 0xf8, 0xfe, 0x40, 0x0, 0xef, 0x8f, 0x6a, 0x0, - 0x4d, 0xc8, 0xf1, 0xf1, 0xa, 0x6c, 0x8f, 0xa, - 0x71, 0xf1, 0xc8, 0xf0, 0x3e, 0x7a, 0xc, 0x8f, - 0x0, 0xde, 0x30, 0xc8, 0xf0, 0x6, 0xd0, 0xc, - 0x80, + 0xf, 0xa0, 0x0, 0x2, 0xf7, 0xf, 0xf0, 0x0, + 0x8, 0xf7, 0xf, 0xb6, 0x0, 0xe, 0xb7, 0xf, + 0x5c, 0x0, 0x4c, 0x97, 0xf, 0x1e, 0x20, 0xb6, + 0x97, 0xf, 0x18, 0x81, 0xe0, 0xa7, 0xf, 0x12, + 0xe7, 0x90, 0xa7, 0xf, 0x10, 0xcf, 0x30, 0xa7, + 0xf, 0x10, 0x6d, 0x0, 0xa7, /* U+4E "N" */ - 0x83, 0x0, 0x6, 0x4f, 0xb0, 0x0, 0xc8, 0xff, - 0x70, 0xc, 0x8f, 0x7f, 0x20, 0xc8, 0xf4, 0x9a, - 0xc, 0x8f, 0x41, 0xe5, 0xc8, 0xf4, 0x4, 0xed, - 0x8f, 0x40, 0xb, 0xf8, 0xf4, 0x0, 0x1f, 0x80, + 0xf, 0x60, 0x0, 0x98, 0xf, 0xf1, 0x0, 0x98, + 0xf, 0xba, 0x0, 0x98, 0xf, 0x3e, 0x40, 0x98, + 0xf, 0x25, 0xd0, 0x98, 0xf, 0x20, 0xb8, 0x98, + 0xf, 0x20, 0x2f, 0xb8, 0xf, 0x20, 0x8, 0xf8, + 0xf, 0x20, 0x0, 0xd8, /* U+4F "O" */ - 0x0, 0x48, 0x85, 0x0, 0x7, 0xf7, 0x6d, 0x90, - 0x1e, 0x20, 0x1, 0xf3, 0x4e, 0x0, 0x0, 0xc7, - 0x4c, 0x0, 0x0, 0xc8, 0x4c, 0x0, 0x0, 0xc8, - 0x3f, 0x0, 0x0, 0xd5, 0xc, 0x90, 0x6, 0xe1, - 0x1, 0xce, 0xed, 0x30, + 0x0, 0x8e, 0xfa, 0x10, 0x8, 0xc3, 0x29, 0xc0, + 0xf, 0x20, 0x0, 0xd4, 0x3e, 0x0, 0x0, 0xa7, + 0x4d, 0x0, 0x0, 0x98, 0x3e, 0x0, 0x0, 0xa7, + 0xf, 0x20, 0x0, 0xd4, 0x8, 0xc2, 0x19, 0xc0, + 0x0, 0x8e, 0xfa, 0x10, /* U+50 "P" */ - 0x87, 0x77, 0x40, 0xf8, 0x88, 0xd9, 0xf0, 0x0, - 0x3f, 0xf0, 0x0, 0x2f, 0xf3, 0x35, 0xca, 0xf8, - 0x88, 0x60, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, - 0xf0, 0x0, 0x0, + 0xf, 0xff, 0xfb, 0x20, 0xf, 0x10, 0x8, 0xd0, + 0xf, 0x10, 0x0, 0xf1, 0xf, 0x10, 0x7, 0xe0, + 0xf, 0xff, 0xfc, 0x30, 0xf, 0x10, 0x0, 0x0, + 0xf, 0x10, 0x0, 0x0, 0xf, 0x10, 0x0, 0x0, + 0xf, 0x10, 0x0, 0x0, /* U+51 "Q" */ - 0x0, 0x48, 0x85, 0x0, 0x7, 0xf7, 0x6d, 0x90, - 0x1e, 0x20, 0x1, 0xf3, 0x4e, 0x0, 0x0, 0xc7, - 0x4c, 0x0, 0x0, 0xc8, 0x4c, 0x0, 0x0, 0xc8, - 0x3f, 0x0, 0x0, 0xd6, 0xc, 0x90, 0x6, 0xf1, - 0x1, 0xce, 0xed, 0xf6, 0x0, 0x0, 0x0, 0x39, + 0x0, 0x9e, 0xfa, 0x10, 0x9, 0xc2, 0x2a, 0xc0, + 0x1f, 0x10, 0x0, 0xe3, 0x4d, 0x0, 0x0, 0xb6, + 0x5c, 0x0, 0x0, 0xa7, 0x4d, 0x0, 0x0, 0xb7, + 0x1f, 0x10, 0x0, 0xe3, 0x9, 0xb2, 0x19, 0xc0, + 0x0, 0x8e, 0xff, 0x50, 0x0, 0x0, 0x5, 0xf3, + 0x0, 0x0, 0x0, 0x20, /* U+52 "R" */ - 0x87, 0x77, 0x40, 0xf, 0xa8, 0x8f, 0x70, 0xf4, - 0x0, 0x5c, 0xf, 0x40, 0x6, 0xb0, 0xf9, 0x7b, - 0xe3, 0xf, 0x74, 0x5d, 0x80, 0xf4, 0x0, 0x5c, - 0xf, 0x40, 0x4, 0xc0, 0xf4, 0x0, 0x3f, 0x10, + 0xf, 0xff, 0xe9, 0x0, 0xf, 0x10, 0x1b, 0x80, + 0xf, 0x10, 0x6, 0xc0, 0xf, 0x10, 0x1c, 0x80, + 0xf, 0xff, 0xf9, 0x0, 0xf, 0x10, 0xa8, 0x0, + 0xf, 0x10, 0x2e, 0x0, 0xf, 0x10, 0xb, 0x70, + 0xf, 0x10, 0x4, 0xe0, /* U+53 "S" */ - 0x0, 0x69, 0x72, 0x0, 0x9b, 0x47, 0xf3, 0xf, - 0x40, 0x9, 0x90, 0xd8, 0x0, 0x0, 0x3, 0xce, - 0x93, 0x0, 0x0, 0x28, 0xf5, 0x27, 0x0, 0x8, - 0xc1, 0xf4, 0x0, 0xb9, 0x4, 0xec, 0xdb, 0x10, + 0x3, 0xcf, 0xd6, 0x1, 0xf5, 0x3, 0xe4, 0x3e, + 0x0, 0x5, 0x60, 0xd9, 0x20, 0x0, 0x1, 0x8e, + 0xc4, 0x0, 0x0, 0x5, 0xe4, 0x57, 0x0, 0x8, + 0x93, 0xf4, 0x2, 0xc7, 0x4, 0xcf, 0xe8, 0x0, /* U+54 "T" */ - 0x67, 0x77, 0x77, 0x76, 0x88, 0xfa, 0x88, 0x0, - 0xf, 0x40, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf, - 0x40, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf, 0x40, - 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf, 0x40, 0x0, + 0xbf, 0xff, 0xff, 0xe0, 0x0, 0xf2, 0x0, 0x0, + 0xf, 0x20, 0x0, 0x0, 0xf2, 0x0, 0x0, 0xf, + 0x20, 0x0, 0x0, 0xf2, 0x0, 0x0, 0xf, 0x20, + 0x0, 0x0, 0xf2, 0x0, 0x0, 0xf, 0x20, 0x0, /* U+55 "U" */ - 0x27, 0x0, 0x0, 0x62, 0x4f, 0x0, 0x0, 0xc4, - 0x4f, 0x0, 0x0, 0xc4, 0x4f, 0x0, 0x0, 0xc4, - 0x4f, 0x0, 0x0, 0xc4, 0x4f, 0x0, 0x0, 0xc4, - 0x1f, 0x10, 0x0, 0xf4, 0xd, 0x80, 0x6, 0xf0, - 0x3, 0xcd, 0xdd, 0x30, + 0x2f, 0x0, 0x2, 0xf2, 0xf0, 0x0, 0x2f, 0x2f, + 0x0, 0x2, 0xf2, 0xf0, 0x0, 0x2f, 0x2f, 0x0, + 0x2, 0xf2, 0xf0, 0x0, 0x2f, 0x1f, 0x0, 0x3, + 0xe0, 0xc8, 0x1, 0xb9, 0x2, 0xbf, 0xe9, 0x0, /* U+56 "V" */ - 0x64, 0x0, 0x0, 0x73, 0x8b, 0x0, 0x2, 0xf1, - 0x2f, 0x20, 0x7, 0xb0, 0xc, 0x70, 0xe, 0x60, - 0x6, 0xc0, 0x3f, 0x0, 0x1, 0xf2, 0x9a, 0x0, - 0x0, 0xa7, 0xe3, 0x0, 0x0, 0x4f, 0xe0, 0x0, - 0x0, 0xe, 0x70, 0x0, + 0xa8, 0x0, 0x0, 0xe4, 0x4d, 0x0, 0x3, 0xe0, + 0xe, 0x20, 0x8, 0x90, 0x9, 0x80, 0xd, 0x40, + 0x4, 0xd0, 0x3e, 0x0, 0x0, 0xe2, 0x88, 0x0, + 0x0, 0x87, 0xd3, 0x0, 0x0, 0x3e, 0xd0, 0x0, + 0x0, 0xd, 0x70, 0x0, /* U+57 "W" */ - 0x64, 0x0, 0x46, 0x0, 0x27, 0x9b, 0x0, 0xbf, - 0x0, 0x6e, 0x5e, 0x0, 0xfe, 0x50, 0x9a, 0x1f, - 0x23, 0xe9, 0x90, 0xd6, 0xd, 0x68, 0xa4, 0xc0, - 0xf2, 0x9, 0x9c, 0x50, 0xf6, 0xf0, 0x5, 0xcf, - 0x10, 0xbc, 0xb0, 0x1, 0xfc, 0x0, 0x6f, 0x70, - 0x0, 0xd7, 0x0, 0x2f, 0x30, + 0x89, 0x0, 0x3f, 0x0, 0xd, 0x44, 0xc0, 0x7, + 0xf4, 0x1, 0xf0, 0x1f, 0x0, 0xca, 0x80, 0x4d, + 0x0, 0xd3, 0xe, 0x3c, 0x7, 0x90, 0x9, 0x74, + 0xb0, 0xe0, 0xb5, 0x0, 0x6a, 0x86, 0xa, 0x5e, + 0x20, 0x2, 0xed, 0x20, 0x6a, 0xe0, 0x0, 0xe, + 0xd0, 0x1, 0xfa, 0x0, 0x0, 0xb9, 0x0, 0xd, + 0x70, 0x0, /* U+58 "X" */ - 0x37, 0x0, 0x3, 0x70, 0x1e, 0x70, 0xd, 0x80, - 0x4, 0xf1, 0x7e, 0x10, 0x0, 0x9a, 0xe4, 0x0, - 0x0, 0x1f, 0xa0, 0x0, 0x0, 0x5f, 0xf1, 0x0, - 0x1, 0xe4, 0xaa, 0x0, 0xb, 0xb0, 0x1f, 0x40, - 0x4f, 0x20, 0x7, 0xd1, + 0x4e, 0x10, 0x7, 0xd0, 0xb, 0x90, 0x1f, 0x30, + 0x2, 0xf2, 0x9a, 0x0, 0x0, 0x7d, 0xe1, 0x0, + 0x0, 0x1f, 0x90, 0x0, 0x0, 0x8d, 0xf1, 0x0, + 0x2, 0xf2, 0x9a, 0x0, 0xc, 0x90, 0x1e, 0x40, + 0x5e, 0x0, 0x6, 0xd0, /* U+59 "Y" */ - 0x56, 0x0, 0x1, 0x71, 0x4f, 0x20, 0x8, 0xc0, - 0xa, 0xa0, 0x1e, 0x40, 0x2, 0xf2, 0x8b, 0x0, - 0x0, 0xab, 0xf2, 0x0, 0x0, 0x1f, 0xa0, 0x0, - 0x0, 0xc, 0x40, 0x0, 0x0, 0xc, 0x40, 0x0, - 0x0, 0xc, 0x40, 0x0, + 0xa9, 0x0, 0x6, 0xd0, 0x2f, 0x10, 0xe, 0x40, + 0x9, 0x90, 0x6c, 0x0, 0x1, 0xe1, 0xd4, 0x0, + 0x0, 0x9c, 0xb0, 0x0, 0x0, 0x1f, 0x40, 0x0, + 0x0, 0xf, 0x20, 0x0, 0x0, 0xf, 0x20, 0x0, + 0x0, 0xf, 0x20, 0x0, /* U+5A "Z" */ - 0x27, 0x77, 0x77, 0x42, 0x88, 0x89, 0xf5, 0x0, - 0x0, 0xbb, 0x0, 0x0, 0x5f, 0x10, 0x0, 0x1e, - 0x50, 0x0, 0xb, 0x90, 0x0, 0x5, 0xe1, 0x0, - 0x1, 0xe4, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xc0, + 0x6f, 0xff, 0xff, 0x80, 0x0, 0x2, 0xf2, 0x0, + 0x0, 0xc7, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x2f, + 0x20, 0x0, 0xc, 0x70, 0x0, 0x7, 0xc0, 0x0, + 0x2, 0xf2, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xb0, /* U+5B "[" */ - 0x3b, 0xb4, 0xf4, 0x4f, 0x4, 0xf0, 0x4f, 0x4, - 0xf0, 0x4f, 0x4, 0xf0, 0x4f, 0x4, 0xf0, 0x4f, - 0x3, 0xcc, + 0x2f, 0xf0, 0x2f, 0x0, 0x2f, 0x0, 0x2f, 0x0, + 0x2f, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x2f, 0x0, + 0x2f, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x2f, 0x0, + 0x2f, 0xf0, /* U+5C "\\" */ - 0x53, 0x0, 0x6, 0xb0, 0x0, 0x1f, 0x20, 0x0, - 0xa7, 0x0, 0x3, 0xe0, 0x0, 0xe, 0x40, 0x0, - 0x7a, 0x0, 0x1, 0xf1, 0x0, 0xb, 0x60, 0x0, - 0x49, + 0x97, 0x0, 0x3, 0xc0, 0x0, 0xd, 0x20, 0x0, + 0x88, 0x0, 0x2, 0xd0, 0x0, 0xc, 0x30, 0x0, + 0x79, 0x0, 0x1, 0xe0, 0x0, 0xb, 0x40, 0x0, + 0x6a, /* U+5D "]" */ - 0xcb, 0x34, 0xd4, 0xc, 0x40, 0xc4, 0xc, 0x40, - 0xc4, 0xc, 0x40, 0xc4, 0xc, 0x40, 0xc4, 0xc, - 0x4c, 0xc3, + 0xef, 0x40, 0xd4, 0xd, 0x40, 0xd4, 0xd, 0x40, + 0xd4, 0xd, 0x40, 0xd4, 0xd, 0x40, 0xd4, 0xd, + 0x40, 0xd4, 0xef, 0x40, /* U+5E "^" */ - 0x0, 0x80, 0x0, 0x5f, 0x50, 0xc, 0xab, 0x2, - 0xe0, 0xe2, 0x67, 0x7, 0x60, + 0x0, 0x70, 0x0, 0x4f, 0x40, 0xa, 0x9a, 0x1, + 0xe0, 0xe1, 0x69, 0x9, 0x60, /* U+5F "_" */ - 0xde, 0xee, 0xe6, + 0xef, 0xff, 0xf5, /* U+60 "`" */ - 0x3e, 0x20, 0x38, + 0x4e, 0x0, 0x87, /* U+61 "a" */ - 0x0, 0x57, 0x30, 0xc, 0xb8, 0xf6, 0x8, 0x0, - 0x8c, 0x4, 0x9b, 0xdc, 0x3f, 0x40, 0x8c, 0x4c, - 0x1, 0xac, 0x1d, 0xde, 0x8c, + 0x4, 0xde, 0xb0, 0x1f, 0x30, 0xb7, 0x2, 0x0, + 0x7a, 0x5, 0xcd, 0xea, 0x3e, 0x10, 0x7a, 0x4e, + 0x12, 0xca, 0x9, 0xfd, 0x9b, /* U+62 "b" */ - 0x13, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x4f, - 0x0, 0x0, 0x4, 0xf2, 0x63, 0x0, 0x4f, 0xc8, - 0xe9, 0x4, 0xf1, 0x3, 0xf0, 0x4f, 0x0, 0xf, - 0x44, 0xf0, 0x0, 0xf4, 0x4f, 0x30, 0x4f, 0x4, - 0xdc, 0xcf, 0x60, + 0x2e, 0x0, 0x0, 0x2, 0xe0, 0x0, 0x0, 0x2e, + 0x0, 0x0, 0x2, 0xe9, 0xec, 0x20, 0x2f, 0x50, + 0x8c, 0x2, 0xe0, 0x0, 0xf1, 0x2e, 0x0, 0xe, + 0x22, 0xe0, 0x0, 0xf1, 0x2f, 0x50, 0x8c, 0x2, + 0xd9, 0xec, 0x20, /* U+63 "c" */ - 0x0, 0x46, 0x20, 0xa, 0xb8, 0xf5, 0x3f, 0x0, - 0x59, 0x7c, 0x0, 0x0, 0x6c, 0x0, 0x0, 0x2f, - 0x30, 0x8a, 0x6, 0xfc, 0xd2, + 0x3, 0xdf, 0xb1, 0x1e, 0x40, 0x99, 0x5b, 0x0, + 0x16, 0x6a, 0x0, 0x0, 0x5b, 0x0, 0x3, 0x1e, + 0x40, 0x8a, 0x3, 0xdf, 0xa1, /* U+64 "d" */ - 0x0, 0x0, 0x13, 0x0, 0x0, 0x4f, 0x0, 0x0, - 0x4f, 0x0, 0x56, 0x5f, 0xc, 0xd8, 0xdf, 0x3f, - 0x10, 0x4f, 0x6c, 0x0, 0x4f, 0x6c, 0x0, 0x4f, - 0x2f, 0x30, 0x7f, 0x7, 0xfc, 0xaf, + 0x0, 0x0, 0x2e, 0x0, 0x0, 0x2e, 0x0, 0x0, + 0x2e, 0x4, 0xde, 0x9e, 0x1f, 0x50, 0x8e, 0x5c, + 0x0, 0x2e, 0x6a, 0x0, 0x2e, 0x5b, 0x0, 0x2e, + 0x1e, 0x30, 0x7e, 0x4, 0xdd, 0x9e, /* U+65 "e" */ - 0x0, 0x46, 0x20, 0xa, 0xc8, 0xf4, 0x3f, 0x10, - 0x7b, 0x7e, 0xbb, 0xcc, 0x6c, 0x0, 0x0, 0x2f, - 0x30, 0x1, 0x5, 0xfb, 0xd6, + 0x3, 0xcf, 0xa0, 0xe, 0x50, 0xa8, 0x4c, 0x0, + 0x3d, 0x6f, 0xff, 0xfe, 0x5b, 0x0, 0x0, 0x1e, + 0x40, 0x47, 0x3, 0xcf, 0xc3, /* U+66 "f" */ - 0x0, 0x33, 0x6, 0xfc, 0xc, 0x50, 0x3c, 0x62, - 0x6e, 0xa4, 0xc, 0x40, 0xc, 0x40, 0xc, 0x40, - 0xc, 0x40, 0xc, 0x40, + 0x1, 0xcf, 0x20, 0x8a, 0x0, 0xa, 0x70, 0x9, + 0xff, 0xb0, 0xa, 0x70, 0x0, 0xa7, 0x0, 0xa, + 0x70, 0x0, 0xa7, 0x0, 0xa, 0x70, 0x0, 0xa7, + 0x0, /* U+67 "g" */ - 0x0, 0x56, 0x14, 0xa, 0xd8, 0xcf, 0x2f, 0x10, - 0x4f, 0x4c, 0x0, 0x4f, 0x4c, 0x0, 0x4f, 0x2f, - 0x30, 0x7f, 0x6, 0xfb, 0xdf, 0x0, 0x0, 0x4f, - 0x7, 0x77, 0xc9, 0x2, 0x88, 0x60, + 0x4, 0xde, 0x8e, 0x1f, 0x50, 0x8e, 0x5c, 0x0, + 0x2e, 0x6a, 0x0, 0x2e, 0x5c, 0x0, 0x2e, 0x1f, + 0x50, 0x9e, 0x4, 0xde, 0x9e, 0x0, 0x0, 0x4d, + 0xb, 0x20, 0xb9, 0x6, 0xee, 0xa1, /* U+68 "h" */ - 0x13, 0x0, 0x0, 0x4f, 0x0, 0x0, 0x4f, 0x0, - 0x0, 0x4f, 0x16, 0x40, 0x4f, 0xb8, 0xda, 0x4f, - 0x0, 0x4f, 0x4f, 0x0, 0x4f, 0x4f, 0x0, 0x4f, - 0x4f, 0x0, 0x4f, 0x4f, 0x0, 0x4f, + 0x2e, 0x0, 0x0, 0x2e, 0x0, 0x0, 0x2e, 0x0, + 0x0, 0x2e, 0x8f, 0xd2, 0x2f, 0x60, 0x9a, 0x2e, + 0x0, 0x4c, 0x2e, 0x0, 0x4d, 0x2e, 0x0, 0x4d, + 0x2e, 0x0, 0x4d, 0x2e, 0x0, 0x4d, /* U+69 "i" */ - 0x4f, 0x4, 0xff, 0xff, 0xff, + 0x1e, 0x0, 0x30, 0x1f, 0x1, 0xf0, 0x1f, 0x1, + 0xf0, 0x1f, 0x1, 0xf0, 0x1f, 0x0, /* U+6A "j" */ - 0x0, 0x41, 0x0, 0xf4, 0x0, 0x0, 0x0, 0x41, - 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, - 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf3, 0x28, 0xf0, - 0x38, 0x30, + 0x2, 0xd0, 0x0, 0x30, 0x2, 0xf0, 0x2, 0xf0, + 0x2, 0xf0, 0x2, 0xf0, 0x2, 0xf0, 0x2, 0xf0, + 0x2, 0xf0, 0x2, 0xe0, 0x4, 0xd0, 0x5f, 0x60, /* U+6B "k" */ - 0x13, 0x0, 0x0, 0x4f, 0x0, 0x0, 0x4f, 0x0, - 0x0, 0x4f, 0x0, 0x33, 0x4f, 0x3, 0xe4, 0x4f, - 0xd, 0x80, 0x4f, 0xcd, 0x0, 0x4f, 0x1f, 0x50, - 0x4f, 0x5, 0xf1, 0x4f, 0x0, 0xba, + 0x2e, 0x0, 0x0, 0x2, 0xe0, 0x0, 0x0, 0x2e, + 0x0, 0x0, 0x2, 0xe0, 0x1d, 0x50, 0x2e, 0xc, + 0x80, 0x2, 0xea, 0xa0, 0x0, 0x2f, 0xfb, 0x0, + 0x2, 0xf2, 0xd6, 0x0, 0x2e, 0x3, 0xe1, 0x2, + 0xe0, 0x8, 0xb0, /* U+6C "l" */ - 0x2, 0x0, 0xf1, 0xf, 0x10, 0xf1, 0xf, 0x10, - 0xf1, 0xf, 0x10, 0xf1, 0xf, 0x10, 0xf1, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, /* U+6D "m" */ - 0x13, 0x16, 0x50, 0x27, 0x30, 0x4f, 0xb8, 0xfa, - 0xc9, 0xf4, 0x4f, 0x0, 0x7f, 0x0, 0x98, 0x4f, - 0x0, 0x4c, 0x0, 0x8c, 0x4f, 0x0, 0x4c, 0x0, - 0x8c, 0x4f, 0x0, 0x4c, 0x0, 0x8c, 0x4f, 0x0, - 0x4c, 0x0, 0x8c, + 0x3e, 0x9e, 0xd3, 0xbf, 0xc1, 0x3f, 0x50, 0x9f, + 0x40, 0xa8, 0x3e, 0x0, 0x4d, 0x0, 0x6b, 0x3e, + 0x0, 0x4c, 0x0, 0x6b, 0x3e, 0x0, 0x4c, 0x0, + 0x6b, 0x3e, 0x0, 0x4c, 0x0, 0x6b, 0x3e, 0x0, + 0x4c, 0x0, 0x6b, /* U+6E "n" */ - 0x13, 0x16, 0x40, 0x4f, 0xa8, 0xda, 0x4f, 0x0, - 0x4e, 0x4f, 0x0, 0x4f, 0x4f, 0x0, 0x4f, 0x4f, - 0x0, 0x4f, 0x4f, 0x0, 0x4f, + 0x2d, 0x8f, 0xd2, 0x2f, 0x60, 0x9a, 0x2e, 0x0, + 0x4c, 0x2e, 0x0, 0x4d, 0x2e, 0x0, 0x4d, 0x2e, + 0x0, 0x4d, 0x2e, 0x0, 0x4d, /* U+6F "o" */ - 0x0, 0x46, 0x30, 0x0, 0xad, 0x8d, 0x70, 0x3f, - 0x10, 0x2f, 0x7, 0xc0, 0x0, 0xf4, 0x5c, 0x0, - 0xf, 0x32, 0xf3, 0x7, 0xe0, 0x6, 0xfc, 0xe3, + 0x3, 0xdf, 0xb1, 0x0, 0xe5, 0x7, 0xc0, 0x5c, + 0x0, 0xe, 0x27, 0xa0, 0x0, 0xc4, 0x5c, 0x0, + 0xe, 0x20, 0xe5, 0x7, 0xc0, 0x3, 0xcf, 0xb2, 0x0, /* U+70 "p" */ - 0x13, 0x27, 0x30, 0x4, 0xeb, 0x8f, 0x90, 0x4f, - 0x10, 0x4f, 0x4, 0xf0, 0x0, 0xf4, 0x4f, 0x0, - 0xf, 0x34, 0xf3, 0x5, 0xf0, 0x4f, 0xbc, 0xf6, - 0x4, 0xf0, 0x0, 0x0, 0x4f, 0x0, 0x0, 0x2, - 0x80, 0x0, 0x0, + 0x2e, 0xae, 0xc2, 0x2, 0xf3, 0x7, 0xc0, 0x2e, + 0x0, 0xf, 0x12, 0xe0, 0x0, 0xe2, 0x2e, 0x0, + 0xf, 0x2, 0xf4, 0x8, 0xc0, 0x2e, 0xae, 0xc2, + 0x2, 0xe0, 0x0, 0x0, 0x2e, 0x0, 0x0, 0x2, + 0xe0, 0x0, 0x0, /* U+71 "q" */ - 0x0, 0x56, 0x14, 0xc, 0xd8, 0xcf, 0x3f, 0x10, - 0x4f, 0x6c, 0x0, 0x4f, 0x6c, 0x0, 0x4f, 0x2f, - 0x20, 0x7f, 0x7, 0xfc, 0xcf, 0x0, 0x0, 0x4f, - 0x0, 0x0, 0x4f, 0x0, 0x0, 0x28, + 0x4, 0xde, 0x8e, 0x1f, 0x50, 0x8e, 0x5c, 0x0, + 0x3e, 0x6a, 0x0, 0x3e, 0x5c, 0x0, 0x3e, 0x1f, + 0x40, 0x8e, 0x4, 0xde, 0xae, 0x0, 0x0, 0x3e, + 0x0, 0x0, 0x3e, 0x0, 0x0, 0x3e, /* U+72 "r" */ - 0x13, 0x27, 0x4f, 0xcb, 0x4f, 0x10, 0x4f, 0x0, - 0x4f, 0x0, 0x4f, 0x0, 0x4f, 0x0, + 0x2e, 0xbd, 0x2f, 0x50, 0x2e, 0x0, 0x2e, 0x0, + 0x2e, 0x0, 0x2e, 0x0, 0x2e, 0x0, /* U+73 "s" */ - 0x0, 0x56, 0x20, 0xd, 0xb9, 0xf3, 0x2f, 0x10, - 0x54, 0x9, 0xe9, 0x40, 0x0, 0x16, 0xd6, 0x4d, - 0x10, 0x9a, 0x9, 0xec, 0xe3, + 0x6, 0xee, 0x90, 0x1f, 0x21, 0xc6, 0x1f, 0x40, + 0x0, 0x4, 0xbe, 0x80, 0x12, 0x1, 0xb7, 0x4e, + 0x10, 0xa7, 0x7, 0xee, 0xa0, /* U+74 "t" */ - 0x9, 0x30, 0x3c, 0x62, 0x6e, 0xa4, 0xc, 0x40, - 0xc, 0x40, 0xc, 0x40, 0xc, 0x50, 0x8, 0xe7, + 0x6, 0x20, 0xc, 0x40, 0xdf, 0xe6, 0xc, 0x40, + 0xc, 0x40, 0xc, 0x40, 0xc, 0x40, 0xc, 0x60, + 0x5, 0xf7, /* U+75 "u" */ - 0x13, 0x0, 0x13, 0x4f, 0x0, 0x4f, 0x4f, 0x0, - 0x4f, 0x4f, 0x0, 0x4f, 0x4f, 0x0, 0x4f, 0xf, - 0x20, 0x7f, 0x8, 0xfc, 0x7f, + 0x3e, 0x0, 0x4c, 0x3e, 0x0, 0x4c, 0x3e, 0x0, + 0x4c, 0x3e, 0x0, 0x4c, 0x2e, 0x0, 0x4c, 0x1f, + 0x31, 0xbc, 0x7, 0xee, 0x9c, /* U+76 "v" */ - 0x32, 0x0, 0x23, 0x7b, 0x0, 0xa9, 0x1f, 0x10, - 0xf2, 0xb, 0x65, 0xd0, 0x5, 0xba, 0x70, 0x0, - 0xfd, 0x10, 0x0, 0x9b, 0x0, + 0xa7, 0x0, 0xa6, 0x5c, 0x0, 0xf1, 0xf, 0x14, + 0xc0, 0xa, 0x59, 0x70, 0x5, 0xad, 0x20, 0x0, + 0xfc, 0x0, 0x0, 0xa7, 0x0, /* U+77 "w" */ - 0x32, 0x0, 0x40, 0x2, 0x38, 0xb0, 0x3f, 0x40, - 0xa9, 0x3f, 0x9, 0xd9, 0xe, 0x40, 0xe3, 0xd4, - 0xe1, 0xf0, 0xa, 0x9d, 0xd, 0x8b, 0x0, 0x5d, - 0x90, 0x7e, 0x60, 0x1, 0xf3, 0x2, 0xf2, 0x0, + 0x97, 0x1, 0xf1, 0x7, 0x95, 0xa0, 0x5f, 0x50, + 0xb5, 0x1e, 0xa, 0x8a, 0xe, 0x10, 0xd2, 0xd0, + 0xe2, 0xc0, 0x9, 0x9a, 0xb, 0x98, 0x0, 0x4f, + 0x60, 0x6f, 0x40, 0x0, 0xf1, 0x2, 0xf0, 0x0, /* U+78 "x" */ - 0x23, 0x0, 0x32, 0x2f, 0x22, 0xf3, 0x8, 0xbc, - 0x80, 0x0, 0xee, 0x0, 0x2, 0xee, 0x20, 0xc, - 0x88, 0xb0, 0x7e, 0x0, 0xe7, + 0x6d, 0x0, 0xe5, 0xc, 0x67, 0xb0, 0x3, 0xee, + 0x20, 0x0, 0xcb, 0x0, 0x4, 0xde, 0x20, 0xd, + 0x56, 0xc0, 0x7c, 0x0, 0xd6, /* U+79 "y" */ - 0x32, 0x0, 0x23, 0x9b, 0x0, 0xb9, 0x2f, 0x11, - 0xf3, 0xc, 0x66, 0xd0, 0x6, 0xbb, 0x70, 0x1, - 0xff, 0x20, 0x0, 0xab, 0x0, 0x0, 0xc6, 0x0, - 0x28, 0xe0, 0x0, 0x38, 0x20, 0x0, + 0xb7, 0x0, 0xc6, 0x6c, 0x1, 0xf1, 0x1f, 0x15, + 0xc0, 0xc, 0x6a, 0x70, 0x6, 0xbe, 0x20, 0x1, + 0xfd, 0x0, 0x0, 0xc8, 0x0, 0x0, 0xc3, 0x0, + 0x4, 0xd0, 0x0, 0x7e, 0x30, 0x0, /* U+7A "z" */ - 0x23, 0x33, 0x32, 0x48, 0x89, 0xf5, 0x0, 0xb, - 0xa0, 0x0, 0x7d, 0x10, 0x3, 0xf3, 0x0, 0x1d, - 0x60, 0x0, 0x8f, 0xff, 0xf8, + 0x6f, 0xff, 0xf5, 0x0, 0x5, 0xd0, 0x0, 0x1e, + 0x40, 0x0, 0xb9, 0x0, 0x6, 0xd0, 0x0, 0x1e, + 0x30, 0x0, 0x7f, 0xff, 0xf8, /* U+7B "{" */ - 0x0, 0x2, 0x0, 0xb8, 0x4, 0xe0, 0x8, 0xc0, - 0x8, 0xc0, 0x1a, 0x80, 0x7e, 0x10, 0x9, 0xa0, - 0x8, 0xc0, 0x7, 0xc0, 0x3, 0xf1, 0x0, 0x8a, + 0x0, 0x27, 0x0, 0xe4, 0x4, 0xc0, 0x5, 0xb0, + 0x6, 0xa0, 0xa, 0x70, 0x9f, 0x10, 0xa, 0x70, + 0x6, 0xa0, 0x5, 0xb0, 0x4, 0xc0, 0x0, 0xd4, + 0x0, 0x27, /* U+7C "|" */ - 0x18, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, - 0x2f, 0x2f, 0x18, + 0xee, 0xee, 0xee, 0xee, 0xee, 0xe0, /* U+7D "}" */ - 0x30, 0x0, 0x7d, 0x0, 0xd, 0x50, 0xc, 0x80, - 0xc, 0x80, 0x8, 0xb1, 0x1, 0xea, 0x9, 0xa0, - 0xc, 0x80, 0xc, 0x80, 0xe, 0x30, 0xa9, 0x0, + 0x72, 0x0, 0x3e, 0x0, 0xb, 0x50, 0xa, 0x60, + 0xa, 0x60, 0x6, 0xb0, 0x0, 0xea, 0x6, 0xb0, + 0xa, 0x60, 0xa, 0x60, 0xb, 0x50, 0x4e, 0x0, + 0x72, 0x0, /* U+7E "~" */ - 0x5, 0xa6, 0x0, 0x42, 0x2e, 0x5b, 0xc5, 0xc3, - 0x12, 0x0, 0x6a, 0x50, + 0x5, 0xd9, 0x0, 0x85, 0xe, 0x3a, 0x90, 0xc2, + 0x2a, 0x0, 0xbf, 0x90, 0x0, 0x0, 0x0, 0x0, /* U+F001 "" */ - 0x0, 0x0, 0x0, 0x0, 0x26, 0x10, 0x0, 0x0, - 0x37, 0xcf, 0xf4, 0x0, 0x5, 0xdf, 0xff, 0xff, - 0x40, 0x0, 0x8f, 0xff, 0xff, 0xf4, 0x0, 0x8, - 0xff, 0xfb, 0x69, 0x40, 0x0, 0x8b, 0x50, 0x0, - 0x84, 0x0, 0x8, 0x40, 0x0, 0x8, 0x40, 0x0, - 0x84, 0x2, 0x77, 0xa4, 0x0, 0x8, 0x40, 0xff, - 0xff, 0x45, 0xbb, 0xc4, 0x8, 0xff, 0xb1, 0xff, - 0xff, 0x40, 0x0, 0x0, 0x4, 0xac, 0x60, 0x0, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, + 0x0, 0x3, 0x7c, 0xff, 0x0, 0x0, 0x59, 0xef, + 0xff, 0xff, 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, + 0x0, 0xf, 0xff, 0xfd, 0x84, 0x8f, 0x0, 0xf, + 0xd7, 0x20, 0x0, 0x8f, 0x0, 0xf, 0x80, 0x0, + 0x0, 0x8f, 0x0, 0xf, 0x80, 0x0, 0x0, 0x8f, + 0x0, 0xf, 0x80, 0x0, 0x7b, 0xdf, 0x2, 0x3f, + 0x80, 0x6, 0xff, 0xff, 0xaf, 0xff, 0x80, 0x2, + 0xef, 0xf9, 0xef, 0xff, 0x60, 0x0, 0x2, 0x10, + 0x29, 0xa7, 0x0, 0x0, 0x0, 0x0, /* U+F008 "" */ - 0x47, 0x77, 0x77, 0x77, 0x77, 0x77, 0x2e, 0x8c, - 0xc8, 0x88, 0x88, 0xda, 0x8c, 0xd0, 0x88, 0x0, - 0x0, 0x8, 0x40, 0xcf, 0xce, 0x80, 0x0, 0x0, - 0x8e, 0xcc, 0xd0, 0x88, 0x0, 0x0, 0x8, 0x51, - 0xcf, 0x39, 0x93, 0x33, 0x33, 0xa7, 0x4c, 0xf8, - 0xdd, 0x88, 0x88, 0x8d, 0xb9, 0xcc, 0x8, 0x80, - 0x0, 0x0, 0x84, 0xc, 0xfb, 0xd8, 0x0, 0x0, - 0x8, 0xdb, 0xce, 0x4a, 0x80, 0x0, 0x0, 0x87, - 0x4c, 0xe3, 0x99, 0x33, 0x33, 0x3a, 0x63, 0xc7, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc6, + 0xb4, 0xdf, 0xff, 0xff, 0xfd, 0x4b, 0xe8, 0xe7, + 0x22, 0x22, 0x7e, 0x8e, 0xc0, 0xc5, 0x0, 0x0, + 0x6c, 0xc, 0xfc, 0xf6, 0x11, 0x11, 0x7f, 0xcf, + 0xc0, 0xcf, 0xff, 0xff, 0xfb, 0xc, 0xfc, 0xf6, + 0x11, 0x11, 0x7f, 0xcf, 0xc0, 0xc5, 0x0, 0x0, + 0x6c, 0xc, 0xe8, 0xe7, 0x22, 0x22, 0x7e, 0x8e, + 0xb4, 0xdf, 0xff, 0xff, 0xfd, 0x4b, /* U+F00B "" */ - 0x67, 0x71, 0x37, 0x77, 0x77, 0x75, 0xff, 0xf8, + 0xdf, 0xf6, 0x9f, 0xff, 0xff, 0xfd, 0xff, 0xf8, + 0xcf, 0xff, 0xff, 0xff, 0xef, 0xf6, 0xaf, 0xff, + 0xff, 0xfe, 0x13, 0x20, 0x3, 0x33, 0x33, 0x31, + 0xff, 0xf7, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbf, 0xff, - 0xff, 0xff, 0x24, 0x30, 0x14, 0x44, 0x44, 0x42, - 0xff, 0xf6, 0xbf, 0xff, 0xff, 0xfe, 0xff, 0xf8, - 0xcf, 0xff, 0xff, 0xff, 0x78, 0x83, 0x58, 0x88, - 0x88, 0x87, 0x77, 0x73, 0x57, 0x77, 0x77, 0x76, - 0xff, 0xf8, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf6, - 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x13, 0x20, 0x3, 0x33, 0x33, 0x31, + 0xef, 0xf6, 0xaf, 0xff, 0xff, 0xfe, 0xff, 0xf8, + 0xcf, 0xff, 0xff, 0xff, 0xdf, 0xf6, 0xaf, 0xff, + 0xff, 0xfd, /* U+F00C "" */ - 0x0, 0x0, 0x0, 0x0, 0x3e, 0x60, 0x0, 0x0, - 0x0, 0x3, 0xef, 0xf2, 0x3, 0x71, 0x0, 0x3e, - 0xff, 0x60, 0x1e, 0xfc, 0x13, 0xef, 0xf6, 0x0, - 0x1d, 0xff, 0xce, 0xff, 0x60, 0x0, 0x1, 0xdf, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0x1d, 0xff, 0x60, - 0x0, 0x0, 0x0, 0x1, 0xd6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xd4, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x3, + 0xff, 0xf4, 0x4d, 0x30, 0x0, 0x3f, 0xff, 0x40, + 0xef, 0xf3, 0x3, 0xff, 0xf4, 0x0, 0x4f, 0xff, + 0x6f, 0xff, 0x40, 0x0, 0x4, 0xff, 0xff, 0xf4, + 0x0, 0x0, 0x0, 0x4f, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x3, 0xd3, 0x0, 0x0, 0x0, /* U+F00D "" */ - 0x6, 0xa1, 0x0, 0x68, 0x3, 0xff, 0xc1, 0x6f, - 0xf9, 0xa, 0xff, 0xdf, 0xff, 0x30, 0xa, 0xff, - 0xff, 0x30, 0x0, 0x6f, 0xff, 0xc1, 0x0, 0x6f, - 0xff, 0xff, 0xc1, 0x3f, 0xff, 0x3a, 0xff, 0xa0, - 0xaf, 0x30, 0xa, 0xf3, + 0x14, 0x0, 0x0, 0x22, 0xd, 0xf7, 0x0, 0x4f, + 0xf1, 0x9f, 0xf7, 0x4f, 0xfd, 0x0, 0xaf, 0xff, + 0xfd, 0x10, 0x0, 0xbf, 0xfe, 0x10, 0x0, 0x4f, + 0xff, 0xf7, 0x0, 0x4f, 0xfd, 0xaf, 0xf7, 0xe, + 0xfd, 0x10, 0xaf, 0xf2, 0x5b, 0x10, 0x0, 0x99, + 0x0, /* U+F011 "" */ - 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x0, 0xb, - 0xe0, 0x0, 0x0, 0x1, 0x71, 0xcf, 0x7, 0x30, - 0x0, 0xdf, 0x6c, 0xf1, 0xfe, 0x30, 0x8f, 0xa0, - 0xcf, 0x5, 0xfb, 0xe, 0xf0, 0xc, 0xf0, 0xa, - 0xf2, 0xfc, 0x0, 0x69, 0x0, 0x8f, 0x4f, 0xc0, - 0x0, 0x0, 0x9, 0xf4, 0xaf, 0x40, 0x0, 0x1, - 0xef, 0x2, 0xfe, 0x40, 0x2, 0xcf, 0x70, 0x6, - 0xff, 0xfe, 0xff, 0xa0, 0x0, 0x2, 0x9c, 0xca, - 0x40, 0x0, + 0x0, 0x0, 0x7, 0x70, 0x0, 0x0, 0x0, 0x32, + 0xf, 0xf0, 0x24, 0x0, 0x5, 0xfc, 0xf, 0xf0, + 0xcf, 0x50, 0x1f, 0xf4, 0xf, 0xf0, 0x5f, 0xf1, + 0x7f, 0x80, 0xf, 0xf0, 0x8, 0xf7, 0xbf, 0x20, + 0xf, 0xf0, 0x2, 0xfb, 0xcf, 0x10, 0xe, 0xe0, + 0x1, 0xfc, 0xaf, 0x40, 0x1, 0x10, 0x4, 0xfa, + 0x5f, 0xb0, 0x0, 0x0, 0xb, 0xf6, 0xd, 0xfa, + 0x10, 0x1, 0xaf, 0xd0, 0x2, 0xdf, 0xfc, 0xcf, + 0xfd, 0x20, 0x0, 0x8, 0xef, 0xfe, 0x91, 0x0, + 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, /* U+F013 "" */ - 0x0, 0x0, 0x67, 0x10, 0x0, 0x0, 0x15, 0xf, - 0xf4, 0x33, 0x0, 0xd, 0xfd, 0xff, 0xef, 0xe2, - 0x0, 0xaf, 0xff, 0xff, 0xfd, 0x10, 0x5b, 0xfe, - 0x21, 0xbf, 0xd4, 0x1f, 0xff, 0x80, 0x4, 0xff, - 0xf4, 0xce, 0xfa, 0x0, 0x6f, 0xfc, 0x30, 0x8f, - 0xfc, 0x9f, 0xfc, 0x0, 0xf, 0xff, 0xff, 0xff, - 0xf3, 0x0, 0x6d, 0x5f, 0xf8, 0xaa, 0x0, 0x0, - 0x0, 0xbc, 0x30, 0x0, 0x0, - - /* U+F014 "" */ - 0x0, 0x7, 0x77, 0x20, 0x0, 0x0, 0x6c, 0x88, - 0xd0, 0x0, 0xcb, 0xec, 0xbb, 0xeb, 0xb6, 0x6d, - 0x44, 0x44, 0x47, 0xa1, 0x4c, 0x44, 0x62, 0x64, - 0x80, 0x4c, 0x88, 0xc4, 0xc4, 0x80, 0x4c, 0x88, - 0xc4, 0xc4, 0x80, 0x4c, 0x88, 0xc4, 0xc4, 0x80, - 0x4c, 0x66, 0x92, 0x94, 0x80, 0x2c, 0x0, 0x0, - 0x5, 0x80, 0xb, 0xcc, 0xcc, 0xcc, 0x30, + 0x0, 0x0, 0x14, 0x41, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xf7, 0x0, 0x0, 0x3, 0x43, 0xdf, 0xfd, + 0x34, 0x30, 0xe, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x6f, 0xff, 0xfb, 0xbf, 0xff, 0xf6, 0x1b, 0xff, + 0x70, 0x7, 0xff, 0xb1, 0x7, 0xff, 0x20, 0x2, + 0xff, 0x70, 0x1b, 0xff, 0x70, 0x7, 0xff, 0xb1, + 0x6f, 0xff, 0xfb, 0xbf, 0xff, 0xf6, 0xe, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x3, 0x42, 0xcf, 0xfc, + 0x23, 0x30, 0x0, 0x0, 0x7f, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x4, 0x41, 0x0, 0x0, /* U+F015 "" */ - 0x0, 0x0, 0x17, 0x32, 0x74, 0x0, 0x0, 0x3d, - 0xcf, 0x7f, 0x80, 0x0, 0x5e, 0x89, 0x9f, 0xf8, - 0x0, 0x7f, 0x8d, 0xfe, 0x7f, 0xa0, 0x9e, 0x9e, - 0xff, 0xff, 0x7d, 0xb3, 0x4f, 0xff, 0xff, 0xff, - 0x84, 0x4, 0xff, 0xe8, 0xcf, 0xf8, 0x0, 0x4f, - 0xfc, 0x8, 0xff, 0x80, 0x4, 0xff, 0xc0, 0x8f, - 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x73, 0x3, 0x83, 0x0, 0x0, + 0x0, 0x1d, 0xff, 0x67, 0xf7, 0x0, 0x0, 0x3, + 0xee, 0x5a, 0xfe, 0xf7, 0x0, 0x0, 0x6f, 0xd3, + 0xb5, 0x7f, 0xf7, 0x0, 0x9, 0xfb, 0x3d, 0xff, + 0x85, 0xfe, 0x30, 0xbf, 0x95, 0xff, 0xff, 0xfb, + 0x3e, 0xf4, 0x76, 0x6f, 0xff, 0xff, 0xff, 0xd2, + 0xa1, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0xcf, 0xfa, 0x2, 0xff, 0xf4, 0x0, 0x0, + 0xcf, 0xfa, 0x2, 0xff, 0xf4, 0x0, 0x0, 0xaf, + 0xf8, 0x1, 0xff, 0xf3, 0x0, /* U+F019 "" */ - 0x0, 0x0, 0x23, 0x30, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x0, - 0x0, 0x9b, 0xef, 0xeb, 0xb0, 0x0, 0x0, 0x3f, - 0xff, 0xff, 0x60, 0x0, 0x0, 0x3, 0xff, 0xf6, - 0x0, 0x0, 0x67, 0x76, 0x3f, 0x67, 0x77, 0x60, - 0xff, 0xff, 0x93, 0x9f, 0xff, 0xf3, 0xff, 0xff, - 0xff, 0xfe, 0xaa, 0xe4, 0xff, 0xff, 0xff, 0xff, - 0xee, 0xf2, + 0x0, 0x0, 0x27, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xf8, 0x0, 0x0, 0x0, 0xdf, + 0xff, 0xff, 0xfd, 0x0, 0x0, 0x4f, 0xff, 0xff, + 0xf4, 0x0, 0x0, 0x4, 0xff, 0xff, 0x40, 0x0, + 0x23, 0x33, 0x5f, 0xf5, 0x33, 0x32, 0xff, 0xff, + 0xa4, 0x4a, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xcf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5c, 0x8f, + 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xa8, /* U+F01C "" */ - 0x1, 0x77, 0x77, 0x77, 0x40, 0x0, 0x8f, 0xcc, - 0xcc, 0xec, 0x0, 0xf, 0x70, 0x0, 0x2, 0xf4, - 0x6, 0xf1, 0x0, 0x0, 0xc, 0xb0, 0xda, 0x0, - 0x0, 0x0, 0x5f, 0x2f, 0xcb, 0x80, 0x5, 0xbb, - 0xf4, 0xff, 0xff, 0x77, 0xdf, 0xff, 0x4f, 0xff, - 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x40, + 0x0, 0x4f, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x1, + 0xed, 0x88, 0x88, 0x89, 0xf8, 0x0, 0xa, 0xf2, + 0x0, 0x0, 0x0, 0xaf, 0x30, 0x5f, 0x70, 0x0, + 0x0, 0x0, 0x1e, 0xc0, 0xef, 0x88, 0x60, 0x0, + 0x28, 0x8b, 0xf6, 0xff, 0xff, 0xf3, 0x0, 0xbf, + 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, /* U+F021 "" */ - 0x0, 0x2, 0x46, 0x30, 0x0, 0x0, 0x19, 0xff, - 0xff, 0xd4, 0xc4, 0x1c, 0xfc, 0x65, 0xaf, 0xff, - 0x47, 0xfa, 0x0, 0x1, 0xdf, 0xf4, 0x9c, 0x0, - 0x0, 0x6c, 0xcc, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x77, 0x75, 0x0, 0x0, 0x57, 0xf, 0xff, - 0x90, 0x0, 0x1d, 0xe0, 0xff, 0xf4, 0x0, 0x2c, - 0xf5, 0xf, 0xcf, 0xff, 0xef, 0xf8, 0x0, 0x50, - 0x29, 0xcc, 0xa4, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x10, 0x0, 0x59, 0x0, 0x19, + 0xef, 0xfd, 0x70, 0x9f, 0x3, 0xef, 0xda, 0x9d, + 0xfe, 0xbf, 0xe, 0xf6, 0x0, 0x0, 0x5f, 0xff, + 0x7f, 0x70, 0x0, 0x3f, 0xff, 0xff, 0x69, 0x0, + 0x0, 0x2a, 0xaa, 0xa9, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xaa, 0xaa, 0xa2, 0x0, 0x0, 0xa6, + 0xff, 0xfe, 0xf3, 0x0, 0x7, 0xf7, 0xff, 0xf5, + 0x0, 0x0, 0x7f, 0xe0, 0xfb, 0xef, 0xd9, 0xad, + 0xfe, 0x30, 0xfa, 0x8, 0xef, 0xfe, 0x91, 0x0, + 0x95, 0x0, 0x1, 0x10, 0x0, 0x0, /* U+F026 "" */ - 0x0, 0x0, 0x30, 0x0, 0x6, 0xf4, 0x0, 0x6f, - 0xf4, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xf4, 0xff, - 0xff, 0xf4, 0x78, 0xbf, 0xf4, 0x0, 0xa, 0xf4, - 0x0, 0x0, 0xb2, + 0x0, 0x0, 0x2a, 0x0, 0x2, 0xef, 0x78, 0x8e, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xdf, 0xff, 0xff, 0x0, 0x7, 0xff, + 0x0, 0x0, 0x7f, 0x0, 0x0, 0x1, /* U+F027 "" */ - 0x0, 0x0, 0x30, 0x0, 0x0, 0x6, 0xf4, 0x0, - 0x0, 0x6f, 0xf4, 0x0, 0xff, 0xff, 0xf4, 0xc3, - 0xff, 0xff, 0xf4, 0x5b, 0xff, 0xff, 0xf4, 0xa8, - 0x78, 0xbf, 0xf4, 0x30, 0x0, 0xa, 0xf4, 0x0, - 0x0, 0x0, 0xb2, 0x0, + 0x0, 0x0, 0x2a, 0x0, 0x0, 0x0, 0x2e, 0xf0, + 0x0, 0x78, 0x8e, 0xff, 0x3, 0xf, 0xff, 0xff, + 0xf0, 0xba, 0xff, 0xff, 0xff, 0x3, 0xff, 0xff, + 0xff, 0xf0, 0xaa, 0xdf, 0xff, 0xff, 0x4, 0x0, + 0x0, 0x8f, 0xf0, 0x0, 0x0, 0x0, 0x8f, 0x0, + 0x0, 0x0, 0x0, 0x10, 0x0, /* U+F028 "" */ - 0x0, 0x0, 0x30, 0x6, 0xc2, 0x0, 0x0, 0x6, - 0xf4, 0x15, 0x4c, 0x10, 0x0, 0x6f, 0xf4, 0x1b, - 0x96, 0xa0, 0xff, 0xff, 0xf4, 0xc3, 0xc2, 0xd0, - 0xff, 0xff, 0xf4, 0x5b, 0x86, 0xc1, 0xff, 0xff, - 0xf4, 0xa8, 0x94, 0xd0, 0x78, 0xbf, 0xf4, 0x33, - 0xc2, 0xc0, 0x0, 0xa, 0xf4, 0x2c, 0x4c, 0x40, - 0x0, 0x0, 0xb2, 0x3, 0xc6, 0x0, 0x0, 0x0, - 0x0, 0x4, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xd2, 0x0, 0x0, 0x0, + 0x2a, 0x0, 0x11, 0x8e, 0x10, 0x0, 0x2, 0xef, + 0x0, 0x7d, 0x2b, 0x90, 0x78, 0x8e, 0xff, 0x3, + 0xa, 0xb3, 0xf0, 0xff, 0xff, 0xff, 0xb, 0xa1, + 0xf1, 0xe3, 0xff, 0xff, 0xff, 0x3, 0xf0, 0xe3, + 0xc5, 0xff, 0xff, 0xff, 0xb, 0xa1, 0xf1, 0xe3, + 0xdf, 0xff, 0xff, 0x3, 0xa, 0xb3, 0xf0, 0x0, + 0x7, 0xff, 0x0, 0x7d, 0x2b, 0x90, 0x0, 0x0, + 0x7f, 0x0, 0x11, 0x9e, 0x10, 0x0, 0x0, 0x1, + 0x0, 0x6, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, /* U+F03E "" */ - 0x47, 0x77, 0x77, 0x77, 0x77, 0x77, 0x2d, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x8c, 0xc0, 0x98, 0x0, - 0x0, 0x0, 0x0, 0xcc, 0x4f, 0xf4, 0x0, 0x17, - 0x0, 0xc, 0xc1, 0xbb, 0x10, 0x1c, 0xf9, 0x0, - 0xcc, 0x0, 0x10, 0x1c, 0xff, 0xf9, 0xc, 0xc0, - 0x1c, 0x9c, 0xff, 0xff, 0xf4, 0xcc, 0x1c, 0xff, - 0xff, 0xff, 0xff, 0x4c, 0xc4, 0xff, 0xff, 0xff, - 0xff, 0xf4, 0xcd, 0x14, 0x44, 0x44, 0x44, 0x44, - 0x1c, 0x9c, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x80, - - /* U+F040 "" */ - 0x0, 0x0, 0x0, 0x3, 0x10, 0x0, 0x0, 0x0, - 0x6, 0xfc, 0x10, 0x0, 0x0, 0x4, 0xaf, 0xfc, - 0x0, 0x0, 0x6, 0xea, 0xaf, 0xf1, 0x0, 0x6, - 0xdb, 0xf9, 0x93, 0x0, 0x6, 0xdb, 0xff, 0xf2, - 0x0, 0x6, 0xdb, 0xff, 0xf3, 0x0, 0x6, 0xfb, - 0xff, 0xf3, 0x0, 0x0, 0xe2, 0xdf, 0xf3, 0x0, - 0x0, 0xf, 0x94, 0xf3, 0x0, 0x0, 0x0, 0xcc, - 0xc3, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0x5b, + 0xff, 0xff, 0xff, 0xff, 0xf5, 0x1, 0xff, 0xff, + 0xef, 0xff, 0xfb, 0x18, 0xff, 0xf6, 0x1c, 0xff, + 0xff, 0xfc, 0xff, 0x60, 0x1, 0xdf, 0xff, 0x60, + 0x96, 0x0, 0x0, 0x8f, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x8f, 0xfc, 0x88, 0x88, 0x88, 0x88, 0xcf, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfb, /* U+F048 "" */ - 0x75, 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x6c, 0xfc, - 0x0, 0x6f, 0xcf, 0xc0, 0x6f, 0xfc, 0xfc, 0x6f, - 0xff, 0xcf, 0xef, 0xff, 0xfc, 0xfc, 0xaf, 0xff, - 0xcf, 0xc0, 0xaf, 0xfc, 0xfc, 0x0, 0xaf, 0xcf, - 0xc0, 0x0, 0xac, 0xc9, 0x0, 0x0, 0x60, + 0x58, 0x0, 0x0, 0x35, 0x9f, 0x10, 0x5, 0xfe, + 0x9f, 0x10, 0x6f, 0xfe, 0x9f, 0x17, 0xff, 0xfe, + 0x9f, 0x9f, 0xff, 0xfe, 0x9f, 0xff, 0xff, 0xfe, + 0x9f, 0xef, 0xff, 0xfe, 0x9f, 0x2d, 0xff, 0xfe, + 0x9f, 0x10, 0xcf, 0xfe, 0x9f, 0x10, 0xb, 0xfe, + 0x8f, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0x0, /* U+F04B "" */ - 0x60, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x40, 0x0, - 0x0, 0x0, 0xff, 0xfb, 0x20, 0x0, 0x0, 0xff, - 0xff, 0xf9, 0x10, 0x0, 0xff, 0xff, 0xff, 0xe7, - 0x10, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xff, - 0xff, 0xfe, 0x60, 0xff, 0xff, 0xff, 0x80, 0x0, - 0xff, 0xff, 0x91, 0x0, 0x0, 0xff, 0xb2, 0x0, - 0x0, 0x0, 0xc4, 0x0, 0x0, 0x0, 0x0, + 0x46, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, 0x40, + 0x0, 0x0, 0x0, 0xff, 0xff, 0xa1, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xf7, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xfd, 0x50, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f, 0xff, + 0xff, 0xff, 0xff, 0xb1, 0xff, 0xff, 0xff, 0xfd, + 0x40, 0xf, 0xff, 0xff, 0xf7, 0x0, 0x0, 0xff, + 0xff, 0xa1, 0x0, 0x0, 0xf, 0xfd, 0x40, 0x0, + 0x0, 0x0, 0x36, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F04C "" */ - 0x77, 0x77, 0x10, 0x77, 0x77, 0x1f, 0xff, 0xf4, - 0xf, 0xff, 0xf4, 0xff, 0xff, 0x40, 0xff, 0xff, - 0x4f, 0xff, 0xf4, 0xf, 0xff, 0xf4, 0xff, 0xff, - 0x40, 0xff, 0xff, 0x4f, 0xff, 0xf4, 0xf, 0xff, - 0xf4, 0xff, 0xff, 0x40, 0xff, 0xff, 0x4f, 0xff, - 0xf4, 0xf, 0xff, 0xf4, 0xff, 0xff, 0x40, 0xff, - 0xff, 0x4f, 0xff, 0xf4, 0xf, 0xff, 0xf4, 0xcc, - 0xcc, 0x30, 0xcc, 0xcc, 0x30, + 0xaf, 0xfe, 0x30, 0xaf, 0xfe, 0x3f, 0xff, 0xf7, + 0xf, 0xff, 0xf7, 0xff, 0xff, 0x80, 0xff, 0xff, + 0x8f, 0xff, 0xf8, 0xf, 0xff, 0xf8, 0xff, 0xff, + 0x80, 0xff, 0xff, 0x8f, 0xff, 0xf8, 0xf, 0xff, + 0xf8, 0xff, 0xff, 0x80, 0xff, 0xff, 0x8f, 0xff, + 0xf8, 0xf, 0xff, 0xf8, 0xff, 0xff, 0x80, 0xff, + 0xff, 0x8f, 0xff, 0xf7, 0xf, 0xff, 0xf7, 0x48, + 0x98, 0x10, 0x48, 0x98, 0x10, /* U+F04D "" */ - 0x77, 0x77, 0x77, 0x77, 0x77, 0x1f, 0xff, 0xff, - 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x4f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x4f, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4f, 0xff, - 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcc, 0x30, + 0x48, 0x88, 0x88, 0x88, 0x88, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xaf, + 0xff, 0xff, 0xff, 0xfe, 0x30, /* U+F051 "" */ - 0x30, 0x0, 0x5, 0x5f, 0x30, 0x0, 0xcc, 0xfe, - 0x30, 0xc, 0xcf, 0xfe, 0x30, 0xcc, 0xff, 0xfe, - 0x3c, 0xcf, 0xff, 0xfe, 0xdc, 0xff, 0xff, 0xac, - 0xcf, 0xff, 0xa0, 0xcc, 0xff, 0xa0, 0xc, 0xcf, - 0xa0, 0x0, 0xcc, 0x90, 0x0, 0x9, 0x90, + 0x26, 0x0, 0x0, 0x58, 0x7f, 0xa0, 0x0, 0xbf, + 0x8f, 0xfb, 0x0, 0xbf, 0x8f, 0xff, 0xc1, 0xbf, + 0x8f, 0xff, 0xfd, 0xcf, 0x8f, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xef, 0x8f, 0xff, 0xf4, 0xbf, + 0x8f, 0xff, 0x40, 0xbf, 0x8f, 0xe3, 0x0, 0xbf, + 0x5d, 0x20, 0x0, 0xae, 0x0, 0x0, 0x0, 0x0, /* U+F052 "" */ - 0x0, 0x0, 0x35, 0x0, 0x0, 0x0, 0x0, 0x3e, - 0xf6, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xf6, 0x0, - 0x0, 0x3e, 0xff, 0xff, 0xf6, 0x0, 0x3e, 0xff, - 0xff, 0xff, 0xf6, 0x7, 0x88, 0x88, 0x88, 0x88, - 0x81, 0x87, 0x77, 0x77, 0x77, 0x77, 0x2f, 0xff, - 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x40, + 0x0, 0x0, 0x3, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xfa, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, + 0x90, 0x0, 0x0, 0x1e, 0xff, 0xff, 0xf8, 0x0, + 0x1, 0xdf, 0xff, 0xff, 0xff, 0x70, 0xc, 0xff, + 0xff, 0xff, 0xff, 0xf4, 0xd, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0x1, 0x34, 0x44, 0x44, 0x44, 0x30, + 0xd, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0xc, 0xff, 0xff, 0xff, + 0xff, 0xf5, /* U+F053 "" */ - 0x0, 0x0, 0x6e, 0x30, 0x0, 0x6f, 0xfe, 0x0, - 0x6f, 0xff, 0x30, 0x6f, 0xff, 0x30, 0x6f, 0xff, - 0x30, 0xd, 0xff, 0xa0, 0x0, 0x1d, 0xff, 0x90, - 0x0, 0x1d, 0xff, 0x90, 0x0, 0x1d, 0xff, 0x90, - 0x0, 0x1d, 0xfd, 0x0, 0x0, 0x1a, 0x10, + 0x0, 0x0, 0x3, 0x10, 0x0, 0x5, 0xfb, 0x0, + 0x5, 0xff, 0x40, 0x5, 0xff, 0x40, 0x5, 0xff, + 0x50, 0x3, 0xff, 0x50, 0x0, 0xb, 0xfc, 0x10, + 0x0, 0xb, 0xfc, 0x10, 0x0, 0xc, 0xfc, 0x10, + 0x0, 0xc, 0xfb, 0x0, 0x0, 0xa, 0x50, /* U+F054 "" */ - 0xa, 0xc1, 0x0, 0x0, 0x4f, 0xfc, 0x10, 0x0, - 0x6, 0xff, 0xc1, 0x0, 0x0, 0x6f, 0xfc, 0x10, - 0x0, 0x6, 0xff, 0xc1, 0x0, 0x1, 0xdf, 0xf7, - 0x0, 0x1c, 0xff, 0xa0, 0x1, 0xcf, 0xfa, 0x0, - 0x1c, 0xff, 0xa0, 0x0, 0x3f, 0xfa, 0x0, 0x0, - 0x3, 0x80, 0x0, 0x0, + 0x3, 0x10, 0x0, 0x3, 0xfc, 0x10, 0x0, 0xb, + 0xfc, 0x10, 0x0, 0xb, 0xfc, 0x10, 0x0, 0xb, + 0xfc, 0x10, 0x0, 0xd, 0xfb, 0x0, 0x5, 0xff, + 0x50, 0x5, 0xff, 0x50, 0x5, 0xff, 0x50, 0x3, + 0xff, 0x50, 0x0, 0xa, 0x50, 0x0, 0x0, /* U+F067 "" */ - 0x0, 0x3, 0x75, 0x0, 0x0, 0x0, 0x8, 0xff, - 0x0, 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, 0x0, - 0x8, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xf6, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x8c, - 0xff, 0x88, 0x83, 0x0, 0x8, 0xff, 0x0, 0x0, - 0x0, 0x8, 0xff, 0x0, 0x0, 0x0, 0x7, 0xff, - 0x0, 0x0, + 0x0, 0x0, 0x69, 0x10, 0x0, 0x0, 0x0, 0xd, + 0xf5, 0x0, 0x0, 0x0, 0x0, 0xef, 0x60, 0x0, + 0x0, 0x0, 0xe, 0xf6, 0x0, 0x0, 0x58, 0x88, + 0xff, 0xb8, 0x88, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0x9b, 0xbb, 0xff, 0xdb, 0xbb, 0x30, 0x0, + 0xe, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xef, 0x60, + 0x0, 0x0, 0x0, 0xe, 0xf6, 0x0, 0x0, 0x0, + 0x0, 0x9d, 0x20, 0x0, 0x0, /* U+F068 "" */ - 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x83, + 0x46, 0x66, 0x66, 0x66, 0x66, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xad, 0xdd, 0xdd, 0xdd, 0xdd, + 0x40, + + /* U+F06E "" */ + 0x0, 0x3, 0xad, 0xff, 0xc7, 0x0, 0x0, 0x0, + 0x9f, 0xe6, 0x24, 0xaf, 0xe3, 0x0, 0xb, 0xff, + 0x20, 0x77, 0x9, 0xff, 0x40, 0x7f, 0xf9, 0x0, + 0xcf, 0xa1, 0xff, 0xe1, 0xef, 0xf6, 0x7f, 0xff, + 0xf0, 0xef, 0xf7, 0x8f, 0xf9, 0x3f, 0xff, 0xc1, + 0xff, 0xe1, 0xb, 0xff, 0x26, 0xca, 0x19, 0xff, + 0x40, 0x0, 0x9f, 0xe6, 0x24, 0xaf, 0xe3, 0x0, + 0x0, 0x3, 0x9d, 0xff, 0xc7, 0x0, 0x0, + + /* U+F070 "" */ + 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xdf, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1c, 0xf8, 0x4a, 0xef, 0xeb, 0x50, 0x0, 0x0, + 0x0, 0x9f, 0xfd, 0x52, 0x5d, 0xfc, 0x10, 0x0, + 0x0, 0x5, 0xfe, 0x4a, 0x70, 0xcf, 0xe1, 0x0, + 0xb, 0x80, 0x2d, 0xff, 0xf7, 0x4f, 0xfb, 0x0, + 0x2f, 0xfb, 0x0, 0xaf, 0xfb, 0x2f, 0xff, 0x30, + 0xb, 0xff, 0x50, 0x7, 0xfe, 0x7f, 0xfb, 0x0, + 0x1, 0xdf, 0xc0, 0x0, 0x3e, 0xff, 0xe1, 0x0, + 0x0, 0x1b, 0xfc, 0x42, 0x1, 0xbf, 0xa0, 0x0, + 0x0, 0x0, 0x5b, 0xef, 0xb0, 0x8, 0xfc, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x40, /* U+F071 "" */ - 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x0, 0x0, - 0x1d, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf8, - 0x0, 0x0, 0x0, 0x1, 0xef, 0xfe, 0x10, 0x0, - 0x0, 0x9, 0xf4, 0x4f, 0x90, 0x0, 0x0, 0x2f, - 0xf0, 0xf, 0xf2, 0x0, 0x0, 0xaf, 0xf1, 0x2f, - 0xfa, 0x0, 0x4, 0xff, 0xf9, 0x9f, 0xff, 0x40, - 0xc, 0xff, 0xfa, 0xaf, 0xff, 0xb0, 0x4f, 0xff, - 0xf4, 0x4f, 0xff, 0xf4, 0xef, 0xff, 0xfc, 0xcf, - 0xff, 0xfd, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, + 0x0, 0x0, 0x0, 0x3, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xfd, 0xef, 0xa0, 0x0, 0x0, 0x0, 0xb, + 0xfb, 0x3, 0xff, 0x30, 0x0, 0x0, 0x4, 0xff, + 0xc0, 0x4f, 0xfc, 0x0, 0x0, 0x0, 0xdf, 0xfd, + 0x5, 0xff, 0xf6, 0x0, 0x0, 0x7f, 0xff, 0xf8, + 0xcf, 0xff, 0xe1, 0x0, 0x1f, 0xff, 0xfc, 0x4, + 0xff, 0xff, 0x90, 0xa, 0xff, 0xff, 0xd2, 0x7f, + 0xff, 0xff, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf6, 0x4, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x87, 0x0, /* U+F074 "" */ - 0x0, 0x0, 0x0, 0x0, 0x8, 0x60, 0x87, 0x51, - 0x0, 0x67, 0x7b, 0xf6, 0xff, 0xfc, 0x2a, 0xff, - 0xff, 0xfd, 0x34, 0x7f, 0x8f, 0xc4, 0x4a, 0xd1, - 0x0, 0x4, 0xef, 0x10, 0x5, 0x10, 0x0, 0x5, - 0xfa, 0x0, 0x0, 0x0, 0x0, 0xd, 0xf8, 0x40, - 0x8, 0x60, 0x87, 0xcf, 0x9e, 0xe8, 0x7b, 0xf6, - 0xff, 0xf9, 0x5, 0xef, 0xff, 0xfd, 0x34, 0x0, - 0x0, 0x2, 0x4a, 0xd1, 0x0, 0x0, 0x0, 0x0, - 0x5, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x6, 0x10, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xc1, 0xff, 0xf8, 0x0, 0x2e, + 0xff, 0xfc, 0xcd, 0xff, 0x62, 0xef, 0xdf, 0xf9, + 0x0, 0x2c, 0x4e, 0xf9, 0xf, 0x90, 0x0, 0x2, + 0xef, 0x90, 0x7, 0x0, 0x0, 0x2e, 0xf8, 0x88, + 0xf, 0xa0, 0xcd, 0xff, 0x80, 0xdf, 0xdf, 0xf9, + 0xff, 0xf8, 0x0, 0x1e, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x6, 0x10, /* U+F077 "" */ - 0x0, 0x0, 0xa, 0x90, 0x0, 0x0, 0x0, 0x0, - 0xaf, 0xf9, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, - 0x90, 0x0, 0x1, 0x9f, 0xfa, 0xaf, 0xf9, 0x0, - 0x1c, 0xff, 0xa0, 0xa, 0xff, 0x90, 0x4f, 0xfa, - 0x0, 0x0, 0xaf, 0xf4, 0x6, 0x90, 0x0, 0x0, - 0x9, 0x60, + 0x0, 0x0, 0x27, 0x0, 0x0, 0x0, 0x0, 0x2e, + 0xf9, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf9, 0x0, + 0x0, 0x2e, 0xf9, 0x2e, 0xf9, 0x0, 0x2e, 0xf9, + 0x0, 0x2e, 0xf9, 0xb, 0xf9, 0x0, 0x0, 0x2e, + 0xf4, 0x27, 0x0, 0x0, 0x0, 0x27, 0x0, /* U+F078 "" */ - 0x3, 0x80, 0x0, 0x0, 0x9, 0x50, 0x3e, 0xf9, - 0x0, 0x0, 0xaf, 0xf4, 0x1d, 0xff, 0x90, 0xa, - 0xff, 0xd1, 0x1, 0xdf, 0xf9, 0xaf, 0xfd, 0x10, - 0x0, 0x1d, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x1, - 0xdf, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x1d, 0xd1, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, + 0x27, 0x0, 0x0, 0x0, 0x27, 0xb, 0xf9, 0x0, + 0x0, 0x2e, 0xf4, 0x2e, 0xf9, 0x0, 0x2e, 0xf9, + 0x0, 0x2e, 0xf9, 0x2e, 0xf9, 0x0, 0x0, 0x2e, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0x2e, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, /* U+F079 "" */ - 0x0, 0xa1, 0x8b, 0xbb, 0xbb, 0xb2, 0x0, 0xaf, - 0xc1, 0xef, 0xff, 0xff, 0x40, 0x7f, 0xff, 0x90, - 0x0, 0x8, 0xf4, 0xb, 0xdf, 0xec, 0x0, 0x0, - 0x8f, 0x40, 0x4, 0xf8, 0x0, 0x1, 0x7b, 0xf9, - 0x50, 0x4f, 0x80, 0x0, 0x1f, 0xff, 0xf9, 0x4, - 0xfd, 0xbb, 0xb8, 0x3f, 0xfb, 0x0, 0x4f, 0xff, - 0xff, 0xf5, 0x6d, 0x10, + 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xc0, 0x7, 0x77, 0x77, 0x72, 0x0, + 0x3, 0xff, 0xfc, 0x2e, 0xff, 0xff, 0xf9, 0x0, + 0xf, 0xcf, 0xcf, 0xa0, 0x0, 0x0, 0xe9, 0x0, + 0x4, 0x1e, 0x93, 0x20, 0x0, 0x0, 0xe9, 0x0, + 0x0, 0xe, 0x90, 0x0, 0x0, 0x0, 0xe9, 0x0, + 0x0, 0xe, 0x90, 0x0, 0x0, 0xb5, 0xe9, 0x97, + 0x0, 0xe, 0xc7, 0x77, 0x73, 0xbf, 0xff, 0xf6, + 0x0, 0xd, 0xff, 0xff, 0xfd, 0xb, 0xff, 0x70, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa6, 0x0, /* U+F07B "" */ - 0x16, 0x77, 0x20, 0x0, 0x0, 0x0, 0xef, 0xff, - 0xe0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xbb, - 0xbb, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x8f, 0xff, - 0xff, 0xff, 0xff, 0xa0, + 0xbf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0x98, 0x88, 0x74, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfb, /* U+F093 "" */ - 0x0, 0x0, 0x1a, 0x30, 0x0, 0x0, 0x0, 0x1, - 0xcf, 0xe3, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xfe, - 0x30, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xe0, 0x0, - 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, - 0x0, 0x0, 0x77, 0x75, 0x58, 0x55, 0x77, 0x70, - 0xff, 0xff, 0xcb, 0xbf, 0xff, 0xf4, 0xff, 0xff, - 0xff, 0xfd, 0xaa, 0xd4, 0xbc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xc1, + 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x3e, 0xe3, 0x0, 0x0, 0x0, 0x3, 0xef, 0xfe, + 0x30, 0x0, 0x0, 0x3e, 0xff, 0xff, 0xe3, 0x0, + 0x0, 0xef, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x8f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf8, 0x0, 0x0, + 0x23, 0x32, 0x8f, 0xf8, 0x23, 0x32, 0xff, 0xfe, + 0x39, 0x93, 0xef, 0xff, 0xff, 0xff, 0xc9, 0x9c, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5c, 0x8f, + 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xa8, /* U+F095 "" */ - 0x6, 0x20, 0x0, 0x0, 0x0, 0x9f, 0xb0, 0x0, - 0x0, 0x0, 0xff, 0xf4, 0x0, 0x0, 0x0, 0xff, - 0xd1, 0x0, 0x0, 0x0, 0x9f, 0x60, 0x0, 0x0, - 0x0, 0x2f, 0xd1, 0x0, 0x0, 0x0, 0x7, 0xfc, - 0x10, 0x14, 0x0, 0x0, 0xaf, 0xd5, 0xcf, 0xb2, - 0x0, 0x7, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x29, - 0xff, 0x90, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x62, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x9, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xfd, 0x0, 0x0, 0x1, + 0x0, 0x9, 0xff, 0x40, 0x1, 0x8e, 0xe1, 0x1a, + 0xff, 0x70, 0x0, 0xef, 0xff, 0xde, 0xff, 0x90, + 0x0, 0xc, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, + 0x8f, 0xff, 0xe9, 0x10, 0x0, 0x0, 0x2, 0x76, + 0x30, 0x0, 0x0, 0x0, 0x0, /* U+F0C4 "" */ - 0x17, 0x73, 0x0, 0x0, 0x0, 0x0, 0xdb, 0x9f, - 0x70, 0x0, 0x2, 0x86, 0xf3, 0x3, 0xf1, 0x1, - 0x76, 0x19, 0x6f, 0x76, 0xf6, 0x57, 0x14, 0x70, - 0x4, 0xab, 0xa9, 0x50, 0x65, 0x0, 0x1, 0x45, - 0x76, 0x88, 0x91, 0x0, 0x3e, 0xdd, 0xe7, 0xb5, - 0x7, 0x40, 0xe6, 0x1, 0xf1, 0x4, 0x82, 0x56, - 0xf6, 0x4b, 0xc0, 0x0, 0x6, 0x88, 0x4c, 0xc8, - 0x0, 0x0, 0x0, 0x0, + 0x7, 0x93, 0x0, 0x0, 0x22, 0xa, 0xff, 0xf2, + 0x0, 0x8f, 0xf5, 0xf9, 0x1f, 0x70, 0x8f, 0xf9, + 0xc, 0xfc, 0xf8, 0x8f, 0xf9, 0x0, 0x1a, 0xef, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0xef, 0xfc, 0x0, + 0x0, 0x7, 0xbf, 0xff, 0xf6, 0x0, 0xa, 0xff, + 0xfa, 0xbf, 0xf6, 0x0, 0xf9, 0x1f, 0x70, 0xbf, + 0xf6, 0xc, 0xfc, 0xf4, 0x0, 0xbf, 0xf4, 0x1a, + 0xc6, 0x0, 0x0, 0x56, 0x0, /* U+F0C5 "" */ - 0x0, 0x1, 0x33, 0x32, 0x0, 0x0, 0x0, 0x3e, - 0xa8, 0xac, 0x0, 0x0, 0x3, 0xeb, 0x40, 0x4c, - 0x0, 0x0, 0x3e, 0x38, 0x40, 0x4d, 0xbb, 0xba, - 0xed, 0xbd, 0x30, 0x7f, 0xa4, 0x4d, 0xc0, 0x0, - 0x6, 0xd5, 0x80, 0xc, 0xc0, 0x0, 0x5e, 0x46, - 0x80, 0xc, 0xc0, 0x0, 0xca, 0x88, 0x40, 0xc, - 0xc0, 0x0, 0xc4, 0x0, 0x0, 0xc, 0xeb, 0xbb, - 0xe4, 0x0, 0x0, 0xc, 0x24, 0x44, 0xd4, 0x0, - 0x0, 0xc, 0x0, 0x0, 0xc6, 0x33, 0x33, 0x3c, - 0x0, 0x0, 0x8c, 0xcc, 0xcc, 0xcb, + 0x0, 0x3, 0x44, 0x41, 0x20, 0x0, 0x0, 0xff, + 0xff, 0x5e, 0x40, 0x24, 0x1f, 0xff, 0xf5, 0xee, + 0x2f, 0xf4, 0xff, 0xff, 0xc8, 0x82, 0xff, 0x4f, + 0xff, 0xff, 0xff, 0x5f, 0xf4, 0xff, 0xff, 0xff, + 0xf5, 0xff, 0x4f, 0xff, 0xff, 0xff, 0x5f, 0xf4, + 0xff, 0xff, 0xff, 0xf5, 0xff, 0x4f, 0xff, 0xff, + 0xff, 0x5f, 0xf4, 0xff, 0xff, 0xff, 0xf4, 0xff, + 0x93, 0x44, 0x44, 0x43, 0xf, 0xff, 0xff, 0xff, + 0x50, 0x0, 0x68, 0x88, 0x88, 0x71, 0x0, 0x0, /* U+F0C7 "" */ - 0x67, 0x77, 0x77, 0x74, 0x0, 0xe, 0xaf, 0xfa, - 0x8e, 0xd6, 0x0, 0xc4, 0xff, 0x40, 0xc1, 0xd6, - 0xc, 0x4f, 0xf4, 0xc, 0x1, 0xd3, 0xc3, 0xcc, - 0xcc, 0x90, 0x8, 0x4c, 0x0, 0x0, 0x0, 0x0, - 0x84, 0xc1, 0x77, 0x77, 0x77, 0x38, 0x4c, 0x4c, - 0x88, 0x88, 0xa8, 0x84, 0xc4, 0x80, 0x0, 0x4, - 0x88, 0x4c, 0x48, 0x0, 0x0, 0x48, 0x84, 0xbc, - 0xcc, 0xcc, 0xcc, 0xcc, 0x30, + 0x48, 0x88, 0x88, 0x87, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xfb, 0x0, 0xf8, 0x0, 0x0, 0xb, 0xfb, + 0xf, 0x80, 0x0, 0x0, 0xbf, 0xf3, 0xfb, 0x77, + 0x77, 0x7d, 0xff, 0x4f, 0xff, 0xff, 0xff, 0xff, + 0xf4, 0xff, 0xff, 0x42, 0xdf, 0xff, 0x4f, 0xff, + 0xc0, 0x8, 0xff, 0xf4, 0xff, 0xfe, 0x0, 0xaf, + 0xff, 0x4f, 0xff, 0xfc, 0xaf, 0xff, 0xf4, 0xaf, + 0xff, 0xff, 0xff, 0xfd, 0x10, /* U+F0E7 "" */ - 0x5, 0x77, 0x10, 0xd, 0xfe, 0x0, 0x1f, 0xf9, - 0x0, 0x5f, 0xf4, 0x47, 0x9f, 0xff, 0xfa, 0xdf, - 0xff, 0xf2, 0x96, 0x3f, 0xc0, 0x0, 0x4f, 0x40, - 0x0, 0x8c, 0x0, 0x0, 0xc5, 0x0, 0x0, 0xe0, - 0x0, 0x3, 0x50, 0x0, + 0x1, 0xbb, 0xba, 0x10, 0x0, 0x5f, 0xff, 0xf1, + 0x0, 0x7, 0xff, 0xfb, 0x0, 0x0, 0x9f, 0xff, + 0x60, 0x0, 0xb, 0xff, 0xff, 0xff, 0x60, 0xef, + 0xff, 0xff, 0xf1, 0xe, 0xff, 0xff, 0xf8, 0x0, + 0x0, 0xc, 0xfe, 0x0, 0x0, 0x0, 0xff, 0x50, + 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0x7, 0xf3, + 0x0, 0x0, 0x0, 0xa9, 0x0, 0x0, 0x0, 0x2, + 0x0, 0x0, 0x0, + + /* U+F0EA "" */ + 0x0, 0x2a, 0x50, 0x0, 0x0, 0xe, 0xff, 0x8f, + 0xff, 0x20, 0x0, 0xff, 0xf8, 0xff, 0xf4, 0x0, + 0xf, 0xff, 0xeb, 0xbb, 0x30, 0x0, 0xff, 0xf4, + 0x99, 0x92, 0x60, 0xf, 0xff, 0x5f, 0xff, 0x4f, + 0xa0, 0xff, 0xf5, 0xff, 0xf5, 0x56, 0x1f, 0xff, + 0x5f, 0xff, 0xff, 0xf4, 0xff, 0xf5, 0xff, 0xff, + 0xff, 0x4e, 0xff, 0x5f, 0xff, 0xff, 0xf4, 0x0, + 0x5, 0xff, 0xff, 0xff, 0x40, 0x0, 0x5f, 0xff, + 0xff, 0xf4, 0x0, 0x0, 0x44, 0x44, 0x44, 0x0, /* U+F0F3 "" */ - 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x0, 0x0, - 0x2a, 0xa2, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0x60, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xf2, 0x0, - 0x0, 0x7f, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x8f, - 0xff, 0xff, 0xf8, 0x0, 0x0, 0x9f, 0xff, 0xff, - 0xf9, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xfc, 0x0, - 0x4, 0xff, 0xff, 0xff, 0xff, 0x40, 0x1d, 0xff, - 0xff, 0xff, 0xff, 0xd1, 0x7f, 0xff, 0xff, 0xff, - 0xff, 0xf7, 0x0, 0x0, 0x9e, 0xfa, 0x0, 0x0, - 0x0, 0x0, 0x19, 0xa1, 0x0, 0x0, + 0x0, 0x0, 0x15, 0x0, 0x0, 0x0, 0x0, 0x9, + 0xf1, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xf9, 0x0, + 0x0, 0xe, 0xff, 0xff, 0xf7, 0x0, 0x5, 0xff, + 0xff, 0xff, 0xd0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0x0, 0xa, 0xff, 0xff, 0xff, 0xf2, 0x0, 0xdf, + 0xff, 0xff, 0xff, 0x50, 0x6f, 0xff, 0xff, 0xff, + 0xfd, 0xe, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x24, + 0x44, 0x44, 0x44, 0x43, 0x0, 0x0, 0x2f, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x46, 0x0, 0x0, 0x0, /* U+F11C "" */ - 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x8d, 0x44, - 0x44, 0x44, 0x44, 0x44, 0x4c, 0xc3, 0x66, 0x39, - 0x39, 0x66, 0xc4, 0xcc, 0x13, 0x23, 0x13, 0x12, - 0x2c, 0x4c, 0xc2, 0x84, 0x62, 0x62, 0x44, 0x82, - 0xcc, 0x24, 0x47, 0x77, 0x77, 0x46, 0x2c, 0xc1, - 0x22, 0x44, 0x44, 0x42, 0x31, 0xcc, 0xbb, 0xbb, - 0xbb, 0xbb, 0xbb, 0xbb, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xfc, + 0x8e, 0x8e, 0x8e, 0x88, 0xe8, 0xf7, 0xf8, 0xc, + 0xc, 0xb, 0x0, 0xb0, 0xf8, 0xff, 0xec, 0xfc, + 0xec, 0xee, 0xcf, 0xf8, 0xff, 0xa0, 0xc0, 0xa0, + 0x77, 0x2f, 0xf8, 0xff, 0xec, 0xfc, 0xec, 0xee, + 0xcf, 0xf8, 0xf8, 0xc, 0x0, 0x0, 0x0, 0xb0, + 0xf8, 0xfc, 0x8e, 0x88, 0x88, 0x88, 0xe8, 0xf7, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, /* U+F124 "" */ - 0x0, 0x0, 0x0, 0x0, 0x63, 0x0, 0x0, 0x0, - 0x6d, 0xf2, 0x0, 0x0, 0x6d, 0xff, 0xa0, 0x0, - 0x6d, 0xff, 0xff, 0x20, 0x6d, 0xff, 0xff, 0xfa, - 0x0, 0x88, 0x88, 0xef, 0xf2, 0x0, 0x0, 0x0, - 0xcf, 0xa0, 0x0, 0x0, 0x0, 0xcf, 0x20, 0x0, - 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0x0, 0x92, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x18, 0xef, 0xe0, 0x0, 0x0, + 0x0, 0x29, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x3a, + 0xff, 0xff, 0xff, 0x30, 0x0, 0x4c, 0xff, 0xff, + 0xff, 0xfc, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, + 0xf5, 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x0, 0x1, 0x34, 0x44, 0xdf, 0xff, 0x60, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xcf, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, + 0x0, 0x0, 0x0, /* U+F15B "" */ - 0x33, 0x33, 0x33, 0x0, 0x0, 0xf, 0xff, 0xff, - 0xf4, 0x60, 0x0, 0xff, 0xff, 0xff, 0x4f, 0x60, - 0xf, 0xff, 0xff, 0xf4, 0xff, 0x60, 0xff, 0xff, - 0xff, 0x24, 0x44, 0xf, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4f, 0xff, - 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x4f, 0xff, 0xff, 0xff, - 0xff, 0xf4, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0x20, + 0x9b, 0xbb, 0xb2, 0x70, 0xf, 0xff, 0xff, 0x4f, + 0x90, 0xff, 0xff, 0xf4, 0xff, 0x9f, 0xff, 0xff, + 0x54, 0x44, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x34, 0x44, + 0x44, 0x44, 0x30, /* U+F1EB "" */ - 0x0, 0x0, 0x13, 0x64, 0x30, 0x0, 0x0, 0x0, - 0x6c, 0xff, 0xff, 0xff, 0x92, 0x0, 0x1b, 0xff, - 0xb7, 0x44, 0x8d, 0xff, 0x70, 0x8f, 0xb3, 0x6a, - 0xbb, 0x94, 0x4d, 0xf4, 0x5, 0x4e, 0xff, 0xef, - 0xff, 0xc3, 0x50, 0x0, 0xaf, 0x82, 0x33, 0x2b, - 0xf5, 0x0, 0x0, 0x2, 0x9f, 0xff, 0xe6, 0x20, - 0x0, 0x0, 0x0, 0xae, 0x89, 0xf6, 0x0, 0x0, - 0x0, 0x0, 0x2, 0xa8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xa6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0x9b, 0xcb, 0x95, 0x0, 0x0, 0x0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3, 0xef, + 0xfa, 0x53, 0x23, 0x5a, 0xff, 0xe3, 0xdf, 0xa1, + 0x0, 0x0, 0x0, 0x1, 0xaf, 0xd2, 0x60, 0x5, + 0xbe, 0xfe, 0xb5, 0x0, 0x52, 0x0, 0x1c, 0xff, + 0xfe, 0xff, 0xfc, 0x10, 0x0, 0x2, 0xec, 0x40, + 0x0, 0x4c, 0xe2, 0x0, 0x0, 0x1, 0x0, 0x1, + 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xa, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xd6, 0x0, + 0x0, 0x0, /* U+F240 "" */ - 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x10, - 0xe4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x80, - 0xc3, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x94, 0xa1, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xc7, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x88, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x88, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0xe4, - 0xc1, 0x44, 0x44, 0x44, 0x44, 0x44, 0x34, 0x80, - 0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0x50, + 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x75, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, + 0x34, 0x44, 0x44, 0x44, 0x44, 0x4f, 0xdf, 0x8c, + 0xff, 0xff, 0xff, 0xff, 0xf2, 0xcf, 0xf8, 0xcf, + 0xff, 0xff, 0xff, 0xff, 0x8, 0xff, 0x89, 0xcc, + 0xcc, 0xcc, 0xcc, 0xc3, 0xff, 0xfb, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x9f, 0x9c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F241 "" */ - 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x10, - 0xe4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x80, - 0xc3, 0xbb, 0xbb, 0xbb, 0xbb, 0x30, 0x4, 0xa1, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0x40, 0x2, 0xc7, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x88, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x88, - 0xc4, 0xff, 0xff, 0xff, 0xff, 0x40, 0x4, 0xe4, - 0xc1, 0x44, 0x44, 0x44, 0x44, 0x10, 0x4, 0x80, - 0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0x50, + 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x75, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, + 0x34, 0x44, 0x44, 0x43, 0x0, 0x4f, 0xdf, 0x8c, + 0xff, 0xff, 0xff, 0xc0, 0x2, 0xcf, 0xf8, 0xcf, + 0xff, 0xff, 0xfc, 0x0, 0x8, 0xff, 0x89, 0xcc, + 0xcc, 0xcc, 0x90, 0x3, 0xff, 0xfb, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x9f, 0x9c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F242 "" */ - 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x10, - 0xe4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x80, - 0xc3, 0xbb, 0xbb, 0xb9, 0x0, 0x0, 0x4, 0xa1, - 0xc4, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x2, 0xc7, - 0xc4, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x88, - 0xc4, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x88, - 0xc4, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe4, - 0xc1, 0x44, 0x44, 0x43, 0x0, 0x0, 0x4, 0x80, - 0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0x50, + 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x75, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, + 0x34, 0x44, 0x42, 0x0, 0x0, 0x4f, 0xdf, 0x8c, + 0xff, 0xff, 0x80, 0x0, 0x2, 0xcf, 0xf8, 0xcf, + 0xff, 0xf8, 0x0, 0x0, 0x8, 0xff, 0x89, 0xcc, + 0xcc, 0x60, 0x0, 0x3, 0xff, 0xfb, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x9f, 0x9c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F243 "" */ - 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x10, - 0xe4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x80, - 0xc3, 0xbb, 0xb3, 0x0, 0x0, 0x0, 0x4, 0xa1, - 0xc4, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x2, 0xc7, - 0xc4, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x88, - 0xc4, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x88, - 0xc4, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x4, 0xe4, - 0xc1, 0x44, 0x41, 0x0, 0x0, 0x0, 0x4, 0x80, - 0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0x50, + 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x75, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, + 0x34, 0x41, 0x0, 0x0, 0x0, 0x4f, 0xdf, 0x8c, + 0xff, 0x40, 0x0, 0x0, 0x2, 0xcf, 0xf8, 0xcf, + 0xf4, 0x0, 0x0, 0x0, 0x8, 0xff, 0x89, 0xcc, + 0x30, 0x0, 0x0, 0x3, 0xff, 0xfb, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x9f, 0x9c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F244 "" */ - 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x10, - 0xe4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x80, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xa1, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc7, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xe4, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x80, - 0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0x50, + 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x75, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xdf, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xcf, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x80, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xfb, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x9f, 0x9c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, + + /* U+F287 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x25, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xcb, 0xfe, 0x0, 0x0, 0x0, + 0x1, 0x0, 0xd, 0x10, 0x42, 0x0, 0x0, 0x0, + 0x9f, 0xd1, 0x68, 0x0, 0x0, 0x0, 0x68, 0x0, + 0xff, 0xfe, 0xee, 0xed, 0xdd, 0xdd, 0xef, 0xc0, + 0x9f, 0xd1, 0x0, 0xb3, 0x0, 0x0, 0x68, 0x0, + 0x1, 0x0, 0x0, 0x3b, 0x5, 0x74, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xbe, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2d, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F293 "" */ - 0x0, 0x1, 0x33, 0x20, 0x0, 0x0, 0x9f, 0xff, - 0xfb, 0x10, 0x7, 0xff, 0xc6, 0xff, 0xb0, 0xe, - 0xff, 0xc0, 0x6f, 0xf2, 0x1f, 0xa6, 0xc4, 0x57, - 0xf6, 0x4f, 0xf6, 0x32, 0x2c, 0xf8, 0x4f, 0xff, - 0x50, 0xdf, 0xf8, 0x4f, 0xfd, 0x10, 0x6f, 0xf8, - 0x3f, 0xd2, 0x94, 0x57, 0xf8, 0xf, 0xec, 0xc2, - 0x2c, 0xf4, 0xa, 0xff, 0xc1, 0xcf, 0xf0, 0x2, - 0xff, 0xdc, 0xff, 0x50, 0x0, 0x17, 0xcc, 0x92, - 0x0 + 0x0, 0x0, 0x34, 0x20, 0x0, 0x0, 0x6e, 0xfe, + 0xfd, 0x20, 0x4, 0xff, 0xf3, 0xff, 0xd0, 0xc, + 0xff, 0xf0, 0x4f, 0xf5, 0xf, 0xd5, 0xf2, 0x95, + 0xf8, 0x2f, 0xf7, 0x41, 0x3c, 0xfa, 0x3f, 0xff, + 0x60, 0xaf, 0xfb, 0x3f, 0xfe, 0x20, 0x4f, 0xfb, + 0x2f, 0xe2, 0x92, 0x75, 0xfa, 0xf, 0xeb, 0xf1, + 0x49, 0xf8, 0x9, 0xff, 0xf0, 0x9f, 0xf2, 0x1, + 0xdf, 0xf9, 0xff, 0x90, 0x0, 0x6, 0xab, 0x95, + 0x0, + + /* U+F2ED "" */ + 0x0, 0x4, 0x88, 0x70, 0x0, 0xb, 0xcc, 0xff, + 0xff, 0xdc, 0xc5, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, + 0x52, 0x88, 0x88, 0x88, 0x88, 0x60, 0x4f, 0xff, + 0xff, 0xff, 0xfc, 0x4, 0xfa, 0xae, 0x6f, 0x5f, + 0xc0, 0x4f, 0xaa, 0xe6, 0xf4, 0xfc, 0x4, 0xfa, + 0xae, 0x6f, 0x4f, 0xc0, 0x4f, 0xaa, 0xe6, 0xf4, + 0xfc, 0x4, 0xfa, 0xae, 0x6f, 0x4f, 0xc0, 0x4f, + 0xaa, 0xe6, 0xf5, 0xfc, 0x3, 0xff, 0xff, 0xff, + 0xff, 0xb0, 0x6, 0x88, 0x88, 0x88, 0x72, 0x0, + + /* U+F304 "" */ + 0x0, 0x0, 0x0, 0x0, 0x1, 0x71, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xd1, 0x0, 0x0, 0x0, + 0x1, 0x5f, 0xff, 0xc0, 0x0, 0x0, 0x2, 0xea, + 0x5f, 0xfd, 0x0, 0x0, 0x2, 0xef, 0xfa, 0x5d, + 0x20, 0x0, 0x2, 0xef, 0xff, 0xf8, 0x0, 0x0, + 0x2, 0xef, 0xff, 0xfe, 0x20, 0x0, 0x2, 0xef, + 0xff, 0xfe, 0x20, 0x0, 0x2, 0xef, 0xff, 0xfe, + 0x20, 0x0, 0x0, 0xbf, 0xff, 0xfe, 0x20, 0x0, + 0x0, 0xd, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, + 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x6, 0x64, + 0x10, 0x0, 0x0, 0x0, 0x0, + + /* U+F55A "" */ + 0x0, 0x5, 0xef, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5, + 0xff, 0xff, 0x91, 0xdd, 0x19, 0xff, 0xf5, 0xff, + 0xff, 0xfd, 0x11, 0x11, 0xdf, 0xff, 0xef, 0xff, + 0xff, 0xfb, 0x0, 0xbf, 0xff, 0xf5, 0xff, 0xff, + 0xfd, 0x11, 0x11, 0xdf, 0xff, 0x5, 0xff, 0xff, + 0x91, 0xdd, 0x19, 0xff, 0xf0, 0x5, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x0, 0x4, 0xef, 0xff, + 0xff, 0xff, 0xff, 0x80, + + /* U+F7C2 "" */ + 0x0, 0x17, 0x88, 0x87, 0x20, 0x2d, 0xff, 0xff, + 0xfd, 0x2e, 0xa0, 0xb3, 0x78, 0xfe, 0xfa, 0xb, + 0x37, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0x4, 0x44, + 0x44, 0x44, 0x0, + + /* U+F8A2 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x69, 0x0, + 0x0, 0x0, 0xdf, 0x0, 0x7f, 0xc0, 0x0, 0x0, + 0xd, 0xf0, 0x8f, 0xff, 0xdd, 0xdd, 0xdd, 0xff, + 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xb, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0 }; @@ -1024,152 +1163,159 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { *--------------------*/ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { - {.bitmap_index = 0, .adv_w = 0, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, - {.bitmap_index = 0, .adv_w = 48, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 0, .adv_w = 51, .box_h = 9, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 9, .adv_w = 69, .box_h = 4, .box_w = 4, .ofs_x = 0, .ofs_y = 5}, - {.bitmap_index = 17, .adv_w = 120, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 49, .adv_w = 112, .box_h = 12, .box_w = 7, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 91, .adv_w = 140, .box_h = 9, .box_w = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 132, .adv_w = 120, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 168, .adv_w = 42, .box_h = 4, .box_w = 2, .ofs_x = 0, .ofs_y = 5}, - {.bitmap_index = 172, .adv_w = 64, .box_h = 13, .box_w = 4, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 198, .adv_w = 64, .box_h = 13, .box_w = 4, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 224, .adv_w = 83, .box_h = 5, .box_w = 5, .ofs_x = 0, .ofs_y = 2}, - {.bitmap_index = 237, .adv_w = 109, .box_h = 7, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 262, .adv_w = 43, .box_h = 4, .box_w = 2, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 266, .adv_w = 87, .box_h = 2, .box_w = 4, .ofs_x = 1, .ofs_y = 3}, - {.bitmap_index = 270, .adv_w = 51, .box_h = 2, .box_w = 3, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 273, .adv_w = 80, .box_h = 10, .box_w = 5, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 298, .adv_w = 108, .box_h = 10, .box_w = 6, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 328, .adv_w = 108, .box_h = 9, .box_w = 4, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 346, .adv_w = 108, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 378, .adv_w = 108, .box_h = 9, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 405, .adv_w = 108, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 437, .adv_w = 108, .box_h = 9, .box_w = 5, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 460, .adv_w = 108, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 492, .adv_w = 108, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 524, .adv_w = 108, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 556, .adv_w = 108, .box_h = 9, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 583, .adv_w = 48, .box_h = 7, .box_w = 1, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 587, .adv_w = 49, .box_h = 9, .box_w = 2, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 596, .adv_w = 98, .box_h = 6, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 614, .adv_w = 108, .box_h = 4, .box_w = 5, .ofs_x = 1, .ofs_y = 2}, - {.bitmap_index = 624, .adv_w = 101, .box_h = 6, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 642, .adv_w = 91, .box_h = 9, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 669, .adv_w = 172, .box_h = 12, .box_w = 11, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 735, .adv_w = 121, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 771, .adv_w = 121, .box_h = 9, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 803, .adv_w = 122, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 835, .adv_w = 130, .box_h = 9, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 867, .adv_w = 105, .box_h = 9, .box_w = 6, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 894, .adv_w = 105, .box_h = 9, .box_w = 6, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 921, .adv_w = 130, .box_h = 10, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 961, .adv_w = 135, .box_h = 9, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 993, .adv_w = 54, .box_h = 9, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1002, .adv_w = 105, .box_h = 9, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1029, .adv_w = 121, .box_h = 9, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1061, .adv_w = 105, .box_h = 9, .box_w = 6, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1088, .adv_w = 165, .box_h = 9, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1129, .adv_w = 135, .box_h = 9, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1161, .adv_w = 131, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1197, .adv_w = 121, .box_h = 9, .box_w = 6, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1224, .adv_w = 134, .box_h = 10, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 1264, .adv_w = 122, .box_h = 9, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1296, .adv_w = 117, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1328, .adv_w = 115, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1360, .adv_w = 130, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1396, .adv_w = 121, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1432, .adv_w = 165, .box_h = 9, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1477, .adv_w = 121, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1513, .adv_w = 121, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1549, .adv_w = 115, .box_h = 9, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1581, .adv_w = 52, .box_h = 12, .box_w = 3, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 1599, .adv_w = 79, .box_h = 10, .box_w = 5, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 1624, .adv_w = 52, .box_h = 12, .box_w = 3, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 1642, .adv_w = 80, .box_h = 5, .box_w = 5, .ofs_x = 0, .ofs_y = 4}, - {.bitmap_index = 1655, .adv_w = 87, .box_h = 1, .box_w = 6, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 1658, .adv_w = 60, .box_h = 2, .box_w = 3, .ofs_x = 0, .ofs_y = 7}, - {.bitmap_index = 1661, .adv_w = 106, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1682, .adv_w = 109, .box_h = 10, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1717, .adv_w = 101, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1738, .adv_w = 109, .box_h = 10, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1768, .adv_w = 101, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1789, .adv_w = 59, .box_h = 10, .box_w = 4, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1809, .adv_w = 109, .box_h = 10, .box_w = 6, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 1839, .adv_w = 109, .box_h = 10, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1869, .adv_w = 48, .box_h = 10, .box_w = 1, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1874, .adv_w = 50, .box_h = 13, .box_w = 4, .ofs_x = -1, .ofs_y = -3}, - {.bitmap_index = 1900, .adv_w = 98, .box_h = 10, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1930, .adv_w = 48, .box_h = 10, .box_w = 3, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1945, .adv_w = 168, .box_h = 7, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1980, .adv_w = 109, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2001, .adv_w = 109, .box_h = 7, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2026, .adv_w = 109, .box_h = 10, .box_w = 7, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2061, .adv_w = 109, .box_h = 10, .box_w = 6, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2091, .adv_w = 67, .box_h = 7, .box_w = 4, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2105, .adv_w = 100, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2126, .adv_w = 61, .box_h = 8, .box_w = 4, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2142, .adv_w = 109, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2163, .adv_w = 97, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2184, .adv_w = 145, .box_h = 7, .box_w = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2216, .adv_w = 97, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2237, .adv_w = 97, .box_h = 10, .box_w = 6, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2267, .adv_w = 97, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2288, .adv_w = 65, .box_h = 12, .box_w = 4, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2312, .adv_w = 48, .box_h = 11, .box_w = 2, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2323, .adv_w = 65, .box_h = 12, .box_w = 4, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2347, .adv_w = 130, .box_h = 3, .box_w = 8, .ofs_x = 0, .ofs_y = 2}, - {.bitmap_index = 2359, .adv_w = 165, .box_h = 12, .box_w = 11, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2425, .adv_w = 206, .box_h = 12, .box_w = 13, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2503, .adv_w = 192, .box_h = 10, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2563, .adv_w = 192, .box_h = 8, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2611, .adv_w = 151, .box_h = 8, .box_w = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2647, .adv_w = 165, .box_h = 12, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2713, .adv_w = 165, .box_h = 11, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2774, .adv_w = 151, .box_h = 11, .box_w = 10, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2829, .adv_w = 178, .box_h = 9, .box_w = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2879, .adv_w = 178, .box_h = 11, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2945, .adv_w = 165, .box_h = 9, .box_w = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2995, .adv_w = 165, .box_h = 11, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3056, .adv_w = 82, .box_h = 9, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3083, .adv_w = 123, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3119, .adv_w = 178, .box_h = 10, .box_w = 12, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3179, .adv_w = 206, .box_h = 11, .box_w = 13, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3251, .adv_w = 165, .box_h = 11, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3312, .adv_w = 110, .box_h = 11, .box_w = 7, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3351, .adv_w = 151, .box_h = 11, .box_w = 10, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3406, .adv_w = 165, .box_h = 11, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3467, .adv_w = 165, .box_h = 11, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3528, .adv_w = 110, .box_h = 11, .box_w = 7, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3567, .adv_w = 165, .box_h = 9, .box_w = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3617, .adv_w = 137, .box_h = 11, .box_w = 7, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 3656, .adv_w = 137, .box_h = 11, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3700, .adv_w = 151, .box_h = 10, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3750, .adv_w = 151, .box_h = 3, .box_w = 10, .ofs_x = 0, .ofs_y = 3}, - {.bitmap_index = 3765, .adv_w = 192, .box_h = 12, .box_w = 12, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3837, .adv_w = 192, .box_h = 11, .box_w = 12, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3903, .adv_w = 192, .box_h = 7, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3945, .adv_w = 192, .box_h = 8, .box_w = 12, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3993, .adv_w = 206, .box_h = 8, .box_w = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4045, .adv_w = 178, .box_h = 10, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4105, .adv_w = 178, .box_h = 11, .box_w = 12, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 4171, .adv_w = 151, .box_h = 10, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4221, .adv_w = 192, .box_h = 10, .box_w = 12, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 4281, .adv_w = 192, .box_h = 13, .box_w = 12, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4359, .adv_w = 165, .box_h = 11, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 4420, .adv_w = 96, .box_h = 12, .box_w = 6, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4456, .adv_w = 192, .box_h = 13, .box_w = 12, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4534, .adv_w = 206, .box_h = 8, .box_w = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4586, .adv_w = 151, .box_h = 10, .box_w = 10, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 4636, .adv_w = 165, .box_h = 13, .box_w = 11, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4708, .adv_w = 219, .box_h = 10, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4778, .adv_w = 247, .box_h = 9, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4850, .adv_w = 247, .box_h = 9, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4922, .adv_w = 247, .box_h = 9, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4994, .adv_w = 247, .box_h = 9, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 5066, .adv_w = 247, .box_h = 9, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 5138, .adv_w = 165, .box_h = 13, .box_w = 10, .ofs_x = 0, .ofs_y = -2} + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 48, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 49, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 14, .adv_w = 61, .box_w = 4, .box_h = 4, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 22, .adv_w = 120, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 54, .adv_w = 108, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 96, .adv_w = 141, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 137, .adv_w = 119, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 173, .adv_w = 33, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 177, .adv_w = 66, .box_w = 4, .box_h = 14, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 205, .adv_w = 67, .box_w = 4, .box_h = 14, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 233, .adv_w = 83, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 248, .adv_w = 109, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 273, .adv_w = 38, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 277, .adv_w = 53, .box_w = 4, .box_h = 1, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 279, .adv_w = 51, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 282, .adv_w = 79, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 307, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 339, .adv_w = 108, .box_w = 4, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 357, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 389, .adv_w = 108, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 416, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 448, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 480, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 512, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 544, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 576, .adv_w = 108, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 603, .adv_w = 47, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 614, .adv_w = 41, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 623, .adv_w = 98, .box_w = 6, .box_h = 6, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 641, .adv_w = 105, .box_w = 6, .box_h = 5, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 656, .adv_w = 100, .box_w = 6, .box_h = 6, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 674, .adv_w = 91, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 701, .adv_w = 172, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 767, .adv_w = 125, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 803, .adv_w = 120, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 835, .adv_w = 125, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 871, .adv_w = 126, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 907, .adv_w = 109, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 939, .adv_w = 106, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 971, .adv_w = 131, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1007, .adv_w = 137, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1043, .adv_w = 52, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1052, .adv_w = 106, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1079, .adv_w = 120, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1115, .adv_w = 103, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1147, .adv_w = 168, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1192, .adv_w = 137, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1228, .adv_w = 132, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1264, .adv_w = 121, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1300, .adv_w = 132, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1344, .adv_w = 118, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1380, .adv_w = 114, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1412, .adv_w = 115, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1444, .adv_w = 125, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1476, .adv_w = 122, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1512, .adv_w = 170, .box_w = 11, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1562, .adv_w = 120, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1598, .adv_w = 115, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1634, .adv_w = 115, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1666, .adv_w = 51, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1692, .adv_w = 79, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 1717, .adv_w = 51, .box_w = 3, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1737, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 1750, .adv_w = 87, .box_w = 6, .box_h = 1, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 1753, .adv_w = 59, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 1756, .adv_w = 104, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1777, .adv_w = 108, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1812, .adv_w = 101, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1833, .adv_w = 108, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1863, .adv_w = 102, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1884, .adv_w = 67, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1909, .adv_w = 108, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1939, .adv_w = 106, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1969, .adv_w = 47, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1983, .adv_w = 46, .box_w = 4, .box_h = 12, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 2007, .adv_w = 97, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2042, .adv_w = 47, .box_w = 2, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2052, .adv_w = 168, .box_w = 10, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2087, .adv_w = 106, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2108, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2133, .adv_w = 108, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2168, .adv_w = 109, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2198, .adv_w = 65, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2212, .adv_w = 99, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2233, .adv_w = 63, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2251, .adv_w = 106, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2272, .adv_w = 93, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2293, .adv_w = 144, .box_w = 9, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2325, .adv_w = 95, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2346, .adv_w = 91, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2376, .adv_w = 95, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2397, .adv_w = 65, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2423, .adv_w = 47, .box_w = 1, .box_h = 11, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 2429, .adv_w = 65, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2455, .adv_w = 131, .box_w = 8, .box_h = 4, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 2471, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2549, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2603, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2669, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2723, .adv_w = 132, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2764, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2842, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2920, .adv_w = 216, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2997, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3075, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3138, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3216, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3246, .adv_w = 144, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3291, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3382, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3436, .adv_w = 168, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 3484, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3556, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3617, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3678, .adv_w = 168, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 3726, .adv_w = 168, .box_w = 12, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 3792, .adv_w = 120, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3831, .adv_w = 120, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3870, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3931, .adv_w = 168, .box_w = 11, .box_h = 3, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 3948, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4011, .adv_w = 240, .box_w = 16, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4115, .adv_w = 216, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 4213, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4279, .adv_w = 168, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 4318, .adv_w = 168, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 4357, .adv_w = 240, .box_w = 16, .box_h = 10, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4437, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4491, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4569, .adv_w = 192, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 4654, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4715, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4787, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4848, .adv_w = 120, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 4907, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4979, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5051, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5114, .adv_w = 192, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 5205, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5264, .adv_w = 240, .box_w = 15, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5354, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5422, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5490, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5558, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5626, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5694, .adv_w = 240, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5782, .adv_w = 168, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5847, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5919, .adv_w = 192, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 6004, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6072, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6131, .adv_w = 193, .box_w = 13, .box_h = 9, .ofs_x = 0, .ofs_y = 0} }; /*--------------------- @@ -1177,25 +1323,26 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { *--------------------*/ static const uint16_t unicode_list_1[] = { - 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x13, - 0x14, 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, - 0x3f, 0x47, 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, - 0x53, 0x66, 0x67, 0x70, 0x73, 0x76, 0x77, 0x78, - 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xf2, - 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, 0x242, - 0x243, 0x292 + 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14, + 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x47, + 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53, 0x66, + 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77, 0x78, + 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xe9, + 0xf2, 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, + 0x242, 0x243, 0x286, 0x292, 0x2ec, 0x303, 0x559, 0x7c1, + 0x8a1 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { - .range_start = 32, .range_length = 95, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY, - .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0 + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 61441, .range_length = 659, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY, - .glyph_id_start = 96, .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 50 + .range_start = 61441, .range_length = 2210, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 57, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -1204,569 +1351,245 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = *----------------*/ -/*Pair left and right glyphs for kerning*/ -static const uint8_t kern_pair_glyph_ids[] = +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = +{ + 0, 1, 0, 2, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 4, 0, 4, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 7, 8, 9, 10, 11, + 0, 12, 12, 13, 14, 15, 12, 12, + 9, 16, 17, 18, 0, 19, 13, 20, + 21, 22, 23, 24, 25, 0, 0, 0, + 0, 0, 26, 27, 28, 0, 29, 30, + 0, 31, 0, 0, 32, 0, 31, 31, + 33, 27, 0, 34, 0, 35, 0, 36, + 37, 38, 36, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 +}; + +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = { - 9, 43, - 9, 55, - 9, 56, - 9, 58, - 17, 17, - 17, 18, - 17, 20, - 17, 21, - 17, 22, - 17, 23, - 17, 24, - 17, 26, - 18, 19, - 18, 20, - 18, 22, - 18, 24, - 19, 17, - 19, 18, - 19, 19, - 19, 22, - 19, 23, - 19, 24, - 19, 25, - 19, 26, - 20, 18, - 20, 19, - 20, 20, - 20, 21, - 20, 22, - 20, 23, - 20, 24, - 20, 25, - 20, 26, - 21, 17, - 21, 19, - 21, 21, - 21, 22, - 21, 23, - 21, 24, - 21, 25, - 22, 18, - 22, 19, - 22, 20, - 22, 21, - 22, 22, - 22, 23, - 22, 24, - 22, 25, - 22, 26, - 23, 17, - 23, 18, - 23, 19, - 23, 21, - 23, 22, - 23, 23, - 23, 24, - 23, 25, - 24, 18, - 24, 21, - 24, 22, - 24, 23, - 24, 24, - 24, 25, - 24, 26, - 25, 17, - 25, 18, - 25, 20, - 25, 21, - 25, 22, - 25, 23, - 26, 17, - 26, 18, - 26, 19, - 26, 21, - 26, 22, - 26, 23, - 26, 24, - 26, 26, - 34, 36, - 34, 40, - 34, 48, - 34, 50, - 34, 53, - 34, 54, - 34, 55, - 34, 56, - 34, 58, - 34, 66, - 34, 68, - 34, 69, - 34, 70, - 34, 72, - 34, 80, - 34, 82, - 34, 84, - 34, 85, - 34, 86, - 34, 87, - 34, 88, - 34, 91, - 35, 58, - 35, 66, - 35, 74, - 35, 77, - 35, 80, - 35, 83, - 35, 86, - 35, 90, - 36, 36, - 36, 40, - 36, 48, - 36, 50, - 36, 74, - 36, 83, - 36, 86, - 36, 90, - 36, 91, - 37, 55, - 37, 56, - 37, 66, - 37, 70, - 37, 80, - 37, 86, - 38, 55, - 38, 56, - 38, 58, - 38, 67, - 38, 68, - 38, 69, - 38, 70, - 38, 71, - 38, 72, - 38, 74, - 38, 75, - 38, 76, - 38, 77, - 38, 78, - 38, 79, - 38, 80, - 38, 81, - 38, 82, - 38, 83, - 38, 85, - 38, 86, - 38, 87, - 38, 88, - 38, 89, - 38, 90, - 38, 91, - 39, 13, - 39, 15, - 39, 34, - 39, 66, - 39, 70, - 39, 74, - 39, 77, - 39, 80, - 39, 83, - 39, 86, - 39, 90, - 40, 66, - 40, 70, - 40, 79, - 40, 80, - 40, 83, - 40, 86, - 40, 90, - 41, 66, - 41, 70, - 41, 80, - 41, 86, - 41, 90, - 42, 66, - 42, 68, - 42, 69, - 42, 71, - 42, 72, - 42, 78, - 42, 79, - 42, 80, - 42, 81, - 42, 83, - 42, 84, - 42, 85, - 42, 86, - 42, 87, - 42, 88, - 42, 90, - 43, 66, - 43, 80, - 44, 36, - 44, 40, - 44, 48, - 44, 50, - 44, 66, - 44, 70, - 44, 74, - 44, 80, - 44, 83, - 44, 86, - 44, 88, - 44, 90, - 45, 34, - 45, 36, - 45, 40, - 45, 48, - 45, 50, - 45, 53, - 45, 54, - 45, 55, - 45, 56, - 45, 58, - 45, 75, - 45, 86, - 45, 88, - 45, 90, - 46, 66, - 46, 70, - 46, 75, - 46, 79, - 46, 80, - 46, 86, - 46, 90, - 47, 70, - 47, 80, - 47, 90, - 48, 34, - 48, 53, - 48, 55, - 48, 56, - 48, 57, - 48, 58, - 48, 68, - 48, 69, - 48, 70, - 48, 71, - 48, 72, - 48, 75, - 48, 80, - 48, 81, - 48, 82, - 48, 84, - 48, 85, - 48, 86, - 48, 89, - 48, 90, - 48, 91, - 49, 13, - 49, 15, - 49, 34, - 49, 38, - 49, 41, - 49, 42, - 49, 66, - 49, 70, - 49, 73, - 49, 74, - 49, 77, - 49, 79, - 49, 80, - 49, 83, - 49, 84, - 49, 85, - 49, 90, - 50, 34, - 50, 53, - 50, 54, - 50, 55, - 50, 56, - 50, 57, - 50, 58, - 50, 66, - 50, 86, - 51, 36, - 51, 40, - 51, 48, - 51, 50, - 51, 53, - 51, 54, - 51, 55, - 51, 56, - 51, 58, - 51, 66, - 51, 70, - 51, 80, - 51, 86, - 51, 90, - 52, 66, - 52, 70, - 52, 75, - 52, 78, - 52, 79, - 52, 80, - 52, 81, - 52, 82, - 52, 86, - 52, 88, - 52, 90, - 53, 13, - 53, 14, - 53, 15, - 53, 27, - 53, 28, - 53, 34, - 53, 36, - 53, 40, - 53, 48, - 53, 50, - 53, 52, - 53, 53, - 53, 55, - 53, 56, - 53, 57, - 53, 58, - 53, 66, - 53, 70, - 53, 74, - 53, 78, - 53, 80, - 53, 83, - 53, 84, - 53, 86, - 53, 88, - 53, 90, - 53, 91, - 54, 34, - 54, 69, - 54, 71, - 54, 72, - 54, 78, - 54, 79, - 54, 81, - 54, 83, - 54, 84, - 54, 85, - 54, 89, - 54, 91, - 55, 10, - 55, 13, - 55, 14, - 55, 15, - 55, 27, - 55, 28, - 55, 34, - 55, 36, - 55, 40, - 55, 48, - 55, 50, - 55, 62, - 55, 66, - 55, 70, - 55, 80, - 55, 83, - 55, 86, - 55, 90, - 55, 94, - 56, 10, - 56, 13, - 56, 14, - 56, 15, - 56, 27, - 56, 28, - 56, 34, - 56, 36, - 56, 40, - 56, 48, - 56, 50, - 56, 53, - 56, 62, - 56, 66, - 56, 70, - 56, 80, - 56, 83, - 56, 86, - 56, 90, - 56, 94, - 57, 36, - 57, 40, - 57, 48, - 57, 50, - 57, 70, - 57, 86, - 57, 90, - 58, 10, - 58, 13, - 58, 14, - 58, 15, - 58, 27, - 58, 28, - 58, 34, - 58, 36, - 58, 40, - 58, 48, - 58, 50, - 58, 53, - 58, 55, - 58, 56, - 58, 57, - 58, 58, - 58, 62, - 58, 66, - 58, 70, - 58, 80, - 58, 82, - 58, 85, - 58, 86, - 58, 87, - 58, 94, - 59, 34, - 59, 36, - 59, 40, - 59, 48, - 59, 50, - 59, 66, - 59, 70, - 59, 74, - 59, 80, - 59, 86, - 59, 88, - 59, 90, - 60, 43, - 67, 87, - 67, 88, - 67, 90, - 70, 90, - 71, 3, - 71, 8, - 71, 10, - 71, 62, - 71, 72, - 71, 94, - 76, 70, - 80, 87, - 80, 88, - 80, 89, - 80, 90, - 81, 88, - 83, 13, - 83, 15, - 83, 68, - 83, 69, - 83, 70, - 83, 71, - 83, 76, - 83, 80, - 83, 82, - 83, 85, - 83, 86, - 83, 87, - 83, 88, - 83, 89, - 83, 90, - 83, 91, - 87, 13, - 87, 15, - 87, 66, - 87, 68, - 87, 69, - 87, 70, - 87, 80, - 87, 82, - 88, 13, - 88, 15, - 88, 68, - 88, 69, - 88, 70, - 88, 82, - 89, 68, - 89, 69, - 89, 70, - 89, 80, - 89, 82, - 90, 13, - 90, 15, - 90, 68, - 90, 69, - 90, 70, - 90, 80, - 90, 82, - 91, 68, - 91, 69, - 91, 70, - 91, 80, - 92, 43 + 0, 1, 0, 2, 0, 0, 0, 3, + 2, 0, 4, 5, 0, 6, 7, 6, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 10, 0, 11, 0, 0, 0, + 11, 0, 0, 12, 0, 0, 0, 0, + 11, 0, 11, 0, 13, 14, 15, 16, + 17, 18, 19, 20, 0, 0, 21, 0, + 0, 0, 22, 0, 23, 23, 23, 24, + 23, 0, 0, 0, 0, 0, 25, 25, + 26, 25, 23, 27, 28, 29, 30, 31, + 32, 33, 31, 34, 0, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; -/* Kerning between the respective left and right glyphs - * 4.4 format which needs to scaled with `kern_scale`*/ -static const int8_t kern_pair_values[] = +/*Kern values between classes*/ +static const int8_t kern_class_values[] = { - -9, 4, 3, 4, 0, -3, 0, 0, - 0, 0, -4, 1, -1, -1, -1, 0, - -2, -2, 1, -1, -2, -2, -2, 0, - -2, 0, 1, 1, 0, 0, -3, 0, - 0, 0, -3, 3, 2, 0, -8, 2, - 0, -2, 1, 2, 0, 0, 0, 1, - -3, 0, -4, -2, 2, 1, 0, -4, - 1, 3, -15, -3, -4, 4, -2, -1, - 0, -2, 1, 2, 1, 0, 0, -4, - -1, 0, 0, 0, -4, 0, -4, -4, - -4, -4, -14, -4, -14, -9, -15, 0, - -2, -3, -2, -1, -2, -1, 0, -6, - -2, -8, -6, 2, -15, 1, 0, 0, - 1, 0, 0, 0, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -4, -2, 0, - 0, 0, 0, 2, 2, 2, -1, -4, - -4, -4, -3, -3, -1, -1, -1, -1, - -2, -2, -4, -1, -3, -1, -4, -3, - -5, -4, 0, -5, 1, -29, -29, -11, - -6, -4, -1, -1, -4, -5, -4, -5, - 0, 0, 0, 0, 0, 0, 0, -1, - -1, -1, -1, 0, -1, -1, -2, -1, - -1, -1, -1, -1, 0, -1, -1, -1, - -1, -1, 0, -1, -1, -1, -5, -6, - -6, -6, -1, -5, -1, -5, -1, -4, - -7, -8, 4, -4, -4, -5, -4, -15, - -5, -17, -10, -17, 0, -3, -8, -10, - -1, -1, -1, -1, -1, -1, 0, -1, - -1, 0, -4, -5, -4, -2, -4, -5, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -10, 0, 0, 0, + 0, 0, 0, 0, -11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -5, -6, 0, -2, -6, 0, -7, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, + 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -21, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -11, 0, 0, 0, 0, 0, 0, -6, + 0, -1, 0, 0, -12, -2, -8, -6, + 0, -9, 0, 0, 0, 0, 0, 0, + -1, 0, 0, -2, -1, -5, -3, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -3, + 0, -2, 0, 0, -5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3, 0, 0, 0, 0, 0, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, -10, 0, 0, + 0, -2, 0, 0, 0, -3, 0, -2, + 0, -2, -4, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, + 0, -2, -2, 0, -2, 0, 0, 0, + -2, -2, -2, 0, 0, 0, 0, 0, + 0, 0, 0, -22, 0, 0, 0, -16, + 0, -25, 0, 2, 0, 0, 0, 0, + 0, 0, 0, -3, -2, 0, 0, -2, + -2, 0, 0, -2, -2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, -3, 0, + 0, 0, 2, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -6, 0, 0, + 0, -3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, -2, + -3, 0, 0, 0, -2, -4, -6, 0, + 0, 0, 0, -31, 0, 0, 0, 0, + 0, 0, 0, 2, -6, 0, 0, -26, + -5, -16, -13, 0, -22, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -4, + -12, -9, 0, 0, 0, 0, 0, 0, + 0, 0, -30, 0, 0, 0, -13, 0, + -19, 0, 0, 0, 0, 0, -3, 0, + -2, 0, -1, -1, 0, 0, -1, 0, + 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, -3, + -2, 0, -3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -7, 0, -2, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -4, 0, + 0, 0, 0, -20, -22, 0, 0, -7, + -3, -22, -1, 2, 0, 2, 1, 0, + 2, 0, 0, -11, -9, 0, -10, -9, + -7, -11, 0, -9, -7, -5, -7, -6, + 0, 0, 0, 0, 2, 0, -21, -3, + 0, 0, -7, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, -4, -4, + 0, 0, -4, -3, 0, 0, -3, -1, + 0, 0, 0, 2, 0, 0, 0, 1, + 0, -12, -6, 0, 0, -4, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, + 1, -3, -3, 0, 0, -3, -2, 0, + 0, -2, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + 0, -2, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + -2, 0, 0, 0, -2, -3, 0, 0, + 0, 0, 0, 0, -3, 2, -5, -20, + -5, 0, 0, -9, -3, -9, -1, 2, + -9, 2, 2, 1, 2, 0, 2, -7, + -6, -2, -4, -6, -4, -5, -2, -4, + -2, 0, -2, -3, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, -2, 0, + 0, 0, -2, -3, -3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, -2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, 0, 0, 0, 0, -3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1, 0, -1, -1, + 0, 0, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, - 0, 0, 0, 0, -1, 1, -1, -31, - -31, -10, -1, -1, -1, -2, -2, 0, - -1, -1, -1, -2, 0, -1, 3, 3, - 3, -6, -1, -5, -4, 2, -7, 0, - 0, -1, -1, -1, -1, -4, -1, -4, - -3, -9, 0, -1, -1, -1, 0, 0, - 0, -1, -1, -1, 0, 0, 0, 0, - 1, 0, -15, -15, -15, -14, -15, -15, - -5, -5, -5, -5, -3, 3, 3, 3, - 2, 3, -15, -15, -1, -13, -15, -13, - -15, -13, -9, -9, -12, -4, -1, 0, - -1, -1, -1, -1, -1, -1, 0, -1, - -2, 4, -17, -7, -16, -6, -6, -14, - -4, -4, -4, -4, 3, -9, -9, -9, - -6, -5, -2, 4, 3, -11, -4, -11, - -4, -4, -10, -3, -3, -3, -3, 3, - 2, -6, -6, -6, -4, -4, -1, 3, - -4, -4, -5, -4, -5, -4, -6, 4, - -18, -10, -18, -8, -8, -16, -5, -5, - -6, -5, 3, 3, 3, 3, 3, 3, - -12, -13, -13, -12, -4, -7, -4, 4, - 3, -4, -5, -5, -5, 0, -4, -1, - -4, -4, -5, -5, -3, -2, -1, -2, - -2, 3, 3, 4, 3, -5, 4, -4, - -3, -2, -4, -3, -1, -12, -12, -4, - -3, -4, 3, 0, -4, -3, 3, 0, - 3, 3, 2, 3, 1, -11, -11, -3, - -3, -3, -3, -3, -3, -9, -8, -2, - -2, -2, -2, -4, -3, -4, -4, -3, - -13, -12, -3, -3, -3, -3, -4, -3, - -3, -3, -3, -4 + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1, 0, 0, 0, 0, 0, + 2, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, -10, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -13, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -1, 0, + -2, -1, 0, 0, 2, 0, 0, 0, + -12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -4, -2, 1, 0, -2, 0, 0, 5, + 0, 2, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, -10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -1, -1, + 1, 0, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -12, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + -2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -1, 0, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 0, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 }; -/*Collect the kern pair's data in one place*/ -static const lv_font_fmt_txt_kern_pair_t kern_pairs = + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = { - .glyph_ids = kern_pair_glyph_ids, - .values = kern_pair_values, - .pair_cnt = 484, - .glyph_ids_size = 0 + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 40, + .right_class_cnt = 35, }; /*-------------------- @@ -1778,12 +1601,12 @@ static lv_font_fmt_txt_dsc_t font_dsc = { .glyph_bitmap = gylph_bitmap, .glyph_dsc = glyph_dsc, .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, .cmap_num = 2, .bpp = 4, - - .kern_scale = 16, - .kern_dsc = &kern_pairs, - .kern_classes = 0 + .kern_classes = 1, + .bitmap_format = 0 }; @@ -1793,11 +1616,13 @@ static lv_font_fmt_txt_dsc_t font_dsc = { /*Initialize a public general font descriptor*/ lv_font_t lv_font_roboto_12 = { - .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ - .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ .line_height = 14, /*The maximum line height required by the font*/ .base_line = 3, /*Baseline measured from the bottom of the line*/ + .subpx = LV_FONT_SUBPX_NONE, + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ }; #endif /*#if LV_FONT_ROBOTO_12*/ + diff --git a/src/src/lv_font/lv_font_roboto_12_subpx.c b/src/src/lv_font/lv_font_roboto_12_subpx.c new file mode 100644 index 0000000..4565b99 --- /dev/null +++ b/src/src/lv_font/lv_font_roboto_12_subpx.c @@ -0,0 +1,3419 @@ +#include "../../lvgl.h" + +/******************************************************************************* + * Size: 12 px + * Bpp: 4 + * Opts: --no-compress --no-prefilter --bpp 4 --size 12 --font Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 61441,61448,61451,61452,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl -o lv_font_roboto_12_subpx.c --force-fast-kern-format --lcd + ******************************************************************************/ + +#ifndef LV_FONT_ROBOTO_12_SUBPX +#define LV_FONT_ROBOTO_12_SUBPX 1 +#endif + +#if LV_FONT_ROBOTO_12_SUBPX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+20 " " */ + + /* U+21 "!" */ + 0x0, 0x5a, 0xfc, 0x61, 0x0, 0x5, 0xaf, 0xc6, + 0x10, 0x0, 0x5a, 0xfb, 0x61, 0x0, 0x4, 0xaf, + 0xb6, 0x10, 0x0, 0x4a, 0xfb, 0x60, 0x0, 0x4, + 0x9f, 0xb5, 0x0, 0x0, 0x26, 0x97, 0x30, 0x0, + 0x0, 0x23, 0x21, 0x0, 0x0, 0x49, 0xeb, 0x61, + 0x0, + + /* U+22 "\"" */ + 0x3, 0x8d, 0x94, 0x49, 0xc8, 0x30, 0x3, 0x8c, + 0x93, 0x49, 0xc7, 0x20, 0x3, 0x8b, 0x82, 0x49, + 0xb6, 0x10, 0x0, 0x11, 0x10, 0x1, 0x10, 0x0, + + /* U+23 "#" */ + 0x0, 0x0, 0x0, 0x1, 0x7c, 0xb6, 0x0, 0x16, + 0xbc, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xac, 0x72, 0x0, 0x4a, 0xd8, 0x30, 0x0, 0x0, + 0x1, 0x6b, 0xee, 0xef, 0xff, 0xee, 0xee, 0xff, + 0xfe, 0xed, 0x83, 0x0, 0x0, 0x0, 0x1, 0x6b, + 0xc6, 0x10, 0x5, 0xbc, 0x72, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4, 0x9d, 0x93, 0x0, 0x38, 0xd9, + 0x40, 0x0, 0x0, 0x0, 0x38, 0xce, 0xee, 0xff, + 0xee, 0xee, 0xef, 0xfe, 0xee, 0xb7, 0x20, 0x0, + 0x0, 0x0, 0x49, 0xd9, 0x30, 0x3, 0x8d, 0xa4, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6c, 0xb6, + 0x10, 0x5, 0xbc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0x9d, 0x94, 0x0, 0x38, 0xda, 0x50, + 0x0, 0x0, 0x0, 0x0, + + /* U+24 "$" */ + 0x0, 0x0, 0x0, 0x0, 0x49, 0xd9, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x69, 0xdf, + 0xd9, 0x63, 0x10, 0x0, 0x0, 0x0, 0x5, 0xae, + 0xec, 0x97, 0x77, 0xad, 0xfd, 0x83, 0x0, 0x0, + 0x4, 0xaf, 0xc7, 0x20, 0x0, 0x0, 0x38, 0xde, + 0x94, 0x0, 0x0, 0x49, 0xee, 0x93, 0x0, 0x0, + 0x0, 0x23, 0x53, 0x10, 0x0, 0x0, 0x26, 0xbe, + 0xfd, 0xa8, 0x63, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x13, 0x68, 0xad, 0xef, 0xda, 0x52, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x49, 0xee, 0x94, 0x0, 0x4, 0x9f, 0xd7, 0x20, + 0x0, 0x0, 0x0, 0x5b, 0xfb, 0x50, 0x0, 0x4, + 0xae, 0xeb, 0x75, 0x44, 0x46, 0xad, 0xfc, 0x72, + 0x0, 0x0, 0x0, 0x25, 0x8a, 0xce, 0xfd, 0xb9, + 0x74, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xbd, 0x82, 0x0, 0x0, 0x0, 0x0, + + /* U+25 "%" */ + 0x0, 0x37, 0xbc, 0xcc, 0xcb, 0x84, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xc7, + 0x20, 0x1, 0x7c, 0xb6, 0x0, 0x2, 0x7a, 0x83, + 0x0, 0x0, 0x0, 0x5, 0xad, 0x83, 0x0, 0x27, + 0xcb, 0x50, 0x16, 0xbb, 0x61, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x59, 0xbc, 0xcb, 0xa6, 0x21, 0x5a, + 0xb7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x14, 0xac, 0x83, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x49, 0xc9, 0x42, 0x48, 0xab, 0xcc, 0xb8, 0x41, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x8c, 0xa5, 0x12, + 0x7c, 0xb5, 0x0, 0x5, 0xac, 0x83, 0x0, 0x0, + 0x0, 0x17, 0xbb, 0x61, 0x0, 0x28, 0xca, 0x50, + 0x0, 0x49, 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x15, 0x9c, 0xcc, 0xcc, 0xa6, + 0x20, 0x0, + + /* U+26 "&" */ + 0x0, 0x0, 0x25, 0x9c, 0xee, 0xfe, 0xda, 0x63, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9e, 0xd9, + 0x40, 0x1, 0x6b, 0xfb, 0x60, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xaf, 0xd8, 0x20, 0x2, 0x7c, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xde, + 0xcb, 0xcd, 0xc7, 0x31, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x59, 0xde, 0xff, 0xe9, 0x40, 0x0, + 0x1, 0x33, 0x20, 0x0, 0x2, 0x7c, 0xfc, 0x72, + 0x14, 0x9d, 0xeb, 0x51, 0x27, 0xdd, 0x82, 0x0, + 0x5, 0xbf, 0xb6, 0x0, 0x0, 0x2, 0x7c, 0xed, + 0xcd, 0xe9, 0x40, 0x0, 0x2, 0x7d, 0xea, 0x51, + 0x0, 0x0, 0x15, 0xaf, 0xff, 0xb5, 0x10, 0x0, + 0x0, 0x2, 0x59, 0xbd, 0xdd, 0xde, 0xdc, 0xa8, + 0x7a, 0xde, 0xb5, 0x10, + + /* U+27 "'" */ + 0x16, 0xbc, 0x72, 0x16, 0xbc, 0x71, 0x16, 0xbb, + 0x60, 0x0, 0x0, 0x0, + + /* U+28 "(" */ + 0x0, 0x0, 0x0, 0x0, 0x2, 0x22, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x5a, 0xda, 0x51, 0x0, 0x0, + 0x0, 0x15, 0xbd, 0xa4, 0x0, 0x0, 0x0, 0x0, + 0x38, 0xdd, 0x72, 0x0, 0x0, 0x0, 0x0, 0x28, + 0xdd, 0x83, 0x0, 0x0, 0x0, 0x0, 0x16, 0xbf, + 0xa5, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7d, 0xe8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x38, 0xde, 0x83, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, 0xfa, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xaf, 0xb6, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x16, 0xbf, 0xa5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xae, 0xa5, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x6c, 0xd9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x99, 0x61, + 0x0, + + /* U+29 ")" */ + 0x0, 0x1, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x38, 0xcb, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x8d, 0xc7, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x6b, 0xe9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x7c, 0xe9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x4, 0x9e, 0xd7, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x28, 0xdf, 0x94, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x7c, 0xfa, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x38, 0xde, 0x83, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xaf, 0xb6, 0x10, 0x0, 0x0, 0x0, 0x3, 0x9e, + 0xd7, 0x20, 0x0, 0x0, 0x0, 0x4, 0x9d, 0xc6, + 0x10, 0x0, 0x0, 0x0, 0x27, 0xcc, 0x83, 0x0, + 0x0, 0x0, 0x0, 0x58, 0xa5, 0x20, 0x0, 0x0, + 0x0, + + /* U+2A "*" */ + 0x0, 0x0, 0x0, 0x0, 0x28, 0xdb, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x24, 0x53, 0x12, 0x7c, + 0xa5, 0x2, 0x44, 0x30, 0x0, 0x0, 0x3, 0x7a, + 0xcd, 0xef, 0xff, 0xee, 0xdc, 0x95, 0x20, 0x0, + 0x0, 0x0, 0x2, 0x6b, 0xde, 0xdc, 0x83, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x15, 0xbd, 0xa4, 0x13, + 0x8d, 0xc7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x11, 0x0, 0x0, 0x12, 0x10, 0x0, 0x0, + + /* U+2B "+" */ + 0x0, 0x0, 0x0, 0x1, 0x59, 0xb7, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, 0xde, + 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x7d, 0xe9, 0x40, 0x0, 0x0, 0x0, 0x3, + 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0x40, 0x1, 0x12, 0x22, 0x24, 0x8d, 0xea, + 0x52, 0x22, 0x22, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xde, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x7d, 0xe9, 0x40, 0x0, 0x0, + 0x0, 0x0, + + /* U+2C "," */ + 0x0, 0x0, 0x49, 0xec, 0x72, 0x0, 0x0, 0x0, + 0x5a, 0xfb, 0x60, 0x0, 0x0, 0x5, 0xad, 0xa5, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+2D "-" */ + 0x0, 0x16, 0xbf, 0xff, 0xff, 0xfb, 0x61, 0x0, + + /* U+2E "." */ + 0x0, 0x13, 0x43, 0x10, 0x0, 0x15, 0xbe, 0xb6, + 0x10, + + /* U+2F "/" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, 0xdb, + 0x61, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, + 0xb6, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, + 0xdb, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x9d, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x49, 0xda, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9d, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5a, 0xd9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xad, 0x93, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5a, 0xd9, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x16, 0xbd, 0x83, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+30 "0" */ + 0x0, 0x1, 0x37, 0xbd, 0xee, 0xfe, 0xdb, 0x84, + 0x10, 0x0, 0x0, 0x4, 0x9e, 0xea, 0x51, 0x0, + 0x14, 0x9d, 0xfa, 0x50, 0x0, 0x3, 0x8e, 0xd8, + 0x30, 0x0, 0x0, 0x2, 0x7d, 0xfa, 0x40, 0x0, + 0x5a, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x6, 0xbf, + 0xb6, 0x0, 0x5, 0xaf, 0xc7, 0x10, 0x0, 0x0, + 0x0, 0x5b, 0xfb, 0x61, 0x0, 0x4a, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x6, 0xbf, 0xb5, 0x0, 0x3, + 0x8e, 0xe8, 0x30, 0x0, 0x0, 0x2, 0x7d, 0xf9, + 0x40, 0x0, 0x4, 0x9e, 0xea, 0x52, 0x0, 0x14, + 0x9d, 0xfa, 0x50, 0x0, 0x0, 0x1, 0x37, 0xad, + 0xef, 0xfe, 0xdb, 0x84, 0x10, 0x0, 0x0, + + /* U+31 "1" */ + 0x0, 0x0, 0x1, 0x35, 0x7a, 0xcd, 0x84, 0x0, + 0x4, 0x9e, 0xec, 0xaa, 0xce, 0xf9, 0x40, 0x0, + 0x1, 0x10, 0x0, 0x27, 0xdf, 0x94, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x27, 0xdf, 0x94, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x27, 0xdf, 0x94, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xdf, 0x94, 0x0, + + /* U+32 "2" */ + 0x0, 0x2, 0x59, 0xbd, 0xef, 0xfe, 0xdb, 0x95, + 0x20, 0x0, 0x0, 0x27, 0xde, 0xb7, 0x31, 0x0, + 0x14, 0x9d, 0xfb, 0x61, 0x0, 0x4, 0x8b, 0x84, + 0x0, 0x0, 0x0, 0x3, 0x8e, 0xd8, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, + 0xce, 0xb6, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x15, 0xad, 0xd9, 0x41, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x8c, 0xeb, 0x62, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x6b, 0xdc, 0x83, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0x9f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x94, 0x0, + + /* U+33 "3" */ + 0x0, 0x2, 0x59, 0xcd, 0xef, 0xfe, 0xdb, 0x84, + 0x10, 0x0, 0x0, 0x27, 0xce, 0xb7, 0x20, 0x0, + 0x14, 0x9d, 0xe9, 0x40, 0x0, 0x2, 0x47, 0x53, + 0x0, 0x0, 0x0, 0x4, 0x9f, 0xc7, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xad, 0xd8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x6b, 0xff, 0xff, + 0xfd, 0x94, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x24, 0x9d, 0xea, 0x51, 0x0, 0x2, + 0x46, 0x42, 0x0, 0x0, 0x0, 0x2, 0x7d, 0xe9, + 0x30, 0x0, 0x38, 0xee, 0xa5, 0x20, 0x0, 0x13, + 0x8c, 0xeb, 0x61, 0x0, 0x0, 0x3, 0x6a, 0xce, + 0xef, 0xfe, 0xdb, 0x84, 0x10, 0x0, 0x0, + + /* U+34 "4" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, + 0xff, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x7c, 0xef, 0xff, 0x94, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xda, 0x78, + 0xcf, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x5a, 0xdb, 0x61, 0x27, 0xcf, 0x94, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x49, 0xdc, 0x72, 0x0, 0x27, + 0xcf, 0x94, 0x0, 0x0, 0x0, 0x0, 0x38, 0xdd, + 0x83, 0x0, 0x0, 0x27, 0xcf, 0x94, 0x0, 0x0, + 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x27, 0xcf, 0x94, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, + 0xcf, 0x94, 0x0, 0x0, + + /* U+35 "5" */ + 0x0, 0x1, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfb, 0x50, 0x0, 0x0, 0x28, 0xdd, 0x83, 0x11, + 0x11, 0x11, 0x11, 0x0, 0x0, 0x0, 0x4, 0x9e, + 0xb6, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6b, 0xfd, 0xcc, 0xde, 0xed, 0xca, 0x63, + 0x0, 0x0, 0x0, 0x3, 0x69, 0x86, 0x32, 0x23, + 0x58, 0xcf, 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0x9e, 0xd8, 0x20, 0x0, + 0x25, 0x74, 0x20, 0x0, 0x0, 0x0, 0x38, 0xdd, + 0x83, 0x0, 0x2, 0x7d, 0xea, 0x62, 0x0, 0x2, + 0x5a, 0xee, 0x94, 0x0, 0x0, 0x0, 0x26, 0xac, + 0xee, 0xfe, 0xec, 0xa7, 0x31, 0x0, 0x0, + + /* U+36 "6" */ + 0x0, 0x0, 0x0, 0x24, 0x7a, 0xcd, 0xee, 0x94, + 0x0, 0x0, 0x0, 0x0, 0x14, 0x9e, 0xeb, 0x85, + 0x32, 0x10, 0x0, 0x0, 0x0, 0x0, 0x27, 0xde, + 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x16, 0xcf, 0xca, 0x9c, 0xde, 0xee, 0xca, 0x62, + 0x0, 0x0, 0x3, 0x8d, 0xfe, 0xa6, 0x31, 0x1, + 0x37, 0xcf, 0xd8, 0x20, 0x0, 0x38, 0xee, 0x83, + 0x0, 0x0, 0x0, 0x4, 0xaf, 0xc6, 0x10, 0x1, + 0x6c, 0xfa, 0x50, 0x0, 0x0, 0x0, 0x4a, 0xfb, + 0x61, 0x0, 0x1, 0x6b, 0xfc, 0x83, 0x10, 0x2, + 0x7b, 0xec, 0x72, 0x0, 0x0, 0x0, 0x14, 0x8c, + 0xef, 0xfe, 0xdc, 0x95, 0x20, 0x0, 0x0, + + /* U+37 "7" */ + 0x38, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x28, 0xdd, 0x83, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x49, 0xec, 0x71, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xea, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, + 0xe9, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9e, 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x15, 0xbe, 0xb6, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x27, 0xce, 0xa5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x39, 0xee, + 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+38 "8" */ + 0x0, 0x1, 0x37, 0xbd, 0xef, 0xfe, 0xdb, 0x84, + 0x10, 0x0, 0x0, 0x3, 0x9e, 0xea, 0x51, 0x0, + 0x14, 0x9d, 0xfa, 0x50, 0x0, 0x1, 0x6c, 0xfa, + 0x40, 0x0, 0x0, 0x3, 0x9e, 0xd8, 0x20, 0x0, + 0x3, 0x8d, 0xda, 0x52, 0x0, 0x14, 0x9d, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x49, 0xdf, 0xff, 0xff, + 0xfe, 0xa4, 0x10, 0x0, 0x0, 0x15, 0xbe, 0xc8, + 0x41, 0x0, 0x13, 0x7c, 0xeb, 0x61, 0x0, 0x4, + 0xaf, 0xc7, 0x10, 0x0, 0x0, 0x0, 0x6b, 0xfb, + 0x50, 0x0, 0x27, 0xcf, 0xc7, 0x30, 0x0, 0x2, + 0x6b, 0xed, 0x83, 0x0, 0x0, 0x2, 0x59, 0xbd, + 0xef, 0xfe, 0xdc, 0xa6, 0x30, 0x0, 0x0, + + /* U+39 "9" */ + 0x0, 0x1, 0x48, 0xbd, 0xef, 0xfe, 0xc9, 0x52, + 0x0, 0x0, 0x0, 0x16, 0xbf, 0xc8, 0x31, 0x1, + 0x37, 0xce, 0xc7, 0x20, 0x0, 0x5, 0xaf, 0xb6, + 0x0, 0x0, 0x0, 0x4, 0x9e, 0xd7, 0x20, 0x0, + 0x5a, 0xfb, 0x60, 0x0, 0x0, 0x0, 0x27, 0xde, + 0x94, 0x0, 0x1, 0x6c, 0xfc, 0x83, 0x10, 0x2, + 0x5a, 0xdf, 0xe9, 0x40, 0x0, 0x0, 0x25, 0x9c, + 0xde, 0xfe, 0xc9, 0x8a, 0xed, 0x82, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, 0xce, 0x94, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x36, 0x9d, + 0xec, 0x62, 0x0, 0x0, 0x0, 0x0, 0x38, 0xde, + 0xed, 0xb9, 0x63, 0x10, 0x0, 0x0, 0x0, + + /* U+3A ":" */ + 0x1, 0x6b, 0xea, 0x50, 0x0, 0x1, 0x34, 0x31, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x34, 0x31, 0x0, 0x1, 0x6b, 0xea, 0x50, 0x0, + + /* U+3B ";" */ + 0x0, 0x0, 0x38, 0xdd, 0x83, 0x0, 0x0, 0x0, + 0x2, 0x44, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x15, 0x88, 0x51, 0x0, 0x0, 0x0, 0x38, 0xed, + 0x82, 0x0, 0x0, 0x2, 0x7c, 0xe9, 0x40, 0x0, + 0x0, 0x2, 0x56, 0x41, 0x0, 0x0, + + /* U+3C "<" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x79, 0xa7, + 0x30, 0x0, 0x0, 0x24, 0x79, 0xce, 0xfd, 0xb9, + 0x63, 0x10, 0x26, 0xbe, 0xec, 0xa7, 0x52, 0x10, + 0x0, 0x0, 0x0, 0x14, 0x8b, 0xde, 0xda, 0x86, + 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x36, + 0x9b, 0xef, 0xec, 0x95, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x36, 0x75, 0x20, + + /* U+3D "=" */ + 0x1, 0x6b, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, + 0xb6, 0x10, 0x0, 0x0, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x16, 0xbe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xeb, + 0x61, 0x0, 0x0, 0x1, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x10, 0x0, 0x0, + + /* U+3E ">" */ + 0x3, 0x7a, 0xa7, 0x52, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x58, 0xad, 0xee, 0xda, + 0x85, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x13, 0x68, 0xbd, 0xed, 0x95, 0x10, 0x0, + 0x0, 0x0, 0x1, 0x35, 0x7a, 0xce, 0xec, 0xa6, + 0x30, 0x0, 0x1, 0x59, 0xce, 0xfe, 0xc9, 0x74, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x25, 0x76, 0x31, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+3F "?" */ + 0x0, 0x25, 0x9c, 0xef, 0xff, 0xec, 0xa6, 0x20, + 0x0, 0x16, 0xbf, 0xc8, 0x31, 0x1, 0x38, 0xdf, + 0xb5, 0x0, 0x1, 0x22, 0x10, 0x0, 0x0, 0x4, + 0x9e, 0xc7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x5a, 0xed, 0x82, 0x0, 0x0, 0x0, 0x0, 0x4, + 0x9d, 0xeb, 0x62, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x7c, 0xfb, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x35, 0x53, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x13, 0x31, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x7c, 0xd8, 0x30, 0x0, 0x0, + 0x0, + + /* U+40 "@" */ + 0x0, 0x0, 0x0, 0x0, 0x13, 0x69, 0xbc, 0xdd, + 0xdd, 0xdd, 0xdb, 0xa7, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x15, 0xac, 0xc8, 0x52, 0x10, + 0x0, 0x0, 0x0, 0x24, 0x7b, 0xca, 0x51, 0x0, + 0x0, 0x0, 0x1, 0x5b, 0xc9, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8c, 0x94, + 0x0, 0x0, 0x2, 0x7c, 0xb6, 0x10, 0x0, 0x2, + 0x59, 0xbc, 0xdc, 0xba, 0x62, 0x0, 0x2, 0x7b, + 0x94, 0x0, 0x1, 0x6c, 0xc7, 0x10, 0x0, 0x27, + 0xcc, 0x83, 0x0, 0x28, 0xdb, 0x60, 0x0, 0x4, + 0xab, 0x71, 0x0, 0x49, 0xe9, 0x40, 0x0, 0x39, + 0xea, 0x50, 0x0, 0x4, 0x9d, 0x94, 0x0, 0x0, + 0x49, 0xc7, 0x20, 0x5, 0xad, 0x83, 0x0, 0x16, + 0xcd, 0x82, 0x0, 0x0, 0x5a, 0xd8, 0x20, 0x0, + 0x5, 0xbb, 0x61, 0x0, 0x49, 0xd9, 0x40, 0x0, + 0x6b, 0xe9, 0x30, 0x0, 0x4a, 0xed, 0x82, 0x0, + 0x16, 0xbb, 0x71, 0x0, 0x1, 0x6c, 0xc7, 0x10, + 0x1, 0x48, 0xcd, 0xcb, 0xa7, 0x45, 0x9c, 0xdc, + 0xcc, 0xa6, 0x20, 0x0, 0x0, 0x1, 0x6b, 0xd8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, + 0xcd, 0xb6, 0x31, 0x0, 0x0, 0x0, 0x1, 0x22, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x25, 0x8a, 0xcc, 0xdc, 0xcc, 0xcd, 0xcb, + 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+41 "A" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6c, 0xfe, + 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x7c, 0xee, 0xee, 0x94, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x7c, 0xe9, 0x67, 0xcf, 0xa4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, 0x40, + 0x17, 0xcf, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x8d, 0xea, 0x40, 0x0, 0x17, 0xcf, + 0xb5, 0x10, 0x0, 0x0, 0x0, 0x0, 0x3, 0x9e, + 0xea, 0x40, 0x0, 0x0, 0x17, 0xcf, 0xb6, 0x10, + 0x0, 0x0, 0x0, 0x4, 0x9e, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xc6, 0x10, 0x0, 0x0, + 0x4, 0x9e, 0xe9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x16, 0xcf, 0xc7, 0x20, 0x0, 0x5, 0xaf, 0xd8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xbf, + 0xd7, 0x20, + + /* U+42 "B" */ + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, + 0x85, 0x20, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x2, 0x49, 0xdf, 0xa5, 0x10, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x4, + 0x9e, 0xd8, 0x30, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x2, 0x5a, 0xee, 0x94, 0x0, 0x0, + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xb6, 0x20, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x1, 0x26, 0xbe, 0xd8, 0x30, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x5b, 0xfc, 0x61, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x1, 0x37, 0xbe, 0xe9, 0x30, 0x0, + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xec, + 0xa6, 0x30, 0x0, 0x0, + + /* U+43 "C" */ + 0x0, 0x0, 0x1, 0x48, 0xbd, 0xef, 0xfe, 0xec, + 0xa8, 0x41, 0x0, 0x0, 0x0, 0x4, 0x9e, 0xeb, + 0x74, 0x21, 0x1, 0x24, 0x9c, 0xfc, 0x72, 0x0, + 0x1, 0x6b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9e, 0xc7, 0x20, 0x3, 0x8e, 0xe8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9f, 0xd8, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x8e, 0xe8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x6b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9e, 0xc7, 0x20, 0x0, 0x4, 0x9e, 0xeb, + 0x74, 0x21, 0x1, 0x24, 0x8c, 0xfc, 0x72, 0x0, + 0x0, 0x0, 0x2, 0x59, 0xbd, 0xff, 0xfe, 0xdc, + 0xa7, 0x41, 0x0, 0x0, + + /* U+44 "D" */ + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xed, 0xb8, + 0x41, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x1, 0x24, 0x7b, 0xee, 0xa4, 0x10, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x4a, 0xed, 0x82, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xbf, 0xc6, 0x10, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xaf, 0xd7, 0x20, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xbf, 0xc6, 0x10, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x5a, 0xed, 0x82, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x1, 0x24, 0x7b, 0xee, 0xa4, 0x10, 0x0, + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xed, 0xa7, + 0x41, 0x0, 0x0, 0x0, + + /* U+45 "E" */ + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xb5, 0x0, 0x5, 0xbf, 0xc7, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xfc, + 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5, 0xbf, 0xc7, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd7, 0x20, 0x0, 0x5, 0xbf, 0xc7, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xbf, 0xc7, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x10, + + /* U+46 "F" */ + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x94, 0x0, 0x5, 0xbf, 0xc7, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xfc, + 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5, 0xbf, 0xc7, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5, 0xbf, 0xc7, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xbf, 0xc7, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+47 "G" */ + 0x0, 0x0, 0x2, 0x58, 0xbd, 0xef, 0xff, 0xed, + 0xb9, 0x62, 0x0, 0x0, 0x0, 0x4, 0x9e, 0xeb, + 0x74, 0x21, 0x0, 0x13, 0x7b, 0xee, 0x94, 0x0, + 0x1, 0x5b, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x46, 0x63, 0x10, 0x3, 0x8d, 0xe9, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9f, 0xd8, 0x20, 0x0, 0x2, 0x7c, 0xff, + 0xff, 0xff, 0xfa, 0x40, 0x3, 0x8e, 0xe9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xfa, 0x40, + 0x0, 0x5a, 0xfd, 0x82, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x8d, 0xfa, 0x40, 0x0, 0x3, 0x8d, 0xfd, + 0x95, 0x21, 0x0, 0x1, 0x47, 0xcf, 0xe9, 0x30, + 0x0, 0x0, 0x1, 0x37, 0xac, 0xef, 0xff, 0xfe, + 0xdb, 0x96, 0x30, 0x0, + + /* U+48 "H" */ + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xee, 0x83, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xee, 0x83, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xee, 0x83, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xee, 0x83, + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x83, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xee, 0x83, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xee, 0x83, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xee, 0x83, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xee, 0x83, + + /* U+49 "I" */ + 0x0, 0x49, 0xee, 0x83, 0x0, 0x4, 0x9e, 0xe8, + 0x30, 0x0, 0x49, 0xee, 0x83, 0x0, 0x4, 0x9e, + 0xe8, 0x30, 0x0, 0x49, 0xee, 0x83, 0x0, 0x4, + 0x9e, 0xe8, 0x30, 0x0, 0x49, 0xee, 0x83, 0x0, + 0x4, 0x9e, 0xe8, 0x30, 0x0, 0x49, 0xee, 0x83, + 0x0, + + /* U+4A "J" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x7c, 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x7c, 0xfb, 0x60, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x7c, 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x7c, 0xfb, 0x60, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x7c, 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x7c, 0xfb, 0x60, 0x0, + 0x0, 0x3, 0x69, 0x74, 0x10, 0x0, 0x0, 0x2, + 0x7d, 0xfa, 0x50, 0x0, 0x0, 0x2, 0x7c, 0xfc, + 0x83, 0x10, 0x2, 0x49, 0xdf, 0xb6, 0x10, 0x0, + 0x0, 0x0, 0x2, 0x69, 0xcd, 0xef, 0xfe, 0xdb, + 0x95, 0x20, 0x0, 0x0, + + /* U+4B "K" */ + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x3, + 0x8c, 0xec, 0x83, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x25, 0xbe, 0xea, 0x51, 0x0, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x38, 0xde, 0xc7, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x74, + 0x6b, 0xee, 0xa4, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5b, 0xfe, 0xee, 0xff, 0xfe, 0x94, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xff, 0xc8, + 0x32, 0x5a, 0xee, 0xa5, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x49, 0xee, + 0xb6, 0x10, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x39, 0xdf, 0xc7, 0x20, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x38, 0xdf, 0xc7, 0x30, + + /* U+4C "L" */ + 0x0, 0x5b, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xbf, 0xc7, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xfc, + 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5, 0xbf, 0xc7, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x72, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xbf, 0xc7, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5b, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xbf, 0xc7, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, + + /* U+4D "M" */ + 0x0, 0x5b, 0xff, 0xea, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xdf, 0xfd, 0x72, 0x0, + 0x5b, 0xff, 0xff, 0xa5, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x8d, 0xff, 0xfd, 0x72, 0x0, 0x5b, + 0xfc, 0xbb, 0xfb, 0x61, 0x0, 0x0, 0x0, 0x0, + 0x49, 0xed, 0xbb, 0xed, 0x72, 0x0, 0x5b, 0xfb, + 0x65, 0xae, 0xc7, 0x10, 0x0, 0x0, 0x4, 0xae, + 0xc7, 0x59, 0xed, 0x72, 0x0, 0x5b, 0xfc, 0x61, + 0x49, 0xed, 0x72, 0x0, 0x0, 0x5b, 0xfb, 0x61, + 0x49, 0xfd, 0x72, 0x0, 0x5b, 0xfc, 0x61, 0x3, + 0x8d, 0xd8, 0x30, 0x16, 0xbe, 0xa5, 0x0, 0x4a, + 0xfd, 0x72, 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x27, + 0xde, 0x95, 0x7c, 0xe9, 0x40, 0x0, 0x5a, 0xfd, + 0x72, 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x1, 0x7c, + 0xff, 0xfe, 0x83, 0x0, 0x0, 0x5a, 0xfd, 0x72, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x16, 0xbf, + 0xd8, 0x20, 0x0, 0x0, 0x5a, 0xfd, 0x72, + + /* U+4E "N" */ + 0x0, 0x5b, 0xff, 0xc6, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xee, 0x83, 0x0, 0x5b, 0xff, 0xff, + 0xb6, 0x10, 0x0, 0x0, 0x0, 0x49, 0xee, 0x83, + 0x0, 0x5b, 0xfd, 0xbb, 0xee, 0xa5, 0x10, 0x0, + 0x0, 0x49, 0xee, 0x83, 0x0, 0x5b, 0xfc, 0x73, + 0x5a, 0xee, 0x94, 0x0, 0x0, 0x49, 0xee, 0x83, + 0x0, 0x5b, 0xfc, 0x72, 0x1, 0x5b, 0xed, 0x93, + 0x0, 0x49, 0xee, 0x83, 0x0, 0x5b, 0xfc, 0x72, + 0x0, 0x1, 0x6b, 0xfd, 0x83, 0x49, 0xee, 0x83, + 0x0, 0x5b, 0xfc, 0x72, 0x0, 0x0, 0x2, 0x7c, + 0xfc, 0xbb, 0xee, 0x83, 0x0, 0x5b, 0xfc, 0x72, + 0x0, 0x0, 0x0, 0x3, 0x8d, 0xff, 0xfe, 0x83, + 0x0, 0x5b, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x8d, 0xfe, 0x83, + + /* U+4F "O" */ + 0x0, 0x0, 0x2, 0x58, 0xbd, 0xef, 0xff, 0xed, + 0xa8, 0x41, 0x0, 0x0, 0x0, 0x3, 0x8d, 0xec, + 0x85, 0x31, 0x12, 0x35, 0x9d, 0xfc, 0x72, 0x0, + 0x0, 0x5b, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x8d, 0xe9, 0x40, 0x3, 0x8e, 0xe9, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xfc, 0x71, + 0x4, 0xaf, 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x39, 0xed, 0x83, 0x3, 0x8e, 0xe9, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xfc, 0x71, + 0x0, 0x5b, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x8d, 0xe9, 0x40, 0x0, 0x3, 0x8d, 0xec, + 0x84, 0x21, 0x11, 0x35, 0x9c, 0xfc, 0x72, 0x0, + 0x0, 0x0, 0x1, 0x48, 0xbd, 0xef, 0xff, 0xed, + 0xa7, 0x31, 0x0, 0x0, + + /* U+50 "P" */ + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, + 0xb9, 0x52, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x24, 0x8c, 0xfd, 0x83, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xbf, 0xb6, 0x10, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x13, 0x7b, 0xee, 0x83, 0x0, + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, + 0xca, 0x63, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, + + /* U+51 "Q" */ + 0x0, 0x0, 0x2, 0x59, 0xbd, 0xef, 0xff, 0xec, + 0xa7, 0x41, 0x0, 0x0, 0x0, 0x4, 0x9e, 0xec, + 0x84, 0x21, 0x12, 0x36, 0xad, 0xfc, 0x61, 0x0, + 0x1, 0x6b, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9e, 0xe8, 0x30, 0x4, 0x9e, 0xd8, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6b, 0xfb, 0x61, + 0x5, 0xaf, 0xc7, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4a, 0xfd, 0x72, 0x4, 0x9e, 0xd8, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6b, 0xfc, 0x71, + 0x1, 0x6b, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x9e, 0xe9, 0x30, 0x0, 0x4, 0x9e, 0xeb, + 0x74, 0x21, 0x11, 0x36, 0x9d, 0xec, 0x72, 0x0, + 0x0, 0x0, 0x2, 0x58, 0xbd, 0xef, 0xff, 0xff, + 0xfe, 0xa5, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x5a, 0xdf, 0xd8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x12, 0x32, 0x0, + + /* U+52 "R" */ + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdc, + 0x96, 0x30, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x1, 0x37, 0xbe, 0xe8, 0x30, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x6b, 0xfc, 0x61, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x1, 0x37, 0xce, 0xd8, 0x30, 0x0, + 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x95, 0x20, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x5a, 0xed, 0x83, 0x0, 0x0, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x2, 0x8d, + 0xea, 0x50, 0x0, 0x0, 0x0, 0x5b, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x16, 0xbf, 0xc7, 0x20, 0x0, + 0x0, 0x5b, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x49, 0xee, 0x94, 0x0, + + /* U+53 "S" */ + 0x0, 0x1, 0x37, 0xac, 0xde, 0xff, 0xed, 0xb9, + 0x63, 0x0, 0x0, 0x15, 0xbf, 0xd9, 0x52, 0x10, + 0x1, 0x36, 0xae, 0xea, 0x41, 0x3, 0x8e, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x2, 0x59, 0x96, 0x20, + 0x3, 0x8d, 0xfd, 0x96, 0x32, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x13, 0x68, 0xbd, 0xef, + 0xec, 0xa7, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x12, 0x58, 0xbe, 0xea, 0x41, 0x15, + 0x8a, 0x73, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, + 0xf9, 0x40, 0x38, 0xdf, 0xc8, 0x42, 0x10, 0x0, + 0x24, 0x8c, 0xfc, 0x72, 0x0, 0x2, 0x48, 0xac, + 0xef, 0xff, 0xfe, 0xdb, 0x85, 0x20, 0x0, + + /* U+54 "T" */ + 0x0, 0x6, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe9, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4a, 0xfd, 0x72, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xaf, 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4a, 0xfd, + 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xaf, 0xd7, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4a, 0xfd, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xaf, + 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4a, 0xfd, 0x72, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xaf, 0xd7, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+55 "U" */ + 0x2, 0x8d, 0xf9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xdf, 0xa5, 0x0, 0x2, 0x8d, 0xf9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x27, 0xdf, 0xa5, 0x0, + 0x2, 0x8d, 0xf9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xdf, 0xa5, 0x0, 0x2, 0x8d, 0xf9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x27, 0xdf, 0xa5, 0x0, + 0x2, 0x8d, 0xf9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xdf, 0xa5, 0x0, 0x2, 0x8d, 0xf9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x27, 0xdf, 0xa5, 0x0, + 0x1, 0x6c, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x38, 0xee, 0x93, 0x0, 0x0, 0x27, 0xcf, 0xc8, + 0x42, 0x0, 0x1, 0x37, 0xbe, 0xe9, 0x40, 0x0, + 0x0, 0x0, 0x24, 0x8b, 0xce, 0xff, 0xfe, 0xdb, + 0x95, 0x20, 0x0, 0x0, + + /* U+56 "V" */ + 0x0, 0x5, 0xaf, 0xd8, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x39, 0xef, 0xa4, 0x0, 0x0, 0x4, + 0xaf, 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x38, + 0xee, 0xa4, 0x0, 0x0, 0x0, 0x4, 0xae, 0xd8, + 0x20, 0x0, 0x0, 0x0, 0x38, 0xee, 0x94, 0x0, + 0x0, 0x0, 0x0, 0x4, 0x9e, 0xd8, 0x20, 0x0, + 0x0, 0x38, 0xde, 0x94, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0x9e, 0xd7, 0x20, 0x0, 0x38, 0xde, + 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x9e, 0xc7, 0x20, 0x28, 0xdd, 0x83, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, 0xc7, + 0x48, 0xdd, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0x8d, 0xee, 0xed, 0x82, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x8d, 0xfd, 0x72, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+57 "W" */ + 0x38, 0xde, 0x94, 0x0, 0x0, 0x0, 0x3, 0x8e, + 0xfa, 0x50, 0x0, 0x0, 0x0, 0x28, 0xdf, 0x94, + 0x0, 0x4a, 0xfc, 0x72, 0x0, 0x0, 0x2, 0x7c, + 0xff, 0xe9, 0x40, 0x0, 0x0, 0x16, 0xbf, 0xb5, + 0x0, 0x1, 0x6b, 0xfb, 0x50, 0x0, 0x1, 0x6c, + 0xea, 0xac, 0xd8, 0x30, 0x0, 0x4, 0x9f, 0xd7, + 0x20, 0x0, 0x2, 0x8d, 0xe9, 0x30, 0x0, 0x5b, + 0xea, 0x43, 0x8d, 0xc7, 0x10, 0x2, 0x7d, 0xe9, + 0x40, 0x0, 0x0, 0x4, 0x9e, 0xc7, 0x20, 0x49, + 0xeb, 0x50, 0x3, 0x9e, 0xb6, 0x0, 0x6b, 0xfa, + 0x50, 0x0, 0x0, 0x0, 0x6, 0xbf, 0xa5, 0x48, + 0xeb, 0x61, 0x0, 0x5, 0xae, 0xa5, 0x49, 0xec, + 0x72, 0x0, 0x0, 0x0, 0x0, 0x27, 0xde, 0xbb, + 0xdd, 0x72, 0x0, 0x0, 0x16, 0xbd, 0xaa, 0xce, + 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xef, + 0xfd, 0x83, 0x0, 0x0, 0x0, 0x16, 0xcf, 0xff, + 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, + 0xfe, 0x94, 0x0, 0x0, 0x0, 0x0, 0x28, 0xdf, + 0xc7, 0x10, 0x0, 0x0, 0x0, + + /* U+58 "X" */ + 0x4, 0x9e, 0xea, 0x51, 0x0, 0x0, 0x0, 0x2, + 0x7c, 0xfd, 0x82, 0x0, 0x0, 0x15, 0xbe, 0xe9, + 0x40, 0x0, 0x1, 0x6b, 0xfd, 0x93, 0x0, 0x0, + 0x0, 0x0, 0x26, 0xcf, 0xd7, 0x21, 0x49, 0xee, + 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, + 0xcf, 0xdd, 0xde, 0xb5, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x6b, 0xff, 0xe9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, + 0xdf, 0xdd, 0xef, 0xb6, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x27, 0xcf, 0xd7, 0x21, 0x49, 0xee, + 0xa5, 0x10, 0x0, 0x0, 0x0, 0x26, 0xcf, 0xd9, + 0x30, 0x0, 0x1, 0x5b, 0xee, 0x94, 0x0, 0x0, + 0x15, 0xbf, 0xea, 0x40, 0x0, 0x0, 0x0, 0x2, + 0x6c, 0xfd, 0x93, 0x0, + + /* U+59 "Y" */ + 0x0, 0x5, 0xae, 0xe9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x16, 0xcf, 0xd8, 0x20, 0x0, 0x0, 0x2, + 0x7c, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x39, 0xee, + 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xee, + 0x93, 0x0, 0x1, 0x6b, 0xfc, 0x72, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x16, 0xce, 0xb6, 0x13, + 0x8d, 0xe9, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0x9d, 0xdc, 0xce, 0xb6, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x6b, 0xfe, 0x94, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xaf, + 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4a, 0xfd, 0x72, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xaf, 0xd7, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+5A "Z" */ + 0x16, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x7c, 0xfc, 0x72, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, 0xfc, + 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x7c, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x7c, 0xfc, 0x72, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, + 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x7c, 0xfc, 0x72, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, 0xfc, 0x72, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfb, 0x60, 0x0, + + /* U+5B "[" */ + 0x2, 0x7c, 0xff, 0xff, 0xb6, 0x0, 0x2, 0x7d, + 0xfa, 0x40, 0x0, 0x0, 0x2, 0x7d, 0xfa, 0x40, + 0x0, 0x0, 0x2, 0x7d, 0xfa, 0x40, 0x0, 0x0, + 0x2, 0x7d, 0xfa, 0x40, 0x0, 0x0, 0x2, 0x7d, + 0xfa, 0x40, 0x0, 0x0, 0x2, 0x7d, 0xfa, 0x40, + 0x0, 0x0, 0x2, 0x7d, 0xfa, 0x40, 0x0, 0x0, + 0x2, 0x7d, 0xfa, 0x40, 0x0, 0x0, 0x2, 0x7d, + 0xfa, 0x40, 0x0, 0x0, 0x2, 0x7d, 0xfa, 0x40, + 0x0, 0x0, 0x2, 0x7d, 0xfa, 0x40, 0x0, 0x0, + 0x2, 0x7c, 0xff, 0xff, 0xb6, 0x0, + + /* U+5C "\\" */ + 0x0, 0x4, 0x9e, 0xc7, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x8e, 0xc7, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x8d, 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0x8d, 0xd8, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7d, 0xd8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x7c, 0xe8, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x7c, 0xe9, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6c, + 0xe9, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x6b, 0xe9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xea, 0x50, + 0x0, + + /* U+5D "]" */ + 0x0, 0x49, 0xef, 0xff, 0xe9, 0x40, 0x0, 0x0, + 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, 0x2, 0x7d, + 0xf9, 0x40, 0x0, 0x0, 0x2, 0x7d, 0xf9, 0x40, + 0x0, 0x0, 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, + 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, 0x2, 0x7d, + 0xf9, 0x40, 0x0, 0x0, 0x2, 0x7d, 0xf9, 0x40, + 0x0, 0x0, 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, + 0x2, 0x7d, 0xf9, 0x40, 0x0, 0x0, 0x2, 0x7d, + 0xf9, 0x40, 0x0, 0x0, 0x2, 0x7d, 0xf9, 0x40, + 0x0, 0x49, 0xef, 0xff, 0xe9, 0x40, + + /* U+5E "^" */ + 0x0, 0x0, 0x2, 0x57, 0x52, 0x0, 0x0, 0x0, + 0x0, 0x4, 0x9e, 0xfe, 0x94, 0x0, 0x0, 0x0, + 0x5, 0xae, 0xa9, 0xae, 0xa5, 0x0, 0x0, 0x15, + 0xbe, 0x94, 0x4, 0x9e, 0xb5, 0x10, 0x16, 0xce, + 0x93, 0x0, 0x3, 0x9e, 0xc6, 0x10, + + /* U+5F "_" */ + 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa5, 0x0, + + /* U+60 "`" */ + 0x14, 0x9e, 0xe9, 0x40, 0x0, 0x0, 0x0, 0x3, + 0x8d, 0xc7, 0x20, 0x0, + + /* U+61 "a" */ + 0x0, 0x1, 0x48, 0xbd, 0xee, 0xee, 0xdb, 0x73, + 0x0, 0x0, 0x0, 0x15, 0xbf, 0xc8, 0x30, 0x0, + 0x26, 0xbf, 0xd7, 0x20, 0x0, 0x0, 0x12, 0x21, + 0x0, 0x0, 0x0, 0x27, 0xcf, 0xa5, 0x0, 0x0, + 0x0, 0x25, 0x8a, 0xcc, 0xdd, 0xdd, 0xef, 0xfa, + 0x50, 0x0, 0x3, 0x8d, 0xea, 0x51, 0x0, 0x0, + 0x17, 0xcf, 0xa5, 0x0, 0x0, 0x49, 0xfe, 0xa4, + 0x10, 0x12, 0x48, 0xce, 0xfa, 0x50, 0x0, 0x0, + 0x25, 0x9c, 0xef, 0xff, 0xdb, 0x89, 0xad, 0xb6, + 0x10, 0x0, + + /* U+62 "b" */ + 0x2, 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xde, 0x93, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x28, 0xde, 0xb9, 0x9c, 0xee, 0xee, 0xca, 0x62, + 0x0, 0x0, 0x2, 0x8d, 0xfd, 0xa5, 0x20, 0x1, + 0x48, 0xcf, 0xc7, 0x10, 0x0, 0x28, 0xde, 0x93, + 0x0, 0x0, 0x0, 0x5, 0xbf, 0xb6, 0x10, 0x2, + 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x0, 0x39, 0xed, + 0x72, 0x0, 0x28, 0xde, 0x93, 0x0, 0x0, 0x0, + 0x5, 0xaf, 0xb6, 0x10, 0x2, 0x8d, 0xfe, 0xa5, + 0x20, 0x1, 0x48, 0xcf, 0xc7, 0x10, 0x0, 0x28, + 0xdd, 0xa8, 0x9c, 0xee, 0xfe, 0xca, 0x62, 0x0, + 0x0, + + /* U+63 "c" */ + 0x0, 0x1, 0x37, 0xbd, 0xef, 0xfe, 0xdb, 0x83, + 0x10, 0x0, 0x0, 0x15, 0xae, 0xd8, 0x41, 0x0, + 0x14, 0x9d, 0xe9, 0x40, 0x0, 0x5, 0xaf, 0xb6, + 0x10, 0x0, 0x0, 0x1, 0x36, 0x63, 0x10, 0x1, + 0x6c, 0xfa, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xaf, 0xb6, 0x10, 0x0, 0x0, + 0x0, 0x23, 0x32, 0x0, 0x0, 0x15, 0xae, 0xd8, + 0x41, 0x0, 0x13, 0x8c, 0xea, 0x40, 0x0, 0x0, + 0x1, 0x37, 0xbd, 0xef, 0xfe, 0xda, 0x73, 0x10, + 0x0, 0x0, + + /* U+64 "d" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, + 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x28, 0xde, 0x93, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, 0x30, 0x0, + 0x0, 0x14, 0x8b, 0xde, 0xfe, 0xca, 0x9a, 0xee, + 0x93, 0x0, 0x1, 0x5b, 0xfd, 0x95, 0x21, 0x1, + 0x48, 0xcf, 0xe9, 0x30, 0x0, 0x5a, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x28, 0xde, 0x93, 0x0, 0x16, + 0xbf, 0xa5, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, + 0x30, 0x0, 0x5a, 0xfb, 0x61, 0x0, 0x0, 0x0, + 0x28, 0xde, 0x93, 0x0, 0x1, 0x5a, 0xec, 0x83, + 0x0, 0x0, 0x27, 0xcf, 0xe9, 0x30, 0x0, 0x0, + 0x14, 0x8b, 0xde, 0xed, 0xcb, 0x9b, 0xde, 0x93, + 0x0, + + /* U+65 "e" */ + 0x0, 0x0, 0x36, 0xac, 0xef, 0xfe, 0xda, 0x62, + 0x0, 0x0, 0x0, 0x4, 0x9e, 0xd9, 0x51, 0x0, + 0x25, 0xae, 0xd8, 0x30, 0x0, 0x4, 0xaf, 0xc7, + 0x10, 0x0, 0x0, 0x3, 0x8e, 0xd7, 0x20, 0x1, + 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x93, 0x0, 0x5, 0xaf, 0xb6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0xae, 0xd9, + 0x42, 0x0, 0x2, 0x47, 0x97, 0x30, 0x0, 0x0, + 0x1, 0x37, 0xac, 0xee, 0xff, 0xec, 0xa6, 0x30, + 0x0, 0x0, + + /* U+66 "f" */ + 0x0, 0x0, 0x14, 0x8c, 0xef, 0xfc, 0x72, 0x0, + 0x0, 0x28, 0xde, 0xa6, 0x10, 0x0, 0x0, 0x0, + 0x4, 0xaf, 0xc7, 0x10, 0x0, 0x0, 0x4, 0x9e, + 0xef, 0xff, 0xfe, 0xeb, 0x61, 0x0, 0x0, 0x5, + 0xaf, 0xc7, 0x10, 0x0, 0x0, 0x0, 0x0, 0x5a, + 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, 0x5, 0xaf, + 0xc7, 0x10, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xfc, + 0x71, 0x0, 0x0, 0x0, 0x0, 0x5, 0xaf, 0xc7, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xfc, 0x71, + 0x0, 0x0, 0x0, + + /* U+67 "g" */ + 0x0, 0x1, 0x48, 0xbd, 0xef, 0xec, 0xa8, 0x9d, + 0xe9, 0x40, 0x0, 0x15, 0xbf, 0xd9, 0x52, 0x10, + 0x14, 0x8c, 0xfe, 0x94, 0x0, 0x5, 0xaf, 0xc7, + 0x10, 0x0, 0x0, 0x2, 0x8d, 0xe9, 0x40, 0x1, + 0x6b, 0xfa, 0x50, 0x0, 0x0, 0x0, 0x28, 0xde, + 0x94, 0x0, 0x5, 0xaf, 0xc7, 0x10, 0x0, 0x0, + 0x2, 0x8d, 0xe9, 0x40, 0x0, 0x15, 0xbf, 0xd9, + 0x52, 0x0, 0x14, 0x9d, 0xfe, 0x94, 0x0, 0x0, + 0x1, 0x48, 0xbd, 0xef, 0xed, 0xa9, 0xbe, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x49, 0xed, 0x82, 0x0, 0x0, 0x39, 0xba, 0x52, + 0x0, 0x2, 0x6b, 0xee, 0x94, 0x0, 0x0, 0x0, + 0x26, 0x9c, 0xef, 0xfe, 0xec, 0xa7, 0x31, 0x0, + 0x0, + + /* U+68 "h" */ + 0x2, 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xde, 0x93, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x28, 0xde, 0xa8, 0x8b, 0xef, 0xfe, 0xdb, 0x62, + 0x0, 0x0, 0x2, 0x8d, 0xfe, 0xb6, 0x21, 0x1, + 0x49, 0xdf, 0xa5, 0x0, 0x0, 0x28, 0xde, 0x93, + 0x0, 0x0, 0x0, 0x49, 0xfc, 0x71, 0x0, 0x2, + 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x4, 0x9f, 0xd7, + 0x20, 0x0, 0x28, 0xde, 0x93, 0x0, 0x0, 0x0, + 0x49, 0xfd, 0x72, 0x0, 0x2, 0x8d, 0xe9, 0x30, + 0x0, 0x0, 0x4, 0x9f, 0xd7, 0x20, 0x0, 0x28, + 0xde, 0x93, 0x0, 0x0, 0x0, 0x49, 0xfd, 0x72, + 0x0, + + /* U+69 "i" */ + 0x1, 0x5b, 0xea, 0x40, 0x0, 0x1, 0x23, 0x20, + 0x0, 0x1, 0x6c, 0xfa, 0x50, 0x0, 0x16, 0xcf, + 0xa5, 0x0, 0x1, 0x6c, 0xfa, 0x50, 0x0, 0x16, + 0xcf, 0xa5, 0x0, 0x1, 0x6c, 0xfa, 0x50, 0x0, + 0x16, 0xcf, 0xa5, 0x0, 0x1, 0x6c, 0xfa, 0x50, + 0x0, + + /* U+6A "j" */ + 0x0, 0x0, 0x27, 0xcd, 0x83, 0x0, 0x0, 0x0, + 0x1, 0x33, 0x20, 0x0, 0x0, 0x0, 0x27, 0xdf, + 0x94, 0x0, 0x0, 0x0, 0x27, 0xdf, 0x94, 0x0, + 0x0, 0x0, 0x27, 0xdf, 0x94, 0x0, 0x0, 0x0, + 0x27, 0xdf, 0x94, 0x0, 0x0, 0x0, 0x27, 0xdf, + 0x94, 0x0, 0x0, 0x0, 0x27, 0xdf, 0x94, 0x0, + 0x0, 0x0, 0x27, 0xdf, 0x94, 0x0, 0x0, 0x0, + 0x27, 0xde, 0x94, 0x0, 0x0, 0x1, 0x49, 0xed, + 0x83, 0x0, 0x5, 0xaf, 0xfe, 0xb6, 0x20, 0x0, + + /* U+6B "k" */ + 0x2, 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xde, 0x93, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x28, 0xde, 0x93, 0x0, 0x1, 0x4a, 0xde, 0xa5, + 0x10, 0x0, 0x2, 0x8d, 0xe9, 0x30, 0x37, 0xce, + 0xc8, 0x30, 0x0, 0x0, 0x0, 0x28, 0xde, 0xa8, + 0xae, 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x8d, 0xff, 0xff, 0xfe, 0xb6, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x28, 0xdf, 0xb5, 0x24, 0x9d, 0xeb, + 0x61, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, 0x30, + 0x0, 0x38, 0xde, 0xb6, 0x10, 0x0, 0x0, 0x28, + 0xde, 0x93, 0x0, 0x0, 0x3, 0x8d, 0xeb, 0x61, + 0x0, + + /* U+6C "l" */ + 0x1, 0x6c, 0xfa, 0x50, 0x0, 0x16, 0xcf, 0xa5, + 0x0, 0x1, 0x6c, 0xfa, 0x50, 0x0, 0x16, 0xcf, + 0xa5, 0x0, 0x1, 0x6c, 0xfa, 0x50, 0x0, 0x16, + 0xcf, 0xa5, 0x0, 0x1, 0x6c, 0xfa, 0x50, 0x0, + 0x16, 0xcf, 0xa5, 0x0, 0x1, 0x6c, 0xfa, 0x50, + 0x0, 0x16, 0xcf, 0xa5, 0x0, + + /* U+6D "m" */ + 0x3, 0x8d, 0xea, 0x89, 0xcd, 0xef, 0xed, 0xa6, + 0x33, 0x7b, 0xdf, 0xff, 0xec, 0x94, 0x10, 0x0, + 0x0, 0x38, 0xdf, 0xd9, 0x51, 0x0, 0x15, 0x9d, + 0xff, 0xd9, 0x41, 0x0, 0x16, 0xae, 0xe8, 0x30, + 0x0, 0x3, 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x4, + 0xaf, 0xd7, 0x20, 0x0, 0x0, 0x16, 0xbf, 0xb5, + 0x0, 0x0, 0x38, 0xde, 0x93, 0x0, 0x0, 0x0, + 0x49, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x6b, 0xfb, + 0x60, 0x0, 0x3, 0x8d, 0xe9, 0x30, 0x0, 0x0, + 0x4, 0x9f, 0xc7, 0x20, 0x0, 0x0, 0x6, 0xbf, + 0xb6, 0x0, 0x0, 0x38, 0xde, 0x93, 0x0, 0x0, + 0x0, 0x49, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x6b, + 0xfb, 0x60, 0x0, 0x3, 0x8d, 0xe9, 0x30, 0x0, + 0x0, 0x4, 0x9f, 0xc7, 0x20, 0x0, 0x0, 0x6, + 0xbf, 0xb6, 0x0, 0x0, + + /* U+6E "n" */ + 0x2, 0x8d, 0xd9, 0x78, 0xbe, 0xff, 0xed, 0xb6, + 0x20, 0x0, 0x0, 0x28, 0xdf, 0xeb, 0x62, 0x10, + 0x14, 0x9d, 0xfa, 0x50, 0x0, 0x2, 0x8d, 0xe9, + 0x30, 0x0, 0x0, 0x4, 0x9f, 0xc7, 0x10, 0x0, + 0x28, 0xde, 0x93, 0x0, 0x0, 0x0, 0x49, 0xfd, + 0x72, 0x0, 0x2, 0x8d, 0xe9, 0x30, 0x0, 0x0, + 0x4, 0x9f, 0xd7, 0x20, 0x0, 0x28, 0xde, 0x93, + 0x0, 0x0, 0x0, 0x49, 0xfd, 0x72, 0x0, 0x2, + 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x4, 0x9f, 0xd7, + 0x20, 0x0, + + /* U+6F "o" */ + 0x0, 0x0, 0x36, 0xad, 0xef, 0xff, 0xdb, 0x84, + 0x10, 0x0, 0x0, 0x4, 0xae, 0xda, 0x52, 0x0, + 0x13, 0x7c, 0xec, 0x72, 0x0, 0x5, 0xaf, 0xc7, + 0x10, 0x0, 0x0, 0x0, 0x49, 0xed, 0x72, 0x1, + 0x7c, 0xfa, 0x50, 0x0, 0x0, 0x0, 0x2, 0x7c, + 0xf9, 0x40, 0x5, 0xaf, 0xc6, 0x10, 0x0, 0x0, + 0x0, 0x49, 0xed, 0x82, 0x0, 0x4, 0xae, 0xd9, + 0x52, 0x0, 0x13, 0x7b, 0xec, 0x72, 0x0, 0x0, + 0x1, 0x37, 0xac, 0xee, 0xfe, 0xdb, 0x95, 0x20, + 0x0, 0x0, + + /* U+70 "p" */ + 0x2, 0x8d, 0xeb, 0x9a, 0xcd, 0xee, 0xec, 0x96, + 0x20, 0x0, 0x0, 0x28, 0xdf, 0xc8, 0x30, 0x0, + 0x3, 0x7c, 0xfc, 0x71, 0x0, 0x2, 0x8d, 0xe9, + 0x30, 0x0, 0x0, 0x0, 0x5b, 0xfb, 0x61, 0x0, + 0x28, 0xde, 0x93, 0x0, 0x0, 0x0, 0x4, 0x9e, + 0xd7, 0x20, 0x2, 0x8d, 0xe9, 0x30, 0x0, 0x0, + 0x0, 0x6b, 0xfb, 0x60, 0x0, 0x28, 0xdf, 0xd8, + 0x41, 0x0, 0x14, 0x8d, 0xfc, 0x61, 0x0, 0x2, + 0x8d, 0xeb, 0xaa, 0xce, 0xee, 0xec, 0xa6, 0x20, + 0x0, 0x0, 0x28, 0xde, 0x93, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, + 0xde, 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+71 "q" */ + 0x0, 0x1, 0x48, 0xbd, 0xee, 0xed, 0xa8, 0xad, + 0xe9, 0x30, 0x0, 0x15, 0xbf, 0xd9, 0x52, 0x0, + 0x13, 0x8c, 0xfe, 0x93, 0x0, 0x5, 0xaf, 0xc7, + 0x10, 0x0, 0x0, 0x3, 0x8d, 0xe9, 0x30, 0x1, + 0x6b, 0xfa, 0x50, 0x0, 0x0, 0x0, 0x38, 0xde, + 0x93, 0x0, 0x5, 0xaf, 0xc6, 0x10, 0x0, 0x0, + 0x3, 0x8d, 0xe9, 0x30, 0x0, 0x15, 0xbf, 0xd9, + 0x41, 0x0, 0x14, 0x8c, 0xfe, 0x93, 0x0, 0x0, + 0x1, 0x48, 0xbd, 0xef, 0xed, 0xba, 0xbe, 0xe9, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x38, 0xde, 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0x8d, 0xe9, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xde, 0x93, + 0x0, + + /* U+72 "r" */ + 0x2, 0x8d, 0xeb, 0xab, 0xde, 0xd8, 0x30, 0x0, + 0x28, 0xdf, 0xea, 0x52, 0x0, 0x0, 0x0, 0x2, + 0x8d, 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, 0x28, + 0xde, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, + 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, 0x28, 0xde, + 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xe9, + 0x30, 0x0, 0x0, 0x0, 0x0, + + /* U+73 "s" */ + 0x0, 0x3, 0x6a, 0xce, 0xff, 0xed, 0xc9, 0x52, + 0x0, 0x1, 0x6c, 0xfb, 0x62, 0x0, 0x13, 0x8c, + 0xfb, 0x61, 0x1, 0x6c, 0xfc, 0x84, 0x21, 0x0, + 0x0, 0x11, 0x0, 0x0, 0x1, 0x47, 0x9b, 0xde, + 0xed, 0xb8, 0x52, 0x0, 0x1, 0x23, 0x21, 0x0, + 0x0, 0x13, 0x7b, 0xfc, 0x72, 0x4, 0x9e, 0xea, + 0x41, 0x0, 0x1, 0x6a, 0xec, 0x72, 0x0, 0x13, + 0x7a, 0xce, 0xef, 0xee, 0xca, 0x73, 0x0, + + /* U+74 "t" */ + 0x0, 0x0, 0x1, 0x36, 0x75, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x27, 0xcf, 0xa4, 0x0, 0x0, 0x0, + 0x49, 0xde, 0xff, 0xff, 0xee, 0xb6, 0x20, 0x0, + 0x0, 0x27, 0xcf, 0xa4, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x7c, 0xfa, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xcf, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x7c, 0xfa, 0x40, 0x0, 0x0, 0x0, 0x0, 0x16, + 0xcf, 0xb6, 0x10, 0x0, 0x0, 0x0, 0x0, 0x25, + 0xad, 0xff, 0xc7, 0x20, + + /* U+75 "u" */ + 0x3, 0x8e, 0xe8, 0x30, 0x0, 0x0, 0x4, 0xaf, + 0xc7, 0x20, 0x0, 0x38, 0xee, 0x83, 0x0, 0x0, + 0x0, 0x4a, 0xfc, 0x72, 0x0, 0x3, 0x8e, 0xe8, + 0x30, 0x0, 0x0, 0x4, 0xaf, 0xc7, 0x20, 0x0, + 0x38, 0xee, 0x83, 0x0, 0x0, 0x0, 0x4a, 0xfc, + 0x72, 0x0, 0x2, 0x8d, 0xe9, 0x30, 0x0, 0x0, + 0x4, 0xaf, 0xc7, 0x20, 0x0, 0x15, 0xbf, 0xc8, + 0x30, 0x1, 0x26, 0xbe, 0xfc, 0x72, 0x0, 0x0, + 0x3, 0x7b, 0xde, 0xff, 0xec, 0x99, 0xbf, 0xc7, + 0x20, 0x0, + + /* U+76 "v" */ + 0x0, 0x5, 0xaf, 0xc7, 0x10, 0x0, 0x0, 0x5, + 0xaf, 0xc6, 0x10, 0x0, 0x5, 0xaf, 0xc6, 0x10, + 0x0, 0x4, 0xaf, 0xc6, 0x10, 0x0, 0x0, 0x5, + 0xaf, 0xb6, 0x10, 0x4, 0x9e, 0xc7, 0x10, 0x0, + 0x0, 0x0, 0x5, 0xae, 0xb5, 0x3, 0x9e, 0xc7, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x5, 0xae, 0xa8, + 0x9d, 0xc7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5, 0xaf, 0xff, 0xc7, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xaf, 0xc7, 0x20, 0x0, + 0x0, 0x0, + + /* U+77 "w" */ + 0x0, 0x4, 0x9e, 0xc7, 0x10, 0x0, 0x1, 0x6c, + 0xfb, 0x61, 0x0, 0x0, 0x27, 0xce, 0x94, 0x0, + 0x0, 0x0, 0x5, 0xaf, 0xa5, 0x0, 0x0, 0x5b, + 0xff, 0xfa, 0x50, 0x0, 0x5, 0xbf, 0xa5, 0x0, + 0x0, 0x0, 0x0, 0x16, 0xce, 0x94, 0x0, 0x5a, + 0xd9, 0x8a, 0xea, 0x50, 0x4, 0x9e, 0xb6, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x28, 0xdd, 0x72, 0x49, + 0xda, 0x40, 0x5a, 0xe9, 0x42, 0x7d, 0xc7, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x39, 0xeb, 0x99, + 0xda, 0x50, 0x0, 0x6b, 0xd9, 0x9b, 0xd8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4a, 0xff, + 0xfb, 0x61, 0x0, 0x1, 0x6c, 0xff, 0xe9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5b, + 0xfc, 0x71, 0x0, 0x0, 0x2, 0x7c, 0xfb, 0x50, + 0x0, 0x0, 0x0, 0x0, + + /* U+78 "x" */ + 0x0, 0x1, 0x6b, 0xfd, 0x82, 0x0, 0x0, 0x49, + 0xee, 0xa5, 0x10, 0x0, 0x0, 0x0, 0x2, 0x7c, + 0xeb, 0x61, 0x27, 0xce, 0xb6, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0x8d, 0xed, 0xde, 0xc7, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x17, 0xcf, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0x9e, 0xdc, 0xce, 0xd7, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, + 0xea, 0x51, 0x16, 0xbe, 0xc7, 0x20, 0x0, 0x0, + 0x0, 0x2, 0x7c, 0xfc, 0x72, 0x0, 0x0, 0x28, + 0xdf, 0xb6, 0x10, 0x0, + + /* U+79 "y" */ + 0x0, 0x16, 0xbf, 0xc7, 0x20, 0x0, 0x0, 0x17, + 0xcf, 0xb6, 0x10, 0x0, 0x16, 0xbf, 0xc7, 0x10, + 0x0, 0x16, 0xbf, 0xb6, 0x10, 0x0, 0x0, 0x16, + 0xbf, 0xb6, 0x10, 0x5, 0xaf, 0xc6, 0x10, 0x0, + 0x0, 0x0, 0x16, 0xcf, 0xb6, 0x14, 0xaf, 0xc7, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x16, 0xcf, 0xb9, + 0xae, 0xc7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x17, 0xcf, 0xff, 0xd7, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x17, 0xcf, 0xd8, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6c, 0xd8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x24, + 0x9d, 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xcf, 0xeb, 0x73, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+7A "z" */ + 0x16, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x50, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5a, 0xed, + 0x94, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5b, 0xed, + 0x94, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5b, 0xed, + 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xed, + 0x83, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xed, + 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, 0xcf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x83, + + /* U+7B "{" */ + 0x0, 0x0, 0x0, 0x2, 0x47, 0x75, 0x10, 0x0, + 0x0, 0x0, 0x49, 0xed, 0x94, 0x10, 0x0, 0x0, + 0x0, 0x49, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, + 0x5, 0xbf, 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6b, 0xfa, 0x50, 0x0, 0x0, 0x0, 0x1, 0x5a, + 0xec, 0x72, 0x0, 0x0, 0x0, 0x49, 0xff, 0xfb, + 0x51, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5a, 0xec, + 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6b, 0xfa, + 0x50, 0x0, 0x0, 0x0, 0x0, 0x5, 0xbf, 0xb6, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xfc, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xdd, 0x94, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x2, 0x47, 0x75, + 0x10, 0x0, + + /* U+7C "|" */ + 0x0, 0x4a, 0xe9, 0x30, 0x0, 0x4, 0xae, 0x93, + 0x0, 0x0, 0x4a, 0xe9, 0x30, 0x0, 0x4, 0xae, + 0x93, 0x0, 0x0, 0x4a, 0xe9, 0x30, 0x0, 0x4, + 0xae, 0x93, 0x0, 0x0, 0x4a, 0xe9, 0x30, 0x0, + 0x4, 0xae, 0x93, 0x0, 0x0, 0x4a, 0xe9, 0x30, + 0x0, 0x4, 0xae, 0x93, 0x0, 0x0, 0x4a, 0xe9, + 0x30, 0x0, + + /* U+7D "}" */ + 0x0, 0x14, 0x78, 0x52, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x13, 0x8d, 0xea, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x6b, 0xfa, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xaf, 0xb6, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x4a, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x6c, 0xeb, 0x61, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xef, 0xfa, 0x50, 0x0, 0x0, 0x1, + 0x6c, 0xeb, 0x61, 0x0, 0x0, 0x0, 0x0, 0x4a, + 0xfc, 0x61, 0x0, 0x0, 0x0, 0x0, 0x5, 0xaf, + 0xb6, 0x10, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xfa, + 0x50, 0x0, 0x0, 0x0, 0x14, 0x8d, 0xea, 0x40, + 0x0, 0x0, 0x0, 0x14, 0x77, 0x42, 0x0, 0x0, + 0x0, 0x0, + + /* U+7E "~" */ + 0x0, 0x1, 0x59, 0xcd, 0xdc, 0x95, 0x20, 0x0, + 0x0, 0x38, 0xca, 0x50, 0x0, 0x4a, 0xeb, 0x73, + 0x36, 0xad, 0xd9, 0x41, 0x2, 0x7c, 0xd7, 0x20, + 0x2, 0x7c, 0xa6, 0x10, 0x0, 0x2, 0x6b, 0xef, + 0xff, 0xd9, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F001 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x12, 0x32, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x13, 0x46, 0x79, 0xbc, 0xef, 0xff, 0xff, + 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x13, 0x56, 0x89, 0xbc, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x9e, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xed, 0xca, 0x87, 0x54, 0x23, 0x8d, 0xff, 0xa5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xaf, + 0xff, 0xda, 0x87, 0x53, 0x21, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x8d, 0xff, 0xa5, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xaf, 0xfd, 0x82, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, + 0xff, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5, 0xaf, 0xfd, 0x82, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x8d, 0xff, 0xa5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xaf, 0xfd, + 0x82, 0x0, 0x0, 0x0, 0x0, 0x24, 0x79, 0xbb, + 0xbc, 0xdf, 0xff, 0xa5, 0x0, 0x0, 0x0, 0x0, + 0x12, 0x33, 0x37, 0xbf, 0xfd, 0x82, 0x0, 0x0, + 0x0, 0x16, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x0, 0x0, 0x15, 0xad, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x82, 0x0, 0x0, 0x0, 0x2, 0x6b, + 0xef, 0xff, 0xff, 0xff, 0xd9, 0x41, 0x0, 0x0, + 0x39, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x61, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x22, 0x32, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x25, 0x89, + 0xab, 0xaa, 0x87, 0x41, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F008 "" */ + 0x0, 0x39, 0xb9, 0x54, 0x59, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x95, 0x45, 0x9b, 0x93, 0x0, 0x0, 0x5a, 0xeb, + 0x88, 0x9b, 0xef, 0xb7, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x23, 0x7c, 0xfe, 0xb8, 0x88, 0xbe, + 0xa5, 0x0, 0x0, 0x5a, 0xc7, 0x10, 0x17, 0xcf, + 0xb5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x6b, 0xfc, 0x61, 0x1, 0x7c, 0xa5, 0x0, 0x0, + 0x5a, 0xfd, 0xcc, 0xce, 0xff, 0xb6, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x12, 0x7c, 0xff, 0xdc, + 0xcc, 0xef, 0xa5, 0x0, 0x0, 0x5a, 0xc6, 0x10, + 0x17, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfb, 0x61, 0x1, 0x6c, 0xa5, + 0x0, 0x0, 0x5a, 0xfd, 0xcc, 0xce, 0xff, 0xb6, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x7c, + 0xff, 0xdc, 0xcc, 0xef, 0xa5, 0x0, 0x0, 0x5a, + 0xc7, 0x10, 0x17, 0xcf, 0xb5, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x6b, 0xfc, 0x61, 0x1, + 0x7c, 0xa5, 0x0, 0x0, 0x5a, 0xeb, 0x88, 0x9b, + 0xef, 0xb7, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x23, 0x7c, 0xfe, 0xb8, 0x88, 0xbe, 0xa5, 0x0, + 0x0, 0x49, 0xb9, 0x54, 0x59, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x95, 0x45, 0x9b, 0x93, 0x0, + + /* U+F00B "" */ + 0x0, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0xb6, 0x25, + 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x83, 0x0, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xff, 0xd8, 0x46, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x0, 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, + 0xc6, 0x25, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x94, 0x0, 0x0, + 0x0, 0x12, 0x33, 0x33, 0x22, 0x10, 0x0, 0x1, + 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x33, 0x21, 0x0, 0x0, 0x0, 0x4a, 0xff, 0xff, + 0xff, 0xff, 0xc7, 0x26, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, + 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xd8, + 0x46, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, 0x4a, + 0xff, 0xff, 0xff, 0xff, 0xc7, 0x26, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa4, 0x0, 0x0, 0x0, 0x12, 0x33, 0x33, + 0x22, 0x10, 0x0, 0x1, 0x23, 0x33, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x21, 0x0, 0x0, + 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, 0xc6, 0x25, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x94, 0x0, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xff, 0xd8, 0x46, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x0, 0x0, 0x38, 0xdf, 0xff, 0xff, 0xfe, + 0xb6, 0x25, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x83, 0x0, + + /* U+F00C "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x7c, 0xdc, 0x94, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x38, 0xcf, 0xff, 0xff, 0xfe, + 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8c, + 0xff, 0xff, 0xff, 0xfd, 0x84, 0x10, 0x0, 0x0, + 0x1, 0x49, 0xcd, 0xc7, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x38, 0xcf, 0xff, 0xff, 0xff, 0xd8, + 0x41, 0x0, 0x0, 0x0, 0x0, 0x39, 0xef, 0xff, + 0xff, 0xfc, 0x83, 0x0, 0x0, 0x3, 0x8c, 0xff, + 0xff, 0xff, 0xfd, 0x84, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x48, 0xdf, 0xff, 0xff, 0xff, + 0xc8, 0x68, 0xcf, 0xff, 0xff, 0xff, 0xd8, 0x41, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x14, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x84, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x48, 0xcf, 0xff, 0xff, 0xff, 0xc8, 0x41, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x8c, + 0xdc, 0x83, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F00D "" */ + 0x0, 0x0, 0x13, 0x44, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x24, 0x42, 0x10, 0x0, 0x0, + 0x27, 0xdf, 0xff, 0xfc, 0x73, 0x0, 0x0, 0x0, + 0x14, 0x8d, 0xff, 0xff, 0xb6, 0x10, 0x0, 0x14, + 0x9d, 0xff, 0xff, 0xff, 0xc7, 0x32, 0x48, 0xdf, + 0xff, 0xff, 0xfd, 0x83, 0x0, 0x0, 0x0, 0x1, + 0x5a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd9, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x16, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xa5, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x8d, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x73, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x48, 0xdf, 0xff, 0xff, + 0xfd, 0x98, 0xad, 0xff, 0xff, 0xff, 0xc7, 0x30, + 0x0, 0x0, 0x39, 0xef, 0xff, 0xff, 0xd9, 0x41, + 0x0, 0x1, 0x5a, 0xdf, 0xff, 0xff, 0xd7, 0x20, + 0x0, 0x2, 0x59, 0xbb, 0x84, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x15, 0x9b, 0xb9, 0x51, 0x0, + + /* U+F011 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x47, 0x99, 0x74, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x36, 0x52, 0x0, 0x4, 0x9f, 0xff, + 0xf9, 0x40, 0x0, 0x25, 0x64, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0x9d, 0xff, + 0xfc, 0x71, 0x4, 0x9f, 0xff, 0xf9, 0x40, 0x17, + 0xcf, 0xff, 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x15, 0xaf, 0xff, 0xfd, 0x94, 0x10, 0x4, + 0x9f, 0xff, 0xf9, 0x40, 0x1, 0x59, 0xdf, 0xff, + 0xfb, 0x51, 0x0, 0x0, 0x0, 0x2, 0x7d, 0xff, + 0xfd, 0x83, 0x0, 0x0, 0x4, 0x9f, 0xff, 0xf9, + 0x40, 0x0, 0x0, 0x38, 0xdf, 0xff, 0xc7, 0x20, + 0x0, 0x0, 0x16, 0xbf, 0xff, 0xd8, 0x20, 0x0, + 0x0, 0x4, 0x9f, 0xff, 0xf9, 0x40, 0x0, 0x0, + 0x2, 0x8d, 0xff, 0xfb, 0x60, 0x0, 0x0, 0x17, + 0xcf, 0xff, 0xc6, 0x10, 0x0, 0x0, 0x3, 0x9e, + 0xff, 0xe9, 0x30, 0x0, 0x0, 0x1, 0x6c, 0xff, + 0xfc, 0x71, 0x0, 0x0, 0x5, 0xaf, 0xff, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x1, 0x11, 0x10, 0x0, + 0x0, 0x0, 0x4, 0x9e, 0xff, 0xfa, 0x50, 0x0, + 0x0, 0x1, 0x5a, 0xff, 0xff, 0xb6, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, + 0xff, 0xff, 0xb6, 0x10, 0x0, 0x0, 0x0, 0x3, + 0x8d, 0xff, 0xff, 0xda, 0x63, 0x10, 0x0, 0x0, + 0x0, 0x1, 0x36, 0xad, 0xff, 0xff, 0xd8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x5a, 0xdf, + 0xff, 0xff, 0xfe, 0xdc, 0xcc, 0xcd, 0xef, 0xff, + 0xff, 0xfd, 0xa5, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x68, 0xad, 0xef, + 0xff, 0xff, 0xff, 0xfe, 0xdb, 0x96, 0x31, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x11, 0x11, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F013 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x23, + 0x44, 0x44, 0x32, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x27, 0xdf, 0xff, 0xff, 0xfd, 0x72, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x35, 0x64, + 0x11, 0x36, 0xad, 0xff, 0xff, 0xff, 0xff, 0xda, + 0x63, 0x11, 0x46, 0x53, 0x0, 0x0, 0x0, 0x49, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x94, 0x0, + 0x16, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xba, 0xab, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x61, 0x1, 0x37, 0xbe, 0xff, 0xff, 0xff, + 0xc7, 0x20, 0x0, 0x0, 0x2, 0x7c, 0xff, 0xff, + 0xff, 0xeb, 0x73, 0x10, 0x0, 0x2, 0x7c, 0xff, + 0xff, 0xfd, 0x82, 0x0, 0x0, 0x0, 0x0, 0x28, + 0xdf, 0xff, 0xff, 0xd7, 0x20, 0x0, 0x1, 0x37, + 0xbe, 0xff, 0xff, 0xff, 0xc7, 0x20, 0x0, 0x0, + 0x2, 0x7c, 0xff, 0xff, 0xff, 0xeb, 0x73, 0x10, + 0x16, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xba, 0xab, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x61, 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x94, 0x0, 0x0, 0x0, 0x35, 0x64, + 0x11, 0x25, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xc9, + 0x52, 0x11, 0x36, 0x53, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x27, 0xdf, 0xff, 0xff, + 0xfd, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23, + 0x44, 0x44, 0x32, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+F015 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x25, 0x77, 0x63, 0x10, 0x0, 0x3, + 0x68, 0x88, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x59, + 0xdf, 0xff, 0xff, 0xfe, 0xb6, 0x32, 0x7c, 0xff, + 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x13, 0x7c, 0xef, 0xfe, 0xc8, + 0x54, 0x6a, 0xdf, 0xff, 0xee, 0xef, 0xff, 0xc7, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x26, 0xad, 0xff, 0xfd, 0xa5, 0x34, 0x8b, 0xc9, + 0x53, 0x47, 0xbe, 0xff, 0xff, 0xfc, 0x71, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x59, 0xcf, 0xff, + 0xeb, 0x74, 0x36, 0xad, 0xff, 0xff, 0xff, 0xec, + 0x84, 0x35, 0x9d, 0xff, 0xfe, 0xb6, 0x30, 0x0, + 0x0, 0x2, 0x6b, 0xef, 0xff, 0xc9, 0x53, 0x59, + 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xb7, 0x33, 0x6b, 0xef, 0xff, 0xd8, 0x40, 0x0, + 0x3, 0x7a, 0x96, 0x33, 0x6b, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd9, 0x42, 0x48, 0xa9, 0x51, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x16, 0xcf, 0xff, 0xff, 0xff, 0xfa, 0x50, 0x0, + 0x2, 0x7d, 0xff, 0xff, 0xff, 0xfe, 0x94, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6c, + 0xff, 0xff, 0xff, 0xff, 0xa4, 0x0, 0x0, 0x27, + 0xcf, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xae, 0xff, + 0xff, 0xff, 0xd8, 0x30, 0x0, 0x1, 0x6b, 0xff, + 0xff, 0xff, 0xfd, 0x83, 0x0, 0x0, 0x0, 0x0, + + /* U+F019 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x24, 0x67, 0x77, 0x76, 0x42, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x7d, 0xff, 0xff, + 0xff, 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x8d, 0xff, 0xff, 0xff, 0xd8, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, + 0xff, 0xff, 0xff, 0xd8, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x8d, 0xff, 0xff, 0xff, + 0xd8, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x49, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x94, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x14, 0x9d, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd9, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x23, 0x33, 0x33, 0x33, 0x33, 0x22, + 0x59, 0xdf, 0xff, 0xfd, 0x95, 0x22, 0x33, 0x33, + 0x33, 0x33, 0x32, 0x10, 0x0, 0x0, 0x4a, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa5, 0x34, 0x77, + 0x43, 0x5a, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa4, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xec, 0xaa, 0xce, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, + 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe9, 0x56, 0xbc, 0x75, + 0x8d, 0xff, 0xa5, 0x0, 0x0, 0x25, 0x9a, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa8, 0x52, + 0x0, + + /* U+F01C "" */ + 0x0, 0x0, 0x0, 0x0, 0x1, 0x49, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xb7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x15, 0xae, 0xff, 0xda, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x9b, 0xef, + 0xfc, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x5a, 0xef, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0xae, 0xff, + 0xd7, 0x30, 0x0, 0x0, 0x0, 0x15, 0xae, 0xff, + 0xc7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x4a, 0xef, 0xfc, + 0x82, 0x0, 0x0, 0x38, 0xef, 0xff, 0xda, 0x88, + 0x88, 0x88, 0x63, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x25, 0x78, 0x88, 0x88, 0x9b, 0xef, 0xff, 0xb6, + 0x10, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd8, 0x30, 0x0, 0x0, 0x1, 0x5b, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, + 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd8, 0x20, 0x5, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x72, 0x0, 0x26, 0xbe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x84, 0x0, + + /* U+F021 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x11, 0x11, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x58, 0x99, 0x62, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x13, 0x69, 0xbd, 0xef, 0xff, 0xff, + 0xff, 0xfd, 0xb9, 0x74, 0x20, 0x4, 0x9f, 0xff, + 0xa5, 0x0, 0x0, 0x0, 0x0, 0x3, 0x7b, 0xef, + 0xff, 0xff, 0xdc, 0xaa, 0x99, 0x9a, 0xcd, 0xff, + 0xff, 0xfd, 0xaa, 0xbf, 0xff, 0xa5, 0x0, 0x0, + 0x0, 0x4, 0x9e, 0xff, 0xfe, 0xa6, 0x31, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x59, 0xcf, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x2, 0x7c, 0xff, + 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, + 0xef, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x3, 0x6a, 0xa9, 0x73, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x25, 0x9a, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xa9, 0x63, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x36, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xa9, 0x52, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x37, 0xaa, 0xa6, 0x30, 0x0, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xfe, 0xee, 0xff, + 0xfe, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, + 0xcf, 0xff, 0xc7, 0x20, 0x0, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xfc, 0x95, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x13, 0x7b, 0xef, 0xff, 0xe9, 0x40, + 0x0, 0x0, 0x0, 0x5a, 0xff, 0xfb, 0xaa, 0xdf, + 0xff, 0xff, 0xdb, 0xa9, 0x99, 0xaa, 0xcd, 0xff, + 0xff, 0xfe, 0xb7, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x5a, 0xff, 0xfa, 0x40, 0x2, 0x47, 0x9c, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xdb, 0x96, 0x31, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x99, 0x85, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, 0x11, 0x11, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F026 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x26, 0xaa, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x6b, 0xef, 0xff, 0xa5, 0x0, + 0x0, 0x14, 0x78, 0x88, 0x88, 0x89, 0xce, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, + 0x0, 0x38, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x37, 0xcf, 0xff, 0xff, 0xa5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x7c, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x10, 0x0, + + /* U+F027 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x26, 0xaa, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, + 0xbe, 0xff, 0xfa, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x14, 0x78, 0x88, 0x88, 0x89, 0xce, + 0xff, 0xff, 0xff, 0xa5, 0x0, 0x13, 0x31, 0x0, + 0x0, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfa, 0x50, 0x16, 0xbe, 0xea, + 0x51, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x3, 0x8d, + 0xfa, 0x40, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0x50, 0x15, 0xae, + 0xea, 0x51, 0x0, 0x0, 0x38, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x24, + 0x42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x8c, 0xff, 0xff, 0xfa, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0x8c, 0xff, 0xa4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x11, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F028 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xfd, + 0xa5, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xaa, 0x72, + 0x0, 0x0, 0x0, 0x12, 0x11, 0x14, 0x8c, 0xfe, + 0x94, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x26, 0xbe, 0xff, 0xfa, 0x50, 0x0, + 0x0, 0x27, 0xcf, 0xda, 0x52, 0x16, 0xbe, 0xe9, + 0x40, 0x0, 0x0, 0x14, 0x78, 0x88, 0x88, 0x89, + 0xce, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x23, 0x32, + 0x1, 0x4a, 0xdf, 0xb6, 0x13, 0x8d, 0xfa, 0x50, + 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfa, 0x50, 0x15, 0xbe, 0xea, 0x51, + 0x16, 0xbf, 0xc6, 0x13, 0x9e, 0xe9, 0x30, 0x0, + 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa5, 0x0, 0x3, 0x8d, 0xfa, 0x40, 0x39, + 0xee, 0x83, 0x17, 0xcf, 0xa5, 0x0, 0x5, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, + 0x50, 0x15, 0xbe, 0xea, 0x51, 0x16, 0xcf, 0xc6, + 0x13, 0x8e, 0xe9, 0x30, 0x0, 0x38, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, + 0x23, 0x31, 0x1, 0x5a, 0xef, 0xb6, 0x13, 0x8d, + 0xfa, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x7c, 0xff, 0xff, 0xfa, 0x50, 0x0, 0x0, + 0x27, 0xcf, 0xda, 0x52, 0x16, 0xbf, 0xe9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x7c, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x12, + 0x11, 0x15, 0x9d, 0xfe, 0x94, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x11, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, + 0xfd, 0xa5, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F03E "" */ + 0x0, 0x26, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xeb, 0x62, 0x0, 0x0, 0x5a, 0xff, + 0xfd, 0xa7, 0x56, 0x7b, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xb5, 0x0, 0x0, + 0x1, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, + 0x5a, 0xff, 0xeb, 0x63, 0x12, 0x38, 0xcf, 0xff, + 0xff, 0xff, 0xfe, 0xa6, 0x20, 0x13, 0x8c, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xfe, 0xcc, 0xdf, 0xff, 0xff, 0xea, 0x62, + 0x0, 0x0, 0x0, 0x1, 0x38, 0xdf, 0xff, 0xa5, + 0x0, 0x0, 0x5a, 0xff, 0xff, 0xea, 0x62, 0x0, + 0x15, 0x9b, 0xa6, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x8d, 0xff, 0xa5, 0x0, 0x0, 0x5a, + 0xff, 0xe9, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, + 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xec, 0x98, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x89, 0xce, 0xff, 0xa5, 0x0, + 0x0, 0x26, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xeb, 0x62, 0x0, + + /* U+F048 "" */ + 0x25, 0x78, 0x86, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x13, 0x67, 0x52, 0x0, 0x4, 0x9f, 0xff, + 0xc6, 0x10, 0x0, 0x0, 0x0, 0x15, 0x9d, 0xff, + 0xfe, 0x83, 0x0, 0x49, 0xff, 0xfc, 0x61, 0x0, + 0x0, 0x26, 0xae, 0xff, 0xff, 0xff, 0xe9, 0x30, + 0x4, 0x9f, 0xff, 0xc6, 0x10, 0x37, 0xbe, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x93, 0x0, 0x49, 0xff, + 0xfd, 0xa9, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe9, 0x30, 0x4, 0x9f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x93, + 0x0, 0x49, 0xff, 0xfe, 0xee, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe9, 0x30, 0x4, 0x9f, + 0xff, 0xc6, 0x24, 0x9d, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x93, 0x0, 0x49, 0xff, 0xfc, 0x61, + 0x0, 0x3, 0x7c, 0xef, 0xff, 0xff, 0xff, 0xe9, + 0x30, 0x4, 0x9f, 0xff, 0xc6, 0x10, 0x0, 0x0, + 0x2, 0x6b, 0xef, 0xff, 0xfe, 0x93, 0x0, 0x38, + 0xdf, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x59, 0xde, 0xb6, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+F04B "" */ + 0x0, 0x1, 0x46, 0x76, 0x31, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x49, 0xff, 0xff, 0xff, 0xda, + 0x74, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0xa7, 0x41, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xdb, 0x74, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb8, 0x52, 0x0, + 0x0, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xeb, 0x84, 0x10, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x61, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x73, 0x10, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb8, 0x42, 0x0, + 0x0, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xdb, 0x74, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0xa7, 0x41, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, + 0xff, 0xff, 0xff, 0xda, 0x74, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x36, 0x76, 0x31, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+F04C "" */ + 0x0, 0x15, 0xad, 0xef, 0xff, 0xff, 0xfe, 0xc8, + 0x30, 0x0, 0x15, 0xad, 0xef, 0xff, 0xff, 0xfe, + 0xc8, 0x30, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x72, 0x0, 0x5a, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x72, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, + 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x82, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x82, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x82, 0x0, 0x5a, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, + 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x82, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x82, 0x0, 0x4a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x72, 0x0, 0x4a, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x72, 0x0, 0x2, 0x47, 0x88, + 0x99, 0x99, 0x88, 0x63, 0x10, 0x0, 0x2, 0x47, + 0x88, 0x99, 0x99, 0x88, 0x63, 0x10, + + /* U+F04D "" */ + 0x0, 0x2, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x63, 0x10, 0x0, 0x4a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x72, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x82, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x82, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x82, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x72, 0x0, 0x15, 0xad, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xc8, 0x30, + + /* U+F051 "" */ + 0x2, 0x57, 0x64, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x25, 0x88, 0x85, 0x20, 0x2, 0x7d, 0xff, + 0xfd, 0xa5, 0x20, 0x0, 0x0, 0x0, 0x5, 0xbf, + 0xff, 0xa5, 0x0, 0x28, 0xdf, 0xff, 0xff, 0xfe, + 0xb7, 0x30, 0x0, 0x0, 0x5b, 0xff, 0xfa, 0x50, + 0x2, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, + 0x31, 0x5, 0xbf, 0xff, 0xa5, 0x0, 0x28, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xac, + 0xff, 0xfa, 0x50, 0x2, 0x8d, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, + 0x0, 0x28, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xee, 0xff, 0xfa, 0x50, 0x2, 0x8d, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x94, 0x25, + 0xbf, 0xff, 0xa5, 0x0, 0x28, 0xdf, 0xff, 0xff, + 0xff, 0xfc, 0x84, 0x10, 0x0, 0x5b, 0xff, 0xfa, + 0x50, 0x2, 0x8d, 0xff, 0xff, 0xeb, 0x73, 0x0, + 0x0, 0x0, 0x5, 0xbf, 0xff, 0xa5, 0x0, 0x15, + 0xae, 0xda, 0x62, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5a, 0xef, 0xe9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+F052 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x36, 0x77, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x38, 0xcf, 0xff, 0xff, 0xea, 0x51, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x26, 0xbe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xd9, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0xae, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x14, 0x9d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xb7, 0x20, 0x0, + 0x0, 0x0, 0x2, 0x6c, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x94, 0x0, 0x0, 0x0, 0x27, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x50, 0x0, + 0x0, 0x0, 0x1, 0x23, 0x34, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, + 0x31, 0x0, 0x0, 0x0, 0x0, 0x38, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfb, 0x51, 0x0, 0x0, + 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd8, 0x20, 0x0, 0x0, 0x27, 0xce, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xea, 0x51, 0x0, 0x0, + + /* U+F053 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x34, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x25, 0xae, 0xff, 0xfb, 0x61, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x5a, 0xef, 0xff, + 0xfd, 0x94, 0x10, 0x0, 0x0, 0x0, 0x0, 0x25, + 0xae, 0xff, 0xff, 0xd9, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x5a, 0xef, 0xff, 0xfd, 0x94, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, 0xff, 0xff, + 0xeb, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x27, 0xbe, 0xff, 0xff, 0xc8, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x7b, + 0xef, 0xff, 0xfc, 0x83, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x37, 0xce, 0xff, 0xff, + 0xc8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x7c, 0xef, 0xff, 0xfa, 0x51, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, + 0xab, 0x95, 0x10, 0x0, + + /* U+F054 "" */ + 0x0, 0x2, 0x34, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x8e, 0xff, 0xfc, + 0x83, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x27, 0xbe, 0xff, 0xff, 0xc8, 0x31, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7b, + 0xef, 0xff, 0xfc, 0x83, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x27, 0xbe, 0xff, 0xff, + 0xc8, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x8d, 0xff, 0xff, 0xfb, 0x61, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x5a, 0xef, 0xff, + 0xfd, 0x95, 0x10, 0x0, 0x0, 0x0, 0x0, 0x25, + 0xae, 0xff, 0xff, 0xd9, 0x51, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x5a, 0xef, 0xff, 0xfd, 0x95, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, 0xff, 0xff, + 0xd9, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x37, 0xab, 0x85, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, + + /* U+F067 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x69, 0xa9, 0x84, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x38, 0xdf, 0xff, 0xfb, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x38, 0xef, 0xff, 0xfb, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xef, 0xff, + 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x57, 0x88, 0x88, 0x88, 0x88, 0x9c, + 0xff, 0xff, 0xfd, 0xb8, 0x88, 0x88, 0x88, 0x88, + 0x74, 0x10, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x72, 0x0, 0x15, 0x9b, 0xbb, + 0xbb, 0xbb, 0xbb, 0xce, 0xff, 0xff, 0xfe, 0xdb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xa7, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xef, 0xff, + 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, + 0xef, 0xff, 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x38, 0xef, 0xff, 0xfb, 0x60, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x15, 0x9c, 0xdd, 0xb7, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F068 "" */ + 0x0, 0x2, 0x45, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x53, 0x10, 0x0, 0x4a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x72, 0x0, 0x26, 0xac, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xc8, 0x40, + + /* U+F06E "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x58, + 0xab, 0xcd, 0xef, 0xff, 0xff, 0xed, 0xca, 0x97, + 0x42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x49, 0xcf, 0xff, 0xfe, 0xc9, + 0x64, 0x32, 0x23, 0x45, 0x7a, 0xdf, 0xff, 0xfe, + 0xb7, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x6b, 0xef, 0xff, 0xff, 0xc6, 0x20, 0x0, 0x3, + 0x79, 0x87, 0x52, 0x0, 0x49, 0xdf, 0xff, 0xff, + 0xd9, 0x41, 0x0, 0x0, 0x0, 0x27, 0xcf, 0xff, + 0xff, 0xfe, 0x93, 0x0, 0x0, 0x2, 0x7c, 0xff, + 0xff, 0xea, 0x51, 0x16, 0xbf, 0xff, 0xff, 0xfe, + 0xa5, 0x10, 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, + 0xc6, 0x12, 0x7c, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0x40, 0x49, 0xef, 0xff, 0xff, 0xff, 0xc7, + 0x10, 0x0, 0x38, 0xdf, 0xff, 0xff, 0xfe, 0x93, + 0x3, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x61, + 0x16, 0xbf, 0xff, 0xff, 0xfe, 0xa4, 0x10, 0x0, + 0x0, 0x2, 0x6b, 0xef, 0xff, 0xff, 0xc6, 0x20, + 0x26, 0x9b, 0xcc, 0xca, 0x84, 0x11, 0x49, 0xdf, + 0xff, 0xff, 0xd8, 0x41, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x59, 0xcf, 0xff, 0xfe, 0xc9, 0x64, + 0x32, 0x23, 0x45, 0x7a, 0xdf, 0xff, 0xfe, 0xb7, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x13, 0x57, 0x9b, 0xcd, 0xef, 0xff, + 0xff, 0xed, 0xca, 0x97, 0x42, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, + + /* U+F070 "" */ + 0x0, 0x1, 0x35, 0x42, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x8d, 0xff, 0xfd, 0x95, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x8c, 0xef, + 0xff, 0xc8, 0x53, 0x46, 0x8a, 0xbd, 0xee, 0xff, + 0xff, 0xed, 0xcb, 0x97, 0x53, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x59, 0xcf, 0xff, 0xff, 0xff, 0xda, 0x75, + 0x43, 0x23, 0x45, 0x79, 0xdf, 0xff, 0xfe, 0xc8, + 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x25, 0x9d, 0xff, 0xfe, + 0xb7, 0x44, 0x7a, 0xa9, 0x74, 0x10, 0x28, 0xcf, + 0xff, 0xff, 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x16, 0xbd, 0xc8, 0x41, 0x0, 0x2, + 0x6a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x72, + 0x4, 0xaf, 0xff, 0xff, 0xff, 0xb6, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x27, 0xdf, 0xff, 0xff, 0xeb, + 0x73, 0x0, 0x0, 0x26, 0xad, 0xff, 0xff, 0xff, + 0xfb, 0x60, 0x27, 0xdf, 0xff, 0xff, 0xff, 0xe8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x15, 0xbe, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x0, 0x3, 0x7b, + 0xef, 0xff, 0xeb, 0x67, 0xaf, 0xff, 0xff, 0xff, + 0xb6, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x49, 0xdf, 0xff, 0xff, 0xc8, 0x30, 0x0, 0x0, + 0x0, 0x1, 0x37, 0xbe, 0xff, 0xff, 0xff, 0xff, + 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x37, 0xbe, 0xff, 0xff, 0xc9, + 0x64, 0x32, 0x22, 0x10, 0x0, 0x14, 0x8b, 0xef, + 0xff, 0xea, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x57, + 0x9b, 0xcd, 0xef, 0xff, 0xfe, 0xb7, 0x30, 0x0, + 0x1, 0x48, 0xce, 0xff, 0xfc, 0x94, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x14, 0x8c, 0xff, 0xfe, + 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x45, 0x41, 0x0, 0x0, + + /* U+F071 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x33, 0x21, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x5a, 0xef, 0xff, 0xd8, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xae, 0xff, + 0xff, 0xff, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x38, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xb5, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x7c, 0xff, 0xff, 0xee, 0xdd, 0xde, 0xff, + 0xff, 0xea, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0xbf, + 0xff, 0xff, 0xd7, 0x20, 0x0, 0x5a, 0xff, 0xff, + 0xfd, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x4a, 0xef, 0xff, 0xff, + 0xfd, 0x72, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, + 0xc7, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x9d, 0xff, 0xff, 0xff, 0xff, 0xd7, + 0x20, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x61, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, + 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0x87, + 0x8b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa4, + 0x10, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xc7, 0x20, 0x0, 0x4a, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x30, + 0x0, 0x0, 0x15, 0xae, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x95, 0x21, 0x37, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x72, 0x0, + 0x4, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x61, 0x0, 0x1, + 0x46, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x75, 0x20, 0x0, + + /* U+F074 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x46, + 0x63, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xaf, 0xff, 0xc8, 0x31, + 0x0, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xc8, 0x30, 0x0, 0x0, 0x0, 0x26, 0xbe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x72, 0x0, 0x0, + 0x48, 0xcd, 0xdd, 0xde, 0xff, 0xff, 0xeb, 0x62, + 0x2, 0x6b, 0xef, 0xff, 0xfe, 0xde, 0xff, 0xff, + 0xff, 0xd9, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x26, 0xac, 0xa6, 0x46, 0xbe, 0xff, 0xff, + 0xd9, 0x41, 0x5, 0xaf, 0xfd, 0x95, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x6b, 0xef, 0xff, 0xfd, 0x94, 0x10, 0x0, 0x1, + 0x47, 0x62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x26, 0xbe, 0xff, 0xff, 0xd8, + 0x55, 0x8b, 0xc8, 0x41, 0x5, 0xaf, 0xfd, 0xa5, + 0x10, 0x0, 0x0, 0x0, 0x48, 0xcd, 0xdd, 0xde, + 0xff, 0xff, 0xfc, 0x84, 0x10, 0x49, 0xdf, 0xff, + 0xfe, 0xde, 0xff, 0xff, 0xff, 0xd9, 0x41, 0x0, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x41, + 0x0, 0x0, 0x0, 0x15, 0xae, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x62, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xaf, 0xff, 0xc8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x46, 0x63, 0x10, 0x0, 0x0, 0x0, + + /* U+F077 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x25, 0x77, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x6b, 0xef, 0xff, 0xfd, 0x94, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x26, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd9, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x6b, 0xef, 0xff, 0xfd, 0x94, 0x12, + 0x6b, 0xef, 0xff, 0xfd, 0x94, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x26, 0xbe, 0xff, 0xff, 0xd9, 0x41, + 0x0, 0x0, 0x0, 0x26, 0xbe, 0xff, 0xff, 0xd9, + 0x41, 0x0, 0x0, 0x16, 0xbf, 0xff, 0xfd, 0x94, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6b, + 0xef, 0xff, 0xe9, 0x40, 0x0, 0x0, 0x25, 0x77, + 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x25, 0x77, 0x41, 0x0, + + /* U+F078 "" */ + 0x0, 0x0, 0x25, 0x77, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x25, 0x77, + 0x41, 0x0, 0x0, 0x16, 0xbf, 0xff, 0xfd, 0x94, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6b, + 0xef, 0xff, 0xe9, 0x40, 0x0, 0x0, 0x26, 0xbe, + 0xff, 0xff, 0xd9, 0x41, 0x0, 0x0, 0x0, 0x26, + 0xbe, 0xff, 0xff, 0xd9, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x6b, 0xef, 0xff, 0xfd, 0x94, 0x12, + 0x6b, 0xef, 0xff, 0xfd, 0x94, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xbe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd9, 0x41, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x6b, 0xef, 0xff, 0xfd, 0x94, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x25, 0x76, 0x41, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F079 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x38, 0xcf, 0xff, + 0xc8, 0x30, 0x0, 0x3, 0x57, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x76, 0x52, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x38, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xc8, 0x32, 0x5a, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x93, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xaf, 0xff, + 0xcc, 0xcf, 0xfe, 0xcc, 0xdf, 0xff, 0xa4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xef, + 0xe9, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x45, 0x31, 0x49, 0xef, 0xe9, 0x41, 0x35, 0x42, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0x9e, 0xfe, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0x9e, 0xfe, 0x94, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xef, 0xe9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xef, 0xe9, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x7b, 0xb9, 0x55, 0x9e, 0xfe, 0x95, 0x59, 0xbb, + 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9e, + 0xff, 0xc9, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, + 0x53, 0x36, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xb6, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x38, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd7, 0x20, 0x37, 0xbe, 0xff, 0xff, + 0xfe, 0xb7, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, + 0xac, 0xa6, 0x30, 0x0, 0x0, 0x0, 0x0, + + /* U+F07B "" */ + 0x0, 0x26, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xa6, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, + 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x64, + 0x10, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x0, 0x0, + 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, + 0x0, 0x26, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xeb, 0x62, 0x0, + + /* U+F093 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x44, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, 0xce, 0xff, + 0xec, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x7c, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xc7, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x37, 0xce, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x73, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x39, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x93, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x8d, 0xff, 0xff, 0xff, 0xd8, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8d, 0xff, + 0xff, 0xff, 0xd8, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x8d, 0xff, 0xff, 0xff, 0xd8, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x23, 0x33, 0x33, 0x33, 0x32, 0x13, + 0x8d, 0xff, 0xff, 0xff, 0xd8, 0x31, 0x23, 0x33, + 0x33, 0x33, 0x32, 0x10, 0x0, 0x0, 0x4a, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x94, 0x36, 0x99, 0x99, + 0x99, 0x63, 0x49, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xa4, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xca, 0x99, 0x99, 0x99, 0xac, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, + 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe9, 0x56, 0xbc, 0x75, + 0x8d, 0xff, 0xa5, 0x0, 0x0, 0x25, 0x9a, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa8, 0x52, + 0x0, + + /* U+F095 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x35, 0x76, + 0x53, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x27, 0xcf, 0xff, 0xff, 0xff, 0xfe, + 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x9e, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x93, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x5a, 0xdf, 0xff, 0xff, 0xff, 0xe9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, + 0xef, 0xff, 0xfe, 0x94, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x27, 0xcf, 0xff, 0xff, 0xd7, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x11, 0x0, 0x0, 0x0, 0x0, 0x1, 0x49, + 0xdf, 0xff, 0xff, 0xe9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x13, 0x58, 0xac, 0xef, 0xfe, 0xb5, + 0x10, 0x1, 0x36, 0xad, 0xff, 0xff, 0xff, 0xc7, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x39, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xce, 0xff, + 0xff, 0xff, 0xfc, 0x94, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x17, 0xcf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xa6, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, + 0xb9, 0x63, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x77, + 0x76, 0x65, 0x43, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F0C4 "" */ + 0x0, 0x0, 0x2, 0x57, 0x89, 0x98, 0x63, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x23, 0x32, + 0x10, 0x0, 0x0, 0x15, 0xae, 0xff, 0xff, 0xff, + 0xff, 0xd7, 0x20, 0x0, 0x0, 0x1, 0x48, 0xcf, + 0xff, 0xff, 0xea, 0x50, 0x0, 0x49, 0xff, 0xe9, + 0x40, 0x17, 0xcf, 0xfc, 0x71, 0x0, 0x14, 0x8c, + 0xff, 0xff, 0xff, 0xd9, 0x51, 0x0, 0x0, 0x17, + 0xcf, 0xff, 0xdb, 0xce, 0xff, 0xfd, 0x84, 0x48, + 0xcf, 0xff, 0xff, 0xfd, 0x95, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x14, 0x8a, 0xcd, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd9, 0x51, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0x9e, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x57, + 0x89, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xb6, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, + 0xae, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa7, 0x8b, + 0xef, 0xff, 0xff, 0xeb, 0x62, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xff, 0xe9, 0x40, 0x17, 0xcf, 0xfc, + 0x71, 0x0, 0x27, 0xbe, 0xff, 0xff, 0xfe, 0xb6, + 0x20, 0x0, 0x0, 0x17, 0xcf, 0xff, 0xdb, 0xce, + 0xff, 0xe9, 0x40, 0x0, 0x0, 0x2, 0x6b, 0xef, + 0xff, 0xff, 0xe9, 0x40, 0x0, 0x0, 0x14, 0x8a, + 0xcc, 0xcb, 0x96, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x13, 0x56, 0x66, 0x41, 0x0, + + /* U+F0C5 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x31, 0x12, 0x21, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x49, + 0xed, 0x94, 0x10, 0x0, 0x0, 0x1, 0x23, 0x44, + 0x32, 0x15, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x49, 0xef, 0xfe, 0xc7, 0x20, 0x0, 0x4a, + 0xff, 0xff, 0xe9, 0x45, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xec, 0x98, 0x88, 0x88, 0x85, 0x20, + 0x0, 0x5a, 0xff, 0xff, 0xe9, 0x45, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x50, 0x0, 0x5a, 0xff, 0xff, 0xe9, 0x45, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfa, 0x50, 0x0, 0x5a, 0xff, 0xff, + 0xe9, 0x45, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0x50, 0x0, 0x5a, + 0xff, 0xff, 0xe9, 0x45, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x50, + 0x0, 0x5a, 0xff, 0xff, 0xe9, 0x45, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x50, 0x0, 0x5a, 0xff, 0xff, 0xe9, 0x45, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfa, 0x40, 0x0, 0x5a, 0xff, 0xff, + 0xfd, 0x95, 0x33, 0x34, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x43, 0x21, 0x0, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x14, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x76, 0x31, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+F0C7 "" */ + 0x0, 0x2, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x52, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xb6, 0x20, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xd8, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x6b, 0xff, 0xff, 0xeb, 0x62, 0x0, 0x0, 0x5a, + 0xff, 0xd8, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6b, 0xff, 0xff, 0xff, 0xe9, 0x30, + 0x0, 0x5a, 0xff, 0xeb, 0x97, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0xad, 0xff, 0xff, 0xff, + 0xf9, 0x40, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf9, 0x40, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xd9, 0x42, 0x12, 0x5a, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xf9, 0x40, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x72, 0x0, 0x0, + 0x3, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x40, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x94, + 0x0, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0x40, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xca, 0x9a, 0xce, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf9, 0x40, 0x0, 0x16, 0xad, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xed, 0x95, 0x10, + + /* U+F0E7 "" */ + 0x0, 0x0, 0x15, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, + 0xa8, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xb6, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc6, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xb6, 0x10, 0x3, 0x8e, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, + 0x10, 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x82, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x27, 0xcf, 0xff, 0xff, + 0xe9, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xaf, 0xff, 0xfe, 0xa5, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8e, + 0xff, 0xfc, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x7c, 0xff, 0xd8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5a, 0xfe, 0x94, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F0EA "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x25, 0x8a, 0xa8, + 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x38, 0xef, 0xff, 0xff, 0xff, + 0xb8, 0x8c, 0xff, 0xff, 0xff, 0xfc, 0x72, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xb8, 0x8c, 0xff, 0xff, 0xff, 0xff, + 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdc, 0xbb, 0xbb, + 0xbb, 0xba, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xfc, 0x74, 0x58, + 0x99, 0x99, 0x99, 0x99, 0x52, 0x25, 0x64, 0x10, + 0x0, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xfa, + 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x94, 0x4a, + 0xff, 0xda, 0x52, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xfa, 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x23, 0x56, 0x66, 0x53, 0x10, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xfa, 0x55, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x40, + 0x0, 0x5a, 0xff, 0xff, 0xff, 0xfa, 0x55, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0x40, 0x0, 0x49, 0xef, 0xff, 0xff, 0xfa, + 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf9, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xaf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x31, 0x0, + + /* U+F0F3 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x14, 0x65, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0x9d, 0xff, 0xb6, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x26, 0xad, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xc9, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x72, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, + 0x0, 0x2, 0x6b, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x93, 0x0, 0x0, 0x39, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x61, 0x0, 0x1, 0x23, 0x34, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x43, 0x21, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x7c, 0xff, 0xff, + 0xfe, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x46, 0x76, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+F11C "" */ + 0x0, 0x26, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x84, 0x0, 0x5, + 0xaf, 0xfe, 0xc9, 0x88, 0xad, 0xeb, 0x88, 0x8b, + 0xed, 0xa8, 0x8b, 0xee, 0xb8, 0x88, 0x8b, 0xee, + 0xb8, 0x8a, 0xdf, 0xfd, 0x72, 0x0, 0x5a, 0xff, + 0xd8, 0x30, 0x5, 0xbc, 0x71, 0x1, 0x7c, 0xb5, + 0x1, 0x6b, 0xb6, 0x0, 0x0, 0x6b, 0xb6, 0x10, + 0x5b, 0xff, 0xd8, 0x20, 0x5, 0xaf, 0xff, 0xff, + 0xfe, 0xdc, 0xcd, 0xef, 0xed, 0xcc, 0xde, 0xed, + 0xcc, 0xce, 0xff, 0xec, 0xcc, 0xef, 0xff, 0xff, + 0xfd, 0x82, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xa4, + 0x0, 0x38, 0xc8, 0x30, 0x5, 0xaa, 0x40, 0x2, + 0x7d, 0xd7, 0x20, 0x27, 0xcf, 0xff, 0xff, 0xd8, + 0x20, 0x5, 0xaf, 0xff, 0xff, 0xfe, 0xdc, 0xcd, + 0xef, 0xed, 0xcc, 0xde, 0xed, 0xcc, 0xce, 0xff, + 0xec, 0xcc, 0xef, 0xff, 0xff, 0xfd, 0x82, 0x0, + 0x5a, 0xff, 0xd8, 0x30, 0x5, 0xbc, 0x71, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6b, + 0xb6, 0x10, 0x5b, 0xff, 0xd8, 0x20, 0x5, 0xaf, + 0xfe, 0xc9, 0x88, 0xad, 0xeb, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x8b, 0xde, 0xb8, + 0x8a, 0xdf, 0xfd, 0x72, 0x0, 0x26, 0xbe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x84, 0x0, + + /* U+F124 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x24, 0x66, 0x53, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x35, 0x8a, 0xde, 0xff, 0xff, 0xfe, + 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x47, 0x9c, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfb, 0x61, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x68, 0xad, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, + 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x20, 0x0, + 0x0, 0x0, 0x26, 0xbe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x50, 0x0, 0x0, 0x0, 0x0, 0x38, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x83, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x33, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x9d, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xb6, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xea, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6c, 0xff, + 0xff, 0xff, 0xfd, 0x82, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x6c, 0xff, 0xff, 0xff, 0xb5, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6b, 0xff, 0xff, 0xe9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x46, 0x64, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F15B "" */ + 0x0, 0x26, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xba, 0x62, 0x36, 0x74, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe9, 0x45, 0xaf, 0xfd, 0x94, 0x10, 0x0, + 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x94, 0x5a, 0xff, 0xff, 0xfd, 0x94, + 0x10, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfa, 0x52, 0x34, 0x44, 0x44, 0x44, + 0x31, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x50, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x50, 0x0, 0x5, 0xaf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfa, 0x50, 0x0, 0x5, 0xaf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfa, 0x50, 0x0, 0x5, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, 0x2, + 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x31, 0x0, 0x0, + + /* U+F1EB "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x35, 0x67, 0x99, 0xab, 0xbb, 0xcb, 0xbb, + 0xa9, 0x97, 0x65, 0x31, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x25, + 0x8b, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x85, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x7b, + 0xef, 0xff, 0xff, 0xfe, 0xca, 0x87, 0x54, 0x33, + 0x22, 0x22, 0x23, 0x34, 0x57, 0x8a, 0xce, 0xff, + 0xff, 0xff, 0xeb, 0x73, 0x10, 0x0, 0x0, 0x28, + 0xdf, 0xff, 0xfd, 0xa7, 0x31, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x37, 0xad, 0xff, 0xff, 0xd8, 0x30, 0x0, + 0x0, 0x2, 0x57, 0x63, 0x0, 0x0, 0x1, 0x25, + 0x79, 0xbc, 0xde, 0xff, 0xff, 0xfe, 0xdc, 0xb9, + 0x75, 0x21, 0x0, 0x0, 0x3, 0x57, 0x52, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x8c, + 0xef, 0xff, 0xff, 0xff, 0xfe, 0xee, 0xee, 0xff, + 0xff, 0xff, 0xff, 0xec, 0x84, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x6b, 0xef, 0xfc, 0x96, 0x42, 0x10, 0x0, 0x0, + 0x0, 0x12, 0x46, 0x9c, 0xef, 0xeb, 0x62, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x21, 0x0, 0x0, 0x0, 0x0, + 0x11, 0x10, 0x0, 0x0, 0x0, 0x1, 0x21, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x5a, 0xef, 0xff, 0xea, 0x51, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0xff, 0xff, 0xff, 0xf9, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x26, 0xac, 0xdc, 0xa6, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, + + /* U+F240 "" */ + 0x0, 0x1, 0x35, 0x67, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x65, 0x20, 0x0, + 0x0, 0x0, 0x4, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x83, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xd8, 0x32, + 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x21, 0x49, + 0xef, 0xff, 0xd8, 0x30, 0x0, 0x5, 0xaf, 0xfd, + 0x84, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, + 0x52, 0x59, 0xce, 0xff, 0xa5, 0x0, 0x0, 0x5a, + 0xff, 0xd8, 0x46, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa5, 0x0, 0x28, 0xdf, 0xfa, 0x50, 0x0, + 0x5, 0xaf, 0xfd, 0x83, 0x59, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xc8, 0x43, 0x8e, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x5a, 0xff, 0xeb, 0x87, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x9c, 0xff, 0xfc, + 0x94, 0x10, 0x0, 0x2, 0x6c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F241 "" */ + 0x0, 0x1, 0x35, 0x67, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x65, 0x20, 0x0, + 0x0, 0x0, 0x4, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x83, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xd8, 0x32, + 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x43, 0x21, 0x0, 0x0, 0x0, 0x49, + 0xef, 0xff, 0xd8, 0x30, 0x0, 0x5, 0xaf, 0xfd, + 0x84, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xc6, 0x10, 0x0, 0x0, + 0x2, 0x59, 0xce, 0xff, 0xa5, 0x0, 0x0, 0x5a, + 0xff, 0xd8, 0x46, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x61, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xdf, 0xfa, 0x50, 0x0, + 0x5, 0xaf, 0xfd, 0x83, 0x59, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x95, + 0x0, 0x0, 0x0, 0x3, 0x8e, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x5a, 0xff, 0xeb, 0x87, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x9c, 0xff, 0xfc, + 0x94, 0x10, 0x0, 0x2, 0x6c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F242 "" */ + 0x0, 0x1, 0x35, 0x67, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x65, 0x20, 0x0, + 0x0, 0x0, 0x4, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x83, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xd8, 0x32, + 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x32, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, + 0xef, 0xff, 0xd8, 0x30, 0x0, 0x5, 0xaf, 0xfd, + 0x84, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x59, 0xce, 0xff, 0xa5, 0x0, 0x0, 0x5a, + 0xff, 0xd8, 0x46, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd8, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xdf, 0xfa, 0x50, 0x0, + 0x5, 0xaf, 0xfd, 0x83, 0x59, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xca, 0x62, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0x8e, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x5a, 0xff, 0xeb, 0x87, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x9c, 0xff, 0xfc, + 0x94, 0x10, 0x0, 0x2, 0x6c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F243 "" */ + 0x0, 0x1, 0x35, 0x67, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x65, 0x20, 0x0, + 0x0, 0x0, 0x4, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x83, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xd8, 0x32, + 0x34, 0x44, 0x44, 0x43, 0x21, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, + 0xef, 0xff, 0xd8, 0x30, 0x0, 0x5, 0xaf, 0xfd, + 0x84, 0x6c, 0xff, 0xff, 0xff, 0xe9, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x59, 0xce, 0xff, 0xa5, 0x0, 0x0, 0x5a, + 0xff, 0xd8, 0x46, 0xcf, 0xff, 0xff, 0xfe, 0x94, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xdf, 0xfa, 0x50, 0x0, + 0x5, 0xaf, 0xfd, 0x83, 0x59, 0xcc, 0xcc, 0xcc, + 0xb7, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0x8e, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x5a, 0xff, 0xeb, 0x87, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x9c, 0xff, 0xfc, + 0x94, 0x10, 0x0, 0x2, 0x6c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F244 "" */ + 0x0, 0x1, 0x35, 0x67, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x65, 0x20, 0x0, + 0x0, 0x0, 0x4, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x83, 0x0, 0x0, 0x0, 0x5a, 0xff, 0xd8, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, + 0xef, 0xff, 0xd8, 0x30, 0x0, 0x5, 0xaf, 0xfd, + 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x59, 0xce, 0xff, 0xa5, 0x0, 0x0, 0x5a, + 0xff, 0xd8, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xdf, 0xfa, 0x50, 0x0, + 0x5, 0xaf, 0xfd, 0x82, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0x8e, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x5a, 0xff, 0xeb, 0x87, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x9c, 0xff, 0xfc, + 0x94, 0x10, 0x0, 0x2, 0x6c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xea, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F287 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x12, 0x33, 0x59, 0xdf, + 0xfe, 0xb6, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x15, 0xad, 0xca, 0x9b, + 0xdf, 0xff, 0xfe, 0x93, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x11, 0x10, 0x0, 0x0, 0x0, 0x38, 0xdb, 0x51, + 0x0, 0x1, 0x24, 0x54, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0x9d, 0xff, 0xff, 0xd9, 0x41, 0x1, 0x6b, 0xd8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x6a, 0xb8, 0x52, 0x0, 0x0, 0x0, + 0x4, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0xed, 0xee, + 0xee, 0xee, 0xee, 0xed, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xde, 0xff, 0xff, 0xfc, 0x72, + 0x0, 0x0, 0x4, 0x9d, 0xff, 0xff, 0xd9, 0x41, + 0x0, 0x0, 0x0, 0x16, 0xbd, 0x83, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x6a, 0xb8, 0x52, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8c, 0xb6, + 0x10, 0x3, 0x57, 0x77, 0x77, 0x42, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x49, 0xcc, 0xba, 0xce, 0xff, 0xff, 0xfb, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x12, 0x49, 0xdf, 0xff, 0xff, + 0xb5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F293 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x23, 0x34, + 0x43, 0x32, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x6a, 0xde, 0xff, 0xfe, + 0xee, 0xff, 0xff, 0xed, 0xa5, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x4a, 0xef, 0xff, 0xff, 0xff, + 0xa5, 0x37, 0xcf, 0xff, 0xff, 0xfd, 0x93, 0x0, + 0x0, 0x0, 0x1, 0x7c, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x40, 0x1, 0x48, 0xdf, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x0, 0x5b, 0xff, 0xfd, 0x84, 0x59, + 0xdf, 0xa4, 0x27, 0xa8, 0x42, 0x5b, 0xff, 0xfe, + 0x83, 0x0, 0x0, 0x28, 0xdf, 0xff, 0xff, 0xc7, + 0x32, 0x44, 0x21, 0x34, 0x33, 0x7c, 0xff, 0xff, + 0xfa, 0x50, 0x0, 0x3, 0x8e, 0xff, 0xff, 0xff, + 0xff, 0xc6, 0x20, 0x1, 0x5a, 0xef, 0xff, 0xff, + 0xff, 0xb6, 0x0, 0x0, 0x38, 0xef, 0xff, 0xff, + 0xfe, 0xb6, 0x20, 0x0, 0x1, 0x49, 0xdf, 0xff, + 0xff, 0xfb, 0x60, 0x0, 0x2, 0x7c, 0xff, 0xfe, + 0xb6, 0x22, 0x59, 0x84, 0x26, 0x97, 0x32, 0x5a, + 0xef, 0xff, 0xa5, 0x0, 0x0, 0x4, 0x9f, 0xff, + 0xec, 0xab, 0xdf, 0xfa, 0x41, 0x46, 0x42, 0x59, + 0xdf, 0xff, 0xd8, 0x20, 0x0, 0x0, 0x4, 0x9e, + 0xff, 0xff, 0xff, 0xff, 0xa4, 0x1, 0x5a, 0xdf, + 0xff, 0xff, 0xd8, 0x20, 0x0, 0x0, 0x0, 0x1, + 0x49, 0xdf, 0xff, 0xff, 0xfb, 0xaa, 0xdf, 0xff, + 0xff, 0xfd, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x24, 0x68, 0x9a, 0xab, 0xbb, 0xa9, + 0x87, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F2ED "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x67, + 0x88, 0x88, 0x87, 0x75, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x37, 0xbb, 0xcc, 0xcc, 0xcc, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xcc, + 0xcc, 0xcc, 0xb9, 0x51, 0x0, 0x37, 0xbb, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xb9, 0x51, 0x0, 0x0, + 0x24, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x30, 0x0, + 0x0, 0x0, 0x49, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x61, 0x0, 0x0, 0x0, 0x49, 0xef, 0xff, 0xa5, + 0x5a, 0xff, 0xe9, 0x56, 0xbf, 0xfd, 0x85, 0x8d, + 0xff, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x49, 0xef, + 0xff, 0xa4, 0x4a, 0xff, 0xe8, 0x46, 0xbf, 0xfc, + 0x74, 0x7c, 0xff, 0xfc, 0x61, 0x0, 0x0, 0x0, + 0x49, 0xef, 0xff, 0xa4, 0x4a, 0xff, 0xe8, 0x46, + 0xbf, 0xfc, 0x74, 0x7c, 0xff, 0xfc, 0x61, 0x0, + 0x0, 0x0, 0x49, 0xef, 0xff, 0xa4, 0x4a, 0xff, + 0xe8, 0x46, 0xbf, 0xfc, 0x74, 0x7c, 0xff, 0xfc, + 0x61, 0x0, 0x0, 0x0, 0x49, 0xef, 0xff, 0xa4, + 0x4a, 0xff, 0xe8, 0x46, 0xbf, 0xfc, 0x74, 0x7c, + 0xff, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x49, 0xef, + 0xff, 0xa5, 0x5a, 0xff, 0xe9, 0x56, 0xbf, 0xfd, + 0x85, 0x8d, 0xff, 0xfc, 0x61, 0x0, 0x0, 0x0, + 0x38, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x60, 0x0, + 0x0, 0x0, 0x1, 0x36, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x42, + 0x0, 0x0, + + /* U+F304 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x67, + 0x63, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x5a, 0xef, 0xff, 0xff, 0xd9, 0x41, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x25, 0x9d, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x72, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x5a, 0xef, 0xda, 0x53, 0x5a, 0xdf, 0xff, + 0xff, 0xfd, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x25, 0xae, 0xff, 0xff, + 0xff, 0xfd, 0xa5, 0x35, 0xad, 0xda, 0x52, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x5a, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x25, 0xae, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xea, 0x52, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x5a, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xa5, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x25, 0xae, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xea, 0x52, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa5, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xea, 0x52, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4a, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa5, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x67, 0x76, + 0x55, 0x44, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F55A "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0x9c, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x84, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0xad, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x15, 0xad, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x94, 0x1, + 0x49, 0xdf, 0xfd, 0x94, 0x10, 0x39, 0xdf, 0xff, + 0xff, 0xff, 0xfa, 0x50, 0x0, 0x0, 0x15, 0xad, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x94, 0x10, 0x1, 0x22, 0x10, 0x1, 0x49, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, 0x39, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x61, 0x0, 0x0, 0x15, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x50, 0x0, + 0x0, 0x15, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x94, 0x10, 0x1, 0x33, 0x10, + 0x1, 0x49, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xa5, + 0x0, 0x0, 0x0, 0x0, 0x15, 0xad, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x94, 0x11, 0x49, 0xdf, + 0xfd, 0x94, 0x10, 0x49, 0xdf, 0xff, 0xff, 0xff, + 0xfa, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, + 0x9d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x14, 0x9c, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xec, 0x84, 0x0, 0x0, + + /* U+F7C2 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x67, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x64, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x25, 0xad, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x83, + 0x0, 0x0, 0x0, 0x26, 0xbe, 0xff, 0xa4, 0x0, + 0x5b, 0xb6, 0x3, 0x9b, 0x72, 0x28, 0xdf, 0xfa, + 0x50, 0x0, 0x4, 0x9e, 0xff, 0xff, 0xfa, 0x40, + 0x5, 0xbb, 0x60, 0x39, 0xb7, 0x22, 0x8d, 0xff, + 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x50, 0x0, 0x5, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x50, 0x0, 0x5, 0xaf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfa, 0x50, 0x0, 0x5, 0xaf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xa5, 0x0, 0x0, 0x5a, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfa, 0x50, 0x0, 0x2, 0x6c, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x62, 0x0, 0x0, 0x0, + 0x1, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x31, 0x0, 0x0, 0x0, + + /* U+F8A2 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x12, 0x21, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x48, 0xdf, + 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6a, + 0xc9, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x27, 0xdf, 0xff, 0xb6, 0x0, 0x0, + 0x0, 0x0, 0x37, 0xce, 0xff, 0xfc, 0x72, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, + 0xdf, 0xff, 0xb6, 0x0, 0x0, 0x3, 0x8c, 0xff, + 0xff, 0xff, 0xff, 0xed, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xff, 0xff, 0xb6, + 0x0, 0x0, 0x16, 0xbe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa4, 0x0, 0x0, 0x0, + 0x2, 0x6b, 0xef, 0xff, 0xfc, 0x72, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, + 0xad, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 48, .box_w = 6, .box_h = 0, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 49, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 41, .adv_w = 61, .box_w = 12, .box_h = 4, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 65, .adv_w = 120, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 173, .adv_w = 108, .box_w = 21, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 299, .adv_w = 141, .box_w = 27, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 421, .adv_w = 119, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 529, .adv_w = 33, .box_w = 6, .box_h = 4, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 541, .adv_w = 66, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 646, .adv_w = 67, .box_w = 15, .box_h = 14, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 751, .adv_w = 83, .box_w = 21, .box_h = 6, .ofs_x = -1, .ofs_y = 3}, + {.bitmap_index = 814, .adv_w = 109, .box_w = 21, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 888, .adv_w = 38, .box_w = 12, .box_h = 4, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 912, .adv_w = 53, .box_w = 15, .box_h = 1, .ofs_x = -1, .ofs_y = 3}, + {.bitmap_index = 920, .adv_w = 51, .box_w = 9, .box_h = 2, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 929, .adv_w = 79, .box_w = 18, .box_h = 10, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 1019, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1114, .adv_w = 108, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1182, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1277, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1372, .adv_w = 108, .box_w = 24, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 1480, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1575, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1670, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1765, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1860, .adv_w = 108, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1955, .adv_w = 47, .box_w = 9, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1987, .adv_w = 41, .box_w = 12, .box_h = 9, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 2041, .adv_w = 98, .box_w = 18, .box_h = 6, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 2095, .adv_w = 105, .box_w = 21, .box_h = 5, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 2148, .adv_w = 100, .box_w = 21, .box_h = 6, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 2211, .adv_w = 91, .box_w = 18, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2292, .adv_w = 172, .box_w = 33, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2490, .adv_w = 125, .box_w = 27, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2612, .adv_w = 120, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2720, .adv_w = 125, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2828, .adv_w = 126, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2936, .adv_w = 109, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3031, .adv_w = 106, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3126, .adv_w = 131, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3234, .adv_w = 137, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3342, .adv_w = 52, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3383, .adv_w = 106, .box_w = 24, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 3491, .adv_w = 120, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3599, .adv_w = 103, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3694, .adv_w = 168, .box_w = 30, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3829, .adv_w = 137, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3937, .adv_w = 132, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4045, .adv_w = 121, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4153, .adv_w = 132, .box_w = 24, .box_h = 11, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4285, .adv_w = 118, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4393, .adv_w = 114, .box_w = 21, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4488, .adv_w = 115, .box_w = 27, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4610, .adv_w = 125, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4718, .adv_w = 122, .box_w = 27, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4840, .adv_w = 170, .box_w = 33, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4989, .adv_w = 120, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5097, .adv_w = 115, .box_w = 27, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 5219, .adv_w = 115, .box_w = 24, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5327, .adv_w = 51, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5405, .adv_w = 79, .box_w = 21, .box_h = 10, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 5510, .adv_w = 51, .box_w = 12, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 5588, .adv_w = 80, .box_w = 15, .box_h = 5, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 5626, .adv_w = 87, .box_w = 21, .box_h = 1, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 5637, .adv_w = 59, .box_w = 12, .box_h = 2, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 5649, .adv_w = 104, .box_w = 21, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5723, .adv_w = 108, .box_w = 21, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5828, .adv_w = 101, .box_w = 21, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5902, .adv_w = 108, .box_w = 21, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6007, .adv_w = 102, .box_w = 21, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6081, .adv_w = 67, .box_w = 15, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6156, .adv_w = 108, .box_w = 21, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 6261, .adv_w = 106, .box_w = 21, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6366, .adv_w = 47, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6407, .adv_w = 46, .box_w = 12, .box_h = 12, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 6479, .adv_w = 97, .box_w = 21, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6584, .adv_w = 47, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6629, .adv_w = 168, .box_w = 33, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6745, .adv_w = 106, .box_w = 21, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6819, .adv_w = 110, .box_w = 21, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6893, .adv_w = 108, .box_w = 21, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 6998, .adv_w = 109, .box_w = 21, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 7103, .adv_w = 65, .box_w = 15, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7156, .adv_w = 99, .box_w = 18, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7219, .adv_w = 63, .box_w = 15, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 7287, .adv_w = 106, .box_w = 21, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7361, .adv_w = 93, .box_w = 21, .box_h = 7, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 7435, .adv_w = 144, .box_w = 33, .box_h = 7, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 7551, .adv_w = 95, .box_w = 24, .box_h = 7, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 7635, .adv_w = 91, .box_w = 21, .box_h = 10, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 7740, .adv_w = 95, .box_w = 18, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7803, .adv_w = 65, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 7901, .adv_w = 47, .box_w = 9, .box_h = 11, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7951, .adv_w = 65, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 8049, .adv_w = 131, .box_w = 24, .box_h = 4, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 8097, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 8370, .adv_w = 192, .box_w = 42, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 8559, .adv_w = 192, .box_w = 42, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 8790, .adv_w = 192, .box_w = 42, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 8979, .adv_w = 132, .box_w = 30, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 9114, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 9387, .adv_w = 192, .box_w = 36, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9621, .adv_w = 216, .box_w = 45, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 9869, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 10142, .adv_w = 216, .box_w = 45, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 10345, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 10618, .adv_w = 96, .box_w = 24, .box_h = 10, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 10738, .adv_w = 144, .box_w = 33, .box_h = 10, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 10903, .adv_w = 216, .box_w = 45, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 11196, .adv_w = 192, .box_w = 42, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 11385, .adv_w = 168, .box_w = 27, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 11547, .adv_w = 168, .box_w = 36, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 11781, .adv_w = 168, .box_w = 36, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 11979, .adv_w = 168, .box_w = 36, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 12177, .adv_w = 168, .box_w = 27, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 12339, .adv_w = 168, .box_w = 39, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 12554, .adv_w = 120, .box_w = 24, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 12686, .adv_w = 120, .box_w = 24, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 12818, .adv_w = 168, .box_w = 36, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 13016, .adv_w = 168, .box_w = 36, .box_h = 3, .ofs_x = -1, .ofs_y = 3}, + {.bitmap_index = 13070, .adv_w = 216, .box_w = 45, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 13273, .adv_w = 240, .box_w = 51, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 13605, .adv_w = 216, .box_w = 45, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 13898, .adv_w = 192, .box_w = 42, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 14129, .adv_w = 168, .box_w = 36, .box_h = 7, .ofs_x = -1, .ofs_y = 1}, + {.bitmap_index = 14255, .adv_w = 168, .box_w = 36, .box_h = 7, .ofs_x = -1, .ofs_y = 1}, + {.bitmap_index = 14381, .adv_w = 240, .box_w = 51, .box_h = 10, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 14636, .adv_w = 192, .box_w = 42, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 14825, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 15098, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 15371, .adv_w = 168, .box_w = 36, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 15569, .adv_w = 168, .box_w = 36, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 15803, .adv_w = 168, .box_w = 36, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 16001, .adv_w = 120, .box_w = 27, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 16177, .adv_w = 168, .box_w = 36, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 16411, .adv_w = 168, .box_w = 36, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 16645, .adv_w = 216, .box_w = 45, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 16848, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 17121, .adv_w = 144, .box_w = 33, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 17336, .adv_w = 240, .box_w = 51, .box_h = 12, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 17642, .adv_w = 240, .box_w = 51, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 17872, .adv_w = 240, .box_w = 51, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 18102, .adv_w = 240, .box_w = 51, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 18332, .adv_w = 240, .box_w = 51, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 18562, .adv_w = 240, .box_w = 51, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 18792, .adv_w = 240, .box_w = 51, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 19073, .adv_w = 168, .box_w = 33, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 19288, .adv_w = 168, .box_w = 36, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 19522, .adv_w = 192, .box_w = 42, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 19795, .adv_w = 240, .box_w = 51, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 20025, .adv_w = 144, .box_w = 33, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 20240, .adv_w = 193, .box_w = 42, .box_h = 9, .ofs_x = -1, .ofs_y = 0} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_1[] = { + 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14, + 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x47, + 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53, 0x66, + 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77, 0x78, + 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xe9, + 0xf2, 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, + 0x242, 0x243, 0x286, 0x292, 0x2ec, 0x303, 0x559, 0x7c1, + 0x8a1 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 61441, .range_length = 2210, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 57, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + } +}; + +/*----------------- + * KERNING + *----------------*/ + + +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = +{ + 0, 1, 0, 2, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 4, 0, 4, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 7, 8, 9, 10, 11, + 0, 12, 12, 13, 14, 15, 12, 12, + 9, 16, 17, 18, 0, 19, 13, 20, + 21, 22, 23, 24, 25, 0, 0, 0, + 0, 0, 26, 27, 28, 0, 29, 30, + 0, 31, 0, 0, 32, 0, 31, 31, + 33, 27, 0, 34, 0, 35, 0, 36, + 37, 38, 36, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 +}; + +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = +{ + 0, 1, 0, 2, 0, 0, 0, 3, + 2, 0, 4, 5, 0, 6, 7, 6, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 10, 0, 11, 0, 0, 0, + 11, 0, 0, 12, 0, 0, 0, 0, + 11, 0, 11, 0, 13, 14, 15, 16, + 17, 18, 19, 20, 0, 0, 21, 0, + 0, 0, 22, 0, 23, 23, 23, 24, + 23, 0, 0, 0, 0, 0, 25, 25, + 26, 25, 23, 27, 28, 29, 30, 31, + 32, 33, 31, 34, 0, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 +}; + +/*Kern values between classes*/ +static const int8_t kern_class_values[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -10, 0, 0, 0, + 0, 0, 0, 0, -11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -5, -6, 0, -2, -6, 0, -7, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, + 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -21, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -11, 0, 0, 0, 0, 0, 0, -6, + 0, -1, 0, 0, -12, -2, -8, -6, + 0, -9, 0, 0, 0, 0, 0, 0, + -1, 0, 0, -2, -1, -5, -3, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -3, + 0, -2, 0, 0, -5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3, 0, 0, 0, 0, 0, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, -10, 0, 0, + 0, -2, 0, 0, 0, -3, 0, -2, + 0, -2, -4, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, + 0, -2, -2, 0, -2, 0, 0, 0, + -2, -2, -2, 0, 0, 0, 0, 0, + 0, 0, 0, -22, 0, 0, 0, -16, + 0, -25, 0, 2, 0, 0, 0, 0, + 0, 0, 0, -3, -2, 0, 0, -2, + -2, 0, 0, -2, -2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, -3, 0, + 0, 0, 2, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -6, 0, 0, + 0, -3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, -2, + -3, 0, 0, 0, -2, -4, -6, 0, + 0, 0, 0, -31, 0, 0, 0, 0, + 0, 0, 0, 2, -6, 0, 0, -26, + -5, -16, -13, 0, -22, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -4, + -12, -9, 0, 0, 0, 0, 0, 0, + 0, 0, -30, 0, 0, 0, -13, 0, + -19, 0, 0, 0, 0, 0, -3, 0, + -2, 0, -1, -1, 0, 0, -1, 0, + 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, -3, + -2, 0, -3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -7, 0, -2, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -4, 0, + 0, 0, 0, -20, -22, 0, 0, -7, + -3, -22, -1, 2, 0, 2, 1, 0, + 2, 0, 0, -11, -9, 0, -10, -9, + -7, -11, 0, -9, -7, -5, -7, -6, + 0, 0, 0, 0, 2, 0, -21, -3, + 0, 0, -7, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, -4, -4, + 0, 0, -4, -3, 0, 0, -3, -1, + 0, 0, 0, 2, 0, 0, 0, 1, + 0, -12, -6, 0, 0, -4, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, + 1, -3, -3, 0, 0, -3, -2, 0, + 0, -2, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + 0, -2, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + -2, 0, 0, 0, -2, -3, 0, 0, + 0, 0, 0, 0, -3, 2, -5, -20, + -5, 0, 0, -9, -3, -9, -1, 2, + -9, 2, 2, 1, 2, 0, 2, -7, + -6, -2, -4, -6, -4, -5, -2, -4, + -2, 0, -2, -3, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, -2, 0, + 0, 0, -2, -3, -3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, -2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, 0, 0, 0, 0, -3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1, 0, -1, -1, + 0, 0, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1, 0, 0, 0, 0, 0, + 2, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, -10, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -13, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -1, 0, + -2, -1, 0, 0, 2, 0, 0, 0, + -12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -4, -2, 1, 0, -2, 0, 0, 5, + 0, 2, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, -10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -1, -1, + 1, 0, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -12, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + -2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -1, 0, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 0, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = +{ + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 40, + .right_class_cnt = 35, +}; + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = { + .glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, + .cmap_num = 2, + .bpp = 4, + .kern_classes = 1, + .bitmap_format = 0 +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t lv_font_roboto_12_subpx = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 14, /*The maximum line height required by the font*/ + .base_line = 3, /*Baseline measured from the bottom of the line*/ + .subpx = LV_FONT_SUBPX_HOR, + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + +#endif /*#if LV_FONT_ROBOTO_12_SUBPX*/ + diff --git a/src/src/lv_font/lv_font_roboto_16.c b/src/src/lv_font/lv_font_roboto_16.c index a0906bf..a52b2c0 100644 --- a/src/src/lv_font/lv_font_roboto_16.c +++ b/src/src/lv_font/lv_font_roboto_16.c @@ -3,7 +3,7 @@ /******************************************************************************* * Size: 16 px * Bpp: 4 - * Opts: + * Opts: --no-compress --no-prefilter --bpp 4 --size 16 --font Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 61441,61448,61451,61452,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl -o lv_font_roboto_16.c --force-fast-kern-format ******************************************************************************/ #ifndef LV_FONT_ROBOTO_16 @@ -21,411 +21,417 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+20 " " */ /* U+21 "!" */ - 0x33, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, - 0x34, 0x0, 0x67, 0xcf, + 0xad, 0xac, 0xac, 0xac, 0xac, 0xac, 0x9b, 0x9b, + 0x56, 0x0, 0x57, 0x8c, /* U+22 "\"" */ - 0x42, 0x23, 0xf8, 0x8f, 0xf8, 0x8f, 0xf3, 0x8a, - 0xa0, 0x64, + 0xe2, 0xd4, 0xe2, 0xd3, 0xe0, 0xd2, 0xe0, 0xd1, + 0x0, 0x0, /* U+23 "#" */ - 0x0, 0x0, 0x41, 0x4, 0x10, 0x0, 0x3, 0xf0, - 0xf, 0x30, 0x0, 0x6, 0xd0, 0x4f, 0x0, 0x0, - 0x9, 0xa0, 0x6c, 0x0, 0xc, 0xff, 0xff, 0xff, - 0xf4, 0x0, 0xf, 0x40, 0xc6, 0x0, 0x0, 0x3f, - 0x0, 0xf4, 0x0, 0x23, 0x7d, 0x35, 0xf3, 0x30, - 0x6c, 0xee, 0xce, 0xfc, 0x90, 0x0, 0xc7, 0x9, - 0xa0, 0x0, 0x0, 0xf4, 0xc, 0x70, 0x0, 0x2, - 0xf0, 0xf, 0x40, 0x0, + 0x0, 0x1, 0xf0, 0xe, 0x30, 0x0, 0x4, 0xc0, + 0x2f, 0x0, 0x0, 0x8, 0x90, 0x5c, 0x0, 0xd, + 0xff, 0xff, 0xff, 0xf4, 0x1, 0x2e, 0x42, 0xc7, + 0x20, 0x0, 0x1f, 0x0, 0xe3, 0x0, 0x0, 0x4d, + 0x1, 0xf0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xa0, + 0x12, 0xb8, 0x28, 0xb2, 0x10, 0x0, 0xc4, 0xa, + 0x70, 0x0, 0x0, 0xf2, 0xc, 0x50, 0x0, 0x1, + 0xf0, 0xf, 0x20, 0x0, /* U+24 "$" */ - 0x0, 0x3, 0x20, 0x0, 0x0, 0xc, 0x80, 0x0, - 0x0, 0x5d, 0xa3, 0x0, 0xc, 0xfc, 0xef, 0x60, - 0x6f, 0x40, 0x1c, 0xe0, 0x8f, 0x0, 0x7, 0xf2, - 0x7f, 0x40, 0x0, 0x0, 0x1d, 0xf9, 0x30, 0x0, - 0x1, 0x8e, 0xfb, 0x20, 0x0, 0x0, 0x6f, 0xd0, - 0x42, 0x0, 0x6, 0xf4, 0xeb, 0x0, 0x5, 0xf4, - 0x8f, 0x63, 0x4c, 0xe0, 0x19, 0xff, 0xfc, 0x30, - 0x0, 0xf, 0x40, 0x0, 0x0, 0xc, 0x30, 0x0, + 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xe, 0x40, + 0x0, 0x0, 0x2, 0xe6, 0x0, 0x0, 0xa, 0xff, + 0xfc, 0x10, 0x6, 0xf5, 0x4, 0xfa, 0x0, 0xac, + 0x0, 0x8, 0xe0, 0x9, 0xe0, 0x0, 0x26, 0x0, + 0x3f, 0xb3, 0x0, 0x0, 0x0, 0x3c, 0xfd, 0x50, + 0x0, 0x0, 0x3, 0xaf, 0x70, 0x1, 0x0, 0x0, + 0x9f, 0x0, 0xf6, 0x0, 0x5, 0xf1, 0xc, 0xd1, + 0x1, 0xce, 0x0, 0x3e, 0xfe, 0xfe, 0x40, 0x0, + 0x5, 0xf6, 0x10, 0x0, 0x0, 0xf, 0x20, 0x0, /* U+25 "%" */ - 0x1, 0x67, 0x30, 0x0, 0x0, 0x0, 0xcb, 0x9f, - 0x20, 0x1, 0x0, 0x2f, 0x0, 0xb8, 0x4, 0xf0, - 0x3, 0xf0, 0xa, 0x80, 0xd5, 0x0, 0xe, 0x74, - 0xe4, 0x8c, 0x0, 0x0, 0x2a, 0xc5, 0x2e, 0x20, - 0x0, 0x0, 0x0, 0xb, 0x80, 0x10, 0x0, 0x0, - 0x5, 0xd1, 0xcd, 0xf5, 0x0, 0x1, 0xd4, 0x8b, - 0x5, 0xe0, 0x0, 0x99, 0xc, 0x80, 0xf, 0x0, - 0x1e, 0x10, 0x8a, 0x5, 0xf0, 0x0, 0x0, 0x1, - 0xdc, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, + 0x5, 0xde, 0x80, 0x0, 0x0, 0x0, 0xf, 0x31, + 0xd4, 0x0, 0x70, 0x0, 0x2e, 0x0, 0x97, 0x8, + 0x90, 0x0, 0xf, 0x31, 0xd5, 0x2e, 0x10, 0x0, + 0x5, 0xde, 0x80, 0xb5, 0x0, 0x0, 0x0, 0x0, + 0x5, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x29, + 0xec, 0x20, 0x0, 0x0, 0x98, 0x6c, 0x17, 0xc0, + 0x0, 0x3, 0xe0, 0x97, 0x1, 0xf0, 0x0, 0xd, + 0x50, 0x97, 0x1, 0xf0, 0x0, 0x19, 0x0, 0x6c, + 0x7, 0xc0, 0x0, 0x0, 0x0, 0x9, 0xfc, 0x20, /* U+26 "&" */ - 0x0, 0x16, 0x75, 0x0, 0x0, 0x1, 0xef, 0xcf, - 0x90, 0x0, 0x6, 0xf2, 0x6, 0xf1, 0x0, 0x8, - 0xf1, 0x6, 0xf0, 0x0, 0x2, 0xf8, 0x7e, 0x60, - 0x0, 0x0, 0x9f, 0xf6, 0x0, 0x0, 0x3, 0xef, - 0xe3, 0x0, 0x41, 0x2e, 0xb2, 0xdc, 0x11, 0xf4, - 0x8f, 0x20, 0x3f, 0xb6, 0xf2, 0x6f, 0x20, 0x4, - 0xff, 0xa0, 0x2f, 0xb3, 0x5, 0xef, 0x70, 0x3, - 0xdf, 0xff, 0xaa, 0xf4, 0x0, 0x0, 0x20, 0x0, - 0x0, + 0x0, 0x3c, 0xfc, 0x30, 0x0, 0x0, 0xeb, 0x4a, + 0xe0, 0x0, 0x3, 0xf3, 0x1, 0xf3, 0x0, 0x2, + 0xf5, 0x6, 0xf1, 0x0, 0x0, 0xbd, 0x8f, 0x50, + 0x0, 0x0, 0x3f, 0xf4, 0x0, 0x0, 0x3, 0xec, + 0xf8, 0x0, 0x71, 0xd, 0xc0, 0x7f, 0x42, 0xf1, + 0x2f, 0x40, 0xa, 0xf9, 0xe0, 0x1f, 0x60, 0x0, + 0xcf, 0x70, 0xa, 0xe4, 0x15, 0xef, 0xb0, 0x0, + 0x8d, 0xfe, 0x95, 0xf8, /* U+27 "'" */ - 0x42, 0xf8, 0xf7, 0xf2, 0x70, + 0x3f, 0x3f, 0x3e, 0x2c, /* U+28 "(" */ - 0x0, 0x7, 0x10, 0x9, 0xd1, 0x5, 0xf2, 0x0, - 0xe8, 0x0, 0x4f, 0x30, 0xa, 0xe0, 0x0, 0xcc, - 0x0, 0xe, 0xb0, 0x0, 0xf8, 0x0, 0xd, 0xc0, - 0x0, 0xcc, 0x0, 0xa, 0xe0, 0x0, 0x3f, 0x30, - 0x0, 0xca, 0x0, 0x3, 0xf3, 0x0, 0x6, 0xf1, - 0x0, 0x5, 0x0, + 0x0, 0x2, 0x0, 0x3, 0xe1, 0x1, 0xe5, 0x0, + 0x9b, 0x0, 0x1f, 0x40, 0x6, 0xe0, 0x0, 0xab, + 0x0, 0xd, 0x90, 0x0, 0xe8, 0x0, 0xe, 0x70, + 0x0, 0xd8, 0x0, 0xc, 0xa0, 0x0, 0x8d, 0x0, + 0x3, 0xf1, 0x0, 0xd, 0x70, 0x0, 0x4e, 0x10, + 0x0, 0x9b, 0x0, 0x0, 0x80, /* U+29 ")" */ - 0x81, 0x0, 0xa, 0xc1, 0x0, 0xd, 0x90, 0x0, - 0x4f, 0x20, 0x0, 0xf9, 0x0, 0xa, 0xe0, 0x0, - 0x8f, 0x0, 0x6, 0xf3, 0x0, 0x4f, 0x40, 0x6, - 0xf2, 0x0, 0x8f, 0x0, 0xa, 0xe0, 0x0, 0xf7, - 0x0, 0x5f, 0x20, 0x1d, 0x70, 0xa, 0xa0, 0x0, - 0x50, 0x0, 0x0, + 0x20, 0x0, 0x8, 0xa0, 0x0, 0xd, 0x70, 0x0, + 0x4f, 0x10, 0x0, 0xd8, 0x0, 0x8, 0xe0, 0x0, + 0x4f, 0x20, 0x1, 0xf4, 0x0, 0xf, 0x60, 0x0, + 0xf6, 0x0, 0x1f, 0x50, 0x3, 0xf3, 0x0, 0x5f, + 0x0, 0xa, 0xb0, 0x0, 0xf4, 0x0, 0x8b, 0x0, + 0x4e, 0x20, 0x6, 0x20, 0x0, /* U+2A "*" */ - 0x0, 0x27, 0x0, 0x0, 0x12, 0xf0, 0x0, 0x2e, - 0x9f, 0x9e, 0x10, 0x4d, 0xfc, 0x51, 0x3, 0xfa, - 0xe1, 0x0, 0x58, 0xb, 0x30, + 0x0, 0x1f, 0x0, 0x0, 0x1, 0xf0, 0x0, 0x9b, + 0x6f, 0x5b, 0x73, 0x8d, 0xfd, 0x83, 0x0, 0xde, + 0xa0, 0x0, 0x9c, 0x1f, 0x50, 0x7, 0x30, 0x66, + 0x0, /* U+2B "+" */ - 0x0, 0x2, 0x72, 0x0, 0x0, 0x0, 0x4f, 0x40, - 0x0, 0x0, 0x4, 0xf4, 0x0, 0x0, 0x0, 0x4f, - 0x40, 0x0, 0x8f, 0xff, 0xff, 0xff, 0x82, 0x44, - 0x7f, 0x74, 0x42, 0x0, 0x4, 0xf4, 0x0, 0x0, - 0x0, 0x4f, 0x40, 0x0, 0x0, 0x3, 0xc3, 0x0, + 0x0, 0x2, 0xa2, 0x0, 0x0, 0x0, 0x3f, 0x30, + 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, 0x11, 0x4f, + 0x51, 0x10, 0x6f, 0xff, 0xff, 0xff, 0x61, 0x44, + 0x7f, 0x74, 0x41, 0x0, 0x3, 0xf3, 0x0, 0x0, + 0x0, 0x3f, 0x30, 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, /* U+2C "," */ - 0xc6, 0xf8, 0xf5, 0xe0, + 0xf, 0x60, 0xf5, 0x4f, 0x28, 0x90, 0x0, 0x0, /* U+2D "-" */ - 0x46, 0x66, 0x58, 0xcc, 0xcb, + 0x0, 0x0, 0xb, 0xff, 0xf1, 0x23, 0x33, 0x0, /* U+2E "." */ - 0x56, 0xbc, + 0x88, 0xab, /* U+2F "/" */ - 0x0, 0x0, 0x13, 0x0, 0x0, 0x7e, 0x0, 0x0, - 0xe7, 0x0, 0x4, 0xf2, 0x0, 0xa, 0xb0, 0x0, - 0x1e, 0x50, 0x0, 0x6f, 0x0, 0x0, 0xd9, 0x0, - 0x2, 0xf2, 0x0, 0x9, 0xd0, 0x0, 0xf, 0x60, - 0x0, 0x5f, 0x10, 0x0, 0xba, 0x0, 0x0, + 0x0, 0x0, 0x4e, 0x0, 0x0, 0xa, 0x90, 0x0, + 0x0, 0xf3, 0x0, 0x0, 0x6d, 0x0, 0x0, 0xc, + 0x70, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x7c, 0x0, + 0x0, 0xd, 0x60, 0x0, 0x3, 0xf0, 0x0, 0x0, + 0x9a, 0x0, 0x0, 0xe, 0x40, 0x0, 0x5, 0xe0, + 0x0, 0x0, 0xa9, 0x0, 0x0, 0x0, /* U+30 "0" */ - 0x1, 0x57, 0x51, 0x0, 0x2c, 0xec, 0xec, 0x20, - 0xae, 0x10, 0x1e, 0xa0, 0xf8, 0x0, 0x8, 0xf0, - 0xf8, 0x0, 0x8, 0xf1, 0xf8, 0x0, 0x8, 0xf4, - 0xf8, 0x0, 0x8, 0xf4, 0xf8, 0x0, 0x8, 0xf4, - 0xf8, 0x0, 0x8, 0xf0, 0xfa, 0x0, 0xa, 0xf0, - 0x7f, 0x61, 0x6f, 0x70, 0x8, 0xff, 0xf8, 0x0, - 0x0, 0x2, 0x0, 0x0, + 0x0, 0x7d, 0xfd, 0x60, 0x0, 0x5f, 0x84, 0x9f, + 0x50, 0xc, 0xb0, 0x0, 0xbc, 0x0, 0xf7, 0x0, + 0x7, 0xf0, 0x1f, 0x50, 0x0, 0x5f, 0x1, 0xf5, + 0x0, 0x5, 0xf1, 0x1f, 0x50, 0x0, 0x5f, 0x11, + 0xf5, 0x0, 0x6, 0xf0, 0xf, 0x70, 0x0, 0x7f, + 0x0, 0xcc, 0x0, 0xc, 0xb0, 0x5, 0xf9, 0x49, + 0xf5, 0x0, 0x6, 0xdf, 0xd6, 0x0, /* U+31 "1" */ - 0x23, 0x37, 0x48, 0xff, 0xf8, 0x0, 0xf, 0x80, - 0x0, 0xf8, 0x0, 0xf, 0x80, 0x0, 0xf8, 0x0, - 0xf, 0x80, 0x0, 0xf8, 0x0, 0xf, 0x80, 0x0, - 0xf8, 0x0, 0xf, 0x80, 0x0, 0xf8, + 0x0, 0x39, 0xa5, 0xdf, 0xfb, 0x99, 0x2c, 0xb0, + 0x0, 0xcb, 0x0, 0xc, 0xb0, 0x0, 0xcb, 0x0, + 0xc, 0xb0, 0x0, 0xcb, 0x0, 0xc, 0xb0, 0x0, + 0xcb, 0x0, 0xc, 0xb0, 0x0, 0xcb, /* U+32 "2" */ - 0x1, 0x57, 0x61, 0x0, 0x1d, 0xfc, 0xee, 0x30, - 0xaf, 0x10, 0x1e, 0xb0, 0xa8, 0x0, 0xc, 0xe0, - 0x0, 0x0, 0xe, 0xb0, 0x0, 0x0, 0x7f, 0x40, - 0x0, 0x3, 0xe9, 0x0, 0x0, 0x1c, 0xd0, 0x0, - 0x0, 0xde, 0x10, 0x0, 0xa, 0xf3, 0x0, 0x0, - 0x7f, 0x73, 0x33, 0x31, 0xcf, 0xff, 0xff, 0xf4, + 0x0, 0x7e, 0xfd, 0x60, 0x0, 0x9f, 0x74, 0x9f, + 0x60, 0x1f, 0x60, 0x0, 0xcc, 0x2, 0xa2, 0x0, + 0x9, 0xd0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, + 0x0, 0x7f, 0x10, 0x0, 0x0, 0x4f, 0x60, 0x0, + 0x0, 0x2f, 0x90, 0x0, 0x0, 0x1e, 0xa0, 0x0, + 0x0, 0xc, 0xc0, 0x0, 0x0, 0xa, 0xf4, 0x33, + 0x33, 0x10, 0xff, 0xff, 0xff, 0xf6, /* U+33 "3" */ - 0x1, 0x57, 0x62, 0x3, 0xdf, 0xce, 0xe4, 0xbe, - 0x10, 0x1e, 0xc8, 0x40, 0x0, 0xbe, 0x0, 0x0, - 0xd, 0xc0, 0x6, 0x7a, 0xf3, 0x0, 0x9c, 0xec, - 0x30, 0x0, 0x0, 0xcd, 0x0, 0x0, 0x8, 0xff, - 0x90, 0x0, 0x9f, 0x9e, 0x50, 0x5e, 0xb1, 0x9f, - 0xff, 0xa1, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x8d, 0xfd, 0x50, 0xa, 0xe6, 0x48, 0xf5, + 0xf, 0x60, 0x0, 0xca, 0x1, 0x0, 0x0, 0xbb, + 0x0, 0x0, 0x16, 0xf4, 0x0, 0xf, 0xff, 0x60, + 0x0, 0x3, 0x49, 0xf4, 0x0, 0x0, 0x0, 0xbc, + 0x16, 0x10, 0x0, 0x8e, 0x2f, 0x60, 0x0, 0xbc, + 0xa, 0xe6, 0x48, 0xf4, 0x0, 0x8d, 0xfc, 0x50, /* U+34 "4" */ - 0x0, 0x0, 0x3, 0x30, 0x0, 0x0, 0x3, 0xff, - 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x6f, - 0xaf, 0x0, 0x0, 0x1e, 0x88, 0xf0, 0x0, 0xa, - 0xd0, 0x8f, 0x0, 0x4, 0xf4, 0x8, 0xf0, 0x0, - 0xda, 0x0, 0x8f, 0x0, 0x6f, 0xcb, 0xbd, 0xfb, - 0x64, 0x88, 0x88, 0xcf, 0x84, 0x0, 0x0, 0x8, - 0xf0, 0x0, 0x0, 0x0, 0x8f, 0x0, + 0x0, 0x0, 0xc, 0xf0, 0x0, 0x0, 0x6, 0xff, + 0x0, 0x0, 0x1, 0xec, 0xf0, 0x0, 0x0, 0xac, + 0x6f, 0x0, 0x0, 0x3f, 0x26, 0xf0, 0x0, 0xd, + 0x80, 0x6f, 0x0, 0x7, 0xe0, 0x6, 0xf0, 0x1, + 0xf5, 0x0, 0x6f, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0xa1, 0x33, 0x33, 0x8f, 0x32, 0x0, 0x0, 0x6, + 0xf0, 0x0, 0x0, 0x0, 0x6f, 0x0, /* U+35 "5" */ - 0x4, 0x33, 0x33, 0x30, 0xf, 0xff, 0xff, 0xc0, - 0x4f, 0x40, 0x0, 0x0, 0x4f, 0x30, 0x0, 0x0, - 0x6f, 0x13, 0x31, 0x0, 0x8f, 0xef, 0xfd, 0x30, - 0x8e, 0x20, 0x3f, 0xb0, 0x0, 0x0, 0x9, 0xf0, - 0x0, 0x0, 0x8, 0xf1, 0xcc, 0x0, 0x9, 0xf0, - 0x7f, 0x50, 0x6e, 0x90, 0x9, 0xff, 0xfa, 0x10, - 0x0, 0x2, 0x0, 0x0, + 0xd, 0xff, 0xff, 0xf0, 0xf, 0xa6, 0x66, 0x60, + 0x1f, 0x40, 0x0, 0x0, 0x2f, 0x20, 0x0, 0x0, + 0x4f, 0xcf, 0xfa, 0x10, 0x4f, 0x84, 0x8f, 0xb0, + 0x0, 0x0, 0x7, 0xf2, 0x0, 0x0, 0x2, 0xf4, + 0x43, 0x0, 0x2, 0xf4, 0x9d, 0x0, 0x6, 0xf1, + 0x2f, 0xa4, 0x6f, 0xa0, 0x4, 0xcf, 0xe8, 0x0, /* U+36 "6" */ - 0x0, 0x36, 0x75, 0x10, 0x6, 0xfd, 0xce, 0x40, - 0x4f, 0x70, 0x0, 0x0, 0xbe, 0x0, 0x0, 0x0, - 0xdb, 0x3, 0x30, 0x0, 0xfa, 0xdf, 0xfe, 0x30, - 0xff, 0x30, 0x2d, 0xd0, 0xf8, 0x0, 0x5, 0xf4, - 0xcc, 0x0, 0x4, 0xf4, 0xae, 0x0, 0x6, 0xf2, - 0x2f, 0x92, 0x4e, 0xc0, 0x4, 0xef, 0xfc, 0x10, - 0x0, 0x1, 0x0, 0x0, + 0x0, 0x2a, 0xe9, 0x0, 0x5, 0xfc, 0x63, 0x0, + 0x1f, 0x80, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, + 0xbb, 0xbf, 0xf9, 0x0, 0xef, 0xa4, 0x7f, 0x80, + 0xfb, 0x0, 0x8, 0xf0, 0xf8, 0x0, 0x4, 0xf2, + 0xd9, 0x0, 0x4, 0xf2, 0x9e, 0x0, 0x8, 0xe0, + 0x1e, 0xc5, 0x7f, 0x70, 0x2, 0xcf, 0xe7, 0x0, /* U+37 "7" */ - 0x13, 0x33, 0x33, 0x33, 0x13, 0xcc, 0xcc, 0xcd, - 0xf4, 0x0, 0x0, 0x0, 0xbd, 0x0, 0x0, 0x0, - 0x7f, 0x20, 0x0, 0x0, 0x2e, 0x60, 0x0, 0x0, - 0xa, 0xe0, 0x0, 0x0, 0x1, 0xf6, 0x0, 0x0, - 0x0, 0x6f, 0x10, 0x0, 0x0, 0xb, 0xd0, 0x0, - 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0xe, 0xc0, - 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, + 0x6f, 0xff, 0xff, 0xff, 0x41, 0x33, 0x33, 0x38, + 0xf1, 0x0, 0x0, 0x0, 0xc9, 0x0, 0x0, 0x0, + 0x3f, 0x20, 0x0, 0x0, 0xa, 0xb0, 0x0, 0x0, + 0x1, 0xf5, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, + 0x0, 0xe, 0x70, 0x0, 0x0, 0x6, 0xf1, 0x0, + 0x0, 0x0, 0xda, 0x0, 0x0, 0x0, 0x4f, 0x30, + 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, /* U+38 "8" */ - 0x0, 0x16, 0x76, 0x10, 0x0, 0x3e, 0xfc, 0xfe, - 0x30, 0xb, 0xf1, 0x1, 0xfb, 0x0, 0xcc, 0x0, - 0xc, 0xd0, 0xa, 0xd1, 0x0, 0xeb, 0x0, 0x1d, - 0xd7, 0xcd, 0x10, 0x1, 0x9f, 0xce, 0x91, 0x0, - 0xcd, 0x10, 0x1d, 0xb0, 0x2f, 0x70, 0x0, 0x6f, - 0x21, 0xf8, 0x0, 0x8, 0xf1, 0xc, 0xe5, 0x5, - 0xec, 0x0, 0x1a, 0xff, 0xfb, 0x10, 0x0, 0x0, - 0x20, 0x0, 0x0, + 0x0, 0x6d, 0xfd, 0x60, 0x0, 0x6f, 0x84, 0x8f, + 0x60, 0xc, 0xb0, 0x0, 0xbb, 0x0, 0xca, 0x0, + 0xa, 0xc0, 0x6, 0xf4, 0x4, 0xf6, 0x0, 0x9, + 0xff, 0xf9, 0x0, 0x5, 0xf7, 0x48, 0xf5, 0x0, + 0xe8, 0x0, 0x9, 0xe0, 0x1f, 0x50, 0x0, 0x5f, + 0x10, 0xf8, 0x0, 0x8, 0xf0, 0x8, 0xf7, 0x47, + 0xf7, 0x0, 0x7, 0xdf, 0xd7, 0x0, /* U+39 "9" */ - 0x0, 0x16, 0x74, 0x0, 0x3, 0xee, 0xcf, 0xb0, - 0xd, 0xc1, 0x3, 0xf8, 0x2f, 0x60, 0x0, 0xcc, - 0x4f, 0x40, 0x0, 0x9e, 0x1f, 0x70, 0x0, 0x9f, - 0xc, 0xe4, 0x7, 0xff, 0x1, 0xcf, 0xfd, 0x9f, - 0x0, 0x0, 0x30, 0xbd, 0x0, 0x0, 0x0, 0xeb, - 0x2, 0x30, 0x3a, 0xf3, 0x6, 0xff, 0xfe, 0x40, - 0x0, 0x3, 0x0, 0x0, + 0x0, 0x6e, 0xfc, 0x30, 0x7, 0xf8, 0x5c, 0xf1, + 0xe, 0x90, 0x1, 0xf8, 0x2f, 0x40, 0x0, 0xac, + 0x2f, 0x30, 0x0, 0x8e, 0xf, 0x70, 0x0, 0xae, + 0xa, 0xe4, 0x17, 0xfe, 0x1, 0xcf, 0xfc, 0xab, + 0x0, 0x2, 0x20, 0xc8, 0x0, 0x0, 0x5, 0xf2, + 0x0, 0x25, 0xaf, 0x60, 0x0, 0x9e, 0xb4, 0x0, /* U+3A ":" */ - 0x66, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x66, - 0xcc, + 0xba, 0x87, 0x0, 0x0, 0x0, 0x0, 0x0, 0x97, + 0xba, /* U+3B ";" */ - 0x66, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc6, - 0xf8, 0xf5, 0xe0, + 0xe, 0x70, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xa5, 0xe, 0x71, 0xf5, 0x7d, + 0x1, 0x20, /* U+3C "<" */ - 0x0, 0x0, 0x4, 0xb0, 0x0, 0x6b, 0xfe, 0x6, - 0xdf, 0xa4, 0x8, 0xfa, 0x20, 0x0, 0x2a, 0xfc, - 0x51, 0x0, 0x2, 0x9f, 0xe9, 0x0, 0x0, 0x18, - 0xf0, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x4, 0xb0, 0x0, 0x4c, 0xfc, 0x5, + 0xcf, 0xb4, 0x6, 0xfa, 0x20, 0x0, 0x2c, 0xfa, + 0x30, 0x0, 0x4, 0xbf, 0xc5, 0x0, 0x0, 0x3b, + 0xf0, 0x0, 0x0, 0x2, /* U+3D "=" */ - 0x9b, 0xbb, 0xbb, 0x96, 0x88, 0x88, 0x86, 0x0, - 0x0, 0x0, 0x6, 0x77, 0x77, 0x76, 0x9c, 0xcc, - 0xcc, 0x90, + 0x1, 0x11, 0x11, 0xd, 0xff, 0xff, 0xfb, 0x34, + 0x44, 0x44, 0x20, 0x11, 0x11, 0x10, 0xdf, 0xff, + 0xff, 0xb3, 0x33, 0x33, 0x32, /* U+3E ">" */ - 0xa2, 0x0, 0x0, 0xf, 0xfa, 0x40, 0x0, 0x6, - 0xbf, 0xc5, 0x0, 0x0, 0x28, 0xfb, 0x0, 0x39, - 0xee, 0x76, 0xcf, 0xd6, 0x0, 0xfa, 0x40, 0x0, + 0xb4, 0x0, 0x0, 0xb, 0xfd, 0x50, 0x0, 0x2, + 0x9f, 0xe7, 0x0, 0x0, 0x7, 0xfb, 0x0, 0x39, + 0xfd, 0x55, 0xcf, 0xc5, 0x0, 0xfb, 0x40, 0x0, 0x2, 0x0, 0x0, 0x0, /* U+3F "?" */ - 0x0, 0x67, 0x72, 0x1, 0xcf, 0xce, 0xe4, 0x6f, - 0x30, 0x1e, 0xc2, 0x40, 0x0, 0xce, 0x0, 0x0, - 0xe, 0xb0, 0x0, 0xa, 0xf3, 0x0, 0x6, 0xf6, - 0x0, 0x2, 0xf9, 0x0, 0x0, 0x3c, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x27, 0x40, 0x0, 0x4, - 0xf8, 0x0, + 0x3, 0xbf, 0xe8, 0x1, 0xec, 0x57, 0xf8, 0x4e, + 0x10, 0xa, 0xd0, 0x0, 0x0, 0x9d, 0x0, 0x0, + 0x1e, 0x80, 0x0, 0xc, 0xd0, 0x0, 0xa, 0xe2, + 0x0, 0x1, 0xf6, 0x0, 0x0, 0x19, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x19, 0x20, 0x0, 0x2, + 0xe4, 0x0, /* U+40 "@" */ - 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x6b, 0xfc, 0xfc, 0x60, 0x0, 0x1, 0x9d, 0x30, - 0x0, 0x2b, 0xa1, 0x0, 0x8b, 0x10, 0x0, 0x0, - 0xb, 0x80, 0x2f, 0x20, 0x7, 0xa9, 0x20, 0x2f, - 0x19, 0xa0, 0x9, 0xd6, 0x9f, 0x0, 0xc4, 0xc6, - 0x4, 0xf2, 0x7, 0xc0, 0xa, 0x6f, 0x40, 0x8d, - 0x0, 0x8c, 0x0, 0x88, 0xf0, 0xc, 0xc0, 0x8, - 0xa0, 0x8, 0x8f, 0x40, 0xcc, 0x0, 0xc8, 0x0, - 0xd4, 0xf4, 0xa, 0xd1, 0x4e, 0x90, 0x6e, 0xb, - 0xa0, 0x3f, 0xfd, 0x5f, 0xcd, 0x20, 0x3f, 0x10, - 0x2, 0x0, 0x11, 0x0, 0x0, 0x9c, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x7f, 0xa7, 0x79, 0xa0, - 0x0, 0x0, 0x0, 0x14, 0x78, 0x61, 0x0, 0x0, + 0x0, 0x0, 0x3a, 0xef, 0xeb, 0x40, 0x0, 0x0, + 0x7, 0xe7, 0x31, 0x26, 0xe8, 0x0, 0x0, 0x6e, + 0x20, 0x0, 0x0, 0xc, 0x50, 0x1, 0xf3, 0x0, + 0x8e, 0xc5, 0x2, 0xe0, 0x7, 0xb0, 0x8, 0xc3, + 0x7e, 0x0, 0xc3, 0xc, 0x50, 0x1f, 0x30, 0x5c, + 0x0, 0x96, 0xf, 0x20, 0x6d, 0x0, 0x6b, 0x0, + 0x78, 0x1f, 0x0, 0x9a, 0x0, 0x8a, 0x0, 0x78, + 0x1f, 0x0, 0xb8, 0x0, 0x99, 0x0, 0x87, 0xf, + 0x20, 0xa9, 0x0, 0xc8, 0x0, 0xc3, 0xd, 0x50, + 0x6d, 0x15, 0xec, 0x6, 0xc0, 0x7, 0xc0, 0xb, + 0xf9, 0x1c, 0xfb, 0x10, 0x0, 0xe7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3e, 0xa3, 0x10, 0x34, + 0x0, 0x0, 0x0, 0x1, 0x8d, 0xff, 0xc6, 0x0, + 0x0, /* U+41 "A" */ - 0x0, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0xef, - 0x10, 0x0, 0x0, 0x4, 0xff, 0x70, 0x0, 0x0, - 0xa, 0xeb, 0xc0, 0x0, 0x0, 0xf, 0x96, 0xf2, - 0x0, 0x0, 0x5f, 0x21, 0xf7, 0x0, 0x0, 0xbd, - 0x0, 0xbd, 0x0, 0x1, 0xf9, 0x33, 0x7f, 0x30, - 0x6, 0xff, 0xff, 0xff, 0x90, 0xd, 0xd0, 0x0, - 0xa, 0xd0, 0x2f, 0x70, 0x0, 0x5, 0xf4, 0x7f, - 0x10, 0x0, 0x0, 0xfa, + 0x0, 0x0, 0x9f, 0x10, 0x0, 0x0, 0x0, 0xf, + 0xf6, 0x0, 0x0, 0x0, 0x5, 0xfb, 0xc0, 0x0, + 0x0, 0x0, 0xbb, 0x4f, 0x20, 0x0, 0x0, 0x1f, + 0x60, 0xf8, 0x0, 0x0, 0x6, 0xf1, 0xa, 0xd0, + 0x0, 0x0, 0xcc, 0x0, 0x5f, 0x30, 0x0, 0x2f, + 0x70, 0x1, 0xf9, 0x0, 0x8, 0xff, 0xff, 0xff, + 0xe0, 0x0, 0xdc, 0x33, 0x33, 0x6f, 0x50, 0x3f, + 0x50, 0x0, 0x0, 0xeb, 0x9, 0xe0, 0x0, 0x0, + 0x8, 0xf1, /* U+42 "B" */ - 0x33, 0x33, 0x33, 0x0, 0xc, 0xfc, 0xce, 0xfb, - 0x10, 0xcc, 0x0, 0x4, 0xf8, 0xc, 0xc0, 0x0, - 0xc, 0xc0, 0xcc, 0x0, 0x1, 0xea, 0xc, 0xd7, - 0x78, 0xdc, 0x10, 0xcf, 0xcc, 0xcd, 0xe6, 0xc, - 0xc0, 0x0, 0x7, 0xf4, 0xcc, 0x0, 0x0, 0xf, - 0x8c, 0xc0, 0x0, 0x2, 0xf7, 0xcc, 0x33, 0x34, - 0xcf, 0x2c, 0xff, 0xff, 0xfb, 0x30, + 0xaf, 0xff, 0xfc, 0x50, 0xa, 0xe4, 0x45, 0xaf, + 0x50, 0xad, 0x0, 0x0, 0xdb, 0xa, 0xd0, 0x0, + 0xd, 0xb0, 0xad, 0x0, 0x17, 0xf4, 0xa, 0xff, + 0xff, 0xf8, 0x0, 0xad, 0x33, 0x48, 0xf6, 0xa, + 0xd0, 0x0, 0xa, 0xe0, 0xad, 0x0, 0x0, 0x7f, + 0xa, 0xd0, 0x0, 0xa, 0xe0, 0xae, 0x44, 0x59, + 0xf7, 0xa, 0xff, 0xff, 0xd6, 0x0, /* U+43 "C" */ - 0x0, 0x25, 0x75, 0x10, 0x0, 0x7f, 0xdc, 0xee, - 0x60, 0x4f, 0x80, 0x1, 0xbe, 0x2c, 0xe0, 0x0, - 0x3, 0xf5, 0xf8, 0x0, 0x0, 0x4, 0x2f, 0x80, - 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0xf, - 0x80, 0x0, 0x0, 0x0, 0xea, 0x0, 0x0, 0xc, - 0x6a, 0xe1, 0x0, 0x5, 0xf4, 0x1f, 0xc3, 0x14, - 0xec, 0x0, 0x2c, 0xff, 0xf9, 0x10, 0x0, 0x0, - 0x20, 0x0, 0x0, + 0x0, 0x8, 0xdf, 0xe8, 0x0, 0x0, 0xcf, 0x75, + 0x7f, 0xb0, 0x7, 0xf3, 0x0, 0x4, 0xf4, 0xd, + 0xb0, 0x0, 0x0, 0xd8, 0xf, 0x80, 0x0, 0x0, + 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0xf, 0x70, + 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x0, + 0xd, 0xb0, 0x0, 0x0, 0xc7, 0x7, 0xf3, 0x0, + 0x4, 0xf5, 0x0, 0xcf, 0x75, 0x7e, 0xb0, 0x0, + 0x9, 0xef, 0xe8, 0x0, /* U+44 "D" */ - 0x33, 0x33, 0x32, 0x0, 0xc, 0xfc, 0xcf, 0xfa, - 0x10, 0xcc, 0x0, 0x4, 0xec, 0xc, 0xc0, 0x0, - 0x4, 0xf7, 0xcc, 0x0, 0x0, 0xe, 0xbc, 0xc0, - 0x0, 0x0, 0xcc, 0xcc, 0x0, 0x0, 0xc, 0xcc, - 0xc0, 0x0, 0x0, 0xcc, 0xcc, 0x0, 0x0, 0xf, - 0x9c, 0xc0, 0x0, 0x8, 0xf4, 0xcc, 0x33, 0x49, - 0xf8, 0xc, 0xff, 0xff, 0xc4, 0x0, + 0xaf, 0xff, 0xe9, 0x10, 0xa, 0xe4, 0x46, 0xde, + 0x20, 0xad, 0x0, 0x0, 0xdc, 0xa, 0xd0, 0x0, + 0x5, 0xf3, 0xad, 0x0, 0x0, 0x1f, 0x7a, 0xd0, + 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0xf, 0x8a, + 0xd0, 0x0, 0x1, 0xf7, 0xad, 0x0, 0x0, 0x5f, + 0x3a, 0xd0, 0x0, 0x1d, 0xd0, 0xae, 0x44, 0x6e, + 0xe2, 0xa, 0xff, 0xfe, 0x91, 0x0, /* U+45 "E" */ - 0x33, 0x33, 0x33, 0x31, 0xcf, 0xcc, 0xcc, 0xc3, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcd, 0x77, 0x77, 0x40, - 0xcf, 0xcc, 0xcc, 0x60, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x33, 0x33, 0x31, 0xcf, 0xff, 0xff, 0xf4, + 0xaf, 0xff, 0xff, 0xf7, 0xae, 0x44, 0x44, 0x42, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xc0, + 0xad, 0x33, 0x33, 0x20, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xae, 0x44, 0x44, 0x42, 0xaf, 0xff, 0xff, 0xf8, /* U+46 "F" */ - 0x33, 0x33, 0x33, 0x32, 0xcf, 0xcc, 0xcc, 0xc6, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x33, 0x33, 0x20, - 0xcf, 0xff, 0xff, 0x80, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, + 0xaf, 0xff, 0xff, 0xf6, 0xae, 0x44, 0x44, 0x41, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xaf, 0xff, 0xff, 0x90, 0xad, 0x33, 0x33, 0x20, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, /* U+47 "G" */ - 0x0, 0x25, 0x75, 0x20, 0x0, 0x7f, 0xec, 0xee, - 0x60, 0x4f, 0x90, 0x0, 0xae, 0x2c, 0xe0, 0x0, - 0x2, 0xf6, 0xf9, 0x0, 0x0, 0x0, 0xf, 0x80, - 0x0, 0x0, 0x0, 0xf8, 0x0, 0x6b, 0xbb, 0x6f, - 0x80, 0x4, 0x88, 0xf8, 0xeb, 0x0, 0x0, 0xf, - 0x8a, 0xe2, 0x0, 0x0, 0xf8, 0x1f, 0xc4, 0x2, - 0x7f, 0x60, 0x1a, 0xff, 0xfe, 0x50, 0x0, 0x0, - 0x20, 0x0, 0x0, + 0x0, 0x8, 0xef, 0xe9, 0x0, 0x0, 0xce, 0x75, + 0x7e, 0xc0, 0x7, 0xf3, 0x0, 0x3, 0xf6, 0xc, + 0xc0, 0x0, 0x0, 0x75, 0xf, 0x90, 0x0, 0x0, + 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0xf, 0x70, + 0x6, 0xff, 0xfb, 0xf, 0x90, 0x1, 0x33, 0xdb, + 0xc, 0xd0, 0x0, 0x0, 0xcb, 0x6, 0xf5, 0x0, + 0x0, 0xcb, 0x0, 0xbf, 0x84, 0x5a, 0xf7, 0x0, + 0x7, 0xdf, 0xfc, 0x50, /* U+48 "H" */ - 0x33, 0x0, 0x0, 0x2, 0x3c, 0xc0, 0x0, 0x0, - 0x8f, 0xcc, 0x0, 0x0, 0x8, 0xfc, 0xc0, 0x0, - 0x0, 0x8f, 0xcc, 0x0, 0x0, 0x8, 0xfc, 0xc3, - 0x33, 0x33, 0x9f, 0xcf, 0xff, 0xff, 0xff, 0xfc, - 0xc0, 0x0, 0x0, 0x8f, 0xcc, 0x0, 0x0, 0x8, - 0xfc, 0xc0, 0x0, 0x0, 0x8f, 0xcc, 0x0, 0x0, - 0x8, 0xfc, 0xc0, 0x0, 0x0, 0x8f, + 0xad, 0x0, 0x0, 0x7, 0xf1, 0xad, 0x0, 0x0, + 0x7, 0xf1, 0xad, 0x0, 0x0, 0x7, 0xf1, 0xad, + 0x0, 0x0, 0x7, 0xf1, 0xad, 0x0, 0x0, 0x7, + 0xf1, 0xaf, 0xff, 0xff, 0xff, 0xf1, 0xad, 0x33, + 0x33, 0x39, 0xf1, 0xad, 0x0, 0x0, 0x7, 0xf1, + 0xad, 0x0, 0x0, 0x7, 0xf1, 0xad, 0x0, 0x0, + 0x7, 0xf1, 0xad, 0x0, 0x0, 0x7, 0xf1, 0xad, + 0x0, 0x0, 0x7, 0xf1, /* U+49 "I" */ - 0x35, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, - 0x8f, 0x8f, 0x8f, 0x8f, + 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, + 0x9f, 0x9f, 0x9f, 0x9f, /* U+4A "J" */ - 0x0, 0x0, 0x0, 0x42, 0x0, 0x0, 0x0, 0xf8, - 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0xf8, - 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0xf8, - 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0xf8, - 0x13, 0x0, 0x0, 0xf8, 0x4f, 0x40, 0x4, 0xf5, - 0x2f, 0xb2, 0x2c, 0xf1, 0x5, 0xef, 0xfd, 0x30, - 0x0, 0x1, 0x10, 0x0, + 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0xe9, + 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0xe9, + 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0xe9, + 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0xe9, + 0x36, 0x0, 0x0, 0xe9, 0x7f, 0x10, 0x2, 0xf7, + 0x1e, 0xc5, 0x5d, 0xe1, 0x3, 0xbe, 0xea, 0x20, /* U+4B "K" */ - 0x33, 0x0, 0x0, 0x13, 0x2c, 0xc0, 0x0, 0x1c, - 0xd1, 0xcc, 0x0, 0xa, 0xf3, 0xc, 0xc0, 0x7, - 0xf4, 0x0, 0xcc, 0x4, 0xf6, 0x0, 0xc, 0xc4, - 0xea, 0x0, 0x0, 0xcf, 0xcf, 0x90, 0x0, 0xc, - 0xc0, 0x8f, 0x60, 0x0, 0xcc, 0x0, 0xbe, 0x30, - 0xc, 0xc0, 0x1, 0xdd, 0x10, 0xcc, 0x0, 0x3, - 0xfc, 0xc, 0xc0, 0x0, 0x5, 0xf9, + 0xad, 0x0, 0x0, 0x8f, 0x40, 0xad, 0x0, 0x6, + 0xf6, 0x0, 0xad, 0x0, 0x4f, 0x90, 0x0, 0xad, + 0x2, 0xfb, 0x0, 0x0, 0xad, 0x1d, 0xd0, 0x0, + 0x0, 0xad, 0xcf, 0x60, 0x0, 0x0, 0xaf, 0xfc, + 0xf2, 0x0, 0x0, 0xaf, 0x41, 0xec, 0x0, 0x0, + 0xad, 0x0, 0x4f, 0x80, 0x0, 0xad, 0x0, 0x8, + 0xf4, 0x0, 0xad, 0x0, 0x0, 0xce, 0x10, 0xad, + 0x0, 0x0, 0x2f, 0xa0, /* U+4C "L" */ - 0x33, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x33, 0x33, 0x32, 0xcf, 0xff, 0xff, 0xf8, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xad, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xae, 0x44, 0x44, 0x40, 0xaf, 0xff, 0xff, 0xf3, /* U+4D "M" */ - 0x33, 0x20, 0x0, 0x0, 0x2, 0x32, 0xcf, 0xa0, - 0x0, 0x0, 0xc, 0xf8, 0xcf, 0xf1, 0x0, 0x0, - 0x2f, 0xf8, 0xcd, 0xf7, 0x0, 0x0, 0x9e, 0xf8, - 0xcc, 0xac, 0x0, 0x0, 0xf8, 0xf8, 0xcc, 0x3f, - 0x30, 0x5, 0xf2, 0xf8, 0xcc, 0xd, 0xa0, 0xb, - 0xb0, 0xf8, 0xcc, 0x6, 0xe1, 0x2f, 0x50, 0xf8, - 0xcc, 0x1, 0xf6, 0x8e, 0x0, 0xf8, 0xcc, 0x0, - 0xac, 0xd8, 0x0, 0xf8, 0xcc, 0x0, 0x3f, 0xf2, - 0x0, 0xf8, 0xcc, 0x0, 0xd, 0xb0, 0x0, 0xf8, + 0xaf, 0x70, 0x0, 0x0, 0x7, 0xfa, 0xaf, 0xd0, + 0x0, 0x0, 0xd, 0xfa, 0xae, 0xf3, 0x0, 0x0, + 0x3f, 0xea, 0xab, 0xd9, 0x0, 0x0, 0xac, 0xca, + 0xab, 0x7e, 0x0, 0x0, 0xf6, 0xca, 0xac, 0x1f, + 0x50, 0x6, 0xf1, 0xca, 0xac, 0xb, 0xb0, 0xc, + 0xa0, 0xda, 0xad, 0x5, 0xf1, 0x2f, 0x40, 0xda, + 0xad, 0x0, 0xe7, 0x8e, 0x0, 0xda, 0xad, 0x0, + 0x8d, 0xe8, 0x0, 0xda, 0xad, 0x0, 0x2f, 0xf2, + 0x0, 0xda, 0xad, 0x0, 0xc, 0xb0, 0x0, 0xda, /* U+4E "N" */ - 0x33, 0x0, 0x0, 0x2, 0x3c, 0xf7, 0x0, 0x0, - 0x8f, 0xcf, 0xe1, 0x0, 0x8, 0xfc, 0xdf, 0xa0, - 0x0, 0x8f, 0xcc, 0x5f, 0x50, 0x8, 0xfc, 0xc0, - 0xcd, 0x10, 0x8f, 0xcc, 0x2, 0xf9, 0x8, 0xfc, - 0xc0, 0x7, 0xf4, 0x8f, 0xcc, 0x0, 0xd, 0xc8, - 0xfc, 0xc0, 0x0, 0x3f, 0xef, 0xcc, 0x0, 0x0, - 0x9f, 0xfc, 0xc0, 0x0, 0x1, 0xef, + 0xaf, 0x20, 0x0, 0x6, 0xf1, 0xaf, 0xc0, 0x0, + 0x6, 0xf1, 0xaf, 0xf6, 0x0, 0x6, 0xf1, 0xad, + 0xbe, 0x10, 0x6, 0xf1, 0xad, 0x2f, 0x90, 0x6, + 0xf1, 0xad, 0x7, 0xf3, 0x6, 0xf1, 0xad, 0x0, + 0xdd, 0x6, 0xf1, 0xad, 0x0, 0x3f, 0x76, 0xf1, + 0xad, 0x0, 0x9, 0xf8, 0xf1, 0xad, 0x0, 0x1, + 0xef, 0xf1, 0xad, 0x0, 0x0, 0x5f, 0xf1, 0xad, + 0x0, 0x0, 0xb, 0xf1, /* U+4F "O" */ - 0x0, 0x25, 0x74, 0x10, 0x0, 0x7f, 0xec, 0xfe, - 0x50, 0x4f, 0x90, 0x1, 0xaf, 0x2d, 0xd0, 0x0, - 0x1, 0xeb, 0xf8, 0x0, 0x0, 0xa, 0xdf, 0x80, - 0x0, 0x0, 0x8f, 0xf8, 0x0, 0x0, 0x8, 0xff, - 0x80, 0x0, 0x0, 0x8f, 0xf9, 0x0, 0x0, 0xc, - 0xda, 0xe1, 0x0, 0x2, 0xf8, 0x1f, 0xc4, 0x34, - 0xed, 0x10, 0x2b, 0xff, 0xf9, 0x10, 0x0, 0x0, - 0x10, 0x0, 0x0, + 0x0, 0x8, 0xdf, 0xd8, 0x0, 0x0, 0xc, 0xf8, + 0x58, 0xfc, 0x0, 0x6, 0xf4, 0x0, 0x4, 0xf6, + 0x0, 0xcc, 0x0, 0x0, 0xc, 0xc0, 0xf, 0x80, + 0x0, 0x0, 0x8f, 0x1, 0xf7, 0x0, 0x0, 0x7, + 0xf1, 0x1f, 0x60, 0x0, 0x0, 0x6f, 0x10, 0xf8, + 0x0, 0x0, 0x8, 0xf0, 0xc, 0xc0, 0x0, 0x0, + 0xcc, 0x0, 0x6f, 0x40, 0x0, 0x3f, 0x60, 0x0, + 0xbf, 0x85, 0x8f, 0xc0, 0x0, 0x0, 0x8d, 0xfe, + 0x80, 0x0, /* U+50 "P" */ - 0x33, 0x33, 0x33, 0x10, 0xc, 0xfc, 0xcc, 0xfe, - 0x60, 0xcc, 0x0, 0x1, 0xbe, 0x2c, 0xc0, 0x0, - 0x3, 0xf6, 0xcc, 0x0, 0x0, 0x3f, 0x6c, 0xc0, - 0x0, 0xa, 0xf2, 0xce, 0xbb, 0xbe, 0xf6, 0xc, - 0xe8, 0x88, 0x42, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xc, 0xc0, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, - 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, + 0xaf, 0xff, 0xfe, 0x80, 0xa, 0xe4, 0x45, 0x8f, + 0xd0, 0xad, 0x0, 0x0, 0x4f, 0x5a, 0xd0, 0x0, + 0x0, 0xf7, 0xad, 0x0, 0x0, 0x2f, 0x6a, 0xd0, + 0x1, 0x3c, 0xf1, 0xaf, 0xff, 0xff, 0xd3, 0xa, + 0xd3, 0x33, 0x10, 0x0, 0xad, 0x0, 0x0, 0x0, + 0xa, 0xd0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, + 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, /* U+51 "Q" */ - 0x0, 0x25, 0x74, 0x10, 0x0, 0x7, 0xfe, 0xcf, - 0xe5, 0x0, 0x4f, 0x90, 0x1, 0xaf, 0x20, 0xdd, - 0x0, 0x0, 0x1e, 0xb0, 0xf8, 0x0, 0x0, 0xa, - 0xd0, 0xf8, 0x0, 0x0, 0x8, 0xf0, 0xf8, 0x0, - 0x0, 0x8, 0xf0, 0xf8, 0x0, 0x0, 0x8, 0xf0, - 0xf9, 0x0, 0x0, 0xc, 0xe0, 0xae, 0x10, 0x0, - 0x2f, 0x90, 0x1f, 0xc4, 0x34, 0xef, 0x40, 0x2, - 0xbf, 0xff, 0xaf, 0xe3, 0x0, 0x0, 0x20, 0x1, - 0xd6, + 0x0, 0x8, 0xef, 0xd7, 0x0, 0x0, 0xc, 0xf8, + 0x58, 0xfb, 0x0, 0x7, 0xf3, 0x0, 0x5, 0xf5, + 0x0, 0xdb, 0x0, 0x0, 0xd, 0xb0, 0xf, 0x70, + 0x0, 0x0, 0x9e, 0x2, 0xf6, 0x0, 0x0, 0x8, + 0xf0, 0x2f, 0x50, 0x0, 0x0, 0x7f, 0x0, 0xf7, + 0x0, 0x0, 0x9, 0xe0, 0xd, 0xb0, 0x0, 0x0, + 0xdb, 0x0, 0x7f, 0x30, 0x0, 0x4f, 0x50, 0x0, + 0xce, 0x75, 0x8f, 0xb0, 0x0, 0x0, 0x8e, 0xfe, + 0xf6, 0x0, 0x0, 0x0, 0x0, 0x9, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x6, 0x60, /* U+52 "R" */ - 0x33, 0x33, 0x33, 0x0, 0xc, 0xfc, 0xcd, 0xfd, - 0x30, 0xcc, 0x0, 0x1, 0xdd, 0xc, 0xc0, 0x0, - 0x7, 0xf2, 0xcc, 0x0, 0x0, 0x8f, 0x1c, 0xc3, - 0x33, 0x5e, 0x90, 0xcf, 0xff, 0xff, 0xc1, 0xc, - 0xc0, 0x0, 0x5f, 0xb0, 0xcc, 0x0, 0x0, 0x8f, - 0xc, 0xc0, 0x0, 0x8, 0xf4, 0xcc, 0x0, 0x0, - 0x6f, 0x4c, 0xc0, 0x0, 0x3, 0xf7, + 0xbf, 0xff, 0xfc, 0x50, 0xb, 0xe4, 0x45, 0xaf, + 0x70, 0xbd, 0x0, 0x0, 0xbe, 0xb, 0xd0, 0x0, + 0x7, 0xf0, 0xbd, 0x0, 0x0, 0xaf, 0xb, 0xd0, + 0x1, 0x6f, 0x80, 0xbf, 0xff, 0xff, 0x80, 0xb, + 0xd3, 0x37, 0xf3, 0x0, 0xbd, 0x0, 0xd, 0xb0, + 0xb, 0xd0, 0x0, 0x5f, 0x40, 0xbd, 0x0, 0x0, + 0xcc, 0xb, 0xd0, 0x0, 0x4, 0xf5, /* U+53 "S" */ - 0x0, 0x47, 0x73, 0x0, 0xc, 0xfc, 0xcf, 0xb1, - 0x7f, 0x30, 0x3, 0xf9, 0xbd, 0x0, 0x0, 0xbc, - 0x7f, 0x30, 0x0, 0x0, 0x1d, 0xf9, 0x40, 0x0, - 0x0, 0x7d, 0xfe, 0x70, 0x0, 0x0, 0x28, 0xf9, - 0x42, 0x0, 0x0, 0xae, 0xea, 0x0, 0x0, 0xaf, - 0x6f, 0x72, 0x16, 0xf9, 0x6, 0xef, 0xff, 0x80, - 0x0, 0x0, 0x10, 0x0, + 0x0, 0x5c, 0xff, 0xa2, 0x0, 0x6f, 0x95, 0x6c, + 0xf2, 0xe, 0xa0, 0x0, 0xe, 0xa0, 0xf9, 0x0, + 0x0, 0x67, 0xa, 0xf5, 0x0, 0x0, 0x0, 0xa, + 0xfe, 0x93, 0x0, 0x0, 0x3, 0x8e, 0xf9, 0x0, + 0x0, 0x0, 0x6, 0xf8, 0x29, 0x10, 0x0, 0xa, + 0xd2, 0xf7, 0x0, 0x0, 0xcc, 0x9, 0xf9, 0x55, + 0xaf, 0x50, 0x6, 0xcf, 0xec, 0x50, /* U+54 "T" */ - 0x33, 0x33, 0x33, 0x33, 0x31, 0x9c, 0xcc, 0xfe, - 0xcc, 0xc3, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, + 0x9f, 0xff, 0xff, 0xff, 0xf3, 0x24, 0x44, 0xfa, + 0x44, 0x40, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, @@ -434,1050 +440,1209 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x0, 0xf8, 0x0, 0x0, /* U+55 "U" */ - 0x33, 0x0, 0x0, 0x3, 0x3c, 0xc0, 0x0, 0x0, - 0xcc, 0xcc, 0x0, 0x0, 0xc, 0xcc, 0xc0, 0x0, - 0x0, 0xcc, 0xcc, 0x0, 0x0, 0xc, 0xcc, 0xc0, - 0x0, 0x0, 0xcc, 0xcc, 0x0, 0x0, 0xc, 0xcc, - 0xc0, 0x0, 0x0, 0xcc, 0xcc, 0x0, 0x0, 0xe, - 0xba, 0xe1, 0x0, 0x2, 0xf8, 0x2f, 0xb3, 0x14, - 0xce, 0x10, 0x3c, 0xff, 0xfb, 0x20, 0x0, 0x0, - 0x10, 0x0, 0x0, + 0xe9, 0x0, 0x0, 0x2f, 0x5e, 0x90, 0x0, 0x2, + 0xf5, 0xe9, 0x0, 0x0, 0x2f, 0x5e, 0x90, 0x0, + 0x2, 0xf5, 0xe9, 0x0, 0x0, 0x2f, 0x5e, 0x90, + 0x0, 0x2, 0xf5, 0xe9, 0x0, 0x0, 0x2f, 0x5e, + 0x90, 0x0, 0x2, 0xf5, 0xda, 0x0, 0x0, 0x3f, + 0x4a, 0xe0, 0x0, 0x8, 0xf1, 0x2f, 0xc6, 0x59, + 0xf7, 0x0, 0x2a, 0xef, 0xc5, 0x0, /* U+56 "V" */ - 0x33, 0x0, 0x0, 0x0, 0x33, 0x8f, 0x20, 0x0, - 0x1, 0xfa, 0x2f, 0x80, 0x0, 0x6, 0xf4, 0xc, - 0xd0, 0x0, 0xb, 0xe0, 0x6, 0xf3, 0x0, 0x1f, - 0x80, 0x1, 0xf9, 0x0, 0x7f, 0x20, 0x0, 0xad, - 0x0, 0xdd, 0x0, 0x0, 0x5f, 0x42, 0xf6, 0x0, - 0x0, 0xe, 0xa7, 0xf1, 0x0, 0x0, 0x9, 0xed, - 0xa0, 0x0, 0x0, 0x2, 0xff, 0x50, 0x0, 0x0, - 0x0, 0xde, 0x0, 0x0, + 0x9f, 0x0, 0x0, 0x0, 0xdc, 0x4f, 0x50, 0x0, + 0x2, 0xf7, 0xe, 0xa0, 0x0, 0x7, 0xf1, 0x8, + 0xf0, 0x0, 0xd, 0xc0, 0x3, 0xf5, 0x0, 0x2f, + 0x60, 0x0, 0xda, 0x0, 0x7f, 0x10, 0x0, 0x7f, + 0x0, 0xcb, 0x0, 0x0, 0x2f, 0x52, 0xf5, 0x0, + 0x0, 0xc, 0xa7, 0xf0, 0x0, 0x0, 0x7, 0xfd, + 0xa0, 0x0, 0x0, 0x1, 0xff, 0x40, 0x0, 0x0, + 0x0, 0xbe, 0x0, 0x0, /* U+57 "W" */ - 0x33, 0x0, 0x0, 0x43, 0x0, 0x1, 0x32, 0x8f, - 0x20, 0x2, 0xfd, 0x0, 0x6, 0xf5, 0x4f, 0x60, - 0x6, 0xff, 0x20, 0x9, 0xf1, 0xf, 0x90, 0xa, - 0xcf, 0x70, 0xd, 0xd0, 0xc, 0xc0, 0xf, 0xad, - 0xb0, 0xf, 0x90, 0x8, 0xf0, 0x3f, 0x58, 0xe0, - 0x4f, 0x50, 0x5, 0xf4, 0x7f, 0x3, 0xf4, 0x8f, - 0x10, 0x1, 0xf8, 0xcb, 0x0, 0xf8, 0xbd, 0x0, - 0x0, 0xdb, 0xf7, 0x0, 0xac, 0xe9, 0x0, 0x0, - 0x9d, 0xf2, 0x0, 0x6e, 0xf6, 0x0, 0x0, 0x5f, - 0xe0, 0x0, 0x1f, 0xf2, 0x0, 0x0, 0x1f, 0x90, - 0x0, 0xd, 0xe0, 0x0, + 0x6f, 0x10, 0x0, 0x9f, 0x0, 0x0, 0xcb, 0x2f, + 0x40, 0x0, 0xdf, 0x30, 0x0, 0xf8, 0xe, 0x80, + 0x1, 0xfe, 0x70, 0x3, 0xf4, 0xb, 0xb0, 0x6, + 0xf8, 0xb0, 0x6, 0xf0, 0x7, 0xf0, 0xa, 0xa4, + 0xf0, 0x9, 0xd0, 0x4, 0xf2, 0xe, 0x60, 0xf4, + 0xd, 0x90, 0x0, 0xf6, 0x2f, 0x10, 0xb8, 0xf, + 0x50, 0x0, 0xc9, 0x7d, 0x0, 0x7c, 0x4f, 0x20, + 0x0, 0x9d, 0xb9, 0x0, 0x3f, 0x8e, 0x0, 0x0, + 0x5f, 0xe4, 0x0, 0xe, 0xea, 0x0, 0x0, 0x1f, + 0xf0, 0x0, 0xa, 0xf7, 0x0, 0x0, 0xe, 0xb0, + 0x0, 0x6, 0xf3, 0x0, /* U+58 "X" */ - 0x13, 0x20, 0x0, 0x2, 0x32, 0xd, 0xe1, 0x0, - 0xc, 0xf1, 0x4, 0xf9, 0x0, 0x6f, 0x70, 0x0, - 0x9f, 0x21, 0xec, 0x0, 0x0, 0x1e, 0xb9, 0xf2, - 0x0, 0x0, 0x4, 0xff, 0x80, 0x0, 0x0, 0x1, - 0xef, 0x30, 0x0, 0x0, 0x9, 0xfe, 0xb0, 0x0, - 0x0, 0x4f, 0x84, 0xf7, 0x0, 0x0, 0xee, 0x0, - 0xbe, 0x20, 0x8, 0xf4, 0x0, 0x2f, 0xb0, 0x3f, - 0xb0, 0x0, 0x8, 0xf5, + 0x2f, 0x90, 0x0, 0x8, 0xf3, 0x8, 0xf3, 0x0, + 0x2f, 0x90, 0x0, 0xec, 0x0, 0xbe, 0x10, 0x0, + 0x5f, 0x65, 0xf6, 0x0, 0x0, 0xb, 0xee, 0xc0, + 0x0, 0x0, 0x2, 0xff, 0x30, 0x0, 0x0, 0x3, + 0xff, 0x40, 0x0, 0x0, 0xc, 0xed, 0xd0, 0x0, + 0x0, 0x6f, 0x54, 0xf7, 0x0, 0x1, 0xeb, 0x0, + 0xaf, 0x20, 0xa, 0xf2, 0x0, 0x1f, 0xb0, 0x3f, + 0x80, 0x0, 0x7, 0xf4, /* U+59 "Y" */ - 0x23, 0x10, 0x0, 0x0, 0x43, 0x4f, 0x80, 0x0, - 0x7, 0xf4, 0xb, 0xe1, 0x0, 0x1e, 0xc0, 0x2, - 0xf8, 0x0, 0x8f, 0x40, 0x0, 0xae, 0x21, 0xea, - 0x0, 0x0, 0x1f, 0xa8, 0xf2, 0x0, 0x0, 0x8, - 0xfe, 0xa0, 0x0, 0x0, 0x1, 0xff, 0x10, 0x0, - 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0, 0xcc, - 0x0, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x0, 0x0, + 0x9f, 0x10, 0x0, 0x7, 0xf3, 0x1f, 0x90, 0x0, + 0xe, 0xa0, 0x9, 0xf1, 0x0, 0x7f, 0x20, 0x1, + 0xf9, 0x0, 0xea, 0x0, 0x0, 0x8f, 0x17, 0xf2, + 0x0, 0x0, 0x1f, 0x9e, 0x90, 0x0, 0x0, 0x7, + 0xff, 0x10, 0x0, 0x0, 0x0, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0xf8, 0x0, 0x0, /* U+5A "Z" */ - 0x13, 0x33, 0x33, 0x33, 0x23, 0xcc, 0xcc, 0xcd, - 0xf8, 0x0, 0x0, 0x0, 0x9f, 0x20, 0x0, 0x0, - 0x4f, 0x70, 0x0, 0x0, 0x1d, 0xc0, 0x0, 0x0, - 0xb, 0xf2, 0x0, 0x0, 0x5, 0xf7, 0x0, 0x0, - 0x1, 0xec, 0x0, 0x0, 0x0, 0xbf, 0x20, 0x0, - 0x0, 0x5f, 0x50, 0x0, 0x0, 0x1e, 0xc3, 0x33, - 0x33, 0x34, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xb1, 0x44, 0x44, 0x48, + 0xf7, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, + 0x8f, 0x30, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, + 0xd, 0xd0, 0x0, 0x0, 0x7, 0xf3, 0x0, 0x0, + 0x2, 0xf8, 0x0, 0x0, 0x0, 0xcd, 0x0, 0x0, + 0x0, 0x7f, 0x40, 0x0, 0x0, 0x2f, 0xc4, 0x44, + 0x44, 0x45, 0xff, 0xff, 0xff, 0xff, /* U+5B "[" */ - 0xcf, 0xf4, 0xcd, 0x41, 0xcc, 0x0, 0xcc, 0x0, - 0xcc, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0xcc, 0x0, - 0xcc, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0xcc, 0x0, - 0xcc, 0x0, 0xcc, 0x0, 0xce, 0xb3, 0x68, 0x82, + 0x0, 0x0, 0xdf, 0xf1, 0xda, 0x30, 0xd9, 0x0, + 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, + 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, + 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, + 0xdf, 0xf1, 0x23, 0x30, /* U+5C "\\" */ - 0x23, 0x0, 0x0, 0x6, 0xf2, 0x0, 0x0, 0xf, - 0x80, 0x0, 0x0, 0xad, 0x0, 0x0, 0x3, 0xf4, - 0x0, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x7f, 0x10, - 0x0, 0x1, 0xf6, 0x0, 0x0, 0xa, 0xc0, 0x0, - 0x0, 0x5f, 0x30, 0x0, 0x0, 0xe9, 0x0, 0x0, - 0x8, 0xe0, 0x0, 0x0, 0x2f, 0x60, + 0x8d, 0x0, 0x0, 0x2, 0xf3, 0x0, 0x0, 0xc, + 0x90, 0x0, 0x0, 0x6e, 0x0, 0x0, 0x1, 0xf5, + 0x0, 0x0, 0xa, 0xb0, 0x0, 0x0, 0x5f, 0x10, + 0x0, 0x0, 0xe6, 0x0, 0x0, 0x9, 0xc0, 0x0, + 0x0, 0x3f, 0x20, 0x0, 0x0, 0xd8, 0x0, 0x0, + 0x7, 0xe0, 0x0, 0x0, 0x2f, 0x40, /* U+5D "]" */ - 0xff, 0xf4, 0xaf, 0x8, 0xf0, 0x8f, 0x8, 0xf0, - 0x8f, 0x8, 0xf0, 0x8f, 0x8, 0xf0, 0x8f, 0x8, - 0xf0, 0x8f, 0x8, 0xf0, 0x8f, 0xcd, 0xf8, 0x88, + 0x0, 0x0, 0xef, 0xf0, 0x38, 0xf0, 0x6, 0xf0, + 0x6, 0xf0, 0x6, 0xf0, 0x6, 0xf0, 0x6, 0xf0, + 0x6, 0xf0, 0x6, 0xf0, 0x6, 0xf0, 0x6, 0xf0, + 0x6, 0xf0, 0x6, 0xf0, 0x6, 0xf0, 0x7, 0xf0, + 0xef, 0xf0, 0x23, 0x30, /* U+5E "^" */ - 0x0, 0x13, 0x0, 0x0, 0x9f, 0x30, 0x0, 0xfe, - 0xa0, 0x6, 0xf7, 0xf1, 0xd, 0xa0, 0xf7, 0x3f, - 0x30, 0x9d, 0x24, 0x0, 0x14, + 0x0, 0x5f, 0x0, 0x0, 0xb, 0xf6, 0x0, 0x2, + 0xfa, 0xc0, 0x0, 0x8c, 0x2f, 0x20, 0xe, 0x60, + 0xb9, 0x4, 0xf1, 0x5, 0xe0, /* U+5F "_" */ - 0xff, 0xff, 0xff, 0xf3, 0x33, 0x33, 0x33, 0x30, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf3, + 0x33, 0x33, 0x33, 0x30, /* U+60 "`" */ - 0x1b, 0x80, 0x3, 0xf5, 0x0, 0x23, + 0x28, 0x20, 0xb, 0xc0, 0x1, 0xd6, /* U+61 "a" */ - 0x0, 0x17, 0x77, 0x10, 0x3, 0xed, 0xbe, 0xe2, - 0xb, 0xd0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0xdc, - 0x1, 0x9c, 0xff, 0xfc, 0xd, 0xe5, 0x0, 0xcc, - 0x2f, 0x80, 0x0, 0xec, 0xf, 0xa4, 0x4b, 0xfc, - 0x6, 0xff, 0xf6, 0xcc, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x8d, 0xfc, 0x40, 0xa, 0xe5, 0x48, 0xf2, + 0x4, 0x20, 0x0, 0xe7, 0x0, 0x7c, 0xef, 0xf8, + 0x9, 0xe5, 0x22, 0xe8, 0xf, 0x60, 0x0, 0xe8, + 0x1f, 0x60, 0x2, 0xf8, 0xc, 0xe6, 0x6e, 0xf9, + 0x2, 0xbf, 0xe6, 0xa9, /* U+62 "b" */ - 0x33, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x47, 0x72, 0x0, 0xce, 0xfc, 0xef, 0x50, - 0xce, 0x10, 0x1d, 0xd0, 0xcc, 0x0, 0x6, 0xf4, - 0xcc, 0x0, 0x4, 0xf4, 0xcc, 0x0, 0x4, 0xf4, - 0xcc, 0x0, 0x7, 0xf3, 0xcf, 0x63, 0x4e, 0xc0, - 0xc8, 0xcf, 0xfd, 0x10, 0x0, 0x1, 0x10, 0x0, + 0xe8, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, + 0xe8, 0x0, 0x0, 0x0, 0xe9, 0x9f, 0xe8, 0x0, + 0xef, 0x95, 0x8f, 0x80, 0xea, 0x0, 0x9, 0xe0, + 0xe8, 0x0, 0x4, 0xf2, 0xe8, 0x0, 0x3, 0xf3, + 0xe8, 0x0, 0x4, 0xf2, 0xea, 0x0, 0x9, 0xe0, + 0xef, 0x95, 0x8f, 0x80, 0xe7, 0x9f, 0xe9, 0x0, /* U+63 "c" */ - 0x0, 0x16, 0x76, 0x10, 0x3, 0xee, 0xae, 0xc1, - 0xc, 0xe1, 0x1, 0xf8, 0x1f, 0x80, 0x0, 0x65, - 0x4f, 0x40, 0x0, 0x0, 0x3f, 0x60, 0x0, 0x0, - 0xf, 0xa0, 0x0, 0x97, 0x8, 0xe5, 0x17, 0xf5, - 0x0, 0x9f, 0xff, 0x80, 0x0, 0x0, 0x20, 0x0, + 0x0, 0x6d, 0xfc, 0x50, 0x6, 0xf7, 0x49, 0xf4, + 0xe, 0x90, 0x0, 0xbb, 0x2f, 0x40, 0x0, 0x12, + 0x4f, 0x20, 0x0, 0x0, 0x2f, 0x40, 0x0, 0x0, + 0xe, 0x80, 0x0, 0x9a, 0x6, 0xf7, 0x48, 0xf4, + 0x0, 0x6d, 0xfc, 0x50, /* U+64 "d" */ - 0x0, 0x0, 0x0, 0x23, 0x0, 0x0, 0x0, 0x8f, - 0x0, 0x0, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x8f, - 0x0, 0x27, 0x74, 0x8f, 0x3, 0xee, 0xce, 0xcf, - 0xc, 0xe1, 0x1, 0xdf, 0xf, 0x80, 0x0, 0x8f, - 0x4f, 0x50, 0x0, 0x8f, 0x4f, 0x50, 0x0, 0x8f, - 0xf, 0x90, 0x0, 0x9f, 0xa, 0xe5, 0x26, 0xff, - 0x1, 0xcf, 0xfd, 0x7f, 0x0, 0x0, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x9e, 0x0, 0x0, 0x0, 0x9e, + 0x0, 0x0, 0x0, 0x9e, 0x0, 0x8e, 0xfa, 0x9e, + 0x7, 0xf9, 0x59, 0xfe, 0xe, 0xa0, 0x0, 0xae, + 0x2f, 0x40, 0x0, 0x9e, 0x3f, 0x30, 0x0, 0x9e, + 0x2f, 0x40, 0x0, 0x9e, 0xe, 0x80, 0x0, 0x9e, + 0x7, 0xf6, 0x26, 0xfe, 0x0, 0x8e, 0xea, 0x9e, /* U+65 "e" */ - 0x0, 0x16, 0x76, 0x10, 0x2, 0xde, 0xbf, 0xc1, - 0xc, 0xe1, 0x2, 0xf7, 0x1f, 0x93, 0x33, 0xcb, - 0x4f, 0xff, 0xff, 0xfc, 0x3f, 0x70, 0x0, 0x0, - 0xf, 0xa0, 0x0, 0x0, 0x8, 0xf6, 0x11, 0x52, - 0x0, 0x7f, 0xff, 0xe3, 0x0, 0x0, 0x21, 0x0, + 0x0, 0x5d, 0xfd, 0x40, 0x5, 0xf8, 0x4a, 0xf2, + 0xe, 0xa0, 0x0, 0xd9, 0x2f, 0x50, 0x0, 0x9c, + 0x4f, 0xff, 0xff, 0xfe, 0x3f, 0x63, 0x33, 0x33, + 0xe, 0x80, 0x0, 0x10, 0x6, 0xf8, 0x45, 0xd8, + 0x0, 0x5d, 0xfe, 0x80, /* U+66 "f" */ - 0x0, 0x4, 0x31, 0x0, 0xcf, 0xf4, 0x4, 0xf7, - 0x0, 0x8, 0xf1, 0x0, 0x6b, 0xf7, 0x60, 0x9e, - 0xfc, 0x90, 0x8, 0xf0, 0x0, 0x8, 0xf0, 0x0, - 0x8, 0xf0, 0x0, 0x8, 0xf0, 0x0, 0x8, 0xf0, - 0x0, 0x8, 0xf0, 0x0, 0x8, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3c, 0xf8, 0x0, 0xdd, + 0x42, 0x1, 0xf5, 0x0, 0x2, 0xf4, 0x0, 0x8f, + 0xff, 0xf1, 0x15, 0xf6, 0x20, 0x3, 0xf4, 0x0, + 0x3, 0xf4, 0x0, 0x3, 0xf4, 0x0, 0x3, 0xf4, + 0x0, 0x3, 0xf4, 0x0, 0x3, 0xf4, 0x0, 0x3, + 0xf4, 0x0, /* U+67 "g" */ - 0x0, 0x27, 0x74, 0x27, 0x3, 0xee, 0xce, 0xbf, - 0xa, 0xf1, 0x0, 0xcf, 0xf, 0x90, 0x0, 0x8f, - 0x1f, 0x80, 0x0, 0x8f, 0x1f, 0x80, 0x0, 0x8f, - 0xf, 0xa0, 0x0, 0x9f, 0x8, 0xf6, 0x35, 0xef, - 0x1, 0xaf, 0xfe, 0xbf, 0x0, 0x0, 0x20, 0x9f, - 0x0, 0x30, 0x2, 0xeb, 0x2, 0xff, 0xff, 0xe2, - 0x0, 0x25, 0x64, 0x0, + 0x0, 0x8e, 0xfa, 0x8e, 0x7, 0xf9, 0x59, 0xfe, + 0xe, 0xa0, 0x0, 0xae, 0x2f, 0x40, 0x0, 0x9e, + 0x3f, 0x30, 0x0, 0x9e, 0x2f, 0x40, 0x0, 0x9e, + 0xe, 0x90, 0x0, 0xae, 0x7, 0xf9, 0x59, 0xfe, + 0x0, 0x8e, 0xfa, 0xae, 0x0, 0x0, 0x0, 0xcb, + 0x9, 0xc5, 0x49, 0xf4, 0x0, 0x8e, 0xfc, 0x40, /* U+68 "h" */ - 0x33, 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0xcc, - 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0xcc, 0x27, - 0x75, 0xc, 0xdd, 0xce, 0xf6, 0xce, 0x10, 0xd, - 0xcc, 0xc0, 0x0, 0x8f, 0xcc, 0x0, 0x8, 0xfc, - 0xc0, 0x0, 0x8f, 0xcc, 0x0, 0x8, 0xfc, 0xc0, - 0x0, 0x8f, 0xcc, 0x0, 0x8, 0xf0, + 0xe8, 0x0, 0x0, 0xe, 0x80, 0x0, 0x0, 0xe8, + 0x0, 0x0, 0xe, 0x88, 0xee, 0x90, 0xef, 0xa5, + 0x8f, 0x6e, 0xb0, 0x0, 0xca, 0xe8, 0x0, 0xb, + 0xbe, 0x80, 0x0, 0xbc, 0xe8, 0x0, 0xb, 0xce, + 0x80, 0x0, 0xbc, 0xe8, 0x0, 0xb, 0xce, 0x80, + 0x0, 0xbc, /* U+69 "i" */ - 0x33, 0xcc, 0x66, 0x0, 0x66, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xb9, 0x76, 0x0, 0xca, 0xca, 0xca, 0xca, 0xca, + 0xca, 0xca, 0xca, 0xca, /* U+6A "j" */ - 0x0, 0x33, 0x0, 0xcc, 0x0, 0x33, 0x0, 0x0, - 0x0, 0x67, 0x0, 0xcf, 0x0, 0xcf, 0x0, 0xcf, - 0x0, 0xcf, 0x0, 0xcf, 0x0, 0xcf, 0x0, 0xcf, - 0x0, 0xcf, 0x0, 0xcf, 0x0, 0xdc, 0x8d, 0xf5, - 0x26, 0x20, + 0x0, 0xc8, 0x0, 0x85, 0x0, 0x0, 0x0, 0xd9, + 0x0, 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, 0xd9, + 0x0, 0xd9, 0x0, 0xd9, 0x0, 0xd9, 0x0, 0xd9, + 0x0, 0xd9, 0x26, 0xf7, 0x7f, 0xb0, /* U+6B "k" */ - 0x33, 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0xcc, - 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0xcc, 0x0, - 0x17, 0x5c, 0xc0, 0xb, 0xf3, 0xcc, 0x7, 0xf6, - 0xc, 0xc3, 0xea, 0x0, 0xcf, 0xff, 0x10, 0xc, - 0xc2, 0xf9, 0x0, 0xcc, 0x7, 0xf5, 0xc, 0xc0, - 0xc, 0xe2, 0xcc, 0x0, 0x2f, 0xb0, + 0xe8, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, + 0xe8, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x7f, 0x40, + 0xe8, 0x6, 0xf6, 0x0, 0xe8, 0x4f, 0x80, 0x0, + 0xeb, 0xfb, 0x0, 0x0, 0xef, 0xfe, 0x0, 0x0, + 0xed, 0x3f, 0xa0, 0x0, 0xe8, 0x6, 0xf5, 0x0, + 0xe8, 0x0, 0xae, 0x10, 0xe8, 0x0, 0x1e, 0xb0, /* U+6C "l" */ - 0x33, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, - 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, + 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, + 0xca, 0xca, 0xca, 0xca, /* U+6D "m" */ - 0x64, 0x27, 0x74, 0x2, 0x77, 0x30, 0xcb, 0xec, - 0xff, 0x7e, 0xce, 0xf4, 0xce, 0x10, 0x2f, 0xf3, - 0x1, 0xfb, 0xcc, 0x0, 0xc, 0xc0, 0x0, 0xcc, - 0xcc, 0x0, 0xc, 0xc0, 0x0, 0xcf, 0xcc, 0x0, - 0xc, 0xc0, 0x0, 0xcf, 0xcc, 0x0, 0xc, 0xc0, - 0x0, 0xcf, 0xcc, 0x0, 0xc, 0xc0, 0x0, 0xcf, - 0xcc, 0x0, 0xc, 0xc0, 0x0, 0xcf, + 0xe8, 0x9f, 0xf9, 0x8, 0xee, 0xa1, 0xef, 0x85, + 0x9f, 0xdb, 0x57, 0xf9, 0xea, 0x0, 0xd, 0xe0, + 0x0, 0x9d, 0xe8, 0x0, 0xb, 0xb0, 0x0, 0x8e, + 0xe8, 0x0, 0xb, 0xb0, 0x0, 0x8f, 0xe8, 0x0, + 0xb, 0xb0, 0x0, 0x8f, 0xe8, 0x0, 0xb, 0xb0, + 0x0, 0x8f, 0xe8, 0x0, 0xb, 0xb0, 0x0, 0x8f, + 0xe8, 0x0, 0xb, 0xb0, 0x0, 0x8f, /* U+6E "n" */ - 0x64, 0x27, 0x75, 0xc, 0xad, 0xcd, 0xf6, 0xce, - 0x10, 0xd, 0xcc, 0xc0, 0x0, 0x9f, 0xcc, 0x0, - 0x8, 0xfc, 0xc0, 0x0, 0x8f, 0xcc, 0x0, 0x8, - 0xfc, 0xc0, 0x0, 0x8f, 0xcc, 0x0, 0x8, 0xf0, + 0xe8, 0x9e, 0xe9, 0xe, 0xfa, 0x58, 0xf6, 0xeb, + 0x0, 0xc, 0xae, 0x80, 0x0, 0xbb, 0xe8, 0x0, + 0xb, 0xce, 0x80, 0x0, 0xbc, 0xe8, 0x0, 0xb, + 0xce, 0x80, 0x0, 0xbc, 0xe8, 0x0, 0xb, 0xc0, /* U+6F "o" */ - 0x0, 0x16, 0x76, 0x10, 0x0, 0x2d, 0xeb, 0xee, - 0x30, 0xc, 0xe1, 0x1, 0xdc, 0x0, 0xf8, 0x0, - 0x6, 0xf3, 0x4f, 0x40, 0x0, 0x4f, 0x42, 0xf6, - 0x0, 0x4, 0xf4, 0xf, 0xa0, 0x0, 0x8f, 0x10, - 0x8f, 0x61, 0x5e, 0x90, 0x0, 0x8f, 0xff, 0x90, - 0x0, 0x0, 0x1, 0x0, 0x0, + 0x0, 0x5d, 0xfd, 0x70, 0x0, 0x5f, 0x94, 0x7f, + 0x70, 0xe, 0xa0, 0x0, 0x8f, 0x13, 0xf4, 0x0, + 0x2, 0xf5, 0x4f, 0x30, 0x0, 0xf, 0x63, 0xf4, + 0x0, 0x2, 0xf5, 0xe, 0x90, 0x0, 0x8f, 0x10, + 0x5f, 0x94, 0x7f, 0x70, 0x0, 0x6d, 0xfd, 0x70, + 0x0, /* U+70 "p" */ - 0x62, 0x47, 0x72, 0x0, 0xcc, 0xec, 0xef, 0x50, - 0xce, 0x10, 0x1e, 0xd0, 0xcc, 0x0, 0x6, 0xf3, - 0xcc, 0x0, 0x4, 0xf4, 0xcc, 0x0, 0x4, 0xf4, - 0xcc, 0x0, 0x8, 0xf2, 0xce, 0x40, 0x5e, 0xc0, - 0xcd, 0xdf, 0xfd, 0x10, 0xcc, 0x1, 0x10, 0x0, - 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, - 0x33, 0x0, 0x0, 0x0, + 0xe8, 0xaf, 0xe8, 0x0, 0xef, 0x62, 0x6f, 0x70, + 0xe9, 0x0, 0x9, 0xe0, 0xe8, 0x0, 0x4, 0xf1, + 0xe8, 0x0, 0x3, 0xf3, 0xe8, 0x0, 0x5, 0xf1, + 0xe9, 0x0, 0xa, 0xe0, 0xef, 0x74, 0x8f, 0x70, + 0xe9, 0xae, 0xe9, 0x0, 0xe8, 0x0, 0x0, 0x0, + 0xe8, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, /* U+71 "q" */ - 0x0, 0x27, 0x74, 0x36, 0x3, 0xee, 0xae, 0xcc, - 0xc, 0xe1, 0x1, 0xec, 0xf, 0x80, 0x0, 0xcc, - 0x4f, 0x50, 0x0, 0xcc, 0x4f, 0x50, 0x0, 0xcc, - 0xf, 0x90, 0x0, 0xcc, 0xa, 0xe4, 0x6, 0xfc, - 0x1, 0xcf, 0xfd, 0xdc, 0x0, 0x0, 0x20, 0xcc, - 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0xcc, - 0x0, 0x0, 0x0, 0x33, + 0x0, 0x8e, 0xfa, 0x8e, 0x7, 0xf8, 0x48, 0xfe, + 0xe, 0x90, 0x0, 0xae, 0x2f, 0x40, 0x0, 0x9e, + 0x3f, 0x30, 0x0, 0x9e, 0x2f, 0x40, 0x0, 0x9e, + 0xe, 0x90, 0x0, 0xae, 0x7, 0xf8, 0x48, 0xfe, + 0x0, 0x8e, 0xea, 0xae, 0x0, 0x0, 0x0, 0x9e, + 0x0, 0x0, 0x0, 0x9e, 0x0, 0x0, 0x0, 0x9e, /* U+72 "r" */ - 0x64, 0x37, 0x2c, 0xae, 0xf4, 0xce, 0x10, 0xc, - 0xc0, 0x0, 0xcc, 0x0, 0xc, 0xc0, 0x0, 0xcc, - 0x0, 0xc, 0xc0, 0x0, 0xcc, 0x0, 0x0, + 0xe9, 0xbf, 0x2e, 0xf8, 0x51, 0xea, 0x0, 0xe, + 0x80, 0x0, 0xe8, 0x0, 0xe, 0x80, 0x0, 0xe8, + 0x0, 0xe, 0x80, 0x0, 0xe8, 0x0, 0x0, /* U+73 "s" */ - 0x2, 0x77, 0x50, 0x6, 0xfd, 0xaf, 0xc0, 0xdd, - 0x0, 0x4f, 0x5b, 0xd2, 0x0, 0x0, 0x3c, 0xfd, - 0x82, 0x0, 0x2, 0x7d, 0xe3, 0x84, 0x0, 0x1f, - 0x8d, 0xc3, 0x7, 0xf6, 0x3c, 0xff, 0xf8, 0x0, - 0x0, 0x20, 0x0, + 0x0, 0x9e, 0xfb, 0x30, 0xa, 0xe5, 0x4c, 0xe1, + 0xe, 0x80, 0x1, 0xb3, 0xa, 0xe6, 0x10, 0x0, + 0x0, 0x8d, 0xfc, 0x40, 0x0, 0x0, 0x29, 0xf3, + 0x2d, 0x40, 0x0, 0xf6, 0xc, 0xd5, 0x49, 0xf2, + 0x1, 0x9e, 0xfc, 0x40, /* U+74 "t" */ - 0x4, 0x70, 0x0, 0x8f, 0x0, 0x6b, 0xf7, 0x69, - 0xef, 0xc9, 0x8, 0xf0, 0x0, 0x8f, 0x0, 0x8, - 0xf0, 0x0, 0x8f, 0x0, 0x8, 0xf0, 0x0, 0x6f, - 0x51, 0x1, 0xdf, 0xc0, 0x0, 0x20, + 0x6, 0xf1, 0x0, 0x6f, 0x10, 0xef, 0xff, 0xa2, + 0x7f, 0x31, 0x6, 0xf1, 0x0, 0x6f, 0x10, 0x6, + 0xf1, 0x0, 0x6f, 0x10, 0x6, 0xf1, 0x0, 0x4f, + 0x73, 0x0, 0xaf, 0x90, /* U+75 "u" */ - 0x86, 0x0, 0x4, 0x7f, 0xc0, 0x0, 0x8f, 0xfc, - 0x0, 0x8, 0xff, 0xc0, 0x0, 0x8f, 0xfc, 0x0, - 0x8, 0xff, 0xc0, 0x0, 0x8f, 0xcc, 0x0, 0x9, - 0xf8, 0xf4, 0x26, 0xff, 0x1c, 0xff, 0xc9, 0xf0, - 0x1, 0x10, 0x0, + 0xf8, 0x0, 0xb, 0xbf, 0x80, 0x0, 0xbb, 0xf8, + 0x0, 0xb, 0xbf, 0x80, 0x0, 0xbb, 0xf8, 0x0, + 0xb, 0xbe, 0x80, 0x0, 0xbb, 0xda, 0x0, 0xd, + 0xb9, 0xf6, 0x5b, 0xfb, 0x1a, 0xfe, 0x9b, 0xb0, /* U+76 "v" */ - 0x47, 0x0, 0x0, 0x76, 0x5f, 0x50, 0x2, 0xf7, - 0xe, 0xa0, 0x7, 0xf1, 0x9, 0xe0, 0xc, 0xb0, - 0x2, 0xf5, 0x1f, 0x50, 0x0, 0xda, 0x6f, 0x0, - 0x0, 0x6e, 0xba, 0x0, 0x0, 0x1f, 0xf3, 0x0, - 0x0, 0xb, 0xe0, 0x0, + 0x9e, 0x0, 0x2, 0xf4, 0x3f, 0x30, 0x7, 0xe0, + 0xe, 0x80, 0xc, 0x90, 0x8, 0xd0, 0x1f, 0x40, + 0x3, 0xf2, 0x6e, 0x0, 0x0, 0xd7, 0xb9, 0x0, + 0x0, 0x8d, 0xf4, 0x0, 0x0, 0x2f, 0xe0, 0x0, + 0x0, 0xd, 0x90, 0x0, /* U+77 "w" */ - 0x47, 0x0, 0x5, 0x60, 0x0, 0x85, 0x6f, 0x30, - 0xe, 0xe0, 0x2, 0xf7, 0x1f, 0x70, 0x3f, 0xf5, - 0x6, 0xf2, 0xd, 0xb0, 0x9c, 0xc9, 0x9, 0xe0, - 0x8, 0xe0, 0xd7, 0x7d, 0xd, 0x90, 0x3, 0xf5, - 0xf2, 0x2f, 0x4f, 0x50, 0x0, 0xfc, 0xe0, 0xd, - 0xcf, 0x0, 0x0, 0xaf, 0x90, 0x7, 0xfb, 0x0, - 0x0, 0x5f, 0x30, 0x2, 0xf6, 0x0, + 0x8e, 0x0, 0xb, 0xb0, 0x0, 0xe8, 0x4f, 0x20, + 0xf, 0xf0, 0x2, 0xf3, 0xf, 0x60, 0x5d, 0xe5, + 0x6, 0xf0, 0xb, 0xa0, 0x99, 0xa9, 0xa, 0xb0, + 0x6, 0xe0, 0xe4, 0x5e, 0xe, 0x60, 0x2, 0xf5, + 0xf0, 0xf, 0x5f, 0x20, 0x0, 0xed, 0xb0, 0xb, + 0xdd, 0x0, 0x0, 0x9f, 0x60, 0x6, 0xf9, 0x0, + 0x0, 0x5f, 0x10, 0x2, 0xf5, 0x0, /* U+78 "x" */ - 0x37, 0x30, 0x3, 0x73, 0x1e, 0xb0, 0xc, 0xe1, - 0x4, 0xf5, 0x6f, 0x50, 0x0, 0x9d, 0xdb, 0x0, - 0x0, 0x1f, 0xf1, 0x0, 0x0, 0x5f, 0xf5, 0x0, - 0x1, 0xea, 0x9e, 0x10, 0xb, 0xf1, 0x1f, 0xa0, - 0x5f, 0x70, 0x6, 0xf5, + 0x4f, 0x50, 0x7, 0xf3, 0xa, 0xe0, 0x1f, 0x90, + 0x1, 0xf8, 0xae, 0x0, 0x0, 0x6f, 0xf5, 0x0, + 0x0, 0xf, 0xe0, 0x0, 0x0, 0x7f, 0xf6, 0x0, + 0x2, 0xf7, 0x8e, 0x10, 0xb, 0xd0, 0xe, 0xa0, + 0x5f, 0x40, 0x6, 0xf4, /* U+79 "y" */ - 0x67, 0x0, 0x0, 0x86, 0x7f, 0x30, 0x3, 0xf7, - 0x1f, 0x90, 0x9, 0xf2, 0xb, 0xd0, 0xe, 0xb0, - 0x5, 0xf3, 0x3f, 0x60, 0x0, 0xe9, 0x9f, 0x10, - 0x0, 0x9d, 0xda, 0x0, 0x0, 0x2f, 0xf5, 0x0, - 0x0, 0xd, 0xe0, 0x0, 0x0, 0xf, 0x90, 0x0, - 0x0, 0x7f, 0x20, 0x0, 0x1f, 0xf9, 0x0, 0x0, - 0x17, 0x30, 0x0, 0x0, + 0xae, 0x0, 0x5, 0xf3, 0x4f, 0x30, 0x9, 0xd0, + 0xe, 0x80, 0xe, 0x80, 0x9, 0xd0, 0x3f, 0x20, + 0x3, 0xf2, 0x8d, 0x0, 0x0, 0xd8, 0xc7, 0x0, + 0x0, 0x8e, 0xf2, 0x0, 0x0, 0x2f, 0xc0, 0x0, + 0x0, 0xe, 0x70, 0x0, 0x0, 0x3f, 0x10, 0x0, + 0x15, 0xda, 0x0, 0x0, 0x5f, 0xb1, 0x0, 0x0, /* U+7A "z" */ - 0x27, 0x77, 0x77, 0x72, 0x3c, 0xcc, 0xcf, 0xf3, - 0x0, 0x0, 0x4f, 0x80, 0x0, 0x1, 0xec, 0x0, - 0x0, 0xc, 0xf1, 0x0, 0x0, 0x7f, 0x50, 0x0, - 0x3, 0xf9, 0x0, 0x0, 0x1d, 0xe3, 0x33, 0x32, - 0x4f, 0xff, 0xff, 0xf8, + 0x3f, 0xff, 0xff, 0xf2, 0x4, 0x44, 0x4e, 0xd0, + 0x0, 0x0, 0x8f, 0x20, 0x0, 0x3, 0xf7, 0x0, + 0x0, 0xd, 0xb0, 0x0, 0x0, 0xae, 0x10, 0x0, + 0x5, 0xf5, 0x0, 0x0, 0x1e, 0xc3, 0x33, 0x31, + 0x5f, 0xff, 0xff, 0xf6, /* U+7B "{" */ - 0x0, 0x0, 0x50, 0x0, 0x1c, 0xe2, 0x0, 0x8f, - 0x10, 0x0, 0xcc, 0x0, 0x0, 0xcc, 0x0, 0x0, - 0xdc, 0x0, 0x1, 0xf9, 0x0, 0x4a, 0xf2, 0x0, - 0x6f, 0xb0, 0x0, 0x3, 0xf7, 0x0, 0x0, 0xeb, - 0x0, 0x0, 0xcc, 0x0, 0x0, 0xcc, 0x0, 0x0, - 0xbd, 0x0, 0x0, 0x3f, 0x91, 0x0, 0x3, 0xa1, + 0x0, 0x0, 0x30, 0x0, 0xa, 0xe1, 0x0, 0x6f, + 0x10, 0x0, 0xbb, 0x0, 0x0, 0xd9, 0x0, 0x0, + 0xd9, 0x0, 0x0, 0xe8, 0x0, 0x5, 0xf4, 0x0, + 0x8f, 0xa0, 0x0, 0x18, 0xf2, 0x0, 0x0, 0xe8, + 0x0, 0x0, 0xd9, 0x0, 0x0, 0xd9, 0x0, 0x0, + 0xca, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x1c, 0xc1, + 0x0, 0x0, 0x60, /* U+7C "|" */ - 0x32, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, - 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, + 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, + 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, /* U+7D "}" */ - 0x41, 0x0, 0x8, 0xf4, 0x0, 0xa, 0xe0, 0x0, - 0x4f, 0x40, 0x4, 0xf4, 0x0, 0x4f, 0x40, 0x3, - 0xf6, 0x0, 0xa, 0xe7, 0x0, 0x5f, 0xd0, 0x1f, - 0x90, 0x4, 0xf4, 0x0, 0x4f, 0x40, 0x4, 0xf4, - 0x0, 0x7f, 0x20, 0x4e, 0x90, 0x8, 0x60, 0x0, + 0x30, 0x0, 0x9, 0xe2, 0x0, 0xa, 0xd0, 0x0, + 0x4f, 0x20, 0x3, 0xf3, 0x0, 0x3f, 0x30, 0x2, + 0xf4, 0x0, 0xd, 0xb1, 0x0, 0x3f, 0xe0, 0xc, + 0xd3, 0x2, 0xf5, 0x0, 0x3f, 0x30, 0x3, 0xf3, + 0x0, 0x4f, 0x20, 0x9, 0xe0, 0x7, 0xf4, 0x0, + 0x52, 0x0, 0x0, /* U+7E "~" */ - 0x2, 0x31, 0x0, 0x0, 0x5, 0xef, 0xf7, 0x0, - 0x5a, 0xe7, 0x7, 0xfb, 0x7d, 0x86, 0x10, 0x3, - 0xbc, 0x90, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xbf, 0xd3, 0x0, + 0x6c, 0xac, 0x5a, 0xf6, 0x2c, 0x8d, 0x50, 0x7, + 0xff, 0xc1, 0x0, 0x0, 0x1, 0x30, 0x0, /* U+F001 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x74, 0x0, - 0x0, 0x0, 0x0, 0x58, 0xdf, 0xfc, 0x0, 0x0, - 0x6, 0x9e, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x7f, - 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x8f, 0xff, - 0xff, 0xff, 0xfc, 0x0, 0x0, 0x8f, 0xff, 0xff, - 0xd7, 0xac, 0x0, 0x0, 0x8f, 0xfb, 0x61, 0x0, - 0x8c, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x0, 0x8c, - 0x0, 0x0, 0x8c, 0x0, 0x0, 0x0, 0x8c, 0x0, - 0x0, 0x8c, 0x0, 0x3, 0x64, 0xac, 0x0, 0x0, - 0x8c, 0x0, 0xaf, 0xff, 0xfc, 0x0, 0x20, 0x8c, - 0x0, 0xff, 0xff, 0xfb, 0x6d, 0xff, 0xec, 0x0, - 0x4d, 0xff, 0xa1, 0xff, 0xff, 0xfc, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0xff, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xdc, + 0x0, 0x0, 0x0, 0x0, 0x16, 0xbf, 0xff, 0xff, + 0x0, 0x0, 0x3, 0x8d, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, + 0x0, 0x0, 0xff, 0xff, 0xea, 0x51, 0x0, 0xff, + 0x0, 0x0, 0xff, 0x83, 0x0, 0x0, 0x0, 0xff, + 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, + 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, + 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, + 0x0, 0x0, 0xff, 0x0, 0x0, 0x2b, 0xff, 0xff, + 0x0, 0x0, 0xff, 0x0, 0x0, 0xdf, 0xff, 0xff, + 0x2b, 0xff, 0xff, 0x0, 0x0, 0xdf, 0xff, 0xfd, + 0xdf, 0xff, 0xff, 0x0, 0x0, 0x2b, 0xff, 0xb2, + 0xdf, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2b, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F008 "" */ - 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x50, 0xfb, 0x8f, 0xf8, 0x88, 0x88, 0x88, 0xdf, - 0x89, 0xf1, 0xf4, 0x8, 0x80, 0x0, 0x0, 0x0, - 0x8c, 0x0, 0xf4, 0xf6, 0x3a, 0x80, 0x0, 0x0, - 0x0, 0x8c, 0x34, 0xf4, 0xff, 0xff, 0x80, 0x0, - 0x0, 0x0, 0x8f, 0xff, 0xf4, 0xf5, 0x9, 0x80, - 0x0, 0x0, 0x0, 0x8d, 0x1, 0xf4, 0xf4, 0x8, - 0x80, 0x0, 0x0, 0x0, 0x8c, 0x0, 0xf4, 0xfc, - 0xbe, 0xeb, 0xbb, 0xbb, 0xbb, 0xdf, 0xbc, 0xf4, - 0xfa, 0x8d, 0xd8, 0x88, 0x88, 0x88, 0xce, 0x89, - 0xf4, 0xf4, 0x8, 0x80, 0x0, 0x0, 0x0, 0x8c, - 0x0, 0xf4, 0xf7, 0x3b, 0x80, 0x0, 0x0, 0x0, - 0x8d, 0x34, 0xf4, 0xff, 0xcf, 0x80, 0x0, 0x0, - 0x0, 0x8f, 0xde, 0xf4, 0xf4, 0x9, 0x80, 0x0, - 0x0, 0x0, 0x8c, 0x0, 0xf4, 0xf4, 0x9, 0x90, - 0x0, 0x0, 0x0, 0x8c, 0x0, 0xf4, 0xde, 0xbf, - 0xfb, 0xbb, 0xbb, 0xbb, 0xff, 0xcd, 0xf0, 0x14, - 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x10, + 0xd0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xd, + 0xff, 0xff, 0xc8, 0x88, 0x88, 0x8c, 0xff, 0xff, + 0xf0, 0xf, 0x80, 0x0, 0x0, 0x8, 0xf0, 0xf, + 0xf0, 0xf, 0x80, 0x0, 0x0, 0x8, 0xf0, 0xf, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xf0, 0xf, 0xec, 0xcc, 0xcc, 0xce, 0xf0, 0xf, + 0xf0, 0xf, 0xec, 0xcc, 0xcc, 0xce, 0xf0, 0xf, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xf0, 0xf, 0x80, 0x0, 0x0, 0x8, 0xf0, 0xf, + 0xf0, 0xf, 0x80, 0x0, 0x0, 0x8, 0xf0, 0xf, + 0xff, 0xff, 0xc8, 0x88, 0x88, 0x8c, 0xff, 0xff, + 0xd0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xd, /* U+F00B "" */ - 0x77, 0x77, 0x31, 0x77, 0x77, 0x77, 0x77, 0x76, - 0xff, 0xff, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xbc, 0xcc, 0x52, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, + 0xdf, 0xff, 0x73, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xff, 0xff, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0x73, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xdf, 0xff, 0x73, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xff, 0xff, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0x73, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xdf, 0xff, 0x72, 0xef, 0xff, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x58, 0x88, 0x10, 0x78, 0x88, 0x88, 0x88, 0x85, - 0x57, 0x77, 0x10, 0x77, 0x77, 0x77, 0x77, 0x75, - 0xff, 0xff, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xdf, 0xff, 0x72, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xdf, 0xff, 0x73, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xff, 0xff, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0x73, 0xff, 0xff, 0xff, 0xff, 0xfd, /* U+F00C "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x60, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf6, 0x0, 0x0, - 0x0, 0x0, 0xa, 0xff, 0xfe, 0x3, 0x50, 0x0, - 0x0, 0xaf, 0xff, 0xf3, 0x3e, 0xf9, 0x0, 0xa, - 0xff, 0xff, 0x30, 0xef, 0xff, 0x90, 0xaf, 0xff, - 0xf3, 0x0, 0x6f, 0xff, 0xfb, 0xff, 0xff, 0x30, - 0x0, 0x6, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0x0, 0x6f, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6c, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xb1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xc0, + 0x1b, 0xa0, 0x0, 0x0, 0xb, 0xff, 0xfc, 0x0, + 0xcf, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xc0, 0x0, + 0xbf, 0xff, 0xb0, 0xb, 0xff, 0xfc, 0x0, 0x0, + 0xc, 0xff, 0xfb, 0xbf, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0xcf, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0xc, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, /* U+F00D "" */ - 0x3, 0x50, 0x0, 0x1, 0x51, 0x3, 0xef, 0x60, - 0x1, 0xcf, 0xc1, 0xff, 0xff, 0x61, 0xcf, 0xff, - 0x86, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0x6, 0xff, - 0xff, 0xff, 0xf3, 0x0, 0x7, 0xff, 0xff, 0xf3, - 0x0, 0x1, 0xcf, 0xff, 0xff, 0x60, 0x1, 0xcf, - 0xff, 0xff, 0xff, 0x60, 0xcf, 0xff, 0xf8, 0xff, - 0xff, 0x5d, 0xff, 0xf3, 0x6, 0xff, 0xf7, 0x1d, - 0xf3, 0x0, 0x6, 0xfa, 0x0, 0x1, 0x0, 0x0, - 0x2, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x3, 0x8, 0xfc, 0x10, + 0x0, 0x1c, 0xf8, 0xff, 0xfc, 0x10, 0x1c, 0xff, + 0xf5, 0xff, 0xfc, 0x2c, 0xff, 0xf5, 0x5, 0xff, + 0xff, 0xff, 0xf5, 0x0, 0x5, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x1d, 0xff, 0xfd, 0x10, 0x0, 0x1c, + 0xff, 0xff, 0xfc, 0x10, 0x1c, 0xff, 0xf9, 0xff, + 0xfc, 0x1c, 0xff, 0xf5, 0x5, 0xff, 0xfc, 0xdf, + 0xf5, 0x0, 0x5, 0xff, 0xd1, 0xa4, 0x0, 0x0, + 0x4, 0xa1, /* U+F011 "" */ - 0x0, 0x0, 0x0, 0xa7, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x15, - 0x14, 0xff, 0x2, 0x50, 0x0, 0x3, 0xcf, 0x84, - 0xff, 0xc, 0xf9, 0x0, 0xd, 0xff, 0x34, 0xff, - 0x9, 0xff, 0x80, 0x6f, 0xf4, 0x4, 0xff, 0x0, - 0xaf, 0xf2, 0xbf, 0xa0, 0x4, 0xff, 0x0, 0x1f, - 0xf7, 0xff, 0x60, 0x3, 0xff, 0x0, 0xc, 0xfa, - 0xff, 0x40, 0x0, 0x32, 0x0, 0x9, 0xfc, 0xef, - 0x70, 0x0, 0x0, 0x0, 0xd, 0xf9, 0xaf, 0xd0, - 0x0, 0x0, 0x0, 0x3f, 0xf5, 0x2f, 0xf9, 0x0, - 0x0, 0x1, 0xcf, 0xe0, 0x8, 0xff, 0xc5, 0x33, - 0x7e, 0xff, 0x30, 0x0, 0x9f, 0xff, 0xff, 0xff, - 0xf5, 0x0, 0x0, 0x4, 0xbf, 0xff, 0xea, 0x20, - 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x10, 0x6f, 0xf1, 0x3, 0x10, 0x0, + 0x0, 0x5f, 0xd0, 0x6f, 0xf1, 0x3f, 0xd1, 0x0, + 0x3, 0xff, 0xf1, 0x6f, 0xf1, 0x5f, 0xfd, 0x0, + 0xd, 0xff, 0x40, 0x6f, 0xf1, 0x9, 0xff, 0x70, + 0x4f, 0xf7, 0x0, 0x6f, 0xf1, 0x0, 0xcf, 0xe0, + 0x9f, 0xf0, 0x0, 0x6f, 0xf1, 0x0, 0x5f, 0xf3, + 0xbf, 0xc0, 0x0, 0x6f, 0xf1, 0x0, 0x2f, 0xf5, + 0xbf, 0xc0, 0x0, 0x4f, 0xe0, 0x0, 0x1f, 0xf6, + 0xaf, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, + 0x6f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf0, + 0xf, 0xfe, 0x10, 0x0, 0x0, 0x5, 0xff, 0xa0, + 0x6, 0xff, 0xd3, 0x0, 0x0, 0x7f, 0xff, 0x20, + 0x0, 0x9f, 0xff, 0xda, 0xbe, 0xff, 0xf4, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xff, 0xfd, 0x30, 0x0, + 0x0, 0x0, 0x17, 0xbd, 0xca, 0x50, 0x0, 0x0, /* U+F013 "" */ - 0x0, 0x0, 0x4, 0x77, 0x20, 0x0, 0x0, 0x0, - 0x22, 0x9, 0xff, 0x40, 0x30, 0x0, 0x3, 0xee, - 0x7d, 0xff, 0xb8, 0xf9, 0x0, 0xb, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x60, 0x2, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0x0, 0x13, 0xef, 0xf8, 0x12, 0xcf, - 0xfb, 0x30, 0xff, 0xff, 0xd0, 0x0, 0x1f, 0xff, - 0xfc, 0xff, 0xff, 0xa0, 0x0, 0xf, 0xff, 0xfc, - 0xac, 0xff, 0xe1, 0x0, 0x4f, 0xff, 0xc7, 0x0, - 0xef, 0xfd, 0x78, 0xef, 0xf9, 0x0, 0x6, 0xff, - 0xff, 0xff, 0xff, 0xfe, 0x30, 0x9, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x50, 0x0, 0xaa, 0x1c, 0xff, - 0x73, 0xc6, 0x0, 0x0, 0x0, 0x8, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x44, 0x0, 0x0, - 0x0, - - /* U+F014 "" */ - 0x0, 0x0, 0x77, 0x77, 0x40, 0x0, 0x0, 0x0, - 0x7e, 0x88, 0x9f, 0x10, 0x0, 0x43, 0x3d, 0x83, - 0x33, 0xd8, 0x33, 0x2c, 0xfd, 0xcc, 0xcc, 0xcc, - 0xcf, 0xe6, 0xc, 0x40, 0x0, 0x0, 0x0, 0xc8, - 0x0, 0xc4, 0x44, 0x26, 0x7, 0x1c, 0x80, 0xc, - 0x48, 0x84, 0xc0, 0xf4, 0xc8, 0x0, 0xc4, 0x88, - 0x4c, 0xf, 0x4c, 0x80, 0xc, 0x48, 0x84, 0xc0, - 0xf4, 0xc8, 0x0, 0xc4, 0x88, 0x4c, 0xf, 0x4c, - 0x80, 0xc, 0x48, 0x84, 0xc0, 0xf4, 0xc8, 0x0, - 0xc4, 0x22, 0x13, 0x4, 0xc, 0x80, 0xc, 0x50, - 0x0, 0x0, 0x0, 0xd7, 0x0, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0x10, 0x0, 0x24, 0x44, 0x44, 0x44, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8b, 0xb8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x30, 0x6, 0xff, 0xff, 0x60, 0x3, 0x0, + 0x4, 0xfd, 0xdf, 0xff, 0xff, 0xfd, 0xef, 0x40, + 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x4f, 0xff, 0xff, 0xf9, 0x9f, 0xff, 0xff, 0xf4, + 0x8, 0xff, 0xff, 0x20, 0x2, 0xff, 0xff, 0x80, + 0x0, 0xff, 0xf9, 0x0, 0x0, 0x9f, 0xff, 0x0, + 0x0, 0xff, 0xf9, 0x0, 0x0, 0x9f, 0xff, 0x0, + 0x8, 0xff, 0xff, 0x20, 0x2, 0xff, 0xff, 0x80, + 0x4f, 0xff, 0xff, 0xf9, 0x9f, 0xff, 0xff, 0xf4, + 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x4, 0xfe, 0xdf, 0xff, 0xff, 0xfd, 0xdf, 0x40, + 0x0, 0x30, 0x6, 0xff, 0xff, 0x60, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8b, 0xb8, 0x0, 0x0, 0x0, /* U+F015 "" */ - 0x0, 0x0, 0x0, 0x16, 0x10, 0x57, 0x40, 0x0, - 0x0, 0x0, 0x3e, 0xfc, 0x2c, 0xf8, 0x0, 0x0, - 0x0, 0x6e, 0xd4, 0xee, 0xdf, 0x80, 0x0, 0x0, - 0x8f, 0xa7, 0xe5, 0xdf, 0xf8, 0x0, 0x1, 0x9f, - 0x89, 0xff, 0xf6, 0xaf, 0xa0, 0x1, 0xcf, 0x7a, - 0xff, 0xff, 0xf9, 0x7f, 0xb1, 0xbf, 0x6c, 0xff, - 0xff, 0xff, 0xfc, 0x6f, 0x71, 0x1c, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0x20, 0x0, 0xcf, 0xff, 0xa8, - 0xcf, 0xff, 0x80, 0x0, 0xc, 0xff, 0xf4, 0x8, - 0xff, 0xf8, 0x0, 0x0, 0xcf, 0xff, 0x40, 0x8f, - 0xff, 0x80, 0x0, 0xb, 0xff, 0xf4, 0x8, 0xff, - 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xdd, 0x30, 0x3f, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf5, 0x4f, + 0xf4, 0x0, 0x0, 0x0, 0x9, 0xff, 0x99, 0xff, + 0xbf, 0xf4, 0x0, 0x0, 0x1, 0xbf, 0xf6, 0x22, + 0x6f, 0xff, 0xf4, 0x0, 0x0, 0x2d, 0xfe, 0x35, + 0xff, 0x53, 0xef, 0xf4, 0x0, 0x4, 0xff, 0xc1, + 0x8f, 0xff, 0xf8, 0x2d, 0xfe, 0x40, 0x7f, 0xfa, + 0x1a, 0xff, 0xff, 0xff, 0xa1, 0xaf, 0xf7, 0xcf, + 0x82, 0xdf, 0xff, 0xff, 0xff, 0xfd, 0x28, 0xfc, + 0x14, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x41, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x0, 0x0, 0xf, 0xff, 0xf9, 0x0, 0x8f, + 0xff, 0xf0, 0x0, 0x0, 0xf, 0xff, 0xf8, 0x0, + 0x8f, 0xff, 0xf0, 0x0, 0x0, 0xf, 0xff, 0xf8, + 0x0, 0x8f, 0xff, 0xf0, 0x0, 0x0, 0xe, 0xff, + 0xf6, 0x0, 0x6f, 0xff, 0xe0, 0x0, /* U+F019 "" */ - 0x0, 0x0, 0x2, 0xbb, 0xa1, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xff, 0x40, 0x0, 0x0, 0x0, - 0x0, 0x4, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x3, - 0x36, 0xff, 0xf6, 0x32, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xf3, 0x0, 0x0, 0x7, 0x77, 0x77, 0x36, 0xf3, - 0x37, 0x77, 0x75, 0xff, 0xff, 0xfe, 0x30, 0x4e, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xef, 0xfe, - 0xff, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, - 0xa7, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfb, + 0x0, 0x0, 0x0, 0xdf, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xfb, 0x0, 0x0, 0x0, + 0xdf, 0xff, 0xfc, 0x1b, 0xb1, 0xcf, 0xff, 0xfd, + 0xff, 0xff, 0xff, 0xc2, 0x2c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0, 0xff, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, /* U+F01C "" */ - 0x0, 0x27, 0x77, 0x77, 0x77, 0x61, 0x0, 0x0, - 0xef, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x4, 0xfb, - 0x44, 0x44, 0x44, 0xee, 0x0, 0xb, 0xf2, 0x0, - 0x0, 0x0, 0x8f, 0x60, 0x2f, 0xc0, 0x0, 0x0, - 0x0, 0x1f, 0xd0, 0x9f, 0x50, 0x0, 0x0, 0x0, - 0xa, 0xf4, 0xfe, 0x33, 0x20, 0x0, 0x3, 0x36, - 0xfa, 0xff, 0xff, 0xd0, 0x0, 0x2f, 0xff, 0xfc, - 0xff, 0xff, 0xf9, 0x77, 0xbf, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x4, 0xef, 0xff, 0xff, 0xff, 0xfe, 0x40, + 0x0, 0x0, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe1, 0x0, 0x0, 0xaf, 0xb0, 0x0, 0x0, 0x0, + 0xb, 0xfa, 0x0, 0x5, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x1, 0xff, 0x50, 0x1e, 0xf6, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0xe1, 0xaf, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xfa, 0xff, 0xff, + 0xff, 0x80, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0x0, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf8, /* U+F021 "" */ - 0x0, 0x0, 0x25, 0x77, 0x51, 0x0, 0x0, 0x0, - 0x19, 0xff, 0xff, 0xfe, 0x70, 0xab, 0x1, 0xcf, - 0xff, 0xcd, 0xff, 0xfd, 0xfc, 0xd, 0xff, 0x70, - 0x0, 0x1b, 0xff, 0xfc, 0x5f, 0xf5, 0x0, 0x0, - 0xa, 0xff, 0xfc, 0xbf, 0xa0, 0x0, 0x0, 0x6f, - 0xff, 0xfb, 0x24, 0x10, 0x0, 0x0, 0x4, 0x44, - 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x77, 0x77, 0x70, 0x0, 0x0, 0x7, 0x74, 0xff, - 0xff, 0xd0, 0x0, 0x0, 0x3f, 0xf3, 0xff, 0xfe, - 0x10, 0x0, 0x1, 0xcf, 0xc0, 0xff, 0xff, 0xc5, - 0x33, 0x7e, 0xff, 0x30, 0xfd, 0x9f, 0xff, 0xff, - 0xff, 0xf3, 0x0, 0x71, 0x4, 0xbf, 0xff, 0xe8, - 0x10, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, - 0x0, + 0x0, 0x0, 0x6, 0xbd, 0xda, 0x50, 0x2, 0xff, + 0x0, 0x5, 0xef, 0xff, 0xff, 0xfe, 0x42, 0xff, + 0x0, 0x7f, 0xff, 0xa7, 0x7b, 0xff, 0xf9, 0xff, + 0x5, 0xff, 0xc1, 0x0, 0x0, 0x2c, 0xff, 0xff, + 0xe, 0xfc, 0x0, 0x0, 0x2, 0x22, 0xdf, 0xff, + 0x5f, 0xf2, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, + 0x8f, 0xb0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xb, 0xf8, + 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x2f, 0xf4, + 0xff, 0xfd, 0x22, 0x20, 0x0, 0x0, 0xcf, 0xe0, + 0xff, 0xff, 0xc2, 0x0, 0x0, 0x2c, 0xff, 0x40, + 0xff, 0x9f, 0xff, 0xb7, 0x6a, 0xff, 0xf7, 0x0, + 0xff, 0x24, 0xdf, 0xff, 0xff, 0xfe, 0x50, 0x0, + 0xff, 0x20, 0x5, 0xac, 0xdb, 0x60, 0x0, 0x0, /* U+F026 "" */ - 0x0, 0x0, 0xa, 0xc0, 0x0, 0xa, 0xfc, 0x0, - 0xa, 0xff, 0xcf, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xcf, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xc7, 0x88, 0xff, 0xfc, 0x0, 0x3, 0xff, 0xc0, - 0x0, 0x3, 0xfc, 0x0, 0x0, 0x3, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8d, + 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, 0x8f, 0xff, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, 0x8, 0xff, + 0x0, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x0, 0x0, /* U+F027 "" */ - 0x0, 0x0, 0xa, 0xc0, 0x0, 0x0, 0x0, 0xa, - 0xfc, 0x0, 0x0, 0x0, 0xa, 0xff, 0xc0, 0x0, - 0xf, 0xff, 0xff, 0xfc, 0x9, 0x60, 0xff, 0xff, - 0xff, 0xc0, 0x4f, 0x2f, 0xff, 0xff, 0xfc, 0x0, - 0xf4, 0xff, 0xff, 0xff, 0xc0, 0xae, 0x7, 0x88, - 0xff, 0xfc, 0x5, 0x10, 0x0, 0x3, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x3, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x3, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, + 0xcf, 0xff, 0xff, 0xff, 0x1, 0x50, 0xff, 0xff, + 0xff, 0xff, 0x6, 0xf7, 0xff, 0xff, 0xff, 0xff, + 0x0, 0xbe, 0xff, 0xff, 0xff, 0xff, 0x0, 0xae, + 0xff, 0xff, 0xff, 0xff, 0x5, 0xf8, 0xdf, 0xff, + 0xff, 0xff, 0x2, 0x60, 0x0, 0x0, 0x9f, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9e, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F028 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x10, 0x0, - 0x0, 0x0, 0xac, 0x0, 0x2, 0xdc, 0x10, 0x0, - 0x0, 0xaf, 0xc0, 0xe, 0x71, 0xba, 0x0, 0x0, - 0xaf, 0xfc, 0x0, 0x4d, 0x91, 0xf3, 0xff, 0xff, - 0xff, 0xc0, 0x96, 0x2f, 0x2a, 0x9f, 0xff, 0xff, - 0xfc, 0x4, 0xf2, 0xc8, 0x6c, 0xff, 0xff, 0xff, - 0xc0, 0xf, 0x49, 0x84, 0xcf, 0xff, 0xff, 0xfc, - 0xa, 0xe0, 0xd7, 0x8c, 0x78, 0x8f, 0xff, 0xc0, - 0x51, 0x7f, 0x1d, 0x70, 0x0, 0x3f, 0xfc, 0x0, - 0xaf, 0x35, 0xf1, 0x0, 0x0, 0x3f, 0xc0, 0x7, - 0x23, 0xe6, 0x0, 0x0, 0x0, 0x38, 0x0, 0x9, - 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x82, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, + 0xd2, 0x0, 0x0, 0x0, 0x0, 0x8d, 0x0, 0x0, + 0x3, 0xee, 0x10, 0x0, 0x0, 0x8, 0xff, 0x0, + 0xa, 0xb1, 0x2f, 0xb0, 0x0, 0x0, 0x8f, 0xff, + 0x0, 0x5, 0xfc, 0x7, 0xf4, 0xdf, 0xff, 0xff, + 0xff, 0x2, 0x50, 0x5f, 0x60, 0xf9, 0xff, 0xff, + 0xff, 0xff, 0x6, 0xf7, 0xd, 0xc0, 0xbd, 0xff, + 0xff, 0xff, 0xff, 0x0, 0xae, 0x9, 0xf0, 0x9f, + 0xff, 0xff, 0xff, 0xff, 0x0, 0xae, 0x9, 0xf0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0x6, 0xf7, 0xd, + 0xc0, 0xad, 0xdf, 0xff, 0xff, 0xff, 0x2, 0x50, + 0x5f, 0x60, 0xe9, 0x0, 0x0, 0x8f, 0xff, 0x0, + 0x5, 0xfc, 0x6, 0xf4, 0x0, 0x0, 0x8, 0xff, + 0x0, 0xa, 0xb1, 0x2f, 0xb0, 0x0, 0x0, 0x0, + 0x8d, 0x0, 0x0, 0x2, 0xee, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xd2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x10, 0x0, /* U+F03E "" */ - 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x50, 0xfa, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x89, 0xf1, 0xf4, 0x3, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xf4, 0xf4, 0x5f, 0xf5, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xf4, 0xf4, 0xcf, 0xfc, 0x0, - 0x0, 0x38, 0x0, 0x0, 0xf4, 0xf4, 0x5f, 0xf5, - 0x0, 0x3, 0xef, 0x90, 0x0, 0xf4, 0xf4, 0x0, - 0x0, 0x0, 0x3e, 0xff, 0xf9, 0x0, 0xf4, 0xf4, - 0x0, 0x36, 0x3, 0xef, 0xff, 0xff, 0x90, 0xf4, - 0xf4, 0x3, 0xef, 0x7e, 0xff, 0xff, 0xff, 0xc0, - 0xf4, 0xf4, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc0, 0xf4, 0xf4, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xc0, 0xf4, 0xf4, 0x9c, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0x90, 0xf4, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xf3, 0xbf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x3, 0x44, - 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x0, - - /* U+F040 "" */ - 0x0, 0x0, 0x0, 0x0, 0x2, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3e, 0xf9, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0xff, 0x90, 0x0, 0x0, 0x0, - 0x3b, 0x2d, 0xff, 0xf7, 0x0, 0x0, 0x3, 0xec, - 0xc2, 0xdf, 0xf5, 0x0, 0x0, 0x3e, 0xbc, 0xfc, - 0x2d, 0x60, 0x0, 0x3, 0xeb, 0xcf, 0xff, 0xc0, - 0x0, 0x0, 0x3e, 0xbc, 0xff, 0xff, 0x60, 0x0, - 0x3, 0xeb, 0xcf, 0xff, 0xf6, 0x0, 0x0, 0x3e, - 0xdc, 0xff, 0xff, 0x60, 0x0, 0x0, 0xfa, 0xaf, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0xf6, 0x1a, 0xff, - 0x60, 0x0, 0x0, 0x0, 0xff, 0x46, 0xf6, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x60, 0x0, 0x0, - 0x0, 0x0, 0x44, 0x43, 0x0, 0x0, 0x0, 0x0, - 0x0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x0, 0xc, 0xff, 0xff, 0xee, 0xff, 0xff, + 0xff, 0x20, 0x2f, 0xff, 0xfe, 0x22, 0xef, 0xff, + 0xff, 0xfc, 0xff, 0xff, 0xe2, 0x0, 0x2e, 0xff, + 0xff, 0xfe, 0x4e, 0xfe, 0x20, 0x0, 0x2, 0xff, + 0xff, 0xe2, 0x2, 0xc2, 0x0, 0x0, 0x0, 0xff, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, /* U+F048 "" */ - 0x77, 0x20, 0x0, 0x0, 0x32, 0xff, 0x40, 0x0, - 0x3, 0xe4, 0xff, 0x40, 0x0, 0x3e, 0xf4, 0xff, - 0x40, 0x3, 0xef, 0xf4, 0xff, 0x40, 0x3e, 0xff, - 0xf4, 0xff, 0x43, 0xef, 0xff, 0xf4, 0xff, 0x7e, - 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0xff, 0x5d, 0xff, 0xff, 0xf4, 0xff, 0x41, 0xdf, - 0xff, 0xf4, 0xff, 0x40, 0x1d, 0xff, 0xf4, 0xff, - 0x40, 0x1, 0xdf, 0xf4, 0xff, 0x40, 0x0, 0x1d, - 0xf4, 0xff, 0x40, 0x0, 0x1, 0xd4, 0x23, 0x0, - 0x0, 0x0, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x30, 0x0, + 0x1, 0xcc, 0xff, 0x40, 0x0, 0x2d, 0xff, 0xff, + 0x40, 0x3, 0xef, 0xff, 0xff, 0x40, 0x3f, 0xff, + 0xff, 0xff, 0x44, 0xff, 0xff, 0xff, 0xff, 0x9f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, + 0xff, 0xff, 0xff, 0x45, 0xff, 0xff, 0xff, 0xff, + 0x40, 0x4f, 0xff, 0xff, 0xff, 0x40, 0x3, 0xef, + 0xff, 0xff, 0x40, 0x0, 0x2e, 0xff, 0xff, 0x30, + 0x0, 0x1, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F04B "" */ - 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe7, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, 0x50, - 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xb4, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x20, 0x0, - 0xf, 0xff, 0xff, 0xff, 0xff, 0x81, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe7, 0xf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xa1, 0xf, 0xff, 0xff, 0xff, 0xfc, 0x20, - 0x0, 0xff, 0xff, 0xff, 0xd4, 0x0, 0x0, 0xf, - 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, 0xff, 0xf8, - 0x10, 0x0, 0x0, 0x0, 0xf, 0xa1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0x91, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfd, + 0x40, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, + 0x10, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xb2, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd5, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x10, + 0x0, 0x0, 0xff, 0xff, 0xfd, 0x40, 0x0, 0x0, + 0x0, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x8e, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F04C "" */ - 0x77, 0x77, 0x75, 0x0, 0x77, 0x77, 0x75, 0xff, - 0xff, 0xfc, 0x0, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xfc, 0x0, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfc, - 0x0, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfc, 0x0, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfc, 0x0, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0xfc, 0x0, 0xff, 0xff, - 0xfc, 0xff, 0xff, 0xfc, 0x0, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0xfc, 0x0, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xfc, 0x0, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xfc, 0x0, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfc, - 0x0, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfc, 0x0, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfb, 0x0, 0xff, - 0xff, 0xfb, 0x24, 0x44, 0x41, 0x0, 0x24, 0x44, - 0x41, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xf8, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, + 0xff, 0xff, 0x7f, 0xff, 0xf7, 0x0, 0x7f, 0xff, + 0xf7, /* U+F04D "" */ - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x75, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfb, 0x24, 0x44, 0x44, 0x44, 0x44, 0x44, - 0x41, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, /* U+F051 "" */ - 0x50, 0x0, 0x0, 0x8, 0x70, 0xf6, 0x0, 0x0, - 0x4f, 0xf4, 0xff, 0x60, 0x0, 0x4f, 0xf4, 0xff, - 0xf6, 0x0, 0x4f, 0xf4, 0xff, 0xff, 0x60, 0x4f, - 0xf4, 0xff, 0xff, 0xf6, 0x4f, 0xf4, 0xff, 0xff, - 0xff, 0xaf, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0xff, 0xff, 0xfd, 0x5f, 0xf4, 0xff, 0xff, 0xd1, - 0x4f, 0xf4, 0xff, 0xfd, 0x10, 0x4f, 0xf4, 0xff, - 0xd1, 0x0, 0x4f, 0xf4, 0xfd, 0x10, 0x0, 0x4f, - 0xf4, 0xd1, 0x0, 0x0, 0x3f, 0xf3, 0x10, 0x0, - 0x0, 0x3, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, 0x10, 0x0, + 0x3, 0xff, 0xff, 0xd2, 0x0, 0x4, 0xff, 0xff, + 0xfe, 0x30, 0x4, 0xff, 0xff, 0xff, 0xf4, 0x4, + 0xff, 0xff, 0xff, 0xff, 0x54, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0xff, 0xff, 0xff, 0xff, 0x44, 0xff, 0xff, + 0xff, 0xf3, 0x4, 0xff, 0xff, 0xfe, 0x30, 0x4, + 0xff, 0xff, 0xd2, 0x0, 0x4, 0xff, 0xcc, 0x10, + 0x0, 0x3, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F052 "" */ - 0x0, 0x0, 0x0, 0x53, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xfe, 0x30, 0x0, 0x0, 0x6f, 0xff, 0xff, - 0xff, 0xe3, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0x30, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe3, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x75, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x2d, 0xd2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xef, 0xfe, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x1d, 0xff, 0xff, 0xd1, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, + 0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, /* U+F053 "" */ - 0x0, 0x0, 0x0, 0x7, 0x10, 0x0, 0x0, 0x0, - 0xaf, 0xc1, 0x0, 0x0, 0xa, 0xff, 0xf8, 0x0, - 0x0, 0xaf, 0xff, 0xd1, 0x0, 0xa, 0xff, 0xfd, - 0x10, 0x0, 0xaf, 0xff, 0xd1, 0x0, 0xa, 0xff, - 0xfd, 0x10, 0x0, 0x7f, 0xff, 0xe1, 0x0, 0x0, - 0x3f, 0xff, 0xf9, 0x0, 0x0, 0x3, 0xff, 0xff, - 0x90, 0x0, 0x0, 0x3f, 0xff, 0xf9, 0x0, 0x0, - 0x3, 0xff, 0xff, 0x90, 0x0, 0x0, 0x3f, 0xff, - 0xf7, 0x0, 0x0, 0x3, 0xff, 0xf3, 0x0, 0x0, - 0x0, 0x3d, 0x30, + 0x0, 0x0, 0x0, 0x1a, 0x40, 0x0, 0x0, 0x1, + 0xdf, 0xf0, 0x0, 0x0, 0x1d, 0xff, 0xa0, 0x0, + 0x1, 0xdf, 0xfa, 0x0, 0x0, 0x1d, 0xff, 0xa0, + 0x0, 0x1, 0xdf, 0xfa, 0x0, 0x0, 0xc, 0xff, + 0xa0, 0x0, 0x0, 0xd, 0xff, 0x80, 0x0, 0x0, + 0x1, 0xdf, 0xf8, 0x0, 0x0, 0x0, 0x1d, 0xff, + 0x80, 0x0, 0x0, 0x1, 0xdf, 0xf8, 0x0, 0x0, + 0x0, 0x1d, 0xff, 0x80, 0x0, 0x0, 0x1, 0xdf, + 0xf0, 0x0, 0x0, 0x0, 0x1b, 0x50, /* U+F054 "" */ - 0x0, 0x53, 0x0, 0x0, 0x0, 0x6, 0xfe, 0x30, - 0x0, 0x0, 0x2f, 0xff, 0xe3, 0x0, 0x0, 0x6, - 0xff, 0xfe, 0x30, 0x0, 0x0, 0x6f, 0xff, 0xe3, - 0x0, 0x0, 0x6, 0xff, 0xfe, 0x30, 0x0, 0x0, - 0x6f, 0xff, 0xe3, 0x0, 0x0, 0x8, 0xff, 0xfe, - 0x0, 0x0, 0x3e, 0xff, 0xfa, 0x0, 0x3, 0xef, - 0xff, 0xa0, 0x0, 0x3e, 0xff, 0xfa, 0x0, 0x3, - 0xef, 0xff, 0xa0, 0x0, 0x2e, 0xff, 0xfa, 0x0, - 0x0, 0x1d, 0xff, 0xa0, 0x0, 0x0, 0x1, 0xc9, - 0x0, 0x0, 0x0, + 0x4, 0xa1, 0x0, 0x0, 0x0, 0xf, 0xfd, 0x10, + 0x0, 0x0, 0xa, 0xff, 0xd1, 0x0, 0x0, 0x0, + 0xaf, 0xfd, 0x10, 0x0, 0x0, 0xa, 0xff, 0xd1, + 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x10, 0x0, 0x0, + 0xa, 0xff, 0xc0, 0x0, 0x0, 0x8, 0xff, 0xd0, + 0x0, 0x0, 0x8f, 0xfd, 0x10, 0x0, 0x8, 0xff, + 0xd1, 0x0, 0x0, 0x8f, 0xfd, 0x10, 0x0, 0x8, + 0xff, 0xd1, 0x0, 0x0, 0xf, 0xfd, 0x10, 0x0, + 0x0, 0x5, 0xb1, 0x0, 0x0, 0x0, /* U+F067 "" */ - 0x0, 0x0, 0x17, 0x76, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x8f, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, - 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x58, 0x88, 0xcf, 0xff, - 0x88, 0x88, 0x10, 0x0, 0x8, 0xff, 0xf0, 0x0, - 0x0, 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0x5f, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4, 0xff, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x8, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0x80, 0x0, 0x0, 0x48, 0x88, 0x8c, 0xff, 0xc8, + 0x88, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x48, 0x88, 0x8c, 0xff, 0xc8, 0x88, 0x84, 0x0, + 0x0, 0x8, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x8, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x40, + 0x0, 0x0, /* U+F068 "" */ - 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x85, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x81, + 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7b, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb7, + + /* U+F06E "" */ + 0x0, 0x0, 0x5, 0xad, 0xff, 0xda, 0x50, 0x0, + 0x0, 0x0, 0x4, 0xdf, 0xfc, 0x88, 0xcf, 0xfd, + 0x40, 0x0, 0x0, 0x7f, 0xfe, 0x40, 0x0, 0x4, + 0xef, 0xf7, 0x0, 0x7, 0xff, 0xf4, 0x0, 0x9e, + 0x80, 0x4f, 0xff, 0x70, 0x4f, 0xff, 0xc0, 0x0, + 0xaf, 0xf8, 0xc, 0xff, 0xf4, 0xdf, 0xff, 0x80, + 0x9a, 0xff, 0xfe, 0x8, 0xff, 0xfd, 0xdf, 0xff, + 0x80, 0xef, 0xff, 0xfe, 0x8, 0xff, 0xfd, 0x4f, + 0xff, 0xc0, 0x8f, 0xff, 0xf8, 0xc, 0xff, 0xf4, + 0x7, 0xff, 0xf4, 0x8, 0xee, 0x80, 0x4f, 0xff, + 0x70, 0x0, 0x7f, 0xfe, 0x40, 0x0, 0x4, 0xef, + 0xf8, 0x0, 0x0, 0x4, 0xdf, 0xfc, 0x88, 0xcf, + 0xfd, 0x40, 0x0, 0x0, 0x0, 0x5, 0xad, 0xff, + 0xda, 0x50, 0x0, 0x0, + + /* U+F070 "" */ + 0x8c, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xdf, 0xe4, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1b, 0xff, 0x80, 0x49, + 0xdf, 0xfd, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0xff, 0xd8, 0x8c, 0xff, 0xd4, 0x0, 0x0, + 0x0, 0x4, 0xef, 0xf8, 0x0, 0x0, 0x4e, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x1c, 0xff, 0x69, 0xe8, + 0x4, 0xff, 0xf7, 0x0, 0x4, 0xe3, 0x0, 0x9f, + 0xfe, 0xff, 0x80, 0xcf, 0xff, 0x40, 0xd, 0xff, + 0x70, 0x5, 0xff, 0xff, 0xe0, 0x8f, 0xff, 0xd0, + 0xd, 0xff, 0xf7, 0x0, 0x2d, 0xff, 0xe0, 0x8f, + 0xff, 0xd0, 0x4, 0xff, 0xfc, 0x0, 0x0, 0xaf, + 0xf8, 0xcf, 0xff, 0x30, 0x0, 0x7f, 0xff, 0x40, + 0x0, 0x6, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x8, + 0xff, 0xf4, 0x0, 0x0, 0x3e, 0xff, 0xa0, 0x0, + 0x0, 0x0, 0x4d, 0xff, 0xc8, 0x82, 0x1, 0xbf, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xdf, 0xfc, + 0x10, 0x8, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4e, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc8, /* U+F071 "" */ - 0x0, 0x0, 0x0, 0x9, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xf6, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x7, 0xff, 0xff, 0x70, 0x0, 0x0, - 0x0, 0x0, 0x1e, 0xfc, 0xcf, 0xe1, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0xc0, 0xc, 0xf8, 0x0, 0x0, - 0x0, 0x2, 0xef, 0xc0, 0xc, 0xfe, 0x20, 0x0, - 0x0, 0xa, 0xff, 0xc0, 0xc, 0xff, 0xa0, 0x0, - 0x0, 0x2f, 0xff, 0xc0, 0xc, 0xff, 0xf2, 0x0, - 0x0, 0xcf, 0xff, 0xe7, 0x7e, 0xff, 0xfb, 0x0, - 0x4, 0xff, 0xff, 0xf8, 0x8f, 0xff, 0xff, 0x40, - 0xc, 0xff, 0xff, 0xc0, 0xc, 0xff, 0xff, 0xb0, - 0x6f, 0xff, 0xff, 0xc3, 0x3c, 0xff, 0xff, 0xf6, - 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x2d, 0xd2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xd, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd8, 0x8d, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, + 0xa0, 0xa, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xb0, 0xb, 0xff, 0xf3, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xc0, 0xc, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xd0, 0xd, + 0xff, 0xff, 0x50, 0x0, 0x0, 0xe, 0xff, 0xff, + 0xf9, 0x9f, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x8f, + 0xff, 0xff, 0xe2, 0x2e, 0xff, 0xff, 0xf8, 0x0, + 0x2, 0xff, 0xff, 0xff, 0x90, 0x9, 0xff, 0xff, + 0xff, 0x10, 0xa, 0xff, 0xff, 0xff, 0xe3, 0x3e, + 0xff, 0xff, 0xff, 0xa0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x8, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, /* U+F074 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x31, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0x10, - 0x77, 0x52, 0x0, 0x0, 0x14, 0x77, 0xbf, 0xc1, - 0xff, 0xff, 0xb1, 0x6, 0xef, 0xff, 0xff, 0xfc, - 0xcc, 0xef, 0xfc, 0x5f, 0xff, 0xcc, 0xef, 0xf6, - 0x0, 0x4, 0xf8, 0xdf, 0xd1, 0x0, 0x8f, 0x60, - 0x0, 0x0, 0x77, 0xff, 0x20, 0x0, 0x66, 0x0, - 0x0, 0x0, 0xe, 0xfa, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xf5, 0x0, 0x0, 0x31, 0x0, - 0x0, 0x1, 0xdf, 0xca, 0x70, 0x0, 0x8c, 0x10, - 0x77, 0x7c, 0xff, 0x5f, 0xf9, 0x77, 0xbf, 0xc1, - 0xff, 0xff, 0xf6, 0x1d, 0xff, 0xff, 0xff, 0xfc, - 0xcc, 0xcb, 0x40, 0x1, 0x8c, 0xcc, 0xef, 0xf6, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x60, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x66, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80, + 0xff, 0xff, 0x70, 0x0, 0x7, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xf6, 0x0, 0x6f, 0xff, 0xff, 0xfd, + 0x78, 0x8e, 0xff, 0x15, 0xff, 0xe8, 0xff, 0xe2, + 0x0, 0x2, 0xe5, 0x4f, 0xfe, 0x20, 0xfe, 0x20, + 0x0, 0x0, 0x13, 0xff, 0xf3, 0x0, 0x52, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0x31, 0x0, 0x52, 0x0, + 0x0, 0x2, 0xef, 0xf4, 0x5e, 0x20, 0xfe, 0x20, + 0x78, 0x8e, 0xff, 0x51, 0xff, 0xe8, 0xff, 0xe2, + 0xff, 0xff, 0xf6, 0x0, 0x6f, 0xff, 0xff, 0xfd, + 0xff, 0xff, 0x70, 0x0, 0x7, 0xff, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F077 "" */ - 0x0, 0x0, 0x0, 0x3, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3e, 0xe3, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3, 0xef, 0xfe, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x3e, 0xff, 0xff, 0xe3, 0x0, 0x0, - 0x0, 0x3, 0xef, 0xff, 0xff, 0xfe, 0x30, 0x0, - 0x0, 0x3e, 0xff, 0xf6, 0x6f, 0xff, 0xe3, 0x0, - 0x3, 0xef, 0xff, 0x60, 0x6, 0xff, 0xfe, 0x30, - 0x2e, 0xff, 0xf6, 0x0, 0x0, 0x6f, 0xff, 0xe2, - 0xa, 0xff, 0x60, 0x0, 0x0, 0x6, 0xff, 0xa0, - 0x0, 0x96, 0x0, 0x0, 0x0, 0x0, 0x69, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xdd, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x1d, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x1, 0xdf, + 0xff, 0xfd, 0x10, 0x0, 0x0, 0x1d, 0xff, 0x99, + 0xff, 0xd1, 0x0, 0x1, 0xdf, 0xf9, 0x0, 0x9f, + 0xfd, 0x10, 0x1d, 0xff, 0x90, 0x0, 0x9, 0xff, + 0xd1, 0xbf, 0xf9, 0x0, 0x0, 0x0, 0x9f, 0xfb, + 0x5f, 0x90, 0x0, 0x0, 0x0, 0x9, 0xf5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F078 "" */ - 0x1, 0xc9, 0x0, 0x0, 0x0, 0x0, 0xac, 0x10, - 0x1c, 0xff, 0x90, 0x0, 0x0, 0xa, 0xff, 0xc1, - 0x1f, 0xff, 0xf9, 0x0, 0x0, 0xaf, 0xff, 0xf1, - 0x3, 0xff, 0xff, 0x90, 0xa, 0xff, 0xff, 0x30, - 0x0, 0x3f, 0xff, 0xf9, 0xaf, 0xff, 0xf3, 0x0, - 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, - 0x0, 0x0, 0x3f, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0x0, 0x0, 0x3, 0xff, 0xff, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3f, 0xf3, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0x90, 0x0, 0x0, 0x0, 0x9, 0xf5, 0xbf, 0xf9, + 0x0, 0x0, 0x0, 0x9f, 0xfb, 0x1d, 0xff, 0x90, + 0x0, 0x9, 0xff, 0xd1, 0x1, 0xdf, 0xf9, 0x0, + 0x9f, 0xfd, 0x10, 0x0, 0x1d, 0xff, 0x99, 0xff, + 0xd1, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xfd, 0x10, + 0x0, 0x0, 0x0, 0x1d, 0xff, 0xd1, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xdd, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F079 "" */ - 0x0, 0x3, 0x1, 0x33, 0x33, 0x33, 0x33, 0x30, - 0x0, 0x8, 0xf6, 0x1e, 0xff, 0xff, 0xff, 0xfc, - 0x0, 0x6, 0xff, 0xe3, 0x3f, 0xff, 0xff, 0xff, - 0xc0, 0x3, 0xef, 0xff, 0xe1, 0x0, 0x0, 0x8, - 0xfc, 0x0, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, - 0x8f, 0xc0, 0x3, 0x4d, 0xfa, 0x43, 0x0, 0x0, - 0x8, 0xfc, 0x0, 0x0, 0xcf, 0x80, 0x0, 0x0, - 0x57, 0xbf, 0xd7, 0x70, 0xc, 0xf8, 0x0, 0x0, - 0x7, 0xff, 0xff, 0xfd, 0x0, 0xcf, 0x93, 0x33, - 0x33, 0xa, 0xff, 0xff, 0x30, 0xc, 0xff, 0xff, - 0xff, 0xf8, 0xd, 0xff, 0x40, 0x0, 0xcf, 0xff, - 0xff, 0xff, 0xf4, 0x1d, 0x60, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1d, 0xd1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xfd, 0x10, + 0xef, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x1d, 0xff, + 0xff, 0xd1, 0xaf, 0xff, 0xff, 0xff, 0xf0, 0x0, + 0xcf, 0xcf, 0xfc, 0xfc, 0x0, 0x0, 0x0, 0xf, + 0xf0, 0x0, 0x6b, 0x1f, 0xf1, 0xb6, 0x0, 0x0, + 0x0, 0xf, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0x0, 0xf, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x0, + 0x0, 0xf, 0xf0, 0x0, 0x0, 0x0, 0x6b, 0x1f, + 0xf1, 0xb6, 0x0, 0xf, 0xf0, 0x0, 0x0, 0x0, + 0xcf, 0xcf, 0xfc, 0xfc, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xfa, 0x1d, 0xff, 0xff, 0xd1, 0x0, 0xd, + 0xff, 0xff, 0xff, 0xfe, 0x1, 0xdf, 0xfd, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, + 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F07B "" */ - 0x16, 0x77, 0x76, 0x0, 0x0, 0x0, 0x0, 0xc, - 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xc3, 0x33, 0x33, 0x33, 0xf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0x30, + 0x8f, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, /* U+F093 "" */ - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x1, 0xff, - 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, - 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, - 0x40, 0x0, 0x0, 0x57, 0x77, 0x62, 0x88, 0x80, - 0x77, 0x77, 0x4f, 0xff, 0xff, 0x73, 0x33, 0xaf, - 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xaa, - 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb1, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, + 0x0, 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0xdf, 0xff, 0xf0, 0xdf, 0xfd, 0xf, 0xff, 0xfd, + 0xff, 0xff, 0xf9, 0x0, 0x0, 0x9f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0, 0xff, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, /* U+F095 "" */ - 0x5, 0x71, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, - 0x80, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfe, 0x20, - 0x0, 0x0, 0x0, 0xf, 0xff, 0xf7, 0x0, 0x0, - 0x0, 0x0, 0xdf, 0xfa, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x2f, - 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf6, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xe6, 0x0, - 0x7, 0x20, 0x0, 0x1, 0xdf, 0xf8, 0x1a, 0xfe, - 0x71, 0x0, 0x1, 0xdf, 0xff, 0xff, 0xff, 0x80, - 0x0, 0x0, 0x9f, 0xff, 0xff, 0xf5, 0x0, 0x0, - 0x0, 0x28, 0xdf, 0xe5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xea, + 0x62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, + 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xef, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0x30, 0x0, 0x0, 0x2, + 0x0, 0x0, 0x4f, 0xff, 0x90, 0x0, 0x2, 0x8f, + 0xf3, 0x0, 0x6f, 0xff, 0xd0, 0x0, 0xa, 0xff, + 0xff, 0xe4, 0xbf, 0xff, 0xd1, 0x0, 0x0, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xd1, 0x0, 0x0, 0xa, + 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, + 0x6f, 0xff, 0xff, 0xfb, 0x30, 0x0, 0x0, 0x0, + 0x2, 0xff, 0xdb, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, /* U+F0C4 "" */ - 0x2, 0x53, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0xe6, 0x0, 0x0, 0x0, 0x1, 0x30, - 0xfb, 0x2, 0xbf, 0x50, 0x0, 0x0, 0x6a, 0x6a, - 0xea, 0x0, 0xc, 0xc0, 0x0, 0x4b, 0x40, 0x78, - 0x6f, 0xa3, 0x3c, 0xc1, 0x2a, 0x60, 0x19, 0x50, - 0x6, 0xef, 0xff, 0x6e, 0x81, 0x2, 0xa3, 0x0, - 0x0, 0x4, 0x43, 0xb8, 0xa1, 0x59, 0x10, 0x0, - 0x0, 0x47, 0x76, 0xa3, 0x88, 0x7b, 0x30, 0x0, - 0x1a, 0xff, 0xff, 0xaa, 0xe7, 0x0, 0x86, 0x0, - 0x9f, 0x70, 0xb, 0xc0, 0x6, 0xa2, 0x6, 0x90, - 0xf9, 0x0, 0x1d, 0xb0, 0x0, 0x18, 0x81, 0x3b, - 0xec, 0x36, 0xdf, 0x30, 0x0, 0x0, 0x29, 0xb8, - 0x3e, 0xff, 0xc3, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xee, 0x80, 0x0, 0x0, 0x6, 0x61, 0x8, + 0xff, 0xff, 0x80, 0x0, 0x2d, 0xff, 0xd0, 0xef, + 0x33, 0xfe, 0x0, 0x2e, 0xff, 0xf3, 0xe, 0xf3, + 0x3f, 0xe0, 0x2e, 0xff, 0xf3, 0x0, 0x8f, 0xff, + 0xff, 0x6e, 0xff, 0xf3, 0x0, 0x0, 0x8e, 0xff, + 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x2, 0xef, + 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, + 0xff, 0x30, 0x0, 0x0, 0x8, 0xef, 0xff, 0xff, + 0xff, 0x30, 0x0, 0x8, 0xff, 0xff, 0xf6, 0xef, + 0xff, 0x30, 0x0, 0xef, 0x33, 0xfe, 0x2, 0xef, + 0xff, 0x30, 0xe, 0xf3, 0x3f, 0xe0, 0x2, 0xef, + 0xff, 0x30, 0x8f, 0xff, 0xf8, 0x0, 0x2, 0xdf, + 0xfd, 0x0, 0x8e, 0xe8, 0x0, 0x0, 0x0, 0x66, + 0x10, /* U+F0C5 "" */ - 0x0, 0x0, 0x5a, 0xbb, 0xba, 0x10, 0x0, 0x0, - 0x0, 0x6, 0xfe, 0x88, 0x8e, 0x40, 0x0, 0x0, - 0x0, 0x6f, 0xdc, 0x0, 0xc, 0x40, 0x0, 0x0, - 0x6, 0xf6, 0x8c, 0x0, 0xc, 0x53, 0x33, 0x32, - 0x6f, 0x93, 0x9c, 0x0, 0xc, 0xfe, 0xcc, 0xde, - 0xef, 0xff, 0xf9, 0x0, 0x3e, 0xf8, 0x0, 0x4f, - 0xf4, 0x0, 0x0, 0x3, 0xe6, 0xc8, 0x0, 0x4f, - 0xf4, 0x0, 0x0, 0x3e, 0x60, 0xc8, 0x0, 0x4f, - 0xf4, 0x0, 0x1, 0xee, 0xbb, 0xe7, 0x0, 0x4f, - 0xf4, 0x0, 0x4, 0xe8, 0x88, 0x71, 0x0, 0x4f, - 0xf4, 0x0, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x4f, - 0xf6, 0x33, 0x36, 0xc0, 0x0, 0x0, 0x0, 0x4f, - 0xbc, 0xcc, 0xcd, 0xc0, 0x0, 0x0, 0x0, 0x4f, - 0x0, 0x0, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x4f, - 0x0, 0x0, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x4f, - 0x0, 0x0, 0x4, 0xeb, 0xbb, 0xbb, 0xbb, 0xcf, - 0x0, 0x0, 0x0, 0x44, 0x44, 0x44, 0x44, 0x42, + 0x0, 0x0, 0xdf, 0xff, 0xff, 0xd, 0x20, 0x0, + 0x0, 0xff, 0xff, 0xff, 0xf, 0xe2, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xf, 0xfd, 0xdf, 0xf0, 0xff, + 0xff, 0xff, 0x20, 0x0, 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xdf, 0xff, + 0xff, 0xff, 0xfd, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0xdf, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, /* U+F0C7 "" */ - 0x77, 0x77, 0x77, 0x77, 0x77, 0x20, 0x0, 0xfa, - 0xef, 0xfe, 0x89, 0xfd, 0xe3, 0x0, 0xf4, 0xcf, - 0xfc, 0x0, 0xf4, 0xae, 0x30, 0xf4, 0xcf, 0xfc, - 0x0, 0xf4, 0xa, 0xe2, 0xf4, 0xcf, 0xfc, 0x0, - 0xf4, 0x0, 0xba, 0xf4, 0xbf, 0xff, 0xff, 0xf1, - 0x0, 0x8c, 0xf4, 0x4, 0x44, 0x44, 0x10, 0x0, - 0x8c, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, - 0xf4, 0x47, 0x77, 0x77, 0x77, 0x71, 0x8c, 0xf4, - 0xcc, 0x88, 0x88, 0x88, 0xe8, 0x8c, 0xf4, 0xc8, - 0x0, 0x0, 0x0, 0xc8, 0x8c, 0xf4, 0xc8, 0x0, - 0x0, 0x0, 0xc8, 0x8c, 0xf4, 0xc8, 0x0, 0x0, - 0x0, 0xc8, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfb, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, - 0x40, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, 0xff, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xe2, 0xff, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfc, 0xff, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x11, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xf1, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x11, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, /* U+F0E7 "" */ - 0x2, 0x77, 0x74, 0x0, 0x6, 0xff, 0xf5, 0x0, - 0xa, 0xff, 0xe0, 0x0, 0xe, 0xff, 0x90, 0x0, - 0x2f, 0xff, 0x44, 0x8b, 0x6f, 0xff, 0xff, 0xfa, - 0xaf, 0xff, 0xff, 0xf2, 0xef, 0xfc, 0xff, 0xa0, - 0x84, 0x1, 0xff, 0x40, 0x0, 0x5, 0xfc, 0x0, - 0x0, 0x9, 0xf4, 0x0, 0x0, 0xd, 0xd0, 0x0, - 0x0, 0x1f, 0x60, 0x0, 0x0, 0x5e, 0x0, 0x0, - 0x0, 0x96, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, + 0x0, 0xdf, 0xff, 0xfd, 0x0, 0x0, 0x1, 0xff, + 0xff, 0xfc, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf7, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xf2, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xd0, 0x0, 0x0, 0xa, 0xff, + 0xff, 0xff, 0xff, 0xd0, 0xc, 0xff, 0xff, 0xff, + 0xff, 0xa0, 0xe, 0xff, 0xff, 0xff, 0xff, 0x20, + 0xd, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xe0, 0x0, 0x0, 0x0, 0xe, 0xff, + 0x50, 0x0, 0x0, 0x0, 0x2f, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x9f, 0xa0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0x10, + 0x0, 0x0, 0x0, 0x0, 0xd7, 0x0, 0x0, 0x0, + + /* U+F0EA "" */ + 0x0, 0x4, 0xee, 0x40, 0x0, 0x0, 0x0, 0xdf, + 0xff, 0x99, 0xff, 0xfd, 0x0, 0x0, 0xff, 0xff, + 0x99, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0xd, 0xff, 0xff, + 0xd, 0x20, 0xff, 0xff, 0xf, 0xff, 0xff, 0xf, + 0xe2, 0xff, 0xff, 0xf, 0xff, 0xff, 0xf, 0xfd, + 0xff, 0xff, 0xf, 0xff, 0xff, 0x20, 0x0, 0xff, + 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xf, 0xff, + 0xff, 0xff, 0xff, 0x0, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xfd, /* U+F0F3 "" */ - 0x0, 0x0, 0x0, 0x8, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x5d, 0xd4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3c, 0xff, 0xff, 0xc3, 0x0, 0x0, - 0x0, 0x1, 0xdf, 0xff, 0xff, 0xfd, 0x10, 0x0, - 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, - 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, - 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, - 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, - 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, - 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, - 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, - 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, - 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, - 0x0, 0x0, 0x3, 0xbf, 0xff, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xaa, 0xfa, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xff, 0x30, 0x0, 0x0, 0x0, 0x1, + 0xbf, 0xff, 0xfc, 0x20, 0x0, 0x0, 0x1e, 0xff, + 0xff, 0xff, 0xe1, 0x0, 0x0, 0x9f, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xfd, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x1e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe1, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0xcf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xee, 0x40, 0x0, 0x0, /* U+F11C "" */ - 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x20, 0xfd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xf1, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xf4, 0xf4, 0xc8, 0x8c, 0x4f, 0xc, - 0x48, 0x84, 0xc0, 0xf4, 0xf4, 0x21, 0x13, 0x4, - 0x3, 0x12, 0x24, 0xc0, 0xf4, 0xf4, 0x9b, 0x63, - 0x90, 0xc2, 0x96, 0x6c, 0xc0, 0xf4, 0xf4, 0x68, - 0x42, 0x60, 0x81, 0x64, 0x48, 0x60, 0xf4, 0xf4, - 0x64, 0x47, 0x77, 0x77, 0x77, 0x42, 0x60, 0xf4, - 0xf4, 0x96, 0x6c, 0xcc, 0xcc, 0xcc, 0x63, 0x90, - 0xf4, 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0xf4, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xd0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0, 0xf0, 0xf, 0x0, 0xf0, + 0xf, 0x0, 0xff, 0xff, 0x0, 0xf0, 0xf, 0x0, + 0xf0, 0xf, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x8, + 0x80, 0x88, 0x8, 0x80, 0x8f, 0xff, 0xff, 0xf8, + 0x8, 0x80, 0x88, 0x8, 0x80, 0x8f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xf0, 0x0, 0x0, 0x0, 0xf, 0x0, + 0xff, 0xff, 0x0, 0xf0, 0x0, 0x0, 0x0, 0xf, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf8, /* U+F124 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x4b, 0xf7, 0x0, 0x0, 0x0, - 0x4, 0xbf, 0xff, 0x10, 0x0, 0x0, 0x4b, 0xff, - 0xff, 0x80, 0x0, 0x4, 0xbf, 0xff, 0xff, 0xf1, - 0x0, 0x4b, 0xff, 0xff, 0xff, 0xf8, 0x0, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0x10, 0x7, 0x88, 0x88, - 0xaf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xaf, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xcf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xdf, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x17, + 0xef, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x18, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x2a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xf2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, /* U+F15B "" */ - 0x9b, 0xbb, 0xbb, 0xbb, 0x1, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xb, 0x30, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xc, 0xe3, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xc, 0xfe, 0x30, 0xff, 0xff, 0xff, 0xff, - 0x9, 0xcc, 0xb1, 0xff, 0xff, 0xff, 0xff, 0x30, - 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, - 0x24, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, + 0xdf, 0xff, 0xff, 0xf0, 0xd2, 0x0, 0xff, 0xff, + 0xff, 0xf0, 0xfe, 0x20, 0xff, 0xff, 0xff, 0xf0, + 0xff, 0xe2, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfd, + 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfd, /* U+F1EB "" */ - 0x0, 0x0, 0x0, 0x47, 0x77, 0x74, 0x10, 0x0, - 0x0, 0x0, 0x3, 0xae, 0xff, 0xff, 0xff, 0xfc, - 0x50, 0x0, 0x1, 0x9f, 0xff, 0xfe, 0xcc, 0xcf, - 0xff, 0xfd, 0x30, 0x3c, 0xff, 0xe6, 0x20, 0x1, - 0x1, 0x5c, 0xff, 0xe6, 0x5f, 0xf7, 0x6, 0xaf, - 0xff, 0xfc, 0x61, 0x4f, 0xfa, 0x5, 0x33, 0xdf, - 0xff, 0xff, 0xff, 0xfe, 0x61, 0x70, 0x0, 0x2f, - 0xff, 0xc6, 0x44, 0x5a, 0xff, 0xf5, 0x0, 0x0, - 0x6, 0xd4, 0x16, 0xab, 0x83, 0x2c, 0xa0, 0x0, - 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0x90, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xff, 0xb9, 0xef, 0xa0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x51, 0x33, 0x5, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, - 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6a, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0x9c, 0xef, 0xfe, + 0xc9, 0x40, 0x0, 0x0, 0x0, 0x7, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x70, 0x0, 0x4, 0xdf, + 0xff, 0xfc, 0xa8, 0x8a, 0xcf, 0xff, 0xfd, 0x40, + 0x6f, 0xff, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x5d, + 0xff, 0xf6, 0xcf, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xfc, 0x1a, 0x30, 0x0, 0x5a, + 0xdf, 0xfd, 0xa5, 0x0, 0x3, 0xa1, 0x0, 0x0, + 0x4d, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x0, 0x0, + 0x0, 0x5, 0xff, 0xfe, 0xa8, 0x8a, 0xef, 0xff, + 0x50, 0x0, 0x0, 0x1, 0xdf, 0x70, 0x0, 0x0, + 0x7, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x12, 0x0, + 0x0, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4e, 0xe4, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4e, 0xe4, 0x0, 0x0, 0x0, 0x0, /* U+F240 "" */ - 0x26, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x40, 0xe, 0xdc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcf, 0x40, 0xf4, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0xc8, 0xf, - 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x4c, 0xb1, 0xf4, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf4, 0x6c, 0x8f, 0x4c, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x88, 0xf4, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0x8, 0x8f, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x40, 0x88, 0xf4, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf4, 0xcf, 0x6f, 0x49, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3c, - 0x80, 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0xc7, 0xa, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, 0xff, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0xff, + 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0xff, 0xff, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, /* U+F241 "" */ - 0x26, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x40, 0xe, 0xdc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcf, 0x40, 0xf4, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x33, 0x0, 0x0, 0xc8, 0xf, - 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, - 0xc, 0xb1, 0xf4, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0x0, 0x0, 0x6c, 0x8f, 0x4c, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x88, 0xf4, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, - 0x8, 0x8f, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc0, 0x0, 0x0, 0x88, 0xf4, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x0, 0x0, 0xcf, 0x6f, 0x49, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x90, 0x0, 0xc, - 0x80, 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0xc7, 0xa, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, 0xff, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf, 0xff, + 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, + 0x0, 0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x0, 0x0, 0xff, 0xff, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x0, 0xf, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, /* U+F242 "" */ - 0x26, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x40, 0xe, 0xdc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcf, 0x40, 0xf4, 0x33, 0x33, - 0x33, 0x33, 0x10, 0x0, 0x0, 0x0, 0xc8, 0xf, - 0x4c, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, - 0xc, 0xb1, 0xf4, 0xcf, 0xff, 0xff, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x6c, 0x8f, 0x4c, 0xff, 0xff, - 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x88, 0xf4, - 0xcf, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, - 0x8, 0x8f, 0x4c, 0xff, 0xff, 0xff, 0xf4, 0x0, - 0x0, 0x0, 0x0, 0x88, 0xf4, 0xcf, 0xff, 0xff, - 0xff, 0x40, 0x0, 0x0, 0x0, 0xcf, 0x6f, 0x49, - 0xcc, 0xcc, 0xcc, 0xc3, 0x0, 0x0, 0x0, 0xc, - 0x80, 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0xc7, 0xa, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, 0xff, 0xf, + 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0xf, 0xff, 0xff, + 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, /* U+F243 "" */ - 0x26, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x40, 0xe, 0xdc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcf, 0x40, 0xf4, 0x33, 0x33, - 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc8, 0xf, - 0x4c, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xb1, 0xf4, 0xcf, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6c, 0x8f, 0x4c, 0xff, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88, 0xf4, - 0xcf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8, 0x8f, 0x4c, 0xff, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x88, 0xf4, 0xcf, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x6f, 0x49, - 0xcc, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, - 0x80, 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0xc7, 0xa, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, 0xff, 0xf, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xf, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0xf, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, /* U+F244 "" */ - 0x26, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x40, 0xe, 0xdc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcf, 0x40, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc8, 0xf, - 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xb1, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6c, 0x8f, 0x40, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8, 0x8f, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x88, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x6f, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, - 0x80, 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0xc7, 0xa, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, + + /* U+F287 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xcf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xb9, 0x29, 0xfe, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x10, 0x2, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xdf, 0x80, 0xa, + 0x90, 0x0, 0x0, 0x0, 0x3, 0x70, 0x0, 0xdf, + 0xff, 0x77, 0xf7, 0x55, 0x55, 0x55, 0x55, 0x8f, + 0xd3, 0xf, 0xff, 0xfd, 0xcc, 0xdf, 0xdc, 0xcc, + 0xcc, 0xcd, 0xff, 0xb0, 0x8f, 0xfe, 0x10, 0x0, + 0xaa, 0x0, 0x0, 0x0, 0x4d, 0x40, 0x0, 0x46, + 0x10, 0x0, 0x1, 0xf2, 0x2, 0x33, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xb1, 0xcf, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x22, + 0x0, 0x0, 0x0, /* U+F293 "" */ - 0x0, 0x6, 0x9b, 0xb7, 0x40, 0x0, 0x2, 0xcf, - 0xfd, 0xff, 0xf9, 0x0, 0xd, 0xff, 0xf4, 0xaf, - 0xff, 0x80, 0x5f, 0xff, 0xf4, 0xa, 0xff, 0xe1, - 0xaf, 0xff, 0xf4, 0x51, 0xaf, 0xf5, 0xdf, 0x83, - 0xf4, 0x8a, 0xc, 0xf8, 0xff, 0xf6, 0x33, 0x51, - 0x6f, 0xfc, 0xff, 0xff, 0x60, 0x6, 0xff, 0xfc, - 0xff, 0xff, 0xd0, 0x1f, 0xff, 0xfc, 0xff, 0xfd, - 0x10, 0x13, 0xff, 0xfc, 0xff, 0xd1, 0x64, 0x86, - 0x3f, 0xfa, 0xcf, 0x96, 0xf4, 0x86, 0x1c, 0xf8, - 0x8f, 0xff, 0xf4, 0x11, 0xcf, 0xf3, 0x2f, 0xff, - 0xf4, 0x1c, 0xff, 0xe0, 0x8, 0xff, 0xf5, 0xcf, - 0xff, 0x40, 0x0, 0x7e, 0xfe, 0xff, 0xc3, 0x0, - 0x0, 0x0, 0x34, 0x42, 0x0, 0x0 + 0x0, 0x18, 0xdf, 0xfd, 0x92, 0x0, 0x2, 0xef, + 0xfb, 0xef, 0xff, 0x30, 0xd, 0xff, 0xfa, 0x2e, + 0xff, 0xe0, 0x4f, 0xff, 0xfa, 0x3, 0xff, 0xf5, + 0x9f, 0xfa, 0xfa, 0x35, 0x4f, 0xfa, 0xcf, 0xc0, + 0x8a, 0x3d, 0xb, 0xfd, 0xef, 0xfb, 0x3, 0x12, + 0x8f, 0xfe, 0xff, 0xff, 0xb0, 0x6, 0xff, 0xff, + 0xff, 0xff, 0xd1, 0x8, 0xff, 0xff, 0xef, 0xfd, + 0x11, 0x10, 0x9f, 0xff, 0xdf, 0xd1, 0x59, 0x3b, + 0xb, 0xfd, 0xaf, 0xd7, 0xfa, 0x38, 0x1d, 0xfb, + 0x5f, 0xff, 0xfa, 0x1, 0xdf, 0xf7, 0xd, 0xff, + 0xfa, 0x1d, 0xff, 0xf1, 0x3, 0xef, 0xfc, 0xdf, + 0xff, 0x50, 0x0, 0x18, 0xdf, 0xfe, 0xa3, 0x0, + + /* U+F2ED "" */ + 0x0, 0x0, 0x7f, 0xff, 0xf7, 0x0, 0x0, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0xf, 0xf9, 0x9f, 0x99, 0xf9, 0x9f, + 0xf0, 0xf, 0xf8, 0x8f, 0x88, 0xf8, 0x8f, 0xf0, + 0xf, 0xf8, 0x8f, 0x88, 0xf8, 0x8f, 0xf0, 0xf, + 0xf8, 0x8f, 0x88, 0xf8, 0x8f, 0xf0, 0xf, 0xf8, + 0x8f, 0x88, 0xf8, 0x8f, 0xf0, 0xf, 0xf8, 0x8f, + 0x88, 0xf8, 0x8f, 0xf0, 0xf, 0xf8, 0x8f, 0x88, + 0xf8, 0x8f, 0xf0, 0xf, 0xf9, 0x9f, 0x99, 0xf9, + 0x9f, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + + /* U+F304 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, + 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x8a, 0x1d, + 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xfa, + 0x1d, 0xff, 0x70, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xfa, 0x1d, 0x80, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0xdf, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0xe, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xde, 0xdb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F55A "" */ + 0x0, 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe4, 0x0, 0x1, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x0, 0x1d, 0xff, 0xff, + 0xfa, 0xef, 0xfe, 0xaf, 0xff, 0xff, 0x1, 0xdf, + 0xff, 0xff, 0xa0, 0x2e, 0xe2, 0xa, 0xff, 0xff, + 0x1d, 0xff, 0xff, 0xff, 0xe2, 0x2, 0x20, 0x2e, + 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xfe, 0x20, + 0x2, 0xef, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, + 0xfe, 0x20, 0x2, 0xef, 0xff, 0xff, 0x1d, 0xff, + 0xff, 0xff, 0xe2, 0x2, 0x20, 0x2e, 0xff, 0xff, + 0x1, 0xdf, 0xff, 0xff, 0xa0, 0x2e, 0xe2, 0xa, + 0xff, 0xff, 0x0, 0x1d, 0xff, 0xff, 0xfa, 0xef, + 0xfe, 0xaf, 0xff, 0xff, 0x0, 0x1, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, + 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, + + /* U+F7C2 "" */ + 0x0, 0x8, 0xff, 0xff, 0xff, 0xe4, 0x0, 0x8f, + 0xff, 0xff, 0xff, 0xfe, 0x8, 0xf8, 0xf, 0xb, + 0x40, 0xff, 0x8f, 0xf8, 0xf, 0xb, 0x40, 0xff, + 0xff, 0xf8, 0xf, 0xb, 0x40, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xe4, + + /* U+F8A2 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xe0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x2, + 0xef, 0x10, 0x0, 0xbf, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xf1, 0x0, 0xcf, 0xf1, 0x0, 0x0, 0x0, + 0x7, 0xff, 0x11, 0xcf, 0xff, 0x77, 0x77, 0x77, + 0x77, 0xbf, 0xf1, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x17, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x7, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }; @@ -1486,152 +1651,159 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { *--------------------*/ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { - {.bitmap_index = 0, .adv_w = 0, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, - {.bitmap_index = 0, .adv_w = 64, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 0, .adv_w = 67, .box_h = 12, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 12, .adv_w = 92, .box_h = 5, .box_w = 4, .ofs_x = 1, .ofs_y = 7}, - {.bitmap_index = 22, .adv_w = 160, .box_h = 12, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 82, .adv_w = 149, .box_h = 16, .box_w = 8, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 146, .adv_w = 187, .box_h = 13, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 218, .adv_w = 160, .box_h = 13, .box_w = 10, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 283, .adv_w = 56, .box_h = 5, .box_w = 2, .ofs_x = 1, .ofs_y = 7}, - {.bitmap_index = 288, .adv_w = 85, .box_h = 17, .box_w = 5, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 331, .adv_w = 86, .box_h = 17, .box_w = 5, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 374, .adv_w = 111, .box_h = 6, .box_w = 7, .ofs_x = 0, .ofs_y = 3}, - {.bitmap_index = 395, .adv_w = 145, .box_h = 9, .box_w = 9, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 436, .adv_w = 57, .box_h = 4, .box_w = 2, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 440, .adv_w = 115, .box_h = 2, .box_w = 5, .ofs_x = 1, .ofs_y = 4}, - {.bitmap_index = 445, .adv_w = 69, .box_h = 2, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 447, .adv_w = 106, .box_h = 13, .box_w = 6, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 486, .adv_w = 144, .box_h = 13, .box_w = 8, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 538, .adv_w = 144, .box_h = 12, .box_w = 5, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 568, .adv_w = 144, .box_h = 12, .box_w = 8, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 616, .adv_w = 144, .box_h = 13, .box_w = 7, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 662, .adv_w = 144, .box_h = 12, .box_w = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 716, .adv_w = 144, .box_h = 13, .box_w = 8, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 768, .adv_w = 144, .box_h = 13, .box_w = 8, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 820, .adv_w = 144, .box_h = 12, .box_w = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 874, .adv_w = 144, .box_h = 13, .box_w = 9, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 933, .adv_w = 144, .box_h = 13, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 985, .adv_w = 65, .box_h = 9, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 994, .adv_w = 66, .box_h = 11, .box_w = 2, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 1005, .adv_w = 130, .box_h = 8, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1033, .adv_w = 144, .box_h = 5, .box_w = 7, .ofs_x = 1, .ofs_y = 3}, - {.bitmap_index = 1051, .adv_w = 134, .box_h = 8, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1079, .adv_w = 122, .box_h = 12, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1121, .adv_w = 229, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1225, .adv_w = 162, .box_h = 12, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1285, .adv_w = 162, .box_h = 12, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1339, .adv_w = 162, .box_h = 13, .box_w = 9, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1398, .adv_w = 173, .box_h = 12, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1452, .adv_w = 140, .box_h = 12, .box_w = 8, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1500, .adv_w = 140, .box_h = 12, .box_w = 8, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1548, .adv_w = 173, .box_h = 13, .box_w = 9, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1607, .adv_w = 180, .box_h = 12, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1661, .adv_w = 72, .box_h = 12, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1673, .adv_w = 140, .box_h = 13, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 1725, .adv_w = 162, .box_h = 12, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1779, .adv_w = 140, .box_h = 12, .box_w = 8, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1827, .adv_w = 221, .box_h = 12, .box_w = 12, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1899, .adv_w = 180, .box_h = 12, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1953, .adv_w = 175, .box_h = 13, .box_w = 9, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2012, .adv_w = 162, .box_h = 12, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2066, .adv_w = 178, .box_h = 13, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2131, .adv_w = 162, .box_h = 12, .box_w = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2185, .adv_w = 157, .box_h = 13, .box_w = 8, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2237, .adv_w = 153, .box_h = 12, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2297, .adv_w = 173, .box_h = 13, .box_w = 9, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2356, .adv_w = 162, .box_h = 12, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2416, .adv_w = 220, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2500, .adv_w = 162, .box_h = 12, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2560, .adv_w = 162, .box_h = 12, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2620, .adv_w = 153, .box_h = 12, .box_w = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2674, .adv_w = 69, .box_h = 16, .box_w = 4, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 2706, .adv_w = 106, .box_h = 13, .box_w = 7, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2752, .adv_w = 69, .box_h = 16, .box_w = 3, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2776, .adv_w = 107, .box_h = 7, .box_w = 6, .ofs_x = 0, .ofs_y = 5}, - {.bitmap_index = 2797, .adv_w = 116, .box_h = 2, .box_w = 8, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2805, .adv_w = 80, .box_h = 3, .box_w = 4, .ofs_x = 0, .ofs_y = 9}, - {.bitmap_index = 2811, .adv_w = 141, .box_h = 10, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2851, .adv_w = 146, .box_h = 14, .box_w = 8, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2907, .adv_w = 134, .box_h = 10, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2947, .adv_w = 146, .box_h = 14, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3003, .adv_w = 134, .box_h = 10, .box_w = 8, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3043, .adv_w = 78, .box_h = 13, .box_w = 6, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3082, .adv_w = 146, .box_h = 13, .box_w = 8, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 3134, .adv_w = 146, .box_h = 13, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3180, .adv_w = 65, .box_h = 13, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3193, .adv_w = 66, .box_h = 17, .box_w = 4, .ofs_x = -1, .ofs_y = -4}, - {.bitmap_index = 3227, .adv_w = 131, .box_h = 13, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3273, .adv_w = 65, .box_h = 13, .box_w = 2, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3286, .adv_w = 224, .box_h = 9, .box_w = 12, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3340, .adv_w = 146, .box_h = 9, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3372, .adv_w = 146, .box_h = 10, .box_w = 9, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3417, .adv_w = 146, .box_h = 13, .box_w = 8, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 3469, .adv_w = 146, .box_h = 13, .box_w = 8, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 3521, .adv_w = 90, .box_h = 9, .box_w = 5, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3544, .adv_w = 134, .box_h = 10, .box_w = 7, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 3579, .adv_w = 82, .box_h = 12, .box_w = 5, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3609, .adv_w = 146, .box_h = 10, .box_w = 7, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 3644, .adv_w = 129, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3680, .adv_w = 194, .box_h = 9, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3734, .adv_w = 129, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3770, .adv_w = 129, .box_h = 13, .box_w = 8, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 3822, .adv_w = 129, .box_h = 9, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3858, .adv_w = 87, .box_h = 16, .box_w = 6, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3906, .adv_w = 63, .box_h = 14, .box_w = 2, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 3920, .adv_w = 87, .box_h = 16, .box_w = 5, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3960, .adv_w = 174, .box_h = 4, .box_w = 9, .ofs_x = 1, .ofs_y = 3}, - {.bitmap_index = 3978, .adv_w = 219, .box_h = 16, .box_w = 14, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 4090, .adv_w = 274, .box_h = 16, .box_w = 18, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 4234, .adv_w = 256, .box_h = 13, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4338, .adv_w = 256, .box_h = 11, .box_w = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 4415, .adv_w = 201, .box_h = 12, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 4481, .adv_w = 219, .box_h = 16, .box_w = 14, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4593, .adv_w = 219, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4698, .adv_w = 201, .box_h = 15, .box_w = 13, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4796, .adv_w = 238, .box_h = 12, .box_w = 15, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4886, .adv_w = 238, .box_h = 14, .box_w = 15, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4991, .adv_w = 219, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 5075, .adv_w = 219, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5180, .adv_w = 110, .box_h = 11, .box_w = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 5219, .adv_w = 165, .box_h = 11, .box_w = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 5280, .adv_w = 238, .box_h = 13, .box_w = 15, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 5378, .adv_w = 274, .box_h = 15, .box_w = 18, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5513, .adv_w = 219, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5618, .adv_w = 146, .box_h = 15, .box_w = 10, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5693, .adv_w = 201, .box_h = 15, .box_w = 13, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5791, .adv_w = 219, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5896, .adv_w = 219, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 6001, .adv_w = 146, .box_h = 15, .box_w = 10, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 6076, .adv_w = 220, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6160, .adv_w = 183, .box_h = 15, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 6235, .adv_w = 183, .box_h = 15, .box_w = 10, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 6310, .adv_w = 201, .box_h = 13, .box_w = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6395, .adv_w = 201, .box_h = 4, .box_w = 13, .ofs_x = 0, .ofs_y = 4}, - {.bitmap_index = 6421, .adv_w = 256, .box_h = 16, .box_w = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 6549, .adv_w = 256, .box_h = 15, .box_w = 16, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 6669, .adv_w = 256, .box_h = 10, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6749, .adv_w = 256, .box_h = 10, .box_w = 16, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 6829, .adv_w = 274, .box_h = 11, .box_w = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6923, .adv_w = 238, .box_h = 13, .box_w = 15, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7021, .adv_w = 238, .box_h = 16, .box_w = 15, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 7141, .adv_w = 201, .box_h = 13, .box_w = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7226, .adv_w = 256, .box_h = 14, .box_w = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 7338, .adv_w = 256, .box_h = 17, .box_w = 16, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 7474, .adv_w = 219, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 7579, .adv_w = 128, .box_h = 16, .box_w = 8, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 7643, .adv_w = 256, .box_h = 17, .box_w = 16, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 7779, .adv_w = 274, .box_h = 11, .box_w = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7878, .adv_w = 201, .box_h = 13, .box_w = 13, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 7963, .adv_w = 219, .box_h = 17, .box_w = 14, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 8082, .adv_w = 293, .box_h = 13, .box_w = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8199, .adv_w = 329, .box_h = 12, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8325, .adv_w = 329, .box_h = 12, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8451, .adv_w = 329, .box_h = 12, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8577, .adv_w = 329, .box_h = 12, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8703, .adv_w = 329, .box_h = 12, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8829, .adv_w = 219, .box_h = 17, .box_w = 12, .ofs_x = 1, .ofs_y = -3} + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 63, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 66, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 12, .adv_w = 82, .box_w = 4, .box_h = 5, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 22, .adv_w = 159, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 82, .adv_w = 144, .box_w = 9, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 154, .adv_w = 188, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 226, .adv_w = 159, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 286, .adv_w = 45, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 290, .adv_w = 88, .box_w = 5, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 335, .adv_w = 89, .box_w = 5, .box_h = 18, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 380, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 405, .adv_w = 145, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 446, .adv_w = 50, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 454, .adv_w = 71, .box_w = 5, .box_h = 3, .ofs_x = 0, .ofs_y = 4}, + {.bitmap_index = 462, .adv_w = 67, .box_w = 2, .box_h = 2, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 464, .adv_w = 106, .box_w = 7, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 510, .adv_w = 144, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 564, .adv_w = 144, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 594, .adv_w = 144, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 648, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 696, .adv_w = 144, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 750, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 798, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 846, .adv_w = 144, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 900, .adv_w = 144, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 954, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1002, .adv_w = 62, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1011, .adv_w = 54, .box_w = 3, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1029, .adv_w = 130, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 1057, .adv_w = 141, .box_w = 7, .box_h = 6, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 1078, .adv_w = 134, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 1106, .adv_w = 121, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1148, .adv_w = 230, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1253, .adv_w = 167, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1319, .adv_w = 159, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1373, .adv_w = 167, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1433, .adv_w = 168, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1487, .adv_w = 146, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1535, .adv_w = 142, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1583, .adv_w = 174, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1643, .adv_w = 183, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1703, .adv_w = 70, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1715, .adv_w = 141, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1763, .adv_w = 161, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1823, .adv_w = 138, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1871, .adv_w = 224, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1943, .adv_w = 183, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2003, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2069, .adv_w = 162, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2123, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2200, .adv_w = 158, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2254, .adv_w = 152, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2308, .adv_w = 153, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2368, .adv_w = 166, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2422, .adv_w = 163, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2482, .adv_w = 227, .box_w = 14, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2566, .adv_w = 161, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2626, .adv_w = 154, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2686, .adv_w = 153, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2740, .adv_w = 68, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2776, .adv_w = 105, .box_w = 7, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2822, .adv_w = 68, .box_w = 4, .box_h = 18, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2858, .adv_w = 107, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 2879, .adv_w = 116, .box_w = 8, .box_h = 3, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2891, .adv_w = 79, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 10}, + {.bitmap_index = 2897, .adv_w = 139, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2933, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2981, .adv_w = 134, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3017, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3065, .adv_w = 136, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3101, .adv_w = 89, .box_w = 6, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3143, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3191, .adv_w = 141, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3233, .adv_w = 62, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3245, .adv_w = 61, .box_w = 4, .box_h = 15, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 3275, .adv_w = 130, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3323, .adv_w = 62, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3335, .adv_w = 224, .box_w = 12, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3389, .adv_w = 141, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3421, .adv_w = 146, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3462, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 3510, .adv_w = 146, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3558, .adv_w = 87, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3581, .adv_w = 132, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3617, .adv_w = 84, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3645, .adv_w = 141, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3677, .adv_w = 124, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3713, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3767, .adv_w = 127, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3803, .adv_w = 121, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3851, .adv_w = 127, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3887, .adv_w = 87, .box_w = 6, .box_h = 17, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3938, .adv_w = 62, .box_w = 2, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 3952, .adv_w = 87, .box_w = 5, .box_h = 17, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3995, .adv_w = 174, .box_w = 9, .box_h = 5, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 4018, .adv_w = 256, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4154, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4250, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4362, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4458, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4524, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4652, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4780, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4906, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5034, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5142, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5270, .adv_w = 128, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5326, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5410, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5554, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5650, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 5730, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 5856, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5961, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 6059, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 6139, .adv_w = 224, .box_w = 16, .box_h = 14, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 6251, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 6321, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 6391, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 6489, .adv_w = 224, .box_w = 14, .box_h = 4, .ofs_x = 0, .ofs_y = 4}, + {.bitmap_index = 6517, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6625, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6785, .adv_w = 288, .box_w = 20, .box_h = 16, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 6945, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7073, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 7143, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 7213, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7353, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7449, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7577, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 7722, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7827, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7939, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 8037, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 8133, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8245, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8357, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8465, .adv_w = 256, .box_w = 18, .box_h = 18, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 8627, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8723, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 8873, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 8973, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 9073, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 9173, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 9273, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 9373, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 9520, .adv_w = 224, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 9616, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9728, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 9873, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9993, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 10089, .adv_w = 258, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 1} }; /*--------------------- @@ -1639,25 +1811,26 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { *--------------------*/ static const uint16_t unicode_list_1[] = { - 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x13, - 0x14, 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, - 0x3f, 0x47, 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, - 0x53, 0x66, 0x67, 0x70, 0x73, 0x76, 0x77, 0x78, - 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xf2, - 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, 0x242, - 0x243, 0x292 + 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14, + 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x47, + 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53, 0x66, + 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77, 0x78, + 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xe9, + 0xf2, 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, + 0x242, 0x243, 0x286, 0x292, 0x2ec, 0x303, 0x559, 0x7c1, + 0x8a1 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { - .range_start = 32, .range_length = 95, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY, - .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0 + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 61441, .range_length = 659, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY, - .glyph_id_start = 96, .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 50 + .range_start = 61441, .range_length = 2210, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 57, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -1666,569 +1839,245 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = *----------------*/ -/*Pair left and right glyphs for kerning*/ -static const uint8_t kern_pair_glyph_ids[] = +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = { - 9, 43, - 9, 55, - 9, 56, - 9, 58, - 17, 17, - 17, 18, - 17, 20, - 17, 21, - 17, 22, - 17, 23, - 17, 24, - 17, 26, - 18, 19, - 18, 20, - 18, 22, - 18, 24, - 19, 17, - 19, 18, - 19, 19, - 19, 22, - 19, 23, - 19, 24, - 19, 25, - 19, 26, - 20, 18, - 20, 19, - 20, 20, - 20, 21, - 20, 22, - 20, 23, - 20, 24, - 20, 25, - 20, 26, - 21, 17, - 21, 19, - 21, 21, - 21, 22, - 21, 23, - 21, 24, - 21, 25, - 22, 18, - 22, 19, - 22, 20, - 22, 21, - 22, 22, - 22, 23, - 22, 24, - 22, 25, - 22, 26, - 23, 17, - 23, 18, - 23, 19, - 23, 21, - 23, 22, - 23, 23, - 23, 24, - 23, 25, - 24, 18, - 24, 21, - 24, 22, - 24, 23, - 24, 24, - 24, 25, - 24, 26, - 25, 17, - 25, 18, - 25, 20, - 25, 21, - 25, 22, - 25, 23, - 26, 17, - 26, 18, - 26, 19, - 26, 21, - 26, 22, - 26, 23, - 26, 24, - 26, 26, - 34, 36, - 34, 40, - 34, 48, - 34, 50, - 34, 53, - 34, 54, - 34, 55, - 34, 56, - 34, 58, - 34, 66, - 34, 68, - 34, 69, - 34, 70, - 34, 72, - 34, 80, - 34, 82, - 34, 84, - 34, 85, - 34, 86, - 34, 87, - 34, 88, - 34, 91, - 35, 58, - 35, 66, - 35, 74, - 35, 77, - 35, 80, - 35, 83, - 35, 86, - 35, 90, - 36, 36, - 36, 40, - 36, 48, - 36, 50, - 36, 74, - 36, 83, - 36, 86, - 36, 90, - 36, 91, - 37, 55, - 37, 56, - 37, 66, - 37, 70, - 37, 80, - 37, 86, - 38, 55, - 38, 56, - 38, 58, - 38, 67, - 38, 68, - 38, 69, - 38, 70, - 38, 71, - 38, 72, - 38, 74, - 38, 75, - 38, 76, - 38, 77, - 38, 78, - 38, 79, - 38, 80, - 38, 81, - 38, 82, - 38, 83, - 38, 85, - 38, 86, - 38, 87, - 38, 88, - 38, 89, - 38, 90, - 38, 91, - 39, 13, - 39, 15, - 39, 34, - 39, 66, - 39, 70, - 39, 74, - 39, 77, - 39, 80, - 39, 83, - 39, 86, - 39, 90, - 40, 66, - 40, 70, - 40, 79, - 40, 80, - 40, 83, - 40, 86, - 40, 90, - 41, 66, - 41, 70, - 41, 80, - 41, 86, - 41, 90, - 42, 66, - 42, 68, - 42, 69, - 42, 71, - 42, 72, - 42, 78, - 42, 79, - 42, 80, - 42, 81, - 42, 83, - 42, 84, - 42, 85, - 42, 86, - 42, 87, - 42, 88, - 42, 90, - 43, 66, - 43, 80, - 44, 36, - 44, 40, - 44, 48, - 44, 50, - 44, 66, - 44, 70, - 44, 74, - 44, 80, - 44, 83, - 44, 86, - 44, 88, - 44, 90, - 45, 34, - 45, 36, - 45, 40, - 45, 48, - 45, 50, - 45, 53, - 45, 54, - 45, 55, - 45, 56, - 45, 58, - 45, 75, - 45, 86, - 45, 88, - 45, 90, - 46, 66, - 46, 70, - 46, 75, - 46, 79, - 46, 80, - 46, 86, - 46, 90, - 47, 70, - 47, 80, - 47, 90, - 48, 34, - 48, 53, - 48, 55, - 48, 56, - 48, 57, - 48, 58, - 48, 68, - 48, 69, - 48, 70, - 48, 71, - 48, 72, - 48, 75, - 48, 80, - 48, 81, - 48, 82, - 48, 84, - 48, 85, - 48, 86, - 48, 89, - 48, 90, - 48, 91, - 49, 13, - 49, 15, - 49, 34, - 49, 38, - 49, 41, - 49, 42, - 49, 66, - 49, 70, - 49, 73, - 49, 74, - 49, 77, - 49, 79, - 49, 80, - 49, 83, - 49, 84, - 49, 85, - 49, 90, - 50, 34, - 50, 53, - 50, 54, - 50, 55, - 50, 56, - 50, 57, - 50, 58, - 50, 66, - 50, 86, - 51, 36, - 51, 40, - 51, 48, - 51, 50, - 51, 53, - 51, 54, - 51, 55, - 51, 56, - 51, 58, - 51, 66, - 51, 70, - 51, 80, - 51, 86, - 51, 90, - 52, 66, - 52, 70, - 52, 75, - 52, 78, - 52, 79, - 52, 80, - 52, 81, - 52, 82, - 52, 86, - 52, 88, - 52, 90, - 53, 13, - 53, 14, - 53, 15, - 53, 27, - 53, 28, - 53, 34, - 53, 36, - 53, 40, - 53, 48, - 53, 50, - 53, 52, - 53, 53, - 53, 55, - 53, 56, - 53, 57, - 53, 58, - 53, 66, - 53, 70, - 53, 74, - 53, 78, - 53, 80, - 53, 83, - 53, 84, - 53, 86, - 53, 88, - 53, 90, - 53, 91, - 54, 34, - 54, 69, - 54, 71, - 54, 72, - 54, 78, - 54, 79, - 54, 81, - 54, 83, - 54, 84, - 54, 85, - 54, 89, - 54, 91, - 55, 10, - 55, 13, - 55, 14, - 55, 15, - 55, 27, - 55, 28, - 55, 34, - 55, 36, - 55, 40, - 55, 48, - 55, 50, - 55, 62, - 55, 66, - 55, 70, - 55, 80, - 55, 83, - 55, 86, - 55, 90, - 55, 94, - 56, 10, - 56, 13, - 56, 14, - 56, 15, - 56, 27, - 56, 28, - 56, 34, - 56, 36, - 56, 40, - 56, 48, - 56, 50, - 56, 53, - 56, 62, - 56, 66, - 56, 70, - 56, 80, - 56, 83, - 56, 86, - 56, 90, - 56, 94, - 57, 36, - 57, 40, - 57, 48, - 57, 50, - 57, 70, - 57, 86, - 57, 90, - 58, 10, - 58, 13, - 58, 14, - 58, 15, - 58, 27, - 58, 28, - 58, 34, - 58, 36, - 58, 40, - 58, 48, - 58, 50, - 58, 53, - 58, 55, - 58, 56, - 58, 57, - 58, 58, - 58, 62, - 58, 66, - 58, 70, - 58, 80, - 58, 82, - 58, 85, - 58, 86, - 58, 87, - 58, 94, - 59, 34, - 59, 36, - 59, 40, - 59, 48, - 59, 50, - 59, 66, - 59, 70, - 59, 74, - 59, 80, - 59, 86, - 59, 88, - 59, 90, - 60, 43, - 67, 87, - 67, 88, - 67, 90, - 70, 90, - 71, 3, - 71, 8, - 71, 10, - 71, 62, - 71, 72, - 71, 94, - 76, 70, - 80, 87, - 80, 88, - 80, 89, - 80, 90, - 81, 88, - 83, 13, - 83, 15, - 83, 68, - 83, 69, - 83, 70, - 83, 71, - 83, 76, - 83, 80, - 83, 82, - 83, 85, - 83, 86, - 83, 87, - 83, 88, - 83, 89, - 83, 90, - 83, 91, - 87, 13, - 87, 15, - 87, 66, - 87, 68, - 87, 69, - 87, 70, - 87, 80, - 87, 82, - 88, 13, - 88, 15, - 88, 68, - 88, 69, - 88, 70, - 88, 82, - 89, 68, - 89, 69, - 89, 70, - 89, 80, - 89, 82, - 90, 13, - 90, 15, - 90, 68, - 90, 69, - 90, 70, - 90, 80, - 90, 82, - 91, 68, - 91, 69, - 91, 70, - 91, 80, - 92, 43 + 0, 1, 0, 2, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 4, 0, 4, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 7, 8, 9, 10, 11, + 0, 12, 12, 13, 14, 15, 12, 12, + 9, 16, 17, 18, 0, 19, 13, 20, + 21, 22, 23, 24, 25, 0, 0, 0, + 0, 0, 26, 27, 28, 0, 29, 30, + 0, 31, 0, 0, 32, 0, 31, 31, + 33, 27, 0, 34, 0, 35, 0, 36, + 37, 38, 36, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; -/* Kerning between the respective left and right glyphs - * 4.4 format which needs to scaled with `kern_scale`*/ -static const int8_t kern_pair_values[] = +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = { - -12, 5, 5, 6, 1, -4, 0, 1, - 0, 1, -5, 1, -1, -1, -1, 0, - -2, -2, 1, -2, -2, -3, -2, 0, - -2, 0, 1, 2, 1, 0, -3, 1, - 0, 0, -4, 4, 2, 0, -10, 2, - 0, -3, 1, 2, 1, 0, 0, 1, - -3, 0, -5, -3, 3, 1, 0, -5, - 1, 5, -20, -4, -5, 5, -3, -1, - 0, -3, 1, 3, 1, 0, 0, -5, - -1, 1, 0, 0, -6, 1, -5, -5, - -5, -5, -19, -6, -18, -12, -20, 1, - -2, -3, -3, -2, -3, -2, 0, -8, - -3, -10, -8, 3, -20, 1, 0, 0, - 1, 0, 1, 1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -5, -3, 0, - 1, 1, 1, 2, 2, 2, -1, -5, - -5, -5, -5, -4, -1, -1, -1, -1, - -2, -2, -5, -2, -4, -2, -5, -4, - -7, -6, 1, -6, 1, -38, -38, -15, - -9, -5, -1, -1, -5, -7, -6, -6, - 0, 1, 0, 0, 0, 0, 0, -1, - -1, -1, -1, 0, -1, -1, -2, -1, - -1, -1, -1, -1, 0, -1, -1, -1, - -1, -1, 0, -1, -1, -1, -7, -7, - -8, -7, -1, -7, -1, -7, -1, -6, - -10, -10, 5, -5, -6, -6, -6, -19, - -6, -23, -14, -22, 0, -4, -11, -14, - -1, -1, -1, -1, -1, -1, 0, -1, - -1, 0, -5, -7, -6, -3, -6, -7, - 0, 0, 0, 0, 0, -1, 0, 0, - 1, 0, 1, 0, -1, 1, -2, -42, - -42, -14, -1, -1, -1, -3, -3, 0, - -1, -1, -1, -3, 0, -1, 4, 4, - 4, -8, -2, -7, -5, 3, -9, 0, - 0, -1, -1, -2, -1, -5, -2, -5, - -4, -12, 0, -2, -2, -1, 0, 0, - 0, -1, -1, -1, 0, 0, 0, 0, - 1, 1, -20, -20, -20, -19, -19, -20, - -6, -7, -7, -7, -4, 4, 4, 4, - 3, 4, -20, -20, -1, -17, -20, -17, - -19, -17, -12, -12, -15, -6, -2, 0, - -1, -1, -1, -1, -1, -1, 0, -2, - -2, 5, -22, -9, -22, -8, -8, -19, - -5, -5, -6, -5, 4, -12, -11, -12, - -8, -7, -3, 5, 4, -15, -5, -15, - -5, -6, -14, -3, -3, -4, -3, 4, - 3, -8, -8, -8, -5, -5, -1, 4, - -6, -6, -6, -6, -7, -5, -8, 5, - -23, -13, -23, -11, -11, -21, -7, -7, - -7, -7, 4, 5, 4, 3, 5, 5, - -16, -17, -17, -16, -6, -10, -5, 5, - 3, -6, -6, -7, -6, 0, -5, -1, - -5, -5, -7, -7, -5, -3, -2, -3, - -3, 4, 4, 5, 5, -6, 5, -5, - -4, -2, -5, -4, -2, -16, -16, -5, - -4, -5, 4, 0, -5, -4, 4, 0, - 5, 4, 2, 5, 1, -15, -15, -4, - -3, -3, -3, -4, -3, -12, -11, -2, - -2, -3, -2, -5, -5, -5, -5, -5, - -17, -16, -4, -4, -4, -4, -5, -4, - -4, -4, -4, -5 + 0, 1, 0, 2, 0, 0, 0, 3, + 2, 0, 4, 5, 0, 6, 7, 6, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 10, 0, 11, 0, 0, 0, + 11, 0, 0, 12, 0, 0, 0, 0, + 11, 0, 11, 0, 13, 14, 15, 16, + 17, 18, 19, 20, 0, 0, 21, 0, + 0, 0, 22, 0, 23, 23, 23, 24, + 23, 0, 0, 0, 0, 0, 25, 25, + 26, 25, 23, 27, 28, 29, 30, 31, + 32, 33, 31, 34, 0, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; -/*Collect the kern pair's data in one place*/ -static const lv_font_fmt_txt_kern_pair_t kern_pairs = +/*Kern values between classes*/ +static const int8_t kern_class_values[] = { - .glyph_ids = kern_pair_glyph_ids, - .values = kern_pair_values, - .pair_cnt = 484, - .glyph_ids_size = 0 + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -13, 0, 0, 0, + 0, 0, 0, 0, -15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -6, -7, 0, -2, -8, 0, -10, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 2, 0, + 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -15, 0, 0, 0, 0, 0, 0, -8, + 0, -1, 0, 0, -16, -2, -11, -9, + 0, -12, 0, 0, 0, 0, 0, 0, + -1, 0, 0, -2, -1, -6, -4, 0, + 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -3, + 0, -3, 0, 0, -7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -4, 0, 0, 0, 0, 0, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, -13, 0, 0, + 0, -3, 0, 0, 0, -3, 0, -3, + 0, -3, -5, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, + 0, -2, -2, 0, -2, 0, 0, 0, + -2, -3, -3, 0, 0, 0, 0, 0, + 0, 0, 0, -29, 0, 0, 0, -21, + 0, -33, 0, 3, 0, 0, 0, 0, + 0, 0, 0, -4, -3, 0, 0, -3, + -3, 0, 0, -3, -3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, -4, 0, + 0, 0, 2, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -8, 0, 0, + 0, -4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3, 0, -3, + -3, 0, 0, 0, -3, -5, -8, 0, + 0, 0, 0, -42, 0, 0, 0, 0, + 0, 0, 0, 2, -8, 0, 0, -34, + -7, -22, -18, 0, -30, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -5, + -17, -11, 0, 0, 0, 0, 0, 0, + 0, 0, -40, 0, 0, 0, -17, 0, + -25, 0, 0, 0, 0, 0, -4, 0, + -3, 0, -1, -2, 0, 0, -2, 0, + 0, 2, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -5, 0, -3, + -2, 0, -4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -10, 0, -2, 0, 0, -6, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -5, 0, + 0, 0, 0, -27, -29, 0, 0, -10, + -3, -30, -2, 2, 0, 2, 2, 0, + 2, 0, 0, -14, -12, 0, -14, -12, + -9, -14, 0, -12, -9, -7, -10, -7, + 0, 0, 0, 0, 3, 0, -28, -5, + 0, 0, -9, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, -6, -5, + 0, 0, -6, -4, 0, 0, -3, -1, + 0, 0, 0, 2, 0, 0, 0, 2, + 0, -15, -7, 0, 0, -5, 0, 0, + 0, 2, 0, 0, 0, 0, 0, 0, + 2, -4, -4, 0, 0, -4, -3, 0, + 0, -2, 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, -6, 0, 0, + 0, -3, 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, -3, 0, 0, + -3, 0, 0, 0, -3, -4, 0, 0, + 0, 0, 0, 0, -4, 3, -6, -26, + -6, 0, 0, -12, -4, -12, -2, 2, + -12, 2, 2, 2, 2, 0, 2, -9, + -8, -3, -5, -8, -5, -7, -3, -5, + -2, 0, -3, -4, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, -3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -3, 0, 0, -3, 0, + 0, 0, -2, -3, -3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, -2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2, 0, 0, 0, 0, 0, -4, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1, 0, -2, -2, + 0, 0, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2, 0, 0, 0, 0, 0, + 2, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, -3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, -13, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -17, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -2, 0, + -3, -2, 0, 0, 2, 0, 0, 0, + -15, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -5, -2, 2, 0, -2, 0, 0, 6, + 0, 2, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, -13, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -2, -2, + 2, 0, -2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -15, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + -2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 0, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 0, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = +{ + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 40, + .right_class_cnt = 35, }; /*-------------------- @@ -2240,12 +2089,12 @@ static lv_font_fmt_txt_dsc_t font_dsc = { .glyph_bitmap = gylph_bitmap, .glyph_dsc = glyph_dsc, .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, .cmap_num = 2, .bpp = 4, - - .kern_scale = 16, - .kern_dsc = &kern_pairs, - .kern_classes = 0 + .kern_classes = 1, + .bitmap_format = 0 }; @@ -2255,11 +2104,13 @@ static lv_font_fmt_txt_dsc_t font_dsc = { /*Initialize a public general font descriptor*/ lv_font_t lv_font_roboto_16 = { - .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ - .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ - .line_height = 18, /*The maximum line height required by the font*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 19, /*The maximum line height required by the font*/ .base_line = 4, /*Baseline measured from the bottom of the line*/ + .subpx = LV_FONT_SUBPX_NONE, + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ }; #endif /*#if LV_FONT_ROBOTO_16*/ + diff --git a/src/src/lv_font/lv_font_roboto_22.c b/src/src/lv_font/lv_font_roboto_22.c index 5b5f2f8..f7bdac0 100644 --- a/src/src/lv_font/lv_font_roboto_22.c +++ b/src/src/lv_font/lv_font_roboto_22.c @@ -3,7 +3,7 @@ /******************************************************************************* * Size: 22 px * Bpp: 4 - * Opts: + * Opts: --no-compress --no-prefilter --bpp 4 --size 22 --font Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 61441,61448,61451,61452,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl -o lv_font_roboto_22.c --force-fast-kern-format ******************************************************************************/ #ifndef LV_FONT_ROBOTO_22 @@ -21,2379 +21,2736 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+20 " " */ /* U+21 "!" */ - 0x3b, 0xb4, 0xff, 0x4f, 0xf4, 0xff, 0x4f, 0xf4, - 0xff, 0x4f, 0xf4, 0xff, 0x4f, 0xf4, 0xff, 0x3c, - 0xc0, 0x0, 0x0, 0x1, 0x33, 0x4f, 0xf4, 0xff, + 0x3f, 0xd0, 0x2f, 0xd0, 0x2f, 0xd0, 0x2f, 0xd0, + 0x2f, 0xd0, 0x2f, 0xc0, 0x2f, 0xc0, 0x1f, 0xc0, + 0x1f, 0xc0, 0x1f, 0xc0, 0x1f, 0xb0, 0x6, 0x40, + 0x0, 0x0, 0x3, 0x20, 0x2f, 0xf0, 0x1e, 0xc0, /* U+22 "\"" */ - 0x9b, 0x63, 0xb9, 0xcf, 0x84, 0xfc, 0xcf, 0x84, - 0xfc, 0xcf, 0x64, 0xfb, 0xcf, 0x14, 0xf5, 0xc9, - 0x4, 0xe0, + 0x8f, 0xa, 0xe8, 0xf0, 0xad, 0x8e, 0xa, 0xc8, + 0xc0, 0xab, 0x8b, 0xa, 0x93, 0x40, 0x33, /* U+23 "#" */ - 0x0, 0x0, 0x6, 0xb0, 0x3, 0xb6, 0x0, 0x0, - 0x0, 0xce, 0x0, 0x6f, 0x40, 0x0, 0x0, 0xf, - 0xb0, 0x9, 0xf1, 0x0, 0x0, 0x2, 0xf8, 0x0, - 0xce, 0x0, 0x2, 0x33, 0x6f, 0x63, 0x3f, 0xc3, - 0x30, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x2, - 0x44, 0xdf, 0x44, 0x8f, 0x74, 0x30, 0x0, 0xf, - 0xc0, 0x8, 0xf1, 0x0, 0x0, 0x1, 0xf8, 0x0, - 0xce, 0x0, 0x0, 0x0, 0x4f, 0x50, 0xf, 0xb0, - 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2, - 0x88, 0xef, 0x88, 0xbf, 0xa8, 0x80, 0x0, 0xe, - 0xc0, 0x8, 0xf2, 0x0, 0x0, 0x1, 0xf8, 0x0, - 0xcf, 0x0, 0x0, 0x0, 0x4f, 0x50, 0xf, 0xc0, - 0x0, 0x0, 0x8, 0xf2, 0x2, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x9, 0xe0, 0x3, 0xf5, 0x0, 0x0, + 0x0, 0xdb, 0x0, 0x7f, 0x10, 0x0, 0x0, 0xf, + 0x80, 0xa, 0xe0, 0x0, 0x0, 0x4, 0xf4, 0x0, + 0xea, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xb0, 0x38, 0x8d, 0xe8, 0x8a, 0xf9, 0x85, 0x0, + 0x0, 0xdb, 0x0, 0x7f, 0x10, 0x0, 0x0, 0xf, + 0x80, 0xa, 0xe0, 0x0, 0x0, 0x2, 0xf5, 0x0, + 0xcb, 0x0, 0x0, 0x22, 0x6f, 0x52, 0x2f, 0xa2, + 0x20, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, + 0x55, 0xdd, 0x55, 0x9f, 0x75, 0x40, 0x0, 0xe, + 0xa0, 0x8, 0xf0, 0x0, 0x0, 0x1, 0xf7, 0x0, + 0xbd, 0x0, 0x0, 0x0, 0x4f, 0x40, 0xe, 0xa0, + 0x0, 0x0, 0x7, 0xf1, 0x1, 0xf7, 0x0, 0x0, /* U+24 "$" */ - 0x0, 0x0, 0x13, 0x20, 0x0, 0x0, 0x0, 0x4, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x80, 0x0, - 0x0, 0x1, 0x6c, 0xfd, 0x61, 0x0, 0x1, 0xcf, - 0xff, 0xff, 0xd3, 0x0, 0xaf, 0xd2, 0x1, 0xdf, - 0xb0, 0xe, 0xf4, 0x0, 0x2, 0xff, 0x0, 0xff, - 0x10, 0x0, 0xf, 0xf4, 0xe, 0xf6, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0xe6, 0x0, 0x0, 0x0, 0x0, - 0xbf, 0xfe, 0x82, 0x0, 0x0, 0x0, 0x5c, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0x2, 0xaf, 0xfa, 0x0, - 0x0, 0x0, 0x0, 0x5f, 0xf3, 0x47, 0x40, 0x0, - 0x0, 0xcf, 0x58, 0xfa, 0x0, 0x0, 0xd, 0xf4, - 0x3f, 0xf3, 0x0, 0x5, 0xff, 0x20, 0xbf, 0xfa, - 0x7b, 0xff, 0x80, 0x0, 0x8e, 0xff, 0xfe, 0x70, - 0x0, 0x0, 0x9, 0xf5, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0x40, 0x0, 0x0, 0x0, 0x2, 0x41, 0x0, - 0x0, + 0x0, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x6, + 0xf3, 0x0, 0x0, 0x0, 0x4, 0xbf, 0xa3, 0x0, + 0x0, 0x1b, 0xff, 0xff, 0xf9, 0x0, 0x9, 0xfc, + 0x42, 0x6f, 0xf5, 0x1, 0xff, 0x10, 0x0, 0x6f, + 0xc0, 0x3f, 0xc0, 0x0, 0x1, 0xff, 0x2, 0xfe, + 0x0, 0x0, 0x8, 0x80, 0xe, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xfd, 0x60, 0x0, 0x0, 0x0, + 0x4e, 0xff, 0xf8, 0x10, 0x0, 0x0, 0x5, 0xbf, + 0xfd, 0x10, 0x0, 0x0, 0x0, 0x3d, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xf1, 0xcf, 0x30, 0x0, + 0x0, 0xdf, 0x2a, 0xf7, 0x0, 0x0, 0xf, 0xf1, + 0x4f, 0xf4, 0x0, 0x1a, 0xfc, 0x0, 0x9f, 0xfe, + 0xdf, 0xfe, 0x20, 0x0, 0x5b, 0xff, 0xc8, 0x10, + 0x0, 0x0, 0x8, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x8f, 0x0, 0x0, 0x0, /* U+25 "%" */ - 0x4, 0xbb, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xfb, 0x8e, 0xe1, 0x0, 0x0, 0x0, 0x0, 0xce, - 0x0, 0x2f, 0x70, 0x1, 0xd5, 0x0, 0xc, 0xc0, - 0x0, 0xf8, 0x0, 0xaf, 0x10, 0x0, 0xcc, 0x0, - 0xf, 0x80, 0x4f, 0x60, 0x0, 0xa, 0xf3, 0x7, - 0xf4, 0xe, 0xc0, 0x0, 0x0, 0x1d, 0xff, 0xf9, - 0x8, 0xf2, 0x0, 0x0, 0x0, 0x4, 0x53, 0x2, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xce, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x42, - 0xbf, 0xf9, 0x10, 0x0, 0x0, 0x1e, 0xa0, 0xdf, - 0x56, 0xfa, 0x0, 0x0, 0xa, 0xf1, 0x4f, 0x60, - 0x9, 0xf0, 0x0, 0x4, 0xf6, 0x4, 0xf4, 0x0, - 0x8f, 0x40, 0x0, 0xec, 0x0, 0x4f, 0x50, 0x8, - 0xf1, 0x0, 0x19, 0x20, 0x0, 0xec, 0x34, 0xdc, - 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, 0xfd, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, + 0x6, 0xef, 0xc3, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xf9, 0x5c, 0xe1, 0x0, 0x0, 0x0, 0x0, 0xcc, + 0x0, 0x1f, 0x60, 0x2, 0xf3, 0x0, 0xd, 0x90, + 0x0, 0xf8, 0x0, 0xcc, 0x0, 0x0, 0xcb, 0x0, + 0xf, 0x70, 0x6f, 0x20, 0x0, 0x8, 0xf5, 0x19, + 0xf2, 0x1f, 0x80, 0x0, 0x0, 0xa, 0xff, 0xf6, + 0xa, 0xd0, 0x0, 0x0, 0x0, 0x1, 0x30, 0x4, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xea, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8e, 0x11, + 0xbf, 0xfa, 0x10, 0x0, 0x0, 0x3f, 0x60, 0xce, + 0x56, 0xeb, 0x0, 0x0, 0xc, 0xc0, 0x2f, 0x50, + 0x7, 0xf0, 0x0, 0x7, 0xf2, 0x3, 0xf3, 0x0, + 0x5f, 0x20, 0x1, 0xf8, 0x0, 0x2f, 0x50, 0x7, + 0xf0, 0x0, 0x6, 0x0, 0x0, 0xce, 0x67, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xae, 0xe9, 0x0, /* U+26 "&" */ - 0x0, 0x2, 0x9b, 0xb9, 0x10, 0x0, 0x0, 0x0, - 0x3f, 0xfe, 0xef, 0xe1, 0x0, 0x0, 0x0, 0xbf, - 0xb0, 0x9, 0xfa, 0x0, 0x0, 0x0, 0xef, 0x40, - 0x4, 0xfc, 0x0, 0x0, 0x0, 0xef, 0x50, 0x6, - 0xfa, 0x0, 0x0, 0x0, 0xaf, 0xa0, 0x6e, 0xf2, - 0x0, 0x0, 0x0, 0x1f, 0xfb, 0xfd, 0x30, 0x0, - 0x0, 0x0, 0x9, 0xff, 0xb1, 0x0, 0x0, 0x0, - 0x0, 0x9f, 0xff, 0xe2, 0x0, 0x4, 0x30, 0x8, - 0xff, 0x3a, 0xfc, 0x10, 0xf, 0xc0, 0x2f, 0xf3, - 0x0, 0xdf, 0xa0, 0x4f, 0xb0, 0x4f, 0xd0, 0x0, - 0x1f, 0xf9, 0xaf, 0x60, 0x3f, 0xe0, 0x0, 0x3, - 0xff, 0xff, 0x10, 0xf, 0xf7, 0x0, 0x0, 0xaf, - 0xf6, 0x0, 0x5, 0xff, 0x97, 0x7c, 0xff, 0xfe, - 0x20, 0x0, 0x4d, 0xff, 0xff, 0xa2, 0xaf, 0xc1, - 0x0, 0x0, 0x3, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x19, 0xef, 0xc4, 0x0, 0x0, 0x0, 0xd, + 0xfd, 0xbf, 0xf5, 0x0, 0x0, 0x7, 0xfb, 0x0, + 0x2f, 0xd0, 0x0, 0x0, 0x9f, 0x60, 0x0, 0xef, + 0x0, 0x0, 0x8, 0xf7, 0x0, 0x3f, 0xb0, 0x0, + 0x0, 0x3f, 0xe1, 0x4e, 0xf3, 0x0, 0x0, 0x0, + 0x9f, 0xdf, 0xe3, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xe1, 0x0, 0x0, 0x0, 0x4, 0xff, 0xef, 0x60, + 0x0, 0x53, 0x3, 0xff, 0x53, 0xff, 0x40, 0x3f, + 0xa0, 0xbf, 0x70, 0x5, 0xfe, 0x25, 0xf8, 0xe, + 0xf1, 0x0, 0x8, 0xfd, 0xbf, 0x40, 0xdf, 0x30, + 0x0, 0xa, 0xff, 0xd0, 0x8, 0xfa, 0x0, 0x0, + 0x5f, 0xf9, 0x0, 0xc, 0xfd, 0x87, 0xbf, 0xff, + 0xf5, 0x0, 0x6, 0xcf, 0xfd, 0x92, 0x3f, 0xf3, /* U+27 "'" */ - 0x9b, 0x6c, 0xf8, 0xcf, 0x8c, 0xf3, 0xce, 0x9, - 0x70, + 0xeb, 0xeb, 0xea, 0xe9, 0xe8, 0x31, /* U+28 "(" */ - 0x0, 0x0, 0x4, 0x0, 0x0, 0xa, 0xf1, 0x0, - 0x8, 0xf6, 0x0, 0x4, 0xfa, 0x0, 0x0, 0xef, - 0x20, 0x0, 0x5f, 0x90, 0x0, 0xb, 0xf5, 0x0, - 0x1, 0xff, 0x0, 0x0, 0x4f, 0xc0, 0x0, 0x5, - 0xfc, 0x0, 0x0, 0x8f, 0xa0, 0x0, 0x8, 0xf8, - 0x0, 0x0, 0x8f, 0x80, 0x0, 0x7, 0xfc, 0x0, - 0x0, 0x4f, 0xc0, 0x0, 0x3, 0xfd, 0x0, 0x0, - 0xe, 0xf3, 0x0, 0x0, 0x7f, 0x70, 0x0, 0x1, - 0xfd, 0x0, 0x0, 0x8, 0xf6, 0x0, 0x0, 0xd, - 0xe2, 0x0, 0x0, 0x2f, 0xc1, 0x0, 0x0, 0x1c, - 0x0, + 0x0, 0x0, 0x18, 0x0, 0x0, 0x1d, 0xe0, 0x0, + 0xc, 0xe2, 0x0, 0x7, 0xf5, 0x0, 0x0, 0xfd, + 0x0, 0x0, 0x6f, 0x60, 0x0, 0xc, 0xf1, 0x0, + 0x0, 0xfd, 0x0, 0x0, 0x4f, 0xa0, 0x0, 0x6, + 0xf8, 0x0, 0x0, 0x7f, 0x70, 0x0, 0x8, 0xf6, + 0x0, 0x0, 0x8f, 0x70, 0x0, 0x6, 0xf8, 0x0, + 0x0, 0x5f, 0x90, 0x0, 0x1, 0xfc, 0x0, 0x0, + 0xd, 0xf0, 0x0, 0x0, 0x8f, 0x50, 0x0, 0x1, + 0xfb, 0x0, 0x0, 0x9, 0xf3, 0x0, 0x0, 0x1e, + 0xd0, 0x0, 0x0, 0x3f, 0xa0, 0x0, 0x0, 0x3c, + 0x0, 0x0, 0x0, 0x0, /* U+29 ")" */ - 0x40, 0x0, 0x0, 0xdc, 0x10, 0x0, 0x3f, 0xb0, - 0x0, 0x6, 0xf8, 0x0, 0x0, 0xef, 0x20, 0x0, - 0x6f, 0x90, 0x0, 0x1f, 0xd0, 0x0, 0xd, 0xf5, - 0x0, 0x8, 0xf8, 0x0, 0x8, 0xf9, 0x0, 0x6, - 0xfc, 0x0, 0x4, 0xfc, 0x0, 0x4, 0xfc, 0x0, - 0x8, 0xfa, 0x0, 0x8, 0xf8, 0x0, 0xa, 0xf7, - 0x0, 0xf, 0xf1, 0x0, 0x3f, 0xb0, 0x0, 0xaf, - 0x50, 0x2, 0xfc, 0x0, 0xb, 0xf2, 0x0, 0xaf, - 0x50, 0x0, 0xa3, 0x0, 0x0, + 0x45, 0x0, 0x0, 0x5, 0xf7, 0x0, 0x0, 0x8, + 0xf4, 0x0, 0x0, 0xd, 0xe0, 0x0, 0x0, 0x5f, + 0x70, 0x0, 0x0, 0xee, 0x0, 0x0, 0x9, 0xf4, + 0x0, 0x0, 0x5f, 0x80, 0x0, 0x2, 0xfc, 0x0, + 0x0, 0xf, 0xe0, 0x0, 0x0, 0xff, 0x0, 0x0, + 0xe, 0xf1, 0x0, 0x0, 0xff, 0x0, 0x0, 0xf, + 0xf0, 0x0, 0x1, 0xfd, 0x0, 0x0, 0x4f, 0x90, + 0x0, 0x8, 0xf5, 0x0, 0x0, 0xcf, 0x10, 0x0, + 0x2f, 0x90, 0x0, 0xa, 0xf2, 0x0, 0x4, 0xf7, + 0x0, 0x3, 0xfa, 0x0, 0x0, 0x69, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+2A "*" */ - 0x0, 0x8, 0x40, 0x0, 0x0, 0xf, 0x80, 0x0, - 0x86, 0x1f, 0x83, 0x82, 0xef, 0xff, 0xef, 0xf7, - 0x4, 0xdf, 0xf8, 0x30, 0x4, 0xfd, 0xf9, 0x0, - 0x1f, 0xf1, 0xbf, 0x50, 0x4, 0x50, 0x19, 0x0, + 0x0, 0x0, 0xf9, 0x0, 0x0, 0x0, 0x0, 0xf8, + 0x0, 0x0, 0x23, 0x0, 0xf8, 0x0, 0x30, 0x8f, + 0xd7, 0xfa, 0x9e, 0xe0, 0x38, 0xdf, 0xff, 0xfc, + 0x70, 0x0, 0xb, 0xff, 0x20, 0x0, 0x0, 0x6f, + 0x8f, 0xc0, 0x0, 0x2, 0xfc, 0x7, 0xf7, 0x0, + 0x3, 0xd2, 0x0, 0xc8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, /* U+2B "+" */ - 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xc, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, - 0x27, 0x77, 0x7d, 0xf9, 0x77, 0x74, 0x4f, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x28, 0x88, 0x8e, 0xfa, - 0x88, 0x84, 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xc, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x6, 0x82, 0x0, 0x0, + 0x0, 0x0, 0x6, 0x81, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xc, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xf3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xf3, 0x0, 0x0, 0x2e, 0xee, + 0xef, 0xfe, 0xee, 0xe8, 0x2f, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0x0, 0xc, 0xf3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xc, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xf3, 0x0, 0x0, /* U+2C "," */ - 0x33, 0x2c, 0xf8, 0xcf, 0x8c, 0xf3, 0xcd, 0x9, - 0x50, + 0xa, 0xf5, 0xa, 0xf4, 0xb, 0xf3, 0x1f, 0xd0, + 0x7f, 0x50, 0x5, 0x0, /* U+2D "-" */ - 0x16, 0x66, 0x66, 0x60, 0x3f, 0xff, 0xff, 0xf1, - 0x3, 0x33, 0x33, 0x30, + 0x6a, 0xaa, 0xa6, 0x9f, 0xff, 0xfa, /* U+2E "." */ - 0x2, 0x24, 0xfd, 0x4f, 0xd0, + 0x5, 0x20, 0x5f, 0xe0, 0x3e, 0xb0, /* U+2F "/" */ - 0x0, 0x0, 0x0, 0x5b, 0x50, 0x0, 0x0, 0xc, - 0xf1, 0x0, 0x0, 0x2, 0xfb, 0x0, 0x0, 0x0, - 0x8f, 0x50, 0x0, 0x0, 0xe, 0xe0, 0x0, 0x0, - 0x5, 0xf9, 0x0, 0x0, 0x0, 0xaf, 0x20, 0x0, - 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x7, 0xf6, 0x0, - 0x0, 0x0, 0xdf, 0x10, 0x0, 0x0, 0x3f, 0xa0, - 0x0, 0x0, 0xa, 0xf3, 0x0, 0x0, 0x0, 0xfe, - 0x0, 0x0, 0x0, 0x6f, 0x70, 0x0, 0x0, 0xc, - 0xf1, 0x0, 0x0, 0x2, 0xfb, 0x0, 0x0, 0x0, - 0x8f, 0x50, 0x0, 0x0, 0x3, 0x40, 0x0, 0x0, - 0x0, + 0x0, 0x0, 0x0, 0x7f, 0x30, 0x0, 0x0, 0xd, + 0xd0, 0x0, 0x0, 0x3, 0xf7, 0x0, 0x0, 0x0, + 0xaf, 0x10, 0x0, 0x0, 0xf, 0xb0, 0x0, 0x0, + 0x6, 0xf5, 0x0, 0x0, 0x0, 0xce, 0x0, 0x0, + 0x0, 0x2f, 0x80, 0x0, 0x0, 0x8, 0xf2, 0x0, + 0x0, 0x0, 0xec, 0x0, 0x0, 0x0, 0x5f, 0x60, + 0x0, 0x0, 0xb, 0xf0, 0x0, 0x0, 0x1, 0xfa, + 0x0, 0x0, 0x0, 0x7f, 0x30, 0x0, 0x0, 0xd, + 0xd0, 0x0, 0x0, 0x3, 0xf7, 0x0, 0x0, 0x0, + 0x9f, 0x10, 0x0, 0x0, 0x0, /* U+30 "0" */ - 0x0, 0x17, 0xbb, 0x94, 0x0, 0x0, 0x3e, 0xff, - 0xef, 0xf8, 0x0, 0xe, 0xf6, 0x0, 0x3f, 0xf4, - 0x6, 0xfc, 0x0, 0x0, 0x6f, 0xb0, 0x9f, 0x80, - 0x0, 0x0, 0xff, 0xc, 0xf4, 0x0, 0x0, 0xf, - 0xf2, 0xcf, 0x40, 0x0, 0x0, 0xff, 0x4c, 0xf4, - 0x0, 0x0, 0xf, 0xf4, 0xcf, 0x40, 0x0, 0x0, - 0xff, 0x4c, 0xf4, 0x0, 0x0, 0xf, 0xf4, 0xcf, - 0x40, 0x0, 0x0, 0xff, 0x3a, 0xf7, 0x0, 0x0, - 0xf, 0xf0, 0x8f, 0x90, 0x0, 0x2, 0xfe, 0x2, - 0xfe, 0x30, 0x0, 0xbf, 0x80, 0x8, 0xfe, 0x87, - 0xbf, 0xd0, 0x0, 0x5, 0xef, 0xff, 0x91, 0x0, - 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, + 0x0, 0x4c, 0xff, 0xd7, 0x0, 0x0, 0x6f, 0xfc, + 0xbe, 0xfb, 0x0, 0x1f, 0xf3, 0x0, 0xc, 0xf5, + 0x6, 0xfa, 0x0, 0x0, 0x4f, 0xb0, 0x9f, 0x50, + 0x0, 0x0, 0xfe, 0xb, 0xf4, 0x0, 0x0, 0xe, + 0xf0, 0xcf, 0x30, 0x0, 0x0, 0xef, 0x1c, 0xf3, + 0x0, 0x0, 0xe, 0xf1, 0xcf, 0x30, 0x0, 0x0, + 0xef, 0x1b, 0xf3, 0x0, 0x0, 0xe, 0xf1, 0xbf, + 0x40, 0x0, 0x0, 0xef, 0x9, 0xf6, 0x0, 0x0, + 0xf, 0xe0, 0x5f, 0xa0, 0x0, 0x4, 0xfb, 0x0, + 0xff, 0x40, 0x0, 0xdf, 0x50, 0x5, 0xff, 0xba, + 0xef, 0xb0, 0x0, 0x4, 0xbf, 0xfd, 0x80, 0x0, /* U+31 "1" */ - 0x47, 0x79, 0xb9, 0xff, 0xff, 0xfc, 0x44, 0x4a, - 0xfc, 0x0, 0x8, 0xfc, 0x0, 0x8, 0xfc, 0x0, - 0x8, 0xfc, 0x0, 0x8, 0xfc, 0x0, 0x8, 0xfc, - 0x0, 0x8, 0xfc, 0x0, 0x8, 0xfc, 0x0, 0x8, - 0xfc, 0x0, 0x8, 0xfc, 0x0, 0x8, 0xfc, 0x0, - 0x8, 0xfc, 0x0, 0x8, 0xfc, 0x0, 0x8, 0xfc, + 0x0, 0x0, 0x39, 0xc0, 0x17, 0xdf, 0xfd, 0x2f, + 0xff, 0xbf, 0xd2, 0xc6, 0x2, 0xfd, 0x0, 0x0, + 0x2f, 0xd0, 0x0, 0x2, 0xfd, 0x0, 0x0, 0x2f, + 0xd0, 0x0, 0x2, 0xfd, 0x0, 0x0, 0x2f, 0xd0, + 0x0, 0x2, 0xfd, 0x0, 0x0, 0x2f, 0xd0, 0x0, + 0x2, 0xfd, 0x0, 0x0, 0x2f, 0xd0, 0x0, 0x2, + 0xfd, 0x0, 0x0, 0x2f, 0xd0, 0x0, 0x2, 0xfd, /* U+32 "2" */ - 0x0, 0x17, 0xbb, 0xb5, 0x0, 0x0, 0x3e, 0xff, - 0xdf, 0xfc, 0x0, 0x1d, 0xf9, 0x0, 0x2e, 0xf7, - 0x5, 0xfd, 0x0, 0x0, 0x6f, 0xc0, 0x6c, 0x70, - 0x0, 0x4, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x7f, - 0xb0, 0x0, 0x0, 0x0, 0x1d, 0xf4, 0x0, 0x0, - 0x0, 0x9, 0xfb, 0x0, 0x0, 0x0, 0x6, 0xff, - 0x10, 0x0, 0x0, 0x3, 0xef, 0x40, 0x0, 0x0, - 0x1, 0xef, 0x60, 0x0, 0x0, 0x1, 0xcf, 0xa0, - 0x0, 0x0, 0x0, 0xaf, 0xb0, 0x0, 0x0, 0x0, - 0x8f, 0xd1, 0x0, 0x0, 0x0, 0x5f, 0xfc, 0xbb, - 0xbb, 0xbb, 0x38, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0x0, 0x6c, 0xff, 0xd8, 0x0, 0x0, 0xbf, 0xfc, + 0xbf, 0xfc, 0x0, 0x6f, 0xd1, 0x0, 0x1d, 0xf7, + 0xc, 0xf4, 0x0, 0x0, 0x5f, 0xb0, 0xdd, 0x0, + 0x0, 0x3, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0x90, 0x0, 0x0, 0x0, 0xc, 0xf3, 0x0, 0x0, + 0x0, 0x7, 0xfa, 0x0, 0x0, 0x0, 0x5, 0xfd, + 0x10, 0x0, 0x0, 0x3, 0xfe, 0x20, 0x0, 0x0, + 0x2, 0xef, 0x30, 0x0, 0x0, 0x1, 0xef, 0x50, + 0x0, 0x0, 0x0, 0xcf, 0x60, 0x0, 0x0, 0x0, + 0xbf, 0x70, 0x0, 0x0, 0x0, 0x9f, 0xfa, 0xaa, + 0xaa, 0xaa, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xf8, /* U+33 "3" */ - 0x0, 0x28, 0xbb, 0xb5, 0x0, 0x0, 0x6e, 0xff, - 0xdf, 0xfc, 0x0, 0x2e, 0xf7, 0x0, 0x2e, 0xf8, - 0x7, 0xfa, 0x0, 0x0, 0x5f, 0xc0, 0x48, 0x40, - 0x0, 0x4, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x5f, - 0xb0, 0x0, 0x0, 0x0, 0x2d, 0xf5, 0x0, 0x0, - 0x8f, 0xff, 0xf6, 0x0, 0x0, 0x6, 0xcc, 0xff, - 0xa1, 0x0, 0x0, 0x0, 0x1, 0xbf, 0x90, 0x0, - 0x0, 0x0, 0x2, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xf, 0xf1, 0x9f, 0x80, 0x0, 0x1, 0xff, 0x7, - 0xfd, 0x10, 0x0, 0x8f, 0xc0, 0xb, 0xfe, 0x77, - 0xaf, 0xf3, 0x0, 0x8, 0xff, 0xff, 0xc3, 0x0, - 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, + 0x0, 0x6c, 0xff, 0xc7, 0x0, 0xb, 0xff, 0xbb, + 0xff, 0xb0, 0x6f, 0xc1, 0x0, 0x1d, 0xf5, 0xbf, + 0x40, 0x0, 0x6, 0xf9, 0x34, 0x0, 0x0, 0x5, + 0xfa, 0x0, 0x0, 0x0, 0x9, 0xf7, 0x0, 0x0, + 0x1, 0x8f, 0xd0, 0x0, 0xd, 0xff, 0xfb, 0x10, + 0x0, 0x8, 0xac, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x1d, 0xf6, 0x0, 0x0, 0x0, 0x4, 0xfc, 0x55, + 0x0, 0x0, 0x1, 0xfe, 0xef, 0x20, 0x0, 0x3, + 0xfc, 0x9f, 0xb0, 0x0, 0x1c, 0xf7, 0x1d, 0xfe, + 0xbb, 0xef, 0xb0, 0x0, 0x7d, 0xff, 0xc7, 0x0, /* U+34 "4" */ - 0x0, 0x0, 0x0, 0xa, 0xb6, 0x0, 0x0, 0x0, - 0x0, 0x5f, 0xf8, 0x0, 0x0, 0x0, 0x1, 0xdf, - 0xf8, 0x0, 0x0, 0x0, 0x8, 0xfe, 0xf8, 0x0, - 0x0, 0x0, 0x3f, 0xe8, 0xf8, 0x0, 0x0, 0x0, - 0xcf, 0x48, 0xf8, 0x0, 0x0, 0x6, 0xfa, 0x8, - 0xf8, 0x0, 0x0, 0x1e, 0xf1, 0x8, 0xf8, 0x0, - 0x0, 0x9f, 0x70, 0x8, 0xf8, 0x0, 0x3, 0xfd, - 0x0, 0x8, 0xf8, 0x0, 0xc, 0xf6, 0x33, 0x39, - 0xf9, 0x33, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x28, 0x88, 0x88, 0x8c, 0xfc, 0x86, 0x0, 0x0, - 0x0, 0x8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xfb, 0x0, 0x0, 0x0, 0x0, 0xef, + 0xfb, 0x0, 0x0, 0x0, 0x9, 0xfa, 0xfb, 0x0, + 0x0, 0x0, 0x3f, 0xb5, 0xfb, 0x0, 0x0, 0x0, + 0xcf, 0x25, 0xfb, 0x0, 0x0, 0x6, 0xf8, 0x5, + 0xfb, 0x0, 0x0, 0x1e, 0xe0, 0x5, 0xfb, 0x0, + 0x0, 0xaf, 0x50, 0x5, 0xfb, 0x0, 0x3, 0xfb, + 0x0, 0x5, 0xfb, 0x0, 0xd, 0xf2, 0x0, 0x5, + 0xfb, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x4a, 0xaa, 0xaa, 0xac, 0xfe, 0xa9, 0x0, 0x0, + 0x0, 0x5, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0x5, 0xfb, 0x0, /* U+35 "5" */ - 0x3, 0xbb, 0xbb, 0xbb, 0xb6, 0x0, 0x5f, 0xff, - 0xff, 0xff, 0x80, 0x8, 0xfa, 0x44, 0x44, 0x42, - 0x0, 0x8f, 0x80, 0x0, 0x0, 0x0, 0xb, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0x40, 0x10, 0x0, - 0x0, 0xd, 0xf9, 0xef, 0xfa, 0x30, 0x0, 0xff, - 0xfc, 0xcf, 0xfe, 0x20, 0xf, 0xf3, 0x0, 0x1d, - 0xfa, 0x0, 0x23, 0x0, 0x0, 0x4f, 0xf0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x20, 0x0, 0x0, 0x0, - 0xf, 0xf2, 0x4f, 0xc0, 0x0, 0x2, 0xff, 0x1, - 0xff, 0x20, 0x0, 0xbf, 0xb0, 0x8, 0xfe, 0x87, - 0xbf, 0xf2, 0x0, 0x7, 0xff, 0xff, 0xc2, 0x0, - 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x2f, 0xfd, + 0xdd, 0xdd, 0xd0, 0x3, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0x70, 0x0, 0x0, 0x0, 0x7, 0xf6, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0x79, 0xbb, 0x71, + 0x0, 0xa, 0xff, 0xff, 0xff, 0xe2, 0x0, 0x9f, + 0x81, 0x3, 0xdf, 0xc0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0x20, 0x0, 0x0, 0x0, 0xa, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x8f, 0x72, 0x74, 0x0, 0x0, + 0x9, 0xf6, 0x2f, 0xc0, 0x0, 0x0, 0xdf, 0x30, + 0xcf, 0x70, 0x0, 0x8f, 0xd0, 0x2, 0xef, 0xda, + 0xdf, 0xf3, 0x0, 0x2, 0x9e, 0xfe, 0xa2, 0x0, /* U+36 "6" */ - 0x0, 0x3, 0x8b, 0xbb, 0x61, 0x0, 0x7, 0xff, - 0xec, 0xff, 0x0, 0x4, 0xff, 0x30, 0x0, 0x30, - 0x0, 0xef, 0x40, 0x0, 0x0, 0x0, 0x4f, 0xd0, - 0x0, 0x0, 0x0, 0x6, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x8f, 0x84, 0xae, 0xda, 0x30, 0x8, 0xfc, - 0xfc, 0xcd, 0xff, 0x50, 0x8f, 0xf3, 0x0, 0xa, - 0xfd, 0x8, 0xf8, 0x0, 0x0, 0x1e, 0xf4, 0x8f, - 0x90, 0x0, 0x0, 0xcf, 0x65, 0xfc, 0x0, 0x0, - 0xc, 0xf5, 0x3f, 0xe1, 0x0, 0x0, 0xef, 0x40, - 0xbf, 0x90, 0x0, 0x7f, 0xe0, 0x2, 0xff, 0xb7, - 0x9f, 0xf4, 0x0, 0x1, 0xbf, 0xff, 0xe4, 0x0, - 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5b, 0xef, 0x10, 0x0, 0x1, 0xcf, + 0xfd, 0xb1, 0x0, 0x0, 0xcf, 0xb2, 0x0, 0x0, + 0x0, 0x6f, 0xa0, 0x0, 0x0, 0x0, 0xe, 0xf1, + 0x0, 0x0, 0x0, 0x2, 0xfb, 0x17, 0xa9, 0x50, + 0x0, 0x6f, 0xcf, 0xff, 0xff, 0xb0, 0x8, 0xff, + 0xb3, 0x3, 0xef, 0x80, 0x9f, 0xc0, 0x0, 0x3, + 0xfe, 0x9, 0xf6, 0x0, 0x0, 0xd, 0xf3, 0x8f, + 0x70, 0x0, 0x0, 0xbf, 0x46, 0xf9, 0x0, 0x0, + 0xc, 0xf3, 0x2f, 0xe0, 0x0, 0x1, 0xff, 0x0, + 0xaf, 0x90, 0x0, 0xaf, 0xa0, 0x1, 0xdf, 0xeb, + 0xef, 0xd1, 0x0, 0x1, 0x9e, 0xfe, 0x81, 0x0, /* U+37 "7" */ - 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0x6f, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x1, 0xef, - 0x20, 0x0, 0x0, 0x0, 0xcf, 0x50, 0x0, 0x0, - 0x0, 0x8f, 0x90, 0x0, 0x0, 0x0, 0x2f, 0xe0, - 0x0, 0x0, 0x0, 0xb, 0xf6, 0x0, 0x0, 0x0, - 0x4, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xaf, 0x60, - 0x0, 0x0, 0x0, 0xf, 0xf1, 0x0, 0x0, 0x0, - 0x5, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x90, - 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0xcf, 0x80, 0x0, 0x0, 0x0, 0xc, 0xf8, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0x80, 0x0, 0x0, + 0x2f, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x1a, 0xaa, + 0xaa, 0xaa, 0xae, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x50, + 0x0, 0x0, 0x0, 0x0, 0xee, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xd, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x90, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0x20, 0x0, 0x0, 0x0, + 0x3, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xa, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x9f, 0x70, 0x0, 0x0, 0x0, 0x1, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0xe, 0xf2, 0x0, 0x0, 0x0, /* U+38 "8" */ - 0x0, 0x29, 0xbb, 0xa5, 0x0, 0x0, 0x6f, 0xff, - 0xdf, 0xfb, 0x0, 0x2e, 0xf8, 0x0, 0x3f, 0xf7, - 0x5, 0xfd, 0x0, 0x0, 0x7f, 0xb0, 0x8f, 0xc0, - 0x0, 0x4, 0xfc, 0x3, 0xfd, 0x0, 0x0, 0x9f, - 0xa0, 0xc, 0xf9, 0x10, 0x5e, 0xf2, 0x0, 0x18, - 0xff, 0xff, 0xd3, 0x0, 0x3, 0xcf, 0xec, 0xfe, - 0x70, 0x3, 0xef, 0x40, 0x1, 0xcf, 0x80, 0xbf, - 0x80, 0x0, 0x1, 0xff, 0x1d, 0xf4, 0x0, 0x0, - 0xe, 0xf4, 0xcf, 0x60, 0x0, 0x0, 0xff, 0x28, - 0xfc, 0x10, 0x0, 0x8f, 0xf0, 0x1d, 0xfe, 0x77, - 0xaf, 0xf4, 0x0, 0x18, 0xff, 0xff, 0xc4, 0x0, - 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, + 0x0, 0x4b, 0xff, 0xd7, 0x0, 0x0, 0x7f, 0xfc, + 0xbf, 0xfc, 0x0, 0x1f, 0xf4, 0x0, 0x1d, 0xf6, + 0x5, 0xfb, 0x0, 0x0, 0x5f, 0xb0, 0x6f, 0x90, + 0x0, 0x4, 0xfb, 0x3, 0xfd, 0x0, 0x0, 0x7f, + 0x80, 0xb, 0xf9, 0x10, 0x5f, 0xe1, 0x0, 0xa, + 0xff, 0xff, 0xd2, 0x0, 0x4, 0xef, 0xcb, 0xef, + 0x80, 0x2, 0xfe, 0x20, 0x0, 0xbf, 0x70, 0x9f, + 0x60, 0x0, 0x1, 0xff, 0xc, 0xf3, 0x0, 0x0, + 0xe, 0xf1, 0xbf, 0x50, 0x0, 0x0, 0xff, 0x6, + 0xfd, 0x10, 0x0, 0x9f, 0xb0, 0xb, 0xff, 0xbb, + 0xef, 0xe2, 0x0, 0x6, 0xcf, 0xfd, 0x81, 0x0, /* U+39 "9" */ - 0x0, 0x39, 0xbb, 0x72, 0x0, 0x6, 0xff, 0xef, - 0xfe, 0x60, 0x3f, 0xf5, 0x0, 0x6f, 0xe1, 0xbf, - 0x80, 0x0, 0xa, 0xf9, 0xdf, 0x40, 0x0, 0x5, - 0xfc, 0xff, 0x20, 0x0, 0x4, 0xfd, 0xef, 0x40, - 0x0, 0x4, 0xff, 0xbf, 0x80, 0x0, 0x6, 0xff, - 0x4f, 0xe6, 0x0, 0x6e, 0xff, 0x7, 0xff, 0xff, - 0xfd, 0xff, 0x0, 0x38, 0xcb, 0x54, 0xff, 0x0, - 0x0, 0x0, 0x5, 0xfc, 0x0, 0x0, 0x0, 0xa, - 0xf9, 0x0, 0x0, 0x0, 0x4f, 0xf3, 0xb, 0x97, - 0x79, 0xff, 0x70, 0xa, 0xff, 0xff, 0xe4, 0x0, - 0x0, 0x3, 0x40, 0x0, 0x0, + 0x0, 0x5c, 0xfe, 0xb3, 0x0, 0x9, 0xff, 0xbc, + 0xff, 0x50, 0x4f, 0xe2, 0x0, 0x5f, 0xf1, 0xaf, + 0x60, 0x0, 0x9, 0xf7, 0xdf, 0x20, 0x0, 0x4, + 0xfb, 0xef, 0x10, 0x0, 0x1, 0xfd, 0xcf, 0x30, + 0x0, 0x1, 0xfe, 0x9f, 0x80, 0x0, 0x7, 0xfe, + 0x2f, 0xf7, 0x1, 0x8f, 0xfd, 0x6, 0xff, 0xff, + 0xf9, 0xfb, 0x0, 0x28, 0xa8, 0x24, 0xf8, 0x0, + 0x0, 0x0, 0x9, 0xf4, 0x0, 0x0, 0x0, 0x2f, + 0xd0, 0x0, 0x0, 0x5, 0xef, 0x50, 0x0, 0x8c, + 0xff, 0xf6, 0x0, 0x0, 0xbe, 0xc8, 0x20, 0x0, /* U+3A ":" */ - 0x13, 0x34, 0xfc, 0x4f, 0xc0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x33, 0x4f, - 0xc4, 0xfc, + 0x4f, 0x97, 0xfd, 0x5, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x52, 0x7f, + 0xd4, 0xf9, /* U+3B ";" */ - 0x13, 0x30, 0x4f, 0xc0, 0x4f, 0xc0, 0x0, 0x0, + 0x8, 0xf5, 0xb, 0xf9, 0x1, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3, 0x32, 0xc, 0xf8, 0xc, 0xf8, - 0xc, 0xf3, 0xc, 0xd0, 0x9, 0x50, + 0x0, 0x0, 0x4, 0x94, 0x8, 0xf7, 0x8, 0xf6, + 0xb, 0xf2, 0x3f, 0xb0, 0x3b, 0x10, /* U+3C "<" */ - 0x0, 0x0, 0x0, 0x0, 0x66, 0x0, 0x0, 0x1, - 0x7e, 0xf8, 0x0, 0x2, 0x8e, 0xff, 0xb3, 0x2, - 0x9f, 0xff, 0x92, 0x0, 0x4f, 0xfc, 0x60, 0x0, - 0x0, 0x3f, 0xfb, 0x50, 0x0, 0x0, 0x2, 0xaf, - 0xfe, 0x82, 0x0, 0x0, 0x1, 0x8f, 0xff, 0xb4, - 0x0, 0x0, 0x1, 0x7e, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x77, 0x0, 0x0, 0x1, + 0x8e, 0xf9, 0x0, 0x2, 0x9f, 0xff, 0xa2, 0x2, + 0xaf, 0xfd, 0x71, 0x0, 0x3f, 0xfb, 0x40, 0x0, + 0x0, 0x2f, 0xfb, 0x50, 0x0, 0x0, 0x1, 0x8f, + 0xfe, 0x81, 0x0, 0x0, 0x1, 0x8e, 0xff, 0xa3, + 0x0, 0x0, 0x0, 0x7e, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x66, /* U+3D "=" */ - 0x27, 0x77, 0x77, 0x77, 0x74, 0x4f, 0xff, 0xff, - 0xff, 0xf8, 0x14, 0x44, 0x44, 0x44, 0x42, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x13, 0x33, 0x33, 0x33, - 0x32, 0x4f, 0xff, 0xff, 0xff, 0xf8, 0x3c, 0xcc, - 0xcc, 0xcc, 0xc6, + 0x5f, 0xff, 0xff, 0xff, 0xf9, 0x4c, 0xcc, 0xcc, + 0xcc, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4b, 0xbb, 0xbb, 0xbb, + 0xb6, 0x5f, 0xff, 0xff, 0xff, 0xf9, /* U+3E ">" */ - 0x44, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xb5, 0x0, - 0x0, 0x0, 0x4e, 0xff, 0xd6, 0x10, 0x0, 0x0, - 0x3a, 0xff, 0xe8, 0x20, 0x0, 0x0, 0x16, 0xdf, - 0xf8, 0x0, 0x0, 0x1, 0x6c, 0xfc, 0x0, 0x4, - 0x9f, 0xff, 0x81, 0x16, 0xdf, 0xfe, 0x60, 0x0, - 0x8f, 0xfc, 0x40, 0x0, 0x0, 0x8a, 0x20, 0x0, + 0x77, 0x10, 0x0, 0x0, 0x0, 0x9f, 0xf9, 0x20, + 0x0, 0x0, 0x18, 0xef, 0xfb, 0x30, 0x0, 0x0, + 0x5, 0xbf, 0xfc, 0x50, 0x0, 0x0, 0x1, 0x8e, + 0xf9, 0x0, 0x0, 0x4, 0xaf, 0xf8, 0x0, 0x17, + 0xdf, 0xfa, 0x30, 0x2a, 0xff, 0xf9, 0x20, 0x0, + 0x9f, 0xe7, 0x10, 0x0, 0x0, 0x66, 0x0, 0x0, 0x0, 0x0, /* U+3F "?" */ - 0x0, 0x29, 0xbb, 0xa4, 0x0, 0x6, 0xff, 0xff, - 0xff, 0x80, 0x1e, 0xf7, 0x0, 0x6f, 0xf3, 0x4f, - 0xc0, 0x0, 0xc, 0xf6, 0x0, 0x0, 0x0, 0xa, - 0xf8, 0x0, 0x0, 0x0, 0xe, 0xf5, 0x0, 0x0, - 0x0, 0x8f, 0xe0, 0x0, 0x0, 0x5, 0xff, 0x30, - 0x0, 0x0, 0x3e, 0xf6, 0x0, 0x0, 0x0, 0xff, - 0x70, 0x0, 0x0, 0x2, 0xff, 0x0, 0x0, 0x0, - 0x2, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x33, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, + 0x0, 0x3b, 0xef, 0xd8, 0x0, 0x4, 0xff, 0xed, + 0xff, 0xb0, 0xe, 0xf6, 0x0, 0x2e, 0xf3, 0x2e, + 0xc0, 0x0, 0x9, 0xf7, 0x0, 0x0, 0x0, 0x8, + 0xf7, 0x0, 0x0, 0x0, 0xd, 0xf3, 0x0, 0x0, + 0x0, 0x8f, 0xb0, 0x0, 0x0, 0x7, 0xfe, 0x10, + 0x0, 0x0, 0x5f, 0xe2, 0x0, 0x0, 0x0, 0xdf, + 0x40, 0x0, 0x0, 0x1, 0xff, 0x0, 0x0, 0x0, + 0x1, 0x76, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x2, + 0xff, 0x0, 0x0, 0x0, 0x1, 0xed, 0x0, 0x0, /* U+40 "@" */ - 0x0, 0x0, 0x0, 0x0, 0x43, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x8, 0xcf, 0xff, 0xff, 0xb5, - 0x0, 0x0, 0x0, 0x1, 0xbf, 0x95, 0x10, 0x25, - 0x9f, 0x80, 0x0, 0x0, 0x2e, 0xf3, 0x0, 0x0, - 0x0, 0x5, 0xfa, 0x0, 0x0, 0xcf, 0x10, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0x40, 0x4, 0xf6, 0x0, - 0x2, 0x57, 0x72, 0x0, 0xc, 0xb0, 0xe, 0xe0, - 0x0, 0x3e, 0xfe, 0xef, 0x70, 0x5, 0xf3, 0x3f, - 0x70, 0x0, 0xef, 0x30, 0x1f, 0x80, 0x0, 0xf4, - 0x5f, 0x40, 0x6, 0xf7, 0x0, 0x4f, 0x80, 0x0, - 0xf7, 0x8f, 0x0, 0xc, 0xf1, 0x0, 0x4f, 0x60, - 0x0, 0xf8, 0xce, 0x0, 0xf, 0xf0, 0x0, 0x5f, - 0x40, 0x0, 0xc8, 0xcd, 0x0, 0x3f, 0xc0, 0x0, - 0x8f, 0x40, 0x0, 0xf8, 0xaf, 0x0, 0x4f, 0xc0, - 0x0, 0x8f, 0x20, 0x2, 0xf4, 0x8f, 0x0, 0x2f, - 0xd0, 0x0, 0xbf, 0x0, 0xa, 0xe0, 0x8f, 0x20, - 0xd, 0xf9, 0x6a, 0xdf, 0x72, 0x7f, 0x50, 0x2f, - 0xa0, 0x3, 0xff, 0xf9, 0x1d, 0xff, 0xe4, 0x0, - 0xa, 0xf2, 0x0, 0x4, 0x10, 0x0, 0x31, 0x0, - 0x0, 0x2, 0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xc3, 0x0, 0x0, 0x0, - 0x10, 0x0, 0x0, 0x0, 0x3, 0xdf, 0xc9, 0x77, - 0x9e, 0x70, 0x0, 0x0, 0x0, 0x0, 0x14, 0x8b, - 0xcc, 0xb6, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x7c, 0xef, 0xec, 0x71, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0xfb, 0x87, 0x8b, 0xfe, + 0x50, 0x0, 0x0, 0x8, 0xf9, 0x10, 0x0, 0x0, + 0x19, 0xf6, 0x0, 0x0, 0x6f, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0x20, 0x2, 0xfa, 0x0, 0x0, + 0x1, 0x0, 0x0, 0xc, 0xa0, 0x9, 0xf1, 0x0, + 0x5, 0xdf, 0xfa, 0x10, 0x5, 0xf1, 0xf, 0x90, + 0x0, 0x5f, 0xb5, 0x6f, 0x90, 0x0, 0xf4, 0x4f, + 0x40, 0x1, 0xfb, 0x0, 0x1f, 0x80, 0x0, 0xe7, + 0x8f, 0x0, 0x7, 0xf3, 0x0, 0x2f, 0x60, 0x0, + 0xc9, 0xae, 0x0, 0xc, 0xe0, 0x0, 0x3f, 0x50, + 0x0, 0xc9, 0xbd, 0x0, 0xf, 0xb0, 0x0, 0x5f, + 0x30, 0x0, 0xc9, 0xbc, 0x0, 0x1f, 0x90, 0x0, + 0x6f, 0x20, 0x0, 0xe7, 0xbd, 0x0, 0x1f, 0xa0, + 0x0, 0xaf, 0x10, 0x2, 0xf4, 0x9f, 0x0, 0xf, + 0xe0, 0x3, 0xff, 0x20, 0xa, 0xd0, 0x6f, 0x20, + 0x9, 0xfd, 0xaf, 0x9f, 0xb5, 0x9f, 0x40, 0x2f, + 0x70, 0x0, 0xaf, 0xd6, 0x6, 0xef, 0xc4, 0x0, + 0xb, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xb1, 0x0, 0x0, 0x0, + 0x10, 0x0, 0x0, 0x0, 0x6, 0xef, 0xb7, 0x67, + 0xae, 0x60, 0x0, 0x0, 0x0, 0x0, 0x17, 0xce, + 0xff, 0xc7, 0x10, 0x0, 0x0, /* U+41 "A" */ - 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x5, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, - 0xa, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x1f, - 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xaa, - 0xf6, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x55, 0xfb, - 0x0, 0x0, 0x0, 0x2, 0xfe, 0x0, 0xff, 0x20, - 0x0, 0x0, 0x7, 0xf9, 0x0, 0xaf, 0x70, 0x0, - 0x0, 0xd, 0xf3, 0x0, 0x5f, 0xc0, 0x0, 0x0, - 0x3f, 0xe0, 0x0, 0xf, 0xf2, 0x0, 0x0, 0x9f, - 0xeb, 0xbb, 0xbe, 0xf8, 0x0, 0x0, 0xef, 0xff, - 0xff, 0xff, 0xfd, 0x0, 0x5, 0xfd, 0x0, 0x0, - 0x0, 0xef, 0x30, 0xa, 0xf7, 0x0, 0x0, 0x0, - 0x9f, 0x90, 0x1e, 0xf2, 0x0, 0x0, 0x0, 0x3f, - 0xd0, 0x6f, 0xd0, 0x0, 0x0, 0x0, 0xe, 0xf5, + 0x0, 0x0, 0x0, 0xef, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xa, 0xfe, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xfd, 0x7f, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x6f, 0x72, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xc, + 0xf2, 0xc, 0xf2, 0x0, 0x0, 0x0, 0x2, 0xfc, + 0x0, 0x6f, 0x80, 0x0, 0x0, 0x0, 0x8f, 0x60, + 0x1, 0xfe, 0x0, 0x0, 0x0, 0xe, 0xf1, 0x0, + 0xb, 0xf4, 0x0, 0x0, 0x4, 0xfb, 0x0, 0x0, + 0x5f, 0xa0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0x0, 0x0, 0xf, 0xfb, 0xbb, 0xbb, 0xbd, + 0xf6, 0x0, 0x6, 0xfa, 0x0, 0x0, 0x0, 0x4f, + 0xc0, 0x0, 0xcf, 0x40, 0x0, 0x0, 0x0, 0xef, + 0x20, 0x2f, 0xe0, 0x0, 0x0, 0x0, 0x9, 0xf8, + 0x8, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xd0, /* U+42 "B" */ - 0x3b, 0xbb, 0xbb, 0x77, 0x20, 0x0, 0x4f, 0xff, - 0xff, 0xff, 0xf8, 0x0, 0x4f, 0xf0, 0x0, 0x16, - 0xff, 0x90, 0x4f, 0xf0, 0x0, 0x0, 0x5f, 0xd0, - 0x4f, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x4f, 0xf0, - 0x0, 0x0, 0x5f, 0xf0, 0x4f, 0xf0, 0x0, 0x4, - 0xcf, 0x50, 0x4f, 0xff, 0xff, 0xff, 0xe6, 0x0, - 0x4f, 0xfc, 0xcc, 0xcc, 0xff, 0x91, 0x4f, 0xf0, - 0x0, 0x0, 0x2d, 0xf8, 0x4f, 0xf0, 0x0, 0x0, - 0x5, 0xff, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0xff, - 0x4f, 0xf0, 0x0, 0x0, 0x3, 0xff, 0x4f, 0xf0, - 0x0, 0x0, 0x1a, 0xfb, 0x4f, 0xfb, 0xbb, 0xbb, - 0xef, 0xf1, 0x4f, 0xff, 0xff, 0xff, 0xc8, 0x10, + 0x3f, 0xff, 0xff, 0xfd, 0x91, 0x0, 0x3f, 0xfb, + 0xbb, 0xcf, 0xfe, 0x20, 0x3f, 0xe0, 0x0, 0x0, + 0xbf, 0xb0, 0x3f, 0xe0, 0x0, 0x0, 0x2f, 0xf0, + 0x3f, 0xe0, 0x0, 0x0, 0x1f, 0xf0, 0x3f, 0xe0, + 0x0, 0x0, 0x5f, 0xd0, 0x3f, 0xe0, 0x0, 0x15, + 0xef, 0x40, 0x3f, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x3f, 0xfb, 0xbb, 0xbd, 0xfd, 0x20, 0x3f, 0xe0, + 0x0, 0x0, 0x6f, 0xe0, 0x3f, 0xe0, 0x0, 0x0, + 0xc, 0xf4, 0x3f, 0xe0, 0x0, 0x0, 0xa, 0xf7, + 0x3f, 0xe0, 0x0, 0x0, 0xd, 0xf5, 0x3f, 0xe0, + 0x0, 0x0, 0x8f, 0xf1, 0x3f, 0xfb, 0xbb, 0xbe, + 0xff, 0x50, 0x3f, 0xff, 0xff, 0xfe, 0xa3, 0x0, /* U+43 "C" */ - 0x0, 0x3, 0x7b, 0xba, 0x71, 0x0, 0x0, 0x6e, - 0xff, 0xdf, 0xfe, 0x60, 0x5, 0xff, 0x50, 0x0, - 0x7f, 0xf3, 0x1d, 0xf4, 0x0, 0x0, 0x8, 0xfb, - 0x6f, 0xd0, 0x0, 0x0, 0x4, 0xfd, 0x8f, 0x80, - 0x0, 0x0, 0x0, 0x44, 0xcf, 0x80, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0x80, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0x80, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x80, - 0x0, 0x0, 0x0, 0x0, 0x9f, 0x80, 0x0, 0x0, - 0x0, 0x0, 0x7f, 0xb0, 0x0, 0x0, 0x2, 0xff, - 0x2f, 0xf2, 0x0, 0x0, 0x5, 0xfc, 0x9, 0xfc, - 0x10, 0x0, 0x2d, 0xf5, 0x1, 0xcf, 0xd8, 0x79, - 0xef, 0xa0, 0x0, 0x8, 0xef, 0xff, 0xe5, 0x0, - 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, + 0x0, 0x3, 0xae, 0xfe, 0xb5, 0x0, 0x0, 0x8, + 0xff, 0xdc, 0xdf, 0xf9, 0x0, 0x6, 0xfe, 0x40, + 0x0, 0x3e, 0xf6, 0x0, 0xef, 0x40, 0x0, 0x0, + 0x4f, 0xe0, 0x5f, 0xc0, 0x0, 0x0, 0x0, 0xef, + 0x38, 0xf8, 0x0, 0x0, 0x0, 0x2, 0x31, 0xaf, + 0x60, 0x0, 0x0, 0x0, 0x0, 0xb, 0xf5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0x50, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9f, 0x80, 0x0, 0x0, 0x0, 0x22, 0x5, + 0xfc, 0x0, 0x0, 0x0, 0xe, 0xf3, 0xe, 0xf4, + 0x0, 0x0, 0x4, 0xfe, 0x0, 0x6f, 0xe3, 0x0, + 0x3, 0xdf, 0x60, 0x0, 0x8f, 0xfd, 0xbd, 0xff, + 0x90, 0x0, 0x0, 0x4b, 0xef, 0xeb, 0x40, 0x0, /* U+44 "D" */ - 0x3b, 0xbb, 0xba, 0x74, 0x20, 0x0, 0x4, 0xff, - 0xff, 0xff, 0xff, 0x70, 0x0, 0x4f, 0xf0, 0x0, - 0x36, 0xff, 0xc0, 0x4, 0xff, 0x0, 0x0, 0x1, - 0xdf, 0x80, 0x4f, 0xf0, 0x0, 0x0, 0x4, 0xff, - 0x14, 0xff, 0x0, 0x0, 0x0, 0xd, 0xf4, 0x4f, - 0xf0, 0x0, 0x0, 0x0, 0xcf, 0x74, 0xff, 0x0, - 0x0, 0x0, 0x8, 0xf8, 0x4f, 0xf0, 0x0, 0x0, - 0x0, 0x8f, 0x84, 0xff, 0x0, 0x0, 0x0, 0xa, - 0xf8, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0xcf, 0x54, - 0xff, 0x0, 0x0, 0x0, 0x1f, 0xf2, 0x4f, 0xf0, - 0x0, 0x0, 0xa, 0xfc, 0x4, 0xff, 0x0, 0x0, - 0x19, 0xff, 0x20, 0x4f, 0xfb, 0xbb, 0xbf, 0xfe, - 0x40, 0x4, 0xff, 0xff, 0xfe, 0xc7, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xea, 0x30, 0x0, 0x3, 0xff, + 0xbb, 0xbe, 0xff, 0x90, 0x0, 0x3f, 0xe0, 0x0, + 0x3, 0xdf, 0x80, 0x3, 0xfe, 0x0, 0x0, 0x1, + 0xef, 0x30, 0x3f, 0xe0, 0x0, 0x0, 0x7, 0xf9, + 0x3, 0xfe, 0x0, 0x0, 0x0, 0x2f, 0xe0, 0x3f, + 0xe0, 0x0, 0x0, 0x0, 0xff, 0x3, 0xfe, 0x0, + 0x0, 0x0, 0xe, 0xf1, 0x3f, 0xe0, 0x0, 0x0, + 0x0, 0xef, 0x13, 0xfe, 0x0, 0x0, 0x0, 0xf, + 0xf0, 0x3f, 0xe0, 0x0, 0x0, 0x2, 0xfe, 0x3, + 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xa0, 0x3f, 0xe0, + 0x0, 0x0, 0x2f, 0xf3, 0x3, 0xfe, 0x0, 0x0, + 0x4e, 0xf9, 0x0, 0x3f, 0xfb, 0xbb, 0xef, 0xf9, + 0x0, 0x3, 0xff, 0xff, 0xfd, 0x93, 0x0, 0x0, /* U+45 "E" */ - 0x3b, 0xbb, 0xbb, 0xbb, 0xbb, 0x34, 0xff, 0xff, - 0xff, 0xff, 0xf4, 0x4f, 0xf0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf0, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xff, 0xff, 0xff, 0x40, 0x4f, 0xfc, 0xcc, 0xcc, - 0xc3, 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, - 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xfb, 0xbb, - 0xbb, 0xbb, 0x64, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xa3, 0xff, 0xbb, + 0xbb, 0xbb, 0xb7, 0x3f, 0xe0, 0x0, 0x0, 0x0, + 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, + 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xff, 0xff, 0xff, 0xa0, 0x3f, 0xfb, 0xbb, 0xbb, + 0xb7, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xe0, 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xfb, 0xbb, + 0xbb, 0xbb, 0x83, 0xff, 0xff, 0xff, 0xff, 0xfc, /* U+46 "F" */ - 0x3b, 0xbb, 0xbb, 0xbb, 0xbb, 0x64, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0x4f, 0xf0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf0, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0x77, 0x77, 0x77, 0x40, 0x4f, 0xff, 0xff, 0xff, - 0xf8, 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, - 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf0, 0x0, - 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x83, 0xff, 0xbb, + 0xbb, 0xbb, 0xb5, 0x3f, 0xe0, 0x0, 0x0, 0x0, + 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, + 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xbb, 0xbb, 0xbb, 0x40, 0x3f, 0xff, 0xff, 0xff, + 0xf7, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xe0, 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, 0x0, + 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, /* U+47 "G" */ - 0x0, 0x2, 0x7b, 0xbb, 0x72, 0x0, 0x0, 0x7e, - 0xff, 0xcf, 0xfe, 0x60, 0x5, 0xff, 0x60, 0x0, - 0x7f, 0xf4, 0x1e, 0xf5, 0x0, 0x0, 0x8, 0xfc, - 0x6f, 0xd0, 0x0, 0x0, 0x3, 0xfe, 0x8f, 0x90, - 0x0, 0x0, 0x0, 0x44, 0xcf, 0x80, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0x80, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0x80, 0x0, 0x6b, 0xbb, 0xbb, 0xcf, 0x80, - 0x0, 0x6c, 0xcc, 0xff, 0x9f, 0x80, 0x0, 0x0, - 0x0, 0xff, 0x7f, 0xb0, 0x0, 0x0, 0x0, 0xff, - 0x2f, 0xf3, 0x0, 0x0, 0x0, 0xff, 0x8, 0xfc, - 0x20, 0x0, 0x4, 0xff, 0x1, 0xcf, 0xe9, 0x77, - 0xaf, 0xf8, 0x0, 0x7, 0xdf, 0xff, 0xfb, 0x40, - 0x0, 0x0, 0x0, 0x42, 0x0, 0x0, + 0x0, 0x4, 0xae, 0xfe, 0xb6, 0x0, 0x0, 0x9, + 0xff, 0xdb, 0xdf, 0xfb, 0x0, 0x6, 0xfe, 0x40, + 0x0, 0x3d, 0xf9, 0x0, 0xef, 0x40, 0x0, 0x0, + 0x2f, 0xf1, 0x5f, 0xd0, 0x0, 0x0, 0x0, 0xac, + 0x38, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, + 0x60, 0x0, 0x0, 0x0, 0x0, 0xa, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0x60, 0x0, 0x5f, + 0xff, 0xff, 0x59, 0xf7, 0x0, 0x3, 0xbb, 0xbe, + 0xf5, 0x8f, 0x90, 0x0, 0x0, 0x0, 0xbf, 0x54, + 0xfe, 0x0, 0x0, 0x0, 0xb, 0xf5, 0xd, 0xf7, + 0x0, 0x0, 0x0, 0xbf, 0x50, 0x4f, 0xf6, 0x0, + 0x0, 0x3e, 0xf5, 0x0, 0x5f, 0xfe, 0xbb, 0xef, + 0xfa, 0x0, 0x0, 0x29, 0xdf, 0xfd, 0xa4, 0x0, /* U+48 "H" */ - 0x3b, 0xb0, 0x0, 0x0, 0x0, 0x6b, 0x94, 0xff, - 0x0, 0x0, 0x0, 0x8, 0xfc, 0x4f, 0xf0, 0x0, - 0x0, 0x0, 0x8f, 0xc4, 0xff, 0x0, 0x0, 0x0, - 0x8, 0xfc, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x8f, - 0xc4, 0xff, 0x0, 0x0, 0x0, 0x8, 0xfc, 0x4f, - 0xf0, 0x0, 0x0, 0x0, 0x8f, 0xc4, 0xff, 0x77, - 0x77, 0x77, 0x7b, 0xfc, 0x4f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xc4, 0xff, 0x0, 0x0, 0x0, 0x8, - 0xfc, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x8f, 0xc4, - 0xff, 0x0, 0x0, 0x0, 0x8, 0xfc, 0x4f, 0xf0, - 0x0, 0x0, 0x0, 0x8f, 0xc4, 0xff, 0x0, 0x0, - 0x0, 0x8, 0xfc, 0x4f, 0xf0, 0x0, 0x0, 0x0, - 0x8f, 0xc4, 0xff, 0x0, 0x0, 0x0, 0x8, 0xfc, + 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3f, 0xd3, 0xfe, + 0x0, 0x0, 0x0, 0x3, 0xfd, 0x3f, 0xe0, 0x0, + 0x0, 0x0, 0x3f, 0xd3, 0xfe, 0x0, 0x0, 0x0, + 0x3, 0xfd, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3f, + 0xd3, 0xfe, 0x0, 0x0, 0x0, 0x3, 0xfd, 0x3f, + 0xe0, 0x0, 0x0, 0x0, 0x3f, 0xd3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x3f, 0xfb, 0xbb, 0xbb, + 0xbb, 0xcf, 0xd3, 0xfe, 0x0, 0x0, 0x0, 0x3, + 0xfd, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3f, 0xd3, + 0xfe, 0x0, 0x0, 0x0, 0x3, 0xfd, 0x3f, 0xe0, + 0x0, 0x0, 0x0, 0x3f, 0xd3, 0xfe, 0x0, 0x0, + 0x0, 0x3, 0xfd, 0x3f, 0xe0, 0x0, 0x0, 0x0, + 0x3f, 0xd3, 0xfe, 0x0, 0x0, 0x0, 0x3, 0xfd, /* U+49 "I" */ - 0x9a, 0x1f, 0xf2, 0xff, 0x2f, 0xf2, 0xff, 0x2f, - 0xf2, 0xff, 0x2f, 0xf2, 0xff, 0x2f, 0xf2, 0xff, - 0x2f, 0xf2, 0xff, 0x2f, 0xf2, 0xff, 0x2f, 0xf2, + 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, + 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, + 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, + 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, /* U+4A "J" */ - 0x0, 0x0, 0x0, 0x0, 0x9b, 0x30, 0x0, 0x0, - 0x0, 0xc, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0x40, 0x0, 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0x40, 0x0, 0x0, 0x0, 0xc, - 0xf4, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x40, 0x0, - 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0x40, 0x0, 0x0, 0x0, 0xc, 0xf4, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0x41, 0x33, 0x0, 0x0, - 0xd, 0xf4, 0xf, 0xf0, 0x0, 0x0, 0xff, 0x10, - 0xff, 0x60, 0x0, 0x8f, 0xe0, 0x5, 0xff, 0x87, - 0x9f, 0xf4, 0x0, 0x5, 0xef, 0xff, 0xd4, 0x0, - 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0x70, 0x0, 0x0, + 0x0, 0xa, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xaf, + 0x70, 0x0, 0x0, 0x0, 0xa, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0xaf, 0x70, 0x0, 0x0, 0x0, 0xa, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0xaf, 0x70, 0x0, + 0x0, 0x0, 0xa, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0x70, 0x0, 0x0, 0x0, 0xa, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0x73, 0x96, 0x0, 0x0, + 0xa, 0xf6, 0x5f, 0xd0, 0x0, 0x0, 0xef, 0x41, + 0xff, 0x70, 0x0, 0x8f, 0xe0, 0x6, 0xff, 0xdb, + 0xef, 0xf4, 0x0, 0x3, 0xbe, 0xfe, 0xa2, 0x0, /* U+4B "K" */ - 0x3b, 0xb0, 0x0, 0x0, 0x5, 0xbb, 0x14, 0xff, - 0x0, 0x0, 0x3, 0xef, 0x60, 0x4f, 0xf0, 0x0, - 0x1, 0xcf, 0x80, 0x4, 0xff, 0x0, 0x0, 0xbf, - 0xa0, 0x0, 0x4f, 0xf0, 0x0, 0x8f, 0xd1, 0x0, - 0x4, 0xff, 0x0, 0x5f, 0xf1, 0x0, 0x0, 0x4f, - 0xf0, 0x3e, 0xf3, 0x0, 0x0, 0x4, 0xff, 0xbe, - 0xf7, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0x90, - 0x0, 0x0, 0x4, 0xff, 0x3, 0xff, 0x70, 0x0, - 0x0, 0x4f, 0xf0, 0x5, 0xff, 0x50, 0x0, 0x4, - 0xff, 0x0, 0x8, 0xfe, 0x30, 0x0, 0x4f, 0xf0, - 0x0, 0xb, 0xfc, 0x10, 0x4, 0xff, 0x0, 0x0, - 0x1d, 0xfa, 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x3f, - 0xf9, 0x4, 0xff, 0x0, 0x0, 0x0, 0x5f, 0xf6, + 0x3f, 0xe0, 0x0, 0x0, 0x9, 0xfd, 0x3, 0xfe, + 0x0, 0x0, 0x7, 0xfe, 0x10, 0x3f, 0xe0, 0x0, + 0x5, 0xff, 0x30, 0x3, 0xfe, 0x0, 0x4, 0xff, + 0x40, 0x0, 0x3f, 0xe0, 0x2, 0xff, 0x60, 0x0, + 0x3, 0xfe, 0x1, 0xef, 0x80, 0x0, 0x0, 0x3f, + 0xe0, 0xdf, 0xa0, 0x0, 0x0, 0x3, 0xfe, 0xbf, + 0xf7, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xdf, 0xf3, + 0x0, 0x0, 0x3, 0xff, 0xd1, 0x8f, 0xe1, 0x0, + 0x0, 0x3f, 0xf1, 0x0, 0xcf, 0xb0, 0x0, 0x3, + 0xfe, 0x0, 0x1, 0xef, 0x70, 0x0, 0x3f, 0xe0, + 0x0, 0x4, 0xff, 0x30, 0x3, 0xfe, 0x0, 0x0, + 0x8, 0xfd, 0x10, 0x3f, 0xe0, 0x0, 0x0, 0xc, + 0xfa, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x1e, 0xf6, /* U+4C "L" */ - 0x3b, 0xb0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf0, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, - 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, - 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xfb, 0xbb, - 0xbb, 0xbb, 0x64, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, + 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, + 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, + 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xe0, 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x3, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xfb, 0xbb, + 0xbb, 0xbb, 0x33, 0xff, 0xff, 0xff, 0xff, 0xf4, /* U+4D "M" */ - 0x3b, 0xb8, 0x0, 0x0, 0x0, 0x0, 0x7, 0xbb, - 0x34, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xef, - 0xf4, 0x4f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x5f, - 0xff, 0x44, 0xff, 0xfb, 0x0, 0x0, 0x0, 0xa, - 0xff, 0xf4, 0x4f, 0xfd, 0xf2, 0x0, 0x0, 0x1, - 0xfe, 0xff, 0x44, 0xff, 0x6f, 0x90, 0x0, 0x0, - 0x7f, 0x8f, 0xf4, 0x4f, 0xf1, 0xfe, 0x0, 0x0, - 0xe, 0xf2, 0xff, 0x44, 0xff, 0xa, 0xf5, 0x0, - 0x4, 0xfb, 0xf, 0xf4, 0x4f, 0xf0, 0x3f, 0xb0, - 0x0, 0xaf, 0x50, 0xff, 0x44, 0xff, 0x0, 0xdf, - 0x20, 0x1f, 0xe0, 0xf, 0xf4, 0x4f, 0xf0, 0x6, - 0xf8, 0x6, 0xf8, 0x0, 0xff, 0x44, 0xff, 0x0, - 0x1f, 0xd0, 0xdf, 0x20, 0xf, 0xf4, 0x4f, 0xf0, - 0x0, 0xaf, 0x8f, 0xb0, 0x0, 0xff, 0x44, 0xff, - 0x0, 0x3, 0xff, 0xf5, 0x0, 0xf, 0xf4, 0x4f, - 0xf0, 0x0, 0xd, 0xfe, 0x0, 0x0, 0xff, 0x44, - 0xff, 0x0, 0x0, 0x6f, 0x80, 0x0, 0xf, 0xf4, + 0x3f, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0x63, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xef, + 0xf6, 0x3f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x4f, + 0xff, 0x63, 0xfd, 0xfd, 0x0, 0x0, 0x0, 0xa, + 0xfd, 0xf6, 0x3f, 0xbc, 0xf3, 0x0, 0x0, 0x1, + 0xfe, 0x8f, 0x63, 0xfb, 0x5f, 0xa0, 0x0, 0x0, + 0x7f, 0x88, 0xf6, 0x3f, 0xc0, 0xef, 0x0, 0x0, + 0xd, 0xf2, 0x9f, 0x63, 0xfc, 0x9, 0xf6, 0x0, + 0x3, 0xfb, 0x9, 0xf6, 0x3f, 0xd0, 0x2f, 0xc0, + 0x0, 0xaf, 0x50, 0xaf, 0x63, 0xfd, 0x0, 0xcf, + 0x30, 0xf, 0xe0, 0xa, 0xf6, 0x3f, 0xe0, 0x6, + 0xf9, 0x6, 0xf8, 0x0, 0xbf, 0x63, 0xfe, 0x0, + 0xf, 0xf0, 0xcf, 0x20, 0xb, 0xf6, 0x3f, 0xe0, + 0x0, 0x9f, 0x8f, 0xc0, 0x0, 0xbf, 0x63, 0xfe, + 0x0, 0x3, 0xff, 0xf5, 0x0, 0xb, 0xf6, 0x3f, + 0xe0, 0x0, 0xc, 0xfe, 0x0, 0x0, 0xbf, 0x63, + 0xfe, 0x0, 0x0, 0x6f, 0x90, 0x0, 0xb, 0xf6, /* U+4E "N" */ - 0x3b, 0xb1, 0x0, 0x0, 0x0, 0x6b, 0x94, 0xff, - 0xa0, 0x0, 0x0, 0x8, 0xfc, 0x4f, 0xff, 0x40, - 0x0, 0x0, 0x8f, 0xc4, 0xff, 0xfd, 0x10, 0x0, - 0x8, 0xfc, 0x4f, 0xfc, 0xf9, 0x0, 0x0, 0x8f, - 0xc4, 0xff, 0x2f, 0xf3, 0x0, 0x8, 0xfc, 0x4f, - 0xf0, 0x8f, 0xc0, 0x0, 0x8f, 0xc4, 0xff, 0x0, - 0xdf, 0x70, 0x8, 0xfc, 0x4f, 0xf0, 0x3, 0xfe, - 0x20, 0x8f, 0xc4, 0xff, 0x0, 0x9, 0xfa, 0x8, - 0xfc, 0x4f, 0xf0, 0x0, 0x1e, 0xf5, 0x8f, 0xc4, - 0xff, 0x0, 0x0, 0x5f, 0xe9, 0xfc, 0x4f, 0xf0, - 0x0, 0x0, 0xbf, 0xef, 0xc4, 0xff, 0x0, 0x0, - 0x2, 0xff, 0xfc, 0x4f, 0xf0, 0x0, 0x0, 0x7, - 0xff, 0xc4, 0xff, 0x0, 0x0, 0x0, 0xc, 0xfc, + 0x3f, 0xf3, 0x0, 0x0, 0x0, 0x3f, 0xd3, 0xff, + 0xd0, 0x0, 0x0, 0x3, 0xfd, 0x3f, 0xff, 0x70, + 0x0, 0x0, 0x3f, 0xd3, 0xff, 0xff, 0x20, 0x0, + 0x3, 0xfd, 0x3f, 0xe9, 0xfc, 0x0, 0x0, 0x3f, + 0xd3, 0xfe, 0xe, 0xf6, 0x0, 0x3, 0xfd, 0x3f, + 0xe0, 0x4f, 0xe1, 0x0, 0x3f, 0xd3, 0xfe, 0x0, + 0xaf, 0xa0, 0x3, 0xfd, 0x3f, 0xe0, 0x1, 0xef, + 0x40, 0x3f, 0xd3, 0xfe, 0x0, 0x6, 0xfe, 0x3, + 0xfd, 0x3f, 0xe0, 0x0, 0xb, 0xf9, 0x3f, 0xd3, + 0xfe, 0x0, 0x0, 0x2f, 0xf7, 0xfd, 0x3f, 0xe0, + 0x0, 0x0, 0x7f, 0xff, 0xd3, 0xfe, 0x0, 0x0, + 0x0, 0xdf, 0xfd, 0x3f, 0xe0, 0x0, 0x0, 0x3, + 0xff, 0xd3, 0xfe, 0x0, 0x0, 0x0, 0x8, 0xfd, /* U+4F "O" */ - 0x0, 0x2, 0x7a, 0xba, 0x71, 0x0, 0x0, 0x6, - 0xef, 0xff, 0xff, 0xe5, 0x0, 0x5, 0xff, 0x71, - 0x1, 0x8f, 0xf4, 0x1, 0xef, 0x40, 0x0, 0x0, - 0x7f, 0xd1, 0x7f, 0xc0, 0x0, 0x0, 0x0, 0xef, - 0x69, 0xf8, 0x0, 0x0, 0x0, 0x8, 0xf8, 0xcf, - 0x60, 0x0, 0x0, 0x0, 0x6f, 0xcc, 0xf4, 0x0, - 0x0, 0x0, 0x4, 0xfc, 0xcf, 0x40, 0x0, 0x0, - 0x0, 0x4f, 0xcc, 0xf4, 0x0, 0x0, 0x0, 0x5, - 0xfc, 0xaf, 0x80, 0x0, 0x0, 0x0, 0x8f, 0xa8, - 0xfa, 0x0, 0x0, 0x0, 0xa, 0xf7, 0x2f, 0xf2, - 0x0, 0x0, 0x2, 0xff, 0x20, 0x9f, 0xc1, 0x0, - 0x3, 0xcf, 0x80, 0x1, 0xcf, 0xea, 0x7b, 0xef, - 0xb0, 0x0, 0x0, 0x7e, 0xff, 0xfd, 0x50, 0x0, - 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xae, 0xfe, 0xa4, 0x0, 0x0, 0x7, + 0xff, 0xed, 0xef, 0xf9, 0x0, 0x5, 0xff, 0x60, + 0x0, 0x4e, 0xf7, 0x0, 0xef, 0x50, 0x0, 0x0, + 0x3f, 0xf0, 0x4f, 0xd0, 0x0, 0x0, 0x0, 0xbf, + 0x68, 0xf8, 0x0, 0x0, 0x0, 0x6, 0xfa, 0xaf, + 0x50, 0x0, 0x0, 0x0, 0x4f, 0xcb, 0xf5, 0x0, + 0x0, 0x0, 0x3, 0xfd, 0xbf, 0x50, 0x0, 0x0, + 0x0, 0x3f, 0xda, 0xf5, 0x0, 0x0, 0x0, 0x4, + 0xfc, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x6f, 0xa4, + 0xfd, 0x0, 0x0, 0x0, 0xa, 0xf6, 0xe, 0xf5, + 0x0, 0x0, 0x3, 0xff, 0x10, 0x5f, 0xf5, 0x0, + 0x3, 0xef, 0x70, 0x0, 0x6f, 0xfe, 0xce, 0xff, + 0x90, 0x0, 0x0, 0x3a, 0xef, 0xeb, 0x40, 0x0, /* U+50 "P" */ - 0x3b, 0xbb, 0xbb, 0xa7, 0x51, 0x0, 0x4f, 0xff, - 0xff, 0xff, 0xfe, 0x60, 0x4f, 0xf0, 0x0, 0x3, - 0x8f, 0xf4, 0x4f, 0xf0, 0x0, 0x0, 0x8, 0xfc, - 0x4f, 0xf0, 0x0, 0x0, 0x4, 0xfe, 0x4f, 0xf0, - 0x0, 0x0, 0x3, 0xff, 0x4f, 0xf0, 0x0, 0x0, - 0x8, 0xfc, 0x4f, 0xf0, 0x0, 0x0, 0x7e, 0xf4, - 0x4f, 0xff, 0xff, 0xff, 0xff, 0x70, 0x4f, 0xfc, - 0xcc, 0xca, 0x82, 0x0, 0x4f, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xfe, 0xb6, 0x0, 0x3, 0xff, + 0xbb, 0xbb, 0xdf, 0xfb, 0x0, 0x3f, 0xe0, 0x0, + 0x0, 0x3e, 0xf7, 0x3, 0xfe, 0x0, 0x0, 0x0, + 0x5f, 0xd0, 0x3f, 0xe0, 0x0, 0x0, 0x1, 0xff, + 0x3, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xf0, 0x3f, + 0xe0, 0x0, 0x0, 0x6, 0xfd, 0x3, 0xfe, 0x0, + 0x0, 0x17, 0xff, 0x60, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0x80, 0x3, 0xff, 0xbb, 0xbb, 0xa7, 0x20, + 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+51 "Q" */ - 0x0, 0x2, 0x7a, 0xba, 0x71, 0x0, 0x0, 0x0, - 0x6e, 0xff, 0xff, 0xfe, 0x50, 0x0, 0x5, 0xff, - 0x71, 0x1, 0x8f, 0xf4, 0x0, 0x1e, 0xf4, 0x0, - 0x0, 0x7, 0xfd, 0x10, 0x7f, 0xc0, 0x0, 0x0, - 0x0, 0xef, 0x60, 0x9f, 0x80, 0x0, 0x0, 0x0, - 0x8f, 0x80, 0xcf, 0x60, 0x0, 0x0, 0x0, 0x6f, - 0xc0, 0xcf, 0x40, 0x0, 0x0, 0x0, 0x4f, 0xc0, - 0xcf, 0x40, 0x0, 0x0, 0x0, 0x4f, 0xc0, 0xcf, - 0x40, 0x0, 0x0, 0x0, 0x5f, 0xc0, 0xaf, 0x80, - 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x8f, 0xa0, 0x0, - 0x0, 0x0, 0xaf, 0x80, 0x2f, 0xf2, 0x0, 0x0, - 0x2, 0xff, 0x20, 0x9, 0xfc, 0x10, 0x0, 0x3c, - 0xfa, 0x0, 0x1, 0xcf, 0xea, 0x7b, 0xef, 0xfe, - 0x30, 0x0, 0x7, 0xef, 0xff, 0xe8, 0xdf, 0xe3, - 0x0, 0x0, 0x0, 0x42, 0x0, 0x1d, 0xf6, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x50, + 0x0, 0x3, 0xae, 0xfe, 0xa3, 0x0, 0x0, 0x8, + 0xff, 0xed, 0xef, 0xf8, 0x0, 0x6, 0xfe, 0x50, + 0x0, 0x5f, 0xf6, 0x0, 0xff, 0x40, 0x0, 0x0, + 0x4f, 0xe0, 0x6f, 0xb0, 0x0, 0x0, 0x0, 0xcf, + 0x5a, 0xf7, 0x0, 0x0, 0x0, 0x8, 0xf9, 0xcf, + 0x40, 0x0, 0x0, 0x0, 0x5f, 0xbd, 0xf3, 0x0, + 0x0, 0x0, 0x4, 0xfc, 0xdf, 0x30, 0x0, 0x0, + 0x0, 0x4f, 0xcc, 0xf4, 0x0, 0x0, 0x0, 0x5, + 0xfa, 0xaf, 0x70, 0x0, 0x0, 0x0, 0x7f, 0x96, + 0xfb, 0x0, 0x0, 0x0, 0xc, 0xf4, 0xf, 0xf4, + 0x0, 0x0, 0x4, 0xfe, 0x0, 0x6f, 0xe4, 0x0, + 0x4, 0xef, 0x50, 0x0, 0x8f, 0xfe, 0xce, 0xff, + 0x70, 0x0, 0x0, 0x3a, 0xef, 0xef, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2d, 0xfd, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x1b, 0xf6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0x0, /* U+52 "R" */ - 0x27, 0x77, 0x77, 0x77, 0x40, 0x0, 0x4, 0xff, - 0xff, 0xff, 0xff, 0xd3, 0x0, 0x4f, 0xf0, 0x0, - 0x4, 0xbf, 0xe1, 0x4, 0xff, 0x0, 0x0, 0x0, - 0xdf, 0x60, 0x4f, 0xf0, 0x0, 0x0, 0x8, 0xf8, - 0x4, 0xff, 0x0, 0x0, 0x0, 0xaf, 0x80, 0x4f, - 0xf0, 0x0, 0x0, 0x1e, 0xf2, 0x4, 0xff, 0x77, - 0x77, 0x8e, 0xf6, 0x0, 0x4f, 0xff, 0xff, 0xff, - 0xf9, 0x10, 0x4, 0xff, 0x44, 0x44, 0x5d, 0xfc, - 0x0, 0x4f, 0xf0, 0x0, 0x0, 0x1f, 0xf6, 0x4, - 0xff, 0x0, 0x0, 0x0, 0xaf, 0x80, 0x4f, 0xf0, - 0x0, 0x0, 0x8, 0xf8, 0x4, 0xff, 0x0, 0x0, - 0x0, 0x8f, 0x80, 0x4f, 0xf0, 0x0, 0x0, 0x8, - 0xfb, 0x4, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xe2, + 0x3f, 0xff, 0xff, 0xfd, 0x92, 0x0, 0x3, 0xff, + 0xbb, 0xbc, 0xff, 0xf4, 0x0, 0x3f, 0xe0, 0x0, + 0x0, 0x9f, 0xe0, 0x3, 0xfe, 0x0, 0x0, 0x0, + 0xef, 0x40, 0x3f, 0xe0, 0x0, 0x0, 0xa, 0xf6, + 0x3, 0xfe, 0x0, 0x0, 0x0, 0xbf, 0x60, 0x3f, + 0xe0, 0x0, 0x0, 0x1f, 0xf2, 0x3, 0xfe, 0x0, + 0x1, 0x4d, 0xfa, 0x0, 0x3f, 0xff, 0xff, 0xff, + 0xfa, 0x0, 0x3, 0xff, 0xbb, 0xbd, 0xfb, 0x0, + 0x0, 0x3f, 0xe0, 0x0, 0x1f, 0xf2, 0x0, 0x3, + 0xfe, 0x0, 0x0, 0x7f, 0xb0, 0x0, 0x3f, 0xe0, + 0x0, 0x0, 0xef, 0x30, 0x3, 0xfe, 0x0, 0x0, + 0x6, 0xfc, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0xd, + 0xf5, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x5f, 0xd0, /* U+53 "S" */ - 0x0, 0x6, 0xab, 0xb8, 0x40, 0x0, 0x1, 0xcf, - 0xfd, 0xff, 0xf8, 0x0, 0xb, 0xfc, 0x10, 0x4, - 0xdf, 0x80, 0xf, 0xf1, 0x0, 0x0, 0x3f, 0xf0, - 0x4f, 0xf0, 0x0, 0x0, 0xf, 0xf3, 0xf, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x9, 0xfe, 0x71, 0x0, - 0x0, 0x0, 0x0, 0x9f, 0xff, 0xa5, 0x10, 0x0, - 0x0, 0x4, 0xaf, 0xff, 0xe6, 0x0, 0x0, 0x0, - 0x0, 0x5a, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xf2, 0x57, 0x40, 0x0, 0x0, 0xc, 0xf5, - 0x8f, 0xa0, 0x0, 0x0, 0xd, 0xf4, 0x2f, 0xf6, - 0x0, 0x0, 0x6f, 0xf1, 0x6, 0xff, 0xb7, 0x7a, - 0xff, 0x50, 0x0, 0x4c, 0xff, 0xff, 0xc4, 0x0, - 0x0, 0x0, 0x2, 0x30, 0x0, 0x0, + 0x0, 0x3, 0xae, 0xfe, 0xb6, 0x0, 0x0, 0x7, + 0xff, 0xec, 0xdf, 0xfb, 0x0, 0x3, 0xff, 0x50, + 0x0, 0x2c, 0xf9, 0x0, 0x8f, 0x90, 0x0, 0x0, + 0x2f, 0xf0, 0x9, 0xf8, 0x0, 0x0, 0x0, 0xbb, + 0x10, 0x6f, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0xe7, 0x10, 0x0, 0x0, 0x0, 0x1, 0x9f, + 0xff, 0xc7, 0x10, 0x0, 0x0, 0x0, 0x27, 0xdf, + 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x29, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0x0, + 0xcb, 0x0, 0x0, 0x0, 0xe, 0xf2, 0xe, 0xf3, + 0x0, 0x0, 0x0, 0xff, 0x20, 0x7f, 0xe4, 0x0, + 0x0, 0xaf, 0xd0, 0x0, 0x9f, 0xfd, 0xbc, 0xff, + 0xe3, 0x0, 0x0, 0x3a, 0xef, 0xfd, 0x81, 0x0, /* U+54 "T" */ - 0x6b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x98, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x8, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x80, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x8f, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0x80, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x80, 0x0, - 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, - 0x80, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0x80, 0x0, 0x0, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0xbb, + 0xbb, 0xdf, 0xeb, 0xbb, 0xb7, 0x0, 0x0, 0x7, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x90, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0x90, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0x90, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x90, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0x90, 0x0, 0x0, /* U+55 "U" */ - 0x6b, 0x90, 0x0, 0x0, 0x0, 0x9b, 0x38, 0xfc, - 0x0, 0x0, 0x0, 0xc, 0xf4, 0x8f, 0xc0, 0x0, - 0x0, 0x0, 0xcf, 0x48, 0xfc, 0x0, 0x0, 0x0, - 0xc, 0xf4, 0x8f, 0xc0, 0x0, 0x0, 0x0, 0xcf, - 0x48, 0xfc, 0x0, 0x0, 0x0, 0xc, 0xf4, 0x8f, - 0xc0, 0x0, 0x0, 0x0, 0xcf, 0x48, 0xfc, 0x0, - 0x0, 0x0, 0xc, 0xf4, 0x8f, 0xc0, 0x0, 0x0, - 0x0, 0xcf, 0x48, 0xfc, 0x0, 0x0, 0x0, 0xc, - 0xf4, 0x8f, 0xc0, 0x0, 0x0, 0x0, 0xcf, 0x44, - 0xfc, 0x0, 0x0, 0x0, 0xe, 0xf4, 0x2f, 0xf2, - 0x0, 0x0, 0x2, 0xff, 0x0, 0xbf, 0xa1, 0x0, - 0x1, 0xcf, 0xa0, 0x1, 0xef, 0xd8, 0x79, 0xef, - 0xd1, 0x0, 0x1, 0x8f, 0xff, 0xff, 0x70, 0x0, - 0x0, 0x0, 0x1, 0x40, 0x0, 0x0, 0x0, + 0x8f, 0x80, 0x0, 0x0, 0x4, 0xfd, 0x8f, 0x80, + 0x0, 0x0, 0x4, 0xfd, 0x8f, 0x80, 0x0, 0x0, + 0x4, 0xfd, 0x8f, 0x80, 0x0, 0x0, 0x4, 0xfd, + 0x8f, 0x80, 0x0, 0x0, 0x4, 0xfd, 0x8f, 0x80, + 0x0, 0x0, 0x4, 0xfd, 0x8f, 0x80, 0x0, 0x0, + 0x4, 0xfd, 0x8f, 0x80, 0x0, 0x0, 0x4, 0xfd, + 0x8f, 0x80, 0x0, 0x0, 0x4, 0xfd, 0x8f, 0x80, + 0x0, 0x0, 0x4, 0xfd, 0x7f, 0x80, 0x0, 0x0, + 0x4, 0xfd, 0x6f, 0xa0, 0x0, 0x0, 0x5, 0xfc, + 0x3f, 0xe0, 0x0, 0x0, 0xa, 0xf8, 0xc, 0xfb, + 0x10, 0x0, 0x7f, 0xf1, 0x2, 0xdf, 0xfc, 0xce, + 0xff, 0x40, 0x0, 0x7, 0xcf, 0xfd, 0x92, 0x0, /* U+56 "V" */ - 0x8b, 0x70, 0x0, 0x0, 0x0, 0x8, 0xb7, 0x6f, - 0xe0, 0x0, 0x0, 0x0, 0x1f, 0xf4, 0xf, 0xf5, - 0x0, 0x0, 0x0, 0x6f, 0xe0, 0xa, 0xfa, 0x0, - 0x0, 0x0, 0xbf, 0x80, 0x3, 0xfe, 0x0, 0x0, - 0x1, 0xff, 0x20, 0x0, 0xef, 0x60, 0x0, 0x6, - 0xfc, 0x0, 0x0, 0x7f, 0xb0, 0x0, 0xd, 0xf6, - 0x0, 0x0, 0x2f, 0xf1, 0x0, 0x2f, 0xf1, 0x0, - 0x0, 0xc, 0xf6, 0x0, 0x7f, 0xa0, 0x0, 0x0, - 0x6, 0xfb, 0x0, 0xdf, 0x50, 0x0, 0x0, 0x1, - 0xff, 0x23, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0x79, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xcd, - 0xf2, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xd0, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x60, 0x0, - 0x0, 0x0, 0x0, 0x2, 0xff, 0x10, 0x0, 0x0, + 0x8f, 0xb0, 0x0, 0x0, 0x0, 0xb, 0xf8, 0x2f, + 0xf1, 0x0, 0x0, 0x0, 0x1f, 0xf2, 0xc, 0xf6, + 0x0, 0x0, 0x0, 0x6f, 0xc0, 0x6, 0xfb, 0x0, + 0x0, 0x0, 0xbf, 0x70, 0x1, 0xff, 0x10, 0x0, + 0x1, 0xff, 0x10, 0x0, 0xbf, 0x60, 0x0, 0x6, + 0xfb, 0x0, 0x0, 0x5f, 0xc0, 0x0, 0xc, 0xf5, + 0x0, 0x0, 0xf, 0xf1, 0x0, 0x1f, 0xf0, 0x0, + 0x0, 0xa, 0xf7, 0x0, 0x7f, 0xa0, 0x0, 0x0, + 0x4, 0xfc, 0x0, 0xcf, 0x40, 0x0, 0x0, 0x0, + 0xef, 0x22, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0x77, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xcc, + 0xf3, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x70, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xff, 0x10, 0x0, 0x0, /* U+57 "W" */ - 0x6b, 0x90, 0x0, 0x0, 0x8b, 0x70, 0x0, 0x0, - 0x9b, 0x65, 0xfe, 0x0, 0x0, 0xe, 0xfc, 0x0, - 0x0, 0xf, 0xf4, 0x2f, 0xf3, 0x0, 0x2, 0xff, - 0xf1, 0x0, 0x4, 0xff, 0x0, 0xef, 0x60, 0x0, - 0x7f, 0xff, 0x60, 0x0, 0x7f, 0xd0, 0xa, 0xfa, - 0x0, 0xb, 0xfb, 0xfa, 0x0, 0xb, 0xf9, 0x0, - 0x6f, 0xc0, 0x0, 0xff, 0x4f, 0xd0, 0x0, 0xef, - 0x50, 0x2, 0xff, 0x10, 0x4f, 0xe0, 0xef, 0x30, - 0x1f, 0xf1, 0x0, 0xe, 0xf4, 0x8, 0xf9, 0x9, - 0xf7, 0x5, 0xfd, 0x0, 0x0, 0xaf, 0x80, 0xdf, - 0x40, 0x5f, 0xc0, 0x8f, 0x90, 0x0, 0x6, 0xfc, - 0x1f, 0xf0, 0x0, 0xff, 0xc, 0xf5, 0x0, 0x0, - 0x3f, 0xe5, 0xfb, 0x0, 0xb, 0xf4, 0xff, 0x20, - 0x0, 0x0, 0xff, 0x9f, 0x60, 0x0, 0x7f, 0xaf, - 0xe0, 0x0, 0x0, 0xb, 0xfe, 0xf1, 0x0, 0x2, - 0xfd, 0xfa, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, - 0x0, 0xe, 0xff, 0x60, 0x0, 0x0, 0x3, 0xff, - 0x80, 0x0, 0x0, 0x9f, 0xf2, 0x0, 0x0, 0x0, - 0xf, 0xf3, 0x0, 0x0, 0x5, 0xfe, 0x0, 0x0, + 0x3f, 0xd0, 0x0, 0x0, 0x1f, 0xe0, 0x0, 0x0, + 0x2f, 0xe0, 0xf, 0xf0, 0x0, 0x0, 0x6f, 0xf2, + 0x0, 0x0, 0x5f, 0xb0, 0xc, 0xf4, 0x0, 0x0, + 0xaf, 0xf7, 0x0, 0x0, 0x9f, 0x70, 0x8, 0xf8, + 0x0, 0x0, 0xed, 0xfb, 0x0, 0x0, 0xcf, 0x30, + 0x4, 0xfb, 0x0, 0x3, 0xf9, 0xcf, 0x0, 0x0, + 0xff, 0x0, 0x0, 0xff, 0x0, 0x7, 0xf5, 0x8f, + 0x30, 0x4, 0xfb, 0x0, 0x0, 0xcf, 0x20, 0xc, + 0xf0, 0x4f, 0x80, 0x7, 0xf8, 0x0, 0x0, 0x9f, + 0x60, 0x1f, 0xb0, 0xf, 0xc0, 0xb, 0xf4, 0x0, + 0x0, 0x5f, 0xa0, 0x5f, 0x70, 0xb, 0xf1, 0xe, + 0xf0, 0x0, 0x0, 0x1f, 0xd0, 0x9f, 0x20, 0x6, + 0xf5, 0x2f, 0xc0, 0x0, 0x0, 0xd, 0xf1, 0xee, + 0x0, 0x2, 0xf9, 0x5f, 0x80, 0x0, 0x0, 0xa, + 0xf6, 0xf9, 0x0, 0x0, 0xdd, 0x8f, 0x50, 0x0, + 0x0, 0x6, 0xfc, 0xf5, 0x0, 0x0, 0x9f, 0xcf, + 0x10, 0x0, 0x0, 0x2, 0xff, 0xf0, 0x0, 0x0, + 0x5f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xef, 0xb0, + 0x0, 0x0, 0xf, 0xf9, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0x70, 0x0, 0x0, 0xc, 0xf5, 0x0, 0x0, /* U+58 "X" */ - 0x1b, 0xb6, 0x0, 0x0, 0x0, 0x6b, 0xb1, 0x8, - 0xfe, 0x10, 0x0, 0x1, 0xef, 0x80, 0x0, 0xdf, - 0xa0, 0x0, 0xa, 0xfd, 0x0, 0x0, 0x3f, 0xf4, - 0x0, 0x4f, 0xf3, 0x0, 0x0, 0x8, 0xfc, 0x0, - 0xdf, 0x80, 0x0, 0x0, 0x1, 0xef, 0x77, 0xfe, - 0x10, 0x0, 0x0, 0x0, 0x4f, 0xee, 0xf4, 0x0, - 0x0, 0x0, 0x0, 0x9, 0xff, 0xa0, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x2e, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0x98, 0xfb, 0x0, 0x0, 0x0, 0x7, 0xff, - 0x11, 0xef, 0x70, 0x0, 0x0, 0x2e, 0xf6, 0x0, - 0x5f, 0xe2, 0x0, 0x0, 0xbf, 0xc0, 0x0, 0xc, - 0xfa, 0x0, 0x5, 0xff, 0x30, 0x0, 0x2, 0xff, - 0x50, 0x1e, 0xf9, 0x0, 0x0, 0x0, 0x8f, 0xe1, + 0xe, 0xf7, 0x0, 0x0, 0x0, 0xaf, 0xc0, 0x5, + 0xff, 0x10, 0x0, 0x4, 0xff, 0x20, 0x0, 0xbf, + 0xb0, 0x0, 0xd, 0xf8, 0x0, 0x0, 0x2f, 0xf5, + 0x0, 0x7f, 0xe0, 0x0, 0x0, 0x7, 0xfe, 0x2, + 0xff, 0x40, 0x0, 0x0, 0x0, 0xdf, 0x9b, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0xef, 0x7a, 0xfc, 0x0, 0x0, 0x0, 0x8, 0xfd, + 0x1, 0xef, 0x60, 0x0, 0x0, 0x3f, 0xf3, 0x0, + 0x6f, 0xe1, 0x0, 0x0, 0xcf, 0x90, 0x0, 0xc, + 0xfa, 0x0, 0x7, 0xfe, 0x10, 0x0, 0x2, 0xff, + 0x40, 0x1f, 0xf5, 0x0, 0x0, 0x0, 0x8f, 0xd0, /* U+59 "Y" */ - 0x5b, 0xa0, 0x0, 0x0, 0x0, 0x1b, 0xb4, 0x1f, - 0xf6, 0x0, 0x0, 0x0, 0xaf, 0xc0, 0x6, 0xfe, - 0x10, 0x0, 0x2, 0xff, 0x40, 0x0, 0xef, 0x80, - 0x0, 0xa, 0xfc, 0x0, 0x0, 0x6f, 0xe1, 0x0, - 0x2f, 0xf3, 0x0, 0x0, 0xc, 0xf8, 0x0, 0xaf, - 0xa0, 0x0, 0x0, 0x4, 0xfe, 0x12, 0xff, 0x20, - 0x0, 0x0, 0x0, 0xcf, 0x8a, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x2f, 0xef, 0xf1, 0x0, 0x0, 0x0, - 0x0, 0xa, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, + 0x9f, 0xc0, 0x0, 0x0, 0x0, 0x9f, 0xb0, 0x1f, + 0xf4, 0x0, 0x0, 0x1, 0xff, 0x30, 0x8, 0xfc, + 0x0, 0x0, 0x9, 0xfa, 0x0, 0x0, 0xef, 0x40, + 0x0, 0x2f, 0xf2, 0x0, 0x0, 0x6f, 0xd0, 0x0, + 0xaf, 0x90, 0x0, 0x0, 0xd, 0xf5, 0x2, 0xff, + 0x10, 0x0, 0x0, 0x5, 0xfd, 0xa, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0x8f, 0xe0, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0x60, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xf9, 0x0, 0x0, 0x0, /* U+5A "Z" */ - 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, 0x90, 0xcf, 0xff, - 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x1, - 0xdf, 0x70, 0x0, 0x0, 0x0, 0x9, 0xfc, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0xf2, 0x0, 0x0, 0x0, - 0x1, 0xdf, 0x50, 0x0, 0x0, 0x0, 0x9, 0xfb, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf1, 0x0, 0x0, - 0x0, 0x1, 0xdf, 0x50, 0x0, 0x0, 0x0, 0xb, - 0xfb, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf1, 0x0, - 0x0, 0x0, 0x1, 0xef, 0x50, 0x0, 0x0, 0x0, - 0xb, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf1, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xdb, 0xbb, 0xbb, - 0xbb, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xab, + 0xbb, 0xbb, 0xbb, 0xef, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x1e, 0xf5, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x6, 0xfe, 0x10, + 0x0, 0x0, 0x0, 0x1, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x6f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xf4, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0xcf, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xfd, 0xbb, 0xbb, 0xbb, + 0xbb, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, /* U+5B "[" */ - 0x6b, 0xbb, 0x98, 0xff, 0xc9, 0x8f, 0xc0, 0x8, - 0xfc, 0x0, 0x8f, 0xc0, 0x8, 0xfc, 0x0, 0x8f, - 0xc0, 0x8, 0xfc, 0x0, 0x8f, 0xc0, 0x8, 0xfc, - 0x0, 0x8f, 0xc0, 0x8, 0xfc, 0x0, 0x8f, 0xc0, - 0x8, 0xfc, 0x0, 0x8f, 0xc0, 0x8, 0xfc, 0x0, - 0x8f, 0xc0, 0x8, 0xfc, 0x0, 0x8f, 0xc0, 0x8, - 0xfc, 0x33, 0x8f, 0xff, 0xc2, 0x44, 0x43, + 0x4a, 0xaa, 0x67, 0xff, 0xfa, 0x7f, 0x90, 0x7, + 0xf9, 0x0, 0x7f, 0x90, 0x7, 0xf9, 0x0, 0x7f, + 0x90, 0x7, 0xf9, 0x0, 0x7f, 0x90, 0x7, 0xf9, + 0x0, 0x7f, 0x90, 0x7, 0xf9, 0x0, 0x7f, 0x90, + 0x7, 0xf9, 0x0, 0x7f, 0x90, 0x7, 0xf9, 0x0, + 0x7f, 0x90, 0x7, 0xf9, 0x0, 0x7f, 0x90, 0x7, + 0xf9, 0x0, 0x7f, 0xda, 0x67, 0xff, 0xfa, /* U+5C "\\" */ - 0x6b, 0x60, 0x0, 0x0, 0x2, 0xfd, 0x0, 0x0, - 0x0, 0xc, 0xf4, 0x0, 0x0, 0x0, 0x6f, 0xa0, - 0x0, 0x0, 0x1, 0xfe, 0x10, 0x0, 0x0, 0xa, - 0xf6, 0x0, 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, - 0x0, 0xef, 0x20, 0x0, 0x0, 0x7, 0xf9, 0x0, - 0x0, 0x0, 0x1f, 0xe0, 0x0, 0x0, 0x0, 0xbf, - 0x50, 0x0, 0x0, 0x5, 0xfb, 0x0, 0x0, 0x0, - 0xe, 0xf2, 0x0, 0x0, 0x0, 0x9f, 0x70, 0x0, - 0x0, 0x2, 0xfd, 0x0, 0x0, 0x0, 0xc, 0xf4, - 0x0, 0x0, 0x0, 0x6f, 0xa0, 0x0, 0x0, 0x1, - 0x43, + 0x5f, 0x80, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, + 0x0, 0x9, 0xf4, 0x0, 0x0, 0x0, 0x3f, 0xa0, + 0x0, 0x0, 0x0, 0xdf, 0x10, 0x0, 0x0, 0x7, + 0xf7, 0x0, 0x0, 0x0, 0x1f, 0xd0, 0x0, 0x0, + 0x0, 0xaf, 0x30, 0x0, 0x0, 0x4, 0xf9, 0x0, + 0x0, 0x0, 0xe, 0xf0, 0x0, 0x0, 0x0, 0x8f, + 0x50, 0x0, 0x0, 0x2, 0xfb, 0x0, 0x0, 0x0, + 0xc, 0xf2, 0x0, 0x0, 0x0, 0x6f, 0x80, 0x0, + 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x9, 0xf4, + 0x0, 0x0, 0x0, 0x3f, 0xa0, /* U+5D "]" */ - 0x9b, 0xbb, 0x39, 0xcf, 0xf4, 0x0, 0xcf, 0x40, - 0xc, 0xf4, 0x0, 0xcf, 0x40, 0xc, 0xf4, 0x0, - 0xcf, 0x40, 0xc, 0xf4, 0x0, 0xcf, 0x40, 0xc, - 0xf4, 0x0, 0xcf, 0x40, 0xc, 0xf4, 0x0, 0xcf, - 0x40, 0xc, 0xf4, 0x0, 0xcf, 0x40, 0xc, 0xf4, - 0x0, 0xcf, 0x40, 0xc, 0xf4, 0x0, 0xcf, 0x43, - 0x3c, 0xf4, 0xcf, 0xff, 0x43, 0x44, 0x41, + 0x9a, 0xaa, 0x1e, 0xff, 0xf2, 0x0, 0xdf, 0x20, + 0xd, 0xf2, 0x0, 0xdf, 0x20, 0xd, 0xf2, 0x0, + 0xdf, 0x20, 0xd, 0xf2, 0x0, 0xdf, 0x20, 0xd, + 0xf2, 0x0, 0xdf, 0x20, 0xd, 0xf2, 0x0, 0xdf, + 0x20, 0xd, 0xf2, 0x0, 0xdf, 0x20, 0xd, 0xf2, + 0x0, 0xdf, 0x20, 0xd, 0xf2, 0x0, 0xdf, 0x20, + 0xd, 0xf2, 0x9a, 0xff, 0x2e, 0xff, 0xf2, /* U+5E "^" */ - 0x0, 0x3, 0xb5, 0x0, 0x0, 0x0, 0xaf, 0xb0, - 0x0, 0x0, 0x1e, 0xff, 0x30, 0x0, 0x6, 0xfb, - 0xfa, 0x0, 0x0, 0xef, 0x1e, 0xe1, 0x0, 0x4f, - 0xa0, 0x8f, 0x60, 0xa, 0xf5, 0x2, 0xfd, 0x1, - 0xfe, 0x0, 0xb, 0xf4, 0x14, 0x30, 0x0, 0x24, - 0x20, + 0x0, 0x4, 0xf7, 0x0, 0x0, 0x0, 0xbf, 0xd0, + 0x0, 0x0, 0x1f, 0xff, 0x40, 0x0, 0x8, 0xf6, + 0xfa, 0x0, 0x0, 0xee, 0xb, 0xf1, 0x0, 0x4f, + 0x80, 0x5f, 0x70, 0xb, 0xf1, 0x0, 0xed, 0x1, + 0xfb, 0x0, 0x9, 0xf4, /* U+5F "_" */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xaa, 0xaa, - 0xaa, 0xa9, + 0x9a, 0xaa, 0xaa, 0xaa, 0xa9, 0xff, 0xff, 0xff, + 0xff, 0xfe, /* U+60 "`" */ - 0x43, 0x20, 0x6, 0xfd, 0x10, 0x6, 0xf9, 0x0, - 0x5, 0x81, + 0x1d, 0xf5, 0x0, 0x1, 0xef, 0x10, 0x0, 0x2e, + 0xb0, /* U+61 "a" */ - 0x0, 0x28, 0xbb, 0xa4, 0x0, 0x6, 0xff, 0xfe, - 0xff, 0x90, 0x1e, 0xf5, 0x0, 0x4f, 0xf3, 0x28, - 0x60, 0x0, 0xb, 0xf8, 0x0, 0x0, 0x0, 0x8, - 0xf8, 0x0, 0x69, 0xbb, 0xbd, 0xf8, 0x1c, 0xff, - 0xcc, 0xce, 0xf8, 0x9f, 0xd1, 0x0, 0x8, 0xf8, - 0xcf, 0x50, 0x0, 0xa, 0xf8, 0xcf, 0x70, 0x0, - 0x6f, 0xf8, 0x7f, 0xf9, 0x8c, 0xfb, 0xf9, 0x8, - 0xff, 0xfe, 0x47, 0xfc, 0x0, 0x3, 0x20, 0x0, - 0x0, + 0x0, 0x5c, 0xfe, 0xc5, 0x0, 0xa, 0xfe, 0xbb, + 0xff, 0x90, 0x5f, 0xc0, 0x0, 0x2f, 0xf2, 0x48, + 0x30, 0x0, 0xb, 0xf5, 0x0, 0x0, 0x1, 0x1a, + 0xf5, 0x1, 0x9e, 0xff, 0xff, 0xf5, 0x2e, 0xfa, + 0x65, 0x4b, 0xf5, 0xaf, 0x70, 0x0, 0xa, 0xf5, + 0xcf, 0x30, 0x0, 0xb, 0xf5, 0xaf, 0x90, 0x0, + 0x7f, 0xf6, 0x2f, 0xfe, 0xce, 0xfd, 0xf7, 0x2, + 0xbf, 0xfc, 0x45, 0xc8, /* U+62 "b" */ - 0x6b, 0x90, 0x0, 0x0, 0x0, 0x8, 0xfc, 0x0, - 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x0, 0x0, - 0x8, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xc0, - 0x0, 0x0, 0x0, 0x8, 0xfc, 0x29, 0xbb, 0x61, - 0x0, 0x8f, 0xde, 0xff, 0xff, 0xc1, 0x8, 0xff, - 0xa1, 0x3, 0xff, 0x90, 0x8f, 0xd0, 0x0, 0x4, - 0xfe, 0x18, 0xfc, 0x0, 0x0, 0xe, 0xf4, 0x8f, - 0xc0, 0x0, 0x0, 0xcf, 0x68, 0xfc, 0x0, 0x0, - 0xc, 0xf8, 0x8f, 0xc0, 0x0, 0x0, 0xcf, 0x58, - 0xfc, 0x0, 0x0, 0x1e, 0xf4, 0x8f, 0xf3, 0x0, - 0x8, 0xfe, 0x8, 0xfe, 0xf9, 0x7c, 0xff, 0x50, - 0x8f, 0x48, 0xff, 0xfe, 0x50, 0x0, 0x0, 0x0, - 0x42, 0x0, 0x0, + 0x8f, 0x70, 0x0, 0x0, 0x0, 0x8, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x8f, 0x70, 0x0, 0x0, 0x0, + 0x8, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x75, + 0xcf, 0xea, 0x10, 0x8, 0xfd, 0xfd, 0xce, 0xfe, + 0x10, 0x8f, 0xf5, 0x0, 0xc, 0xfa, 0x8, 0xf9, + 0x0, 0x0, 0x2f, 0xf0, 0x8f, 0x70, 0x0, 0x0, + 0xcf, 0x38, 0xf7, 0x0, 0x0, 0xa, 0xf5, 0x8f, + 0x70, 0x0, 0x0, 0xaf, 0x58, 0xf7, 0x0, 0x0, + 0xc, 0xf3, 0x8f, 0x90, 0x0, 0x2, 0xff, 0x8, + 0xff, 0x50, 0x0, 0xcf, 0xa0, 0x8f, 0xdf, 0xdb, + 0xef, 0xe1, 0x8, 0xf5, 0x5c, 0xfe, 0xa1, 0x0, /* U+63 "c" */ - 0x0, 0x27, 0xbb, 0x93, 0x0, 0x4, 0xef, 0xfe, - 0xff, 0x60, 0x1e, 0xf6, 0x0, 0x5f, 0xe2, 0x8f, - 0xb0, 0x0, 0x9, 0xf6, 0xcf, 0x50, 0x0, 0x4, - 0x84, 0xef, 0x40, 0x0, 0x0, 0x0, 0xff, 0x40, - 0x0, 0x0, 0x0, 0xcf, 0x40, 0x0, 0x0, 0x0, - 0xbf, 0x90, 0x0, 0x6, 0xb6, 0x3f, 0xd3, 0x0, - 0xd, 0xf5, 0x9, 0xfe, 0x87, 0xcf, 0xb0, 0x0, - 0x7f, 0xff, 0xf8, 0x10, 0x0, 0x0, 0x13, 0x0, - 0x0, + 0x0, 0x4, 0xbe, 0xfc, 0x50, 0x0, 0x7, 0xff, + 0xbb, 0xff, 0xa0, 0x3, 0xfe, 0x30, 0x1, 0xdf, + 0x50, 0xaf, 0x70, 0x0, 0x4, 0xfa, 0xe, 0xf1, + 0x0, 0x0, 0x3, 0x20, 0xff, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xef, + 0x10, 0x0, 0x0, 0x0, 0xa, 0xf6, 0x0, 0x0, + 0x3e, 0x90, 0x3f, 0xe2, 0x0, 0x1c, 0xf5, 0x0, + 0x7f, 0xfb, 0xbe, 0xf9, 0x0, 0x0, 0x4b, 0xff, + 0xc5, 0x0, /* U+64 "d" */ - 0x0, 0x0, 0x0, 0x3, 0xbb, 0x0, 0x0, 0x0, - 0x4, 0xff, 0x0, 0x0, 0x0, 0x4, 0xff, 0x0, - 0x0, 0x0, 0x4, 0xff, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x0, 0x48, 0xbb, 0x54, 0xff, 0x6, 0xff, - 0xff, 0xfc, 0xff, 0x1e, 0xfa, 0x0, 0x4f, 0xff, - 0x8f, 0xc0, 0x0, 0x5, 0xff, 0xcf, 0x60, 0x0, - 0x4, 0xff, 0xdf, 0x40, 0x0, 0x4, 0xff, 0xff, - 0x40, 0x0, 0x4, 0xff, 0xdf, 0x40, 0x0, 0x4, - 0xff, 0xcf, 0x80, 0x0, 0x4, 0xff, 0x6f, 0xd2, - 0x0, 0xb, 0xff, 0xd, 0xfe, 0x97, 0xde, 0xff, - 0x1, 0xaf, 0xff, 0xc3, 0xef, 0x0, 0x0, 0x32, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xfd, 0x0, 0x0, 0x0, + 0x2, 0xfd, 0x0, 0x0, 0x0, 0x2, 0xfd, 0x0, + 0x0, 0x0, 0x2, 0xfd, 0x0, 0x6d, 0xfe, 0x93, + 0xfd, 0x9, 0xff, 0xcc, 0xfe, 0xfd, 0x3f, 0xf4, + 0x0, 0x1c, 0xfd, 0xaf, 0x80, 0x0, 0x3, 0xfd, + 0xdf, 0x30, 0x0, 0x2, 0xfd, 0xff, 0x10, 0x0, + 0x2, 0xfd, 0xff, 0x0, 0x0, 0x2, 0xfd, 0xdf, + 0x20, 0x0, 0x2, 0xfd, 0xaf, 0x60, 0x0, 0x2, + 0xfd, 0x3f, 0xe1, 0x0, 0xa, 0xfd, 0x9, 0xfe, + 0x98, 0xdf, 0xfd, 0x0, 0x6d, 0xfe, 0xa2, 0xfd, /* U+65 "e" */ - 0x0, 0x17, 0xbb, 0x83, 0x0, 0x3, 0xef, 0xff, - 0xfe, 0x60, 0x1d, 0xf7, 0x0, 0x5f, 0xe1, 0x8f, - 0xb0, 0x0, 0xa, 0xf7, 0xcf, 0x60, 0x0, 0x8, - 0xf8, 0xef, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xa8, - 0x88, 0x88, 0x86, 0xcf, 0x50, 0x0, 0x0, 0x0, - 0xaf, 0xa0, 0x0, 0x0, 0x0, 0x3f, 0xe3, 0x0, - 0x0, 0x20, 0x8, 0xfe, 0x97, 0x7b, 0xf1, 0x0, - 0x5e, 0xff, 0xff, 0xa1, 0x0, 0x0, 0x4, 0x40, - 0x0, + 0x0, 0x3b, 0xef, 0xc5, 0x0, 0x5, 0xff, 0xcb, + 0xff, 0x80, 0x2f, 0xf3, 0x0, 0x2e, 0xf3, 0x9f, + 0x70, 0x0, 0x6, 0xf8, 0xdf, 0x20, 0x0, 0x2, + 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xaa, + 0xaa, 0xaa, 0xa9, 0xef, 0x20, 0x0, 0x0, 0x0, + 0xaf, 0x70, 0x0, 0x0, 0x0, 0x3f, 0xf4, 0x0, + 0x4, 0xe5, 0x7, 0xff, 0xca, 0xcf, 0xe2, 0x0, + 0x4b, 0xef, 0xd9, 0x10, /* U+66 "f" */ - 0x0, 0x4, 0xbe, 0xe3, 0x0, 0x3f, 0xfd, 0xc3, - 0x0, 0xbf, 0xb0, 0x0, 0x0, 0xcf, 0x40, 0x0, - 0x0, 0xcf, 0x40, 0x0, 0x67, 0xdf, 0x97, 0x20, - 0xcf, 0xff, 0xff, 0x40, 0x0, 0xcf, 0x40, 0x0, - 0x0, 0xcf, 0x40, 0x0, 0x0, 0xcf, 0x40, 0x0, - 0x0, 0xcf, 0x40, 0x0, 0x0, 0xcf, 0x40, 0x0, - 0x0, 0xcf, 0x40, 0x0, 0x0, 0xcf, 0x40, 0x0, - 0x0, 0xcf, 0x40, 0x0, 0x0, 0xcf, 0x40, 0x0, - 0x0, 0xcf, 0x40, 0x0, + 0x0, 0x1, 0x9d, 0xf8, 0x0, 0xc, 0xfe, 0xc7, + 0x0, 0x5f, 0xd0, 0x0, 0x0, 0x7f, 0x80, 0x0, + 0x0, 0x8f, 0x70, 0x0, 0x5f, 0xff, 0xff, 0xf0, + 0x39, 0xcf, 0xc9, 0x80, 0x0, 0x8f, 0x70, 0x0, + 0x0, 0x8f, 0x70, 0x0, 0x0, 0x8f, 0x70, 0x0, + 0x0, 0x8f, 0x70, 0x0, 0x0, 0x8f, 0x70, 0x0, + 0x0, 0x8f, 0x70, 0x0, 0x0, 0x8f, 0x70, 0x0, + 0x0, 0x8f, 0x70, 0x0, 0x0, 0x8f, 0x70, 0x0, + 0x0, 0x8f, 0x70, 0x0, /* U+67 "g" */ - 0x0, 0x38, 0xbb, 0x60, 0x67, 0x4, 0xef, 0xff, - 0xfa, 0xef, 0xe, 0xfa, 0x10, 0x2d, 0xff, 0x6f, - 0xe0, 0x0, 0x2, 0xff, 0xaf, 0x90, 0x0, 0x0, - 0xff, 0xcf, 0x60, 0x0, 0x0, 0xff, 0xcf, 0x40, - 0x0, 0x0, 0xff, 0xcf, 0x60, 0x0, 0x0, 0xff, - 0x9f, 0xa0, 0x0, 0x1, 0xff, 0x4f, 0xe3, 0x0, - 0xa, 0xff, 0xc, 0xfe, 0x97, 0xbf, 0xff, 0x0, - 0x9f, 0xff, 0xd3, 0xff, 0x0, 0x0, 0x33, 0x3, - 0xff, 0x0, 0x0, 0x0, 0x6, 0xfc, 0x4, 0x83, - 0x23, 0x5e, 0xf5, 0x8, 0xff, 0xff, 0xff, 0x90, - 0x0, 0x58, 0xca, 0x83, 0x0, + 0x0, 0x6d, 0xfe, 0x91, 0xfd, 0x9, 0xff, 0xcc, + 0xfd, 0xfd, 0x3f, 0xf4, 0x0, 0x1c, 0xfd, 0xaf, + 0x80, 0x0, 0x3, 0xfd, 0xdf, 0x30, 0x0, 0x2, + 0xfd, 0xff, 0x10, 0x0, 0x2, 0xfd, 0xff, 0x10, + 0x0, 0x2, 0xfd, 0xdf, 0x20, 0x0, 0x2, 0xfd, + 0xaf, 0x80, 0x0, 0x3, 0xfd, 0x3f, 0xf4, 0x0, + 0x1c, 0xfd, 0x9, 0xff, 0xcc, 0xfe, 0xfd, 0x0, + 0x6d, 0xfe, 0x93, 0xfd, 0x0, 0x0, 0x0, 0x3, + 0xfc, 0x3, 0x0, 0x0, 0x7, 0xfa, 0x2f, 0x90, + 0x0, 0x3f, 0xf4, 0xc, 0xfe, 0xac, 0xff, 0x90, + 0x0, 0x6c, 0xff, 0xc5, 0x0, /* U+68 "h" */ - 0x6b, 0x90, 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x0, - 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x0, 0x0, 0x8f, - 0xc0, 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x0, - 0x0, 0x8f, 0xc1, 0x8b, 0xb8, 0x10, 0x8f, 0xdc, - 0xff, 0xff, 0xe2, 0x8f, 0xf7, 0x0, 0x2d, 0xfa, - 0x8f, 0xc0, 0x0, 0x5, 0xfc, 0x8f, 0xc0, 0x0, - 0x2, 0xff, 0x8f, 0xc0, 0x0, 0x0, 0xff, 0x8f, - 0xc0, 0x0, 0x0, 0xff, 0x8f, 0xc0, 0x0, 0x0, - 0xff, 0x8f, 0xc0, 0x0, 0x0, 0xff, 0x8f, 0xc0, - 0x0, 0x0, 0xff, 0x8f, 0xc0, 0x0, 0x0, 0xff, - 0x8f, 0xc0, 0x0, 0x0, 0xff, + 0x8f, 0x70, 0x0, 0x0, 0x0, 0x8f, 0x70, 0x0, + 0x0, 0x0, 0x8f, 0x70, 0x0, 0x0, 0x0, 0x8f, + 0x70, 0x0, 0x0, 0x0, 0x8f, 0x74, 0xbf, 0xeb, + 0x20, 0x8f, 0xcf, 0xdc, 0xef, 0xe1, 0x8f, 0xf6, + 0x0, 0xd, 0xf6, 0x8f, 0x90, 0x0, 0x7, 0xf9, + 0x8f, 0x70, 0x0, 0x5, 0xfa, 0x8f, 0x70, 0x0, + 0x5, 0xfa, 0x8f, 0x70, 0x0, 0x5, 0xfa, 0x8f, + 0x70, 0x0, 0x5, 0xfa, 0x8f, 0x70, 0x0, 0x5, + 0xfa, 0x8f, 0x70, 0x0, 0x5, 0xfa, 0x8f, 0x70, + 0x0, 0x5, 0xfa, 0x8f, 0x70, 0x0, 0x5, 0xfa, /* U+69 "i" */ - 0x3b, 0x94, 0xfc, 0x28, 0x60, 0x0, 0x0, 0x2, - 0x76, 0x4f, 0xc4, 0xfc, 0x4f, 0xc4, 0xfc, 0x4f, - 0xc4, 0xfc, 0x4f, 0xc4, 0xfc, 0x4f, 0xc4, 0xfc, - 0x4f, 0xc0, + 0x3f, 0x96, 0xfc, 0x4, 0x10, 0x0, 0x5f, 0xa5, + 0xfa, 0x5f, 0xa5, 0xfa, 0x5f, 0xa5, 0xfa, 0x5f, + 0xa5, 0xfa, 0x5f, 0xa5, 0xfa, 0x5f, 0xa5, 0xfa, /* U+6A "j" */ - 0x0, 0x3b, 0xb0, 0x4, 0xff, 0x0, 0x14, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x77, 0x0, - 0x4f, 0xf0, 0x4, 0xff, 0x0, 0x4f, 0xf0, 0x4, - 0xff, 0x0, 0x4f, 0xf0, 0x4, 0xff, 0x0, 0x4f, - 0xf0, 0x4, 0xff, 0x0, 0x4f, 0xf0, 0x4, 0xff, - 0x0, 0x4f, 0xf0, 0x4, 0xff, 0x0, 0x4f, 0xe0, - 0x19, 0xfb, 0xaf, 0xff, 0x37, 0xb8, 0x20, + 0x0, 0x6f, 0x60, 0x8, 0xf9, 0x0, 0x4, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0x90, 0x7, 0xf9, 0x0, + 0x7f, 0x90, 0x7, 0xf9, 0x0, 0x7f, 0x90, 0x7, + 0xf9, 0x0, 0x7f, 0x90, 0x7, 0xf9, 0x0, 0x7f, + 0x90, 0x7, 0xf9, 0x0, 0x7f, 0x90, 0x7, 0xf9, + 0x0, 0x7f, 0x90, 0x7, 0xf8, 0x0, 0x9f, 0x78, + 0xcf, 0xf2, 0xaf, 0xd5, 0x0, /* U+6B "k" */ - 0x6b, 0x90, 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x0, - 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x0, 0x0, 0x8f, - 0xc0, 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x0, - 0x0, 0x8f, 0xc0, 0x0, 0x17, 0x73, 0x8f, 0xc0, - 0x0, 0x9f, 0xd1, 0x8f, 0xc0, 0x5, 0xff, 0x30, - 0x8f, 0xc0, 0x1e, 0xf6, 0x0, 0x8f, 0xc0, 0xcf, - 0xa0, 0x0, 0x8f, 0xff, 0xfe, 0x10, 0x0, 0x8f, - 0xfc, 0xff, 0x40, 0x0, 0x8f, 0xc0, 0x7f, 0xe1, - 0x0, 0x8f, 0xc0, 0xc, 0xfa, 0x0, 0x8f, 0xc0, - 0x2, 0xff, 0x60, 0x8f, 0xc0, 0x0, 0x7f, 0xe2, - 0x8f, 0xc0, 0x0, 0xc, 0xfb, + 0x7f, 0x80, 0x0, 0x0, 0x0, 0x7, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0x80, 0x0, 0x0, 0x0, + 0x7, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x80, + 0x0, 0x4f, 0xf3, 0x7, 0xf8, 0x0, 0x3f, 0xf4, + 0x0, 0x7f, 0x80, 0x2e, 0xf5, 0x0, 0x7, 0xf8, + 0x2e, 0xf7, 0x0, 0x0, 0x7f, 0x8d, 0xf8, 0x0, + 0x0, 0x7, 0xff, 0xff, 0x60, 0x0, 0x0, 0x7f, + 0xfc, 0xff, 0x20, 0x0, 0x7, 0xfc, 0x7, 0xfd, + 0x0, 0x0, 0x7f, 0x80, 0xc, 0xf9, 0x0, 0x7, + 0xf8, 0x0, 0x1e, 0xf5, 0x0, 0x7f, 0x80, 0x0, + 0x4f, 0xe1, 0x7, 0xf8, 0x0, 0x0, 0x9f, 0xc0, /* U+6C "l" */ - 0x3c, 0xa4, 0xfd, 0x4f, 0xd4, 0xfd, 0x4f, 0xd4, - 0xfd, 0x4f, 0xd4, 0xfd, 0x4f, 0xd4, 0xfd, 0x4f, - 0xd4, 0xfd, 0x4f, 0xd4, 0xfd, 0x4f, 0xd4, 0xfd, - 0x4f, 0xd0, + 0x5f, 0xa5, 0xfa, 0x5f, 0xa5, 0xfa, 0x5f, 0xa5, + 0xfa, 0x5f, 0xa5, 0xfa, 0x5f, 0xa5, 0xfa, 0x5f, + 0xa5, 0xfa, 0x5f, 0xa5, 0xfa, 0x5f, 0xa5, 0xfa, /* U+6D "m" */ - 0x47, 0x41, 0x8b, 0xb8, 0x10, 0x29, 0xbb, 0x60, - 0x8, 0xfb, 0xef, 0xff, 0xfc, 0x3e, 0xff, 0xff, - 0xa0, 0x8f, 0xf7, 0x0, 0x5f, 0xfe, 0xa1, 0x4, - 0xff, 0x48, 0xfc, 0x0, 0x0, 0xaf, 0xf1, 0x0, - 0xa, 0xf8, 0x8f, 0xc0, 0x0, 0x8, 0xfc, 0x0, - 0x0, 0x8f, 0xa8, 0xfc, 0x0, 0x0, 0x8f, 0xc0, - 0x0, 0x8, 0xfc, 0x8f, 0xc0, 0x0, 0x8, 0xfc, - 0x0, 0x0, 0x8f, 0xc8, 0xfc, 0x0, 0x0, 0x8f, - 0xc0, 0x0, 0x8, 0xfc, 0x8f, 0xc0, 0x0, 0x8, - 0xfc, 0x0, 0x0, 0x8f, 0xc8, 0xfc, 0x0, 0x0, - 0x8f, 0xc0, 0x0, 0x8, 0xfc, 0x8f, 0xc0, 0x0, - 0x8, 0xfc, 0x0, 0x0, 0x8f, 0xc8, 0xfc, 0x0, - 0x0, 0x8f, 0xc0, 0x0, 0x8, 0xfc, + 0x8f, 0x65, 0xcf, 0xea, 0x10, 0x4c, 0xfe, 0xb3, + 0x8, 0xfd, 0xfc, 0xcf, 0xfe, 0x7f, 0xec, 0xef, + 0xf2, 0x8f, 0xf3, 0x0, 0x1e, 0xff, 0x70, 0x0, + 0xbf, 0x88, 0xf8, 0x0, 0x0, 0x7f, 0xd0, 0x0, + 0x4, 0xfb, 0x8f, 0x70, 0x0, 0x5, 0xfa, 0x0, + 0x0, 0x3f, 0xc8, 0xf7, 0x0, 0x0, 0x5f, 0xa0, + 0x0, 0x3, 0xfc, 0x8f, 0x70, 0x0, 0x5, 0xfa, + 0x0, 0x0, 0x3f, 0xc8, 0xf7, 0x0, 0x0, 0x5f, + 0xa0, 0x0, 0x3, 0xfc, 0x8f, 0x70, 0x0, 0x5, + 0xfa, 0x0, 0x0, 0x3f, 0xc8, 0xf7, 0x0, 0x0, + 0x5f, 0xa0, 0x0, 0x3, 0xfc, 0x8f, 0x70, 0x0, + 0x5, 0xfa, 0x0, 0x0, 0x3f, 0xc8, 0xf7, 0x0, + 0x0, 0x5f, 0xa0, 0x0, 0x3, 0xfc, /* U+6E "n" */ - 0x47, 0x41, 0x7b, 0xb8, 0x10, 0x8f, 0x9c, 0xff, - 0xff, 0xe2, 0x8f, 0xf7, 0x0, 0x2d, 0xfa, 0x8f, - 0xc0, 0x0, 0x5, 0xfc, 0x8f, 0xc0, 0x0, 0x4, - 0xff, 0x8f, 0xc0, 0x0, 0x4, 0xff, 0x8f, 0xc0, - 0x0, 0x4, 0xff, 0x8f, 0xc0, 0x0, 0x4, 0xff, - 0x8f, 0xc0, 0x0, 0x4, 0xff, 0x8f, 0xc0, 0x0, - 0x4, 0xff, 0x8f, 0xc0, 0x0, 0x4, 0xff, 0x8f, - 0xc0, 0x0, 0x4, 0xff, + 0x8f, 0x64, 0xbf, 0xeb, 0x20, 0x8f, 0xcf, 0xdc, + 0xef, 0xe1, 0x8f, 0xf6, 0x0, 0xd, 0xf6, 0x8f, + 0x90, 0x0, 0x7, 0xf9, 0x8f, 0x70, 0x0, 0x5, + 0xfa, 0x8f, 0x70, 0x0, 0x5, 0xfa, 0x8f, 0x70, + 0x0, 0x5, 0xfa, 0x8f, 0x70, 0x0, 0x5, 0xfa, + 0x8f, 0x70, 0x0, 0x5, 0xfa, 0x8f, 0x70, 0x0, + 0x5, 0xfa, 0x8f, 0x70, 0x0, 0x5, 0xfa, 0x8f, + 0x70, 0x0, 0x5, 0xfa, /* U+6F "o" */ - 0x0, 0x17, 0xbb, 0x85, 0x0, 0x0, 0x3e, 0xff, - 0xef, 0xf8, 0x0, 0x1d, 0xf9, 0x0, 0x3f, 0xf7, - 0x8, 0xfc, 0x0, 0x0, 0x4f, 0xe1, 0xcf, 0x50, - 0x0, 0x0, 0xef, 0x4e, 0xf4, 0x0, 0x0, 0xc, - 0xf6, 0xff, 0x40, 0x0, 0x0, 0xcf, 0x7c, 0xf4, - 0x0, 0x0, 0xc, 0xf4, 0xaf, 0x90, 0x0, 0x2, - 0xff, 0x22, 0xfe, 0x30, 0x0, 0xaf, 0xa0, 0x9, - 0xfe, 0x87, 0xbf, 0xf2, 0x0, 0x6, 0xef, 0xff, - 0xb1, 0x0, 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xbe, 0xfd, 0x70, 0x0, 0x0, 0x6f, + 0xfc, 0xbe, 0xfd, 0x10, 0x2, 0xff, 0x50, 0x0, + 0xbf, 0xa0, 0x9, 0xf8, 0x0, 0x0, 0xf, 0xf2, + 0xd, 0xf2, 0x0, 0x0, 0x9, 0xf6, 0xf, 0xf0, + 0x0, 0x0, 0x7, 0xf8, 0xf, 0xf0, 0x0, 0x0, + 0x7, 0xf8, 0xe, 0xf2, 0x0, 0x0, 0x9, 0xf6, + 0x9, 0xf8, 0x0, 0x0, 0xe, 0xf2, 0x2, 0xff, + 0x40, 0x0, 0xaf, 0xb0, 0x0, 0x6f, 0xfc, 0xae, + 0xfd, 0x10, 0x0, 0x3, 0xbe, 0xfd, 0x80, 0x0, /* U+70 "p" */ - 0x47, 0x22, 0x9b, 0xa6, 0x10, 0x8, 0xf9, 0xef, - 0xff, 0xfc, 0x10, 0x8f, 0xf7, 0x0, 0x4f, 0xf8, - 0x8, 0xfc, 0x0, 0x0, 0x5f, 0xe1, 0x8f, 0xc0, - 0x0, 0x0, 0xef, 0x48, 0xfc, 0x0, 0x0, 0xc, - 0xf4, 0x8f, 0xc0, 0x0, 0x0, 0xcf, 0x88, 0xfc, - 0x0, 0x0, 0xc, 0xf4, 0x8f, 0xc0, 0x0, 0x1, - 0xef, 0x48, 0xfe, 0x10, 0x0, 0x9f, 0xe0, 0x8f, - 0xfe, 0x87, 0xbf, 0xf5, 0x8, 0xfc, 0x8f, 0xff, - 0xe4, 0x0, 0x8f, 0xc0, 0x4, 0x20, 0x0, 0x8, - 0xfc, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x0, - 0x0, 0x0, 0x8, 0xfc, 0x0, 0x0, 0x0, 0x0, - 0x48, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x8f, 0x57, 0xdf, 0xea, 0x10, 0x8, 0xff, 0xe9, + 0x8d, 0xfe, 0x10, 0x8f, 0xd1, 0x0, 0xb, 0xfa, + 0x8, 0xf7, 0x0, 0x0, 0x2f, 0xf0, 0x8f, 0x70, + 0x0, 0x0, 0xdf, 0x38, 0xf7, 0x0, 0x0, 0xb, + 0xf4, 0x8f, 0x70, 0x0, 0x0, 0xbf, 0x48, 0xf7, + 0x0, 0x0, 0xd, 0xf3, 0x8f, 0x80, 0x0, 0x3, + 0xff, 0x8, 0xfe, 0x20, 0x1, 0xcf, 0x90, 0x8f, + 0xef, 0xba, 0xef, 0xe1, 0x8, 0xf7, 0x6d, 0xfe, + 0xa1, 0x0, 0x8f, 0x70, 0x0, 0x0, 0x0, 0x8, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x70, 0x0, + 0x0, 0x0, 0x8, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x8f, 0x70, 0x0, 0x0, 0x0, 0x0, /* U+71 "q" */ - 0x0, 0x48, 0xbb, 0x50, 0x86, 0x6, 0xff, 0xfe, - 0xfa, 0xfc, 0x1e, 0xf7, 0x0, 0x3e, 0xfc, 0x8f, - 0xc0, 0x0, 0x5, 0xfc, 0xcf, 0x60, 0x0, 0x4, - 0xfc, 0xdf, 0x40, 0x0, 0x4, 0xfc, 0xff, 0x40, - 0x0, 0x4, 0xfc, 0xdf, 0x40, 0x0, 0x4, 0xfc, - 0xcf, 0x80, 0x0, 0x4, 0xfc, 0x6f, 0xd1, 0x0, - 0xb, 0xfc, 0xd, 0xfd, 0x87, 0xbf, 0xfc, 0x1, - 0xaf, 0xff, 0xc7, 0xfc, 0x0, 0x0, 0x32, 0x4, - 0xfc, 0x0, 0x0, 0x0, 0x4, 0xfc, 0x0, 0x0, - 0x0, 0x4, 0xfc, 0x0, 0x0, 0x0, 0x4, 0xfc, - 0x0, 0x0, 0x0, 0x2, 0x86, + 0x0, 0x6d, 0xfe, 0x92, 0xfd, 0x9, 0xff, 0xcb, + 0xfe, 0xfd, 0x4f, 0xf4, 0x0, 0xb, 0xfd, 0xaf, + 0x80, 0x0, 0x2, 0xfd, 0xdf, 0x20, 0x0, 0x2, + 0xfd, 0xff, 0x0, 0x0, 0x2, 0xfd, 0xff, 0x0, + 0x0, 0x2, 0xfd, 0xdf, 0x20, 0x0, 0x2, 0xfd, + 0xaf, 0x70, 0x0, 0x3, 0xfd, 0x3f, 0xf3, 0x0, + 0xc, 0xfd, 0x9, 0xff, 0xba, 0xef, 0xfd, 0x0, + 0x6d, 0xfe, 0x94, 0xfd, 0x0, 0x0, 0x0, 0x2, + 0xfd, 0x0, 0x0, 0x0, 0x2, 0xfd, 0x0, 0x0, + 0x0, 0x2, 0xfd, 0x0, 0x0, 0x0, 0x2, 0xfd, + 0x0, 0x0, 0x0, 0x2, 0xfd, /* U+72 "r" */ - 0x47, 0x42, 0x9b, 0x38, 0xf9, 0xef, 0xf2, 0x8f, - 0xfb, 0x44, 0x8, 0xfd, 0x0, 0x0, 0x8f, 0xc0, - 0x0, 0x8, 0xfc, 0x0, 0x0, 0x8f, 0xc0, 0x0, - 0x8, 0xfc, 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x8, - 0xfc, 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x8, 0xfc, + 0x8f, 0x78, 0xef, 0x18, 0xff, 0xfd, 0xc1, 0x8f, + 0xf3, 0x0, 0x8, 0xf8, 0x0, 0x0, 0x8f, 0x70, + 0x0, 0x8, 0xf7, 0x0, 0x0, 0x8f, 0x70, 0x0, + 0x8, 0xf7, 0x0, 0x0, 0x8f, 0x70, 0x0, 0x8, + 0xf7, 0x0, 0x0, 0x8f, 0x70, 0x0, 0x8, 0xf7, 0x0, 0x0, /* U+73 "s" */ - 0x0, 0x4a, 0xbb, 0x82, 0x0, 0x9, 0xff, 0xef, - 0xfe, 0x40, 0x3f, 0xf3, 0x0, 0x8f, 0xe0, 0x8f, - 0xc0, 0x0, 0xb, 0xc2, 0x5f, 0xe4, 0x0, 0x0, - 0x0, 0x9, 0xff, 0xd9, 0x40, 0x0, 0x0, 0x4a, - 0xef, 0xfd, 0x30, 0x0, 0x0, 0x3, 0xaf, 0xe2, - 0x67, 0x20, 0x0, 0xd, 0xf5, 0xaf, 0xa0, 0x0, - 0x1d, 0xf4, 0x2f, 0xfb, 0x77, 0xdf, 0xd0, 0x2, - 0xcf, 0xff, 0xfa, 0x10, 0x0, 0x0, 0x32, 0x0, - 0x0, + 0x0, 0x7d, 0xfe, 0xb3, 0x0, 0xc, 0xfe, 0xbc, + 0xff, 0x50, 0x6f, 0xb0, 0x0, 0x6f, 0xe0, 0x8f, + 0x70, 0x0, 0x9, 0xa1, 0x5f, 0xe5, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfc, 0x71, 0x0, 0x0, 0x16, + 0xae, 0xff, 0x50, 0x0, 0x0, 0x0, 0x6f, 0xf1, + 0xbc, 0x10, 0x0, 0xc, 0xf3, 0xbf, 0x90, 0x0, + 0x2f, 0xf1, 0x2e, 0xfe, 0xab, 0xff, 0x80, 0x1, + 0x9d, 0xfe, 0xb5, 0x0, /* U+74 "t" */ - 0x0, 0x87, 0x20, 0x0, 0xf, 0xf4, 0x0, 0x0, - 0xff, 0x40, 0x6, 0x7f, 0xf9, 0x74, 0xcf, 0xff, - 0xff, 0x80, 0xf, 0xf4, 0x0, 0x0, 0xff, 0x40, - 0x0, 0xf, 0xf4, 0x0, 0x0, 0xff, 0x40, 0x0, - 0xf, 0xf4, 0x0, 0x0, 0xff, 0x40, 0x0, 0xf, - 0xf4, 0x0, 0x0, 0xcf, 0x50, 0x0, 0xa, 0xfd, - 0x72, 0x0, 0x2d, 0xff, 0x80, 0x0, 0x2, 0x30, + 0x0, 0xcf, 0x30, 0x0, 0xc, 0xf3, 0x0, 0x0, + 0xcf, 0x30, 0xe, 0xff, 0xff, 0xf6, 0x89, 0xef, + 0xa9, 0x30, 0xc, 0xf3, 0x0, 0x0, 0xcf, 0x30, + 0x0, 0xc, 0xf3, 0x0, 0x0, 0xcf, 0x30, 0x0, + 0xc, 0xf3, 0x0, 0x0, 0xcf, 0x30, 0x0, 0xc, + 0xf3, 0x0, 0x0, 0xbf, 0x50, 0x0, 0x7, 0xff, + 0xb5, 0x0, 0x9, 0xff, 0x50, /* U+75 "u" */ - 0x47, 0x40, 0x0, 0x2, 0x77, 0x8f, 0x80, 0x0, - 0x4, 0xff, 0x8f, 0x80, 0x0, 0x4, 0xff, 0x8f, - 0x80, 0x0, 0x4, 0xff, 0x8f, 0x80, 0x0, 0x4, - 0xff, 0x8f, 0x80, 0x0, 0x4, 0xff, 0x8f, 0x80, - 0x0, 0x4, 0xff, 0x8f, 0xa0, 0x0, 0x4, 0xff, - 0x5f, 0xc0, 0x0, 0x4, 0xff, 0x3f, 0xe1, 0x0, - 0xb, 0xff, 0xc, 0xfd, 0x87, 0xdc, 0xff, 0x1, - 0xbf, 0xff, 0xa1, 0xff, 0x0, 0x0, 0x41, 0x0, - 0x0, + 0x8f, 0x70, 0x0, 0x6, 0xf9, 0x8f, 0x70, 0x0, + 0x6, 0xf9, 0x8f, 0x70, 0x0, 0x6, 0xf9, 0x8f, + 0x70, 0x0, 0x6, 0xf9, 0x8f, 0x70, 0x0, 0x6, + 0xf9, 0x8f, 0x70, 0x0, 0x6, 0xf9, 0x8f, 0x70, + 0x0, 0x6, 0xf9, 0x8f, 0x70, 0x0, 0x6, 0xf9, + 0x7f, 0x90, 0x0, 0x6, 0xf9, 0x4f, 0xe1, 0x0, + 0x3e, 0xf9, 0xc, 0xfe, 0xbd, 0xfe, 0xf9, 0x1, + 0xae, 0xfd, 0x85, 0xf9, /* U+76 "v" */ - 0x37, 0x60, 0x0, 0x0, 0x47, 0x42, 0xff, 0x10, - 0x0, 0xd, 0xf5, 0xb, 0xf6, 0x0, 0x2, 0xfe, - 0x0, 0x6f, 0xb0, 0x0, 0x7f, 0x90, 0x0, 0xff, - 0x10, 0xd, 0xf3, 0x0, 0xa, 0xf6, 0x2, 0xfd, - 0x0, 0x0, 0x3f, 0xb0, 0x7f, 0x70, 0x0, 0x0, - 0xef, 0x1d, 0xf1, 0x0, 0x0, 0x7, 0xf8, 0xfb, - 0x0, 0x0, 0x0, 0x2f, 0xdf, 0x60, 0x0, 0x0, - 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x6, 0xfa, + 0x7f, 0x80, 0x0, 0x0, 0xef, 0x11, 0xfe, 0x0, + 0x0, 0x4f, 0xb0, 0xc, 0xf3, 0x0, 0x9, 0xf6, + 0x0, 0x6f, 0x80, 0x0, 0xef, 0x0, 0x1, 0xfd, + 0x0, 0x3f, 0xa0, 0x0, 0xb, 0xf2, 0x8, 0xf5, + 0x0, 0x0, 0x5f, 0x80, 0xdf, 0x0, 0x0, 0x0, + 0xfd, 0x2f, 0xa0, 0x0, 0x0, 0xa, 0xfa, 0xf4, + 0x0, 0x0, 0x0, 0x5f, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0xef, 0x90, 0x0, 0x0, 0x0, 0x9, 0xf4, 0x0, 0x0, /* U+77 "w" */ - 0x37, 0x60, 0x0, 0x6, 0x72, 0x0, 0x2, 0x77, - 0x3f, 0xe0, 0x0, 0xf, 0xf8, 0x0, 0x6, 0xfd, - 0xe, 0xf3, 0x0, 0x3f, 0xfc, 0x0, 0x9, 0xf8, - 0xa, 0xf7, 0x0, 0x9f, 0xcf, 0x20, 0xd, 0xf3, - 0x5, 0xfb, 0x0, 0xef, 0x6f, 0x70, 0x1f, 0xe0, - 0x1, 0xfe, 0x3, 0xfa, 0x1f, 0xc0, 0x4f, 0xa0, - 0x0, 0xcf, 0x37, 0xf5, 0xd, 0xf1, 0x8f, 0x50, - 0x0, 0x7f, 0x7d, 0xf0, 0x7, 0xf6, 0xcf, 0x10, - 0x0, 0x2f, 0xaf, 0xb0, 0x2, 0xfa, 0xfc, 0x0, - 0x0, 0xe, 0xff, 0x60, 0x0, 0xde, 0xf7, 0x0, - 0x0, 0x9, 0xff, 0x10, 0x0, 0x7f, 0xf3, 0x0, - 0x0, 0x5, 0xfb, 0x0, 0x0, 0x2f, 0xe0, 0x0, + 0x6f, 0x90, 0x0, 0xb, 0xf2, 0x0, 0x1, 0xfd, + 0x1, 0xfd, 0x0, 0x0, 0xff, 0x70, 0x0, 0x5f, + 0x90, 0xd, 0xf1, 0x0, 0x5f, 0xfc, 0x0, 0x9, + 0xf5, 0x0, 0x8f, 0x50, 0x9, 0xfa, 0xf1, 0x0, + 0xdf, 0x0, 0x4, 0xf9, 0x0, 0xeb, 0x4f, 0x60, + 0x1f, 0xc0, 0x0, 0xf, 0xd0, 0x3f, 0x60, 0xfb, + 0x5, 0xf7, 0x0, 0x0, 0xbf, 0x18, 0xf1, 0xb, + 0xf0, 0x9f, 0x30, 0x0, 0x6, 0xf5, 0xdd, 0x0, + 0x6f, 0x5d, 0xe0, 0x0, 0x0, 0x2f, 0xbf, 0x80, + 0x1, 0xfb, 0xfa, 0x0, 0x0, 0x0, 0xdf, 0xf3, + 0x0, 0xc, 0xff, 0x50, 0x0, 0x0, 0x9, 0xfe, + 0x0, 0x0, 0x7f, 0xf1, 0x0, 0x0, 0x0, 0x5f, + 0x90, 0x0, 0x2, 0xfc, 0x0, 0x0, /* U+78 "x" */ - 0x18, 0x72, 0x0, 0x2, 0x77, 0x10, 0xbf, 0xa0, - 0x0, 0xbf, 0xb0, 0x1, 0xff, 0x40, 0x4f, 0xf1, - 0x0, 0x5, 0xfc, 0xe, 0xf6, 0x0, 0x0, 0xb, - 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x20, - 0x0, 0x0, 0x0, 0xef, 0xd1, 0x0, 0x0, 0x0, - 0x8f, 0xef, 0x90, 0x0, 0x0, 0x3f, 0xf2, 0xff, - 0x40, 0x0, 0xd, 0xf6, 0x6, 0xfd, 0x10, 0x8, - 0xfd, 0x0, 0xc, 0xf8, 0x3, 0xff, 0x40, 0x0, - 0x4f, 0xf3, + 0x2f, 0xf2, 0x0, 0x5, 0xfe, 0x10, 0x7f, 0xb0, + 0x0, 0xef, 0x50, 0x0, 0xdf, 0x50, 0x8f, 0xb0, + 0x0, 0x3, 0xfe, 0x3f, 0xf1, 0x0, 0x0, 0x9, + 0xff, 0xf6, 0x0, 0x0, 0x0, 0xe, 0xfc, 0x0, + 0x0, 0x0, 0x1, 0xef, 0xd0, 0x0, 0x0, 0x0, + 0xaf, 0xdf, 0x80, 0x0, 0x0, 0x4f, 0xd1, 0xef, + 0x20, 0x0, 0xe, 0xf3, 0x6, 0xfc, 0x0, 0x9, + 0xfa, 0x0, 0xc, 0xf7, 0x3, 0xff, 0x10, 0x0, + 0x3f, 0xf2, /* U+79 "y" */ - 0x47, 0x60, 0x0, 0x0, 0x67, 0x55, 0xff, 0x10, - 0x0, 0xf, 0xf6, 0xe, 0xf6, 0x0, 0x5, 0xff, - 0x0, 0x9f, 0xb0, 0x0, 0xaf, 0xa0, 0x2, 0xff, - 0x10, 0xf, 0xf4, 0x0, 0xd, 0xf6, 0x5, 0xfe, - 0x0, 0x0, 0x6f, 0xb0, 0xaf, 0x90, 0x0, 0x1, - 0xff, 0x1f, 0xf2, 0x0, 0x0, 0xa, 0xfa, 0xfd, - 0x0, 0x0, 0x0, 0x4f, 0xff, 0x60, 0x0, 0x0, - 0x0, 0xef, 0xf1, 0x0, 0x0, 0x0, 0x9, 0xfb, - 0x0, 0x0, 0x0, 0x0, 0xbf, 0x50, 0x0, 0x0, - 0x0, 0x2f, 0xf0, 0x0, 0x0, 0x2, 0x2c, 0xf8, - 0x0, 0x0, 0x0, 0xcf, 0xfd, 0x10, 0x0, 0x0, - 0x7, 0xb7, 0x10, 0x0, 0x0, 0x0, + 0x9f, 0x90, 0x0, 0x2, 0xff, 0x3, 0xfe, 0x0, + 0x0, 0x7f, 0xa0, 0xe, 0xf3, 0x0, 0xc, 0xf4, + 0x0, 0x8f, 0x80, 0x1, 0xff, 0x0, 0x3, 0xfe, + 0x0, 0x5f, 0xa0, 0x0, 0xd, 0xf3, 0xa, 0xf4, + 0x0, 0x0, 0x8f, 0x80, 0xff, 0x0, 0x0, 0x2, + 0xfd, 0x4f, 0xa0, 0x0, 0x0, 0xd, 0xfc, 0xf4, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, + 0x2, 0xff, 0xa0, 0x0, 0x0, 0x0, 0xc, 0xf4, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xa0, 0x0, 0x0, 0x0, 0xb, 0xf3, + 0x0, 0x0, 0x1, 0xdf, 0xfa, 0x0, 0x0, 0x0, + 0x1f, 0xf9, 0x0, 0x0, 0x0, 0x0, /* U+7A "z" */ - 0x87, 0x77, 0x77, 0x77, 0x70, 0xff, 0xff, 0xff, - 0xff, 0xf0, 0x0, 0x0, 0x2, 0xef, 0x60, 0x0, - 0x0, 0xc, 0xfa, 0x0, 0x0, 0x0, 0x8f, 0xd1, - 0x0, 0x0, 0x4, 0xff, 0x30, 0x0, 0x0, 0x1e, - 0xf6, 0x0, 0x0, 0x0, 0xcf, 0xa0, 0x0, 0x0, - 0x8, 0xfe, 0x10, 0x0, 0x0, 0x4f, 0xf3, 0x0, - 0x0, 0x0, 0xff, 0xeb, 0xbb, 0xbb, 0xb3, 0xff, - 0xff, 0xff, 0xff, 0xf4, + 0xf, 0xff, 0xff, 0xff, 0xfd, 0x0, 0xaa, 0xaa, + 0xaa, 0xef, 0xb0, 0x0, 0x0, 0x0, 0x4f, 0xf2, + 0x0, 0x0, 0x0, 0x1e, 0xf5, 0x0, 0x0, 0x0, + 0xb, 0xf9, 0x0, 0x0, 0x0, 0x6, 0xfd, 0x0, + 0x0, 0x0, 0x2, 0xff, 0x30, 0x0, 0x0, 0x0, + 0xdf, 0x70, 0x0, 0x0, 0x0, 0x9f, 0xb0, 0x0, + 0x0, 0x0, 0x5f, 0xe1, 0x0, 0x0, 0x0, 0xe, + 0xfd, 0xaa, 0xaa, 0xaa, 0x10, 0xff, 0xff, 0xff, + 0xff, 0xf2, /* U+7B "{" */ - 0x0, 0x0, 0x19, 0xe1, 0x0, 0x1, 0xcf, 0x81, - 0x0, 0x9, 0xf9, 0x0, 0x0, 0xf, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x4e, 0xf1, + 0x0, 0x2, 0xfe, 0x20, 0x0, 0xa, 0xf5, 0x0, + 0x0, 0xe, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x0, - 0x0, 0xf, 0xf0, 0x0, 0x0, 0x2f, 0xf0, 0x0, - 0x0, 0x6f, 0xd0, 0x0, 0x28, 0xff, 0x40, 0x0, - 0x4f, 0xf8, 0x0, 0x0, 0x15, 0xef, 0x70, 0x0, - 0x0, 0x5f, 0xd0, 0x0, 0x0, 0x2f, 0xf0, 0x0, + 0x0, 0x1f, 0xe0, 0x0, 0x0, 0x7f, 0xa0, 0x0, + 0x3b, 0xfe, 0x10, 0x0, 0x5f, 0xf9, 0x0, 0x0, + 0x2, 0xcf, 0x60, 0x0, 0x0, 0x3f, 0xc0, 0x0, + 0x0, 0xf, 0xe0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x0, - 0x0, 0xf, 0xf0, 0x0, 0x0, 0xe, 0xf5, 0x0, - 0x0, 0x7, 0xfa, 0x0, 0x0, 0x0, 0xaf, 0xb2, - 0x0, 0x0, 0x6, 0xb0, + 0x0, 0xc, 0xf3, 0x0, 0x0, 0x6, 0xfa, 0x0, + 0x0, 0x0, 0xaf, 0xb1, 0x0, 0x0, 0x5, 0xb0, /* U+7C "|" */ - 0x4a, 0x66, 0xfa, 0x6f, 0xa6, 0xfa, 0x6f, 0xa6, - 0xfa, 0x6f, 0xa6, 0xfa, 0x6f, 0xa6, 0xfa, 0x6f, - 0xa6, 0xfa, 0x6f, 0xa6, 0xfa, 0x6f, 0xa6, 0xfa, - 0x6f, 0xa6, 0xfa, 0x6e, 0x90, + 0x2f, 0x72, 0xf7, 0x2f, 0x72, 0xf7, 0x2f, 0x72, + 0xf7, 0x2f, 0x72, 0xf7, 0x2f, 0x72, 0xf7, 0x2f, + 0x72, 0xf7, 0x2f, 0x72, 0xf7, 0x2f, 0x72, 0xf7, + 0x2f, 0x72, 0xf7, 0x2f, 0x70, /* U+7D "}" */ - 0x9c, 0x50, 0x0, 0x4, 0xdf, 0x60, 0x0, 0x2, - 0xfe, 0x10, 0x0, 0xc, 0xf5, 0x0, 0x0, 0xaf, - 0x80, 0x0, 0x8, 0xf8, 0x0, 0x0, 0x8f, 0x80, - 0x0, 0x8, 0xf8, 0x0, 0x0, 0x6f, 0xd0, 0x0, - 0x0, 0xcf, 0xb6, 0x0, 0x2, 0xdf, 0xc0, 0x1, - 0xdf, 0x83, 0x0, 0x6f, 0xc0, 0x0, 0x8, 0xf8, - 0x0, 0x0, 0x8f, 0x80, 0x0, 0x8, 0xf8, 0x0, - 0x0, 0xbf, 0x80, 0x0, 0xd, 0xf4, 0x0, 0x5, - 0xfe, 0x0, 0x7, 0xef, 0x30, 0x0, 0x69, 0x20, - 0x0, 0x0, + 0x22, 0x0, 0x0, 0xa, 0xf9, 0x0, 0x0, 0xa, + 0xf9, 0x0, 0x0, 0xe, 0xf1, 0x0, 0x0, 0xaf, + 0x50, 0x0, 0x8, 0xf6, 0x0, 0x0, 0x8f, 0x70, + 0x0, 0x8, 0xf7, 0x0, 0x0, 0x7f, 0x80, 0x0, + 0x3, 0xfd, 0x0, 0x0, 0x8, 0xfd, 0x70, 0x0, + 0x2e, 0xfb, 0x0, 0x1e, 0xf5, 0x0, 0x6, 0xfa, + 0x0, 0x0, 0x8f, 0x70, 0x0, 0x8, 0xf7, 0x0, + 0x0, 0x8f, 0x70, 0x0, 0x9, 0xf5, 0x0, 0x0, + 0xcf, 0x30, 0x0, 0x4f, 0xd0, 0x0, 0x6f, 0xe2, + 0x0, 0x7, 0x81, 0x0, 0x0, /* U+7E "~" */ - 0x0, 0x67, 0x72, 0x0, 0x0, 0x1, 0x0, 0xbf, - 0xff, 0xf8, 0x0, 0x1, 0xf8, 0x6f, 0xa4, 0x6e, - 0xfc, 0x42, 0x9f, 0x48, 0xf1, 0x0, 0x1b, 0xff, - 0xff, 0xa0, 0x0, 0x0, 0x0, 0x4, 0x9a, 0x70, - 0x0, + 0x1, 0xaf, 0xea, 0x20, 0x0, 0x1b, 0x60, 0xdf, + 0xde, 0xff, 0x60, 0x8, 0xf5, 0x6f, 0x70, 0x7, + 0xff, 0xed, 0xfc, 0x5, 0xa1, 0x0, 0x2, 0xaf, + 0xfa, 0x10, /* U+F001 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x15, 0xae, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x26, 0xbf, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, - 0x38, 0xcf, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, - 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xb6, 0xdc, 0x0, 0x0, 0x0, 0xcf, - 0xff, 0xff, 0xa6, 0x10, 0xc, 0xc0, 0x0, 0x0, - 0xc, 0xfe, 0x95, 0x0, 0x0, 0x0, 0xcc, 0x0, - 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0, 0xc, - 0xc0, 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0xc, 0xc0, - 0x0, 0x3, 0x7b, 0xb6, 0xcc, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0x8, 0xff, 0xff, 0xff, 0xc0, 0x0, - 0x0, 0xc, 0xc0, 0x0, 0xff, 0xff, 0xff, 0xfc, - 0x1, 0x57, 0x75, 0xdc, 0x0, 0xc, 0xff, 0xff, - 0xff, 0x96, 0xef, 0xff, 0xff, 0xc0, 0x0, 0x17, - 0xdf, 0xfc, 0x60, 0xff, 0xff, 0xff, 0xfc, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, - 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xff, - 0xff, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0x9e, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xbf, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x48, 0xdf, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, + 0x0, 0x1, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x94, 0xe, 0xfd, 0x0, 0x0, 0x0, 0xaf, + 0xff, 0xff, 0xfc, 0x72, 0x0, 0x0, 0xef, 0xd0, + 0x0, 0x0, 0xa, 0xff, 0xea, 0x50, 0x0, 0x0, + 0x0, 0xe, 0xfd, 0x0, 0x0, 0x0, 0xaf, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xd0, 0x0, + 0x0, 0xa, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0xe, 0xfd, 0x0, 0x0, 0x0, 0xaf, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xd0, 0x0, 0x0, + 0xa, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0xe, + 0xfd, 0x0, 0x0, 0x0, 0xaf, 0xf1, 0x0, 0x0, + 0x0, 0x3, 0x54, 0xff, 0xd0, 0x0, 0x0, 0xa, + 0xff, 0x10, 0x0, 0x0, 0x5e, 0xff, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0xaf, 0xf1, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0xff, 0xd0, 0x1, 0x69, 0x9d, 0xff, + 0x10, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfc, 0x6, + 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x1e, 0xff, + 0xff, 0xff, 0x61, 0xff, 0xff, 0xff, 0xff, 0x10, + 0x0, 0x0, 0x2a, 0xff, 0xfc, 0x50, 0x1f, 0xff, + 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x10, + 0x0, 0x0, 0x9f, 0xff, 0xff, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4a, 0xcc, + 0xa3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F008 "" */ - 0x3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x20, 0x9f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, - 0xfd, 0x44, 0xaf, 0xa4, 0x44, 0x44, 0x44, 0x44, - 0x5f, 0xf5, 0x47, 0xf8, 0xf8, 0x0, 0x4f, 0x40, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xc0, 0x0, 0xf8, - 0xf8, 0x0, 0x4f, 0x40, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xc0, 0x0, 0xf8, 0xfe, 0x77, 0xcf, 0x40, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xf9, 0x7a, 0xf8, - 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xf8, 0xfb, 0x0, 0x7f, 0x40, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xf1, 0x3, 0xf8, - 0xf8, 0x0, 0x4f, 0x40, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xc0, 0x0, 0xf8, 0xf9, 0x0, 0x5f, 0x50, - 0x0, 0x0, 0x0, 0x0, 0xd, 0xd0, 0x1, 0xf8, - 0xff, 0xcb, 0xff, 0xfb, 0xbb, 0xbb, 0xbb, 0xbb, - 0xdf, 0xfd, 0xbe, 0xf8, 0xff, 0xcc, 0xff, 0xfc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcf, 0xfd, 0xcd, 0xf8, - 0xf9, 0x0, 0x5f, 0x50, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xe0, 0x0, 0xf8, 0xf8, 0x0, 0x4f, 0x40, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xc0, 0x0, 0xf8, - 0xfb, 0x33, 0x7f, 0x40, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xe3, 0x34, 0xf8, 0xff, 0xff, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xf8, - 0xfe, 0x88, 0xbf, 0x40, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xf9, 0x89, 0xf8, 0xf8, 0x0, 0x4f, 0x40, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xd0, 0x0, 0xf8, - 0xf8, 0x0, 0x4f, 0x40, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xc0, 0x0, 0xf8, 0xfd, 0x77, 0xaf, 0xa7, - 0x77, 0x77, 0x77, 0x77, 0x7e, 0xf8, 0x78, 0xf8, - 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xe2, 0x0, 0x44, 0x44, 0x44, - 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x0, + 0x42, 0x0, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x87, 0x0, 0x24, 0xf8, 0x22, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x22, 0x8f, 0xff, 0xff, + 0xff, 0xb9, 0x99, 0x99, 0x99, 0x9b, 0xff, 0xff, + 0xff, 0xf9, 0x44, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x3, 0xff, 0x44, 0x9f, 0xf6, 0x0, 0xef, 0x30, + 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x6f, 0xf7, + 0x0, 0xef, 0x30, 0x0, 0x0, 0x0, 0x3, 0xfe, + 0x0, 0x7f, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xfa, 0x66, 0xff, + 0x74, 0x44, 0x44, 0x44, 0x47, 0xff, 0x66, 0xaf, + 0xf6, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x0, 0x6f, 0xf6, 0x0, 0xef, 0xdc, 0xcc, + 0xcc, 0xcc, 0xcd, 0xfe, 0x0, 0x6f, 0xff, 0xee, + 0xff, 0x30, 0x0, 0x0, 0x0, 0x3, 0xff, 0xee, + 0xff, 0xfc, 0x88, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x3, 0xff, 0x88, 0xcf, 0xf6, 0x0, 0xef, 0x30, + 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x6f, 0xf6, + 0x0, 0xef, 0x30, 0x0, 0x0, 0x0, 0x3, 0xfe, + 0x0, 0x6f, 0xfe, 0xcc, 0xff, 0x41, 0x11, 0x11, + 0x11, 0x14, 0xff, 0xcc, 0xef, 0xfd, 0xaa, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xdf, + 0xc6, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x0, 0x6c, /* U+F00B "" */ - 0x23, 0x33, 0x33, 0x0, 0x23, 0x33, 0x33, 0x33, - 0x33, 0x33, 0x32, 0xef, 0xff, 0xff, 0x31, 0xef, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, - 0xff, 0x44, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x44, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x28, - 0x88, 0x84, 0x0, 0x48, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfd, - 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, - 0xff, 0xff, 0xff, 0x44, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0xff, + 0xbf, 0xff, 0xfe, 0x31, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x42, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x7c, 0xcc, 0xca, 0x0, 0x9c, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xc7, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7b, - 0xbb, 0xb9, 0x0, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xb7, 0xff, 0xff, 0xff, 0x42, 0xff, 0xff, + 0xff, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x63, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x58, + 0x88, 0x87, 0x0, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x85, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, + 0x31, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xff, 0xff, 0x63, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x53, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x47, 0x88, 0x87, 0x0, + 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xff, 0x31, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, + 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x63, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x44, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x44, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xbf, 0xff, 0xfe, 0x20, 0xdf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0xff, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x37, 0x77, 0x76, 0x0, 0x57, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x74, /* U+F00C "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, - 0xa6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x3e, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3, 0xef, 0xff, 0xf5, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xff, 0xf6, - 0x0, 0x13, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, - 0xff, 0xa0, 0x1, 0xcf, 0x90, 0x0, 0x0, 0x3e, - 0xff, 0xff, 0xfa, 0x0, 0x1c, 0xff, 0xf9, 0x0, - 0x3, 0xef, 0xff, 0xff, 0xa0, 0x0, 0x8f, 0xff, - 0xff, 0x90, 0x3e, 0xff, 0xff, 0xfa, 0x0, 0x0, - 0x2f, 0xff, 0xff, 0xfa, 0xef, 0xff, 0xff, 0xa0, - 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfa, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3, - 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3f, 0xff, 0xff, 0xa0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3b, - 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xef, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xef, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, + 0xff, 0x30, 0x4, 0xe8, 0x0, 0x0, 0x0, 0x0, + 0x2e, 0xff, 0xff, 0xf3, 0x0, 0x4f, 0xff, 0x80, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, 0x30, 0x0, + 0xef, 0xff, 0xf8, 0x0, 0x0, 0x2e, 0xff, 0xff, + 0xf3, 0x0, 0x0, 0xaf, 0xff, 0xff, 0x80, 0x2, + 0xef, 0xff, 0xff, 0x30, 0x0, 0x0, 0xa, 0xff, + 0xff, 0xf8, 0x2e, 0xff, 0xff, 0xf3, 0x0, 0x0, + 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xd3, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, /* U+F00D "" */ - 0x0, 0x23, 0x0, 0x0, 0x0, 0x2, 0x30, 0x0, - 0x3e, 0xf9, 0x0, 0x0, 0x6, 0xff, 0x60, 0x3e, - 0xff, 0xf9, 0x0, 0x6, 0xff, 0xff, 0x6a, 0xff, - 0xff, 0xf9, 0x6, 0xff, 0xff, 0xfe, 0x3f, 0xff, - 0xff, 0xfb, 0xff, 0xff, 0xff, 0x60, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x3f, 0xff, - 0xff, 0xff, 0x60, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xf9, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, - 0xff, 0xf9, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf9, 0x5, 0xff, 0xff, 0xff, 0x8f, 0xff, - 0xff, 0xf9, 0x9f, 0xff, 0xff, 0x60, 0x3f, 0xff, - 0xff, 0xf2, 0xff, 0xff, 0x60, 0x0, 0x3f, 0xff, - 0xf6, 0x3, 0xff, 0x60, 0x0, 0x0, 0x3f, 0xf6, - 0x0, 0x1, 0x30, 0x0, 0x0, 0x0, 0x22, 0x0, + 0x8, 0xc4, 0x0, 0x0, 0x0, 0x2, 0xc9, 0x0, + 0x9f, 0xff, 0x40, 0x0, 0x0, 0x2e, 0xff, 0xb0, + 0xff, 0xff, 0xf4, 0x0, 0x2, 0xef, 0xff, 0xf1, + 0x7f, 0xff, 0xff, 0x40, 0x2e, 0xff, 0xff, 0x90, + 0x8, 0xff, 0xff, 0xf6, 0xef, 0xff, 0xfa, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x0, 0x9f, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x2, 0xef, 0xff, 0xff, 0xf4, 0x0, 0x0, + 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, + 0x2, 0xef, 0xff, 0xfd, 0xff, 0xff, 0xf4, 0x0, + 0x2e, 0xff, 0xff, 0xa0, 0x8f, 0xff, 0xff, 0x40, + 0xdf, 0xff, 0xfa, 0x0, 0x8, 0xff, 0xff, 0xf0, + 0xdf, 0xff, 0xa0, 0x0, 0x0, 0x8f, 0xff, 0xe0, + 0x2e, 0xfa, 0x0, 0x0, 0x0, 0x8, 0xff, 0x30, + 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x21, 0x0, /* U+F011 "" */ - 0x0, 0x0, 0x0, 0x0, 0x7b, 0x60, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3a, 0x70, - 0x4f, 0xff, 0x0, 0x8a, 0x10, 0x0, 0x0, 0x3e, - 0xff, 0x34, 0xff, 0xf0, 0x6f, 0xfe, 0x30, 0x0, - 0x2e, 0xff, 0xf2, 0x4f, 0xff, 0x4, 0xff, 0xfd, - 0x10, 0xc, 0xff, 0xf6, 0x4, 0xff, 0xf0, 0x6, - 0xff, 0xf9, 0x3, 0xff, 0xf5, 0x0, 0x4f, 0xff, - 0x0, 0x8, 0xff, 0xf1, 0xaf, 0xfc, 0x0, 0x4, - 0xff, 0xf0, 0x0, 0xe, 0xff, 0x7c, 0xff, 0x60, - 0x0, 0x3f, 0xff, 0x0, 0x0, 0x9f, 0xfc, 0xff, - 0xf4, 0x0, 0x0, 0xdf, 0xa0, 0x0, 0x5, 0xff, - 0xcf, 0xff, 0x40, 0x0, 0x0, 0x10, 0x0, 0x0, - 0x4f, 0xfc, 0xef, 0xf5, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xff, 0xca, 0xff, 0xa0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xdf, 0xf9, 0x6f, 0xff, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x30, 0xef, - 0xfc, 0x10, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xc0, - 0x5, 0xff, 0xfe, 0x50, 0x0, 0x0, 0x6e, 0xff, - 0xf3, 0x0, 0x8, 0xff, 0xff, 0xeb, 0x7b, 0xef, - 0xff, 0xf6, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x2, 0xaf, - 0xff, 0xff, 0xff, 0xa2, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x16, 0x88, 0x85, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x33, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, + 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xe, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0x50, 0xe, 0xff, 0x80, + 0xb, 0xf4, 0x0, 0x0, 0x0, 0xb, 0xff, 0xe0, + 0xe, 0xff, 0x80, 0x4f, 0xff, 0x50, 0x0, 0x0, + 0x9f, 0xff, 0xe0, 0xe, 0xff, 0x80, 0x5f, 0xff, + 0xf2, 0x0, 0x3, 0xff, 0xfe, 0x30, 0xe, 0xff, + 0x80, 0x8, 0xff, 0xfc, 0x0, 0xb, 0xff, 0xf3, + 0x0, 0xe, 0xff, 0x80, 0x0, 0xaf, 0xff, 0x50, + 0x1f, 0xff, 0x90, 0x0, 0xe, 0xff, 0x80, 0x0, + 0x1f, 0xff, 0xb0, 0x6f, 0xff, 0x30, 0x0, 0xe, + 0xff, 0x80, 0x0, 0x9, 0xff, 0xf0, 0x8f, 0xff, + 0x0, 0x0, 0xe, 0xff, 0x80, 0x0, 0x5, 0xff, + 0xf2, 0xaf, 0xfd, 0x0, 0x0, 0xe, 0xff, 0x80, + 0x0, 0x3, 0xff, 0xf3, 0x9f, 0xfd, 0x0, 0x0, + 0xc, 0xff, 0x50, 0x0, 0x4, 0xff, 0xf2, 0x8f, + 0xff, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x6, + 0xff, 0xf1, 0x4f, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xe0, 0xf, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x90, + 0x8, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xef, 0xff, 0x20, 0x1, 0xef, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x2d, 0xff, 0xf9, 0x0, 0x0, 0x4f, + 0xff, 0xfd, 0x62, 0x1, 0x49, 0xff, 0xff, 0xc0, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x4e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7d, 0xff, 0xff, 0xff, 0xb4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x25, 0x65, + 0x30, 0x0, 0x0, 0x0, 0x0, /* U+F013 "" */ - 0x0, 0x0, 0x0, 0x1, 0x33, 0x31, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x3, 0x50, 0xa, 0xff, - 0xf8, 0x0, 0x73, 0x0, 0x0, 0x6, 0xff, 0xa5, - 0xdf, 0xff, 0xc4, 0xcf, 0xe3, 0x0, 0x2, 0xef, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x0, - 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x10, 0x0, 0x3, 0xff, 0xff, 0xc3, 0x5, - 0xdf, 0xff, 0xf1, 0x0, 0xbd, 0xff, 0xff, 0xd0, - 0x0, 0x1, 0xef, 0xff, 0xfb, 0x8f, 0xff, 0xff, - 0xf7, 0x0, 0x0, 0x8, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0x50, 0x0, 0x0, 0x8f, 0xff, 0xff, - 0xcf, 0xff, 0xff, 0xfa, 0x0, 0x0, 0xc, 0xff, - 0xff, 0xfc, 0x1, 0x7f, 0xff, 0xf6, 0x0, 0x9, - 0xff, 0xff, 0x62, 0x0, 0x1, 0xff, 0xff, 0xfd, - 0xbe, 0xff, 0xff, 0xe0, 0x0, 0x0, 0xbf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x3f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, - 0x0, 0x7f, 0xff, 0xaf, 0xff, 0xff, 0xaf, 0xff, - 0x60, 0x0, 0x0, 0x6c, 0x10, 0xaf, 0xff, 0x80, - 0x3c, 0x60, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, - 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x38, 0x88, 0x20, 0x0, 0x0, 0x0, - - /* U+F014 "" */ - 0x0, 0x0, 0x0, 0x43, 0x33, 0x31, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xfe, 0x10, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0x94, 0x44, 0x5f, - 0x80, 0x0, 0x0, 0x33, 0x33, 0xaf, 0x43, 0x33, - 0x3d, 0xe3, 0x33, 0x30, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf4, 0x7c, 0xfa, 0x88, - 0x88, 0x88, 0x88, 0x88, 0xee, 0x81, 0x8, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x8, - 0xf4, 0x13, 0x10, 0x41, 0x3, 0x20, 0xcc, 0x0, - 0x8, 0xf4, 0x4f, 0x44, 0xf8, 0xf, 0x80, 0xcc, - 0x0, 0x8, 0xf4, 0x4f, 0x44, 0xf8, 0xf, 0x80, - 0xcc, 0x0, 0x8, 0xf4, 0x4f, 0x44, 0xf8, 0xf, - 0x80, 0xcc, 0x0, 0x8, 0xf4, 0x4f, 0x44, 0xf8, - 0xf, 0x80, 0xcc, 0x0, 0x8, 0xf4, 0x4f, 0x44, - 0xf8, 0xf, 0x80, 0xcc, 0x0, 0x8, 0xf4, 0x4f, - 0x44, 0xf8, 0xf, 0x80, 0xcc, 0x0, 0x8, 0xf4, - 0x4f, 0x44, 0xf8, 0xf, 0x80, 0xcc, 0x0, 0x8, - 0xf4, 0x2c, 0x21, 0xb4, 0xb, 0x50, 0xcc, 0x0, - 0x8, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, - 0x0, 0x6, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xfb, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf5, 0x0, 0x0, 0x38, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, + 0xee, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x30, 0x2a, + 0xff, 0xff, 0xff, 0xb2, 0x3, 0x80, 0x0, 0x0, + 0x8f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, + 0xf8, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x40, 0xb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, + 0x1f, 0xff, 0xff, 0xff, 0xfa, 0x55, 0xaf, 0xff, + 0xff, 0xff, 0xf2, 0x6, 0xef, 0xff, 0xff, 0x70, + 0x0, 0x7, 0xff, 0xff, 0xff, 0x60, 0x0, 0x2f, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf3, + 0x0, 0x0, 0x3f, 0xff, 0xfa, 0x0, 0x0, 0x0, + 0x9f, 0xff, 0xf3, 0x0, 0x0, 0x2f, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf3, 0x0, 0x0, + 0x8f, 0xff, 0xff, 0x20, 0x0, 0x1, 0xff, 0xff, + 0xf9, 0x0, 0x1e, 0xff, 0xff, 0xff, 0xd3, 0x0, + 0x3d, 0xff, 0xff, 0xff, 0xe1, 0xe, 0xff, 0xff, + 0xff, 0xff, 0xee, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x0, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x2f, + 0xb2, 0x9f, 0xff, 0xff, 0xff, 0xfa, 0x2a, 0xf3, + 0x0, 0x0, 0x1, 0x0, 0x2, 0xdf, 0xff, 0xfe, + 0x30, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x66, + 0x41, 0x0, 0x0, 0x0, 0x0, /* U+F015 "" */ - 0x0, 0x0, 0x0, 0x0, 0x9, 0xa3, 0x0, 0x9b, - 0xb3, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xfe, - 0x50, 0xcf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x3d, - 0xfe, 0xbf, 0xf6, 0xcf, 0xf4, 0x0, 0x0, 0x0, - 0x5, 0xef, 0xd2, 0x56, 0xff, 0xff, 0xf4, 0x0, - 0x0, 0x0, 0x7f, 0xfa, 0x3e, 0xf7, 0x4f, 0xff, - 0xf4, 0x0, 0x0, 0xa, 0xff, 0x76, 0xef, 0xff, - 0xa4, 0xdf, 0xf5, 0x0, 0x1, 0xcf, 0xf5, 0x8f, - 0xff, 0xff, 0xfc, 0x3c, 0xfe, 0x50, 0x3d, 0xfe, - 0x4a, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xaf, 0xf6, - 0x9f, 0xd3, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x66, 0xff, 0x6, 0xc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf4, 0x43, 0x0, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0xc, - 0xff, 0xff, 0xd4, 0x47, 0xff, 0xff, 0xf4, 0x0, - 0x0, 0xc, 0xff, 0xff, 0xc0, 0x4, 0xff, 0xff, - 0xf4, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x4, - 0xff, 0xff, 0xf4, 0x0, 0x0, 0xc, 0xff, 0xff, - 0xc0, 0x4, 0xff, 0xff, 0xf4, 0x0, 0x0, 0xb, - 0xff, 0xff, 0xc0, 0x4, 0xff, 0xff, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xe9, 0x0, + 0x5, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3e, 0xff, 0xfc, 0x10, 0x7f, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, + 0xfe, 0x37, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9f, 0xff, 0xb4, 0xdf, 0xff, 0xbf, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xbf, 0xff, 0x80, + 0x1, 0xbf, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x2, 0xdf, 0xff, 0x50, 0x8f, 0x50, 0x9f, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x4, 0xff, 0xfe, 0x30, + 0xbf, 0xff, 0x70, 0x6f, 0xff, 0xf1, 0x0, 0x0, + 0x7, 0xff, 0xfc, 0x12, 0xdf, 0xff, 0xff, 0xa0, + 0x3e, 0xff, 0xe3, 0x0, 0xa, 0xff, 0xfa, 0x3, + 0xef, 0xff, 0xff, 0xff, 0xc1, 0x2d, 0xff, 0xf6, + 0xc, 0xff, 0xf7, 0x6, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe3, 0xb, 0xff, 0xf8, 0x9f, 0xf5, 0x9, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x8, + 0xff, 0x50, 0x93, 0xa, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf6, 0x5, 0x70, 0x0, 0x0, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, + 0xcc, 0xcf, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xff, 0xff, 0x50, 0x0, 0x9f, 0xff, + 0xff, 0xa0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, + 0xf5, 0x0, 0x9, 0xff, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xff, 0xff, 0x50, 0x0, 0x9f, + 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0xe, 0xff, + 0xff, 0xf5, 0x0, 0x9, 0xff, 0xff, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0x40, 0x0, + 0x8f, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x2, + 0x44, 0x44, 0x40, 0x0, 0x1, 0x44, 0x44, 0x41, + 0x0, 0x0, /* U+F019 "" */ - 0x0, 0x0, 0x0, 0x1, 0xbb, 0xbb, 0x50, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, - 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x77, 0x79, 0xff, 0xff, 0xb7, 0x77, 0x30, - 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x3f, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xfa, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, - 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x23, 0x33, - 0x33, 0x30, 0x3f, 0xfa, 0x2, 0x33, 0x33, 0x33, - 0xe, 0xff, 0xff, 0xff, 0x90, 0x36, 0x3, 0xef, - 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xa1, - 0x5, 0xef, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x45, - 0xf5, 0x4f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfb, 0xcf, 0xcb, 0xf8, 0xbf, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x22, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xcf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xee, 0xee, 0xff, + 0xff, 0xff, 0xee, 0xee, 0x20, 0x0, 0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0xff, 0xff, 0xfc, 0x4, 0xff, 0x40, 0xcf, + 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x23, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x44, 0xcf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf1, 0x6e, 0xb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xaf, + 0x5d, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfb, /* U+F01C "" */ - 0x0, 0x5, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb3, - 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xd0, 0x0, 0x0, 0x6f, 0xfc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xff, 0x40, 0x0, 0xe, 0xfb, 0x0, - 0x0, 0x0, 0x0, 0xe, 0xfb, 0x0, 0x4, 0xff, - 0x50, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf2, 0x0, - 0xbf, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, - 0x90, 0x2f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xa, 0xfe, 0x19, 0xff, 0x10, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x2f, 0xf6, 0xef, 0xa0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xcf, 0xff, 0xff, - 0xfa, 0x0, 0x0, 0xc, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0xf2, 0x0, 0x4, 0xff, 0xff, 0xff, - 0xcf, 0xff, 0xff, 0xff, 0xdb, 0xbb, 0xdf, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0x4, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0, + 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x9f, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, + 0x50, 0x0, 0x0, 0x4f, 0xfe, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xfe, 0x10, 0x0, 0xd, + 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xfa, 0x0, 0x9, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xf5, 0x3, + 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xff, 0xe1, 0xdf, 0xfa, 0x44, 0x44, + 0x20, 0x0, 0x0, 0x0, 0x34, 0x44, 0x4d, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, + 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x88, + 0x88, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xbd, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, + 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x10, /* U+F021 "" */ - 0x0, 0x0, 0x0, 0x0, 0x23, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x6b, 0xff, 0xff, 0xfa, - 0x40, 0x0, 0x45, 0x0, 0x3, 0xbf, 0xff, 0xff, - 0xff, 0xff, 0xb1, 0x6f, 0xc0, 0x3, 0xef, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xef, 0xfc, 0x2, 0xef, - 0xff, 0xa3, 0x0, 0x4, 0xcf, 0xff, 0xff, 0xc0, - 0xbf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x9f, 0xff, - 0xfc, 0x2f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x3e, - 0xff, 0xff, 0xc9, 0xff, 0xc0, 0x0, 0x0, 0x0, - 0x2e, 0xff, 0xff, 0xfc, 0x68, 0x83, 0x0, 0x0, - 0x0, 0x1, 0x88, 0x88, 0x88, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6, 0x76, 0x0, 0x0, 0x0, 0x5, 0x9c, + 0xdd, 0xb8, 0x30, 0x0, 0xf, 0xff, 0x0, 0x0, + 0x6, 0xef, 0xff, 0xff, 0xff, 0xfc, 0x40, 0xf, + 0xff, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0xf, 0xff, 0x0, 0xc, 0xff, 0xff, + 0xa5, 0x34, 0x6b, 0xff, 0xff, 0xce, 0xff, 0x0, + 0xaf, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x2b, 0xff, + 0xff, 0xff, 0x5, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xff, 0xff, 0xd, 0xff, 0xb0, + 0x0, 0x0, 0x0, 0x7d, 0xdc, 0xbf, 0xff, 0xff, + 0x2f, 0xff, 0x20, 0x0, 0x0, 0x0, 0xaf, 0xff, + 0xff, 0xff, 0xff, 0x6f, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x2, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x22, 0x22, 0x22, + 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x3, 0x33, 0x33, 0x33, 0x0, 0x0, 0x0, 0x0, - 0x23, 0x32, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, - 0x0, 0xc, 0xff, 0x6f, 0xff, 0xff, 0xf6, 0x0, - 0x0, 0x0, 0x4, 0xff, 0xf1, 0xff, 0xff, 0xf7, - 0x0, 0x0, 0x0, 0x3, 0xef, 0xfa, 0xf, 0xff, - 0xff, 0xe5, 0x0, 0x0, 0x7, 0xef, 0xff, 0x20, - 0xff, 0xff, 0xff, 0xfd, 0xb8, 0xbe, 0xff, 0xff, - 0x30, 0xf, 0xf6, 0x7f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x40, 0x0, 0xb6, 0x0, 0x2b, 0xff, 0xff, - 0xff, 0xf8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x68, 0x87, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xde, + 0xee, 0xee, 0xee, 0xe7, 0x0, 0x0, 0x0, 0x0, + 0x9e, 0xe5, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xf3, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0x9, 0xff, 0xe0, + 0xff, 0xff, 0xf4, 0x0, 0x10, 0x0, 0x0, 0x0, + 0x5f, 0xff, 0x70, 0xff, 0xff, 0xff, 0x70, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xfd, 0x0, 0xff, 0xff, + 0xff, 0xfd, 0x61, 0x0, 0x5, 0xcf, 0xff, 0xf2, + 0x0, 0xff, 0xe3, 0xef, 0xff, 0xff, 0xee, 0xff, + 0xff, 0xfe, 0x30, 0x0, 0xff, 0xf0, 0x19, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xb1, 0x0, 0x0, 0xff, + 0xf0, 0x0, 0x28, 0xdf, 0xff, 0xfe, 0xa3, 0x0, + 0x0, 0x0, 0xab, 0xa0, 0x0, 0x0, 0x1, 0x33, + 0x10, 0x0, 0x0, 0x0, 0x0, /* U+F026 "" */ - 0x0, 0x0, 0x0, 0x0, 0x31, 0x0, 0x0, 0x0, - 0x6, 0xf7, 0x0, 0x0, 0x0, 0x6f, 0xf8, 0x0, - 0x0, 0x6, 0xff, 0xf8, 0x0, 0x0, 0x6f, 0xff, - 0xf8, 0xdf, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x34, - 0x44, 0xdf, 0xff, 0xf8, 0x0, 0x0, 0x1d, 0xff, - 0xf8, 0x0, 0x0, 0x1, 0xdf, 0xf8, 0x0, 0x0, - 0x0, 0x1d, 0xf8, 0x0, 0x0, 0x0, 0x1, 0x82, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x30, 0x0, 0x0, + 0x0, 0x6, 0xff, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xf0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x24, 0x44, + 0x47, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0, 0x0, 0x2e, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x2e, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x2e, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x2e, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, /* U+F027 "" */ - 0x0, 0x0, 0x0, 0x0, 0x31, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0x70, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xf8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0xf8, 0x0, 0x0, 0xd, 0xff, 0xff, - 0xff, 0xff, 0x80, 0x88, 0x10, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0x8, 0xf9, 0xf, 0xff, 0xff, 0xff, - 0xff, 0x80, 0x9, 0xf0, 0xff, 0xff, 0xff, 0xff, - 0xf8, 0x0, 0x8f, 0x1f, 0xff, 0xff, 0xff, 0xff, - 0x80, 0x5e, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0xb, 0xe3, 0x3, 0x44, 0x4d, 0xff, 0xff, 0x80, - 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0x80, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1d, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x18, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x24, 0x44, 0x47, 0xff, 0xff, 0xf0, + 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x75, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x2f, 0xf7, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0x7f, 0xf0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x0, 0xdf, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0xf, 0xf3, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0xc, 0xfd, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x1, 0xfe, 0x20, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0x1, 0x0, 0x0, 0x0, + 0x0, 0x2e, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2e, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2e, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2d, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, /* U+F028 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x72, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x10, - 0x0, 0x4f, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xf7, 0x0, 0x0, 0x2b, 0xf9, 0x0, 0x0, - 0x0, 0x0, 0x6, 0xff, 0x80, 0x5, 0x91, 0xa, - 0xf7, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf8, 0x0, - 0x5f, 0xe3, 0xc, 0xf2, 0x0, 0x0, 0x6, 0xff, - 0xff, 0x80, 0x0, 0x3f, 0xe2, 0x2f, 0xa0, 0xdf, - 0xff, 0xff, 0xff, 0xf8, 0x8, 0x81, 0x3f, 0xa0, - 0xaf, 0xf, 0xff, 0xff, 0xff, 0xff, 0x80, 0x8f, - 0x90, 0xaf, 0x5, 0xf4, 0xff, 0xff, 0xff, 0xff, - 0xf8, 0x0, 0x9f, 0x5, 0xf4, 0x4f, 0x5f, 0xff, - 0xff, 0xff, 0xff, 0x80, 0x8, 0xf1, 0x4f, 0x44, - 0xf6, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x5, 0xec, - 0x9, 0xf1, 0x4f, 0x4f, 0xff, 0xff, 0xff, 0xff, - 0x80, 0xbe, 0x31, 0xdc, 0x9, 0xf1, 0x34, 0x44, - 0xdf, 0xff, 0xf8, 0x0, 0x1, 0xaf, 0x40, 0xfc, - 0x0, 0x0, 0x1, 0xdf, 0xff, 0x80, 0x3, 0xdf, - 0x70, 0x8f, 0x40, 0x0, 0x0, 0x1, 0xdf, 0xf8, - 0x0, 0x7e, 0x50, 0x6f, 0xb0, 0x0, 0x0, 0x0, - 0x1, 0xdf, 0x80, 0x0, 0x0, 0x7f, 0xd1, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x82, 0x0, 0x2, 0xdf, - 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4c, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x30, 0x0, + 0x0, 0x0, 0x9f, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0x0, 0x0, 0x1, 0x0, 0x7f, + 0xf5, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf0, + 0x0, 0x5, 0xf9, 0x0, 0x9f, 0xe1, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xff, 0x0, 0x0, 0x4f, 0xfb, + 0x0, 0xdf, 0x80, 0x24, 0x44, 0x47, 0xff, 0xff, + 0xf0, 0x0, 0x0, 0x3f, 0xf7, 0x4, 0xff, 0xe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x86, 0x0, + 0x4f, 0xf1, 0xd, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x2f, 0xf7, 0x0, 0xcf, 0x60, 0x9f, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x6f, + 0xf1, 0x7, 0xf9, 0x6, 0xfa, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x0, 0xdf, 0x40, 0x5f, 0xb0, + 0x5f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x1f, 0xf2, 0x5, 0xfa, 0x5, 0xfb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xd, 0xfc, 0x0, 0x9f, + 0x80, 0x7f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x1, 0xfd, 0x20, 0x1e, 0xf3, 0xb, 0xf6, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x1, 0x0, 0xa, + 0xfc, 0x1, 0xff, 0x20, 0x0, 0x0, 0x2e, 0xff, + 0xff, 0x0, 0x0, 0xb, 0xff, 0x20, 0x8f, 0xc0, + 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf0, 0x0, 0x7, + 0xff, 0x40, 0x2f, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0x2e, 0xff, 0x0, 0x0, 0x19, 0x20, 0x1d, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xc0, 0x0, + 0x0, 0x0, 0x2d, 0xfd, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xfd, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xfb, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, /* U+F03E "" */ - 0x3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x20, 0x9f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, - 0xfb, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, - 0x44, 0x44, 0x45, 0xf8, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, - 0xf8, 0x3, 0xdf, 0xd3, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xf8, 0xf8, 0xb, 0xff, 0xfb, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf8, - 0xf8, 0xc, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x6e, - 0x30, 0x0, 0x0, 0xf8, 0xf8, 0x7, 0xff, 0xf7, - 0x0, 0x0, 0x6, 0xff, 0xe3, 0x0, 0x0, 0xf8, - 0xf8, 0x0, 0x58, 0x50, 0x0, 0x0, 0x6f, 0xff, - 0xfe, 0x30, 0x0, 0xf8, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0xff, 0xff, 0xe3, 0x0, 0xf8, - 0xf8, 0x0, 0x0, 0x66, 0x0, 0x6f, 0xff, 0xff, - 0xff, 0xfe, 0x30, 0xf8, 0xf8, 0x0, 0x6, 0xff, - 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xf8, - 0xf8, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x80, 0xf8, 0xf8, 0x6, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xf8, - 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x80, 0xf8, 0xf8, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xf8, - 0xf8, 0x6, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x40, 0xf8, 0xf9, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf5, 0x18, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x50, - - /* U+F040 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3d, 0xe6, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x36, 0x1d, 0xff, 0xff, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0x3e, 0xf6, 0x1d, 0xff, 0xff, 0x80, - 0x0, 0x0, 0x0, 0x3e, 0xfa, 0xf6, 0x1d, 0xff, - 0xf3, 0x0, 0x0, 0x0, 0x3e, 0xf7, 0xcf, 0xf6, - 0x1d, 0xf3, 0x0, 0x0, 0x0, 0x3e, 0xf7, 0xcf, - 0xff, 0xf6, 0x13, 0x0, 0x0, 0x0, 0x3e, 0xf7, - 0xcf, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x3e, - 0xf7, 0xcf, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, - 0x3e, 0xf7, 0xcf, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0x0, 0x3e, 0xf7, 0xcf, 0xff, 0xff, 0xf3, 0x0, - 0x0, 0x0, 0x3e, 0xfd, 0xcf, 0xff, 0xff, 0xf3, - 0x0, 0x0, 0x0, 0xf, 0xf4, 0xdf, 0xff, 0xff, - 0xf3, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x1, 0xdf, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xf, 0xb7, - 0x21, 0xdf, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xf4, 0x3e, 0xf3, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xf, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x88, 0x88, 0x83, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x50, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf6, 0x1, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x70, 0x0, 0xd, 0xff, 0xff, 0xff, 0xdb, 0xff, + 0xff, 0xff, 0xff, 0xc0, 0x0, 0x2f, 0xff, 0xff, + 0xfd, 0x10, 0xaf, 0xff, 0xff, 0xff, 0xfb, 0x56, + 0xef, 0xff, 0xff, 0xd1, 0x0, 0xa, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x10, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0xf7, 0x2e, 0xff, + 0xd1, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, + 0x70, 0x2, 0xed, 0x10, 0x0, 0x0, 0x0, 0xc, + 0xff, 0xff, 0xf7, 0x0, 0x0, 0x21, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0xff, 0xfc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe4, /* U+F048 "" */ - 0x33, 0x30, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, - 0x20, 0x0, 0x0, 0x0, 0xa8, 0xff, 0xf4, 0x0, - 0x0, 0x0, 0xaf, 0x8f, 0xff, 0x40, 0x0, 0x0, - 0xaf, 0xf8, 0xff, 0xf4, 0x0, 0x0, 0xaf, 0xff, - 0x8f, 0xff, 0x40, 0x0, 0xaf, 0xff, 0xf8, 0xff, - 0xf4, 0x0, 0xaf, 0xff, 0xff, 0x8f, 0xff, 0x40, - 0xaf, 0xff, 0xff, 0xf8, 0xff, 0xf4, 0xaf, 0xff, - 0xff, 0xff, 0x8f, 0xff, 0xcf, 0xff, 0xff, 0xff, - 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, - 0xff, 0x5d, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xf4, - 0x1d, 0xff, 0xff, 0xff, 0x8f, 0xff, 0x40, 0x1d, - 0xff, 0xff, 0xf8, 0xff, 0xf4, 0x0, 0x1d, 0xff, - 0xff, 0x8f, 0xff, 0x40, 0x0, 0x1d, 0xff, 0xf8, - 0xff, 0xf4, 0x0, 0x0, 0x1d, 0xff, 0x8f, 0xff, - 0x40, 0x0, 0x0, 0x1d, 0xf8, 0xff, 0xf3, 0x0, - 0x0, 0x0, 0x1d, 0x87, 0x87, 0x0, 0x0, 0x0, - 0x0, 0x14, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xef, 0xc0, 0x0, 0x0, 0x0, 0xb, 0xd3, 0x2f, + 0xfe, 0x0, 0x0, 0x0, 0x1d, 0xff, 0x82, 0xff, + 0xe0, 0x0, 0x0, 0x2d, 0xff, 0xf9, 0x2f, 0xfe, + 0x0, 0x0, 0x2e, 0xff, 0xff, 0x92, 0xff, 0xe0, + 0x0, 0x3e, 0xff, 0xff, 0xf9, 0x2f, 0xfe, 0x0, + 0x4f, 0xff, 0xff, 0xff, 0x92, 0xff, 0xe0, 0x5f, + 0xff, 0xff, 0xff, 0xf9, 0x2f, 0xfe, 0x6f, 0xff, + 0xff, 0xff, 0xff, 0x92, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf9, 0x2f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x2f, 0xff, 0xcf, 0xff, 0xff, 0xff, + 0xff, 0x92, 0xff, 0xe0, 0xbf, 0xff, 0xff, 0xff, + 0xf9, 0x2f, 0xfe, 0x0, 0xaf, 0xff, 0xff, 0xff, + 0x92, 0xff, 0xe0, 0x0, 0x8f, 0xff, 0xff, 0xf9, + 0x2f, 0xfe, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x92, + 0xff, 0xe0, 0x0, 0x0, 0x6f, 0xff, 0xf9, 0x2f, + 0xfe, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x92, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x4f, 0xf5, 0x4, 0x43, + 0x0, 0x0, 0x0, 0x0, 0x13, 0x0, /* U+F04B "" */ - 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xfd, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xfb, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0xf9, 0x20, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe7, - 0x10, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xd4, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xc2, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xe6, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf9, 0x10, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xfc, 0x40, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0x91, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x92, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, + 0x2, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xfb, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x30, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, + 0x10, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x40, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xfd, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0x91, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2a, 0xa3, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F04C "" */ - 0x33, 0x33, 0x33, 0x32, 0x0, 0x3, 0x33, 0x33, - 0x33, 0x2f, 0xff, 0xff, 0xff, 0xc0, 0x0, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0x0, - 0xf, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, - 0xc0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xfc, 0x0, 0xf, 0xff, 0xff, 0xff, 0xcf, - 0xff, 0xff, 0xff, 0xc0, 0x0, 0xff, 0xff, 0xff, - 0xfc, 0xff, 0xff, 0xff, 0xfc, 0x0, 0xf, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xc0, 0x0, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, - 0x0, 0xf, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, - 0xff, 0xc0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0xfc, 0x0, 0xf, 0xff, 0xff, 0xff, - 0xcf, 0xff, 0xff, 0xff, 0xc0, 0x0, 0xff, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0x0, 0xf, - 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xc0, - 0x0, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xfc, 0x0, 0xf, 0xff, 0xff, 0xff, 0xcf, 0xff, - 0xff, 0xff, 0xc0, 0x0, 0xff, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0xff, 0xfc, 0x0, 0xf, 0xff, 0xff, - 0xff, 0xcf, 0xff, 0xff, 0xff, 0xc0, 0x0, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0x0, - 0xf, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, - 0x50, 0x0, 0x78, 0x88, 0x88, 0x85, + 0x3d, 0xff, 0xff, 0xe6, 0x0, 0x3, 0xdf, 0xff, + 0xfe, 0x60, 0xdf, 0xff, 0xff, 0xff, 0x10, 0xd, + 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, + 0x30, 0xf, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, + 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0x40, 0xf, + 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0x40, 0xf, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, + 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0x40, 0xf, + 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0x40, 0xf, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, + 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0x40, 0xf, + 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0x40, 0xf, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, + 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0x40, 0xf, 0xff, 0xff, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0x30, 0xf, + 0xff, 0xff, 0xff, 0xf3, 0x8f, 0xff, 0xff, 0xfb, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xb0, 0x2, 0x44, + 0x44, 0x30, 0x0, 0x0, 0x24, 0x44, 0x43, 0x0, /* U+F04D "" */ - 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, + 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x60, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x85, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x2, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x0, /* U+F051 "" */ - 0x20, 0x0, 0x0, 0x0, 0x1, 0x33, 0x1f, 0x30, - 0x0, 0x0, 0x0, 0x8f, 0xf8, 0xfe, 0x30, 0x0, - 0x0, 0x8, 0xff, 0x8f, 0xfe, 0x30, 0x0, 0x0, - 0x8f, 0xf8, 0xff, 0xfe, 0x30, 0x0, 0x8, 0xff, - 0x8f, 0xff, 0xfe, 0x30, 0x0, 0x8f, 0xf8, 0xff, - 0xff, 0xfe, 0x30, 0x8, 0xff, 0x8f, 0xff, 0xff, - 0xfe, 0x30, 0x8f, 0xf8, 0xff, 0xff, 0xff, 0xfe, - 0x38, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0xaf, - 0xf8, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x8f, - 0xff, 0xff, 0xff, 0xf6, 0x8f, 0xf8, 0xff, 0xff, - 0xff, 0xf6, 0x8, 0xff, 0x8f, 0xff, 0xff, 0xf6, - 0x0, 0x8f, 0xf8, 0xff, 0xff, 0xf6, 0x0, 0x8, - 0xff, 0x8f, 0xff, 0xf6, 0x0, 0x0, 0x8f, 0xf8, - 0xff, 0xf6, 0x0, 0x0, 0x8, 0xff, 0x8f, 0xf6, - 0x0, 0x0, 0x0, 0x8f, 0xf8, 0xf6, 0x0, 0x0, - 0x0, 0x8, 0xff, 0x85, 0x0, 0x0, 0x0, 0x0, - 0x38, 0x83, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xdc, 0x10, 0x0, 0x0, 0x0, 0xbf, 0xf3, 0x7f, + 0xfd, 0x20, 0x0, 0x0, 0xd, 0xff, 0x47, 0xff, + 0xfe, 0x30, 0x0, 0x0, 0xdf, 0xf4, 0x7f, 0xff, + 0xff, 0x40, 0x0, 0xd, 0xff, 0x47, 0xff, 0xff, + 0xff, 0x50, 0x0, 0xdf, 0xf4, 0x7f, 0xff, 0xff, + 0xff, 0x60, 0xd, 0xff, 0x47, 0xff, 0xff, 0xff, + 0xff, 0x70, 0xdf, 0xf4, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0x8d, 0xff, 0x47, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf4, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x47, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf4, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xcd, + 0xff, 0x47, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xdf, + 0xf4, 0x7f, 0xff, 0xff, 0xff, 0xa0, 0xd, 0xff, + 0x47, 0xff, 0xff, 0xff, 0x90, 0x0, 0xdf, 0xf4, + 0x7f, 0xff, 0xff, 0x80, 0x0, 0xd, 0xff, 0x47, + 0xff, 0xff, 0x70, 0x0, 0x0, 0xdf, 0xf4, 0x7f, + 0xff, 0x60, 0x0, 0x0, 0xd, 0xff, 0x44, 0xff, + 0x50, 0x0, 0x0, 0x0, 0xcf, 0xf4, 0x2, 0x20, + 0x0, 0x0, 0x0, 0x2, 0x44, 0x0, /* U+F052 "" */ - 0x0, 0x0, 0x0, 0x0, 0x3b, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0xfe, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0xff, - 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, - 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x3e, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, - 0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, - 0x0, 0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0x30, 0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0x30, 0x3e, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3b, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc9, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x9, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xb8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xea, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0x0, 0x1, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xe1, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x30, 0x9f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x56, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x61, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0xe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, + 0x27, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x30, /* U+F053 "" */ - 0x0, 0x0, 0x0, 0x0, 0x7, 0x30, 0x0, 0x0, - 0x0, 0x0, 0xa, 0xfe, 0x30, 0x0, 0x0, 0x0, - 0xa, 0xff, 0xfe, 0x30, 0x0, 0x0, 0xa, 0xff, - 0xff, 0xf7, 0x0, 0x0, 0xa, 0xff, 0xff, 0xfa, - 0x0, 0x0, 0xa, 0xff, 0xff, 0xfa, 0x0, 0x0, - 0xa, 0xff, 0xff, 0xfa, 0x0, 0x0, 0xa, 0xff, - 0xff, 0xfa, 0x0, 0x0, 0xa, 0xff, 0xff, 0xfa, - 0x0, 0x0, 0xa, 0xff, 0xff, 0xfa, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xfe, 0x30, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xfe, 0x30, 0x0, 0x0, 0x6, 0xff, 0xff, 0xfe, - 0x30, 0x0, 0x0, 0x6, 0xff, 0xff, 0xfe, 0x30, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xfe, 0x30, 0x0, - 0x0, 0x6, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x6, - 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x2, 0x10, - 0x0, + 0x0, 0x0, 0x0, 0x0, 0x19, 0x20, 0x0, 0x0, + 0x0, 0x1, 0xdf, 0xe2, 0x0, 0x0, 0x0, 0x1d, + 0xff, 0xf8, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xd1, + 0x0, 0x0, 0x1d, 0xff, 0xfc, 0x10, 0x0, 0x1, + 0xdf, 0xff, 0xc1, 0x0, 0x0, 0x1d, 0xff, 0xfc, + 0x10, 0x0, 0x1, 0xdf, 0xff, 0xc1, 0x0, 0x0, + 0x1d, 0xff, 0xfc, 0x10, 0x0, 0x0, 0xbf, 0xff, + 0xd1, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x7f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0xf6, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0x90, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, /* U+F054 "" */ - 0x0, 0x55, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, - 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xf6, 0x0, - 0x0, 0x0, 0x1d, 0xff, 0xff, 0xf6, 0x0, 0x0, - 0x0, 0x1d, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, - 0x1d, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x1d, - 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x1d, 0xff, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, - 0xf6, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xb0, - 0x0, 0x0, 0x6f, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0x6f, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xf3, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xf3, - 0x0, 0x0, 0x6f, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0x6f, 0xff, 0xff, 0xf3, 0x0, 0x0, 0xd, 0xff, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf3, - 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf3, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, - 0x0, + 0x5, 0x80, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0xfb, 0x0, 0x0, 0x0, + 0x3, 0xef, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x3e, + 0xff, 0xfb, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, + 0xb0, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x3, 0xef, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x9f, + 0xff, 0xf3, 0x0, 0x0, 0x9, 0xff, 0xff, 0x40, + 0x0, 0x0, 0x9f, 0xff, 0xf4, 0x0, 0x0, 0x9, + 0xff, 0xff, 0x40, 0x0, 0x0, 0x9f, 0xff, 0xf4, + 0x0, 0x0, 0x9, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x8f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0xaf, 0xff, + 0x40, 0x0, 0x0, 0x0, 0x1c, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F067 "" */ - 0x0, 0x0, 0x0, 0x4, 0x33, 0x20, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xd0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xbf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf4, 0x7c, 0xcc, 0xcc, 0xff, 0xff, - 0xfc, 0xcc, 0xcc, 0xa0, 0x0, 0x0, 0x0, 0xcf, - 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0xff, 0xf0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xb0, 0x0, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xbe, 0xd3, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x14, 0x55, + 0x55, 0x59, 0xff, 0xfc, 0x55, 0x55, 0x54, 0x20, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x6c, 0xdd, + 0xdd, 0xde, 0xff, 0xff, 0xdd, 0xdd, 0xdc, 0x90, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x36, 0x50, 0x0, 0x0, 0x0, 0x0, /* U+F068 "" */ - 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf4, 0x7c, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xa0, + 0x2, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xb0, + + /* U+F06E "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x23, 0x43, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5b, 0xff, 0xff, 0xff, 0xea, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xef, 0xff, 0xfd, 0xce, + 0xff, 0xff, 0xc3, 0x0, 0x0, 0x0, 0x0, 0x1b, + 0xff, 0xff, 0x71, 0x0, 0x2, 0x9f, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x2d, 0xff, 0xfe, 0x20, 0x2, + 0x53, 0x0, 0x5f, 0xff, 0xfb, 0x0, 0x0, 0x1e, + 0xff, 0xff, 0x30, 0x0, 0x6f, 0xfc, 0x10, 0x7f, + 0xff, 0xfb, 0x0, 0xc, 0xff, 0xff, 0xa0, 0x0, + 0x6, 0xff, 0xfc, 0x0, 0xef, 0xff, 0xf8, 0x6, + 0xff, 0xff, 0xf5, 0x1, 0x3, 0xef, 0xff, 0xf4, + 0x9, 0xff, 0xff, 0xf3, 0xef, 0xff, 0xff, 0x30, + 0xbf, 0xff, 0xff, 0xff, 0x70, 0x7f, 0xff, 0xff, + 0xad, 0xff, 0xff, 0xf3, 0xa, 0xff, 0xff, 0xff, + 0xf6, 0x7, 0xff, 0xff, 0xf9, 0x3f, 0xff, 0xff, + 0x60, 0x5f, 0xff, 0xff, 0xff, 0x10, 0xaf, 0xff, + 0xfe, 0x10, 0x8f, 0xff, 0xfc, 0x0, 0xaf, 0xff, + 0xff, 0x60, 0x1f, 0xff, 0xff, 0x50, 0x0, 0xaf, + 0xff, 0xf6, 0x0, 0x6c, 0xdb, 0x40, 0xa, 0xff, + 0xff, 0x70, 0x0, 0x0, 0xaf, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x9, 0xff, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xfc, 0x52, 0x12, 0x6d, 0xff, + 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x19, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x5a, 0xde, 0xfe, 0xd9, + 0x50, 0x0, 0x0, 0x0, 0x0, + + /* U+F070 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0x70, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0xd2, 0x0, 0x0, 0x0, + 0x24, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xef, 0xff, 0x60, 0x28, 0xcf, 0xff, 0xff, + 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1b, + 0xff, 0xfc, 0xff, 0xff, 0xec, 0xdf, 0xff, 0xfe, + 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xa3, 0x0, 0x0, 0x6e, 0xff, 0xfc, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xef, 0xff, 0x70, + 0x15, 0x40, 0x1, 0xdf, 0xff, 0xe3, 0x0, 0x0, + 0x0, 0x1, 0x0, 0x1c, 0xff, 0xfb, 0x1f, 0xfe, + 0x50, 0x2f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x7e, + 0x30, 0x0, 0x9f, 0xff, 0xef, 0xff, 0xf3, 0x8, + 0xff, 0xff, 0xd0, 0x0, 0x2, 0xff, 0xf6, 0x0, + 0x5, 0xff, 0xff, 0xff, 0xfa, 0x3, 0xff, 0xff, + 0xf8, 0x0, 0x8, 0xff, 0xff, 0xa0, 0x0, 0x2d, + 0xff, 0xff, 0xfd, 0x1, 0xff, 0xff, 0xff, 0x0, + 0x6, 0xff, 0xff, 0xfa, 0x0, 0x0, 0xaf, 0xff, + 0xfb, 0x2, 0xff, 0xff, 0xfe, 0x0, 0x0, 0xdf, + 0xff, 0xfd, 0x0, 0x0, 0x6, 0xff, 0xff, 0x55, + 0xff, 0xff, 0xf5, 0x0, 0x0, 0x2f, 0xff, 0xff, + 0x40, 0x0, 0x0, 0x3d, 0xff, 0xfe, 0xff, 0xff, + 0x90, 0x0, 0x0, 0x4, 0xff, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xfb, 0x10, 0x0, 0x0, + 0x7, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xdf, 0xff, 0xe8, 0x31, 0x20, 0x0, 0x3e, + 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xef, 0xff, 0xff, 0xfb, 0x0, 0x1, 0xbf, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9c, + 0xef, 0xfd, 0x80, 0x0, 0x8, 0xff, 0xfd, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4e, 0xff, 0xf3, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xcf, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0x60, /* U+F071 "" */ - 0x0, 0x0, 0x0, 0x0, 0x2, 0xaa, 0x20, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, - 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xff, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfb, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, 0xd0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfa, 0x88, - 0xaf, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0xdf, 0xf4, 0x0, 0x4f, 0xfd, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0xf4, 0x0, 0x4f, 0xff, - 0x80, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xf4, - 0x0, 0x4f, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, - 0x9f, 0xff, 0xf5, 0x0, 0x6f, 0xff, 0xf9, 0x0, - 0x0, 0x0, 0x2, 0xff, 0xff, 0xf8, 0x0, 0x8f, - 0xff, 0xff, 0x20, 0x0, 0x0, 0xa, 0xff, 0xff, - 0xf9, 0x33, 0x9f, 0xff, 0xff, 0xa0, 0x0, 0x0, - 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xfa, 0x44, - 0xaf, 0xff, 0xff, 0xfb, 0x0, 0x4, 0xff, 0xff, - 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xff, 0xff, 0x40, - 0xe, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x8f, 0xff, - 0xff, 0xff, 0xd0, 0x6f, 0xff, 0xff, 0xff, 0xfc, - 0x77, 0xcf, 0xff, 0xff, 0xff, 0xf6, 0xef, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1d, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xa0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xf6, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xff, 0xfd, 0x88, 0x8f, 0xff, 0xe0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x80, + 0x0, 0xcf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0xf9, 0x0, 0xd, 0xff, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, + 0xff, 0xff, 0xa0, 0x0, 0xef, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xfb, + 0x0, 0xf, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xff, 0xff, 0xff, 0xc0, 0x0, 0xff, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xfd, 0x0, 0x1f, 0xff, 0xff, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, + 0xfd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0x10, 0x0, + 0x0, 0xd, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x6f, + 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x7, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x0, 0xbf, 0xff, 0xff, + 0xff, 0xf3, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x17, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfe, 0x38, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, + 0xff, 0xff, 0xfb, 0x0, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x90, 0x2, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x90, 0x0, /* U+F074 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x5, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xc, 0xc1, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfc, - 0x10, 0xbb, 0xb9, 0x52, 0x0, 0x0, 0x2, 0x6b, - 0xbb, 0xbe, 0xff, 0xc1, 0xff, 0xff, 0xff, 0x70, - 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0xf9, 0x6, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfa, 0x78, 0x88, 0xcf, 0xfe, 0x4f, 0xff, - 0xe8, 0x88, 0x8e, 0xff, 0xa0, 0x0, 0x0, 0xa, - 0xf6, 0xcf, 0xfe, 0x10, 0x0, 0xc, 0xfa, 0x0, - 0x0, 0x0, 0x1, 0xd4, 0xff, 0xf4, 0x0, 0x0, - 0xc, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x2b, 0xff, - 0xc0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfe, 0x30, 0x0, - 0x0, 0x5, 0x10, 0x0, 0x0, 0x0, 0x3, 0xff, - 0xf6, 0xc7, 0x0, 0x0, 0xc, 0xc1, 0x0, 0x0, - 0x0, 0x1c, 0xff, 0xe4, 0xfe, 0x40, 0x0, 0xc, - 0xfc, 0x10, 0xbb, 0xbb, 0xff, 0xff, 0x4b, 0xff, - 0xfc, 0xbb, 0xbe, 0xff, 0xc1, 0xff, 0xff, 0xff, - 0xf6, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0xff, 0x60, 0x0, 0x3c, 0xff, 0xff, - 0xff, 0xff, 0xfa, 0x78, 0x88, 0x40, 0x0, 0x0, - 0x0, 0x36, 0x88, 0x8e, 0xff, 0xa0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xc, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3c, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf5, + 0x0, 0x12, 0x22, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x9f, 0xff, 0x50, 0xff, 0xff, 0xfe, 0x20, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf5, 0xff, + 0xff, 0xff, 0xe2, 0x0, 0x0, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x10, 0xb, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x45, 0x55, 0xbf, + 0xff, 0x60, 0xaf, 0xff, 0xd5, 0xaf, 0xff, 0x80, + 0x0, 0x0, 0xb, 0xf8, 0xa, 0xff, 0xfe, 0x10, + 0x8f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x70, 0x9f, + 0xff, 0xe2, 0x0, 0x4f, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf3, 0x10, + 0x0, 0x2a, 0x30, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0x41, 0xda, 0x0, 0x7f, 0xf3, 0x0, 0x0, + 0x0, 0x5f, 0xff, 0xf4, 0xd, 0xff, 0x90, 0x8f, + 0xff, 0x30, 0xef, 0xff, 0xff, 0xff, 0x50, 0x2e, + 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, + 0xf6, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x3f, 0xff, + 0xff, 0xff, 0xfa, 0x67, 0x77, 0x75, 0x0, 0x0, + 0x0, 0x3, 0x77, 0xbf, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, /* U+F077 "" */ - 0x0, 0x0, 0x0, 0x0, 0x1b, 0xb1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xfc, - 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, - 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xcf, 0xff, 0xff, 0xfc, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xc1, - 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0x10, 0x0, 0x0, 0x1c, 0xff, 0xff, - 0xf6, 0x6f, 0xff, 0xff, 0xc1, 0x0, 0x1, 0xcf, - 0xff, 0xff, 0x60, 0x6, 0xff, 0xff, 0xfc, 0x10, - 0x1c, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xc1, 0xcf, 0xff, 0xff, 0x60, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xfb, 0x9f, 0xff, 0xf6, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf9, 0xa, 0xff, - 0x60, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xa0, - 0x0, 0x96, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x89, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4e, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x70, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, + 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x4f, 0xff, 0xfc, 0xff, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xfa, 0x5, 0xff, 0xff, 0x70, + 0x0, 0x0, 0x4f, 0xff, 0xfa, 0x0, 0x5, 0xff, + 0xff, 0x70, 0x0, 0x4f, 0xff, 0xf9, 0x0, 0x0, + 0x6, 0xff, 0xff, 0x70, 0x3f, 0xff, 0xf9, 0x0, + 0x0, 0x0, 0x6, 0xff, 0xff, 0x7a, 0xff, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x2e, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0x50, 0x25, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x40, /* U+F078 "" */ - 0x0, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x22, 0x0, 0x3, 0xee, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x3, 0xee, 0x30, 0x3e, 0xff, 0xe3, 0x0, - 0x0, 0x0, 0x0, 0x3e, 0xff, 0xe3, 0xcf, 0xff, - 0xfe, 0x30, 0x0, 0x0, 0x3, 0xef, 0xff, 0xfc, - 0x3f, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x3e, 0xff, - 0xff, 0xf3, 0x3, 0xff, 0xff, 0xfe, 0x30, 0x3, - 0xef, 0xff, 0xff, 0x30, 0x0, 0x3f, 0xff, 0xff, - 0xe3, 0x3e, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x3, - 0xff, 0xff, 0xfe, 0xef, 0xff, 0xff, 0x30, 0x0, - 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf3, - 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, - 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, - 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x3, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf3, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x20, - 0x0, 0x0, 0x0, 0x0, + 0x9, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xcb, 0x18, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xcf, 0xfc, 0x9f, 0xff, 0xe3, 0x0, 0x0, + 0x0, 0x1, 0xcf, 0xff, 0xd0, 0xbf, 0xff, 0xe3, + 0x0, 0x0, 0x1, 0xcf, 0xff, 0xd1, 0x0, 0xbf, + 0xff, 0xe3, 0x0, 0x1, 0xcf, 0xff, 0xd1, 0x0, + 0x0, 0xbf, 0xff, 0xe3, 0x1, 0xcf, 0xff, 0xd1, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xe4, 0xcf, 0xff, + 0xd1, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, + 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xd1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x61, 0x0, 0x0, + 0x0, 0x0, /* U+F079 "" */ - 0x0, 0x0, 0x0, 0x0, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0x10, 0x0, 0x0, 0x3, 0xe9, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, - 0x0, 0x1e, 0xff, 0x70, 0x4f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x80, 0x0, 0x1, 0xcf, 0xff, 0xf5, - 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, - 0xa, 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, - 0xc, 0xff, 0x80, 0x0, 0x8f, 0xff, 0xff, 0xff, - 0xd1, 0x0, 0x0, 0x0, 0xc, 0xff, 0x80, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, - 0xc, 0xff, 0x80, 0x0, 0x14, 0x4d, 0xff, 0x74, - 0x30, 0x0, 0x0, 0x0, 0xc, 0xff, 0x80, 0x0, - 0x0, 0xc, 0xff, 0x40, 0x0, 0x0, 0x0, 0x23, - 0x3c, 0xff, 0x93, 0x31, 0x0, 0xc, 0xff, 0x40, - 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xf8, - 0x0, 0xc, 0xff, 0x40, 0x0, 0x0, 0x0, 0x4f, - 0xff, 0xff, 0xff, 0xe1, 0x0, 0xc, 0xff, 0x63, - 0x33, 0x33, 0x32, 0x6, 0xff, 0xff, 0xff, 0x30, - 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, - 0xaf, 0xff, 0xf5, 0x0, 0x0, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xc1, 0xc, 0xff, 0x70, 0x0, - 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, - 0x1, 0xda, 0x0, 0x0, + 0x0, 0x0, 0x27, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xef, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xfd, + 0x10, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, 0xd1, 0x3f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, + 0x2e, 0xff, 0xff, 0xff, 0xfd, 0x15, 0xbb, 0xbb, + 0xbb, 0xbb, 0xef, 0xf1, 0x0, 0x0, 0xdf, 0xfb, + 0xef, 0xdc, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xf1, 0x0, 0x0, 0x9f, 0xc0, 0xef, 0xd1, + 0xdf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf1, + 0x0, 0x0, 0x3, 0x0, 0xef, 0xd0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf1, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xaf, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xef, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0x50, 0xaf, 0xf1, + 0x19, 0x30, 0x0, 0x0, 0xef, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xf6, 0xaf, 0xf3, 0xdf, 0xe0, + 0x0, 0x0, 0xef, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xff, 0xef, 0xfe, 0xff, 0xd0, 0x0, 0x0, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x17, 0xff, + 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x6f, 0xff, 0xff, + 0xd1, 0x0, 0x0, 0x0, 0x6b, 0xbb, 0xbb, 0xbb, + 0xbb, 0xba, 0x30, 0x6, 0xff, 0xfc, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xc1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x0, 0x0, 0x0, /* U+F07B "" */ - 0x0, 0x43, 0x33, 0x32, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3, 0xdf, 0xff, 0xff, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, - 0xff, 0xff, 0xff, 0xff, 0x83, 0x33, 0x33, 0x33, - 0x30, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xe6, 0xf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, + 0x5, 0x78, 0x88, 0x88, 0x71, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xfd, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcc, + 0xcc, 0xcc, 0xcb, 0x91, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, - 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x21, 0xaf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfd, 0x40, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe4, /* U+F093 "" */ - 0x0, 0x0, 0x0, 0x0, 0xa, 0xe3, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, - 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xa, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xe3, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, - 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf8, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xff, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x80, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, - 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x2, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, - 0x7, 0xbb, 0xbb, 0xb7, 0x3, 0x44, 0x41, 0x2b, - 0xbb, 0xbb, 0xa1, 0xff, 0xff, 0xff, 0xf7, 0x33, - 0x33, 0x4c, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, - 0xfb, 0xbf, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf5, 0x7f, 0x75, 0xf8, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x71, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xc1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xfc, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x11, 0x11, 0xef, + 0xff, 0xf9, 0x11, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xef, 0xff, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0xff, 0xff, 0xe0, 0xdf, 0xff, 0xf8, 0xe, + 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xf3, 0x26, + 0x66, 0x50, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x52, 0x22, 0x25, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf1, 0x6e, 0xb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xaf, + 0x5d, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfb, /* U+F095 "" */ - 0x0, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x9, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x5f, 0xff, 0xe1, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf9, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x20, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfd, - 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, - 0xb1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xef, 0xfd, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xc1, 0x0, - 0x0, 0x12, 0x0, 0x0, 0x0, 0x6, 0xff, 0xfd, - 0x40, 0x1, 0xcf, 0x81, 0x0, 0x0, 0x0, 0x6f, - 0xff, 0xf8, 0x2a, 0xff, 0xfe, 0x60, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, - 0x0, 0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xf2, - 0x0, 0x0, 0x0, 0x1, 0x8f, 0xff, 0xff, 0xff, - 0x90, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6b, 0xff, - 0xb5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xc8, 0x51, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, + 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, + 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xdf, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xdf, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x5, 0xb8, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xf3, 0x0, 0x0, 0x1, 0x8e, 0xff, + 0xf6, 0x0, 0x8, 0xff, 0xff, 0xf6, 0x0, 0x0, + 0x9, 0xff, 0xff, 0xff, 0xf4, 0x4d, 0xff, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xb5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7b, 0xb9, + 0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, /* U+F0C4 "" */ - 0x2, 0x7b, 0x86, 0x10, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3e, 0xff, 0xff, 0xe6, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xdf, 0xb4, - 0x6c, 0xff, 0x60, 0x0, 0x0, 0x0, 0x2, 0x9d, - 0xc4, 0xff, 0x0, 0x0, 0x6f, 0xf2, 0x0, 0x0, - 0x1, 0x7d, 0x40, 0x3f, 0xdf, 0x70, 0x0, 0xa, - 0xf6, 0x0, 0x0, 0x6d, 0x60, 0x4, 0xe3, 0x5f, - 0xf7, 0x10, 0x1b, 0xf7, 0x0, 0x4c, 0x81, 0x0, - 0x7c, 0x10, 0x6, 0xff, 0xfd, 0xff, 0xfd, 0x7a, - 0xa2, 0x0, 0x1a, 0x90, 0x0, 0x0, 0x3a, 0xff, - 0xfe, 0x95, 0xc4, 0x0, 0x3, 0xc5, 0x0, 0x0, - 0x0, 0x0, 0x2, 0x0, 0x7f, 0x4b, 0x50, 0x5c, - 0x30, 0x0, 0x0, 0x0, 0x0, 0x13, 0x31, 0x8c, - 0x29, 0x59, 0xbd, 0x40, 0x0, 0x0, 0x0, 0x5c, - 0xff, 0xff, 0xb1, 0x8a, 0xb7, 0x1, 0xc7, 0x0, - 0x0, 0xa, 0xff, 0xec, 0xdf, 0xfd, 0x68, 0xe4, - 0x0, 0x8, 0xb1, 0x0, 0x7f, 0xf6, 0x0, 0xb, - 0xf6, 0x0, 0x2b, 0xa2, 0x0, 0x5c, 0x30, 0xef, - 0x40, 0x0, 0xb, 0xf6, 0x0, 0x0, 0x4c, 0x71, - 0x2, 0xc6, 0xff, 0x10, 0x0, 0x8f, 0xf1, 0x0, - 0x0, 0x0, 0x6d, 0x60, 0x5e, 0xbf, 0xb7, 0x7d, - 0xff, 0x60, 0x0, 0x0, 0x0, 0x1, 0x8e, 0xa2, - 0x2e, 0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x68, 0x83, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x8c, 0xda, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x20, 0x0, 0x1d, 0xff, 0xff, 0xf3, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0x80, 0xaf, 0xff, 0xff, 0xfd, + 0x0, 0x0, 0xa, 0xff, 0xff, 0xf1, 0xef, 0xe1, + 0xc, 0xff, 0x20, 0x0, 0xbf, 0xff, 0xfe, 0x30, + 0xff, 0xd0, 0xa, 0xff, 0x30, 0xb, 0xff, 0xff, + 0xe3, 0x0, 0xbf, 0xfc, 0xbf, 0xff, 0x10, 0xcf, + 0xff, 0xfe, 0x30, 0x0, 0x3f, 0xff, 0xff, 0xff, + 0xdc, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x3, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, + 0x0, 0x1, 0x2d, 0xff, 0xff, 0xff, 0xe2, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x1, 0x8c, + 0xef, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0x33, 0xef, + 0xff, 0xfc, 0x0, 0x0, 0xef, 0xe1, 0xc, 0xff, + 0x20, 0x2e, 0xff, 0xff, 0xc1, 0x0, 0xff, 0xd0, + 0xa, 0xff, 0x30, 0x2, 0xef, 0xff, 0xfc, 0x10, + 0xbf, 0xfc, 0xbf, 0xff, 0x0, 0x0, 0x1d, 0xff, + 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xf7, 0x0, 0x0, + 0x1, 0xcf, 0xff, 0xd1, 0x3, 0xdf, 0xfe, 0x60, + 0x0, 0x0, 0x0, 0x4, 0x75, 0x0, 0x0, 0x1, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F0C5 "" */ - 0x0, 0x0, 0x0, 0x8b, 0xbb, 0xbb, 0xba, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xcc, - 0xcc, 0xef, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xaf, 0xfc, 0x0, 0x0, 0x8f, 0x40, 0x0, 0x0, - 0x0, 0x0, 0xa, 0xfa, 0xcc, 0x0, 0x0, 0x8f, - 0x40, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xa0, 0xcc, - 0x0, 0x0, 0x8f, 0x42, 0x33, 0x33, 0x30, 0xa, - 0xfa, 0x0, 0xcc, 0x0, 0x0, 0x8f, 0xdf, 0xff, - 0xff, 0xfc, 0x8f, 0xe7, 0x77, 0xdc, 0x0, 0x0, - 0x8f, 0xfe, 0x88, 0x88, 0xcf, 0xff, 0xff, 0xff, - 0xf9, 0x0, 0x3, 0xef, 0xec, 0x0, 0x0, 0x8f, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3e, 0xf3, 0xcc, - 0x0, 0x0, 0x8f, 0xf8, 0x0, 0x0, 0x0, 0x3, - 0xef, 0x30, 0xcc, 0x0, 0x0, 0x8f, 0xf8, 0x0, - 0x0, 0x0, 0x3e, 0xf3, 0x0, 0xcc, 0x0, 0x0, - 0x8f, 0xf8, 0x0, 0x0, 0x0, 0xef, 0xdb, 0xbb, - 0xec, 0x0, 0x0, 0x8f, 0xf8, 0x0, 0x0, 0x2, - 0xfe, 0xcc, 0xcc, 0xc3, 0x0, 0x0, 0x8f, 0xf8, - 0x0, 0x0, 0x4, 0xf8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8f, 0xf8, 0x0, 0x0, 0x4, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf9, 0x33, 0x33, - 0x36, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, - 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0x28, 0x88, 0x88, 0x8a, 0xf8, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x0, 0x0, - 0x0, 0x4, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0x0, 0x0, 0x0, 0x4, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x4, - 0xfb, 0x77, 0x77, 0x77, 0x77, 0x77, 0xbf, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x4, 0x44, - 0x44, 0x44, 0x44, 0x44, 0x40, + 0x0, 0x0, 0x0, 0x12, 0x22, 0x22, 0x22, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, + 0xfe, 0xe, 0x70, 0x0, 0x0, 0x0, 0x5, 0xff, + 0xff, 0xff, 0xfe, 0xe, 0xf7, 0x0, 0x0, 0x0, + 0x5, 0xff, 0xff, 0xff, 0xfe, 0xe, 0xff, 0x70, + 0x1, 0x22, 0x5, 0xff, 0xff, 0xff, 0xfe, 0xe, + 0xff, 0xf2, 0xdf, 0xff, 0x25, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x0, 0x0, 0xff, 0xff, 0x25, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, + 0x25, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0x25, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf3, 0xff, 0xff, 0x25, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x25, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, + 0x25, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0x25, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf3, 0xff, 0xff, 0x25, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x25, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, + 0x25, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0x25, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf3, 0xff, 0xff, 0x24, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf2, 0xff, 0xff, 0x50, 0x56, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x50, 0xff, 0xff, + 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x0, 0x0, 0x0, 0x8b, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xb7, 0x0, 0x0, 0x0, /* U+F0C7 "" */ - 0x23, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, 0x0, - 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf7, 0x0, 0x0, 0xfa, 0x4d, 0xff, 0xfe, 0x44, - 0x5f, 0xab, 0xf9, 0x0, 0xf, 0x80, 0xcf, 0xff, - 0xc0, 0x0, 0xf8, 0xa, 0xf9, 0x0, 0xf8, 0xc, - 0xff, 0xfc, 0x0, 0xf, 0x80, 0xa, 0xf9, 0xf, - 0x80, 0xcf, 0xff, 0xc0, 0x0, 0xf8, 0x0, 0xa, - 0xf6, 0xf8, 0xc, 0xff, 0xfc, 0x0, 0xf, 0x80, - 0x0, 0xe, 0xcf, 0x80, 0xcf, 0xff, 0xff, 0xff, - 0xf8, 0x0, 0x0, 0xcc, 0xf8, 0x3, 0x88, 0x88, - 0x88, 0x88, 0x10, 0x0, 0xc, 0xcf, 0x80, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, 0xf8, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, - 0xcf, 0x80, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x0, 0xcc, 0xf8, 0xb, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfa, 0xc, 0xcf, 0x80, 0xcd, 0x44, 0x44, - 0x44, 0x44, 0x4d, 0xc0, 0xcc, 0xf8, 0xc, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0xcc, 0xc, 0xcf, 0x80, - 0xcc, 0x0, 0x0, 0x0, 0x0, 0xc, 0xc0, 0xcc, - 0xf8, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xcc, - 0xc, 0xcf, 0x80, 0xcc, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xc0, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xc5, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, + 0x2a, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x91, + 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x10, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd1, 0x0, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfd, 0x10, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, + 0xff, 0xd0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0xff, 0xf5, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xff, 0xf6, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf6, + 0xff, 0xfb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xff, + 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, + 0xff, 0xfe, 0x51, 0x3b, 0xff, 0xff, 0xff, 0xf6, + 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0xcf, 0xff, + 0xff, 0xf6, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, + 0x8f, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xf0, + 0x0, 0x0, 0x9f, 0xff, 0xff, 0xf6, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0x4, 0xff, 0xff, 0xff, 0xf6, + 0xff, 0xff, 0xff, 0xff, 0xda, 0xbf, 0xff, 0xff, + 0xff, 0xf6, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x0, /* U+F0E7 "" */ - 0x0, 0x13, 0x33, 0x32, 0x0, 0x0, 0xa, 0xff, - 0xff, 0x70, 0x0, 0x0, 0xef, 0xff, 0xf2, 0x0, - 0x0, 0x2f, 0xff, 0xfd, 0x0, 0x0, 0x5, 0xff, - 0xff, 0x60, 0x0, 0x0, 0x9f, 0xff, 0xf1, 0x0, - 0x0, 0xd, 0xff, 0xfa, 0x25, 0x9d, 0xf1, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x5f, 0xff, 0xff, 0xff, - 0xff, 0x29, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xdf, - 0xff, 0xed, 0xff, 0xf2, 0xc, 0xa6, 0x20, 0x9f, - 0xfa, 0x0, 0x0, 0x0, 0xc, 0xff, 0x40, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x4f, - 0xf4, 0x0, 0x0, 0x0, 0x8, 0xfd, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0x60, 0x0, 0x0, 0x0, 0xf, - 0xe0, 0x0, 0x0, 0x0, 0x4, 0xf6, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x0, 0xc, - 0x80, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x44, 0x44, 0x43, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0xd, + 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xff, + 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x2f, 0xff, + 0xff, 0xff, 0x70, 0x0, 0x0, 0x4, 0xff, 0xff, + 0xff, 0xf2, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, + 0xfe, 0x66, 0x66, 0x51, 0x8, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xa0, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf6, 0xc, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x40, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xb0, 0x0, 0x1, 0x22, 0x22, 0xff, 0xff, 0xf2, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0xe, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x9, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0x90, 0x0, 0x0, 0x0, 0x0, + + /* U+F0EA "" */ + 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8c, 0xcc, 0xdf, 0xbc, + 0xfc, 0xcc, 0xc6, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xfe, 0x1, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xde, 0xff, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x92, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xfc, 0x1, 0x22, 0x22, 0x22, 0x1, 0x0, 0x0, + 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xfc, 0xe, + 0x70, 0x0, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, + 0xfc, 0xe, 0xf7, 0x0, 0xff, 0xff, 0xf8, 0x1f, + 0xff, 0xff, 0xfc, 0xe, 0xff, 0x70, 0xff, 0xff, + 0xf8, 0x1f, 0xff, 0xff, 0xfc, 0xe, 0xff, 0xf2, + 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xfe, 0x10, + 0x0, 0x0, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xf8, 0x1f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, + 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf3, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0x58, 0x88, 0x84, 0x1f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, + 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf3, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x8, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x80, /* U+F0F3 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0xba, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x5, 0xcf, 0xff, 0xfc, 0x50, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, - 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, - 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, - 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x4f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x60, 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x8f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, - 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x30, 0x3f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xa, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xa0, 0x0, 0x0, 0x0, 0x0, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xc9, 0xbf, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1b, 0xef, 0xb1, 0x0, 0x0, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x28, 0xef, 0xf9, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xfb, 0x10, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x50, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x70, 0x0, 0x0, 0x4f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x5f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x0, 0x2, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0xb, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x10, + 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0x6c, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x90, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7b, 0x81, 0x0, 0x0, 0x0, 0x0, /* U+F11C "" */ - 0x2, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x0, 0xaf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, - 0xfc, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0xf8, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, - 0xf8, 0xc, 0xc0, 0xcc, 0x8, 0xf0, 0x8f, 0x34, - 0xf4, 0x3f, 0x80, 0xf8, 0xf8, 0x6, 0x60, 0x66, - 0x4, 0x80, 0x48, 0x22, 0x82, 0x4f, 0x80, 0xf8, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0x80, 0xf8, 0xf8, 0x9, 0xbb, 0x33, - 0xb6, 0xc, 0x60, 0x99, 0x9, 0xcf, 0x80, 0xf8, - 0xf8, 0x9, 0xcc, 0x32, 0xc6, 0xc, 0x60, 0x99, - 0x9, 0xcc, 0x60, 0xf8, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, - 0xf8, 0x9, 0x90, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, - 0xb3, 0x2b, 0x60, 0xf8, 0xf8, 0x9, 0x90, 0x9c, - 0xcc, 0xcc, 0xcc, 0xcc, 0xc3, 0x3c, 0x60, 0xf8, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xf8, 0xfb, 0x77, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xf8, - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xe3, + 0x19, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xb7, 0xc, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfd, 0x0, + 0x8f, 0x10, 0x7f, 0x10, 0x5f, 0x30, 0x3f, 0x50, + 0x1f, 0xfc, 0xff, 0xc0, 0x7, 0xe0, 0x6, 0xf0, + 0x4, 0xf2, 0x2, 0xf4, 0x0, 0xff, 0xcf, 0xfc, + 0x0, 0x8f, 0x0, 0x7f, 0x10, 0x5f, 0x30, 0x3f, + 0x50, 0x1f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, + 0xff, 0xfe, 0x66, 0xbf, 0x66, 0xaf, 0x76, 0x8f, + 0x86, 0x7f, 0xff, 0xfc, 0xff, 0xff, 0xd0, 0x6, + 0xf0, 0x5, 0xf1, 0x3, 0xf3, 0x1, 0xff, 0xff, + 0xcf, 0xff, 0xfd, 0x0, 0x7f, 0x0, 0x5f, 0x10, + 0x3f, 0x30, 0x1f, 0xff, 0xfc, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xcf, 0xfe, 0x66, 0xcf, 0x76, 0x66, 0x66, + 0x66, 0x66, 0x9f, 0xa6, 0x7f, 0xfc, 0xff, 0xc0, + 0x7, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf4, + 0x0, 0xff, 0xcf, 0xfc, 0x0, 0x7e, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0x40, 0xf, 0xfc, 0xff, + 0xfc, 0xce, 0xfc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, + 0xfd, 0xcc, 0xff, 0xbd, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, + 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x10, /* U+F124 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xbf, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xbf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xbf, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x4, - 0xbf, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x4, - 0xbf, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x4, - 0xbf, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x4, - 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x9c, 0xcc, 0xcc, 0xcd, 0xff, 0xff, 0xf2, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, - 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xff, 0x20, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4, 0xfa, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x72, 0x0, 0x0, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5c, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6d, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x7e, 0xff, 0xff, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x9f, 0xff, + 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x5, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, + 0x0, 0x7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x90, 0x0, 0x4, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, + 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, + 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x1, 0x22, 0x22, + 0x22, 0x7f, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xb8, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F15B "" */ - 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, 0xb0, 0x20, 0x0, - 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8, - 0x90, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf0, 0x8f, 0x90, 0x0, 0xf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x8, 0xff, 0x90, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf0, 0x8f, 0xff, 0x90, 0xf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x8, 0xff, 0xff, - 0x90, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x48, - 0x88, 0x88, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x50, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd, + 0x37, 0x77, 0x77, 0x77, 0x74, 0x5, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xfa, 0x0, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf, 0xfa, + 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xff, + 0xfa, 0x0, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf, + 0xff, 0xfa, 0xf, 0xff, 0xff, 0xff, 0xff, 0xa0, + 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xfa, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xe3, 0x22, 0x22, 0x21, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfb, 0x4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, - 0x44, 0x43, 0x0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x40, /* U+F1EB "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x33, 0x10, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, - 0x6a, 0xff, 0xff, 0xff, 0xfc, 0x63, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4b, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x40, 0x0, 0x0, 0x1, 0xbf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb3, 0x0, 0x3, 0xef, 0xff, 0xfd, 0x83, 0x0, - 0x0, 0x3, 0x7d, 0xff, 0xff, 0xe5, 0x5, 0xff, - 0xff, 0xe4, 0x0, 0x25, 0x77, 0x76, 0x30, 0x4, - 0xcf, 0xff, 0xf5, 0x1d, 0xff, 0x80, 0x17, 0xdf, - 0xff, 0xff, 0xff, 0xd7, 0x10, 0x6f, 0xff, 0x30, - 0x1b, 0x40, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0x70, 0x3b, 0x30, 0x0, 0x0, 0xaf, 0xff, - 0xff, 0xdb, 0x8b, 0xdf, 0xff, 0xff, 0xa1, 0x0, - 0x0, 0x0, 0x1d, 0xff, 0xfa, 0x20, 0x0, 0x0, - 0x18, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x1d, - 0xc2, 0x3, 0x8b, 0xbb, 0x84, 0x2, 0xcf, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x10, 0x1b, 0xff, 0xff, - 0xff, 0xfb, 0x30, 0x10, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xfd, - 0x74, 0x6c, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x16, 0x0, 0x10, 0x4, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x5, 0xef, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1b, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x0, + 0x0, 0x0, 0x26, 0x9c, 0xde, 0xdc, 0xb8, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8d, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xff, 0xdb, 0x99, 0x9a, + 0xcf, 0xff, 0xff, 0xff, 0xb1, 0x0, 0xa, 0xff, + 0xff, 0xfc, 0x61, 0x0, 0x0, 0x0, 0x0, 0x39, + 0xef, 0xff, 0xfe, 0x40, 0xcf, 0xff, 0xfb, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xff, 0xf4, 0xaf, 0xff, 0x60, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xff, 0xf2, + 0xa, 0xd2, 0x0, 0x0, 0x4, 0x9c, 0xef, 0xed, + 0xb6, 0x20, 0x0, 0x0, 0x8e, 0x30, 0x0, 0x0, + 0x0, 0x6, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfa, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xcf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xfb, + 0x87, 0x89, 0xdf, 0xff, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xe6, 0x0, 0x0, 0x0, + 0x3, 0xaf, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xba, 0x10, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xcf, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x70, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xd, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F240 "" */ - 0x29, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x10, 0xd, 0xfc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcd, 0xf8, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xd, 0xc0, 0xf, 0x80, 0x67, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x40, - 0xcc, 0x0, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xc, 0xe8, - 0xf, 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x80, 0x9d, 0xf3, 0xf8, - 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0x0, 0x4f, 0x4f, 0x80, 0xcf, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x80, 0x4, 0xf4, 0xf8, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0x0, 0x4f, 0x4f, 0x80, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x4, - 0xf4, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf8, 0x6, 0x9f, 0x4f, - 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x80, 0xcf, 0xd1, 0xf8, 0x9, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xc6, 0xc, 0xc0, 0xf, 0x80, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x0, 0xfc, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7f, - 0xa0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, + 0xff, 0xff, 0xf6, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xeb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, 0x50, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf9, 0xff, 0xc0, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x7, 0xff, 0xfa, 0xff, 0xc0, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3, + 0x7f, 0xfa, 0xff, 0xc0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x1f, 0xfa, + 0xff, 0xc0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0, 0x1f, 0xfa, 0xff, 0xc0, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x5, 0xdf, 0xfa, 0xff, 0xc0, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7, + 0xff, 0xfa, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x19, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x92, 0x0, /* U+F241 "" */ - 0x29, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x10, 0xd, 0xfc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcd, 0xf8, 0x0, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xd, 0xc0, 0xf, 0x80, 0x67, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x76, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xe8, - 0xf, 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0x0, 0x0, 0x0, 0x9d, 0xf3, 0xf8, - 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc0, 0x0, 0x0, 0x0, 0x4f, 0x4f, 0x80, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, - 0x0, 0x0, 0x4, 0xf4, 0xf8, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x4f, 0x4f, 0x80, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x4, - 0xf4, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xc0, 0x0, 0x0, 0x6, 0x9f, 0x4f, - 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0x0, 0x0, 0x0, 0xcf, 0xd1, 0xf8, 0x9, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x90, - 0x0, 0x0, 0xc, 0xc0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x0, 0xfc, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7f, - 0xa0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf6, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xeb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, 0x50, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf9, 0xff, 0xc0, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, + 0x0, 0x7, 0xff, 0xfa, 0xff, 0xc0, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x3, + 0x7f, 0xfa, 0xff, 0xc0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x1f, 0xfa, + 0xff, 0xc0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x1f, 0xfa, 0xff, 0xc0, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, + 0x0, 0x5, 0xdf, 0xfa, 0xff, 0xc0, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x0, 0x0, 0x7, + 0xff, 0xfa, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x19, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x92, 0x0, /* U+F242 "" */ - 0x29, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x10, 0xd, 0xfc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcd, 0xf8, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xd, 0xc0, 0xf, 0x80, 0x67, 0x77, 0x77, - 0x77, 0x77, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0xc, 0xe8, - 0xf, 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x9d, 0xf3, 0xf8, - 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0x4f, 0x80, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xf4, 0xf8, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0x4f, 0x80, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xf4, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x40, 0x0, 0x0, 0x0, 0x0, 0x6, 0x9f, 0x4f, - 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xd1, 0xf8, 0x9, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x30, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xc0, 0xf, 0x80, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x0, 0xfc, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7f, - 0xa0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf6, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xeb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, 0x50, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf9, 0xff, 0xc0, + 0xef, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfa, 0xff, 0xc0, 0xef, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x7f, 0xfa, 0xff, 0xc0, 0xef, 0xff, 0xff, 0xff, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfa, + 0xff, 0xc0, 0xef, 0xff, 0xff, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfa, 0xff, 0xc0, + 0xef, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xdf, 0xfa, 0xff, 0xc0, 0x78, 0x88, + 0x88, 0x88, 0x85, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xfa, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x19, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x92, 0x0, /* U+F243 "" */ - 0x29, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x10, 0xd, 0xfc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcd, 0xf8, 0x0, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xd, 0xc0, 0xf, 0x80, 0x67, 0x77, 0x77, - 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0xf8, 0xc, 0xff, 0xff, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xe8, - 0xf, 0x80, 0xcf, 0xff, 0xff, 0x80, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x9d, 0xf3, 0xf8, - 0xc, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0x4f, 0x80, 0xcf, - 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xf4, 0xf8, 0xc, 0xff, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0x4f, 0x80, 0xcf, 0xff, 0xff, 0x80, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xf4, 0xf8, 0xc, 0xff, 0xff, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x9f, 0x4f, - 0x80, 0xcf, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xd1, 0xf8, 0x9, - 0xcc, 0xcc, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xc0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x0, 0xfc, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7f, - 0xa0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf6, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xeb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, 0x50, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf9, 0xff, 0xc0, + 0xef, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfa, 0xff, 0xc0, 0xef, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x7f, 0xfa, 0xff, 0xc0, 0xef, 0xff, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfa, + 0xff, 0xc0, 0xef, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfa, 0xff, 0xc0, + 0xef, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xdf, 0xfa, 0xff, 0xc0, 0x78, 0x88, + 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xfa, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x19, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x92, 0x0, /* U+F244 "" */ - 0x29, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xbb, 0xbb, 0xbb, 0xb7, 0x10, 0xd, 0xfc, - 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcd, 0xf8, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xd, 0xc0, 0xf, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf6, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xeb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, 0x50, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf9, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcc, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xe8, - 0xf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x9d, 0xf3, 0xf8, + 0x0, 0x7, 0xff, 0xfa, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x7f, 0xfa, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfa, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfa, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0x4f, 0x80, 0x0, + 0x0, 0x5, 0xdf, 0xfa, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xfa, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x19, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0x92, 0x0, + + /* U+F287 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, + 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x12, 0xdf, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xf4, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x1c, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, + 0x76, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xf6, 0x0, 0x4c, + 0xd5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x33, + 0x0, 0x0, 0xd, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xd2, 0x0, + 0x4f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, + 0x40, 0x0, 0xaf, 0xff, 0xfc, 0x1, 0xde, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfa, 0x10, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xdf, 0xff, + 0xff, 0x88, 0x88, 0x9f, 0xe8, 0x88, 0x88, 0x88, + 0x88, 0x8f, 0xff, 0x91, 0x5f, 0xff, 0xf8, 0x0, + 0x0, 0x7, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xc3, 0x0, 0x4, 0xbb, 0x60, 0x0, 0x0, 0x0, + 0xeb, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x30, + 0x8, 0x88, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1e, 0xc1, 0x2f, 0xff, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0x4f, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xf4, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x9f, 0x4f, - 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xd1, 0xf8, 0x0, + 0x0, 0x27, 0x9f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xc0, 0xf, 0x80, 0x0, 0x0, + 0x2f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x0, 0xfc, 0x77, 0x77, 0x77, 0x77, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7f, - 0xa0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F293 "" */ - 0x0, 0x0, 0x26, 0xbb, 0xbb, 0xa5, 0x10, 0x0, - 0x0, 0x0, 0x7e, 0xff, 0xff, 0xff, 0xfe, 0x60, - 0x0, 0x0, 0x8f, 0xff, 0xfc, 0x6f, 0xff, 0xff, - 0x60, 0x0, 0x4f, 0xff, 0xff, 0xc0, 0x6f, 0xff, - 0xfe, 0x20, 0xa, 0xff, 0xff, 0xfc, 0x0, 0x6f, - 0xff, 0xf8, 0x0, 0xff, 0xff, 0xff, 0xc0, 0x30, - 0x6f, 0xff, 0xd0, 0x4f, 0xff, 0x4d, 0xfc, 0xc, - 0x60, 0x6f, 0xff, 0x27, 0xff, 0xa0, 0x1d, 0xc0, - 0xcf, 0x10, 0xcf, 0xf4, 0x8f, 0xff, 0x90, 0x19, - 0xb, 0x30, 0xaf, 0xff, 0x7a, 0xff, 0xff, 0x90, - 0x0, 0x10, 0xaf, 0xff, 0xf8, 0xcf, 0xff, 0xff, - 0x90, 0x0, 0xaf, 0xff, 0xff, 0x8c, 0xff, 0xff, - 0xff, 0x20, 0x1d, 0xff, 0xff, 0xf8, 0xbf, 0xff, - 0xff, 0x30, 0x0, 0x1d, 0xff, 0xff, 0x88, 0xff, - 0xff, 0x30, 0x60, 0x91, 0x1d, 0xff, 0xf8, 0x8f, - 0xff, 0x30, 0xac, 0xc, 0xb0, 0x2f, 0xff, 0x44, - 0xff, 0xc1, 0xaf, 0xc0, 0xca, 0x3, 0xef, 0xf3, - 0x1f, 0xff, 0xef, 0xfc, 0x6, 0x3, 0xef, 0xff, - 0x0, 0xcf, 0xff, 0xff, 0xc0, 0x3, 0xef, 0xff, - 0xa0, 0x6, 0xff, 0xff, 0xfc, 0x3, 0xef, 0xff, - 0xf3, 0x0, 0xc, 0xff, 0xff, 0xc3, 0xef, 0xff, - 0xf9, 0x0, 0x0, 0x1c, 0xff, 0xfd, 0xef, 0xff, - 0xfa, 0x0, 0x0, 0x0, 0x6, 0xbf, 0xff, 0xff, - 0xb4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, - 0x0, 0x0, 0x0, 0x0 + 0x0, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x9e, 0xff, 0xff, 0xc7, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xdf, 0xff, 0xfd, + 0x20, 0x0, 0x8, 0xff, 0xff, 0xf2, 0xdf, 0xff, + 0xfe, 0x0, 0x3, 0xff, 0xff, 0xff, 0x11, 0xdf, + 0xff, 0xf9, 0x0, 0xaf, 0xff, 0xff, 0xf1, 0x1, + 0xef, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0x12, + 0x12, 0xef, 0xff, 0x53, 0xff, 0xf4, 0x7f, 0xf1, + 0x3d, 0x13, 0xff, 0xf8, 0x6f, 0xff, 0x40, 0x7f, + 0x13, 0xf5, 0xc, 0xff, 0xb8, 0xff, 0xff, 0x40, + 0x71, 0x35, 0xa, 0xff, 0xfd, 0x9f, 0xff, 0xff, + 0x40, 0x0, 0x8, 0xff, 0xff, 0xea, 0xff, 0xff, + 0xff, 0x30, 0x6, 0xff, 0xff, 0xfe, 0xaf, 0xff, + 0xff, 0xf4, 0x0, 0x6f, 0xff, 0xff, 0xe9, 0xff, + 0xff, 0xf4, 0x0, 0x0, 0x7f, 0xff, 0xfe, 0x8f, + 0xff, 0xf4, 0x6, 0x13, 0x50, 0x8f, 0xff, 0xd6, + 0xff, 0xf4, 0x7, 0xf1, 0x3f, 0x40, 0x9f, 0xfb, + 0x3f, 0xff, 0x47, 0xff, 0x13, 0xd1, 0x1d, 0xff, + 0x90, 0xff, 0xff, 0xff, 0xf1, 0x21, 0x1d, 0xff, + 0xf5, 0xa, 0xff, 0xff, 0xff, 0x20, 0x2e, 0xff, + 0xff, 0x0, 0x2f, 0xff, 0xff, 0xf2, 0x2e, 0xff, + 0xff, 0x80, 0x0, 0x6f, 0xff, 0xff, 0x4e, 0xff, + 0xff, 0xe0, 0x0, 0x0, 0x4e, 0xff, 0xff, 0xff, + 0xff, 0xc2, 0x0, 0x0, 0x0, 0x5, 0x9c, 0xdd, + 0xc9, 0x40, 0x0, 0x0, + + /* U+F2ED "" */ + 0x0, 0x0, 0x0, 0x2, 0x22, 0x22, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, + 0xe1, 0x0, 0x0, 0x0, 0xac, 0xcc, 0xcd, 0xff, + 0xff, 0xff, 0xfd, 0xcc, 0xcc, 0xc1, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xca, 0x0, 0xa, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, + 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x0, 0xa, 0xff, 0xe1, 0xef, 0xf2, 0xcf, + 0xf3, 0xbf, 0xfe, 0x0, 0xa, 0xff, 0xd0, 0xdf, + 0xf0, 0xbf, 0xf1, 0x9f, 0xfe, 0x0, 0xa, 0xff, + 0xd0, 0xdf, 0xf0, 0xbf, 0xf1, 0x9f, 0xfe, 0x0, + 0xa, 0xff, 0xd0, 0xdf, 0xf0, 0xbf, 0xf1, 0x9f, + 0xfe, 0x0, 0xa, 0xff, 0xd0, 0xdf, 0xf0, 0xbf, + 0xf1, 0x9f, 0xfe, 0x0, 0xa, 0xff, 0xd0, 0xdf, + 0xf0, 0xbf, 0xf1, 0x9f, 0xfe, 0x0, 0xa, 0xff, + 0xd0, 0xdf, 0xf0, 0xbf, 0xf1, 0x9f, 0xfe, 0x0, + 0xa, 0xff, 0xd0, 0xdf, 0xf0, 0xbf, 0xf1, 0x9f, + 0xfe, 0x0, 0xa, 0xff, 0xd0, 0xdf, 0xf0, 0xbf, + 0xf1, 0x9f, 0xfe, 0x0, 0xa, 0xff, 0xd0, 0xdf, + 0xf0, 0xbf, 0xf1, 0x9f, 0xfe, 0x0, 0xa, 0xff, + 0xe1, 0xef, 0xf1, 0xcf, 0xf3, 0xaf, 0xfe, 0x0, + 0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfa, 0x0, 0x0, 0x7b, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcb, 0x91, 0x0, + + /* U+F304 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xff, 0xd1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, + 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xd1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xc, 0xff, 0xff, + 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xf4, 0xc, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4, 0xff, 0xf4, 0xc, 0xff, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, + 0xf4, 0xc, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0xff, 0xff, 0xf4, 0xc, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, + 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xb0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, + 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xb9, 0x75, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+F55A "" */ + 0x0, 0x0, 0x0, 0x2, 0x68, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x75, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x5, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0x80, 0xcf, + 0xff, 0xc0, 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x5f, + 0xff, 0xff, 0xff, 0xfc, 0x0, 0xc, 0xfc, 0x0, + 0xc, 0xff, 0xff, 0xf8, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x50, 0x0, 0x90, 0x0, 0x5f, 0xff, + 0xff, 0xf8, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf5, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xf8, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, + 0x0, 0x4f, 0xff, 0xff, 0xff, 0xf8, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0xc, + 0xff, 0xff, 0xff, 0xf8, 0xc, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xc0, 0x0, 0x10, 0x0, 0xcf, 0xff, + 0xff, 0xf8, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xfd, + 0x0, 0x5, 0xf5, 0x0, 0xd, 0xff, 0xff, 0xf8, + 0x0, 0xc, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x5f, + 0xff, 0x50, 0x2e, 0xff, 0xff, 0xf8, 0x0, 0x0, + 0xcf, 0xff, 0xff, 0xff, 0xe8, 0xff, 0xff, 0xf8, + 0xef, 0xff, 0xff, 0xf8, 0x0, 0x0, 0xc, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, + 0x0, 0x0, 0x0, 0x9, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, + + /* U+F7C2 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xfe, + 0x70, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x50, 0x2, 0xef, 0xbb, 0xfc, 0xbf, 0xdb, + 0xbf, 0xf9, 0x2, 0xef, 0xd0, 0x2f, 0x40, 0xe7, + 0x1, 0xff, 0xa2, 0xef, 0xfd, 0x2, 0xf4, 0xe, + 0x70, 0x1f, 0xfa, 0xef, 0xff, 0xd0, 0x2f, 0x40, + 0xe7, 0x1, 0xff, 0xaf, 0xff, 0xfd, 0x24, 0xf6, + 0x2e, 0x82, 0x3f, 0xfa, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf4, 0x9, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd5, 0x0, + + /* U+F8A2 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1e, 0xff, 0x10, 0x0, 0x3, 0xed, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xff, 0xf1, 0x0, 0x4, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0xff, 0x10, 0x5, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xff, 0xf1, 0x6, 0xff, 0xff, + 0xf6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x9f, 0xff, + 0x17, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf1, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x13, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd0, 0x2, 0xef, 0xff, 0xf1, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x0, 0x2, + 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xdf, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xb8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0 }; @@ -2402,152 +2759,159 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { *--------------------*/ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { - {.bitmap_index = 0, .adv_w = 0, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, - {.bitmap_index = 0, .adv_w = 87, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 0, .adv_w = 93, .box_h = 16, .box_w = 3, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 24, .adv_w = 126, .box_h = 6, .box_w = 6, .ofs_x = 1, .ofs_y = 10}, - {.bitmap_index = 42, .adv_w = 219, .box_h = 16, .box_w = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 146, .adv_w = 205, .box_h = 22, .box_w = 11, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 267, .adv_w = 257, .box_h = 17, .box_w = 15, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 395, .adv_w = 219, .box_h = 17, .box_w = 14, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 514, .adv_w = 76, .box_h = 6, .box_w = 3, .ofs_x = 1, .ofs_y = 10}, - {.bitmap_index = 523, .adv_w = 117, .box_h = 23, .box_w = 7, .ofs_x = 1, .ofs_y = -5}, - {.bitmap_index = 604, .adv_w = 118, .box_h = 23, .box_w = 6, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 673, .adv_w = 152, .box_h = 8, .box_w = 8, .ofs_x = 1, .ofs_y = 4}, - {.bitmap_index = 705, .adv_w = 200, .box_h = 12, .box_w = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 777, .adv_w = 78, .box_h = 6, .box_w = 3, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 786, .adv_w = 159, .box_h = 3, .box_w = 8, .ofs_x = 1, .ofs_y = 5}, - {.bitmap_index = 798, .adv_w = 94, .box_h = 3, .box_w = 3, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 803, .adv_w = 146, .box_h = 18, .box_w = 9, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 884, .adv_w = 198, .box_h = 17, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 978, .adv_w = 198, .box_h = 16, .box_w = 6, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1026, .adv_w = 198, .box_h = 16, .box_w = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1114, .adv_w = 198, .box_h = 17, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1208, .adv_w = 198, .box_h = 16, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1304, .adv_w = 198, .box_h = 17, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1398, .adv_w = 198, .box_h = 17, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1492, .adv_w = 198, .box_h = 16, .box_w = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1580, .adv_w = 198, .box_h = 17, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1674, .adv_w = 198, .box_h = 17, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1759, .adv_w = 89, .box_h = 12, .box_w = 3, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1777, .adv_w = 90, .box_h = 15, .box_w = 4, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 1807, .adv_w = 179, .box_h = 10, .box_w = 10, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 1857, .adv_w = 198, .box_h = 7, .box_w = 10, .ofs_x = 1, .ofs_y = 4}, - {.bitmap_index = 1892, .adv_w = 184, .box_h = 10, .box_w = 10, .ofs_x = 1, .ofs_y = 1}, - {.bitmap_index = 1942, .adv_w = 167, .box_h = 16, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2022, .adv_w = 315, .box_h = 21, .box_w = 18, .ofs_x = 1, .ofs_y = -5}, - {.bitmap_index = 2211, .adv_w = 223, .box_h = 16, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2323, .adv_w = 223, .box_h = 16, .box_w = 12, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2419, .adv_w = 223, .box_h = 17, .box_w = 12, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2521, .adv_w = 238, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2625, .adv_w = 193, .box_h = 16, .box_w = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2713, .adv_w = 193, .box_h = 16, .box_w = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2801, .adv_w = 238, .box_h = 17, .box_w = 12, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2903, .adv_w = 247, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3007, .adv_w = 99, .box_h = 16, .box_w = 3, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 3031, .adv_w = 193, .box_h = 17, .box_w = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3125, .adv_w = 223, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3229, .adv_w = 193, .box_h = 16, .box_w = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3317, .adv_w = 303, .box_h = 16, .box_w = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3453, .adv_w = 247, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3557, .adv_w = 240, .box_h = 17, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 3668, .adv_w = 223, .box_h = 16, .box_w = 12, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3764, .adv_w = 245, .box_h = 18, .box_w = 14, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 3890, .adv_w = 223, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3994, .adv_w = 215, .box_h = 17, .box_w = 12, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 4096, .adv_w = 211, .box_h = 16, .box_w = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4200, .adv_w = 238, .box_h = 17, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 4311, .adv_w = 223, .box_h = 16, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4423, .adv_w = 303, .box_h = 16, .box_w = 19, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4575, .adv_w = 223, .box_h = 16, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4687, .adv_w = 223, .box_h = 16, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4799, .adv_w = 211, .box_h = 16, .box_w = 12, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 4895, .adv_w = 95, .box_h = 22, .box_w = 5, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 4950, .adv_w = 145, .box_h = 18, .box_w = 9, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5031, .adv_w = 95, .box_h = 22, .box_w = 5, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 5086, .adv_w = 147, .box_h = 9, .box_w = 9, .ofs_x = 0, .ofs_y = 7}, - {.bitmap_index = 5127, .adv_w = 160, .box_h = 2, .box_w = 10, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5137, .adv_w = 110, .box_h = 4, .box_w = 5, .ofs_x = 1, .ofs_y = 13}, - {.bitmap_index = 5147, .adv_w = 194, .box_h = 13, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 5212, .adv_w = 200, .box_h = 18, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 5311, .adv_w = 184, .box_h = 13, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 5376, .adv_w = 200, .box_h = 18, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 5466, .adv_w = 184, .box_h = 13, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 5531, .adv_w = 107, .box_h = 17, .box_w = 8, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 5599, .adv_w = 200, .box_h = 17, .box_w = 10, .ofs_x = 1, .ofs_y = -5}, - {.bitmap_index = 5684, .adv_w = 200, .box_h = 17, .box_w = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5769, .adv_w = 89, .box_h = 17, .box_w = 3, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5795, .adv_w = 91, .box_h = 22, .box_w = 5, .ofs_x = -1, .ofs_y = -5}, - {.bitmap_index = 5850, .adv_w = 180, .box_h = 17, .box_w = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5935, .adv_w = 89, .box_h = 17, .box_w = 3, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5961, .adv_w = 308, .box_h = 12, .box_w = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 6063, .adv_w = 200, .box_h = 12, .box_w = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 6123, .adv_w = 200, .box_h = 13, .box_w = 11, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 6195, .adv_w = 200, .box_h = 17, .box_w = 11, .ofs_x = 1, .ofs_y = -5}, - {.bitmap_index = 6289, .adv_w = 200, .box_h = 17, .box_w = 10, .ofs_x = 1, .ofs_y = -5}, - {.bitmap_index = 6374, .adv_w = 123, .box_h = 12, .box_w = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 6416, .adv_w = 184, .box_h = 13, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 6481, .adv_w = 112, .box_h = 16, .box_w = 7, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 6537, .adv_w = 200, .box_h = 13, .box_w = 10, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 6602, .adv_w = 177, .box_h = 12, .box_w = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6668, .adv_w = 266, .box_h = 12, .box_w = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6764, .adv_w = 177, .box_h = 12, .box_w = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6830, .adv_w = 177, .box_h = 17, .box_w = 11, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 6924, .adv_w = 177, .box_h = 12, .box_w = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 6984, .adv_w = 120, .box_h = 21, .box_w = 8, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 7068, .adv_w = 87, .box_h = 19, .box_w = 3, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 7097, .adv_w = 120, .box_h = 21, .box_w = 7, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 7171, .adv_w = 239, .box_h = 5, .box_w = 13, .ofs_x = 1, .ofs_y = 4}, - {.bitmap_index = 7204, .adv_w = 302, .box_h = 22, .box_w = 19, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 7413, .adv_w = 377, .box_h = 22, .box_w = 24, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 7677, .adv_w = 352, .box_h = 18, .box_w = 22, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7875, .adv_w = 352, .box_h = 15, .box_w = 20, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 8025, .adv_w = 277, .box_h = 16, .box_w = 15, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 8145, .adv_w = 302, .box_h = 21, .box_w = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 8345, .adv_w = 302, .box_h = 20, .box_w = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 8535, .adv_w = 277, .box_h = 20, .box_w = 18, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 8715, .adv_w = 327, .box_h = 16, .box_w = 20, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8875, .adv_w = 327, .box_h = 19, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 9075, .adv_w = 302, .box_h = 16, .box_w = 19, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 9227, .adv_w = 302, .box_h = 20, .box_w = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 9417, .adv_w = 151, .box_h = 16, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 9497, .adv_w = 226, .box_h = 16, .box_w = 15, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 9617, .adv_w = 327, .box_h = 18, .box_w = 21, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 9806, .adv_w = 377, .box_h = 20, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 10046, .adv_w = 302, .box_h = 19, .box_w = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 10227, .adv_w = 201, .box_h = 20, .box_w = 13, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 10357, .adv_w = 277, .box_h = 20, .box_w = 18, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 10537, .adv_w = 302, .box_h = 20, .box_w = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 10727, .adv_w = 302, .box_h = 20, .box_w = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 10917, .adv_w = 201, .box_h = 20, .box_w = 13, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 11047, .adv_w = 302, .box_h = 16, .box_w = 19, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 11199, .adv_w = 251, .box_h = 21, .box_w = 13, .ofs_x = 2, .ofs_y = -2}, - {.bitmap_index = 11336, .adv_w = 251, .box_h = 21, .box_w = 13, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 11473, .adv_w = 277, .box_h = 18, .box_w = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 11635, .adv_w = 277, .box_h = 5, .box_w = 18, .ofs_x = 0, .ofs_y = 6}, - {.bitmap_index = 11680, .adv_w = 352, .box_h = 21, .box_w = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 11911, .adv_w = 352, .box_h = 21, .box_w = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 12142, .adv_w = 352, .box_h = 13, .box_w = 20, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 12272, .adv_w = 352, .box_h = 14, .box_w = 20, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 12412, .adv_w = 377, .box_h = 15, .box_w = 24, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 12592, .adv_w = 327, .box_h = 18, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 12781, .adv_w = 327, .box_h = 20, .box_w = 21, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 12991, .adv_w = 277, .box_h = 18, .box_w = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 13153, .adv_w = 352, .box_h = 18, .box_w = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 13351, .adv_w = 352, .box_h = 23, .box_w = 22, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 13604, .adv_w = 302, .box_h = 20, .box_w = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 13794, .adv_w = 176, .box_h = 21, .box_w = 11, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 13910, .adv_w = 352, .box_h = 22, .box_w = 22, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 14152, .adv_w = 377, .box_h = 15, .box_w = 24, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 14332, .adv_w = 277, .box_h = 18, .box_w = 18, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 14494, .adv_w = 302, .box_h = 23, .box_w = 19, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 14713, .adv_w = 402, .box_h = 18, .box_w = 25, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 14938, .adv_w = 453, .box_h = 16, .box_w = 29, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 15170, .adv_w = 453, .box_h = 16, .box_w = 29, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 15402, .adv_w = 453, .box_h = 16, .box_w = 29, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 15634, .adv_w = 453, .box_h = 16, .box_w = 29, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 15866, .adv_w = 453, .box_h = 16, .box_w = 29, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 16098, .adv_w = 302, .box_h = 23, .box_w = 17, .ofs_x = 1, .ofs_y = -4} + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 87, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 91, .box_w = 4, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 32, .adv_w = 113, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 47, .adv_w = 219, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 151, .adv_w = 198, .box_w = 11, .box_h = 21, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 267, .adv_w = 258, .box_w = 15, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 387, .adv_w = 219, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 491, .adv_w = 61, .box_w = 2, .box_h = 6, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 497, .adv_w = 120, .box_w = 7, .box_h = 24, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 581, .adv_w = 122, .box_w = 7, .box_h = 24, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 665, .adv_w = 152, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 715, .adv_w = 200, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 787, .adv_w = 69, .box_w = 4, .box_h = 6, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 799, .adv_w = 97, .box_w = 6, .box_h = 2, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 805, .adv_w = 93, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 811, .adv_w = 145, .box_w = 9, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 888, .adv_w = 198, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 976, .adv_w = 198, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1032, .adv_w = 198, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1120, .adv_w = 198, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1200, .adv_w = 198, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1296, .adv_w = 198, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1384, .adv_w = 197, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1472, .adv_w = 198, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1568, .adv_w = 198, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1656, .adv_w = 198, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1736, .adv_w = 85, .box_w = 3, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1754, .adv_w = 74, .box_w = 4, .box_h = 15, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1784, .adv_w = 179, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 1834, .adv_w = 193, .box_w = 10, .box_h = 6, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 1864, .adv_w = 184, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1914, .adv_w = 166, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1994, .adv_w = 316, .box_w = 18, .box_h = 21, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 2183, .adv_w = 230, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2303, .adv_w = 219, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2399, .adv_w = 229, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2503, .adv_w = 231, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2607, .adv_w = 200, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2695, .adv_w = 195, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2783, .adv_w = 240, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2887, .adv_w = 251, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2991, .adv_w = 96, .box_w = 4, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3023, .adv_w = 194, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3111, .adv_w = 221, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3215, .adv_w = 189, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3303, .adv_w = 307, .box_w = 17, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3439, .adv_w = 251, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3543, .adv_w = 242, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3647, .adv_w = 222, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3751, .adv_w = 242, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 3875, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3979, .adv_w = 209, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4083, .adv_w = 210, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4187, .adv_w = 228, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4283, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4395, .adv_w = 312, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4555, .adv_w = 221, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4667, .adv_w = 211, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4779, .adv_w = 211, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4883, .adv_w = 93, .box_w = 5, .box_h = 22, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 4938, .adv_w = 144, .box_w = 9, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5015, .adv_w = 93, .box_w = 5, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 5070, .adv_w = 147, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 5106, .adv_w = 159, .box_w = 10, .box_h = 2, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5116, .adv_w = 109, .box_w = 6, .box_h = 3, .ofs_x = 0, .ofs_y = 14}, + {.bitmap_index = 5125, .adv_w = 191, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5185, .adv_w = 197, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5273, .adv_w = 184, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5339, .adv_w = 199, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5419, .adv_w = 186, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5479, .adv_w = 122, .box_w = 8, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5547, .adv_w = 197, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 5632, .adv_w = 194, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5712, .adv_w = 85, .box_w = 3, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5736, .adv_w = 84, .box_w = 5, .box_h = 21, .ofs_x = -1, .ofs_y = -5}, + {.bitmap_index = 5789, .adv_w = 178, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5877, .adv_w = 85, .box_w = 3, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5901, .adv_w = 309, .box_w = 17, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6003, .adv_w = 194, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6063, .adv_w = 201, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6135, .adv_w = 197, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 6229, .adv_w = 200, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 6314, .adv_w = 119, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6356, .adv_w = 182, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6416, .adv_w = 115, .box_w = 7, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6469, .adv_w = 194, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6529, .adv_w = 171, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6595, .adv_w = 265, .box_w = 17, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6697, .adv_w = 174, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6763, .adv_w = 167, .box_w = 11, .box_h = 17, .ofs_x = 0, .ofs_y = -5}, + {.bitmap_index = 6857, .adv_w = 174, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6923, .adv_w = 119, .box_w = 8, .box_h = 22, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 7011, .adv_w = 86, .box_w = 3, .box_h = 19, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 7040, .adv_w = 119, .box_w = 7, .box_h = 22, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 7117, .adv_w = 239, .box_w = 13, .box_h = 4, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 7143, .adv_w = 352, .box_w = 23, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 7408, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7595, .adv_w = 352, .box_w = 22, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7815, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8002, .adv_w = 242, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8130, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8383, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8636, .adv_w = 396, .box_w = 25, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8886, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 9139, .adv_w = 396, .box_w = 25, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9352, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 9605, .adv_w = 176, .box_w = 11, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 9704, .adv_w = 264, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 9857, .adv_w = 396, .box_w = 25, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 10132, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10319, .adv_w = 308, .box_w = 15, .box_h = 21, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 10477, .adv_w = 308, .box_w = 20, .box_h = 24, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 10717, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 10917, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 11117, .adv_w = 308, .box_w = 15, .box_h = 21, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 11275, .adv_w = 308, .box_w = 21, .box_h = 20, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 11485, .adv_w = 220, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 11605, .adv_w = 220, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 11725, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 11925, .adv_w = 308, .box_w = 20, .box_h = 5, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 11975, .adv_w = 396, .box_w = 25, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 12188, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12510, .adv_w = 396, .box_w = 27, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 12821, .adv_w = 352, .box_w = 22, .box_h = 21, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 13052, .adv_w = 308, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 13166, .adv_w = 308, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 13280, .adv_w = 440, .box_w = 28, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 13532, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 13719, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 13972, .adv_w = 352, .box_w = 23, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 14237, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 14437, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 14667, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 14867, .adv_w = 220, .box_w = 15, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 15040, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 15270, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 15500, .adv_w = 396, .box_w = 25, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 15713, .adv_w = 352, .box_w = 24, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 15989, .adv_w = 264, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 16185, .adv_w = 440, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 16479, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 16689, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 16899, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 17109, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 17319, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 17529, .adv_w = 440, .box_w = 28, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 17781, .adv_w = 308, .box_w = 17, .box_h = 23, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 17977, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 18207, .adv_w = 352, .box_w = 23, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 18472, .adv_w = 440, .box_w = 28, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 18710, .adv_w = 264, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 18906, .adv_w = 354, .box_w = 23, .box_h = 14, .ofs_x = 0, .ofs_y = 1} }; /*--------------------- @@ -2555,25 +2919,26 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { *--------------------*/ static const uint16_t unicode_list_1[] = { - 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x13, - 0x14, 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, - 0x3f, 0x47, 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, - 0x53, 0x66, 0x67, 0x70, 0x73, 0x76, 0x77, 0x78, - 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xf2, - 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, 0x242, - 0x243, 0x292 + 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14, + 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x47, + 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53, 0x66, + 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77, 0x78, + 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xe9, + 0xf2, 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, + 0x242, 0x243, 0x286, 0x292, 0x2ec, 0x303, 0x559, 0x7c1, + 0x8a1 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { - .range_start = 32, .range_length = 95, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY, - .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0 + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 61441, .range_length = 659, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY, - .glyph_id_start = 96, .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 50 + .range_start = 61441, .range_length = 2210, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 57, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -2582,569 +2947,245 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = *----------------*/ -/*Pair left and right glyphs for kerning*/ -static const uint8_t kern_pair_glyph_ids[] = +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = { - 9, 43, - 9, 55, - 9, 56, - 9, 58, - 17, 17, - 17, 18, - 17, 20, - 17, 21, - 17, 22, - 17, 23, - 17, 24, - 17, 26, - 18, 19, - 18, 20, - 18, 22, - 18, 24, - 19, 17, - 19, 18, - 19, 19, - 19, 22, - 19, 23, - 19, 24, - 19, 25, - 19, 26, - 20, 18, - 20, 19, - 20, 20, - 20, 21, - 20, 22, - 20, 23, - 20, 24, - 20, 25, - 20, 26, - 21, 17, - 21, 19, - 21, 21, - 21, 22, - 21, 23, - 21, 24, - 21, 25, - 22, 18, - 22, 19, - 22, 20, - 22, 21, - 22, 22, - 22, 23, - 22, 24, - 22, 25, - 22, 26, - 23, 17, - 23, 18, - 23, 19, - 23, 21, - 23, 22, - 23, 23, - 23, 24, - 23, 25, - 24, 18, - 24, 21, - 24, 22, - 24, 23, - 24, 24, - 24, 25, - 24, 26, - 25, 17, - 25, 18, - 25, 20, - 25, 21, - 25, 22, - 25, 23, - 26, 17, - 26, 18, - 26, 19, - 26, 21, - 26, 22, - 26, 23, - 26, 24, - 26, 26, - 34, 36, - 34, 40, - 34, 48, - 34, 50, - 34, 53, - 34, 54, - 34, 55, - 34, 56, - 34, 58, - 34, 66, - 34, 68, - 34, 69, - 34, 70, - 34, 72, - 34, 80, - 34, 82, - 34, 84, - 34, 85, - 34, 86, - 34, 87, - 34, 88, - 34, 91, - 35, 58, - 35, 66, - 35, 74, - 35, 77, - 35, 80, - 35, 83, - 35, 86, - 35, 90, - 36, 36, - 36, 40, - 36, 48, - 36, 50, - 36, 74, - 36, 83, - 36, 86, - 36, 90, - 36, 91, - 37, 55, - 37, 56, - 37, 66, - 37, 70, - 37, 80, - 37, 86, - 38, 55, - 38, 56, - 38, 58, - 38, 67, - 38, 68, - 38, 69, - 38, 70, - 38, 71, - 38, 72, - 38, 74, - 38, 75, - 38, 76, - 38, 77, - 38, 78, - 38, 79, - 38, 80, - 38, 81, - 38, 82, - 38, 83, - 38, 85, - 38, 86, - 38, 87, - 38, 88, - 38, 89, - 38, 90, - 38, 91, - 39, 13, - 39, 15, - 39, 34, - 39, 66, - 39, 70, - 39, 74, - 39, 77, - 39, 80, - 39, 83, - 39, 86, - 39, 90, - 40, 66, - 40, 70, - 40, 79, - 40, 80, - 40, 83, - 40, 86, - 40, 90, - 41, 66, - 41, 70, - 41, 80, - 41, 86, - 41, 90, - 42, 66, - 42, 68, - 42, 69, - 42, 71, - 42, 72, - 42, 78, - 42, 79, - 42, 80, - 42, 81, - 42, 83, - 42, 84, - 42, 85, - 42, 86, - 42, 87, - 42, 88, - 42, 90, - 43, 66, - 43, 80, - 44, 36, - 44, 40, - 44, 48, - 44, 50, - 44, 66, - 44, 70, - 44, 74, - 44, 80, - 44, 83, - 44, 86, - 44, 88, - 44, 90, - 45, 34, - 45, 36, - 45, 40, - 45, 48, - 45, 50, - 45, 53, - 45, 54, - 45, 55, - 45, 56, - 45, 58, - 45, 75, - 45, 86, - 45, 88, - 45, 90, - 46, 66, - 46, 70, - 46, 75, - 46, 79, - 46, 80, - 46, 86, - 46, 90, - 47, 70, - 47, 80, - 47, 90, - 48, 34, - 48, 53, - 48, 55, - 48, 56, - 48, 57, - 48, 58, - 48, 68, - 48, 69, - 48, 70, - 48, 71, - 48, 72, - 48, 75, - 48, 80, - 48, 81, - 48, 82, - 48, 84, - 48, 85, - 48, 86, - 48, 89, - 48, 90, - 48, 91, - 49, 13, - 49, 15, - 49, 34, - 49, 38, - 49, 41, - 49, 42, - 49, 66, - 49, 70, - 49, 73, - 49, 74, - 49, 77, - 49, 79, - 49, 80, - 49, 83, - 49, 84, - 49, 85, - 49, 90, - 50, 34, - 50, 53, - 50, 54, - 50, 55, - 50, 56, - 50, 57, - 50, 58, - 50, 66, - 50, 86, - 51, 36, - 51, 40, - 51, 48, - 51, 50, - 51, 53, - 51, 54, - 51, 55, - 51, 56, - 51, 58, - 51, 66, - 51, 70, - 51, 80, - 51, 86, - 51, 90, - 52, 66, - 52, 70, - 52, 75, - 52, 78, - 52, 79, - 52, 80, - 52, 81, - 52, 82, - 52, 86, - 52, 88, - 52, 90, - 53, 13, - 53, 14, - 53, 15, - 53, 27, - 53, 28, - 53, 34, - 53, 36, - 53, 40, - 53, 48, - 53, 50, - 53, 52, - 53, 53, - 53, 55, - 53, 56, - 53, 57, - 53, 58, - 53, 66, - 53, 70, - 53, 74, - 53, 78, - 53, 80, - 53, 83, - 53, 84, - 53, 86, - 53, 88, - 53, 90, - 53, 91, - 54, 34, - 54, 69, - 54, 71, - 54, 72, - 54, 78, - 54, 79, - 54, 81, - 54, 83, - 54, 84, - 54, 85, - 54, 89, - 54, 91, - 55, 10, - 55, 13, - 55, 14, - 55, 15, - 55, 27, - 55, 28, - 55, 34, - 55, 36, - 55, 40, - 55, 48, - 55, 50, - 55, 62, - 55, 66, - 55, 70, - 55, 80, - 55, 83, - 55, 86, - 55, 90, - 55, 94, - 56, 10, - 56, 13, - 56, 14, - 56, 15, - 56, 27, - 56, 28, - 56, 34, - 56, 36, - 56, 40, - 56, 48, - 56, 50, - 56, 53, - 56, 62, - 56, 66, - 56, 70, - 56, 80, - 56, 83, - 56, 86, - 56, 90, - 56, 94, - 57, 36, - 57, 40, - 57, 48, - 57, 50, - 57, 70, - 57, 86, - 57, 90, - 58, 10, - 58, 13, - 58, 14, - 58, 15, - 58, 27, - 58, 28, - 58, 34, - 58, 36, - 58, 40, - 58, 48, - 58, 50, - 58, 53, - 58, 55, - 58, 56, - 58, 57, - 58, 58, - 58, 62, - 58, 66, - 58, 70, - 58, 80, - 58, 82, - 58, 85, - 58, 86, - 58, 87, - 58, 94, - 59, 34, - 59, 36, - 59, 40, - 59, 48, - 59, 50, - 59, 66, - 59, 70, - 59, 74, - 59, 80, - 59, 86, - 59, 88, - 59, 90, - 60, 43, - 67, 87, - 67, 88, - 67, 90, - 70, 90, - 71, 3, - 71, 8, - 71, 10, - 71, 62, - 71, 72, - 71, 94, - 76, 70, - 80, 87, - 80, 88, - 80, 89, - 80, 90, - 81, 88, - 83, 13, - 83, 15, - 83, 68, - 83, 69, - 83, 70, - 83, 71, - 83, 76, - 83, 80, - 83, 82, - 83, 85, - 83, 86, - 83, 87, - 83, 88, - 83, 89, - 83, 90, - 83, 91, - 87, 13, - 87, 15, - 87, 66, - 87, 68, - 87, 69, - 87, 70, - 87, 80, - 87, 82, - 88, 13, - 88, 15, - 88, 68, - 88, 69, - 88, 70, - 88, 82, - 89, 68, - 89, 69, - 89, 70, - 89, 80, - 89, 82, - 90, 13, - 90, 15, - 90, 68, - 90, 69, - 90, 70, - 90, 80, - 90, 82, - 91, 68, - 91, 69, - 91, 70, - 91, 80, - 92, 43 + 0, 1, 0, 2, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 4, 0, 4, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 7, 8, 9, 10, 11, + 0, 12, 12, 13, 14, 15, 12, 12, + 9, 16, 17, 18, 0, 19, 13, 20, + 21, 22, 23, 24, 25, 0, 0, 0, + 0, 0, 26, 27, 28, 0, 29, 30, + 0, 31, 0, 0, 32, 0, 31, 31, + 33, 27, 0, 34, 0, 35, 0, 36, + 37, 38, 36, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; -/* Kerning between the respective left and right glyphs - * 4.4 format which needs to scaled with `kern_scale`*/ -static const int8_t kern_pair_values[] = +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = { - -16, 7, 6, 8, 1, -6, -1, 1, - -1, 1, -7, 1, -1, -1, -1, 0, - -3, -3, 1, -2, -3, -4, -3, 0, - -3, -1, 1, 3, 1, -1, -5, 1, - 0, 1, -5, 6, 3, 1, -14, 3, - -1, -4, 1, 3, 1, 0, -1, 1, - -5, 0, -7, -4, 4, 2, 0, -7, - 2, 6, -28, -5, -7, 7, -4, -1, - 0, -4, 2, 3, 1, 0, 1, -7, - -2, 1, -1, 1, -8, 1, -7, -7, - -7, -7, -26, -8, -25, -17, -28, 1, - -3, -5, -4, -3, -4, -3, 1, -11, - -4, -14, -12, 4, -28, 2, -1, -1, - 1, 0, 1, 1, -1, -1, -2, -1, - -2, -1, -1, 2, -2, -7, -4, -1, - 1, 1, 1, 3, 3, 3, -2, -7, - -7, -7, -6, -6, -2, -1, -1, -2, - -3, -3, -7, -2, -6, -3, -8, -6, - -9, -8, 1, -8, 1, -53, -53, -21, - -12, -8, -1, -2, -8, -9, -8, -9, - 0, 1, 0, 0, 0, 0, 0, -1, - -2, -2, -2, -1, -1, -1, -3, -2, - -1, -1, -1, -2, -1, -1, -1, -2, - -1, -1, -1, -1, -2, -2, -10, -10, - -11, -10, -2, -9, -2, -9, -1, -8, - -14, -14, 7, -7, -8, -9, -8, -27, - -9, -32, -19, -30, 0, -5, -15, -19, - -1, -2, -1, -1, -2, -1, -1, -2, - -2, -1, -7, -9, -8, -4, -8, -10, - 0, -1, 0, 0, 0, -2, 0, 0, - 1, 0, 1, 0, -2, 1, -3, -58, - -58, -19, -1, -1, -1, -4, -4, 0, - -1, -1, -1, -4, -1, -2, 5, 5, - 5, -12, -2, -10, -7, 4, -12, 0, - -1, -2, -2, -2, -2, -7, -2, -7, - -5, -17, -1, -3, -3, -1, 0, 0, - -1, -2, -1, -1, -1, 0, 0, 0, - 1, 1, -28, -27, -28, -26, -27, -28, - -9, -10, -10, -9, -6, 6, 6, 5, - 4, 6, -27, -28, -1, -23, -28, -23, - -27, -23, -17, -17, -21, -8, -3, -1, - -1, -1, -1, -1, -1, -2, 0, -3, - -3, 7, -31, -13, -30, -11, -11, -26, - -7, -7, -8, -7, 6, -16, -16, -16, - -11, -10, -4, 7, 5, -20, -7, -20, - -8, -8, -19, -5, -5, -5, -5, 5, - 4, -12, -11, -11, -7, -7, -2, 5, - -8, -8, -9, -8, -9, -8, -11, 7, - -32, -18, -32, -15, -15, -29, -9, -10, - -10, -10, 6, 6, 6, 5, 6, 6, - -22, -23, -23, -21, -8, -14, -7, 7, - 5, -8, -9, -9, -9, 0, -7, -2, - -8, -7, -10, -9, -6, -4, -3, -4, - -4, 5, 6, 7, 6, -8, 7, -7, - -5, -3, -7, -5, -3, -22, -22, -7, - -6, -7, 5, 0, -7, -6, 6, 0, - 6, 6, 3, 6, 2, -21, -20, -5, - -5, -5, -5, -5, -5, -16, -15, -3, - -3, -4, -3, -7, -6, -7, -7, -6, - -24, -22, -6, -6, -6, -6, -7, -6, - -5, -6, -6, -7 + 0, 1, 0, 2, 0, 0, 0, 3, + 2, 0, 4, 5, 0, 6, 7, 6, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 10, 0, 11, 0, 0, 0, + 11, 0, 0, 12, 0, 0, 0, 0, + 11, 0, 11, 0, 13, 14, 15, 16, + 17, 18, 19, 20, 0, 0, 21, 0, + 0, 0, 22, 0, 23, 23, 23, 24, + 23, 0, 0, 0, 0, 0, 25, 25, + 26, 25, 23, 27, 28, 29, 30, 31, + 32, 33, 31, 34, 0, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; -/*Collect the kern pair's data in one place*/ -static const lv_font_fmt_txt_kern_pair_t kern_pairs = +/*Kern values between classes*/ +static const int8_t kern_class_values[] = { - .glyph_ids = kern_pair_glyph_ids, - .values = kern_pair_values, - .pair_cnt = 484, - .glyph_ids_size = 0 + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -7, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -18, 0, 0, 0, + 0, 0, 0, 0, -21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -9, -10, 0, -3, -10, 0, -14, 0, + 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 3, 0, + 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -29, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -38, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -21, 0, 0, 0, 0, 0, 0, -10, + 0, -2, 0, 0, -22, -3, -15, -12, + 0, -16, 0, 0, 0, 0, 0, 0, + -2, 0, 0, -3, -2, -9, -6, 0, + 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -5, + 0, -4, 0, 0, -9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -5, 0, 0, 0, 0, 0, + 0, -2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -3, + 0, 0, 0, 0, 0, -18, 0, 0, + 0, -4, 0, 0, 0, -5, 0, -4, + 0, -4, -7, -4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, + 0, -3, -3, 0, -3, 0, 0, 0, + -3, -4, -4, 0, 0, 0, 0, 0, + 0, 0, 0, -40, 0, 0, 0, -29, + 0, -45, 0, 3, 0, 0, 0, 0, + 0, 0, 0, -6, -4, 0, 0, -4, + -4, 0, 0, -4, -4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, -5, 0, + 0, 0, 3, -5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -11, 0, 0, + 0, -5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, -4, + -5, 0, 0, 0, -4, -7, -11, 0, + 0, 0, 0, -58, 0, 0, 0, 0, + 0, 0, 0, 3, -11, 0, 0, -47, + -9, -30, -25, 0, -41, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -8, + -23, -16, 0, 0, 0, 0, 0, 0, + 0, 0, -56, 0, 0, 0, -24, 0, + -34, 0, 0, 0, 0, 0, -5, 0, + -4, 0, -2, -2, 0, 0, -2, 0, + 0, 2, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -7, 0, -5, + -3, 0, -6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -14, 0, -3, 0, 0, -8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -7, 0, + 0, 0, 0, -37, -40, 0, 0, -14, + -5, -41, -3, 3, 0, 3, 3, 0, + 3, 0, 0, -19, -17, 0, -19, -17, + -13, -20, 0, -16, -12, -10, -13, -10, + 0, 0, 0, 0, 3, 0, -39, -6, + 0, 0, -13, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, -8, -8, + 0, 0, -8, -5, 0, 0, -5, -2, + 0, 0, 0, 3, 0, 0, 0, 3, + 0, -21, -10, 0, 0, -7, 0, 0, + 0, 2, 0, 0, 0, 0, 0, 0, + 2, -6, -5, 0, 0, -5, -4, 0, + 0, -3, 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, -8, 0, 0, + 0, -4, 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + -4, 0, 0, 0, -4, -5, 0, 0, + 0, 0, 0, 0, -5, 3, -8, -36, + -9, 0, 0, -16, -5, -16, -3, 3, + -16, 3, 3, 2, 3, 0, 3, -13, + -11, -4, -7, -11, -7, -10, -4, -7, + -3, 0, -4, -5, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, -4, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -4, 0, 0, -4, 0, + 0, 0, -3, -5, -5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -3, 0, 0, -3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3, 0, 0, 0, 0, 0, -5, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2, 0, -3, -3, + 0, 0, -2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2, 0, 0, 0, 0, 0, + 3, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 0, -18, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -3, 0, + -4, -3, 0, 0, 3, 0, 0, 0, + -21, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -7, -3, 3, 0, -3, 0, 0, 9, + 0, 3, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, -18, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -3, -2, + 2, 0, -3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -21, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3, 0, 0, + -3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, 0, 0, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, 0, 0, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = +{ + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 40, + .right_class_cnt = 35, }; /*-------------------- @@ -3156,12 +3197,12 @@ static lv_font_fmt_txt_dsc_t font_dsc = { .glyph_bitmap = gylph_bitmap, .glyph_dsc = glyph_dsc, .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, .cmap_num = 2, .bpp = 4, - - .kern_scale = 16, - .kern_dsc = &kern_pairs, - .kern_classes = 0 + .kern_classes = 1, + .bitmap_format = 0 }; @@ -3171,11 +3212,13 @@ static lv_font_fmt_txt_dsc_t font_dsc = { /*Initialize a public general font descriptor*/ lv_font_t lv_font_roboto_22 = { - .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ - .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ - .line_height = 24, /*The maximum line height required by the font*/ - .base_line = 5, /*Baseline measured from the bottom of the line*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 26, /*The maximum line height required by the font*/ + .base_line = 6, /*Baseline measured from the bottom of the line*/ + .subpx = LV_FONT_SUBPX_NONE, + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ }; #endif /*#if LV_FONT_ROBOTO_22*/ + diff --git a/src/src/lv_font/lv_font_roboto_28.c b/src/src/lv_font/lv_font_roboto_28.c index e1867ef..f3e58bb 100644 --- a/src/src/lv_font/lv_font_roboto_28.c +++ b/src/src/lv_font/lv_font_roboto_28.c @@ -3,7 +3,7 @@ /******************************************************************************* * Size: 28 px * Bpp: 4 - * Opts: + * Opts: --no-compress --no-prefilter --bpp 4 --size 28 --font Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 61441,61448,61451,61452,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl -o lv_font_roboto_28.c --force-fast-kern-format ******************************************************************************/ #ifndef LV_FONT_ROBOTO_28 @@ -21,2755 +21,2976 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+20 " " */ /* U+21 "!" */ - 0xcf, 0xfc, 0xff, 0xcf, 0xfc, 0xff, 0xcf, 0xfc, - 0xff, 0xcf, 0xfc, 0xff, 0xcf, 0xfc, 0xff, 0xcf, - 0xfc, 0xff, 0xcf, 0xf6, 0x88, 0x0, 0x0, 0x0, - 0x0, 0x9, 0xbb, 0xcf, 0xfc, 0xff, + 0xbf, 0xe0, 0xbf, 0xe0, 0xbf, 0xe0, 0xaf, 0xe0, + 0xaf, 0xe0, 0xaf, 0xd0, 0xaf, 0xd0, 0x9f, 0xd0, + 0x9f, 0xd0, 0x9f, 0xc0, 0x9f, 0xc0, 0x9f, 0xc0, + 0x8f, 0xc0, 0x8f, 0xc0, 0x13, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x5d, 0x90, 0xcf, 0xf2, 0x6f, 0xb0, /* U+22 "\"" */ - 0x4f, 0xf8, 0xf, 0xfc, 0x4f, 0xf8, 0xf, 0xfc, - 0x4f, 0xf8, 0xf, 0xfc, 0x4f, 0xf8, 0xf, 0xfb, - 0x4f, 0xf2, 0xf, 0xf6, 0x4f, 0xc0, 0xf, 0xf0, - 0x4f, 0x60, 0xf, 0x90, 0x14, 0x0, 0x4, 0x10, + 0x2f, 0xc0, 0x7f, 0x72, 0xfc, 0x7, 0xf7, 0x2f, + 0xb0, 0x7f, 0x62, 0xfa, 0x7, 0xf5, 0x2f, 0x80, + 0x7f, 0x42, 0xf7, 0x7, 0xf2, 0x1b, 0x40, 0x5b, + 0x10, /* U+23 "#" */ - 0x0, 0x0, 0x1, 0xff, 0x0, 0x8, 0xf8, 0x0, - 0x0, 0x0, 0x4, 0xfc, 0x0, 0xc, 0xf5, 0x0, - 0x0, 0x0, 0x8, 0xf9, 0x0, 0xf, 0xf2, 0x0, - 0x0, 0x0, 0xb, 0xf6, 0x0, 0x2f, 0xf0, 0x0, - 0x0, 0x0, 0xe, 0xf3, 0x0, 0x5f, 0xc0, 0x0, - 0x4, 0x33, 0x3f, 0xf3, 0x33, 0x9f, 0xa3, 0x31, - 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0xc, 0xcc, 0xef, 0xec, 0xcc, 0xff, 0xcc, 0xc3, - 0x0, 0x0, 0xbf, 0x70, 0x2, 0xff, 0x0, 0x0, - 0x0, 0x0, 0xef, 0x40, 0x4, 0xfc, 0x0, 0x0, - 0x0, 0x0, 0xff, 0x0, 0x8, 0xf9, 0x0, 0x0, - 0x0, 0x4, 0xfd, 0x0, 0xb, 0xf6, 0x0, 0x0, - 0x87, 0x7a, 0xfd, 0x77, 0x7d, 0xf9, 0x77, 0x20, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, - 0x88, 0x8f, 0xfa, 0x88, 0xaf, 0xe8, 0x88, 0x20, - 0x0, 0xf, 0xf0, 0x0, 0x8f, 0x90, 0x0, 0x0, - 0x0, 0x4f, 0xd0, 0x0, 0xbf, 0x70, 0x0, 0x0, - 0x0, 0x7f, 0xa0, 0x0, 0xef, 0x40, 0x0, 0x0, - 0x0, 0xaf, 0x70, 0x1, 0xff, 0x0, 0x0, 0x0, - 0x0, 0xdf, 0x40, 0x4, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xe0, 0x0, 0x8f, 0x70, + 0x0, 0x0, 0x0, 0x4, 0xfb, 0x0, 0xb, 0xf4, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0x80, 0x0, 0xef, + 0x10, 0x0, 0x0, 0x0, 0xa, 0xf5, 0x0, 0x1f, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0x20, 0x4, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x0, + 0x7f, 0x80, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x30, 0xe, 0xee, 0xff, 0xfe, + 0xee, 0xff, 0xee, 0xe3, 0x0, 0x0, 0x9, 0xf5, + 0x0, 0xf, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xdf, + 0x10, 0x4, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x1f, + 0xe0, 0x0, 0x7f, 0x70, 0x0, 0x0, 0x0, 0x4, + 0xfa, 0x0, 0xb, 0xf3, 0x0, 0x0, 0xe, 0xee, + 0xef, 0xfe, 0xee, 0xff, 0xee, 0xe2, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, + 0x0, 0xdf, 0x10, 0x4, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xe0, 0x0, 0x7f, 0x70, 0x0, 0x0, + 0x0, 0x3, 0xfb, 0x0, 0xa, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0x80, 0x0, 0xdf, 0x20, 0x0, + 0x0, 0x0, 0x9, 0xf5, 0x0, 0xf, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0x20, 0x3, 0xfc, 0x0, + 0x0, 0x0, /* U+24 "$" */ - 0x0, 0x0, 0x0, 0x23, 0x20, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0x80, 0x0, 0x0, 0x0, 0x1, 0x9d, 0xff, - 0xfc, 0x70, 0x0, 0x0, 0x3d, 0xff, 0xff, 0xff, - 0xfa, 0x10, 0x0, 0xcf, 0xf9, 0x41, 0x5e, 0xff, - 0x80, 0x4, 0xff, 0xb0, 0x0, 0x1, 0xff, 0xe0, - 0x6, 0xff, 0x40, 0x0, 0x0, 0x9f, 0xf3, 0x8, - 0xff, 0x40, 0x0, 0x0, 0x7f, 0xf4, 0x4, 0xff, - 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xe5, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xb4, - 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xd6, - 0x10, 0x0, 0x0, 0x0, 0x29, 0xff, 0xff, 0xe5, - 0x0, 0x0, 0x0, 0x0, 0x6, 0xdf, 0xff, 0x50, - 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xe1, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf4, 0x2c, 0xb6, - 0x0, 0x0, 0x0, 0x4f, 0xf8, 0xf, 0xfa, 0x0, - 0x0, 0x0, 0x4f, 0xf7, 0xf, 0xfe, 0x20, 0x0, - 0x0, 0xbf, 0xf4, 0x6, 0xff, 0xd4, 0x0, 0x39, - 0xff, 0xd0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, - 0x30, 0x0, 0x5, 0xdf, 0xff, 0xff, 0xa1, 0x0, - 0x0, 0x0, 0x1, 0xff, 0x50, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcc, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xdf, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xdf, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xdf, 0x30, 0x0, 0x0, 0x0, 0x1, 0x9e, + 0xff, 0xfa, 0x30, 0x0, 0x0, 0x3f, 0xff, 0xff, + 0xff, 0xf6, 0x0, 0x1, 0xef, 0xf7, 0x32, 0x6f, + 0xff, 0x20, 0x6, 0xff, 0x50, 0x0, 0x4, 0xff, + 0x90, 0xa, 0xfe, 0x0, 0x0, 0x0, 0xcf, 0xe0, + 0xb, 0xfd, 0x0, 0x0, 0x0, 0x9f, 0xf0, 0x9, + 0xff, 0x10, 0x0, 0x0, 0x25, 0x50, 0x5, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xfd, + 0x60, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, + 0xa3, 0x0, 0x0, 0x0, 0x0, 0x6d, 0xff, 0xff, + 0xb1, 0x0, 0x0, 0x0, 0x0, 0x39, 0xff, 0xfe, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x5b, + 0xb0, 0x0, 0x0, 0x0, 0x6f, 0xf3, 0x6f, 0xf2, + 0x0, 0x0, 0x0, 0x5f, 0xf3, 0x2f, 0xf8, 0x0, + 0x0, 0x0, 0xaf, 0xf0, 0xc, 0xff, 0x60, 0x0, + 0x8, 0xff, 0xa0, 0x2, 0xff, 0xfe, 0xcd, 0xff, + 0xfe, 0x10, 0x0, 0x2b, 0xff, 0xff, 0xff, 0xa1, + 0x0, 0x0, 0x0, 0x16, 0xff, 0x51, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0x0, 0x0, 0x0, /* U+25 "%" */ - 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1a, 0xff, 0xfa, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xc, 0xfc, 0x8c, 0xfc, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x5, 0xfc, 0x0, 0xc, - 0xf7, 0x0, 0x0, 0xc5, 0x0, 0x0, 0x8f, 0x80, - 0x0, 0x7f, 0x90, 0x0, 0x7f, 0xa0, 0x0, 0x8, - 0xf8, 0x0, 0x4, 0xfc, 0x0, 0x2e, 0xf1, 0x0, - 0x0, 0x8f, 0x80, 0x0, 0x7f, 0x90, 0xb, 0xf6, - 0x0, 0x0, 0x3, 0xfd, 0x10, 0xc, 0xf6, 0x5, - 0xfc, 0x0, 0x0, 0x0, 0xb, 0xfd, 0xad, 0xfc, - 0x1, 0xdf, 0x20, 0x0, 0x0, 0x0, 0x8, 0xef, - 0xe9, 0x10, 0x9f, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xd, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xfa, 0x1, - 0x9d, 0xeb, 0x40, 0x0, 0x0, 0x0, 0x2, 0xef, - 0x11, 0xef, 0xdc, 0xff, 0x50, 0x0, 0x0, 0x0, - 0xbf, 0x60, 0xaf, 0xa0, 0x4, 0xfe, 0x0, 0x0, - 0x0, 0x5f, 0xc0, 0xd, 0xf3, 0x0, 0xd, 0xf3, - 0x0, 0x0, 0x1d, 0xf2, 0x0, 0xff, 0x0, 0x0, - 0xcf, 0x40, 0x0, 0x9, 0xf8, 0x0, 0xe, 0xf1, - 0x0, 0xc, 0xf4, 0x0, 0x1, 0xfe, 0x0, 0x0, - 0xbf, 0x60, 0x1, 0xef, 0x10, 0x0, 0x1, 0x30, - 0x0, 0x3, 0xff, 0x87, 0xcf, 0x90, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0x91, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x34, 0x0, - 0x0, + 0x0, 0x7d, 0xfd, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xaf, 0xeb, 0xef, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xc0, 0x0, 0xcf, 0x40, + 0x0, 0x9, 0x20, 0x0, 0x8, 0xf6, 0x0, 0x6, + 0xf8, 0x0, 0x7, 0xf8, 0x0, 0x0, 0x9f, 0x50, + 0x0, 0x4f, 0x90, 0x2, 0xfd, 0x0, 0x0, 0x8, + 0xf6, 0x0, 0x5, 0xf8, 0x0, 0xbf, 0x40, 0x0, + 0x0, 0x4f, 0xc0, 0x0, 0xcf, 0x40, 0x6f, 0xa0, + 0x0, 0x0, 0x0, 0xaf, 0xeb, 0xdf, 0xb0, 0x1e, + 0xe1, 0x0, 0x0, 0x0, 0x0, 0x7d, 0xfe, 0x70, + 0xa, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xef, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x9f, 0x60, 0x1a, 0xef, + 0xc4, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xc0, 0x1e, + 0xfc, 0xbf, 0xf6, 0x0, 0x0, 0x0, 0xd, 0xf2, + 0x9, 0xf8, 0x0, 0x2f, 0xf0, 0x0, 0x0, 0x8, + 0xf8, 0x0, 0xdf, 0x10, 0x0, 0xbf, 0x40, 0x0, + 0x2, 0xfd, 0x0, 0xe, 0xf0, 0x0, 0x9, 0xf4, + 0x0, 0x0, 0xcf, 0x30, 0x0, 0xdf, 0x10, 0x0, + 0xbf, 0x40, 0x0, 0x1d, 0x90, 0x0, 0x9, 0xf8, + 0x0, 0x2f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1e, 0xfc, 0xaf, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1a, 0xef, 0xc4, 0x0, /* U+26 "&" */ - 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x4, 0xdf, 0xff, 0xd5, 0x0, 0x0, 0x0, - 0x0, 0x5f, 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, - 0x0, 0xff, 0xf3, 0x1, 0xcf, 0xf2, 0x0, 0x0, - 0x4, 0xff, 0x90, 0x0, 0x2f, 0xf6, 0x0, 0x0, - 0x5, 0xff, 0x50, 0x0, 0xf, 0xf7, 0x0, 0x0, - 0x4, 0xff, 0x70, 0x0, 0x6f, 0xf3, 0x0, 0x0, - 0x0, 0xff, 0xd0, 0x6, 0xef, 0xa0, 0x0, 0x0, - 0x0, 0x8f, 0xf9, 0xaf, 0xfa, 0x0, 0x0, 0x0, - 0x0, 0xd, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, - 0x0, 0x19, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xcf, 0xff, 0xfe, 0x20, 0x0, 0x4, 0x32, - 0x1c, 0xff, 0x76, 0xff, 0xc1, 0x0, 0xf, 0xf4, - 0xaf, 0xf7, 0x0, 0x9f, 0xf9, 0x0, 0x4f, 0xf4, - 0xff, 0xd0, 0x0, 0xb, 0xff, 0x80, 0x7f, 0xf0, - 0xff, 0x90, 0x0, 0x1, 0xdf, 0xf6, 0xef, 0xb0, - 0xff, 0xc0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x40, - 0xcf, 0xe2, 0x0, 0x0, 0x3, 0xff, 0xf9, 0x0, - 0x4f, 0xfc, 0x40, 0x0, 0x4b, 0xff, 0xfc, 0x10, - 0x7, 0xff, 0xff, 0xbf, 0xff, 0xfd, 0xff, 0x90, - 0x0, 0x4c, 0xff, 0xff, 0xfb, 0x40, 0xcf, 0xf8, - 0x0, 0x0, 0x3, 0x44, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7d, 0xff, 0xc6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xf9, 0x22, 0x9f, 0xf5, 0x0, + 0x0, 0x0, 0xd, 0xfc, 0x0, 0x0, 0xcf, 0xa0, + 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0xa, 0xfa, + 0x0, 0x0, 0x0, 0xe, 0xfa, 0x0, 0x0, 0xef, + 0x70, 0x0, 0x0, 0x0, 0x9f, 0xf2, 0x1, 0xcf, + 0xe0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xc5, 0xef, + 0xe3, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, + 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0xff, 0x50, 0x0, 0x2, 0x20, 0x0, 0x6f, 0xfb, + 0x2c, 0xff, 0x30, 0x3, 0xff, 0x10, 0x1f, 0xfc, + 0x0, 0x1d, 0xfe, 0x20, 0x5f, 0xf0, 0x7, 0xff, + 0x20, 0x0, 0x2e, 0xfd, 0x19, 0xfd, 0x0, 0x9f, + 0xf0, 0x0, 0x0, 0x4f, 0xfc, 0xff, 0x80, 0x8, + 0xff, 0x10, 0x0, 0x0, 0x5f, 0xff, 0xf1, 0x0, + 0x4f, 0xf9, 0x0, 0x0, 0x0, 0xcf, 0xfa, 0x0, + 0x0, 0xbf, 0xfa, 0x31, 0x15, 0xcf, 0xff, 0xf5, + 0x0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xf8, 0xcf, + 0xf2, 0x0, 0x0, 0x5a, 0xef, 0xfd, 0x82, 0x2, + 0xff, 0xd1, /* U+27 "'" */ - 0x4f, 0xf8, 0x4f, 0xf8, 0x4f, 0xf8, 0x4f, 0xf5, - 0x4f, 0xf0, 0x4f, 0xa0, 0x4f, 0x30, + 0x9f, 0x79, 0xf7, 0x9f, 0x69, 0xf5, 0x9f, 0x49, + 0xf3, 0x48, 0x10, /* U+28 "(" */ - 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, - 0xd0, 0x0, 0x0, 0xa, 0xfd, 0x0, 0x0, 0x8, - 0xfe, 0x10, 0x0, 0x3, 0xff, 0x40, 0x0, 0x0, - 0xdf, 0xa0, 0x0, 0x0, 0x5f, 0xf2, 0x0, 0x0, - 0xb, 0xfb, 0x0, 0x0, 0x2, 0xff, 0x70, 0x0, - 0x0, 0x8f, 0xf2, 0x0, 0x0, 0xc, 0xfe, 0x0, - 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x3f, - 0xf8, 0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, - 0xf, 0xf9, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, - 0x0, 0xc, 0xfc, 0x0, 0x0, 0x0, 0xcf, 0xd0, - 0x0, 0x0, 0x7, 0xff, 0x20, 0x0, 0x0, 0x2f, - 0xf7, 0x0, 0x0, 0x0, 0xbf, 0xb0, 0x0, 0x0, - 0x5, 0xff, 0x20, 0x0, 0x0, 0xd, 0xfa, 0x0, - 0x0, 0x0, 0x3f, 0xf4, 0x0, 0x0, 0x0, 0x7f, - 0xc1, 0x0, 0x0, 0x0, 0xaf, 0xc1, 0x0, 0x0, - 0x0, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x20, + 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, + 0xc0, 0x0, 0x0, 0xb, 0xfb, 0x0, 0x0, 0x9, + 0xfc, 0x0, 0x0, 0x4, 0xff, 0x10, 0x0, 0x0, + 0xdf, 0x70, 0x0, 0x0, 0x6f, 0xe0, 0x0, 0x0, + 0xd, 0xf9, 0x0, 0x0, 0x2, 0xff, 0x30, 0x0, + 0x0, 0x7f, 0xf0, 0x0, 0x0, 0xb, 0xfb, 0x0, + 0x0, 0x0, 0xef, 0x90, 0x0, 0x0, 0xf, 0xf7, + 0x0, 0x0, 0x2, 0xff, 0x60, 0x0, 0x0, 0x2f, + 0xf5, 0x0, 0x0, 0x2, 0xff, 0x50, 0x0, 0x0, + 0x2f, 0xf6, 0x0, 0x0, 0x0, 0xff, 0x70, 0x0, + 0x0, 0xe, 0xf9, 0x0, 0x0, 0x0, 0xbf, 0xb0, + 0x0, 0x0, 0x6, 0xfe, 0x0, 0x0, 0x0, 0x2f, + 0xf3, 0x0, 0x0, 0x0, 0xdf, 0x80, 0x0, 0x0, + 0x6, 0xfe, 0x0, 0x0, 0x0, 0xd, 0xf6, 0x0, + 0x0, 0x0, 0x4f, 0xe1, 0x0, 0x0, 0x0, 0x9f, + 0xb0, 0x0, 0x0, 0x0, 0xbf, 0xa0, 0x0, 0x0, + 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x20, /* U+29 ")" */ - 0x20, 0x0, 0x0, 0x0, 0xba, 0x10, 0x0, 0x0, - 0xaf, 0xc1, 0x0, 0x0, 0xb, 0xfa, 0x0, 0x0, - 0x1, 0xff, 0x60, 0x0, 0x0, 0x8f, 0xe2, 0x0, - 0x0, 0x1e, 0xf9, 0x0, 0x0, 0x9, 0xfe, 0x0, - 0x0, 0x4, 0xff, 0x50, 0x0, 0x0, 0xff, 0xb0, - 0x0, 0x0, 0xaf, 0xf0, 0x0, 0x0, 0x8f, 0xf0, - 0x0, 0x0, 0x8f, 0xf3, 0x0, 0x0, 0x6f, 0xf4, - 0x0, 0x0, 0x4f, 0xf6, 0x0, 0x0, 0x4f, 0xf6, - 0x0, 0x0, 0x6f, 0xf4, 0x0, 0x0, 0x8f, 0xf3, - 0x0, 0x0, 0x8f, 0xf0, 0x0, 0x0, 0xaf, 0xf0, - 0x0, 0x0, 0xff, 0xb0, 0x0, 0x3, 0xff, 0x50, - 0x0, 0x8, 0xfe, 0x0, 0x0, 0xe, 0xf9, 0x0, - 0x0, 0x6f, 0xf2, 0x0, 0x1, 0xef, 0x60, 0x0, - 0xa, 0xfb, 0x0, 0x0, 0xaf, 0xd1, 0x0, 0x0, - 0xba, 0x10, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x4f, 0x40, 0x0, 0x0, + 0x3e, 0xf5, 0x0, 0x0, 0x3, 0xff, 0x20, 0x0, + 0x0, 0x8f, 0xd0, 0x0, 0x0, 0xe, 0xf7, 0x0, + 0x0, 0x7, 0xfe, 0x0, 0x0, 0x1, 0xff, 0x60, + 0x0, 0x0, 0xbf, 0xb0, 0x0, 0x0, 0x7f, 0xf0, + 0x0, 0x0, 0x3f, 0xf4, 0x0, 0x0, 0xf, 0xf7, + 0x0, 0x0, 0xe, 0xf9, 0x0, 0x0, 0xd, 0xfb, + 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0xd, 0xfb, + 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0xe, 0xf9, + 0x0, 0x0, 0xf, 0xf7, 0x0, 0x0, 0x3f, 0xf4, + 0x0, 0x0, 0x6f, 0xf0, 0x0, 0x0, 0xaf, 0xb0, + 0x0, 0x0, 0xff, 0x60, 0x0, 0x5, 0xfe, 0x0, + 0x0, 0xd, 0xf7, 0x0, 0x0, 0x6f, 0xd0, 0x0, + 0x2, 0xff, 0x30, 0x0, 0x2e, 0xf5, 0x0, 0x0, + 0x4f, 0x50, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, /* U+2A "*" */ - 0x0, 0x0, 0xcb, 0x30, 0x0, 0x0, 0x0, 0xff, - 0x10, 0x0, 0x24, 0x0, 0xff, 0x0, 0x22, 0x7f, - 0xd8, 0xff, 0x5c, 0xf8, 0x8f, 0xff, 0xff, 0xff, - 0xfa, 0x0, 0x3e, 0xff, 0xd6, 0x10, 0x0, 0x6f, - 0xff, 0xf4, 0x0, 0x3, 0xef, 0x79, 0xfe, 0x10, - 0x5, 0xfc, 0x1, 0xef, 0x60, 0x0, 0x32, 0x0, - 0x43, 0x0, + 0x0, 0x0, 0xf, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xe, 0xf0, + 0x0, 0x0, 0x1a, 0x40, 0xe, 0xf0, 0x2, 0x81, + 0x6f, 0xfe, 0x8e, 0xf7, 0xcf, 0xf6, 0x28, 0xdf, + 0xff, 0xff, 0xff, 0xa4, 0x0, 0x2, 0xcf, 0xfc, + 0x40, 0x0, 0x0, 0x4, 0xfe, 0xff, 0x20, 0x0, + 0x0, 0x1e, 0xf5, 0x7f, 0xd0, 0x0, 0x0, 0xbf, + 0xb0, 0xd, 0xf9, 0x0, 0x0, 0xbf, 0x10, 0x3, + 0xfb, 0x0, 0x0, 0x3, 0x0, 0x0, 0x40, 0x0, /* U+2B "+" */ - 0x0, 0x0, 0x4, 0x77, 0x20, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x8, - 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, - 0x40, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x40, - 0x0, 0x0, 0xcb, 0xbb, 0xbd, 0xff, 0xcb, 0xbb, - 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0xcc, 0xcc, 0xce, 0xff, 0xdc, 0xcc, 0xc9, 0x0, - 0x0, 0x8, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x8, - 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, - 0x40, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x40, 0x0, + 0x0, 0x0, 0x2, 0x77, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x20, + 0x0, 0x0, 0x56, 0x66, 0x69, 0xff, 0x76, 0x66, + 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, + 0x0, 0x6, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x20, 0x0, 0x0, /* U+2C "," */ - 0x8f, 0xf4, 0x8f, 0xf4, 0x8f, 0xf4, 0x8f, 0xf2, - 0x8f, 0xc0, 0x8f, 0x60, 0x48, 0x0, + 0x4, 0xff, 0x30, 0x4f, 0xf3, 0x4, 0xff, 0x20, + 0x7f, 0xf0, 0xc, 0xf9, 0x5, 0xff, 0x10, 0x1b, + 0x40, 0x0, /* U+2D "-" */ - 0x57, 0x77, 0x77, 0x77, 0x2b, 0xff, 0xff, 0xff, - 0xf5, 0x7a, 0xaa, 0xaa, 0xaa, 0x30, + 0x1, 0x11, 0x11, 0x10, 0x8f, 0xff, 0xff, 0xf2, + 0x8f, 0xff, 0xff, 0xf2, /* U+2E "." */ - 0x9c, 0xac, 0xfe, 0xcf, 0xe0, + 0x9, 0xfa, 0x0, 0xff, 0xf1, 0x9, 0xfa, 0x0, /* U+2F "/" */ - 0x0, 0x0, 0x0, 0x0, 0xaf, 0xa0, 0x0, 0x0, - 0x0, 0x1e, 0xf4, 0x0, 0x0, 0x0, 0x6, 0xfe, - 0x0, 0x0, 0x0, 0x0, 0xdf, 0x80, 0x0, 0x0, - 0x0, 0x2f, 0xf2, 0x0, 0x0, 0x0, 0x9, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0xff, 0x60, 0x0, 0x0, - 0x0, 0x5f, 0xf0, 0x0, 0x0, 0x0, 0xb, 0xfa, - 0x0, 0x0, 0x0, 0x2, 0xff, 0x30, 0x0, 0x0, - 0x0, 0x7f, 0xd0, 0x0, 0x0, 0x0, 0xe, 0xf7, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x10, 0x0, 0x0, - 0x0, 0xaf, 0xa0, 0x0, 0x0, 0x0, 0x1e, 0xf5, - 0x0, 0x0, 0x0, 0x6, 0xfe, 0x0, 0x0, 0x0, - 0x0, 0xdf, 0x80, 0x0, 0x0, 0x0, 0x2f, 0xf2, - 0x0, 0x0, 0x0, 0x9, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x60, 0x0, 0x0, 0x0, 0x5f, 0xf0, - 0x0, 0x0, 0x0, 0x8, 0xc8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0x80, 0x0, 0x0, + 0x0, 0xf, 0xf2, 0x0, 0x0, 0x0, 0x6, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0x50, 0x0, 0x0, + 0x0, 0x2f, 0xf0, 0x0, 0x0, 0x0, 0x9, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0xef, 0x30, 0x0, 0x0, + 0x0, 0x5f, 0xd0, 0x0, 0x0, 0x0, 0xb, 0xf6, + 0x0, 0x0, 0x0, 0x1, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x7f, 0xa0, 0x0, 0x0, 0x0, 0xe, 0xf4, + 0x0, 0x0, 0x0, 0x4, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0x80, 0x0, 0x0, 0x0, 0x1f, 0xf2, + 0x0, 0x0, 0x0, 0x6, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0xdf, 0x50, 0x0, 0x0, 0x0, 0x3f, 0xe0, + 0x0, 0x0, 0x0, 0x9, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0xff, 0x30, 0x0, 0x0, 0x0, 0x5f, 0xc0, + 0x0, 0x0, 0x0, 0x5, 0x84, 0x0, 0x0, 0x0, 0x0, /* U+30 "0" */ - 0x0, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, - 0x3, 0xae, 0xff, 0xd9, 0x10, 0x0, 0x0, 0x6e, - 0xff, 0xff, 0xff, 0xd3, 0x0, 0x2, 0xff, 0xd4, - 0x0, 0x6f, 0xfd, 0x0, 0xb, 0xff, 0x10, 0x0, - 0x4, 0xff, 0x70, 0x1f, 0xf9, 0x0, 0x0, 0x0, - 0xdf, 0xc0, 0x4f, 0xf6, 0x0, 0x0, 0x0, 0x9f, - 0xf0, 0x6f, 0xf4, 0x0, 0x0, 0x0, 0x8f, 0xf2, - 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x8f, 0xf4, 0x8f, - 0xf4, 0x0, 0x0, 0x0, 0x8f, 0xf4, 0x8f, 0xf4, - 0x0, 0x0, 0x0, 0x8f, 0xf4, 0x8f, 0xf4, 0x0, - 0x0, 0x0, 0x8f, 0xf4, 0x8f, 0xf4, 0x0, 0x0, - 0x0, 0x8f, 0xf4, 0x8f, 0xf4, 0x0, 0x0, 0x0, - 0x8f, 0xf4, 0x6f, 0xf4, 0x0, 0x0, 0x0, 0x8f, - 0xf2, 0x4f, 0xf5, 0x0, 0x0, 0x0, 0x9f, 0xf0, - 0x1f, 0xf9, 0x0, 0x0, 0x0, 0xdf, 0xe0, 0xc, - 0xfe, 0x10, 0x0, 0x4, 0xff, 0x80, 0x3, 0xff, - 0xc2, 0x0, 0x3e, 0xff, 0x10, 0x0, 0x7f, 0xff, - 0xde, 0xff, 0xf4, 0x0, 0x0, 0x3, 0xdf, 0xff, - 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x43, 0x0, - 0x0, 0x0, + 0x0, 0x2, 0x9d, 0xff, 0xc8, 0x10, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0xff, 0xe2, 0x0, 0x2, 0xff, + 0xd5, 0x12, 0x7f, 0xfd, 0x0, 0xa, 0xff, 0x10, + 0x0, 0x5, 0xff, 0x50, 0xf, 0xf9, 0x0, 0x0, + 0x0, 0xdf, 0xb0, 0x2f, 0xf5, 0x0, 0x0, 0x0, + 0x9f, 0xe0, 0x5f, 0xf2, 0x0, 0x0, 0x0, 0x7f, + 0xf0, 0x6f, 0xf2, 0x0, 0x0, 0x0, 0x6f, 0xf1, + 0x6f, 0xf1, 0x0, 0x0, 0x0, 0x6f, 0xf2, 0x6f, + 0xf1, 0x0, 0x0, 0x0, 0x6f, 0xf2, 0x6f, 0xf1, + 0x0, 0x0, 0x0, 0x6f, 0xf2, 0x6f, 0xf1, 0x0, + 0x0, 0x0, 0x6f, 0xf2, 0x5f, 0xf2, 0x0, 0x0, + 0x0, 0x6f, 0xf1, 0x5f, 0xf3, 0x0, 0x0, 0x0, + 0x7f, 0xf0, 0x2f, 0xf5, 0x0, 0x0, 0x0, 0x9f, + 0xe0, 0xf, 0xf9, 0x0, 0x0, 0x0, 0xef, 0xa0, + 0x9, 0xff, 0x20, 0x0, 0x5, 0xff, 0x50, 0x2, + 0xff, 0xe5, 0x11, 0x6f, 0xfc, 0x0, 0x0, 0x5f, + 0xff, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x2, 0x9d, + 0xff, 0xd8, 0x10, 0x0, /* U+31 "1" */ - 0x0, 0x0, 0x0, 0x3, 0x27, 0xab, 0xcf, 0xfc, - 0x4f, 0xff, 0xff, 0xfc, 0x28, 0x88, 0x8f, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0xf, 0xfc, + 0x0, 0x0, 0x3, 0x9e, 0x0, 0x17, 0xdf, 0xff, + 0x4b, 0xff, 0xff, 0xff, 0xaf, 0xfd, 0x7a, 0xff, + 0x99, 0x30, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x9, 0xff, /* U+32 "2" */ - 0x0, 0x0, 0x1, 0x20, 0x0, 0x0, 0x0, 0x2, - 0xae, 0xff, 0xfb, 0x40, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xff, 0x60, 0x3, 0xff, 0xe5, 0x0, 0x4e, - 0xff, 0x30, 0xbf, 0xf2, 0x0, 0x0, 0x4f, 0xf8, - 0xf, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xcc, - 0x60, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0x20, 0x0, - 0x0, 0x0, 0x9, 0xff, 0x70, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x3, 0xff, - 0xd1, 0x0, 0x0, 0x0, 0x2, 0xef, 0xf1, 0x0, - 0x0, 0x0, 0x1, 0xcf, 0xf3, 0x0, 0x0, 0x0, - 0x0, 0xbf, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0xf7, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfa, 0x0, - 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x80, + 0x0, 0x4, 0xae, 0xff, 0xc8, 0x10, 0x0, 0x0, + 0xaf, 0xff, 0xff, 0xff, 0xe3, 0x0, 0xa, 0xff, + 0xb3, 0x12, 0x8f, 0xff, 0x10, 0x3f, 0xf9, 0x0, + 0x0, 0x6, 0xff, 0x70, 0x8f, 0xf1, 0x0, 0x0, + 0x0, 0xff, 0xb0, 0xbf, 0xe0, 0x0, 0x0, 0x0, + 0xcf, 0xc0, 0x1, 0x10, 0x0, 0x0, 0x0, 0xef, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8f, 0xf3, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x4f, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xb0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xef, 0xd1, 0x0, 0x0, + 0x0, 0x0, 0x1d, 0xfd, 0x10, 0x0, 0x0, 0x0, + 0x0, 0xcf, 0xe2, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xff, 0x31, 0x11, 0x11, 0x11, 0x10, 0x5f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfb, 0x5f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfb, /* U+33 "3" */ - 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xaf, 0xff, 0xfb, 0x40, 0x0, 0x0, 0x9f, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0x6, 0xff, 0xd4, - 0x0, 0x4e, 0xff, 0x40, 0xf, 0xff, 0x10, 0x0, - 0x4, 0xff, 0x90, 0x1f, 0xf8, 0x0, 0x0, 0x0, - 0xff, 0xc0, 0x14, 0x42, 0x0, 0x0, 0x0, 0xcf, - 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb0, - 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x60, 0x0, - 0x0, 0x13, 0x36, 0x9f, 0xfa, 0x0, 0x0, 0x0, - 0x4f, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x3c, - 0xcd, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1a, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xef, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0xf1, 0x13, 0x31, 0x0, 0x0, 0x0, 0x8f, 0xf4, - 0x4f, 0xf6, 0x0, 0x0, 0x0, 0xbf, 0xf0, 0xf, - 0xfc, 0x0, 0x0, 0x1, 0xef, 0xd0, 0x9, 0xff, - 0xa2, 0x0, 0x2c, 0xff, 0x50, 0x0, 0xbf, 0xff, - 0xde, 0xff, 0xfa, 0x0, 0x0, 0x5, 0xef, 0xff, - 0xfe, 0x50, 0x0, 0x0, 0x0, 0x0, 0x44, 0x0, - 0x0, 0x0, + 0x0, 0x4, 0xae, 0xfe, 0xc7, 0x0, 0x0, 0xa, + 0xff, 0xff, 0xff, 0xfd, 0x10, 0x9, 0xff, 0xa4, + 0x13, 0x8f, 0xfc, 0x2, 0xff, 0xa0, 0x0, 0x0, + 0x7f, 0xf4, 0x6f, 0xf2, 0x0, 0x0, 0x1, 0xff, + 0x83, 0x77, 0x0, 0x0, 0x0, 0xf, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x9f, 0xf1, 0x0, 0x0, 0x1, 0x14, + 0xbf, 0xf6, 0x0, 0x0, 0xa, 0xff, 0xff, 0xe4, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xa1, 0x0, + 0x0, 0x0, 0x0, 0x28, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x0, 0xc, 0xfc, 0x35, 0x40, 0x0, 0x0, 0x0, + 0xaf, 0xea, 0xff, 0x0, 0x0, 0x0, 0xc, 0xfc, + 0x6f, 0xf6, 0x0, 0x0, 0x4, 0xff, 0x80, 0xdf, + 0xf9, 0x31, 0x27, 0xef, 0xe1, 0x1, 0xdf, 0xff, + 0xff, 0xff, 0xe3, 0x0, 0x0, 0x6b, 0xef, 0xfc, + 0x71, 0x0, /* U+34 "4" */ - 0x0, 0x0, 0x0, 0x0, 0xef, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x2e, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x5, 0xff, - 0xcf, 0xf4, 0x0, 0x0, 0x0, 0x1d, 0xfb, 0x8f, - 0xf4, 0x0, 0x0, 0x0, 0x8f, 0xf1, 0x8f, 0xf4, - 0x0, 0x0, 0x2, 0xff, 0x70, 0x8f, 0xf4, 0x0, - 0x0, 0xc, 0xfd, 0x0, 0x8f, 0xf4, 0x0, 0x0, - 0x5f, 0xf3, 0x0, 0x8f, 0xf4, 0x0, 0x1, 0xef, - 0x90, 0x0, 0x8f, 0xf4, 0x0, 0x9, 0xff, 0x10, - 0x0, 0x8f, 0xf4, 0x0, 0x3f, 0xf6, 0x0, 0x0, - 0x8f, 0xf4, 0x0, 0xcf, 0xfb, 0xbb, 0xbb, 0xdf, - 0xfc, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x88, 0x88, 0x88, 0x88, 0xcf, 0xfa, 0x88, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x8f, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8f, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0xa, 0xfe, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xf5, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x1, 0xef, 0x73, 0xff, 0x50, 0x0, + 0x0, 0x0, 0xa, 0xfc, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x4f, 0xf3, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x0, 0xef, 0x80, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x9, 0xfd, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x4f, 0xf3, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x0, 0xef, 0x90, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x9, 0xfd, 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, + 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, /* U+35 "5" */ - 0x8, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x9f, - 0xff, 0xff, 0xff, 0xff, 0x80, 0xc, 0xfe, 0x88, - 0x88, 0x88, 0x84, 0x0, 0xcf, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0xf, 0xf9, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2f, - 0xf5, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x57, - 0xbc, 0xb7, 0x10, 0x0, 0x4f, 0xff, 0xff, 0xff, - 0xfe, 0x50, 0x8, 0xff, 0xfa, 0x88, 0xdf, 0xfe, - 0x20, 0x8f, 0xf3, 0x0, 0x0, 0x9f, 0xfa, 0x2, - 0x44, 0x0, 0x0, 0x0, 0xef, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0x9, 0xff, 0x10, 0x0, 0x0, 0x0, - 0x0, 0x8f, 0xf4, 0x33, 0x30, 0x0, 0x0, 0x8, - 0xff, 0x2c, 0xfc, 0x0, 0x0, 0x0, 0xbf, 0xf0, - 0x9f, 0xe1, 0x0, 0x0, 0x2f, 0xfc, 0x4, 0xff, - 0xc2, 0x0, 0x3c, 0xff, 0x40, 0x9, 0xff, 0xfd, - 0xef, 0xff, 0x80, 0x0, 0x5, 0xef, 0xff, 0xfe, - 0x40, 0x0, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0, - 0x0, + 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x5f, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x6, 0xff, 0x55, + 0x55, 0x55, 0x55, 0x0, 0x8f, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, + 0xf7, 0x2, 0x33, 0x0, 0x0, 0x0, 0xff, 0xbe, + 0xff, 0xff, 0x91, 0x0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xd1, 0x1, 0xef, 0xc3, 0x0, 0x4d, 0xff, + 0xa0, 0x0, 0x20, 0x0, 0x0, 0xd, 0xff, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf6, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0xe, 0xf9, 0x68, 0x40, 0x0, 0x0, 0x0, + 0xff, 0x8b, 0xfc, 0x0, 0x0, 0x0, 0x4f, 0xf5, + 0x6f, 0xf4, 0x0, 0x0, 0xc, 0xff, 0x10, 0xdf, + 0xf7, 0x21, 0x3b, 0xff, 0x70, 0x2, 0xdf, 0xff, + 0xff, 0xff, 0xa0, 0x0, 0x0, 0x7c, 0xff, 0xea, + 0x40, 0x0, /* U+36 "6" */ - 0x0, 0x0, 0x0, 0x2, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x3b, 0xef, 0xff, 0xd8, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x6f, 0xfd, - 0x40, 0x1, 0x65, 0x0, 0x1, 0xef, 0xd1, 0x0, - 0x0, 0x0, 0x0, 0x8, 0xff, 0x40, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xfd, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1f, 0xf8, 0x2, 0x79, 0x85, 0x20, 0x0, 0xf, - 0xf9, 0x8f, 0xff, 0xff, 0xe6, 0x0, 0xf, 0xff, - 0xfa, 0x76, 0x9f, 0xff, 0x40, 0xf, 0xff, 0x30, - 0x0, 0x3, 0xff, 0xd0, 0xf, 0xf9, 0x0, 0x0, - 0x0, 0xaf, 0xf4, 0xf, 0xf8, 0x0, 0x0, 0x0, - 0x4f, 0xf6, 0xf, 0xfa, 0x0, 0x0, 0x0, 0x4f, - 0xf8, 0xd, 0xfc, 0x0, 0x0, 0x0, 0x4f, 0xf7, - 0xb, 0xff, 0x20, 0x0, 0x0, 0x6f, 0xf4, 0x4, - 0xff, 0x80, 0x0, 0x0, 0xef, 0xf1, 0x0, 0xaf, - 0xf8, 0x0, 0x1a, 0xff, 0x70, 0x0, 0x1c, 0xff, - 0xfc, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x8e, 0xff, - 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x24, 0x10, - 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5a, 0xdf, 0x80, 0x0, 0x0, + 0x0, 0x4e, 0xff, 0xff, 0x90, 0x0, 0x0, 0x6, + 0xff, 0xfa, 0x53, 0x10, 0x0, 0x0, 0x4f, 0xfc, + 0x20, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x9, 0xfd, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0xf9, 0x3b, 0xff, 0xfc, 0x50, 0x0, + 0xf, 0xfc, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x1f, + 0xff, 0xe7, 0x20, 0x4d, 0xff, 0x50, 0x2f, 0xfe, + 0x20, 0x0, 0x1, 0xef, 0xd0, 0x3f, 0xf7, 0x0, + 0x0, 0x0, 0x7f, 0xf2, 0x3f, 0xf5, 0x0, 0x0, + 0x0, 0x4f, 0xf4, 0x2f, 0xf6, 0x0, 0x0, 0x0, + 0x2f, 0xf5, 0xf, 0xf9, 0x0, 0x0, 0x0, 0x4f, + 0xf4, 0xa, 0xfe, 0x0, 0x0, 0x0, 0x8f, 0xf1, + 0x4, 0xff, 0x80, 0x0, 0x1, 0xef, 0xb0, 0x0, + 0xaf, 0xf9, 0x21, 0x5d, 0xff, 0x30, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x5c, + 0xef, 0xd9, 0x20, 0x0, /* U+37 "7" */ - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x34, 0x44, - 0x44, 0x44, 0x44, 0x9f, 0xf5, 0x0, 0x0, 0x0, - 0x0, 0x2, 0xef, 0x90, 0x0, 0x0, 0x0, 0x0, - 0xd, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, - 0xf2, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0x60, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xfd, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xdf, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0x3, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x9, - 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0xd, 0xfd, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf6, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x6f, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xdf, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x9, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x20, + 0x0, 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8f, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, - 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xf7, + 0x0, 0x0, 0x0, 0x0, /* U+38 "8" */ - 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xbf, 0xff, 0xfa, 0x30, 0x0, 0x0, 0xaf, - 0xff, 0xff, 0xff, 0xf6, 0x0, 0x6, 0xff, 0xe4, - 0x0, 0x6f, 0xfe, 0x30, 0xc, 0xff, 0x30, 0x0, - 0x6, 0xff, 0x80, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0xff, 0xb0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0xff, - 0xc0, 0xd, 0xfd, 0x0, 0x0, 0x2, 0xff, 0xa0, - 0x6, 0xff, 0x80, 0x0, 0xb, 0xff, 0x20, 0x0, - 0xaf, 0xfb, 0x77, 0xcf, 0xf6, 0x0, 0x0, 0x5, - 0xef, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x6e, 0xff, - 0xdd, 0xff, 0xd3, 0x0, 0x6, 0xff, 0xa1, 0x0, - 0x2c, 0xfe, 0x40, 0x2f, 0xfb, 0x0, 0x0, 0x1, - 0xef, 0xd0, 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x8f, - 0xf4, 0x8f, 0xf2, 0x0, 0x0, 0x0, 0x6f, 0xf4, - 0x7f, 0xf4, 0x0, 0x0, 0x0, 0x8f, 0xf3, 0x4f, - 0xfb, 0x0, 0x0, 0x1, 0xdf, 0xf0, 0xc, 0xff, - 0xa1, 0x0, 0x2b, 0xff, 0x80, 0x1, 0xef, 0xff, - 0xed, 0xff, 0xfc, 0x0, 0x0, 0x8, 0xff, 0xff, - 0xfe, 0x60, 0x0, 0x0, 0x0, 0x0, 0x44, 0x0, - 0x0, 0x0, + 0x0, 0x2, 0x9d, 0xff, 0xc7, 0x10, 0x0, 0x0, + 0x6f, 0xff, 0xff, 0xff, 0xe2, 0x0, 0x3, 0xff, + 0xe5, 0x22, 0x8f, 0xfe, 0x0, 0xa, 0xff, 0x20, + 0x0, 0x7, 0xff, 0x60, 0xe, 0xfb, 0x0, 0x0, + 0x0, 0xff, 0xa0, 0xf, 0xf9, 0x0, 0x0, 0x0, + 0xdf, 0xb0, 0xd, 0xfb, 0x0, 0x0, 0x0, 0xff, + 0x90, 0x8, 0xff, 0x20, 0x0, 0x6, 0xff, 0x30, + 0x1, 0xdf, 0xe5, 0x23, 0x8f, 0xf9, 0x0, 0x0, + 0x1b, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x4d, + 0xff, 0xff, 0xff, 0xa1, 0x0, 0x4, 0xff, 0xb3, + 0x1, 0x5e, 0xfd, 0x10, 0xe, 0xfb, 0x0, 0x0, + 0x1, 0xef, 0xa0, 0x4f, 0xf3, 0x0, 0x0, 0x0, + 0x8f, 0xf0, 0x6f, 0xf1, 0x0, 0x0, 0x0, 0x5f, + 0xf2, 0x6f, 0xf3, 0x0, 0x0, 0x0, 0x7f, 0xf1, + 0x2f, 0xfa, 0x0, 0x0, 0x1, 0xef, 0xd0, 0xa, + 0xff, 0xb4, 0x12, 0x5d, 0xff, 0x50, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x4, 0xae, + 0xff, 0xd9, 0x20, 0x0, /* U+39 "9" */ - 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x6c, 0xff, 0xfb, 0x60, 0x0, 0x0, 0xaf, 0xff, - 0xff, 0xff, 0xb1, 0x0, 0x8f, 0xfb, 0x20, 0x2a, - 0xff, 0x90, 0x2e, 0xfd, 0x0, 0x0, 0xa, 0xff, - 0x37, 0xff, 0x60, 0x0, 0x0, 0x2f, 0xf8, 0x8f, - 0xf2, 0x0, 0x0, 0x0, 0xff, 0xbc, 0xff, 0x0, - 0x0, 0x0, 0xc, 0xfc, 0xaf, 0xf0, 0x0, 0x0, - 0x0, 0xcf, 0xf8, 0xff, 0x40, 0x0, 0x0, 0xc, - 0xff, 0x3f, 0xfa, 0x0, 0x0, 0x3, 0xff, 0xf0, - 0xcf, 0xf7, 0x0, 0x5, 0xef, 0xff, 0x2, 0xef, - 0xff, 0xbf, 0xff, 0xef, 0xf0, 0x1, 0x9f, 0xff, - 0xfd, 0x3c, 0xff, 0x0, 0x0, 0x3, 0x43, 0x0, - 0xef, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfb, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x80, 0x0, - 0x0, 0x0, 0x0, 0xdf, 0xf2, 0x0, 0x72, 0x0, - 0x2, 0xcf, 0xf8, 0x0, 0x3f, 0xfe, 0xbe, 0xff, - 0xfa, 0x0, 0x2, 0xbf, 0xff, 0xff, 0xd4, 0x0, - 0x0, 0x0, 0x4, 0x43, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xae, 0xfe, 0xa3, 0x0, 0x0, 0x9, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0x7, 0xff, 0xb4, + 0x14, 0xcf, 0xf6, 0x0, 0xff, 0xc0, 0x0, 0x0, + 0xcf, 0xe0, 0x5f, 0xf3, 0x0, 0x0, 0x3, 0xff, + 0x58, 0xff, 0x0, 0x0, 0x0, 0xe, 0xf9, 0x9f, + 0xe0, 0x0, 0x0, 0x0, 0xbf, 0xc9, 0xff, 0x0, + 0x0, 0x0, 0xa, 0xfd, 0x6f, 0xf3, 0x0, 0x0, + 0x0, 0xbf, 0xe1, 0xff, 0xb0, 0x0, 0x0, 0x6f, + 0xfd, 0xa, 0xff, 0xb2, 0x2, 0x9f, 0xff, 0xc0, + 0xc, 0xff, 0xff, 0xff, 0xcc, 0xfb, 0x0, 0x8, + 0xef, 0xfd, 0x70, 0xdf, 0x80, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x1, 0xef, 0xb0, + 0x0, 0x0, 0x0, 0x2, 0xcf, 0xf2, 0x0, 0x0, + 0x13, 0x59, 0xff, 0xf5, 0x0, 0x0, 0xd, 0xff, + 0xff, 0xd4, 0x0, 0x0, 0x0, 0xde, 0xda, 0x50, + 0x0, 0x0, /* U+3A ":" */ - 0x9b, 0xbc, 0xff, 0xcf, 0xf0, 0x0, 0x0, 0x0, + 0xb, 0xf8, 0x1f, 0xff, 0xb, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x9b, 0xbc, 0xff, 0xcf, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xf8, 0x2f, 0xff, 0xb, 0xf8, /* U+3B ";" */ - 0x9b, 0xb0, 0xcf, 0xf0, 0xcf, 0xf0, 0x0, 0x0, + 0x2, 0xde, 0x40, 0x7f, 0xf9, 0x2, 0xde, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xf4, 0x8f, 0xf4, 0x8f, 0xf4, 0x8f, 0xf2, - 0x8f, 0xc0, 0x8f, 0x60, 0x48, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, + 0x60, 0x1f, 0xf6, 0x2, 0xff, 0x50, 0x4f, 0xf2, + 0xa, 0xfc, 0x2, 0xff, 0x30, 0x9, 0x60, 0x0, /* U+3C "<" */ - 0x0, 0x0, 0x0, 0x0, 0x2, 0x83, 0x0, 0x0, - 0x0, 0x2, 0x9f, 0xf4, 0x0, 0x0, 0x4, 0xbf, - 0xff, 0xf4, 0x0, 0x6, 0xbf, 0xff, 0xf9, 0x20, - 0x6, 0xdf, 0xff, 0xd6, 0x10, 0x0, 0xff, 0xff, - 0xa4, 0x0, 0x0, 0x0, 0xff, 0xc5, 0x0, 0x0, - 0x0, 0x0, 0xaf, 0xff, 0xd7, 0x20, 0x0, 0x0, - 0x2, 0x8f, 0xff, 0xfa, 0x40, 0x0, 0x0, 0x1, - 0x8e, 0xff, 0xfd, 0x61, 0x0, 0x0, 0x0, 0x6e, - 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x5c, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x42, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2a, 0x20, 0x0, + 0x0, 0x0, 0x4, 0xbf, 0xf2, 0x0, 0x0, 0x0, + 0x5c, 0xff, 0xff, 0x20, 0x0, 0x6, 0xdf, 0xff, + 0xd6, 0x0, 0x1, 0x7e, 0xff, 0xfa, 0x30, 0x0, + 0x0, 0xff, 0xfd, 0x71, 0x0, 0x0, 0x0, 0xf, + 0xfe, 0x60, 0x0, 0x0, 0x0, 0x0, 0x6d, 0xff, + 0xf9, 0x30, 0x0, 0x0, 0x0, 0x5, 0xcf, 0xff, + 0xc6, 0x0, 0x0, 0x0, 0x0, 0x4b, 0xff, 0xff, + 0x90, 0x0, 0x0, 0x0, 0x3, 0xaf, 0xff, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x29, 0xf2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x0, /* U+3D "=" */ - 0x87, 0x77, 0x77, 0x77, 0x77, 0x74, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0xcc, 0xcc, 0xcc, 0xcc, - 0xcc, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcb, 0xbb, 0xbb, 0xbb, - 0xbb, 0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x84, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x23, 0x33, 0x33, 0x33, + 0x33, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x21, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xf7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf7, /* U+3E ">" */ - 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xfd, - 0x51, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xe7, - 0x20, 0x0, 0x0, 0x0, 0x6c, 0xff, 0xff, 0x93, - 0x0, 0x0, 0x0, 0x2, 0x8e, 0xff, 0xfb, 0x40, - 0x0, 0x0, 0x0, 0x5, 0xbf, 0xff, 0xd4, 0x0, - 0x0, 0x0, 0x0, 0x1a, 0xef, 0x80, 0x0, 0x0, - 0x2, 0x7d, 0xff, 0xf6, 0x0, 0x0, 0x5a, 0xff, - 0xff, 0x82, 0x0, 0x28, 0xef, 0xff, 0xe6, 0x10, - 0x0, 0x4f, 0xff, 0xfc, 0x50, 0x0, 0x0, 0x4, - 0xff, 0xa3, 0x0, 0x0, 0x0, 0x0, 0x38, 0x20, + 0x2a, 0x30, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xc5, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xfe, + 0x71, 0x0, 0x0, 0x0, 0x4, 0xaf, 0xff, 0xf9, + 0x20, 0x0, 0x0, 0x0, 0x17, 0xdf, 0xff, 0xb4, + 0x0, 0x0, 0x0, 0x0, 0x39, 0xff, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x4b, 0xff, 0x80, 0x0, 0x0, + 0x28, 0xef, 0xff, 0x92, 0x0, 0x5, 0xbf, 0xff, + 0xe8, 0x10, 0x0, 0x8e, 0xff, 0xfd, 0x60, 0x0, + 0x0, 0x2f, 0xff, 0xb4, 0x0, 0x0, 0x0, 0x2, + 0xf9, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+3F "?" */ - 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x17, - 0xef, 0xff, 0xe7, 0x0, 0x1, 0xcf, 0xff, 0xff, - 0xff, 0xc0, 0xa, 0xff, 0xb4, 0x15, 0xcf, 0xf8, - 0xf, 0xfc, 0x0, 0x0, 0x1f, 0xfc, 0x1c, 0xc6, - 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xa, 0xff, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfe, - 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, - 0x0, 0x3, 0xef, 0xe1, 0x0, 0x0, 0x0, 0x1e, - 0xff, 0x30, 0x0, 0x0, 0x1, 0xcf, 0xf6, 0x0, - 0x0, 0x0, 0xa, 0xff, 0x60, 0x0, 0x0, 0x0, - 0xf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf8, - 0x0, 0x0, 0x0, 0x0, 0x28, 0x84, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3b, 0xb9, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xfc, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xfc, 0x0, 0x0, + 0x0, 0x3a, 0xef, 0xec, 0x60, 0x0, 0x8, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x4f, 0xfd, 0x63, 0x5c, + 0xff, 0x80, 0xbf, 0xe1, 0x0, 0x0, 0xdf, 0xe0, + 0xcd, 0x80, 0x0, 0x0, 0x8f, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xe0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x70, + 0x0, 0x0, 0x0, 0x3e, 0xfd, 0x0, 0x0, 0x0, + 0x2, 0xef, 0xe2, 0x0, 0x0, 0x0, 0x1e, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x9f, 0xf3, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xa0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x55, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xac, 0x40, 0x0, 0x0, 0x0, 0x3, 0xff, 0xb0, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0x60, 0x0, 0x0, /* U+40 "@" */ - 0x0, 0x0, 0x0, 0x0, 0x4, 0x67, 0x77, 0x42, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9e, - 0xff, 0xff, 0xff, 0xfc, 0x40, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xef, 0xd7, 0x43, 0x14, 0x5a, 0xff, - 0xb1, 0x0, 0x0, 0x0, 0x6, 0xff, 0x60, 0x0, - 0x0, 0x0, 0x1, 0xbf, 0xc1, 0x0, 0x0, 0x5, - 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0x90, 0x0, 0x2, 0xef, 0x40, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xef, 0x30, 0x0, 0xaf, 0xa0, - 0x0, 0x0, 0x25, 0x75, 0x20, 0x0, 0x6, 0xfa, - 0x0, 0x2f, 0xf2, 0x0, 0x0, 0x7f, 0xff, 0xff, - 0x81, 0x0, 0xf, 0xe1, 0x9, 0xfa, 0x0, 0x0, - 0x9f, 0xf9, 0x56, 0xef, 0x40, 0x0, 0x9f, 0x40, - 0xdf, 0x40, 0x0, 0x2f, 0xf6, 0x0, 0xf, 0xf4, - 0x0, 0x8, 0xf8, 0x1f, 0xf1, 0x0, 0xa, 0xfc, - 0x0, 0x0, 0xff, 0x30, 0x0, 0x4f, 0x84, 0xff, - 0x0, 0x0, 0xff, 0x60, 0x0, 0xf, 0xf0, 0x0, - 0x4, 0xfc, 0x4f, 0xc0, 0x0, 0x4f, 0xf2, 0x0, - 0x3, 0xff, 0x0, 0x0, 0x4f, 0xc8, 0xfa, 0x0, - 0x7, 0xff, 0x0, 0x0, 0x4f, 0xf0, 0x0, 0x3, - 0xfa, 0x8f, 0xc0, 0x0, 0x8f, 0xc0, 0x0, 0x4, - 0xfc, 0x0, 0x0, 0x5f, 0x88, 0xfc, 0x0, 0x8, - 0xfc, 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x9, 0xf4, - 0x5f, 0xc0, 0x0, 0x8f, 0xe0, 0x0, 0x8, 0xfc, - 0x0, 0x1, 0xee, 0x2, 0xff, 0x0, 0x5, 0xff, - 0x50, 0x4, 0xef, 0xc0, 0x0, 0xaf, 0x60, 0xf, - 0xf2, 0x0, 0xf, 0xff, 0xbc, 0xf9, 0xff, 0x87, - 0xcf, 0xa0, 0x0, 0xaf, 0xa0, 0x0, 0x3f, 0xff, - 0xf7, 0x6, 0xff, 0xfe, 0x70, 0x0, 0x4, 0xff, - 0x20, 0x0, 0x3, 0x40, 0x0, 0x2, 0x41, 0x0, - 0x0, 0x0, 0xb, 0xfa, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3f, 0xfb, 0x20, 0x0, 0x0, 0x0, - 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xff, - 0xc8, 0x77, 0x7a, 0xef, 0x20, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xae, 0xff, 0xff, 0xfb, 0x60, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x24, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5a, 0xde, 0xfe, 0xc8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xef, + 0xff, 0xdd, 0xef, 0xff, 0xb2, 0x0, 0x0, 0x0, + 0x0, 0xa, 0xff, 0x93, 0x0, 0x0, 0x5, 0xbf, + 0xf4, 0x0, 0x0, 0x0, 0xb, 0xfc, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xf3, 0x0, 0x0, 0x9, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xd0, 0x0, 0x4, 0xfe, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0x70, 0x0, 0xcf, 0x40, + 0x0, 0x0, 0x39, 0xba, 0x60, 0x0, 0x0, 0xed, + 0x0, 0x3f, 0xd0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xd2, 0x0, 0x9, 0xf2, 0x9, 0xf6, 0x0, 0x0, + 0x7f, 0xe4, 0x2, 0xdf, 0x40, 0x0, 0x5f, 0x60, + 0xdf, 0x20, 0x0, 0x2f, 0xf2, 0x0, 0xd, 0xf3, + 0x0, 0x3, 0xf8, 0x1f, 0xe0, 0x0, 0x9, 0xf8, + 0x0, 0x0, 0xef, 0x10, 0x0, 0x1f, 0xa3, 0xfb, + 0x0, 0x0, 0xff, 0x20, 0x0, 0xf, 0xf0, 0x0, + 0x1, 0xfa, 0x5f, 0xa0, 0x0, 0x3f, 0xe0, 0x0, + 0x1, 0xfe, 0x0, 0x0, 0xf, 0xb6, 0xf9, 0x0, + 0x6, 0xfc, 0x0, 0x0, 0x2f, 0xd0, 0x0, 0x2, + 0xfa, 0x6f, 0x90, 0x0, 0x8f, 0xa0, 0x0, 0x4, + 0xfb, 0x0, 0x0, 0x4f, 0x85, 0xf9, 0x0, 0x8, + 0xfb, 0x0, 0x0, 0x7f, 0xa0, 0x0, 0x7, 0xf4, + 0x4f, 0xb0, 0x0, 0x6f, 0xe0, 0x0, 0xe, 0xfa, + 0x0, 0x0, 0xee, 0x1, 0xfe, 0x0, 0x2, 0xff, + 0x70, 0x1b, 0xff, 0xe0, 0x0, 0x9f, 0x70, 0xd, + 0xf3, 0x0, 0xa, 0xff, 0xff, 0xf3, 0xcf, 0xda, + 0xdf, 0xa0, 0x0, 0x7f, 0x90, 0x0, 0x9, 0xef, + 0xb3, 0x1, 0xae, 0xfd, 0x60, 0x0, 0x1, 0xff, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfb, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1c, 0xff, 0x72, 0x0, 0x0, 0x4, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xfd, 0xcb, 0xcf, 0xff, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x6b, 0xdf, 0xfe, 0xc8, 0x20, + 0x0, 0x0, 0x0, /* U+41 "A" */ - 0x0, 0x0, 0x0, 0x6, 0xff, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf9, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xe0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x50, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xbf, 0xfa, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf6, 0x9f, - 0xe0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x13, - 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0xef, 0xa0, - 0xe, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, - 0x0, 0x9f, 0xf1, 0x0, 0x0, 0x0, 0xa, 0xff, - 0x0, 0x3, 0xff, 0x60, 0x0, 0x0, 0x0, 0xff, - 0xa0, 0x0, 0xe, 0xfb, 0x0, 0x0, 0x0, 0x6f, - 0xf5, 0x0, 0x0, 0x9f, 0xf2, 0x0, 0x0, 0xb, - 0xff, 0x77, 0x77, 0x79, 0xff, 0x70, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x3, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xfd, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xb7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0x51, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xff, 0x0, 0xbf, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0xd, 0xfa, 0x0, 0x5f, 0xf2, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xf4, 0x0, 0xf, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xe0, 0x0, 0xa, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x4, + 0xff, 0x40, 0x0, 0x0, 0x6, 0xff, 0x30, 0x0, + 0x0, 0xef, 0xa0, 0x0, 0x0, 0xc, 0xfe, 0x22, + 0x22, 0x22, 0xaf, 0xf1, 0x0, 0x0, 0x2f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, - 0xd, 0xfe, 0x0, 0x0, 0x0, 0x3, 0xff, 0x90, - 0x2, 0xff, 0x90, 0x0, 0x0, 0x0, 0xe, 0xfd, - 0x0, 0x8f, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x8f, - 0xf3, 0xe, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x2, - 0xff, 0x93, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, - 0xd, 0xfe, + 0xef, 0xc0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x20, + 0x4, 0xff, 0x60, 0x0, 0x0, 0x0, 0x2, 0xff, + 0x80, 0xa, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0xe0, 0x1f, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xf5, 0x6f, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xfb, /* U+42 "B" */ - 0xcf, 0xff, 0xff, 0xfb, 0xb7, 0x20, 0x0, 0xc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0xcf, - 0xf4, 0x44, 0x44, 0x9f, 0xff, 0x70, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0xcf, 0xf0, - 0x0, 0x0, 0x0, 0x8f, 0xf3, 0xc, 0xff, 0x0, - 0x0, 0x0, 0x6, 0xff, 0x40, 0xcf, 0xf0, 0x0, - 0x0, 0x0, 0x9f, 0xf3, 0xc, 0xff, 0x0, 0x0, - 0x0, 0x3e, 0xfc, 0x0, 0xcf, 0xf7, 0x77, 0x77, - 0x9f, 0xfc, 0x10, 0xc, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0x51, 0x0, 0xcf, 0xfc, 0xcc, 0xcc, 0xcf, - 0xff, 0xc1, 0xc, 0xff, 0x0, 0x0, 0x0, 0x7, - 0xff, 0xc0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x8, - 0xff, 0x6c, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3f, - 0xf8, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xbc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x5c, - 0xff, 0x0, 0x0, 0x3, 0x4b, 0xff, 0xb0, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xc, 0xff, - 0xff, 0xff, 0xff, 0xcb, 0x40, 0x0, + 0xbf, 0xff, 0xff, 0xff, 0xda, 0x40, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0xbf, 0xf2, + 0x22, 0x23, 0x5c, 0xff, 0x90, 0xbf, 0xf0, 0x0, + 0x0, 0x0, 0xdf, 0xf0, 0xbf, 0xf0, 0x0, 0x0, + 0x0, 0x7f, 0xf3, 0xbf, 0xf0, 0x0, 0x0, 0x0, + 0x5f, 0xf4, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x7f, + 0xf2, 0xbf, 0xf0, 0x0, 0x0, 0x1, 0xef, 0xd0, + 0xbf, 0xf1, 0x11, 0x13, 0x6e, 0xff, 0x30, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xfa, 0x10, 0xbf, 0xf0, 0x0, + 0x0, 0x16, 0xff, 0xd0, 0xbf, 0xf0, 0x0, 0x0, + 0x0, 0x5f, 0xf6, 0xbf, 0xf0, 0x0, 0x0, 0x0, + 0xe, 0xfb, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xc, + 0xfd, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xe, 0xfc, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x8f, 0xf7, 0xbf, + 0xf2, 0x22, 0x22, 0x5a, 0xff, 0xe1, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x30, 0xbf, 0xff, 0xff, + 0xff, 0xeb, 0x60, 0x0, /* U+43 "C" */ - 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x2a, 0xcf, 0xff, 0xc9, 0x10, 0x0, - 0x0, 0x6, 0xef, 0xff, 0xff, 0xff, 0xe7, 0x0, - 0x0, 0x7f, 0xff, 0x51, 0x2, 0x6f, 0xff, 0x40, - 0x1, 0xef, 0xd1, 0x0, 0x0, 0x2, 0xff, 0xd1, - 0xa, 0xff, 0x40, 0x0, 0x0, 0x0, 0x7f, 0xf4, - 0xf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf7, - 0x2f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8, 0x84, - 0x4f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x7f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x2f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x4, 0x32, - 0xf, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf7, - 0xa, 0xff, 0x40, 0x0, 0x0, 0x0, 0x6f, 0xf4, - 0x2, 0xff, 0xc1, 0x0, 0x0, 0x1, 0xef, 0xe0, - 0x0, 0x8f, 0xfc, 0x30, 0x0, 0x4d, 0xff, 0x40, - 0x0, 0x7, 0xff, 0xff, 0xcf, 0xff, 0xf6, 0x0, - 0x0, 0x0, 0x3c, 0xff, 0xff, 0xfa, 0x10, 0x0, - 0x0, 0x0, 0x0, 0x2, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xbe, 0xfe, 0xc8, 0x10, 0x0, + 0x0, 0x3, 0xdf, 0xff, 0xff, 0xff, 0xf6, 0x0, + 0x0, 0x3f, 0xff, 0x94, 0x23, 0x7e, 0xff, 0x60, + 0x0, 0xdf, 0xf3, 0x0, 0x0, 0x1, 0xef, 0xf1, + 0x7, 0xff, 0x50, 0x0, 0x0, 0x0, 0x4f, 0xf7, + 0xd, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x6, 0x87, + 0x4f, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4f, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5, 0x76, + 0xd, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfc, + 0x7, 0xff, 0x40, 0x0, 0x0, 0x0, 0x4f, 0xf7, + 0x1, 0xef, 0xe2, 0x0, 0x0, 0x0, 0xdf, 0xf1, + 0x0, 0x4f, 0xff, 0x83, 0x23, 0x7e, 0xff, 0x60, + 0x0, 0x4, 0xef, 0xff, 0xff, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x7, 0xce, 0xfe, 0xc8, 0x10, 0x0, /* U+44 "D" */ - 0xcf, 0xff, 0xff, 0xeb, 0x86, 0x10, 0x0, 0x0, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x0, 0x0, - 0xcf, 0xf4, 0x44, 0x46, 0x9f, 0xff, 0xb0, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x1, 0xcf, 0xf8, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0xd, 0xff, 0x30, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xb0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xc0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf3, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xe0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xb0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x40, - 0xcf, 0xf0, 0x0, 0x0, 0x1, 0x9f, 0xf9, 0x0, - 0xcf, 0xf0, 0x0, 0x13, 0x7d, 0xff, 0xd1, 0x0, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, - 0xcf, 0xff, 0xff, 0xfd, 0xb8, 0x30, 0x0, 0x0, + 0xbf, 0xff, 0xff, 0xfd, 0xa4, 0x0, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x20, 0x0, 0xbf, + 0xf2, 0x22, 0x35, 0xaf, 0xff, 0x30, 0xb, 0xff, + 0x0, 0x0, 0x0, 0x3e, 0xfe, 0x10, 0xbf, 0xf0, + 0x0, 0x0, 0x0, 0x3f, 0xf9, 0xb, 0xff, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0xf1, 0xbf, 0xf0, 0x0, + 0x0, 0x0, 0x4, 0xff, 0x5b, 0xff, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xf8, 0xbf, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xab, 0xff, 0x0, 0x0, 0x0, + 0x0, 0xe, 0xfb, 0xbf, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xbb, 0xff, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xfa, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0x8b, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4f, + 0xf5, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xa, 0xff, + 0x1b, 0xff, 0x0, 0x0, 0x0, 0x4, 0xff, 0x90, + 0xbf, 0xf0, 0x0, 0x0, 0x4, 0xff, 0xe1, 0xb, + 0xff, 0x22, 0x23, 0x5b, 0xff, 0xf3, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, 0xb, 0xff, + 0xff, 0xfe, 0xd9, 0x40, 0x0, 0x0, /* U+45 "E" */ - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4c, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf4, 0xcf, 0xf4, 0x44, - 0x44, 0x44, 0x44, 0x1c, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf3, 0x33, 0x33, - 0x33, 0x30, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0xcf, 0xfc, 0xcc, 0xcc, 0xcc, 0xc0, 0xc, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, - 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x8c, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbf, 0xf2, 0x22, + 0x22, 0x22, 0x22, 0x2b, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf2, 0x22, 0x22, + 0x22, 0x21, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x90, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xb, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0x22, 0x22, 0x22, 0x22, 0x22, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, /* U+46 "F" */ - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0xcf, 0xf4, 0x44, - 0x44, 0x44, 0x44, 0x3c, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x40, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xc, - 0xff, 0x44, 0x44, 0x44, 0x44, 0x10, 0xcf, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, - 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, - 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0xbf, 0xf2, 0x22, + 0x22, 0x22, 0x22, 0x1b, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x40, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xb, + 0xff, 0x22, 0x22, 0x22, 0x22, 0x0, 0xbf, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+47 "G" */ - 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x2a, 0xcf, 0xff, 0xd9, 0x20, 0x0, - 0x0, 0x6, 0xef, 0xff, 0xff, 0xff, 0xf7, 0x0, - 0x0, 0x7f, 0xff, 0x52, 0x1, 0x6f, 0xff, 0x50, - 0x1, 0xef, 0xe2, 0x0, 0x0, 0x1, 0xff, 0xe1, - 0xa, 0xff, 0x40, 0x0, 0x0, 0x0, 0x6f, 0xf4, - 0xf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, - 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x4, 0x42, - 0x4f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xf4, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xfc, - 0x4f, 0xf4, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xfc, - 0x4f, 0xf7, 0x0, 0x0, 0x24, 0x44, 0x4f, 0xfc, - 0x2f, 0xf9, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, - 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, - 0xa, 0xff, 0x40, 0x0, 0x0, 0x0, 0xf, 0xfc, - 0x2, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x1f, 0xfc, - 0x0, 0x7f, 0xfe, 0x40, 0x0, 0x6, 0xdf, 0xf6, - 0x0, 0x7, 0xff, 0xff, 0xcd, 0xff, 0xff, 0x80, - 0x0, 0x0, 0x2b, 0xff, 0xff, 0xff, 0xa2, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x44, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xbe, 0xff, 0xd9, 0x30, 0x0, + 0x0, 0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0x90, + 0x0, 0x0, 0x4f, 0xff, 0x94, 0x23, 0x6d, 0xff, + 0x90, 0x0, 0x1e, 0xff, 0x30, 0x0, 0x0, 0xc, + 0xff, 0x30, 0x7, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x2f, 0xfa, 0x0, 0xdf, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0xbe, 0xd0, 0xf, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf5, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0x50, 0x0, + 0x0, 0x22, 0x22, 0x22, 0x20, 0x5f, 0xf5, 0x0, + 0x0, 0x3f, 0xff, 0xff, 0xff, 0x4, 0xff, 0x50, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xf7, + 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x0, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf0, 0xb, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x0, + 0x5f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf0, + 0x0, 0xcf, 0xf6, 0x0, 0x0, 0x0, 0xc, 0xff, + 0x0, 0x1, 0xef, 0xfb, 0x52, 0x23, 0x7d, 0xff, + 0xa0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0x90, 0x0, 0x0, 0x0, 0x4a, 0xdf, 0xfe, 0xc8, + 0x20, 0x0, /* U+48 "H" */ - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0xcf, 0xf4, 0x44, 0x44, 0x44, 0x44, 0x7f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf2, 0x22, 0x22, 0x22, 0x22, 0x2f, 0xf9, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, /* U+49 "I" */ - 0x5e, 0xe4, 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, - 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, - 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, - 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, - 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, 0x6f, 0xf4, + 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, + 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, + 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, + 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, + 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, 0x8f, 0xf2, /* U+4A "J" */ - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x87, 0x60, 0x0, 0x0, - 0xb, 0xff, 0xcf, 0xc0, 0x0, 0x0, 0xd, 0xfe, - 0xbf, 0xf2, 0x0, 0x0, 0x4f, 0xfb, 0x4f, 0xfc, - 0x20, 0x3, 0xdf, 0xf3, 0x9, 0xff, 0xfd, 0xef, - 0xff, 0x70, 0x0, 0x5e, 0xff, 0xff, 0xd3, 0x0, - 0x0, 0x0, 0x4, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xf4, 0x2b, 0xb4, 0x0, 0x0, 0x0, 0x6f, + 0xf4, 0x2f, 0xf8, 0x0, 0x0, 0x0, 0x9f, 0xf1, + 0xe, 0xfe, 0x10, 0x0, 0x2, 0xff, 0xd0, 0x6, + 0xff, 0xe6, 0x33, 0x7f, 0xff, 0x40, 0x0, 0x8f, + 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x3, 0xad, + 0xff, 0xd9, 0x20, 0x0, /* U+4B "K" */ - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x90, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x6f, 0xfb, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x3, 0xef, 0xd1, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x1d, 0xff, 0x30, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0xdf, 0xf4, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0xa, 0xff, 0x60, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x6f, 0xfa, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x1e, 0xfd, 0x10, 0x0, 0x0, 0x0, - 0xcf, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0xa, 0xff, 0x90, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x1, 0xdf, 0xf6, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x2f, 0xff, 0x30, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x4, 0xff, 0xe2, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x7f, 0xfc, 0x10, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0xa, 0xff, 0x90, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x1, 0xdf, 0xf7, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x40, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xe3, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xa, 0xff, 0x80, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x9f, 0xf9, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x7, 0xff, 0xb0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x5f, 0xfc, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x4, 0xff, 0xd1, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x3f, 0xfe, 0x20, 0x0, 0x0, + 0xbf, 0xf0, 0x2, 0xef, 0xf3, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0x1d, 0xff, 0x40, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0xcf, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xfb, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xfe, 0xff, 0x60, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0x91, 0xef, 0xf2, 0x0, 0x0, 0x0, + 0xbf, 0xfa, 0x0, 0x4f, 0xfd, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x8, 0xff, 0xa0, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0xbf, 0xf6, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x1e, 0xff, 0x30, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x4, 0xff, 0xd0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x7f, 0xfa, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x60, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xf3, /* U+4C "L" */ - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, - 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, - 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xcc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0x22, 0x22, 0x22, 0x22, 0x20, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x6b, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf6, /* U+4D "M" */ - 0xcf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xaf, 0xff, 0xcf, 0xff, 0x50, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xef, 0xff, 0xcf, 0xff, 0xb0, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xcf, 0xff, - 0xf2, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, - 0xcf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3f, - 0xff, 0xff, 0xcf, 0xfa, 0xfd, 0x0, 0x0, 0x0, - 0x0, 0xaf, 0xfc, 0xff, 0xcf, 0xf4, 0xff, 0x50, - 0x0, 0x0, 0x0, 0xff, 0x9c, 0xff, 0xcf, 0xf0, - 0xef, 0xa0, 0x0, 0x0, 0x6, 0xff, 0x2c, 0xff, - 0xcf, 0xf0, 0x6f, 0xf1, 0x0, 0x0, 0xc, 0xfb, - 0xc, 0xff, 0xcf, 0xf0, 0x1f, 0xf7, 0x0, 0x0, - 0x2f, 0xf5, 0xc, 0xff, 0xcf, 0xf0, 0xa, 0xfd, - 0x0, 0x0, 0x9f, 0xe0, 0xc, 0xff, 0xcf, 0xf0, - 0x3, 0xff, 0x40, 0x0, 0xff, 0x80, 0xc, 0xff, - 0xcf, 0xf0, 0x0, 0xdf, 0xa0, 0x6, 0xff, 0x20, - 0xc, 0xff, 0xcf, 0xf0, 0x0, 0x6f, 0xe1, 0xc, - 0xfb, 0x0, 0xc, 0xff, 0xcf, 0xf0, 0x0, 0x1f, - 0xf6, 0x2f, 0xf5, 0x0, 0xc, 0xff, 0xcf, 0xf0, - 0x0, 0xa, 0xfc, 0x8f, 0xe0, 0x0, 0xc, 0xff, - 0xcf, 0xf0, 0x0, 0x3, 0xff, 0xef, 0x80, 0x0, - 0xc, 0xff, 0xcf, 0xf0, 0x0, 0x0, 0xdf, 0xff, - 0x20, 0x0, 0xc, 0xff, 0xcf, 0xf0, 0x0, 0x0, - 0x6f, 0xfb, 0x0, 0x0, 0xc, 0xff, 0xcf, 0xf0, - 0x0, 0x0, 0x1f, 0xf5, 0x0, 0x0, 0xc, 0xff, + 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0x2b, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xff, 0xf2, 0xbf, 0xff, 0xb0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x2b, + 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0xaf, + 0xff, 0xf2, 0xbf, 0xcf, 0xf7, 0x0, 0x0, 0x0, + 0x0, 0x1f, 0xfb, 0xff, 0x2b, 0xfb, 0xaf, 0xe0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0x6f, 0xf2, 0xbf, + 0xc4, 0xff, 0x40, 0x0, 0x0, 0x0, 0xdf, 0xa5, + 0xff, 0x2b, 0xfc, 0xd, 0xfb, 0x0, 0x0, 0x0, + 0x4f, 0xf4, 0x5f, 0xf2, 0xbf, 0xd0, 0x7f, 0xf1, + 0x0, 0x0, 0xa, 0xfd, 0x6, 0xff, 0x2b, 0xfd, + 0x1, 0xff, 0x70, 0x0, 0x1, 0xff, 0x70, 0x6f, + 0xf2, 0xbf, 0xe0, 0xa, 0xfe, 0x0, 0x0, 0x7f, + 0xf1, 0x7, 0xff, 0x2b, 0xfe, 0x0, 0x3f, 0xf4, + 0x0, 0xd, 0xfa, 0x0, 0x7f, 0xf2, 0xbf, 0xe0, + 0x0, 0xdf, 0xa0, 0x4, 0xff, 0x30, 0x7, 0xff, + 0x2b, 0xff, 0x0, 0x6, 0xff, 0x10, 0xaf, 0xd0, + 0x0, 0x8f, 0xf2, 0xbf, 0xf0, 0x0, 0xf, 0xf7, + 0x1f, 0xf6, 0x0, 0x8, 0xff, 0x2b, 0xff, 0x0, + 0x0, 0x9f, 0xd7, 0xff, 0x0, 0x0, 0x8f, 0xf2, + 0xbf, 0xf0, 0x0, 0x3, 0xff, 0xff, 0x90, 0x0, + 0x8, 0xff, 0x2b, 0xff, 0x0, 0x0, 0xc, 0xff, + 0xf3, 0x0, 0x0, 0x8f, 0xf2, 0xbf, 0xf0, 0x0, + 0x0, 0x6f, 0xfc, 0x0, 0x0, 0x8, 0xff, 0x2b, + 0xff, 0x0, 0x0, 0x0, 0xff, 0x60, 0x0, 0x0, + 0x8f, 0xf2, /* U+4E "N" */ - 0xcf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf8, 0xff, 0x70, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0xdf, 0xe2, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x4f, 0xfa, 0x0, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x9, 0xff, 0x50, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x1, 0xef, 0xd1, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x5f, 0xf9, 0x0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0xb, 0xff, 0x40, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x2, 0xff, 0xc0, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x7f, 0xf8, 0x4f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0xc, 0xfe, 0x6f, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xef, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf4, + 0xbf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xff, 0x90, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xff, 0xf3, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xff, 0xfd, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf7, 0xff, 0x80, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0xcf, 0xf2, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x2f, 0xfc, 0x0, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x8, 0xff, 0x70, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0xdf, 0xf2, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x3f, 0xfc, 0x0, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x8, 0xff, 0x60, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0xdf, 0xf1, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x4f, 0xfb, 0xf, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x9, 0xff, 0x5f, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xef, 0xef, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xf9, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf9, /* U+4F "O" */ - 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x2, 0x9c, 0xff, 0xfb, 0x91, 0x0, - 0x0, 0x0, 0x5, 0xef, 0xff, 0xff, 0xff, 0xe5, - 0x0, 0x0, 0x7, 0xff, 0xf7, 0x30, 0x48, 0xff, - 0xf7, 0x0, 0x1, 0xef, 0xd3, 0x0, 0x0, 0x3, - 0xdf, 0xe2, 0x0, 0xaf, 0xf4, 0x0, 0x0, 0x0, - 0x4, 0xff, 0xa0, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0xb, 0xff, 0x3, 0xff, 0x80, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0xf4, 0x5f, 0xf5, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xff, 0x78, 0xff, 0x40, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x8f, 0xf4, 0x0, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x88, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x8f, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x85, 0xff, - 0x50, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf7, 0x3f, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x40, - 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf1, - 0xc, 0xff, 0x40, 0x0, 0x0, 0x0, 0x3f, 0xfc, - 0x0, 0x2f, 0xfc, 0x10, 0x0, 0x0, 0x1c, 0xff, - 0x20, 0x0, 0x8f, 0xfe, 0x42, 0x2, 0x4e, 0xff, - 0x80, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, - 0x70, 0x0, 0x0, 0x0, 0x3b, 0xff, 0xff, 0xeb, - 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x10, - 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xbe, 0xfe, 0xc7, 0x10, 0x0, + 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, 0xfe, 0x50, + 0x0, 0x0, 0x2e, 0xff, 0xb6, 0x45, 0x9f, 0xff, + 0x60, 0x0, 0xd, 0xff, 0x50, 0x0, 0x0, 0x2e, + 0xff, 0x20, 0x5, 0xff, 0x60, 0x0, 0x0, 0x0, + 0x3f, 0xfa, 0x0, 0xcf, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0xf0, 0xf, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xff, 0x43, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x2f, 0xf7, 0x5f, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0x86, 0xff, 0x30, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xf9, 0x6f, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0x95, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, 0x4f, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x71, 0xff, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, 0xc, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0x10, + 0x6f, 0xf6, 0x0, 0x0, 0x0, 0x2, 0xff, 0xa0, + 0x0, 0xdf, 0xf4, 0x0, 0x0, 0x1, 0xdf, 0xf2, + 0x0, 0x2, 0xef, 0xfa, 0x53, 0x48, 0xff, 0xf6, + 0x0, 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x5b, 0xef, 0xec, 0x71, + 0x0, 0x0, /* U+50 "P" */ - 0xcf, 0xff, 0xff, 0xff, 0xba, 0x71, 0x0, 0xc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x0, 0xcf, - 0xf4, 0x44, 0x44, 0x59, 0xff, 0xf5, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x2, 0xff, 0xe2, 0xcf, 0xf0, - 0x0, 0x0, 0x0, 0x8, 0xff, 0x4c, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0xf8, 0xcf, 0xf0, 0x0, - 0x0, 0x0, 0x4, 0xff, 0x8c, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xf5, 0xcf, 0xf0, 0x0, 0x0, - 0x0, 0x1d, 0xff, 0x2c, 0xff, 0x0, 0x0, 0x4, - 0x5d, 0xff, 0x70, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x90, 0xc, 0xff, 0xff, 0xff, 0xff, 0xca, - 0x20, 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, + 0xbf, 0xff, 0xff, 0xff, 0xfd, 0x92, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0xbf, + 0xf2, 0x22, 0x22, 0x37, 0xef, 0xf7, 0xb, 0xff, + 0x0, 0x0, 0x0, 0x1, 0xdf, 0xf1, 0xbf, 0xf0, + 0x0, 0x0, 0x0, 0x5, 0xff, 0x6b, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xf9, 0xbf, 0xf0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0x9b, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xf7, 0xbf, 0xf0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0x3b, 0xff, 0x0, 0x0, 0x0, + 0x4b, 0xff, 0xa0, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x60, 0x0, 0xbf, 0xf2, 0x22, 0x21, 0x10, 0x0, + 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+51 "Q" */ - 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x29, 0xcf, 0xff, 0xb9, 0x10, - 0x0, 0x0, 0x0, 0x5, 0xef, 0xff, 0xff, 0xff, - 0xe5, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x73, 0x4, - 0x8f, 0xff, 0x70, 0x0, 0x1, 0xef, 0xd3, 0x0, - 0x0, 0x3, 0xdf, 0xe2, 0x0, 0xa, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x4f, 0xfa, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x3f, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x40, - 0x5f, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0x70, 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x4, - 0xff, 0x80, 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0x80, 0x8f, 0xf4, 0x0, 0x0, 0x0, - 0x0, 0x4, 0xff, 0x80, 0x8f, 0xf4, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xff, 0x80, 0x5f, 0xf5, 0x0, - 0x0, 0x0, 0x0, 0x4, 0xff, 0x80, 0x3f, 0xf8, - 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x60, 0xf, - 0xfa, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0x20, - 0xc, 0xff, 0x40, 0x0, 0x0, 0x0, 0x3f, 0xfc, - 0x0, 0x2, 0xff, 0xc1, 0x0, 0x0, 0x1, 0xcf, - 0xf4, 0x0, 0x0, 0x8f, 0xfe, 0x42, 0x2, 0x4e, - 0xff, 0xe1, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x20, 0x0, 0x0, 0x3b, 0xff, - 0xff, 0xfb, 0x4a, 0xff, 0xe3, 0x0, 0x0, 0x0, - 0x2, 0x44, 0x0, 0x0, 0xaf, 0xf6, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x60, + 0x0, 0x0, 0x6, 0xbe, 0xfe, 0xb7, 0x0, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0xff, 0xff, 0xfe, 0x40, + 0x0, 0x0, 0x4f, 0xff, 0xa5, 0x45, 0xaf, 0xff, + 0x40, 0x0, 0x1e, 0xff, 0x30, 0x0, 0x0, 0x3e, + 0xfe, 0x10, 0x7, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x4f, 0xf8, 0x0, 0xef, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0xcf, 0xe0, 0x2f, 0xf7, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0x25, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xf6, 0x7f, 0xf2, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xff, 0x78, 0xff, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xf8, 0x8f, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xff, 0x87, 0xff, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xf6, 0x6f, 0xf4, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x52, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf3, 0xe, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfe, 0x0, + 0x8f, 0xf5, 0x0, 0x0, 0x0, 0x4, 0xff, 0x80, + 0x1, 0xef, 0xf3, 0x0, 0x0, 0x2, 0xef, 0xe0, + 0x0, 0x4, 0xff, 0xfa, 0x53, 0x59, 0xff, 0xf4, + 0x0, 0x0, 0x3, 0xef, 0xff, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x6b, 0xef, 0xed, 0xff, + 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xef, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+52 "R" */ - 0xcf, 0xff, 0xff, 0xfd, 0xb9, 0x50, 0x0, 0xc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x0, 0xcf, - 0xf4, 0x44, 0x44, 0x6a, 0xff, 0xe1, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x7, 0xff, 0xa0, 0xcf, 0xf0, - 0x0, 0x0, 0x0, 0xd, 0xfc, 0xc, 0xff, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xf0, 0xcf, 0xf0, 0x0, - 0x0, 0x0, 0xc, 0xff, 0xc, 0xff, 0x0, 0x0, - 0x0, 0x2, 0xef, 0xb0, 0xcf, 0xf0, 0x0, 0x0, - 0x4, 0xcf, 0xf3, 0xc, 0xff, 0xbb, 0xbb, 0xbe, - 0xff, 0xe3, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xf7, 0x10, 0xc, 0xff, 0x88, 0x88, 0x88, 0xcf, - 0xfc, 0x10, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0xaf, - 0xf8, 0xc, 0xff, 0x0, 0x0, 0x0, 0x1, 0xff, - 0xc0, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0xc, 0xff, - 0xc, 0xff, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, - 0xcf, 0xf0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xc, - 0xff, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, 0xcf, - 0xf0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x4c, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x4f, 0xfb, + 0xbf, 0xff, 0xff, 0xff, 0xea, 0x50, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, 0xbf, + 0xf2, 0x22, 0x23, 0x5c, 0xff, 0xd0, 0xb, 0xff, + 0x0, 0x0, 0x0, 0x9, 0xff, 0x60, 0xbf, 0xf0, + 0x0, 0x0, 0x0, 0xf, 0xfb, 0xb, 0xff, 0x0, + 0x0, 0x0, 0x0, 0xdf, 0xd0, 0xbf, 0xf0, 0x0, + 0x0, 0x0, 0xc, 0xfd, 0xb, 0xff, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xb0, 0xbf, 0xf0, 0x0, 0x0, + 0x0, 0xaf, 0xf5, 0xb, 0xff, 0x22, 0x22, 0x25, + 0xcf, 0xfa, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0xbf, 0xf0, 0x0, 0x2, 0xff, 0xa0, + 0x0, 0xb, 0xff, 0x0, 0x0, 0x9, 0xff, 0x30, + 0x0, 0xbf, 0xf0, 0x0, 0x0, 0x1f, 0xfb, 0x0, + 0xb, 0xff, 0x0, 0x0, 0x0, 0x7f, 0xf4, 0x0, + 0xbf, 0xf0, 0x0, 0x0, 0x0, 0xef, 0xd0, 0xb, + 0xff, 0x0, 0x0, 0x0, 0x6, 0xff, 0x60, 0xbf, + 0xf0, 0x0, 0x0, 0x0, 0xd, 0xfe, 0xb, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf7, /* U+53 "S" */ - 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xdf, 0xff, 0xea, 0x30, 0x0, 0x0, - 0x2d, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0xd, - 0xff, 0x81, 0x0, 0x5e, 0xff, 0x60, 0x6, 0xff, - 0x80, 0x0, 0x0, 0x1e, 0xfe, 0x20, 0x9f, 0xf1, - 0x0, 0x0, 0x0, 0x5f, 0xf5, 0xb, 0xff, 0x0, - 0x0, 0x0, 0x2, 0xcc, 0x60, 0x8f, 0xf6, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xe5, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfc, 0x62, - 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xfb, - 0x51, 0x0, 0x0, 0x0, 0x1, 0x7d, 0xff, 0xff, - 0xe5, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7d, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0x93, 0xbb, 0x50, 0x0, 0x0, 0x0, 0xf, 0xfc, - 0x1f, 0xf9, 0x0, 0x0, 0x0, 0x1, 0xff, 0xa0, - 0xdf, 0xe3, 0x0, 0x0, 0x0, 0x8f, 0xf7, 0x3, - 0xff, 0xe7, 0x10, 0x1, 0x7f, 0xfd, 0x10, 0x5, - 0xff, 0xff, 0xdd, 0xff, 0xfe, 0x20, 0x0, 0x1, - 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x44, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x8c, 0xef, 0xec, 0x71, 0x0, 0x0, + 0x6, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x0, 0x5, + 0xff, 0xe7, 0x32, 0x37, 0xef, 0xf4, 0x0, 0xef, + 0xe1, 0x0, 0x0, 0x1, 0xef, 0xe0, 0x3f, 0xf8, + 0x0, 0x0, 0x0, 0x6, 0xff, 0x44, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x2e, 0xe6, 0x1f, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfa, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xa5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, + 0xb4, 0x0, 0x0, 0x0, 0x0, 0x17, 0xdf, 0xff, + 0xfd, 0x30, 0x0, 0x0, 0x0, 0x0, 0x27, 0xdf, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, + 0xf6, 0xce, 0xb0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0x8b, 0xff, 0x10, 0x0, 0x0, 0x0, 0x3f, 0xf7, + 0x4f, 0xfb, 0x0, 0x0, 0x0, 0xa, 0xff, 0x30, + 0x9f, 0xfe, 0x74, 0x23, 0x6c, 0xff, 0xb0, 0x0, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, + 0x17, 0xce, 0xff, 0xd9, 0x30, 0x0, /* U+54 "T" */ - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0x24, 0x44, 0x44, 0x4f, 0xfd, 0x44, 0x44, - 0x44, 0x10, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, + 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x15, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf1, 0x2, 0x22, 0x22, 0x2f, 0xfb, 0x22, 0x22, + 0x22, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, - 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, + 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xa0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfa, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa0, 0x0, 0x0, 0x0, /* U+55 "U" */ - 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, - 0xfc, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfc, 0x0, - 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfc, 0x0, 0x0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0xcf, 0xff, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, - 0x0, 0xcf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0xcf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xc, - 0xff, 0xcf, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xef, - 0xc9, 0xff, 0x20, 0x0, 0x0, 0x0, 0x3f, 0xfa, - 0x4f, 0xfb, 0x0, 0x0, 0x0, 0xd, 0xff, 0x50, - 0x9f, 0xfb, 0x30, 0x0, 0x4c, 0xff, 0x90, 0x1, - 0xbf, 0xff, 0xfc, 0xff, 0xff, 0xa0, 0x0, 0x0, - 0x4d, 0xff, 0xff, 0xfb, 0x40, 0x0, 0x0, 0x0, - 0x0, 0x24, 0x20, 0x0, 0x0, 0x0, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf5, + 0xf, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf4, + 0xf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf3, + 0xc, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf0, + 0x6, 0xff, 0x90, 0x0, 0x0, 0x5, 0xff, 0x90, + 0x0, 0xcf, 0xfb, 0x52, 0x24, 0xaf, 0xfd, 0x10, + 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, + 0x0, 0x0, 0x4a, 0xdf, 0xfe, 0xa5, 0x0, 0x0, /* U+56 "V" */ - 0x9f, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0xf4, 0x3f, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xe0, 0xd, 0xff, 0x10, 0x0, 0x0, 0x0, - 0x6, 0xff, 0x80, 0x7, 0xff, 0x70, 0x0, 0x0, - 0x0, 0xb, 0xff, 0x20, 0x1, 0xff, 0xc0, 0x0, - 0x0, 0x0, 0x1f, 0xfd, 0x0, 0x0, 0xbf, 0xf2, - 0x0, 0x0, 0x0, 0x6f, 0xf6, 0x0, 0x0, 0x5f, - 0xf7, 0x0, 0x0, 0x0, 0xbf, 0xf1, 0x0, 0x0, - 0xf, 0xfc, 0x0, 0x0, 0x2, 0xff, 0xa0, 0x0, - 0x0, 0xa, 0xff, 0x30, 0x0, 0x7, 0xff, 0x50, - 0x0, 0x0, 0x3, 0xff, 0x90, 0x0, 0xd, 0xfe, - 0x0, 0x0, 0x0, 0x0, 0xef, 0xd0, 0x0, 0x2f, - 0xf9, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf3, 0x0, - 0x7f, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xf9, - 0x0, 0xef, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xb, - 0xfe, 0x3, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0x59, 0xff, 0x10, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0x9d, 0xfb, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xaf, 0xdf, 0xf5, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0x90, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, - 0x30, 0x0, 0x0, 0x0, + 0x6f, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, + 0xf4, 0x1f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xe0, 0xb, 0xff, 0x10, 0x0, 0x0, 0x0, + 0x4, 0xff, 0x80, 0x5, 0xff, 0x70, 0x0, 0x0, + 0x0, 0xa, 0xff, 0x20, 0x0, 0xef, 0xc0, 0x0, + 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x9f, 0xf2, + 0x0, 0x0, 0x0, 0x5f, 0xf6, 0x0, 0x0, 0x3f, + 0xf7, 0x0, 0x0, 0x0, 0xaf, 0xf1, 0x0, 0x0, + 0xd, 0xfd, 0x0, 0x0, 0x0, 0xff, 0xa0, 0x0, + 0x0, 0x7, 0xff, 0x20, 0x0, 0x5, 0xff, 0x50, + 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, 0xb, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xd0, 0x0, 0x1f, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf3, 0x0, + 0x6f, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf9, + 0x0, 0xcf, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xa, + 0xfe, 0x1, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0x47, 0xff, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0x9c, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0x40, 0x0, 0x0, 0x0, /* U+57 "W" */ - 0x7f, 0xf8, 0x0, 0x0, 0x0, 0x6f, 0xf8, 0x0, - 0x0, 0x0, 0x6f, 0xf8, 0x3f, 0xfc, 0x0, 0x0, - 0x0, 0xaf, 0xfc, 0x0, 0x0, 0x0, 0xaf, 0xf4, - 0xf, 0xfe, 0x0, 0x0, 0x0, 0xff, 0xff, 0x10, - 0x0, 0x0, 0xdf, 0xf0, 0xb, 0xff, 0x30, 0x0, - 0x3, 0xff, 0xff, 0x50, 0x0, 0x1, 0xff, 0xd0, - 0x7, 0xff, 0x60, 0x0, 0x7, 0xff, 0xef, 0x90, - 0x0, 0x4, 0xff, 0x90, 0x3, 0xff, 0xa0, 0x0, - 0xc, 0xfe, 0xcf, 0xd0, 0x0, 0x8, 0xff, 0x50, - 0x0, 0xff, 0xc0, 0x0, 0xf, 0xfa, 0x8f, 0xf2, - 0x0, 0xc, 0xff, 0x10, 0x0, 0xbf, 0xf1, 0x0, - 0x5f, 0xf6, 0x3f, 0xf6, 0x0, 0xf, 0xfd, 0x0, - 0x0, 0x8f, 0xf4, 0x0, 0x9f, 0xf1, 0xf, 0xfb, - 0x0, 0x2f, 0xf9, 0x0, 0x0, 0x4f, 0xf8, 0x0, - 0xdf, 0xd0, 0xa, 0xfe, 0x0, 0x6f, 0xf5, 0x0, - 0x0, 0xf, 0xfc, 0x2, 0xff, 0x80, 0x6, 0xff, - 0x30, 0x9f, 0xf1, 0x0, 0x0, 0xc, 0xfe, 0x6, - 0xff, 0x30, 0x1, 0xff, 0x80, 0xdf, 0xe0, 0x0, - 0x0, 0x8, 0xff, 0x3a, 0xfe, 0x0, 0x0, 0xdf, - 0xc0, 0xff, 0xa0, 0x0, 0x0, 0x4, 0xff, 0x6e, - 0xfa, 0x0, 0x0, 0x7f, 0xf4, 0xff, 0x60, 0x0, - 0x0, 0x0, 0xff, 0x8f, 0xf5, 0x0, 0x0, 0x3f, - 0xf8, 0xff, 0x20, 0x0, 0x0, 0x0, 0xcf, 0xdf, - 0xf1, 0x0, 0x0, 0xe, 0xfc, 0xfe, 0x0, 0x0, - 0x0, 0x0, 0x9f, 0xff, 0xc0, 0x0, 0x0, 0xa, - 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, - 0x70, 0x0, 0x0, 0x5, 0xff, 0xf6, 0x0, 0x0, - 0x0, 0x0, 0x1f, 0xff, 0x20, 0x0, 0x0, 0x1, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xd, 0xfe, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf0, 0x0, 0x0, + 0xf, 0xf9, 0x0, 0x0, 0x0, 0xa, 0xfd, 0x0, + 0x0, 0x0, 0x8, 0xff, 0x10, 0xdf, 0xc0, 0x0, + 0x0, 0x0, 0xef, 0xf1, 0x0, 0x0, 0x0, 0xbf, + 0xd0, 0x9, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0x60, 0x0, 0x0, 0xf, 0xfa, 0x0, 0x5f, 0xf4, + 0x0, 0x0, 0x8, 0xff, 0xfa, 0x0, 0x0, 0x2, + 0xff, 0x60, 0x1, 0xff, 0x70, 0x0, 0x0, 0xcf, + 0xcf, 0xe0, 0x0, 0x0, 0x6f, 0xf2, 0x0, 0xd, + 0xfb, 0x0, 0x0, 0x1f, 0xf5, 0xff, 0x30, 0x0, + 0xa, 0xfe, 0x0, 0x0, 0x9f, 0xf0, 0x0, 0x5, + 0xff, 0xc, 0xf7, 0x0, 0x0, 0xdf, 0xa0, 0x0, + 0x5, 0xff, 0x20, 0x0, 0xaf, 0xb0, 0x7f, 0xc0, + 0x0, 0x1f, 0xf6, 0x0, 0x0, 0x2f, 0xf6, 0x0, + 0xe, 0xf6, 0x3, 0xff, 0x0, 0x5, 0xff, 0x30, + 0x0, 0x0, 0xef, 0xa0, 0x3, 0xff, 0x10, 0xe, + 0xf5, 0x0, 0x8f, 0xf0, 0x0, 0x0, 0xa, 0xfd, + 0x0, 0x7f, 0xd0, 0x0, 0xaf, 0x90, 0xc, 0xfb, + 0x0, 0x0, 0x0, 0x6f, 0xf1, 0xc, 0xf8, 0x0, + 0x5, 0xfd, 0x0, 0xff, 0x70, 0x0, 0x0, 0x2, + 0xff, 0x50, 0xff, 0x30, 0x0, 0x1f, 0xf2, 0x3f, + 0xf3, 0x0, 0x0, 0x0, 0xe, 0xf8, 0x5f, 0xe0, + 0x0, 0x0, 0xdf, 0x67, 0xff, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0xb9, 0xfa, 0x0, 0x0, 0x8, 0xfa, + 0x9f, 0xb0, 0x0, 0x0, 0x0, 0x7, 0xfd, 0xdf, + 0x50, 0x0, 0x0, 0x4f, 0xec, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x6f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xf3, 0x0, 0x0, 0x0, 0x2, 0xff, 0x80, + 0x0, 0x0, /* U+58 "X" */ - 0xbf, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf8, - 0x2f, 0xff, 0x20, 0x0, 0x0, 0x5, 0xff, 0xe1, - 0x7, 0xff, 0xa0, 0x0, 0x0, 0x1d, 0xff, 0x40, - 0x0, 0xcf, 0xf4, 0x0, 0x0, 0x8f, 0xf9, 0x0, - 0x0, 0x3f, 0xfd, 0x0, 0x2, 0xff, 0xf1, 0x0, - 0x0, 0x8, 0xff, 0x80, 0xc, 0xff, 0x50, 0x0, - 0x0, 0x0, 0xdf, 0xe2, 0x4f, 0xfb, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xfa, 0xdf, 0xf2, 0x0, 0x0, - 0x0, 0x0, 0x9, 0xff, 0xff, 0x70, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xef, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xef, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xa, 0xff, 0xff, 0x70, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xfb, 0xdf, 0xe2, 0x0, 0x0, - 0x0, 0x1, 0xdf, 0xf2, 0x4f, 0xfb, 0x0, 0x0, - 0x0, 0x9, 0xff, 0x80, 0xa, 0xff, 0x60, 0x0, - 0x0, 0x3f, 0xfe, 0x0, 0x1, 0xff, 0xe1, 0x0, - 0x0, 0xdf, 0xf4, 0x0, 0x0, 0x7f, 0xfa, 0x0, - 0x8, 0xff, 0xb0, 0x0, 0x0, 0xc, 0xff, 0x50, - 0x2f, 0xff, 0x20, 0x0, 0x0, 0x3, 0xff, 0xd1, - 0xcf, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf9, + 0xb, 0xff, 0x50, 0x0, 0x0, 0x0, 0xb, 0xff, + 0x50, 0x2f, 0xfe, 0x0, 0x0, 0x0, 0x5, 0xff, + 0xb0, 0x0, 0x7f, 0xf9, 0x0, 0x0, 0x1, 0xef, + 0xf2, 0x0, 0x0, 0xdf, 0xf3, 0x0, 0x0, 0x9f, + 0xf7, 0x0, 0x0, 0x3, 0xff, 0xd0, 0x0, 0x3f, + 0xfc, 0x0, 0x0, 0x0, 0x9, 0xff, 0x70, 0xd, + 0xff, 0x30, 0x0, 0x0, 0x0, 0xe, 0xff, 0x27, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xfc, + 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0xae, 0xfe, 0x10, 0x0, 0x0, 0x0, + 0x1, 0xff, 0xe1, 0x6f, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xf5, 0x0, 0xbf, 0xf4, 0x0, 0x0, + 0x0, 0x5f, 0xfb, 0x0, 0x2, 0xff, 0xe0, 0x0, + 0x0, 0x1e, 0xff, 0x20, 0x0, 0x7, 0xff, 0x90, + 0x0, 0x9, 0xff, 0x70, 0x0, 0x0, 0xd, 0xff, + 0x30, 0x4, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x3f, + 0xfd, 0x0, 0xdf, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x9f, 0xf7, /* U+59 "Y" */ - 0x4f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xe0, 0xcf, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0xf6, 0x2, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x4f, - 0xfc, 0x0, 0xa, 0xff, 0x60, 0x0, 0x0, 0xc, - 0xff, 0x40, 0x0, 0x2f, 0xfd, 0x0, 0x0, 0x4, - 0xff, 0xc0, 0x0, 0x0, 0x8f, 0xf6, 0x0, 0x0, - 0xcf, 0xf2, 0x0, 0x0, 0x1, 0xff, 0xd0, 0x0, - 0x4f, 0xfa, 0x0, 0x0, 0x0, 0x8, 0xff, 0x60, - 0xc, 0xff, 0x20, 0x0, 0x0, 0x0, 0xe, 0xfd, - 0x15, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xf8, 0xef, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xdf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xc, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8f, 0xf0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x8f, 0xf0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf0, 0x0, + 0x8f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, + 0x40, 0xef, 0xe0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xb0, 0x6, 0xff, 0x80, 0x0, 0x0, 0x0, 0xbf, + 0xf3, 0x0, 0xd, 0xff, 0x10, 0x0, 0x0, 0x4f, + 0xfa, 0x0, 0x0, 0x5f, 0xf8, 0x0, 0x0, 0xc, + 0xff, 0x10, 0x0, 0x0, 0xcf, 0xf1, 0x0, 0x4, + 0xff, 0x80, 0x0, 0x0, 0x3, 0xff, 0x90, 0x0, + 0xdf, 0xe1, 0x0, 0x0, 0x0, 0xb, 0xff, 0x10, + 0x5f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xf9, + 0xd, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, + 0xf8, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xb0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb0, 0x0, 0x0, 0x0, /* U+5A "Z" */ - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x24, - 0x44, 0x44, 0x44, 0x44, 0x8f, 0xfc, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1d, 0xff, 0x20, 0x0, 0x0, - 0x0, 0x0, 0x9, 0xff, 0x60, 0x0, 0x0, 0x0, - 0x0, 0x4, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xdf, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x9f, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, - 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, - 0x10, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x50, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xb0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xef, 0xf1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xbf, 0xf5, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x5f, 0xfb, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1e, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, - 0xb, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x5, - 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8c, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x12, + 0x22, 0x22, 0x22, 0x22, 0x5f, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xff, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xdf, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x9f, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xfe, + 0x10, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xa0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xef, 0xe1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xf9, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xa2, 0x22, 0x22, 0x22, 0x22, 0x21, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, /* U+5B "[" */ - 0xcb, 0xbb, 0xb3, 0xff, 0xff, 0xf4, 0xff, 0xe8, - 0x82, 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, - 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, - 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, - 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, - 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, - 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, - 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, - 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, - 0xff, 0xc0, 0x0, 0xff, 0xeb, 0xb3, 0xff, 0xff, - 0xf4, 0x44, 0x44, 0x41, + 0xff, 0xff, 0xf2, 0xff, 0xff, 0xf2, 0xff, 0x91, + 0x10, 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, + 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, + 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, 0x80, + 0x0, 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, + 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, + 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, 0x80, + 0x0, 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, + 0x80, 0x0, 0xff, 0x80, 0x0, 0xff, 0x80, 0x0, + 0xff, 0x91, 0x10, 0xff, 0xff, 0xf2, 0xff, 0xff, + 0xf2, /* U+5C "\\" */ - 0x5f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfa, - 0x0, 0x0, 0x0, 0x0, 0x9, 0xfe, 0x10, 0x0, - 0x0, 0x0, 0x2, 0xff, 0x60, 0x0, 0x0, 0x0, - 0x0, 0xdf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xf2, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf9, 0x0, - 0x0, 0x0, 0x0, 0xa, 0xfe, 0x0, 0x0, 0x0, - 0x0, 0x4, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, - 0xef, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf2, - 0x0, 0x0, 0x0, 0x0, 0x2f, 0xf7, 0x0, 0x0, - 0x0, 0x0, 0xb, 0xfd, 0x0, 0x0, 0x0, 0x0, - 0x5, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xa0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xe1, 0x0, - 0x0, 0x0, 0x0, 0x2f, 0xf6, 0x0, 0x0, 0x0, - 0x0, 0xd, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xff, 0x20, 0x0, 0x0, 0x0, 0x1, 0xff, 0x90, - 0x0, 0x0, 0x0, 0x0, 0xaf, 0xe0, 0x0, 0x0, - 0x0, 0x0, 0x4c, 0xc3, + 0x4f, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xd, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0x40, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0xe, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0x90, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xf6, 0x0, 0x0, + 0x0, 0x0, 0x9, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xdf, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xf5, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0xef, 0x70, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x18, 0x81, /* U+5D "]" */ - 0x9b, 0xbb, 0xb6, 0xcf, 0xff, 0xf8, 0x68, 0xaf, - 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, - 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, - 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, - 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, - 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, - 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, - 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, - 0x4f, 0xf8, 0x0, 0x4f, 0xf8, 0x0, 0x4f, 0xf8, - 0x0, 0x4f, 0xf8, 0x9b, 0xcf, 0xf8, 0xcf, 0xff, - 0xf8, 0x34, 0x44, 0x42, + 0xef, 0xff, 0xf4, 0xef, 0xff, 0xf4, 0x1, 0x4f, + 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, + 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, + 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, + 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, + 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, + 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, + 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, + 0x3f, 0xf4, 0x0, 0x3f, 0xf4, 0x0, 0x3f, 0xf4, + 0x11, 0x4f, 0xf4, 0xef, 0xff, 0xf4, 0xef, 0xff, + 0xf4, /* U+5E "^" */ - 0x0, 0x4, 0xfd, 0x0, 0x0, 0x0, 0xa, 0xff, - 0x60, 0x0, 0x0, 0x1f, 0xff, 0xb0, 0x0, 0x0, - 0x8f, 0xef, 0xf2, 0x0, 0x0, 0xef, 0x7e, 0xf9, - 0x0, 0x5, 0xff, 0x27, 0xfe, 0x0, 0xb, 0xfb, - 0x1, 0xff, 0x60, 0x2f, 0xf5, 0x0, 0xaf, 0xc0, - 0x9f, 0xf0, 0x0, 0x4f, 0xf3, 0xff, 0x90, 0x0, - 0xe, 0xfa, + 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0, 0xa, + 0xff, 0x50, 0x0, 0x0, 0x1, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x7f, 0xef, 0xf2, 0x0, 0x0, 0xd, + 0xf6, 0xcf, 0x80, 0x0, 0x4, 0xff, 0x5, 0xfe, + 0x0, 0x0, 0xbf, 0x90, 0xe, 0xf5, 0x0, 0x1f, + 0xf3, 0x0, 0x8f, 0xc0, 0x8, 0xfd, 0x0, 0x2, + 0xff, 0x20, 0xef, 0x60, 0x0, 0xc, 0xf9, /* U+5F "_" */ - 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfa, 0x11, 0x11, 0x11, - 0x11, 0x11, 0x11, 0x10, + 0x1, 0x11, 0x11, 0x11, 0x11, 0x11, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x90, /* U+60 "`" */ - 0x6b, 0xb7, 0x0, 0xc, 0xff, 0x30, 0x1, 0xdf, - 0xc0, 0x0, 0x1d, 0xf7, + 0xc, 0xff, 0x20, 0x0, 0x1d, 0xfc, 0x0, 0x0, + 0x1e, 0xf7, 0x0, 0x0, 0x2f, 0xf2, /* U+61 "a" */ - 0x0, 0x2, 0xad, 0xff, 0xc7, 0x10, 0x0, 0x6, - 0xff, 0xff, 0xff, 0xfe, 0x30, 0x5, 0xff, 0xd5, - 0x13, 0x8f, 0xfc, 0x0, 0xaf, 0xf1, 0x0, 0x0, - 0xaf, 0xf3, 0x3, 0x43, 0x0, 0x0, 0x5, 0xff, - 0x60, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x0, - 0x2, 0x67, 0x9b, 0xbc, 0xff, 0x80, 0x19, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0xb, 0xff, 0xc5, 0x44, - 0x47, 0xff, 0x84, 0xff, 0xb0, 0x0, 0x0, 0x4f, - 0xf8, 0x8f, 0xf4, 0x0, 0x0, 0x5, 0xff, 0x88, - 0xff, 0x40, 0x0, 0x1, 0xcf, 0xf8, 0x4f, 0xfc, - 0x20, 0x15, 0xdf, 0xff, 0x80, 0xcf, 0xff, 0xff, - 0xff, 0x7f, 0xf8, 0x1, 0xaf, 0xff, 0xfb, 0x20, - 0xff, 0xb0, 0x0, 0x4, 0x41, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xae, 0xff, 0xc7, 0x0, 0x0, 0xa, + 0xff, 0xff, 0xff, 0xfd, 0x10, 0x9, 0xff, 0x93, + 0x12, 0x9f, 0xf9, 0x1, 0xff, 0x90, 0x0, 0x0, + 0xbf, 0xf0, 0x5, 0x51, 0x0, 0x0, 0x6, 0xff, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf3, 0x0, + 0x6, 0xbe, 0xff, 0xff, 0xff, 0x30, 0x2d, 0xff, + 0xfe, 0xcc, 0xdf, 0xf3, 0xd, 0xfe, 0x50, 0x0, + 0x5, 0xff, 0x35, 0xff, 0x30, 0x0, 0x0, 0x5f, + 0xf3, 0x7f, 0xf0, 0x0, 0x0, 0x6, 0xff, 0x36, + 0xff, 0x50, 0x0, 0x1, 0xdf, 0xf3, 0x1f, 0xff, + 0x73, 0x48, 0xef, 0xff, 0x40, 0x6f, 0xff, 0xff, + 0xff, 0x9f, 0xf6, 0x0, 0x3a, 0xef, 0xe9, 0x20, + 0xbb, 0x70, /* U+62 "b" */ - 0x43, 0x30, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, - 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xc0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, 0x19, - 0xef, 0xea, 0x50, 0x0, 0xff, 0xdc, 0xff, 0xff, - 0xff, 0x60, 0xf, 0xff, 0xf8, 0x44, 0x8f, 0xff, - 0x40, 0xff, 0xf4, 0x0, 0x0, 0x6f, 0xfb, 0xf, - 0xfc, 0x0, 0x0, 0x0, 0xcf, 0xf2, 0xff, 0xc0, - 0x0, 0x0, 0x6, 0xff, 0x4f, 0xfc, 0x0, 0x0, - 0x0, 0x4f, 0xf8, 0xff, 0xc0, 0x0, 0x0, 0x3, - 0xff, 0x8f, 0xfc, 0x0, 0x0, 0x0, 0x3f, 0xf8, - 0xff, 0xc0, 0x0, 0x0, 0x4, 0xff, 0x7f, 0xfc, - 0x0, 0x0, 0x0, 0x8f, 0xf4, 0xff, 0xe3, 0x0, - 0x0, 0x1e, 0xff, 0x1f, 0xff, 0xe4, 0x0, 0x3c, - 0xff, 0x80, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xc1, - 0xf, 0xf2, 0x3c, 0xff, 0xff, 0x90, 0x0, 0x0, - 0x0, 0x2, 0x42, 0x0, 0x0, 0x0, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1f, 0xf7, 0x19, 0xef, 0xea, 0x30, + 0x0, 0x1f, 0xfa, 0xff, 0xff, 0xff, 0xf6, 0x0, + 0x1f, 0xff, 0xe7, 0x33, 0x6e, 0xff, 0x30, 0x1f, + 0xfe, 0x20, 0x0, 0x2, 0xff, 0xb0, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0x9f, 0xf1, 0x1f, 0xf7, 0x0, + 0x0, 0x0, 0x4f, 0xf4, 0x1f, 0xf7, 0x0, 0x0, + 0x0, 0x2f, 0xf6, 0x1f, 0xf7, 0x0, 0x0, 0x0, + 0x1f, 0xf6, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x2f, + 0xf6, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x4f, 0xf4, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xaf, 0xf1, 0x1f, + 0xfe, 0x20, 0x0, 0x2, 0xff, 0xb0, 0x1f, 0xff, + 0xe7, 0x32, 0x6e, 0xff, 0x30, 0x1f, 0xf9, 0xff, + 0xff, 0xff, 0xf6, 0x0, 0x1f, 0xf4, 0x29, 0xef, + 0xea, 0x30, 0x0, /* U+63 "c" */ - 0x0, 0x2, 0x9c, 0xff, 0xb6, 0x0, 0x0, 0x5, - 0xef, 0xff, 0xff, 0xfb, 0x10, 0x4, 0xff, 0xf5, - 0x23, 0x9f, 0xf9, 0x0, 0xcf, 0xf3, 0x0, 0x0, - 0xaf, 0xf2, 0x3f, 0xf9, 0x0, 0x0, 0x4, 0xff, - 0x47, 0xff, 0x40, 0x0, 0x0, 0x4, 0x42, 0x8f, - 0xf2, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf1, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x40, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0xf7, 0x0, 0x0, 0x2, 0xbb, 0x40, - 0xef, 0xd1, 0x0, 0x0, 0x7f, 0xf3, 0x6, 0xff, - 0xc2, 0x0, 0x5e, 0xfd, 0x0, 0x9, 0xff, 0xfd, - 0xef, 0xff, 0x10, 0x0, 0x5, 0xdf, 0xff, 0xf9, - 0x10, 0x0, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0, + 0x0, 0x2, 0x9d, 0xff, 0xc7, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xff, 0xfd, 0x10, 0x5, 0xff, 0xc4, + 0x12, 0x8f, 0xfc, 0x0, 0xef, 0xc0, 0x0, 0x0, + 0x5f, 0xf5, 0x5f, 0xf4, 0x0, 0x0, 0x0, 0xdf, + 0x99, 0xff, 0x0, 0x0, 0x0, 0x2, 0x42, 0xbf, + 0xd0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, 0xad, 0x80, + 0xef, 0xc0, 0x0, 0x0, 0x3f, 0xf6, 0x5, 0xff, + 0xc4, 0x12, 0x7f, 0xfd, 0x0, 0x7, 0xff, 0xff, + 0xff, 0xfd, 0x10, 0x0, 0x2, 0x9d, 0xff, 0xc6, + 0x0, 0x0, /* U+64 "d" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x33, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfc, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x5a, - 0xef, 0xd7, 0x1c, 0xfc, 0x0, 0x6f, 0xff, 0xff, - 0xfc, 0xcf, 0xc0, 0x5f, 0xff, 0x74, 0x48, 0xff, - 0xfc, 0xc, 0xff, 0x30, 0x0, 0x6, 0xff, 0xc3, - 0xff, 0xa0, 0x0, 0x0, 0xc, 0xfc, 0x6f, 0xf5, - 0x0, 0x0, 0x0, 0xcf, 0xc8, 0xff, 0x40, 0x0, - 0x0, 0xc, 0xfc, 0xaf, 0xf0, 0x0, 0x0, 0x0, - 0xcf, 0xca, 0xff, 0x0, 0x0, 0x0, 0xc, 0xfc, - 0x8f, 0xf4, 0x0, 0x0, 0x0, 0xcf, 0xc5, 0xff, - 0x60, 0x0, 0x0, 0xc, 0xfc, 0x1f, 0xfd, 0x0, - 0x0, 0x3, 0xff, 0xc0, 0x8f, 0xfc, 0x30, 0x5, - 0xef, 0xfc, 0x1, 0xdf, 0xff, 0xff, 0xff, 0xbf, - 0xc0, 0x1, 0x9f, 0xff, 0xfc, 0x25, 0xfc, 0x0, - 0x0, 0x3, 0x42, 0x0, 0x0, 0x0, + 0x4, 0xbe, 0xfd, 0x80, 0xcf, 0xc0, 0x8, 0xff, + 0xff, 0xff, 0xdd, 0xfc, 0x6, 0xff, 0xd5, 0x23, + 0x8f, 0xff, 0xc0, 0xef, 0xd1, 0x0, 0x0, 0x4f, + 0xfc, 0x4f, 0xf6, 0x0, 0x0, 0x0, 0xcf, 0xc8, + 0xff, 0x0, 0x0, 0x0, 0xc, 0xfc, 0xaf, 0xe0, + 0x0, 0x0, 0x0, 0xcf, 0xcb, 0xfd, 0x0, 0x0, + 0x0, 0xc, 0xfc, 0xaf, 0xe0, 0x0, 0x0, 0x0, + 0xcf, 0xc8, 0xff, 0x0, 0x0, 0x0, 0xc, 0xfc, + 0x4f, 0xf6, 0x0, 0x0, 0x0, 0xcf, 0xc0, 0xef, + 0xd0, 0x0, 0x0, 0x4f, 0xfc, 0x5, 0xff, 0xd5, + 0x23, 0x8f, 0xff, 0xc0, 0x8, 0xff, 0xff, 0xff, + 0xec, 0xfc, 0x0, 0x4, 0xbe, 0xfd, 0x81, 0x9f, + 0xc0, /* U+65 "e" */ - 0x0, 0x1, 0x9c, 0xfe, 0xb5, 0x0, 0x0, 0x4, - 0xef, 0xff, 0xff, 0xfa, 0x10, 0x2, 0xff, 0xf5, - 0x14, 0xaf, 0xf8, 0x0, 0xcf, 0xf2, 0x0, 0x0, - 0xcf, 0xe1, 0x3f, 0xf9, 0x0, 0x0, 0x5, 0xff, - 0x46, 0xff, 0x50, 0x0, 0x0, 0x3f, 0xf8, 0x8f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x8c, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x9f, 0xf3, 0x0, 0x0, - 0x0, 0x0, 0x7, 0xff, 0x40, 0x0, 0x0, 0x0, - 0x0, 0x4f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xdf, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, - 0xd4, 0x0, 0x2, 0x78, 0x0, 0x7, 0xff, 0xff, - 0xbd, 0xff, 0xd0, 0x0, 0x3, 0xbf, 0xff, 0xff, - 0xc4, 0x0, 0x0, 0x0, 0x2, 0x44, 0x10, 0x0, + 0x0, 0x1, 0x8d, 0xfe, 0xc6, 0x0, 0x0, 0x4, + 0xff, 0xff, 0xff, 0xfc, 0x10, 0x3, 0xff, 0xd4, + 0x12, 0x8f, 0xfa, 0x0, 0xcf, 0xd0, 0x0, 0x0, + 0x7f, 0xf3, 0x3f, 0xf4, 0x0, 0x0, 0x0, 0xff, + 0x88, 0xff, 0x0, 0x0, 0x0, 0xc, 0xfb, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0xbf, 0xd1, 0x11, 0x11, + 0x11, 0x11, 0x19, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xe1, 0x0, 0x0, 0x6, 0xb1, 0x4, 0xff, + 0xe6, 0x11, 0x3a, 0xff, 0x50, 0x5, 0xff, 0xff, + 0xff, 0xff, 0x60, 0x0, 0x1, 0x8d, 0xff, 0xd9, + 0x20, 0x0, /* U+66 "f" */ - 0x0, 0x0, 0x3, 0x77, 0x72, 0x0, 0x1, 0xaf, - 0xff, 0xf4, 0x0, 0x9, 0xff, 0xea, 0xa0, 0x0, - 0xf, 0xfe, 0x10, 0x0, 0x0, 0x3f, 0xf8, 0x0, - 0x0, 0x0, 0x4f, 0xf8, 0x0, 0x0, 0x0, 0x4f, - 0xf8, 0x0, 0x0, 0x6b, 0xcf, 0xfd, 0xbb, 0x0, - 0x8f, 0xff, 0xff, 0xff, 0x0, 0x24, 0x7f, 0xfa, - 0x44, 0x0, 0x0, 0x4f, 0xf8, 0x0, 0x0, 0x0, - 0x4f, 0xf8, 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x0, - 0x0, 0x0, 0x4f, 0xf8, 0x0, 0x0, 0x0, 0x4f, - 0xf8, 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x0, 0x0, - 0x0, 0x4f, 0xf8, 0x0, 0x0, 0x0, 0x4f, 0xf8, - 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x0, 0x0, 0x0, - 0x4f, 0xf8, 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x0, - 0x0, 0x0, 0x4f, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x19, + 0xff, 0xfb, 0x0, 0x0, 0xdf, 0xff, 0xfa, 0x0, + 0x7, 0xff, 0x91, 0x0, 0x0, 0xb, 0xfe, 0x0, + 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, 0xd, + 0xfb, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xd0, + 0x2f, 0xff, 0xff, 0xff, 0xc0, 0x0, 0xd, 0xfb, + 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, + 0xd, 0xfb, 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, + 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, 0xd, + 0xfb, 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, + 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, 0xd, 0xfb, + 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, + 0xd, 0xfb, 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, + 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, /* U+67 "g" */ - 0x0, 0x3, 0xad, 0xfe, 0x91, 0x3b, 0xb0, 0x6, - 0xff, 0xff, 0xff, 0xc7, 0xff, 0x2, 0xff, 0xf9, - 0x44, 0x8f, 0xff, 0xf0, 0xaf, 0xf6, 0x0, 0x0, - 0x3f, 0xff, 0x1f, 0xfd, 0x0, 0x0, 0x0, 0xcf, - 0xf4, 0xff, 0x70, 0x0, 0x0, 0xc, 0xff, 0x5f, - 0xf4, 0x0, 0x0, 0x0, 0xcf, 0xf8, 0xff, 0x40, - 0x0, 0x0, 0xc, 0xff, 0x8f, 0xf4, 0x0, 0x0, - 0x0, 0xcf, 0xf5, 0xff, 0x40, 0x0, 0x0, 0xc, - 0xff, 0x4f, 0xf9, 0x0, 0x0, 0x0, 0xcf, 0xf0, - 0xef, 0xe1, 0x0, 0x0, 0x2e, 0xff, 0x6, 0xff, - 0xc3, 0x0, 0x4c, 0xff, 0xf0, 0xb, 0xff, 0xff, - 0xff, 0xfe, 0xff, 0x0, 0x9, 0xff, 0xff, 0xc3, - 0xcf, 0xf0, 0x0, 0x0, 0x24, 0x20, 0xc, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xc0, 0x1, - 0x0, 0x0, 0x0, 0x7f, 0xf9, 0x0, 0xac, 0x75, - 0x36, 0xaf, 0xff, 0x10, 0xd, 0xff, 0xff, 0xff, - 0xfe, 0x40, 0x0, 0x17, 0xcf, 0xfd, 0xc7, 0x10, + 0x0, 0x5, 0xbe, 0xfd, 0x80, 0x8f, 0xd0, 0x9, + 0xff, 0xff, 0xff, 0xdb, 0xfd, 0x6, 0xff, 0xd5, + 0x23, 0x8f, 0xff, 0xd0, 0xef, 0xe1, 0x0, 0x0, + 0x4f, 0xfd, 0x4f, 0xf7, 0x0, 0x0, 0x0, 0xbf, + 0xd8, 0xff, 0x10, 0x0, 0x0, 0xb, 0xfd, 0xaf, + 0xf0, 0x0, 0x0, 0x0, 0xbf, 0xda, 0xfd, 0x0, + 0x0, 0x0, 0xb, 0xfd, 0xaf, 0xf0, 0x0, 0x0, + 0x0, 0xbf, 0xd8, 0xff, 0x10, 0x0, 0x0, 0xb, + 0xfd, 0x4f, 0xf6, 0x0, 0x0, 0x0, 0xcf, 0xd0, + 0xef, 0xd1, 0x0, 0x0, 0x4f, 0xfd, 0x5, 0xff, + 0xd5, 0x23, 0x8f, 0xff, 0xd0, 0x8, 0xff, 0xff, + 0xff, 0xdd, 0xfd, 0x0, 0x4, 0xbe, 0xfd, 0x81, + 0xbf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfb, + 0x0, 0x10, 0x0, 0x0, 0x1, 0xff, 0x90, 0x4e, + 0x20, 0x0, 0x0, 0x9f, 0xf4, 0xb, 0xff, 0x72, + 0x13, 0xaf, 0xfb, 0x0, 0x1c, 0xff, 0xff, 0xff, + 0xfc, 0x10, 0x0, 0x5, 0xae, 0xfe, 0xb6, 0x0, 0x0, /* U+68 "h" */ - 0x43, 0x30, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x6d, 0xff, 0xb6, 0x0, - 0xff, 0xca, 0xff, 0xff, 0xff, 0xa0, 0xff, 0xff, - 0x74, 0x46, 0xff, 0xf4, 0xff, 0xf1, 0x0, 0x0, - 0x4f, 0xfc, 0xff, 0xc0, 0x0, 0x0, 0xd, 0xfc, - 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, - 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, - 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, - 0x0, 0x0, 0xc, 0xff, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x1f, + 0xf7, 0x7, 0xdf, 0xfc, 0x50, 0x1, 0xff, 0x8d, + 0xff, 0xff, 0xff, 0x70, 0x1f, 0xff, 0xf8, 0x33, + 0x7f, 0xff, 0x11, 0xff, 0xf3, 0x0, 0x0, 0x6f, + 0xf5, 0x1f, 0xf8, 0x0, 0x0, 0x1, 0xff, 0x71, + 0xff, 0x70, 0x0, 0x0, 0xf, 0xf8, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0xff, 0x81, 0xff, 0x70, 0x0, + 0x0, 0xf, 0xf8, 0x1f, 0xf7, 0x0, 0x0, 0x0, + 0xff, 0x81, 0xff, 0x70, 0x0, 0x0, 0xf, 0xf8, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, 0x81, 0xff, + 0x70, 0x0, 0x0, 0xf, 0xf8, 0x1f, 0xf7, 0x0, + 0x0, 0x0, 0xff, 0x81, 0xff, 0x70, 0x0, 0x0, + 0xf, 0xf8, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, + 0x80, /* U+69 "i" */ - 0x33, 0x3c, 0xff, 0xcf, 0xf6, 0x88, 0x0, 0x0, - 0x0, 0x0, 0x9, 0xbb, 0xcf, 0xfc, 0xff, 0xcf, - 0xfc, 0xff, 0xcf, 0xfc, 0xff, 0xcf, 0xfc, 0xff, - 0xcf, 0xfc, 0xff, 0xcf, 0xfc, 0xff, 0xcf, 0xfc, - 0xff, + 0xa, 0xf8, 0xf, 0xfe, 0x8, 0xd6, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xfa, 0xd, 0xfa, 0xd, 0xfa, + 0xd, 0xfa, 0xd, 0xfa, 0xd, 0xfa, 0xd, 0xfa, + 0xd, 0xfa, 0xd, 0xfa, 0xd, 0xfa, 0xd, 0xfa, + 0xd, 0xfa, 0xd, 0xfa, 0xd, 0xfa, 0xd, 0xfa, /* U+6A "j" */ - 0x0, 0x3, 0x33, 0x0, 0xc, 0xff, 0x0, 0xc, - 0xff, 0x0, 0x3, 0x44, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xbb, - 0x0, 0xc, 0xff, 0x0, 0xc, 0xff, 0x0, 0xc, - 0xff, 0x0, 0xc, 0xff, 0x0, 0xc, 0xff, 0x0, - 0xc, 0xff, 0x0, 0xc, 0xff, 0x0, 0xc, 0xff, - 0x0, 0xc, 0xff, 0x0, 0xc, 0xff, 0x0, 0xc, - 0xff, 0x0, 0xc, 0xff, 0x0, 0xc, 0xff, 0x0, - 0xc, 0xff, 0x0, 0xc, 0xff, 0x0, 0xc, 0xff, - 0x0, 0xe, 0xfe, 0x33, 0x9f, 0xfa, 0xcf, 0xff, - 0xf1, 0xbf, 0xda, 0x10, + 0x0, 0xc, 0xf5, 0x0, 0x3f, 0xfa, 0x0, 0xb, + 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xf8, 0x0, 0xf, 0xf8, 0x0, 0xf, 0xf8, + 0x0, 0xf, 0xf8, 0x0, 0xf, 0xf8, 0x0, 0xf, + 0xf8, 0x0, 0xf, 0xf8, 0x0, 0xf, 0xf8, 0x0, + 0xf, 0xf8, 0x0, 0xf, 0xf8, 0x0, 0xf, 0xf8, + 0x0, 0xf, 0xf8, 0x0, 0xf, 0xf8, 0x0, 0xf, + 0xf8, 0x0, 0xf, 0xf8, 0x0, 0xf, 0xf8, 0x0, + 0xf, 0xf8, 0x0, 0x1f, 0xf6, 0x23, 0xaf, 0xf4, + 0xef, 0xff, 0xc0, 0xcf, 0xea, 0x10, /* U+6B "k" */ - 0x43, 0x30, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0xab, 0xb4, - 0xff, 0xc0, 0x0, 0x8, 0xff, 0xb0, 0xff, 0xc0, - 0x0, 0x3f, 0xfe, 0x10, 0xff, 0xc0, 0x1, 0xdf, - 0xf3, 0x0, 0xff, 0xc0, 0xa, 0xff, 0x70, 0x0, - 0xff, 0xc0, 0x5f, 0xfb, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xe1, 0x0, 0x0, 0xff, 0xff, 0xff, 0xd1, - 0x0, 0x0, 0xff, 0xd4, 0x9f, 0xf9, 0x0, 0x0, - 0xff, 0xc0, 0xc, 0xff, 0x50, 0x0, 0xff, 0xc0, - 0x2, 0xff, 0xe1, 0x0, 0xff, 0xc0, 0x0, 0x7f, - 0xfa, 0x0, 0xff, 0xc0, 0x0, 0xc, 0xff, 0x70, - 0xff, 0xc0, 0x0, 0x2, 0xff, 0xe2, 0xff, 0xc0, - 0x0, 0x0, 0x6f, 0xfc, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, 0x2e, 0xfe, + 0x20, 0x1f, 0xf7, 0x0, 0x1, 0xdf, 0xe2, 0x0, + 0x1f, 0xf7, 0x0, 0x1d, 0xff, 0x30, 0x0, 0x1f, + 0xf7, 0x0, 0xcf, 0xf4, 0x0, 0x0, 0x1f, 0xf7, + 0xc, 0xff, 0x50, 0x0, 0x0, 0x1f, 0xf7, 0xaf, + 0xf7, 0x0, 0x0, 0x0, 0x1f, 0xfd, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xfa, 0x0, + 0x0, 0x0, 0x1f, 0xff, 0xaa, 0xff, 0x60, 0x0, + 0x0, 0x1f, 0xfb, 0x0, 0xdf, 0xf2, 0x0, 0x0, + 0x1f, 0xf7, 0x0, 0x2f, 0xfd, 0x0, 0x0, 0x1f, + 0xf7, 0x0, 0x6, 0xff, 0x90, 0x0, 0x1f, 0xf7, + 0x0, 0x0, 0xaf, 0xf5, 0x0, 0x1f, 0xf7, 0x0, + 0x0, 0xd, 0xfe, 0x20, 0x1f, 0xf7, 0x0, 0x0, + 0x3, 0xff, 0xc0, /* U+6C "l" */ - 0x45, 0x4d, 0xfd, 0xdf, 0xdd, 0xfd, 0xdf, 0xdd, - 0xfd, 0xdf, 0xdd, 0xfd, 0xdf, 0xdd, 0xfd, 0xdf, - 0xdd, 0xfd, 0xdf, 0xdd, 0xfd, 0xdf, 0xdd, 0xfd, - 0xdf, 0xdd, 0xfd, 0xdf, 0xdd, 0xfd, 0xdf, 0xdd, - 0xfd, + 0xdf, 0xad, 0xfa, 0xdf, 0xad, 0xfa, 0xdf, 0xad, + 0xfa, 0xdf, 0xad, 0xfa, 0xdf, 0xad, 0xfa, 0xdf, + 0xad, 0xfa, 0xdf, 0xad, 0xfa, 0xdf, 0xad, 0xfa, + 0xdf, 0xad, 0xfa, 0xdf, 0xad, 0xfa, 0xdf, 0xa0, /* U+6D "m" */ - 0xcb, 0x61, 0x7d, 0xff, 0xd5, 0x0, 0x19, 0xef, - 0xda, 0x20, 0xf, 0xf9, 0xcf, 0xff, 0xff, 0xf6, - 0x2d, 0xff, 0xff, 0xfe, 0x30, 0xff, 0xfd, 0x64, - 0x4a, 0xff, 0xeb, 0xf7, 0x44, 0xaf, 0xfb, 0xf, - 0xff, 0x10, 0x0, 0xb, 0xff, 0xf5, 0x0, 0x0, - 0xcf, 0xf3, 0xff, 0xc0, 0x0, 0x0, 0x5f, 0xfd, - 0x0, 0x0, 0x5, 0xff, 0x4f, 0xfc, 0x0, 0x0, - 0x4, 0xff, 0x90, 0x0, 0x0, 0x4f, 0xf8, 0xff, - 0xc0, 0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x4, - 0xff, 0x8f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0x80, - 0x0, 0x0, 0x4f, 0xf8, 0xff, 0xc0, 0x0, 0x0, - 0xf, 0xf8, 0x0, 0x0, 0x4, 0xff, 0x8f, 0xfc, - 0x0, 0x0, 0x0, 0xff, 0x80, 0x0, 0x0, 0x4f, - 0xf8, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xf8, 0x0, - 0x0, 0x4, 0xff, 0x8f, 0xfc, 0x0, 0x0, 0x0, - 0xff, 0x80, 0x0, 0x0, 0x4f, 0xf8, 0xff, 0xc0, - 0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x4, 0xff, - 0x8f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0x80, 0x0, - 0x0, 0x4f, 0xf8, 0xff, 0xc0, 0x0, 0x0, 0xf, - 0xf8, 0x0, 0x0, 0x4, 0xff, 0x80, + 0x1f, 0xf5, 0x19, 0xdf, 0xeb, 0x40, 0x1, 0x9d, + 0xff, 0xc5, 0x0, 0x1f, 0xf9, 0xff, 0xff, 0xff, + 0xf5, 0x4f, 0xff, 0xff, 0xff, 0x80, 0x1f, 0xff, + 0xd5, 0x23, 0x8f, 0xff, 0xff, 0x73, 0x36, 0xef, + 0xf2, 0x1f, 0xfd, 0x0, 0x0, 0x7, 0xff, 0xf3, + 0x0, 0x0, 0x4f, 0xf7, 0x1f, 0xf7, 0x0, 0x0, + 0x2, 0xff, 0xb0, 0x0, 0x0, 0xf, 0xf9, 0x1f, + 0xf7, 0x0, 0x0, 0x0, 0xff, 0x80, 0x0, 0x0, + 0xe, 0xfa, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, + 0x80, 0x0, 0x0, 0xe, 0xfa, 0x1f, 0xf7, 0x0, + 0x0, 0x0, 0xff, 0x80, 0x0, 0x0, 0xe, 0xfa, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, 0x80, 0x0, + 0x0, 0xe, 0xfa, 0x1f, 0xf7, 0x0, 0x0, 0x0, + 0xff, 0x80, 0x0, 0x0, 0xe, 0xfa, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0xff, 0x80, 0x0, 0x0, 0xe, + 0xfa, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, 0x80, + 0x0, 0x0, 0xe, 0xfa, 0x1f, 0xf7, 0x0, 0x0, + 0x0, 0xff, 0x80, 0x0, 0x0, 0xe, 0xfa, 0x1f, + 0xf7, 0x0, 0x0, 0x0, 0xff, 0x80, 0x0, 0x0, + 0xe, 0xfa, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, + 0x80, 0x0, 0x0, 0xe, 0xfa, /* U+6E "n" */ - 0xcb, 0x50, 0x7d, 0xff, 0xb6, 0x0, 0xff, 0x8a, - 0xff, 0xff, 0xff, 0xa0, 0xff, 0xef, 0x74, 0x46, - 0xef, 0xf4, 0xff, 0xf2, 0x0, 0x0, 0x4f, 0xfc, - 0xff, 0xc0, 0x0, 0x0, 0xe, 0xfc, 0xff, 0xc0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, - 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, - 0xff, 0xc0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0xc, 0xff, + 0x1f, 0xf5, 0x7, 0xdf, 0xfc, 0x50, 0x1, 0xff, + 0x7d, 0xff, 0xff, 0xff, 0x70, 0x1f, 0xff, 0xf8, + 0x33, 0x7f, 0xff, 0x11, 0xff, 0xf3, 0x0, 0x0, + 0x6f, 0xf5, 0x1f, 0xf8, 0x0, 0x0, 0x1, 0xff, + 0x71, 0xff, 0x70, 0x0, 0x0, 0xf, 0xf8, 0x1f, + 0xf7, 0x0, 0x0, 0x0, 0xff, 0x81, 0xff, 0x70, + 0x0, 0x0, 0xf, 0xf8, 0x1f, 0xf7, 0x0, 0x0, + 0x0, 0xff, 0x81, 0xff, 0x70, 0x0, 0x0, 0xf, + 0xf8, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, 0x81, + 0xff, 0x70, 0x0, 0x0, 0xf, 0xf8, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0xff, 0x81, 0xff, 0x70, 0x0, + 0x0, 0xf, 0xf8, 0x1f, 0xf7, 0x0, 0x0, 0x0, + 0xff, 0x80, /* U+6F "o" */ - 0x0, 0x1, 0x8b, 0xff, 0xb8, 0x10, 0x0, 0x0, - 0x4e, 0xff, 0xff, 0xff, 0xd3, 0x0, 0x2, 0xff, - 0xf6, 0x23, 0x7f, 0xfe, 0x10, 0xb, 0xff, 0x30, - 0x0, 0x3, 0xff, 0xa0, 0x3f, 0xfa, 0x0, 0x0, - 0x0, 0xcf, 0xf2, 0x6f, 0xf4, 0x0, 0x0, 0x0, - 0x5f, 0xf4, 0x8f, 0xf2, 0x0, 0x0, 0x0, 0x4f, - 0xf8, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x3f, 0xf8, - 0x8f, 0xf1, 0x0, 0x0, 0x0, 0x4f, 0xf8, 0x7f, - 0xf4, 0x0, 0x0, 0x0, 0x4f, 0xf4, 0x4f, 0xf8, - 0x0, 0x0, 0x0, 0xaf, 0xf3, 0xd, 0xfe, 0x10, - 0x0, 0x1, 0xff, 0xc0, 0x4, 0xff, 0xc2, 0x0, - 0x4d, 0xff, 0x30, 0x0, 0x7f, 0xff, 0xee, 0xff, - 0xf6, 0x0, 0x0, 0x3, 0xdf, 0xff, 0xfb, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x33, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x8d, 0xff, 0xd8, 0x10, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0xff, 0xe4, 0x0, 0x3, 0xff, + 0xe5, 0x11, 0x6e, 0xff, 0x30, 0xd, 0xfe, 0x10, + 0x0, 0x2, 0xef, 0xd0, 0x4f, 0xf6, 0x0, 0x0, + 0x0, 0x6f, 0xf3, 0x8f, 0xf0, 0x0, 0x0, 0x0, + 0x1f, 0xf8, 0xaf, 0xd0, 0x0, 0x0, 0x0, 0xe, + 0xfa, 0xbf, 0xc0, 0x0, 0x0, 0x0, 0xd, 0xfb, + 0xbf, 0xd0, 0x0, 0x0, 0x0, 0xd, 0xfa, 0x8f, + 0xf0, 0x0, 0x0, 0x0, 0xf, 0xf8, 0x4f, 0xf6, + 0x0, 0x0, 0x0, 0x6f, 0xf4, 0xd, 0xfe, 0x10, + 0x0, 0x1, 0xef, 0xd0, 0x3, 0xff, 0xd5, 0x11, + 0x5e, 0xff, 0x30, 0x0, 0x5f, 0xff, 0xff, 0xff, + 0xf4, 0x0, 0x0, 0x1, 0x8d, 0xff, 0xd8, 0x10, + 0x0, /* U+70 "p" */ - 0xcb, 0x11, 0x9e, 0xfd, 0xa4, 0x0, 0xf, 0xf7, - 0xef, 0xff, 0xff, 0xf6, 0x0, 0xff, 0xff, 0x64, - 0x49, 0xff, 0xf4, 0xf, 0xff, 0x30, 0x0, 0x6, - 0xff, 0xa0, 0xff, 0xc0, 0x0, 0x0, 0xd, 0xff, - 0x2f, 0xfc, 0x0, 0x0, 0x0, 0x6f, 0xf4, 0xff, - 0xc0, 0x0, 0x0, 0x4, 0xff, 0x7f, 0xfc, 0x0, - 0x0, 0x0, 0x4f, 0xf8, 0xff, 0xc0, 0x0, 0x0, - 0x3, 0xff, 0x8f, 0xfc, 0x0, 0x0, 0x0, 0x4f, - 0xf6, 0xff, 0xc0, 0x0, 0x0, 0x8, 0xff, 0x4f, - 0xfd, 0x0, 0x0, 0x1, 0xef, 0xf1, 0xff, 0xfa, - 0x20, 0x2, 0xcf, 0xf8, 0xf, 0xff, 0xff, 0xde, - 0xff, 0xfc, 0x10, 0xff, 0xc4, 0xef, 0xff, 0xf9, - 0x0, 0xf, 0xfc, 0x0, 0x24, 0x20, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, - 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xcc, 0x90, 0x0, 0x0, 0x0, 0x0, - 0x0, + 0x1f, 0xf4, 0x29, 0xef, 0xea, 0x30, 0x0, 0x1f, + 0xf9, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x1f, 0xff, + 0xd6, 0x33, 0x8f, 0xff, 0x30, 0x1f, 0xfd, 0x10, + 0x0, 0x4, 0xff, 0xb0, 0x1f, 0xf7, 0x0, 0x0, + 0x0, 0xaf, 0xf0, 0x1f, 0xf7, 0x0, 0x0, 0x0, + 0x5f, 0xf3, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x3f, + 0xf5, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x2f, 0xf6, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x3f, 0xf5, 0x1f, + 0xf7, 0x0, 0x0, 0x0, 0x5f, 0xf3, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0xaf, 0xf0, 0x1f, 0xfc, 0x0, + 0x0, 0x3, 0xff, 0xa0, 0x1f, 0xff, 0xc4, 0x11, + 0x6f, 0xff, 0x20, 0x1f, 0xfc, 0xff, 0xff, 0xff, + 0xf5, 0x0, 0x1f, 0xf7, 0x2a, 0xef, 0xea, 0x30, + 0x0, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x0, /* U+71 "q" */ - 0x0, 0x5, 0xae, 0xfd, 0x71, 0x6b, 0x90, 0x6, - 0xff, 0xff, 0xff, 0xcc, 0xfc, 0x5, 0xff, 0xf6, - 0x22, 0x8f, 0xff, 0xc0, 0xcf, 0xf3, 0x0, 0x0, - 0x5f, 0xfc, 0x3f, 0xfa, 0x0, 0x0, 0x0, 0xff, - 0xc6, 0xff, 0x50, 0x0, 0x0, 0xf, 0xfc, 0x8f, - 0xf4, 0x0, 0x0, 0x0, 0xff, 0xca, 0xff, 0x0, - 0x0, 0x0, 0xf, 0xfc, 0xaf, 0xf0, 0x0, 0x0, - 0x0, 0xff, 0xc8, 0xff, 0x40, 0x0, 0x0, 0xf, - 0xfc, 0x5f, 0xf6, 0x0, 0x0, 0x0, 0xff, 0xc1, - 0xff, 0xd0, 0x0, 0x0, 0x3f, 0xfc, 0x8, 0xff, - 0xa1, 0x0, 0x4d, 0xff, 0xc0, 0x1d, 0xff, 0xfd, - 0xef, 0xff, 0xfc, 0x0, 0x19, 0xff, 0xff, 0xc3, - 0xff, 0xc0, 0x0, 0x0, 0x34, 0x20, 0xf, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, - 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, - 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, - 0x90, + 0x0, 0x5, 0xbe, 0xfd, 0x81, 0x9f, 0xc0, 0x9, + 0xff, 0xff, 0xff, 0xec, 0xfc, 0x7, 0xff, 0xd5, + 0x12, 0x7f, 0xff, 0xc0, 0xef, 0xd1, 0x0, 0x0, + 0x3f, 0xfc, 0x5f, 0xf6, 0x0, 0x0, 0x0, 0xcf, + 0xc8, 0xff, 0x10, 0x0, 0x0, 0xc, 0xfc, 0xaf, + 0xe0, 0x0, 0x0, 0x0, 0xcf, 0xcb, 0xfd, 0x0, + 0x0, 0x0, 0xc, 0xfc, 0xaf, 0xe0, 0x0, 0x0, + 0x0, 0xcf, 0xc8, 0xff, 0x0, 0x0, 0x0, 0xc, + 0xfc, 0x4f, 0xf6, 0x0, 0x0, 0x0, 0xcf, 0xc0, + 0xef, 0xd0, 0x0, 0x0, 0x3f, 0xfc, 0x6, 0xff, + 0xd4, 0x12, 0x6f, 0xff, 0xc0, 0x9, 0xff, 0xff, + 0xff, 0xee, 0xfc, 0x0, 0x5, 0xbe, 0xfd, 0x81, + 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, + 0xc0, /* U+72 "r" */ - 0xcb, 0x51, 0x9f, 0xf4, 0xff, 0x8d, 0xff, 0xf2, - 0xff, 0xdf, 0xa8, 0x80, 0xff, 0xf6, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, - 0xff, 0xc0, 0x0, 0x0, + 0x1f, 0xf6, 0x3b, 0xfe, 0x1, 0xff, 0xaf, 0xff, + 0xf1, 0x1f, 0xff, 0xfa, 0x77, 0x1, 0xff, 0xf3, + 0x0, 0x0, 0x1f, 0xf8, 0x0, 0x0, 0x1, 0xff, + 0x70, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, 0x1, + 0xff, 0x70, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x0, + 0x1, 0xff, 0x70, 0x0, 0x0, 0x1f, 0xf7, 0x0, + 0x0, 0x1, 0xff, 0x70, 0x0, 0x0, 0x1f, 0xf7, + 0x0, 0x0, 0x1, 0xff, 0x70, 0x0, 0x0, 0x1f, + 0xf7, 0x0, 0x0, 0x0, /* U+73 "s" */ - 0x0, 0x6, 0xbe, 0xfe, 0xa4, 0x0, 0x0, 0xd, - 0xff, 0xff, 0xff, 0xf9, 0x0, 0x9, 0xff, 0xb3, - 0x5, 0xdf, 0xf7, 0x0, 0xff, 0xd0, 0x0, 0x1, - 0xef, 0xc0, 0xf, 0xfa, 0x0, 0x0, 0x6, 0x88, - 0x0, 0xdf, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x3, - 0xff, 0xfd, 0x94, 0x10, 0x0, 0x0, 0x2, 0xaf, - 0xff, 0xff, 0x92, 0x0, 0x0, 0x0, 0x16, 0xaf, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xe0, 0x47, 0x72, 0x0, 0x0, 0x9, 0xff, 0x35, - 0xff, 0x60, 0x0, 0x0, 0x9f, 0xf2, 0x1f, 0xfe, - 0x50, 0x0, 0x5e, 0xfe, 0x0, 0x4f, 0xff, 0xfb, - 0xff, 0xff, 0x30, 0x0, 0x2b, 0xff, 0xff, 0xfa, - 0x20, 0x0, 0x0, 0x0, 0x24, 0x30, 0x0, 0x0, + 0x0, 0x7, 0xcf, 0xfe, 0xa4, 0x0, 0x0, 0x1d, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0xb, 0xff, 0x72, + 0x14, 0xdf, 0xf5, 0x1, 0xff, 0x80, 0x0, 0x1, + 0xef, 0xc0, 0x2f, 0xf6, 0x0, 0x0, 0x5, 0x87, + 0x0, 0xef, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xfe, 0xa6, 0x10, 0x0, 0x0, 0x2, 0x9e, + 0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x3, 0x7b, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, + 0xd0, 0x7b, 0xa0, 0x0, 0x0, 0x8, 0xff, 0x7, + 0xff, 0x30, 0x0, 0x0, 0xaf, 0xf0, 0x1e, 0xff, + 0x72, 0x13, 0x9f, 0xf9, 0x0, 0x3e, 0xff, 0xff, + 0xff, 0xfc, 0x0, 0x0, 0x17, 0xcf, 0xfe, 0xb5, + 0x0, 0x0, /* U+74 "t" */ - 0x0, 0x13, 0x32, 0x0, 0x0, 0x4, 0xff, 0x80, - 0x0, 0x0, 0x4f, 0xf8, 0x0, 0x0, 0x4, 0xff, - 0x80, 0x0, 0x9b, 0xcf, 0xfd, 0xbb, 0x3c, 0xff, - 0xff, 0xff, 0xf4, 0x34, 0x7f, 0xfa, 0x44, 0x10, - 0x4, 0xff, 0x80, 0x0, 0x0, 0x4f, 0xf8, 0x0, - 0x0, 0x4, 0xff, 0x80, 0x0, 0x0, 0x4f, 0xf8, - 0x0, 0x0, 0x4, 0xff, 0x80, 0x0, 0x0, 0x4f, - 0xf8, 0x0, 0x0, 0x4, 0xff, 0x80, 0x0, 0x0, - 0x4f, 0xf8, 0x0, 0x0, 0x4, 0xff, 0x80, 0x0, - 0x0, 0x2f, 0xfb, 0x10, 0x0, 0x0, 0xcf, 0xff, - 0xf1, 0x0, 0x3, 0xdf, 0xff, 0x30, 0x0, 0x0, - 0x34, 0x20, + 0x0, 0x18, 0x82, 0x0, 0x0, 0x3, 0xff, 0x50, + 0x0, 0x0, 0x3f, 0xf5, 0x0, 0x0, 0x3, 0xff, + 0x50, 0x0, 0xef, 0xff, 0xff, 0xff, 0x1d, 0xff, + 0xff, 0xff, 0xf1, 0x0, 0x3f, 0xf5, 0x0, 0x0, + 0x3, 0xff, 0x50, 0x0, 0x0, 0x3f, 0xf5, 0x0, + 0x0, 0x3, 0xff, 0x50, 0x0, 0x0, 0x3f, 0xf5, + 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, 0x0, 0x3f, + 0xf5, 0x0, 0x0, 0x3, 0xff, 0x50, 0x0, 0x0, + 0x3f, 0xf5, 0x0, 0x0, 0x2, 0xff, 0x60, 0x0, + 0x0, 0xf, 0xfc, 0x33, 0x0, 0x0, 0xaf, 0xff, + 0xf2, 0x0, 0x0, 0x9e, 0xfd, 0x20, /* U+75 "u" */ - 0xcb, 0x60, 0x0, 0x0, 0x9, 0xbb, 0xff, 0x80, - 0x0, 0x0, 0xc, 0xff, 0xff, 0x80, 0x0, 0x0, - 0xc, 0xff, 0xff, 0x80, 0x0, 0x0, 0xc, 0xff, - 0xff, 0x80, 0x0, 0x0, 0xc, 0xff, 0xff, 0x80, - 0x0, 0x0, 0xc, 0xff, 0xff, 0x80, 0x0, 0x0, - 0xc, 0xff, 0xff, 0x80, 0x0, 0x0, 0xc, 0xff, - 0xff, 0x80, 0x0, 0x0, 0xc, 0xff, 0xff, 0xb0, - 0x0, 0x0, 0xc, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0xc, 0xff, 0xcf, 0xe1, 0x0, 0x0, 0x3f, 0xff, - 0x6f, 0xf9, 0x10, 0x6, 0xef, 0xff, 0xd, 0xff, - 0xff, 0xff, 0xd9, 0xff, 0x1, 0xaf, 0xff, 0xfa, - 0x18, 0xff, 0x0, 0x0, 0x34, 0x10, 0x0, 0x0, + 0x2f, 0xf6, 0x0, 0x0, 0x0, 0xff, 0x82, 0xff, + 0x60, 0x0, 0x0, 0xf, 0xf8, 0x2f, 0xf6, 0x0, + 0x0, 0x0, 0xff, 0x82, 0xff, 0x60, 0x0, 0x0, + 0xf, 0xf8, 0x2f, 0xf6, 0x0, 0x0, 0x0, 0xff, + 0x82, 0xff, 0x60, 0x0, 0x0, 0xf, 0xf8, 0x2f, + 0xf6, 0x0, 0x0, 0x0, 0xff, 0x82, 0xff, 0x60, + 0x0, 0x0, 0xf, 0xf8, 0x2f, 0xf6, 0x0, 0x0, + 0x0, 0xff, 0x82, 0xff, 0x60, 0x0, 0x0, 0xf, + 0xf8, 0x1f, 0xf7, 0x0, 0x0, 0x0, 0xff, 0x80, + 0xef, 0xc0, 0x0, 0x0, 0x8f, 0xf8, 0x9, 0xff, + 0xa3, 0x24, 0xbf, 0xff, 0x80, 0x1e, 0xff, 0xff, + 0xff, 0xcf, 0xf8, 0x0, 0x19, 0xef, 0xfc, 0x60, + 0xef, 0x80, /* U+76 "v" */ - 0x3b, 0xb6, 0x0, 0x0, 0x0, 0x3b, 0xb5, 0xe, - 0xfc, 0x0, 0x0, 0x0, 0x9f, 0xf2, 0x9, 0xff, - 0x20, 0x0, 0x0, 0xef, 0xd0, 0x2, 0xff, 0x70, - 0x0, 0x3, 0xff, 0x60, 0x0, 0xdf, 0xc0, 0x0, - 0x9, 0xff, 0x10, 0x0, 0x6f, 0xf2, 0x0, 0xe, - 0xfa, 0x0, 0x0, 0x1f, 0xf7, 0x0, 0x3f, 0xf5, - 0x0, 0x0, 0xa, 0xfd, 0x0, 0x9f, 0xf0, 0x0, - 0x0, 0x5, 0xff, 0x30, 0xef, 0x90, 0x0, 0x0, - 0x0, 0xef, 0x92, 0xff, 0x30, 0x0, 0x0, 0x0, - 0x9f, 0xd7, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x2f, - 0xfc, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, - 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xb0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x60, 0x0, + 0x5f, 0xf3, 0x0, 0x0, 0x0, 0xbf, 0xd0, 0xf, + 0xf8, 0x0, 0x0, 0x0, 0xff, 0x80, 0xa, 0xfd, + 0x0, 0x0, 0x5, 0xff, 0x20, 0x4, 0xff, 0x30, + 0x0, 0xa, 0xfc, 0x0, 0x0, 0xef, 0x80, 0x0, + 0xf, 0xf7, 0x0, 0x0, 0x9f, 0xd0, 0x0, 0x5f, + 0xf1, 0x0, 0x0, 0x3f, 0xf3, 0x0, 0xaf, 0xb0, + 0x0, 0x0, 0xd, 0xf8, 0x0, 0xff, 0x60, 0x0, + 0x0, 0x8, 0xfd, 0x4, 0xff, 0x10, 0x0, 0x0, + 0x2, 0xff, 0x39, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0x8e, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0x90, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xfe, 0x0, 0x0, 0x0, /* U+77 "w" */ - 0x3b, 0xb6, 0x0, 0x0, 0x8, 0xb9, 0x0, 0x0, - 0x5, 0xbb, 0x51, 0xff, 0xc0, 0x0, 0x0, 0xff, - 0xf1, 0x0, 0x0, 0xaf, 0xf2, 0xb, 0xff, 0x0, - 0x0, 0x4f, 0xff, 0x60, 0x0, 0xe, 0xfe, 0x0, - 0x7f, 0xf4, 0x0, 0x9, 0xff, 0xfb, 0x0, 0x1, - 0xff, 0x90, 0x2, 0xff, 0x80, 0x0, 0xef, 0x8f, - 0xe0, 0x0, 0x5f, 0xf5, 0x0, 0xe, 0xfc, 0x0, - 0x3f, 0xf1, 0xff, 0x50, 0x9, 0xff, 0x0, 0x0, - 0x9f, 0xf0, 0x9, 0xfd, 0xb, 0xfa, 0x0, 0xcf, - 0xb0, 0x0, 0x5, 0xff, 0x40, 0xdf, 0x70, 0x6f, - 0xe0, 0xf, 0xf6, 0x0, 0x0, 0xf, 0xf8, 0x2f, - 0xf2, 0x1, 0xff, 0x44, 0xff, 0x20, 0x0, 0x0, - 0xbf, 0xc7, 0xfd, 0x0, 0xc, 0xf9, 0x8f, 0xd0, - 0x0, 0x0, 0x6, 0xfe, 0xaf, 0x90, 0x0, 0x7f, - 0xcb, 0xf9, 0x0, 0x0, 0x0, 0x2f, 0xfd, 0xf3, - 0x0, 0x2, 0xfe, 0xdf, 0x40, 0x0, 0x0, 0x0, - 0xdf, 0xfe, 0x0, 0x0, 0xd, 0xff, 0xf0, 0x0, - 0x0, 0x0, 0x9, 0xff, 0x90, 0x0, 0x0, 0x7f, - 0xfa, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf3, 0x0, - 0x0, 0x2, 0xff, 0x60, 0x0, 0x0, + 0x4f, 0xf3, 0x0, 0x0, 0xa, 0xfa, 0x0, 0x0, + 0x4, 0xff, 0x30, 0xff, 0x70, 0x0, 0x0, 0xff, + 0xf0, 0x0, 0x0, 0x8f, 0xf0, 0xb, 0xfc, 0x0, + 0x0, 0x4f, 0xff, 0x40, 0x0, 0xc, 0xfa, 0x0, + 0x6f, 0xf0, 0x0, 0x9, 0xff, 0xf9, 0x0, 0x0, + 0xff, 0x60, 0x1, 0xff, 0x40, 0x0, 0xef, 0x7f, + 0xe0, 0x0, 0x4f, 0xf1, 0x0, 0xd, 0xf8, 0x0, + 0x3f, 0xd0, 0xff, 0x30, 0x8, 0xfc, 0x0, 0x0, + 0x8f, 0xc0, 0x8, 0xf8, 0xa, 0xf8, 0x0, 0xcf, + 0x80, 0x0, 0x4, 0xff, 0x0, 0xdf, 0x30, 0x5f, + 0xd0, 0xf, 0xf3, 0x0, 0x0, 0xf, 0xf4, 0x2f, + 0xe0, 0x0, 0xff, 0x24, 0xfe, 0x0, 0x0, 0x0, + 0xbf, 0x97, 0xfa, 0x0, 0xb, 0xf7, 0x8f, 0xa0, + 0x0, 0x0, 0x6, 0xfd, 0xcf, 0x50, 0x0, 0x6f, + 0xcc, 0xf5, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf0, + 0x0, 0x1, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, + 0xdf, 0xfb, 0x0, 0x0, 0xc, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0x60, 0x0, 0x0, 0x7f, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf1, 0x0, + 0x0, 0x2, 0xff, 0x30, 0x0, 0x0, /* U+78 "x" */ - 0xb, 0xbb, 0x10, 0x0, 0x1, 0xbb, 0xb1, 0x7, - 0xff, 0xa0, 0x0, 0xa, 0xff, 0x70, 0x0, 0xcf, - 0xf3, 0x0, 0x4f, 0xfc, 0x0, 0x0, 0x2f, 0xfb, - 0x0, 0xcf, 0xf2, 0x0, 0x0, 0x7, 0xff, 0x56, - 0xff, 0x70, 0x0, 0x0, 0x0, 0xcf, 0xdd, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf3, 0x0, - 0x0, 0x0, 0x0, 0xa, 0xff, 0xa0, 0x0, 0x0, - 0x0, 0x0, 0x2e, 0xff, 0xe2, 0x0, 0x0, 0x0, - 0x0, 0xcf, 0xfe, 0xfb, 0x0, 0x0, 0x0, 0x7, - 0xff, 0x65, 0xff, 0x70, 0x0, 0x0, 0x2e, 0xfd, - 0x0, 0xcf, 0xe2, 0x0, 0x0, 0xcf, 0xf4, 0x0, - 0x3f, 0xfb, 0x0, 0x7, 0xff, 0xa0, 0x0, 0x9, - 0xff, 0x70, 0x2e, 0xff, 0x10, 0x0, 0x1, 0xff, - 0xe2, + 0xe, 0xfe, 0x0, 0x0, 0x2, 0xff, 0xc0, 0x4, + 0xff, 0x80, 0x0, 0xc, 0xff, 0x20, 0x0, 0xaf, + 0xf2, 0x0, 0x5f, 0xf7, 0x0, 0x0, 0x1e, 0xfb, + 0x1, 0xef, 0xc0, 0x0, 0x0, 0x5, 0xff, 0x59, + 0xff, 0x30, 0x0, 0x0, 0x0, 0xbf, 0xef, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0x2f, 0xff, 0xe1, 0x0, 0x0, 0x0, + 0x0, 0xcf, 0xde, 0xfa, 0x0, 0x0, 0x0, 0x7, + 0xff, 0x36, 0xff, 0x40, 0x0, 0x0, 0x2f, 0xfa, + 0x0, 0xcf, 0xe0, 0x0, 0x0, 0xcf, 0xe1, 0x0, + 0x3f, 0xf9, 0x0, 0x7, 0xff, 0x60, 0x0, 0x9, + 0xff, 0x40, 0x2f, 0xfc, 0x0, 0x0, 0x0, 0xef, + 0xe0, /* U+79 "y" */ - 0x6b, 0xb6, 0x0, 0x0, 0x0, 0x6b, 0xb6, 0x2f, - 0xfc, 0x0, 0x0, 0x0, 0xcf, 0xf3, 0xd, 0xff, - 0x20, 0x0, 0x1, 0xff, 0xe0, 0x6, 0xff, 0x70, - 0x0, 0x6, 0xff, 0x70, 0x1, 0xff, 0xc0, 0x0, - 0xb, 0xff, 0x20, 0x0, 0xaf, 0xf2, 0x0, 0x1f, - 0xfb, 0x0, 0x0, 0x4f, 0xf7, 0x0, 0x6f, 0xf6, - 0x0, 0x0, 0xe, 0xfc, 0x0, 0xbf, 0xf1, 0x0, - 0x0, 0x8, 0xff, 0x21, 0xff, 0xa0, 0x0, 0x0, - 0x2, 0xff, 0x76, 0xff, 0x50, 0x0, 0x0, 0x0, - 0xcf, 0xcb, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xfe, 0xf9, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, - 0xf3, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xd0, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0x70, 0x0, - 0x0, 0x0, 0x0, 0x8, 0xff, 0x20, 0x0, 0x0, - 0x0, 0x0, 0xe, 0xfb, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x7f, 0xf6, 0x0, 0x0, 0x0, 0x1, 0x37, - 0xff, 0xd0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, - 0x30, 0x0, 0x0, 0x0, 0x6, 0xfe, 0xb2, 0x0, - 0x0, 0x0, 0x0, + 0x8f, 0xf3, 0x0, 0x0, 0x0, 0xef, 0xb2, 0xff, + 0x80, 0x0, 0x0, 0x4f, 0xf6, 0xd, 0xfe, 0x0, + 0x0, 0x9, 0xff, 0x10, 0x7f, 0xf3, 0x0, 0x0, + 0xef, 0xb0, 0x1, 0xff, 0x90, 0x0, 0x3f, 0xf5, + 0x0, 0xb, 0xfe, 0x0, 0x8, 0xff, 0x0, 0x0, + 0x6f, 0xf3, 0x0, 0xdf, 0xa0, 0x0, 0x0, 0xff, + 0x90, 0x2f, 0xf5, 0x0, 0x0, 0xa, 0xfe, 0x7, + 0xff, 0x0, 0x0, 0x0, 0x5f, 0xf3, 0xcf, 0xa0, + 0x0, 0x0, 0x0, 0xef, 0xaf, 0xf4, 0x0, 0x0, + 0x0, 0x9, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xef, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x8, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x1f, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x9, 0xfd, 0x0, 0x0, 0x0, 0x3, 0x49, 0xff, + 0x50, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xa0, 0x0, + 0x0, 0x0, 0xb, 0xfe, 0x70, 0x0, 0x0, 0x0, + 0x0, /* U+7A "z" */ - 0x6b, 0xbb, 0xbb, 0xbb, 0xbb, 0xb6, 0x8f, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x24, 0x44, 0x44, 0x44, - 0xff, 0xf4, 0x0, 0x0, 0x0, 0x9, 0xff, 0x80, - 0x0, 0x0, 0x0, 0x5f, 0xfc, 0x0, 0x0, 0x0, - 0x2, 0xef, 0xf1, 0x0, 0x0, 0x0, 0xd, 0xff, - 0x40, 0x0, 0x0, 0x0, 0x9f, 0xf8, 0x0, 0x0, - 0x0, 0x5, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x2e, - 0xff, 0x10, 0x0, 0x0, 0x0, 0xcf, 0xf4, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x90, 0x0, 0x0, 0x0, - 0x4f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xaf, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x1, 0x11, 0x11, 0x12, + 0xef, 0xe1, 0x0, 0x0, 0x0, 0xa, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x6f, 0xf8, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xc0, 0x0, 0x0, 0x0, 0xd, 0xfe, + 0x10, 0x0, 0x0, 0x0, 0xaf, 0xf4, 0x0, 0x0, + 0x0, 0x6, 0xff, 0x90, 0x0, 0x0, 0x0, 0x2f, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf2, 0x0, + 0x0, 0x0, 0x9, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x5f, 0xfa, 0x11, 0x11, 0x11, 0x10, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, /* U+7B "{" */ - 0x0, 0x0, 0x0, 0x6, 0x80, 0x0, 0x0, 0x3, - 0xdf, 0xf0, 0x0, 0x0, 0x2e, 0xfd, 0x20, 0x0, - 0x0, 0xaf, 0xf2, 0x0, 0x0, 0x0, 0xff, 0xb0, - 0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x4, - 0xff, 0x80, 0x0, 0x0, 0x4, 0xff, 0x80, 0x0, - 0x0, 0x4, 0xff, 0x80, 0x0, 0x0, 0x4, 0xff, - 0x70, 0x0, 0x0, 0x8, 0xff, 0x40, 0x0, 0x0, - 0x1d, 0xff, 0x0, 0x0, 0x27, 0xdf, 0xf6, 0x0, - 0x0, 0x4f, 0xff, 0x70, 0x0, 0x0, 0x2b, 0xff, - 0xe4, 0x0, 0x0, 0x0, 0x2f, 0xfd, 0x0, 0x0, - 0x0, 0x9, 0xff, 0x40, 0x0, 0x0, 0x4, 0xff, - 0x60, 0x0, 0x0, 0x4, 0xff, 0x80, 0x0, 0x0, - 0x4, 0xff, 0x80, 0x0, 0x0, 0x4, 0xff, 0x80, - 0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x0, - 0xff, 0xa0, 0x0, 0x0, 0x0, 0xaf, 0xe1, 0x0, - 0x0, 0x0, 0x2f, 0xfb, 0x10, 0x0, 0x0, 0x3, - 0xff, 0xe1, 0x0, 0x0, 0x0, 0x18, 0xb0, + 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, + 0x6e, 0xe0, 0x0, 0x0, 0x9, 0xff, 0x90, 0x0, + 0x0, 0x6f, 0xf5, 0x0, 0x0, 0x0, 0xdf, 0xc0, + 0x0, 0x0, 0x0, 0xff, 0x70, 0x0, 0x0, 0x2, + 0xff, 0x50, 0x0, 0x0, 0x3, 0xff, 0x40, 0x0, + 0x0, 0x3, 0xff, 0x40, 0x0, 0x0, 0x3, 0xff, + 0x40, 0x0, 0x0, 0x4, 0xff, 0x30, 0x0, 0x0, + 0x9, 0xff, 0x0, 0x0, 0x1, 0x6f, 0xf9, 0x0, + 0x0, 0x1f, 0xff, 0xa0, 0x0, 0x0, 0x2f, 0xff, + 0xa0, 0x0, 0x0, 0x1, 0x7f, 0xf8, 0x0, 0x0, + 0x0, 0x9, 0xff, 0x0, 0x0, 0x0, 0x5, 0xff, + 0x30, 0x0, 0x0, 0x3, 0xff, 0x40, 0x0, 0x0, + 0x3, 0xff, 0x40, 0x0, 0x0, 0x3, 0xff, 0x40, + 0x0, 0x0, 0x2, 0xff, 0x50, 0x0, 0x0, 0x0, + 0xff, 0x70, 0x0, 0x0, 0x0, 0xdf, 0xb0, 0x0, + 0x0, 0x0, 0x6f, 0xf5, 0x0, 0x0, 0x0, 0xa, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x6e, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x30, /* U+7C "|" */ - 0xee, 0x9f, 0xfa, 0xff, 0xaf, 0xfa, 0xff, 0xaf, - 0xfa, 0xff, 0xaf, 0xfa, 0xff, 0xaf, 0xfa, 0xff, - 0xaf, 0xfa, 0xff, 0xaf, 0xfa, 0xff, 0xaf, 0xfa, - 0xff, 0xaf, 0xfa, 0xff, 0xaf, 0xfa, 0xff, 0xaf, - 0xfa, 0xff, 0xaa, 0xa7, + 0x9f, 0x79, 0xf7, 0x9f, 0x79, 0xf7, 0x9f, 0x79, + 0xf7, 0x9f, 0x79, 0xf7, 0x9f, 0x79, 0xf7, 0x9f, + 0x79, 0xf7, 0x9f, 0x79, 0xf7, 0x9f, 0x79, 0xf7, + 0x9f, 0x79, 0xf7, 0x9f, 0x79, 0xf7, 0x9f, 0x79, + 0xf7, 0x9f, 0x74, 0x83, /* U+7D "}" */ - 0x48, 0x20, 0x0, 0x0, 0x9, 0xff, 0x70, 0x0, - 0x0, 0x7, 0xff, 0x90, 0x0, 0x0, 0xa, 0xff, - 0x10, 0x0, 0x0, 0x3f, 0xf7, 0x0, 0x0, 0x0, - 0xff, 0xa0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, - 0x0, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xfc, 0x0, - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xfe, - 0x0, 0x0, 0x0, 0x8f, 0xf7, 0x0, 0x0, 0x1, - 0xdf, 0xf9, 0x40, 0x0, 0x1, 0xdf, 0xf8, 0x0, - 0x0, 0xaf, 0xfd, 0x50, 0x0, 0x6f, 0xf7, 0x0, - 0x0, 0xc, 0xff, 0x0, 0x0, 0x0, 0xff, 0xc0, - 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0xff, - 0xc0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, - 0xff, 0xa0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, - 0x9, 0xff, 0x20, 0x0, 0x6, 0xff, 0x90, 0x0, - 0x9, 0xff, 0xa0, 0x0, 0x0, 0x5b, 0x40, 0x0, - 0x0, 0x0, + 0x11, 0x0, 0x0, 0x0, 0x7, 0xfa, 0x10, 0x0, + 0x0, 0x4d, 0xfe, 0x20, 0x0, 0x0, 0x1d, 0xfd, + 0x0, 0x0, 0x0, 0x5f, 0xf4, 0x0, 0x0, 0x0, + 0xff, 0x70, 0x0, 0x0, 0xe, 0xf9, 0x0, 0x0, + 0x0, 0xef, 0xa0, 0x0, 0x0, 0xe, 0xfa, 0x0, + 0x0, 0x0, 0xdf, 0xa0, 0x0, 0x0, 0xc, 0xfb, + 0x0, 0x0, 0x0, 0x9f, 0xe0, 0x0, 0x0, 0x2, + 0xff, 0xb2, 0x0, 0x0, 0x4, 0xef, 0xf8, 0x0, + 0x0, 0x3d, 0xff, 0x90, 0x0, 0x2f, 0xfc, 0x30, + 0x0, 0x9, 0xff, 0x10, 0x0, 0x0, 0xcf, 0xb0, + 0x0, 0x0, 0xd, 0xfa, 0x0, 0x0, 0x0, 0xef, + 0xa0, 0x0, 0x0, 0xe, 0xfa, 0x0, 0x0, 0x0, + 0xef, 0x90, 0x0, 0x0, 0xf, 0xf7, 0x0, 0x0, + 0x5, 0xff, 0x40, 0x0, 0x0, 0xdf, 0xd0, 0x0, + 0x4, 0xdf, 0xe2, 0x0, 0x0, 0x8f, 0xb1, 0x0, + 0x0, 0x1, 0x20, 0x0, 0x0, 0x0, /* U+7E "~" */ - 0x0, 0x3a, 0xef, 0xa4, 0x0, 0x0, 0x0, 0x33, - 0x10, 0x3e, 0xff, 0xff, 0xfa, 0x10, 0x0, 0xd, - 0xf3, 0xc, 0xfd, 0x66, 0xcf, 0xfd, 0x40, 0x6, - 0xff, 0x1, 0xff, 0x10, 0x0, 0x7f, 0xff, 0xcc, - 0xff, 0x80, 0x2a, 0x90, 0x0, 0x0, 0x3e, 0xff, - 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, - 0x87, 0x30, 0x0, + 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xdf, 0xff, 0xa1, 0x0, 0x0, 0xc, + 0xd3, 0x3, 0xff, 0xff, 0xff, 0xe4, 0x0, 0x2, + 0xff, 0x10, 0xcf, 0xc2, 0x6, 0xef, 0xf9, 0x45, + 0xdf, 0xb0, 0x1f, 0xf2, 0x0, 0x1, 0xcf, 0xff, + 0xff, 0xe2, 0x1, 0x88, 0x0, 0x0, 0x0, 0x6c, + 0xfe, 0xa1, 0x0, /* U+F001 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x2, 0x6c, 0xf8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x38, 0xdf, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x9e, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x38, 0xdf, 0xf9, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0xae, 0xff, + 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x16, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xb6, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xfa, 0x50, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfe, 0x93, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xd7, 0x20, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x2, - 0x8c, 0xff, 0xc8, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x2, 0x8c, 0xff, 0xc8, 0xff, 0x0, 0x0, 0x6f, - 0xff, 0xff, 0xff, 0xf6, 0x6f, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x2, 0x9d, 0xff, 0xd9, 0x20, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x2, 0x9d, 0xff, 0xd9, - 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe9, 0xbf, 0xff, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x73, 0x0, 0x8f, 0xff, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xff, 0xff, 0xfe, 0xa5, 0x10, 0x0, 0x0, + 0x8f, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, + 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xa2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, + 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, 0x0, 0xf, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8f, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0x0, 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, + 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xff, 0x0, 0x0, 0x0, 0xf, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x1, 0x7a, 0xcb, + 0xcf, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, + 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x1, + 0x33, 0x2f, 0xff, 0x80, 0x0, 0x0, 0x7, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x3, 0xcf, 0xff, 0xff, + 0xff, 0x80, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x5f, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xf4, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x7, 0xef, 0xff, 0xfb, 0x20, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x32, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xe4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x27, 0xaa, 0x95, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F008 "" */ - 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0x30, - 0x3, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x3, 0xff, 0x30, 0x3, 0xff, 0xff, 0x0, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x0, 0x0, 0xff, 0xff, 0x30, 0x3, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x30, - 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x30, 0x3, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x30, 0x3, 0xff, 0xff, - 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, 0x30, 0x3, - 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, - 0xff, 0x30, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x30, 0x3, 0xff, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x30, 0x3, - 0xff, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, - 0x30, 0x3, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0x30, 0x3, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x3, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x30, 0x3, 0xff, 0xff, 0x0, 0x0, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, - 0xff, 0xff, 0x30, 0x3, 0xff, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3, 0xff, 0x30, 0x3, 0xff, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x1c, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, + 0x9b, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xb0, 0x0, 0xb9, 0xfe, 0x44, + 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe4, 0x44, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x88, 0x8f, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xf8, 0x88, 0xff, + 0xfc, 0x0, 0xc, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xb0, 0x0, 0xcf, 0xfc, 0x0, + 0xc, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xb0, 0x0, 0xcf, 0xfd, 0x0, 0xd, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xd0, + 0x0, 0xdf, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xcc, 0xcf, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xfc, 0xcc, 0xff, 0xfc, 0x0, + 0xc, 0xff, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xff, 0xc0, 0x0, 0xcf, 0xfc, 0x0, 0xc, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, + 0x0, 0xcf, 0xfc, 0x0, 0xc, 0xff, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xff, 0xc0, 0x0, 0xcf, + 0xff, 0xcc, 0xcf, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xfc, 0xcc, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xff, 0xff, 0xff, 0xfd, 0x0, 0xd, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xd0, + 0x0, 0xdf, 0xfc, 0x0, 0xc, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xb0, 0x0, 0xcf, + 0xfc, 0x0, 0xc, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xb0, 0x0, 0xcf, 0xff, 0x88, + 0x8f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xf8, 0x88, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x44, 0x4e, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0x44, 0xef, + 0xab, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xb0, 0x0, 0xb9, /* U+F00B "" */ - 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, - 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x9f, 0xff, 0xff, 0xfb, 0x0, 0xaf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, + 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, - 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xfc, + 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, - 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, + 0xff, 0xfb, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, + 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, - 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xaf, 0xff, 0xff, 0xfc, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, - 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xfc, + 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, - 0xff, 0xf8, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x9f, 0xff, 0xff, 0xfb, 0x0, 0xaf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, /* U+F00C "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x5, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xf3, - 0x0, 0xaf, 0xb1, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xff, 0xff, 0x30, 0xa, 0xff, 0xfc, 0x10, - 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xf3, 0x0, - 0xaf, 0xff, 0xff, 0xc1, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xff, 0x30, 0x0, 0xff, 0xff, 0xff, 0xfc, - 0x0, 0x6f, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0xaf, 0xff, 0xff, 0xff, 0x96, 0xff, 0xff, 0xff, - 0xff, 0x30, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, - 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x30, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, - 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x9b, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, + 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, + 0xf8, 0x0, 0x0, 0x8e, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0x80, 0x0, + 0xa, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x9f, 0xff, + 0xff, 0x60, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, + 0xff, 0x80, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf6, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, 0x60, 0x0, + 0x6f, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xff, 0xf6, 0x6, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xe7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F00D "" */ - 0x0, 0x1, 0x30, 0x0, 0x0, 0x0, 0x0, 0x4, - 0x10, 0x0, 0x0, 0x3e, 0xfb, 0x10, 0x0, 0x0, - 0x0, 0xaf, 0xe3, 0x0, 0x3, 0xef, 0xff, 0xc1, - 0x0, 0x0, 0xa, 0xff, 0xfe, 0x30, 0x1e, 0xff, - 0xff, 0xfc, 0x10, 0x0, 0xaf, 0xff, 0xff, 0xe1, - 0x4f, 0xff, 0xff, 0xff, 0xc1, 0xa, 0xff, 0xff, - 0xff, 0xf4, 0xa, 0xff, 0xff, 0xff, 0xfc, 0x9f, - 0xff, 0xff, 0xff, 0xc0, 0x0, 0xaf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfd, 0x10, 0x0, 0xa, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x0, - 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x10, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, - 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, - 0xff, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, - 0xaf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x0, - 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc1, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x10, 0xa, 0xff, 0xff, 0xff, - 0xfd, 0xaf, 0xff, 0xff, 0xff, 0xb0, 0x4f, 0xff, - 0xff, 0xff, 0xd1, 0xa, 0xff, 0xff, 0xff, 0xf4, - 0x1f, 0xff, 0xff, 0xfd, 0x10, 0x0, 0xaf, 0xff, - 0xff, 0xf1, 0x3, 0xff, 0xff, 0xd1, 0x0, 0x0, - 0xa, 0xff, 0xff, 0x30, 0x0, 0x3f, 0xfc, 0x10, - 0x0, 0x0, 0x0, 0xaf, 0xf3, 0x0, 0x0, 0x1, - 0x40, 0x0, 0x0, 0x0, 0x0, 0x4, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x10, 0x0, 0x6, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x2d, 0xfa, 0x0, 0x6f, 0xff, 0xf5, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xa0, 0xef, 0xff, + 0xff, 0x50, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xf2, + 0xcf, 0xff, 0xff, 0xf5, 0x0, 0x2, 0xef, 0xff, + 0xff, 0xf1, 0x2e, 0xff, 0xff, 0xff, 0x50, 0x2e, + 0xff, 0xff, 0xff, 0x50, 0x2, 0xef, 0xff, 0xff, + 0xf7, 0xef, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x2e, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, + 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2e, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x50, 0x0, 0x2, 0xef, 0xff, 0xff, + 0xf6, 0xef, 0xff, 0xff, 0xf5, 0x0, 0x2e, 0xff, + 0xff, 0xff, 0x40, 0x2e, 0xff, 0xff, 0xff, 0x50, + 0xcf, 0xff, 0xff, 0xf4, 0x0, 0x2, 0xef, 0xff, + 0xff, 0xf1, 0xef, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x2e, 0xff, 0xff, 0xf2, 0x6f, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xa0, 0x6, 0xff, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x10, 0x0, /* U+F011 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xe4, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x5e, 0xd4, 0x0, 0xff, 0xff, 0x0, - 0x4d, 0xe5, 0x0, 0x0, 0x0, 0x6, 0xff, 0xfd, - 0x0, 0xff, 0xff, 0x0, 0xef, 0xff, 0x60, 0x0, - 0x0, 0x5f, 0xff, 0xfe, 0x0, 0xff, 0xff, 0x0, - 0xef, 0xff, 0xf5, 0x0, 0x1, 0xef, 0xff, 0xf6, - 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xfe, 0x10, - 0xa, 0xff, 0xff, 0x60, 0x0, 0xff, 0xff, 0x0, - 0x6, 0xff, 0xff, 0xa0, 0x1f, 0xff, 0xf7, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x7f, 0xff, 0xf1, - 0x6f, 0xff, 0xd0, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0xe, 0xff, 0xf6, 0xcf, 0xff, 0x70, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x7, 0xff, 0xfc, - 0xcf, 0xff, 0x30, 0x0, 0x0, 0xff, 0xfe, 0x0, - 0x0, 0x4, 0xff, 0xfc, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x4f, 0xf4, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xdf, 0xff, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfd, - 0xbf, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x7, 0xff, 0xfb, 0x6f, 0xff, 0xd0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf6, - 0x2f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x7f, 0xff, 0xf2, 0xa, 0xff, 0xff, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xa0, - 0x1, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x7f, 0xff, 0xff, 0x10, 0x0, 0x5f, 0xff, 0xff, - 0xd6, 0x30, 0x3, 0x6d, 0xff, 0xff, 0xf5, 0x0, - 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x5f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0xff, 0xff, - 0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, - 0x6b, 0xdf, 0xfd, 0xb6, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x69, 0x96, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xa8, 0x0, 0x3, + 0xff, 0xff, 0x30, 0x0, 0x8a, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0x60, 0x3, 0xff, 0xff, + 0x30, 0x6, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x2, + 0xef, 0xff, 0xe0, 0x3, 0xff, 0xff, 0x30, 0xe, + 0xff, 0xff, 0x30, 0x0, 0x0, 0xd, 0xff, 0xff, + 0xe0, 0x3, 0xff, 0xff, 0x30, 0xe, 0xff, 0xff, + 0xd1, 0x0, 0x0, 0x9f, 0xff, 0xfe, 0x30, 0x3, + 0xff, 0xff, 0x30, 0x3, 0xef, 0xff, 0xf9, 0x0, + 0x2, 0xff, 0xff, 0xe2, 0x0, 0x3, 0xff, 0xff, + 0x30, 0x0, 0x2e, 0xff, 0xff, 0x20, 0x9, 0xff, + 0xff, 0x50, 0x0, 0x3, 0xff, 0xff, 0x30, 0x0, + 0x5, 0xff, 0xff, 0x90, 0xe, 0xff, 0xfc, 0x0, + 0x0, 0x3, 0xff, 0xff, 0x30, 0x0, 0x0, 0xcf, + 0xff, 0xe0, 0x3f, 0xff, 0xf5, 0x0, 0x0, 0x3, + 0xff, 0xff, 0x30, 0x0, 0x0, 0x6f, 0xff, 0xf3, + 0x6f, 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xff, + 0x30, 0x0, 0x0, 0xf, 0xff, 0xf6, 0x7f, 0xff, + 0xe0, 0x0, 0x0, 0x3, 0xff, 0xff, 0x30, 0x0, + 0x0, 0xe, 0xff, 0xf8, 0x8f, 0xff, 0xd0, 0x0, + 0x0, 0x2, 0xff, 0xff, 0x20, 0x0, 0x0, 0xd, + 0xff, 0xf8, 0x8f, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0xef, 0xfe, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf7, + 0x6f, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x2, 0x20, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xf6, 0x3f, 0xff, + 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xff, 0xf3, 0xe, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xe0, 0x9, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x90, + 0x2, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2e, 0xff, 0xff, 0x20, 0x0, 0x9f, + 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xef, 0xff, 0xf9, 0x0, 0x0, 0x1e, 0xff, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xd1, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xfa, + 0x75, 0x57, 0xaf, 0xff, 0xff, 0xfe, 0x20, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x60, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9d, + 0xff, 0xfe, 0xd9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F013 "" */ - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6a, 0x30, 0xa, 0xff, 0xff, 0x90, - 0x3, 0xa6, 0x0, 0x0, 0x0, 0x6, 0xff, 0xe5, - 0x6d, 0xff, 0xff, 0xd5, 0x6e, 0xff, 0x60, 0x0, - 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf6, 0x0, 0x0, 0xbf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, - 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf1, 0x0, 0x0, 0x5, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, - 0x0, 0x6, 0xff, 0xff, 0xfe, 0x51, 0x15, 0xef, - 0xff, 0xff, 0x60, 0x0, 0x47, 0x9e, 0xff, 0xff, - 0xe1, 0x0, 0x0, 0x1e, 0xff, 0xff, 0xd8, 0x63, - 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x5, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x10, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x10, 0x0, 0x0, 0x1, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x50, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, - 0x37, 0x8e, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x1d, - 0xff, 0xff, 0xfa, 0x85, 0x0, 0x6, 0xff, 0xff, - 0xfd, 0x41, 0x14, 0xdf, 0xff, 0xff, 0x60, 0x0, - 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x50, 0x0, 0x0, 0x1e, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x0, - 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0x0, 0x6f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, - 0x0, 0x6, 0xff, 0xf6, 0x6e, 0xff, 0xff, 0xe6, - 0x5f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x6b, 0x30, - 0xa, 0xff, 0xff, 0xa0, 0x3, 0xb6, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x80, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x3, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - - /* U+F014 "" */ - 0x0, 0x0, 0x0, 0x1b, 0xff, 0xff, 0xff, 0xb1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, - 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xff, 0x20, 0x0, 0x2, 0xff, 0x10, 0x0, - 0x0, 0x0, 0x0, 0x7, 0xfb, 0x0, 0x0, 0x0, - 0xbf, 0x70, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0xfe, 0x0, - 0xfe, 0x0, 0xfe, 0x0, 0xff, 0x0, 0x0, 0xff, - 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, - 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0xff, - 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, - 0xff, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, - 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, - 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, - 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0xff, - 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, - 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, - 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, - 0xfe, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x1b, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2c, 0xff, 0xff, 0xd6, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xc1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xc8, 0x0, 0x5d, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x6d, 0x40, + 0x0, 0x0, 0xcf, 0xfe, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0xcf, 0xfe, 0x20, 0x0, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf4, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xcf, + 0xff, 0xff, 0xff, 0xff, 0xe7, 0x32, 0x5d, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x13, 0xcf, 0xff, 0xff, + 0xff, 0xe1, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, + 0xfe, 0x60, 0x0, 0x7f, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0xe, 0xff, 0xff, 0xfb, 0x10, 0x0, + 0x4, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x9f, 0xff, 0xff, 0x90, 0x0, 0x0, 0x5f, 0xff, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xfa, 0x0, 0x0, 0x4, 0xff, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0x80, 0x0, + 0x0, 0x7f, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0xe, 0xff, 0xff, 0xfb, 0x10, 0x3, 0xcf, 0xff, + 0xff, 0xff, 0xe1, 0x0, 0x0, 0xb, 0xff, 0xff, + 0xff, 0xfe, 0x60, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xe7, 0x32, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x17, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x1e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf4, 0x0, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0xcf, 0xfe, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0xcf, 0xfe, 0x10, 0x0, 0x1, + 0xc8, 0x0, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x0, 0x5d, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, + 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2c, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F015 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xee, 0x60, - 0x0, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x9f, 0xff, 0xf8, 0x0, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xff, - 0xff, 0xff, 0xa1, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x2, 0xcf, 0xfd, 0x22, 0xdf, 0xfc, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, - 0xff, 0xb1, 0xa9, 0x1b, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xff, 0xf9, 0x1b, 0xff, - 0xb1, 0x9f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x9f, 0xff, 0x63, 0xdf, 0xff, 0xfd, 0x36, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x1a, 0xff, 0xf3, 0x5e, - 0xff, 0xff, 0xff, 0xe5, 0x3f, 0xff, 0xa1, 0x0, - 0x2, 0xcf, 0xfd, 0x27, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x62, 0xdf, 0xfc, 0x20, 0x3e, 0xff, 0xb2, - 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x1b, - 0xff, 0xe3, 0x5f, 0xf9, 0x1c, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xc1, 0x9f, 0xf5, 0x9, - 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfe, 0x6, 0x90, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, - 0xf0, 0x0, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xf0, 0x0, 0xf, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf0, - 0x0, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0xdf, 0xff, 0xff, 0xf0, 0x0, 0xf, 0xff, - 0xff, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, + 0x60, 0x0, 0x0, 0x48, 0x88, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xfd, 0x10, 0x0, 0xaf, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, + 0xff, 0xe3, 0x0, 0xbf, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, + 0xff, 0xff, 0x60, 0xbf, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, 0xf8, + 0xcf, 0xff, 0xf9, 0xbf, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x30, + 0xa, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xd2, 0x3, + 0x10, 0x7f, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xbf, 0xff, 0xfa, 0x0, 0x8f, + 0xd2, 0x4, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x2d, 0xff, 0xff, 0x80, 0xb, 0xff, + 0xff, 0x40, 0x2d, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x4, 0xff, 0xff, 0xf5, 0x2, 0xdf, 0xff, + 0xff, 0xf7, 0x1, 0xbf, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x7f, 0xff, 0xfe, 0x30, 0x3e, 0xff, 0xff, + 0xff, 0xff, 0xa0, 0x9, 0xff, 0xff, 0xc1, 0x0, + 0xa, 0xff, 0xff, 0xc1, 0x6, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x10, 0x6f, 0xff, 0xfe, 0x30, + 0xbf, 0xff, 0xfa, 0x0, 0x9f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe3, 0x4, 0xef, 0xff, 0xf4, + 0xbf, 0xff, 0x70, 0x1b, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x50, 0x2d, 0xff, 0xf3, + 0xd, 0xf4, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0xbf, 0x60, + 0x1, 0x20, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x3, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0xcf, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf2, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf2, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf2, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf2, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf2, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xd0, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xfe, 0x10, 0x0, 0x0, /* U+F019 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x55, 0x55, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xd, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0xdf, 0xff, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, - 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xdf, 0xff, 0xfd, 0x10, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1c, 0xdd, 0xdd, 0xef, + 0xff, 0xff, 0xfe, 0xdd, 0xdd, 0xc1, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1d, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xff, 0xff, 0xff, 0xf6, 0x1, 0xdd, 0x10, - 0x3e, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x50, 0x0, 0x3, 0xef, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, - 0x11, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x11, 0x11, 0x11, 0x10, 0x8, + 0xff, 0xff, 0x80, 0x1, 0x11, 0x11, 0x11, 0x10, + 0xbf, 0xff, 0xff, 0xff, 0xfd, 0x10, 0x8f, 0xf8, + 0x1, 0xdf, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe2, 0x6, 0x60, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x30, 0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x33, 0xff, 0x33, + 0xfd, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x33, 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0x1e, 0xb0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x2e, 0xc1, + 0x8f, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x37, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x73, /* U+F01C "" */ - 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, - 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x90, 0x0, 0x0, 0x1e, 0xff, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xe1, 0x0, - 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xef, 0xf7, 0x0, 0x0, 0xef, 0xf6, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfd, 0x0, - 0x5, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1f, 0xff, 0x50, 0xc, 0xff, 0x90, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xb0, - 0x2f, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x2, 0xff, 0xf2, 0xaf, 0xfb, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfa, - 0xef, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4f, 0xfd, 0xff, 0xff, 0xff, 0xff, - 0x40, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0xc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x2b, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xff, 0xd8, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x9f, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x1, 0xef, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0xa, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0x30, 0x0, + 0x0, 0x5f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xd0, 0x0, + 0x1, 0xef, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf8, 0x0, + 0xa, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0x20, + 0x5f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xd0, + 0xdf, 0xff, 0xb8, 0x88, 0x88, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x48, 0x88, 0x88, 0x8e, 0xff, 0xf5, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0, + 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, /* U+F021 "" */ - 0x0, 0x0, 0x0, 0x2, 0x78, 0xbe, 0xfc, 0xa5, - 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7e, - 0xff, 0xff, 0xff, 0xff, 0xf9, 0x20, 0x1, 0xcc, - 0x0, 0x0, 0x5e, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xe5, 0x1c, 0xff, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, - 0x0, 0x3e, 0xff, 0xff, 0xe7, 0x40, 0x14, 0x8e, - 0xff, 0xff, 0xff, 0xff, 0x2, 0xef, 0xff, 0xf7, - 0x0, 0x0, 0x0, 0x1, 0x8f, 0xff, 0xff, 0xff, - 0x8, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, - 0x1c, 0xff, 0xff, 0xff, 0xf, 0xff, 0xf7, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, - 0x6f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xd, - 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0x60, 0x0, - 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x58, 0x86, 0x0, 0x0, + 0x0, 0x0, 0x4, 0x9d, 0xef, 0xfe, 0xb7, 0x20, + 0x0, 0x0, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x6, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x30, 0x0, + 0xdf, 0xff, 0x0, 0x0, 0x1, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0x10, 0xcf, 0xff, + 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xfe, 0xef, + 0xff, 0xff, 0xff, 0xe3, 0xbf, 0xff, 0x0, 0x2, + 0xef, 0xff, 0xff, 0x94, 0x0, 0x0, 0x4b, 0xff, + 0xff, 0xfe, 0xdf, 0xff, 0x0, 0xd, 0xff, 0xff, + 0xc2, 0x0, 0x0, 0x0, 0x0, 0x3c, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x9f, 0xff, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0x2, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x11, 0x0, 0x8, 0xff, 0xff, 0xff, 0x9, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, + 0xee, 0xff, 0xff, 0xff, 0xe, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x3f, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x2b, 0xcc, 0x60, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xca, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xdf, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, - 0xd0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf4, - 0xff, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, - 0x0, 0x7f, 0xff, 0xd0, 0xff, 0xff, 0xff, 0xd1, - 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x60, - 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x7f, 0xff, 0xfd, 0x10, 0xff, 0xff, 0xff, 0xff, - 0xd6, 0x30, 0x4, 0x6d, 0xff, 0xff, 0xf3, 0x0, - 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x30, 0x0, 0xff, 0xd1, 0x5f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x0, 0x0, - 0xdd, 0x10, 0x2, 0xaf, 0xff, 0xff, 0xff, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, - 0x7b, 0xdf, 0xfc, 0x97, 0x10, 0x0, 0x0, 0x0, + 0xac, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xbc, 0xb2, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, + 0x0, 0xe, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0xff, 0xe0, 0xff, 0xff, 0xff, 0xee, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0x90, + 0xff, 0xff, 0xff, 0x80, 0x0, 0x11, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xff, 0xff, 0x20, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x9f, 0xff, 0xf9, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xb2, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xff, 0xff, + 0xd0, 0x0, 0xff, 0xfd, 0xef, 0xff, 0xff, 0xa4, + 0x0, 0x0, 0x4a, 0xff, 0xff, 0xfe, 0x20, 0x0, + 0xff, 0xfb, 0x3e, 0xff, 0xff, 0xff, 0xfe, 0xef, + 0xff, 0xff, 0xff, 0xe2, 0x0, 0x0, 0xff, 0xfc, + 0x1, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfb, 0x10, 0x0, 0x0, 0xff, 0xfd, 0x0, 0x3, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x60, 0x0, + 0x0, 0x0, 0xff, 0xfd, 0x0, 0x0, 0x2, 0x7c, + 0xff, 0xff, 0xd9, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x68, 0x85, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F026 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, - 0x0, 0x0, 0x6, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xb6, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xff, 0xff, 0x38, 0x88, 0x88, 0x8f, 0xff, 0xff, + 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x55, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x10, /* U+F027 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xdf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x6a, 0x20, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xbf, 0xe3, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x1b, - 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x1a, 0xfa, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0xbf, 0xf2, 0xdf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x6b, 0x20, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x55, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3b, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x38, + 0x88, 0x88, 0x8f, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x1, 0xb9, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0, 0x6f, 0xfc, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x1, 0xcf, + 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0xef, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x0, 0xa, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xdf, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0, 0xbf, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x6f, 0xfd, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x2, 0xdb, 0x10, + 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, + 0x0, 0x0, /* U+F028 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xf8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x55, 0x0, 0x0, 0x5, 0xff, 0xd5, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, - 0x0, 0x0, 0x0, 0x2b, 0xff, 0x60, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0x0, 0x0, 0x62, - 0x0, 0x7f, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xff, 0xff, 0x0, 0x4, 0xff, 0x71, 0x7, 0xfe, - 0x10, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0x0, - 0x0, 0x9f, 0xfa, 0x0, 0xcf, 0x80, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xff, 0x0, 0x0, 0x3, 0xff, - 0x90, 0x2f, 0xe1, 0xdf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x6a, 0x20, 0x3f, 0xf2, 0xb, 0xf7, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xbf, - 0xe3, 0x9, 0xfa, 0x6, 0xfa, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x1b, 0xfa, 0x4, 0xfc, - 0x4, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x0, 0xfe, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x1, 0xff, - 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x1a, 0xfa, 0x4, 0xfc, 0x4, - 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0xbf, 0xf2, 0x9, 0xfa, 0x6, 0xfa, 0xdf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x6b, 0x20, 0x3f, - 0xf2, 0xb, 0xf7, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x3, 0xef, 0x90, 0x2f, 0xf1, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0x0, 0x0, - 0x9f, 0xfb, 0x0, 0xcf, 0x80, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xff, 0x0, 0x4, 0xff, 0x81, 0x7, - 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0x0, 0x0, 0x62, 0x0, 0x7f, 0xf3, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xff, 0x0, 0x0, 0x0, - 0x2a, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x55, 0x0, 0x0, 0x5, 0xff, 0xe5, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xf9, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x18, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0xc1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xb6, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xdf, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, + 0x0, 0x0, 0x21, 0x0, 0x1c, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0x0, + 0x0, 0x4, 0xfe, 0x50, 0x1, 0xef, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0x0, + 0x0, 0x5, 0xff, 0xf6, 0x0, 0x4f, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0x40, 0xa, 0xff, 0x40, + 0x38, 0x88, 0x88, 0x8f, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x5, 0xff, 0xe0, 0x2, 0xff, 0xa0, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x1c, 0xa1, 0x0, 0x8f, 0xf6, 0x0, 0xcf, 0xf0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x6f, 0xfd, 0x0, 0x1f, 0xfc, 0x0, 0x8f, 0xf2, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x1c, 0xff, 0x80, 0xa, 0xff, 0x0, 0x4f, 0xf5, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0xdf, 0xd0, 0x7, 0xff, 0x20, 0x3f, 0xf7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0xaf, 0xf0, 0x6, 0xff, 0x30, 0x2f, 0xf7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0xdf, 0xd0, 0x7, 0xff, 0x20, 0x3f, 0xf7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x1c, 0xff, 0x80, 0xa, 0xff, 0x0, 0x4f, 0xf5, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x6f, 0xfd, 0x0, 0x1f, 0xfc, 0x0, 0x8f, 0xf2, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x1c, 0xa1, 0x0, 0x9f, 0xf6, 0x0, 0xdf, 0xe0, + 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x5, 0xff, 0xe0, 0x3, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0x40, 0xa, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0x0, + 0x0, 0x5, 0xff, 0xf6, 0x0, 0x4f, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x0, + 0x0, 0x4, 0xfe, 0x50, 0x1, 0xef, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x0, + 0x0, 0x0, 0x21, 0x0, 0x1d, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xdf, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0xc1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x18, 0x50, 0x0, 0x0, 0x0, /* U+F03E "" */ 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0xcf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0x10, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x18, 0xee, - 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0x0, 0x9f, 0xff, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xfe, 0x0, - 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0x90, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x9f, 0xff, 0xf9, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xf9, 0x0, 0x0, 0x0, 0xff, 0xff, - 0x0, 0x19, 0xff, 0x90, 0x0, 0x0, 0x0, 0x6f, - 0xff, 0xff, 0x90, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xf9, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, - 0xff, 0x90, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x69, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf9, 0x0, 0xff, 0xff, 0x0, 0x0, 0x6, 0xff, - 0x90, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x6f, 0xff, 0xfb, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0xff, 0xff, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, - 0xff, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, + 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x93, 0x27, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, + 0xff, 0xf9, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, + 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, + 0xe, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x3f, 0xff, + 0xff, 0xff, 0xfc, 0x10, 0x6f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x50, 0x3, 0xdf, 0xff, 0xff, 0xff, + 0xc1, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xef, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x3e, 0xff, + 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, + 0xff, 0xff, 0xfc, 0x10, 0x3, 0xef, 0xc1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0xc1, 0x0, 0x0, 0x3b, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xfc, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, - - /* U+F040 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x18, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xcf, 0xfe, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, - 0xff, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xfe, 0x30, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x1d, - 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xce, 0x31, 0xdf, 0xff, 0xff, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xe3, - 0x1d, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xcf, 0xf8, 0xfe, 0x31, 0xdf, 0xff, 0xf1, - 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0x4c, 0xff, - 0xe3, 0x1d, 0xff, 0x30, 0x0, 0x0, 0x0, 0x1, - 0xcf, 0xf4, 0xcf, 0xff, 0xfe, 0x31, 0xc3, 0x0, - 0x0, 0x0, 0x0, 0x1c, 0xff, 0x4c, 0xff, 0xff, - 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, - 0xf4, 0xcf, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0x0, 0x0, 0x1c, 0xff, 0x4c, 0xff, 0xff, 0xff, - 0xff, 0x30, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xf4, - 0xcf, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, - 0x0, 0x1c, 0xff, 0x4c, 0xff, 0xff, 0xff, 0xff, - 0x30, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xf4, 0xcf, - 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, - 0x1c, 0xff, 0xed, 0xff, 0xff, 0xff, 0xff, 0x30, - 0x0, 0x0, 0x0, 0x0, 0xdf, 0xd2, 0xdf, 0xff, - 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x10, 0x1d, 0xff, 0xff, 0xff, 0x30, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x1, 0xdf, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0x0, 0x2f, 0xff, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x1, 0xcf, - 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf3, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, /* U+F048 "" */ - 0xdf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x1c, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x1c, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x1, 0xdf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x1, 0xdf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, - 0xdf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, + 0x48, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0x70, 0xbf, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xf9, 0xbf, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x1c, 0xff, 0xfc, 0xbf, 0xff, 0x30, 0x0, 0x0, + 0x1, 0xdf, 0xff, 0xfc, 0xbf, 0xff, 0x30, 0x0, + 0x0, 0x2e, 0xff, 0xff, 0xfc, 0xbf, 0xff, 0x30, + 0x0, 0x3, 0xef, 0xff, 0xff, 0xfc, 0xbf, 0xff, + 0x30, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xfc, 0xbf, + 0xff, 0x30, 0x5, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xbf, 0xff, 0x30, 0x6f, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0xbf, 0xff, 0x37, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0xbf, 0xff, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbf, + 0xff, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xbf, 0xff, 0x31, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0xbf, 0xff, 0x30, 0xb, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0xbf, 0xff, 0x30, 0x0, 0xaf, 0xff, + 0xff, 0xff, 0xfc, 0xbf, 0xff, 0x30, 0x0, 0x9, + 0xff, 0xff, 0xff, 0xfc, 0xbf, 0xff, 0x30, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xfc, 0xbf, 0xff, 0x30, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xfc, 0xbf, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xfc, 0xbf, + 0xff, 0x30, 0x0, 0x0, 0x0, 0x4, 0xff, 0xfb, + 0x9f, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, 0x3d, + 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, /* U+F04B "" */ - 0xfa, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xf7, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0xd5, 0x0, 0x0, 0x0, + 0x3, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfc, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xb4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x92, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x71, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x50, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfb, 0x40, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, - 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, + 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xb2, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfa, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x40, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, + 0xff, 0xf7, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x50, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xa2, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe6, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xf9, 0x10, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xfb, 0x20, 0x0, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xff, 0xe6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, + 0x91, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xfc, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, /* U+F04C "" */ - 0xdf, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0xdf, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0x1a, 0xef, 0xff, 0xff, 0xd5, 0x0, 0x0, 0x1a, + 0xef, 0xff, 0xff, 0xd5, 0xa, 0xff, 0xff, 0xff, + 0xff, 0xf2, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, + 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x80, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xef, 0xff, 0xff, 0xff, 0xff, + 0x60, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0x66, + 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x6, 0xff, + 0xff, 0xff, 0xff, 0xd0, 0x4, 0x89, 0x99, 0x98, + 0x71, 0x0, 0x0, 0x4, 0x89, 0x99, 0x98, 0x71, + 0x0, + + /* U+F04D "" */ + 0x3, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x60, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xd0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, - 0xfd, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xfd, - - /* U+F04D "" */ - 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xff, 0xff, 0xff, 0xf2, 0x1a, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, + 0x0, /* U+F051 "" */ - 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfc, - 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xe3, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfe, 0x30, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe3, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0xff, 0xff, + 0x5, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x68, + 0x87, 0x5f, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xff, 0x7f, 0xff, 0xe3, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x40, 0x0, + 0x0, 0x0, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x8f, 0xff, 0xff, + 0xff, 0x60, 0x0, 0x0, 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0xff, 0xff, 0x8f, + 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0xff, + 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, + 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfd, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, 0xff, + 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, + 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xfd, 0x10, + 0x0, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xc1, + 0x0, 0x0, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x8f, 0xff, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x8f, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x7f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0x1c, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, /* U+F052 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xd3, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xcf, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, 0xe3, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0xcf, 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, 0xff, 0xff, - 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, - 0x0, 0x0, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xe3, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x0, - 0x0, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xe3, 0x0, 0x1, 0xcf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, - 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xe3, 0xdf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9a, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1e, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, + 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xa0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf5, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xa, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0x1, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xf8, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, + 0x5, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xb0, /* U+F053 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x55, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x5f, 0xff, - 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x5, 0xff, - 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xf9, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, - 0xf9, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x5, 0x60, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x93, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xfd, 0x10, + 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xd1, 0x0, + 0x0, 0x0, 0x4, 0xff, 0xff, 0xfd, 0x10, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xff, 0xd1, 0x0, 0x0, + 0x0, 0x4, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x0, + 0x4, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0xf6, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0x60, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, /* U+F054 "" */ - 0x0, 0x5, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, - 0x0, 0x5, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, - 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0x90, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0x90, - 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, - 0x90, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, - 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, - 0x0, 0x6f, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0x60, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xf6, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfa, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfa, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4f, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7f, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, 0xf5, 0x0, + 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x1c, 0xff, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x1, 0xcf, 0xff, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x1c, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, + 0x1, 0xdf, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x1d, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F067 "" */ - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a, 0xa8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x3f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, + 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x20, 0x23, 0x33, 0x33, 0x33, + 0x8f, 0xff, 0xfe, 0x33, 0x33, 0x33, 0x33, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf8, 0x0, 0x0, - 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8d, 0xdc, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, /* U+F068 "" */ - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x1, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x10, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, + 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, + 0xff, 0xff, 0xe1, 0x1, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x10, 0x0, + + /* U+F06E "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xad, 0xef, + 0xfe, 0xc9, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xa2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3c, 0xff, 0xff, 0xff, 0xba, + 0xbd, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xfd, 0x50, 0x0, + 0x0, 0x18, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0xff, 0xf6, 0x0, 0x0, + 0x0, 0xc, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x39, + 0x95, 0x0, 0x2, 0xef, 0xff, 0xff, 0x70, 0x0, + 0x0, 0xaf, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x3f, + 0xff, 0xd2, 0x0, 0x5f, 0xff, 0xff, 0xf5, 0x0, + 0x7, 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x3f, + 0xff, 0xfe, 0x10, 0xd, 0xff, 0xff, 0xff, 0x20, + 0x2f, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0xaf, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xc0, + 0xbf, 0xff, 0xff, 0xff, 0x0, 0x48, 0x6b, 0xff, + 0xff, 0xff, 0xd0, 0x5, 0xff, 0xff, 0xff, 0xf5, + 0xff, 0xff, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x4, 0xff, 0xff, 0xff, 0xf9, + 0xbf, 0xff, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xff, + 0xff, 0xff, 0xe0, 0x5, 0xff, 0xff, 0xff, 0xf5, + 0x1f, 0xff, 0xff, 0xff, 0x20, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0x90, 0x8, 0xff, 0xff, 0xff, 0xc0, + 0x6, 0xff, 0xff, 0xff, 0x70, 0x8, 0xff, 0xff, + 0xff, 0xff, 0x20, 0xd, 0xff, 0xff, 0xff, 0x20, + 0x0, 0xaf, 0xff, 0xff, 0xe0, 0x0, 0xaf, 0xff, + 0xff, 0xf4, 0x0, 0x5f, 0xff, 0xff, 0xf5, 0x0, + 0x0, 0xb, 0xff, 0xff, 0xfb, 0x0, 0x4, 0xad, + 0xc8, 0x10, 0x2, 0xef, 0xff, 0xff, 0x70, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0xff, 0xf6, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xfd, 0x50, 0x0, + 0x0, 0x18, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3c, 0xff, 0xff, 0xff, 0xba, + 0xac, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xa2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xad, 0xff, + 0xfe, 0xc9, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F070 "" */ + 0x4, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xef, 0xff, 0xc1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xe3, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0x26, 0xad, 0xff, 0xed, + 0xb7, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xdf, 0xff, 0xfa, 0x16, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xd7, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xba, 0xbe, 0xff, 0xff, 0xfe, 0x60, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, + 0xff, 0xc5, 0x0, 0x0, 0x3, 0xbf, 0xff, 0xff, + 0xb1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1b, 0xff, 0xff, 0xc1, 0x6, 0xba, 0x50, + 0x0, 0x7f, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xe4, 0x7f, + 0xff, 0xc1, 0x0, 0xbf, 0xff, 0xff, 0xd1, 0x0, + 0x0, 0x0, 0xad, 0x20, 0x0, 0x4, 0xff, 0xff, + 0xfc, 0xff, 0xff, 0xc0, 0x3, 0xff, 0xff, 0xff, + 0xb0, 0x0, 0x0, 0x5f, 0xff, 0x50, 0x0, 0x2, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0x50, 0xe, 0xff, + 0xff, 0xff, 0x50, 0x0, 0xe, 0xff, 0xff, 0x90, + 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xfa, 0x0, + 0xbf, 0xff, 0xff, 0xfe, 0x0, 0x2, 0xff, 0xff, + 0xff, 0xc2, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, + 0xb0, 0xa, 0xff, 0xff, 0xff, 0xf2, 0x0, 0xe, + 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x3e, 0xff, + 0xff, 0xfa, 0x0, 0xcf, 0xff, 0xff, 0xfe, 0x0, + 0x0, 0x5f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x1b, 0xff, 0xff, 0xd2, 0xe, 0xff, 0xff, 0xff, + 0x50, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xf8, 0xff, 0xff, + 0xff, 0x90, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x4, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x2, 0xef, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x1, 0xcf, + 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xdf, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x0, 0x9f, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xbf, 0xff, 0xff, 0xc4, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0x60, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6e, 0xff, 0xff, + 0xfe, 0xba, 0xb5, 0x0, 0x0, 0x2d, 0xff, 0xff, + 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xdf, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0xa, + 0xff, 0xff, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x37, 0xbd, 0xef, 0xfd, 0xb4, 0x0, + 0x0, 0x7, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x44, 0x0, /* U+F071 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6e, 0xe5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0x87, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xef, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xef, 0xfe, 0x10, 0x0, + 0x8f, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x8, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, - 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, - 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0x30, + 0x2f, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xc, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, - 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfd, 0x0, 0x0, - 0xdf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xff, 0xfc, 0x0, 0x0, 0xcf, 0xff, - 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, - 0xff, 0xfc, 0x0, 0x0, 0xcf, 0xff, 0xd0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xfc, - 0x0, 0x0, 0xef, 0xff, 0xf8, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0x0, 0x0, - 0xff, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, - 0x8, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, - 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, - 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf2, - 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, - 0x10, 0x1, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, - 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0xc, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xb0, 0x0, 0x0, 0x4f, 0xff, 0xff, - 0xff, 0xff, 0x10, 0x1, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, - 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0xe, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x10, 0x1, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xd0, 0x8f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x6f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf6, + 0xb, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9, 0xff, 0xff, 0x80, 0x0, 0x1e, 0xff, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xff, 0xff, 0xf6, 0x0, 0x0, 0xef, + 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0x70, 0x0, 0xf, + 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xff, 0xf8, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0x80, 0x0, + 0xf, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf9, 0x0, + 0x1, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xa0, + 0x0, 0x2f, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, + 0xd1, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xf6, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x40, 0x0, 0xc, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe0, 0x0, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0x1, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf6, 0x13, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x10, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x48, + 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, + 0x99, 0x99, 0x99, 0x99, 0x98, 0x71, 0x0, /* U+F074 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf9, 0x0, - 0xff, 0xff, 0xfb, 0x82, 0x0, 0x0, 0x0, 0x28, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0x90, 0xff, 0xff, - 0xff, 0xff, 0x60, 0x0, 0x9, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, - 0xf9, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0x36, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, - 0x0, 0x0, 0x6, 0xff, 0xfe, 0x1e, 0xff, 0xff, - 0x50, 0x0, 0x0, 0xff, 0xfa, 0x0, 0x0, 0x0, - 0x0, 0x2f, 0xf5, 0xaf, 0xff, 0xf3, 0x0, 0x0, - 0x0, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x7, - 0xe2, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0xfa, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48, 0xff, - 0xfe, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xf6, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xff, 0xf1, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xef, 0xff, 0x84, 0x0, 0x0, 0x0, 0x0, 0x60, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, - 0x2e, 0x70, 0x0, 0x0, 0x0, 0xf9, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3e, 0xff, 0xfa, 0x5f, 0xe3, - 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, - 0x5, 0xef, 0xff, 0xf1, 0xef, 0xfe, 0x50, 0x0, - 0x0, 0xff, 0xf9, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x90, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, - 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, - 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x8, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, - 0xfd, 0x92, 0x0, 0x0, 0x0, 0x2a, 0xdf, 0xff, - 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa0, 0x0, + 0xf, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xe3, 0x0, 0x24, 0x44, 0x44, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x2, 0x44, 0x4f, 0xff, 0xfe, 0x30, + 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, + 0xff, 0xff, 0xa0, 0x0, 0x0, 0x3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x1, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, + 0x12, 0x22, 0x26, 0xff, 0xff, 0xa0, 0x1d, 0xff, + 0xff, 0xd2, 0x2f, 0xff, 0xfd, 0x10, 0x0, 0x0, + 0x0, 0x7f, 0xfb, 0x1, 0xdf, 0xff, 0xfd, 0x10, + 0xf, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x8, + 0xc0, 0xc, 0xff, 0xff, 0xe2, 0x0, 0xe, 0xfd, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xfe, 0x20, 0x0, 0x4, 0x81, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x9f, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x4, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, + 0xff, 0xff, 0xf5, 0x5, 0xe2, 0x0, 0xe, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, + 0x60, 0x4f, 0xfd, 0x10, 0xf, 0xff, 0xe2, 0x0, + 0x12, 0x22, 0x26, 0xff, 0xff, 0xf7, 0x3, 0xff, + 0xff, 0xd2, 0x2f, 0xff, 0xfe, 0x20, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x1, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe2, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x24, 0x44, + 0x44, 0x30, 0x0, 0x0, 0x0, 0x0, 0x2, 0x44, + 0x4f, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x60, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xa2, 0x0, 0x0, /* U+F077 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x55, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6, 0xff, 0x60, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0x60, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, - 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xaa, 0xff, - 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0xff, 0xfa, 0x0, 0xaf, 0xff, 0xff, 0xff, - 0x60, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xa0, - 0x0, 0xa, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x6, - 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0xaf, - 0xff, 0xff, 0xff, 0x60, 0x5f, 0xff, 0xff, 0xff, - 0xa0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, - 0xf5, 0x7f, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xaf, 0xff, 0xff, 0xf7, 0xa, 0xff, - 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, - 0xff, 0xff, 0xa0, 0x0, 0xaf, 0xfa, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfa, 0x0, - 0x0, 0x8, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8, 0x80, 0x0, + 0x0, 0x8, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xe2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xfa, 0x3f, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xfa, 0x0, 0x3f, 0xff, + 0xff, 0xe2, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xfa, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xe2, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xe2, 0x0, 0x8, 0xff, 0xff, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, + 0xe2, 0x6, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xff, 0xe0, 0x9f, 0xff, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0x11, 0xdf, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x60, 0x1, + 0xa8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3b, 0x50, 0x0, /* U+F078 "" */ - 0x0, 0x8, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8, 0x70, 0x0, 0x0, 0xaf, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0xf9, 0x0, 0xa, 0xff, 0xff, 0x90, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x90, 0x7f, - 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xaf, 0xff, 0xff, 0xf7, 0x5f, 0xff, 0xff, 0xff, - 0x90, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, - 0xf5, 0x6, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, - 0x0, 0xaf, 0xff, 0xff, 0xff, 0x60, 0x0, 0x6f, - 0xff, 0xff, 0xff, 0x90, 0x0, 0xa, 0xff, 0xff, - 0xff, 0xf6, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, - 0xf9, 0x0, 0xaf, 0xff, 0xff, 0xff, 0x60, 0x0, - 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0x9a, 0xff, - 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6f, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x55, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3b, 0x60, 0x1, 0xdf, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0x60, 0x9f, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xff, 0x16, 0xff, 0xff, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xff, 0xd0, 0x8, 0xff, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xff, 0xe2, 0x0, 0x8, + 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xff, 0xe2, 0x0, 0x0, 0x8, 0xff, 0xff, 0xfa, + 0x0, 0x0, 0x3f, 0xff, 0xff, 0xe2, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xfa, 0x0, 0x3f, 0xff, + 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xfa, 0x3f, 0xff, 0xff, 0xe2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0xff, 0xe2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, + 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xa2, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, /* U+F079 "" */ - 0x0, 0x0, 0x1c, 0xc1, 0x0, 0xef, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, - 0x0, 0xbf, 0xfa, 0x0, 0x6f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x9, - 0xff, 0xff, 0x90, 0x8, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0xf6, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, - 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, - 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, - 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, - 0xff, 0xff, 0xf2, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, - 0xff, 0x30, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf9, 0x0, 0x6f, 0xff, 0xff, 0xf6, - 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x80, 0x9, 0xff, 0xff, 0x90, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf6, 0x0, 0xbf, 0xfb, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0x0, 0x1d, 0xd1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x42, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf4, + 0x0, 0x0, 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x60, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, + 0xff, 0xf4, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x9f, + 0xff, 0xff, 0xff, 0xf4, 0x2, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x4, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xef, 0xff, 0xf4, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf9, + 0x0, 0x0, 0xf, 0xff, 0xf4, 0xef, 0xf9, 0x9f, + 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, + 0xff, 0x90, 0x0, 0x0, 0x7f, 0xf5, 0xe, 0xff, + 0x90, 0xaf, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xf9, 0x0, 0x0, 0x0, 0x32, 0x0, + 0xef, 0xf9, 0x0, 0x41, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xe, 0xff, 0x90, 0x0, 0x0, 0x0, + 0x0, 0xe, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xef, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0x90, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x19, 0x80, + 0xe, 0xff, 0x90, 0x2a, 0x70, 0x0, 0x0, 0xe, + 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, + 0xff, 0xa0, 0xef, 0xf9, 0x2e, 0xff, 0x60, 0x0, + 0x0, 0xef, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xff, 0x9e, 0xff, 0xad, 0xff, 0xf9, + 0x0, 0x0, 0xe, 0xff, 0xc7, 0x77, 0x77, 0x77, + 0x77, 0x73, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x10, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf5, 0x4, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x10, 0x0, 0x0, 0xe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x4, 0xff, + 0xff, 0xff, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x9f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, + 0x3, 0xff, 0xff, 0xfc, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xfc, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xdb, 0x0, 0x0, + 0x0, /* U+F07B "" */ - 0x4, 0xcf, 0xff, 0xff, 0xfc, 0x40, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, - 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x1b, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd8, 0x88, 0x88, 0x88, 0x88, 0x87, 0x30, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, @@ -2788,379 +3009,502 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfd, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0x5, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, /* U+F093 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcc, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1c, 0xff, 0xc1, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, - 0xff, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, 0xff, 0xc1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0xcf, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x10, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, + 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x22, 0x22, 0xcf, + 0xff, 0xff, 0xf6, 0x22, 0x22, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xfd, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, - 0xff, 0x80, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, - 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x10, - 0x0, 0x1, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0xbf, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x11, 0x11, 0x11, 0x0, 0xbf, + 0xff, 0xff, 0xf4, 0x0, 0x11, 0x11, 0x11, 0x10, + 0xbf, 0xff, 0xff, 0xff, 0xc0, 0xaf, 0xff, 0xff, + 0xf3, 0xc, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0x18, 0x99, 0x99, 0x60, 0x1f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x10, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xcc, 0xcc, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x33, 0xff, 0x33, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x33, - 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0x1e, 0xb0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x2e, 0xc1, + 0x8f, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x37, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x73, /* U+F095 "" */ - 0x0, 0x8c, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x9, 0xff, 0xfd, 0x10, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, - 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xaf, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xfa, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xef, 0xff, 0xff, 0xf3, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6, 0x62, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0xfe, 0xb7, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, + 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, + 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0xff, 0x90, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, + 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x26, 0x10, 0x0, 0x0, 0x0, 0x5f, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xbf, 0xfc, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x6d, 0xff, 0xff, + 0xfa, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xfe, 0x10, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0x5, 0xef, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, + 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0xc, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x20, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x4f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xe, 0xff, 0xf9, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, - 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xa, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xf9, 0x0, - 0x0, 0x3, 0xea, 0x10, 0x0, 0x0, 0x0, 0x1d, - 0xff, 0xff, 0xc4, 0x0, 0x1e, 0xff, 0xe7, 0x10, - 0x0, 0x0, 0x1, 0xdf, 0xff, 0xff, 0x83, 0xcf, - 0xff, 0xff, 0xd5, 0x0, 0x0, 0x0, 0x1d, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x1, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfd, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x17, 0xef, 0xff, 0xff, 0xff, 0x90, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xae, 0xfe, - 0xa4, 0x0, + 0x9, 0xff, 0xff, 0xff, 0xd9, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17, + 0x76, 0x53, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F0C4 "" */ - 0x1, 0x7b, 0xfd, 0xb5, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, - 0xff, 0xff, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfc, 0x8a, 0xef, - 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, - 0xdd, 0x50, 0xff, 0xb0, 0x0, 0x6, 0xff, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0x3, 0xbe, 0x44, 0xcc, - 0xff, 0x90, 0x0, 0x0, 0x3f, 0xfb, 0x0, 0x0, - 0x0, 0x2, 0x9f, 0x60, 0x0, 0xad, 0xbf, 0xe3, - 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, 0x1, 0x7e, - 0x81, 0x0, 0x2c, 0xa1, 0x4f, 0xfe, 0x50, 0x0, - 0xb, 0xff, 0x0, 0x0, 0x6d, 0xa2, 0x0, 0x4, - 0xe7, 0x0, 0x6, 0xff, 0xfd, 0x97, 0xbf, 0xff, - 0x81, 0x4c, 0xc4, 0x0, 0x0, 0x8f, 0x30, 0x0, - 0x0, 0x6f, 0xff, 0xff, 0xff, 0xf4, 0xbf, 0xe5, - 0x0, 0x0, 0x1a, 0xd1, 0x0, 0x0, 0x0, 0x0, - 0x6c, 0xef, 0xea, 0xf5, 0xf8, 0x0, 0x0, 0x3, - 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x3c, 0xf0, 0xdc, 0x0, 0x6e, 0x60, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3b, - 0xc0, 0xdd, 0x9, 0xee, 0x60, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x6b, 0xdf, 0xd9, 0xf6, 0x4, 0x52, - 0xcb, 0x13, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x6e, - 0xff, 0xff, 0xff, 0xe4, 0x9f, 0xff, 0x80, 0x0, - 0x1b, 0xc1, 0x0, 0x0, 0x6, 0xff, 0xfe, 0xa8, - 0xcf, 0xff, 0x91, 0x4d, 0xb4, 0x0, 0x0, 0x7f, - 0x30, 0x0, 0x4f, 0xff, 0x60, 0x0, 0xb, 0xfe, - 0x0, 0x0, 0x6e, 0x92, 0x0, 0x4, 0xf6, 0x0, - 0xbf, 0xf3, 0x0, 0x0, 0x9, 0xff, 0x0, 0x0, - 0x1, 0x8f, 0x71, 0x0, 0x2d, 0x91, 0xff, 0x90, - 0x0, 0x0, 0x3e, 0xfb, 0x0, 0x0, 0x0, 0x2, - 0xaf, 0x50, 0x0, 0xac, 0xef, 0xa0, 0x0, 0x6, - 0xef, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x3, 0xcd, - 0x44, 0xbd, 0xaf, 0xfb, 0x79, 0xdf, 0xff, 0x60, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xee, 0x60, - 0x1d, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8c, - 0xfe, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0x99, 0x72, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, + 0xf7, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7b, 0xb8, + 0x10, 0x1e, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, + 0x0, 0x2, 0xef, 0xff, 0xfe, 0x38, 0xff, 0xff, + 0xef, 0xff, 0xf1, 0x0, 0x0, 0x2, 0xef, 0xff, + 0xff, 0xf4, 0xdf, 0xfe, 0x10, 0x7f, 0xff, 0x50, + 0x0, 0x2, 0xef, 0xff, 0xff, 0xf5, 0xf, 0xff, + 0x80, 0x0, 0xff, 0xf7, 0x0, 0x2, 0xef, 0xff, + 0xff, 0xf5, 0x0, 0xef, 0xfc, 0x0, 0x4f, 0xff, + 0x60, 0x2, 0xef, 0xff, 0xff, 0xf5, 0x0, 0xa, + 0xff, 0xfd, 0xbf, 0xff, 0xf4, 0x3, 0xef, 0xff, + 0xff, 0xf5, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xff, + 0xff, 0xe5, 0xef, 0xff, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x18, 0xcd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, + 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5, 0x99, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe2, + 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, + 0x1e, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xe2, 0x0, 0x0, 0x8, 0xff, 0xff, 0xef, + 0xff, 0xf6, 0x5, 0xff, 0xff, 0xff, 0xe2, 0x0, + 0x0, 0xdf, 0xfe, 0x10, 0x7f, 0xff, 0x50, 0x5, + 0xff, 0xff, 0xff, 0xe2, 0x0, 0xf, 0xff, 0x80, + 0x0, 0xff, 0xf7, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xe2, 0x0, 0xef, 0xfc, 0x0, 0x4f, 0xff, 0x60, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xe2, 0xa, 0xff, + 0xfd, 0xbf, 0xff, 0xf2, 0x0, 0x0, 0x5, 0xff, + 0xff, 0xff, 0xe2, 0x2f, 0xff, 0xff, 0xff, 0xf9, + 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0x40, + 0x4f, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xbe, 0xfb, 0x30, 0x0, 0x18, 0xcd, 0xb5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, /* U+F0C5 "" */ - 0x0, 0x0, 0x0, 0x1, 0x9e, 0xff, 0xff, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, - 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1c, 0xfd, 0xff, 0x0, - 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xcf, 0xd1, 0xff, 0x0, 0x0, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, - 0xfd, 0x10, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xd1, 0x0, - 0xff, 0x0, 0x0, 0x0, 0xff, 0x9e, 0xff, 0xff, - 0xff, 0xf8, 0x1c, 0xfd, 0x10, 0x0, 0xff, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x1, - 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf8, 0x0, 0x0, 0x1c, 0xfd, 0xff, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xcf, 0xd1, 0xff, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1c, 0xfd, 0x10, 0xff, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xd1, - 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x1c, 0xfd, 0x10, 0x0, 0xff, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x8f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x1, 0x44, 0x44, 0x44, 0x44, + 0x42, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0x80, 0xeb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0xe, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xef, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0xe, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0xef, 0xff, 0xf4, 0xaf, 0xff, 0xf4, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xff, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0xbb, 0xbb, 0xb3, 0xff, 0xff, 0xf4, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x5f, 0xff, 0xff, 0x40, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xf4, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x5f, 0xff, 0xff, 0x40, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, + 0xf4, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x5f, 0xff, 0xff, 0x40, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, + 0xff, 0xf4, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, 0x40, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, + 0xff, 0xff, 0xf4, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, 0x40, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf5, 0xff, 0xff, 0xf4, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, + 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0xff, 0xff, 0xf4, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, + 0xff, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0xff, 0xff, 0xf5, 0xa, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, + 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xa2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x37, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x60, 0x0, + 0x0, 0x0, 0x0, /* U+F0C7 "" */ - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe9, 0x10, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0, - 0xff, 0x0, 0xff, 0xff, 0xff, 0x10, 0x1, 0xff, - 0x2d, 0xfe, 0x30, 0x0, 0xff, 0x0, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0x1, 0xdf, 0xe3, 0x0, - 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, - 0x0, 0x1d, 0xfe, 0x30, 0xff, 0x0, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0x0, 0x1, 0xdf, 0xe1, - 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, - 0x0, 0x0, 0x1d, 0xfa, 0xff, 0x0, 0xff, 0xff, - 0xff, 0x10, 0x1, 0xff, 0x0, 0x0, 0x2, 0xfe, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8f, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf8, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, - 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, - 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, - 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, + 0x4, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x87, 0x20, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, + 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x40, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x40, 0x0, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xff, 0xff, 0x40, 0xf, 0xff, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0x30, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xfe, 0xf, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xff, 0xf3, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, + 0x4f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xff, 0xff, 0xf4, 0xff, 0xfd, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x7e, 0xff, 0xff, + 0xff, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x82, 0x15, 0xef, 0xff, + 0xff, 0xff, 0xff, 0x4f, 0xff, 0xff, 0xff, 0xff, + 0x70, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xff, 0x4f, 0xff, 0xff, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, + 0xf4, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, + 0x9, 0xff, 0xff, 0xff, 0xff, 0x4f, 0xff, 0xff, + 0xff, 0xff, 0x30, 0x0, 0x0, 0xef, 0xff, 0xff, + 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x10, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x4f, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xa9, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3a, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x1a, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, + 0x0, /* U+F0E7 "" */ - 0x0, 0xc, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, - 0x1f, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x5f, - 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x9f, 0xff, - 0xff, 0xa0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, - 0x50, 0x0, 0x0, 0x1, 0xff, 0xff, 0xfe, 0x0, - 0x0, 0x0, 0x5, 0xff, 0xff, 0xf9, 0x0, 0x0, - 0x33, 0x9, 0xff, 0xff, 0xf2, 0x46, 0xae, 0xff, - 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x4f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x80, 0x8f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x20, 0xcf, 0xff, 0xff, 0xce, - 0xff, 0xfa, 0x0, 0xff, 0xc8, 0x40, 0xf, 0xff, - 0xf2, 0x0, 0x20, 0x0, 0x0, 0x4f, 0xff, 0xa0, - 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x40, 0x0, - 0x0, 0x0, 0x0, 0xcf, 0xfc, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, - 0x3, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x7, - 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0xb, 0xfe, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf6, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x7f, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xbf, 0x10, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xb8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xbb, 0xbb, 0xbb, 0xbb, 0x80, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x20, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0xc, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0x60, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0x0, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xf2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, + 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xaf, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, - /* U+F0F3 "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xdd, 0x20, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x8, 0xff, 0x80, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, - 0xff, 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0xff, 0xfa, - 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x60, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, - 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, - 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, - 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, - 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf9, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, - 0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0xa, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xa0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, + /* U+F0EA "" */ + 0x0, 0x0, 0x0, 0x1, 0x43, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x49, 0x99, 0x99, 0xff, 0xef, 0xfe, 0x99, + 0x99, 0x81, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, + 0xff, 0xa0, 0x1e, 0xff, 0xff, 0xff, 0x90, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x1, 0xef, + 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xff, 0xff, 0xfc, 0x64, 0x44, 0x44, 0x44, + 0x30, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xff, 0x20, 0xaf, 0xff, 0xff, + 0xff, 0xa0, 0xd6, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xfa, 0xe, 0xf6, + 0x0, 0xf, 0xff, 0xff, 0xff, 0x1, 0xff, 0xff, + 0xff, 0xff, 0xa0, 0xef, 0xf6, 0x0, 0xff, 0xff, + 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xfa, 0xe, + 0xff, 0xf6, 0xf, 0xff, 0xff, 0xff, 0x1, 0xff, + 0xff, 0xff, 0xff, 0xa0, 0xef, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xfa, + 0x4, 0x44, 0x44, 0x1f, 0xff, 0xff, 0xff, 0x1, + 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, 0xff, + 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf5, 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0xaf, 0xff, 0xff, 0xf0, 0x1f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x50, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, + 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, - 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0x8, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x80, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0x4f, 0xff, 0xff, 0xff, 0xff, - 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, - 0x0, 0x0, 0x0, 0x0, 0xf, 0x8f, 0xff, 0xff, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xb, 0xba, 0xff, 0xff, 0xb0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfb, - 0x7d, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x2b, 0xff, 0xb2, 0x0, - 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x42, 0x0, - /* U+F11C "" */ - 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x0, + /* U+F0F3 "" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x5, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, - 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, - 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, - 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, + 0x0, 0x2, 0x8d, 0xff, 0xfa, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, + 0xff, 0xff, 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x0, 0x0, + 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0, + 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x9, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa0, 0x1, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x70, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0x6f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, + 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xe, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x15, 0x73, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, + + /* U+F11C "" */ + 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0xff, 0xfd, 0x88, 0x9f, 0xf8, 0x88, 0xff, 0x98, + 0x8e, 0xfa, 0x88, 0xbf, 0xd8, 0x89, 0xff, 0xf8, + 0xff, 0xf8, 0x0, 0xf, 0xc0, 0x0, 0xcf, 0x0, + 0xa, 0xf1, 0x0, 0x4f, 0x70, 0x0, 0xff, 0xf8, + 0xff, 0xf8, 0x0, 0xf, 0xc0, 0x0, 0xcf, 0x0, + 0xa, 0xf1, 0x0, 0x4f, 0x70, 0x0, 0xff, 0xf8, + 0xff, 0xf9, 0x0, 0x1f, 0xd0, 0x0, 0xdf, 0x10, + 0xc, 0xf3, 0x0, 0x6f, 0x90, 0x1, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xdc, 0xce, 0xfe, 0xcc, 0xdf, + 0xfc, 0xcd, 0xff, 0xcc, 0xcf, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0x20, 0x6, 0xf6, 0x0, 0x3f, + 0x80, 0x0, 0xfd, 0x0, 0xa, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0x20, 0x6, 0xf6, 0x0, 0x2f, + 0x80, 0x0, 0xed, 0x0, 0xa, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0x20, 0x6, 0xf6, 0x0, 0x3f, + 0x80, 0x0, 0xfd, 0x0, 0xa, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xdc, 0xce, 0xfe, 0xcc, 0xdf, + 0xfc, 0xcd, 0xff, 0xcc, 0xcf, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xf9, 0x0, 0x1f, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0x90, 0x1, 0xff, 0xf8, + 0xff, 0xf8, 0x0, 0xf, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0x70, 0x0, 0xff, 0xf8, + 0xff, 0xf8, 0x0, 0xf, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0x70, 0x0, 0xff, 0xf8, + 0xff, 0xfd, 0x88, 0x9f, 0xf8, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0xbf, 0xd8, 0x89, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, /* U+F124 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xdf, 0xfe, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xdf, 0xff, - 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, - 0xdf, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x6, 0xdf, 0xff, 0xff, 0xff, 0x60, 0x0, - 0x0, 0x0, 0x0, 0x6, 0xdf, 0xff, 0xff, 0xff, - 0xfe, 0x0, 0x0, 0x0, 0x0, 0x6, 0xdf, 0xff, - 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x6, - 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, - 0x0, 0x6, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x60, 0x0, 0x6, 0xdf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0xdf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, - 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfe, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x5, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xf6, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, + 0x0, 0x0, 0x6, 0xef, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0x0, 0x0, - 0x0, 0x0, - - /* U+F15B "" */ - 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x10, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0xf3, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0xfe, 0x30, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0xff, 0xe3, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0xff, 0xfe, 0x30, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xe3, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0xff, 0xff, 0xfe, 0x30, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xe1, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x18, 0xef, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x29, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3a, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x2, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x4, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf6, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, + 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x0, + 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x3, 0x44, 0x44, 0x44, 0x44, 0x4d, 0xff, + 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, + 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, + 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xc, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, + 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xff, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x17, 0x60, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, + + /* U+F15B "" */ + 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x10, 0x30, + 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf4, 0xf, 0xa0, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x40, 0xff, 0xa0, 0x0, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf, 0xff, + 0xa0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x40, 0xff, 0xff, 0xa0, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf4, 0xf, 0xff, 0xff, 0xa0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0xff, 0xff, + 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, + 0xb, 0xbb, 0xbb, 0xbb, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, @@ -3184,330 +3528,614 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x14, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x10, /* U+F1EB "" */ - 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, 0xbb, 0xcf, - 0xfc, 0xbb, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4, 0x9e, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xe9, 0x40, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x4, 0xbf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfb, 0x40, 0x0, 0x0, - 0x0, 0x2, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, - 0x0, 0x4e, 0xff, 0xff, 0xff, 0xfa, 0x54, 0x20, - 0x2, 0x45, 0xaf, 0xff, 0xff, 0xff, 0xe4, 0x0, - 0x7, 0xff, 0xff, 0xff, 0xc4, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4c, 0xff, 0xff, 0xff, 0x60, - 0x3f, 0xff, 0xff, 0xc4, 0x0, 0x5, 0x8b, 0xcf, - 0xfc, 0xb8, 0x40, 0x0, 0x4c, 0xff, 0xff, 0xf3, - 0xa, 0xff, 0xf8, 0x0, 0x29, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x92, 0x0, 0x8f, 0xff, 0xa0, - 0x0, 0x9f, 0x40, 0x9, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x80, 0x4, 0xf9, 0x0, - 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x0, 0x0, - 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xa5, 0x20, - 0x2, 0x59, 0xef, 0xff, 0xff, 0xe0, 0x0, 0x0, - 0x0, 0x0, 0x9, 0xff, 0xff, 0x60, 0x0, 0x0, - 0x0, 0x0, 0x18, 0xff, 0xff, 0x90, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xaf, 0xa1, 0x0, 0x69, 0xcf, - 0xfc, 0x95, 0x0, 0x2c, 0xfa, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x2, 0x0, 0x5d, 0xff, 0xff, - 0xff, 0xff, 0xd5, 0x0, 0x30, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfa, 0x40, - 0x4, 0xaf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x20, 0x0, - 0x0, 0x2, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xae, - 0xea, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, - 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, - 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0x69, 0xab, 0xcb, 0xa9, 0x63, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x27, + 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xb3, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x20, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xba, + 0xaa, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0, 0x1, 0xdf, 0xff, 0xff, 0xff, 0xc7, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x37, 0xcf, 0xff, 0xff, + 0xff, 0xd1, 0x3, 0xef, 0xff, 0xff, 0xf9, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x29, + 0xff, 0xff, 0xff, 0xe3, 0xef, 0xff, 0xff, 0xb2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xbf, 0xff, 0xff, 0xe7, 0xff, 0xff, + 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf7, 0x7, + 0xfe, 0x20, 0x0, 0x0, 0x0, 0x48, 0xbe, 0xff, + 0xfd, 0xb8, 0x40, 0x0, 0x0, 0x0, 0x2d, 0xf7, + 0x0, 0x4, 0x10, 0x0, 0x0, 0x18, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe8, 0x10, 0x0, 0x0, + 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xb1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xff, 0xff, 0xc8, 0x76, 0x78, 0xcf, + 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xe7, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xef, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0x90, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x70, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, + 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, + 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xc, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3b, 0xdb, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* U+F240 "" */ - 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x2, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x74, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb1, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0xff, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf1, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0xff, 0xe4, 0xff, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x9f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xff, 0xff, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4, + 0xff, 0xff, 0xff, 0xff, 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0xff, 0xfe, 0xff, 0x0, + 0xf0, 0x28, 0xcf, 0xff, 0xff, 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x8, 0xff, 0xff, 0xff, 0x80, + 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0x0, 0x8f, 0xff, 0xff, + 0xf8, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x8, 0xff, + 0xff, 0xff, 0x80, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3f, + 0xff, 0xff, 0xff, 0xf8, 0xc, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x4, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xfe, 0xff, 0xfb, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x79, 0xff, 0xfa, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, + 0xe0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F241 "" */ + 0x2, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x74, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0xff, 0xf4, 0xff, 0x0, + 0xff, 0xff, 0xff, 0xf1, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x9f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x4, + 0xff, 0xff, 0xff, 0xff, 0x80, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, + 0x0, 0x28, 0xcf, 0xff, 0xff, 0xf8, 0xe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0x80, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xf8, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xff, 0x80, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, + 0x4, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xff, 0x0, 0xcf, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x4f, 0xff, 0xfe, 0xff, 0xfb, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x79, 0xff, 0xfa, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x1c, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, + 0xe0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, - /* U+F241 "" */ - 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + /* U+F242 "" */ + 0x2, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x74, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb1, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf1, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0xff, 0x10, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x9f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xff, 0xff, 0xff, 0x80, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x28, 0xcf, 0xff, 0xff, 0xf8, 0xe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0x80, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xf8, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xff, 0x80, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xe4, 0xff, 0x0, 0xff, 0xff, + 0x0, 0x0, 0x4f, 0xff, 0xfe, 0xff, 0xfb, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x79, 0xff, 0xfa, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, + 0xe0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, + 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F243 "" */ + 0x2, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x74, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xf4, 0xff, 0x0, + 0xff, 0xff, 0xff, 0xf1, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x9f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xff, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xff, 0xff, 0xff, 0x80, 0xef, 0xff, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x28, 0xcf, 0xff, 0xff, 0xf8, 0xe, 0xff, + 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0x80, + 0xef, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xf8, 0xe, 0xff, 0xff, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xff, 0x80, 0xef, 0xff, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0xff, 0xf8, 0xe, 0xff, 0xff, 0xff, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xff, 0x0, 0xcf, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x4f, 0xff, 0xfe, 0xff, 0xfb, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x79, 0xff, 0xfa, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x1c, 0xff, + 0xe0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, + 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, - /* U+F242 "" */ - 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + /* U+F244 "" */ + 0x2, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x74, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb1, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0xff, 0x10, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xf1, 0xf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x9f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xe4, 0xff, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xf4, 0xff, 0x0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x28, 0xcf, 0xff, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xff, 0x0, 0xcf, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x4f, 0xff, 0xfe, 0xff, 0xfb, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x79, 0xff, 0xfa, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x1c, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, - - /* U+F243 "" */ - 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb1, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0xff, 0x10, 0x0, 0x0, + 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F287 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x5e, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xe4, 0xff, 0x0, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0x0, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x23, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xbf, 0xff, 0xff, + 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xcd, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, + 0x5f, 0xe1, 0x0, 0xcf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0xdf, 0x50, 0x0, 0x7, 0xa7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x10, 0x0, 0x0, 0x4, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, - 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xf4, 0xff, 0x0, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xef, 0xfc, 0x20, 0x0, 0xc, 0xf5, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x40, + 0x0, 0x0, 0x4f, 0xff, 0xff, 0xe1, 0x0, 0x4f, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xfb, 0x20, 0x0, 0xcf, 0xff, 0xff, 0xfa, + 0x35, 0xef, 0x94, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x4d, 0xff, 0xf7, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0xef, 0xff, 0xff, 0xfe, 0xbb, 0xbb, 0xbc, 0xff, + 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbf, 0xff, + 0xfe, 0x50, 0x8f, 0xff, 0xff, 0xf4, 0x0, 0x0, + 0x0, 0x9f, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0x80, 0x0, 0xb, 0xff, 0xff, 0x80, + 0x0, 0x0, 0x0, 0xe, 0xf2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xc, 0xb2, 0x0, 0x0, 0x0, 0x58, + 0x73, 0x0, 0x0, 0x0, 0x0, 0x7, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0x20, 0x6, 0xdd, 0xdd, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xff, 0x0, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x1c, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, - - /* U+F244 "" */ - 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb1, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfb, 0x0, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xc0, 0x9, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xde, 0xff, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xaf, + 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x19, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xe4, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F293 "" */ + 0x0, 0x0, 0x0, 0x0, 0x1, 0x34, 0x32, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3a, 0xef, + 0xff, 0xff, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, + 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xd1, 0x0, 0x0, 0xb, 0xff, 0xff, + 0xff, 0xc0, 0x8f, 0xff, 0xff, 0xfc, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0xff, 0xc0, 0x9, 0xff, 0xff, + 0xff, 0x50, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xc0, + 0x0, 0xaf, 0xff, 0xff, 0xb0, 0x2, 0xff, 0xff, + 0xff, 0xff, 0xc0, 0x0, 0xb, 0xff, 0xff, 0xf1, + 0x6, 0xff, 0xff, 0xaf, 0xff, 0xc0, 0x39, 0x0, + 0xcf, 0xff, 0xf5, 0xa, 0xff, 0xf9, 0x3, 0xef, + 0xc0, 0x3f, 0x90, 0x1d, 0xff, 0xf8, 0xc, 0xff, + 0xfd, 0x10, 0x3e, 0xc0, 0x2f, 0xb0, 0xc, 0xff, + 0xfa, 0xe, 0xff, 0xff, 0xd1, 0x3, 0xb0, 0x2b, + 0x0, 0xaf, 0xff, 0xfc, 0xf, 0xff, 0xff, 0xfd, + 0x10, 0x10, 0x0, 0x9, 0xff, 0xff, 0xfd, 0xf, + 0xff, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x7f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xfd, 0x10, + 0x5, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, + 0xff, 0xfb, 0x0, 0x3, 0xff, 0xff, 0xff, 0xfe, + 0xf, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0xfd, 0xf, 0xff, 0xff, 0xfb, 0x0, + 0x20, 0x11, 0x4, 0xff, 0xff, 0xfd, 0xe, 0xff, + 0xff, 0xb0, 0x5, 0xc0, 0x2d, 0x10, 0x5f, 0xff, + 0xfc, 0xc, 0xff, 0xfb, 0x0, 0x5f, 0xc0, 0x2f, + 0xd0, 0x7, 0xff, 0xfa, 0x9, 0xff, 0xfb, 0x5, + 0xff, 0xc0, 0x3f, 0x60, 0x1d, 0xff, 0xf7, 0x5, + 0xff, 0xff, 0xdf, 0xff, 0xc0, 0x36, 0x1, 0xdf, + 0xff, 0xf4, 0x1, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x0, 0x1d, 0xff, 0xff, 0xf0, 0x0, 0xaf, 0xff, + 0xff, 0xff, 0xd0, 0x1, 0xdf, 0xff, 0xff, 0xa0, + 0x0, 0x2f, 0xff, 0xff, 0xff, 0xd0, 0x1d, 0xff, + 0xff, 0xff, 0x20, 0x0, 0x6, 0xff, 0xff, 0xff, + 0xd1, 0xcf, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x6f, 0xff, 0xff, 0xec, 0xff, 0xff, 0xff, 0xb0, + 0x0, 0x0, 0x0, 0x2, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x58, 0xab, 0xba, 0x84, 0x0, 0x0, 0x0, + + /* U+F2ED "" */ + 0x0, 0x0, 0x0, 0x0, 0x14, 0x44, 0x44, 0x43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x58, 0x88, 0x88, 0x8c, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x88, 0x88, 0x88, 0x1f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8b, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x28, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x0, 0x4, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x0, 0x4, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc0, 0x0, 0x4f, 0xff, 0xf5, 0x5f, 0xff, 0x92, + 0xff, 0xfc, 0x1c, 0xff, 0xfc, 0x0, 0x4, 0xff, + 0xff, 0x22, 0xff, 0xf6, 0xe, 0xff, 0xa0, 0xaf, + 0xff, 0xc0, 0x0, 0x4f, 0xff, 0xf2, 0x2f, 0xff, + 0x60, 0xef, 0xfa, 0xa, 0xff, 0xfc, 0x0, 0x4, + 0xff, 0xff, 0x22, 0xff, 0xf6, 0xe, 0xff, 0xa0, + 0xaf, 0xff, 0xc0, 0x0, 0x4f, 0xff, 0xf2, 0x2f, + 0xff, 0x60, 0xef, 0xfa, 0xa, 0xff, 0xfc, 0x0, + 0x4, 0xff, 0xff, 0x22, 0xff, 0xf6, 0xe, 0xff, + 0xa0, 0xaf, 0xff, 0xc0, 0x0, 0x4f, 0xff, 0xf2, + 0x2f, 0xff, 0x60, 0xef, 0xfa, 0xa, 0xff, 0xfc, + 0x0, 0x4, 0xff, 0xff, 0x22, 0xff, 0xf6, 0xe, + 0xff, 0xa0, 0xaf, 0xff, 0xc0, 0x0, 0x4f, 0xff, + 0xf2, 0x2f, 0xff, 0x60, 0xef, 0xfa, 0xa, 0xff, + 0xfc, 0x0, 0x4, 0xff, 0xff, 0x22, 0xff, 0xf6, + 0xe, 0xff, 0xa0, 0xaf, 0xff, 0xc0, 0x0, 0x4f, + 0xff, 0xf2, 0x2f, 0xff, 0x60, 0xef, 0xfa, 0xa, + 0xff, 0xfc, 0x0, 0x4, 0xff, 0xff, 0x22, 0xff, + 0xf6, 0xe, 0xff, 0xa0, 0xaf, 0xff, 0xc0, 0x0, + 0x4f, 0xff, 0xf2, 0x2f, 0xff, 0x60, 0xef, 0xfa, + 0xa, 0xff, 0xfc, 0x0, 0x4, 0xff, 0xff, 0x55, + 0xff, 0xf9, 0x2f, 0xff, 0xc1, 0xcf, 0xff, 0xc0, + 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfb, 0x0, 0x2, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x4, + 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x61, 0x0, 0x0, + + /* U+F304 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x66, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, + 0x2, 0xdf, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, + 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, + 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xec, + 0x0, 0xbf, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xfc, 0x0, + 0xbf, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xfc, 0x0, 0xbf, + 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xef, 0xff, 0xff, 0xfc, 0x0, 0xbf, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, + 0xff, 0xff, 0xff, 0xfc, 0x0, 0xbe, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x0, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xfe, + 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xff, 0xff, 0xec, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x76, + 0x42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+F55A "" */ + 0x0, 0x0, 0x0, 0x0, 0x8, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xd5, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, + 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x99, 0xff, + 0xff, 0xff, 0x99, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x8, 0xff, 0xff, 0x80, 0x7, 0xff, 0xff, 0xff, + 0xff, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x0, 0x8, 0xff, 0x80, 0x0, 0xe, 0xff, + 0xff, 0xff, 0xf0, 0xb, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x8, 0x80, 0x0, 0x8, + 0xff, 0xff, 0xff, 0xff, 0xb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x40, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0xb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x0, 0x8, 0x80, 0x0, + 0x8, 0xff, 0xff, 0xff, 0xff, 0x0, 0xb, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x8, 0xff, + 0x80, 0x0, 0xe, 0xff, 0xff, 0xff, 0xf0, 0x0, + 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x8, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x99, 0xff, 0xff, 0xff, 0x99, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x0, + + /* U+F7C2 "" */ + 0x0, 0x0, 0x0, 0x17, 0x88, 0x88, 0x88, 0x88, + 0x87, 0x50, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x2d, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, + 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x2e, 0xff, 0x20, 0x1f, 0xa0, + 0xe, 0xd0, 0x8, 0xff, 0xf0, 0x2e, 0xff, 0xf2, + 0x1, 0xfa, 0x0, 0xed, 0x0, 0x8f, 0xff, 0x3e, + 0xff, 0xff, 0x20, 0x1f, 0xa0, 0xe, 0xd0, 0x8, + 0xff, 0xfe, 0xff, 0xff, 0xf2, 0x1, 0xfa, 0x0, + 0xed, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0x20, + 0x1f, 0xa0, 0xe, 0xd0, 0x8, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x24, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x20, + 0x0, + + /* U+F8A2 "" */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0xff, 0xf4, 0xff, 0x0, + 0x0, 0x9, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x5c, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, + 0x10, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, + 0x0, 0x8f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4, 0xff, 0xff, 0x10, 0x0, 0x9f, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf1, 0x0, 0xaf, 0xff, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xff, 0x10, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf1, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x2e, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x0, 0x1d, 0xff, 0xff, + 0xfe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, + 0x55, 0x55, 0x10, 0x0, 0x1c, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, - 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0x0, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0xff, 0x0, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x1c, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, - - /* U+F293 "" */ - 0x0, 0x0, 0x0, 0x39, 0xbf, 0xff, 0xfb, 0x93, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x2b, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x3, - 0xef, 0xff, 0xff, 0x6f, 0xff, 0xff, 0xfe, 0x30, - 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, 0x6, 0xff, - 0xff, 0xff, 0xd1, 0x0, 0x0, 0x8f, 0xff, 0xff, - 0xff, 0x0, 0x6f, 0xff, 0xff, 0xf8, 0x0, 0x1, - 0xef, 0xff, 0xff, 0xff, 0x0, 0x6, 0xff, 0xff, - 0xfe, 0x10, 0x6, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x0, 0x6f, 0xff, 0xff, 0x60, 0xa, 0xff, 0xff, - 0xdf, 0xff, 0x0, 0x60, 0x6, 0xff, 0xff, 0xa0, - 0xe, 0xff, 0xf3, 0x1d, 0xff, 0x0, 0xc9, 0x0, - 0x6f, 0xff, 0xd0, 0xf, 0xff, 0xe3, 0x1, 0xdf, - 0x0, 0xcf, 0x20, 0x1d, 0xff, 0xf0, 0x3f, 0xff, - 0xfe, 0x30, 0x1d, 0x0, 0xb3, 0x1, 0xcf, 0xff, - 0xf2, 0x4f, 0xff, 0xff, 0xe3, 0x1, 0x0, 0x10, - 0x1c, 0xff, 0xff, 0xf4, 0x4f, 0xff, 0xff, 0xfe, - 0x30, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xf4, 0x4f, - 0xff, 0xff, 0xff, 0xe3, 0x0, 0x1c, 0xff, 0xff, - 0xff, 0xf4, 0x4f, 0xff, 0xff, 0xff, 0xf3, 0x0, - 0x1d, 0xff, 0xff, 0xff, 0xf4, 0x4f, 0xff, 0xff, - 0xff, 0x30, 0x0, 0x1, 0xdf, 0xff, 0xff, 0xf4, - 0x4f, 0xff, 0xff, 0xf3, 0x1, 0x0, 0x10, 0x1d, - 0xff, 0xff, 0xf4, 0x2f, 0xff, 0xff, 0x30, 0x1c, - 0x0, 0xb3, 0x1, 0xdf, 0xff, 0xf2, 0xf, 0xff, - 0xf3, 0x1, 0xcf, 0x0, 0xce, 0x20, 0x1e, 0xff, - 0xf0, 0xe, 0xff, 0xe3, 0x1c, 0xff, 0x0, 0xca, - 0x0, 0x6f, 0xff, 0xd0, 0xa, 0xff, 0xfe, 0xcf, - 0xff, 0x0, 0xa0, 0x6, 0xff, 0xff, 0xa0, 0x6, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x6f, 0xff, - 0xff, 0x60, 0x1, 0xff, 0xff, 0xff, 0xff, 0x0, - 0x6, 0xff, 0xff, 0xff, 0x10, 0x0, 0x8f, 0xff, - 0xff, 0xff, 0x0, 0x6f, 0xff, 0xff, 0xf8, 0x0, - 0x0, 0x1e, 0xff, 0xff, 0xff, 0x6, 0xff, 0xff, - 0xff, 0xe1, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, - 0x6f, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, - 0x2c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3a, 0xcf, 0xff, 0xfc, - 0xa3, 0x0, 0x0, 0x0 + 0x0, 0xa, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0 }; @@ -3516,152 +4144,159 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { *--------------------*/ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { - {.bitmap_index = 0, .adv_w = 0, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, - {.bitmap_index = 0, .adv_w = 111, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 0, .adv_w = 118, .box_h = 20, .box_w = 3, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 30, .adv_w = 160, .box_h = 8, .box_w = 8, .ofs_x = 1, .ofs_y = 12}, - {.bitmap_index = 62, .adv_w = 279, .box_h = 20, .box_w = 16, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 222, .adv_w = 261, .box_h = 27, .box_w = 14, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 411, .adv_w = 328, .box_h = 22, .box_w = 19, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 620, .adv_w = 279, .box_h = 22, .box_w = 16, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 796, .adv_w = 97, .box_h = 7, .box_w = 4, .ofs_x = 1, .ofs_y = 13}, - {.bitmap_index = 810, .adv_w = 149, .box_h = 30, .box_w = 9, .ofs_x = 1, .ofs_y = -7}, - {.bitmap_index = 945, .adv_w = 150, .box_h = 30, .box_w = 8, .ofs_x = 0, .ofs_y = -7}, - {.bitmap_index = 1065, .adv_w = 193, .box_h = 10, .box_w = 10, .ofs_x = 1, .ofs_y = 5}, - {.bitmap_index = 1115, .adv_w = 254, .box_h = 15, .box_w = 14, .ofs_x = 1, .ofs_y = 2}, - {.bitmap_index = 1220, .adv_w = 100, .box_h = 7, .box_w = 4, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1234, .adv_w = 202, .box_h = 3, .box_w = 9, .ofs_x = 2, .ofs_y = 7}, - {.bitmap_index = 1248, .adv_w = 120, .box_h = 3, .box_w = 3, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1253, .adv_w = 186, .box_h = 22, .box_w = 11, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 1374, .adv_w = 252, .box_h = 22, .box_w = 14, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1528, .adv_w = 252, .box_h = 21, .box_w = 8, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1612, .adv_w = 252, .box_h = 21, .box_w = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1749, .adv_w = 252, .box_h = 22, .box_w = 14, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1903, .adv_w = 252, .box_h = 20, .box_w = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2043, .adv_w = 252, .box_h = 21, .box_w = 13, .ofs_x = 2, .ofs_y = -1}, - {.bitmap_index = 2180, .adv_w = 252, .box_h = 22, .box_w = 14, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2334, .adv_w = 252, .box_h = 20, .box_w = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2474, .adv_w = 252, .box_h = 22, .box_w = 14, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2628, .adv_w = 252, .box_h = 22, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 2771, .adv_w = 113, .box_h = 15, .box_w = 3, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2794, .adv_w = 115, .box_h = 19, .box_w = 4, .ofs_x = 2, .ofs_y = -4}, - {.bitmap_index = 2832, .adv_w = 228, .box_h = 13, .box_w = 12, .ofs_x = 1, .ofs_y = 1}, - {.bitmap_index = 2910, .adv_w = 252, .box_h = 9, .box_w = 12, .ofs_x = 2, .ofs_y = 5}, - {.bitmap_index = 2964, .adv_w = 235, .box_h = 13, .box_w = 13, .ofs_x = 1, .ofs_y = 1}, - {.bitmap_index = 3049, .adv_w = 213, .box_h = 21, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3175, .adv_w = 401, .box_h = 27, .box_w = 23, .ofs_x = 1, .ofs_y = -7}, - {.bitmap_index = 3486, .adv_w = 283, .box_h = 20, .box_w = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3656, .adv_w = 283, .box_h = 20, .box_w = 15, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 3806, .adv_w = 284, .box_h = 22, .box_w = 16, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 3982, .adv_w = 303, .box_h = 20, .box_w = 16, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 4142, .adv_w = 246, .box_h = 20, .box_w = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 4272, .adv_w = 246, .box_h = 20, .box_w = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 4402, .adv_w = 303, .box_h = 22, .box_w = 16, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 4578, .adv_w = 315, .box_h = 20, .box_w = 16, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 4738, .adv_w = 126, .box_h = 20, .box_w = 4, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 4778, .adv_w = 246, .box_h = 21, .box_w = 12, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 4904, .adv_w = 283, .box_h = 20, .box_w = 16, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5064, .adv_w = 246, .box_h = 20, .box_w = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5194, .adv_w = 386, .box_h = 20, .box_w = 20, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5394, .adv_w = 315, .box_h = 20, .box_w = 16, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5554, .adv_w = 305, .box_h = 22, .box_w = 17, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 5741, .adv_w = 283, .box_h = 20, .box_w = 15, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5891, .adv_w = 312, .box_h = 23, .box_w = 18, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 6098, .adv_w = 284, .box_h = 20, .box_w = 15, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 6248, .adv_w = 274, .box_h = 22, .box_w = 15, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 6413, .adv_w = 268, .box_h = 20, .box_w = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6583, .adv_w = 303, .box_h = 21, .box_w = 15, .ofs_x = 2, .ofs_y = -1}, - {.bitmap_index = 6741, .adv_w = 283, .box_h = 20, .box_w = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6921, .adv_w = 386, .box_h = 20, .box_w = 24, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7161, .adv_w = 283, .box_h = 20, .box_w = 16, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 7321, .adv_w = 283, .box_h = 20, .box_w = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7491, .adv_w = 268, .box_h = 20, .box_w = 15, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 7641, .adv_w = 121, .box_h = 28, .box_w = 6, .ofs_x = 2, .ofs_y = -5}, - {.bitmap_index = 7725, .adv_w = 185, .box_h = 22, .box_w = 12, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 7857, .adv_w = 121, .box_h = 28, .box_w = 6, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 7941, .adv_w = 187, .box_h = 10, .box_w = 10, .ofs_x = 1, .ofs_y = 10}, - {.bitmap_index = 7991, .adv_w = 204, .box_h = 3, .box_w = 13, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 8011, .adv_w = 140, .box_h = 4, .box_w = 6, .ofs_x = 1, .ofs_y = 17}, - {.bitmap_index = 8023, .adv_w = 246, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 8127, .adv_w = 255, .box_h = 23, .box_w = 13, .ofs_x = 2, .ofs_y = -1}, - {.bitmap_index = 8277, .adv_w = 235, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 8381, .adv_w = 255, .box_h = 23, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 8531, .adv_w = 235, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 8635, .adv_w = 137, .box_h = 22, .box_w = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 8745, .adv_w = 255, .box_h = 21, .box_w = 13, .ofs_x = 1, .ofs_y = -6}, - {.bitmap_index = 8882, .adv_w = 255, .box_h = 22, .box_w = 12, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 9014, .adv_w = 113, .box_h = 22, .box_w = 3, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 9047, .adv_w = 116, .box_h = 28, .box_w = 6, .ofs_x = -1, .ofs_y = -6}, - {.bitmap_index = 9131, .adv_w = 230, .box_h = 22, .box_w = 12, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 9263, .adv_w = 113, .box_h = 22, .box_w = 3, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 9296, .adv_w = 392, .box_h = 15, .box_w = 21, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 9454, .adv_w = 255, .box_h = 15, .box_w = 12, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 9544, .adv_w = 255, .box_h = 16, .box_w = 14, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 9656, .adv_w = 255, .box_h = 21, .box_w = 13, .ofs_x = 2, .ofs_y = -6}, - {.bitmap_index = 9793, .adv_w = 255, .box_h = 21, .box_w = 13, .ofs_x = 1, .ofs_y = -6}, - {.bitmap_index = 9930, .adv_w = 157, .box_h = 15, .box_w = 8, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 9990, .adv_w = 234, .box_h = 16, .box_w = 13, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 10094, .adv_w = 143, .box_h = 20, .box_w = 9, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 10184, .adv_w = 255, .box_h = 16, .box_w = 12, .ofs_x = 2, .ofs_y = -1}, - {.bitmap_index = 10280, .adv_w = 225, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 10385, .adv_w = 339, .box_h = 15, .box_w = 21, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 10543, .adv_w = 225, .box_h = 15, .box_w = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 10648, .adv_w = 225, .box_h = 21, .box_w = 14, .ofs_x = 0, .ofs_y = -6}, - {.bitmap_index = 10795, .adv_w = 225, .box_h = 15, .box_w = 12, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 10885, .adv_w = 152, .box_h = 27, .box_w = 10, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 11020, .adv_w = 111, .box_h = 24, .box_w = 3, .ofs_x = 2, .ofs_y = -4}, - {.bitmap_index = 11056, .adv_w = 152, .box_h = 27, .box_w = 9, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 11178, .adv_w = 304, .box_h = 6, .box_w = 17, .ofs_x = 1, .ofs_y = 5}, - {.bitmap_index = 11229, .adv_w = 384, .box_h = 26, .box_w = 24, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 11541, .adv_w = 480, .box_h = 26, .box_w = 30, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 11931, .adv_w = 448, .box_h = 22, .box_w = 28, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 12239, .adv_w = 448, .box_h = 19, .box_w = 24, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 12467, .adv_w = 352, .box_h = 20, .box_w = 20, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 12667, .adv_w = 384, .box_h = 26, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 12979, .adv_w = 384, .box_h = 24, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 13267, .adv_w = 352, .box_h = 24, .box_w = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 13531, .adv_w = 416, .box_h = 20, .box_w = 26, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 13791, .adv_w = 416, .box_h = 24, .box_w = 26, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 14103, .adv_w = 384, .box_h = 20, .box_w = 24, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 14343, .adv_w = 384, .box_h = 24, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 14631, .adv_w = 192, .box_h = 20, .box_w = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 14751, .adv_w = 288, .box_h = 20, .box_w = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 14931, .adv_w = 416, .box_h = 22, .box_w = 26, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 15217, .adv_w = 480, .box_h = 24, .box_w = 30, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 15577, .adv_w = 384, .box_h = 24, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 15865, .adv_w = 256, .box_h = 24, .box_w = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 16057, .adv_w = 352, .box_h = 24, .box_w = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 16321, .adv_w = 384, .box_h = 24, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 16609, .adv_w = 384, .box_h = 24, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 16897, .adv_w = 256, .box_h = 24, .box_w = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 17089, .adv_w = 385, .box_h = 20, .box_w = 24, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 17329, .adv_w = 320, .box_h = 26, .box_w = 17, .ofs_x = 2, .ofs_y = -2}, - {.bitmap_index = 17550, .adv_w = 320, .box_h = 26, .box_w = 17, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 17771, .adv_w = 352, .box_h = 22, .box_w = 22, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 18013, .adv_w = 352, .box_h = 6, .box_w = 22, .ofs_x = 0, .ofs_y = 8}, - {.bitmap_index = 18079, .adv_w = 448, .box_h = 26, .box_w = 28, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 18443, .adv_w = 448, .box_h = 26, .box_w = 28, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 18807, .adv_w = 448, .box_h = 17, .box_w = 26, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 19028, .adv_w = 448, .box_h = 17, .box_w = 26, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 19249, .adv_w = 480, .box_h = 18, .box_w = 30, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 19519, .adv_w = 416, .box_h = 22, .box_w = 26, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 19805, .adv_w = 416, .box_h = 25, .box_w = 26, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 20130, .adv_w = 352, .box_h = 22, .box_w = 22, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 20372, .adv_w = 448, .box_h = 22, .box_w = 28, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 20680, .adv_w = 448, .box_h = 28, .box_w = 28, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 21072, .adv_w = 384, .box_h = 24, .box_w = 24, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 21360, .adv_w = 224, .box_h = 26, .box_w = 14, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 21542, .adv_w = 448, .box_h = 28, .box_w = 26, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 21906, .adv_w = 480, .box_h = 18, .box_w = 30, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 22176, .adv_w = 352, .box_h = 22, .box_w = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 22418, .adv_w = 384, .box_h = 28, .box_w = 24, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 22754, .adv_w = 512, .box_h = 22, .box_w = 32, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 23106, .adv_w = 576, .box_h = 20, .box_w = 36, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 23466, .adv_w = 576, .box_h = 20, .box_w = 36, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 23826, .adv_w = 576, .box_h = 20, .box_w = 36, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 24186, .adv_w = 576, .box_h = 20, .box_w = 36, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 24546, .adv_w = 576, .box_h = 20, .box_w = 36, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 24906, .adv_w = 384, .box_h = 28, .box_w = 22, .ofs_x = 1, .ofs_y = -4} + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 111, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 115, .box_w = 4, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 40, .adv_w = 143, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 14}, + {.bitmap_index = 65, .adv_w = 279, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 235, .adv_w = 252, .box_w = 14, .box_h = 26, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 417, .adv_w = 328, .box_w = 19, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 607, .adv_w = 278, .box_w = 17, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 777, .adv_w = 78, .box_w = 3, .box_h = 7, .ofs_x = 1, .ofs_y = 14}, + {.bitmap_index = 788, .adv_w = 153, .box_w = 9, .box_h = 30, .ofs_x = 1, .ofs_y = -7}, + {.bitmap_index = 923, .adv_w = 156, .box_w = 8, .box_h = 30, .ofs_x = 0, .ofs_y = -7}, + {.bitmap_index = 1043, .adv_w = 193, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 1115, .adv_w = 254, .box_w = 14, .box_h = 15, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1220, .adv_w = 88, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 1238, .adv_w = 124, .box_w = 8, .box_h = 3, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 1250, .adv_w = 118, .box_w = 5, .box_h = 3, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1258, .adv_w = 185, .box_w = 11, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1379, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1519, .adv_w = 252, .box_w = 8, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1599, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1739, .adv_w = 252, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1869, .adv_w = 252, .box_w = 16, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2029, .adv_w = 252, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2159, .adv_w = 251, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2299, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2439, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2579, .adv_w = 252, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2709, .adv_w = 109, .box_w = 4, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2739, .adv_w = 95, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 2787, .adv_w = 228, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 2872, .adv_w = 246, .box_w = 12, .box_h = 8, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 2920, .adv_w = 234, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 3005, .adv_w = 212, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3125, .adv_w = 402, .box_w = 23, .box_h = 26, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 3424, .adv_w = 292, .box_w = 18, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3604, .adv_w = 279, .box_w = 14, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3744, .adv_w = 292, .box_w = 16, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3904, .adv_w = 294, .box_w = 15, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4054, .adv_w = 255, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4184, .adv_w = 248, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4314, .adv_w = 305, .box_w = 17, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4484, .adv_w = 319, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4644, .adv_w = 122, .box_w = 4, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4684, .adv_w = 247, .box_w = 14, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4824, .adv_w = 281, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4984, .adv_w = 241, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5114, .adv_w = 391, .box_w = 21, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5324, .adv_w = 319, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5484, .adv_w = 308, .box_w = 17, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5654, .adv_w = 283, .box_w = 15, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5804, .adv_w = 308, .box_w = 17, .box_h = 24, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 6008, .adv_w = 276, .box_w = 15, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6158, .adv_w = 266, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6308, .adv_w = 267, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6478, .adv_w = 291, .box_w = 16, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6638, .adv_w = 285, .box_w = 18, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6818, .adv_w = 397, .box_w = 25, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7068, .adv_w = 281, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7238, .adv_w = 269, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7408, .adv_w = 268, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 7558, .adv_w = 119, .box_w = 6, .box_h = 27, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 7639, .adv_w = 184, .box_w = 12, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7771, .adv_w = 119, .box_w = 6, .box_h = 27, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 7852, .adv_w = 187, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 10}, + {.bitmap_index = 7907, .adv_w = 202, .box_w = 13, .box_h = 3, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7927, .adv_w = 138, .box_w = 7, .box_h = 4, .ofs_x = 0, .ofs_y = 17}, + {.bitmap_index = 7941, .adv_w = 244, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8039, .adv_w = 251, .box_w = 14, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8186, .adv_w = 235, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8284, .adv_w = 253, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8421, .adv_w = 237, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8519, .adv_w = 156, .box_w = 10, .box_h = 22, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8629, .adv_w = 251, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 8766, .adv_w = 247, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8903, .adv_w = 109, .box_w = 4, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8943, .adv_w = 107, .box_w = 6, .box_h = 26, .ofs_x = -1, .ofs_y = -6}, + {.bitmap_index = 9021, .adv_w = 227, .box_w = 14, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9168, .adv_w = 109, .box_w = 3, .box_h = 21, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9200, .adv_w = 393, .box_w = 22, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9365, .adv_w = 247, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9463, .adv_w = 256, .box_w = 14, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9568, .adv_w = 251, .box_w = 14, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 9715, .adv_w = 255, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 9852, .adv_w = 152, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9920, .adv_w = 231, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10018, .adv_w = 146, .box_w = 9, .box_h = 19, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10104, .adv_w = 247, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10202, .adv_w = 217, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10307, .adv_w = 337, .box_w = 21, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10465, .adv_w = 222, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10570, .adv_w = 212, .box_w = 13, .box_h = 21, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 10707, .adv_w = 222, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10797, .adv_w = 152, .box_w = 10, .box_h = 28, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 10937, .adv_w = 109, .box_w = 3, .box_h = 24, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 10973, .adv_w = 152, .box_w = 9, .box_h = 28, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 11099, .adv_w = 305, .box_w = 17, .box_h = 6, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 11150, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 11556, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 11850, .adv_w = 448, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 12200, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 12494, .adv_w = 308, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 12704, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 13110, .adv_w = 448, .box_w = 27, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 13502, .adv_w = 504, .box_w = 32, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 13902, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 14308, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 14644, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 15050, .adv_w = 224, .box_w = 14, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 15211, .adv_w = 336, .box_w = 21, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 15453, .adv_w = 504, .box_w = 32, .box_h = 27, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 15885, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 16179, .adv_w = 392, .box_w = 18, .box_h = 26, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 16413, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 16776, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 17089, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 17402, .adv_w = 392, .box_w = 18, .box_h = 26, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 17636, .adv_w = 392, .box_w = 26, .box_h = 25, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 17961, .adv_w = 280, .box_w = 16, .box_h = 25, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 18161, .adv_w = 280, .box_w = 16, .box_h = 25, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 18361, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 18674, .adv_w = 392, .box_w = 25, .box_h = 7, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 18762, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 19098, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 19606, .adv_w = 504, .box_w = 33, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 20085, .adv_w = 448, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 20435, .adv_w = 392, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 20623, .adv_w = 392, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 20811, .adv_w = 560, .box_w = 35, .box_h = 22, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 21196, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 21490, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 21896, .adv_w = 448, .box_w = 29, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 22317, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 22630, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 22993, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 23306, .adv_w = 280, .box_w = 19, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 23582, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 23945, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 24308, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 24644, .adv_w = 448, .box_w = 30, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 25079, .adv_w = 336, .box_w = 21, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 25384, .adv_w = 560, .box_w = 35, .box_h = 26, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 25839, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 26172, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 26505, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 26838, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 27171, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 27504, .adv_w = 560, .box_w = 36, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 27918, .adv_w = 392, .box_w = 22, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 28237, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 28600, .adv_w = 448, .box_w = 29, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 29021, .adv_w = 560, .box_w = 35, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 29389, .adv_w = 336, .box_w = 21, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 29694, .adv_w = 451, .box_w = 29, .box_h = 19, .ofs_x = 0, .ofs_y = 1} }; /*--------------------- @@ -3669,25 +4304,26 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { *--------------------*/ static const uint16_t unicode_list_1[] = { - 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x13, - 0x14, 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, - 0x3f, 0x47, 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, - 0x53, 0x66, 0x67, 0x70, 0x73, 0x76, 0x77, 0x78, - 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xf2, - 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, 0x242, - 0x243, 0x292 + 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14, + 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x47, + 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53, 0x66, + 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77, 0x78, + 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xe9, + 0xf2, 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, + 0x242, 0x243, 0x286, 0x292, 0x2ec, 0x303, 0x559, 0x7c1, + 0x8a1 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { - .range_start = 32, .range_length = 95, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY, - .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0 + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 61441, .range_length = 659, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY, - .glyph_id_start = 96, .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 50 + .range_start = 61441, .range_length = 2210, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 57, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -3696,569 +4332,245 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = *----------------*/ -/*Pair left and right glyphs for kerning*/ -static const uint8_t kern_pair_glyph_ids[] = +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = { - 9, 43, - 9, 55, - 9, 56, - 9, 58, - 17, 17, - 17, 18, - 17, 20, - 17, 21, - 17, 22, - 17, 23, - 17, 24, - 17, 26, - 18, 19, - 18, 20, - 18, 22, - 18, 24, - 19, 17, - 19, 18, - 19, 19, - 19, 22, - 19, 23, - 19, 24, - 19, 25, - 19, 26, - 20, 18, - 20, 19, - 20, 20, - 20, 21, - 20, 22, - 20, 23, - 20, 24, - 20, 25, - 20, 26, - 21, 17, - 21, 19, - 21, 21, - 21, 22, - 21, 23, - 21, 24, - 21, 25, - 22, 18, - 22, 19, - 22, 20, - 22, 21, - 22, 22, - 22, 23, - 22, 24, - 22, 25, - 22, 26, - 23, 17, - 23, 18, - 23, 19, - 23, 21, - 23, 22, - 23, 23, - 23, 24, - 23, 25, - 24, 18, - 24, 21, - 24, 22, - 24, 23, - 24, 24, - 24, 25, - 24, 26, - 25, 17, - 25, 18, - 25, 20, - 25, 21, - 25, 22, - 25, 23, - 26, 17, - 26, 18, - 26, 19, - 26, 21, - 26, 22, - 26, 23, - 26, 24, - 26, 26, - 34, 36, - 34, 40, - 34, 48, - 34, 50, - 34, 53, - 34, 54, - 34, 55, - 34, 56, - 34, 58, - 34, 66, - 34, 68, - 34, 69, - 34, 70, - 34, 72, - 34, 80, - 34, 82, - 34, 84, - 34, 85, - 34, 86, - 34, 87, - 34, 88, - 34, 91, - 35, 58, - 35, 66, - 35, 74, - 35, 77, - 35, 80, - 35, 83, - 35, 86, - 35, 90, - 36, 36, - 36, 40, - 36, 48, - 36, 50, - 36, 74, - 36, 83, - 36, 86, - 36, 90, - 36, 91, - 37, 55, - 37, 56, - 37, 66, - 37, 70, - 37, 80, - 37, 86, - 38, 55, - 38, 56, - 38, 58, - 38, 67, - 38, 68, - 38, 69, - 38, 70, - 38, 71, - 38, 72, - 38, 74, - 38, 75, - 38, 76, - 38, 77, - 38, 78, - 38, 79, - 38, 80, - 38, 81, - 38, 82, - 38, 83, - 38, 85, - 38, 86, - 38, 87, - 38, 88, - 38, 89, - 38, 90, - 38, 91, - 39, 13, - 39, 15, - 39, 34, - 39, 66, - 39, 70, - 39, 74, - 39, 77, - 39, 80, - 39, 83, - 39, 86, - 39, 90, - 40, 66, - 40, 70, - 40, 79, - 40, 80, - 40, 83, - 40, 86, - 40, 90, - 41, 66, - 41, 70, - 41, 80, - 41, 86, - 41, 90, - 42, 66, - 42, 68, - 42, 69, - 42, 71, - 42, 72, - 42, 78, - 42, 79, - 42, 80, - 42, 81, - 42, 83, - 42, 84, - 42, 85, - 42, 86, - 42, 87, - 42, 88, - 42, 90, - 43, 66, - 43, 80, - 44, 36, - 44, 40, - 44, 48, - 44, 50, - 44, 66, - 44, 70, - 44, 74, - 44, 80, - 44, 83, - 44, 86, - 44, 88, - 44, 90, - 45, 34, - 45, 36, - 45, 40, - 45, 48, - 45, 50, - 45, 53, - 45, 54, - 45, 55, - 45, 56, - 45, 58, - 45, 75, - 45, 86, - 45, 88, - 45, 90, - 46, 66, - 46, 70, - 46, 75, - 46, 79, - 46, 80, - 46, 86, - 46, 90, - 47, 70, - 47, 80, - 47, 90, - 48, 34, - 48, 53, - 48, 55, - 48, 56, - 48, 57, - 48, 58, - 48, 68, - 48, 69, - 48, 70, - 48, 71, - 48, 72, - 48, 75, - 48, 80, - 48, 81, - 48, 82, - 48, 84, - 48, 85, - 48, 86, - 48, 89, - 48, 90, - 48, 91, - 49, 13, - 49, 15, - 49, 34, - 49, 38, - 49, 41, - 49, 42, - 49, 66, - 49, 70, - 49, 73, - 49, 74, - 49, 77, - 49, 79, - 49, 80, - 49, 83, - 49, 84, - 49, 85, - 49, 90, - 50, 34, - 50, 53, - 50, 54, - 50, 55, - 50, 56, - 50, 57, - 50, 58, - 50, 66, - 50, 86, - 51, 36, - 51, 40, - 51, 48, - 51, 50, - 51, 53, - 51, 54, - 51, 55, - 51, 56, - 51, 58, - 51, 66, - 51, 70, - 51, 80, - 51, 86, - 51, 90, - 52, 66, - 52, 70, - 52, 75, - 52, 78, - 52, 79, - 52, 80, - 52, 81, - 52, 82, - 52, 86, - 52, 88, - 52, 90, - 53, 13, - 53, 14, - 53, 15, - 53, 27, - 53, 28, - 53, 34, - 53, 36, - 53, 40, - 53, 48, - 53, 50, - 53, 52, - 53, 53, - 53, 55, - 53, 56, - 53, 57, - 53, 58, - 53, 66, - 53, 70, - 53, 74, - 53, 78, - 53, 80, - 53, 83, - 53, 84, - 53, 86, - 53, 88, - 53, 90, - 53, 91, - 54, 34, - 54, 69, - 54, 71, - 54, 72, - 54, 78, - 54, 79, - 54, 81, - 54, 83, - 54, 84, - 54, 85, - 54, 89, - 54, 91, - 55, 10, - 55, 13, - 55, 14, - 55, 15, - 55, 27, - 55, 28, - 55, 34, - 55, 36, - 55, 40, - 55, 48, - 55, 50, - 55, 62, - 55, 66, - 55, 70, - 55, 80, - 55, 83, - 55, 86, - 55, 90, - 55, 94, - 56, 10, - 56, 13, - 56, 14, - 56, 15, - 56, 27, - 56, 28, - 56, 34, - 56, 36, - 56, 40, - 56, 48, - 56, 50, - 56, 53, - 56, 62, - 56, 66, - 56, 70, - 56, 80, - 56, 83, - 56, 86, - 56, 90, - 56, 94, - 57, 36, - 57, 40, - 57, 48, - 57, 50, - 57, 70, - 57, 86, - 57, 90, - 58, 10, - 58, 13, - 58, 14, - 58, 15, - 58, 27, - 58, 28, - 58, 34, - 58, 36, - 58, 40, - 58, 48, - 58, 50, - 58, 53, - 58, 55, - 58, 56, - 58, 57, - 58, 58, - 58, 62, - 58, 66, - 58, 70, - 58, 80, - 58, 82, - 58, 85, - 58, 86, - 58, 87, - 58, 94, - 59, 34, - 59, 36, - 59, 40, - 59, 48, - 59, 50, - 59, 66, - 59, 70, - 59, 74, - 59, 80, - 59, 86, - 59, 88, - 59, 90, - 60, 43, - 67, 87, - 67, 88, - 67, 90, - 70, 90, - 71, 3, - 71, 8, - 71, 10, - 71, 62, - 71, 72, - 71, 94, - 76, 70, - 80, 87, - 80, 88, - 80, 89, - 80, 90, - 81, 88, - 83, 13, - 83, 15, - 83, 68, - 83, 69, - 83, 70, - 83, 71, - 83, 76, - 83, 80, - 83, 82, - 83, 85, - 83, 86, - 83, 87, - 83, 88, - 83, 89, - 83, 90, - 83, 91, - 87, 13, - 87, 15, - 87, 66, - 87, 68, - 87, 69, - 87, 70, - 87, 80, - 87, 82, - 88, 13, - 88, 15, - 88, 68, - 88, 69, - 88, 70, - 88, 82, - 89, 68, - 89, 69, - 89, 70, - 89, 80, - 89, 82, - 90, 13, - 90, 15, - 90, 68, - 90, 69, - 90, 70, - 90, 80, - 90, 82, - 91, 68, - 91, 69, - 91, 70, - 91, 80, - 92, 43 + 0, 1, 0, 2, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 4, 0, 4, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 7, 8, 9, 10, 11, + 0, 12, 12, 13, 14, 15, 12, 12, + 9, 16, 17, 18, 0, 19, 13, 20, + 21, 22, 23, 24, 25, 0, 0, 0, + 0, 0, 26, 27, 28, 0, 29, 30, + 0, 31, 0, 0, 32, 0, 31, 31, + 33, 27, 0, 34, 0, 35, 0, 36, + 37, 38, 36, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; -/* Kerning between the respective left and right glyphs - * 4.4 format which needs to scaled with `kern_scale`*/ -static const int8_t kern_pair_values[] = +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = { - -21, 9, 8, 10, 1, -8, -1, 1, - -1, 1, -9, 1, -1, -1, -1, 0, - -4, -4, 2, -3, -4, -5, -4, 0, - -4, -1, 2, 3, 1, -1, -6, 1, - 0, 1, -7, 7, 4, 1, -18, 4, - -1, -5, 1, 4, 1, 0, -1, 1, - -6, 0, -9, -5, 5, 2, 0, -9, - 2, 8, -35, -7, -9, 8, -5, -2, - 0, -5, 2, 4, 2, 0, 1, -8, - -2, 1, -1, 1, -10, 1, -8, -9, - -9, -9, -33, -10, -32, -22, -36, 1, - -4, -6, -5, -3, -5, -3, 1, -14, - -5, -18, -15, 5, -36, 2, -1, -1, - 1, 0, 1, 1, -1, -1, -2, -1, - -3, -1, -1, 2, -2, -9, -6, -1, - 1, 1, 1, 4, 4, 4, -2, -8, - -9, -9, -8, -7, -2, -2, -2, -2, - -4, -4, -9, -3, -7, -3, -10, -7, - -12, -10, 1, -11, 1, -67, -67, -26, - -15, -10, -2, -2, -10, -12, -10, -11, - 0, 1, 0, 0, 0, 0, 0, -1, - -2, -2, -2, -1, -2, -2, -4, -3, - -2, -2, -2, -3, -1, -2, -2, -2, - -2, -1, -1, -1, -2, -2, -12, -13, - -14, -13, -2, -12, -2, -12, -2, -10, - -17, -18, 9, -9, -10, -11, -10, -34, - -11, -40, -24, -39, 0, -6, -19, -24, - -2, -2, -2, -2, -2, -2, -1, -2, - -2, -1, -9, -12, -10, -5, -10, -13, - 0, -1, 0, 0, 0, -2, 0, 0, - 1, 0, 1, 0, -3, 2, -3, -73, - -73, -24, -1, -1, -1, -5, -6, 0, - -2, -1, -1, -6, -1, -3, 6, 7, - 6, -15, -3, -12, -9, 5, -16, 0, - -1, -2, -2, -3, -2, -9, -3, -9, - -7, -21, -1, -3, -3, -2, 0, 0, - -1, -2, -1, -1, -1, 0, 0, 0, - 1, 1, -36, -35, -36, -34, -34, -35, - -11, -12, -12, -12, -7, 7, 7, 7, - 5, 7, -35, -35, -2, -29, -35, -29, - -34, -29, -21, -22, -27, -10, -3, -1, - -2, -2, -2, -2, -2, -3, 0, -3, - -4, 9, -39, -16, -38, -14, -14, -33, - -9, -9, -10, -9, 7, -21, -20, -21, - -14, -13, -5, 8, 7, -26, -9, -26, - -10, -10, -24, -6, -6, -7, -6, 6, - 5, -15, -14, -14, -9, -9, -2, 6, - -10, -10, -11, -10, -12, -10, -14, 9, - -41, -23, -41, -19, -19, -37, -12, -12, - -13, -12, 7, 8, 7, 6, 8, 8, - -28, -29, -29, -27, -10, -17, -9, 9, - 6, -10, -11, -12, -11, 0, -9, -2, - -10, -8, -12, -12, -8, -5, -3, -5, - -6, 6, 7, 9, 8, -11, 9, -9, - -7, -4, -9, -7, -3, -28, -28, -8, - -8, -8, 7, 0, -9, -8, 7, 0, - 8, 8, 4, 8, 2, -26, -26, -7, - -6, -6, -6, -7, -6, -21, -20, -4, - -4, -5, -4, -9, -8, -9, -9, -8, - -30, -28, -7, -7, -7, -7, -9, -7, - -7, -7, -7, -9 + 0, 1, 0, 2, 0, 0, 0, 3, + 2, 0, 4, 5, 0, 6, 7, 6, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 10, 0, 11, 0, 0, 0, + 11, 0, 0, 12, 0, 0, 0, 0, + 11, 0, 11, 0, 13, 14, 15, 16, + 17, 18, 19, 20, 0, 0, 21, 0, + 0, 0, 22, 0, 23, 23, 23, 24, + 23, 0, 0, 0, 0, 0, 25, 25, + 26, 25, 23, 27, 28, 29, 30, 31, + 32, 33, 31, 34, 0, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; -/*Collect the kern pair's data in one place*/ -static const lv_font_fmt_txt_kern_pair_t kern_pairs = +/*Kern values between classes*/ +static const int8_t kern_class_values[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -9, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -23, 0, 0, 0, + 0, 0, 0, 0, -26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -11, -13, 0, -4, -13, 0, -17, 0, + 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 4, 0, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -37, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -26, 0, 0, 0, 0, 0, 0, -13, + 0, -2, 0, 0, -28, -4, -19, -15, + 0, -21, 0, 0, 0, 0, 0, 0, + -3, 0, 0, -4, -2, -11, -7, 0, + 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -6, + 0, -5, 0, 0, -12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -6, 0, 0, 0, 0, 0, + 0, -3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -4, + 0, 0, 0, 0, 0, -22, 0, 0, + 0, -5, 0, 0, 0, -6, 0, -5, + 0, -5, -9, -5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, + 0, -4, -4, 0, -4, 0, 0, 0, + -4, -6, -5, 0, 0, 0, 0, 0, + 0, 0, 0, -51, 0, 0, 0, -37, + 0, -58, 0, 4, 0, 0, 0, 0, + 0, 0, 0, -7, -5, 0, 0, -5, + -6, 0, 0, -5, -5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, -6, 0, + 0, 0, 4, -6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -14, 0, 0, + 0, -7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -6, 0, -5, + -6, 0, 0, 0, -5, -9, -14, 0, + 0, 0, 0, -73, 0, 0, 0, 0, + 0, 0, 0, 4, -14, 0, 0, -60, + -12, -38, -31, 0, -52, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -10, + -29, -20, 0, 0, 0, 0, 0, 0, + 0, 0, -71, 0, 0, 0, -30, 0, + -44, 0, 0, 0, 0, 0, -7, 0, + -6, 0, -2, -3, 0, 0, -3, 0, + 0, 3, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -9, 0, -6, + -4, 0, -8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -17, 0, -4, 0, 0, -10, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -9, 0, + 0, 0, 0, -48, -51, 0, 0, -17, + -6, -52, -3, 4, 0, 4, 3, 0, + 4, 0, 0, -25, -22, 0, -24, -22, + -16, -25, 0, -21, -16, -12, -17, -13, + 0, 0, 0, 0, 4, 0, -49, -8, + 0, 0, -16, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, -10, -10, + 0, 0, -10, -7, 0, 0, -6, -2, + 0, 0, 0, 4, 0, 0, 0, 3, + 0, -27, -13, 0, 0, -9, 0, 0, + 0, 3, 0, 0, 0, 0, 0, 0, + 3, -7, -7, 0, 0, -7, -5, 0, + 0, -4, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, -10, 0, 0, + 0, -5, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, -6, 0, 0, + -5, 0, 0, 0, -5, -7, 0, 0, + 0, 0, 0, 0, -7, 4, -11, -46, + -11, 0, 0, -21, -6, -21, -3, 4, + -21, 4, 4, 3, 4, 0, 4, -16, + -14, -5, -9, -14, -9, -13, -5, -9, + -4, 0, -5, -7, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, -6, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -5, 0, + 0, 0, -4, -6, -6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -4, 0, 0, -4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3, 0, 0, 0, 0, 0, -6, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2, 0, -3, -3, + 0, 0, -2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3, 0, 0, 0, 0, 0, + 4, 0, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 0, -5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4, 0, -23, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -30, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -3, 0, + -5, -3, 0, 0, 4, 0, 0, 0, + -27, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -9, -4, 3, 0, -4, 0, 0, 11, + 0, 4, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -4, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, -23, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -3, -3, + 3, 0, -3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + -4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, 0, 0, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -4, 0, 0, -4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = { - .glyph_ids = kern_pair_glyph_ids, - .values = kern_pair_values, - .pair_cnt = 484, - .glyph_ids_size = 0 + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 40, + .right_class_cnt = 35, }; /*-------------------- @@ -4270,12 +4582,12 @@ static lv_font_fmt_txt_dsc_t font_dsc = { .glyph_bitmap = gylph_bitmap, .glyph_dsc = glyph_dsc, .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, .cmap_num = 2, .bpp = 4, - - .kern_scale = 16, - .kern_dsc = &kern_pairs, - .kern_classes = 0 + .kern_classes = 1, + .bitmap_format = 0 }; @@ -4285,11 +4597,13 @@ static lv_font_fmt_txt_dsc_t font_dsc = { /*Initialize a public general font descriptor*/ lv_font_t lv_font_roboto_28 = { - .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ - .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ - .line_height = 31, /*The maximum line height required by the font*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 32, /*The maximum line height required by the font*/ .base_line = 7, /*Baseline measured from the bottom of the line*/ + .subpx = LV_FONT_SUBPX_NONE, + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ }; #endif /*#if LV_FONT_ROBOTO_28*/ + diff --git a/src/src/lv_font/lv_font_roboto_28_compressed.c b/src/src/lv_font/lv_font_roboto_28_compressed.c new file mode 100644 index 0000000..92e7147 --- /dev/null +++ b/src/src/lv_font/lv_font_roboto_28_compressed.c @@ -0,0 +1,2451 @@ +#include "../../lvgl.h" + +/******************************************************************************* + * Size: 28 px + * Bpp: 3 + * Opts: --bpp 3 --size 28 --font Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 61441,61448,61451,61452,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl -o lv_font_roboto_28_compressed.c --force-fast-kern-format + ******************************************************************************/ + +#ifndef LV_FONT_ROBOTO_28_COMPRESSED +#define LV_FONT_ROBOTO_28_COMPRESSED 1 +#endif + +#if LV_FONT_ROBOTO_28_COMPRESSED + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+20 " " */ + + /* U+21 "!" */ + 0xbf, 0x80, 0xff, 0xe3, 0x90, 0x38, 0x81, 0xff, + 0xcf, 0x9b, 0x80, 0x24, 0x7, 0x2d, 0x4, 0x2c, + 0xd0, 0x88, + + /* U+22 "\"" */ + 0x3f, 0x7, 0xd8, 0x1f, 0xcc, 0xf, 0xf1, 0x0, + 0x40, 0xf7, 0x2, 0x65, 0x10, 0x51, + + /* U+23 "#" */ + 0x3, 0xef, 0xc0, 0x53, 0xb0, 0x3f, 0x20, 0x80, + 0x88, 0x20, 0x7e, 0x20, 0x81, 0x20, 0x80, 0xfd, + 0x86, 0x3, 0xff, 0x84, 0xc3, 0x0, 0x82, 0x3, + 0xf8, 0x82, 0x0, 0x82, 0x7, 0x7f, 0x80, 0x7f, + 0x40, 0xff, 0x10, 0x3f, 0xf8, 0xff, 0xcc, 0x5f, + 0xe0, 0x1f, 0xc4, 0xe, 0x41, 0x0, 0x41, 0x1, + 0xfc, 0x40, 0xc4, 0x60, 0x3f, 0x20, 0x80, 0xb0, + 0x40, 0x77, 0xf5, 0xb, 0xf9, 0xd, 0xf8, 0x81, + 0xff, 0xc7, 0xfe, 0x23, 0xfa, 0x85, 0xfc, 0x40, + 0xe2, 0x6, 0x23, 0x1, 0xf8, 0x84, 0x5, 0x81, + 0x3, 0xf2, 0x4, 0x9, 0x86, 0x7, 0xee, 0x30, + 0x11, 0x4, 0xf, 0xc8, 0x30, 0x4, 0x10, 0x3c, + + /* U+24 "$" */ + 0x3, 0xdb, 0x90, 0x3f, 0xfb, 0x33, 0x91, 0xa9, + 0x3, 0x8f, 0x60, 0x65, 0x98, 0x1b, 0x0, 0x9b, + 0x20, 0x8, 0x40, 0x30, 0x15, 0x92, 0x74, 0x5, + 0x1, 0x80, 0x20, 0x32, 0x21, 0x81, 0x88, 0x1e, + 0x40, 0x62, 0x8, 0x1e, 0xb6, 0x1, 0x80, 0x50, + 0x38, 0xa4, 0x0, 0x88, 0x59, 0x81, 0xfd, 0x88, + 0x33, 0xd2, 0x7, 0xda, 0x10, 0xb, 0x50, 0x3e, + 0x7b, 0x18, 0x5, 0xc0, 0xfc, 0x67, 0x40, 0x28, + 0x1f, 0xea, 0x82, 0xa, 0xd0, 0x1f, 0x60, 0x4, + 0x92, 0x10, 0x3c, 0x40, 0x90, 0xa, 0x7, 0xb8, + 0x2, 0x60, 0xd8, 0xd, 0x10, 0x40, 0x38, 0x9, + 0xf6, 0x76, 0x2, 0x80, 0x39, 0x0, 0x24, 0x1, + 0x70, 0x31, 0xbe, 0x0, 0xbe, 0x81, 0xf9, 0x80, + 0x40, 0x7f, 0xf1, 0xc0, + + /* U+25 "%" */ + 0x0, 0xf7, 0xcc, 0xf, 0xfe, 0xd, 0x85, 0x19, + 0x40, 0xff, 0x92, 0x1f, 0x79, 0x48, 0x6, 0x84, + 0xd, 0x85, 0x2, 0xa3, 0x1, 0x36, 0xa0, 0x78, + 0x81, 0x10, 0x31, 0x86, 0x1, 0xe2, 0x7, 0xe8, + 0x20, 0x1d, 0x85, 0x2, 0x83, 0x6, 0x94, 0x7, + 0x24, 0x3e, 0xe2, 0x90, 0x41, 0x40, 0xfa, 0xc2, + 0x8c, 0xa2, 0x8a, 0x7, 0xf3, 0xdf, 0x98, 0x4b, + 0x1, 0xff, 0xc3, 0xa2, 0x81, 0xff, 0xc3, 0x82, + 0x0, 0xbf, 0xb2, 0x3, 0xf1, 0x65, 0x8e, 0x8a, + 0x35, 0x81, 0xf7, 0x1c, 0x40, 0xf5, 0xc2, 0x1, + 0xe8, 0x59, 0x8, 0x40, 0x5, 0x4, 0x6, 0x2c, + 0xc0, 0x4, 0xe, 0x20, 0x7b, 0x8e, 0x4, 0x40, + 0xe2, 0x7, 0xcc, 0x81, 0x21, 0x0, 0x14, 0x10, + 0x1b, 0x40, 0x34, 0xf, 0x5c, 0x20, 0x1f, 0xfc, + 0xe, 0x8a, 0x35, 0x80, + + /* U+26 "&" */ + 0x3, 0x3d, 0xfb, 0x30, 0x3f, 0xda, 0x10, 0x6, + 0x50, 0x3f, 0x42, 0x1e, 0xc6, 0x12, 0x1, 0xf2, + 0x6, 0x12, 0x84, 0x70, 0x3e, 0x21, 0x1, 0x98, + 0x1f, 0xf1, 0x3, 0x21, 0x80, 0xf9, 0x84, 0x40, + 0x60, 0xc, 0xf, 0xa8, 0xe, 0xb9, 0x18, 0xf, + 0xc6, 0x3, 0x41, 0xe4, 0xf, 0xe4, 0x4, 0x70, + 0x1f, 0xe7, 0x80, 0x8a, 0x3, 0x12, 0x2, 0x70, + 0x2c, 0x45, 0x20, 0xe, 0xc0, 0x28, 0xd, 0x38, + 0x8c, 0x43, 0x3, 0x30, 0x1c, 0xb, 0x80, 0xe3, + 0x2, 0x3, 0x80, 0x20, 0x46, 0x83, 0x98, 0x40, + 0x7f, 0x95, 0x4, 0x4, 0x1, 0x80, 0x40, 0x39, + 0x10, 0x8, 0x9, 0x20, 0x74, 0x80, 0x58, 0x80, + 0x48, 0x5, 0x50, 0x5b, 0xf5, 0x21, 0x91, 0x48, + 0x15, 0xa4, 0x4, 0x5e, 0x9c, 0x7, 0x0, + + /* U+27 "'" */ + 0x9d, 0x81, 0xf8, 0x81, 0xcf, 0x32, + + /* U+28 "(" */ + 0x3, 0xe2, 0x7, 0xd7, 0x81, 0xea, 0x98, 0x1d, + 0x11, 0xa0, 0x64, 0xc6, 0x3, 0xa0, 0x80, 0x73, + 0x21, 0x81, 0xd4, 0x30, 0x38, 0x90, 0xa0, 0x72, + 0x0, 0x40, 0xec, 0x10, 0x1e, 0x40, 0x81, 0xfb, + 0x81, 0xc4, 0xf, 0xf8, 0x81, 0xff, 0xc5, 0x20, + 0x71, 0x3, 0xfe, 0xe0, 0x79, 0x2, 0x7, 0xb0, + 0x40, 0x79, 0x0, 0x20, 0x71, 0x21, 0x40, 0xf5, + 0xc, 0xf, 0x32, 0x18, 0x1e, 0x82, 0x1, 0xe4, + 0xc5, 0x3, 0xd1, 0x25, 0x3, 0xd5, 0x30, 0x3e, + 0xbc, 0x0, + + /* U+29 ")" */ + 0x3, 0xf2, 0xe8, 0xe, 0x62, 0xa0, 0x31, 0xc2, + 0x90, 0x31, 0x63, 0x81, 0xd0, 0x16, 0x7, 0x41, + 0x0, 0xe6, 0x1, 0x81, 0xc8, 0x60, 0x3b, 0x4, + 0x7, 0x20, 0x8, 0xc, 0x40, 0x10, 0x3e, 0xe0, + 0x71, 0x4, 0xf, 0xfe, 0x89, 0x4, 0xf, 0xb8, + 0x18, 0x80, 0x20, 0x64, 0x1, 0x1, 0xb0, 0x40, + 0x72, 0x18, 0xc, 0x80, 0x30, 0x34, 0x10, 0xc, + 0xc9, 0x30, 0x23, 0x7, 0x2, 0x38, 0x52, 0x4, + 0xc5, 0x40, 0x65, 0x90, 0x1c, + + /* U+2A "*" */ + 0x3, 0xbf, 0x1, 0xff, 0xd2, 0xa8, 0xf, 0x18, + 0x1a, 0xbe, 0x0, 0x7b, 0x1b, 0x26, 0x43, 0x1, + 0x8, 0x44, 0xa6, 0xc2, 0x0, 0xdf, 0x50, 0x13, + 0x20, 0xb, 0x3, 0xd4, 0x58, 0x38, 0x1d, 0x42, + 0x46, 0x4a, 0x1, 0xea, 0x3, 0x82, 0x6, 0xb8, + 0x8, 0xda, 0x0, + + /* U+2B "+" */ + 0x3, 0x8b, 0x60, 0x3f, 0xe5, 0x20, 0x81, 0xff, + 0xf1, 0x4d, 0xee, 0x1, 0x37, 0x95, 0x93, 0x30, + 0x12, 0x77, 0x3, 0xff, 0x85, 0xff, 0x40, 0x1b, + 0xfd, 0x40, 0xff, 0xfd, 0x0, + + /* U+2C "," */ + 0xb, 0xf1, 0x3, 0xfe, 0x20, 0x8, 0xa1, 0x84, + 0x44, 0x9, 0x28, 0x0, + + /* U+2D "-" */ + 0x3, 0xf4, 0xff, 0xc4, 0xf, 0xc0, + + /* U+2E "." */ + 0x13, 0xd0, 0xc, 0x20, 0xc, 0x20, + + /* U+2F "/" */ + 0x3, 0xf5, 0xf0, 0xf, 0xc8, 0x50, 0x3e, 0x60, + 0x90, 0x1f, 0x51, 0x0, 0xf8, 0x90, 0x40, 0x7d, + 0x43, 0x3, 0xf3, 0x14, 0xf, 0x90, 0x24, 0x7, + 0xdc, 0x50, 0x3f, 0x20, 0xc0, 0xf9, 0x84, 0x7, + 0xe8, 0x38, 0x1f, 0x20, 0x8, 0xf, 0xb8, 0x60, + 0x7e, 0x42, 0x81, 0xf3, 0x8, 0x81, 0xf5, 0x1c, + 0xf, 0x89, 0x4, 0x7, 0xd4, 0x30, 0x3f, 0x31, + 0x40, 0xf9, 0x2, 0x40, 0x7e, 0x70, 0xf, 0xc0, + + /* U+30 "0" */ + 0x2, 0x33, 0x7e, 0xd0, 0xf, 0x2c, 0xc8, 0x2, + 0xf9, 0x2, 0x34, 0x1b, 0xf4, 0x1, 0xc0, 0xa0, + 0xc, 0x81, 0x74, 0x14, 0x1, 0x6, 0x7, 0x22, + 0x38, 0x20, 0x30, 0x1e, 0x41, 0x6, 0x1, 0x81, + 0xee, 0x4, 0x40, 0xff, 0xe2, 0x10, 0x3f, 0x88, + 0x1f, 0xfd, 0xe2, 0x0, 0x81, 0xfc, 0x40, 0xff, + 0xe1, 0x30, 0xc, 0xf, 0x70, 0x22, 0x3, 0x1, + 0xe6, 0x10, 0x6, 0x19, 0x3, 0x20, 0x1c, 0x5, + 0x1, 0x90, 0x7, 0x41, 0x40, 0xd, 0x1, 0x7f, + 0x40, 0x1c, 0xc, 0xb3, 0x20, 0xb, 0xe4, 0x0, + + /* U+31 "1" */ + 0x3, 0x8c, 0xe0, 0x4f, 0x63, 0xa, 0xf8, 0x40, + 0xba, 0x6, 0x20, 0x5, 0xec, 0x64, 0x4, 0x82, + 0x7, 0xff, 0xfc, 0xf, 0xfe, 0xf0, + + /* U+32 "2" */ + 0x2, 0x57, 0xfb, 0x40, 0x3d, 0x69, 0x1, 0x17, + 0xc8, 0x15, 0x41, 0x6f, 0x98, 0xc, 0x0, 0xa0, + 0xe9, 0x6, 0x40, 0x6, 0x28, 0x8, 0x7, 0x30, + 0x18, 0x10, 0x3f, 0x88, 0x62, 0xfe, 0x3, 0xe2, + 0x10, 0x1f, 0xe2, 0x3, 0x1, 0xfe, 0xe0, 0xa0, + 0x3f, 0xa1, 0x1c, 0xf, 0xe4, 0xc4, 0x20, 0x7e, + 0x54, 0x26, 0x7, 0xe3, 0x42, 0xa0, 0x7e, 0x38, + 0x1a, 0x7, 0xf6, 0x7, 0x1, 0xfd, 0x81, 0xc0, + 0x7f, 0x62, 0x38, 0x1f, 0xd4, 0x8c, 0x40, 0xfc, + 0x90, 0x6, 0xff, 0xf5, 0x3, 0xff, 0x84, + + /* U+33 "3" */ + 0x2, 0x57, 0xfb, 0x30, 0x3a, 0xd2, 0x2, 0x33, + 0x1, 0x44, 0x15, 0xf9, 0x83, 0x81, 0x61, 0x54, + 0xc, 0x80, 0x52, 0x0, 0x80, 0x73, 0x1, 0x94, + 0x82, 0x7, 0xf1, 0x6c, 0x7, 0xf7, 0x3, 0xfa, + 0x0, 0x60, 0x7c, 0xab, 0x10, 0xe, 0xbf, 0xaa, + 0x15, 0x81, 0xff, 0x70, 0x3d, 0x7f, 0x66, 0x16, + 0x3, 0xf1, 0x98, 0x16, 0x7, 0xf1, 0x21, 0x4a, + 0x40, 0x3e, 0x60, 0xcb, 0x40, 0x7c, 0xc1, 0xc0, + 0x18, 0x1c, 0x88, 0x4c, 0x89, 0x4, 0x17, 0x40, + 0x41, 0x88, 0x7b, 0xe8, 0x3, 0x1, 0x68, 0x80, + 0x8c, 0xe4, 0x0, + + /* U+34 "4" */ + 0x3, 0xfa, 0xfe, 0x40, 0x7f, 0xc9, 0x0, 0xff, + 0xe1, 0x50, 0x3f, 0xf8, 0x54, 0xf, 0xfe, 0x12, + 0x41, 0x40, 0xff, 0xe0, 0x51, 0x18, 0x1f, 0xf5, + 0x5, 0x81, 0xff, 0x24, 0x1c, 0xf, 0xfe, 0x5, + 0xc, 0x81, 0xff, 0x40, 0x60, 0x1f, 0xf2, 0x63, + 0x81, 0xff, 0xc0, 0xa1, 0x90, 0x3f, 0xe8, 0xc, + 0x3, 0xfe, 0x2c, 0x1f, 0xfb, 0x0, 0xbf, 0x83, + 0x3, 0xff, 0x86, 0xbf, 0xfd, 0x80, 0x5f, 0xc0, + 0x7f, 0xfd, 0x40, + + /* U+35 "5" */ + 0x7, 0xff, 0xf0, 0x6, 0x7, 0xff, 0x0, 0x80, + 0xb7, 0xf0, 0xe, 0xa, 0x5f, 0x80, 0x10, 0xc0, + 0xff, 0xe0, 0x10, 0x3f, 0xcc, 0x70, 0x4c, 0x7, + 0x88, 0xdf, 0x6b, 0xc0, 0x3c, 0x80, 0xe7, 0x80, + 0xe3, 0xbf, 0x52, 0xd, 0x1, 0xf6, 0x10, 0xb, + 0x10, 0x88, 0x2, 0x7, 0xa0, 0x4, 0x7, 0xf2, + 0x1, 0xc0, 0xff, 0xe0, 0xb8, 0x80, 0xff, 0x67, + 0x0, 0xf2, 0x1, 0xb0, 0x14, 0x7, 0x40, 0x9, + 0x91, 0x59, 0x6, 0x91, 0x0, 0x72, 0x26, 0xf9, + 0x4, 0xc0, 0x1d, 0x8, 0x12, 0xb4, 0x0, + + /* U+36 "6" */ + 0x3, 0xca, 0xef, 0x0, 0xf9, 0x7a, 0x88, 0x1f, + 0x9d, 0x0, 0xae, 0x80, 0x72, 0x80, 0xea, 0x88, + 0x1e, 0x80, 0xe2, 0x7, 0xe4, 0x44, 0x3, 0xfd, + 0x81, 0x40, 0x7f, 0x90, 0x46, 0xff, 0x64, 0x6, + 0x21, 0x64, 0x4, 0x6c, 0x3, 0x88, 0x9b, 0xd2, + 0x1a, 0x4, 0xb, 0x32, 0x16, 0x1, 0x0, 0xd0, + 0x81, 0xd0, 0x12, 0x2, 0x20, 0x78, 0x80, 0x60, + 0x44, 0xf, 0x30, 0x22, 0x3, 0x81, 0xe6, 0x6, + 0x41, 0x81, 0xec, 0x1, 0xe, 0x2, 0x1, 0xcc, + 0x20, 0x9, 0x3, 0x84, 0x2c, 0x2, 0x1, 0x54, + 0x1e, 0xf4, 0x8a, 0x40, 0xd6, 0x88, 0x2, 0xf2, + 0x0, + + /* U+37 "7" */ + 0xff, 0xff, 0x83, 0x0, 0xff, 0xe0, 0xff, 0xff, + 0x40, 0xc, 0xf, 0xf5, 0xc, 0xf, 0xf2, 0x22, + 0x81, 0xfe, 0xe1, 0x10, 0x3f, 0x8a, 0x10, 0xf, + 0xf4, 0x4, 0x80, 0xfe, 0x28, 0x40, 0x3f, 0xd4, + 0x2, 0x3, 0xfc, 0xc4, 0x3, 0xfc, 0xc0, 0x30, + 0x3f, 0xd0, 0x30, 0x3f, 0xcc, 0x5, 0x3, 0xfd, + 0x42, 0x20, 0x7f, 0x22, 0x38, 0x1f, 0xe8, 0xa, + 0x3, 0xf8, 0x90, 0x80, 0x7f, 0xa0, 0x4, 0x7, + 0xf1, 0x42, 0x1, 0xf8, + + /* U+38 "8" */ + 0x2, 0x33, 0x7e, 0xcc, 0xf, 0x3c, 0xc8, 0x3, + 0x39, 0x2, 0x30, 0x5, 0xd8, 0xc0, 0x60, 0x28, + 0x3, 0x22, 0x52, 0x0, 0x30, 0x8, 0x22, 0x6, + 0x60, 0x30, 0x18, 0x81, 0xe2, 0x6, 0x20, 0x81, + 0xe2, 0x8, 0x4, 0x11, 0x3, 0x30, 0x14, 0x4, + 0x23, 0x22, 0x52, 0x3, 0x20, 0x59, 0xb, 0xb1, + 0x87, 0x0, 0xc9, 0x81, 0xe2, 0x6, 0x54, 0xad, + 0xfa, 0x85, 0x80, 0xa8, 0x54, 0x80, 0x5c, 0x1a, + 0x10, 0x8, 0x7, 0x98, 0x40, 0x80, 0x20, 0x7b, + 0x0, 0x20, 0x44, 0xf, 0x10, 0x5, 0x0, 0x80, + 0x7a, 0x2, 0xa, 0xa, 0xa0, 0x56, 0x1, 0x0, + 0x54, 0x15, 0xfa, 0x91, 0x10, 0x15, 0xa4, 0x4, + 0x5e, 0x60, 0x0, + + /* U+39 "9" */ + 0x2, 0x57, 0xfa, 0x90, 0x3a, 0x54, 0x4, 0xb4, + 0x2, 0x6c, 0x15, 0xf4, 0x86, 0xc0, 0x20, 0x35, + 0x5, 0x88, 0x81, 0x0, 0xe0, 0x77, 0x0, 0xb0, + 0x2, 0x7, 0x10, 0x18, 0xf, 0xf2, 0x8, 0xf, + 0xfe, 0xf, 0x0, 0x40, 0xfc, 0x58, 0x8, 0x7, + 0x34, 0x8, 0x41, 0x52, 0xc, 0x80, 0x35, 0x21, + 0x6f, 0x99, 0x20, 0xc0, 0x66, 0x4, 0x66, 0x0, + 0x40, 0xa7, 0xf6, 0x60, 0x8c, 0x7, 0xf2, 0x0, + 0x80, 0xfe, 0xa1, 0x1, 0xf8, 0xe0, 0x10, 0xe, + 0x2a, 0x62, 0x29, 0x3, 0x6c, 0xac, 0x1a, 0x80, + 0xf8, 0xab, 0x90, 0x10, + + /* U+3A ":" */ + 0x17, 0xc0, 0x83, 0x8, 0x31, 0x7c, 0x3, 0xff, + 0xab, 0x7c, 0x28, 0x32, 0x83, + + /* U+3B ";" */ + 0x7, 0x74, 0x11, 0x18, 0x22, 0x30, 0x3b, 0xa0, + 0x3f, 0xfb, 0xdf, 0x98, 0x1e, 0x20, 0x8, 0x60, + 0x18, 0xe0, 0x99, 0xe, 0xb, 0x84, 0x0, + + /* U+3C "<" */ + 0x3, 0xfc, 0x69, 0x3, 0xf2, 0xb9, 0x1, 0xf2, + 0xd5, 0x1, 0xf3, 0xd4, 0x83, 0x39, 0x0, 0xfc, + 0x21, 0x6c, 0x60, 0x5e, 0x3, 0x3d, 0x20, 0x7e, + 0xac, 0xf, 0xd0, 0x89, 0xe1, 0x3, 0xcf, 0x52, + 0x1e, 0xc6, 0x7, 0x96, 0xa8, 0x19, 0xe0, 0x1e, + 0x57, 0x20, 0xc, 0x81, 0xf1, 0xb9, 0x81, 0xff, + 0x19, 0xc8, + + /* U+3D "=" */ + 0xff, 0xfe, 0x60, 0x7f, 0xf0, 0x36, 0xff, 0x99, + 0x3f, 0xf0, 0x1f, 0xfc, 0x12, 0x7f, 0xe1, 0xb7, + 0xfc, 0xc0, 0xff, 0xe0, 0x0, + + /* U+3E ">" */ + 0x34, 0x81, 0xff, 0x2d, 0x88, 0xf, 0xc4, 0x1, + 0xbd, 0x81, 0xf7, 0xa8, 0x4, 0xf0, 0x81, 0xca, + 0xf8, 0x43, 0xd5, 0x1, 0xe7, 0xb1, 0x85, 0x58, + 0x1f, 0x1c, 0x80, 0x70, 0x38, 0xcf, 0x50, 0x74, + 0x9, 0x5c, 0xc0, 0x3f, 0x8, 0x9e, 0xa0, 0x67, + 0x80, 0x45, 0x80, 0x57, 0x30, 0x3e, 0x7a, 0xa0, + 0x3e, 0x3e, 0x10, 0x3f, 0x80, + + /* U+3F "?" */ + 0x0, 0x6f, 0xf6, 0x60, 0x69, 0x90, 0x11, 0x94, + 0x2, 0x60, 0xcd, 0x48, 0x50, 0x70, 0x19, 0x95, + 0x88, 0x61, 0x96, 0x7, 0x20, 0x2d, 0x90, 0xe, + 0xe0, 0x7f, 0xd8, 0xf, 0xf2, 0x41, 0x0, 0xf8, + 0xd0, 0x58, 0x1e, 0x38, 0x7, 0x3, 0xec, 0x3, + 0x10, 0x3d, 0x0, 0x62, 0x7, 0xcc, 0x22, 0x7, + 0xfb, 0x1, 0xfd, 0x69, 0x1, 0xfc, 0x90, 0x81, + 0xff, 0xc9, 0xb9, 0x1, 0xf8, 0xa3, 0xc0, 0xfc, + 0x48, 0x60, 0x38, + + /* U+40 "@" */ + 0x3, 0xf2, 0xbb, 0xfb, 0x42, 0x7, 0xff, 0x1, + 0x7a, 0x89, 0x81, 0x7a, 0x90, 0x3f, 0xad, 0x7, + 0xbe, 0xcf, 0xd5, 0x26, 0x40, 0x7d, 0x51, 0xd0, + 0x81, 0xca, 0xd0, 0xa4, 0xe, 0x89, 0x31, 0x3, + 0xf9, 0x61, 0xc0, 0xc9, 0x8a, 0x7, 0xff, 0x0, + 0xc2, 0xc0, 0xa0, 0xa0, 0x71, 0x96, 0x98, 0x19, + 0x8a, 0x0, 0x99, 0x1, 0xa6, 0x69, 0x26, 0x20, + 0x4c, 0x90, 0xa2, 0x81, 0x9b, 0xb, 0xf1, 0x26, + 0x5, 0x82, 0x8, 0x20, 0x23, 0x6, 0x40, 0x80, + 0x60, 0x4c, 0x70, 0x41, 0x2, 0xa1, 0x90, 0x22, + 0x8, 0x11, 0x4, 0x82, 0x3, 0x31, 0x40, 0xff, + 0xe0, 0xb0, 0x38, 0x80, 0x20, 0x7f, 0xf0, 0x48, + 0x20, 0x48, 0x10, 0x31, 0x4, 0xc, 0x40, 0xfd, + 0xc3, 0x3, 0x30, 0xc0, 0xcc, 0x12, 0x3, 0xff, + 0x80, 0x40, 0xf1, 0x18, 0x1, 0x2, 0xe1, 0x1, + 0xa0, 0x1e, 0x81, 0x20, 0x40, 0x48, 0x3, 0x1, + 0x40, 0x20, 0x28, 0x20, 0x2, 0x8, 0x2, 0x84, + 0xfc, 0xb1, 0x1a, 0xe6, 0x98, 0xa, 0x28, 0x15, + 0x60, 0x16, 0x39, 0x14, 0x25, 0x2, 0x61, 0x90, + 0x29, 0xfa, 0x90, 0x17, 0xf6, 0x60, 0x73, 0x1c, + 0xf, 0xfe, 0x44, 0x25, 0x40, 0xff, 0xe4, 0x62, + 0xbb, 0x20, 0x72, 0x80, 0x7f, 0xda, 0x9, 0xb5, + 0x77, 0xac, 0x81, 0xff, 0x3f, 0x10, 0x28, 0x93, + 0xc4, 0xf, 0x0, + + /* U+41 "A" */ + 0x3, 0xe3, 0xf9, 0x81, 0xff, 0xc2, 0xa0, 0x28, + 0x1f, 0xfc, 0x26, 0x0, 0x90, 0x1f, 0xfc, 0x4, + 0x0, 0x8a, 0x7, 0xff, 0x3, 0x85, 0x43, 0x3, + 0xff, 0x80, 0x87, 0x60, 0x10, 0x1f, 0xe6, 0x1, + 0x4, 0x20, 0x1f, 0xea, 0x10, 0xe, 0x9, 0x1, + 0xf8, 0x90, 0xe0, 0x10, 0xa, 0x7, 0xea, 0x1, + 0x1, 0x20, 0xc0, 0xfc, 0xc3, 0x3, 0x70, 0x8, + 0xf, 0x30, 0x14, 0xc, 0x80, 0x70, 0x3d, 0x40, + 0x89, 0xe4, 0x10, 0x1c, 0x48, 0x6, 0xde, 0x40, + 0x18, 0x1a, 0x81, 0xff, 0xc0, 0xa0, 0x66, 0xf, + 0xff, 0x98, 0x24, 0x1, 0x0, 0xa0, 0x7e, 0xa0, + 0x28, 0xe, 0x1, 0x81, 0xf8, 0x90, 0x60, 0x10, + 0x40, 0x7f, 0xa0, 0x4, 0xc0, 0x70, 0x3f, 0xc8, + 0x7, + + /* U+42 "B" */ + 0xbf, 0xfd, 0xaa, 0x3, 0xfe, 0x2a, 0xd0, 0x1d, + 0xb7, 0x52, 0x14, 0x3, 0x13, 0xcb, 0x10, 0xc0, + 0xff, 0xa8, 0x2, 0x7, 0xf8, 0x80, 0x60, 0x7f, + 0x88, 0x6, 0x7, 0xfa, 0x2, 0x40, 0x7c, 0x5f, + 0x1, 0xc0, 0xdf, 0xed, 0x1, 0xc4, 0xf, 0xf8, + 0xc0, 0x3b, 0xff, 0x40, 0xb0, 0x1f, 0xe7, 0x41, + 0x60, 0x7f, 0x90, 0xc, 0x7, 0xfc, 0x43, 0x3, + 0xfe, 0x20, 0x7f, 0xf0, 0x20, 0xa, 0x4, 0x4f, + 0x2a, 0xc0, 0x30, 0x2d, 0xba, 0xa0, 0x18, 0xf, + 0xf2, 0x9c, 0x80, + + /* U+43 "C" */ + 0x3, 0x9d, 0xfe, 0xd0, 0xf, 0x8e, 0x88, 0x8, + 0xbe, 0xc0, 0xc7, 0x10, 0xee, 0xc8, 0x2, 0x30, + 0x2e, 0x3, 0x44, 0x49, 0xf0, 0x10, 0x3, 0x22, + 0x90, 0x3d, 0x40, 0x31, 0x41, 0x40, 0x7c, 0x80, + 0x50, 0x42, 0x3, 0xfa, 0x3a, 0x80, 0x60, 0x3f, + 0x9c, 0x60, 0x7f, 0xf1, 0x8, 0x1f, 0xfd, 0x32, + 0x7, 0xff, 0x4d, 0x0, 0xc0, 0x7f, 0x26, 0xc0, + 0x84, 0x7, 0xf5, 0x94, 0x50, 0x50, 0x1f, 0x20, + 0x14, 0x30, 0x14, 0x81, 0xe8, 0x1, 0x80, 0xa0, + 0x34, 0x26, 0x7c, 0x88, 0x4, 0xa8, 0x7, 0xb5, + 0x0, 0x46, 0x6, 0x5e, 0x10, 0x22, 0xfb, 0x0, + + /* U+44 "D" */ + 0xbf, 0xfb, 0x54, 0x7, 0xff, 0x0, 0xab, 0x88, + 0x1e, 0xdb, 0x54, 0xe, 0x20, 0x71, 0x39, 0x5c, + 0x3, 0x1, 0xff, 0x1c, 0x2, 0x1, 0xff, 0x14, + 0x18, 0x1f, 0xfc, 0xe, 0x1, 0x1, 0xff, 0x20, + 0x18, 0xf, 0xfe, 0x11, 0x3, 0xff, 0xde, 0x40, + 0xff, 0x90, 0xc, 0x7, 0xfd, 0xc0, 0x20, 0x3f, + 0xc9, 0x3, 0x3, 0xfc, 0xa8, 0x8, 0x6, 0x27, + 0x2b, 0x40, 0x30, 0x1d, 0xb6, 0xa8, 0x1c, 0x40, + 0xfe, 0x2e, 0xe2, 0x4, + + /* U+45 "E" */ + 0xbf, 0xff, 0xd8, 0xf, 0xfe, 0x26, 0xdf, 0xdc, + 0x8, 0x9f, 0xf0, 0x1f, 0xfe, 0xb2, 0x7f, 0x1, + 0xdb, 0x7e, 0x80, 0x7f, 0xf1, 0x7f, 0xfd, 0x0, + 0xff, 0xfc, 0x93, 0xfe, 0x2, 0xdb, 0xfc, 0x7, + 0xff, 0x4, + + /* U+46 "F" */ + 0xbf, 0xff, 0xd4, 0xf, 0xfe, 0x26, 0xdf, 0xd4, + 0x8, 0x9f, 0xe0, 0x3f, 0xff, 0x3f, 0xfe, 0x40, + 0x7f, 0xf1, 0x76, 0xfc, 0x80, 0xc4, 0xfe, 0x3, + 0xff, 0xfe, 0x7, 0xff, 0x18, + + /* U+47 "G" */ + 0x3, 0x9d, 0xfe, 0xd0, 0x81, 0xf2, 0xf1, 0x1, + 0x17, 0xa0, 0x1c, 0xa8, 0x7, 0x76, 0x42, 0x1c, + 0x3, 0x50, 0x1a, 0x22, 0x4f, 0x10, 0xc8, 0x6, + 0x2, 0x90, 0x3d, 0xc0, 0x40, 0x14, 0x2, 0x3, + 0xe2, 0x83, 0x0, 0x43, 0x3, 0xfa, 0xfc, 0x8, + 0xe, 0x7, 0xff, 0x5, 0x80, 0x20, 0x7f, 0xf2, + 0x89, 0xf8, 0xf, 0xe3, 0xb7, 0xc0, 0x7f, 0xf1, + 0x98, 0x2, 0x6, 0x3f, 0xe6, 0x4, 0x40, 0x60, + 0x3f, 0xf8, 0x48, 0x20, 0x3f, 0xf8, 0x5c, 0x4, + 0x3, 0xff, 0x82, 0x88, 0x6c, 0x7, 0xc8, 0xe, + 0xc0, 0x25, 0x44, 0xcf, 0x10, 0x80, 0xdc, 0x85, + 0x76, 0xa1, 0xe, 0x81, 0xda, 0xa2, 0x4, 0x5e, + 0x80, 0x0, + + /* U+48 "H" */ + 0xbf, 0x80, 0xff, 0x7e, 0x80, 0x7f, 0xff, 0xc0, + 0xff, 0xee, 0x13, 0xfe, 0x3, 0xdb, 0x7f, 0x80, + 0xff, 0xe5, 0x7f, 0xfe, 0x3, 0xff, 0xfe, 0x7, + 0xff, 0xb0, + + /* U+49 "I" */ + 0x9f, 0x88, 0x1f, 0xff, 0xf0, + + /* U+4A "J" */ + 0x3, 0xfc, 0xbf, 0x20, 0x3f, 0xff, 0xe0, 0x7f, + 0xff, 0xc0, 0xff, 0xea, 0x1b, 0x48, 0xf, 0x10, + 0x32, 0x4c, 0x7, 0xb8, 0x4, 0x40, 0x30, 0x38, + 0xb0, 0x40, 0x40, 0x1d, 0x92, 0x78, 0x4, 0x0, + 0xd8, 0x4, 0xd9, 0x0, 0x44, 0x5, 0x32, 0x20, + 0xb, 0xcc, 0x0, + + /* U+4B "K" */ + 0xbf, 0x80, 0xfd, 0x7f, 0x40, 0x3f, 0xe8, 0x83, + 0x80, 0x7f, 0x9b, 0x5, 0x0, 0xff, 0x28, 0xd, + 0x3, 0xfc, 0xa8, 0x38, 0xf, 0xf1, 0xa0, 0x38, + 0x1f, 0xe3, 0x80, 0x62, 0x7, 0xfb, 0x80, 0xa4, + 0xf, 0xf6, 0x22, 0x20, 0x3f, 0xd4, 0x80, 0xc0, + 0x7f, 0xc8, 0x9, 0x30, 0x3f, 0xe7, 0xc0, 0x42, + 0x7, 0xf2, 0x82, 0x80, 0xe0, 0x7f, 0x50, 0x9, + 0x83, 0x40, 0xff, 0xe0, 0x44, 0x13, 0x3, 0xff, + 0x81, 0x40, 0x42, 0x7, 0xff, 0x2, 0x80, 0xe0, + 0x7f, 0xf0, 0x14, 0x6, 0x81, 0xff, 0xc0, 0x68, + 0x26, 0x7, 0xff, 0x2, 0x80, 0x84, + + /* U+4C "L" */ + 0xbf, 0x80, 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, + 0xff, 0xf6, 0x4f, 0xf0, 0x1b, 0x6f, 0xe6, 0x7, + 0xff, 0x4, + + /* U+4D "M" */ + 0xbf, 0xc0, 0x7f, 0xf0, 0x1f, 0xf1, 0x3, 0x20, + 0x3f, 0xea, 0x7, 0xee, 0x7, 0xf9, 0x10, 0x3f, + 0x20, 0x3f, 0xdc, 0xf, 0x88, 0x6, 0x7, 0xf2, + 0x8, 0xe, 0x68, 0x40, 0x3f, 0x30, 0x18, 0xe, + 0x7c, 0x2, 0x3, 0xea, 0x11, 0x3, 0xc8, 0x8e, + 0x7, 0x91, 0x1c, 0xf, 0xd4, 0x20, 0x3d, 0xc1, + 0x44, 0xf, 0x98, 0x6, 0x7, 0x21, 0x40, 0xf8, + 0x80, 0x42, 0x1, 0x98, 0x6, 0x7, 0xfa, 0x0, + 0x40, 0x54, 0x20, 0x3f, 0xe2, 0x43, 0x80, 0x44, + 0x40, 0x3f, 0xf8, 0x14, 0x20, 0x1c, 0x12, 0x1, + 0xc0, 0xfe, 0x60, 0x18, 0x42, 0x81, 0xff, 0xc2, + 0x62, 0xb0, 0xc, 0xf, 0xfe, 0x15, 0x6, 0x6, + 0x7, 0xff, 0xc, 0x90, 0x15, 0x3, 0xff, 0x89, + 0x40, 0x12, 0x3, 0xff, 0x88, 0xc0, 0x50, 0x3f, + 0x80, + + /* U+4E "N" */ + 0xbf, 0x90, 0x1f, 0xdf, 0xa0, 0x15, 0x3, 0xff, + 0x89, 0x0, 0xff, 0xe1, 0xb2, 0x7, 0xff, 0xf, + 0x81, 0xff, 0xc1, 0x80, 0xc0, 0x3f, 0xf8, 0xc, + 0x86, 0x40, 0xff, 0xe0, 0x70, 0x1c, 0xf, 0xfe, + 0x1, 0x60, 0xb0, 0x3f, 0xf8, 0x10, 0x88, 0x40, + 0xff, 0xe0, 0x70, 0x1c, 0xf, 0xfe, 0x1, 0x60, + 0xb0, 0x3f, 0xf8, 0x10, 0x88, 0x7, 0xff, 0x6, + 0x0, 0xa0, 0x7f, 0xf0, 0x13, 0x9, 0x0, 0xff, + 0xe0, 0x40, 0x14, 0xf, 0xfe, 0xd, 0x3, 0xff, + 0x86, 0x90, 0xf, 0xfe, 0x1d, 0x3, 0xff, 0x89, + 0x40, 0x80, + + /* U+4F "O" */ + 0x3, 0x95, 0xfe, 0xcc, 0xf, 0xc7, 0x54, 0x4, + 0x67, 0x40, 0x71, 0xc4, 0x29, 0x69, 0x80, 0xac, + 0xd, 0xc0, 0x5a, 0x69, 0x26, 0x1, 0x8, 0x4, + 0x44, 0x40, 0x71, 0xc0, 0x20, 0x8, 0x1, 0x81, + 0xf1, 0x41, 0x0, 0x21, 0x81, 0xfd, 0xc0, 0x22, + 0x3, 0x1, 0xfc, 0xc0, 0x16, 0x7, 0xff, 0x0, + 0x80, 0xe4, 0x3, 0x3, 0xff, 0xa4, 0x40, 0x30, + 0x3f, 0xfa, 0x3d, 0x0, 0xc0, 0x7f, 0x20, 0x4, + 0x10, 0xc0, 0xfe, 0xe0, 0x10, 0xa0, 0x18, 0x1f, + 0x14, 0x10, 0x6, 0x44, 0x40, 0x7b, 0x80, 0x80, + 0x5c, 0x5, 0xa4, 0x54, 0xe4, 0x42, 0x4, 0x71, + 0xa, 0xea, 0xc0, 0x56, 0x7, 0x1d, 0x50, 0x11, + 0x9d, 0x1, 0x0, + + /* U+50 "P" */ + 0xbf, 0xfe, 0xd0, 0x81, 0xff, 0xc0, 0x2f, 0x40, + 0x3b, 0x6f, 0x40, 0xd, 0x80, 0xc4, 0xf9, 0xf2, + 0x20, 0x1f, 0xfc, 0x8, 0x1, 0x81, 0xff, 0x20, + 0x1c, 0xf, 0xfe, 0x71, 0x1, 0xc0, 0xff, 0xa0, + 0x4, 0x7, 0xf2, 0xa8, 0x22, 0x5, 0xff, 0xaa, + 0x6, 0x81, 0xff, 0x19, 0x80, 0xed, 0xb7, 0xf6, + 0x60, 0x78, 0x9c, 0x7, 0xff, 0xfc, 0xf, 0xfe, + 0x58, + + /* U+51 "Q" */ + 0x3, 0x9d, 0xfe, 0xac, 0xf, 0xc7, 0xc4, 0x4, + 0xa7, 0x40, 0x72, 0xc0, 0x15, 0xb2, 0x1, 0x50, + 0x1a, 0x80, 0xd5, 0x2a, 0xe0, 0x14, 0x9, 0x80, + 0xa4, 0xe, 0x34, 0x4, 0x1, 0x1, 0x40, 0x7c, + 0x88, 0x60, 0x80, 0xa0, 0x7f, 0x50, 0x5, 0x80, + 0x20, 0x7f, 0x20, 0x8, 0x80, 0x60, 0x7f, 0xf0, + 0x78, 0x2, 0x7, 0xf1, 0x1, 0xc0, 0xff, 0xe2, + 0xf0, 0x4, 0xf, 0xe2, 0x3, 0x81, 0x30, 0x3f, + 0xf8, 0x5, 0x0, 0x20, 0x7f, 0x20, 0xc, 0x80, + 0xa0, 0x7f, 0x50, 0x4, 0x30, 0x50, 0x1f, 0x22, + 0x18, 0x8, 0x2, 0x90, 0x38, 0xd0, 0x10, 0xa, + 0x80, 0xd5, 0x15, 0x30, 0xa, 0x6, 0x58, 0x2, + 0xba, 0xb0, 0x15, 0x1, 0xc7, 0xc4, 0x4, 0x40, + 0x52, 0x7, 0xce, 0xff, 0x68, 0x3, 0x30, 0x3f, + 0xf8, 0xe, 0x80, 0x88, 0xf, 0xfe, 0x2, 0xc6, + 0x20, 0x3f, 0xf8, 0x27, 0x30, + + /* U+52 "R" */ + 0xbf, 0xfe, 0xa8, 0xf, 0xfe, 0xa, 0xb8, 0xf, + 0x6d, 0xd4, 0x83, 0x80, 0xe2, 0x79, 0x66, 0xb, + 0x3, 0xfe, 0x80, 0x30, 0x1f, 0xfc, 0x2, 0x18, + 0x1f, 0xfc, 0xf2, 0x18, 0x1f, 0xf5, 0x1, 0xc0, + 0xc4, 0xf2, 0xc8, 0x24, 0x3, 0x6d, 0xd4, 0x85, + 0x40, 0xff, 0xe0, 0x5a, 0x3, 0xdf, 0xec, 0x3, + 0x81, 0xff, 0x16, 0x11, 0x3, 0xfe, 0x80, 0x20, + 0x1f, 0xfc, 0x8, 0x12, 0x1, 0xff, 0x30, 0x10, + 0xf, 0xfe, 0x4, 0x5, 0x81, 0xff, 0x32, 0x20, + 0x1f, 0xfc, 0x8, 0x1, 0x80, + + /* U+53 "S" */ + 0x3, 0x4d, 0xfd, 0x98, 0x1e, 0x7d, 0x90, 0x23, + 0x3a, 0x2, 0x50, 0x4, 0xda, 0x80, 0x2a, 0x1, + 0x40, 0x76, 0x4c, 0xf8, 0xa, 0x8, 0x6, 0x7, + 0xd0, 0x2, 0x60, 0x38, 0x1f, 0x20, 0x5, 0x0, + 0xc0, 0x7c, 0x7f, 0x30, 0x82, 0xa0, 0x7f, 0xd4, + 0x85, 0xea, 0x3, 0xfb, 0x30, 0xa, 0xfa, 0x80, + 0xfa, 0x78, 0x40, 0x2b, 0x88, 0x1f, 0x3d, 0x90, + 0x83, 0x90, 0x1f, 0x8b, 0xd4, 0x5, 0x3, 0xfe, + 0x50, 0x3, 0xde, 0x81, 0xf9, 0x0, 0xec, 0x20, + 0x3f, 0xef, 0xc0, 0x28, 0x1f, 0x40, 0x9, 0x18, + 0x5d, 0xa2, 0x4f, 0x20, 0x88, 0x90, 0x2, 0x5d, + 0x90, 0x85, 0x40, 0x9f, 0x84, 0x8, 0xbd, 0x40, + 0x0, + + /* U+54 "T" */ + 0x5f, 0xff, 0xf0, 0xc0, 0xff, 0xe3, 0x2d, 0xbc, + 0x1, 0x6d, 0xe0, 0x4, 0xf8, 0x8, 0x9f, 0x1, + 0xff, 0xff, 0x3, 0xff, 0xfe, 0x7, 0xff, 0xfc, + 0xf, 0xff, 0x20, + + /* U+55 "U" */ + 0x1f, 0xa0, 0x1f, 0x97, 0xe4, 0x7, 0xff, 0xfc, + 0xf, 0xff, 0xf8, 0x1f, 0xff, 0x12, 0x7, 0xe2, + 0x1, 0x82, 0x10, 0x1f, 0xb0, 0x2, 0x28, 0x8, + 0x7, 0x92, 0x6, 0x1, 0x90, 0xea, 0x24, 0xad, + 0x3, 0x0, 0xb2, 0xa, 0xec, 0xa8, 0x1e, 0x7, + 0x5a, 0x44, 0x9, 0x5c, 0x40, 0x0, + + /* U+56 "V" */ + 0x7f, 0x98, 0x1f, 0xe9, 0xf9, 0x30, 0x14, 0xf, + 0xf3, 0x0, 0x82, 0x4, 0xf, 0xe4, 0x1, 0x80, + 0xe0, 0x18, 0x1f, 0xb8, 0xa, 0x1, 0x0, 0xa0, + 0x7e, 0x40, 0x90, 0x13, 0x4, 0x80, 0xf2, 0x1, + 0x40, 0xd4, 0x2, 0x3, 0xdc, 0x3, 0x3, 0x12, + 0x14, 0xf, 0x20, 0x80, 0xf5, 0x4, 0x80, 0xc8, + 0x7, 0x3, 0xcc, 0x5, 0x3, 0x70, 0x8, 0xf, + 0x90, 0x40, 0x64, 0x18, 0x1f, 0xb0, 0x24, 0x1, + 0x80, 0xa0, 0x7e, 0x60, 0x28, 0xa, 0x9, 0x1, + 0xfc, 0x83, 0x0, 0x45, 0x3, 0xfd, 0xc0, 0x26, + 0x1, 0x81, 0xfe, 0x40, 0x35, 0x8, 0xf, 0xfe, + 0x3, 0xc, 0x8e, 0x7, 0xff, 0x2, 0x81, 0x90, + 0x1f, 0xfc, 0x2, 0x40, 0x10, 0x1f, 0xfc, 0x2a, + 0x3, 0x81, 0xf0, + + /* U+57 "W" */ + 0x1f, 0xa0, 0x1f, 0x5f, 0x80, 0xfa, 0x7e, 0x0, + 0x42, 0x3, 0xe4, 0x8, 0x1f, 0x10, 0x40, 0x20, + 0x40, 0xf1, 0x2, 0x60, 0x79, 0x6, 0x3, 0x0, + 0x40, 0x75, 0x2, 0xc0, 0x71, 0x1, 0x80, 0x20, + 0x4, 0xe, 0x40, 0x84, 0x7, 0x20, 0x8, 0x8, + 0x8c, 0x7, 0x11, 0x0, 0x10, 0x36, 0x0, 0x40, + 0x90, 0x40, 0x64, 0x1, 0x10, 0x80, 0xcc, 0x20, + 0x36, 0x0, 0x40, 0xb8, 0x42, 0x8a, 0x6, 0x23, + 0x1, 0x98, 0x4, 0x4, 0x86, 0x8, 0x10, 0x24, + 0x1, 0x1, 0x88, 0xc, 0x0, 0x80, 0x60, 0x80, + 0x40, 0x30, 0x2, 0x7, 0x20, 0xc0, 0x20, 0x40, + 0x90, 0xc0, 0x10, 0x40, 0x7b, 0x2, 0x2, 0x84, + 0x5, 0xc2, 0x0, 0x46, 0x3, 0xc8, 0x2, 0x4, + 0x50, 0x24, 0x9, 0x80, 0x20, 0x3c, 0x40, 0x64, + 0x0, 0x81, 0x88, 0x48, 0x0, 0x81, 0xf2, 0x7, + 0x4, 0x7, 0x21, 0xb8, 0x40, 0x7e, 0xc1, 0xa1, + 0xc0, 0xec, 0x12, 0x2, 0x7, 0xe4, 0x9, 0x4, + 0x7, 0x20, 0x4, 0x60, 0x3f, 0x10, 0x22, 0x7, + 0xc8, 0x9, 0x1, 0xfc, 0x80, 0x50, 0x3e, 0xc0, + 0x8, 0x1f, 0xec, 0x1, 0x1, 0xf2, 0x0, 0x80, + 0xe0, + + /* U+58 "X" */ + 0x17, 0xf2, 0x3, 0xf5, 0xfc, 0x84, 0x1, 0x40, + 0xf9, 0x20, 0x48, 0xc, 0x1, 0x0, 0xf5, 0x1, + 0x0, 0x99, 0xc, 0x81, 0xa0, 0x8, 0x40, 0xdc, + 0x7, 0x2, 0x2c, 0x16, 0x7, 0x16, 0xb, 0x1, + 0xc0, 0x70, 0x3e, 0x80, 0x21, 0x64, 0x32, 0x7, + 0xea, 0x3, 0xc0, 0x60, 0x1f, 0xc9, 0x1, 0x1, + 0x0, 0xff, 0xa8, 0x12, 0x40, 0x3f, 0xe2, 0x7, + 0xff, 0x13, 0x81, 0x26, 0x7, 0xf9, 0x90, 0x80, + 0x40, 0x3f, 0xd0, 0x5, 0x80, 0x28, 0x1f, 0xa8, + 0xa, 0x1a, 0x9, 0x0, 0xf2, 0x40, 0x90, 0x4, + 0x1, 0x40, 0xf5, 0x1, 0x0, 0x8c, 0x1, 0x0, + 0xd0, 0x4, 0x20, 0x66, 0x43, 0x20, 0x13, 0x5, + 0x81, 0xee, 0x3, 0x80, 0x80, 0x38, 0x1f, 0x16, + 0xb, + + /* U+59 "Y" */ + 0x9f, 0x98, 0x1f, 0xd7, 0xf2, 0x80, 0x20, 0x1f, + 0x8a, 0x9, 0x4, 0x1, 0x0, 0xfa, 0x0, 0x80, + 0x19, 0xc, 0xf, 0x24, 0x8, 0x81, 0x40, 0x10, + 0xe, 0x80, 0x28, 0x19, 0x10, 0xc0, 0xc8, 0x86, + 0x7, 0xb8, 0x8, 0x5, 0x0, 0x40, 0x3c, 0x50, + 0x60, 0x11, 0x10, 0xf, 0xd0, 0x4, 0x10, 0x16, + 0x7, 0xe2, 0xc3, 0x84, 0x40, 0x3f, 0xd0, 0x3, + 0x5, 0x1, 0xff, 0x30, 0x28, 0x7, 0xff, 0x2, + 0x0, 0x28, 0xf, 0xfe, 0x1b, 0x3, 0xff, 0xfe, + 0x7, 0xff, 0x58, + + /* U+5A "Z" */ + 0xbf, 0xff, 0xf0, 0x48, 0x1f, 0xfc, 0x3b, 0xb7, + 0xf5, 0x0, 0x48, 0x13, 0xfd, 0x0, 0x70, 0x3f, + 0xd0, 0x88, 0x40, 0xfe, 0x2c, 0x16, 0x7, 0xfb, + 0x80, 0xe0, 0x7f, 0xa1, 0x10, 0x81, 0xfc, 0x98, + 0x4c, 0xf, 0xf5, 0x1, 0x40, 0xff, 0x50, 0x14, + 0xf, 0xf2, 0x40, 0x90, 0xf, 0xf5, 0x1, 0x40, + 0xff, 0x50, 0x14, 0xf, 0xf3, 0x41, 0xa0, 0x3f, + 0x8c, 0x6, 0x1, 0xfe, 0xe0, 0x38, 0x1f, 0xe6, + 0x42, 0x4, 0xff, 0xa, 0x1, 0x6d, 0xfe, 0xa0, + 0x7f, 0xf0, 0xc0, + + /* U+5B "[" */ + 0xff, 0x88, 0x1f, 0x9f, 0xe2, 0x7, 0xff, 0xfc, + 0xf, 0xff, 0x7b, 0xfc, 0x40, 0xf0, + + /* U+5C "\\" */ + 0x5f, 0x88, 0x1f, 0x91, 0x14, 0xf, 0xea, 0x18, + 0x1f, 0xcc, 0x2, 0x3, 0xf9, 0xe, 0x7, 0xf7, + 0x8, 0xf, 0xe4, 0x1, 0x81, 0xfc, 0xc5, 0x3, + 0xfa, 0x82, 0x40, 0x7e, 0x24, 0x28, 0x1f, 0xd4, + 0x30, 0x3f, 0x98, 0x6, 0x7, 0xf3, 0x14, 0xf, + 0xea, 0x9, 0x1, 0xf8, 0x90, 0xa0, 0x7f, 0x50, + 0xc0, 0xfe, 0x60, 0x10, 0x1f, 0xc8, 0x70, 0x3f, + 0xb8, 0x40, 0x7f, 0x20, 0xc, 0xf, 0xe6, 0x28, + 0x1f, 0xd1, 0xa0, + + /* U+5D "]" */ + 0xff, 0x90, 0x1e, 0xfd, 0x40, 0xe6, 0x7, 0xff, + 0xfc, 0xf, 0xff, 0x33, 0x2, 0xfd, 0x40, 0xfe, + + /* U+5E "^" */ + 0x3, 0x1f, 0xc0, 0x7e, 0x80, 0x10, 0x1f, 0x20, + 0x1c, 0xf, 0x30, 0x24, 0x40, 0xea, 0x21, 0x14, + 0xc, 0x88, 0x70, 0x30, 0x37, 0xc, 0x20, 0x8, + 0x9, 0xa, 0x1, 0x88, 0x2, 0x2, 0x40, 0x28, + 0x24, 0x18, 0xa0, 0x44, 0x85, + + /* U+5F "_" */ + 0x3, 0xff, 0x83, 0xff, 0xff, 0x2, 0x1, 0xff, + 0xc1, + + /* U+60 "`" */ + 0x1b, 0xf1, 0x2, 0xc4, 0x70, 0x36, 0x5, 0x81, + 0xb0, 0x84, + + /* U+61 "a" */ + 0x2, 0x57, 0xfb, 0x30, 0x3a, 0xd2, 0x2, 0x33, + 0x1, 0x44, 0x1e, 0xf9, 0x83, 0x0, 0x30, 0xe1, + 0x6, 0x20, 0xc0, 0x5a, 0x80, 0x76, 0x0, 0x42, + 0x40, 0x3c, 0x40, 0xf3, 0xbf, 0xea, 0x6, 0x3a, + 0x20, 0x4, 0xc0, 0x6e, 0x45, 0xfd, 0xb2, 0x1, + 0x22, 0x32, 0x3, 0xf1, 0x0, 0x40, 0xe2, 0x7, + 0x90, 0x1d, 0x40, 0x98, 0xa, 0xca, 0x9c, 0x80, + 0x62, 0x0, 0x9a, 0xb0, 0xc0, 0x10, 0xf2, 0x2, + 0x7a, 0x24, 0x0, + + /* U+62 "b" */ + 0x1f, 0x98, 0x1f, 0xff, 0xf0, 0x3f, 0xd3, 0xfa, + 0x90, 0x3d, 0xbb, 0x2, 0x59, 0x81, 0xc8, 0x4d, + 0x90, 0x4, 0x20, 0x76, 0x64, 0x9e, 0x1, 0x0, + 0xd0, 0x81, 0x8b, 0x8, 0xf, 0xfb, 0x0, 0x40, + 0x7f, 0x98, 0x2, 0x7, 0xf8, 0x81, 0xff, 0xc1, + 0x20, 0x7f, 0xf0, 0x58, 0x2, 0x7, 0xfb, 0x80, + 0x40, 0x50, 0x81, 0x8a, 0x8, 0xe, 0xcc, 0x93, + 0xc0, 0x20, 0x19, 0x89, 0xb2, 0x0, 0x84, 0xd, + 0xb1, 0x81, 0x2c, 0xc0, 0x0, + + /* U+63 "c" */ + 0x2, 0x33, 0x7e, 0xcc, 0xe, 0x79, 0x90, 0x6, + 0x60, 0x25, 0x1, 0xbf, 0x30, 0x70, 0xa, 0xe, + 0x40, 0xca, 0xa, 0x40, 0x10, 0xe, 0x44, 0x6c, + 0x0, 0x80, 0xf7, 0xb4, 0x41, 0x3, 0xe2, 0x88, + 0x1f, 0xfc, 0xe2, 0x8, 0x1f, 0xec, 0x1, 0x1, + 0xeb, 0xa2, 0x1, 0x0, 0xe2, 0x8f, 0x14, 0x1c, + 0x81, 0x78, 0x16, 0x14, 0x6, 0xfd, 0x1, 0xc0, + 0x4f, 0x32, 0x0, 0xcc, 0x0, + + /* U+64 "d" */ + 0x3, 0xfd, 0xbe, 0x3, 0xff, 0xf0, 0xaf, 0xed, + 0x0, 0xf4, 0xa8, 0x1, 0x78, 0xc, 0xd8, 0x1b, + 0xb1, 0x92, 0x2, 0x80, 0xe4, 0x4a, 0x50, 0x24, + 0x2, 0x81, 0xc8, 0x80, 0xc0, 0x18, 0x1f, 0xc4, + 0xf, 0xfe, 0x11, 0x3, 0xff, 0x80, 0x40, 0xff, + 0x10, 0x3f, 0xf8, 0x18, 0x3, 0x3, 0xf9, 0x0, + 0xa0, 0x72, 0x20, 0x54, 0x1c, 0x89, 0x4a, 0x6, + 0x4c, 0x1b, 0xb1, 0x82, 0x6, 0x95, 0x0, 0x2f, + 0xa0, 0x0, + + /* U+65 "e" */ + 0x3, 0x4d, 0xfb, 0x30, 0x39, 0x76, 0x40, 0x19, + 0x80, 0x8d, 0x6, 0xfc, 0xc1, 0xa0, 0x38, 0x39, + 0x3, 0x20, 0x22, 0x61, 0x0, 0xe6, 0x2, 0xd0, + 0x4, 0x7, 0x88, 0x24, 0x3, 0xff, 0x88, 0x60, + 0x7f, 0xf0, 0xcf, 0xff, 0xd8, 0x82, 0x7, 0xfb, + 0x0, 0x60, 0x7f, 0x20, 0x10, 0xf, 0x3a, 0x2, + 0x80, 0xec, 0x1, 0xb1, 0x20, 0x54, 0x4, 0xfd, + 0x90, 0x88, 0x2, 0xec, 0x80, 0x2f, 0x30, + + /* U+66 "f" */ + 0x3, 0xff, 0x87, 0x3f, 0xa8, 0x1b, 0x30, 0x3e, + 0x64, 0x3f, 0xd4, 0xb, 0x0, 0x80, 0x79, 0x84, + 0x7, 0xff, 0x8, 0xfe, 0x21, 0x7e, 0xc0, 0x7f, + 0xc7, 0xf1, 0xb, 0xf6, 0x3, 0xff, 0xfe, 0x7, + 0xff, 0x88, + + /* U+67 "g" */ + 0x2, 0x57, 0xf6, 0x82, 0x7c, 0x2, 0x54, 0x0, + 0xbc, 0x40, 0x9b, 0x3, 0x76, 0x32, 0x80, 0xa0, + 0xc, 0x89, 0x4a, 0x4, 0x80, 0x40, 0x39, 0x20, + 0xc, 0x1, 0x81, 0xfc, 0x40, 0xff, 0xe1, 0x10, + 0x3f, 0xf8, 0x4, 0xf, 0xf1, 0x3, 0xff, 0x81, + 0x80, 0x30, 0x3c, 0xc0, 0x20, 0x14, 0xe, 0x44, + 0xa, 0x83, 0x91, 0x29, 0x40, 0xc9, 0x83, 0x76, + 0x32, 0x40, 0x69, 0x50, 0x2, 0xf3, 0x3, 0x95, + 0xfd, 0xa0, 0x61, 0x81, 0xfe, 0x20, 0x85, 0xc8, + 0x1d, 0x0, 0x61, 0xc6, 0x64, 0x1a, 0xc2, 0x41, + 0x48, 0x9b, 0xe4, 0xd, 0x2, 0xd5, 0x1, 0x29, + 0x80, 0x0, + + /* U+68 "h" */ + 0x1f, 0x98, 0x1f, 0xff, 0xf0, 0x33, 0xdf, 0xb2, + 0x3, 0xbe, 0x84, 0x1, 0xac, 0xc, 0xcb, 0xd9, + 0x0, 0x40, 0x3b, 0x42, 0x4e, 0x0, 0x40, 0x4c, + 0x81, 0x98, 0x2, 0x5, 0xc0, 0xfd, 0xc0, 0xff, + 0xff, 0x81, 0xff, 0xde, + + /* U+69 "i" */ + 0x17, 0xc0, 0x83, 0xc, 0xc1, 0x33, 0x3, 0xb7, + 0xa0, 0x7f, 0xfb, 0x0, + + /* U+6A "j" */ + 0x2, 0xdd, 0x0, 0x24, 0x38, 0x2, 0x8f, 0x2, + 0xb9, 0x1, 0xfd, 0xfa, 0x1, 0xff, 0xff, 0x3, + 0xff, 0x9d, 0xc9, 0x50, 0x7, 0x62, 0x5, 0x10, + 0xb, 0x0, + + /* U+6B "k" */ + 0x1f, 0x98, 0x1f, 0xff, 0xf0, 0x3f, 0xf8, 0x27, + 0xf8, 0x81, 0xfd, 0xc0, 0x62, 0x7, 0xec, 0x46, + 0x20, 0x7e, 0xc4, 0x52, 0x7, 0xec, 0x45, 0x40, + 0x7e, 0xa4, 0x44, 0x7, 0xea, 0x80, 0x30, 0x3f, + 0x88, 0x15, 0x3, 0xfc, 0x90, 0x26, 0x7, 0xe5, + 0x68, 0x88, 0x40, 0xfb, 0x0, 0xe0, 0x38, 0x1f, + 0xe3, 0x1, 0x80, 0x7f, 0x9a, 0xd, 0x1, 0xfe, + 0xa4, 0x52, 0x7, 0xfb, 0x80, 0xe0, + + /* U+6C "l" */ + 0xde, 0x81, 0xff, 0xf0, + + /* U+6D "m" */ + 0x1f, 0x90, 0x9b, 0xf5, 0x40, 0x53, 0x7e, 0xc8, + 0xe, 0xdd, 0x90, 0xa, 0xa4, 0xec, 0x80, 0x36, + 0x1, 0x99, 0xbb, 0x18, 0xb, 0x42, 0x6c, 0x80, + 0x19, 0x2, 0x39, 0x12, 0x90, 0x5, 0x99, 0x27, + 0x40, 0x20, 0x2a, 0x7, 0x20, 0x8, 0x81, 0x90, + 0xe, 0x7, 0xf1, 0x0, 0x40, 0xfc, 0x40, 0xff, + 0xff, 0x81, 0xff, 0xff, 0x3, 0xff, 0xc8, + + /* U+6E "n" */ + 0x1f, 0x90, 0x7b, 0xf6, 0x40, 0x71, 0xd0, 0x80, + 0x35, 0x81, 0xa1, 0x7b, 0x20, 0x8, 0x7, 0x68, + 0x49, 0xc0, 0x8, 0x9, 0x90, 0x33, 0x0, 0x40, + 0xb8, 0x1f, 0xb8, 0x1f, 0xff, 0xf0, 0x3f, 0xfb, + 0xc0, + + /* U+6F "o" */ + 0x3, 0x4d, 0xfb, 0x40, 0x3c, 0xbb, 0x20, 0xb, + 0xe8, 0x8, 0xd0, 0x17, 0xf4, 0x1, 0x48, 0xe, + 0x3, 0xa0, 0xf, 0x0, 0xe1, 0x11, 0x0, 0xe3, + 0x1, 0x2c, 0x1, 0x81, 0xe6, 0x2, 0x90, 0x40, + 0xff, 0x10, 0x3f, 0xe2, 0x7, 0xff, 0x10, 0x82, + 0x7, 0xe2, 0xe, 0x0, 0xc0, 0xf3, 0x1, 0x91, + 0x10, 0xf, 0x40, 0x50, 0xe0, 0x32, 0x0, 0xb8, + 0xe, 0x0, 0xd0, 0x6f, 0xea, 0x2, 0x90, 0x25, + 0xd9, 0x0, 0x5f, 0x40, 0x0, + + /* U+70 "p" */ + 0x1f, 0x91, 0x9f, 0xd4, 0x81, 0xed, 0x8c, 0x9, + 0x66, 0x7, 0x33, 0x36, 0x30, 0x10, 0x81, 0x8e, + 0x64, 0xa5, 0x1, 0x0, 0xd4, 0xe, 0x48, 0x10, + 0x1f, 0xf7, 0x0, 0x40, 0xff, 0x30, 0xc, 0xf, + 0xfe, 0x9, 0x3, 0xff, 0x82, 0x40, 0xff, 0x30, + 0xc, 0xf, 0xf7, 0x0, 0x40, 0xa8, 0x1c, 0x50, + 0x40, 0x63, 0x90, 0x7, 0x80, 0x40, 0x31, 0x2b, + 0xfa, 0x0, 0xa4, 0xd, 0x72, 0x2, 0x59, 0x1, + 0xe3, 0x7f, 0xa9, 0x3, 0xff, 0xfa, + + /* U+71 "q" */ + 0x2, 0x57, 0xf6, 0x82, 0x7c, 0x2, 0x54, 0x0, + 0xbe, 0x80, 0x9b, 0x3, 0x7e, 0x80, 0x81, 0x40, + 0x72, 0x5, 0xe0, 0x24, 0x2, 0x81, 0xc4, 0x80, + 0x60, 0xc, 0xf, 0xe2, 0x7, 0xff, 0x8, 0x81, + 0xff, 0xc0, 0x20, 0x7f, 0x88, 0x1f, 0xfc, 0xc, + 0x1, 0x81, 0xfc, 0x80, 0x50, 0x38, 0x90, 0x14, + 0x7, 0x20, 0x5e, 0x3, 0x36, 0x6, 0xfd, 0x0, + 0xf4, 0xa8, 0x1, 0x7c, 0x81, 0xca, 0xfe, 0xd0, + 0xf, 0xff, 0xc8, + + /* U+72 "r" */ + 0x1f, 0x99, 0xbf, 0x80, 0xdb, 0x10, 0x1e, 0x41, + 0x48, 0x3, 0xb5, 0x6c, 0x6, 0x64, 0xf, 0xb8, + 0x1f, 0xff, 0xf0, 0x3f, 0xe0, + + /* U+73 "s" */ + 0x2, 0x7b, 0xfa, 0xa0, 0x3b, 0x42, 0x4, 0xac, + 0x2, 0xa4, 0x4d, 0xe9, 0xd, 0x0, 0x41, 0xb1, + 0xb, 0x0, 0x80, 0x80, 0xe0, 0x75, 0x74, 0x10, + 0x10, 0x81, 0x94, 0x60, 0x28, 0xd, 0xeb, 0x3, + 0xcb, 0x30, 0xa, 0x7a, 0x40, 0xc6, 0x7d, 0x10, + 0x59, 0x1, 0xe2, 0xee, 0x1, 0x3, 0xb4, 0x7, + 0x16, 0x8, 0x4, 0x84, 0xe, 0x20, 0x4c, 0x6, + 0x64, 0x18, 0x83, 0x1, 0x80, 0x4d, 0xf3, 0x6, + 0x0, 0x3e, 0x10, 0x25, 0x70, 0x0, + + /* U+74 "t" */ + 0x2, 0x90, 0x40, 0xe2, 0xdc, 0x7, 0xff, 0x27, + 0xf6, 0x1, 0x7f, 0x2, 0x7, 0xed, 0xf0, 0xb, + 0xf8, 0xf, 0xff, 0xf8, 0x11, 0x3, 0x88, 0xa, + 0x48, 0xc, 0x81, 0xd8, 0x40, 0xab, 0x0, 0x40, + + /* U+75 "u" */ + 0x3f, 0x98, 0x1e, 0xfd, 0x0, 0xff, 0xff, 0x81, + 0xff, 0xde, 0x20, 0x7f, 0xf0, 0xe8, 0x1d, 0x0, + 0xcc, 0x1a, 0x49, 0x56, 0x6, 0x80, 0x16, 0xca, + 0x88, 0x1d, 0xd8, 0x11, 0x98, 0x8, + + /* U+76 "v" */ + 0x5f, 0x88, 0x1e, 0xbf, 0x4, 0x2, 0x81, 0xe4, + 0x10, 0x4, 0x10, 0x1c, 0x80, 0x50, 0x1c, 0x12, + 0x3, 0x70, 0x48, 0x2, 0x1, 0x40, 0xc8, 0x50, + 0x33, 0x8, 0x9, 0x0, 0x60, 0x6a, 0x9, 0x0, + 0xe1, 0x1, 0xc4, 0x85, 0x0, 0x86, 0x3, 0xc8, + 0x20, 0x80, 0x30, 0x3d, 0x41, 0x2c, 0x10, 0x1f, + 0x12, 0x15, 0x8e, 0x7, 0xea, 0x18, 0x4, 0x7, + 0xe6, 0x4, 0xc0, 0xff, 0x20, 0x18, 0xf, 0xf7, + 0x0, 0x80, 0xe0, + + /* U+77 "w" */ + 0x5f, 0x88, 0x1d, 0x7d, 0x3, 0x97, 0xe2, 0x80, + 0x20, 0x39, 0x4, 0x7, 0x60, 0x4, 0x21, 0x40, + 0xc8, 0x9, 0x1, 0x90, 0x40, 0x30, 0x20, 0x6c, + 0x5, 0x80, 0xc4, 0x60, 0xc, 0x2, 0x2, 0x62, + 0x6, 0x4, 0x80, 0x30, 0x22, 0x30, 0x2, 0xb, + 0x0, 0x40, 0x60, 0x40, 0xc8, 0x20, 0x14, 0x20, + 0x85, 0x0, 0x82, 0x3, 0x60, 0x40, 0x21, 0x47, + 0x8, 0x1, 0x14, 0xc, 0x80, 0x22, 0x40, 0x84, + 0x9, 0x20, 0x4, 0xe, 0x43, 0x20, 0x80, 0x90, + 0x58, 0x20, 0x3d, 0x82, 0xa3, 0x81, 0x61, 0x50, + 0xe0, 0x79, 0x2, 0x41, 0x1, 0x30, 0x48, 0x20, + 0x3c, 0x48, 0x2, 0x3, 0x88, 0x2, 0x7, 0xe4, + 0x3, 0x1, 0xd4, 0x2, 0x3, 0xf6, 0x0, 0xc0, + 0xe4, 0x2, 0x81, 0x80, + + /* U+78 "x" */ + 0x1f, 0xc0, 0x71, 0xfd, 0x80, 0x50, 0x10, 0xd, + 0xc0, 0x70, 0x9, 0x3, 0x20, 0x11, 0x10, 0x81, + 0x50, 0x10, 0x5, 0x5, 0x81, 0xd4, 0x24, 0x80, + 0x38, 0x1e, 0x48, 0x2b, 0xc, 0x81, 0xf5, 0x2, + 0x30, 0xf, 0xe6, 0x2, 0x81, 0xfc, 0x58, 0x8, + 0x7, 0xf7, 0x4, 0x5, 0x3, 0xe6, 0x47, 0x81, + 0x20, 0x1c, 0x60, 0x45, 0x91, 0x40, 0xee, 0x2, + 0x80, 0xe0, 0x20, 0x13, 0x22, 0x1, 0x16, 0x1a, + 0x6, 0x2, 0xc0, 0xd0, 0x5, 0x0, + + /* U+79 "y" */ + 0x9f, 0x88, 0x1e, 0xfd, 0x68, 0x5, 0x3, 0x90, + 0xc, 0x48, 0x30, 0x3b, 0x0, 0x62, 0x80, 0x20, + 0x66, 0x10, 0x6, 0x2, 0x81, 0x10, 0x1c, 0x9, + 0x6, 0x5, 0x40, 0x20, 0x2c, 0x0, 0x80, 0x41, + 0x1, 0x98, 0xa, 0x9, 0xe, 0x7, 0x20, 0xc2, + 0x0, 0x80, 0xee, 0x0, 0xd0, 0x80, 0xf2, 0x1, + 0x8, 0xe0, 0x7c, 0xc2, 0x0, 0x80, 0xfa, 0x81, + 0x30, 0x3f, 0x10, 0x2c, 0x7, 0xf3, 0x0, 0x80, + 0xfe, 0x21, 0x81, 0xfe, 0x42, 0x81, 0xfd, 0x1, + 0x20, 0x3c, 0x54, 0x62, 0x1, 0xf7, 0xac, 0x24, + 0x3, 0xe6, 0x2, 0x50, 0x3e, + + /* U+7A "z" */ + 0xbf, 0xff, 0xa0, 0x1f, 0xfc, 0xb, 0xff, 0xb0, + 0x14, 0x3, 0xe8, 0x2, 0x81, 0xf3, 0x41, 0xa0, + 0x3c, 0x60, 0x30, 0xf, 0xb8, 0xc, 0x7, 0xd4, + 0x8a, 0x7, 0xcd, 0x6, 0x80, 0xf1, 0x80, 0xc0, + 0x3e, 0xe0, 0x38, 0x1f, 0x42, 0x29, 0x3, 0xc9, + 0x84, 0x80, 0x7d, 0x0, 0x2f, 0xff, 0x1, 0xff, + 0xc0, + + /* U+7B "{" */ + 0x3, 0xf1, 0x3, 0xe7, 0xf0, 0x1e, 0x90, 0x18, + 0x1c, 0xd8, 0x58, 0x7, 0x50, 0x50, 0x1e, 0x22, + 0x81, 0xe2, 0x0, 0x81, 0xff, 0xd8, 0x60, 0x18, + 0x1e, 0xc0, 0x8, 0x1c, 0xd8, 0x30, 0x3b, 0xc0, + 0xa0, 0x18, 0x81, 0xfc, 0x7c, 0xa, 0x1, 0xe6, + 0xc1, 0x81, 0xf6, 0x0, 0x40, 0xf3, 0x0, 0xc0, + 0xff, 0xec, 0x10, 0x4, 0xf, 0x88, 0xc0, 0x7d, + 0x42, 0x40, 0x3c, 0xd0, 0xb0, 0xf, 0x58, 0x18, + 0x1f, 0x3f, 0x80, + + /* U+7C "|" */ + 0x9d, 0x81, 0xff, 0xf6, 0xcd, 0x0, + + /* U+7D "}" */ + 0x3, 0xf9, 0xfa, 0x7, 0x89, 0x2e, 0x40, 0xcb, + 0x11, 0xc0, 0xf4, 0x5, 0x1, 0xc8, 0x1, 0x3, + 0xf7, 0x3, 0xf1, 0x3, 0xff, 0x86, 0x40, 0xff, + 0xe2, 0xa0, 0x80, 0xf5, 0x1, 0x48, 0x18, 0xd0, + 0xb4, 0x3, 0x32, 0x7, 0x8e, 0x25, 0xa0, 0x15, + 0x1, 0x88, 0x19, 0x4, 0x7, 0xff, 0xc, 0x81, + 0xff, 0xc7, 0x20, 0x7e, 0xe0, 0x72, 0x0, 0x40, + 0xe8, 0xa, 0x2, 0x58, 0x8e, 0x6, 0xc5, 0x72, + 0x6, 0x9a, 0x81, 0xe0, + + /* U+7E "~" */ + 0x3, 0x12, 0x3, 0xff, 0x82, 0xb6, 0xbd, 0x3, + 0xdb, 0x8, 0x34, 0x81, 0x2e, 0x80, 0x89, 0xc3, + 0x83, 0xbc, 0x1, 0x62, 0x4e, 0x10, 0x2, 0x39, + 0xf, 0x90, 0xed, 0x11, 0x0, 0x36, 0x20, 0x6d, + 0x8, 0x5, 0xc8, + + /* U+F001 "" */ + 0x3, 0xff, 0x9c, 0x40, 0xff, 0xe5, 0x99, 0xbe, + 0x80, 0x7f, 0xf1, 0xd5, 0xf9, 0x90, 0xc, 0xf, + 0xfe, 0x19, 0x7b, 0xd4, 0x7, 0xff, 0x1d, 0x4f, + 0xa1, 0x3, 0xff, 0x8e, 0xef, 0xac, 0xf, 0xfe, + 0x4c, 0xf1, 0x1, 0xff, 0xcc, 0x60, 0x7f, 0xf7, + 0xda, 0x3, 0xff, 0x94, 0x66, 0xf0, 0x81, 0xff, + 0xc7, 0x57, 0xe6, 0x40, 0xff, 0xe3, 0x17, 0xbd, + 0x40, 0x7f, 0xf2, 0x16, 0xc8, 0x40, 0xff, 0xe5, + 0x92, 0x3, 0xff, 0xfe, 0x7, 0xff, 0xf5, 0xdd, + 0x50, 0x1f, 0xfc, 0x95, 0xe2, 0x28, 0x81, 0xff, + 0xc8, 0x34, 0xf, 0xfe, 0x9, 0x30, 0x1f, 0xe4, + 0x7, 0xfc, 0x77, 0xda, 0x3, 0xfc, 0x40, 0xfe, + 0x2b, 0x10, 0x3f, 0xf8, 0x49, 0x0, 0xfd, 0x20, + 0xf, 0xfe, 0x2d, 0x80, 0x72, 0xc8, 0x81, 0xfd, + 0xc0, 0xfc, 0xff, 0x6c, 0xf4, 0x84, 0x7, 0xf2, + 0x3, 0xfe, 0x24, 0x6, 0xa8, 0xf, 0xa9, 0x3, + 0xff, 0x8d, 0x74, 0x48, 0xef, 0x40, 0x7f, 0xf1, + 0x80, + + /* U+F008 "" */ + 0x94, 0xb, 0x7f, 0xff, 0xc4, 0xa0, 0x56, 0x34, + 0xb1, 0x3, 0xff, 0x88, 0x97, 0x30, 0x16, 0xc0, + 0x49, 0x7f, 0xf0, 0x0, 0xad, 0x80, 0xcd, 0xc0, + 0xd, 0xbf, 0xfc, 0x0, 0x26, 0xe0, 0x23, 0x24, + 0x40, 0xff, 0xe2, 0x29, 0x22, 0x7, 0xff, 0x9d, + 0x81, 0xe3, 0xfc, 0x40, 0xff, 0xe2, 0x1f, 0xe2, + 0x4, 0x4c, 0x0, 0x81, 0xff, 0xc3, 0x26, 0x2, + 0x3b, 0x44, 0x6, 0xdf, 0xfc, 0x0, 0x7, 0x68, + 0x81, 0xfc, 0x4f, 0xff, 0x0, 0x3, 0x3, 0xff, + 0x82, 0x4f, 0xff, 0x0, 0x3, 0x3, 0xc7, 0x68, + 0x80, 0xdb, 0xff, 0x80, 0x0, 0xed, 0x10, 0x22, + 0x60, 0x4, 0xf, 0xfe, 0x19, 0x30, 0x11, 0xfe, + 0x20, 0x7f, 0xf1, 0xf, 0xf1, 0x3, 0xff, 0x96, + 0xc0, 0xff, 0xeb, 0x19, 0x22, 0x7, 0xff, 0x11, + 0x49, 0x10, 0x26, 0xe0, 0x6, 0xdf, 0xfe, 0x0, + 0x13, 0x70, 0x1a, 0xd8, 0x9, 0x2f, 0xfe, 0x0, + 0x15, 0xb0, 0x4, 0xb8, 0x81, 0xff, 0xc4, 0x4b, + 0x98, + + /* U+F00B "" */ + 0x9f, 0xfa, 0x80, 0xbf, 0xff, 0xf1, 0x23, 0x3, + 0xc8, 0x84, 0x7, 0xff, 0x11, 0x81, 0xff, 0xff, + 0x3, 0xff, 0xb2, 0x80, 0xf1, 0x20, 0x40, 0xff, + 0xe2, 0x2b, 0xff, 0xb0, 0xd, 0xff, 0xff, 0x12, + 0x81, 0xff, 0xd0, 0x9f, 0xfa, 0x80, 0xbf, 0xff, + 0xf1, 0x23, 0x3, 0xc8, 0x84, 0x7, 0xff, 0x11, + 0x81, 0xff, 0xff, 0x3, 0xff, 0xb2, 0x80, 0xf1, + 0x20, 0x80, 0xff, 0xe2, 0x3b, 0xff, 0xb0, 0xb, + 0xff, 0xff, 0x12, 0x1, 0xff, 0xd0, 0xbf, 0xfb, + 0x0, 0xdf, 0xff, 0xf1, 0x2a, 0x3, 0xc4, 0x81, + 0x3, 0xff, 0x88, 0x80, 0xff, 0xff, 0x81, 0xff, + 0xd9, 0x60, 0x79, 0x10, 0x80, 0xff, 0xe2, 0x30, + + /* U+F00C "" */ + 0x3, 0xff, 0x96, 0xbc, 0x3, 0xff, 0x98, 0xe8, + 0x74, 0xf, 0xfe, 0x53, 0x80, 0x4a, 0x1, 0xff, + 0xc8, 0x70, 0xe, 0x60, 0x7f, 0xf1, 0xdc, 0x3, + 0xcc, 0xf, 0xfe, 0x33, 0x80, 0x79, 0xc0, 0x3f, + 0xf8, 0xae, 0x1, 0xe7, 0x0, 0xa7, 0x40, 0x7f, + 0xce, 0x1, 0xe7, 0x0, 0xab, 0x15, 0x81, 0xfc, + 0xe0, 0x1e, 0x70, 0xa, 0x20, 0x28, 0xc0, 0xf9, + 0xc0, 0x3c, 0xe0, 0x19, 0x81, 0xd1, 0x81, 0xce, + 0x1, 0xe7, 0x0, 0xe6, 0x7, 0xa3, 0x2, 0x70, + 0xf, 0x38, 0x7, 0xa3, 0x3, 0xd1, 0x87, 0x0, + 0xf3, 0x80, 0x7e, 0x8c, 0xf, 0x4b, 0x0, 0xf3, + 0x80, 0x7f, 0xa3, 0x3, 0xc8, 0xf, 0x38, 0x7, + 0xff, 0x2, 0x30, 0x3f, 0xe7, 0x0, 0xff, 0xe1, + 0x46, 0x7, 0xf3, 0x80, 0x7f, 0xf1, 0x23, 0x3, + 0xe9, 0x0, 0x7f, 0xf1, 0xa4, 0x1, 0xd1, 0x81, + 0xff, 0xc8, 0x70, 0xa, 0x30, 0x3f, 0xf9, 0x4e, + 0x8, 0xc0, 0xff, 0xe1, 0x80, + + /* U+F00D "" */ + 0x3, 0xff, 0x92, 0xff, 0x20, 0x3f, 0x8e, 0xf4, + 0x3, 0x80, 0x2a, 0x3, 0xe3, 0x88, 0x54, 0x40, + 0x35, 0x40, 0x71, 0xc0, 0x64, 0x48, 0xe, 0xa8, + 0x8, 0xe0, 0x3c, 0x78, 0x1e, 0xa8, 0x1c, 0x7, + 0xa8, 0x38, 0xf, 0x57, 0x80, 0xf5, 0x40, 0xe, + 0x3, 0xd0, 0xf, 0x54, 0x6, 0x38, 0xf, 0xfa, + 0xa0, 0x3c, 0x70, 0x1f, 0xd5, 0x1, 0xf8, 0xd0, + 0x3e, 0x68, 0xf, 0xe3, 0x40, 0xf9, 0xa0, 0x3f, + 0x1c, 0x7, 0xf5, 0x40, 0x78, 0xe0, 0x3f, 0xea, + 0x80, 0xc7, 0x1, 0xe8, 0x7, 0xaa, 0x0, 0x70, + 0x1e, 0xaf, 0x1, 0xea, 0x87, 0x3, 0xd5, 0x3, + 0x80, 0xf5, 0x4, 0xe, 0xa8, 0x8, 0xe0, 0x3c, + 0x60, 0x1a, 0xa0, 0x38, 0xe0, 0x32, 0x2e, 0x0, + 0xa8, 0xf, 0x8e, 0x21, 0x50, 0xf, 0xf2, 0x3, + 0xf8, 0xef, 0x40, 0x0, + + /* U+F011 "" */ + 0x3, 0xff, 0x80, 0xe4, 0x30, 0x3f, 0xf9, 0x66, + 0x36, 0x84, 0xf, 0xff, 0xd, 0x80, 0x7f, 0xf0, + 0x25, 0x3, 0xfc, 0x7a, 0x6c, 0x7, 0xf9, 0xb2, + 0xe4, 0xf, 0x8e, 0x2, 0x80, 0x7f, 0xa0, 0x16, + 0x20, 0x7b, 0x81, 0xff, 0xc8, 0xe0, 0x74, 0x20, + 0x6c, 0x7, 0xfb, 0x1, 0x8c, 0x2, 0x2c, 0xd, + 0x88, 0x1f, 0xe3, 0x80, 0xcc, 0x80, 0xa0, 0x6a, + 0x40, 0xff, 0xe0, 0x1a, 0x6, 0xa0, 0x18, 0x11, + 0x40, 0x7f, 0xf0, 0x91, 0x2, 0x60, 0x81, 0xa0, + 0x1f, 0xfc, 0x4a, 0x6, 0x28, 0xc, 0x80, 0xff, + 0xe2, 0x30, 0x32, 0x3, 0xff, 0x9f, 0xf8, 0x8, + 0x81, 0xff, 0xc6, 0x20, 0x7e, 0x20, 0x78, 0x81, + 0x88, 0x1e, 0x20, 0x5f, 0x80, 0xff, 0xbe, 0xce, + 0x7, 0xff, 0x1, 0x1, 0x90, 0x1f, 0x12, 0x3, + 0xe4, 0x6, 0x44, 0xd, 0xc0, 0xff, 0xe2, 0x70, + 0x31, 0xc, 0x9, 0x20, 0x1f, 0xfc, 0x24, 0x80, + 0x4c, 0x5, 0x3, 0x52, 0x7, 0xff, 0x0, 0xd0, + 0x35, 0x0, 0x58, 0x1b, 0x10, 0x3f, 0xc7, 0x1, + 0x99, 0x2, 0x80, 0x76, 0x80, 0x7e, 0x98, 0xc, + 0x60, 0x1d, 0x80, 0xe7, 0xeb, 0x48, 0xef, 0x60, + 0x77, 0x3, 0xc7, 0x1, 0xe5, 0x2d, 0x44, 0x7, + 0xb1, 0x3, 0xe3, 0x88, 0x1f, 0xfc, 0x23, 0xc8, + 0x1f, 0xc7, 0x40, 0x3f, 0xf8, 0x13, 0x1, 0xff, + 0xc1, 0x7e, 0xb2, 0x6, 0x2e, 0xf6, 0x7, 0xff, + 0x11, 0x4d, 0xfe, 0xd1, 0x1, 0xfc, + + /* U+F013 "" */ + 0x3, 0xff, 0xb0, 0x77, 0xfb, 0x30, 0x3f, 0xf8, + 0xec, 0x81, 0x8e, 0x3, 0xff, 0xc5, 0x80, 0xf3, + 0x3, 0xff, 0x83, 0xa0, 0x5, 0x98, 0x1e, 0x3e, + 0x0, 0x79, 0x1, 0xd8, 0xbf, 0x68, 0x81, 0xfc, + 0xf6, 0x43, 0x48, 0x13, 0x20, 0x48, 0xf, 0xfe, + 0x1, 0x20, 0x28, 0x5, 0x0, 0xff, 0xe5, 0x24, + 0xc, 0xf, 0xfe, 0x67, 0x14, 0xf, 0xf4, 0xd9, + 0x48, 0x1f, 0xc8, 0x72, 0x7, 0xee, 0xc9, 0x2c, + 0x80, 0xfd, 0x1, 0xd0, 0xf, 0x50, 0x3d, 0x40, + 0xf2, 0xec, 0x8, 0x81, 0xe4, 0x7, 0xcc, 0xe, + 0x20, 0x7f, 0xc4, 0xf, 0xfe, 0x11, 0x3, 0xfe, + 0x20, 0x7f, 0xf0, 0x88, 0x1c, 0x40, 0xf2, 0x3, + 0xe6, 0x7, 0x10, 0x23, 0xa0, 0x1e, 0xa0, 0x7a, + 0x81, 0xe5, 0xd8, 0xe4, 0xf, 0xdd, 0x92, 0x59, + 0x1, 0xfa, 0xa, 0x7, 0xfa, 0x6c, 0xa4, 0xf, + 0xe4, 0x18, 0x1f, 0xfc, 0xce, 0x2, 0x1, 0xff, + 0xca, 0x48, 0x1, 0x90, 0x24, 0x7, 0xff, 0x0, + 0x90, 0x15, 0x3, 0x62, 0xfd, 0xa2, 0x7, 0xf3, + 0xd9, 0x4d, 0x3, 0xda, 0x0, 0x59, 0x81, 0xe3, + 0xe0, 0x5, 0x90, 0x1f, 0xfc, 0xc, 0x7, 0x98, + 0x1f, 0xfe, 0x26, 0x40, 0xc7, 0x1, 0xff, 0xc7, + 0x3b, 0xfd, 0x98, 0x1f, 0xe0, + + /* U+F015 "" */ + 0x3, 0xff, 0x84, 0x5b, 0x1, 0xca, 0x49, 0x1, + 0xff, 0xc6, 0x7a, 0x46, 0x3, 0x76, 0xee, 0x7, + 0xff, 0x16, 0xc0, 0x23, 0xc8, 0x1f, 0xfc, 0xbc, + 0x80, 0xf6, 0x60, 0x7f, 0xf2, 0xf, 0x20, 0x4c, + 0x81, 0x48, 0x3, 0xff, 0x8c, 0xf0, 0x1b, 0x4c, + 0x80, 0x9a, 0x3, 0xff, 0x89, 0x20, 0x8, 0xe2, + 0x42, 0xc0, 0x3f, 0xf8, 0xf5, 0x81, 0x2c, 0x66, + 0xc2, 0xe8, 0x1f, 0xfc, 0x43, 0x90, 0x13, 0xa2, + 0xb0, 0x72, 0x4c, 0x40, 0xff, 0xe0, 0xac, 0x40, + 0xac, 0x39, 0x1, 0xab, 0x39, 0x1, 0x2a, 0x7, + 0x9d, 0x3, 0x64, 0x71, 0x3, 0xd2, 0x8a, 0xc0, + 0x96, 0x3, 0x58, 0x4, 0x79, 0x78, 0xf, 0xe5, + 0x84, 0x80, 0x23, 0xc8, 0xa8, 0x9, 0x61, 0x20, + 0xf, 0xf8, 0xf2, 0xe8, 0x1b, 0x20, 0x34, 0xa2, + 0xb0, 0x3f, 0xf8, 0x59, 0x26, 0x20, 0x4e, 0x91, + 0x59, 0xc8, 0xf, 0xfe, 0x25, 0x87, 0x21, 0x8, + 0xd8, 0x84, 0x20, 0x7f, 0xf1, 0x99, 0x17, 0x30, + 0x22, 0x1, 0x81, 0xff, 0xc8, 0x60, 0x8, 0x1f, + 0xfe, 0x3b, 0xfe, 0x20, 0x7f, 0xf3, 0x98, 0x19, + 0x81, 0xff, 0xff, 0x3, 0xff, 0xf6, 0x80, 0xf1, + 0x20, 0x36, 0x3, 0xe4, 0x7, 0x0, + + /* U+F019 "" */ + 0x3, 0xfe, 0x29, 0x62, 0x7, 0xff, 0x25, 0x6b, + 0x76, 0x40, 0x7f, 0xf2, 0x30, 0x1e, 0xc0, 0x7f, + 0xff, 0xc0, 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, + 0xff, 0x85, 0xb7, 0x30, 0x3c, 0xf6, 0xe0, 0x3f, + 0x91, 0x3c, 0x7, 0xe2, 0x79, 0x1, 0xf9, 0x30, + 0x3f, 0xf8, 0x8d, 0x1, 0xfd, 0x18, 0x1f, 0xfc, + 0x27, 0x0, 0xff, 0xa3, 0x3, 0xff, 0x80, 0xe0, + 0x1f, 0xfc, 0x18, 0xc0, 0xff, 0x38, 0x7, 0xff, + 0xe, 0x30, 0x3f, 0x38, 0x7, 0xff, 0x16, 0x30, + 0x3c, 0xe0, 0x1f, 0xfc, 0x78, 0xc0, 0xce, 0x1, + 0xfe, 0xbf, 0xfe, 0xc2, 0x30, 0xe, 0xd, 0xff, + 0xea, 0x80, 0xfc, 0x79, 0x93, 0x1c, 0x40, 0xfc, + 0x80, 0xff, 0xb1, 0x6c, 0x71, 0x3, 0xff, 0x95, + 0xb6, 0x3, 0xff, 0x9a, 0x48, 0xf, 0xfe, 0xa5, + 0xe1, 0x76, 0x7, 0xff, 0x2c, 0x86, 0x7, 0xff, + 0x32, 0xe0, 0x7b, 0x2, 0xd1, 0xbf, 0xfe, 0x64, + 0xc0, + + /* U+F01C "" */ + 0x3, 0xc6, 0xff, 0xff, 0xc4, 0x80, 0x7f, 0xf0, + 0x72, 0x3, 0xff, 0x88, 0xe0, 0x1f, 0xf5, 0x3, + 0xff, 0x8e, 0xc8, 0x1f, 0xc9, 0x0, 0x16, 0xff, + 0xf8, 0x40, 0x5c, 0xf, 0xea, 0x5, 0xe4, 0xff, + 0xe1, 0x20, 0x6, 0x1, 0xf5, 0x2, 0x64, 0xf, + 0xfe, 0x15, 0x2, 0x64, 0xe, 0x48, 0x0, 0xc0, + 0x3f, 0xf8, 0x94, 0xb, 0x81, 0xd4, 0xb, 0x81, + 0xff, 0xc5, 0x48, 0x0, 0xc0, 0x2a, 0x4, 0xc8, + 0x1f, 0xfc, 0x6a, 0x4, 0xc8, 0x48, 0x0, 0xc0, + 0x3f, 0xf9, 0x14, 0xb, 0x88, 0x4, 0xe4, 0xe6, + 0x7, 0xf2, 0x93, 0xb0, 0x11, 0x44, 0x9, 0x37, + 0xd1, 0x81, 0xfa, 0xb7, 0xe0, 0x31, 0x3, 0xfe, + 0x80, 0x7c, 0xc0, 0xff, 0xb8, 0x1f, 0xfc, 0x6, + 0x7, 0xa0, 0x1f, 0xfc, 0xc9, 0xff, 0x80, 0xff, + 0xff, 0x81, 0xff, 0xf5, 0xe8, 0xf, 0xfe, 0x92, + 0xa8, 0xf, 0xfe, 0x85, 0x20, + + /* U+F021 "" */ + 0x3, 0xff, 0x98, 0xa4, 0x30, 0x3f, 0x94, 0xdf, + 0xea, 0xc8, 0x1d, 0x1b, 0x40, 0x3e, 0x7a, 0xb2, + 0x6, 0x53, 0x52, 0x7, 0xff, 0x6, 0xc2, 0x7, + 0xf9, 0x6a, 0x7, 0xf8, 0xf4, 0x7, 0xff, 0x9, + 0x72, 0xc0, 0xf1, 0xc0, 0x73, 0xbf, 0xea, 0x80, + 0xec, 0xc0, 0xf7, 0x3, 0x1d, 0x10, 0x19, 0x5c, + 0x40, 0xc4, 0xe, 0x84, 0x9, 0xe2, 0x7, 0xe3, + 0x98, 0x1f, 0x8b, 0x2, 0x70, 0xf, 0xfe, 0x4, + 0x60, 0x7d, 0x40, 0x8c, 0x3, 0xf1, 0xff, 0x98, + 0x1f, 0x30, 0x28, 0x7, 0xf3, 0x3, 0xff, 0x80, + 0x40, 0xc8, 0xf, 0xfe, 0x5a, 0x25, 0x0, 0xff, + 0x24, 0x27, 0xfc, 0x8d, 0xd8, 0xc0, 0xff, 0xae, + 0xdf, 0xea, 0x7, 0xff, 0xb2, 0xed, 0xfe, 0xa0, + 0x7f, 0xce, 0xea, 0x51, 0x3f, 0xe4, 0x80, 0x7f, + 0xa2, 0x28, 0xf, 0xfe, 0x5a, 0x3, 0x10, 0x3f, + 0xf8, 0xc, 0xf, 0xe8, 0x4, 0xc0, 0xf9, 0xff, + 0xc4, 0xf, 0xd4, 0x81, 0x50, 0x3e, 0x70, 0xf, + 0xfe, 0x4, 0x40, 0x4c, 0x81, 0xf9, 0xd2, 0x7, + 0xe3, 0x98, 0x11, 0x80, 0x71, 0x3, 0x2d, 0x50, + 0x19, 0x5c, 0x40, 0xdc, 0xf, 0x3c, 0x7, 0x2b, + 0xfe, 0xa8, 0xe, 0xc4, 0xf, 0x33, 0xd0, 0x1f, + 0xfc, 0x25, 0xc8, 0x1f, 0xeb, 0x90, 0x1f, 0xe3, + 0x28, 0x1f, 0xfc, 0x13, 0x74, 0x20, 0x62, 0xee, + 0x60, 0x7d, 0x1b, 0x40, 0x38, 0xbd, 0xfe, 0xd1, + 0x1, 0xfc, + + /* U+F026 "" */ + 0x3, 0xff, 0x9a, 0x6b, 0x3, 0xfc, 0x72, 0x80, + 0x7f, 0x1c, 0x7, 0xfc, 0x70, 0x1f, 0xf1, 0xc0, + 0x71, 0x93, 0xd8, 0xf, 0x66, 0xfc, 0x7, 0xff, + 0xfc, 0xf, 0xff, 0x3, 0x3, 0xff, 0x83, 0x3f, + 0xf3, 0x3, 0xff, 0x83, 0x18, 0x1f, 0xfc, 0x18, + 0xc0, 0xff, 0xe0, 0xc6, 0x7, 0xff, 0x6, 0x30, + 0x40, 0xff, 0xa7, 0xc0, + + /* U+F027 "" */ + 0x3, 0xff, 0xa8, 0x6b, 0x3, 0xff, 0x8a, 0x72, + 0x80, 0x7f, 0xf1, 0xe, 0x3, 0xff, 0x8c, 0x70, + 0x1f, 0xfc, 0x63, 0x80, 0xff, 0xe0, 0x19, 0x3d, + 0x80, 0xff, 0xe0, 0xe6, 0xfc, 0x7, 0xfa, 0xc0, + 0x3f, 0xf8, 0xcd, 0x3c, 0x7, 0xff, 0x15, 0x90, + 0x58, 0x1f, 0xfc, 0x5c, 0x2, 0x81, 0xff, 0xc6, + 0x40, 0x81, 0xff, 0xc6, 0x60, 0x81, 0xff, 0xc5, + 0xa4, 0x20, 0x3f, 0xf8, 0x8d, 0x3, 0x0, 0xff, + 0xe2, 0x22, 0xb0, 0x60, 0x7f, 0xf0, 0xce, 0xa0, + 0x27, 0xfe, 0x60, 0x7f, 0xf2, 0x23, 0x3, 0xff, + 0x91, 0x18, 0x1f, 0xfc, 0x88, 0xc0, 0xff, 0xe4, + 0x46, 0x8, 0x1f, 0xfc, 0x69, 0xb0, 0xf, 0x80, + + /* U+F028 "" */ + 0x3, 0xff, 0x97, 0x10, 0x1f, 0xfd, 0x16, 0xd6, + 0x80, 0xff, 0xe8, 0x20, 0xb, 0x1, 0xff, 0xc4, + 0x35, 0x81, 0xf8, 0xe2, 0xe, 0x3, 0xff, 0x84, + 0x72, 0x80, 0x78, 0x80, 0x38, 0x83, 0x0, 0xff, + 0xe0, 0x1c, 0x7, 0xe5, 0xba, 0x1, 0x80, 0x32, + 0x7, 0xf8, 0xe0, 0x3f, 0xf8, 0x15, 0x80, 0xa0, + 0x38, 0x1f, 0xc7, 0x1, 0xfe, 0x50, 0x4, 0x41, + 0x20, 0x28, 0x19, 0x3d, 0x80, 0xff, 0xe0, 0x3a, + 0x2, 0x80, 0x80, 0x38, 0xcd, 0xf8, 0xf, 0xf6, + 0xa0, 0x13, 0x0, 0xc1, 0x20, 0x80, 0xff, 0xe2, + 0xb2, 0xb0, 0x8, 0x2, 0x80, 0x40, 0x8, 0x1f, + 0xfc, 0x46, 0x41, 0x80, 0x10, 0x20, 0x30, 0x6, + 0x7, 0xff, 0x17, 0x10, 0x80, 0x60, 0x4, 0x30, + 0x4, 0xf, 0xfe, 0x33, 0x4, 0xf, 0xfe, 0x8b, + 0x4, 0xf, 0xfe, 0x86, 0x21, 0x0, 0xc0, 0x8, + 0x60, 0x8, 0x1f, 0xfc, 0x46, 0x41, 0x80, 0x10, + 0x20, 0x30, 0x6, 0x7, 0xff, 0x11, 0x95, 0x80, + 0x40, 0x14, 0x2, 0x0, 0x58, 0x1f, 0xfc, 0x4d, + 0x40, 0x26, 0x1, 0x82, 0x41, 0x9, 0xff, 0x98, + 0x1f, 0xfc, 0x7, 0x40, 0x50, 0x10, 0x7, 0x3, + 0xf4, 0x60, 0x7f, 0x94, 0x1, 0x10, 0x48, 0xa, + 0x3, 0xfa, 0x30, 0x3f, 0xf8, 0x15, 0x80, 0xa0, + 0x38, 0x1f, 0xf4, 0x60, 0x7e, 0x5b, 0xa0, 0x18, + 0x3, 0x20, 0x7f, 0xf0, 0x23, 0x4, 0xf, 0x10, + 0x7, 0x10, 0x60, 0x1f, 0xfc, 0x29, 0xf0, 0x1f, + 0x8e, 0x20, 0xe0, 0x3f, 0xf9, 0xc8, 0x2, 0xc0, + 0x7f, 0xf3, 0xdb, 0x5a, 0x3, 0xc0, + + /* U+F03E "" */ + 0x17, 0xff, 0xfe, 0x65, 0x15, 0x1, 0xff, 0xcc, + 0x55, 0x1, 0xff, 0xce, 0x40, 0x67, 0xb2, 0x1, + 0xff, 0xcb, 0x70, 0x93, 0xa0, 0x7f, 0xf2, 0xa8, + 0x19, 0x1, 0xff, 0xd9, 0x2c, 0xf, 0xf9, 0x1, + 0x88, 0x1f, 0x8e, 0x90, 0x7, 0xfa, 0x20, 0x7, + 0x81, 0xf1, 0xc0, 0x1c, 0x3, 0xfd, 0x7f, 0x62, + 0x7, 0x8e, 0x3, 0x38, 0x7, 0xff, 0x1c, 0xe0, + 0x3c, 0xe0, 0x1f, 0xe3, 0xf0, 0x18, 0xe0, 0x3f, + 0x36, 0x3, 0xf1, 0xc0, 0xe0, 0x7, 0x1, 0xff, + 0xc6, 0x38, 0x8, 0xe5, 0x80, 0xff, 0xe3, 0x1c, + 0x7, 0x1a, 0x7, 0xff, 0x1d, 0x1, 0xff, 0xeb, + 0x52, 0x7f, 0xf2, 0x10, 0x1e, 0x2d, 0xff, 0xf2, + 0x8, 0x12, 0x3, 0xff, 0x9c, 0xaa, 0x3, 0xff, + 0x98, 0xa8, + + /* U+F048 "" */ + 0x52, 0x40, 0x7f, 0xcd, 0x87, 0x6e, 0x20, 0x7f, + 0x59, 0x20, 0x3f, 0xf8, 0x39, 0x0, 0x40, 0x7f, + 0xf0, 0x31, 0x3, 0xff, 0x84, 0x79, 0x3, 0xff, + 0x84, 0x70, 0x1f, 0xfc, 0x35, 0x80, 0xff, 0xe1, + 0xaa, 0x7, 0xff, 0xd, 0xd0, 0x3f, 0xf8, 0x6e, + 0x1, 0xff, 0xc3, 0x90, 0x7, 0xff, 0x11, 0x1, + 0xff, 0xfb, 0xa4, 0xf, 0xfe, 0x23, 0xc4, 0xf, + 0xfe, 0x2e, 0x40, 0x7f, 0xf1, 0x6a, 0x3, 0xff, + 0x8b, 0x58, 0x1f, 0xfc, 0x58, 0xc0, 0xff, 0xe2, + 0xc8, 0x3, 0xff, 0x8a, 0xe8, 0x1f, 0xfc, 0x55, + 0x40, 0x99, 0x3, 0xff, 0x80, 0xb1, 0x29, 0x1f, + 0xc4, 0xf, 0xe3, 0xb0, 0x80, + + /* U+F04B "" */ + 0x5, 0xa0, 0x3f, 0xf9, 0x2f, 0x4b, 0x88, 0x1f, + 0xfc, 0x78, 0x4, 0x74, 0x3, 0xff, 0x98, 0xfb, + 0x3, 0xff, 0x99, 0x31, 0x3, 0xff, 0x96, 0x75, + 0x3, 0xff, 0x98, 0xbb, 0x3, 0xff, 0x99, 0x32, + 0x3, 0xff, 0x96, 0x6d, 0x10, 0x3f, 0xf9, 0x6b, + 0x40, 0x3f, 0xf9, 0x8f, 0xa0, 0x3f, 0xf9, 0x96, + 0x88, 0x1f, 0xfc, 0xb5, 0x98, 0x1f, 0xfc, 0xc8, + 0x80, 0xff, 0xe6, 0x10, 0x3f, 0xf9, 0x84, 0xf, + 0xfe, 0x5c, 0x40, 0x7f, 0xf2, 0x56, 0x60, 0x7f, + 0xf2, 0x6d, 0x10, 0x3f, 0xf9, 0xf, 0xa0, 0x3f, + 0xf9, 0xb, 0x40, 0x3f, 0xf9, 0x6, 0xd1, 0x3, + 0xff, 0x91, 0x32, 0x3, 0xff, 0x90, 0xbb, 0x3, + 0xff, 0x90, 0x75, 0x3, 0xff, 0x93, 0x31, 0x3, + 0xff, 0x90, 0xfb, 0x3, 0xff, 0x89, 0x0, 0x8e, + 0x80, 0x7f, 0xf1, 0x9e, 0x97, 0x10, 0x3f, 0xf8, + 0xe0, + + /* U+F04C "" */ + 0x17, 0xff, 0x64, 0x7, 0x5f, 0xfd, 0x90, 0xa8, + 0xf, 0x1a, 0x40, 0xaa, 0x3, 0xc6, 0x94, 0x7, + 0xf2, 0x2, 0x40, 0x7f, 0x20, 0x3f, 0xdc, 0xf, + 0xfe, 0xf, 0x3, 0xff, 0xfe, 0x7, 0xff, 0xfc, + 0xf, 0xff, 0xf8, 0x1f, 0xff, 0xf0, 0x3f, 0xff, + 0xe0, 0x7f, 0xfc, 0x38, 0x1f, 0xfc, 0x1e, 0x7, + 0xff, 0x36, 0x1, 0xf8, 0xb0, 0x28, 0x7, 0xe2, + 0xda, 0xb7, 0xe9, 0x80, 0xce, 0xb7, 0xe9, 0x80, + + /* U+F04D "" */ + 0x6, 0x4f, 0xfe, 0x43, 0x0, 0xf3, 0x7f, 0xfc, + 0x89, 0x84, 0x3, 0xff, 0x94, 0x58, 0x1f, 0xfe, + 0x5e, 0x7, 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, + 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xc0, + 0xff, 0xff, 0x74, 0x7, 0xff, 0x2d, 0x54, 0x7, + 0xff, 0x20, 0xd2, + + /* U+F051 "" */ + 0xa, 0x1, 0xff, 0x39, 0xd, 0x57, 0xc8, 0x1f, + 0xd1, 0xb4, 0x20, 0x58, 0x81, 0xff, 0xc0, 0xe0, + 0x6c, 0x80, 0xff, 0xe2, 0xd4, 0x7, 0xff, 0x16, + 0xb0, 0x3f, 0xf8, 0xb2, 0x0, 0xff, 0xe2, 0xb8, + 0x7, 0xff, 0x15, 0xd0, 0x3f, 0xf8, 0xaa, 0x81, + 0xff, 0xc5, 0x58, 0xf, 0xfe, 0x29, 0x3, 0xff, + 0xf7, 0x80, 0xff, 0xe2, 0x62, 0x7, 0xff, 0x8, + 0xe2, 0x7, 0xff, 0x8, 0xe2, 0x7, 0xff, 0x8, + 0xe0, 0x3f, 0xf8, 0x6b, 0x1, 0xff, 0xc3, 0x54, + 0xf, 0xfe, 0x1b, 0xa0, 0x7f, 0xdc, 0x9, 0xc0, + 0x3f, 0xf8, 0xc, 0x89, 0x0, 0x7f, 0x10, 0x4, + 0x6e, 0xc0, 0xff, 0x6f, 0xd8, + + /* U+F052 "" */ + 0x3, 0xff, 0x81, 0x2a, 0x3, 0xff, 0x95, 0xda, + 0xb0, 0xf, 0xfe, 0x46, 0x3, 0x36, 0x3, 0xff, + 0x8d, 0x88, 0x1d, 0x10, 0x1f, 0xfc, 0x4a, 0x40, + 0xfa, 0xa0, 0x3f, 0xf8, 0x55, 0x1, 0xfd, 0x48, + 0x1f, 0xfc, 0x8, 0x80, 0xff, 0xb1, 0x3, 0xfd, + 0x18, 0x1f, 0xfc, 0x1c, 0x7, 0xf3, 0x60, 0x3f, + 0xf8, 0x78, 0xf, 0x94, 0x3, 0xff, 0x88, 0x70, + 0x1c, 0xa8, 0x1f, 0xfc, 0x63, 0x40, 0x8d, 0x3, + 0xff, 0x90, 0xa8, 0xe, 0x7, 0xff, 0x29, 0x20, + 0x20, 0x7f, 0xf2, 0xc8, 0x40, 0x7f, 0xf2, 0xd0, + 0xa8, 0xf, 0xfe, 0x4c, 0x20, 0x2f, 0xff, 0xfc, + 0x96, 0x7, 0xff, 0x41, 0xff, 0xff, 0xca, 0xc0, + 0x20, 0x1f, 0xfc, 0xa2, 0xc0, 0xff, 0xe6, 0xf0, + 0x3f, 0xff, 0xe0, 0x38, 0xa0, 0x7f, 0xf2, 0x93, + + /* U+F053 "" */ + 0x3, 0xfe, 0x30, 0x81, 0xff, 0xc0, 0x59, 0xe2, + 0x7, 0xf9, 0x50, 0x2c, 0x7, 0xf2, 0xa0, 0x62, + 0x7, 0xe5, 0x40, 0xc7, 0x1, 0xf2, 0xa0, 0x63, + 0x80, 0xf9, 0x50, 0x31, 0xc0, 0x7c, 0xa8, 0x18, + 0xe0, 0x3e, 0x54, 0xc, 0x70, 0x1f, 0x2a, 0x6, + 0x38, 0xf, 0x95, 0x3, 0x1c, 0x7, 0xc6, 0x81, + 0x8e, 0x3, 0xf2, 0x3, 0xa8, 0x1f, 0xcd, 0x1, + 0xa3, 0x3, 0xfa, 0xa0, 0x34, 0x60, 0x7f, 0x54, + 0x6, 0x8c, 0xf, 0xea, 0x80, 0xd1, 0x81, 0xfd, + 0x50, 0x1a, 0x30, 0x3f, 0xa9, 0x3, 0x46, 0x7, + 0xf6, 0x20, 0x68, 0xc0, 0xfe, 0xc4, 0xd, 0x18, + 0x1f, 0xd8, 0x81, 0xa0, 0x1f, 0xec, 0x40, 0x90, + 0x1f, 0xf6, 0x41, 0x50, 0x3f, 0xf8, 0x17, 0x50, + 0x0, + + /* U+F054 "" */ + 0x0, 0xe0, 0x1f, 0xfc, 0x1b, 0x1d, 0x3, 0xfe, + 0x68, 0x2, 0xa0, 0x7f, 0x88, 0x19, 0x50, 0x3f, + 0x94, 0x3, 0x2a, 0x7, 0xf3, 0x80, 0x65, 0x40, + 0xfe, 0x70, 0xc, 0xa8, 0x1f, 0xce, 0x1, 0x95, + 0x3, 0xf9, 0xc0, 0x32, 0xa0, 0x7f, 0x38, 0x6, + 0x54, 0xf, 0xe7, 0x0, 0xca, 0x81, 0xfc, 0xe0, + 0x19, 0x50, 0x3f, 0x98, 0x1c, 0x80, 0xfe, 0xc0, + 0x75, 0x3, 0xf6, 0x20, 0x6a, 0x80, 0xfb, 0x10, + 0x35, 0x40, 0x7d, 0x88, 0x1a, 0xa0, 0x3e, 0xc4, + 0xd, 0x50, 0x1f, 0x62, 0x6, 0xa8, 0xf, 0xb1, + 0x3, 0x54, 0x7, 0xd8, 0x81, 0xaa, 0x3, 0xe6, + 0x40, 0xd5, 0x1, 0xf9, 0x1, 0xaa, 0x3, 0xf8, + 0xe0, 0x15, 0x1, 0xff, 0x1f, 0xc8, 0xf, 0xf8, + + /* U+F067 "" */ + 0x3, 0xfc, 0xad, 0x40, 0x3f, 0xf9, 0x6, 0xa4, + 0x74, 0xf, 0xfe, 0x3b, 0x3, 0x30, 0x3f, 0xf8, + 0xe4, 0xc, 0x40, 0xff, 0xff, 0x81, 0xff, 0xff, + 0x3, 0xfc, 0xff, 0xfd, 0x0, 0xef, 0xff, 0x61, + 0x0, 0xff, 0xe5, 0x16, 0x7, 0xff, 0x33, 0x81, + 0xff, 0xcc, 0xec, 0xf, 0xfe, 0x5a, 0x9b, 0x7e, + 0x60, 0x76, 0xdf, 0xb9, 0x4, 0xfe, 0xe0, 0x71, + 0x3f, 0x80, 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, + 0xfe, 0x20, 0x62, 0x7, 0xff, 0x1d, 0x32, 0x6e, + 0x7, 0xf8, + + /* U+F068 "" */ + 0x0, 0x4f, 0xff, 0x20, 0xa, 0x7d, 0xbf, 0xf9, + 0x1f, 0x83, 0x3, 0xff, 0x96, 0xc0, 0xff, 0xe6, + 0x70, 0x3f, 0xf9, 0x9e, 0x1, 0xff, 0xcb, 0x6d, + 0xf6, 0xff, 0xe4, 0x7e, 0x0, + + /* U+F06E "" */ + 0x3, 0xfc, 0x5d, 0xdf, 0xed, 0x10, 0x1f, 0xfc, + 0x75, 0xb2, 0x22, 0x6, 0x2e, 0xfa, 0x40, 0xff, + 0xe1, 0x1d, 0x48, 0x19, 0x28, 0x81, 0x96, 0x80, + 0x7f, 0xf0, 0x26, 0x20, 0x46, 0xfb, 0x6d, 0xd8, + 0x19, 0xf4, 0x7, 0xf5, 0x60, 0x65, 0x90, 0x1e, + 0x98, 0xe, 0xac, 0xf, 0xb2, 0x3, 0x2a, 0x4, + 0x64, 0x20, 0x7, 0x1, 0xd1, 0x81, 0xd4, 0x81, + 0xd4, 0xe, 0x6d, 0x71, 0x6, 0x81, 0xd1, 0x1, + 0x34, 0x7, 0x40, 0x3f, 0x8e, 0x0, 0x88, 0x1d, + 0x48, 0x30, 0xf, 0x20, 0x3a, 0x1, 0xd0, 0x2, + 0x3, 0xdc, 0x40, 0x3e, 0x21, 0x47, 0x50, 0x1c, + 0x80, 0x60, 0x3c, 0x52, 0x1, 0xfc, 0x5c, 0x40, + 0x78, 0x81, 0xfe, 0xc8, 0xf, 0xfe, 0x96, 0xa0, + 0x7c, 0x43, 0x3, 0xf9, 0x80, 0xc0, 0x78, 0xa1, + 0x0, 0xf2, 0x0, 0xc0, 0xfd, 0x40, 0x20, 0x3d, + 0xc0, 0x34, 0x7, 0x40, 0x11, 0x1, 0xea, 0x42, + 0x20, 0x75, 0x20, 0x55, 0x1, 0xd4, 0x5, 0xa4, + 0x49, 0xf4, 0xd, 0x3, 0xa2, 0x3, 0xaa, 0x3, + 0x2a, 0x1, 0x5d, 0x90, 0x1, 0xc0, 0x74, 0x60, + 0x7d, 0x60, 0x19, 0x64, 0x7, 0xa6, 0x3, 0xab, + 0x3, 0xf9, 0xe2, 0x4, 0x6f, 0xb6, 0xdd, 0x81, + 0x9f, 0x40, 0x7f, 0xc7, 0x52, 0x6, 0x4a, 0x20, + 0x65, 0xa0, 0x1f, 0xfc, 0x35, 0xb2, 0x22, 0x6, + 0x2e, 0xfa, 0x40, 0xfc, + + /* U+F070 "" */ + 0x9, 0x0, 0xff, 0xea, 0x2b, 0x50, 0xf, 0xfe, + 0x9d, 0x0, 0xf0, 0x1f, 0xfd, 0x26, 0x4, 0x79, + 0x3, 0xff, 0xa1, 0x28, 0x1b, 0x30, 0x31, 0x77, + 0x7f, 0x6a, 0xc8, 0x1f, 0xfc, 0x15, 0x88, 0x14, + 0xa1, 0xec, 0x88, 0x81, 0x15, 0x36, 0x30, 0x3f, + 0xf8, 0x7, 0x20, 0x25, 0xe1, 0x3, 0x25, 0x1, + 0x8c, 0xec, 0xf, 0xfe, 0x5, 0x80, 0x7c, 0x6f, + 0xb6, 0xf9, 0x1, 0xa5, 0x3, 0xff, 0x80, 0xf0, + 0x1c, 0x72, 0x3, 0x8d, 0x80, 0x65, 0xc8, 0x1f, + 0xf1, 0xe8, 0x8, 0xe0, 0xe, 0xd2, 0x0, 0xe0, + 0x1d, 0x88, 0x1f, 0xfc, 0xa, 0xc0, 0x8f, 0x41, + 0x25, 0xc0, 0x1a, 0x3, 0xb8, 0x1f, 0x5c, 0x40, + 0xa5, 0x3, 0x5a, 0x2, 0x38, 0x4, 0x3, 0x8d, + 0x3, 0x92, 0x1c, 0x80, 0x96, 0x20, 0x44, 0xc, + 0x50, 0x20, 0x79, 0x20, 0x1a, 0x81, 0x58, 0x4, + 0x72, 0x3, 0xf7, 0x0, 0x80, 0xf5, 0x2, 0x20, + 0x73, 0xc4, 0xa, 0xc0, 0x3f, 0xf8, 0xc4, 0x1, + 0x3, 0xc7, 0x81, 0x9e, 0x3, 0xf9, 0x81, 0xf1, + 0x2, 0xa0, 0x78, 0x81, 0xc7, 0xa0, 0x33, 0x20, + 0x81, 0xea, 0x6, 0x48, 0x7, 0x90, 0x1e, 0xb0, + 0x8, 0xe8, 0x7, 0x9a, 0x3, 0xa9, 0x3, 0xa0, + 0x1f, 0x3a, 0x6, 0x60, 0x71, 0x80, 0x7d, 0xc0, + 0xe3, 0x0, 0xf9, 0x72, 0x7, 0xec, 0x7, 0xe3, + 0x88, 0x19, 0xb0, 0x1f, 0xb3, 0x3, 0xd8, 0xf, + 0xf1, 0xc8, 0xd, 0x32, 0x3, 0xe9, 0x40, 0xe4, + 0x7, 0xff, 0x2, 0xc0, 0x31, 0xbe, 0xd9, 0x1, + 0x2c, 0x40, 0xa5, 0x3, 0xff, 0x80, 0xfc, 0x20, + 0x64, 0xab, 0x0, 0x8e, 0x40, 0x4b, 0x10, 0x3f, + 0xf8, 0xf, 0x64, 0x44, 0x8, 0x92, 0x3, 0x58, + 0x4, 0x72, 0x3, 0xff, 0x82, 0x5d, 0xdf, 0xda, + 0xa0, 0x39, 0xe0, 0x35, 0x80, 0x7f, 0xf4, 0xf, + 0x20, 0x4c, 0xf, 0xfe, 0x96, 0x60, 0x28, 0x1f, + 0xfd, 0x39, 0x69, 0x0, + + /* U+F071 "" */ + 0x3, 0xff, 0x86, 0xa3, 0x3, 0xff, 0xa2, 0xab, + 0x98, 0xf, 0xfe, 0x85, 0x2, 0x2c, 0xf, 0xfe, + 0x74, 0x3, 0xa0, 0x1f, 0xfc, 0xd2, 0xc0, 0xf5, + 0x3, 0xff, 0x99, 0x0, 0xf9, 0x10, 0x3f, 0xf9, + 0x49, 0x0, 0xfd, 0xc0, 0xff, 0xe5, 0x40, 0x3f, + 0x8a, 0x3, 0xff, 0x90, 0xc8, 0x1f, 0xea, 0x7, + 0xff, 0x22, 0x1, 0xff, 0xc0, 0x80, 0x7f, 0xf1, + 0xa0, 0x19, 0xff, 0x80, 0xcc, 0xf, 0xfe, 0x29, + 0x60, 0x6e, 0x7, 0xf5, 0x3, 0xff, 0x89, 0x0, + 0xff, 0xe1, 0xa2, 0x7, 0xff, 0x9, 0x20, 0x1d, + 0xc0, 0xff, 0x70, 0x3f, 0xf8, 0x50, 0xf, 0xfe, + 0x29, 0x40, 0x7f, 0xf0, 0x19, 0x3, 0xff, 0x8d, + 0x40, 0xff, 0xe0, 0x40, 0x3e, 0x20, 0x44, 0xf, + 0xd0, 0xf, 0xf4, 0x3, 0xff, 0x92, 0xc0, 0xfe, + 0x2c, 0xf, 0xcc, 0x9, 0x1, 0xfd, 0x40, 0xfd, + 0x0, 0xfe, 0x3f, 0xd0, 0xf, 0xe4, 0x40, 0xf2, + 0x40, 0x3f, 0xd7, 0xf2, 0x3, 0xfd, 0xc0, 0xf4, + 0x3, 0xfd, 0x10, 0xa, 0x7, 0xf8, 0xb0, 0x33, + 0x20, 0x7f, 0x88, 0x18, 0x81, 0xfe, 0x80, 0x68, + 0x7, 0xfd, 0x80, 0xc4, 0xf, 0xfa, 0x0, 0x80, + 0x7f, 0xf0, 0x1b, 0x3, 0x80, 0xff, 0xe0, 0x30, + 0xc, 0xf, 0xfe, 0xc, 0xf8, 0x81, 0xff, 0xc1, + 0x60, 0x7f, 0xf5, 0xa0, 0x1f, 0xfd, 0x26, 0x1d, + 0x6f, 0xff, 0x9f, 0x38, + + /* U+F074 "" */ + 0x3, 0xff, 0x92, 0xe9, 0x3, 0xff, 0x9b, 0x16, + 0x20, 0x7f, 0xf3, 0xf1, 0x0, 0x52, 0xe2, 0x7, + 0xf8, 0xa5, 0x1, 0xb1, 0x1a, 0xde, 0xd4, 0xf, + 0xc7, 0x5b, 0x1, 0xd8, 0x81, 0xf2, 0xa0, 0x78, + 0xe0, 0x3f, 0xd8, 0xf, 0xca, 0x1, 0x8e, 0x3, + 0xfe, 0x20, 0x7f, 0x38, 0x5, 0x80, 0xff, 0x8e, + 0xfb, 0x68, 0x6, 0x20, 0x30, 0x18, 0xec, 0x3, + 0x1c, 0x0, 0x9c, 0xe0, 0x5, 0x46, 0x20, 0x47, + 0x12, 0x2, 0x38, 0xf, 0xcd, 0x8d, 0x18, 0x81, + 0xb8, 0x1c, 0x70, 0x1f, 0xe9, 0x85, 0x20, 0x6c, + 0x40, 0xab, 0xc0, 0x7f, 0xf0, 0x6a, 0x3, 0x62, + 0x6, 0x50, 0xf, 0xfe, 0xc, 0x40, 0x6a, 0x40, + 0xe5, 0x0, 0xff, 0xe0, 0x46, 0x6, 0xa9, 0x39, + 0x2, 0xaf, 0x90, 0x3f, 0x9b, 0x1, 0xa2, 0x4a, + 0x38, 0x1e, 0xc4, 0x8, 0x9c, 0xe0, 0x1a, 0x33, + 0x40, 0x1c, 0x48, 0xd, 0x88, 0xfb, 0x68, 0x6, + 0x6c, 0x8, 0x18, 0xec, 0x3, 0xb1, 0x3, 0xf9, + 0xc0, 0x2c, 0x7, 0xff, 0x3, 0x81, 0xf9, 0x40, + 0x31, 0xc0, 0x7f, 0xf1, 0xd5, 0x3, 0xc7, 0x1, + 0xfe, 0xfa, 0xde, 0xd4, 0xf, 0xc7, 0x5b, 0x1, + 0xd8, 0x92, 0x5c, 0x40, 0xff, 0x14, 0xa0, 0x36, + 0x20, 0x7f, 0xf3, 0x71, 0x3, 0xff, 0x97, 0x16, + 0x20, 0x40, + + /* U+F077 "" */ + 0x3, 0xfe, 0x74, 0x81, 0xff, 0xc9, 0x90, 0xb1, + 0x3, 0xff, 0x8f, 0x18, 0x16, 0x20, 0x7f, 0xf1, + 0x63, 0x3, 0xb1, 0x3, 0xff, 0x87, 0x18, 0x1f, + 0x62, 0x7, 0xff, 0x6, 0x30, 0x3f, 0xb1, 0x3, + 0xfe, 0x8c, 0xc, 0xb0, 0x1d, 0x88, 0x1f, 0xd1, + 0x81, 0x95, 0x38, 0xe, 0xc4, 0xf, 0xa3, 0x3, + 0x2a, 0x0, 0xe0, 0x3b, 0x10, 0x3a, 0x30, 0x32, + 0xa0, 0x63, 0x80, 0xec, 0x40, 0xa3, 0x3, 0x2a, + 0x7, 0x8e, 0x3, 0xb1, 0xd, 0x80, 0xca, 0x81, + 0xf8, 0xe0, 0x3b, 0xe, 0x6, 0x54, 0xf, 0xf1, + 0xc0, 0x7a, 0x10, 0xa, 0x81, 0xff, 0xc0, 0x38, + 0xa, 0x0, 0xc9, 0xd0, 0x3f, 0xf8, 0x47, 0x2a, + 0xc0, + + /* U+F078 "" */ + 0x1, 0x60, 0x1f, 0xfc, 0x43, 0x58, 0x16, 0x4e, + 0x81, 0xff, 0xc2, 0x39, 0x46, 0x21, 0x0, 0xa8, + 0x1f, 0xfc, 0x3, 0x80, 0xa0, 0xe0, 0x65, 0x40, + 0xff, 0x1c, 0x6, 0x21, 0xb0, 0x19, 0x50, 0x3f, + 0x1c, 0x7, 0x70, 0x11, 0x81, 0x95, 0x3, 0xc7, + 0x1, 0xd8, 0x81, 0x46, 0x6, 0x54, 0xc, 0x70, + 0x1d, 0x88, 0x1d, 0x18, 0x19, 0x50, 0x7, 0x1, + 0xd8, 0x81, 0xf4, 0x60, 0x65, 0x4e, 0x3, 0xb1, + 0x3, 0xfa, 0x30, 0x32, 0xc0, 0x76, 0x20, 0x7f, + 0xd1, 0x81, 0xfd, 0x88, 0x1f, 0xfc, 0x18, 0xc0, + 0xfb, 0x10, 0x3f, 0xf8, 0x71, 0x81, 0xd8, 0x81, + 0xff, 0xc5, 0x8c, 0xb, 0x10, 0x3f, 0xf8, 0xf2, + 0x16, 0x20, 0x7f, 0x80, + + /* U+F079 "" */ + 0x3, 0xc8, 0x81, 0xff, 0xd4, 0x97, 0x20, 0x3f, + 0xfa, 0x51, 0x80, 0xa8, 0xc, 0x9b, 0xff, 0xe1, + 0x1, 0xfd, 0x18, 0x1a, 0xa0, 0xa, 0xc9, 0xff, + 0xc2, 0x60, 0x7d, 0x18, 0x1e, 0xa8, 0x30, 0x3f, + 0xf8, 0x7c, 0xf, 0x46, 0x7, 0xea, 0x8d, 0x3, + 0xff, 0x91, 0x18, 0x1f, 0xea, 0x93, 0xff, 0xf8, + 0xf, 0xe6, 0x5, 0x40, 0x9b, 0x1, 0x60, 0x3f, + 0xf9, 0x30, 0x5, 0x40, 0x68, 0x80, 0x50, 0x3f, + 0xf9, 0x2f, 0x62, 0x3, 0xd6, 0xb9, 0x3, 0xff, + 0x94, 0x48, 0xf, 0xc8, 0xf, 0xff, 0xf8, 0x1f, + 0xfd, 0xc9, 0x0, 0x7c, 0x6b, 0x3, 0xff, 0x95, + 0x9b, 0x50, 0x38, 0xe5, 0x18, 0x1f, 0xfc, 0x92, + 0x1, 0x40, 0x23, 0xc0, 0xb8, 0x1f, 0x93, 0x7f, + 0xe2, 0x28, 0x13, 0x2, 0x44, 0x1, 0x80, 0x7e, + 0x32, 0x7f, 0xb2, 0x4a, 0x7, 0xf1, 0xc0, 0x7f, + 0xf2, 0x68, 0x54, 0xf, 0x8e, 0x3, 0xe6, 0x7, + 0xff, 0x9, 0x0, 0x58, 0xe, 0x38, 0xf, 0xd3, + 0xff, 0xfe, 0x15, 0x2, 0x38, 0x8, 0xe0, 0x3f, + 0xfa, 0x27, 0x15, 0x80, 0xe0, + + /* U+F07B "" */ + 0x17, 0xff, 0xec, 0x7, 0xff, 0x12, 0xa0, 0x3f, + 0x8e, 0x3, 0xff, 0x86, 0x80, 0xff, 0x8e, 0x3, + 0xff, 0x9e, 0x74, 0x9f, 0xe6, 0x40, 0xff, 0xe1, + 0x96, 0xff, 0xd3, 0x20, 0x3f, 0xf9, 0xf4, 0xf, + 0xff, 0xf8, 0x1f, 0xff, 0xf0, 0x3f, 0xff, 0xe0, + 0x7f, 0xff, 0xc0, 0xff, 0xfa, 0x20, 0x3f, 0xf9, + 0xca, 0xa0, 0x3f, 0xf9, 0x8a, 0x80, + + /* U+F093 "" */ + 0x3, 0xff, 0x82, 0x40, 0xff, 0xe7, 0x3d, 0xc8, + 0x1f, 0xfc, 0xb7, 0x0, 0x62, 0x7, 0xff, 0x25, + 0xc0, 0x36, 0x20, 0x7f, 0xf1, 0xdc, 0x3, 0xd8, + 0x81, 0xff, 0xc5, 0x70, 0xf, 0xd8, 0x81, 0xff, + 0xc3, 0x70, 0xf, 0xf6, 0x20, 0x7f, 0xf0, 0x5c, + 0x3, 0xff, 0x81, 0x88, 0x1f, 0xf3, 0x80, 0x7f, + 0xf0, 0xb1, 0x3, 0xf9, 0x40, 0x3f, 0xf8, 0x98, + 0xf, 0xe2, 0x7, 0xff, 0x3d, 0xed, 0xc4, 0xf, + 0x4d, 0xb7, 0x3, 0xfc, 0x4f, 0x30, 0x3c, 0x4f, + 0x1, 0xff, 0xff, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0xa2, 0xff, 0xf6, 0x3, 0xf3, 0x1b, 0xff, 0xaa, + 0x3, 0xe2, 0x2b, 0x7d, 0x8, 0x20, 0x7c, 0x80, + 0xfe, 0xc2, 0x4e, 0x63, 0x1, 0xff, 0xc6, 0x3f, + 0x6f, 0x72, 0x7, 0xff, 0x20, 0x9f, 0x1, 0xff, + 0xd2, 0xbc, 0x2e, 0xc0, 0xff, 0xe5, 0x90, 0xc0, + 0xff, 0xe6, 0x5c, 0xf, 0x60, 0x5a, 0x37, 0xff, + 0xcc, 0x98, + + /* U+F095 "" */ + 0x3, 0xff, 0x92, 0xd8, 0x81, 0xff, 0xcd, 0x52, + 0x37, 0xac, 0x81, 0xff, 0xc9, 0xe0, 0x65, 0x36, + 0x1, 0xff, 0xc7, 0x28, 0xf, 0x88, 0x1f, 0xfc, + 0x7a, 0x7, 0xff, 0x41, 0x81, 0xff, 0xcf, 0x60, + 0x7f, 0x10, 0x3f, 0xf8, 0xd4, 0xf, 0xe6, 0x7, + 0xff, 0x19, 0x81, 0xfd, 0x80, 0xff, 0xe3, 0x54, + 0x7, 0xe4, 0x7, 0xff, 0x1e, 0xb0, 0x3e, 0x20, + 0x7f, 0xf2, 0x24, 0x1, 0xcc, 0xf, 0xfe, 0x56, + 0x3, 0xb0, 0x1f, 0xfc, 0x92, 0x80, 0xc5, 0x1, + 0xff, 0xc9, 0xe0, 0x74, 0x3, 0xff, 0x93, 0x8, + 0x18, 0xa0, 0x3f, 0xf9, 0xd, 0x80, 0xee, 0x7, + 0xf8, 0xb0, 0x3f, 0x28, 0x7, 0x32, 0x7, 0xe5, + 0x74, 0xc0, 0x79, 0xd0, 0x38, 0xc0, 0x3e, 0x7a, + 0xa0, 0x6, 0x81, 0xac, 0x3, 0xd8, 0xf, 0x3f, + 0x8, 0x1c, 0x98, 0x5d, 0x1, 0xec, 0x7, 0xd0, + 0xf, 0xe9, 0xa8, 0x1f, 0x62, 0x7, 0xc4, 0xf, + 0xf1, 0x3, 0xc7, 0x10, 0x3f, 0x20, 0x3f, 0xf8, + 0x8b, 0x10, 0x3f, 0xb0, 0x1f, 0xfc, 0x39, 0x40, + 0xff, 0x90, 0x1f, 0xfc, 0x17, 0xd8, 0x1f, 0xfc, + 0x12, 0x7, 0xf9, 0xf8, 0x7, 0xff, 0xd, 0x1, + 0xe2, 0xef, 0x80, 0x7f, 0xf1, 0x64, 0xd7, 0x7d, + 0x10, 0x1f, 0xfc, 0x50, + + /* U+F0C4 "" */ + 0x2, 0x52, 0x19, 0x3, 0xff, 0x8c, 0x75, 0x6d, + 0x33, 0x3, 0xfc, 0xed, 0x40, 0x2c, 0x40, 0xe8, + 0xc0, 0xf8, 0xf8, 0x91, 0xf3, 0x0, 0xfd, 0x0, + 0xf1, 0xc0, 0x79, 0xa0, 0x2f, 0xd0, 0x9, 0x1, + 0x8e, 0x3, 0xd5, 0x10, 0xc, 0x3, 0x2, 0x20, + 0x47, 0x1, 0xea, 0x80, 0xc8, 0x2, 0x3, 0xc7, + 0x1, 0xea, 0x80, 0x20, 0x7, 0x5a, 0x2, 0x20, + 0xe0, 0x3d, 0x50, 0x14, 0x2, 0x28, 0xd, 0x56, + 0x3, 0xd5, 0x1, 0x8d, 0x3, 0xfa, 0x81, 0xea, + 0x80, 0xf2, 0xec, 0x90, 0x1f, 0xf5, 0x40, 0x7f, + 0x4d, 0x94, 0xf, 0xea, 0x80, 0xff, 0xe0, 0xa8, + 0x7, 0xd1, 0x1, 0xff, 0xc2, 0x30, 0xf, 0xa1, + 0x3, 0xfe, 0x52, 0x30, 0x1f, 0xd8, 0x81, 0xf8, + 0xea, 0xd8, 0xf, 0xfb, 0x10, 0x3e, 0xc4, 0xf, + 0xcc, 0xf, 0x62, 0x7, 0x40, 0x3f, 0xa4, 0x50, + 0x3d, 0x88, 0x19, 0x1, 0x7e, 0x80, 0x44, 0x2a, + 0x7, 0xb1, 0x2, 0x20, 0x18, 0x6, 0x4, 0x40, + 0x2a, 0x7, 0xb1, 0x3, 0x90, 0x4, 0x7, 0xca, + 0x81, 0xec, 0x42, 0x0, 0x75, 0xa0, 0x24, 0x6, + 0x54, 0xf, 0x63, 0x0, 0x8a, 0x2, 0x64, 0xe, + 0x54, 0xf, 0x33, 0x40, 0xf2, 0x80, 0x7c, 0xb2, + 0x0, 0xb2, 0xb, 0xb2, 0x4a, 0xd0, 0x1f, 0xc6, + 0xfe, 0xa4, 0x0, + + /* U+F0C5 "" */ + 0x3, 0xf2, 0x5f, 0xc4, 0x10, 0x3f, 0xf8, 0x1a, + 0xdf, 0xf0, 0xd4, 0xf, 0xf8, 0x81, 0xff, 0xc0, + 0x54, 0xf, 0xfe, 0x62, 0xa0, 0x7f, 0xf3, 0x15, + 0x3, 0xff, 0x98, 0x92, 0xff, 0x90, 0x1f, 0xf1, + 0x1f, 0xf2, 0x40, 0x3f, 0xf8, 0x8b, 0x5b, 0xc4, + 0xf, 0xfe, 0x31, 0x4b, 0x98, 0x1f, 0xff, 0xf0, + 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xc0, 0xff, 0xff, + 0x81, 0xff, 0xd4, 0x40, 0x7f, 0xf1, 0x10, 0x1d, + 0xc5, 0xff, 0xff, 0x88, 0x7, 0x95, 0x20, 0x7f, + 0xf2, 0xd6, 0xff, 0xfa, 0x1, 0xff, 0xe5, 0xe0, + 0x7d, 0xa3, 0x7f, 0xfc, 0x28, 0xc0, 0xf8, + + /* U+F0C7 "" */ + 0xa, 0x4f, 0xfe, 0x1b, 0x20, 0x79, 0xd6, 0xff, + 0xf8, 0x73, 0x20, 0x3a, 0x1, 0xff, 0xc6, 0xa8, + 0xf, 0xfe, 0x65, 0x40, 0x79, 0xff, 0xff, 0xc1, + 0x20, 0x55, 0x1, 0xff, 0xc7, 0x60, 0x6a, 0x40, + 0xff, 0xe6, 0x60, 0x3f, 0xf9, 0xa4, 0xf, 0xfe, + 0x63, 0x3, 0xff, 0xa0, 0x9b, 0xff, 0xe0, 0xa0, + 0x3f, 0xc6, 0x4f, 0xfe, 0x8, 0x1f, 0xff, 0x87, + 0xbd, 0x3, 0xff, 0x91, 0x20, 0x85, 0x80, 0xff, + 0xe3, 0xb0, 0x31, 0x40, 0x7f, 0xf1, 0x48, 0x1e, + 0x20, 0x7f, 0xf1, 0x48, 0x1f, 0xfc, 0xd2, 0x7, + 0x30, 0x3f, 0xf8, 0xdc, 0xd, 0x0, 0xff, 0xe3, + 0x9f, 0x66, 0x60, 0x7f, 0xf2, 0x53, 0x20, 0x7f, + 0x9a, 0x3, 0xff, 0x96, 0x6a, 0x3, 0xff, 0x90, + 0x70, + + /* U+F0E7 "" */ + 0x2, 0x96, 0xfe, 0x80, 0x7e, 0x2d, 0x2f, 0xcc, + 0x81, 0xf2, 0x3, 0xfc, 0x40, 0xfb, 0x81, 0xfc, + 0x80, 0xfc, 0x40, 0xfe, 0xe0, 0x7e, 0x60, 0x7f, + 0x20, 0x3f, 0x10, 0x3f, 0x20, 0x3f, 0xf8, 0xd8, + 0xf, 0xc4, 0xf, 0xe6, 0x7, 0xe6, 0x7, 0xf7, + 0xfe, 0xc4, 0x10, 0x3f, 0xf8, 0x65, 0xe, 0x7, + 0xff, 0x11, 0x82, 0x7, 0xff, 0xe, 0x0, 0x60, + 0x7f, 0xf0, 0x8b, 0x0, 0x40, 0xff, 0xe1, 0x40, + 0x24, 0x7, 0xff, 0x5, 0x20, 0x15, 0xff, 0xd4, + 0xf, 0x40, 0x3f, 0xec, 0x7, 0x32, 0x7, 0xfc, + 0x80, 0xe8, 0x7, 0xff, 0x0, 0x81, 0xa0, 0x1f, + 0xfc, 0x2, 0x6, 0x2c, 0xf, 0xfe, 0x2, 0x3, + 0x40, 0x3f, 0xf8, 0x38, 0x9, 0x20, 0x1f, 0xfc, + 0x14, 0x5, 0x0, 0xff, 0xe0, 0x90, 0x26, 0x40, + 0xff, 0xe0, 0xa0, 0x28, 0x7, 0xff, 0xb, 0x0, + 0x80, 0x7f, 0xf0, 0xc8, 0x2c, 0xf, 0xfe, 0x1c, + 0xd8, 0x7, 0xf8, + + /* U+F0EA "" */ + 0x3, 0xf2, 0x20, 0x7f, 0xf2, 0x5f, 0xbb, 0x90, + 0x3f, 0xf8, 0x2a, 0x4f, 0x1, 0xb4, 0x9c, 0x7, + 0xea, 0xdf, 0x5, 0xf8, 0x3, 0x7d, 0x0, 0xff, + 0xe6, 0x10, 0x3f, 0xf8, 0x4b, 0xf0, 0x1f, 0xfe, + 0x43, 0x2d, 0xfa, 0x1, 0xff, 0xc2, 0x59, 0xa5, + 0xf1, 0x3, 0xff, 0x85, 0x5, 0xff, 0xea, 0x33, + 0x3, 0xfe, 0x21, 0x1, 0xfc, 0x63, 0x3, 0xff, + 0x99, 0x18, 0x1f, 0xfc, 0xc8, 0xc0, 0xff, 0xe6, + 0x42, 0x7, 0xff, 0x1e, 0xde, 0x20, 0x7f, 0xf1, + 0x50, 0x4b, 0x80, 0xff, 0xe3, 0xff, 0xe4, 0x7, + 0xff, 0xfc, 0xf, 0xff, 0x32, 0x3, 0xff, 0x99, + 0x7f, 0xf0, 0x1f, 0xff, 0xf0, 0x3f, 0xfb, 0xcc, + 0xf, 0xef, 0x6f, 0xff, 0x7, 0x10, + + /* U+F0F3 "" */ + 0x3, 0xfe, 0x74, 0x81, 0xff, 0xc9, 0x51, 0x70, + 0x3f, 0xf9, 0x24, 0x1, 0x3, 0xff, 0x8e, 0x65, + 0x2, 0xa8, 0xf, 0xfe, 0x24, 0xcc, 0x81, 0x2b, + 0x90, 0x1f, 0xfc, 0x1c, 0xc0, 0xfc, 0x6a, 0x3, + 0xfe, 0xc4, 0xf, 0xfa, 0xa0, 0x3f, 0x99, 0x3, + 0xff, 0x83, 0x0, 0xfe, 0x80, 0x7f, 0xf0, 0x8a, + 0x3, 0xe2, 0x7, 0xff, 0x13, 0x81, 0xf2, 0x3, + 0xff, 0x88, 0xc0, 0xff, 0xe6, 0x10, 0x3e, 0xe0, + 0x7f, 0xf9, 0x50, 0x1f, 0xfc, 0x54, 0x7, 0x88, + 0x1f, 0xfc, 0x52, 0x7, 0x10, 0x3f, 0xf8, 0xd8, + 0xe, 0xa0, 0x7f, 0xf1, 0x90, 0x18, 0xb0, 0x3f, + 0xf8, 0xf4, 0xb, 0x1, 0xff, 0xc8, 0x4c, 0x50, + 0x3f, 0xf9, 0x50, 0xa0, 0x3f, 0xf9, 0x6a, 0x1, + 0xff, 0xca, 0x2d, 0xbf, 0xff, 0xe5, 0x60, 0x3f, + 0xfa, 0xc7, 0xff, 0x50, 0x3f, 0xf8, 0xa4, 0xf, + 0x60, 0x3f, 0xf8, 0xd8, 0xc, 0xd8, 0xf, 0xfe, + 0x31, 0xf6, 0x68, 0x7, 0xf8, + + /* U+F11C "" */ + 0x17, 0xff, 0xfe, 0x82, 0x15, 0x1, 0xff, 0xd0, + 0xa5, 0x1, 0xff, 0xd2, 0x40, 0x45, 0xb8, 0x3, + 0x70, 0x6, 0xe0, 0x9, 0xb2, 0x5, 0xb8, 0xb, + 0x81, 0x29, 0x20, 0x64, 0x88, 0x92, 0x42, 0xc8, + 0xe2, 0xc9, 0x1, 0xff, 0xe9, 0x60, 0x80, 0x23, + 0x81, 0xfe, 0x7f, 0xc0, 0xff, 0x11, 0xfc, 0x46, + 0xfd, 0x3, 0xfe, 0x3, 0xfc, 0x4c, 0x4, 0x4c, + 0x0, 0x98, 0x1, 0x30, 0x1f, 0xfc, 0x1f, 0xb2, + 0x9, 0xb3, 0x87, 0xb4, 0xe, 0xd2, 0x3, 0xff, + 0xfe, 0x3e, 0xc8, 0x26, 0xce, 0x1e, 0xd0, 0x3b, + 0x48, 0xf, 0xfe, 0x1, 0x30, 0x11, 0x30, 0x2, + 0x60, 0x4, 0xc0, 0x7f, 0x9f, 0xf0, 0x3f, 0xff, + 0xf0, 0x60, 0x7f, 0xc0, 0x7f, 0xf3, 0x88, 0xe0, + 0x7f, 0xf7, 0x94, 0x90, 0x32, 0x7f, 0xf0, 0x78, + 0xb2, 0x40, 0x7c, 0x5b, 0x80, 0x37, 0xff, 0xc1, + 0x40, 0xb7, 0x1, 0x74, 0x7, 0xff, 0x49, 0x54, + 0x7, 0xff, 0x42, 0x90, + + /* U+F124 "" */ + 0x3, 0xff, 0x9a, 0x99, 0x3, 0xff, 0x9a, 0xfd, + 0x99, 0x1, 0xff, 0xca, 0x9e, 0x1, 0xa0, 0x1f, + 0xfc, 0x73, 0x3b, 0x3, 0xc4, 0xf, 0xfe, 0x29, + 0xb9, 0x81, 0xf9, 0x81, 0xff, 0xc3, 0x5b, 0x10, + 0x1f, 0xea, 0x7, 0xff, 0x5, 0xea, 0x40, 0xff, + 0x91, 0x3, 0xfe, 0x7e, 0x10, 0x3f, 0xf8, 0x30, + 0xf, 0xf4, 0xf0, 0xf, 0xfe, 0x19, 0x20, 0x3e, + 0x37, 0xb0, 0x3f, 0xf8, 0xb0, 0xf, 0x2b, 0x90, + 0x1f, 0xfc, 0x62, 0x80, 0xeb, 0x48, 0xf, 0xfe, + 0x45, 0x3, 0xaa, 0x3, 0xff, 0x94, 0xc0, 0xe4, + 0x7, 0xff, 0x2a, 0x1, 0xe2, 0x7, 0xff, 0x29, + 0x81, 0xe8, 0x7, 0xff, 0x25, 0x81, 0xf2, 0xfa, + 0xdf, 0xe2, 0x7, 0xf5, 0x3, 0xf8, 0xa5, 0xfc, + 0x7, 0xf2, 0x20, 0x7f, 0xf4, 0x20, 0x1f, 0xfd, + 0x4, 0x40, 0xff, 0xe8, 0x70, 0x3f, 0xfa, 0x5, + 0x1, 0xff, 0xd0, 0x80, 0x7f, 0xf4, 0x50, 0x1f, + 0xfd, 0x8, 0x7, 0xff, 0x2d, 0x81, 0xcc, 0xf, + 0xfe, 0x83, 0x3, 0xff, 0x99, 0x0, 0x8c, 0x3, + 0xff, 0x98, 0x7c, 0x8c, 0x7, 0xff, 0x0, + + /* U+F15B "" */ + 0x9, 0x7f, 0xc0, 0x8, 0x1e, 0xd6, 0xff, 0xc8, + 0x6a, 0x7, 0x10, 0x3f, 0xf8, 0x4a, 0x81, 0xff, + 0xc8, 0x54, 0xf, 0xfe, 0x42, 0xa0, 0x7f, 0xf2, + 0x15, 0x3, 0xff, 0x90, 0xa0, 0x1f, 0xfc, 0x24, + 0xbc, 0x40, 0xff, 0xe0, 0x61, 0x6f, 0xc0, 0x7f, + 0xf0, 0x1f, 0xff, 0x80, 0xff, 0xff, 0x81, 0xff, + 0xff, 0x3, 0xff, 0xfe, 0x7, 0xff, 0xfc, 0xf, + 0xff, 0x69, 0x3, 0xff, 0x8e, 0x75, 0xbf, 0xfc, + 0x7c, + + /* U+F1EB "" */ + 0x3, 0xff, 0xc6, 0x5c, 0xb5, 0xad, 0x46, 0x40, + 0xff, 0xe4, 0x17, 0xbe, 0x8d, 0x21, 0x48, 0xe6, + 0xf9, 0x90, 0x3f, 0xf8, 0x46, 0xe8, 0x40, 0xff, + 0xe0, 0x99, 0xa9, 0x3, 0xfc, 0x76, 0x20, 0x3f, + 0xf8, 0xeb, 0x61, 0x3, 0xe9, 0x88, 0x1f, 0x8a, + 0x5c, 0x40, 0xfc, 0x74, 0x3, 0xb3, 0x3, 0xc6, + 0x6f, 0xad, 0xed, 0xf4, 0x20, 0x79, 0xe0, 0x7, + 0x90, 0x39, 0xec, 0x64, 0xf, 0xe2, 0xf6, 0x30, + 0x38, 0xf3, 0x80, 0xe5, 0xa1, 0x3, 0xff, 0x86, + 0x66, 0x40, 0x76, 0x80, 0x69, 0x48, 0x1f, 0xfc, + 0x73, 0x60, 0x1a, 0x38, 0x3, 0x30, 0x3c, 0xa5, + 0xff, 0x6b, 0x10, 0x1e, 0x78, 0x88, 0xc3, 0xbc, + 0x81, 0xd3, 0xd6, 0x80, 0xc5, 0x3b, 0xe0, 0x1c, + 0x75, 0x60, 0x48, 0xe, 0x7d, 0x81, 0xff, 0xc1, + 0x7d, 0x81, 0xc8, 0xf, 0xeb, 0x0, 0xff, 0xe2, + 0xca, 0x7, 0xff, 0x6, 0xa0, 0x3c, 0x5c, 0x93, + 0x20, 0x79, 0x60, 0x3f, 0xf8, 0x4, 0xe, 0x9f, + 0x46, 0xe9, 0xbc, 0x3, 0x90, 0x1f, 0xfc, 0x8, + 0xc0, 0x3e, 0xc0, 0xfe, 0x7d, 0x80, 0x70, 0xf, + 0xfe, 0xc, 0x8b, 0x0, 0xff, 0xe0, 0xcb, 0x20, + 0xf, 0xfe, 0x1b, 0x40, 0x7f, 0xf0, 0xd3, 0x3, + 0xff, 0x96, 0xff, 0x98, 0x1f, 0xfd, 0x17, 0x0, + 0xa3, 0x3, 0xff, 0xa1, 0x0, 0xe8, 0x7, 0xff, + 0xcc, 0x81, 0xc4, 0xf, 0xfe, 0x84, 0x3, 0xa0, + 0x1f, 0xfd, 0x5, 0x91, 0x59, 0x1, 0xff, 0xc2, + + /* U+F240 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdb, 0xff, 0xfe, + 0x50, 0x1f, 0xfd, 0x86, 0xc4, 0xf, 0xfe, 0xa1, + 0x88, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0xf3, 0xd8, + 0x1f, 0xfd, 0x46, 0x7, 0xfb, 0x7f, 0xff, 0xca, + 0x3, 0xfc, 0x5b, 0xff, 0xe6, 0xe0, 0x25, 0x80, + 0x94, 0x9f, 0xfc, 0xd6, 0x5, 0xa, 0x3, 0xff, + 0xa8, 0x45, 0x40, 0x7f, 0xf4, 0x4e, 0x2, 0xbf, + 0xff, 0xf4, 0x71, 0x0, + + /* U+F241 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdf, 0xff, 0xf1, + 0x60, 0x1f, 0xfd, 0xd6, 0xc4, 0xf, 0xfe, 0xa1, + 0x88, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0xf3, 0xd8, + 0x1f, 0xfd, 0x46, 0x7, 0xfb, 0xff, 0xfe, 0x2c, + 0x3, 0xff, 0x86, 0x5b, 0xff, 0xe6, 0xe0, 0x25, + 0x80, 0x94, 0x9f, 0xfc, 0xd6, 0x5, 0xa, 0x3, + 0xff, 0xa8, 0x45, 0x40, 0x7f, 0xf4, 0x4e, 0x2, + 0xbf, 0xff, 0xf4, 0x71, 0x0, + + /* U+F242 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdf, 0xff, 0xf0, + 0x10, 0x1f, 0xfe, 0x26, 0xc4, 0xf, 0xfe, 0xa1, + 0x88, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0xf3, 0xd8, + 0x1f, 0xfd, 0x46, 0x7, 0xfb, 0xff, 0xfe, 0x2, + 0x3, 0xff, 0x90, 0x5b, 0xff, 0xe6, 0xe0, 0x25, + 0x80, 0x94, 0x9f, 0xfc, 0xd6, 0x5, 0xa, 0x3, + 0xff, 0xa8, 0x45, 0x40, 0x7f, 0xf4, 0x4e, 0x2, + 0xbf, 0xff, 0xf4, 0x71, 0x0, + + /* U+F243 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdf, 0xfc, 0x7, + 0xff, 0xa1, 0xb1, 0x3, 0xff, 0xa8, 0x62, 0x3, + 0xff, 0xfe, 0x7, 0xff, 0x3c, 0xf6, 0x7, 0xff, + 0x51, 0x81, 0xfe, 0xff, 0xe0, 0x3f, 0xf9, 0xc5, + 0xbf, 0xfe, 0x6e, 0x2, 0x58, 0x9, 0x49, 0xff, + 0xcd, 0x60, 0x50, 0xa0, 0x3f, 0xfa, 0x84, 0x54, + 0x7, 0xff, 0x44, 0xe0, 0x2b, 0xff, 0xff, 0x47, + 0x10, 0x0, + + /* U+F244 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xff, 0xf4, 0x6c, + 0x40, 0xff, 0xea, 0x18, 0x80, 0xff, 0xff, 0x81, + 0xff, 0xcf, 0x3d, 0x81, 0xff, 0xd4, 0x60, 0x7f, + 0xf7, 0xcb, 0x7f, 0xfc, 0xdc, 0x4, 0xb0, 0x12, + 0x93, 0xff, 0x9a, 0xc0, 0xa1, 0x40, 0x7f, 0xf5, + 0x8, 0xa8, 0xf, 0xfe, 0x89, 0xc0, 0x57, 0xff, + 0xfe, 0x8e, 0x20, 0x0, + + /* U+F287 "" */ + 0x3, 0xff, 0xd4, 0xbf, 0x90, 0x1f, 0xfd, 0x12, + 0x54, 0xa, 0x81, 0xff, 0xcf, 0xbf, 0x60, 0x1c, + 0x80, 0xff, 0xe6, 0xd4, 0x9, 0x1, 0xff, 0xd2, + 0x48, 0x3e, 0xc2, 0x4, 0x50, 0x1f, 0xfc, 0xc8, + 0x28, 0x16, 0x8a, 0x60, 0x3f, 0xf8, 0x84, 0xf, + 0x91, 0x24, 0x6, 0x75, 0x81, 0xff, 0xc3, 0x5f, + 0x7c, 0x40, 0xd0, 0x40, 0x3f, 0xf8, 0x6d, 0x1, + 0xca, 0x81, 0x1c, 0x4, 0x88, 0x40, 0x7f, 0xf0, + 0xed, 0x88, 0x14, 0x3, 0xd4, 0xaa, 0x1a, 0x5f, + 0xfc, 0x40, 0xb, 0x30, 0x4, 0xf, 0x2d, 0x40, + 0x3b, 0x7f, 0xf8, 0x84, 0xa, 0x60, 0x3f, 0x92, + 0xe2, 0x0, 0xa5, 0xff, 0xc0, 0x3, 0xa0, 0x60, + 0x7a, 0xdf, 0x66, 0x1d, 0xbf, 0xfc, 0x2, 0x1, + 0xf4, 0x22, 0x3, 0x34, 0x7, 0xa0, 0x44, 0xf, + 0xfe, 0x2, 0xd0, 0xd, 0x69, 0xcd, 0x0, 0xfd, + 0x4, 0x3, 0xfe, 0xd4, 0x81, 0xe5, 0x19, 0x3, + 0xf9, 0x84, 0x40, 0x3d, 0xb8, 0x81, 0xff, 0xcc, + 0x63, 0x80, 0xe4, 0xf3, 0x3, 0xff, 0x99, 0x9, + 0x7c, 0xc0, 0xff, 0xe9, 0xe4, 0x8, 0x1f, 0xfd, + 0x5b, 0xf9, 0x81, 0xff, 0xfb, 0x9f, 0xf2, 0x3, + 0xf0, + + /* U+F293 "" */ + 0x3, 0xfc, 0x51, 0x20, 0x3f, 0xf8, 0x46, 0xfe, + 0xd7, 0x67, 0xa8, 0xf, 0xf5, 0xc8, 0xf, 0x95, + 0xc0, 0x7e, 0xc8, 0xc, 0x60, 0x1c, 0x70, 0x1e, + 0xa4, 0xf, 0x36, 0x3, 0x8e, 0x3, 0x24, 0x3, + 0xf4, 0x60, 0x71, 0x40, 0x50, 0xf, 0xf4, 0x40, + 0x77, 0x0, 0x48, 0xf, 0xfa, 0xa0, 0x32, 0x0, + 0x80, 0xc8, 0xe, 0x30, 0x52, 0x6, 0x43, 0x1, + 0x3b, 0x80, 0xe7, 0x6, 0x20, 0x58, 0x30, 0x24, + 0xe, 0x3, 0x88, 0x1e, 0x20, 0x81, 0x1c, 0xe, + 0x60, 0x15, 0x14, 0x81, 0x30, 0x3c, 0x70, 0x34, + 0x1a, 0x22, 0x3, 0xff, 0x80, 0x70, 0x1c, 0xd8, + 0xe, 0x20, 0x7e, 0x38, 0x9, 0x40, 0x3f, 0xf8, + 0x8c, 0x9, 0x81, 0xff, 0xc4, 0x54, 0x8, 0xe0, + 0x3c, 0x40, 0xf9, 0x50, 0x40, 0x8d, 0x3, 0xff, + 0x80, 0xa8, 0x5c, 0x1c, 0x15, 0x3, 0xc4, 0x9, + 0x50, 0xa8, 0x11, 0xc1, 0x40, 0x26, 0x10, 0x1c, + 0xa8, 0x1d, 0x40, 0x50, 0x2c, 0x30, 0x12, 0xd4, + 0xe, 0x8c, 0x62, 0x4, 0x42, 0x3, 0x10, 0x38, + 0xb1, 0x88, 0x19, 0x0, 0x40, 0x7f, 0xd8, 0x81, + 0x90, 0x14, 0x3, 0xfd, 0x88, 0x1d, 0x0, 0x8c, + 0x3, 0xf6, 0x20, 0x73, 0x20, 0x67, 0x0, 0xe3, + 0x88, 0x1c, 0xa0, 0x1e, 0x79, 0x1, 0x88, 0x1d, + 0x28, 0x1f, 0x8d, 0xf5, 0xa5, 0x9d, 0xec, 0xc, + + /* U+F2ED "" */ + 0x3, 0xf9, 0x2f, 0x10, 0x3f, 0xf8, 0xbe, 0xdf, + 0x68, 0x7, 0xe5, 0x27, 0xb0, 0x1f, 0x9c, 0x9f, + 0xa, 0xdf, 0x88, 0x1f, 0xcd, 0xfe, 0x3, 0xff, + 0x99, 0xd0, 0x1f, 0xfc, 0xbd, 0x7f, 0xff, 0xe5, + 0xa0, 0x64, 0xff, 0xe4, 0x30, 0x26, 0xff, 0xf9, + 0x34, 0xf, 0xff, 0x75, 0xa0, 0x27, 0x80, 0x8f, + 0x20, 0x7f, 0xf0, 0x1b, 0x1, 0x72, 0x4, 0xc3, + 0x3, 0xff, 0xfe, 0x7, 0xff, 0xfc, 0xf, 0xff, + 0xf8, 0x1f, 0xff, 0x26, 0xc0, 0x5c, 0x81, 0x30, + 0xc0, 0xf9, 0x81, 0xad, 0x1, 0x3c, 0x4, 0x79, + 0x2, 0x60, 0x7f, 0xf4, 0xb, 0x3, 0xff, 0x8f, + 0x0, 0xd2, 0xc6, 0xff, 0xf8, 0x73, 0x90, 0x0, + + /* U+F304 "" */ + 0x3, 0xff, 0x94, 0xd8, 0xf, 0xfe, 0x69, 0xd2, + 0x39, 0x3, 0xff, 0x94, 0x71, 0x2, 0xc4, 0xf, + 0xfe, 0x41, 0xc0, 0x7b, 0x10, 0x3f, 0xf8, 0xf4, + 0xf, 0xd8, 0x81, 0xff, 0xc6, 0x88, 0xf, 0xdc, + 0xf, 0xfe, 0x19, 0xf8, 0x54, 0x7, 0xc4, 0xf, + 0xfe, 0x11, 0xc0, 0xe1, 0x50, 0x1e, 0x40, 0x7f, + 0xf0, 0x4e, 0x2, 0x38, 0x54, 0x7, 0x50, 0x3f, + 0xf8, 0x7, 0x1, 0xc7, 0xa, 0x80, 0xb0, 0x1f, + 0xfc, 0x3, 0x80, 0xf8, 0xe1, 0x50, 0xc4, 0xf, + 0xf8, 0xe0, 0x3f, 0x8e, 0x17, 0x90, 0x3f, 0xe3, + 0x80, 0xff, 0x8d, 0x3, 0xff, 0x82, 0x70, 0x1f, + 0xfc, 0x18, 0x7, 0xff, 0x0, 0xe0, 0x3f, 0xf8, + 0x38, 0x81, 0xff, 0x1c, 0x7, 0xff, 0x7, 0x10, + 0x3f, 0xe3, 0x80, 0xff, 0xe0, 0xe2, 0x7, 0xfc, + 0x70, 0x1f, 0xfc, 0x1c, 0x40, 0xff, 0x8e, 0x3, + 0xff, 0x83, 0x88, 0x1f, 0xf1, 0xc0, 0x7f, 0xf0, + 0x71, 0x3, 0xff, 0x81, 0x80, 0xff, 0xe0, 0xe2, + 0x7, 0xff, 0x1, 0x1, 0xff, 0xc1, 0xc4, 0xf, + 0xfe, 0x9, 0x3, 0xff, 0x81, 0x88, 0x1f, 0xfc, + 0x2e, 0x7, 0xfd, 0x88, 0x1f, 0xfc, 0x32, 0x7, + 0xfb, 0x10, 0x3f, 0xf8, 0x8c, 0xf, 0xec, 0x40, + 0xff, 0xe2, 0x90, 0x3f, 0x62, 0x7, 0xff, 0x34, + 0xe2, 0x7, 0xff, 0x1f, 0x48, 0xbb, 0xf6, 0x20, + 0x7f, 0xf1, 0xc0, + + /* U+F55A "" */ + 0x3, 0xfa, 0x7f, 0xff, 0xca, 0xc8, 0xf, 0xea, + 0xc0, 0xff, 0xe5, 0x1a, 0x80, 0xfa, 0xa0, 0x3f, + 0xf9, 0xb0, 0xf, 0x54, 0x7, 0xff, 0x38, 0x81, + 0xd5, 0x1, 0xfc, 0xd8, 0xf, 0x36, 0x3, 0xff, + 0x83, 0x50, 0x1f, 0xce, 0x43, 0x3, 0x39, 0x20, + 0x3f, 0xea, 0x80, 0xff, 0x40, 0x11, 0x80, 0x70, + 0x3, 0x3, 0xfd, 0x50, 0x1f, 0xf4, 0x2, 0x8d, + 0xa0, 0x14, 0x3, 0xfa, 0xa0, 0x3f, 0xf8, 0xe, + 0x1, 0x48, 0x2, 0x8c, 0xf, 0xd5, 0x1, 0xff, + 0xc2, 0x70, 0xf, 0x46, 0x7, 0xf2, 0x3, 0xff, + 0x88, 0xd0, 0x19, 0x30, 0x3f, 0xc8, 0xf, 0xfe, + 0x23, 0x40, 0x64, 0xc0, 0xff, 0x54, 0x7, 0xff, + 0x9, 0xc0, 0x3d, 0x18, 0x1f, 0xea, 0x80, 0xff, + 0xe0, 0x38, 0x5, 0x20, 0xa, 0x30, 0x3f, 0xd5, + 0x1, 0xff, 0x40, 0x28, 0xda, 0x1, 0x40, 0x3f, + 0xea, 0x80, 0xff, 0x40, 0x11, 0x80, 0x70, 0x4, + 0x3, 0xff, 0x81, 0x50, 0x1f, 0xce, 0x43, 0x3, + 0x39, 0xc, 0xf, 0xfe, 0xd, 0x40, 0x7f, 0x36, + 0x3, 0xcd, 0x80, 0xff, 0xe1, 0xd4, 0x7, 0xff, + 0x38, 0x81, 0xf5, 0x40, 0x7f, 0xf3, 0x60, 0x1f, + 0xab, 0x3, 0xff, 0x94, 0x6a, + + /* U+F7C2 "" */ + 0x3, 0xe7, 0x27, 0xf3, 0x40, 0x7e, 0xd1, 0xbf, + 0xe9, 0x70, 0x1c, 0x71, 0x3, 0xff, 0x80, 0x68, + 0x11, 0xc4, 0xf, 0xfe, 0x12, 0x0, 0x70, 0xd, + 0xf8, 0x2f, 0xc0, 0xfe, 0x60, 0x63, 0x80, 0xff, + 0xe3, 0x1c, 0x7, 0xff, 0x1f, 0x1, 0xff, 0xe3, + 0xdf, 0x82, 0xfc, 0xf, 0xe6, 0x7, 0xff, 0xfc, + 0xf, 0xff, 0xf8, 0x1f, 0xff, 0xf0, 0x3f, 0xff, + 0xe0, 0x7f, 0xf6, 0xd8, 0x1f, 0xfc, 0x77, 0x10, + 0x1f, 0xfc, 0x57, 0x5, 0xd6, 0xff, 0xf0, 0xf4, + 0x0, + + /* U+F8A2 "" */ + 0x3, 0xff, 0x9e, 0x80, 0xff, 0xe7, 0xca, 0x7, + 0xff, 0x3a, 0x30, 0x3f, 0xf9, 0xd1, 0x81, 0xfc, + 0xb2, 0x3, 0xff, 0x84, 0x58, 0x1f, 0xce, 0x98, + 0x7, 0xff, 0x9, 0x81, 0xfd, 0x20, 0xf, 0xfe, + 0x74, 0x60, 0x7f, 0xf3, 0xab, 0x3, 0xff, 0x9d, + 0x50, 0x1c, 0x7f, 0xff, 0xe1, 0x50, 0x3a, 0xa0, + 0x3f, 0xf9, 0xec, 0xf, 0xfe, 0x87, 0x3, 0xff, + 0xa0, 0x79, 0x3, 0xd6, 0xff, 0xf1, 0xb8, 0x16, + 0x20, 0x62, 0x97, 0xff, 0x18, 0xe, 0xc4, 0xf, + 0xfe, 0x86, 0x40, 0x7f, 0xf4, 0x2a, 0x8, 0xf, + 0xfe, 0x75, 0xf0, 0xf, 0xfe, 0x40 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 111, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 115, .box_w = 4, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 18, .adv_w = 143, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 14}, + {.bitmap_index = 32, .adv_w = 279, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 128, .adv_w = 252, .box_w = 14, .box_h = 26, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 236, .adv_w = 328, .box_w = 19, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 352, .adv_w = 278, .box_w = 17, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 463, .adv_w = 78, .box_w = 3, .box_h = 7, .ofs_x = 1, .ofs_y = 14}, + {.bitmap_index = 469, .adv_w = 153, .box_w = 9, .box_h = 30, .ofs_x = 1, .ofs_y = -7}, + {.bitmap_index = 543, .adv_w = 156, .box_w = 8, .box_h = 30, .ofs_x = 0, .ofs_y = -7}, + {.bitmap_index = 612, .adv_w = 193, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 655, .adv_w = 254, .box_w = 14, .box_h = 15, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 684, .adv_w = 88, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 696, .adv_w = 124, .box_w = 8, .box_h = 3, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 702, .adv_w = 118, .box_w = 5, .box_h = 3, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 708, .adv_w = 185, .box_w = 11, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 772, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 852, .adv_w = 252, .box_w = 8, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 874, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 953, .adv_w = 252, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1036, .adv_w = 252, .box_w = 16, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1103, .adv_w = 252, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1182, .adv_w = 251, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1271, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1339, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1438, .adv_w = 252, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1522, .adv_w = 109, .box_w = 4, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1535, .adv_w = 95, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 1558, .adv_w = 228, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 1608, .adv_w = 246, .box_w = 12, .box_h = 8, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 1629, .adv_w = 234, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1682, .adv_w = 212, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1749, .adv_w = 402, .box_w = 23, .box_h = 26, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 1936, .adv_w = 292, .box_w = 18, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2041, .adv_w = 279, .box_w = 14, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2116, .adv_w = 292, .box_w = 16, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2204, .adv_w = 294, .box_w = 15, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2272, .adv_w = 255, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2306, .adv_w = 248, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2335, .adv_w = 305, .box_w = 17, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2433, .adv_w = 319, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2459, .adv_w = 122, .box_w = 4, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2464, .adv_w = 247, .box_w = 14, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2507, .adv_w = 281, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2593, .adv_w = 241, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2611, .adv_w = 391, .box_w = 21, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2724, .adv_w = 319, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2806, .adv_w = 308, .box_w = 17, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2905, .adv_w = 283, .box_w = 15, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2962, .adv_w = 308, .box_w = 17, .box_h = 24, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 3087, .adv_w = 276, .box_w = 15, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3164, .adv_w = 266, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3261, .adv_w = 267, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3288, .adv_w = 291, .box_w = 16, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3334, .adv_w = 285, .box_w = 18, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3441, .adv_w = 397, .box_w = 25, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3602, .adv_w = 281, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3707, .adv_w = 269, .box_w = 17, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3782, .adv_w = 268, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3857, .adv_w = 119, .box_w = 6, .box_h = 27, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 3871, .adv_w = 184, .box_w = 12, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3938, .adv_w = 119, .box_w = 6, .box_h = 27, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 3954, .adv_w = 187, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 10}, + {.bitmap_index = 3991, .adv_w = 202, .box_w = 13, .box_h = 3, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4000, .adv_w = 138, .box_w = 7, .box_h = 4, .ofs_x = 0, .ofs_y = 17}, + {.bitmap_index = 4010, .adv_w = 244, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4077, .adv_w = 251, .box_w = 14, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4146, .adv_w = 235, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4207, .adv_w = 253, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4273, .adv_w = 237, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4336, .adv_w = 156, .box_w = 10, .box_h = 22, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4370, .adv_w = 251, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 4460, .adv_w = 247, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4496, .adv_w = 109, .box_w = 4, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4508, .adv_w = 107, .box_w = 6, .box_h = 26, .ofs_x = -1, .ofs_y = -6}, + {.bitmap_index = 4534, .adv_w = 227, .box_w = 14, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4596, .adv_w = 109, .box_w = 3, .box_h = 21, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4600, .adv_w = 393, .box_w = 22, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4655, .adv_w = 247, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4688, .adv_w = 256, .box_w = 14, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4757, .adv_w = 251, .box_w = 14, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 4827, .adv_w = 255, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 4894, .adv_w = 152, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4915, .adv_w = 231, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4985, .adv_w = 146, .box_w = 9, .box_h = 19, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5017, .adv_w = 247, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5047, .adv_w = 217, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5114, .adv_w = 337, .box_w = 21, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5222, .adv_w = 222, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5292, .adv_w = 212, .box_w = 13, .box_h = 21, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 5377, .adv_w = 222, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5426, .adv_w = 152, .box_w = 10, .box_h = 28, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 5493, .adv_w = 109, .box_w = 3, .box_h = 24, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 5499, .adv_w = 152, .box_w = 9, .box_h = 28, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 5567, .adv_w = 305, .box_w = 17, .box_h = 6, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 5602, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5739, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5876, .adv_w = 448, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5972, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6105, .adv_w = 308, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6221, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6419, .adv_w = 448, .box_w = 27, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 6592, .adv_w = 504, .box_w = 32, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6758, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6887, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7012, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 7206, .adv_w = 224, .box_w = 14, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7258, .adv_w = 336, .box_w = 21, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7354, .adv_w = 504, .box_w = 32, .box_h = 27, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 7568, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7674, .adv_w = 392, .box_w = 18, .box_h = 26, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 7767, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 7888, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7952, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7995, .adv_w = 392, .box_w = 18, .box_h = 26, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 8088, .adv_w = 392, .box_w = 26, .box_h = 25, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 8200, .adv_w = 280, .box_w = 16, .box_h = 25, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 8305, .adv_w = 280, .box_w = 16, .box_h = 25, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 8409, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8483, .adv_w = 392, .box_w = 25, .box_h = 7, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 8512, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8700, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 8960, .adv_w = 504, .box_w = 33, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 9148, .adv_w = 448, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9326, .adv_w = 392, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 9423, .adv_w = 392, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 9523, .adv_w = 560, .box_w = 35, .box_h = 22, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9672, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9726, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 9856, .adv_w = 448, .box_w = 29, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 10028, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 10207, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 10294, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 10399, .adv_w = 280, .box_w = 19, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 10530, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 10632, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 10765, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10897, .adv_w = 448, .box_w = 30, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 11048, .adv_w = 336, .box_w = 21, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 11113, .adv_w = 560, .box_w = 35, .box_h = 26, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 11313, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 11397, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 11482, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 11567, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 11649, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 11725, .adv_w = 560, .box_w = 36, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 11886, .adv_w = 392, .box_w = 22, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 12070, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12166, .adv_w = 448, .box_w = 29, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 12353, .adv_w = 560, .box_w = 35, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 12518, .adv_w = 336, .box_w = 21, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12591, .adv_w = 451, .box_w = 29, .box_h = 19, .ofs_x = 0, .ofs_y = 1} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_1[] = { + 0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14, + 0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x47, + 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53, 0x66, + 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77, 0x78, + 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xe6, 0xe9, + 0xf2, 0x11b, 0x123, 0x15a, 0x1ea, 0x23f, 0x240, 0x241, + 0x242, 0x243, 0x286, 0x292, 0x2ec, 0x303, 0x559, 0x7c1, + 0x8a1 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 61441, .range_length = 2210, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 57, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + } +}; + +/*----------------- + * KERNING + *----------------*/ + + +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = +{ + 0, 1, 0, 2, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 4, 0, 4, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 7, 8, 9, 10, 11, + 0, 12, 12, 13, 14, 15, 12, 12, + 9, 16, 17, 18, 0, 19, 13, 20, + 21, 22, 23, 24, 25, 0, 0, 0, + 0, 0, 26, 27, 28, 0, 29, 30, + 0, 31, 0, 0, 32, 0, 31, 31, + 33, 27, 0, 34, 0, 35, 0, 36, + 37, 38, 36, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 +}; + +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = +{ + 0, 1, 0, 2, 0, 0, 0, 3, + 2, 0, 4, 5, 0, 6, 7, 6, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 10, 0, 11, 0, 0, 0, + 11, 0, 0, 12, 0, 0, 0, 0, + 11, 0, 11, 0, 13, 14, 15, 16, + 17, 18, 19, 20, 0, 0, 21, 0, + 0, 0, 22, 0, 23, 23, 23, 24, + 23, 0, 0, 0, 0, 0, 25, 25, + 26, 25, 23, 27, 28, 29, 30, 31, + 32, 33, 31, 34, 0, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 +}; + +/*Kern values between classes*/ +static const int8_t kern_class_values[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -9, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -23, 0, 0, 0, + 0, 0, 0, 0, -26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -11, -13, 0, -4, -13, 0, -17, 0, + 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 4, 0, + 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -37, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -26, 0, 0, 0, 0, 0, 0, -13, + 0, -2, 0, 0, -28, -4, -19, -15, + 0, -21, 0, 0, 0, 0, 0, 0, + -3, 0, 0, -4, -2, -11, -7, 0, + 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -6, + 0, -5, 0, 0, -12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -6, 0, 0, 0, 0, 0, + 0, -3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -4, + 0, 0, 0, 0, 0, -22, 0, 0, + 0, -5, 0, 0, 0, -6, 0, -5, + 0, -5, -9, -5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, + 0, -4, -4, 0, -4, 0, 0, 0, + -4, -6, -5, 0, 0, 0, 0, 0, + 0, 0, 0, -51, 0, 0, 0, -37, + 0, -58, 0, 4, 0, 0, 0, 0, + 0, 0, 0, -7, -5, 0, 0, -5, + -6, 0, 0, -5, -5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, -6, 0, + 0, 0, 4, -6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -14, 0, 0, + 0, -7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -6, 0, -5, + -6, 0, 0, 0, -5, -9, -14, 0, + 0, 0, 0, -73, 0, 0, 0, 0, + 0, 0, 0, 4, -14, 0, 0, -60, + -12, -38, -31, 0, -52, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -10, + -29, -20, 0, 0, 0, 0, 0, 0, + 0, 0, -71, 0, 0, 0, -30, 0, + -44, 0, 0, 0, 0, 0, -7, 0, + -6, 0, -2, -3, 0, 0, -3, 0, + 0, 3, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -9, 0, -6, + -4, 0, -8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -17, 0, -4, 0, 0, -10, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -9, 0, + 0, 0, 0, -48, -51, 0, 0, -17, + -6, -52, -3, 4, 0, 4, 3, 0, + 4, 0, 0, -25, -22, 0, -24, -22, + -16, -25, 0, -21, -16, -12, -17, -13, + 0, 0, 0, 0, 4, 0, -49, -8, + 0, 0, -16, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, -10, -10, + 0, 0, -10, -7, 0, 0, -6, -2, + 0, 0, 0, 4, 0, 0, 0, 3, + 0, -27, -13, 0, 0, -9, 0, 0, + 0, 3, 0, 0, 0, 0, 0, 0, + 3, -7, -7, 0, 0, -7, -5, 0, + 0, -4, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, -10, 0, 0, + 0, -5, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, -6, 0, 0, + -5, 0, 0, 0, -5, -7, 0, 0, + 0, 0, 0, 0, -7, 4, -11, -46, + -11, 0, 0, -21, -6, -21, -3, 4, + -21, 4, 4, 3, 4, 0, 4, -16, + -14, -5, -9, -14, -9, -13, -5, -9, + -4, 0, -5, -7, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, -6, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -5, 0, + 0, 0, -4, -6, -6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -4, 0, 0, -4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3, 0, 0, 0, 0, 0, -6, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2, 0, -3, -3, + 0, 0, -2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3, 0, 0, 0, 0, 0, + 4, 0, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 0, -5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4, 0, -23, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -30, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -3, 0, + -5, -3, 0, 0, 4, 0, 0, 0, + -27, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -9, -4, 3, 0, -4, 0, 0, 11, + 0, 4, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -4, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, -23, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -3, -3, + 3, 0, -3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -4, 0, 0, + -4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, 0, 0, -3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -4, 0, 0, -4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = +{ + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 40, + .right_class_cnt = 35, +}; + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = { + .glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, + .cmap_num = 2, + .bpp = 3, + .kern_classes = 1, + .bitmap_format = 1 +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t lv_font_roboto_28_compressed = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 32, /*The maximum line height required by the font*/ + .base_line = 7, /*Baseline measured from the bottom of the line*/ + .subpx = LV_FONT_SUBPX_NONE, + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + +#endif /*#if LV_FONT_ROBOTO_28_COMPRESSED*/ + diff --git a/src/src/lv_font/lv_font_unscii_8.c b/src/src/lv_font/lv_font_unscii_8.c index e86727c..1b96823 100644 --- a/src/src/lv_font/lv_font_unscii_8.c +++ b/src/src/lv_font/lv_font_unscii_8.c @@ -311,7 +311,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { * GLYPH DESCRIPTION *--------------------*/ -static lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { {.bitmap_index = 0, .adv_w = 0, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, {.bitmap_index = 0, .adv_w = 128, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 0, .adv_w = 128, .box_h = 7, .box_w = 1, .ofs_x = 3, .ofs_y = -1}, @@ -460,4 +460,3 @@ lv_font_t lv_font_unscii_8 = { }; #endif /*#if LV_FONT_UNSCII_8*/ - diff --git a/src/src/lv_font/lv_symbol_def.h b/src/src/lv_font/lv_symbol_def.h index 338705e..6fe823b 100644 --- a/src/src/lv_font/lv_symbol_def.h +++ b/src/src/lv_font/lv_symbol_def.h @@ -11,57 +11,72 @@ extern "C" { #include "../../../lv_conf.h" #endif +/* In the font converter use this list as range: + 61441, 61448, 61451, 61452, 61452, 61453, 61457, 61459, 61461, 61465, + 61468, 61473, 61478, 61479, 61480, 61502, 61512, 61515, 61516, 61517, + 61521, 61522, 61523, 61524, 61543, 61544, 61550, 61552, 61553, 61556, + 61559, 61560, 61561, 61563, 61587, 61589, 61636, 61637, 61639, 61671, + 61674, 61683, 61724, 61732, 61787, 61931, 62016, 62017, 62018, 62019, + 62020, 62087, 62099, 62212, 62189, 62810, 63426, 63650 +*/ -#define LV_SYMBOL_AUDIO "\xef\x80\x81" -#define LV_SYMBOL_VIDEO "\xef\x80\x88" -#define LV_SYMBOL_LIST "\xef\x80\x8b" -#define LV_SYMBOL_OK "\xef\x80\x8c" -#define LV_SYMBOL_CLOSE "\xef\x80\x8d" -#define LV_SYMBOL_POWER "\xef\x80\x91" -#define LV_SYMBOL_SETTINGS "\xef\x80\x93" -#define LV_SYMBOL_TRASH "\xef\x80\x94" -#define LV_SYMBOL_HOME "\xef\x80\x95" -#define LV_SYMBOL_DOWNLOAD "\xef\x80\x99" -#define LV_SYMBOL_DRIVE "\xef\x80\x9c" -#define LV_SYMBOL_REFRESH "\xef\x80\xa1" -#define LV_SYMBOL_MUTE "\xef\x80\xa6" -#define LV_SYMBOL_VOLUME_MID "\xef\x80\xa7" -#define LV_SYMBOL_VOLUME_MAX "\xef\x80\xa8" -#define LV_SYMBOL_IMAGE "\xef\x80\xbe" -#define LV_SYMBOL_EDIT "\xef\x81\x80" -#define LV_SYMBOL_PREV "\xef\x81\x88" -#define LV_SYMBOL_PLAY "\xef\x81\x8b" -#define LV_SYMBOL_PAUSE "\xef\x81\x8c" -#define LV_SYMBOL_STOP "\xef\x81\x8d" -#define LV_SYMBOL_NEXT "\xef\x81\x91" -#define LV_SYMBOL_EJECT "\xef\x81\x92" -#define LV_SYMBOL_LEFT "\xef\x81\x93" -#define LV_SYMBOL_RIGHT "\xef\x81\x94" -#define LV_SYMBOL_PLUS "\xef\x81\xa7" -#define LV_SYMBOL_MINUS "\xef\x81\xa8" -#define LV_SYMBOL_WARNING "\xef\x81\xb1" -#define LV_SYMBOL_SHUFFLE "\xef\x81\xb4" -#define LV_SYMBOL_UP "\xef\x81\xb7" -#define LV_SYMBOL_DOWN "\xef\x81\xb8" -#define LV_SYMBOL_LOOP "\xef\x81\xb9" -#define LV_SYMBOL_DIRECTORY "\xef\x81\xbb" -#define LV_SYMBOL_UPLOAD "\xef\x82\x93" -#define LV_SYMBOL_CALL "\xef\x82\x95" -#define LV_SYMBOL_CUT "\xef\x83\x84" -#define LV_SYMBOL_COPY "\xef\x83\x85" -#define LV_SYMBOL_SAVE "\xef\x83\x87" -#define LV_SYMBOL_CHARGE "\xef\x83\xa7" -#define LV_SYMBOL_BELL "\xef\x83\xb3" -#define LV_SYMBOL_KEYBOARD "\xef\x84\x9c" -#define LV_SYMBOL_GPS "\xef\x84\xa4" -#define LV_SYMBOL_FILE "\xef\x85\x9b" -#define LV_SYMBOL_WIFI "\xef\x87\xab" -#define LV_SYMBOL_BATTERY_FULL "\xef\x89\x80" -#define LV_SYMBOL_BATTERY_3 "\xef\x89\x81" -#define LV_SYMBOL_BATTERY_2 "\xef\x89\x82" -#define LV_SYMBOL_BATTERY_1 "\xef\x89\x83" -#define LV_SYMBOL_BATTERY_EMPTY "\xef\x89\x84" -#define LV_SYMBOL_BLUETOOTH "\xef\x8a\x93" +#define LV_SYMBOL_AUDIO "\xef\x80\x81" /*61441, 0xF001*/ +#define LV_SYMBOL_VIDEO "\xef\x80\x88" /*61448, 0xF008*/ +#define LV_SYMBOL_LIST "\xef\x80\x8b" /*61451, 0xF00B*/ +#define LV_SYMBOL_OK "\xef\x80\x8c" /*61452, 0xF00C*/ +#define LV_SYMBOL_CLOSE "\xef\x80\x8d" /*61453, 0xF00D*/ +#define LV_SYMBOL_POWER "\xef\x80\x91" /*61457, 0xF011*/ +#define LV_SYMBOL_SETTINGS "\xef\x80\x93" /*61459, 0xF013*/ +#define LV_SYMBOL_HOME "\xef\x80\x95" /*61461, 0xF015*/ +#define LV_SYMBOL_DOWNLOAD "\xef\x80\x99" /*61465, 0xF019*/ +#define LV_SYMBOL_DRIVE "\xef\x80\x9c" /*61468, 0xF01C*/ +#define LV_SYMBOL_REFRESH "\xef\x80\xa1" /*61473, 0xF021*/ +#define LV_SYMBOL_MUTE "\xef\x80\xa6" /*61478, 0xF026*/ +#define LV_SYMBOL_VOLUME_MID "\xef\x80\xa7" /*61479, 0xF027*/ +#define LV_SYMBOL_VOLUME_MAX "\xef\x80\xa8" /*61480, 0xF028*/ +#define LV_SYMBOL_IMAGE "\xef\x80\xbe" /*61502, 0xF03E*/ +#define LV_SYMBOL_EDIT "\xef\x8C\x84" /*62212, 0xF304*/ +#define LV_SYMBOL_PREV "\xef\x81\x88" /*61512, 0xF048*/ +#define LV_SYMBOL_PLAY "\xef\x81\x8b" /*61515, 0xF04B*/ +#define LV_SYMBOL_PAUSE "\xef\x81\x8c" /*61516, 0xF04C*/ +#define LV_SYMBOL_STOP "\xef\x81\x8d" /*61517, 0xF04D*/ +#define LV_SYMBOL_NEXT "\xef\x81\x91" /*61521, 0xF051*/ +#define LV_SYMBOL_EJECT "\xef\x81\x92" /*61522, 0xF052*/ +#define LV_SYMBOL_LEFT "\xef\x81\x93" /*61523, 0xF053*/ +#define LV_SYMBOL_RIGHT "\xef\x81\x94" /*61524, 0xF054*/ +#define LV_SYMBOL_PLUS "\xef\x81\xa7" /*61543, 0xF067*/ +#define LV_SYMBOL_MINUS "\xef\x81\xa8" /*61544, 0xF068*/ +#define LV_SYMBOL_EYE_OPEN "\xef\x81\xae" /*61550, 0xF06E*/ +#define LV_SYMBOL_EYE_CLOSE "\xef\x81\xb0" /*61552, 0xF070*/ +#define LV_SYMBOL_WARNING "\xef\x81\xb1" /*61553, 0xF071*/ +#define LV_SYMBOL_SHUFFLE "\xef\x81\xb4" /*61556, 0xF074*/ +#define LV_SYMBOL_UP "\xef\x81\xb7" /*61559, 0xF077*/ +#define LV_SYMBOL_DOWN "\xef\x81\xb8" /*61560, 0xF078*/ +#define LV_SYMBOL_LOOP "\xef\x81\xb9" /*61561, 0xF079*/ +#define LV_SYMBOL_DIRECTORY "\xef\x81\xbb" /*61563, 0xF07B*/ +#define LV_SYMBOL_UPLOAD "\xef\x82\x93" /*61587, 0xF093*/ +#define LV_SYMBOL_CALL "\xef\x82\x95" /*61589, 0xF095*/ +#define LV_SYMBOL_CUT "\xef\x83\x84" /*61636, 0xF0C4*/ +#define LV_SYMBOL_COPY "\xef\x83\x85" /*61637, 0xF0C5*/ +#define LV_SYMBOL_SAVE "\xef\x83\x87" /*61639, 0xF0C7*/ +#define LV_SYMBOL_CHARGE "\xef\x83\xa7" /*61671, 0xF0E7*/ +#define LV_SYMBOL_PASTE "\xef\x83\xAA" /*61674, 0xF0EA*/ +#define LV_SYMBOL_BELL "\xef\x83\xb3" /*61683, 0xF0F3*/ +#define LV_SYMBOL_KEYBOARD "\xef\x84\x9c" /*61724, 0xF11C*/ +#define LV_SYMBOL_GPS "\xef\x84\xa4" /*61732, 0xF124*/ +#define LV_SYMBOL_FILE "\xef\x85\x9b" /*61787, 0xF158*/ +#define LV_SYMBOL_WIFI "\xef\x87\xab" /*61931, 0xF1EB*/ +#define LV_SYMBOL_BATTERY_FULL "\xef\x89\x80" /*62016, 0xF240*/ +#define LV_SYMBOL_BATTERY_3 "\xef\x89\x81" /*62017, 0xF241*/ +#define LV_SYMBOL_BATTERY_2 "\xef\x89\x82" /*62018, 0xF242*/ +#define LV_SYMBOL_BATTERY_1 "\xef\x89\x83" /*62019, 0xF243*/ +#define LV_SYMBOL_BATTERY_EMPTY "\xef\x89\x84" /*62020, 0xF244*/ +#define LV_SYMBOL_USB "\xef\x8a\x87" /*62087, 0xF287*/ +#define LV_SYMBOL_BLUETOOTH "\xef\x8a\x93" /*62099, 0xF293*/ +#define LV_SYMBOL_TRASH "\xef\x8B\xAD" /*62189, 0xF2ED*/ +#define LV_SYMBOL_BACKSPACE "\xef\x95\x9A" /*62810, 0xF55A*/ +#define LV_SYMBOL_SD_CARD "\xef\x9F\x82" /*63426, 0xF7C2*/ +#define LV_SYMBOL_NEW_LINE "\xef\xA2\xA2" /*63650, 0xF8A2*/ /** Invalid symbol at (U+F8FF). If written before a string then `lv_img` will show it as a label*/ #define LV_SYMBOL_DUMMY "\xEF\xA3\xBF" diff --git a/src/src/lv_hal/lv_hal_disp.c b/src/src/lv_hal/lv_hal_disp.c index 9e97e6b..c2d1f13 100644 --- a/src/src/lv_hal/lv_hal_disp.c +++ b/src/src/lv_hal/lv_hal_disp.c @@ -12,6 +12,7 @@ #include #include #include "lv_hal.h" +#include "../lv_core/lv_debug.h" #include "../lv_misc/lv_mem.h" #include "../lv_core/lv_obj.h" #include "../lv_core/lv_refr.h" @@ -118,7 +119,7 @@ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) { lv_disp_t * disp = lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll)); if(!disp) { - lv_mem_assert(disp); + LV_ASSERT_MEM(disp); return NULL; } @@ -137,7 +138,7 @@ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) disp->act_scr = lv_obj_create(NULL, NULL); /*Create a default screen on the display*/ disp->top_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/ - disp->sys_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/ + disp->sys_layer = lv_obj_create(NULL, NULL); /*Create sys layer on the display*/ lv_obj_set_style(disp->top_layer, &lv_style_transp); lv_obj_set_style(disp->sys_layer, &lv_style_transp); @@ -147,7 +148,7 @@ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) /*Create a refresh task*/ disp->refr_task = lv_task_create(lv_disp_refr_task, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, disp); - lv_mem_assert(disp->refr_task); + LV_ASSERT_MEM(disp->refr_task); if(disp->refr_task == NULL) return NULL; lv_task_ready(disp->refr_task); /*Be sure the screen will be refreshed immediately on start up*/ @@ -267,14 +268,14 @@ bool lv_disp_get_antialiasing(lv_disp_t * disp) */ LV_ATTRIBUTE_FLUSH_READY void lv_disp_flush_ready(lv_disp_drv_t * disp_drv) { - disp_drv->buffer->flushing = 0; - /*If the screen is transparent initialize it when the flushing is ready*/ #if LV_COLOR_SCREEN_TRANSP if(disp_drv->screen_transp) { memset(disp_drv->buffer->buf_act, 0x00, disp_drv->buffer->size * sizeof(lv_color32_t)); } #endif + + disp_drv->buffer->flushing = 0; } /** diff --git a/src/src/lv_hal/lv_hal_indev.c b/src/src/lv_hal/lv_hal_indev.c index 1127341..35ff1b3 100644 --- a/src/src/lv_hal/lv_hal_indev.c +++ b/src/src/lv_hal/lv_hal_indev.c @@ -8,6 +8,7 @@ /********************* * INCLUDES *********************/ +#include "../lv_core/lv_debug.h" #include "../lv_hal/lv_hal_indev.h" #include "../lv_core/lv_indev.h" #include "../lv_misc/lv_mem.h" @@ -77,7 +78,7 @@ lv_indev_t * lv_indev_drv_register(lv_indev_drv_t * driver) lv_indev_t * indev = lv_ll_ins_head(&LV_GC_ROOT(_lv_indev_ll)); if(!indev) { - lv_mem_assert(indev); + LV_ASSERT_MEM(indev); return NULL; } diff --git a/src/src/lv_misc/lv_anim.c b/src/src/lv_misc/lv_anim.c index 5a50165..790dfc7 100644 --- a/src/src/lv_misc/lv_anim.c +++ b/src/src/lv_misc/lv_anim.c @@ -11,6 +11,7 @@ #if LV_USE_ANIMATION #include #include +#include "../lv_core/lv_debug.h" #include "../lv_hal/lv_hal_tick.h" #include "lv_task.h" #include "lv_math.h" @@ -89,7 +90,7 @@ void lv_anim_create(lv_anim_t * a) /*Add the new animation to the animation linked list*/ lv_anim_t * new_anim = lv_ll_ins_head(&LV_GC_ROOT(_lv_anim_ll)); - lv_mem_assert(new_anim); + LV_ASSERT_MEM(new_anim); if(new_anim == NULL) return; /*Initialize the animation descriptor*/ diff --git a/src/src/lv_misc/lv_anim.h b/src/src/lv_misc/lv_anim.h index 299f7c4..36cc35a 100644 --- a/src/src/lv_misc/lv_anim.h +++ b/src/src/lv_misc/lv_anim.h @@ -129,10 +129,10 @@ static inline void lv_anim_set_exec_cb(lv_anim_t * a, void * var, lv_anim_exec_x * @param duration duration of the animation in milliseconds * @param delay delay before the animation in milliseconds */ -static inline void lv_anim_set_time(lv_anim_t * a, uint16_t duration, uint16_t delay) +static inline void lv_anim_set_time(lv_anim_t * a, uint16_t duration, int16_t delay) { a->time = duration; - a->act_time = -delay; + a->act_time = (int16_t)(-delay); } /** diff --git a/src/src/lv_misc/lv_area.c b/src/src/lv_misc/lv_area.c index 025e173..de649c5 100644 --- a/src/src/lv_misc/lv_area.c +++ b/src/src/lv_misc/lv_area.c @@ -192,6 +192,19 @@ bool lv_area_is_in(const lv_area_t * ain_p, const lv_area_t * aholder_p) return is_in; } +/** + * Increment or decrement an area's size by a single amount + * @param a_p pointer to an area to grow + * @param amount amount to increment the area, or negative to decrement + */ +void lv_area_increment(lv_area_t * a_p, const lv_coord_t amount) +{ + a_p->x1 -= amount; + a_p->y1 -= amount; + a_p->x2 += amount; + a_p->y2 += amount; +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/src/lv_misc/lv_area.h b/src/src/lv_misc/lv_area.h index 30b62cb..211bebd 100644 --- a/src/src/lv_misc/lv_area.h +++ b/src/src/lv_misc/lv_area.h @@ -29,6 +29,9 @@ extern "C" { #define LV_COORD_MAX ((lv_coord_t)((uint32_t)((uint32_t)1 << (8 * sizeof(lv_coord_t) - 1)) - 1000)) #define LV_COORD_MIN (-LV_COORD_MAX) +LV_EXPORT_CONST_INT(LV_COORD_MAX); +LV_EXPORT_CONST_INT(LV_COORD_MIN); + /********************** * TYPEDEFS **********************/ @@ -82,7 +85,7 @@ inline static void lv_area_copy(lv_area_t * dest, const lv_area_t * src) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { - return area_p->x2 - area_p->x1 + 1; + return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); } /** @@ -92,7 +95,7 @@ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { - return area_p->y2 - area_p->y1 + 1; + return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); } /** @@ -165,6 +168,13 @@ bool lv_area_is_on(const lv_area_t * a1_p, const lv_area_t * a2_p); */ bool lv_area_is_in(const lv_area_t * ain_p, const lv_area_t * aholder_p); +/** + * Increment or decrement an area's size by a single amount + * @param a_p pointer to an area to grow + * @param amount amount to increment the area, or negative to decrement + */ +void lv_area_increment(lv_area_t * a_p, const lv_coord_t amount); + /********************** * MACROS **********************/ diff --git a/src/src/lv_misc/lv_bidi.c b/src/src/lv_misc/lv_bidi.c new file mode 100644 index 0000000..bde7520 --- /dev/null +++ b/src/src/lv_misc/lv_bidi.c @@ -0,0 +1,540 @@ +/** + * @file lv_bidi.c + * + */ + +/********************* + * INCLUDES + *********************/ +#include +#include "lv_bidi.h" +#include "lv_txt.h" +#include "../lv_draw/lv_draw.h" + +#if LV_USE_BIDI + +/********************* + * DEFINES + *********************/ +#define LV_BIDI_BRACKLET_DEPTH 4 + +// Highest bit of the 16-bit pos_conv value specifies whether this pos is RTL or not +#define GET_POS(x) ((x) & 0x7FFF) +#define IS_RTL_POS(x) (((x) & 0x8000) != 0) +#define SET_RTL_POS(x, is_rtl) (GET_POS(x) | ((is_rtl)? 0x8000: 0)) + +/********************** + * TYPEDEFS + **********************/ +typedef struct +{ + uint32_t bracklet_pos; + lv_bidi_dir_t dir; +}bracket_stack_t; + +/********************** + * STATIC PROTOTYPES + **********************/ +static lv_bidi_dir_t get_next_run(const char * txt, lv_bidi_dir_t base_dir, uint32_t max_len, uint32_t * len, uint16_t * pos_conv_len); +static void rtl_reverse(char * dest, const char * src, uint32_t len, uint16_t *pos_conv_out, uint16_t pos_conv_rd_base, uint16_t pos_conv_len); +static uint32_t char_change_to_pair(uint32_t letter); +static lv_bidi_dir_t bracket_process(const char * txt, uint32_t next_pos, uint32_t len, uint32_t letter, lv_bidi_dir_t base_dir); +static void fill_pos_conv(uint16_t * out, uint16_t len, uint16_t index); +static uint32_t get_txt_len(const char * txt, uint32_t max_len); + +/********************** + * STATIC VARIABLES + **********************/ +static const uint8_t bracket_left[] = {"<({["}; +static const uint8_t bracket_right[] = {">)}]"}; +static bracket_stack_t br_stack[LV_BIDI_BRACKLET_DEPTH]; +static uint8_t br_stack_p; + +/********************** + * MACROS + **********************/ + +/********************** + * GLOBAL FUNCTIONS + **********************/ + +void lv_bidi_process(const char * str_in, char * str_out, lv_bidi_dir_t base_dir) +{ + if(base_dir == LV_BIDI_DIR_AUTO) base_dir = lv_bidi_detect_base_dir(str_in); + + uint32_t par_start = 0; + uint32_t par_len; + + while(str_in[par_start] == '\n' || str_in[par_start] == '\r') { + str_out[par_start] = str_in[par_start]; + par_start ++; + } + + while(str_in[par_start] != '\0') { + par_len = lv_bidi_get_next_paragraph(&str_in[par_start]); + lv_bidi_process_paragraph(&str_in[par_start], &str_out[par_start], par_len, base_dir, NULL, 0); + par_start += par_len; + + while(str_in[par_start] == '\n' || str_in[par_start] == '\r') { + str_out[par_start] = str_in[par_start]; + par_start ++; + } + } + + str_out[par_start] = '\0'; +} + +lv_bidi_dir_t lv_bidi_detect_base_dir(const char * txt) +{ + uint32_t i = 0; + uint32_t letter; + while(txt[i] != '\0') { + letter = lv_txt_encoded_next(txt, &i); + + lv_bidi_dir_t dir; + dir = lv_bidi_get_letter_dir(letter); + if(dir == LV_BIDI_DIR_RTL || dir == LV_BIDI_DIR_LTR) return dir; + } + + /*If there were no strong char earlier return with the default base dir */ + if(LV_BIDI_BASE_DIR_DEF == LV_BIDI_DIR_AUTO) return LV_BIDI_DIR_LTR; + else return LV_BIDI_BASE_DIR_DEF; +} + +lv_bidi_dir_t lv_bidi_get_letter_dir(uint32_t letter) +{ + if(lv_bidi_letter_is_rtl(letter)) return LV_BIDI_DIR_RTL; + if(lv_bidi_letter_is_neutral(letter)) return LV_BIDI_DIR_NEUTRAL; + if(lv_bidi_letter_is_weak(letter)) return LV_BIDI_DIR_WEAK; + + return LV_BIDI_DIR_LTR; +} + +bool lv_bidi_letter_is_weak(uint32_t letter) +{ + uint32_t i = 0; + static const char weaks[] = "0123456789"; + + do { + uint32_t x = lv_txt_encoded_next(weaks, &i); + if(letter == x) { + return true; + } + } while(weaks[i] != '\0'); + + return false; +} + +bool lv_bidi_letter_is_rtl(uint32_t letter) +{ + if(letter >= 0x5d0 && letter <= 0x5ea) return true; + if(letter == 0x202E) return true; /*Unicode of LV_BIDI_RLO*/ +// if(letter >= 'a' && letter <= 'z') return true; + + return false; +} + +bool lv_bidi_letter_is_neutral(uint32_t letter) +{ + uint16_t i; + static const char neutrals[] = " \t\n\r.,:;'\"`!?%/\\-=()[]{}<>@#&$|"; + for(i = 0; neutrals[i] != '\0'; i++) { + if(letter == (uint32_t)neutrals[i]) return true; + } + + return false; +} + +uint16_t lv_bidi_get_logical_pos(const char * str_in, char **bidi_txt, uint32_t len, lv_bidi_dir_t base_dir, uint32_t visual_pos, bool *is_rtl) +{ + uint32_t pos_conv_len = get_txt_len(str_in, len); + void *buf = lv_draw_get_buf(len + pos_conv_len * sizeof(uint16_t)); + if (bidi_txt) *bidi_txt = buf; + uint16_t *pos_conv_buf = (uint16_t*) ((char*)buf + len); + lv_bidi_process_paragraph(str_in, bidi_txt? *bidi_txt: NULL, len, base_dir, pos_conv_buf, pos_conv_len); + if (is_rtl) *is_rtl = IS_RTL_POS(pos_conv_buf[visual_pos]); + return GET_POS(pos_conv_buf[visual_pos]); +} + +uint16_t lv_bidi_get_visual_pos(const char * str_in, char **bidi_txt, uint16_t len, lv_bidi_dir_t base_dir, uint32_t logical_pos, bool *is_rtl) +{ + uint32_t pos_conv_len = get_txt_len(str_in, len); + void *buf = lv_draw_get_buf(len + pos_conv_len * sizeof(uint16_t)); + if (bidi_txt) *bidi_txt = buf; + uint16_t *pos_conv_buf = (uint16_t*) ((char*)buf + len); + lv_bidi_process_paragraph(str_in, bidi_txt? *bidi_txt: NULL, len, base_dir, pos_conv_buf, pos_conv_len); + for (uint16_t i = 0; i < pos_conv_len; i++){ + if (GET_POS(pos_conv_buf[i]) == logical_pos){ + if (is_rtl) *is_rtl = IS_RTL_POS(pos_conv_buf[i]); + return i; + } + } + return (uint16_t) -1; +} + +void lv_bidi_process_paragraph(const char * str_in, char * str_out, uint32_t len, lv_bidi_dir_t base_dir, uint16_t *pos_conv_out, uint16_t pos_conv_len) +{ + uint32_t run_len = 0; + lv_bidi_dir_t run_dir; + uint32_t rd = 0; + uint32_t wr; + uint16_t pos_conv_run_len = 0; + uint16_t pos_conv_rd = 0; + uint16_t pos_conv_wr; + + if(base_dir == LV_BIDI_DIR_AUTO) base_dir = lv_bidi_detect_base_dir(str_in); + if(base_dir == LV_BIDI_DIR_RTL) { + wr = len; + pos_conv_wr = pos_conv_len; + } + else { + wr = 0; + pos_conv_wr = 0; + } + + if (str_out) str_out[len] = '\0'; + + lv_bidi_dir_t dir = base_dir; + + /*Empty the bracket stack*/ + br_stack_p = 0; + + /*Process neutral chars in the beginning*/ + while(rd < len) { + uint32_t letter = lv_txt_encoded_next(str_in, &rd); + pos_conv_rd++; + dir = lv_bidi_get_letter_dir(letter); + if(dir == LV_BIDI_DIR_NEUTRAL) dir = bracket_process(str_in, rd, len, letter, base_dir); + if(dir != LV_BIDI_DIR_NEUTRAL && dir != LV_BIDI_DIR_WEAK) break; + } + + if(rd && str_in[rd] != '\0') { + lv_txt_encoded_prev(str_in, &rd); + pos_conv_rd--; + } + + if(rd) { + if(base_dir == LV_BIDI_DIR_LTR) { + if (str_out) { + memcpy(&str_out[wr], str_in, rd); + wr += rd; + } + if (pos_conv_out) { + fill_pos_conv(&pos_conv_out[pos_conv_wr], pos_conv_rd, 0); + pos_conv_wr += pos_conv_rd; + } + } else { + wr -= rd; + pos_conv_wr -= pos_conv_rd; + rtl_reverse(str_out? &str_out[wr]: NULL, str_in, rd, pos_conv_out? &pos_conv_out[pos_conv_wr]: NULL, 0, pos_conv_rd); + } + } + + /*Get and process the runs*/ + + while(rd < len && str_in[rd]) { + run_dir = get_next_run(&str_in[rd], base_dir, len - rd, &run_len, &pos_conv_run_len); + + if(base_dir == LV_BIDI_DIR_LTR) { + if(run_dir == LV_BIDI_DIR_LTR) { + if (str_out) memcpy(&str_out[wr], &str_in[rd], run_len); + if (pos_conv_out) fill_pos_conv(&pos_conv_out[pos_conv_wr], pos_conv_run_len, pos_conv_rd); + } + else rtl_reverse(str_out? &str_out[wr]: NULL, &str_in[rd], run_len, pos_conv_out? &pos_conv_out[pos_conv_wr] : NULL, pos_conv_rd, pos_conv_run_len); + wr += run_len; + pos_conv_wr += pos_conv_run_len; + } else { + wr -= run_len; + pos_conv_wr -= pos_conv_run_len; + if(run_dir == LV_BIDI_DIR_LTR) { + if (str_out) memcpy(&str_out[wr], &str_in[rd], run_len); + if (pos_conv_out) fill_pos_conv(&pos_conv_out[pos_conv_wr], pos_conv_run_len, pos_conv_rd); + } + else rtl_reverse(str_out? &str_out[wr]: NULL, &str_in[rd], run_len, pos_conv_out? &pos_conv_out[pos_conv_wr] : NULL, pos_conv_rd, pos_conv_run_len); + } + + rd += run_len; + pos_conv_rd += pos_conv_run_len; + } +} + +uint32_t lv_bidi_get_next_paragraph(const char * txt) +{ + uint32_t i = 0; + + lv_txt_encoded_next(txt, &i); + + while(txt[i] != '\0' && txt[i] != '\n' && txt[i] != '\r') { + lv_txt_encoded_next(txt, &i); + } + + return i; +} + +/********************** + * STATIC FUNCTIONS + **********************/ + +static uint32_t get_txt_len(const char * txt, uint32_t max_len) +{ + uint32_t len = 0; + uint32_t i = 0; + + while(i < max_len && txt[i] != '\0') { + lv_txt_encoded_next(txt, &i); + len++; + } + + return len; +} + +static void fill_pos_conv(uint16_t * out, uint16_t len, uint16_t index) +{ + for (uint16_t i = 0; i < len; i++) + { + out[i] = SET_RTL_POS(index, false); + index++; + } +} + +static lv_bidi_dir_t get_next_run(const char * txt, lv_bidi_dir_t base_dir, uint32_t max_len, uint32_t * len, uint16_t * pos_conv_len) +{ + uint32_t i = 0; + uint32_t letter; + + uint16_t pos_conv_i = 0; + + letter = lv_txt_encoded_next(txt, NULL); + lv_bidi_dir_t dir = lv_bidi_get_letter_dir(letter); + if(dir == LV_BIDI_DIR_NEUTRAL) dir = bracket_process(txt, 0, max_len, letter, base_dir); + + /*Find the first strong char. Skip the neutrals*/ + while(dir == LV_BIDI_DIR_NEUTRAL || dir == LV_BIDI_DIR_WEAK) { + letter = lv_txt_encoded_next(txt, &i); + pos_conv_i++; + dir = lv_bidi_get_letter_dir(letter); + if(dir == LV_BIDI_DIR_NEUTRAL) dir = bracket_process(txt, i, max_len, letter, base_dir); + + if(i >= max_len || txt[i] == '\0' || txt[i] == '\n' || txt[i] == '\r') { + *len = i; + *pos_conv_len = pos_conv_i; + return base_dir; + } + } + + lv_bidi_dir_t run_dir = dir; + + uint32_t i_prev = i; + uint32_t i_last_strong = i; + uint16_t pos_conv_i_prev = pos_conv_i; + uint16_t pos_conv_i_last_strong = pos_conv_i; + + /*Find the next char which has different direction*/ + lv_bidi_dir_t next_dir = base_dir; + while(i_prev < max_len && txt[i] != '\0' && txt[i] != '\n' && txt[i] != '\r') { + letter = lv_txt_encoded_next(txt, &i); + pos_conv_i++; + next_dir = lv_bidi_get_letter_dir(letter); + if(next_dir == LV_BIDI_DIR_NEUTRAL) next_dir = bracket_process(txt, i, max_len, letter, base_dir); + + /*New dir found?*/ + if((next_dir == LV_BIDI_DIR_RTL || next_dir == LV_BIDI_DIR_LTR) && next_dir != run_dir) { + /*Include neutrals if `run_dir == base_dir` */ + if(run_dir == base_dir) { + *len = i_prev; + *pos_conv_len = pos_conv_i_prev; + } + /*Exclude neutrals if `run_dir != base_dir` */ + else { + *len = i_last_strong; + *pos_conv_len = pos_conv_i_last_strong; + } + + return run_dir; + } + + if(next_dir != LV_BIDI_DIR_NEUTRAL) { + i_last_strong = i; + pos_conv_i_last_strong = pos_conv_i; + } + + i_prev = i; + pos_conv_i_prev = pos_conv_i; + } + + /*Handle end of of string. Apply `base_dir` on trailing neutrals*/ + + /*Include neutrals if `run_dir == base_dir` */ + if(run_dir == base_dir) { + *len = i_prev; + *pos_conv_len = pos_conv_i_prev; + } + /*Exclude neutrals if `run_dir != base_dir` */ + else { + *len = i_last_strong; + *pos_conv_len = pos_conv_i_last_strong; + } + + return run_dir; +} + +static void rtl_reverse(char * dest, const char * src, uint32_t len, uint16_t *pos_conv_out, uint16_t pos_conv_rd_base, uint16_t pos_conv_len) +{ + uint32_t i = len; + uint32_t wr = 0; + uint16_t pos_conv_i = pos_conv_len; + uint16_t pos_conv_wr = 0; + + while(i) { + uint32_t letter = lv_txt_encoded_prev(src, &i); + uint16_t pos_conv_letter = --pos_conv_i; + + /*Keep weak letters (numbers) as LTR*/ + if(lv_bidi_letter_is_weak(letter)) { + uint32_t last_weak = i; + uint32_t first_weak = i; + uint16_t pos_conv_last_weak = pos_conv_i; + uint16_t pos_conv_first_weak = pos_conv_i; + while(i) { + letter = lv_txt_encoded_prev(src, &i); + pos_conv_letter = --pos_conv_i; + + /*No need to call `char_change_to_pair` because there not such chars here*/ + + /*Finish on non-weak char */ + /*but treat number and currency related chars as weak*/ + if (lv_bidi_letter_is_weak(letter) == false && letter != '.' && letter != ',' && letter != '$' && letter != '%') { + lv_txt_encoded_next(src, &i); /*Rewind one letter*/ + pos_conv_i++; + first_weak = i; + pos_conv_first_weak = pos_conv_i; + break; + } + } + if(i == 0) { + first_weak = 0; + pos_conv_first_weak = 0; + } + + if (dest) memcpy(&dest[wr], &src[first_weak], last_weak - first_weak + 1); + if (pos_conv_out) fill_pos_conv(&pos_conv_out[pos_conv_wr], pos_conv_last_weak - pos_conv_first_weak + 1, pos_conv_rd_base + pos_conv_first_weak); + wr += last_weak - first_weak + 1; + pos_conv_wr += pos_conv_last_weak - pos_conv_first_weak + 1; + } + + /*Simply store in reversed order*/ + else { + uint32_t letter_size = lv_txt_encoded_size((const char *)&src[i]); + /*Swap arithmetical symbols*/ + if(letter_size == 1) { + uint32_t new_letter = letter = char_change_to_pair(letter); + if (dest) dest[wr] = (uint8_t)new_letter; + if (pos_conv_out) pos_conv_out[pos_conv_wr] = SET_RTL_POS(pos_conv_rd_base + pos_conv_letter, true); + wr++; + pos_conv_wr++; + } + /*Just store the letter*/ + else { + if (dest) memcpy(&dest[wr], &src[i], letter_size); + if (pos_conv_out) pos_conv_out[pos_conv_wr] = SET_RTL_POS(pos_conv_rd_base + pos_conv_i, true); + wr += letter_size; + pos_conv_wr++; + } + } + } +} + +static uint32_t char_change_to_pair(uint32_t letter) +{ + + uint8_t i; + for(i = 0; bracket_left[i] != '\0'; i++) { + if(letter == bracket_left[i]) return bracket_right[i]; + } + + for(i = 0; bracket_right[i] != '\0'; i++) { + if(letter == bracket_right[i]) return bracket_left[i]; + } + + return letter; +} + +static lv_bidi_dir_t bracket_process(const char * txt, uint32_t next_pos, uint32_t len, uint32_t letter, lv_bidi_dir_t base_dir) +{ + lv_bidi_dir_t bracket_dir = LV_BIDI_DIR_NEUTRAL; + + uint8_t i; + /*Is the letter an opening bracket?*/ + for(i = 0; bracket_left[i] != '\0'; i++) { + if(bracket_left[i] == letter) { + /* If so find it's matching closing bracket. + * If a char with base dir. direction is found then the brackets will have `base_dir` direction*/ + uint32_t txt_i = next_pos; + while(txt_i < len) { + uint32_t letter_next = lv_txt_encoded_next(txt, &txt_i); + if(letter_next == bracket_right[i]) { + /*Closing bracket found*/ + break; + } else { + /*Save the dir*/ + lv_bidi_dir_t letter_dir = lv_bidi_get_letter_dir(letter_next); + if(letter_dir == base_dir) { + bracket_dir = base_dir; + } + } + } + + /*There were no matching closing bracket*/ + if(txt_i > len) return LV_BIDI_DIR_NEUTRAL; + + /*There where a strong char with base dir in the bracket so the dir is found.*/ + if(bracket_dir != LV_BIDI_DIR_NEUTRAL && bracket_dir != LV_BIDI_DIR_WEAK) break; + + /*If there were no matching strong chars in the brackets then check the previous chars*/ + txt_i = next_pos; + if(txt_i) lv_txt_encoded_prev(txt, &txt_i); + while(txt_i > 0) { + uint32_t letter_next = lv_txt_encoded_prev(txt, &txt_i); + lv_bidi_dir_t letter_dir = lv_bidi_get_letter_dir(letter_next); + if(letter_dir == LV_BIDI_DIR_LTR || letter_dir == LV_BIDI_DIR_RTL) { + bracket_dir = letter_dir; + break; + } + } + + + /*There where a previous strong char which can be used*/ + if(bracket_dir != LV_BIDI_DIR_NEUTRAL) break; + + /*There were no strong chars before the bracket, so use the base dir.*/ + if(txt_i == 0) bracket_dir = base_dir; + + break; + } + } + + + /*The letter was an opening bracket*/ + if(bracket_left[i] != '\0') { + + if(bracket_dir == LV_BIDI_DIR_NEUTRAL || br_stack_p == LV_BIDI_BRACKLET_DEPTH) return LV_BIDI_DIR_NEUTRAL; + + br_stack[br_stack_p].bracklet_pos = i; + br_stack[br_stack_p].dir = bracket_dir; + + br_stack_p++; + return bracket_dir; + } else if(br_stack_p > 0) { + /*Is the letter a closing bracket of the last opening?*/ + if(letter == bracket_right[br_stack[br_stack_p - 1].bracklet_pos]) { + bracket_dir = br_stack[br_stack_p - 1].dir; + br_stack_p--; + return bracket_dir; + } + } + + return LV_BIDI_DIR_NEUTRAL; +} + + +#endif /*LV_USE_BIDI*/ diff --git a/src/src/lv_misc/lv_bidi.h b/src/src/lv_misc/lv_bidi.h new file mode 100644 index 0000000..215727a --- /dev/null +++ b/src/src/lv_misc/lv_bidi.h @@ -0,0 +1,76 @@ +/** + * @file lv_bifi.h + * + */ + +#ifndef LV_BIDI_H +#define LV_BIDI_H + +#ifdef __cplusplus +extern "C" { +#endif + +/********************* + * INCLUDES + *********************/ +#ifdef LV_CONF_INCLUDE_SIMPLE +#include "lv_conf.h" +#else +#include "../../../lv_conf.h" +#endif + +#include +#include + +/********************* + * DEFINES + *********************/ +/* Special non printable strong characters. + * They can be inserted to texts to affect the run's direction*/ +#define LV_BIDI_LRO "\xE2\x80\xAD" /*U+202D*/ +#define LV_BIDI_RLO "\xE2\x80\xAE" /*U+202E*/ + +/********************** + * TYPEDEFS + **********************/ +enum +{ + /*The first 4 values are stored in `lv_obj_t` on 2 bits*/ + LV_BIDI_DIR_LTR = 0x00, + LV_BIDI_DIR_RTL = 0x01, + LV_BIDI_DIR_AUTO = 0x02, + LV_BIDI_DIR_INHERIT = 0x03, + + LV_BIDI_DIR_NEUTRAL = 0x20, + LV_BIDI_DIR_WEAK = 0x21, +}; + +typedef uint8_t lv_bidi_dir_t; + +/********************** + * GLOBAL PROTOTYPES + **********************/ +#if LV_USE_BIDI + +void lv_bidi_process(const char * str_in, char * str_out, lv_bidi_dir_t base_dir); +void lv_bidi_process_paragraph(const char * str_in, char * str_out, uint32_t len, lv_bidi_dir_t base_dir, uint16_t *pos_conv_out, uint16_t pos_conv_len); +uint32_t lv_bidi_get_next_paragraph(const char * txt); +lv_bidi_dir_t lv_bidi_detect_base_dir(const char * txt); +lv_bidi_dir_t lv_bidi_get_letter_dir(uint32_t letter); +bool lv_bidi_letter_is_weak(uint32_t letter); +bool lv_bidi_letter_is_rtl(uint32_t letter); +bool lv_bidi_letter_is_neutral(uint32_t letter); +uint16_t lv_bidi_get_logical_pos(const char * str_in, char **bidi_txt, uint32_t len, lv_bidi_dir_t base_dir, uint32_t visual_pos, bool *is_rtl); +uint16_t lv_bidi_get_visual_pos(const char * str_in, char **bidi_txt, uint16_t len, lv_bidi_dir_t base_dir, uint32_t logical_pos, bool *is_rtl); + +/********************** + * MACROS + **********************/ + +#endif /*LV_USE_BIDI*/ + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*LV_BIDI_H*/ diff --git a/src/src/lv_misc/lv_color.c b/src/src/lv_misc/lv_color.c index f5bec62..cd4825d 100644 --- a/src/src/lv_misc/lv_color.c +++ b/src/src/lv_misc/lv_color.c @@ -7,6 +7,7 @@ * INCLUDES *********************/ #include "lv_color.h" +#include "lv_math.h" /********************* * DEFINES @@ -105,39 +106,66 @@ lv_color_t lv_color_hsv_to_rgb(uint16_t h, uint8_t s, uint8_t v) } /** - * Convert an RGB color to HSV - * @param r red - * @param g green - * @param b blue - * @return the given RGB color n HSV + * Convert a 32-bit RGB color to HSV + * @param r8 8-bit red + * @param g8 8-bit green + * @param b8 8-bit blue + * @return the given RGB color in HSV */ -lv_color_hsv_t lv_color_rgb_to_hsv(uint8_t r, uint8_t g, uint8_t b) +lv_color_hsv_t lv_color_rgb_to_hsv(uint8_t r8, uint8_t g8, uint8_t b8) { + uint16_t r = ((uint32_t)r8 << 10) / 255; + uint16_t g = ((uint32_t)g8 << 10) / 255; + uint16_t b = ((uint32_t)b8 << 10) / 255; + + uint16_t rgbMin = r < g ? (r < b ? r : b) : (g < b ? g : b); + uint16_t rgbMax = r > g ? (r > b ? r : b) : (g > b ? g : b); + lv_color_hsv_t hsv; - uint8_t rgbMin, rgbMax; - rgbMin = r < g ? (r < b ? r : b) : (g < b ? g : b); - rgbMax = r > g ? (r > b ? r : b) : (g > b ? g : b); + // https://en.wikipedia.org/wiki/HSL_and_HSV#Lightness + hsv.v = (100 * rgbMax) >> 10; - hsv.v = rgbMax; - if(hsv.v == 0) { + int32_t delta = rgbMax - rgbMin; + if (LV_MATH_ABS(delta) < 3) { hsv.h = 0; hsv.s = 0; return hsv; } - hsv.s = 255 * (long)(rgbMax - rgbMin) / hsv.v; - if(hsv.s == 0) { + // https://en.wikipedia.org/wiki/HSL_and_HSV#Saturation + hsv.s = 100 * delta / rgbMax; + if(hsv.s < 3) { hsv.h = 0; return hsv; } + // https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma + int32_t h; if(rgbMax == r) - hsv.h = 0 + 43 * (g - b) / (rgbMax - rgbMin); + h = (((g - b) << 10) / delta) + (g < b ? (6 << 10) : 0); // between yellow & magenta else if(rgbMax == g) - hsv.h = 85 + 43 * (b - r) / (rgbMax - rgbMin); + h = (((b - r) << 10) / delta) + (2 << 10); // between cyan & yellow + else if(rgbMax == b) + h = (((r - g) << 10) / delta) + (4 << 10); // between magenta & cyan else - hsv.h = 171 + 43 * (r - g) / (rgbMax - rgbMin); + h = 0; + h *= 60; + h >>= 10; + if (h < 0) h += 360; + hsv.h = h; return hsv; } + +/** + * Convert a color to HSV + * @param color color + * @return the given color in HSV + */ +lv_color_hsv_t lv_color_to_hsv(lv_color_t color) +{ + lv_color32_t color32; + color32.full = lv_color_to32(color); + return lv_color_rgb_to_hsv(color32.ch.red, color32.ch.green, color32.ch.blue); +} diff --git a/src/src/lv_misc/lv_color.h b/src/src/lv_misc/lv_color.h index a73ab8c..e5f456f 100644 --- a/src/src/lv_misc/lv_color.h +++ b/src/src/lv_misc/lv_color.h @@ -90,16 +90,123 @@ enum { #error "Invalid LV_COLOR_DEPTH in lv_conf.h! Set it to 1, 8, 16 or 32!" #endif +/*--------------------------------------- + * Macros for all existing color depths + * to set/get values of the color channels + *------------------------------------------*/ +# define LV_COLOR_SET_R1(c, v) (c).ch.red = (uint8_t)((v) & 0x1); +# define LV_COLOR_SET_G1(c, v) (c).ch.green = (uint8_t)((v) & 0x1); +# define LV_COLOR_SET_B1(c, v) (c).ch.blue = (uint8_t)((v) & 0x1); +# define LV_COLOR_SET_A1(c, v) + +# define LV_COLOR_GET_R1(c) (c).ch.red +# define LV_COLOR_GET_G1(c) (c).ch.green +# define LV_COLOR_GET_B1(c) (c).ch.blue +# define LV_COLOR_GET_A1(c) 1 + +# define LV_COLOR_SET_R8(c, v) (c).ch.red = (uint8_t)((v) & 0x7); +# define LV_COLOR_SET_G8(c, v) (c).ch.green = (uint8_t)((v) & 0x7); +# define LV_COLOR_SET_B8(c, v) (c).ch.blue = (uint8_t)((v) & 0x3); +# define LV_COLOR_SET_A8(c, v) do {} while(0) + +# define LV_COLOR_GET_R8(c) (c).ch.red +# define LV_COLOR_GET_G8(c) (c).ch.green +# define LV_COLOR_GET_B8(c) (c).ch.blue +# define LV_COLOR_GET_A8(c) 0xFF + +# define LV_COLOR_SET_R16(c, v) (c).ch.red = (uint8_t)(((uint8_t)(v)) & 0x1F); +# define LV_COLOR_SET_G16(c, v) (c).ch.green = (uint8_t)((v) & 0x3F); +# define LV_COLOR_SET_G16_SWAP(c, v) {(c).ch.green_h = (uint8_t)(((v) >> 3) & 0x7); (c).ch.green_l = (uint8_t)((v) & 0x7);} +# define LV_COLOR_SET_B16(c, v) (c).ch.blue = (uint8_t)((v) & 0x1F); +# define LV_COLOR_SET_A16(c, v) do {} while(0) + +# define LV_COLOR_GET_R16(c) (c).ch.red +# define LV_COLOR_GET_G16(c) (c).ch.green +# define LV_COLOR_GET_G16_SWAP(c) (((c).ch.green_h << 3) + (c).ch.green_l) +# define LV_COLOR_GET_B16(c) (c).ch.blue +# define LV_COLOR_GET_A16(c) 0xFF + +# define LV_COLOR_SET_R32(c, v) (c).ch.red = (uint32_t)((v) & 0xFF); +# define LV_COLOR_SET_G32(c, v) (c).ch.green = (uint32_t)((v) & 0xFF); +# define LV_COLOR_SET_B32(c, v) (c).ch.blue = (uint32_t)((v) & 0xFF); +# define LV_COLOR_SET_A32(c, v) (c).ch.alpha = (uint32_t)((v) & 0xFF); + +# define LV_COLOR_GET_R32(c) (c).ch.red +# define LV_COLOR_GET_G32(c) (c).ch.green +# define LV_COLOR_GET_B32(c) (c).ch.blue +# define LV_COLOR_GET_A32(c) (c).ch.alpha + + +/*--------------------------------------- + * Macros for the current color depth + * to set/get values of the color channels + *------------------------------------------*/ +#if LV_COLOR_DEPTH == 1 +# define LV_COLOR_SET_R(c, v) LV_COLOR_SET_R1(c,v) +# define LV_COLOR_SET_G(c, v) LV_COLOR_SET_G1(c,v) +# define LV_COLOR_SET_B(c, v) LV_COLOR_SET_B1(c,v) +# define LV_COLOR_SET_A(c, v) LV_COLOR_SET_A1(c,v) + +# define LV_COLOR_GET_R(c) LV_COLOR_GET_R1(c) +# define LV_COLOR_GET_G(c) LV_COLOR_GET_G1(c) +# define LV_COLOR_GET_B(c) LV_COLOR_GET_B1(c) +# define LV_COLOR_GET_A(c) LV_COLOR_GET_A1(c) + +#elif LV_COLOR_DEPTH == 8 +# define LV_COLOR_SET_R(c, v) LV_COLOR_SET_R8(c,v) +# define LV_COLOR_SET_G(c, v) LV_COLOR_SET_G8(c,v) +# define LV_COLOR_SET_B(c, v) LV_COLOR_SET_B8(c,v) +# define LV_COLOR_SET_A(c, v) LV_COLOR_SET_A8(c,v) + +# define LV_COLOR_GET_R(c) LV_COLOR_GET_R8(c) +# define LV_COLOR_GET_G(c) LV_COLOR_GET_G8(c) +# define LV_COLOR_GET_B(c) LV_COLOR_GET_B8(c) +# define LV_COLOR_GET_A(c) LV_COLOR_GET_A8(c) + +#elif LV_COLOR_DEPTH == 16 +# define LV_COLOR_SET_R(c, v) LV_COLOR_SET_R16(c,v) +# if LV_COLOR_16_SWAP == 0 +# define LV_COLOR_SET_G(c, v) LV_COLOR_SET_G16(c,v) +# else +# define LV_COLOR_SET_G(c, v) LV_COLOR_SET_G16_SWAP(c,v) +# endif +# define LV_COLOR_SET_B(c, v) LV_COLOR_SET_B16(c,v) +# define LV_COLOR_SET_A(c, v) LV_COLOR_SET_A16(c,v) + +# define LV_COLOR_GET_R(c) LV_COLOR_GET_R16(c) +# if LV_COLOR_16_SWAP == 0 +# define LV_COLOR_GET_G(c) LV_COLOR_GET_G16(c) +# else +# define LV_COLOR_GET_G(c) LV_COLOR_GET_G16_SWAP(c) +# endif +# define LV_COLOR_GET_B(c) LV_COLOR_GET_B16(c) +# define LV_COLOR_GET_A(c) LV_COLOR_GET_A16(c) + +#elif LV_COLOR_DEPTH == 32 +# define LV_COLOR_SET_R(c, v) LV_COLOR_SET_R32(c,v) +# define LV_COLOR_SET_G(c, v) LV_COLOR_SET_G32(c,v) +# define LV_COLOR_SET_B(c, v) LV_COLOR_SET_B32(c,v) +# define LV_COLOR_SET_A(c, v) LV_COLOR_SET_A32(c,v) + +# define LV_COLOR_GET_R(c) LV_COLOR_GET_R32(c) +# define LV_COLOR_GET_G(c) LV_COLOR_GET_G32(c) +# define LV_COLOR_GET_B(c) LV_COLOR_GET_B32(c) +# define LV_COLOR_GET_A(c) LV_COLOR_GET_A32(c) +#endif + /********************** * TYPEDEFS **********************/ typedef union { - uint8_t blue : 1; - uint8_t green : 1; - uint8_t red : 1; - uint8_t full : 1; + struct + { + uint8_t blue : 1; + uint8_t green : 1; + uint8_t red : 1; + } ch; + uint8_t full; } lv_color1_t; typedef union @@ -191,24 +298,19 @@ static inline uint8_t lv_color_to1(lv_color_t color) #if LV_COLOR_DEPTH == 1 return color.full; #elif LV_COLOR_DEPTH == 8 - if((color.ch.red & 0x4) || (color.ch.green & 0x4) || (color.ch.blue & 0x2)) { + if((LV_COLOR_GET_R(color) & 0x4) || (LV_COLOR_GET_G(color) & 0x4) || (LV_COLOR_GET_B(color) & 0x2)) { return 1; } else { return 0; } #elif LV_COLOR_DEPTH == 16 -#if LV_COLOR_16_SWAP == 0 - if((color.ch.red & 0x10) || (color.ch.green & 0x20) || (color.ch.blue & 0x10)) { + if((LV_COLOR_GET_R(color) & 0x10) || (LV_COLOR_GET_G(color) & 0x20) || (LV_COLOR_GET_B(color) & 0x10)) { return 1; -#else - if((color.ch.red & 0x10) || (color.ch.green_h & 0x20) || (color.ch.blue & 0x10)) { - return 1; -#endif } else { return 0; } #elif LV_COLOR_DEPTH == 32 - if((color.ch.red & 0x80) || (color.ch.green & 0x80) || (color.ch.blue & 0x80)) { + if((LV_COLOR_GET_R(color) & 0x80) || (LV_COLOR_GET_G(color) & 0x80) || (LV_COLOR_GET_B(color) & 0x80)) { return 1; } else { return 0; @@ -226,31 +328,23 @@ static inline uint8_t lv_color_to8(lv_color_t color) #elif LV_COLOR_DEPTH == 8 return color.full; #elif LV_COLOR_DEPTH == 16 - -#if LV_COLOR_16_SWAP == 0 - lv_color8_t ret; - ret.ch.red = color.ch.red >> 2; /* 5 - 3 = 2*/ - ret.ch.green = color.ch.green >> 3; /* 6 - 3 = 3*/ - ret.ch.blue = color.ch.blue >> 3; /* 5 - 2 = 3*/ - return ret.full; -#else lv_color8_t ret; - ret.ch.red = color.ch.red >> 2; /* 5 - 3 = 2*/ - ret.ch.green = color.ch.green_h; /* 6 - 3 = 3*/ - ret.ch.blue = color.ch.blue >> 3; /* 5 - 2 = 3*/ + LV_COLOR_SET_R8(ret, LV_COLOR_GET_R(color) >> 2); /* 5 - 3 = 2*/ + LV_COLOR_SET_G8(ret, LV_COLOR_GET_G(color) >> 3); /* 6 - 3 = 3*/ + LV_COLOR_SET_B8(ret, LV_COLOR_GET_B(color) >> 3); /* 5 - 2 = 3*/ return ret.full; -#endif #elif LV_COLOR_DEPTH == 32 lv_color8_t ret; - ret.ch.red = color.ch.red >> 5; /* 8 - 3 = 5*/ - ret.ch.green = color.ch.green >> 5; /* 8 - 3 = 5*/ - ret.ch.blue = color.ch.blue >> 6; /* 8 - 2 = 6*/ + LV_COLOR_SET_R8(ret, LV_COLOR_GET_R(color) >> 5); /* 8 - 3 = 5*/ + LV_COLOR_SET_G8(ret, LV_COLOR_GET_G(color) >> 5); /* 8 - 3 = 5*/ + LV_COLOR_SET_B8(ret, LV_COLOR_GET_B(color) >> 6); /* 8 - 2 = 6*/ return ret.full; #endif } static inline uint16_t lv_color_to16(lv_color_t color) { + #if LV_COLOR_DEPTH == 1 if(color.full == 0) return 0; @@ -258,34 +352,30 @@ static inline uint16_t lv_color_to16(lv_color_t color) return 0xFFFF; #elif LV_COLOR_DEPTH == 8 lv_color16_t ret; + LV_COLOR_SET_R16(ret, LV_COLOR_GET_R(color) * 4); /*(2^5 - 1)/(2^3 - 1) = 31/7 = 4*/ #if LV_COLOR_16_SWAP == 0 - ret.ch.red = color.ch.red * 4; /*(2^5 - 1)/(2^3 - 1) = 31/7 = 4*/ - ret.ch.green = color.ch.green * 9; /*(2^6 - 1)/(2^3 - 1) = 63/7 = 9*/ - ret.ch.blue = color.ch.blue * 10; /*(2^5 - 1)/(2^2 - 1) = 31/3 = 10*/ + LV_COLOR_SET_G16(ret, LV_COLOR_GET_G(color) * 9); /*(2^6 - 1)/(2^3 - 1) = 63/7 = 9*/ #else - ret.red = color.ch.red * 4; - uint8_t g_tmp = color.ch.green * 9; - ret.ch.green_h = (g_tmp & 0x1F) >> 3; - ret.ch.green_l = g_tmp & 0x07; - ret.ch.blue = color.ch.blue * 10; + LV_COLOR_SET_G16_SWAP(ret, (LV_COLOR_GET_G(color) * 9)); /*(2^6 - 1)/(2^3 - 1) = 63/7 = 9*/ #endif + LV_COLOR_SET_B16(ret, LV_COLOR_GET_B(color) * 10); /*(2^5 - 1)/(2^2 - 1) = 31/3 = 10*/ return ret.full; #elif LV_COLOR_DEPTH == 16 return color.full; #elif LV_COLOR_DEPTH == 32 lv_color16_t ret; + LV_COLOR_SET_R16(ret, LV_COLOR_GET_R(color) >> 3); /* 8 - 5 = 3*/ + #if LV_COLOR_16_SWAP == 0 - ret.ch.red = color.ch.red >> 3; /* 8 - 5 = 3*/ - ret.ch.green = color.ch.green >> 2; /* 8 - 6 = 2*/ - ret.ch.blue = color.ch.blue >> 3; /* 8 - 5 = 3*/ + LV_COLOR_SET_G16(ret, LV_COLOR_GET_G(color) >> 2); /* 8 - 6 = 2*/ #else - ret.ch.red = color.ch.red >> 3; - ret.ch.green_h = (color.ch.green & 0xE0) >> 5; - ret.ch.green_l = (color.ch.green & 0x1C) >> 2; - ret.ch.blue = color.ch.blue >> 3; + LV_COLOR_SET_G16_SWAP(ret, ret.ch.green_h = (LV_COLOR_GET_G(color) >> 2); /*(2^6 - 1)/(2^3 - 1) = 63/7 = 9*/ #endif + LV_COLOR_SET_B16(ret, LV_COLOR_GET_B(color) >> 3); /* 8 - 5 = 3*/ return ret.full; #endif + + return 0; } static inline uint32_t lv_color_to32(lv_color_t color) @@ -297,27 +387,46 @@ static inline uint32_t lv_color_to32(lv_color_t color) return 0xFFFFFFFF; #elif LV_COLOR_DEPTH == 8 lv_color32_t ret; - ret.ch.red = color.ch.red * 36; /*(2^8 - 1)/(2^3 - 1) = 255/7 = 36*/ - ret.ch.green = color.ch.green * 36; /*(2^8 - 1)/(2^3 - 1) = 255/7 = 36*/ - ret.ch.blue = color.ch.blue * 85; /*(2^8 - 1)/(2^2 - 1) = 255/3 = 85*/ - ret.ch.alpha = 0xFF; + LV_COLOR_SET_R32(ret, LV_COLOR_GET_R(color) * 36); /*(2^8 - 1)/(2^3 - 1) = 255/7 = 36*/ + LV_COLOR_SET_G32(ret, LV_COLOR_GET_G(color) * 36); /*(2^8 - 1)/(2^3 - 1) = 255/7 = 36*/ + LV_COLOR_SET_B32(ret, LV_COLOR_GET_B(color) * 85); /*(2^8 - 1)/(2^2 - 1) = 255/3 = 85*/ + LV_COLOR_SET_A32(color, 0xFF); return ret.full; #elif LV_COLOR_DEPTH == 16 -#if LV_COLOR_16_SWAP == 0 - lv_color32_t ret; - ret.ch.red = color.ch.red * 8; /*(2^8 - 1)/(2^5 - 1) = 255/31 = 8*/ - ret.ch.green = color.ch.green * 4; /*(2^8 - 1)/(2^6 - 1) = 255/63 = 4*/ - ret.ch.blue = color.ch.blue * 8; /*(2^8 - 1)/(2^5 - 1) = 255/31 = 8*/ - ret.ch.alpha = 0xFF; - return ret.full; -#else + /** + * The floating point math for conversion is: + * valueto = valuefrom * ( (2^bitsto - 1) / (float)(2^bitsfrom - 1) ) + * The faster integer math for conversion is: + * valueto = ( valuefrom * multiplier + adder ) >> divisor + * multiplier = FLOOR( ( (2^bitsto - 1) << divisor ) / (float)(2^bitsfrom - 1) ) + * + * Find the first divisor where ( adder >> divisor ) <= 0 + * + * 5-bit to 8-bit: ( 31 * multiplier + adder ) >> divisor = 255 + * divisor multiplier adder min (0) max (31) + * 0 8 7 7 255 + * 1 16 14 7 255 + * 2 32 28 7 255 + * 3 65 25 3 255 + * 4 131 19 1 255 + * 5 263 7 0 255 + * + * 6-bit to 8-bit: 255 = ( 63 * multiplier + adder ) >> divisor + * divisor multiplier adder min (0) max (63) + * 0 4 3 3 255 + * 1 8 6 3 255 + * 2 16 12 3 255 + * 3 32 24 3 255 + * 4 64 48 3 255 + * 5 129 33 1 255 + * 6 259 3 0 255 + */ lv_color32_t ret; - ret.ch.red = color.ch.red * 8; /*(2^8 - 1)/(2^5 - 1) = 255/31 = 8*/ - ret.ch.green = ((color.ch.green_h << 3) + color.ch.green_l) * 4; /*(2^8 - 1)/(2^6 - 1) = 255/63 = 4*/ - ret.ch.blue = color.ch.blue * 8; /*(2^8 - 1)/(2^5 - 1) = 255/31 = 8*/ - ret.ch.alpha = 0xFF; + LV_COLOR_SET_R32(ret, (LV_COLOR_GET_R(color) * 263 + 7 ) >> 5); + LV_COLOR_SET_G32(ret, (LV_COLOR_GET_G(color) * 259 + 3 ) >> 6); + LV_COLOR_SET_B32(ret, (LV_COLOR_GET_B(color) * 263 + 7 ) >> 5); + LV_COLOR_SET_A32(ret, 0xFF); return ret.full; -#endif #elif LV_COLOR_DEPTH == 32 return color.full; #endif @@ -328,21 +437,10 @@ static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ - ret.ch.red = (uint16_t)((uint16_t)c1.ch.red * mix + (c2.ch.red * (255 - mix))) >> 8; -#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP - /*If swapped Green is in 2 parts*/ - uint16_t g_1 = (c1.ch.green_h << 3) + c1.ch.green_l; - uint16_t g_2 = (c2.ch.green_h << 3) + c2.ch.green_l; - uint16_t g_out = (uint16_t)((uint16_t)g_1 * mix + (g_2 * (255 - mix))) >> 8; - ret.ch.green_h = g_out >> 3; - ret.ch.green_l = g_out & 0x7; -#else - ret.ch.green = (uint16_t)((uint16_t)c1.ch.green * mix + (c2.ch.green * (255 - mix))) >> 8; -#endif - ret.ch.blue = (uint16_t)((uint16_t)c1.ch.blue * mix + (c2.ch.blue * (255 - mix))) >> 8; -#if LV_COLOR_DEPTH == 32 - ret.ch.alpha = 0xFF; -#endif + LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)) >> 8); + LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)) >> 8); + LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)) >> 8); + LV_COLOR_SET_A(ret, 0xFF); #else /*LV_COLOR_DEPTH == 1*/ ret.full = mix > LV_OPA_50 ? c1.full : c2.full; @@ -360,64 +458,29 @@ static inline uint8_t lv_color_brightness(lv_color_t color) { lv_color32_t c32; c32.full = lv_color_to32(color); - uint16_t bright = 3 * c32.ch.red + c32.ch.blue + 4 * c32.ch.green; - return (uint16_t)bright >> 3; + uint16_t bright = (uint16_t)(3u * LV_COLOR_GET_R32(c32) + LV_COLOR_GET_B32(c32) + 4u * LV_COLOR_GET_G32(c32)); + return (uint8_t)(bright >> 3); } /* The most simple macro to create a color from R,G and B values */ #if LV_COLOR_DEPTH == 1 -#define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){(b8 >> 7 | g8 >> 7 | r8 >> 7)}) -static inline lv_color_t lv_color_make(int r8, int g8, int b8) -{ - lv_color_t color; - color.full = (b8 >> 7 | g8 >> 7 | r8 >> 7); - return color; -} +#define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){.full = (b8 >> 7 | g8 >> 7 | r8 >> 7)}) #elif LV_COLOR_DEPTH == 8 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8 >> 6, g8 >> 5, r8 >> 5}}) -static inline lv_color_t lv_color_make(uint8_t r8, int g8, int b8) -{ - lv_color_t color; - color.ch.blue = b8 >> 6; - color.ch.green = g8 >> 5; - color.ch.red = r8 >> 5; - return color; -} #elif LV_COLOR_DEPTH == 16 #if LV_COLOR_16_SWAP == 0 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8 >> 3, g8 >> 2, r8 >> 3}}) -static inline lv_color_t lv_color_make(uint8_t r8, uint8_t g8, uint8_t b8) -{ - lv_color_t color; - color.ch.blue = (uint16_t)(b8 >> 3); - color.ch.green = (uint16_t)(g8 >> 2); - color.ch.red = (uint16_t)(r8 >> 3); - return color; -} #else #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{g8 >> 5, r8 >> 3, b8 >> 3, (g8 >> 2) & 0x7}}) -static inline lv_color_t lv_color_make(uint8_t r8, uint8_t g8, uint8_t b8) -{ - lv_color_t color; - color.ch.green_h = (uint16_t)(g8 >> 5); - color.ch.red = (uint16_t)(r8 >> 3); - color.ch.blue = (uint16_t)(b8 >> 3); - color.ch.green_l = (uint16_t)((g8 >> 2) & 0x7); - return color; -} #endif #elif LV_COLOR_DEPTH == 32 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/ -static inline lv_color_t lv_color_make(uint8_t r8, uint8_t g8, uint8_t b8) +#endif + +static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) { - lv_color_t color; - color.ch.blue = b8; - color.ch.green = g8; - color.ch.red = r8; - color.ch.alpha = 0xff; - return color; + return LV_COLOR_MAKE(r, g, b); } -#endif static inline lv_color_t lv_color_hex(uint32_t c) { @@ -440,13 +503,20 @@ static inline lv_color_t lv_color_hex3(uint32_t c) lv_color_t lv_color_hsv_to_rgb(uint16_t h, uint8_t s, uint8_t v); /** - * Convert an RGB color to HSV - * @param r red - * @param g green - * @param b blue - * @return the given RGB color n HSV + * Convert a 32-bit RGB color to HSV + * @param r8 8-bit red + * @param g8 8-bit green + * @param b8 8-bit blue + * @return the given RGB color in HSV + */ +lv_color_hsv_t lv_color_rgb_to_hsv(uint8_t r8, uint8_t g8, uint8_t b8); + +/** + * Convert a color to HSV + * @param color color + * @return the given color in HSV */ -lv_color_hsv_t lv_color_rgb_to_hsv(uint8_t r, uint8_t g, uint8_t b); +lv_color_hsv_t lv_color_to_hsv(lv_color_t color); /********************** * MACROS diff --git a/src/src/lv_misc/lv_fs.c b/src/src/lv_misc/lv_fs.c index ddf8f38..5723943 100644 --- a/src/src/lv_misc/lv_fs.c +++ b/src/src/lv_misc/lv_fs.c @@ -9,6 +9,7 @@ #include "lv_fs.h" #if LV_USE_FILESYSTEM +#include "../lv_core/lv_debug.h" #include "lv_ll.h" #include #include "lv_gc.h" @@ -107,7 +108,7 @@ lv_fs_res_t lv_fs_open(lv_fs_file_t * file_p, const char * path, lv_fs_mode_t mo } file_p->file_d = lv_mem_alloc(file_p->drv->file_size); - lv_mem_assert(file_p->file_d); + LV_ASSERT_MEM(file_p->file_d); if(file_p->file_d == NULL) { file_p->drv = NULL; return LV_FS_RES_OUT_OF_MEM; /* Out of memory */ @@ -367,7 +368,7 @@ lv_fs_res_t lv_fs_dir_open(lv_fs_dir_t * rddir_p, const char * path) } rddir_p->dir_d = lv_mem_alloc(rddir_p->drv->rddir_size); - lv_mem_assert(rddir_p->dir_d); + LV_ASSERT_MEM(rddir_p->dir_d); if(rddir_p->dir_d == NULL) { rddir_p->dir_d = NULL; return LV_FS_RES_OUT_OF_MEM; /* Out of memory */ @@ -486,7 +487,7 @@ void lv_fs_drv_register(lv_fs_drv_t * drv_p) /*Save the new driver*/ lv_fs_drv_t * new_drv; new_drv = lv_ll_ins_head(&LV_GC_ROOT(_lv_drv_ll)); - lv_mem_assert(new_drv); + LV_ASSERT_MEM(new_drv); if(new_drv == NULL) return; memcpy(new_drv, drv_p, sizeof(lv_fs_drv_t)); diff --git a/src/src/lv_misc/lv_fs.h b/src/src/lv_misc/lv_fs.h index 5b86b8e..f182428 100644 --- a/src/src/lv_misc/lv_fs.h +++ b/src/src/lv_misc/lv_fs.h @@ -29,6 +29,7 @@ extern "C" { * DEFINES *********************/ #define LV_FS_MAX_FN_LENGTH 64 +#define LV_FS_MAX_PATH_LENGTH 256 /********************** * TYPEDEFS diff --git a/src/src/lv_misc/lv_log.c b/src/src/lv_misc/lv_log.c index 2d12da4..acbdfb7 100644 --- a/src/src/lv_misc/lv_log.c +++ b/src/src/lv_misc/lv_log.c @@ -12,6 +12,7 @@ #if LV_LOG_PRINTF #include #endif + /********************* * DEFINES *********************/ diff --git a/src/src/lv_misc/lv_log.h b/src/src/lv_misc/lv_log.h index 6a6c2d2..62c613b 100644 --- a/src/src/lv_misc/lv_log.h +++ b/src/src/lv_misc/lv_log.h @@ -33,6 +33,12 @@ extern "C" { #define LV_LOG_LEVEL_NONE 4 /**< Do not log anything*/ #define _LV_LOG_LEVEL_NUM 5 /**< Number of log levels */ +LV_EXPORT_CONST_INT(LV_LOG_LEVEL_TRACE); +LV_EXPORT_CONST_INT(LV_LOG_LEVEL_INFO); +LV_EXPORT_CONST_INT(LV_LOG_LEVEL_WARN); +LV_EXPORT_CONST_INT(LV_LOG_LEVEL_ERROR); +LV_EXPORT_CONST_INT(LV_LOG_LEVEL_NONE); + typedef int8_t lv_log_level_t; #if LV_USE_LOG diff --git a/src/src/lv_misc/lv_math.c b/src/src/lv_misc/lv_math.c index d16a16a..f015456 100644 --- a/src/src/lv_misc/lv_math.c +++ b/src/src/lv_misc/lv_math.c @@ -25,7 +25,7 @@ /********************** * STATIC VARIABLES **********************/ -static int16_t sin0_90_table[] = { +static const int16_t sin0_90_table[] = { 0, 572, 1144, 1715, 2286, 2856, 3425, 3993, 4560, 5126, 5690, 6252, 6813, 7371, 7927, 8481, 9032, 9580, 10126, 10668, 11207, 11743, 12275, 12803, 13328, 13848, 14364, 14876, 15383, 15886, 16383, 16876, 17364, 17846, 18323, 18794, 19260, 19720, 20173, 20621, 21062, 21497, 21925, 22347, 22762, 23170, 23571, 23964, @@ -94,6 +94,110 @@ int32_t lv_bezier3(uint32_t t, int32_t u0, int32_t u1, int32_t u2, int32_t u3) return v1 + v2 + v3 + v4; } +/** + * Calculate the atan2 of a vector. + * @param x + * @param y + * @return the angle in degree calculated from the given parameters in range of [0..360] + */ +uint16_t lv_atan2(int x, int y) +{ + // Fast XY vector to integer degree algorithm - Jan 2011 www.RomanBlack.com + // Converts any XY values including 0 to a degree value that should be + // within +/- 1 degree of the accurate value without needing + // large slow trig functions like ArcTan() or ArcCos(). + // NOTE! at least one of the X or Y values must be non-zero! + // This is the full version, for all 4 quadrants and will generate + // the angle in integer degrees from 0-360. + // Any values of X and Y are usable including negative values provided + // they are between -1456 and 1456 so the 16bit multiply does not overflow. + + unsigned char negflag; + unsigned char tempdegree; + unsigned char comp; + unsigned int degree; // this will hold the result + //signed int x; // these hold the XY vector at the start + //signed int y; // (and they will be destroyed) + unsigned int ux; + unsigned int uy; + + // Save the sign flags then remove signs and get XY as unsigned ints + negflag = 0; + if(x < 0) { + negflag += 0x01; // x flag bit + x = (0 - x); // is now + + } + ux = x; // copy to unsigned var before multiply + if(y < 0) { + negflag += 0x02; // y flag bit + y = (0 - y); // is now + + } + uy = y; // copy to unsigned var before multiply + + // 1. Calc the scaled "degrees" + if(ux > uy) { + degree = (uy * 45) / ux; // degree result will be 0-45 range + negflag += 0x10; // octant flag bit + } else { + degree = (ux * 45) / uy; // degree result will be 0-45 range + } + + // 2. Compensate for the 4 degree error curve + comp = 0; + tempdegree = degree; // use an unsigned char for speed! + if(tempdegree > 22) { // if top half of range + if(tempdegree <= 44) comp++; + if(tempdegree <= 41) comp++; + if(tempdegree <= 37) comp++; + if(tempdegree <= 32) comp++; // max is 4 degrees compensated + } else { // else is lower half of range + if(tempdegree >= 2) comp++; + if(tempdegree >= 6) comp++; + if(tempdegree >= 10) comp++; + if(tempdegree >= 15) comp++; // max is 4 degrees compensated + } + degree += comp; // degree is now accurate to +/- 1 degree! + + // Invert degree if it was X>Y octant, makes 0-45 into 90-45 + if(negflag & 0x10) degree = (90 - degree); + + // 3. Degree is now 0-90 range for this quadrant, + // need to invert it for whichever quadrant it was in + if(negflag & 0x02) { // if -Y + if(negflag & 0x01) // if -Y -X + degree = (180 + degree); + else // else is -Y +X + degree = (180 - degree); + } else { // else is +Y + if(negflag & 0x01) // if +Y -X + degree = (360 - degree); + } + return degree; +} + +/** + * Calculate the integer square root of a number. + * @param num + * @return square root of 'num' + */ +uint32_t lv_sqrt(uint32_t num) +{ + // http://www.codecodex.com/wiki/Calculate_an_integer_square_root#C + uint32_t root = 0; + uint32_t place = 0x40000000; + + while(place > num) place >>= 2; + while(place) { + if(num >= root + place) { + num -= root + place; + root += (place << 1); + } + root >>= 1; + place >>= 2; + } + return root; +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/src/lv_misc/lv_math.h b/src/src/lv_misc/lv_math.h index 83ace3a..dc2c547 100644 --- a/src/src/lv_misc/lv_math.h +++ b/src/src/lv_misc/lv_math.h @@ -54,6 +54,21 @@ int16_t lv_trigo_sin(int16_t angle); */ int32_t lv_bezier3(uint32_t t, int32_t u0, int32_t u1, int32_t u2, int32_t u3); +/** + * Calculate the atan2 of a vector. + * @param x + * @param y + * @return the angle in degree calculated from the given parameters in range of [0..360] + */ +uint16_t lv_atan2(int x, int y); + +/** + * Calculate the integer square root of a number. + * @param num + * @return square root of 'num' + */ +uint32_t lv_sqrt(uint32_t num); + /********************** * MACROS **********************/ diff --git a/src/src/lv_misc/lv_mem.c b/src/src/lv_misc/lv_mem.c index 9812a95..116208e 100644 --- a/src/src/lv_misc/lv_mem.c +++ b/src/src/lv_misc/lv_mem.c @@ -19,7 +19,9 @@ * DEFINES *********************/ /*Add memory junk on alloc (0xaa) and free(0xbb) (just for testing purposes)*/ -#define LV_MEM_ADD_JUNK 1 +#ifndef LV_MEM_ADD_JUNK +#define LV_MEM_ADD_JUNK 0 +#endif #ifdef LV_MEM_ENV64 #define MEM_UNIT uint64_t diff --git a/src/src/lv_misc/lv_mem.h b/src/src/lv_misc/lv_mem.h index 81a3e7a..2353122 100644 --- a/src/src/lv_misc/lv_mem.h +++ b/src/src/lv_misc/lv_mem.h @@ -110,27 +110,6 @@ uint32_t lv_mem_get_size(const void * data); * MACROS **********************/ -/** - * Halt on NULL pointer - * p pointer to a memory - */ -#if LV_USE_LOG == 0 -#define lv_mem_assert(p) \ - { \ - if(p == NULL) \ - while(1) \ - ; \ - } -#else -#define lv_mem_assert(p) \ - { \ - if(p == NULL) { \ - LV_LOG_ERROR("Out of memory!"); \ - while(1) \ - ; \ - } \ - } -#endif #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/src/src/lv_misc/lv_misc.mk b/src/src/lv_misc/lv_misc.mk index 41e4720..67f496b 100644 --- a/src/src/lv_misc/lv_misc.mk +++ b/src/src/lv_misc/lv_misc.mk @@ -12,6 +12,9 @@ CSRCS += lv_log.c CSRCS += lv_gc.c CSRCS += lv_utils.c CSRCS += lv_async.c +CSRCS += lv_printf.c +CSRCS += lv_bidi.c + DEPPATH += --dep-path $(LVGL_DIR)/lvgl/src/lv_misc VPATH += :$(LVGL_DIR)/lvgl/src/lv_misc diff --git a/src/src/lv_misc/lv_printf.c b/src/src/lv_misc/lv_printf.c new file mode 100644 index 0000000..e05f35b --- /dev/null +++ b/src/src/lv_misc/lv_printf.c @@ -0,0 +1,852 @@ +/////////////////////////////////////////////////////////////////////////////// +// \author (c) Marco Paland (info@paland.com) +// 2014-2019, PALANDesign Hannover, Germany +// +// \license The MIT License (MIT) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +// \brief Tiny printf, sprintf and (v)snprintf implementation, optimized for speed on +// embedded systems with a very limited resources. These routines are thread +// safe and reentrant! +// Use this instead of the bloated standard/newlib printf cause these use +// malloc for printf (and may not be thread safe). +// +/////////////////////////////////////////////////////////////////////////////// + +#include "lv_printf.h" + +#if LV_SPRINTF_CUSTOM == 0 + +#include +#include + + +// 'ntoa' conversion buffer size, this must be big enough to hold one converted +// numeric number including padded zeros (dynamically created on stack) +// default: 32 byte +#ifndef PRINTF_NTOA_BUFFER_SIZE +#define PRINTF_NTOA_BUFFER_SIZE 32U +#endif + +// 'ftoa' conversion buffer size, this must be big enough to hold one converted +// float number including padded zeros (dynamically created on stack) +// default: 32 byte +#ifndef PRINTF_FTOA_BUFFER_SIZE +#define PRINTF_FTOA_BUFFER_SIZE 32U +#endif + +// support for the floating point type (%f) +// default: activated +#ifndef PRINTF_DISABLE_SUPPORT_FLOAT +#define PRINTF_SUPPORT_FLOAT +#endif + +// support for exponential floating point notation (%e/%g) +// default: activated +#ifndef PRINTF_DISABLE_SUPPORT_EXPONENTIAL +#define PRINTF_SUPPORT_EXPONENTIAL +#endif + +// define the default floating point precision +// default: 6 digits +#ifndef PRINTF_DEFAULT_FLOAT_PRECISION +#define PRINTF_DEFAULT_FLOAT_PRECISION 6U +#endif + +// define the largest float suitable to print with %f +// default: 1e9 +#ifndef PRINTF_MAX_FLOAT +#define PRINTF_MAX_FLOAT 1e9 +#endif + +// support for the long long types (%llu or %p) +// default: activated +#ifndef PRINTF_DISABLE_SUPPORT_LONG_LONG +#define PRINTF_SUPPORT_LONG_LONG +#endif + +// support for the ptrdiff_t type (%t) +// ptrdiff_t is normally defined in as long or long long type +// default: activated +#ifndef PRINTF_DISABLE_SUPPORT_PTRDIFF_T +#define PRINTF_SUPPORT_PTRDIFF_T +#endif + +/////////////////////////////////////////////////////////////////////////////// + +// internal flag definitions +#define FLAGS_ZEROPAD (1U << 0U) +#define FLAGS_LEFT (1U << 1U) +#define FLAGS_PLUS (1U << 2U) +#define FLAGS_SPACE (1U << 3U) +#define FLAGS_HASH (1U << 4U) +#define FLAGS_UPPERCASE (1U << 5U) +#define FLAGS_CHAR (1U << 6U) +#define FLAGS_SHORT (1U << 7U) +#define FLAGS_LONG (1U << 8U) +#define FLAGS_LONG_LONG (1U << 9U) +#define FLAGS_PRECISION (1U << 10U) +#define FLAGS_ADAPT_EXP (1U << 11U) + + +// import float.h for DBL_MAX +#if defined(PRINTF_SUPPORT_FLOAT) +#include +#endif + + +// output function type +typedef void (*out_fct_type)(char character, void* buffer, size_t idx, size_t maxlen); + + +// wrapper (used as buffer) for output function type +typedef struct { + void (*fct)(char character, void* arg); + void* arg; +} out_fct_wrap_type; + + +// internal buffer output +static inline void _out_buffer(char character, void* buffer, size_t idx, size_t maxlen) +{ + if (idx < maxlen) { + ((char*)buffer)[idx] = character; + } +} + + +// internal null output +static inline void _out_null(char character, void* buffer, size_t idx, size_t maxlen) +{ + (void)character; (void)buffer; (void)idx; (void)maxlen; +} + + + +// internal secure strlen +// \return The length of the string (excluding the terminating 0) limited by 'maxsize' +static inline unsigned int _strnlen_s(const char* str, size_t maxsize) +{ + const char* s; + for (s = str; *s && maxsize--; ++s); + return (unsigned int)(s - str); +} + + +// internal test if char is a digit (0-9) +// \return true if char is a digit +static inline bool _is_digit(char ch) +{ + return (ch >= '0') && (ch <= '9'); +} + + +// internal ASCII string to unsigned int conversion +static unsigned int _atoi(const char** str) +{ + unsigned int i = 0U; + while (_is_digit(**str)) { + i = i * 10U + (unsigned int)(*((*str)++) - '0'); + } + return i; +} + + +// output the specified string in reverse, taking care of any zero-padding +static size_t _out_rev(out_fct_type out, char* buffer, size_t idx, size_t maxlen, const char* buf, size_t len, unsigned int width, unsigned int flags) +{ + const size_t start_idx = idx; + + // pad spaces up to given width + if (!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) { + size_t i; + for (i = len; i < width; i++) { + out(' ', buffer, idx++, maxlen); + } + } + + // reverse string + while (len) { + out(buf[--len], buffer, idx++, maxlen); + } + + // append pad spaces up to given width + if (flags & FLAGS_LEFT) { + while (idx - start_idx < width) { + out(' ', buffer, idx++, maxlen); + } + } + + return idx; +} + + +// internal itoa format +static size_t _ntoa_format(out_fct_type out, char* buffer, size_t idx, size_t maxlen, char* buf, size_t len, bool negative, unsigned int base, unsigned int prec, unsigned int width, unsigned int flags) +{ + // pad leading zeros + if (!(flags & FLAGS_LEFT)) { + if (width && (flags & FLAGS_ZEROPAD) && (negative || (flags & (FLAGS_PLUS | FLAGS_SPACE)))) { + width--; + } + while ((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) { + buf[len++] = '0'; + } + while ((flags & FLAGS_ZEROPAD) && (len < width) && (len < PRINTF_NTOA_BUFFER_SIZE)) { + buf[len++] = '0'; + } + } + + // handle hash + if (flags & FLAGS_HASH) { + if (!(flags & FLAGS_PRECISION) && len && ((len == prec) || (len == width))) { + len--; + if (len && (base == 16U)) { + len--; + } + } + if ((base == 16U) && !(flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { + buf[len++] = 'x'; + } + else if ((base == 16U) && (flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { + buf[len++] = 'X'; + } + else if ((base == 2U) && (len < PRINTF_NTOA_BUFFER_SIZE)) { + buf[len++] = 'b'; + } + if (len < PRINTF_NTOA_BUFFER_SIZE) { + buf[len++] = '0'; + } + } + + if (len < PRINTF_NTOA_BUFFER_SIZE) { + if (negative) { + buf[len++] = '-'; + } + else if (flags & FLAGS_PLUS) { + buf[len++] = '+'; // ignore the space if the '+' exists + } + else if (flags & FLAGS_SPACE) { + buf[len++] = ' '; + } + } + + return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags); +} + + +// internal itoa for 'long' type +static size_t _ntoa_long(out_fct_type out, char* buffer, size_t idx, size_t maxlen, unsigned long value, bool negative, unsigned long base, unsigned int prec, unsigned int width, unsigned int flags) +{ + char buf[PRINTF_NTOA_BUFFER_SIZE]; + size_t len = 0U; + + // no hash for 0 values + if (!value) { + flags &= ~FLAGS_HASH; + } + + // write if precision != 0 and value is != 0 + if (!(flags & FLAGS_PRECISION) || value) { + do { + const char digit = (char)(value % base); + buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; + value /= base; + } while (value && (len < PRINTF_NTOA_BUFFER_SIZE)); + } + + return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags); +} + + +// internal itoa for 'long long' type +#if defined(PRINTF_SUPPORT_LONG_LONG) +static size_t _ntoa_long_long(out_fct_type out, char* buffer, size_t idx, size_t maxlen, unsigned long long value, bool negative, unsigned long long base, unsigned int prec, unsigned int width, unsigned int flags) +{ + char buf[PRINTF_NTOA_BUFFER_SIZE]; + size_t len = 0U; + + // no hash for 0 values + if (!value) { + flags &= ~FLAGS_HASH; + } + + // write if precision != 0 and value is != 0 + if (!(flags & FLAGS_PRECISION) || value) { + do { + const char digit = (char)(value % base); + buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; + value /= base; + } while (value && (len < PRINTF_NTOA_BUFFER_SIZE)); + } + + return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags); +} +#endif // PRINTF_SUPPORT_LONG_LONG + + +#if defined(PRINTF_SUPPORT_FLOAT) + +#if defined(PRINTF_SUPPORT_EXPONENTIAL) +// forward declaration so that _ftoa can switch to exp notation for values > PRINTF_MAX_FLOAT +static size_t _etoa(out_fct_type out, char* buffer, size_t idx, size_t maxlen, double value, unsigned int prec, unsigned int width, unsigned int flags); +#endif + + +// internal ftoa for fixed decimal floating point +static size_t _ftoa(out_fct_type out, char* buffer, size_t idx, size_t maxlen, double value, unsigned int prec, unsigned int width, unsigned int flags) +{ + char buf[PRINTF_FTOA_BUFFER_SIZE]; + size_t len = 0U; + double diff = 0.0; + + // powers of 10 + static const double pow10[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000 }; + + // test for special values + if (value != value) + return _out_rev(out, buffer, idx, maxlen, "nan", 3, width, flags); + if (value < -DBL_MAX) + return _out_rev(out, buffer, idx, maxlen, "fni-", 4, width, flags); + if (value > DBL_MAX) + return _out_rev(out, buffer, idx, maxlen, (flags & FLAGS_PLUS) ? "fni+" : "fni", (flags & FLAGS_PLUS) ? 4U : 3U, width, flags); + + // test for very large values + // standard printf behavior is to print EVERY whole number digit -- which could be 100s of characters overflowing your buffers == bad + if ((value > PRINTF_MAX_FLOAT) || (value < -PRINTF_MAX_FLOAT)) { +#if defined(PRINTF_SUPPORT_EXPONENTIAL) + return _etoa(out, buffer, idx, maxlen, value, prec, width, flags); +#else + return 0U; +#endif + } + + // test for negative + bool negative = false; + if (value < 0) { + negative = true; + value = 0 - value; + } + + // set default precision, if not set explicitly + if (!(flags & FLAGS_PRECISION)) { + prec = PRINTF_DEFAULT_FLOAT_PRECISION; + } + // limit precision to 9, cause a prec >= 10 can lead to overflow errors + while ((len < PRINTF_FTOA_BUFFER_SIZE) && (prec > 9U)) { + buf[len++] = '0'; + prec--; + } + + int whole = (int)value; + double tmp = (value - whole) * pow10[prec]; + unsigned long frac = (unsigned long)tmp; + diff = tmp - frac; + + if (diff > 0.5) { + ++frac; + // handle rollover, e.g. case 0.99 with prec 1 is 1.0 + if (frac >= pow10[prec]) { + frac = 0; + ++whole; + } + } + else if (diff < 0.5) { + } + else if ((frac == 0U) || (frac & 1U)) { + // if halfway, round up if odd OR if last digit is 0 + ++frac; + } + + if (prec == 0U) { + diff = value - (double)whole; + if ((!(diff < 0.5) || (diff > 0.5)) && (whole & 1)) { + // exactly 0.5 and ODD, then round up + // 1.5 -> 2, but 2.5 -> 2 + ++whole; + } + } + else { + unsigned int count = prec; + // now do fractional part, as an unsigned number + while (len < PRINTF_FTOA_BUFFER_SIZE) { + --count; + buf[len++] = (char)(48U + (frac % 10U)); + if (!(frac /= 10U)) { + break; + } + } + // add extra 0s + while ((len < PRINTF_FTOA_BUFFER_SIZE) && (count-- > 0U)) { + buf[len++] = '0'; + } + if (len < PRINTF_FTOA_BUFFER_SIZE) { + // add decimal + buf[len++] = '.'; + } + } + + // do whole part, number is reversed + while (len < PRINTF_FTOA_BUFFER_SIZE) { + buf[len++] = (char)(48 + (whole % 10)); + if (!(whole /= 10)) { + break; + } + } + + // pad leading zeros + if (!(flags & FLAGS_LEFT) && (flags & FLAGS_ZEROPAD)) { + if (width && (negative || (flags & (FLAGS_PLUS | FLAGS_SPACE)))) { + width--; + } + while ((len < width) && (len < PRINTF_FTOA_BUFFER_SIZE)) { + buf[len++] = '0'; + } + } + + if (len < PRINTF_FTOA_BUFFER_SIZE) { + if (negative) { + buf[len++] = '-'; + } + else if (flags & FLAGS_PLUS) { + buf[len++] = '+'; // ignore the space if the '+' exists + } + else if (flags & FLAGS_SPACE) { + buf[len++] = ' '; + } + } + + return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags); +} + + +#if defined(PRINTF_SUPPORT_EXPONENTIAL) +// internal ftoa variant for exponential floating-point type, contributed by Martijn Jasperse +static size_t _etoa(out_fct_type out, char* buffer, size_t idx, size_t maxlen, double value, unsigned int prec, unsigned int width, unsigned int flags) +{ + // check for NaN and special values + if ((value != value) || (value > DBL_MAX) || (value < -DBL_MAX)) { + return _ftoa(out, buffer, idx, maxlen, value, prec, width, flags); + } + + // determine the sign + const bool negative = value < 0; + if (negative) { + value = -value; + } + + // default precision + if (!(flags & FLAGS_PRECISION)) { + prec = PRINTF_DEFAULT_FLOAT_PRECISION; + } + + // determine the decimal exponent + // based on the algorithm by David Gay (https://www.ampl.com/netlib/fp/dtoa.c) + union { + uint64_t U; + double F; + } conv; + + conv.F = value; + int exp2 = (int)((conv.U >> 52U) & 0x07FFU) - 1023; // effectively log2 + conv.U = (conv.U & ((1ULL << 52U) - 1U)) | (1023ULL << 52U); // drop the exponent so conv.F is now in [1,2) + // now approximate log10 from the log2 integer part and an expansion of ln around 1.5 + int expval = (int)(0.1760912590558 + exp2 * 0.301029995663981 + (conv.F - 1.5) * 0.289529654602168); + // now we want to compute 10^expval but we want to be sure it won't overflow + exp2 = (int)(expval * 3.321928094887362 + 0.5); + const double z = expval * 2.302585092994046 - exp2 * 0.6931471805599453; + const double z2 = z * z; + conv.U = (uint64_t)(exp2 + 1023) << 52U; + // compute exp(z) using continued fractions, see https://en.wikipedia.org/wiki/Exponential_function#Continued_fractions_for_ex + conv.F *= 1 + 2 * z / (2 - z + (z2 / (6 + (z2 / (10 + z2 / 14))))); + // correct for rounding errors + if (value < conv.F) { + expval--; + conv.F /= 10; + } + + // the exponent format is "%+03d" and largest value is "307", so set aside 4-5 characters + unsigned int minwidth = ((expval < 100) && (expval > -100)) ? 4U : 5U; + + // in "%g" mode, "prec" is the number of *significant figures* not decimals + if (flags & FLAGS_ADAPT_EXP) { + // do we want to fall-back to "%f" mode? + if ((value >= 1e-4) && (value < 1e6)) { + if ((int)prec > expval) { + prec = (unsigned)((int)prec - expval - 1); + } + else { + prec = 0; + } + flags |= FLAGS_PRECISION; // make sure _ftoa respects precision + // no characters in exponent + minwidth = 0U; + expval = 0; + } + else { + // we use one sigfig for the whole part + if ((prec > 0) && (flags & FLAGS_PRECISION)) { + --prec; + } + } + } + + // will everything fit? + unsigned int fwidth = width; + if (width > minwidth) { + // we didn't fall-back so subtract the characters required for the exponent + fwidth -= minwidth; + } else { + // not enough characters, so go back to default sizing + fwidth = 0U; + } + if ((flags & FLAGS_LEFT) && minwidth) { + // if we're padding on the right, DON'T pad the floating part + fwidth = 0U; + } + + // rescale the float value + if (expval) { + value /= conv.F; + } + + // output the floating part + const size_t start_idx = idx; + idx = _ftoa(out, buffer, idx, maxlen, negative ? -value : value, prec, fwidth, flags & ~FLAGS_ADAPT_EXP); + + // output the exponent part + if (minwidth) { + // output the exponential symbol + out((flags & FLAGS_UPPERCASE) ? 'E' : 'e', buffer, idx++, maxlen); + // output the exponent value + idx = _ntoa_long(out, buffer, idx, maxlen, (expval < 0) ? -expval : expval, expval < 0, 10, 0, minwidth-1, FLAGS_ZEROPAD | FLAGS_PLUS); + // might need to right-pad spaces + if (flags & FLAGS_LEFT) { + while (idx - start_idx < width) out(' ', buffer, idx++, maxlen); + } + } + return idx; +} +#endif // PRINTF_SUPPORT_EXPONENTIAL +#endif // PRINTF_SUPPORT_FLOAT + + +// internal vsnprintf +static int _vsnprintf(out_fct_type out, char* buffer, const size_t maxlen, const char* format, va_list va) +{ + unsigned int flags, width, precision, n; + size_t idx = 0U; + + if (!buffer) { + // use null output function + out = _out_null; + } + + while (*format) + { + // format specifier? %[flags][width][.precision][length] + if (*format != '%') { + // no + out(*format, buffer, idx++, maxlen); + format++; + continue; + } + else { + // yes, evaluate it + format++; + } + + // evaluate flags + flags = 0U; + do { + switch (*format) { + case '0': flags |= FLAGS_ZEROPAD; format++; n = 1U; break; + case '-': flags |= FLAGS_LEFT; format++; n = 1U; break; + case '+': flags |= FLAGS_PLUS; format++; n = 1U; break; + case ' ': flags |= FLAGS_SPACE; format++; n = 1U; break; + case '#': flags |= FLAGS_HASH; format++; n = 1U; break; + default : n = 0U; break; + } + } while (n); + + // evaluate width field + width = 0U; + if (_is_digit(*format)) { + width = _atoi(&format); + } + else if (*format == '*') { + const int w = va_arg(va, int); + if (w < 0) { + flags |= FLAGS_LEFT; // reverse padding + width = (unsigned int)-w; + } + else { + width = (unsigned int)w; + } + format++; + } + + // evaluate precision field + precision = 0U; + if (*format == '.') { + flags |= FLAGS_PRECISION; + format++; + if (_is_digit(*format)) { + precision = _atoi(&format); + } + else if (*format == '*') { + const int prec = (int)va_arg(va, int); + precision = prec > 0 ? (unsigned int)prec : 0U; + format++; + } + } + + // evaluate length field + switch (*format) { + case 'l' : + flags |= FLAGS_LONG; + format++; + if (*format == 'l') { + flags |= FLAGS_LONG_LONG; + format++; + } + break; + case 'h' : + flags |= FLAGS_SHORT; + format++; + if (*format == 'h') { + flags |= FLAGS_CHAR; + format++; + } + break; +#if defined(PRINTF_SUPPORT_PTRDIFF_T) + case 't' : + flags |= (sizeof(ptrdiff_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); + format++; + break; +#endif + case 'j' : + flags |= (sizeof(intmax_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); + format++; + break; + case 'z' : + flags |= (sizeof(size_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); + format++; + break; + default : + break; + } + + // evaluate specifier + switch (*format) { + case 'd' : + case 'i' : + case 'u' : + case 'x' : + case 'X' : + case 'o' : + case 'b' : { + // set the base + unsigned int base; + if (*format == 'x' || *format == 'X') { + base = 16U; + } + else if (*format == 'o') { + base = 8U; + } + else if (*format == 'b') { + base = 2U; + } + else { + base = 10U; + flags &= ~FLAGS_HASH; // no hash for dec format + } + // uppercase + if (*format == 'X') { + flags |= FLAGS_UPPERCASE; + } + + // no plus or space flag for u, x, X, o, b + if ((*format != 'i') && (*format != 'd')) { + flags &= ~(FLAGS_PLUS | FLAGS_SPACE); + } + + // ignore '0' flag when precision is given + if (flags & FLAGS_PRECISION) { + flags &= ~FLAGS_ZEROPAD; + } + + // convert the integer + if ((*format == 'i') || (*format == 'd')) { + // signed + if (flags & FLAGS_LONG_LONG) { +#if defined(PRINTF_SUPPORT_LONG_LONG) + const long long value = va_arg(va, long long); + idx = _ntoa_long_long(out, buffer, idx, maxlen, (unsigned long long)(value > 0 ? value : 0 - value), value < 0, base, precision, width, flags); +#endif + } + else if (flags & FLAGS_LONG) { + const long value = va_arg(va, long); + idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)(value > 0 ? value : 0 - value), value < 0, base, precision, width, flags); + } + else { + const int value = (flags & FLAGS_CHAR) ? (char)va_arg(va, int) : (flags & FLAGS_SHORT) ? (short int)va_arg(va, int) : va_arg(va, int); + idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned int)(value > 0 ? value : 0 - value), value < 0, base, precision, width, flags); + } + } + else { + // unsigned + if (flags & FLAGS_LONG_LONG) { +#if defined(PRINTF_SUPPORT_LONG_LONG) + idx = _ntoa_long_long(out, buffer, idx, maxlen, va_arg(va, unsigned long long), false, base, precision, width, flags); +#endif + } + else if (flags & FLAGS_LONG) { + idx = _ntoa_long(out, buffer, idx, maxlen, va_arg(va, unsigned long), false, base, precision, width, flags); + } + else { + const unsigned int value = (flags & FLAGS_CHAR) ? (unsigned char)va_arg(va, unsigned int) : (flags & FLAGS_SHORT) ? (unsigned short int)va_arg(va, unsigned int) : va_arg(va, unsigned int); + idx = _ntoa_long(out, buffer, idx, maxlen, value, false, base, precision, width, flags); + } + } + format++; + break; + } +#if defined(PRINTF_SUPPORT_FLOAT) + case 'f' : + case 'F' : + if (*format == 'F') flags |= FLAGS_UPPERCASE; + idx = _ftoa(out, buffer, idx, maxlen, va_arg(va, double), precision, width, flags); + format++; + break; +#if defined(PRINTF_SUPPORT_EXPONENTIAL) + case 'e': + case 'E': + case 'g': + case 'G': + if ((*format == 'g')||(*format == 'G')) flags |= FLAGS_ADAPT_EXP; + if ((*format == 'E')||(*format == 'G')) flags |= FLAGS_UPPERCASE; + idx = _etoa(out, buffer, idx, maxlen, va_arg(va, double), precision, width, flags); + format++; + break; +#endif // PRINTF_SUPPORT_EXPONENTIAL +#endif // PRINTF_SUPPORT_FLOAT + case 'c' : { + unsigned int l = 1U; + // pre padding + if (!(flags & FLAGS_LEFT)) { + while (l++ < width) { + out(' ', buffer, idx++, maxlen); + } + } + // char output + out((char)va_arg(va, int), buffer, idx++, maxlen); + // post padding + if (flags & FLAGS_LEFT) { + while (l++ < width) { + out(' ', buffer, idx++, maxlen); + } + } + format++; + break; + } + + case 's' : { + const char* p = va_arg(va, char*); + unsigned int l = _strnlen_s(p, precision ? precision : (size_t)-1); + // pre padding + if (flags & FLAGS_PRECISION) { + l = (l < precision ? l : precision); + } + if (!(flags & FLAGS_LEFT)) { + while (l++ < width) { + out(' ', buffer, idx++, maxlen); + } + } + // string output + while ((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { + out(*(p++), buffer, idx++, maxlen); + } + // post padding + if (flags & FLAGS_LEFT) { + while (l++ < width) { + out(' ', buffer, idx++, maxlen); + } + } + format++; + break; + } + + case 'p' : { + width = sizeof(void*) * 2U; + flags |= FLAGS_ZEROPAD | FLAGS_UPPERCASE; +#if defined(PRINTF_SUPPORT_LONG_LONG) + const bool is_ll = sizeof(uintptr_t) == sizeof(long long); + if (is_ll) { + idx = _ntoa_long_long(out, buffer, idx, maxlen, (uintptr_t)va_arg(va, void*), false, 16U, precision, width, flags); + } + else { +#endif + idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void*)), false, 16U, precision, width, flags); +#if defined(PRINTF_SUPPORT_LONG_LONG) + } +#endif + format++; + break; + } + + case '%' : + out('%', buffer, idx++, maxlen); + format++; + break; + + default : + out(*format, buffer, idx++, maxlen); + format++; + break; + } + } + + // termination + out((char)0, buffer, idx < maxlen ? idx : maxlen - 1U, maxlen); + + // return written chars without terminating \0 + return (int)idx; +} + + +/////////////////////////////////////////////////////////////////////////////// + +int lv_snprintf(char* buffer, size_t count, const char* format, ...) +{ + va_list va; + va_start(va, format); + const int ret = _vsnprintf(_out_buffer, buffer, count, format, va); + va_end(va); + return ret; +} + +int lv_vsnprintf(char* buffer, size_t count, const char* format, va_list va) +{ + return _vsnprintf(_out_buffer, buffer, count, format, va); +} + +#endif /*LV_SPRINTF_CUSTOM*/ + diff --git a/src/src/lv_misc/lv_printf.h b/src/src/lv_misc/lv_printf.h new file mode 100644 index 0000000..b3b8598 --- /dev/null +++ b/src/src/lv_misc/lv_printf.h @@ -0,0 +1,75 @@ +/////////////////////////////////////////////////////////////////////////////// +// \author (c) Marco Paland (info@paland.com) +// 2014-2019, PALANDesign Hannover, Germany +// +// \license The MIT License (MIT) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +// \brief Tiny printf, sprintf and snprintf implementation, optimized for speed on +// embedded systems with a very limited resources. +// Use this instead of bloated standard/newlib printf. +// These routines are thread safe and reentrant. +// +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _LV_PRINTF_H_ +#define _LV_PRINTF_H_ + + +#ifdef __cplusplus +extern "C" { +#endif + + +#ifdef LV_CONF_INCLUDE_SIMPLE +#include "lv_conf.h" +#else +#include "../../../lv_conf.h" +#endif + +#if LV_SPRINTF_CUSTOM == 0 + +#include +#include + +/** + * Tiny snprintf/vsnprintf implementation + * \param buffer A pointer to the buffer where to store the formatted string + * \param count The maximum number of characters to store in the buffer, including a terminating null character + * \param format A string that specifies the format of the output + * \param va A value identifying a variable arguments list + * \return The number of characters that COULD have been written into the buffer, not counting the terminating + * null character. A value equal or larger than count indicates truncation. Only when the returned value + * is non-negative and less than count, the string has been completely written. + */ +int lv_snprintf(char* buffer, size_t count, const char* format, ...); +int lv_vsnprintf(char* buffer, size_t count, const char* format, va_list va); + +#else +#include LV_SPRINTF_INCLUDE +#endif + + +#ifdef __cplusplus +} +#endif + + +#endif // _PRINTF_H_ diff --git a/src/src/lv_misc/lv_task.c b/src/src/lv_misc/lv_task.c index 296fa8f..5ac36ed 100644 --- a/src/src/lv_misc/lv_task.c +++ b/src/src/lv_misc/lv_task.c @@ -9,6 +9,7 @@ *********************/ #include #include "lv_task.h" +#include "../lv_core/lv_debug.h" #include "../lv_hal/lv_hal_tick.h" #include "lv_gc.h" @@ -67,16 +68,16 @@ LV_ATTRIBUTE_TASK_HANDLER void lv_task_handler(void) LV_LOG_TRACE("lv_task_handler started"); /*Avoid concurrent running of the task handler*/ - static bool task_handler_mutex = false; - if(task_handler_mutex) return; - task_handler_mutex = true; + static bool already_running = false; + if(already_running) return; + already_running = true; static uint32_t idle_period_start = 0; static uint32_t handler_start = 0; static uint32_t busy_time = 0; if(lv_task_run == false) { - task_handler_mutex = false; /*Release mutex*/ + already_running = false; /*Release mutex*/ return; } @@ -115,14 +116,16 @@ LV_ATTRIBUTE_TASK_HANDLER void lv_task_handler(void) if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_HIGHEST) { lv_task_exec(LV_GC_ROOT(_lv_task_act)); } - /*Tasks with higher priority then the interrupted shall be run in every case*/ + /*Tasks with higher priority than the interrupted shall be run in every case*/ else if(task_interrupter) { if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio > task_interrupter->prio) { if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - task_interrupter = - LV_GC_ROOT(_lv_task_act); /*Check all tasks again from the highest priority */ - end_flag = false; - break; + if(!task_created && !task_deleted) { + /*Check all tasks again from the highest priority */ + task_interrupter = LV_GC_ROOT(_lv_task_act); + end_flag = false; + break; + } } } } @@ -130,14 +133,19 @@ LV_ATTRIBUTE_TASK_HANDLER void lv_task_handler(void) * Just run the remaining tasks*/ else { if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - task_interrupter = LV_GC_ROOT(_lv_task_act); /*Check all tasks again from the highest priority */ - end_flag = false; - break; + if(!task_created && !task_deleted) { + task_interrupter = LV_GC_ROOT(_lv_task_act); /*Check all tasks again from the highest priority */ + end_flag = false; + break; + } } } - if(task_deleted) break; /*If a task was deleted then this or the next item might be corrupted*/ - if(task_created) break; /*If a task was created then this or the next item might be corrupted*/ + /*If a task was created or deleted then this or the next item might be corrupted*/ + if(task_created || task_deleted) { + task_interrupter = NULL; + break; + } LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/ } @@ -153,7 +161,7 @@ LV_ATTRIBUTE_TASK_HANDLER void lv_task_handler(void) idle_period_start = lv_tick_get(); } - task_handler_mutex = false; /*Release the mutex*/ + already_running = false; /*Release the mutex*/ LV_LOG_TRACE("lv_task_handler ready"); } @@ -173,7 +181,7 @@ lv_task_t * lv_task_create_basic(void) /*It's the first task*/ if(NULL == tmp) { new_task = lv_ll_ins_head(&LV_GC_ROOT(_lv_task_ll)); - lv_mem_assert(new_task); + LV_ASSERT_MEM(new_task); if(new_task == NULL) return NULL; } /*Insert the new task to proper place according to its priority*/ @@ -181,7 +189,7 @@ lv_task_t * lv_task_create_basic(void) do { if(tmp->prio <= DEF_PRIO) { new_task = lv_ll_ins_prev(&LV_GC_ROOT(_lv_task_ll), tmp); - lv_mem_assert(new_task); + LV_ASSERT_MEM(new_task); if(new_task == NULL) return NULL; break; } @@ -191,7 +199,7 @@ lv_task_t * lv_task_create_basic(void) /*Only too high priority tasks were found. Add the task to the end*/ if(tmp == NULL) { new_task = lv_ll_ins_tail(&LV_GC_ROOT(_lv_task_ll)); - lv_mem_assert(new_task); + LV_ASSERT_MEM(new_task); if(new_task == NULL) return NULL; } } @@ -223,7 +231,7 @@ lv_task_t * lv_task_create_basic(void) lv_task_t * lv_task_create(lv_task_cb_t task_cb, uint32_t period, lv_task_prio_t prio, void * user_data) { lv_task_t * new_task = lv_task_create_basic(); - lv_mem_assert(new_task); + LV_ASSERT_MEM(new_task); if(new_task == NULL) return NULL; lv_task_set_cb(new_task, task_cb); diff --git a/src/src/lv_misc/lv_txt.c b/src/src/lv_misc/lv_txt.c index 8b35c71..9255223 100644 --- a/src/src/lv_misc/lv_txt.c +++ b/src/src/lv_misc/lv_txt.c @@ -56,7 +56,7 @@ uint32_t (*lv_txt_encoded_conv_wc)(uint32_t) = lv_txt_utf8_con uint32_t (*lv_txt_encoded_next)(const char *, uint32_t *) = lv_txt_utf8_next; uint32_t (*lv_txt_encoded_prev)(const char *, uint32_t *) = lv_txt_utf8_prev; uint32_t (*lv_txt_encoded_get_byte_id)(const char *, uint32_t) = lv_txt_utf8_get_byte_id; -uint32_t (*lv_encoded_get_char_id)(const char *, uint32_t) = lv_txt_utf8_get_char_id; +uint32_t (*lv_txt_encoded_get_char_id)(const char *, uint32_t) = lv_txt_utf8_get_char_id; uint32_t (*lv_txt_get_encoded_length)(const char *) = lv_txt_utf8_get_length; #elif LV_TXT_ENC == LV_TXT_ENC_ASCII uint8_t (*lv_txt_encoded_size)(const char *) = lv_txt_iso8859_1_size; @@ -65,7 +65,7 @@ uint32_t (*lv_txt_encoded_conv_wc)(uint32_t) = lv_txt_iso8859_ uint32_t (*lv_txt_encoded_next)(const char *, uint32_t *) = lv_txt_iso8859_1_next; uint32_t (*lv_txt_encoded_prev)(const char *, uint32_t *) = lv_txt_iso8859_1_prev; uint32_t (*lv_txt_encoded_get_byte_id)(const char *, uint32_t) = lv_txt_iso8859_1_get_byte_id; -uint32_t (*lv_encoded_get_char_id)(const char *, uint32_t) = lv_txt_iso8859_1_get_char_id; +uint32_t (*lv_txt_encoded_get_char_id)(const char *, uint32_t) = lv_txt_iso8859_1_get_char_id; uint32_t (*lv_txt_get_encoded_length)(const char *) = lv_txt_iso8859_1_get_length; #endif @@ -131,83 +131,190 @@ void lv_txt_get_size(lv_point_t * size_res, const char * text, const lv_font_t * } /** - * Get the next line of text. Check line length and break chars too. + * Get the next word of text. A word is delimited by break characters. + * + * If the word cannot fit in the max_width space, obey LV_TXT_LINE_BREAK_LONG_* rules. + * + * If the next word cannot fit anything, return 0. + * + * If the first character is a break character, returns the next index. + * + * Example calls from lv_txt_get_next_line() assuming sufficent max_width and + * txt = "Test text\n" + * 0123456789 + * + * Calls would be as follows: + * 1. Return i=4, pointing at breakchar ' ', for the string "Test" + * 2. Return i=5, since i=4 was a breakchar. + * 3. Return i=9, pointing at breakchar '\n' + * 4. Parenting lv_txt_get_next_line() would detect subsequent '\0' + * + * TODO: Returned word_w_ptr may overestimate the returned word's width when + * max_width is reached. In current usage, this has no impact. + * * @param txt a '\0' terminated string * @param font pointer to a font * @param letter_space letter space * @param max_width max with of the text (break the lines to fit this size) Set CORD_MAX to avoid line breaks * @param flags settings for the text from 'txt_flag_type' enum - * @return the index of the first char of the new line (in byte index not letter index. With UTF-8 they are different) + * @param[out] word_w_ptr width (in pixels) of the parsed word. May be NULL. + * @param force Force return the fraction of the word that can fit in the provided space. + * @return the index of the first char of the next word (in byte index not letter index. With UTF-8 they are different) */ -uint16_t lv_txt_get_next_line(const char * txt, const lv_font_t * font, lv_coord_t letter_space, lv_coord_t max_width, - lv_txt_flag_t flag) +static uint16_t lv_txt_get_next_word(const char * txt, const lv_font_t * font, + lv_coord_t letter_space, lv_coord_t max_width, + lv_txt_flag_t flag, uint32_t *word_w_ptr, lv_txt_cmd_state_t * cmd_state, bool force) { - if(txt == NULL) return 0; + if(txt == NULL || txt[0] == '\0') return 0; if(font == NULL) return 0; if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - uint32_t i = 0; - uint32_t i_next = 0; - lv_coord_t cur_w = 0; - uint32_t last_break = NO_BREAK_FOUND; - lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - uint32_t letter_w; - uint32_t letter = 0; - uint32_t letter_next = 0; + uint32_t i = 0, i_next = 0, i_next_next = 0; /* Iterating index into txt */ + uint32_t letter = 0; /* Letter at i */ + uint32_t letter_next = 0; /* Letter at i_next */ + lv_coord_t letter_w; + lv_coord_t cur_w = 0; /* Pixel Width of transversed string */ + uint32_t word_len = 0; /* Number of characters in the transversed word */ + uint32_t break_index = NO_BREAK_FOUND; /* only used for "long" words */ + uint32_t break_letter_count = 0; /* Number of characters up to the long word break point */ - letter_next = lv_txt_encoded_next(txt, &i_next); + letter = lv_txt_encoded_next(txt, &i_next); + i_next_next = i_next; + /* Obtain the full word, regardless if it fits or not in max_width */ while(txt[i] != '\0') { - letter = letter_next; - i = i_next; - letter_next = lv_txt_encoded_next(txt, &i_next); + letter_next = lv_txt_encoded_next(txt, &i_next_next); + word_len++; /*Handle the recolor command*/ if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - if(lv_txt_is_cmd(&cmd_state, letter) != false) { - continue; /*Skip the letter is it is part of a command*/ + if(lv_txt_is_cmd(cmd_state, letter) != false) { + i = i_next; + i_next = i_next_next; + letter = letter_next; + continue; /*Skip the letter is it is part of a command*/ } } - /*Check for new line chars*/ - if(letter == '\n' || letter == '\r') { - /*Return with the first letter of the next line*/ - if(letter == '\r' && letter_next == '\n') - return i_next; - else - return i; - } else { /*Check the actual length*/ - letter_w = lv_font_get_glyph_width(font, letter, letter_next); - cur_w += letter_w; - - /*If the txt is too long then finish, this is the line end*/ - if(cur_w > max_width) { - /*If a break character was already found break there*/ - if(last_break != NO_BREAK_FOUND) { - i = last_break; - } else { - /* Now this character is out of the area so it will be first character of the next line*/ - /* But 'i' already points to the next character (because of lv_txt_utf8_next) step beck one*/ - lv_txt_encoded_prev(txt, &i); - } + letter_w = lv_font_get_glyph_width(font, letter, letter_next); + cur_w += letter_w; - /* Do not let to return without doing nothing. - * Find at least one character (Avoid infinite loop )*/ - if(i == 0) lv_txt_encoded_next(txt, &i); + /* Test if this character fits within max_width */ + if(break_index == NO_BREAK_FOUND && cur_w > max_width) { + break_index = i; + break_letter_count = word_len - 1; + /* break_index is now pointing at the character that doesn't fit */ + } - return i; - } - /*If this char still can fit to this line then check if - * txt can be broken here later */ - else if(is_break_char(letter)) { - last_break = i; /*Save the first char index after break*/ - } + /*Check for new line chars and breakchars*/ + if(letter == '\n' || letter == '\r' || is_break_char(letter)) { + /* Update the output width on the first character if it fits. + * Must do this here incase first letter is a break character. */ + if(i == 0 && break_index == NO_BREAK_FOUND && word_w_ptr != NULL) *word_w_ptr = cur_w; + word_len--; + break; } + /* Update the output width */ + if( word_w_ptr != NULL && break_index == NO_BREAK_FOUND ) *word_w_ptr = cur_w; + if(letter_w > 0) { cur_w += letter_space; } + + i = i_next; + i_next = i_next_next; + letter = letter_next; + } + + /* Entire Word fits in the provided space */ + if( break_index == NO_BREAK_FOUND ) { + if( word_len == 0 || (letter == '\r' && letter_next == '\n') ) i = i_next; + return i; + } + +#if LV_TXT_LINE_BREAK_LONG_LEN > 0 + /* Word doesn't fit in provided space, but isn't "long" */ + if(word_len < LV_TXT_LINE_BREAK_LONG_LEN) { + if( force ) return break_index; + if(word_w_ptr != NULL) *word_w_ptr = 0; /* Return no word */ + return 0; + } + + /* Word is "long," but insufficient amounts can fit in provided space */ + if(break_letter_count < LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN) { + if( force ) return break_index; + if(word_w_ptr != NULL) *word_w_ptr = 0; + return 0; + } + + /* Word is a "long", but letters may need to be better distributed */ + { + i = break_index; + int32_t n_move = LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN - (word_len - break_letter_count); + /* Move pointer "i" backwards */ + for(;n_move>0; n_move--){ + lv_txt_encoded_prev(txt, &i); + // TODO: it would be appropriate to update the returned word width here + // However, in current usage, this doesn't impact anything. + } + } + return i; +#else + if( force ) return break_index; + if(word_w_ptr != NULL) *word_w_ptr = 0; /* Return no word */ + (void) break_letter_count; + return 0; +#endif +} + +/** + * Get the next line of text. Check line length and break chars too. + * + * A line of txt includes the \n character. + * + * @param txt a '\0' terminated string + * @param font pointer to a font + * @param letter_space letter space + * @param max_width max with of the text (break the lines to fit this size) Set CORD_MAX to avoid line breaks + * @param flags settings for the text from 'txt_flag_type' enum + * @return the index of the first char of the new line (in byte index not letter index. With UTF-8 they are different) + */ +uint16_t lv_txt_get_next_line(const char * txt, const lv_font_t * font, + lv_coord_t letter_space, lv_coord_t max_width, lv_txt_flag_t flag) +{ + if(txt == NULL) return 0; + if(font == NULL) return 0; + + if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; + lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; + uint32_t i = 0; /* Iterating index into txt */ + + while(txt[i] != '\0' && max_width > 0) { + uint32_t word_w = 0; + uint32_t advance = lv_txt_get_next_word(&txt[i], font, letter_space, max_width, flag, &word_w, &cmd_state, i==0); + max_width -= word_w; + + if( advance == 0 ){ + if(i == 0) lv_txt_encoded_next(txt, &i); // prevent inf loops + break; + } + + i += advance; + + if(txt[0] == '\n') break; + + if(txt[i] == '\n'){ + i++; /* Include the following newline in the current line */ + break; + } + + } + + /* Always step at least one to avoid infinite loops */ + if(i == 0) { + lv_txt_encoded_next(txt, &i); } return i; @@ -366,7 +473,7 @@ static uint8_t lv_txt_utf8_size(const char * str) return 3; else if((str[0] & 0xF8) == 0xF0) return 4; - return 1; /*If the char was invalid step tell it's 1 byte long*/ + return 0; /*If the char was invalid tell it's 1 byte long*/ } /** @@ -543,7 +650,8 @@ static uint32_t lv_txt_utf8_get_byte_id(const char * txt, uint32_t utf8_id) uint32_t i; uint32_t byte_cnt = 0; for(i = 0; i < utf8_id; i++) { - byte_cnt += lv_txt_encoded_size(&txt[byte_cnt]); + uint8_t c_size = lv_txt_encoded_size(&txt[byte_cnt]); + byte_cnt += c_size > 0 ? c_size : 1; } return byte_cnt; diff --git a/src/src/lv_misc/lv_txt.h b/src/src/lv_misc/lv_txt.h index 6fc6e4a..6dbce5d 100644 --- a/src/src/lv_misc/lv_txt.h +++ b/src/src/lv_misc/lv_txt.h @@ -27,7 +27,9 @@ extern "C" { /********************* * DEFINES *********************/ +#ifndef LV_TXT_COLOR_CMD #define LV_TXT_COLOR_CMD "#" +#endif #define LV_TXT_ENC_UTF8 1 #define LV_TXT_ENC_ASCII 2 @@ -188,7 +190,7 @@ extern uint32_t (*lv_txt_encoded_get_byte_id)(const char *, uint32_t); * @param byte_id byte index * @return character index of the letter at 'byte_id'th position */ -extern uint32_t (*lv_encoded_get_char_id)(const char *, uint32_t); +extern uint32_t (*lv_txt_encoded_get_char_id)(const char *, uint32_t); /** * Get the number of characters (and NOT bytes) in a string. diff --git a/src/src/lv_objx/lv_arc.c b/src/src/lv_objx/lv_arc.c index 7db5fb5..e2146a8 100644 --- a/src/src/lv_objx/lv_arc.c +++ b/src/src/lv_objx/lv_arc.c @@ -9,6 +9,7 @@ #include "lv_arc.h" #if LV_USE_ARC != 0 +#include "../lv_core/lv_debug.h" #include "../lv_misc/lv_math.h" #include "../lv_draw/lv_draw_arc.h" #include "../lv_themes/lv_theme.h" @@ -16,6 +17,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_arc" /********************** * TYPEDEFS @@ -54,12 +56,12 @@ lv_obj_t * lv_arc_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of arc*/ lv_obj_t * new_arc = lv_obj_create(par, copy); - lv_mem_assert(new_arc); + LV_ASSERT_MEM(new_arc); if(new_arc == NULL) return NULL; /*Allocate the arc type specific extended data*/ lv_arc_ext_t * ext = lv_obj_allocate_ext_attr(new_arc, sizeof(lv_arc_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_arc); @@ -119,6 +121,8 @@ lv_obj_t * lv_arc_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_arc_set_angles(lv_obj_t * arc, uint16_t start, uint16_t end) { + LV_ASSERT_OBJ(arc, LV_OBJX_NAME); + lv_arc_ext_t * ext = lv_obj_get_ext_attr(arc); if(start > 360) start = 360; @@ -138,6 +142,8 @@ void lv_arc_set_angles(lv_obj_t * arc, uint16_t start, uint16_t end) * */ void lv_arc_set_style(lv_obj_t * arc, lv_arc_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(arc, LV_OBJX_NAME); + switch(type) { case LV_ARC_STYLE_MAIN: lv_obj_set_style(arc, style); break; } @@ -154,6 +160,8 @@ void lv_arc_set_style(lv_obj_t * arc, lv_arc_style_t type, const lv_style_t * st */ uint16_t lv_arc_get_angle_start(lv_obj_t * arc) { + LV_ASSERT_OBJ(arc, LV_OBJX_NAME); + lv_arc_ext_t * ext = lv_obj_get_ext_attr(arc); return ext->angle_start; @@ -166,6 +174,8 @@ uint16_t lv_arc_get_angle_start(lv_obj_t * arc) */ uint16_t lv_arc_get_angle_end(lv_obj_t * arc) { + LV_ASSERT_OBJ(arc, LV_OBJX_NAME); + lv_arc_ext_t * ext = lv_obj_get_ext_attr(arc); return ext->angle_end; @@ -179,6 +189,8 @@ uint16_t lv_arc_get_angle_end(lv_obj_t * arc) * */ const lv_style_t * lv_arc_get_style(const lv_obj_t * arc, lv_arc_style_t type) { + LV_ASSERT_OBJ(arc, LV_OBJX_NAME); + const lv_style_t * style = NULL; switch(type) { @@ -281,15 +293,10 @@ static lv_res_t lv_arc_signal(lv_obj_t * arc, lv_signal_t sign, void * param) res = ancestor_signal(arc, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); + if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_arc"; } return res; diff --git a/src/src/lv_objx/lv_bar.c b/src/src/lv_objx/lv_bar.c index 6b6ebb3..5faab91 100644 --- a/src/src/lv_objx/lv_bar.c +++ b/src/src/lv_objx/lv_bar.c @@ -11,6 +11,7 @@ #include "lv_bar.h" #if LV_USE_BAR != 0 +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_anim.h" @@ -19,6 +20,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_bar" /********************** * TYPEDEFS @@ -61,7 +63,7 @@ lv_obj_t * lv_bar_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor basic object*/ lv_obj_t * new_bar = lv_obj_create(par, copy); - lv_mem_assert(new_bar); + LV_ASSERT_MEM(new_bar); if(new_bar == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_bar); @@ -69,7 +71,7 @@ lv_obj_t * lv_bar_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the object type specific extended data*/ lv_bar_ext_t * ext = lv_obj_allocate_ext_attr(new_bar, sizeof(lv_bar_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->min_value = 0; @@ -130,6 +132,8 @@ lv_obj_t * lv_bar_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_bar_set_value(lv_obj_t * bar, int16_t value, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 anim = false; #endif @@ -185,6 +189,8 @@ void lv_bar_set_value(lv_obj_t * bar, int16_t value, lv_anim_enable_t anim) */ void lv_bar_set_range(lv_obj_t * bar, int16_t min, int16_t max) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); if(ext->min_value == min && ext->max_value == max) return; @@ -209,6 +215,8 @@ void lv_bar_set_range(lv_obj_t * bar, int16_t min, int16_t max) */ void lv_bar_set_sym(lv_obj_t * bar, bool en) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); ext->sym = en ? 1 : 0; } @@ -220,6 +228,8 @@ void lv_bar_set_sym(lv_obj_t * bar, bool en) */ void lv_bar_set_anim_time(lv_obj_t * bar, uint16_t anim_time) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); ext->anim_time = anim_time; @@ -237,6 +247,8 @@ void lv_bar_set_anim_time(lv_obj_t * bar, uint16_t anim_time) */ void lv_bar_set_style(lv_obj_t * bar, lv_bar_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); switch(type) { @@ -259,6 +271,8 @@ void lv_bar_set_style(lv_obj_t * bar, lv_bar_style_t type, const lv_style_t * st */ int16_t lv_bar_get_value(const lv_obj_t * bar) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); /*If animated tell that it's already at the end value*/ #if LV_USE_ANIMATION @@ -275,6 +289,8 @@ int16_t lv_bar_get_value(const lv_obj_t * bar) */ int16_t lv_bar_get_min_value(const lv_obj_t * bar) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); return ext->min_value; } @@ -286,6 +302,8 @@ int16_t lv_bar_get_min_value(const lv_obj_t * bar) */ int16_t lv_bar_get_max_value(const lv_obj_t * bar) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); return ext->max_value; } @@ -297,6 +315,8 @@ int16_t lv_bar_get_max_value(const lv_obj_t * bar) */ bool lv_bar_get_sym(lv_obj_t * bar) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); return ext->sym ? true : false; } @@ -308,6 +328,8 @@ bool lv_bar_get_sym(lv_obj_t * bar) */ uint16_t lv_bar_get_anim_time(lv_obj_t * bar) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); return ext->anim_time; @@ -325,6 +347,8 @@ uint16_t lv_bar_get_anim_time(lv_obj_t * bar) */ const lv_style_t * lv_bar_get_style(const lv_obj_t * bar, lv_bar_style_t type) { + LV_ASSERT_OBJ(bar, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar); @@ -495,17 +519,11 @@ static lv_res_t lv_bar_signal(lv_obj_t * bar, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(bar, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { const lv_style_t * style_indic = lv_bar_get_style(bar, LV_BAR_STYLE_INDIC); if(style_indic->body.shadow.width > bar->ext_draw_pad) bar->ext_draw_pad = style_indic->body.shadow.width; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_bar"; } return res; diff --git a/src/src/lv_objx/lv_bar.h b/src/src/lv_objx/lv_bar.h index 14c558e..9ffdbdd 100644 --- a/src/src/lv_objx/lv_bar.h +++ b/src/src/lv_objx/lv_bar.h @@ -43,6 +43,11 @@ extern "C" { /** log2(LV_BAR_ANIM_STATE_END) used to normalize data*/ #define LV_BAR_ANIM_STATE_NORM 8 +LV_EXPORT_CONST_INT(LV_BAR_ANIM_STATE_START); +LV_EXPORT_CONST_INT(LV_BAR_ANIM_STATE_END); +LV_EXPORT_CONST_INT(LV_BAR_ANIM_STATE_INV); +LV_EXPORT_CONST_INT(LV_BAR_ANIM_STATE_NORM); + /********************** * TYPEDEFS **********************/ diff --git a/src/src/lv_objx/lv_btn.c b/src/src/lv_objx/lv_btn.c index 7ab3e5b..fa7880e 100644 --- a/src/src/lv_objx/lv_btn.c +++ b/src/src/lv_objx/lv_btn.c @@ -12,6 +12,7 @@ #include #include "../lv_core/lv_group.h" +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_area.h" @@ -21,6 +22,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_btn" #define LV_BTN_INK_VALUE_MAX 256 #define LV_BTN_INK_VALUE_MAX_SHIFT 8 @@ -76,7 +78,7 @@ lv_obj_t * lv_btn_create(lv_obj_t * par, const lv_obj_t * copy) lv_obj_t * new_btn; new_btn = lv_cont_create(par, copy); - lv_mem_assert(new_btn); + LV_ASSERT_MEM(new_btn); if(new_btn == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_btn); @@ -84,7 +86,7 @@ lv_obj_t * lv_btn_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the extended data*/ lv_btn_ext_t * ext = lv_obj_allocate_ext_attr(new_btn, sizeof(lv_btn_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->state = LV_BTN_STATE_REL; @@ -158,6 +160,8 @@ lv_obj_t * lv_btn_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_btn_set_toggle(lv_obj_t * btn, bool tgl) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); ext->toggle = tgl != false ? 1 : 0; @@ -170,6 +174,8 @@ void lv_btn_set_toggle(lv_obj_t * btn, bool tgl) */ void lv_btn_set_state(lv_obj_t * btn, lv_btn_state_t state) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); if(ext->state != state) { ext->state = state; @@ -183,6 +189,8 @@ void lv_btn_set_state(lv_obj_t * btn, lv_btn_state_t state) */ void lv_btn_toggle(lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); switch(ext->state) { case LV_BTN_STATE_REL: lv_btn_set_state(btn, LV_BTN_STATE_TGL_REL); break; @@ -200,6 +208,8 @@ void lv_btn_toggle(lv_obj_t * btn) */ void lv_btn_set_ink_in_time(lv_obj_t * btn, uint16_t time) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + #if LV_USE_ANIMATION && LV_BTN_INK_EFFECT lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); ext->ink_in_time = time; @@ -218,6 +228,8 @@ void lv_btn_set_ink_in_time(lv_obj_t * btn, uint16_t time) */ void lv_btn_set_ink_wait_time(lv_obj_t * btn, uint16_t time) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + #if LV_USE_ANIMATION && LV_BTN_INK_EFFECT lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); @@ -237,6 +249,8 @@ void lv_btn_set_ink_wait_time(lv_obj_t * btn, uint16_t time) */ void lv_btn_set_ink_out_time(lv_obj_t * btn, uint16_t time) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + #if LV_USE_ANIMATION && LV_BTN_INK_EFFECT lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); ext->ink_out_time = time; @@ -256,6 +270,8 @@ void lv_btn_set_ink_out_time(lv_obj_t * btn, uint16_t time) */ void lv_btn_set_style(lv_obj_t * btn, lv_btn_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); switch(type) { @@ -281,6 +297,8 @@ void lv_btn_set_style(lv_obj_t * btn, lv_btn_style_t type, const lv_style_t * st */ lv_btn_state_t lv_btn_get_state(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); return ext->state; } @@ -292,6 +310,8 @@ lv_btn_state_t lv_btn_get_state(const lv_obj_t * btn) */ bool lv_btn_get_toggle(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); return ext->toggle != 0 ? true : false; @@ -304,6 +324,8 @@ bool lv_btn_get_toggle(const lv_obj_t * btn) */ uint16_t lv_btn_get_ink_in_time(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + #if LV_USE_ANIMATION && LV_BTN_INK_EFFECT lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); return ext->ink_in_time; @@ -320,6 +342,8 @@ uint16_t lv_btn_get_ink_in_time(const lv_obj_t * btn) */ uint16_t lv_btn_get_ink_wait_time(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + #if LV_USE_ANIMATION && LV_BTN_INK_EFFECT lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); return ext->ink_wait_time; @@ -335,9 +359,11 @@ uint16_t lv_btn_get_ink_wait_time(const lv_obj_t * btn) */ uint16_t lv_btn_get_ink_out_time(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + #if LV_USE_ANIMATION && LV_BTN_INK_EFFECT lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); - return ext->ink_in_time; + return ext->ink_out_time; #else (void)btn; /*Unused*/ return 0; @@ -352,6 +378,8 @@ uint16_t lv_btn_get_ink_out_time(const lv_obj_t * btn) */ const lv_style_t * lv_btn_get_style(const lv_obj_t * btn, lv_btn_style_t type) { + LV_ASSERT_OBJ(btn, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); lv_btn_state_t state = lv_btn_get_state(btn); @@ -483,6 +511,7 @@ static lv_res_t lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(btn, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_btn_ext_t * ext = lv_obj_get_ext_attr(btn); bool tgl = lv_btn_get_toggle(btn); @@ -634,13 +663,6 @@ static lv_res_t lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void * param) ink_obj = NULL; } #endif - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_btn"; } return res; diff --git a/src/src/lv_objx/lv_btnm.c b/src/src/lv_objx/lv_btnm.c index 9129862..3286900 100644 --- a/src/src/lv_objx/lv_btnm.c +++ b/src/src/lv_objx/lv_btnm.c @@ -9,6 +9,7 @@ #include "lv_btnm.h" #if LV_USE_BTNM != 0 +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" #include "../lv_draw/lv_draw.h" #include "../lv_core/lv_refr.h" @@ -18,6 +19,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_btnm" /********************** * TYPEDEFS @@ -70,14 +72,14 @@ lv_obj_t * lv_btnm_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor object*/ lv_obj_t * new_btnm = lv_obj_create(par, copy); - lv_mem_assert(new_btnm); + LV_ASSERT_MEM(new_btnm); if(new_btnm == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_btnm); /*Allocate the object type specific extended data*/ lv_btnm_ext_t * ext = lv_obj_allocate_ext_attr(new_btnm, sizeof(lv_btnm_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->btn_cnt = 0; @@ -101,8 +103,8 @@ lv_obj_t * lv_btnm_create(lv_obj_t * par, const lv_obj_t * copy) /*Init the new button matrix object*/ if(copy == NULL) { - lv_obj_set_size(new_btnm, LV_DPI * 3, LV_DPI * 2); lv_btnm_set_map(new_btnm, lv_btnm_def_map); + lv_obj_set_size(new_btnm, LV_DPI * 3, LV_DPI * 2); /*Set the default styles*/ lv_theme_t * th = lv_theme_get_current(); @@ -142,7 +144,8 @@ lv_obj_t * lv_btnm_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_btnm_set_map(const lv_obj_t * btnm, const char * map[]) { - if(map == NULL) return; + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + LV_ASSERT_NULL(map); /* * lv_btnm_set_map is called on receipt of signals such as @@ -201,9 +204,11 @@ void lv_btnm_set_map(const lv_obj_t * btnm, const char * map[]) /*Make sure the last row is at the bottom of 'btnm'*/ if(map_p_tmp[btn_cnt][0] == '\0') { /*Last row?*/ - btn_h = max_h - act_y + style_bg->body.padding.bottom - 1; + btn_h = lv_obj_get_height(btnm)- act_y - style_bg->body.padding.bottom - 1; } + lv_bidi_dir_t base_dir = lv_obj_get_base_dir(btnm); + /*Only deal with the non empty lines*/ if(btn_cnt != 0) { /*Calculate the width of all units*/ @@ -211,7 +216,8 @@ void lv_btnm_set_map(const lv_obj_t * btnm, const char * map[]) /*Set the button size and positions and set the texts*/ uint16_t i; - lv_coord_t act_x = style_bg->body.padding.left; + lv_coord_t act_x; + lv_coord_t act_unit_w; unit_act_cnt = 0; for(i = 0; i < btn_cnt; i++) { @@ -222,9 +228,13 @@ void lv_btnm_set_map(const lv_obj_t * btnm, const char * map[]) act_unit_w--; /*-1 because e.g. width = 100 means 101 pixels (0..100)*/ /*Always recalculate act_x because of rounding errors */ - act_x = (unit_act_cnt * all_unit_w) / unit_cnt + i * style_bg->body.padding.inner + - style_bg->body.padding.left; - + if(base_dir == LV_BIDI_DIR_RTL) { + act_x = (unit_act_cnt * all_unit_w) / unit_cnt + i * style_bg->body.padding.inner; + act_x = lv_obj_get_width(btnm) - style_bg->body.padding.right - act_x - act_unit_w - 1; + } else { + act_x = (unit_act_cnt * all_unit_w) / unit_cnt + i * style_bg->body.padding.inner + + style_bg->body.padding.left; + } /* Set the button's area. * If inner padding is zero then use the prev. button x2 as x1 to avoid rounding * errors*/ @@ -241,7 +251,7 @@ void lv_btnm_set_map(const lv_obj_t * btnm, const char * map[]) btn_i++; } } - act_y += btn_h + style_bg->body.padding.inner; + act_y += btn_h + style_bg->body.padding.inner + 1; if(strlen(map_p_tmp[btn_cnt]) == 0) break; /*Break on end of map*/ map_p_tmp = &map_p_tmp[btn_cnt + 1]; /*Set the map to the next line*/ @@ -265,6 +275,8 @@ void lv_btnm_set_map(const lv_obj_t * btnm, const char * map[]) */ void lv_btnm_set_ctrl_map(const lv_obj_t * btnm, const lv_btnm_ctrl_t ctrl_map[]) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); memcpy(ext->ctrl_bits, ctrl_map, sizeof(lv_btnm_ctrl_t) * ext->btn_cnt); @@ -279,6 +291,8 @@ void lv_btnm_set_ctrl_map(const lv_obj_t * btnm, const lv_btnm_ctrl_t ctrl_map[] */ void lv_btnm_set_pressed(const lv_obj_t * btnm, uint16_t id) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); if(id >= ext->btn_cnt && id != LV_BTNM_BTN_NONE) return; @@ -297,6 +311,8 @@ void lv_btnm_set_pressed(const lv_obj_t * btnm, uint16_t id) */ void lv_btnm_set_style(lv_obj_t * btnm, lv_btnm_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); switch(type) { @@ -331,6 +347,8 @@ void lv_btnm_set_style(lv_obj_t * btnm, lv_btnm_style_t type, const lv_style_t * */ void lv_btnm_set_recolor(const lv_obj_t * btnm, bool en) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); ext->recolor = en; @@ -344,6 +362,8 @@ void lv_btnm_set_recolor(const lv_obj_t * btnm, bool en) */ void lv_btnm_set_btn_ctrl(const lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t ctrl) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); if(btn_id >= ext->btn_cnt) return; @@ -359,6 +379,8 @@ void lv_btnm_set_btn_ctrl(const lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t */ void lv_btnm_clear_btn_ctrl(const lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t ctrl) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); if(btn_id >= ext->btn_cnt) return; @@ -374,6 +396,8 @@ void lv_btnm_clear_btn_ctrl(const lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl */ void lv_btnm_set_btn_ctrl_all(lv_obj_t * btnm, lv_btnm_ctrl_t ctrl) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); uint16_t i; for(i = 0; i < ext->btn_cnt; i++) { @@ -389,6 +413,8 @@ void lv_btnm_set_btn_ctrl_all(lv_obj_t * btnm, lv_btnm_ctrl_t ctrl) */ void lv_btnm_clear_btn_ctrl_all(lv_obj_t * btnm, lv_btnm_ctrl_t ctrl) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); uint16_t i; for(i = 0; i < ext->btn_cnt; i++) { @@ -407,6 +433,8 @@ void lv_btnm_clear_btn_ctrl_all(lv_obj_t * btnm, lv_btnm_ctrl_t ctrl) */ void lv_btnm_set_btn_width(const lv_obj_t * btnm, uint16_t btn_id, uint8_t width) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); if(btn_id >= ext->btn_cnt) return; @@ -427,6 +455,8 @@ void lv_btnm_set_btn_width(const lv_obj_t * btnm, uint16_t btn_id, uint8_t width */ void lv_btnm_set_one_toggle(lv_obj_t * btnm, bool one_toggle) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); ext->one_toggle = one_toggle; @@ -445,6 +475,8 @@ void lv_btnm_set_one_toggle(lv_obj_t * btnm, bool one_toggle) */ const char ** lv_btnm_get_map_array(const lv_obj_t * btnm) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); return ext->map_p; } @@ -456,6 +488,8 @@ const char ** lv_btnm_get_map_array(const lv_obj_t * btnm) */ bool lv_btnm_get_recolor(const lv_obj_t * btnm) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); return ext->recolor; @@ -469,6 +503,8 @@ bool lv_btnm_get_recolor(const lv_obj_t * btnm) */ uint16_t lv_btnm_get_active_btn(const lv_obj_t * btnm) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); return ext->btn_id_act; } @@ -481,6 +517,8 @@ uint16_t lv_btnm_get_active_btn(const lv_obj_t * btnm) */ const char * lv_btnm_get_active_btn_text(const lv_obj_t * btnm) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); if(ext->btn_id_act != LV_BTNM_BTN_NONE) { return lv_btnm_get_btn_text(btnm, ext->btn_id_act); @@ -497,6 +535,8 @@ const char * lv_btnm_get_active_btn_text(const lv_obj_t * btnm) */ uint16_t lv_btnm_get_pressed_btn(const lv_obj_t * btnm) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); return ext->btn_id_pr; } @@ -510,6 +550,8 @@ uint16_t lv_btnm_get_pressed_btn(const lv_obj_t * btnm) */ const char * lv_btnm_get_btn_text(const lv_obj_t * btnm, uint16_t btn_id) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); if(btn_id > ext->btn_cnt) return NULL; @@ -539,6 +581,8 @@ const char * lv_btnm_get_btn_text(const lv_obj_t * btnm, uint16_t btn_id) */ bool lv_btnm_get_btn_ctrl(lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t ctrl) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); if(btn_id >= ext->btn_cnt) return false; @@ -553,6 +597,8 @@ bool lv_btnm_get_btn_ctrl(lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t ctrl) */ const lv_style_t * lv_btnm_get_style(const lv_obj_t * btnm, lv_btnm_style_t type) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); @@ -576,6 +622,8 @@ const lv_style_t * lv_btnm_get_style(const lv_obj_t * btnm, lv_btnm_style_t type */ bool lv_btnm_get_one_toggle(const lv_obj_t * btnm) { + LV_ASSERT_OBJ(btnm, LV_OBJX_NAME); + lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); return ext->one_toggle; @@ -603,7 +651,6 @@ static bool lv_btnm_design(lv_obj_t * btnm, const lv_area_t * mask, lv_design_mo } /*Draw the object*/ else if(mode == LV_DESIGN_DRAW_MAIN) { - ancestor_design_f(btnm, mask, mode); lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); @@ -624,7 +671,6 @@ static bool lv_btnm_design(lv_obj_t * btnm, const lv_area_t * mask, lv_design_mo lv_txt_flag_t txt_flag = LV_TXT_FLAG_NONE; if(ext->recolor) txt_flag = LV_TXT_FLAG_RECOLOR; - for(btn_i = 0; btn_i < ext->btn_cnt; btn_i++, txt_i++) { /*Search the next valid text in the map*/ while(strcmp(ext->map_p[txt_i], "\n") == 0) { @@ -693,9 +739,10 @@ static bool lv_btnm_design(lv_obj_t * btnm, const lv_area_t * mask, lv_design_mo area_tmp.x2 = area_tmp.x1 + txt_size.x; area_tmp.y2 = area_tmp.y1 + txt_size.y; - lv_draw_label(&area_tmp, mask, btn_style, opa_scale, ext->map_p[txt_i], txt_flag, NULL, -1, -1, NULL); + lv_draw_label(&area_tmp, mask, btn_style, opa_scale, ext->map_p[txt_i], txt_flag, NULL, NULL, NULL, lv_obj_get_base_dir(btnm)); } } + return true; } @@ -713,6 +760,7 @@ static lv_res_t lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(btnm, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); lv_point_t p; @@ -813,6 +861,12 @@ static lv_res_t lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param) #if LV_USE_GROUP lv_indev_t * indev = lv_indev_get_act(); lv_indev_type_t indev_type = lv_indev_get_type(indev); + + /*If not focused by an input device assume the last input device*/ + if(indev_type == LV_INDEV_TYPE_NONE) { + indev_type = lv_indev_get_type(lv_indev_get_next(NULL)); + } + if(indev_type == LV_INDEV_TYPE_POINTER) { /*Select the clicked button*/ lv_point_t p1; @@ -863,7 +917,7 @@ static lv_res_t lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param) for(area_below = ext->btn_id_pr; area_below < ext->btn_cnt; area_below++) { if(ext->button_areas[area_below].y1 > ext->button_areas[ext->btn_id_pr].y1 && pr_center >= ext->button_areas[area_below].x1 && - pr_center <= ext->button_areas[area_below].x2 + style->body.padding.left) { + pr_center <= ext->button_areas[area_below].x2 + style->body.padding.inner) { break; } } @@ -884,7 +938,7 @@ static lv_res_t lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param) for(area_above = ext->btn_id_pr; area_above >= 0; area_above--) { if(ext->button_areas[area_above].y1 < ext->button_areas[ext->btn_id_pr].y1 && - pr_center >= ext->button_areas[area_above].x1 - style->body.padding.left && + pr_center >= ext->button_areas[area_above].x1 - style->body.padding.inner && pr_center <= ext->button_areas[area_above].x2) { break; } @@ -897,15 +951,7 @@ static lv_res_t lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param) } else if(sign == LV_SIGNAL_GET_EDITABLE) { bool * editable = (bool *)param; *editable = true; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_btnm"; } - return res; } @@ -938,9 +984,9 @@ static void allocate_btn_areas_and_controls(const lv_obj_t * btnm, const char ** } ext->button_areas = lv_mem_alloc(sizeof(lv_area_t) * btn_cnt); - lv_mem_assert(ext->button_areas); + LV_ASSERT_MEM(ext->button_areas); ext->ctrl_bits = lv_mem_alloc(sizeof(lv_btnm_ctrl_t) * btn_cnt); - lv_mem_assert(ext->ctrl_bits); + LV_ASSERT_MEM(ext->ctrl_bits); if(ext->button_areas == NULL || ext->ctrl_bits == NULL) btn_cnt = 0; memset(ext->ctrl_bits, 0, sizeof(lv_btnm_ctrl_t) * btn_cnt); diff --git a/src/src/lv_objx/lv_btnm.h b/src/src/lv_objx/lv_btnm.h index bedcdf4..44bc4ef 100644 --- a/src/src/lv_objx/lv_btnm.h +++ b/src/src/lv_objx/lv_btnm.h @@ -31,6 +31,8 @@ extern "C" { #define LV_BTNM_WIDTH_MASK 0x0007 #define LV_BTNM_BTN_NONE 0xFFFF +LV_EXPORT_CONST_INT(LV_BTNM_BTN_NONE); + /********************** * TYPEDEFS **********************/ diff --git a/src/src/lv_objx/lv_calendar.c b/src/src/lv_objx/lv_calendar.c index ced804d..8e4ceb5 100644 --- a/src/src/lv_objx/lv_calendar.c +++ b/src/src/lv_objx/lv_calendar.c @@ -9,6 +9,7 @@ #include "lv_calendar.h" #if LV_USE_CALENDAR != 0 +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_hal/lv_hal_indev.h" #include "../lv_misc/lv_utils.h" @@ -19,6 +20,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_calendar" /********************** * TYPEDEFS @@ -77,12 +79,12 @@ lv_obj_t * lv_calendar_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of calendar*/ lv_obj_t * new_calendar = lv_obj_create(par, copy); - lv_mem_assert(new_calendar); + LV_ASSERT_MEM(new_calendar); if(new_calendar == NULL) return NULL; /*Allocate the calendar type specific extended data*/ lv_calendar_ext_t * ext = lv_obj_allocate_ext_attr(new_calendar, sizeof(lv_calendar_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_calendar); if(ancestor_design == NULL) ancestor_design = lv_obj_get_design_cb(new_calendar); @@ -195,6 +197,9 @@ lv_obj_t * lv_calendar_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_calendar_set_today_date(lv_obj_t * calendar, lv_calendar_date_t * today) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + LV_ASSERT_NULL(today); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); ext->today.year = today->year; ext->today.month = today->month; @@ -211,6 +216,9 @@ void lv_calendar_set_today_date(lv_obj_t * calendar, lv_calendar_date_t * today) */ void lv_calendar_set_showed_date(lv_obj_t * calendar, lv_calendar_date_t * showed) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + LV_ASSERT_NULL(showed); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); ext->showed_date.year = showed->year; ext->showed_date.month = showed->month; @@ -226,8 +234,11 @@ void lv_calendar_set_showed_date(lv_obj_t * calendar, lv_calendar_date_t * showe * WILL BE SAVED! CAN'T BE LOCAL ARRAY. * @param date_num number of dates in the array */ -void lv_calendar_set_highlighted_dates(lv_obj_t * calendar, lv_calendar_date_t * highlighted, uint16_t date_num) +void lv_calendar_set_highlighted_dates(lv_obj_t * calendar, lv_calendar_date_t highlighted[], uint16_t date_num) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + LV_ASSERT_NULL(highlighted); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); ext->highlighted_dates = highlighted; ext->highlighted_dates_num = date_num; @@ -244,6 +255,9 @@ void lv_calendar_set_highlighted_dates(lv_obj_t * calendar, lv_calendar_date_t * */ void lv_calendar_set_day_names(lv_obj_t * calendar, const char ** day_names) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + LV_ASSERT_NULL(day_names); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); ext->day_names = day_names; lv_obj_invalidate(calendar); @@ -252,14 +266,17 @@ void lv_calendar_set_day_names(lv_obj_t * calendar, const char ** day_names) /** * Set the name of the month * @param calendar pointer to a calendar object - * @param day_names pointer to an array with the names. E.g. `const char * days[12] = {"Jan", "Feb", + * @param month_names pointer to an array with the names. E.g. `const char * days[12] = {"Jan", "Feb", * ...}` Only the pointer will be saved so this variable can't be local which will be destroyed * later. */ -void lv_calendar_set_month_names(lv_obj_t * calendar, const char ** day_names) +void lv_calendar_set_month_names(lv_obj_t * calendar, const char ** month_names) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + LV_ASSERT_NULL(month_names); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); - ext->month_names = day_names; + ext->month_names = month_names; lv_obj_invalidate(calendar); } @@ -271,6 +288,8 @@ void lv_calendar_set_month_names(lv_obj_t * calendar, const char ** day_names) * */ void lv_calendar_set_style(lv_obj_t * calendar, lv_calendar_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); switch(type) { @@ -298,6 +317,8 @@ void lv_calendar_set_style(lv_obj_t * calendar, lv_calendar_style_t type, const */ lv_calendar_date_t * lv_calendar_get_today_date(const lv_obj_t * calendar) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); return &ext->today; } @@ -309,6 +330,8 @@ lv_calendar_date_t * lv_calendar_get_today_date(const lv_obj_t * calendar) */ lv_calendar_date_t * lv_calendar_get_showed_date(const lv_obj_t * calendar) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); return &ext->showed_date; } @@ -321,6 +344,8 @@ lv_calendar_date_t * lv_calendar_get_showed_date(const lv_obj_t * calendar) */ lv_calendar_date_t * lv_calendar_get_pressed_date(const lv_obj_t * calendar) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); return ext->pressed_date.year != 0 ? &ext->pressed_date : NULL; } @@ -332,6 +357,8 @@ lv_calendar_date_t * lv_calendar_get_pressed_date(const lv_obj_t * calendar) */ lv_calendar_date_t * lv_calendar_get_highlighted_dates(const lv_obj_t * calendar) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); return ext->highlighted_dates; } @@ -343,6 +370,8 @@ lv_calendar_date_t * lv_calendar_get_highlighted_dates(const lv_obj_t * calendar */ uint16_t lv_calendar_get_highlighted_dates_num(const lv_obj_t * calendar) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); return ext->highlighted_dates_num; } @@ -354,6 +383,8 @@ uint16_t lv_calendar_get_highlighted_dates_num(const lv_obj_t * calendar) */ const char ** lv_calendar_get_day_names(const lv_obj_t * calendar) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); return ext->day_names; } @@ -365,6 +396,8 @@ const char ** lv_calendar_get_day_names(const lv_obj_t * calendar) */ const char ** lv_calendar_get_month_names(const lv_obj_t * calendar) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); return ext->month_names; } @@ -377,6 +410,8 @@ const char ** lv_calendar_get_month_names(const lv_obj_t * calendar) * */ const lv_style_t * lv_calendar_get_style(const lv_obj_t * calendar, lv_calendar_style_t type) { + LV_ASSERT_OBJ(calendar, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); @@ -454,6 +489,7 @@ static lv_res_t lv_calendar_signal(lv_obj_t * calendar, lv_signal_t sign, void * /* Include the ancient signal function */ res = ancestor_signal(calendar, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ @@ -542,13 +578,6 @@ static lv_res_t lv_calendar_signal(lv_obj_t * calendar, lv_signal_t sign, void * } lv_obj_invalidate(calendar); } - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set date*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_calendar"; } return res; @@ -641,6 +670,9 @@ static lv_coord_t get_day_names_height(lv_obj_t * calendar) static void draw_header(lv_obj_t * calendar, const lv_area_t * mask) { lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); + + lv_bidi_dir_t bidi_dir = lv_obj_get_base_dir(calendar); + lv_opa_t opa_scale = lv_obj_get_opa_scale(calendar); lv_area_t header_area; @@ -658,19 +690,19 @@ static void draw_header(lv_obj_t * calendar, const lv_area_t * mask) txt_buf[5] = '\0'; strcpy(&txt_buf[5], get_month_name(calendar, ext->showed_date.month)); header_area.y1 += ext->style_header->body.padding.top; - lv_draw_label(&header_area, mask, ext->style_header, opa_scale, txt_buf, LV_TXT_FLAG_CENTER, NULL, -1, -1, NULL); + lv_draw_label(&header_area, mask, ext->style_header, opa_scale, txt_buf, LV_TXT_FLAG_CENTER, NULL, NULL, NULL, bidi_dir); /*Add the left arrow*/ const lv_style_t * arrow_style = ext->btn_pressing < 0 ? ext->style_header_pr : ext->style_header; header_area.x1 += ext->style_header->body.padding.left; - lv_draw_label(&header_area, mask, arrow_style, opa_scale, LV_SYMBOL_LEFT, LV_TXT_FLAG_NONE, NULL, -1, -1, NULL); + lv_draw_label(&header_area, mask, arrow_style, opa_scale, LV_SYMBOL_LEFT, LV_TXT_FLAG_NONE, NULL, NULL, NULL, bidi_dir); /*Add the right arrow*/ arrow_style = ext->btn_pressing > 0 ? ext->style_header_pr : ext->style_header; header_area.x1 = header_area.x2 - ext->style_header->body.padding.right - lv_txt_get_width(LV_SYMBOL_RIGHT, strlen(LV_SYMBOL_RIGHT), arrow_style->text.font, arrow_style->text.line_space, LV_TXT_FLAG_NONE); - lv_draw_label(&header_area, mask, arrow_style, opa_scale, LV_SYMBOL_RIGHT, LV_TXT_FLAG_NONE, NULL, -1, -1, NULL); + lv_draw_label(&header_area, mask, arrow_style, opa_scale, LV_SYMBOL_RIGHT, LV_TXT_FLAG_NONE, NULL, NULL, NULL, bidi_dir); } /** @@ -681,6 +713,7 @@ static void draw_header(lv_obj_t * calendar, const lv_area_t * mask) static void draw_day_names(lv_obj_t * calendar, const lv_area_t * mask) { lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); + lv_bidi_dir_t bidi_dir = lv_obj_get_base_dir(calendar); lv_opa_t opa_scale = lv_obj_get_opa_scale(calendar); lv_coord_t l_pad = ext->style_day_names->body.padding.left; @@ -695,7 +728,7 @@ static void draw_day_names(lv_obj_t * calendar, const lv_area_t * mask) label_area.x1 = calendar->coords.x1 + (w * i) / 7 + l_pad; label_area.x2 = label_area.x1 + box_w - 1; lv_draw_label(&label_area, mask, ext->style_day_names, opa_scale, get_day_name(calendar, i), LV_TXT_FLAG_CENTER, - NULL, -1, -1, NULL); + NULL, NULL, NULL, bidi_dir); } } @@ -707,6 +740,7 @@ static void draw_day_names(lv_obj_t * calendar, const lv_area_t * mask) static void draw_days(lv_obj_t * calendar, const lv_area_t * mask) { lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar); + lv_bidi_dir_t bidi_dir = lv_obj_get_base_dir(calendar); const lv_style_t * style_bg = lv_calendar_get_style(calendar, LV_CALENDAR_STYLE_BG); lv_area_t label_area; lv_opa_t opa_scale = lv_obj_get_opa_scale(calendar); @@ -787,7 +821,7 @@ static void draw_days(lv_obj_t * calendar, const lv_area_t * mask) } label_area.x1 = - calendar->coords.x1 + (w * day) / 7 + style_bg->body.padding.left + style_bg->body.padding.right; + calendar->coords.x1 + (w * day) / 7 + style_bg->body.padding.left; label_area.x2 = label_area.x1 + box_w - 1; /*Draw the "today box"*/ @@ -824,7 +858,7 @@ static void draw_days(lv_obj_t * calendar, const lv_area_t * mask) /*Write the day's number*/ lv_utils_num_to_str(day_cnt, buf); - lv_draw_label(&label_area, mask, final_style, opa_scale, buf, LV_TXT_FLAG_CENTER, NULL, -1, -1, NULL); + lv_draw_label(&label_area, mask, final_style, opa_scale, buf, LV_TXT_FLAG_CENTER, NULL, NULL, NULL, bidi_dir); /*Go to the next day*/ day_cnt++; diff --git a/src/src/lv_objx/lv_calendar.h b/src/src/lv_objx/lv_calendar.h index 0ea9148..8d6c57f 100644 --- a/src/src/lv_objx/lv_calendar.h +++ b/src/src/lv_objx/lv_calendar.h @@ -122,7 +122,7 @@ void lv_calendar_set_showed_date(lv_obj_t * calendar, lv_calendar_date_t * showe * WILL BE SAVED! CAN'T BE LOCAL ARRAY. * @param date_num number of dates in the array */ -void lv_calendar_set_highlighted_dates(lv_obj_t * calendar, lv_calendar_date_t * highlighted, uint16_t date_num); +void lv_calendar_set_highlighted_dates(lv_obj_t * calendar, lv_calendar_date_t highlighted[], uint16_t date_num); /** * Set the name of the days @@ -136,11 +136,11 @@ void lv_calendar_set_day_names(lv_obj_t * calendar, const char ** day_names); /** * Set the name of the month * @param calendar pointer to a calendar object - * @param day_names pointer to an array with the names. E.g. `const char * days[12] = {"Jan", "Feb", + * @param month_names pointer to an array with the names. E.g. `const char * days[12] = {"Jan", "Feb", * ...}` Only the pointer will be saved so this variable can't be local which will be destroyed * later. */ -void lv_calendar_set_month_names(lv_obj_t * calendar, const char ** day_names); +void lv_calendar_set_month_names(lv_obj_t * calendar, const char ** month_names); /** * Set a style of a calendar. diff --git a/src/src/lv_objx/lv_canvas.c b/src/src/lv_objx/lv_canvas.c index 43610f3..58cd65c 100644 --- a/src/src/lv_objx/lv_canvas.c +++ b/src/src/lv_objx/lv_canvas.c @@ -8,6 +8,7 @@ *********************/ #include #include "lv_canvas.h" +#include "../lv_core/lv_debug.h" #include "../lv_misc/lv_math.h" #include "../lv_draw/lv_draw.h" #include "../lv_core/lv_refr.h" @@ -17,6 +18,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_canvas" /********************** * TYPEDEFS @@ -53,12 +55,12 @@ lv_obj_t * lv_canvas_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of canvas*/ lv_obj_t * new_canvas = lv_img_create(par, copy); - lv_mem_assert(new_canvas); + LV_ASSERT_MEM(new_canvas); if(new_canvas == NULL) return NULL; /*Allocate the canvas type specific extended data*/ lv_canvas_ext_t * ext = lv_obj_allocate_ext_attr(new_canvas, sizeof(lv_canvas_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_canvas); if(ancestor_design == NULL) ancestor_design = lv_obj_get_design_cb(new_canvas); @@ -111,6 +113,9 @@ lv_obj_t * lv_canvas_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_canvas_set_buffer(lv_obj_t * canvas, void * buf, lv_coord_t w, lv_coord_t h, lv_img_cf_t cf) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(buf); + lv_canvas_ext_t * ext = lv_obj_get_ext_attr(canvas); ext->dsc.header.cf = cf; @@ -131,6 +136,8 @@ void lv_canvas_set_buffer(lv_obj_t * canvas, void * buf, lv_coord_t w, lv_coord_ */ void lv_canvas_set_px(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_color_t c) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + lv_canvas_ext_t * ext = lv_obj_get_ext_attr(canvas); lv_img_buf_set_px_color(&ext->dsc, x, y, c); @@ -149,6 +156,8 @@ void lv_canvas_set_px(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_color_t */ void lv_canvas_set_palette(lv_obj_t * canvas, uint8_t id, lv_color_t c) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + lv_canvas_ext_t * ext = lv_obj_get_ext_attr(canvas); lv_img_buf_set_palette(&ext->dsc, id, c); @@ -163,6 +172,8 @@ void lv_canvas_set_palette(lv_obj_t * canvas, uint8_t id, lv_color_t c) */ void lv_canvas_set_style(lv_obj_t * canvas, lv_canvas_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + switch(type) { case LV_CANVAS_STYLE_MAIN: lv_img_set_style(canvas, LV_IMG_STYLE_MAIN, style); break; } @@ -181,6 +192,8 @@ void lv_canvas_set_style(lv_obj_t * canvas, lv_canvas_style_t type, const lv_sty */ lv_color_t lv_canvas_get_px(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + lv_canvas_ext_t * ext = lv_obj_get_ext_attr(canvas); const lv_style_t * style = lv_canvas_get_style(canvas, LV_CANVAS_STYLE_MAIN); @@ -194,6 +207,8 @@ lv_color_t lv_canvas_get_px(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y) */ lv_img_dsc_t * lv_canvas_get_img(lv_obj_t * canvas) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + lv_canvas_ext_t * ext = lv_obj_get_ext_attr(canvas); return &ext->dsc; @@ -207,6 +222,8 @@ lv_img_dsc_t * lv_canvas_get_img(lv_obj_t * canvas) */ const lv_style_t * lv_canvas_get_style(const lv_obj_t * canvas, lv_canvas_style_t type) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + const lv_style_t * style = NULL; switch(type) { @@ -233,6 +250,9 @@ const lv_style_t * lv_canvas_get_style(const lv_obj_t * canvas, lv_canvas_style_ */ void lv_canvas_copy_buf(lv_obj_t * canvas, const void * to_copy, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(to_copy); + lv_canvas_ext_t * ext = lv_obj_get_ext_attr(canvas); if(x + w >= ext->dsc.header.w || y + h >= ext->dsc.header.h) { LV_LOG_WARN("lv_canvas_copy_buf: x or y out of the canvas"); @@ -266,6 +286,9 @@ void lv_canvas_copy_buf(lv_obj_t * canvas, const void * to_copy, lv_coord_t x, l void lv_canvas_rotate(lv_obj_t * canvas, lv_img_dsc_t * img, int16_t angle, lv_coord_t offset_x, lv_coord_t offset_y, int32_t pivot_x, int32_t pivot_y) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(img); + lv_canvas_ext_t * ext_dst = lv_obj_get_ext_attr(canvas); const lv_style_t * style = lv_canvas_get_style(canvas, LV_CANVAS_STYLE_MAIN); int32_t sinma = lv_trigo_sin(-angle); @@ -430,6 +453,8 @@ void lv_canvas_rotate(lv_obj_t * canvas, lv_img_dsc_t * img, int16_t angle, lv_c */ void lv_canvas_fill_bg(lv_obj_t * canvas, lv_color_t color) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + lv_img_dsc_t * dsc = lv_canvas_get_img(canvas); uint32_t x = dsc->header.w * dsc->header.h; @@ -453,6 +478,9 @@ void lv_canvas_fill_bg(lv_obj_t * canvas, lv_color_t color) void lv_canvas_draw_rect(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h, const lv_style_t * style) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(style); + lv_img_dsc_t * dsc = lv_canvas_get_img(canvas); /* Create a dummy display to fool the lv_draw function. @@ -482,6 +510,7 @@ void lv_canvas_draw_rect(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord disp.driver.hor_res = dsc->header.w; disp.driver.ver_res = dsc->header.h; +#if LV_ANTIALIAS /*Disable anti-aliasing if drawing with transparent color to chroma keyed canvas*/ lv_color_t ctransp = LV_COLOR_TRANSP; if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED && @@ -490,6 +519,7 @@ void lv_canvas_draw_rect(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord { disp.driver.antialiasing = 0; } +#endif lv_disp_t * refr_ori = lv_refr_get_disp_refreshing(); lv_refr_set_disp_refreshing(&disp); @@ -512,6 +542,9 @@ void lv_canvas_draw_rect(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord void lv_canvas_draw_text(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_t max_w, const lv_style_t * style, const char * txt, lv_label_align_t align) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(style); + lv_img_dsc_t * dsc = lv_canvas_get_img(canvas); /* Create a dummy display to fool the lv_draw function. @@ -552,8 +585,7 @@ void lv_canvas_draw_text(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord default: flag = LV_TXT_FLAG_NONE; break; } - lv_draw_label(&coords, &mask, style, LV_OPA_COVER, txt, flag, NULL, LV_LABEL_TEXT_SEL_OFF, LV_LABEL_TEXT_SEL_OFF, - NULL); + lv_draw_label(&coords, &mask, style, LV_OPA_COVER, txt, flag, NULL, NULL, NULL, lv_obj_get_base_dir(canvas)); lv_refr_set_disp_refreshing(refr_ori); } @@ -566,6 +598,9 @@ void lv_canvas_draw_text(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord */ void lv_canvas_draw_img(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, const void * src, const lv_style_t * style) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(style); + lv_img_dsc_t * dsc = lv_canvas_get_img(canvas); /* Create a dummy display to fool the lv_draw function. @@ -619,6 +654,9 @@ void lv_canvas_draw_img(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, const voi */ void lv_canvas_draw_line(lv_obj_t * canvas, const lv_point_t * points, uint32_t point_cnt, const lv_style_t * style) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(style); + lv_img_dsc_t * dsc = lv_canvas_get_img(canvas); /* Create a dummy display to fool the lv_draw function. @@ -642,6 +680,7 @@ void lv_canvas_draw_line(lv_obj_t * canvas, const lv_point_t * points, uint32_t disp.driver.hor_res = dsc->header.w; disp.driver.ver_res = dsc->header.h; +#if LV_ANTIALIAS /*Disable anti-aliasing if drawing with transparent color to chroma keyed canvas*/ lv_color_t ctransp = LV_COLOR_TRANSP; if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED && @@ -650,15 +689,42 @@ void lv_canvas_draw_line(lv_obj_t * canvas, const lv_point_t * points, uint32_t { disp.driver.antialiasing = 0; } +#endif lv_disp_t * refr_ori = lv_refr_get_disp_refreshing(); lv_refr_set_disp_refreshing(&disp); + lv_style_t circle_style_tmp; /*If rounded...*/ + if(style->line.rounded) { + lv_style_copy(&circle_style_tmp, style); + circle_style_tmp.body.radius = LV_RADIUS_CIRCLE; + circle_style_tmp.body.main_color = style->line.color; + circle_style_tmp.body.grad_color = style->line.color; + circle_style_tmp.body.opa = style->line.opa; + } + lv_area_t circle_area; uint32_t i; for(i = 0; i < point_cnt - 1; i++) { lv_draw_line(&points[i], &points[i + 1], &mask, style, LV_OPA_COVER); + + /*Draw circle on the joints if enabled*/ + if(style->line.rounded) { + circle_area.x1 = points[i].x - ((style->line.width - 1) >> 1) - ((style->line.width - 1) & 0x1); + circle_area.y1 = points[i].y - ((style->line.width - 1) >> 1) - ((style->line.width - 1) & 0x1); + circle_area.x2 = points[i].x + ((style->line.width - 1) >> 1); + circle_area.y2 = points[i].y + ((style->line.width - 1) >> 1); + lv_draw_rect(&circle_area, &mask, &circle_style_tmp, LV_OPA_COVER); + } } - + /*Draw circle on the last point too if enabled*/ + if(style->line.rounded) { + circle_area.x1 = points[i].x - ((style->line.width - 1) >> 1) - ((style->line.width - 1) & 0x1); + circle_area.y1 = points[i].y - ((style->line.width - 1) >> 1) - ((style->line.width - 1) & 0x1); + circle_area.x2 = points[i].x + ((style->line.width - 1) >> 1); + circle_area.y2 = points[i].y + ((style->line.width - 1) >> 1); + lv_draw_rect(&circle_area, &mask, &circle_style_tmp, LV_OPA_COVER); + } + lv_refr_set_disp_refreshing(refr_ori); } @@ -671,6 +737,9 @@ void lv_canvas_draw_line(lv_obj_t * canvas, const lv_point_t * points, uint32_t */ void lv_canvas_draw_polygon(lv_obj_t * canvas, const lv_point_t * points, uint32_t point_cnt, const lv_style_t * style) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(style); + lv_img_dsc_t * dsc = lv_canvas_get_img(canvas); /* Create a dummy display to fool the lv_draw function. @@ -694,6 +763,7 @@ void lv_canvas_draw_polygon(lv_obj_t * canvas, const lv_point_t * points, uint32 disp.driver.hor_res = dsc->header.w; disp.driver.ver_res = dsc->header.h; +#if LV_ANTIALIAS /*Disable anti-aliasing if drawing with transparent color to chroma keyed canvas*/ lv_color_t ctransp = LV_COLOR_TRANSP; if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED && @@ -702,6 +772,7 @@ void lv_canvas_draw_polygon(lv_obj_t * canvas, const lv_point_t * points, uint32 { disp.driver.antialiasing = 0; } +#endif lv_disp_t * refr_ori = lv_refr_get_disp_refreshing(); lv_refr_set_disp_refreshing(&disp); @@ -724,6 +795,9 @@ void lv_canvas_draw_polygon(lv_obj_t * canvas, const lv_point_t * points, uint32 void lv_canvas_draw_arc(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_t r, int32_t start_angle, int32_t end_angle, const lv_style_t * style) { + LV_ASSERT_OBJ(canvas, LV_OBJX_NAME); + LV_ASSERT_NULL(style); + lv_img_dsc_t * dsc = lv_canvas_get_img(canvas); /* Create a dummy display to fool the lv_draw function. @@ -747,6 +821,7 @@ void lv_canvas_draw_arc(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_ disp.driver.hor_res = dsc->header.w; disp.driver.ver_res = dsc->header.h; +#if LV_ANTIALIAS /*Disable anti-aliasing if drawing with transparent color to chroma keyed canvas*/ lv_color_t ctransp = LV_COLOR_TRANSP; if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED && @@ -755,6 +830,7 @@ void lv_canvas_draw_arc(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_ { disp.driver.antialiasing = 0; } +#endif lv_disp_t * refr_ori = lv_refr_get_disp_refreshing(); lv_refr_set_disp_refreshing(&disp); @@ -782,16 +858,10 @@ static lv_res_t lv_canvas_signal(lv_obj_t * canvas, lv_signal_t sign, void * par /* Include the ancient signal function */ res = ancestor_signal(canvas, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_canvas"; } return res; diff --git a/src/src/lv_objx/lv_canvas.h b/src/src/lv_objx/lv_canvas.h index 1d59d44..9f9cf03 100644 --- a/src/src/lv_objx/lv_canvas.h +++ b/src/src/lv_objx/lv_canvas.h @@ -23,6 +23,7 @@ extern "C" { #include "../lv_core/lv_obj.h" #include "../lv_objx/lv_img.h" +#include "../lv_draw/lv_draw_img.h" /********************* * DEFINES @@ -239,21 +240,21 @@ void lv_canvas_draw_arc(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_ /********************** * MACROS **********************/ -#define LV_CANVAS_BUF_SIZE_TRUE_COLOR(w, h) ((LV_COLOR_SIZE / 8) * w * h) -#define LV_CANVAS_BUF_SIZE_TRUE_COLOR_CHROMA_KEYED(w, h) ((LV_COLOR_SIZE / 8) * w * h) -#define LV_CANVAS_BUF_SIZE_TRUE_COLOR_ALPHA(w, h) (LV_IMG_PX_SIZE_ALPHA_BYTE * w * h) +#define LV_CANVAS_BUF_SIZE_TRUE_COLOR(w, h) LV_IMG_BUF_SIZE_TRUE_COLOR(w, h) +#define LV_CANVAS_BUF_SIZE_TRUE_COLOR_CHROMA_KEYED(w, h) LV_IMG_BUF_SIZE_TRUE_COLOR_CHROMA_KEYED(w, h) +#define LV_CANVAS_BUF_SIZE_TRUE_COLOR_ALPHA(w, h) LV_IMG_BUF_SIZE_TRUE_COLOR_ALPHA(w, h) /*+ 1: to be sure no fractional row*/ -#define LV_CANVAS_BUF_SIZE_ALPHA_1BIT(w, h) ((((w / 8) + 1) * h)) -#define LV_CANVAS_BUF_SIZE_ALPHA_2BIT(w, h) ((((w / 4) + 1) * h)) -#define LV_CANVAS_BUF_SIZE_ALPHA_4BIT(w, h) ((((w / 2) + 1) * h)) -#define LV_CANVAS_BUF_SIZE_ALPHA_8BIT(w, h) ((w * h)) +#define LV_CANVAS_BUF_SIZE_ALPHA_1BIT(w, h) LV_IMG_BUF_SIZE_ALPHA_1BIT(w, h) +#define LV_CANVAS_BUF_SIZE_ALPHA_2BIT(w, h) LV_IMG_BUF_SIZE_ALPHA_2BIT(w, h) +#define LV_CANVAS_BUF_SIZE_ALPHA_4BIT(w, h) LV_IMG_BUF_SIZE_ALPHA_4BIT(w, h) +#define LV_CANVAS_BUF_SIZE_ALPHA_8BIT(w, h) LV_IMG_BUF_SIZE_ALPHA_8BIT(w, h) /*4 * X: for palette*/ -#define LV_CANVAS_BUF_SIZE_INDEXED_1BIT(w, h) (LV_CANVAS_BUF_SIZE_ALPHA_1BIT(w, h) + 4 * 2) -#define LV_CANVAS_BUF_SIZE_INDEXED_2BIT(w, h) (LV_CANVAS_BUF_SIZE_ALPHA_2BIT(w, h) + 4 * 4) -#define LV_CANVAS_BUF_SIZE_INDEXED_4BIT(w, h) (LV_CANVAS_BUF_SIZE_ALPHA_4BIT(w, h) + 4 * 16) -#define LV_CANVAS_BUF_SIZE_INDEXED_8BIT(w, h) (LV_CANVAS_BUF_SIZE_ALPHA_8BIT(w, h) + 4 * 256) +#define LV_CANVAS_BUF_SIZE_INDEXED_1BIT(w, h) LV_IMG_BUF_SIZE_INDEXED_1BIT(w, h) +#define LV_CANVAS_BUF_SIZE_INDEXED_2BIT(w, h) LV_IMG_BUF_SIZE_INDEXED_2BIT(w, h) +#define LV_CANVAS_BUF_SIZE_INDEXED_4BIT(w, h) LV_IMG_BUF_SIZE_INDEXED_4BIT(w, h) +#define LV_CANVAS_BUF_SIZE_INDEXED_8BIT(w, h) LV_IMG_BUF_SIZE_INDEXED_8BIT(w, h) #endif /*LV_USE_CANVAS*/ diff --git a/src/src/lv_objx/lv_cb.c b/src/src/lv_objx/lv_cb.c index ef76f22..c54adf4 100644 --- a/src/src/lv_objx/lv_cb.c +++ b/src/src/lv_objx/lv_cb.c @@ -9,12 +9,14 @@ #include "lv_cb.h" #if LV_USE_CB != 0 +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" #include "../lv_themes/lv_theme.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_cb" /********************** * TYPEDEFS @@ -55,14 +57,14 @@ lv_obj_t * lv_cb_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor basic object*/ lv_obj_t * new_cb = lv_btn_create(par, copy); - lv_mem_assert(new_cb); + LV_ASSERT_MEM(new_cb); if(new_cb == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_cb); if(ancestor_bg_design == NULL) ancestor_bg_design = lv_obj_get_design_cb(new_cb); lv_cb_ext_t * ext = lv_obj_allocate_ext_attr(new_cb, sizeof(lv_cb_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->bullet = NULL; @@ -126,6 +128,8 @@ lv_obj_t * lv_cb_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_cb_set_text(lv_obj_t * cb, const char * txt) { + LV_ASSERT_OBJ(cb, LV_OBJX_NAME); + lv_cb_ext_t * ext = lv_obj_get_ext_attr(cb); lv_label_set_text(ext->label, txt); } @@ -138,6 +142,8 @@ void lv_cb_set_text(lv_obj_t * cb, const char * txt) */ void lv_cb_set_static_text(lv_obj_t * cb, const char * txt) { + LV_ASSERT_OBJ(cb, LV_OBJX_NAME); + lv_cb_ext_t * ext = lv_obj_get_ext_attr(cb); lv_label_set_static_text(ext->label, txt); } @@ -150,6 +156,8 @@ void lv_cb_set_static_text(lv_obj_t * cb, const char * txt) * */ void lv_cb_set_style(lv_obj_t * cb, lv_cb_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(cb, LV_OBJX_NAME); + lv_cb_ext_t * ext = lv_obj_get_ext_attr(cb); switch(type) { @@ -179,6 +187,8 @@ void lv_cb_set_style(lv_obj_t * cb, lv_cb_style_t type, const lv_style_t * style */ const char * lv_cb_get_text(const lv_obj_t * cb) { + LV_ASSERT_OBJ(cb, LV_OBJX_NAME); + lv_cb_ext_t * ext = lv_obj_get_ext_attr(cb); return lv_label_get_text(ext->label); } @@ -191,10 +201,13 @@ const char * lv_cb_get_text(const lv_obj_t * cb) * */ const lv_style_t * lv_cb_get_style(const lv_obj_t * cb, lv_cb_style_t type) { + LV_ASSERT_OBJ(cb, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_cb_ext_t * ext = lv_obj_get_ext_attr(cb); switch(type) { + case LV_CB_STYLE_BG: style = lv_btn_get_style(cb, LV_BTN_STYLE_REL); break; case LV_CB_STYLE_BOX_REL: style = lv_btn_get_style(ext->bullet, LV_BTN_STYLE_REL); break; case LV_CB_STYLE_BOX_PR: style = lv_btn_get_style(ext->bullet, LV_BTN_STYLE_PR); break; case LV_CB_STYLE_BOX_TGL_REL: style = lv_btn_get_style(ext->bullet, LV_BTN_STYLE_TGL_REL); break; @@ -300,6 +313,7 @@ static lv_res_t lv_cb_signal(lv_obj_t * cb, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(cb, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_cb_ext_t * ext = lv_obj_get_ext_attr(cb); @@ -316,13 +330,6 @@ static lv_res_t lv_cb_signal(lv_obj_t * cb, lv_signal_t sign, void * param) /*Follow the backgrounds state with the bullet*/ lv_btn_set_state(ext->bullet, lv_btn_get_state(cb)); } - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_cb"; } return res; diff --git a/src/src/lv_objx/lv_cb.h b/src/src/lv_objx/lv_cb.h index 5fa598b..a6b1e74 100644 --- a/src/src/lv_objx/lv_cb.h +++ b/src/src/lv_objx/lv_cb.h @@ -149,7 +149,7 @@ static inline bool lv_cb_is_checked(const lv_obj_t * cb) */ static inline bool lv_cb_is_inactive(const lv_obj_t * cb) { - return lv_btn_get_state(cb) == LV_BTN_STATE_INA ? false : true; + return lv_btn_get_state(cb) == LV_BTN_STATE_INA ? true :false; } /** diff --git a/src/src/lv_objx/lv_chart.c b/src/src/lv_objx/lv_chart.c index 345e8f1..5da3b84 100644 --- a/src/src/lv_objx/lv_chart.c +++ b/src/src/lv_objx/lv_chart.c @@ -9,6 +9,7 @@ #include "lv_chart.h" #if LV_USE_CHART != 0 +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_refr.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" @@ -16,6 +17,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_chart" + #define LV_CHART_YMIN_DEF 0 #define LV_CHART_YMAX_DEF 100 #define LV_CHART_HDIV_DEF 3 @@ -24,11 +27,22 @@ #define LV_CHART_AXIS_TO_LABEL_DISTANCE 4 #define LV_CHART_AXIS_MAJOR_TICK_LEN_COE 1 / 15 #define LV_CHART_AXIS_MINOR_TICK_LEN_COE 2 / 3 +#define LV_CHART_AXIS_PRIMARY_Y 1 +#define LV_CHART_AXIS_SECONDARY_Y 0 +#define LV_CHART_LABEL_ITERATOR_FORWARD 1 +#define LV_CHART_LABEL_ITERATOR_REVERSE 0 /********************** * TYPEDEFS **********************/ +typedef struct { + const char * list_start; + const char * current_pos; + uint8_t items_left; + uint8_t is_reverse_iter; +} lv_chart_label_iterator_t; + /********************** * STATIC PROTOTYPES **********************/ @@ -44,6 +58,9 @@ static void lv_chart_draw_axes(lv_obj_t * chart, const lv_area_t * mask); static void lv_chart_inv_lines(lv_obj_t * chart, uint16_t i); static void lv_chart_inv_points(lv_obj_t * chart, uint16_t i); static void lv_chart_inv_cols(lv_obj_t * chart, uint16_t i); +static void lv_chart_get_next_label(lv_chart_label_iterator_t * iterator, char * buf); +static inline bool lv_chart_is_tick_with_label(uint8_t tick_num, lv_chart_axis_cfg_t * axis); +static lv_chart_label_iterator_t lv_chart_create_label_iter(const char * list, uint8_t iterator_dir); /********************** * STATIC VARIABLES @@ -72,12 +89,12 @@ lv_obj_t * lv_chart_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor basic object*/ lv_obj_t * new_chart = lv_obj_create(par, copy); - lv_mem_assert(new_chart); + LV_ASSERT_MEM(new_chart); if(new_chart == NULL) return NULL; /*Allocate the object type specific extended data*/ lv_chart_ext_t * ext = lv_obj_allocate_ext_attr(new_chart, sizeof(lv_chart_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; lv_ll_init(&ext->series_ll, sizeof(lv_chart_series_t)); @@ -96,10 +113,13 @@ lv_obj_t * lv_chart_create(lv_obj_t * par, const lv_obj_t * copy) ext->margin = 0; memset(&ext->x_axis, 0, sizeof(ext->x_axis)); memset(&ext->y_axis, 0, sizeof(ext->y_axis)); + memset(&ext->secondary_y_axis, 0, sizeof(ext->secondary_y_axis)); ext->x_axis.major_tick_len = LV_CHART_TICK_LENGTH_AUTO; ext->x_axis.minor_tick_len = LV_CHART_TICK_LENGTH_AUTO; ext->y_axis.major_tick_len = LV_CHART_TICK_LENGTH_AUTO; ext->y_axis.minor_tick_len = LV_CHART_TICK_LENGTH_AUTO; + ext->secondary_y_axis.major_tick_len = LV_CHART_TICK_LENGTH_AUTO; + ext->secondary_y_axis.minor_tick_len = LV_CHART_TICK_LENGTH_AUTO; if(ancestor_design_f == NULL) ancestor_design_f = lv_obj_get_design_cb(new_chart); if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_chart); @@ -132,6 +152,7 @@ lv_obj_t * lv_chart_create(lv_obj_t * par, const lv_obj_t * copy) ext->margin = ext_copy->margin; memcpy(&ext->x_axis, &ext_copy->x_axis, sizeof(lv_chart_axis_cfg_t)); memcpy(&ext->y_axis, &ext_copy->y_axis, sizeof(lv_chart_axis_cfg_t)); + memcpy(&ext->secondary_y_axis, &ext_copy->secondary_y_axis, sizeof(lv_chart_axis_cfg_t)); /*Refresh the style with new signal function*/ lv_obj_refresh_style(new_chart); @@ -154,9 +175,11 @@ lv_obj_t * lv_chart_create(lv_obj_t * par, const lv_obj_t * copy) */ lv_chart_series_t * lv_chart_add_series(lv_obj_t * chart, lv_color_t color) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); lv_chart_series_t * ser = lv_ll_ins_head(&ext->series_ll); - lv_mem_assert(ser); + LV_ASSERT_MEM(ser); if(ser == NULL) return NULL; lv_coord_t def = LV_CHART_POINT_DEF; @@ -165,7 +188,7 @@ lv_chart_series_t * lv_chart_add_series(lv_obj_t * chart, lv_color_t color) ser->color = color; ser->points = lv_mem_alloc(sizeof(lv_coord_t) * ext->point_cnt); - lv_mem_assert(ser->points); + LV_ASSERT_MEM(ser->points); if(ser->points == NULL) { lv_ll_rem(&ext->series_ll, ser); lv_mem_free(ser); @@ -193,6 +216,9 @@ lv_chart_series_t * lv_chart_add_series(lv_obj_t * chart, lv_color_t color) */ void lv_chart_clear_serie(lv_obj_t * chart, lv_chart_series_t * serie) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + LV_ASSERT_NULL(serie); + if(chart == NULL || serie == NULL) return; lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext == NULL) return; @@ -217,6 +243,8 @@ void lv_chart_clear_serie(lv_obj_t * chart, lv_chart_series_t * serie) */ void lv_chart_set_div_line_count(lv_obj_t * chart, uint8_t hdiv, uint8_t vdiv) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->hdiv_cnt == hdiv && ext->vdiv_cnt == vdiv) return; @@ -234,6 +262,8 @@ void lv_chart_set_div_line_count(lv_obj_t * chart, uint8_t hdiv, uint8_t vdiv) */ void lv_chart_set_range(lv_obj_t * chart, lv_coord_t ymin, lv_coord_t ymax) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->ymin == ymin && ext->ymax == ymax) return; @@ -250,6 +280,8 @@ void lv_chart_set_range(lv_obj_t * chart, lv_coord_t ymin, lv_coord_t ymax) */ void lv_chart_set_type(lv_obj_t * chart, lv_chart_type_t type) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->type == type) return; @@ -265,6 +297,8 @@ void lv_chart_set_type(lv_obj_t * chart, lv_chart_type_t type) */ void lv_chart_set_point_count(lv_obj_t * chart, uint16_t point_cnt) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->point_cnt == point_cnt) return; @@ -279,7 +313,7 @@ void lv_chart_set_point_count(lv_obj_t * chart, uint16_t point_cnt) { if(ser->start_point != 0) { lv_coord_t * new_points = lv_mem_alloc(sizeof(lv_coord_t) * point_cnt); - lv_mem_assert(new_points); + LV_ASSERT_MEM(new_points); if(new_points == NULL) return; if(point_cnt >= point_cnt_old) { @@ -302,7 +336,7 @@ void lv_chart_set_point_count(lv_obj_t * chart, uint16_t point_cnt) ser->points = new_points; } else { ser->points = lv_mem_realloc(ser->points, sizeof(lv_coord_t) * point_cnt); - lv_mem_assert(ser->points); + LV_ASSERT_MEM(ser->points); if(ser->points == NULL) return; /*Initialize the new points*/ if(point_cnt > point_cnt_old) { @@ -327,6 +361,8 @@ void lv_chart_set_point_count(lv_obj_t * chart, uint16_t point_cnt) */ void lv_chart_set_series_opa(lv_obj_t * chart, lv_opa_t opa) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->series.opa == opa) return; @@ -341,6 +377,8 @@ void lv_chart_set_series_opa(lv_obj_t * chart, lv_opa_t opa) */ void lv_chart_set_series_width(lv_obj_t * chart, lv_coord_t width) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->series.width == width) return; @@ -354,6 +392,8 @@ void lv_chart_set_series_width(lv_obj_t * chart, lv_coord_t width) */ void lv_chart_set_series_darking(lv_obj_t * chart, lv_opa_t dark_eff) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->series.dark == dark_eff) return; @@ -369,6 +409,9 @@ void lv_chart_set_series_darking(lv_obj_t * chart, lv_opa_t dark_eff) */ void lv_chart_init_points(lv_obj_t * chart, lv_chart_series_t * ser, lv_coord_t y) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + LV_ASSERT_NULL(ser); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); uint16_t i; for(i = 0; i < ext->point_cnt; i++) { @@ -386,6 +429,9 @@ void lv_chart_init_points(lv_obj_t * chart, lv_chart_series_t * ser, lv_coord_t */ void lv_chart_set_points(lv_obj_t * chart, lv_chart_series_t * ser, lv_coord_t y_array[]) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + LV_ASSERT_NULL(ser); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); memcpy(ser->points, y_array, ext->point_cnt * (sizeof(lv_coord_t))); ser->start_point = 0; @@ -400,6 +446,9 @@ void lv_chart_set_points(lv_obj_t * chart, lv_chart_series_t * ser, lv_coord_t y */ void lv_chart_set_next(lv_obj_t * chart, lv_chart_series_t * ser, lv_coord_t y) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + LV_ASSERT_NULL(ser); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->update_mode == LV_CHART_UPDATE_MODE_SHIFT) { ser->points[ser->start_point] = @@ -426,6 +475,8 @@ void lv_chart_set_next(lv_obj_t * chart, lv_chart_series_t * ser, lv_coord_t y) */ void lv_chart_set_update_mode(lv_obj_t * chart, lv_chart_update_mode_t update_mode) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(ext->update_mode == update_mode) return; @@ -443,6 +494,8 @@ void lv_chart_set_update_mode(lv_obj_t * chart, lv_chart_update_mode_t update_mo */ void lv_chart_set_x_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_t minor_tick_len) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); ext->x_axis.major_tick_len = major_tick_len; ext->x_axis.minor_tick_len = minor_tick_len; @@ -458,11 +511,30 @@ void lv_chart_set_x_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_ */ void lv_chart_set_y_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_t minor_tick_len) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); ext->y_axis.major_tick_len = major_tick_len; ext->y_axis.minor_tick_len = minor_tick_len; } +/** + * Set the length of the tick marks on the secondary y axis + * @param chart pointer to the chart + * @param major_tick_len the length of the major tick or `LV_CHART_TICK_LENGTH_AUTO` to set automatically + * (where labels are added) + * @param minor_tick_len the length of the minor tick, `LV_CHART_TICK_LENGTH_AUTO` to set automatically + * (where no labels are added) + */ +void lv_chart_set_secondary_y_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_t minor_tick_len) +{ + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); + ext->secondary_y_axis.major_tick_len = major_tick_len; + ext->secondary_y_axis.minor_tick_len = minor_tick_len; +} + /** * Set the x-axis tick count and labels of a chart * @param chart pointer to a chart object @@ -474,6 +546,9 @@ void lv_chart_set_y_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_ void lv_chart_set_x_tick_texts(lv_obj_t * chart, const char * list_of_values, uint8_t num_tick_marks, lv_chart_axis_options_t options) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + LV_ASSERT_NULL(list_of_values); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); ext->x_axis.num_tick_marks = num_tick_marks; ext->x_axis.list_of_values = list_of_values; @@ -491,12 +566,35 @@ void lv_chart_set_x_tick_texts(lv_obj_t * chart, const char * list_of_values, ui void lv_chart_set_y_tick_texts(lv_obj_t * chart, const char * list_of_values, uint8_t num_tick_marks, lv_chart_axis_options_t options) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + LV_ASSERT_NULL(list_of_values); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); ext->y_axis.num_tick_marks = num_tick_marks; ext->y_axis.list_of_values = list_of_values; ext->y_axis.options = options; } +/** + * Set the secondary y-axis tick count and labels of a chart + * @param chart pointer to a chart object + * @param list_of_values list of string values, terminated with \n, except the last + * @param num_tick_marks if list_of_values is NULL: total number of ticks per axis + * else number of ticks between two value labels + * @param options extra options + */ +void lv_chart_set_secondary_y_tick_texts(lv_obj_t * chart, const char * list_of_values, uint8_t num_tick_marks, + lv_chart_axis_options_t options) +{ + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + LV_ASSERT_NULL(list_of_values); + + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); + ext->secondary_y_axis.num_tick_marks = num_tick_marks; + ext->secondary_y_axis.list_of_values = list_of_values; + ext->secondary_y_axis.options = options; +} + /** * Set the margin around the chart, used for axes value and ticks * @param chart pointer to an chart object @@ -504,6 +602,8 @@ void lv_chart_set_y_tick_texts(lv_obj_t * chart, const char * list_of_values, ui */ void lv_chart_set_margin(lv_obj_t * chart, uint16_t margin) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); ext->margin = margin; lv_obj_refresh_ext_draw_pad(chart); @@ -520,6 +620,8 @@ void lv_chart_set_margin(lv_obj_t * chart, uint16_t margin) */ lv_chart_type_t lv_chart_get_type(const lv_obj_t * chart) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); return ext->type; } @@ -531,6 +633,8 @@ lv_chart_type_t lv_chart_get_type(const lv_obj_t * chart) */ uint16_t lv_chart_get_point_cnt(const lv_obj_t * chart) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); return ext->point_cnt; } @@ -542,6 +646,8 @@ uint16_t lv_chart_get_point_cnt(const lv_obj_t * chart) */ lv_opa_t lv_chart_get_series_opa(const lv_obj_t * chart) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); return ext->series.opa; } @@ -553,6 +659,8 @@ lv_opa_t lv_chart_get_series_opa(const lv_obj_t * chart) */ lv_coord_t lv_chart_get_series_width(const lv_obj_t * chart) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); return ext->series.width; } @@ -564,6 +672,8 @@ lv_coord_t lv_chart_get_series_width(const lv_obj_t * chart) */ lv_opa_t lv_chart_get_series_darking(const lv_obj_t * chart) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); return ext->series.dark; } @@ -578,6 +688,8 @@ lv_opa_t lv_chart_get_series_darking(const lv_obj_t * chart) */ void lv_chart_refresh(lv_obj_t * chart) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_obj_invalidate(chart); } @@ -588,6 +700,8 @@ void lv_chart_refresh(lv_obj_t * chart) */ uint16_t lv_chart_get_margin(lv_obj_t * chart) { + LV_ASSERT_OBJ(chart, LV_OBJX_NAME); + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); return ext->margin; } @@ -619,11 +733,20 @@ static bool lv_chart_design(lv_obj_t * chart, const lv_area_t * mask, lv_design_ lv_chart_draw_div(chart, mask); - if(ext->type & LV_CHART_TYPE_LINE) lv_chart_draw_lines(chart, mask); - if(ext->type & LV_CHART_TYPE_COLUMN) lv_chart_draw_cols(chart, mask); - if(ext->type & LV_CHART_TYPE_POINT) lv_chart_draw_points(chart, mask); - if(ext->type & LV_CHART_TYPE_VERTICAL_LINE) lv_chart_draw_vertical_lines(chart, mask); - if(ext->type & LV_CHART_TYPE_AREA) lv_chart_draw_areas(chart, mask); + /* Adjust the mask to remove the margin (clips chart contents to be within background) */ + + lv_area_t mask_tmp, adjusted_mask; + lv_obj_get_coords(chart, &mask_tmp); + + bool union_ok = lv_area_intersect(&adjusted_mask, mask, &mask_tmp); + + if(union_ok) { + if(ext->type & LV_CHART_TYPE_LINE) lv_chart_draw_lines(chart, &adjusted_mask); + if(ext->type & LV_CHART_TYPE_COLUMN) lv_chart_draw_cols(chart, &adjusted_mask); + if(ext->type & LV_CHART_TYPE_POINT) lv_chart_draw_points(chart, &adjusted_mask); + if(ext->type & LV_CHART_TYPE_VERTICAL_LINE) lv_chart_draw_vertical_lines(chart, &adjusted_mask); + if(ext->type & LV_CHART_TYPE_AREA) lv_chart_draw_areas(chart, &adjusted_mask); + } lv_chart_draw_axes(chart, mask); } @@ -638,12 +761,13 @@ static bool lv_chart_design(lv_obj_t * chart, const lv_area_t * mask, lv_design_ */ static lv_res_t lv_chart_signal(lv_obj_t * chart, lv_signal_t sign, void * param) { - lv_res_t res; - lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); - /* Include the ancient signal function */ + lv_res_t res; res = ancestor_signal(chart, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); + + lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); if(sign == LV_SIGNAL_CLEANUP) { lv_coord_t ** datal; @@ -652,13 +776,6 @@ static lv_res_t lv_chart_signal(lv_obj_t * chart, lv_signal_t sign, void * param lv_mem_free(*datal); } lv_ll_clear(&ext->series_ll); - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_chart"; } else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { /*Provide extra px draw area around the chart*/ chart->ext_draw_pad = ext->margin; @@ -1037,65 +1154,187 @@ static void lv_chart_draw_areas(lv_obj_t * chart, const lv_area_t * mask) } } -static void lv_chart_draw_y_ticks(lv_obj_t * chart, const lv_area_t * mask) +/** + * Create iterator for newline-separated list + * @param list pointer to newline-separated labels list + * @param iterator_dir LV_CHART_ITERATOR_FORWARD or LV_CHART_LABEL_ITERATOR_REVERSE + * @return lv_chart_label_iterator_t + */ +static lv_chart_label_iterator_t lv_chart_create_label_iter(const char * list, uint8_t iterator_dir) +{ + lv_chart_label_iterator_t iterator = {0}; + uint8_t j; + + iterator.list_start = list; + + /* count number of list items */ + for(j = 0; list[j] != '\0'; j++) { + if(list[j] == '\n') + iterator.items_left++; + } + + if(iterator_dir == LV_CHART_LABEL_ITERATOR_FORWARD) { + iterator.is_reverse_iter = 0; + iterator.current_pos = list; + } else { + iterator.is_reverse_iter = 1; + // -1 to skip '\0' at the end of the string + iterator.current_pos = list + j - 1; + } + iterator.items_left++; + return iterator; +} + +/** + * Get next label from iterator created by lv_chart_create_label_iter() + * @param iterator iterator to get label from + * @param[out] buf buffer to point next label to + */ +static void lv_chart_get_next_label(lv_chart_label_iterator_t * iterator, char * buf) +{ + uint8_t label_len = 0; + if (iterator->is_reverse_iter) { + const char * label_start; + /* count the length of the current label*/ + while ((*iterator->current_pos != '\n') && + (iterator->current_pos != iterator->list_start)) { + iterator->current_pos--; + label_len++; + } + + label_start = iterator->current_pos; + + if (*iterator->current_pos == '\n') { + /* do not copy \n symbol, +1 to skip it*/ + label_start++; + /* skip newline*/ + iterator->current_pos--; + } else { + /* it is last label in list (first one from the beginning )*/ + label_len++; + } + + /* do not allow output buffer overflow */ + if (label_len > LV_CHART_AXIS_TICK_LABEL_MAX_LEN) { + label_len = LV_CHART_AXIS_TICK_LABEL_MAX_LEN; + } + + strncpy(buf, label_start, label_len); + } else { + /* search for tick string */ + while(iterator->current_pos[label_len] != '\n' && + iterator->current_pos[label_len] != '\0') { + /* do not overflow the buffer, but move to the end of the current label */ + if(label_len < LV_CHART_AXIS_TICK_LABEL_MAX_LEN) { + buf[label_len] = iterator->current_pos[label_len]; + label_len++; + } else { + label_len++; + } + } + + iterator->current_pos += label_len; + + /* do not allow output buffer overflow */ + if (label_len > LV_CHART_AXIS_TICK_LABEL_MAX_LEN) { + label_len = LV_CHART_AXIS_TICK_LABEL_MAX_LEN; + } + + if(*iterator->current_pos == '\n') iterator->current_pos++; + } + + /* terminate the string */ + buf[label_len] = '\0'; +} + +/** + * Check whether there should be a label next to tick with given + * number + * @param tick_num number of the tick to check + * @param axis pointer to struct containing info on the axis + * @return true if label should be located next to current tick + */ +static inline bool lv_chart_is_tick_with_label(uint8_t tick_num, lv_chart_axis_cfg_t * axis) +{ + return ((tick_num == 0) || ((tick_num % axis->num_tick_marks) == 0)); +} + +static void lv_chart_draw_y_ticks(lv_obj_t * chart, const lv_area_t * mask, uint8_t which_axis) { lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart); + lv_chart_axis_cfg_t * y_axis = (which_axis == LV_CHART_AXIS_PRIMARY_Y) ? + &ext->y_axis : &ext->secondary_y_axis; - if(ext->y_axis.list_of_values != NULL || ext->y_axis.num_tick_marks != 0) { + if(y_axis->list_of_values != NULL || y_axis->num_tick_marks != 0) { const lv_style_t * style = lv_obj_get_style(chart); lv_opa_t opa_scale = lv_obj_get_opa_scale(chart); - uint8_t i, j; - uint8_t list_index; + uint8_t i; uint8_t num_of_labels; uint8_t num_scale_ticks; - uint8_t major_tick_len, minor_tick_len; + int8_t major_tick_len, minor_tick_len; + uint8_t iter_dir; + lv_point_t p1; lv_point_t p2; - lv_coord_t x_ofs = chart->coords.x1; + lv_coord_t x_ofs; + lv_chart_label_iterator_t iter; lv_coord_t y_ofs = chart->coords.y1; lv_coord_t h = lv_obj_get_height(chart); lv_coord_t w = lv_obj_get_width(chart); char buf[LV_CHART_AXIS_TICK_LABEL_MAX_LEN + 1]; /* up to N symbols per label + null terminator */ + /* chose correct side of the chart */ + if(which_axis == LV_CHART_AXIS_PRIMARY_Y) + x_ofs = chart->coords.x1; + else + x_ofs = chart->coords.x2; + /* calculate the size of tick marks */ - if(ext->y_axis.major_tick_len == LV_CHART_TICK_LENGTH_AUTO) + if(y_axis->major_tick_len == LV_CHART_TICK_LENGTH_AUTO) major_tick_len = (int32_t)w * LV_CHART_AXIS_MAJOR_TICK_LEN_COE; else - major_tick_len = ext->y_axis.major_tick_len; + major_tick_len = y_axis->major_tick_len; - if(ext->y_axis.minor_tick_len == LV_CHART_TICK_LENGTH_AUTO) + if(y_axis->minor_tick_len == LV_CHART_TICK_LENGTH_AUTO) minor_tick_len = major_tick_len * LV_CHART_AXIS_MINOR_TICK_LEN_COE; else - minor_tick_len = ext->y_axis.minor_tick_len; - - /* count the '\n'-s to determine the number of options */ - list_index = 0; - num_of_labels = 0; - if(ext->y_axis.list_of_values != NULL) { - for(j = 0; ext->y_axis.list_of_values[j] != '\0'; j++) { - if(ext->y_axis.list_of_values[j] == '\n') num_of_labels++; - } + minor_tick_len = y_axis->minor_tick_len; - num_of_labels++; /* last option in the at row*/ + /* tick lines on secondary y axis are drawn in other direction*/ + if(which_axis == LV_CHART_AXIS_SECONDARY_Y) { + major_tick_len *= -1; + minor_tick_len *= -1; } + iter_dir = (y_axis->options & LV_CHART_AXIS_INVERSE_LABELS_ORDER) ? LV_CHART_LABEL_ITERATOR_REVERSE : LV_CHART_LABEL_ITERATOR_FORWARD; + iter = lv_chart_create_label_iter(y_axis->list_of_values, iter_dir); + + /*determine the number of options */ + num_of_labels = iter.items_left; + /* we can't have string labels without ticks step, set to 1 if not specified */ - if(ext->y_axis.num_tick_marks == 0) ext->y_axis.num_tick_marks = 1; + if(y_axis->num_tick_marks == 0) y_axis->num_tick_marks = 1; /* calculate total number of ticks */ if(num_of_labels < 2) - num_scale_ticks = ext->y_axis.num_tick_marks; + num_scale_ticks = y_axis->num_tick_marks; else - num_scale_ticks = (ext->y_axis.num_tick_marks * (num_of_labels - 1)); + num_scale_ticks = (y_axis->num_tick_marks * (num_of_labels - 1)); for(i = 0; i < (num_scale_ticks + 1); i++) { /* one extra loop - it may not exist in the list, empty label */ /* first point of the tick */ - p1.x = x_ofs - 1; + p1.x = x_ofs; + + /* move extra pixel out of chart boundary */ + if (which_axis == LV_CHART_AXIS_PRIMARY_Y) + p1.x--; + else + p1.x++; /* second point of the tick */ - if((num_of_labels != 0) && (i == 0 || i % ext->y_axis.num_tick_marks == 0)) + if((num_of_labels != 0) && (i == 0 || i % y_axis->num_tick_marks == 0)) p2.x = p1.x - major_tick_len; /* major tick */ else p2.x = p1.x - minor_tick_len; /* minor tick */ @@ -1104,31 +1343,25 @@ static void lv_chart_draw_y_ticks(lv_obj_t * chart, const lv_area_t * mask) p2.y = p1.y = y_ofs + (int32_t)((int32_t)(h - style->line.width) * i) / num_scale_ticks; - if(i != num_scale_ticks) - lv_draw_line(&p1, &p2, mask, style, opa_scale); - else if((ext->y_axis.options & LV_CHART_AXIS_DRAW_LAST_TICK) != 0) - lv_draw_line(&p1, &p2, mask, style, opa_scale); + if(y_axis->options & LV_CHART_AXIS_INVERSE_LABELS_ORDER) { + /*if label order is inversed last tick have number 0*/ + if(i != 0) + lv_draw_line(&p1, &p2, mask, style, opa_scale); + else if((y_axis->options & LV_CHART_AXIS_DRAW_LAST_TICK) != 0) + lv_draw_line(&p1, &p2, mask, style, opa_scale); + } else { + if(i != num_scale_ticks) + lv_draw_line(&p1, &p2, mask, style, opa_scale); + else if((y_axis->options & LV_CHART_AXIS_DRAW_LAST_TICK) != 0) + lv_draw_line(&p1, &p2, mask, style, opa_scale); + } /* draw values if available */ if(num_of_labels != 0) { /* add text only to major tick */ - if(i == 0 || i % ext->y_axis.num_tick_marks == 0) { - /* search for tick string */ - j = 0; - while(ext->y_axis.list_of_values[list_index] != '\n' && - ext->y_axis.list_of_values[list_index] != '\0') { - /* do not overflow the buffer, but move to the end of the current label */ - if(j < LV_CHART_AXIS_TICK_LABEL_MAX_LEN) - buf[j++] = ext->y_axis.list_of_values[list_index++]; - else - list_index++; - } + if(lv_chart_is_tick_with_label(i, y_axis)) { - /* this was a string, but not end of the list, so jump to the next string */ - if(ext->y_axis.list_of_values[list_index] == '\n') list_index++; - - /* terminate the string */ - buf[j] = '\0'; + lv_chart_get_next_label(&iter, buf); /* reserve appropriate area */ lv_point_t size; @@ -1136,9 +1369,17 @@ static void lv_chart_draw_y_ticks(lv_obj_t * chart, const lv_area_t * mask) LV_COORD_MAX, LV_TXT_FLAG_CENTER); /* set the area at some distance of the major tick len left of the tick */ - lv_area_t a = {(p2.x - size.x - LV_CHART_AXIS_TO_LABEL_DISTANCE), (p2.y - size.y / 2), - (p2.x - LV_CHART_AXIS_TO_LABEL_DISTANCE), (p2.y + size.y / 2)}; - lv_draw_label(&a, mask, style, opa_scale, buf, LV_TXT_FLAG_CENTER, NULL, -1, -1, NULL); + lv_area_t a = {.y1 = p2.y - size.y / 2, .y2 = p2.y + size.y / 2}; + + if(which_axis == LV_CHART_AXIS_PRIMARY_Y) { + a.x1 = p2.x - size.x - LV_CHART_AXIS_TO_LABEL_DISTANCE; + a.x2 = p2.x - LV_CHART_AXIS_TO_LABEL_DISTANCE; + } else { + a.x1 = p2.x + LV_CHART_AXIS_TO_LABEL_DISTANCE; + a.x2 = p2.x + size.x + LV_CHART_AXIS_TO_LABEL_DISTANCE; + } + + lv_draw_label(&a, mask, style, opa_scale, buf, LV_TXT_FLAG_CENTER, NULL, NULL, NULL, lv_obj_get_base_dir(chart)); } } @@ -1155,11 +1396,11 @@ static void lv_chart_draw_x_ticks(lv_obj_t * chart, const lv_area_t * mask) const lv_style_t * style = lv_obj_get_style(chart); lv_opa_t opa_scale = lv_obj_get_opa_scale(chart); - uint8_t i, j; - uint8_t list_index; + uint8_t i; uint8_t num_of_labels; uint8_t num_scale_ticks; uint8_t major_tick_len, minor_tick_len; + lv_chart_label_iterator_t iter; lv_point_t p1; lv_point_t p2; lv_coord_t x_ofs = chart->coords.x1; @@ -1179,16 +1420,9 @@ static void lv_chart_draw_x_ticks(lv_obj_t * chart, const lv_area_t * mask) else minor_tick_len = ext->x_axis.minor_tick_len; - /* count the '\n'-s to determine the number of options */ - list_index = 0; - num_of_labels = 0; - if(ext->x_axis.list_of_values != NULL) { - for(j = 0; ext->x_axis.list_of_values[j] != '\0'; j++) { - if(ext->x_axis.list_of_values[j] == '\n') num_of_labels++; - } - - num_of_labels++; /* last option in the at row*/ - } + /*determine the number of options */ + iter = lv_chart_create_label_iter(ext->x_axis.list_of_values, LV_CHART_LABEL_ITERATOR_FORWARD); + num_of_labels = iter.items_left; /* we can't have string labels without ticks step, set to 1 if not specified */ if(ext->x_axis.num_tick_marks == 0) ext->x_axis.num_tick_marks = 1; @@ -1220,23 +1454,8 @@ static void lv_chart_draw_x_ticks(lv_obj_t * chart, const lv_area_t * mask) /* draw values if available */ if(num_of_labels != 0) { /* add text only to major tick */ - if(i == 0 || i % ext->x_axis.num_tick_marks == 0) { - /* search for tick string */ - j = 0; - while(ext->x_axis.list_of_values[list_index] != '\n' && - ext->x_axis.list_of_values[list_index] != '\0') { - /* do not overflow the buffer, but move to the end of the current label */ - if(j < LV_CHART_AXIS_TICK_LABEL_MAX_LEN) - buf[j++] = ext->x_axis.list_of_values[list_index++]; - else - list_index++; - } - - /* this was a string, but not end of the list, so jump to the next string */ - if(ext->x_axis.list_of_values[list_index] == '\n') list_index++; - - /* terminate the string */ - buf[j] = '\0'; + if(lv_chart_is_tick_with_label(i, &(ext->x_axis))) { + lv_chart_get_next_label(&iter, buf); /* reserve appropriate area */ lv_point_t size; @@ -1246,7 +1465,7 @@ static void lv_chart_draw_x_ticks(lv_obj_t * chart, const lv_area_t * mask) /* set the area at some distance of the major tick len under of the tick */ lv_area_t a = {(p2.x - size.x / 2), (p2.y + LV_CHART_AXIS_TO_LABEL_DISTANCE), (p2.x + size.x / 2), (p2.y + size.y + LV_CHART_AXIS_TO_LABEL_DISTANCE)}; - lv_draw_label(&a, mask, style, opa_scale, buf, LV_TXT_FLAG_CENTER, NULL, -1, -1, NULL); + lv_draw_label(&a, mask, style, opa_scale, buf, LV_TXT_FLAG_CENTER, NULL, NULL, NULL, lv_obj_get_base_dir(chart)); } } } @@ -1255,7 +1474,8 @@ static void lv_chart_draw_x_ticks(lv_obj_t * chart, const lv_area_t * mask) static void lv_chart_draw_axes(lv_obj_t * chart, const lv_area_t * mask) { - lv_chart_draw_y_ticks(chart, mask); + lv_chart_draw_y_ticks(chart, mask, LV_CHART_AXIS_PRIMARY_Y); + lv_chart_draw_y_ticks(chart, mask, LV_CHART_AXIS_SECONDARY_Y); lv_chart_draw_x_ticks(chart, mask); } diff --git a/src/src/lv_objx/lv_chart.h b/src/src/lv_objx/lv_chart.h index 5580a10..55fb929 100644 --- a/src/src/lv_objx/lv_chart.h +++ b/src/src/lv_objx/lv_chart.h @@ -34,6 +34,9 @@ extern "C" { /**Automatically calculate the tick length*/ #define LV_CHART_TICK_LENGTH_AUTO 255 +LV_EXPORT_CONST_INT(LV_CHART_POINT_DEF); +LV_EXPORT_CONST_INT(LV_CHART_TICK_LENGTH_AUTO); + /********************** * TYPEDEFS **********************/ @@ -65,8 +68,9 @@ typedef struct /** Data of axis */ enum { - LV_CHART_AXIS_SKIP_LAST_TICK = 0x00, /**< don't draw the last tick */ - LV_CHART_AXIS_DRAW_LAST_TICK = 0x01 /**< draw the last tick */ + LV_CHART_AXIS_SKIP_LAST_TICK = 0x00, /**< don't draw the last tick */ + LV_CHART_AXIS_DRAW_LAST_TICK = 0x01, /**< draw the last tick */ + LV_CHART_AXIS_INVERSE_LABELS_ORDER = 0x02 /**< draw tick labels in an inversed order*/ }; typedef uint8_t lv_chart_axis_options_t; @@ -93,6 +97,7 @@ typedef struct lv_chart_type_t type; /*Line, column or point chart (from 'lv_chart_type_t')*/ lv_chart_axis_cfg_t y_axis; lv_chart_axis_cfg_t x_axis; + lv_chart_axis_cfg_t secondary_y_axis; uint16_t margin; uint8_t update_mode : 1; struct @@ -259,6 +264,16 @@ void lv_chart_set_x_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_ */ void lv_chart_set_y_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_t minor_tick_len); +/** + * Set the length of the tick marks on the secondary y axis + * @param chart pointer to the chart + * @param major_tick_len the length of the major tick or `LV_CHART_TICK_LENGTH_AUTO` to set automatically + * (where labels are added) + * @param minor_tick_len the length of the minor tick, `LV_CHART_TICK_LENGTH_AUTO` to set automatically + * (where no labels are added) + */ +void lv_chart_set_secondary_y_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_t minor_tick_len); + /** * Set the x-axis tick count and labels of a chart * @param chart pointer to a chart object @@ -270,6 +285,17 @@ void lv_chart_set_y_tick_length(lv_obj_t * chart, uint8_t major_tick_len, uint8_ void lv_chart_set_x_tick_texts(lv_obj_t * chart, const char * list_of_values, uint8_t num_tick_marks, lv_chart_axis_options_t options); +/** + * Set the secondary y-axis tick count and labels of a chart + * @param chart pointer to a chart object + * @param list_of_values list of string values, terminated with \n, except the last + * @param num_tick_marks if list_of_values is NULL: total number of ticks per axis + * else number of ticks between two value labels + * @param options extra options + */ +void lv_chart_set_secondary_y_tick_texts(lv_obj_t * chart, const char * list_of_values, uint8_t num_tick_marks, + lv_chart_axis_options_t options); + /** * Set the y-axis tick count and labels of a chart * @param chart pointer to a chart object diff --git a/src/src/lv_objx/lv_cont.c b/src/src/lv_objx/lv_cont.c index 2ff4059..22e9f51 100644 --- a/src/src/lv_objx/lv_cont.c +++ b/src/src/lv_objx/lv_cont.c @@ -14,16 +14,19 @@ #include #include +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_draw/lv_draw_basic.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_area.h" #include "../lv_misc/lv_color.h" #include "../lv_misc/lv_math.h" +#include "../lv_misc/lv_bidi.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_cont" /********************** * TYPEDEFS @@ -67,7 +70,7 @@ lv_obj_t * lv_cont_create(lv_obj_t * par, const lv_obj_t * copy) /*Create a basic object*/ lv_obj_t * new_cont = lv_obj_create(par, copy); - lv_mem_assert(new_cont); + LV_ASSERT_MEM(new_cont); if(new_cont == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_cont); @@ -76,7 +79,7 @@ lv_obj_t * lv_cont_create(lv_obj_t * par, const lv_obj_t * copy) lv_cont_ext_t * ext = lv_obj_get_ext_attr(new_cont); if(ext == NULL) return NULL; - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); ext->fit_left = LV_FIT_NONE; ext->fit_right = LV_FIT_NONE; ext->fit_top = LV_FIT_NONE; @@ -126,6 +129,8 @@ lv_obj_t * lv_cont_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_cont_set_layout(lv_obj_t * cont, lv_layout_t layout) { + LV_ASSERT_OBJ(cont, LV_OBJX_NAME); + lv_cont_ext_t * ext = lv_obj_get_ext_attr(cont); if(ext->layout == layout) return; @@ -146,6 +151,8 @@ void lv_cont_set_layout(lv_obj_t * cont, lv_layout_t layout) */ void lv_cont_set_fit4(lv_obj_t * cont, lv_fit_t left, lv_fit_t right, lv_fit_t top, lv_fit_t bottom) { + LV_ASSERT_OBJ(cont, LV_OBJX_NAME); + lv_obj_invalidate(cont); lv_cont_ext_t * ext = lv_obj_get_ext_attr(cont); if(ext->fit_left == left && ext->fit_right == right && ext->fit_top == top && ext->fit_bottom == bottom) { @@ -172,6 +179,8 @@ void lv_cont_set_fit4(lv_obj_t * cont, lv_fit_t left, lv_fit_t right, lv_fit_t t */ lv_layout_t lv_cont_get_layout(const lv_obj_t * cont) { + LV_ASSERT_OBJ(cont, LV_OBJX_NAME); + lv_cont_ext_t * ext = lv_obj_get_ext_attr(cont); return ext->layout; } @@ -183,6 +192,8 @@ lv_layout_t lv_cont_get_layout(const lv_obj_t * cont) */ lv_fit_t lv_cont_get_fit_left(const lv_obj_t * cont) { + LV_ASSERT_OBJ(cont, LV_OBJX_NAME); + lv_cont_ext_t * ext = lv_obj_get_ext_attr(cont); return ext->fit_left; } @@ -194,6 +205,8 @@ lv_fit_t lv_cont_get_fit_left(const lv_obj_t * cont) */ lv_fit_t lv_cont_get_fit_right(const lv_obj_t * cont) { + LV_ASSERT_OBJ(cont, LV_OBJX_NAME); + lv_cont_ext_t * ext = lv_obj_get_ext_attr(cont); return ext->fit_right; } @@ -205,6 +218,8 @@ lv_fit_t lv_cont_get_fit_right(const lv_obj_t * cont) */ lv_fit_t lv_cont_get_fit_top(const lv_obj_t * cont) { + LV_ASSERT_OBJ(cont, LV_OBJX_NAME); + lv_cont_ext_t * ext = lv_obj_get_ext_attr(cont); return ext->fit_top; } @@ -216,6 +231,8 @@ lv_fit_t lv_cont_get_fit_top(const lv_obj_t * cont) */ lv_fit_t lv_cont_get_fit_bottom(const lv_obj_t * cont) { + LV_ASSERT_OBJ(cont, LV_OBJX_NAME); + lv_cont_ext_t * ext = lv_obj_get_ext_attr(cont); return ext->fit_bottom; } @@ -238,6 +255,7 @@ static lv_res_t lv_cont_signal(lv_obj_t * cont, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(cont, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_STYLE_CHG) { /*Recalculate the padding if the style changed*/ lv_cont_refr_layout(cont); @@ -254,13 +272,6 @@ static lv_res_t lv_cont_signal(lv_obj_t * cont, lv_signal_t sign, void * param) /*FLOOD and FILL fit needs to be refreshed if the parent size has changed*/ lv_cont_refr_autofit(cont); - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_cont"; } return res; @@ -354,23 +365,23 @@ static void lv_cont_layout_row(lv_obj_t * cont) lv_align_t align; const lv_style_t * style = lv_obj_get_style(cont); lv_coord_t vpad_corr; - + lv_bidi_dir_t base_dir = lv_obj_get_base_dir(cont); switch(type) { case LV_LAYOUT_ROW_T: vpad_corr = style->body.padding.top; - align = LV_ALIGN_IN_TOP_LEFT; + align = base_dir == LV_BIDI_DIR_RTL ? LV_ALIGN_IN_TOP_RIGHT : LV_ALIGN_IN_TOP_LEFT; break; case LV_LAYOUT_ROW_M: vpad_corr = 0; - align = LV_ALIGN_IN_LEFT_MID; + align = base_dir == LV_BIDI_DIR_RTL ? LV_ALIGN_IN_RIGHT_MID: LV_ALIGN_IN_LEFT_MID; break; case LV_LAYOUT_ROW_B: vpad_corr = -style->body.padding.bottom; - align = LV_ALIGN_IN_BOTTOM_LEFT; + align = base_dir == LV_BIDI_DIR_RTL ? LV_ALIGN_IN_BOTTOM_RIGHT: LV_ALIGN_IN_BOTTOM_LEFT; break; default: vpad_corr = 0; - align = LV_ALIGN_IN_TOP_LEFT; + align = base_dir == LV_BIDI_DIR_RTL ? LV_ALIGN_IN_TOP_RIGHT : LV_ALIGN_IN_TOP_LEFT; break; } @@ -379,12 +390,19 @@ static void lv_cont_layout_row(lv_obj_t * cont) lv_obj_set_protect(cont, LV_PROTECT_CHILD_CHG); /* Align the children */ - lv_coord_t last_cord = style->body.padding.left; + lv_coord_t last_cord; + if(base_dir == LV_BIDI_DIR_RTL) last_cord = style->body.padding.right; + else last_cord = style->body.padding.left; + LV_LL_READ_BACK(cont->child_ll, child) { if(lv_obj_get_hidden(child) != false || lv_obj_is_protected(child, LV_PROTECT_POS) != false) continue; - lv_obj_align(child, cont, align, last_cord, vpad_corr); +// last_cord -= lv_obj_get_width(child); + + if(base_dir == LV_BIDI_DIR_RTL) lv_obj_align(child, cont, align, -last_cord, vpad_corr); + else lv_obj_align(child, cont, align, last_cord, vpad_corr); + last_cord += lv_obj_get_width(child) + style->body.padding.inner; } diff --git a/src/src/lv_objx/lv_cpicker.c b/src/src/lv_objx/lv_cpicker.c new file mode 100644 index 0000000..2371cd0 --- /dev/null +++ b/src/src/lv_objx/lv_cpicker.c @@ -0,0 +1,1068 @@ +/** + * @file lv_cpicker.c + * + * From @AloyseTech and @paulpv. + */ + +/********************* + * INCLUDES + *********************/ +#include "lv_cpicker.h" +#if LV_USE_CPICKER != 0 + +#include "../lv_core/lv_debug.h" +#include "../lv_draw/lv_draw_arc.h" +#include "../lv_themes/lv_theme.h" +#include "../lv_core/lv_indev.h" +#include "../lv_core/lv_refr.h" +#include "../lv_misc/lv_math.h" + +/********************* + * DEFINES + *********************/ +#define LV_OBJX_NAME "lv_cpicker" + +#ifndef LV_CPICKER_DEF_TYPE +#define LV_CPICKER_DEF_TYPE LV_CPICKER_TYPE_DISC +#endif + +#ifndef LV_CPICKER_DEF_HUE +#define LV_CPICKER_DEF_HUE 0 +#endif + +#ifndef LV_CPICKER_DEF_SATURATION +#define LV_CPICKER_DEF_SATURATION 100 +#endif + +#ifndef LV_CPICKER_DEF_VALUE +#define LV_CPICKER_DEF_VALUE 100 +#endif + +#ifndef LV_CPICKER_DEF_HSV +#define LV_CPICKER_DEF_HSV ((lv_color_hsv_t){LV_CPICKER_DEF_HUE, LV_CPICKER_DEF_SATURATION, LV_CPICKER_DEF_VALUE}) +#endif + +#ifndef LV_CPICKER_DEF_QF /*quantization factor*/ +#define LV_CPICKER_DEF_QF 3 +#endif + +#define TRI_OFFSET 2 + +/********************** + * TYPEDEFS + **********************/ + +/********************** + * STATIC PROTOTYPES + **********************/ +static bool lv_cpicker_design(lv_obj_t * cpicker, const lv_area_t * mask, lv_design_mode_t mode); +static lv_res_t lv_cpicker_signal(lv_obj_t * cpicker, lv_signal_t sign, void * param); + +static void draw_rect_grad(lv_obj_t * cpicker, const lv_area_t * mask, lv_opa_t opa_scale); +static void draw_disc_grad(lv_obj_t * cpicker, const lv_area_t * mask, lv_opa_t opa_scale); +static void draw_indic(lv_obj_t * cpicker, const lv_area_t * mask, lv_opa_t opa_scale); +static void invalidate_indic(lv_obj_t * cpicker); +static lv_area_t get_indic_area(lv_obj_t * cpicker); + +static void next_color_mode(lv_obj_t * cpicker); +static lv_res_t double_click_reset(lv_obj_t * cpicker); +static void refr_indic_pos(lv_obj_t * cpicker); +static lv_color_t angle_to_mode_color(lv_obj_t * cpicker, uint16_t angle); +static uint16_t get_angle(lv_obj_t * cpicker); + +/********************** + * STATIC VARIABLES + **********************/ +static lv_signal_cb_t ancestor_signal; +static lv_design_cb_t ancestor_design; + +/********************** + * MACROS + **********************/ + +/********************** + * GLOBAL FUNCTIONS + **********************/ + +/** + * Create a color_picker object + * @param par pointer to an object, it will be the parent of the new color_picker + * @param copy pointer to a color_picker object, if not NULL then the new object will be copied from it + * @return pointer to the created color_picker + */ +lv_obj_t * lv_cpicker_create(lv_obj_t * par, const lv_obj_t * copy) +{ + LV_LOG_TRACE("color_picker create started"); + + lv_obj_t * new_cpicker = lv_obj_create(par, copy); + LV_ASSERT_MEM(new_cpicker); + if(new_cpicker == NULL) return NULL; + + if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_cpicker); + if(ancestor_design == NULL) ancestor_design = lv_obj_get_design_cb(new_cpicker); + + /*Allocate the extended data*/ + lv_cpicker_ext_t * ext = lv_obj_allocate_ext_attr(new_cpicker, sizeof(lv_cpicker_ext_t)); + LV_ASSERT_MEM(ext); + if(ext == NULL) return NULL; + + /*Initialize the allocated 'ext' */ + ext->type = LV_CPICKER_DEF_TYPE; + ext->hsv = LV_CPICKER_DEF_HSV; + ext->indic.style = &lv_style_plain; + ext->indic.colored = 0; + ext->color_mode = LV_CPICKER_COLOR_MODE_HUE; + ext->color_mode_fixed = 0; + ext->preview = 0; + ext->last_click_time = 0; + ext->last_change_time = 0; + + /*The signal and design functions are not copied so set them here*/ + lv_obj_set_signal_cb(new_cpicker, lv_cpicker_signal); + lv_obj_set_design_cb(new_cpicker, lv_cpicker_design); + + /*If no copy do the basic initialization*/ + if(copy == NULL) { + lv_obj_set_size(new_cpicker, LV_DPI * 2, LV_DPI * 2); + lv_obj_set_protect(new_cpicker, LV_PROTECT_PRESS_LOST); + lv_theme_t * th = lv_theme_get_current(); + if(th) { + lv_cpicker_set_style(new_cpicker, LV_CPICKER_STYLE_MAIN, th->style.bg); + } else { + lv_cpicker_set_style(new_cpicker, LV_CPICKER_STYLE_MAIN, &lv_style_plain); + } + } + /*Copy 'copy'*/ + else { + lv_cpicker_ext_t * copy_ext = lv_obj_get_ext_attr(copy); + ext->type = copy_ext->type; + ext->color_mode = copy_ext->color_mode; + ext->color_mode_fixed = copy_ext->color_mode_fixed; + ext->preview = copy_ext->preview; + ext->hsv = copy_ext->hsv; + ext->indic.colored = copy_ext->indic.colored; + ext->indic.style = copy_ext->indic.style; + + /*Refresh the style with new signal function*/ + lv_obj_refresh_style(new_cpicker); + } + refr_indic_pos(new_cpicker); + + LV_LOG_INFO("color_picker created"); + + return new_cpicker; +} + +/*===================== + * Setter functions + *====================*/ + +/** + * Set a new type for a cpicker + * @param cpicker pointer to a cpicker object + * @param type new type of the cpicker (from 'lv_cpicker_type_t' enum) + */ +void lv_cpicker_set_type(lv_obj_t * cpicker, lv_cpicker_type_t type) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + if(ext->type == type) return; + + ext->type = type; + lv_obj_refresh_ext_draw_pad(cpicker); + refr_indic_pos(cpicker); + + lv_obj_invalidate(cpicker); +} + +/** + * Set a style of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param type which style should be set + * @param style pointer to a style + */ +void lv_cpicker_set_style(lv_obj_t * cpicker, lv_cpicker_style_t type, lv_style_t * style) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + switch(type) { + case LV_CPICKER_STYLE_MAIN: + lv_obj_set_style(cpicker, style); + break; + case LV_CPICKER_STYLE_INDICATOR: + ext->indic.style = style; + lv_obj_invalidate(cpicker); + break; + } +} + +/** + * Set the current hue of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param hue current selected hue [0..360] + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_hue(lv_obj_t * cpicker, uint16_t hue) +{ + lv_color_hsv_t hsv = lv_cpicker_get_hsv(cpicker); + hsv.h = hue; + return lv_cpicker_set_hsv(cpicker, hsv); +} + +/** + * Set the current saturation of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param saturation current selected saturation [0..100] + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_saturation(lv_obj_t * cpicker, uint8_t saturation) +{ + lv_color_hsv_t hsv = lv_cpicker_get_hsv(cpicker); + hsv.s = saturation; + return lv_cpicker_set_hsv(cpicker, hsv); +} + +/** + * Set the current value of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param val current selected value [0..100] + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_value(lv_obj_t * cpicker, uint8_t val) +{ + lv_color_hsv_t hsv = lv_cpicker_get_hsv(cpicker); + hsv.v = val; + return lv_cpicker_set_hsv(cpicker, hsv); +} + +/** + * Set the current hsv of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param color current selected hsv + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_hsv(lv_obj_t * cpicker, lv_color_hsv_t hsv) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + if (hsv.h > 360) hsv.h %= 360; + if (hsv.s > 100) hsv.s = 100; + if (hsv.v > 100) hsv.v = 100; + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + if (ext->hsv.h == hsv.h && ext->hsv.s == hsv.s && ext->hsv.v == hsv.v) return false; + + ext->hsv = hsv; + + refr_indic_pos(cpicker); + + if (ext->preview && ext->type == LV_CPICKER_TYPE_DISC) { + lv_obj_invalidate(cpicker); + } + + return true; +} + +/** + * Set the current color of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param color current selected color + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_color(lv_obj_t * cpicker, lv_color_t color) +{ + lv_color32_t c32; + c32.full = lv_color_to32(color); + + return lv_cpicker_set_hsv(cpicker, + lv_color_rgb_to_hsv(c32.ch.red, c32.ch.green, c32.ch.blue)); +} + +/** + * Set the current color mode. + * @param cpicker pointer to colorpicker object + * @param mode color mode (hue/sat/val) + */ +void lv_cpicker_set_color_mode(lv_obj_t * cpicker, lv_cpicker_color_mode_t mode) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + ext->color_mode = mode; + refr_indic_pos(cpicker); + lv_obj_invalidate(cpicker); +} + +/** + * Set if the color mode is changed on long press on center + * @param cpicker pointer to colorpicker object + * @param fixed color mode cannot be changed on long press + */ +void lv_cpicker_set_color_mode_fixed(lv_obj_t * cpicker, bool fixed) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + ext->color_mode_fixed = fixed; +} + +/** + * Make the indicator to be colored to the current color + * @param cpicker pointer to colorpicker object + * @param en true: color the indicator; false: not color the indicator + */ +void lv_cpicker_set_indic_colored(lv_obj_t * cpicker, bool en) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + ext->indic.colored = en ? 1 : 0; + invalidate_indic(cpicker); +} + +/** + * Add a color preview in the middle of the DISC type color picker + * @param cpicker pointer to colorpicker object + * @param en true: enable preview; false: disable preview + */ +void lv_cpicker_set_preview(lv_obj_t * cpicker, bool en) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + ext->preview = en ? 1 : 0; + lv_obj_invalidate(cpicker); +} +/*===================== + * Getter functions + *====================*/ + +/** + * Get the current color mode. + * @param cpicker pointer to colorpicker object + * @return color mode (hue/sat/val) + */ +lv_cpicker_color_mode_t lv_cpicker_get_color_mode(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->color_mode; +} + +/** + * Get if the color mode is changed on long press on center + * @param cpicker pointer to colorpicker object + * @return mode cannot be changed on long press + */ +bool lv_cpicker_get_color_mode_fixed(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->color_mode_fixed; +} + +/** + * Get style of a color_picker. + * @param cpicker pointer to color_picker object + * @param type which style should be get + * @return style pointer to the style + */ +const lv_style_t * lv_cpicker_get_style(const lv_obj_t * cpicker, lv_cpicker_style_t type) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + switch(type) { + case LV_CPICKER_STYLE_MAIN: + return lv_obj_get_style(cpicker); + case LV_CPICKER_STYLE_INDICATOR: + return ext->indic.style; + default: + return NULL; + } + + /*To avoid warning*/ + return NULL; +} + +/** + * Get the current selected hue of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return hue current selected hue + */ +uint16_t lv_cpicker_get_hue(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->hsv.h; +} + +/** + * Get the current selected saturation of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected saturation + */ +uint8_t lv_cpicker_get_saturation(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->hsv.s; +} + +/** + * Get the current selected hue of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected value + */ +uint8_t lv_cpicker_get_value(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->hsv.v; +} + +/** + * Get the current selected hsv of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected hsv + */ +lv_color_hsv_t lv_cpicker_get_hsv(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->hsv; +} + +/** + * Get the current selected color of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return color current selected color + */ +lv_color_t lv_cpicker_get_color(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return lv_color_hsv_to_rgb(ext->hsv.h, ext->hsv.s, ext->hsv.v); +} + +/** + * Whether the indicator is colored to the current color or not + * @param cpicker pointer to colorpicker object + * @return true: color the indicator; false: not color the indicator + */ +bool lv_cpicker_get_indic_colored(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->indic.colored ? true : false; +} + +/** + * Whether the preview is enabled or not + * @param cpicker pointer to colorpicker object + * @return en true: preview is enabled; false: preview is disabled + */ +bool lv_cpicker_get_preview(lv_obj_t * cpicker) +{ + LV_ASSERT_OBJ(cpicker, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + return ext->preview ? true : false; +} + + +/*===================== + * Other functions + *====================*/ + +/********************** + * STATIC FUNCTIONS + **********************/ + + +/** + * Handle the drawing related tasks of the color_picker + * @param cpicker pointer to an object + * @param mask the object will be drawn only in this area + * @param mode LV_DESIGN_COVER_CHK: only check if the object fully covers the 'mask_p' area + * (return 'true' if yes) + * LV_DESIGN_DRAW: draw the object (always return 'true') + * LV_DESIGN_DRAW_POST: drawing after every children are drawn + * @return true/false, depends on 'mode' + */ +static bool lv_cpicker_design(lv_obj_t * cpicker, const lv_area_t * mask, lv_design_mode_t mode) +{ + /*Return false if the object is not covers the mask_p area*/ + if(mode == LV_DESIGN_COVER_CHK) { + return false; + } + /*Draw the object*/ + else if(mode == LV_DESIGN_DRAW_MAIN) { + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + lv_opa_t opa_scale = lv_obj_get_opa_scale(cpicker); + + if(ext->type == LV_CPICKER_TYPE_DISC) { + draw_disc_grad(cpicker, mask, opa_scale); + } else if(ext->type == LV_CPICKER_TYPE_RECT) { + draw_rect_grad(cpicker, mask, opa_scale); + } + + draw_indic(cpicker, mask, opa_scale); + } + /*Post draw when the children are drawn*/ + else if(mode == LV_DESIGN_DRAW_POST) { + } + + return true; +} + +static void draw_disc_grad(lv_obj_t * cpicker, const lv_area_t * mask, lv_opa_t opa_scale) +{ + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + int16_t start_angle = 0; /*Default*/ + int16_t end_angle = 360 - LV_CPICKER_DEF_QF; /*Default*/ + + lv_coord_t w = lv_obj_get_width(cpicker); + lv_coord_t h = lv_obj_get_height(cpicker); + lv_coord_t cx = cpicker->coords.x1 + w / 2; + lv_coord_t cy = cpicker->coords.y1 + h / 2; + lv_coord_t r = w / 2; + + /*if the mask does not include the center of the object + * redrawing all the wheel is not necessary; + * only a given angular range + */ + lv_point_t center = {cx, cy}; + if(!lv_area_is_point_on(mask, ¢er)) + { + /*get angle from center of object to each corners of the area*/ + int16_t dr, ur, ul, dl; + dr = lv_atan2(mask->x2 - cx, mask->y2 - cy); + ur = lv_atan2(mask->x2 - cx, mask->y1 - cy); + ul = lv_atan2(mask->x1 - cx, mask->y1 - cy); + dl = lv_atan2(mask->x1 - cx, mask->y2 - cy); + + /*check area position from object axis*/ + bool left = (mask->x2 < cx && mask->x1 < cx) ? true : false; + bool onYaxis = (mask->x2 > cx && mask->x1 < cx) ? true : false; + bool right = (mask->x2 > cx && mask->x1 > cx) ? true : false; + bool top = (mask->y2 < cy && mask->y1 < cy) ? true : false; + bool onXaxis = (mask->y2 > cy && mask->y1 < cy) ? true : false; + bool bottom = (mask->y2 > cy && mask->y1 > cy) ? true : false; + + /*store angular range*/ + if(right && bottom) { + start_angle = dl; + end_angle = ur; + } else if(right && onXaxis) { + start_angle = dl; + end_angle = ul; + } else if(right && top) { + start_angle = dr; + end_angle = ul; + } else if(onYaxis && top) { + start_angle = dr; + end_angle = dl; + } else if(left && top) { + start_angle = ur; + end_angle = dl; + } else if(left && onXaxis) { + start_angle = ur; + end_angle = dr; + } else if(left && bottom) { + start_angle = ul; + end_angle = dr; + } else if(onYaxis && bottom) { + start_angle = ul; + end_angle = ur; + } + + /*rollover angle*/ + if(start_angle > end_angle) end_angle += 360; + + /*round to QF factor*/ + start_angle = (start_angle/LV_CPICKER_DEF_QF) * LV_CPICKER_DEF_QF; + end_angle = (end_angle / LV_CPICKER_DEF_QF) * LV_CPICKER_DEF_QF; + + /*shift angle if necessary before adding offset*/ + if((start_angle - LV_CPICKER_DEF_QF) < 0) { + start_angle += 360; + end_angle += 360; + } + + /*ensure overlapping by adding offset*/ + start_angle -= LV_CPICKER_DEF_QF; + end_angle += LV_CPICKER_DEF_QF; + } + + lv_point_t triangle_points[3]; + lv_style_t style; + lv_style_copy(&style, &lv_style_plain); + uint16_t i; + for(i = start_angle; i <= end_angle; i+= LV_CPICKER_DEF_QF) { + style.body.main_color = angle_to_mode_color(cpicker, i); + style.body.grad_color = style.body.main_color; + + triangle_points[0].x = cx; + triangle_points[0].y = cy; + + triangle_points[1].x = cx + (r * lv_trigo_sin(i) >> LV_TRIGO_SHIFT); + triangle_points[1].y = cy + (r * lv_trigo_sin(i + 90) >> LV_TRIGO_SHIFT); + + if(i == end_angle || i == (360 - LV_CPICKER_DEF_QF)) { + /*the last triangle is drawn without additional overlapping pixels*/ + triangle_points[2].x = cx + (r * lv_trigo_sin(i + LV_CPICKER_DEF_QF) >> LV_TRIGO_SHIFT); + triangle_points[2].y = cy + (r * lv_trigo_sin(i + LV_CPICKER_DEF_QF + 90) >> LV_TRIGO_SHIFT); + } else { + triangle_points[2].x = cx + (r * lv_trigo_sin(i + LV_CPICKER_DEF_QF + TRI_OFFSET) >> LV_TRIGO_SHIFT); + triangle_points[2].y = cy + (r * lv_trigo_sin(i + LV_CPICKER_DEF_QF + TRI_OFFSET + 90) >> LV_TRIGO_SHIFT); + } + + lv_draw_triangle(triangle_points, mask, &style, LV_OPA_COVER); + } + + /*Mask out the center area*/ + const lv_style_t * style_main = lv_cpicker_get_style(cpicker, LV_CPICKER_STYLE_MAIN); + lv_style_copy(&style, style_main); + style.body.radius = LV_RADIUS_CIRCLE; + lv_area_t area_mid; + lv_area_copy(&area_mid, &cpicker->coords); + lv_area_increment(&area_mid, -style_main->line.width); + + lv_draw_rect(&area_mid, mask, &style, opa_scale); + + if(ext->preview) { + lv_color_t color = lv_cpicker_get_color(cpicker); + style.body.main_color = color; + style.body.grad_color = color; + lv_area_increment(&area_mid, -style_main->line.width / 2); + + lv_draw_rect(&area_mid, mask, &style, opa_scale); + } +} + +static void draw_rect_grad(lv_obj_t * cpicker, const lv_area_t * mask, lv_opa_t opa_scale) +{ + lv_style_t style; + lv_style_copy(&style, lv_cpicker_get_style(cpicker, LV_CPICKER_STYLE_MAIN)); + + lv_area_t grad_area; + lv_obj_get_coords(cpicker, &grad_area); + + if(style.body.radius) { + lv_coord_t h = lv_obj_get_height(cpicker); + lv_coord_t r = style.body.radius; + if(r > h / 2) r = h / 2; + /*Make the gradient area smaller with a half circle on both ends*/ + grad_area.x1 += r; + grad_area.x2 -= r; + + /*Draw the left rounded end*/ + lv_area_t rounded_edge_area; + lv_obj_get_coords(cpicker, &rounded_edge_area); + rounded_edge_area.x2 = rounded_edge_area.x1 + 2 * r; + + style.body.main_color = angle_to_mode_color(cpicker, 0); + style.body.grad_color = style.body.main_color; + + lv_draw_rect(&rounded_edge_area, mask, &style, opa_scale); + + /*Draw the right rounded end*/ + lv_obj_get_coords(cpicker, &rounded_edge_area); + rounded_edge_area.x1 = rounded_edge_area.x2 - 2 * r; + + style.body.main_color = angle_to_mode_color(cpicker, 359); + style.body.grad_color = style.body.main_color; + + lv_draw_rect(&rounded_edge_area, mask, &style, opa_scale); + } + + lv_coord_t grad_w = lv_area_get_width(&grad_area); + uint16_t i_step = LV_MATH_MAX(LV_CPICKER_DEF_QF, 360 / grad_w); + style.body.radius = 0; + style.body.border.width = 0; + style.body.shadow.width = 0; + style.body.opa = LV_OPA_COVER; + + uint16_t i; + for(i = 0; i < 360; i += i_step) { + style.body.main_color = angle_to_mode_color(cpicker, i); + style.body.grad_color = style.body.main_color; + + /*the following attribute might need changing between index to add border, shadow, radius etc*/ + lv_area_t rect_area; + + /*scale angle (hue/sat/val) to linear coordinate*/ + lv_coord_t xi = (i * grad_w) / 360; + + rect_area.x1 = LV_MATH_MIN(grad_area.x1 + xi, grad_area.x1 + grad_w - i_step); + rect_area.y1 = grad_area.y1; + rect_area.x2 = rect_area.x1 + i_step; + rect_area.y2 = grad_area.y2; + + lv_draw_rect(&rect_area, mask, &style, opa_scale); + } +} + +static void draw_indic(lv_obj_t * cpicker, const lv_area_t * mask, lv_opa_t opa_scale) +{ + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + lv_style_t style_cir; + lv_style_copy(&style_cir, ext->indic.style); + style_cir.body.radius = LV_RADIUS_CIRCLE; + + if(ext->indic.colored) { + style_cir.body.main_color = lv_cpicker_get_color(cpicker); + style_cir.body.grad_color = style_cir.body.main_color; + } + + lv_area_t indic_area = get_indic_area(cpicker); + + lv_draw_rect(&indic_area, mask, &style_cir, opa_scale); +} + +static void invalidate_indic(lv_obj_t * cpicker) +{ + lv_area_t indic_area = get_indic_area(cpicker); + + lv_inv_area(lv_obj_get_disp(cpicker), &indic_area); +} + +static lv_area_t get_indic_area(lv_obj_t * cpicker) +{ + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + const lv_style_t * style_main = lv_cpicker_get_style(cpicker, LV_CPICKER_STYLE_MAIN); + const lv_style_t * style_indic = lv_cpicker_get_style(cpicker, LV_CPICKER_STYLE_INDICATOR); + + uint16_t r = 0; + if(ext->type == LV_CPICKER_TYPE_DISC) r = style_main->line.width / 2; + else if(ext->type == LV_CPICKER_TYPE_RECT) { + lv_coord_t h = lv_obj_get_height(cpicker); + r = h / 2; + } + + lv_area_t indic_area; + indic_area.x1 = cpicker->coords.x1 + ext->indic.pos.x - r - style_indic->body.padding.left; + indic_area.y1 = cpicker->coords.y1 + ext->indic.pos.y - r - style_indic->body.padding.right; + indic_area.x2 = cpicker->coords.x1 + ext->indic.pos.x + r + style_indic->body.padding.top; + indic_area.y2 = cpicker->coords.y1 + ext->indic.pos.y + r + style_indic->body.padding.bottom; + + return indic_area; +} + +/** + * Signal function of the color_picker + * @param cpicker pointer to a color_picker object + * @param sign a signal type from lv_signal_t enum + * @param param pointer to a signal specific variable + * @return LV_RES_OK: the object is not deleted in the function; LV_RES_INV: the object is deleted + */ +static lv_res_t lv_cpicker_signal(lv_obj_t * cpicker, lv_signal_t sign, void * param) +{ + /* Include the ancient signal function */ + lv_res_t res = ancestor_signal(cpicker, sign, param); + if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + + if(sign == LV_SIGNAL_CLEANUP) { + /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ + } else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { + const lv_style_t * style_indic = lv_cpicker_get_style(cpicker, LV_CPICKER_STYLE_INDICATOR); + lv_coord_t indic_pad = LV_MATH_MAX(style_indic->body.padding.left, style_indic->body.padding.right); + indic_pad = LV_MATH_MAX(indic_pad, style_indic->body.padding.top); + indic_pad = LV_MATH_MAX(indic_pad, style_indic->body.padding.bottom); + + if(ext->type == LV_CPICKER_TYPE_RECT) indic_pad += LV_MATH_MAX(indic_pad, lv_obj_get_height(cpicker) / 2); + + cpicker->ext_draw_pad = LV_MATH_MAX(cpicker->ext_draw_pad, indic_pad); + } else if(sign == LV_SIGNAL_CORD_CHG) { + /*Refresh extended draw area to make knob visible*/ + if(lv_obj_get_width(cpicker) != lv_area_get_width(param) || + lv_obj_get_height(cpicker) != lv_area_get_height(param)) { + lv_obj_refresh_ext_draw_pad(cpicker); + refr_indic_pos(cpicker); + } + } else if(sign == LV_SIGNAL_STYLE_CHG) { + /*Refresh extended draw area to make knob visible*/ + lv_obj_refresh_ext_draw_pad(cpicker); + refr_indic_pos(cpicker); + } + else if(sign == LV_SIGNAL_CONTROL) { + uint32_t c = *((uint32_t *)param); /*uint32_t because can be UTF-8*/ + if(c == LV_KEY_RIGHT || c == LV_KEY_UP) { + lv_color_hsv_t hsv_cur; + hsv_cur = ext->hsv; + + switch(ext->color_mode) { + case LV_CPICKER_COLOR_MODE_HUE: + hsv_cur.h = (ext->hsv.h + 1) % 360; + break; + case LV_CPICKER_COLOR_MODE_SATURATION: + hsv_cur.s = (ext->hsv.s + 1) % 100; + break; + case LV_CPICKER_COLOR_MODE_VALUE: + hsv_cur.v = (ext->hsv.v + 1) % 100; + break; + } + + if (lv_cpicker_set_hsv(cpicker, hsv_cur)) { + res = lv_event_send(cpicker, LV_EVENT_VALUE_CHANGED, NULL); + if(res != LV_RES_OK) return res; + } + } + else if(c == LV_KEY_LEFT || c == LV_KEY_DOWN) { + lv_color_hsv_t hsv_cur; + hsv_cur = ext->hsv; + + switch(ext->color_mode) { + case LV_CPICKER_COLOR_MODE_HUE: + hsv_cur.h = ext->hsv.h > 0?(ext->hsv.h - 1) : 360; + break; + case LV_CPICKER_COLOR_MODE_SATURATION: + hsv_cur.s = ext->hsv.s > 0?(ext->hsv.s - 1) : 100; + break; + case LV_CPICKER_COLOR_MODE_VALUE: + hsv_cur.v = ext->hsv.v > 0?(ext->hsv.v - 1) : 100; + break; + } + + if (lv_cpicker_set_hsv(cpicker, hsv_cur)) { + res = lv_event_send(cpicker, LV_EVENT_VALUE_CHANGED, NULL); + if(res != LV_RES_OK) return res; + } + } + } + else if(sign == LV_SIGNAL_PRESSED) { + ext->last_change_time = lv_tick_get(); + lv_indev_get_point(lv_indev_get_act(), &ext->last_press_point); + res = double_click_reset(cpicker); + if(res != LV_RES_OK) return res; + } else if(sign == LV_SIGNAL_PRESSING) { + lv_indev_t * indev = lv_indev_get_act(); + if(indev == NULL) return res; + + lv_point_t p; + lv_indev_get_point(indev, &p); + + if((LV_MATH_ABS(p.x - ext->last_press_point.x) > indev->driver.drag_limit / 2) || + (LV_MATH_ABS(p.y - ext->last_press_point.y) > indev->driver.drag_limit / 2)) { + ext->last_change_time = lv_tick_get(); + ext->last_press_point.x = p.x; + ext->last_press_point.y = p.y; + } + + p.x -= cpicker->coords.x1; + p.y -= cpicker->coords.y1; + + /*Ignore pressing in the inner area*/ + uint16_t w = lv_obj_get_width(cpicker); + + int16_t angle = 0; + + if(ext->type == LV_CPICKER_TYPE_RECT) { + /*If pressed long enough without change go to next color mode*/ + uint32_t diff = lv_tick_elaps(ext->last_change_time); + if(diff > indev->driver.long_press_time * 2 && !ext->color_mode_fixed) { + next_color_mode(cpicker); + lv_indev_wait_release(lv_indev_get_act()); + return res; + } + + angle = (p.x * 360) / w; + if(angle < 0) angle = 0; + if(angle >= 360) angle = 359; + + } else if(ext->type == LV_CPICKER_TYPE_DISC) { + const lv_style_t * style_main = lv_cpicker_get_style(cpicker, LV_CPICKER_STYLE_MAIN); + lv_coord_t r_in = w / 2; + p.x -= r_in; + p.y -= r_in; + r_in -= style_main->line.width; + + if(r_in > LV_DPI / 2) { + r_in -= style_main->line.width; /* to let some sensitive space inside*/ + + if(r_in < LV_DPI / 2) r_in = LV_DPI / 2; + } + + /*If the inner area is being pressed, go to the next color mode on long press*/ + if(p.x * p.x + p.y * p.y < r_in * r_in) { + uint32_t diff = lv_tick_elaps(ext->last_change_time); + if(diff > indev->driver.long_press_time && !ext->color_mode_fixed) { + next_color_mode(cpicker); + lv_indev_wait_release(lv_indev_get_act()); + } + return res; + } + + angle = lv_atan2(p.x, p.y) % 360; + } + + lv_color_hsv_t hsv_cur; + hsv_cur = ext->hsv; + + switch(ext->color_mode) { + case LV_CPICKER_COLOR_MODE_HUE: + hsv_cur.h = angle; + break; + case LV_CPICKER_COLOR_MODE_SATURATION: + hsv_cur.s = (angle * 100) / 360; + break; + case LV_CPICKER_COLOR_MODE_VALUE: + hsv_cur.v = (angle * 100) / 360; + break; + } + + if (lv_cpicker_set_hsv(cpicker, hsv_cur)) { + res = lv_event_send(cpicker, LV_EVENT_VALUE_CHANGED, NULL); + if(res != LV_RES_OK) return res; + } + } + + return res; +} + +static void next_color_mode(lv_obj_t * cpicker) +{ + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + ext->color_mode = (ext->color_mode + 1) % 3; + refr_indic_pos(cpicker); + lv_obj_invalidate(cpicker); +} + +static void refr_indic_pos(lv_obj_t * cpicker) +{ + invalidate_indic(cpicker); + + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + lv_coord_t w = lv_obj_get_width(cpicker); + lv_coord_t h = lv_obj_get_height(cpicker); + + if(ext->type == LV_CPICKER_TYPE_RECT) { + lv_coord_t ind_pos = 0; + switch(ext->color_mode) { + case LV_CPICKER_COLOR_MODE_HUE: + ind_pos += (ext->hsv.h * w) / 360; + break; + case LV_CPICKER_COLOR_MODE_SATURATION: + ind_pos += (ext->hsv.s * w) / 100; + break; + case LV_CPICKER_COLOR_MODE_VALUE: + ind_pos += (ext->hsv.v * w) / 100; + break; + } + + ext->indic.pos.x = ind_pos; + ext->indic.pos.y = h / 2; + } else if(ext->type == LV_CPICKER_TYPE_DISC) { + const lv_style_t * style_main = lv_cpicker_get_style(cpicker, LV_CPICKER_STYLE_MAIN); + lv_coord_t r = w / 2 - style_main->line.width / 2; + uint16_t angle = get_angle(cpicker); + ext->indic.pos.x = (((int32_t)r * lv_trigo_sin(angle)) >> LV_TRIGO_SHIFT); + ext->indic.pos.y = (((int32_t)r * lv_trigo_sin(angle + 90)) >> LV_TRIGO_SHIFT); + ext->indic.pos.x = ext->indic.pos.x + w / 2; + ext->indic.pos.y = ext->indic.pos.y + h / 2; + } + + invalidate_indic(cpicker); +} + +static lv_res_t double_click_reset(lv_obj_t * cpicker) +{ + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + lv_indev_t * indev = lv_indev_get_act(); + /*Double clicked? Use long press time as double click time out*/ + if(lv_tick_elaps(ext->last_click_time) < indev->driver.long_press_time) { + lv_color_hsv_t hsv_cur; + hsv_cur = ext->hsv; + + switch(ext->color_mode) { + case LV_CPICKER_COLOR_MODE_HUE: + hsv_cur.h = LV_CPICKER_DEF_HUE; + break; + case LV_CPICKER_COLOR_MODE_SATURATION: + hsv_cur.s = LV_CPICKER_DEF_SATURATION; + break; + case LV_CPICKER_COLOR_MODE_VALUE: + hsv_cur.v = LV_CPICKER_DEF_VALUE; + break; + } + + if (lv_cpicker_set_hsv(cpicker, hsv_cur)) { + lv_res_t res = lv_event_send(cpicker, LV_EVENT_VALUE_CHANGED, NULL); + if(res != LV_RES_OK) return res; + } + } + ext->last_click_time = lv_tick_get(); + + return LV_RES_OK; +} + +static lv_color_t angle_to_mode_color(lv_obj_t * cpicker, uint16_t angle) +{ + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + lv_color_t color; + switch(ext->color_mode) + { + default: + case LV_CPICKER_COLOR_MODE_HUE: + color = lv_color_hsv_to_rgb(angle % 360, ext->hsv.s, ext->hsv.v); + break; + case LV_CPICKER_COLOR_MODE_SATURATION: + color = lv_color_hsv_to_rgb(ext->hsv.h, ((angle % 360) * 100) / 360, ext->hsv.v); + break; + case LV_CPICKER_COLOR_MODE_VALUE: + color = lv_color_hsv_to_rgb(ext->hsv.h, ext->hsv.s, ((angle % 360) * 100) / 360); + break; + } + return color; +} + +static uint16_t get_angle(lv_obj_t * cpicker) +{ + lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker); + uint16_t angle; + switch(ext->color_mode) + { + default: + case LV_CPICKER_COLOR_MODE_HUE: + angle = ext->hsv.h; + break; + case LV_CPICKER_COLOR_MODE_SATURATION: + angle = (ext->hsv.s * 360) / 100; + break; + case LV_CPICKER_COLOR_MODE_VALUE: + angle = (ext->hsv.v * 360) / 100 ; + break; + } + return angle; +} + +#endif /* LV_USE_CPICKER != 0 */ diff --git a/src/src/lv_objx/lv_cpicker.h b/src/src/lv_objx/lv_cpicker.h new file mode 100644 index 0000000..a9feee5 --- /dev/null +++ b/src/src/lv_objx/lv_cpicker.h @@ -0,0 +1,263 @@ +/** + * @file lv_cpicker.h + * + */ + +#ifndef LV_CPICKER_H +#define LV_CPICKER_H + +#ifdef __cplusplus +extern "C" { +#endif + +/********************* + * INCLUDES + *********************/ +#ifdef LV_CONF_INCLUDE_SIMPLE +#include "lv_conf.h" +#else +#include "../../../lv_conf.h" +#endif + +#if LV_USE_CPICKER != 0 + +#include "../lv_core/lv_obj.h" + +/********************* + * DEFINES + *********************/ + +/********************** + * TYPEDEFS + **********************/ + +enum { + LV_CPICKER_TYPE_RECT, + LV_CPICKER_TYPE_DISC, +}; +typedef uint8_t lv_cpicker_type_t; + +enum { + LV_CPICKER_COLOR_MODE_HUE, + LV_CPICKER_COLOR_MODE_SATURATION, + LV_CPICKER_COLOR_MODE_VALUE +}; +typedef uint8_t lv_cpicker_color_mode_t; + + + +/*Data of colorpicker*/ +typedef struct { + lv_color_hsv_t hsv; + struct { + lv_style_t * style; + lv_point_t pos; + uint8_t colored :1; + + } indic; + uint32_t last_click_time; + uint32_t last_change_time; + lv_point_t last_press_point; + lv_cpicker_color_mode_t color_mode :2; + uint8_t color_mode_fixed :1; + lv_cpicker_type_t type :1; + uint8_t preview :1; +} lv_cpicker_ext_t; + +/*Styles*/ +enum { + LV_CPICKER_STYLE_MAIN, + LV_CPICKER_STYLE_INDICATOR, +}; +typedef uint8_t lv_cpicker_style_t; + + +/********************** + * GLOBAL PROTOTYPES + **********************/ + +/** + * Create a colorpicker objects + * @param par pointer to an object, it will be the parent of the new colorpicker + * @param copy pointer to a colorpicker object, if not NULL then the new object will be copied from it + * @return pointer to the created colorpicker + */ +lv_obj_t * lv_cpicker_create(lv_obj_t * par, const lv_obj_t * copy); + +/*===================== + * Setter functions + *====================*/ + +/** + * Set a new type for a colorpicker + * @param cpicker pointer to a colorpicker object + * @param type new type of the colorpicker (from 'lv_cpicker_type_t' enum) + */ +void lv_cpicker_set_type(lv_obj_t * cpicker, lv_cpicker_type_t type); + +/** + * Set a style of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param type which style should be set + * @param style pointer to a style + */ +void lv_cpicker_set_style(lv_obj_t * cpicker, lv_cpicker_style_t type, lv_style_t *style); + +/** + * Set the current hue of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param hue current selected hue [0..360] + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_hue(lv_obj_t * cpicker, uint16_t hue); + +/** + * Set the current saturation of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param saturation current selected saturation [0..100] + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_saturation(lv_obj_t * cpicker, uint8_t saturation); + +/** + * Set the current value of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param val current selected value [0..100] + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_value(lv_obj_t * cpicker, uint8_t val); + +/** + * Set the current hsv of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param hsv current selected hsv + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_hsv(lv_obj_t * cpicker, lv_color_hsv_t hsv); + +/** + * Set the current color of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param color current selected color + * @return true if changed, otherwise false + */ +bool lv_cpicker_set_color(lv_obj_t * cpicker, lv_color_t color); + +/** + * Set the current color mode. + * @param cpicker pointer to colorpicker object + * @param mode color mode (hue/sat/val) + */ +void lv_cpicker_set_color_mode(lv_obj_t * cpicker, lv_cpicker_color_mode_t mode); + +/** + * Set if the color mode is changed on long press on center + * @param cpicker pointer to colorpicker object + * @param fixed color mode cannot be changed on long press + */ +void lv_cpicker_set_color_mode_fixed(lv_obj_t * cpicker, bool fixed); + +/** + * Make the indicator to be colored to the current color + * @param cpicker pointer to colorpicker object + * @param en true: color the indicator; false: not color the indicator + */ +void lv_cpicker_set_indic_colored(lv_obj_t * cpicker, bool en); + +/** + * Add a color preview in the middle of the DISC type color picker + * @param cpicker pointer to colorpicker object + * @param en true: enable preview; false: disable preview + */ +void lv_cpicker_set_preview(lv_obj_t * cpicker, bool en); + +/*===================== + * Getter functions + *====================*/ + +/** + * Get the current color mode. + * @param cpicker pointer to colorpicker object + * @return color mode (hue/sat/val) + */ +lv_cpicker_color_mode_t lv_cpicker_get_color_mode(lv_obj_t * cpicker); + +/** + * Get if the color mode is changed on long press on center + * @param cpicker pointer to colorpicker object + * @return mode cannot be changed on long press + */ +bool lv_cpicker_get_color_mode_fixed(lv_obj_t * cpicker); + +/** + * Get style of a colorpicker. + * @param cpicker pointer to colorpicker object + * @param type which style should be get + * @return pointer to the style + */ +const lv_style_t * lv_cpicker_get_style(const lv_obj_t * cpicker, lv_cpicker_style_t type); + +/** + * Get the current hue of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected hue + */ +uint16_t lv_cpicker_get_hue(lv_obj_t * cpicker); + +/** + * Get the current saturation of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected saturation + */ +uint8_t lv_cpicker_get_saturation(lv_obj_t * cpicker); + +/** + * Get the current hue of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected value + */ +uint8_t lv_cpicker_get_value(lv_obj_t * cpicker); + +/** + * Get the current selected hsv of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected hsv + */ +lv_color_hsv_t lv_cpicker_get_hsv(lv_obj_t * cpicker); + +/** + * Get the current selected color of a colorpicker. + * @param cpicker pointer to colorpicker object + * @return current selected color + */ +lv_color_t lv_cpicker_get_color(lv_obj_t * cpicker); + +/** + * Whether the indicator is colored to the current color or not + * @param cpicker pointer to colorpicker object + * @return true: color the indicator; false: not color the indicator + */ +bool lv_cpicker_get_indic_colored(lv_obj_t * cpicker); + +/** + * Whether the preview is enabled or not + * @param cpicker pointer to colorpicker object + * @return en true: preview is enabled; false: preview is disabled + */ +bool lv_cpicker_get_preview(lv_obj_t * cpicker); + +/*===================== + * Other functions + *====================*/ + +/********************** + * MACROS + **********************/ + +#endif /*LV_USE_CPICKER*/ + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*LV_CPICKER_H*/ diff --git a/src/src/lv_objx/lv_ddlist.c b/src/src/lv_objx/lv_ddlist.c index f49ec0c..a0100a7 100644 --- a/src/src/lv_objx/lv_ddlist.c +++ b/src/src/lv_objx/lv_ddlist.c @@ -9,6 +9,7 @@ #include "lv_ddlist.h" #if LV_USE_DDLIST != 0 +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_core/lv_group.h" #include "../lv_core/lv_indev.h" @@ -21,6 +22,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_ddlist" + #if LV_USE_ANIMATION == 0 #undef LV_DDLIST_DEF_ANIM_TIME #define LV_DDLIST_DEF_ANIM_TIME 0 /*No animation*/ @@ -74,7 +77,7 @@ lv_obj_t * lv_ddlist_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor drop down list*/ lv_obj_t * new_ddlist = lv_page_create(par, copy); - lv_mem_assert(new_ddlist); + LV_ASSERT_MEM(new_ddlist); if(new_ddlist == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_ddlist); @@ -83,7 +86,7 @@ lv_obj_t * lv_ddlist_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the drop down list type specific extended data*/ lv_ddlist_ext_t * ext = lv_obj_allocate_ext_attr(new_ddlist, sizeof(lv_ddlist_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; /*Initialize the allocated 'ext' */ @@ -110,6 +113,11 @@ lv_obj_t * lv_ddlist_create(lv_obj_t * par, const lv_obj_t * copy) lv_obj_set_drag(scrl, false); lv_page_set_scrl_fit2(new_ddlist, LV_FIT_FILL, LV_FIT_TIGHT); + /*Save (a later restore) the original X coordinate because it changes as the FITs applies*/ + lv_coord_t x; + if(lv_obj_get_base_dir(new_ddlist) == LV_BIDI_DIR_RTL) x = lv_obj_get_x(new_ddlist) + lv_obj_get_width(new_ddlist); + else x = lv_obj_get_x(new_ddlist); + ext->label = lv_label_create(new_ddlist, NULL); lv_cont_set_fit2(new_ddlist, LV_FIT_TIGHT, LV_FIT_NONE); lv_page_set_sb_mode(new_ddlist, LV_SB_MODE_HIDE); @@ -117,6 +125,10 @@ lv_obj_t * lv_ddlist_create(lv_obj_t * par, const lv_obj_t * copy) lv_ddlist_set_options(new_ddlist, "Option 1\nOption 2\nOption 3"); + /*Restore the original X coordinate*/ + if(lv_obj_get_base_dir(new_ddlist) == LV_BIDI_DIR_RTL) lv_obj_set_x(new_ddlist, x - lv_obj_get_width(new_ddlist)); + else lv_obj_set_x(new_ddlist, x); + /*Set the default styles*/ lv_theme_t * th = lv_theme_get_current(); if(th) { @@ -128,6 +140,8 @@ lv_obj_t * lv_ddlist_create(lv_obj_t * par, const lv_obj_t * copy) lv_ddlist_set_style(new_ddlist, LV_DDLIST_STYLE_SEL, &lv_style_plain_color); lv_ddlist_set_style(new_ddlist, LV_DDLIST_STYLE_SB, &lv_style_pretty_color); } + + } /*Copy an existing drop down list*/ else { @@ -142,8 +156,10 @@ lv_obj_t * lv_ddlist_create(lv_obj_t * par, const lv_obj_t * copy) ext->draw_arrow = copy_ext->draw_arrow; ext->stay_open = copy_ext->stay_open; - /*Refresh the style with new signal function*/ - lv_obj_refresh_style(new_ddlist); + lv_ddlist_set_style(new_ddlist, LV_DDLIST_STYLE_BG, lv_ddlist_get_style(copy, LV_DDLIST_STYLE_BG)); + lv_ddlist_set_style(new_ddlist, LV_DDLIST_STYLE_SB, lv_ddlist_get_style(copy, LV_DDLIST_STYLE_SB)); + lv_ddlist_set_style(new_ddlist, LV_DDLIST_STYLE_SEL, lv_ddlist_get_style(copy, LV_DDLIST_STYLE_SEL)); + } LV_LOG_INFO("drop down list created"); @@ -162,6 +178,9 @@ lv_obj_t * lv_ddlist_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_ddlist_set_options(lv_obj_t * ddlist, const char * options) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + LV_ASSERT_STR(options); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); /*Count the '\n'-s to determine the number of options*/ @@ -178,7 +197,8 @@ void lv_ddlist_set_options(lv_obj_t * ddlist, const char * options) lv_ddlist_refr_width(ddlist); - switch(lv_label_get_align(ext->label)) { + lv_label_align_t align = lv_label_get_align(ext->label); + switch(align) { case LV_LABEL_ALIGN_LEFT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_LEFT_MID, 0, 0); break; case LV_LABEL_ALIGN_CENTER: lv_obj_align(ext->label, NULL, LV_ALIGN_CENTER, 0, 0); break; case LV_LABEL_ALIGN_RIGHT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0); break; @@ -194,6 +214,8 @@ void lv_ddlist_set_options(lv_obj_t * ddlist, const char * options) */ void lv_ddlist_set_selected(lv_obj_t * ddlist, uint16_t sel_opt) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); if(ext->sel_opt_id == sel_opt) return; @@ -215,6 +237,8 @@ void lv_ddlist_set_selected(lv_obj_t * ddlist, uint16_t sel_opt) */ void lv_ddlist_set_fix_height(lv_obj_t * ddlist, lv_coord_t h) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); if(ext->fix_height == h) return; @@ -230,6 +254,9 @@ void lv_ddlist_set_fix_height(lv_obj_t * ddlist, lv_coord_t h) */ void lv_ddlist_set_fix_width(lv_obj_t * ddlist, lv_coord_t w) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); if(w == 0) { lv_cont_set_fit2(ddlist, LV_FIT_TIGHT, lv_cont_get_fit_bottom(ddlist)); } else { @@ -237,6 +264,12 @@ void lv_ddlist_set_fix_width(lv_obj_t * ddlist, lv_coord_t w) lv_obj_set_width(ddlist, w); } + switch(lv_label_get_align(ext->label)) { + case LV_LABEL_ALIGN_LEFT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_LEFT_MID, 0, 0); break; + case LV_LABEL_ALIGN_CENTER: lv_obj_align(ext->label, NULL, LV_ALIGN_CENTER, 0, 0); break; + case LV_LABEL_ALIGN_RIGHT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0); break; + } + lv_ddlist_refr_size(ddlist, false); } @@ -247,6 +280,8 @@ void lv_ddlist_set_fix_width(lv_obj_t * ddlist, lv_coord_t w) */ void lv_ddlist_set_draw_arrow(lv_obj_t * ddlist, bool en) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); /*Set the flag*/ @@ -260,6 +295,8 @@ void lv_ddlist_set_draw_arrow(lv_obj_t * ddlist, bool en) */ void lv_ddlist_set_stay_open(lv_obj_t * ddlist, bool en) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); /*Set the flag*/ @@ -274,6 +311,8 @@ void lv_ddlist_set_stay_open(lv_obj_t * ddlist, bool en) */ void lv_ddlist_set_style(lv_obj_t * ddlist, lv_ddlist_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); switch(type) { @@ -292,6 +331,8 @@ void lv_ddlist_set_style(lv_obj_t * ddlist, lv_ddlist_style_t type, const lv_sty void lv_ddlist_set_align(lv_obj_t * ddlist, lv_label_align_t align) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); lv_label_set_align(ext->label, align); @@ -312,6 +353,8 @@ void lv_ddlist_set_align(lv_obj_t * ddlist, lv_label_align_t align) */ const char * lv_ddlist_get_options(const lv_obj_t * ddlist) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); return lv_label_get_text(ext->label); } @@ -323,6 +366,8 @@ const char * lv_ddlist_get_options(const lv_obj_t * ddlist) */ uint16_t lv_ddlist_get_selected(const lv_obj_t * ddlist) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); return ext->sel_opt_id; @@ -336,6 +381,8 @@ uint16_t lv_ddlist_get_selected(const lv_obj_t * ddlist) */ void lv_ddlist_get_selected_str(const lv_obj_t * ddlist, char * buf, uint16_t buf_size) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); uint16_t i; @@ -366,6 +413,8 @@ void lv_ddlist_get_selected_str(const lv_obj_t * ddlist, char * buf, uint16_t bu */ lv_coord_t lv_ddlist_get_fix_height(const lv_obj_t * ddlist) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); return ext->fix_height; } @@ -376,6 +425,8 @@ lv_coord_t lv_ddlist_get_fix_height(const lv_obj_t * ddlist) */ bool lv_ddlist_get_draw_arrow(lv_obj_t * ddlist) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); return ext->draw_arrow ? true : false; @@ -387,6 +438,8 @@ bool lv_ddlist_get_draw_arrow(lv_obj_t * ddlist) */ bool lv_ddlist_get_stay_open(lv_obj_t * ddlist) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); return ext->stay_open ? true : false; @@ -400,6 +453,8 @@ bool lv_ddlist_get_stay_open(lv_obj_t * ddlist) */ const lv_style_t * lv_ddlist_get_style(const lv_obj_t * ddlist, lv_ddlist_style_t type) { + LV_ASSERT_OBJ(ddlist, LV_OBJX_NAME); + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); switch(type) { @@ -554,7 +609,7 @@ static bool lv_ddlist_design(lv_obj_t * ddlist, const lv_area_t * mask, lv_desig new_style.text.opa = sel_style->text.opa; lv_txt_flag_t flag = lv_ddlist_get_txt_flag(ddlist); lv_draw_label(&ext->label->coords, &mask_sel, &new_style, opa_scale, lv_label_get_text(ext->label), - flag, NULL, -1, -1, NULL); + flag, NULL, NULL, NULL, lv_obj_get_base_dir(ddlist)); } } @@ -571,9 +626,14 @@ static bool lv_ddlist_design(lv_obj_t * ddlist, const lv_area_t * mask, lv_desig new_style.text.color = sel_style->text.color; new_style.text.opa = sel_style->text.opa; lv_area_t area_arrow; - area_arrow.x2 = ddlist->coords.x2 - style->body.padding.right; - area_arrow.x1 = area_arrow.x2 - - lv_txt_get_width(LV_SYMBOL_DOWN, strlen(LV_SYMBOL_DOWN), sel_style->text.font, 0, 0); + lv_coord_t arrow_width = lv_txt_get_width(LV_SYMBOL_DOWN, strlen(LV_SYMBOL_DOWN), sel_style->text.font, 0, 0); + if(lv_label_get_align(ext->label) != LV_LABEL_ALIGN_RIGHT) { + area_arrow.x2 = ddlist->coords.x2 - style->body.padding.right; + area_arrow.x1 = area_arrow.x2 - arrow_width; + } else { + area_arrow.x1 = ddlist->coords.x1 + style->body.padding.left; + area_arrow.x2 = area_arrow.x1 + arrow_width; + } area_arrow.y1 = ddlist->coords.y1 + style->text.line_space; area_arrow.y2 = area_arrow.y1 + font_h; @@ -582,9 +642,9 @@ static bool lv_ddlist_design(lv_obj_t * ddlist, const lv_area_t * mask, lv_desig bool area_ok; area_ok = lv_area_intersect(&mask_arrow, mask, &area_arrow); if(area_ok) { + /*Use a down arrow in ddlist, you can replace it with yourcustom symbol*/ lv_draw_label(&area_arrow, &mask_arrow, &new_style, opa_scale, LV_SYMBOL_DOWN, LV_TXT_FLAG_NONE, - NULL, -1, -1, NULL); /*Use a down arrow in ddlist, you can replace it with your - custom symbol*/ + NULL, NULL, NULL, lv_obj_get_base_dir(ddlist)); } } } @@ -608,10 +668,20 @@ static lv_res_t lv_ddlist_signal(lv_obj_t * ddlist, lv_signal_t sign, void * par /* Include the ancient signal function */ res = ancestor_signal(ddlist, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); if(sign == LV_SIGNAL_STYLE_CHG) { + lv_ddlist_refr_size(ddlist, 0); + } else if(sign == LV_SIGNAL_BASE_DIR_CHG) { + lv_label_align_t align = lv_label_get_align(ext->label); + switch(align) { + case LV_LABEL_ALIGN_LEFT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_LEFT_MID, 0, 0); break; + case LV_LABEL_ALIGN_CENTER: lv_obj_align(ext->label, NULL, LV_ALIGN_CENTER, 0, 0); break; + case LV_LABEL_ALIGN_RIGHT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0); break; + } + lv_ddlist_refr_size(ddlist, 0); } else if(sign == LV_SIGNAL_CLEANUP) { ext->label = NULL; @@ -686,13 +756,6 @@ static lv_res_t lv_ddlist_signal(lv_obj_t * ddlist, lv_signal_t sign, void * par } else if(sign == LV_SIGNAL_GET_EDITABLE) { bool * editable = (bool *)param; *editable = true; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_ddlist"; } return res; @@ -773,13 +836,16 @@ static lv_res_t release_handler(lv_obj_t * ddlist) uint16_t new_opt = 0; const char * txt = lv_label_get_text(ext->label); uint32_t i = 0; - uint32_t line_cnt = 0; + uint32_t i_prev = 0; + + uint32_t letter_cnt = 0; uint32_t letter; - for(line_cnt = 0; line_cnt < letter_i; line_cnt++) { + for(letter_cnt = 0; letter_cnt < letter_i; letter_cnt++) { letter = lv_txt_encoded_next(txt, &i); /*Count he lines to reach the clicked letter. But ignore the last '\n' because it * still belongs to the clicked line*/ - if(letter == '\n' && i != letter_i) new_opt++; + if(letter == '\n' && i_prev != letter_i) new_opt++; + i_prev = i; } ext->sel_opt_id = new_opt; @@ -935,11 +1001,27 @@ static void lv_ddlist_pos_current_option(lv_obj_t * ddlist) */ static void lv_ddlist_refr_width(lv_obj_t * ddlist) { + lv_ddlist_ext_t * ext = lv_obj_get_ext_attr(ddlist); + + /*Save the current x coordinate because it should be kept after the refrsh*/ + lv_coord_t x; + if(lv_obj_get_base_dir(ddlist) == LV_BIDI_DIR_RTL) x = lv_obj_get_x(ddlist) + lv_obj_get_width(ddlist); + else x = lv_obj_get_x(ddlist); + /*Set the TIGHT fit horizontally the set the width to the content*/ lv_page_set_scrl_fit2(ddlist, LV_FIT_TIGHT, lv_page_get_scrl_fit_bottom(ddlist)); /*Revert FILL fit to fill the parent with the options area. It allows to RIGHT/CENTER align the text*/ lv_page_set_scrl_fit2(ddlist, LV_FIT_FILL, lv_page_get_scrl_fit_bottom(ddlist)); + + if(lv_obj_get_base_dir(ddlist) == LV_BIDI_DIR_RTL) lv_obj_set_x(ddlist, x - lv_obj_get_width(ddlist)); + else lv_obj_set_x(ddlist, x); + + switch(lv_label_get_align(ext->label)) { + case LV_LABEL_ALIGN_LEFT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_LEFT_MID, 0, 0); break; + case LV_LABEL_ALIGN_CENTER: lv_obj_align(ext->label, NULL, LV_ALIGN_CENTER, 0, 0); break; + case LV_LABEL_ALIGN_RIGHT: lv_obj_align(ext->label, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0); break; + } } #endif diff --git a/src/src/lv_objx/lv_gauge.c b/src/src/lv_objx/lv_gauge.c index 5703b91..7191d83 100644 --- a/src/src/lv_objx/lv_gauge.c +++ b/src/src/lv_objx/lv_gauge.c @@ -9,6 +9,7 @@ #include "lv_gauge.h" #if LV_USE_GAUGE != 0 +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_txt.h" @@ -20,6 +21,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_gauge" + #define LV_GAUGE_DEF_NEEDLE_COLOR LV_COLOR_RED #define LV_GAUGE_DEF_LABEL_COUNT 6 #define LV_GAUGE_DEF_LINE_COUNT 21 /*Should be: ((label_cnt - 1) * internal_lines) + 1*/ @@ -65,12 +68,12 @@ lv_obj_t * lv_gauge_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor gauge*/ lv_obj_t * new_gauge = lv_lmeter_create(par, copy); - lv_mem_assert(new_gauge); + LV_ASSERT_MEM(new_gauge); if(new_gauge == NULL) return NULL; /*Allocate the gauge type specific extended data*/ lv_gauge_ext_t * ext = lv_obj_allocate_ext_attr(new_gauge, sizeof(lv_gauge_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; /*Initialize the allocated 'ext' */ @@ -131,6 +134,8 @@ lv_obj_t * lv_gauge_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_gauge_set_needle_count(lv_obj_t * gauge, uint8_t needle_cnt, const lv_color_t colors[]) { + LV_ASSERT_OBJ(gauge, LV_OBJX_NAME); + lv_gauge_ext_t * ext = lv_obj_get_ext_attr(gauge); if(ext->needle_count != needle_cnt) { @@ -140,7 +145,7 @@ void lv_gauge_set_needle_count(lv_obj_t * gauge, uint8_t needle_cnt, const lv_co } ext->values = lv_mem_realloc(ext->values, needle_cnt * sizeof(int16_t)); - lv_mem_assert(ext->values); + LV_ASSERT_MEM(ext->values); if(ext->values == NULL) return; int16_t min = lv_gauge_get_min_value(gauge); @@ -164,6 +169,8 @@ void lv_gauge_set_needle_count(lv_obj_t * gauge, uint8_t needle_cnt, const lv_co */ void lv_gauge_set_value(lv_obj_t * gauge, uint8_t needle_id, int16_t value) { + LV_ASSERT_OBJ(gauge, LV_OBJX_NAME); + lv_gauge_ext_t * ext = lv_obj_get_ext_attr(gauge); if(needle_id >= ext->needle_count) return; @@ -193,6 +200,8 @@ void lv_gauge_set_value(lv_obj_t * gauge, uint8_t needle_id, int16_t value) */ void lv_gauge_set_scale(lv_obj_t * gauge, uint16_t angle, uint8_t line_cnt, uint8_t label_cnt) { + LV_ASSERT_OBJ(gauge, LV_OBJX_NAME); + lv_lmeter_set_scale(gauge, angle, line_cnt); lv_gauge_ext_t * ext = lv_obj_get_ext_attr(gauge); @@ -212,6 +221,8 @@ void lv_gauge_set_scale(lv_obj_t * gauge, uint16_t angle, uint8_t line_cnt, uint */ int16_t lv_gauge_get_value(const lv_obj_t * gauge, uint8_t needle) { + LV_ASSERT_OBJ(gauge, LV_OBJX_NAME); + lv_gauge_ext_t * ext = lv_obj_get_ext_attr(gauge); int16_t min = lv_gauge_get_min_value(gauge); @@ -227,6 +238,8 @@ int16_t lv_gauge_get_value(const lv_obj_t * gauge, uint8_t needle) */ uint8_t lv_gauge_get_needle_count(const lv_obj_t * gauge) { + LV_ASSERT_OBJ(gauge, LV_OBJX_NAME); + lv_gauge_ext_t * ext = lv_obj_get_ext_attr(gauge); return ext->needle_count; } @@ -238,6 +251,8 @@ uint8_t lv_gauge_get_needle_count(const lv_obj_t * gauge) */ uint8_t lv_gauge_get_label_count(const lv_obj_t * gauge) { + LV_ASSERT_OBJ(gauge, LV_OBJX_NAME); + lv_gauge_ext_t * ext = lv_obj_get_ext_attr(gauge); return ext->label_count; } @@ -258,7 +273,6 @@ uint8_t lv_gauge_get_label_count(const lv_obj_t * gauge) */ static bool lv_gauge_design(lv_obj_t * gauge, const lv_area_t * mask, lv_design_mode_t mode) { - /*Return false if the object is not covers the mask_p area*/ if(mode == LV_DESIGN_COVER_CHK) { return false; @@ -317,18 +331,12 @@ static lv_res_t lv_gauge_signal(lv_obj_t * gauge, lv_signal_t sign, void * param /* Include the ancient signal function */ res = ancestor_signal(gauge, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_gauge_ext_t * ext = lv_obj_get_ext_attr(gauge); if(sign == LV_SIGNAL_CLEANUP) { lv_mem_free(ext->values); ext->values = NULL; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_gauge"; } return res; @@ -381,7 +389,7 @@ static void lv_gauge_draw_scale(lv_obj_t * gauge, const lv_area_t * mask) label_cord.x2 = label_cord.x1 + label_size.x; label_cord.y2 = label_cord.y1 + label_size.y; - lv_draw_label(&label_cord, mask, style, opa_scale, scale_txt, LV_TXT_FLAG_NONE, NULL, -1, -1, NULL); + lv_draw_label(&label_cord, mask, style, opa_scale, scale_txt, LV_TXT_FLAG_NONE, NULL, NULL, NULL, lv_obj_get_base_dir(gauge)); } } /** diff --git a/src/src/lv_objx/lv_img.c b/src/src/lv_objx/lv_img.c index 3b034d3..55e64e8 100644 --- a/src/src/lv_objx/lv_img.c +++ b/src/src/lv_objx/lv_img.c @@ -14,6 +14,7 @@ #error "lv_img: lv_label is required. Enable it in lv_conf.h (LV_USE_LABEL 1) " #endif +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" #include "../lv_draw/lv_img_decoder.h" #include "../lv_misc/lv_fs.h" @@ -23,6 +24,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_img" /********************** * TYPEDEFS @@ -61,14 +63,14 @@ lv_obj_t * lv_img_create(lv_obj_t * par, const lv_obj_t * copy) /*Create a basic object*/ new_img = lv_obj_create(par, copy); - lv_mem_assert(new_img); + LV_ASSERT_MEM(new_img); if(new_img == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_img); /*Extend the basic object to image object*/ lv_img_ext_t * ext = lv_obj_allocate_ext_attr(new_img, sizeof(lv_img_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->src = NULL; @@ -121,6 +123,8 @@ lv_obj_t * lv_img_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_img_set_src(lv_obj_t * img, const void * src_img) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_src_t src_type = lv_img_src_get_type(src_img); lv_img_ext_t * ext = lv_obj_get_ext_attr(img); @@ -159,15 +163,20 @@ void lv_img_set_src(lv_obj_t * img, const void * src_img) } else if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_SYMBOL) { /* If the new and the old src are the same then it was only a refresh.*/ if(ext->src != src_img) { - /*If memory was allocated because of the previous `src_type` then free it*/ + const void * old_src = NULL; + /* If memory was allocated because of the previous `src_type` then save its pointer and free after allocation. + * It's important to allocate first to be sure the new data will be on a new address. + * Else `img_cache` wouldn't see the change in source.*/ if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { - lv_mem_free(ext->src); + old_src = ext->src; } char * new_str = lv_mem_alloc(strlen(src_img) + 1); - lv_mem_assert(new_str); + LV_ASSERT_MEM(new_str); if(new_str == NULL) return; strcpy(new_str, src_img); ext->src = new_str; + + if(old_src) lv_mem_free(old_src); } } @@ -201,6 +210,8 @@ void lv_img_set_src(lv_obj_t * img, const void * src_img) */ void lv_img_set_auto_size(lv_obj_t * img, bool en) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); ext->auto_size = (en == false ? 0 : 1); @@ -214,6 +225,8 @@ void lv_img_set_auto_size(lv_obj_t * img, bool en) */ void lv_img_set_offset_x(lv_obj_t * img, lv_coord_t x) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); if(x < ext->w - 1) { @@ -230,6 +243,8 @@ void lv_img_set_offset_x(lv_obj_t * img, lv_coord_t x) */ void lv_img_set_offset_y(lv_obj_t * img, lv_coord_t y) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); if(y < ext->h - 1) { @@ -249,6 +264,8 @@ void lv_img_set_offset_y(lv_obj_t * img, lv_coord_t y) */ const void * lv_img_get_src(lv_obj_t * img) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); return ext->src; @@ -261,6 +278,8 @@ const void * lv_img_get_src(lv_obj_t * img) */ const char * lv_img_get_file_name(const lv_obj_t * img) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); if(ext->src_type == LV_IMG_SRC_FILE) @@ -276,6 +295,8 @@ const char * lv_img_get_file_name(const lv_obj_t * img) */ bool lv_img_get_auto_size(const lv_obj_t * img) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); return ext->auto_size == 0 ? false : true; @@ -288,6 +309,8 @@ bool lv_img_get_auto_size(const lv_obj_t * img) */ lv_coord_t lv_img_get_offset_x(lv_obj_t * img) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); return ext->offset.x; @@ -300,6 +323,8 @@ lv_coord_t lv_img_get_offset_x(lv_obj_t * img) */ lv_coord_t lv_img_get_offset_y(lv_obj_t * img) { + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); return ext->offset.y; @@ -347,10 +372,10 @@ static bool lv_img_design(lv_obj_t * img, const lv_area_t * mask, lv_design_mode cords_tmp.y1 = coords.y1; cords_tmp.y2 = coords.y1 + ext->h - 1; - for(; cords_tmp.y1 < coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) { + for(; cords_tmp.y1 <= coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) { cords_tmp.x1 = coords.x1; cords_tmp.x2 = coords.x1 + ext->w - 1; - for(; cords_tmp.x1 < coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { + for(; cords_tmp.x1 <= coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { lv_draw_img(&cords_tmp, mask, ext->src, style, opa_scale); } } @@ -359,7 +384,7 @@ static bool lv_img_design(lv_obj_t * img, const lv_area_t * mask, lv_design_mode lv_style_t style_mod; lv_style_copy(&style_mod, style); style_mod.text.color = style->image.color; - lv_draw_label(&coords, mask, &style_mod, opa_scale, ext->src, LV_TXT_FLAG_NONE, NULL, -1, -1, NULL); + lv_draw_label(&coords, mask, &style_mod, opa_scale, ext->src, LV_TXT_FLAG_NONE, NULL, NULL, NULL, lv_obj_get_base_dir(img)); } else { /*Trigger the error handler of image drawer*/ LV_LOG_WARN("lv_img_design: image source type is unknown"); @@ -385,6 +410,8 @@ static lv_res_t lv_img_signal(lv_obj_t * img, lv_signal_t sign, void * param) res = ancestor_signal(img, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); if(sign == LV_SIGNAL_CLEANUP) { if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { @@ -397,13 +424,6 @@ static lv_res_t lv_img_signal(lv_obj_t * img, lv_signal_t sign, void * param) if(ext->src_type == LV_IMG_SRC_SYMBOL) { lv_img_set_src(img, ext->src); } - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_img"; } return res; diff --git a/src/src/lv_objx/lv_imgbtn.c b/src/src/lv_objx/lv_imgbtn.c index b2e5cf6..69f97f4 100644 --- a/src/src/lv_objx/lv_imgbtn.c +++ b/src/src/lv_objx/lv_imgbtn.c @@ -6,12 +6,17 @@ /********************* * INCLUDES *********************/ + +#include "../lv_core/lv_debug.h" #include "lv_imgbtn.h" +#include "lv_label.h" + #if LV_USE_IMGBTN != 0 /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_imgbtn" /********************** * TYPEDEFS @@ -51,12 +56,12 @@ lv_obj_t * lv_imgbtn_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of image button*/ lv_obj_t * new_imgbtn = lv_btn_create(par, copy); - lv_mem_assert(new_imgbtn); + LV_ASSERT_MEM(new_imgbtn); if(new_imgbtn == NULL) return NULL; /*Allocate the image button type specific extended data*/ lv_imgbtn_ext_t * ext = lv_obj_allocate_ext_attr(new_imgbtn, sizeof(lv_imgbtn_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_imgbtn); if(ancestor_design == NULL) ancestor_design = lv_obj_get_design_cb(new_imgbtn); @@ -112,6 +117,8 @@ lv_obj_t * lv_imgbtn_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_imgbtn_set_src(lv_obj_t * imgbtn, lv_btn_state_t state, const void * src) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + lv_imgbtn_ext_t * ext = lv_obj_get_ext_attr(imgbtn); ext->img_src[state] = src; @@ -134,6 +141,17 @@ void lv_imgbtn_set_src(lv_obj_t * imgbtn, lv_btn_state_t state, const void * src void lv_imgbtn_set_src(lv_obj_t * imgbtn, lv_btn_state_t state, const void * src_left, const void * src_mid, const void * src_right) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + + + if(lv_img_src_get_type(src_left) == LV_IMG_SRC_SYMBOL || + lv_img_src_get_type(src_mid) == LV_IMG_SRC_SYMBOL || + lv_img_src_get_type(src_right) == LV_IMG_SRC_SYMBOL ) + { + LV_LOG_WARN("lv_imgbtn_set_src: symbols are not supported in tiled mode"); + return; + } + lv_imgbtn_ext_t * ext = lv_obj_get_ext_attr(imgbtn); ext->img_src_left[state] = src_left; @@ -153,6 +171,8 @@ void lv_imgbtn_set_src(lv_obj_t * imgbtn, lv_btn_state_t state, const void * src */ void lv_imgbtn_set_style(lv_obj_t * imgbtn, lv_imgbtn_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + lv_btn_set_style(imgbtn, type, style); } @@ -169,6 +189,8 @@ void lv_imgbtn_set_style(lv_obj_t * imgbtn, lv_imgbtn_style_t type, const lv_sty */ const void * lv_imgbtn_get_src(lv_obj_t * imgbtn, lv_btn_state_t state) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + lv_imgbtn_ext_t * ext = lv_obj_get_ext_attr(imgbtn); return ext->img_src[state]; @@ -183,6 +205,8 @@ const void * lv_imgbtn_get_src(lv_obj_t * imgbtn, lv_btn_state_t state) */ const void * lv_imgbtn_get_src_left(lv_obj_t * imgbtn, lv_btn_state_t state) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + lv_imgbtn_ext_t * ext = lv_obj_get_ext_attr(imgbtn); return ext->img_src_left[state]; @@ -196,6 +220,8 @@ const void * lv_imgbtn_get_src_left(lv_obj_t * imgbtn, lv_btn_state_t state) */ const void * lv_imgbtn_get_src_middle(lv_obj_t * imgbtn, lv_btn_state_t state) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + lv_imgbtn_ext_t * ext = lv_obj_get_ext_attr(imgbtn); return ext->img_src_mid[state]; @@ -209,6 +235,8 @@ const void * lv_imgbtn_get_src_middle(lv_obj_t * imgbtn, lv_btn_state_t state) */ const void * lv_imgbtn_get_src_right(lv_obj_t * imgbtn, lv_btn_state_t state) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + lv_imgbtn_ext_t * ext = lv_obj_get_ext_attr(imgbtn); return ext->img_src_right[state]; @@ -224,6 +252,8 @@ const void * lv_imgbtn_get_src_right(lv_obj_t * imgbtn, lv_btn_state_t state) */ const lv_style_t * lv_imgbtn_get_style(const lv_obj_t * imgbtn, lv_imgbtn_style_t type) { + LV_ASSERT_OBJ(imgbtn, LV_OBJX_NAME); + return lv_btn_get_style(imgbtn, type); } @@ -269,17 +299,28 @@ static bool lv_imgbtn_design(lv_obj_t * imgbtn, const lv_area_t * mask, lv_desig const lv_style_t * style = lv_imgbtn_get_style(imgbtn, state); lv_opa_t opa_scale = lv_obj_get_opa_scale(imgbtn); + + #if LV_IMGBTN_TILED == 0 const void * src = ext->img_src[state]; - lv_draw_img(&imgbtn->coords, mask, src, style, opa_scale); + if(lv_img_src_get_type(src) == LV_IMG_SRC_SYMBOL) { + lv_draw_label(&imgbtn->coords, mask, style, opa_scale, src, LV_TXT_FLAG_NONE, NULL, NULL, NULL, lv_obj_get_base_dir(imgbtn)); + } else { + lv_draw_img(&imgbtn->coords, mask, src, style, opa_scale); + } #else const void * src; + src = ext->img_src_left[state]; + if(lv_img_src_get_type(src) == LV_IMG_SRC_SYMBOL) { + LV_LOG_WARN("lv_imgbtn_design: SYMBOLS are not supported in tiled mode") + return true; + } + lv_img_header_t header; lv_area_t coords; lv_coord_t left_w = 0; lv_coord_t right_w = 0; - src = ext->img_src_left[state]; if(src) { lv_img_decoder_get_info(src, &header); left_w = header.w; @@ -343,6 +384,7 @@ static lv_res_t lv_imgbtn_signal(lv_obj_t * imgbtn, lv_signal_t sign, void * par /* Include the ancient signal function */ res = ancestor_signal(imgbtn, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_STYLE_CHG) { /* If the style changed then the button was clicked, released etc. so probably the state was @@ -350,13 +392,6 @@ static lv_res_t lv_imgbtn_signal(lv_obj_t * imgbtn, lv_signal_t sign, void * par refr_img(imgbtn); } else if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_imgbtn"; } return res; @@ -374,8 +409,17 @@ static void refr_img(lv_obj_t * imgbtn) const void * src = ext->img_src_mid[state]; #endif - lv_res_t info_res; - info_res = lv_img_decoder_get_info(src, &header); + lv_res_t info_res = LV_RES_OK; + if(lv_img_src_get_type(src) == LV_IMG_SRC_SYMBOL) { + const lv_style_t * style = ext->btn.styles[state]; + header.h = lv_font_get_line_height(style->text.font); + header.w = lv_txt_get_width(src, strlen(src), style->text.font, style->text.letter_space, LV_TXT_FLAG_NONE); + header.always_zero = 0; + header.cf = LV_IMG_CF_ALPHA_1BIT; + } else { + info_res = lv_img_decoder_get_info(src, &header); + } + if(info_res == LV_RES_OK) { ext->act_cf = header.cf; #if LV_IMGBTN_TILED == 0 diff --git a/src/src/lv_objx/lv_kb.c b/src/src/lv_objx/lv_kb.c index 03c1260..1913316 100644 --- a/src/src/lv_objx/lv_kb.c +++ b/src/src/lv_objx/lv_kb.c @@ -10,12 +10,15 @@ #include "lv_kb.h" #if LV_USE_KB != 0 -#include "lv_ta.h" +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" +#include "lv_ta.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_kb" + #define LV_KB_CTRL_BTN_FLAGS (LV_BTNM_CTRL_NO_REPEAT | LV_BTNM_CTRL_CLICK_TRIG) /********************** @@ -32,8 +35,8 @@ static lv_res_t lv_kb_signal(lv_obj_t * kb, lv_signal_t sign, void * param); **********************/ static lv_signal_cb_t ancestor_signal; /* clang-format off */ -static const char * kb_map_lc[] = {"1#", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "Bksp", "\n", - "ABC", "a", "s", "d", "f", "g", "h", "j", "k", "l", "Enter", "\n", +static const char * kb_map_lc[] = {"1#", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", LV_SYMBOL_BACKSPACE, "\n", + "ABC", "a", "s", "d", "f", "g", "h", "j", "k", "l", LV_SYMBOL_NEW_LINE, "\n", "_", "-", "z", "x", "c", "v", "b", "n", "m", ".", ",", ":", "\n", LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""}; @@ -43,8 +46,8 @@ static const lv_btnm_ctrl_t kb_ctrl_lc_map[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2}; -static const char * kb_map_uc[] = {"1#", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "Bksp", "\n", - "abc", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Enter", "\n", +static const char * kb_map_uc[] = {"1#", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", LV_SYMBOL_BACKSPACE, "\n", + "abc", "A", "S", "D", "F", "G", "H", "J", "K", "L", LV_SYMBOL_NEW_LINE, "\n", "_", "-", "Z", "X", "C", "V", "B", "N", "M", ".", ",", ":", "\n", LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""}; @@ -54,7 +57,7 @@ static const lv_btnm_ctrl_t kb_ctrl_uc_map[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2}; -static const char * kb_map_spec[] = {"0", "1", "2", "3", "4" ,"5", "6", "7", "8", "9", "Bksp", "\n", +static const char * kb_map_spec[] = {"0", "1", "2", "3", "4" ,"5", "6", "7", "8", "9", LV_SYMBOL_BACKSPACE, "\n", "abc", "+", "-", "/", "*", "=", "%", "!", "?", "#", "<", ">", "\n", "\\", "@", "$", "(", ")", "{", "}", "[", "]", ";", "\"", "'", "\n", LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""}; @@ -67,14 +70,14 @@ static const lv_btnm_ctrl_t kb_ctrl_spec_map[] = { static const char * kb_map_num[] = {"1", "2", "3", LV_SYMBOL_CLOSE, "\n", "4", "5", "6", LV_SYMBOL_OK, "\n", - "7", "8", "9", "Bksp", "\n", + "7", "8", "9", LV_SYMBOL_BACKSPACE, "\n", "+/-", "0", ".", LV_SYMBOL_LEFT, LV_SYMBOL_RIGHT, ""}; static const lv_btnm_ctrl_t kb_ctrl_num_map[] = { 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, - 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, - LV_KB_CTRL_BTN_FLAGS | 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 1, LV_KB_CTRL_BTN_FLAGS | 1}; + 1, 1, 1, 2, + 1, 1, 1, 1, 1}; /* clang-format on */ /********************** @@ -97,14 +100,14 @@ lv_obj_t * lv_kb_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of keyboard*/ lv_obj_t * new_kb = lv_btnm_create(par, copy); - lv_mem_assert(new_kb); + LV_ASSERT_MEM(new_kb); if(new_kb == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_kb); /*Allocate the keyboard type specific extended data*/ lv_kb_ext_t * ext = lv_obj_allocate_ext_attr(new_kb, sizeof(lv_kb_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; /*Initialize the allocated 'ext' */ @@ -128,6 +131,7 @@ lv_obj_t * lv_kb_create(lv_obj_t * par, const lv_obj_t * copy) lv_obj_set_event_cb(new_kb, lv_kb_def_event_cb); lv_btnm_set_map(new_kb, kb_map_lc); lv_btnm_set_ctrl_map(new_kb, kb_ctrl_lc_map); + lv_obj_set_base_dir(new_kb, LV_BIDI_DIR_LTR); /*Set the default styles*/ lv_theme_t * th = lv_theme_get_current(); @@ -170,6 +174,9 @@ lv_obj_t * lv_kb_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_kb_set_ta(lv_obj_t * kb, lv_obj_t * ta) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + if(ta) LV_ASSERT_OBJ(ta, "lv_ta"); + lv_kb_ext_t * ext = lv_obj_get_ext_attr(kb); lv_cursor_type_t cur_type; @@ -195,6 +202,8 @@ void lv_kb_set_ta(lv_obj_t * kb, lv_obj_t * ta) */ void lv_kb_set_mode(lv_obj_t * kb, lv_kb_mode_t mode) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + lv_kb_ext_t * ext = lv_obj_get_ext_attr(kb); if(ext->mode == mode) return; @@ -205,6 +214,9 @@ void lv_kb_set_mode(lv_obj_t * kb, lv_kb_mode_t mode) } else if(mode == LV_KB_MODE_NUM) { lv_btnm_set_map(kb, kb_map_num); lv_btnm_set_ctrl_map(kb, kb_ctrl_num_map); + } else if(mode == LV_KB_MODE_TEXT_UPPER) { + lv_btnm_set_map(kb, kb_map_uc); + lv_btnm_set_ctrl_map(kb, kb_ctrl_uc_map); } } @@ -215,6 +227,8 @@ void lv_kb_set_mode(lv_obj_t * kb, lv_kb_mode_t mode) */ void lv_kb_set_cursor_manage(lv_obj_t * kb, bool en) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + lv_kb_ext_t * ext = lv_obj_get_ext_attr(kb); if(ext->cursor_mng == en) return; @@ -240,6 +254,8 @@ void lv_kb_set_cursor_manage(lv_obj_t * kb, bool en) */ void lv_kb_set_style(lv_obj_t * kb, lv_kb_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + switch(type) { case LV_KB_STYLE_BG: lv_btnm_set_style(kb, LV_BTNM_STYLE_BG, style); break; case LV_KB_STYLE_BTN_REL: lv_btnm_set_style(kb, LV_BTNM_STYLE_BTN_REL, style); break; @@ -261,6 +277,8 @@ void lv_kb_set_style(lv_obj_t * kb, lv_kb_style_t type, const lv_style_t * style */ lv_obj_t * lv_kb_get_ta(const lv_obj_t * kb) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + lv_kb_ext_t * ext = lv_obj_get_ext_attr(kb); return ext->ta; } @@ -272,6 +290,8 @@ lv_obj_t * lv_kb_get_ta(const lv_obj_t * kb) */ lv_kb_mode_t lv_kb_get_mode(const lv_obj_t * kb) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + lv_kb_ext_t * ext = lv_obj_get_ext_attr(kb); return ext->mode; } @@ -283,6 +303,8 @@ lv_kb_mode_t lv_kb_get_mode(const lv_obj_t * kb) */ bool lv_kb_get_cursor_manage(const lv_obj_t * kb) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + lv_kb_ext_t * ext = lv_obj_get_ext_attr(kb); return ext->cursor_mng == 0 ? false : true; } @@ -295,6 +317,8 @@ bool lv_kb_get_cursor_manage(const lv_obj_t * kb) */ const lv_style_t * lv_kb_get_style(const lv_obj_t * kb, lv_kb_style_t type) { + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + const lv_style_t * style = NULL; switch(type) { @@ -323,7 +347,9 @@ const lv_style_t * lv_kb_get_style(const lv_obj_t * kb, lv_kb_style_t type) */ void lv_kb_def_event_cb(lv_obj_t * kb, lv_event_t event) { - if(event != LV_EVENT_VALUE_CHANGED && event != LV_EVENT_LONG_PRESSED_REPEAT) return; + LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + + if(event != LV_EVENT_VALUE_CHANGED) return; lv_kb_ext_t * ext = lv_obj_get_ext_attr(kb); uint16_t btn_id = lv_btnm_get_active_btn(kb); @@ -370,13 +396,13 @@ void lv_kb_def_event_cb(lv_obj_t * kb, lv_event_t event) /*Add the characters to the text area if set*/ if(ext->ta == NULL) return; - if(strcmp(txt, "Enter") == 0) + if(strcmp(txt, "Enter") == 0 || strcmp(txt, LV_SYMBOL_NEW_LINE) == 0) lv_ta_add_char(ext->ta, '\n'); else if(strcmp(txt, LV_SYMBOL_LEFT) == 0) lv_ta_cursor_left(ext->ta); else if(strcmp(txt, LV_SYMBOL_RIGHT) == 0) lv_ta_cursor_right(ext->ta); - else if(strcmp(txt, "Bksp") == 0) + else if(strcmp(txt, LV_SYMBOL_BACKSPACE) == 0) lv_ta_del_char(ext->ta); else if(strcmp(txt, "+/-") == 0) { uint16_t cur = lv_ta_get_cursor_pos(ext->ta); @@ -419,6 +445,7 @@ static lv_res_t lv_kb_signal(lv_obj_t * kb, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(kb, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ @@ -436,13 +463,6 @@ static lv_res_t lv_kb_signal(lv_obj_t * kb, lv_signal_t sign, void * param) lv_cursor_type_t cur_type = lv_ta_get_cursor_type(ext->ta); lv_ta_set_cursor_type(ext->ta, cur_type | LV_CURSOR_HIDDEN); } - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_kb"; } return res; diff --git a/src/src/lv_objx/lv_kb.h b/src/src/lv_objx/lv_kb.h index f08891f..74d9c1f 100644 --- a/src/src/lv_objx/lv_kb.h +++ b/src/src/lv_objx/lv_kb.h @@ -45,6 +45,7 @@ extern "C" { enum { LV_KB_MODE_TEXT, LV_KB_MODE_NUM, + LV_KB_MODE_TEXT_UPPER, }; typedef uint8_t lv_kb_mode_t; diff --git a/src/src/lv_objx/lv_label.c b/src/src/lv_objx/lv_label.c index 9dfa922..9d70720 100644 --- a/src/src/lv_objx/lv_label.c +++ b/src/src/lv_objx/lv_label.c @@ -10,13 +10,18 @@ #if LV_USE_LABEL != 0 #include "../lv_core/lv_obj.h" +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" #include "../lv_misc/lv_color.h" #include "../lv_misc/lv_math.h" +#include "../lv_misc/lv_bidi.h" +#include "../lv_misc/lv_printf.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_label" + /*Test configurations*/ #ifndef LV_LABEL_DEF_SCROLL_SPEED #define LV_LABEL_DEF_SCROLL_SPEED (25) @@ -72,7 +77,7 @@ lv_obj_t * lv_label_create(lv_obj_t * par, const lv_obj_t * copy) /*Create a basic object*/ lv_obj_t * new_label = lv_obj_create(par, copy); - lv_mem_assert(new_label); + LV_ASSERT_MEM(new_label); if(new_label == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_label); @@ -81,14 +86,14 @@ lv_obj_t * lv_label_create(lv_obj_t * par, const lv_obj_t * copy) lv_obj_allocate_ext_attr(new_label, sizeof(lv_label_ext_t)); lv_label_ext_t * ext = lv_obj_get_ext_attr(new_label); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->text = NULL; ext->static_txt = 0; ext->recolor = 0; ext->body_draw = 0; - ext->align = LV_LABEL_ALIGN_LEFT; + ext->align = LV_LABEL_ALIGN_AUTO; ext->dot_end = LV_LABEL_DOT_END_INV; ext->long_mode = LV_LABEL_LONG_EXPAND; #if LV_USE_ANIMATION @@ -104,8 +109,8 @@ lv_obj_t * lv_label_create(lv_obj_t * par, const lv_obj_t * copy) #endif #if LV_LABEL_TEXT_SEL - ext->txt_sel_start = LV_LABEL_TEXT_SEL_OFF; - ext->txt_sel_end = LV_LABEL_TEXT_SEL_OFF; + ext->txt_sel_start = LV_DRAW_LABEL_NO_TXT_SEL; + ext->txt_sel_end = LV_DRAW_LABEL_NO_TXT_SEL; #endif ext->dot.tmp_ptr = NULL; ext->dot_tmp_alloc = 0; @@ -135,7 +140,7 @@ lv_obj_t * lv_label_create(lv_obj_t * par, const lv_obj_t * copy) /*In DOT mode save the text byte-to-byte because a '\0' can be in the middle*/ if(copy_ext->long_mode == LV_LABEL_LONG_DOT) { ext->text = lv_mem_realloc(ext->text, lv_mem_get_size(copy_ext->text)); - lv_mem_assert(ext->text); + LV_ASSERT_MEM(ext->text); if(ext->text == NULL) return NULL; memcpy(ext->text, copy_ext->text, lv_mem_get_size(copy_ext->text)); } @@ -169,6 +174,8 @@ lv_obj_t * lv_label_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_label_set_text(lv_obj_t * label, const char * text) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_obj_invalidate(label); lv_label_ext_t * ext = lv_obj_get_ext_attr(label); @@ -179,10 +186,12 @@ void lv_label_set_text(lv_obj_t * label, const char * text) return; } + LV_ASSERT_STR(text); + if(ext->text == text) { /*If set its own text then reallocate it (maybe its size changed)*/ ext->text = lv_mem_realloc(ext->text, strlen(ext->text) + 1); - lv_mem_assert(ext->text); + LV_ASSERT_MEM(ext->text); if(ext->text == NULL) return; } else { /*Allocate space for the new text*/ @@ -193,16 +202,66 @@ void lv_label_set_text(lv_obj_t * label, const char * text) } ext->text = lv_mem_alloc(len); - lv_mem_assert(ext->text); + LV_ASSERT_MEM(ext->text); if(ext->text == NULL) return; strcpy(ext->text, text); - ext->static_txt = 0; /*Now the text is dynamically allocated*/ + + /*Now the text is dynamically allocated*/ + ext->static_txt = 0; } lv_label_refr_text(label); } +/** + * Set a new formatted text for a label. Memory will be allocated to store the text by the label. + * @param label pointer to a label object + * @param fmt `printf`-like format + */ +void lv_label_set_text_fmt(lv_obj_t * label, const char * fmt, ...) +{ + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + LV_ASSERT_STR(fmt); + + lv_obj_invalidate(label); + + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); + + /*If text is NULL then refresh */ + if(fmt == NULL) { + lv_label_refr_text(label); + return; + } + + if(ext->text != NULL && ext->static_txt == 0) { + lv_mem_free(ext->text); + ext->text = NULL; + } + + va_list ap, ap2; + va_start(ap, fmt); + va_copy(ap2, ap); + + /*Allocate space for the new text by using trick from C99 standard section 7.19.6.12 */ + uint32_t len = lv_vsnprintf(NULL, 0, fmt, ap); + + va_end(ap); + + + ext->text = lv_mem_alloc(len+1); + LV_ASSERT_MEM(ext->text); + if(ext->text == NULL) return; + ext->text[len-1] = 0; /* Ensure NULL termination */ + + lv_vsnprintf(ext->text, len+1, fmt, ap2); + + va_end(ap2); + ext->static_txt = 0; /*Now the text is dynamically allocated*/ + + lv_label_refr_text(label); +} + /** * Set a new text for a label from a character array. The array don't has to be '\0' terminated. * Memory will be allocated to store the array by the label. @@ -212,6 +271,8 @@ void lv_label_set_text(lv_obj_t * label, const char * text) */ void lv_label_set_array_text(lv_obj_t * label, const char * array, uint16_t size) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_obj_invalidate(label); lv_label_ext_t * ext = lv_obj_get_ext_attr(label); @@ -228,7 +289,7 @@ void lv_label_set_array_text(lv_obj_t * label, const char * array, uint16_t size ext->text = NULL; } ext->text = lv_mem_alloc(size + 1); - lv_mem_assert(ext->text); + LV_ASSERT_MEM(ext->text); if(ext->text == NULL) return; memcpy(ext->text, array, size); @@ -246,6 +307,9 @@ void lv_label_set_array_text(lv_obj_t * label, const char * array, uint16_t size */ void lv_label_set_static_text(lv_obj_t * label, const char * text) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + LV_ASSERT_STR(text); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); if(ext->static_txt == 0 && ext->text != NULL) { lv_mem_free(ext->text); @@ -269,6 +333,8 @@ void lv_label_set_static_text(lv_obj_t * label, const char * text) */ void lv_label_set_long_mode(lv_obj_t * label, lv_label_long_mode_t long_mode) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); #if LV_USE_ANIMATION @@ -302,6 +368,8 @@ void lv_label_set_long_mode(lv_obj_t * label, lv_label_long_mode_t long_mode) */ void lv_label_set_align(lv_obj_t * label, lv_label_align_t align) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); if(ext->align == align) return; @@ -318,6 +386,8 @@ void lv_label_set_align(lv_obj_t * label, lv_label_align_t align) */ void lv_label_set_recolor(lv_obj_t * label, bool en) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); if(ext->recolor == en) return; @@ -334,6 +404,8 @@ void lv_label_set_recolor(lv_obj_t * label, bool en) */ void lv_label_set_body_draw(lv_obj_t * label, bool en) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); if(ext->body_draw == en) return; @@ -351,6 +423,8 @@ void lv_label_set_body_draw(lv_obj_t * label, bool en) */ void lv_label_set_anim_speed(lv_obj_t * label, uint16_t anim_speed) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_label_ext_t * ext = lv_obj_get_ext_attr(label); if(ext->anim_speed == anim_speed) return; @@ -368,6 +442,8 @@ void lv_label_set_anim_speed(lv_obj_t * label, uint16_t anim_speed) void lv_label_set_text_sel_start(lv_obj_t * label, uint16_t index) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_label_ext_t * ext = lv_obj_get_ext_attr(label); ext->txt_sel_start = index; @@ -380,6 +456,8 @@ void lv_label_set_text_sel_start(lv_obj_t * label, uint16_t index) void lv_label_set_text_sel_end(lv_obj_t * label, uint16_t index) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_label_ext_t * ext = lv_obj_get_ext_attr(label); ext->txt_sel_end = index; @@ -401,6 +479,8 @@ void lv_label_set_text_sel_end(lv_obj_t * label, uint16_t index) */ char * lv_label_get_text(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); return ext->text; @@ -413,6 +493,8 @@ char * lv_label_get_text(const lv_obj_t * label) */ lv_label_long_mode_t lv_label_get_long_mode(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); return ext->long_mode; } @@ -424,8 +506,25 @@ lv_label_long_mode_t lv_label_get_long_mode(const lv_obj_t * label) */ lv_label_align_t lv_label_get_align(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - return ext->align; + + lv_label_align_t align = ext->align; + + if(align == LV_LABEL_ALIGN_AUTO) { +#if LV_USE_BIDI + lv_bidi_dir_t base_dir = lv_obj_get_base_dir(label); + if(base_dir == LV_BIDI_DIR_AUTO) base_dir = lv_bidi_detect_base_dir(ext->text); + + if(base_dir == LV_BIDI_DIR_LTR) align = LV_LABEL_ALIGN_LEFT; + else if (base_dir == LV_BIDI_DIR_RTL) align = LV_LABEL_ALIGN_RIGHT; +#else + align = LV_LABEL_ALIGN_LEFT; +#endif + } + + return align; } /** @@ -435,6 +534,8 @@ lv_label_align_t lv_label_get_align(const lv_obj_t * label) */ bool lv_label_get_recolor(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); return ext->recolor == 0 ? false : true; } @@ -446,6 +547,8 @@ bool lv_label_get_recolor(const lv_obj_t * label) */ bool lv_label_get_body_draw(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); return ext->body_draw == 0 ? false : true; } @@ -457,6 +560,8 @@ bool lv_label_get_body_draw(const lv_obj_t * label) */ uint16_t lv_label_get_anim_speed(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_label_ext_t * ext = lv_obj_get_ext_attr(label); return ext->anim_speed; @@ -473,8 +578,11 @@ uint16_t lv_label_get_anim_speed(const lv_obj_t * label) * index (different in UTF-8) * @param pos store the result here (E.g. index = 0 gives 0;0 coordinates) */ -void lv_label_get_letter_pos(const lv_obj_t * label, uint16_t index, lv_point_t * pos) +void lv_label_get_letter_pos(const lv_obj_t * label, uint16_t char_id, lv_point_t * pos) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + LV_ASSERT_NULL(pos); + const char * txt = lv_label_get_text(label); lv_label_ext_t * ext = lv_obj_get_ext_attr(label); uint32_t line_start = 0; @@ -488,19 +596,22 @@ void lv_label_get_letter_pos(const lv_obj_t * label, uint16_t index, lv_point_t if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - if(ext->align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; + + lv_label_align_t align = lv_label_get_align(label); + if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; + if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; /*If the width will be expanded the set the max length to very big */ if(ext->long_mode == LV_LABEL_LONG_EXPAND) { max_w = LV_COORD_MAX; } - index = lv_txt_encoded_get_byte_id(txt, index); + uint16_t byte_id = lv_txt_encoded_get_byte_id(txt, char_id); /*Search the line of the index letter */; while(txt[new_line_start] != '\0') { new_line_start += lv_txt_get_next_line(&txt[line_start], font, style->text.letter_space, max_w, flag); - if(index < new_line_start || txt[new_line_start] == '\0') + if(byte_id < new_line_start || txt[new_line_start] == '\0') break; /*The line of 'index' letter begins at 'line_start'*/ y += letter_height + style->text.line_space; @@ -508,26 +619,50 @@ void lv_label_get_letter_pos(const lv_obj_t * label, uint16_t index, lv_point_t } /*If the last character is line break then go to the next line*/ - if(index > 0) { - if((txt[index - 1] == '\n' || txt[index - 1] == '\r') && txt[index] == '\0') { + if(byte_id > 0) { + if((txt[byte_id - 1] == '\n' || txt[byte_id - 1] == '\r') && txt[byte_id] == '\0') { y += letter_height + style->text.line_space; - line_start = index; + line_start = byte_id; } } + const char *bidi_txt; + uint16_t visual_byte_pos; +#if LV_USE_BIDI + /*Handle Bidi*/ + if(new_line_start == byte_id) { + visual_byte_pos = byte_id - line_start; + bidi_txt = &txt[line_start]; + } + else { + uint16_t line_char_id = lv_txt_encoded_get_char_id(&txt[line_start], byte_id - line_start); + + bool is_rtl; + char *mutable_bidi_txt; + uint16_t visual_char_pos = lv_bidi_get_visual_pos(&txt[line_start], &mutable_bidi_txt, new_line_start - line_start, lv_obj_get_base_dir(label), line_char_id, &is_rtl); + bidi_txt = mutable_bidi_txt; + if (is_rtl) visual_char_pos++; + visual_byte_pos = lv_txt_encoded_get_byte_id(bidi_txt, visual_char_pos); + } +#else + bidi_txt = &txt[line_start]; + visual_byte_pos = byte_id - line_start; +#endif + + /*Calculate the x coordinate*/ - lv_coord_t x = lv_txt_get_width(&txt[line_start], index - line_start, font, style->text.letter_space, flag); + lv_coord_t x = lv_txt_get_width(bidi_txt, visual_byte_pos, font, style->text.letter_space, flag); - if(index != line_start) x += style->text.letter_space; + if(char_id != line_start) x += style->text.letter_space; - if(ext->align == LV_LABEL_ALIGN_CENTER) { + if(align == LV_LABEL_ALIGN_CENTER) { lv_coord_t line_w; - line_w = lv_txt_get_width(&txt[line_start], new_line_start - line_start, font, style->text.letter_space, flag); + line_w = lv_txt_get_width(bidi_txt, new_line_start - line_start, font, style->text.letter_space, flag); x += lv_obj_get_width(label) / 2 - line_w / 2; - } else if(ext->align == LV_LABEL_ALIGN_RIGHT) { + } else if(align == LV_LABEL_ALIGN_RIGHT) { lv_coord_t line_w; - line_w = lv_txt_get_width(&txt[line_start], new_line_start - line_start, font, style->text.letter_space, flag); + line_w = lv_txt_get_width(bidi_txt, new_line_start - line_start, font, style->text.letter_space, flag); x += lv_obj_get_width(label) - line_w; } @@ -544,6 +679,9 @@ void lv_label_get_letter_pos(const lv_obj_t * label, uint16_t index, lv_point_t */ uint16_t lv_label_get_letter_on(const lv_obj_t * label, lv_point_t * pos) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + LV_ASSERT_NULL(pos); + const char * txt = lv_label_get_text(label); lv_label_ext_t * ext = lv_obj_get_ext_attr(label); uint32_t line_start = 0; @@ -554,10 +692,15 @@ uint16_t lv_label_get_letter_on(const lv_obj_t * label, lv_point_t * pos) uint8_t letter_height = lv_font_get_line_height(font); lv_coord_t y = 0; lv_txt_flag_t flag = LV_TXT_FLAG_NONE; + uint16_t logical_pos; + char *bidi_txt; if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - if(ext->align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; + + lv_label_align_t align = lv_label_get_align(label); + if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; + if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; /*If the width will be expanded set the max length to very big */ if(ext->long_mode == LV_LABEL_LONG_EXPAND) { @@ -568,54 +711,86 @@ uint16_t lv_label_get_letter_on(const lv_obj_t * label, lv_point_t * pos) while(txt[line_start] != '\0') { new_line_start += lv_txt_get_next_line(&txt[line_start], font, style->text.letter_space, max_w, flag); - if(pos->y <= y + letter_height) break; /*The line is found (stored in 'line_start')*/ + if(pos->y <= y + letter_height) { + /*The line is found (stored in 'line_start')*/ + /* Include the NULL terminator in the last line */ + uint32_t tmp = new_line_start; + uint32_t letter; + letter = lv_txt_encoded_prev(txt, &tmp); + if(letter != '\n' && txt[new_line_start] == '\0' ) new_line_start++; + break; + } y += letter_height + style->text.line_space; line_start = new_line_start; } +#if LV_USE_BIDI + bidi_txt = lv_draw_get_buf(new_line_start - line_start + 1); + uint16_t txt_len = new_line_start - line_start; + if(bidi_txt[new_line_start] == '\0') txt_len--; + lv_bidi_process_paragraph(txt + line_start, bidi_txt, txt_len, lv_obj_get_base_dir(label), NULL, 0); +#else + bidi_txt = (char*)txt + line_start; +#endif + /*Calculate the x coordinate*/ lv_coord_t x = 0; - if(ext->align == LV_LABEL_ALIGN_CENTER) { + if(align == LV_LABEL_ALIGN_CENTER) { lv_coord_t line_w; - line_w = lv_txt_get_width(&txt[line_start], new_line_start - line_start, font, style->text.letter_space, flag); + line_w = lv_txt_get_width(bidi_txt, new_line_start - line_start, font, style->text.letter_space, flag); x += lv_obj_get_width(label) / 2 - line_w / 2; } + else if(align == LV_LABEL_ALIGN_RIGHT) { + lv_coord_t line_w; + line_w = lv_txt_get_width(bidi_txt, new_line_start - line_start, font, style->text.letter_space, flag); + x += lv_obj_get_width(label) - line_w; + } lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - uint32_t i = line_start; - uint32_t i_current = i; + uint32_t i = 0; + uint32_t i_act = i; uint32_t letter; uint32_t letter_next; if(new_line_start > 0) { - while(i <= new_line_start - 1) { - /* Get the current letter. - * Be careful 'i' already points to the next character*/ - letter = lv_txt_encoded_next(txt, &i); + while(i + line_start < new_line_start) { + /* Get the current letter.*/ + letter = lv_txt_encoded_next(bidi_txt, &i); /*Get the next letter too for kerning*/ - letter_next = lv_txt_encoded_next(&txt[i], NULL); + letter_next = lv_txt_encoded_next(&bidi_txt[i], NULL); /*Handle the recolor command*/ if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - if(lv_txt_is_cmd(&cmd_state, txt[i]) != false) { + if(lv_txt_is_cmd(&cmd_state, bidi_txt[i]) != false) { continue; /*Skip the letter is it is part of a command*/ } } x += lv_font_get_glyph_width(font, letter, letter_next); - if(pos->x < x) { - i = i_current; + + /*Finish if the x position or the last char of the line is reached*/ + if(pos->x < x || i + line_start == new_line_start) { + i = i_act; break; } x += style->text.letter_space; - i_current = i; + i_act = i; } } - return lv_encoded_get_char_id(txt, i); +#if LV_USE_BIDI + /*Handle Bidi*/ + bool is_rtl; + logical_pos = lv_bidi_get_logical_pos(&txt[line_start], NULL, txt_len, lv_obj_get_base_dir(label), lv_txt_encoded_get_char_id(bidi_txt, i), &is_rtl); + if (is_rtl) logical_pos++; +#else + logical_pos = lv_txt_encoded_get_char_id(bidi_txt, i); +#endif + + return logical_pos + lv_txt_encoded_get_char_id(txt, line_start); } /** @@ -625,6 +800,8 @@ uint16_t lv_label_get_letter_on(const lv_obj_t * label, lv_point_t * pos) */ uint16_t lv_label_get_text_sel_start(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_label_ext_t * ext = lv_obj_get_ext_attr(label); return ext->txt_sel_start; @@ -642,6 +819,8 @@ uint16_t lv_label_get_text_sel_start(const lv_obj_t * label) */ uint16_t lv_label_get_text_sel_end(const lv_obj_t * label) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_label_ext_t * ext = lv_obj_get_ext_attr(label); return ext->txt_sel_end; @@ -659,6 +838,9 @@ uint16_t lv_label_get_text_sel_end(const lv_obj_t * label) */ bool lv_label_is_char_under_pos(const lv_obj_t * label, lv_point_t * pos) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + LV_ASSERT_NULL(pos); + const char * txt = lv_label_get_text(label); lv_label_ext_t * ext = lv_obj_get_ext_attr(label); uint32_t line_start = 0; @@ -669,10 +851,11 @@ bool lv_label_is_char_under_pos(const lv_obj_t * label, lv_point_t * pos) uint8_t letter_height = lv_font_get_line_height(font); lv_coord_t y = 0; lv_txt_flag_t flag = LV_TXT_FLAG_NONE; + lv_label_align_t align = lv_label_get_align(label); if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - if(ext->align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; + if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; /*If the width will be expanded set the max length to very big */ if(ext->long_mode == LV_LABEL_LONG_EXPAND) { @@ -692,11 +875,16 @@ bool lv_label_is_char_under_pos(const lv_obj_t * label, lv_point_t * pos) /*Calculate the x coordinate*/ lv_coord_t x = 0; lv_coord_t last_x = 0; - if(ext->align == LV_LABEL_ALIGN_CENTER) { + if(align == LV_LABEL_ALIGN_CENTER) { lv_coord_t line_w; line_w = lv_txt_get_width(&txt[line_start], new_line_start - line_start, font, style->text.letter_space, flag); x += lv_obj_get_width(label) / 2 - line_w / 2; } + else if(align == LV_LABEL_ALIGN_RIGHT) { + lv_coord_t line_w; + line_w = lv_txt_get_width(&txt[line_start], new_line_start - line_start, font, style->text.letter_space, flag); + x += lv_obj_get_width(label) - line_w; + } lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; @@ -748,6 +936,9 @@ bool lv_label_is_char_under_pos(const lv_obj_t * label, lv_point_t * pos) */ void lv_label_ins_text(lv_obj_t * label, uint32_t pos, const char * txt) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + LV_ASSERT_STR(txt); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); /*Can not append to static text*/ @@ -760,7 +951,7 @@ void lv_label_ins_text(lv_obj_t * label, uint32_t pos, const char * txt) uint32_t ins_len = strlen(txt); uint32_t new_len = ins_len + old_len; ext->text = lv_mem_realloc(ext->text, new_len + 1); - lv_mem_assert(ext->text); + LV_ASSERT_MEM(ext->text); if(ext->text == NULL) return; if(pos == LV_LABEL_POS_LAST) { @@ -768,7 +959,6 @@ void lv_label_ins_text(lv_obj_t * label, uint32_t pos, const char * txt) } lv_txt_ins(ext->text, pos, txt); - lv_label_refr_text(label); } @@ -781,6 +971,8 @@ void lv_label_ins_text(lv_obj_t * label, uint32_t pos, const char * txt) */ void lv_label_cut_text(lv_obj_t * label, uint32_t pos, uint32_t cnt) { + LV_ASSERT_OBJ(label, LV_OBJX_NAME); + lv_label_ext_t * ext = lv_obj_get_ext_attr(label); /*Can not append to static text*/ @@ -841,14 +1033,13 @@ static bool lv_label_design(lv_obj_t * label, const lv_area_t * mask, lv_design_ lv_draw_rect(&bg, mask, style, lv_obj_get_opa_scale(label)); } - /*TEST: draw a background for the label*/ - // lv_draw_rect(&label->coords, mask, &lv_style_plain_color, LV_OPA_COVER); + lv_label_align_t align = lv_label_get_align(label); lv_txt_flag_t flag = LV_TXT_FLAG_NONE; if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - if(ext->align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; - if(ext->align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; + if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; + if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; /* In ROLL mode the CENTER and RIGHT are pointless so remove them. * (In addition they will result mis-alignment is this case)*/ @@ -871,8 +1062,11 @@ static bool lv_label_design(lv_obj_t * label, const lv_area_t * mask, lv_design_ /*Just for compatibility*/ lv_draw_label_hint_t * hint = NULL; #endif - lv_draw_label(&coords, mask, style, opa_scale, ext->text, flag, &ext->offset, - lv_label_get_text_sel_start(label), lv_label_get_text_sel_end(label), hint); + lv_draw_label_txt_sel_t sel; + + sel.start = lv_label_get_text_sel_start(label); + sel.end = lv_label_get_text_sel_end(label); + lv_draw_label(&coords, mask, style, opa_scale, ext->text, flag, &ext->offset, &sel, hint, lv_obj_get_base_dir(label)); if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) { @@ -888,16 +1082,14 @@ static bool lv_label_design(lv_obj_t * label, const lv_area_t * mask, lv_design_ lv_font_get_glyph_width(style->text.font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT; ofs.y = ext->offset.y; - lv_draw_label(&coords, mask, style, opa_scale, ext->text, flag, &ofs, - lv_label_get_text_sel_start(label), lv_label_get_text_sel_end(label), NULL); + lv_draw_label(&coords, mask, style, opa_scale, ext->text, flag, &ofs, &sel, NULL, lv_obj_get_base_dir(label)); } /*Draw the text again below the original to make an circular effect */ if(size.y > lv_obj_get_height(label)) { ofs.x = ext->offset.x; ofs.y = ext->offset.y + size.y + lv_font_get_line_height(style->text.font); - lv_draw_label(&coords, mask, style, opa_scale, ext->text, flag, &ofs, - lv_label_get_text_sel_start(label), lv_label_get_text_sel_end(label), NULL); + lv_draw_label(&coords, mask, style, opa_scale, ext->text, flag, &ofs, &sel, NULL, lv_obj_get_base_dir(label)); } } } @@ -918,6 +1110,7 @@ static lv_res_t lv_label_signal(lv_obj_t * label, lv_signal_t sign, void * param /* Include the ancient signal function */ res = ancestor_signal(label, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_label_ext_t * ext = lv_obj_get_ext_attr(label); if(sign == LV_SIGNAL_CLEANUP) { @@ -946,6 +1139,11 @@ static lv_res_t lv_label_signal(lv_obj_t * label, lv_signal_t sign, void * param label->ext_draw_pad = LV_MATH_MAX(label->ext_draw_pad, style->body.padding.top); label->ext_draw_pad = LV_MATH_MAX(label->ext_draw_pad, style->body.padding.bottom); } + } + else if(sign == LV_SIGNAL_BASE_DIR_CHG) { +#if LV_USE_BIDI + if(ext->static_txt == 0) lv_label_set_text(label, NULL); +#endif } else if(sign == LV_SIGNAL_GET_TYPE) { lv_obj_type_t * buf = param; uint8_t i; @@ -1037,11 +1235,12 @@ static void lv_label_refr_text(lv_obj_t * label) /*In roll inf. mode keep the size but start offset animations*/ else if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) { #if LV_USE_ANIMATION + lv_label_align_t align = lv_label_get_align(label); + lv_anim_t anim; anim.var = label; anim.repeat = 1; anim.playback = 0; - anim.start = 0; anim.act_time = -(((lv_font_get_glyph_width(style->text.font, ' ', ' ') + style->text.letter_space) * 1000) / ext->anim_speed) * LV_LABEL_WAIT_CHAR_COUNT; @@ -1052,7 +1251,14 @@ static void lv_label_refr_text(lv_obj_t * label) bool hor_anim = false; if(size.x > lv_obj_get_width(label)) { - anim.end = -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT; + if(align == LV_LABEL_ALIGN_RIGHT) { + anim.end = 0; + anim.start = -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT; + } else { + anim.start = 0; + anim.end = -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT; + } + anim.exec_cb = (lv_anim_exec_xcb_t)lv_label_set_offset_x; anim.time = lv_anim_speed_to_time(ext->anim_speed, anim.start, anim.end); lv_anim_create(&anim); @@ -1064,7 +1270,14 @@ static void lv_label_refr_text(lv_obj_t * label) } if(size.y > lv_obj_get_height(label) && hor_anim == false) { - anim.end = -size.y - (lv_font_get_line_height(font)); + if(align == LV_LABEL_ALIGN_RIGHT) { + anim.end = 0; + anim.start = -size.y - (lv_font_get_line_height(font)); + } else { + anim.start = 0; + anim.end = -size.y - (lv_font_get_line_height(font)); + } + anim.exec_cb = (lv_anim_exec_xcb_t)lv_label_set_offset_y; anim.time = lv_anim_speed_to_time(ext->anim_speed, anim.start, anim.end); lv_anim_create(&anim); diff --git a/src/src/lv_objx/lv_label.h b/src/src/lv_objx/lv_label.h index 16b1a6e..faa2168 100644 --- a/src/src/lv_objx/lv_label.h +++ b/src/src/lv_objx/lv_label.h @@ -21,6 +21,7 @@ extern "C" { #if LV_USE_LABEL != 0 +#include #include "../lv_core/lv_obj.h" #include "../lv_font/lv_font.h" #include "../lv_font/lv_symbol_def.h" @@ -32,7 +33,11 @@ extern "C" { *********************/ #define LV_LABEL_DOT_NUM 3 #define LV_LABEL_POS_LAST 0xFFFF -#define LV_LABEL_TEXT_SEL_OFF 0xFFFF +#define LV_LABEL_TEXT_SEL_OFF LV_DRAW_LABEL_NO_TXT_SEL + +LV_EXPORT_CONST_INT(LV_LABEL_DOT_NUM); +LV_EXPORT_CONST_INT(LV_LABEL_POS_LAST); +LV_EXPORT_CONST_INT(LV_LABEL_TEXT_SEL_OFF); /********************** * TYPEDEFS @@ -55,6 +60,7 @@ enum { LV_LABEL_ALIGN_LEFT, /**< Align text to left */ LV_LABEL_ALIGN_CENTER, /**< Align text to center */ LV_LABEL_ALIGN_RIGHT, /**< Align text to right */ + LV_LABEL_ALIGN_AUTO, /**< Use LEFT or RIGHT depending on the direction of the text (LTR/RTL)*/ }; typedef uint8_t lv_label_align_t; @@ -63,12 +69,13 @@ typedef struct { /*Inherited from 'base_obj' so no inherited ext.*/ /*Ext. of ancestor*/ /*New data for this type */ - char * text; /*Text of the label*/ + char * text; /*Text of the label*/ + union { char * tmp_ptr; /* Pointer to the allocated memory containing the character which are replaced by dots (Handled by the library)*/ - char tmp[sizeof(char *)]; /* Directly store the characters if <=4 characters */ + char tmp[LV_LABEL_DOT_NUM + 1]; /* Directly store the characters if <=4 characters */ } dot; uint16_t dot_end; /*The text end position in dot mode (Handled by the library)*/ lv_point_t offset; /*Text draw position offset*/ @@ -124,6 +131,13 @@ lv_obj_t * lv_label_create(lv_obj_t * par, const lv_obj_t * copy); */ void lv_label_set_text(lv_obj_t * label, const char * text); +/** + * Set a new formatted text for a label. Memory will be allocated to store the text by the label. + * @param label pointer to a label object + * @param fmt `printf`-like format + */ +void lv_label_set_text_fmt(lv_obj_t * label, const char * fmt, ...); + /** * Set a new text for a label from a character array. The array don't has to be '\0' terminated. * Memory will be allocated to store the array by the label. diff --git a/src/src/lv_objx/lv_led.c b/src/src/lv_objx/lv_led.c index c991b51..133ccc8 100644 --- a/src/src/lv_objx/lv_led.c +++ b/src/src/lv_objx/lv_led.c @@ -9,12 +9,15 @@ #include "lv_led.h" #if LV_USE_LED != 0 +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" #include "../lv_draw/lv_draw.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_led" + #define LV_LED_WIDTH_DEF (LV_DPI / 3) #define LV_LED_HEIGHT_DEF (LV_DPI / 3) #define LV_LED_BRIGHT_OFF 100 @@ -56,7 +59,7 @@ lv_obj_t * lv_led_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor basic object*/ lv_obj_t * new_led = lv_obj_create(par, copy); - lv_mem_assert(new_led); + LV_ASSERT_MEM(new_led); if(new_led == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_led); @@ -64,7 +67,7 @@ lv_obj_t * lv_led_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the object type specific extended data*/ lv_led_ext_t * ext = lv_obj_allocate_ext_attr(new_led, sizeof(lv_led_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->bright = LV_LED_BRIGHT_ON; @@ -109,6 +112,8 @@ lv_obj_t * lv_led_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_led_set_bright(lv_obj_t * led, uint8_t bright) { + LV_ASSERT_OBJ(led, LV_OBJX_NAME); + /*Set the brightness*/ lv_led_ext_t * ext = lv_obj_get_ext_attr(led); if(ext->bright == bright) return; @@ -125,6 +130,8 @@ void lv_led_set_bright(lv_obj_t * led, uint8_t bright) */ void lv_led_on(lv_obj_t * led) { + LV_ASSERT_OBJ(led, LV_OBJX_NAME); + lv_led_set_bright(led, LV_LED_BRIGHT_ON); } @@ -134,6 +141,8 @@ void lv_led_on(lv_obj_t * led) */ void lv_led_off(lv_obj_t * led) { + LV_ASSERT_OBJ(led, LV_OBJX_NAME); + lv_led_set_bright(led, LV_LED_BRIGHT_OFF); } @@ -143,6 +152,8 @@ void lv_led_off(lv_obj_t * led) */ void lv_led_toggle(lv_obj_t * led) { + LV_ASSERT_OBJ(led, LV_OBJX_NAME); + uint8_t bright = lv_led_get_bright(led); if(bright > (LV_LED_BRIGHT_OFF + LV_LED_BRIGHT_ON) >> 1) lv_led_off(led); @@ -161,6 +172,8 @@ void lv_led_toggle(lv_obj_t * led) */ uint8_t lv_led_get_bright(const lv_obj_t * led) { + LV_ASSERT_OBJ(led, LV_OBJX_NAME); + lv_led_ext_t * ext = lv_obj_get_ext_attr(led); return ext->bright; } diff --git a/src/src/lv_objx/lv_line.c b/src/src/lv_objx/lv_line.c index 3831449..ec9e35d 100644 --- a/src/src/lv_objx/lv_line.c +++ b/src/src/lv_objx/lv_line.c @@ -9,6 +9,7 @@ #include "lv_line.h" #if LV_USE_LINE != 0 +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_misc/lv_math.h" #include @@ -18,6 +19,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_line" /********************** * TYPEDEFS @@ -53,14 +55,14 @@ lv_obj_t * lv_line_create(lv_obj_t * par, const lv_obj_t * copy) /*Create a basic object*/ lv_obj_t * new_line = lv_obj_create(par, copy); - lv_mem_assert(new_line); + LV_ASSERT_MEM(new_line); if(new_line == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_line); /*Extend the basic object to line object*/ lv_line_ext_t * ext = lv_obj_allocate_ext_attr(new_line, sizeof(lv_line_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->point_num = 0; @@ -107,6 +109,8 @@ lv_obj_t * lv_line_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_line_set_points(lv_obj_t * line, const lv_point_t point_a[], uint16_t point_num) { + LV_ASSERT_OBJ(line, LV_OBJX_NAME); + lv_line_ext_t * ext = lv_obj_get_ext_attr(line); ext->point_array = point_a; ext->point_num = point_num; @@ -135,6 +139,8 @@ void lv_line_set_points(lv_obj_t * line, const lv_point_t point_a[], uint16_t po */ void lv_line_set_auto_size(lv_obj_t * line, bool en) { + LV_ASSERT_OBJ(line, LV_OBJX_NAME); + lv_line_ext_t * ext = lv_obj_get_ext_attr(line); if(ext->auto_size == en) return; @@ -153,6 +159,8 @@ void lv_line_set_auto_size(lv_obj_t * line, bool en) */ void lv_line_set_y_invert(lv_obj_t * line, bool en) { + LV_ASSERT_OBJ(line, LV_OBJX_NAME); + lv_line_ext_t * ext = lv_obj_get_ext_attr(line); if(ext->y_inv == en) return; @@ -172,6 +180,8 @@ void lv_line_set_y_invert(lv_obj_t * line, bool en) */ bool lv_line_get_auto_size(const lv_obj_t * line) { + LV_ASSERT_OBJ(line, LV_OBJX_NAME); + lv_line_ext_t * ext = lv_obj_get_ext_attr(line); return ext->auto_size == 0 ? false : true; @@ -184,6 +194,8 @@ bool lv_line_get_auto_size(const lv_obj_t * line) */ bool lv_line_get_y_invert(const lv_obj_t * line) { + LV_ASSERT_OBJ(line, LV_OBJX_NAME); + lv_line_ext_t * ext = lv_obj_get_ext_attr(line); return ext->y_inv == 0 ? false : true; @@ -225,11 +237,13 @@ static bool lv_line_design(lv_obj_t * line, const lv_area_t * mask, lv_design_mo uint16_t i; lv_style_t circle_style_tmp; /*If rounded...*/ - lv_style_copy(&circle_style_tmp, style); - circle_style_tmp.body.radius = LV_RADIUS_CIRCLE; - circle_style_tmp.body.main_color = style->line.color; - circle_style_tmp.body.grad_color = style->line.color; - circle_style_tmp.body.opa = style->line.opa; + if(style->line.rounded) { + lv_style_copy(&circle_style_tmp, style); + circle_style_tmp.body.radius = LV_RADIUS_CIRCLE; + circle_style_tmp.body.main_color = style->line.color; + circle_style_tmp.body.grad_color = style->line.color; + circle_style_tmp.body.opa = style->line.opa; + } lv_area_t circle_area; /*Read all points and draw the lines*/ @@ -282,15 +296,9 @@ static lv_res_t lv_line_signal(lv_obj_t * line, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(line, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_line"; - } else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { + if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { const lv_style_t * style = lv_line_get_style(line, LV_LINE_STYLE_MAIN); if(line->ext_draw_pad < style->line.width) line->ext_draw_pad = style->line.width; } diff --git a/src/src/lv_objx/lv_list.c b/src/src/lv_objx/lv_list.c index c6e4300..2732428 100644 --- a/src/src/lv_objx/lv_list.c +++ b/src/src/lv_objx/lv_list.c @@ -9,6 +9,7 @@ #include "lv_list.h" #if LV_USE_LIST != 0 +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_anim.h" @@ -17,6 +18,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_list" + #define LV_LIST_LAYOUT_DEF LV_LAYOUT_COL_M #if LV_USE_ANIMATION == 0 @@ -47,11 +50,7 @@ static lv_signal_cb_t img_signal; static lv_signal_cb_t label_signal; static lv_signal_cb_t ancestor_page_signal; static lv_signal_cb_t ancestor_btn_signal; -#if LV_USE_GROUP -/*Used to make the last clicked button pressed (selected) when the list become focused and - * `click_focus == 1`*/ -static lv_obj_t * last_clicked_btn; -#endif + /********************** * MACROS @@ -73,13 +72,13 @@ lv_obj_t * lv_list_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor basic object*/ lv_obj_t * new_list = lv_page_create(par, copy); - lv_mem_assert(new_list); + LV_ASSERT_MEM(new_list); if(new_list == NULL) return NULL; if(ancestor_page_signal == NULL) ancestor_page_signal = lv_obj_get_signal_cb(new_list); lv_list_ext_t * ext = lv_obj_allocate_ext_attr(new_list, sizeof(lv_list_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->style_img = NULL; @@ -94,6 +93,7 @@ lv_obj_t * lv_list_create(lv_obj_t * par, const lv_obj_t * copy) #if LV_USE_GROUP ext->last_sel = NULL; ext->selected_btn = NULL; + ext->last_clicked_btn = NULL; #endif lv_obj_set_signal_cb(new_list, lv_list_signal); @@ -152,13 +152,15 @@ lv_obj_t * lv_list_create(lv_obj_t * par, const lv_obj_t * copy) /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param list pointer to an object */ -void lv_list_clean(lv_obj_t * obj) +void lv_list_clean(lv_obj_t * list) { - lv_obj_t * scrl = lv_page_get_scrl(obj); + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + + lv_obj_t * scrl = lv_page_get_scrl(list); lv_obj_clean(scrl); - lv_list_ext_t * ext = lv_obj_get_ext_attr(obj); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); ext->size = 0; } @@ -175,6 +177,8 @@ void lv_list_clean(lv_obj_t * obj) */ lv_obj_t * lv_list_add_btn(lv_obj_t * list, const void * img_src, const char * txt) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); ext->size++; /*Create a list element with the image an the text*/ @@ -214,7 +218,8 @@ lv_obj_t * lv_list_add_btn(lv_obj_t * list, const void * img_src, const char * t lv_label_set_text(label, txt); lv_obj_set_click(label, false); lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL_CIRC); - lv_obj_set_width(label, liste->coords.x2 - label->coords.x1 - btn_hor_pad); + if(lv_obj_get_base_dir(liste) == LV_BIDI_DIR_RTL) lv_obj_set_width(label, label->coords.x2 - liste->coords.x1 - btn_hor_pad); + else lv_obj_set_width(label, liste->coords.x2 - label->coords.x1 - btn_hor_pad); if(label_signal == NULL) label_signal = lv_obj_get_signal_cb(label); } #if LV_USE_GROUP @@ -240,6 +245,8 @@ lv_obj_t * lv_list_add_btn(lv_obj_t * list, const void * img_src, const char * t */ bool lv_list_remove(const lv_obj_t * list, uint16_t index) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); if(index >= ext->size) return false; uint16_t count = 0; @@ -267,6 +274,8 @@ bool lv_list_remove(const lv_obj_t * list, uint16_t index) */ void lv_list_set_single_mode(lv_obj_t * list, bool mode) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); ext->single_mode = mode; @@ -282,6 +291,9 @@ void lv_list_set_single_mode(lv_obj_t * list, bool mode) */ void lv_list_set_btn_selected(lv_obj_t * list, lv_obj_t * btn) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + if(btn) LV_ASSERT_OBJ(list, "lv_btn"); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); if(ext->selected_btn) { @@ -321,6 +333,8 @@ void lv_list_set_btn_selected(lv_obj_t * list, lv_obj_t * btn) */ void lv_list_set_style(lv_obj_t * list, lv_list_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); lv_btn_style_t btn_style_refr = LV_BTN_STYLE_REL; lv_obj_t * btn; @@ -366,6 +380,38 @@ void lv_list_set_style(lv_obj_t * list, lv_list_style_t type, const lv_style_t * } } +/** + * Set layout of a list + * @param list pointer to a list object + * @param layout which layout should be used + */ + void lv_list_set_layout(lv_obj_t * list, lv_layout_t layout) + { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + + /* Update list layout if necessary */ + if (layout == lv_list_get_layout(list)) return; + + /* Get the first button on the list */ + lv_obj_t * btn = lv_list_get_prev_btn(list, NULL); + + /* Visit all buttons on the list and update their layout */ + while(btn != NULL) { + /*If a column layout set the buttons' width to list width*/ + if(layout == LV_LAYOUT_COL_M || layout == LV_LAYOUT_COL_L || layout == LV_LAYOUT_COL_R) { + lv_btn_set_fit2(list, LV_FIT_FLOOD, LV_FIT_TIGHT); + } + /*If a row layout set the buttons' width according to the content*/ + else if (layout == LV_LAYOUT_ROW_M || layout == LV_LAYOUT_ROW_T || layout == LV_LAYOUT_ROW_B) { + lv_btn_set_fit(list, LV_FIT_TIGHT); + } + + btn = lv_list_get_prev_btn(list, btn); + } + + lv_page_set_scrl_layout(list, layout); + } + /*===================== * Getter functions *====================*/ @@ -376,6 +422,8 @@ void lv_list_set_style(lv_obj_t * list, lv_list_style_t type, const lv_style_t * */ bool lv_list_get_single_mode(lv_obj_t * list) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); return (ext->single_mode); @@ -388,6 +436,8 @@ bool lv_list_get_single_mode(lv_obj_t * list) */ const char * lv_list_get_btn_text(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, "lv_btn"); + lv_obj_t * label = lv_list_get_btn_label(btn); if(label == NULL) return ""; return lv_label_get_text(label); @@ -400,6 +450,8 @@ const char * lv_list_get_btn_text(const lv_obj_t * btn) */ lv_obj_t * lv_list_get_btn_label(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, "lv_btn"); + lv_obj_t * label = lv_obj_get_child(btn, NULL); if(label == NULL) return NULL; @@ -418,6 +470,8 @@ lv_obj_t * lv_list_get_btn_label(const lv_obj_t * btn) */ lv_obj_t * lv_list_get_btn_img(const lv_obj_t * btn) { + LV_ASSERT_OBJ(btn, "lv_btn"); + #if LV_USE_IMG != 0 lv_obj_t * img = lv_obj_get_child(btn, NULL); if(img == NULL) return NULL; @@ -441,6 +495,8 @@ lv_obj_t * lv_list_get_btn_img(const lv_obj_t * btn) */ lv_obj_t * lv_list_get_prev_btn(const lv_obj_t * list, lv_obj_t * prev_btn) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + /* Not a good practice but user can add/create objects to the lists manually. * When getting the next button try to be sure that it is at least a button */ @@ -466,6 +522,8 @@ lv_obj_t * lv_list_get_prev_btn(const lv_obj_t * list, lv_obj_t * prev_btn) */ lv_obj_t * lv_list_get_next_btn(const lv_obj_t * list, lv_obj_t * prev_btn) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + /* Not a good practice but user can add/create objects to the lists manually. * When getting the next button try to be sure that it is at least a button */ @@ -491,6 +549,9 @@ lv_obj_t * lv_list_get_next_btn(const lv_obj_t * list, lv_obj_t * prev_btn) */ int32_t lv_list_get_btn_index(const lv_obj_t * list, const lv_obj_t * btn) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + LV_ASSERT_OBJ(btn, "lv_btn"); + int index = 0; if(list == NULL) { /* no list provided, assuming btn is part of a list */ @@ -514,6 +575,8 @@ int32_t lv_list_get_btn_index(const lv_obj_t * list, const lv_obj_t * btn) */ uint16_t lv_list_get_size(const lv_obj_t * list) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); return ext->size; } @@ -526,20 +589,35 @@ uint16_t lv_list_get_size(const lv_obj_t * list) */ lv_obj_t * lv_list_get_btn_selected(const lv_obj_t * list) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); return ext->selected_btn; } - #endif +/** + * Get layout of a list + * @param list pointer to a list object + * @return layout of the list object + */ +lv_layout_t lv_list_get_layout(lv_obj_t * list) +{ + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + + return lv_page_get_scrl_layout(list); +} + /** * Get a style of a list * @param list pointer to a list object * @param type which style should be get * @return style pointer to a style - * */ + */ const lv_style_t * lv_list_get_style(const lv_obj_t * list, lv_list_style_t type) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_list_ext_t * ext = lv_obj_get_ext_attr(list); @@ -558,6 +636,7 @@ const lv_style_t * lv_list_get_style(const lv_obj_t * list, lv_list_style_t type return style; } + /*===================== * Other functions *====================*/ @@ -568,6 +647,8 @@ const lv_style_t * lv_list_get_style(const lv_obj_t * list, lv_list_style_t type */ void lv_list_up(const lv_obj_t * list) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + /*Search the first list element which 'y' coordinate is below the parent * and position the list to show this element on the bottom*/ lv_obj_t * scrl = lv_page_get_scrl(list); @@ -613,6 +694,8 @@ void lv_list_up(const lv_obj_t * list) */ void lv_list_down(const lv_obj_t * list) { + LV_ASSERT_OBJ(list, LV_OBJX_NAME); + /*Search the first list element which 'y' coordinate is above the parent * and position the list to show this element on the top*/ lv_obj_t * scrl = lv_page_get_scrl(list); @@ -654,6 +737,7 @@ void lv_list_down(const lv_obj_t * list) */ void lv_list_focus(const lv_obj_t * btn, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(btn, ""); #if LV_USE_ANIMATION == 0 anim = false; @@ -682,6 +766,7 @@ static lv_res_t lv_list_signal(lv_obj_t * list, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_page_signal(list, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_RELEASED || sign == LV_SIGNAL_PRESSED || sign == LV_SIGNAL_PRESSING || sign == LV_SIGNAL_LONG_PRESS || sign == LV_SIGNAL_LONG_PRESS_REP) { @@ -751,10 +836,12 @@ static lv_res_t lv_list_signal(lv_obj_t * list, lv_signal_t sign, void * param) /*Else select the clicked button*/ else { /*Mark the last clicked button (if any) as selected because it triggered the focus*/ - if(last_clicked_btn) { - lv_list_set_btn_selected(list, last_clicked_btn); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); + if(ext->last_clicked_btn) { + lv_list_set_btn_selected(list, ext->last_clicked_btn); + ext->last_clicked_btn = NULL; + } else { - lv_list_ext_t * ext = lv_obj_get_ext_attr(list); if(ext->last_sel) { /* Select the last used button */ lv_list_set_btn_selected(list, ext->last_sel); @@ -770,8 +857,8 @@ static lv_res_t lv_list_signal(lv_obj_t * list, lv_signal_t sign, void * param) #if LV_USE_GROUP /*De-select the selected btn*/ lv_list_set_btn_selected(list, NULL); - last_clicked_btn = NULL; /*button click will be set if click happens before focus*/ lv_list_ext_t * ext = lv_obj_get_ext_attr(list); + ext->last_clicked_btn = NULL; /*button click will be set if click happens before focus*/ ext->selected_btn = NULL; #endif } else if(sign == LV_SIGNAL_GET_EDITABLE) { @@ -809,13 +896,6 @@ static lv_res_t lv_list_signal(lv_obj_t * list, lv_signal_t sign, void * param) } } #endif - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_list"; } return res; } @@ -834,6 +914,7 @@ static lv_res_t lv_list_btn_signal(lv_obj_t * btn, lv_signal_t sign, void * para /* Include the ancient signal function */ res = ancestor_btn_signal(btn, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, ""); if(sign == LV_SIGNAL_RELEASED) { lv_obj_t * list = lv_obj_get_parent(lv_obj_get_parent(btn)); @@ -861,7 +942,7 @@ static lv_res_t lv_list_btn_signal(lv_obj_t * btn, lv_signal_t sign, void * para /* If `click_focus == 1` then LV_SIGNAL_FOCUS need to know which button triggered the focus * to mark it as selected (pressed state)*/ - last_clicked_btn = btn; + ext->last_clicked_btn = btn; #endif if(lv_indev_is_dragging(lv_indev_get_act()) == false && ext->single_mode) { lv_list_btn_single_select(btn); diff --git a/src/src/lv_objx/lv_list.h b/src/src/lv_objx/lv_list.h index 7b79278..e17bc87 100644 --- a/src/src/lv_objx/lv_list.h +++ b/src/src/lv_objx/lv_list.h @@ -61,6 +61,9 @@ typedef struct #if LV_USE_GROUP lv_obj_t * last_sel; /* The last selected button. It will be reverted when the list is focused again */ lv_obj_t * selected_btn; /* The button is currently being selected*/ + /*Used to make the last clicked button pressed (selected) when the list become focused and + * `click_focus == 1`*/ + lv_obj_t * last_clicked_btn; #endif } lv_list_ext_t; @@ -92,9 +95,9 @@ lv_obj_t * lv_list_create(lv_obj_t * par, const lv_obj_t * copy); /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param list pointer to an object */ -void lv_list_clean(lv_obj_t * obj); +void lv_list_clean(lv_obj_t * list); /*====================== * Add/remove functions @@ -189,6 +192,13 @@ static inline void lv_list_set_anim_time(lv_obj_t * list, uint16_t anim_time) */ void lv_list_set_style(lv_obj_t * list, lv_list_style_t type, const lv_style_t * style); +/** + * Set layout of a list + * @param list pointer to a list object + * @param layout which layout should be used + */ +void lv_list_set_layout(lv_obj_t * list, lv_layout_t layout); + /*===================== * Getter functions *====================*/ @@ -259,6 +269,13 @@ uint16_t lv_list_get_size(const lv_obj_t * list); lv_obj_t * lv_list_get_btn_selected(const lv_obj_t * list); #endif +/** + * Get layout of a list + * @param list pointer to a list object + * @return layout of the list object + */ +lv_layout_t lv_list_get_layout(lv_obj_t * list); + /** * Get the scroll bar mode of a list * @param list pointer to a list object diff --git a/src/src/lv_objx/lv_lmeter.c b/src/src/lv_objx/lv_lmeter.c index 78f7a8e..5843a7d 100644 --- a/src/src/lv_objx/lv_lmeter.c +++ b/src/src/lv_objx/lv_lmeter.c @@ -9,6 +9,7 @@ #include "lv_lmeter.h" #if LV_USE_LMETER != 0 +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" #include "../lv_core/lv_group.h" @@ -17,6 +18,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_lmeter" + #define LV_LMETER_LINE_UPSCALE 5 /*2^x upscale of line to make rounding*/ #define LV_LMETER_LINE_UPSCALE_MASK ((1 << LV_LMETER_LINE_UPSCALE) - 1) @@ -57,14 +60,14 @@ lv_obj_t * lv_lmeter_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of line meter*/ lv_obj_t * new_lmeter = lv_obj_create(par, copy); - lv_mem_assert(new_lmeter); + LV_ASSERT_MEM(new_lmeter); if(new_lmeter == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_lmeter); /*Allocate the line meter type specific extended data*/ lv_lmeter_ext_t * ext = lv_obj_allocate_ext_attr(new_lmeter, sizeof(lv_lmeter_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; /*Initialize the allocated 'ext' */ @@ -73,6 +76,7 @@ lv_obj_t * lv_lmeter_create(lv_obj_t * par, const lv_obj_t * copy) ext->cur_value = 0; ext->line_cnt = 21; /*Odd scale number looks better*/ ext->scale_angle = 240; /*(scale_num - 1) * N looks better */ + ext->angle_ofs = 0; /*The signal and design functions are not copied so set them here*/ lv_obj_set_signal_cb(new_lmeter, lv_lmeter_signal); @@ -119,6 +123,8 @@ lv_obj_t * lv_lmeter_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_lmeter_set_value(lv_obj_t * lmeter, int16_t value) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); if(ext->cur_value == value) return; @@ -135,6 +141,8 @@ void lv_lmeter_set_value(lv_obj_t * lmeter, int16_t value) */ void lv_lmeter_set_range(lv_obj_t * lmeter, int16_t min, int16_t max) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); if(ext->min_value == min && ext->max_value == max) return; @@ -159,6 +167,8 @@ void lv_lmeter_set_range(lv_obj_t * lmeter, int16_t min, int16_t max) */ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); if(ext->scale_angle == angle && ext->line_cnt == line_cnt) return; @@ -168,6 +178,21 @@ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt) lv_obj_invalidate(lmeter); } +/** + * Set the set an offset for the line meter's angles to rotate it. + * @param lmeter pointer to a line meter object + * @param angle angle where the meter will be facing (with its center) + */ +void lv_lmeter_set_angle_offset(lv_obj_t * lmeter, uint16_t angle) +{ + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); + if(ext->angle_ofs == angle) return; + + ext->angle_ofs = angle; + + lv_obj_invalidate(lmeter); +} + /*===================== * Getter functions *====================*/ @@ -179,6 +204,8 @@ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt) */ int16_t lv_lmeter_get_value(const lv_obj_t * lmeter) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); return ext->cur_value; } @@ -190,6 +217,8 @@ int16_t lv_lmeter_get_value(const lv_obj_t * lmeter) */ int16_t lv_lmeter_get_min_value(const lv_obj_t * lmeter) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); return ext->min_value; } @@ -201,6 +230,8 @@ int16_t lv_lmeter_get_min_value(const lv_obj_t * lmeter) */ int16_t lv_lmeter_get_max_value(const lv_obj_t * lmeter) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); return ext->max_value; } @@ -212,6 +243,8 @@ int16_t lv_lmeter_get_max_value(const lv_obj_t * lmeter) */ uint8_t lv_lmeter_get_line_count(const lv_obj_t * lmeter) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); return ext->line_cnt; } @@ -219,14 +252,27 @@ uint8_t lv_lmeter_get_line_count(const lv_obj_t * lmeter) /** * Get the scale angle of a line meter * @param lmeter pointer to a line meter object - * @return angle of the scale + * @return angle_ofs of the scale */ uint16_t lv_lmeter_get_scale_angle(const lv_obj_t * lmeter) { + LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); return ext->scale_angle; } +/** + * get the set an offset for the line meter. + * @param lmeter pointer to a line meter object + * @return angle offset (0..360) + */ +uint16_t lv_lmeter_get_angle_offset(lv_obj_t * lmeter) +{ + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); + + return ext->angle_ofs; +} /********************** * STATIC FUNCTIONS **********************/ @@ -268,7 +314,7 @@ static bool lv_lmeter_design(lv_obj_t * lmeter, const lv_area_t * mask, lv_desig lv_coord_t x_ofs = lv_obj_get_width(lmeter) / 2 + lmeter->coords.x1; lv_coord_t y_ofs = lv_obj_get_height(lmeter) / 2 + lmeter->coords.y1; - int16_t angle_ofs = 90 + (360 - ext->scale_angle) / 2; + int16_t angle_ofs = ext->angle_ofs + 90 + (360 - ext->scale_angle) / 2; int16_t level = (int32_t)((int32_t)(ext->cur_value - ext->min_value) * ext->line_cnt) / (ext->max_value - ext->min_value); uint8_t i; @@ -335,6 +381,7 @@ static lv_res_t lv_lmeter_signal(lv_obj_t * lmeter, lv_signal_t sign, void * par /* Include the ancient signal function */ res = ancestor_signal(lmeter, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ @@ -343,13 +390,6 @@ static lv_res_t lv_lmeter_signal(lv_obj_t * lmeter, lv_signal_t sign, void * par } else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { const lv_style_t * style = lv_lmeter_get_style(lmeter, LV_LMETER_STYLE_MAIN); lmeter->ext_draw_pad = LV_MATH_MAX(lmeter->ext_draw_pad, style->line.width); - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_lmeter"; } return res; diff --git a/src/src/lv_objx/lv_lmeter.h b/src/src/lv_objx/lv_lmeter.h index e1a70a6..bc098e1 100644 --- a/src/src/lv_objx/lv_lmeter.h +++ b/src/src/lv_objx/lv_lmeter.h @@ -36,6 +36,7 @@ typedef struct /*No inherited ext.*/ /*Ext. of ancestor*/ /*New data for this type */ uint16_t scale_angle; /*Angle of the scale in deg. (0..360)*/ + uint16_t angle_ofs; uint8_t line_cnt; /*Count of lines */ int16_t cur_value; int16_t min_value; @@ -88,6 +89,13 @@ void lv_lmeter_set_range(lv_obj_t * lmeter, int16_t min, int16_t max); */ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt); +/** + * Set the set an offset for the line meter's angles to rotate it. + * @param lmeter pointer to a line meter object + * @param angle angle offset (0..360), rotates clockwise + */ +void lv_lmeter_set_angle_offset(lv_obj_t * lmeter, uint16_t angle); + /** * Set the styles of a line meter * @param lmeter pointer to a line meter object @@ -139,6 +147,13 @@ uint8_t lv_lmeter_get_line_count(const lv_obj_t * lmeter); */ uint16_t lv_lmeter_get_scale_angle(const lv_obj_t * lmeter); +/** + * get the set an offset for the line meter. + * @param lmeter pointer to a line meter object + * @return angle offset (0..360) + */ +uint16_t lv_lmeter_get_angle_offset(lv_obj_t * lmeter); + /** * Get the style of a line meter * @param lmeter pointer to a line meter object diff --git a/src/src/lv_objx/lv_mbox.c b/src/src/lv_objx/lv_mbox.c index 9a5fa1d..f56904c 100644 --- a/src/src/lv_objx/lv_mbox.c +++ b/src/src/lv_objx/lv_mbox.c @@ -9,6 +9,7 @@ #include "lv_mbox.h" #if LV_USE_MBOX != 0 +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_anim.h" @@ -17,6 +18,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_mbos" #if LV_USE_ANIMATION #ifndef LV_MBOX_CLOSE_ANIM_TIME @@ -68,14 +70,14 @@ lv_obj_t * lv_mbox_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor message box*/ lv_obj_t * new_mbox = lv_cont_create(par, copy); - lv_mem_assert(new_mbox); + LV_ASSERT_MEM(new_mbox); if(new_mbox == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_mbox); /*Allocate the message box type specific extended data*/ lv_mbox_ext_t * ext = lv_obj_allocate_ext_attr(new_mbox, sizeof(lv_mbox_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->text = NULL; @@ -137,8 +139,11 @@ lv_obj_t * lv_mbox_create(lv_obj_t * par, const lv_obj_t * copy) * @param btn_map button descriptor (button matrix map). * E.g. a const char *txt[] = {"ok", "close", ""} (Can not be local variable) */ -void lv_mbox_add_btns(lv_obj_t * mbox, const char ** btn_map) +void lv_mbox_add_btns(lv_obj_t * mbox, const char * btn_map[]) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + LV_ASSERT_NULL(btn_map); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); /*Create a button matrix if not exists yet*/ @@ -174,6 +179,9 @@ void lv_mbox_add_btns(lv_obj_t * mbox, const char ** btn_map) */ void lv_mbox_set_text(lv_obj_t * mbox, const char * txt) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + LV_ASSERT_STR(txt); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); lv_label_set_text(ext->text, txt); @@ -187,6 +195,8 @@ void lv_mbox_set_text(lv_obj_t * mbox, const char * txt) */ void lv_mbox_set_anim_time(lv_obj_t * mbox, uint16_t anim_time) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); anim_time = 0; @@ -204,6 +214,8 @@ void lv_mbox_set_anim_time(lv_obj_t * mbox, uint16_t anim_time) */ void lv_mbox_start_auto_close(lv_obj_t * mbox, uint16_t delay) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + #if LV_USE_ANIMATION if(lv_mbox_get_anim_time(mbox) != 0) { /*Add shrinking animations*/ @@ -258,6 +270,8 @@ void lv_mbox_start_auto_close(lv_obj_t * mbox, uint16_t delay) */ void lv_mbox_stop_auto_close(lv_obj_t * mbox) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_anim_del(mbox, NULL); #else @@ -273,6 +287,8 @@ void lv_mbox_stop_auto_close(lv_obj_t * mbox) */ void lv_mbox_set_style(lv_obj_t * mbox, lv_mbox_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); switch(type) { @@ -295,6 +311,8 @@ void lv_mbox_set_style(lv_obj_t * mbox, lv_mbox_style_t type, const lv_style_t * */ void lv_mbox_set_recolor(lv_obj_t * mbox, bool en) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); if(ext->btnm) lv_btnm_set_recolor(ext->btnm, en); @@ -311,6 +329,8 @@ void lv_mbox_set_recolor(lv_obj_t * mbox, bool en) */ const char * lv_mbox_get_text(const lv_obj_t * mbox) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); return lv_label_get_text(ext->text); @@ -324,6 +344,8 @@ const char * lv_mbox_get_text(const lv_obj_t * mbox) */ uint16_t lv_mbox_get_active_btn(lv_obj_t * mbox) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); if(ext->btnm) return lv_btnm_get_active_btn(ext->btnm); @@ -339,6 +361,8 @@ uint16_t lv_mbox_get_active_btn(lv_obj_t * mbox) */ const char * lv_mbox_get_active_btn_text(lv_obj_t * mbox) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); if(ext->btnm) return lv_btnm_get_active_btn_text(ext->btnm); @@ -353,6 +377,8 @@ const char * lv_mbox_get_active_btn_text(lv_obj_t * mbox) */ uint16_t lv_mbox_get_anim_time(const lv_obj_t * mbox) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); return ext->anim_time; @@ -370,6 +396,8 @@ uint16_t lv_mbox_get_anim_time(const lv_obj_t * mbox) */ const lv_style_t * lv_mbox_get_style(const lv_obj_t * mbox, lv_mbox_style_t type) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); @@ -394,6 +422,8 @@ const lv_style_t * lv_mbox_get_style(const lv_obj_t * mbox, lv_mbox_style_t type */ bool lv_mbox_get_recolor(const lv_obj_t * mbox) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); if(!ext->btnm) return false; @@ -409,6 +439,8 @@ bool lv_mbox_get_recolor(const lv_obj_t * mbox) */ lv_obj_t * lv_mbox_get_btnm(lv_obj_t * mbox) { + LV_ASSERT_OBJ(mbox, LV_OBJX_NAME); + lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); return ext->btnm; } @@ -441,6 +473,7 @@ static lv_res_t lv_mbox_signal(lv_obj_t * mbox, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(mbox, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox); if(sign == LV_SIGNAL_CORD_CHG) { @@ -476,13 +509,6 @@ static lv_res_t lv_mbox_signal(lv_obj_t * mbox, lv_signal_t sign, void * param) } #endif } - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_mbox"; } return res; diff --git a/src/src/lv_objx/lv_mbox.h b/src/src/lv_objx/lv_mbox.h index df504f8..2068b37 100644 --- a/src/src/lv_objx/lv_mbox.h +++ b/src/src/lv_objx/lv_mbox.h @@ -94,7 +94,7 @@ lv_obj_t * lv_mbox_create(lv_obj_t * par, const lv_obj_t * copy); * @param btn_map button descriptor (button matrix map). * E.g. a const char *txt[] = {"ok", "close", ""} (Can not be local variable) */ -void lv_mbox_add_btns(lv_obj_t * mbox, const char ** btn_mapaction); +void lv_mbox_add_btns(lv_obj_t * mbox, const char * btn_mapaction[]); /*===================== * Setter functions diff --git a/src/src/lv_objx/lv_objx.mk b/src/src/lv_objx/lv_objx.mk index 45b3e2a..fde2ac7 100644 --- a/src/src/lv_objx/lv_objx.mk +++ b/src/src/lv_objx/lv_objx.mk @@ -1,6 +1,7 @@ CSRCS += lv_arc.c CSRCS += lv_bar.c CSRCS += lv_cb.c +CSRCS += lv_cpicker.c CSRCS += lv_ddlist.c CSRCS += lv_kb.c CSRCS += lv_line.c diff --git a/src/src/lv_objx/lv_objx_templ.c b/src/src/lv_objx/lv_objx_templ.c index b5c1b25..d23dcb4 100644 --- a/src/src/lv_objx/lv_objx_templ.c +++ b/src/src/lv_objx/lv_objx_templ.c @@ -15,6 +15,7 @@ /********************* * INCLUDES *********************/ +#include "../lv_core/lv_debug.h" //#include "lv_templ.h" /*TODO uncomment this*/ #if defined(LV_USE_TEMPL) && LV_USE_TEMPL != 0 @@ -22,6 +23,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_templ" /********************** * TYPEDEFS @@ -118,6 +120,8 @@ lv_obj_t * lv_templ_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_templ_set_style(lv_obj_t * templ, lv_templ_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(templ, LV_OBJX_NAME); + lv_templ_ext_t * ext = lv_obj_get_ext_attr(templ); switch(type) { @@ -142,6 +146,8 @@ void lv_templ_set_style(lv_obj_t * templ, lv_templ_style_t type, const lv_style_ */ lv_style_t * lv_templ_get_style(const lv_obj_t * templ, lv_templ_style_t type) { + LV_ASSERT_OBJ(templ, LV_OBJX_NAME); + lv_templ_ext_t * ext = lv_obj_get_ext_attr(templ); lv_style_t * style = NULL; @@ -207,16 +213,10 @@ static lv_res_t lv_templ_signal(lv_obj_t * templ, lv_signal_t sign, void * param /* Include the ancient signal function */ res = ancestor_signal(templ, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_templ"; } return res; diff --git a/src/src/lv_objx/lv_page.c b/src/src/lv_objx/lv_page.c index e6c3153..b0d308d 100644 --- a/src/src/lv_objx/lv_page.c +++ b/src/src/lv_objx/lv_page.c @@ -9,6 +9,7 @@ #include "../lv_objx/lv_page.h" #if LV_USE_PAGE != 0 +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" @@ -19,6 +20,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_page" + #define LV_PAGE_SB_MIN_SIZE (LV_DPI / 8) /*[ms] Scroll anim time on `lv_page_scroll_up/down/left/rigth`*/ @@ -77,7 +80,7 @@ lv_obj_t * lv_page_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor object*/ lv_obj_t * new_page = lv_cont_create(par, copy); - lv_mem_assert(new_page); + LV_ASSERT_MEM(new_page); if(new_page == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_page); @@ -85,7 +88,7 @@ lv_obj_t * lv_page_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the object type specific extended data*/ lv_page_ext_t * ext = lv_obj_allocate_ext_attr(new_page, sizeof(lv_page_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->scrl = NULL; @@ -171,11 +174,13 @@ lv_obj_t * lv_page_create(lv_obj_t * par, const lv_obj_t * copy) /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param page pointer to an object */ -void lv_page_clean(lv_obj_t * obj) +void lv_page_clean(lv_obj_t * page) { - lv_obj_t * scrl = lv_page_get_scrl(obj); + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + + lv_obj_t * scrl = lv_page_get_scrl(page); lv_obj_clean(scrl); } @@ -190,6 +195,8 @@ void lv_page_clean(lv_obj_t * obj) */ void lv_page_set_sb_mode(lv_obj_t * page, lv_sb_mode_t sb_mode) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + lv_page_ext_t * ext = lv_obj_get_ext_attr(page); if(ext->sb.mode == sb_mode) return; @@ -216,6 +223,8 @@ void lv_page_set_sb_mode(lv_obj_t * page, lv_sb_mode_t sb_mode) */ void lv_page_set_anim_time(lv_obj_t * page, uint16_t anim_time) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_page_ext_t * ext = lv_obj_get_ext_attr(page); ext->anim_time = anim_time; @@ -233,6 +242,8 @@ void lv_page_set_anim_time(lv_obj_t * page, uint16_t anim_time) */ void lv_page_set_scroll_propagation(lv_obj_t * page, bool en) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + lv_page_ext_t * ext = lv_obj_get_ext_attr(page); ext->scroll_prop = en ? 1 : 0; } @@ -244,6 +255,8 @@ void lv_page_set_scroll_propagation(lv_obj_t * page, bool en) */ void lv_page_set_edge_flash(lv_obj_t * page, bool en) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_page_ext_t * ext = lv_obj_get_ext_attr(page); ext->edge_flash.enabled = en ? 1 : 0; @@ -261,6 +274,8 @@ void lv_page_set_edge_flash(lv_obj_t * page, bool en) * */ void lv_page_set_style(lv_obj_t * page, lv_page_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + lv_page_ext_t * ext = lv_obj_get_ext_attr(page); switch(type) { @@ -291,6 +306,8 @@ void lv_page_set_style(lv_obj_t * page, lv_page_style_t type, const lv_style_t * */ lv_obj_t * lv_page_get_scrl(const lv_obj_t * page) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + lv_page_ext_t * ext = lv_obj_get_ext_attr(page); return ext->scrl; @@ -303,6 +320,8 @@ lv_obj_t * lv_page_get_scrl(const lv_obj_t * page) */ uint16_t lv_page_get_anim_time(const lv_obj_t * page) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_page_ext_t * ext = lv_obj_get_ext_attr(page); return ext->anim_time; @@ -319,6 +338,8 @@ uint16_t lv_page_get_anim_time(const lv_obj_t * page) */ lv_sb_mode_t lv_page_get_sb_mode(const lv_obj_t * page) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + lv_page_ext_t * ext = lv_obj_get_ext_attr(page); return ext->sb.mode; } @@ -330,6 +351,8 @@ lv_sb_mode_t lv_page_get_sb_mode(const lv_obj_t * page) */ bool lv_page_get_scroll_propagation(lv_obj_t * page) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + lv_page_ext_t * ext = lv_obj_get_ext_attr(page); return ext->scroll_prop == 0 ? false : true; } @@ -341,6 +364,8 @@ bool lv_page_get_scroll_propagation(lv_obj_t * page) */ bool lv_page_get_edge_flash(lv_obj_t * page) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_page_ext_t * ext = lv_obj_get_ext_attr(page); return ext->edge_flash.enabled == 0 ? false : true; @@ -357,6 +382,8 @@ bool lv_page_get_edge_flash(lv_obj_t * page) */ lv_coord_t lv_page_get_fit_width(lv_obj_t * page) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + const lv_style_t * bg_style = lv_page_get_style(page, LV_PAGE_STYLE_BG); const lv_style_t * scrl_style = lv_page_get_style(page, LV_PAGE_STYLE_SCRL); @@ -371,6 +398,8 @@ lv_coord_t lv_page_get_fit_width(lv_obj_t * page) */ lv_coord_t lv_page_get_fit_height(lv_obj_t * page) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + const lv_style_t * bg_style = lv_page_get_style(page, LV_PAGE_STYLE_BG); const lv_style_t * scrl_style = lv_page_get_style(page, LV_PAGE_STYLE_SCRL); @@ -386,6 +415,8 @@ lv_coord_t lv_page_get_fit_height(lv_obj_t * page) * */ const lv_style_t * lv_page_get_style(const lv_obj_t * page, lv_page_style_t type) { + LV_ASSERT_OBJ(page, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_page_ext_t * ext = lv_obj_get_ext_attr(page); @@ -792,12 +823,15 @@ static lv_res_t lv_page_signal(lv_obj_t * page, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(page, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_page_ext_t * ext = lv_obj_get_ext_attr(page); lv_obj_t * child; if(sign == LV_SIGNAL_CHILD_CHG) { /*Automatically move children to the scrollable object*/ - const lv_style_t * style = lv_page_get_style(page, LV_PAGE_STYLE_SCRL); + const lv_style_t * style_bg = lv_page_get_style(page, LV_PAGE_STYLE_BG); + const lv_style_t * style_scrl = lv_page_get_style(page, LV_PAGE_STYLE_SCRL); lv_fit_t fit_left = lv_page_get_scrl_fit_left(page); + lv_fit_t fit_right = lv_page_get_scrl_fit_right(page); lv_fit_t fit_top = lv_page_get_scrl_fit_top(page); child = lv_obj_get_child(page, NULL); while(child != NULL) { @@ -805,15 +839,19 @@ static lv_res_t lv_page_signal(lv_obj_t * page, lv_signal_t sign, void * param) lv_obj_t * tmp = child; child = lv_obj_get_child(page, child); /*Get the next child before move this*/ - /* Reposition the child to take padding into account (Only if it's on (0;0) now) + /* Reposition the child to take padding into account (Only if it's on (0;0) or (widht;height) coordinates now) * It's required to keep new the object on the same coordinate if FIT is enabled.*/ if((tmp->coords.x1 == page->coords.x1) && (fit_left == LV_FIT_TIGHT || fit_left == LV_FIT_FILL)) { - tmp->coords.x1 += style->body.padding.left; - tmp->coords.x2 += style->body.padding.left; + tmp->coords.x1 += style_scrl->body.padding.left; + tmp->coords.x2 += style_scrl->body.padding.left; + } + else if((tmp->coords.x2 == page->coords.x2) && (fit_right == LV_FIT_TIGHT || fit_right == LV_FIT_FILL)) { + tmp->coords.x1 -= style_scrl->body.padding.right + style_bg->body.padding.right; + tmp->coords.x2 -= style_scrl->body.padding.right + style_bg->body.padding.right; } if((tmp->coords.y1 == page->coords.y1) && (fit_top == LV_FIT_TIGHT || fit_top == LV_FIT_FILL)) { - tmp->coords.y1 += style->body.padding.top; - tmp->coords.y2 += style->body.padding.top; + tmp->coords.y1 += style_scrl->body.padding.top; + tmp->coords.y2 += style_scrl->body.padding.top; } lv_obj_set_parent(tmp, ext->scrl); } else { @@ -869,13 +907,6 @@ static lv_res_t lv_page_signal(lv_obj_t * page, lv_signal_t sign, void * param) } else if(sign == LV_SIGNAL_GET_EDITABLE) { bool * editable = (bool *)param; *editable = true; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_page"; } return res; @@ -895,6 +926,7 @@ static lv_res_t lv_page_scrollable_signal(lv_obj_t * scrl, lv_signal_t sign, voi /* Include the ancient signal function */ res = ancestor_signal(scrl, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, ""); lv_obj_t * page = lv_obj_get_parent(scrl); const lv_style_t * page_style = lv_obj_get_style(page); diff --git a/src/src/lv_objx/lv_page.h b/src/src/lv_objx/lv_page.h index 344d1ae..6715c92 100644 --- a/src/src/lv_objx/lv_page.h +++ b/src/src/lv_objx/lv_page.h @@ -113,9 +113,9 @@ lv_obj_t * lv_page_create(lv_obj_t * par, const lv_obj_t * copy); /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param page pointer to an object */ -void lv_page_clean(lv_obj_t * obj); +void lv_page_clean(lv_obj_t * page); /** * Get the scrollable object of a page diff --git a/src/src/lv_objx/lv_preload.c b/src/src/lv_objx/lv_preload.c index eee8932..2de9ebb 100644 --- a/src/src/lv_objx/lv_preload.c +++ b/src/src/lv_objx/lv_preload.c @@ -9,6 +9,7 @@ #include "lv_preload.h" #if LV_USE_PRELOAD != 0 +#include "../lv_core/lv_debug.h" #include "../lv_misc/lv_math.h" #include "../lv_draw/lv_draw_rect.h" #include "../lv_draw/lv_draw_arc.h" @@ -17,6 +18,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_preloader" + #ifndef LV_PRELOAD_DEF_ARC_LENGTH #define LV_PRELOAD_DEF_ARC_LENGTH 60 /*[deg]*/ #endif @@ -66,12 +69,12 @@ lv_obj_t * lv_preload_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of pre loader*/ lv_obj_t * new_preload = lv_arc_create(par, copy); - lv_mem_assert(new_preload); + LV_ASSERT_MEM(new_preload); if(new_preload == NULL) return NULL; /*Allocate the pre loader type specific extended data*/ lv_preload_ext_t * ext = lv_obj_allocate_ext_attr(new_preload, sizeof(lv_preload_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_preload); @@ -129,6 +132,8 @@ lv_obj_t * lv_preload_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_preload_set_arc_length(lv_obj_t * preload, lv_anim_value_t deg) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + lv_preload_ext_t * ext = lv_obj_get_ext_attr(preload); ext->arc_length = deg; @@ -141,6 +146,8 @@ void lv_preload_set_arc_length(lv_obj_t * preload, lv_anim_value_t deg) */ void lv_preload_set_spin_time(lv_obj_t * preload, uint16_t time) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + lv_preload_ext_t * ext = lv_obj_get_ext_attr(preload); ext->time = time; @@ -158,6 +165,8 @@ void lv_preload_set_spin_time(lv_obj_t * preload, uint16_t time) * */ void lv_preload_set_style(lv_obj_t * preload, lv_preload_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + switch(type) { case LV_PRELOAD_STYLE_MAIN: lv_arc_set_style(preload, LV_ARC_STYLE_MAIN, style); break; } @@ -170,6 +179,8 @@ void lv_preload_set_style(lv_obj_t * preload, lv_preload_style_t type, const lv_ * */ void lv_preload_set_type(lv_obj_t * preload, lv_preload_type_t type) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + lv_preload_ext_t * ext = lv_obj_get_ext_attr(preload); /*delete previous animation*/ @@ -220,9 +231,10 @@ void lv_preload_set_type(lv_obj_t * preload, lv_preload_type_t type) lv_anim_create(&b); break; } + case LV_PRELOAD_TYPE_CONSTANT_ARC: case LV_PRELOAD_TYPE_SPINNING_ARC: default: { - ext->anim_type = LV_PRELOAD_TYPE_SPINNING_ARC; + ext->anim_type = type; lv_anim_t a; a.var = preload; if(ext->anim_dir == LV_PRELOAD_DIR_FORWARD) { @@ -234,7 +246,8 @@ void lv_preload_set_type(lv_obj_t * preload, lv_preload_type_t type) a.end = 360; } a.exec_cb = (lv_anim_exec_xcb_t)lv_preload_spinner_anim; - a.path_cb = lv_anim_path_ease_in_out; + a.path_cb = (LV_PRELOAD_TYPE_CONSTANT_ARC == type ? + lv_anim_path_linear : lv_anim_path_ease_in_out); a.ready_cb = NULL; a.act_time = 0; a.time = ext->time; @@ -250,6 +263,8 @@ void lv_preload_set_type(lv_obj_t * preload, lv_preload_type_t type) void lv_preload_set_dir(lv_obj_t * preload, lv_preload_dir_t dir) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + lv_preload_ext_t * ext = lv_obj_get_ext_attr(preload); ext->anim_dir = dir; @@ -266,6 +281,8 @@ void lv_preload_set_dir(lv_obj_t * preload, lv_preload_dir_t dir) */ lv_anim_value_t lv_preload_get_arc_length(const lv_obj_t * preload) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + lv_preload_ext_t * ext = lv_obj_get_ext_attr(preload); return ext->arc_length; } @@ -276,6 +293,8 @@ lv_anim_value_t lv_preload_get_arc_length(const lv_obj_t * preload) */ uint16_t lv_preload_get_spin_time(const lv_obj_t * preload) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + lv_preload_ext_t * ext = lv_obj_get_ext_attr(preload); return ext->time; } @@ -288,6 +307,8 @@ uint16_t lv_preload_get_spin_time(const lv_obj_t * preload) * */ const lv_style_t * lv_preload_get_style(const lv_obj_t * preload, lv_preload_style_t type) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + const lv_style_t * style = NULL; switch(type) { @@ -305,6 +326,8 @@ const lv_style_t * lv_preload_get_style(const lv_obj_t * preload, lv_preload_sty * */ lv_preload_type_t lv_preload_get_type(lv_obj_t * preload) { + LV_ASSERT_OBJ(preload, LV_OBJX_NAME); + lv_preload_ext_t * ext = lv_obj_get_ext_attr(preload); return ext->anim_type; } @@ -409,16 +432,10 @@ static lv_res_t lv_preload_signal(lv_obj_t * preload, lv_signal_t sign, void * p /* Include the ancient signal function */ res = ancestor_signal(preload, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_preload"; } return res; diff --git a/src/src/lv_objx/lv_preload.h b/src/src/lv_objx/lv_preload.h index cbc7826..22b87f3 100644 --- a/src/src/lv_objx/lv_preload.h +++ b/src/src/lv_objx/lv_preload.h @@ -48,6 +48,7 @@ extern "C" { enum { LV_PRELOAD_TYPE_SPINNING_ARC, LV_PRELOAD_TYPE_FILLSPIN_ARC, + LV_PRELOAD_TYPE_CONSTANT_ARC, }; typedef uint8_t lv_preload_type_t; @@ -67,7 +68,7 @@ typedef struct /*New data for this type */ lv_anim_value_t arc_length; /*Length of the spinning indicator in degree*/ uint16_t time; /*Time of one round*/ - lv_preload_type_t anim_type : 1; /*Type of the arc animation*/ + lv_preload_type_t anim_type : 2; /*Type of the arc animation*/ lv_preload_dir_t anim_dir : 1; /*Animation Direction*/ } lv_preload_ext_t; diff --git a/src/src/lv_objx/lv_roller.c b/src/src/lv_objx/lv_roller.c index 05c3b09..2798a7f 100644 --- a/src/src/lv_objx/lv_roller.c +++ b/src/src/lv_objx/lv_roller.c @@ -9,6 +9,7 @@ #include "lv_roller.h" #if LV_USE_ROLLER != 0 +#include "../lv_core/lv_debug.h" #include "../lv_draw/lv_draw.h" #include "../lv_core/lv_group.h" #include "../lv_themes/lv_theme.h" @@ -16,6 +17,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_roller" + #if LV_USE_ANIMATION == 0 #undef LV_ROLLER_DEF_ANIM_TIME #define LV_ROLLER_DEF_ANIM_TIME 0 /*No animation*/ @@ -65,7 +68,7 @@ lv_obj_t * lv_roller_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of roller*/ lv_obj_t * new_roller = lv_ddlist_create(par, copy); - lv_mem_assert(new_roller); + LV_ASSERT_MEM(new_roller); if(new_roller == NULL) return NULL; if(ancestor_scrl_signal == NULL) ancestor_scrl_signal = lv_obj_get_signal_cb(lv_page_get_scrl(new_roller)); @@ -73,9 +76,10 @@ lv_obj_t * lv_roller_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the roller type specific extended data*/ lv_roller_ext_t * ext = lv_obj_allocate_ext_attr(new_roller, sizeof(lv_roller_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->ddlist.draw_arrow = 0; /*Do not draw arrow by default*/ + ext->mode = LV_ROLLER_MODE_NORMAL; /*The signal and design functions are not copied so set them here*/ lv_obj_set_signal_cb(new_roller, lv_roller_signal); @@ -134,6 +138,9 @@ lv_obj_t * lv_roller_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_roller_set_options(lv_obj_t * roller, const char * options, lv_roller_mode_t mode) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + LV_ASSERT_STR(options); + lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); if(mode == LV_ROLLER_MODE_NORMAL) { @@ -175,10 +182,20 @@ void lv_roller_set_options(lv_obj_t * roller, const char * options, lv_roller_mo */ void lv_roller_set_align(lv_obj_t * roller, lv_label_align_t align) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); - lv_mem_assert(ext); - if(ext->ddlist.label == NULL) return; /*Probably the roller is being deleted if the label is NULL.*/ - lv_label_set_align(ext->ddlist.label, align); + + lv_obj_t * label = ext->ddlist.label; + + if(label == NULL) return; /*Probably the roller is being deleted if the label is NULL.*/ + lv_label_set_align(label, align); + + switch(lv_label_get_align(label)) { + case LV_LABEL_ALIGN_LEFT: lv_obj_align(label, NULL, LV_ALIGN_IN_LEFT_MID, 0, 0); break; + case LV_LABEL_ALIGN_CENTER: lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, 0); break; + case LV_LABEL_ALIGN_RIGHT: lv_obj_align(label, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0); break; + } } /** @@ -189,6 +206,8 @@ void lv_roller_set_align(lv_obj_t * roller, lv_label_align_t align) */ void lv_roller_set_selected(lv_obj_t * roller, uint16_t sel_opt, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 anim = LV_ANIM_OFF; #endif @@ -206,6 +225,8 @@ void lv_roller_set_selected(lv_obj_t * roller, uint16_t sel_opt, lv_anim_enable_ */ void lv_roller_set_visible_row_count(lv_obj_t * roller, uint8_t row_cnt) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); const lv_style_t * style_label = lv_obj_get_style(ext->ddlist.label); uint8_t n_line_space = (row_cnt > 1) ? row_cnt - 1 : 1; @@ -221,6 +242,8 @@ void lv_roller_set_visible_row_count(lv_obj_t * roller, uint8_t row_cnt) */ void lv_roller_set_style(lv_obj_t * roller, lv_roller_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + switch(type) { case LV_ROLLER_STYLE_BG: lv_obj_set_style(roller, style); break; case LV_ROLLER_STYLE_SEL: lv_ddlist_set_style(roller, LV_DDLIST_STYLE_SEL, style); break; @@ -238,6 +261,8 @@ void lv_roller_set_style(lv_obj_t * roller, lv_roller_style_t type, const lv_sty */ uint16_t lv_roller_get_selected(const lv_obj_t * roller) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); if(ext->mode == LV_ROLLER_MODE_INIFINITE) { uint16_t real_id_cnt = ext->ddlist.option_cnt / LV_ROLLER_INF_PAGES; @@ -254,9 +279,11 @@ uint16_t lv_roller_get_selected(const lv_obj_t * roller) */ lv_label_align_t lv_roller_get_align(const lv_obj_t * roller) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); - lv_mem_assert(ext); - lv_mem_assert(ext->ddlist.label); + LV_ASSERT_MEM(ext); + LV_ASSERT_MEM(ext->ddlist.label); return lv_label_get_align(ext->ddlist.label); } @@ -267,6 +294,8 @@ lv_label_align_t lv_roller_get_align(const lv_obj_t * roller) */ bool lv_roller_get_hor_fit(const lv_obj_t * roller) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + return lv_page_get_scrl_fit_left(roller); } @@ -278,6 +307,8 @@ bool lv_roller_get_hor_fit(const lv_obj_t * roller) * */ const lv_style_t * lv_roller_get_style(const lv_obj_t * roller, lv_roller_style_t type) { + LV_ASSERT_OBJ(roller, LV_OBJX_NAME); + switch(type) { case LV_ROLLER_STYLE_BG: return lv_obj_get_style(roller); case LV_ROLLER_STYLE_SEL: return lv_ddlist_get_style(roller, LV_DDLIST_STYLE_SEL); @@ -367,7 +398,7 @@ static bool lv_roller_design(lv_obj_t * roller, const lv_area_t * mask, lv_desig new_style.text.color = sel_style->text.color; new_style.text.opa = sel_style->text.opa; lv_draw_label(&ext->ddlist.label->coords, &mask_sel, &new_style, opa_scale, - lv_label_get_text(ext->ddlist.label), txt_align, NULL, -1, -1, NULL); + lv_label_get_text(ext->ddlist.label), txt_align, NULL, NULL, NULL, lv_obj_get_base_dir(ext->ddlist.label)); } } @@ -391,6 +422,7 @@ static lv_res_t lv_roller_signal(lv_obj_t * roller, lv_signal_t sign, void * par res = ancestor_signal(roller, sign, param); if(res != LV_RES_OK) return res; } + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); @@ -457,13 +489,6 @@ static lv_res_t lv_roller_signal(lv_obj_t * roller, lv_signal_t sign, void * par ext->ddlist.sel_opt_id_ori = ori_id; } } - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_roller"; } return res; @@ -498,7 +523,7 @@ static lv_res_t lv_roller_scrl_signal(lv_obj_t * roller_scrl, lv_signal_t sign, lv_coord_t font_h = lv_font_get_line_height(font); if(sign == LV_SIGNAL_DRAG_END) { - /*If dragged then align the list to there be an element in the middle*/ + /*If dragged then align the list to have an element in the middle*/ lv_coord_t label_y1 = ext->ddlist.label->coords.y1 - roller->coords.y1; lv_coord_t label_unit = font_h + style_label->text.line_space; lv_coord_t mid = (roller->coords.y2 - roller->coords.y1) / 2; diff --git a/src/src/lv_objx/lv_slider.c b/src/src/lv_objx/lv_slider.c index a7fb433..6e94973 100644 --- a/src/src/lv_objx/lv_slider.c +++ b/src/src/lv_objx/lv_slider.c @@ -10,7 +10,9 @@ #include "lv_slider.h" #if LV_USE_SLIDER != 0 +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" +#include "../lv_core/lv_indev.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_math.h" @@ -18,6 +20,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_slider" + #define LV_SLIDER_SIZE_MIN 4 /*hor. pad and ver. pad cannot make the bar or indicator smaller then this [px]*/ #define LV_SLIDER_NOT_PRESSED INT16_MIN @@ -57,7 +61,7 @@ lv_obj_t * lv_slider_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor slider*/ lv_obj_t * new_slider = lv_bar_create(par, copy); - lv_mem_assert(new_slider); + LV_ASSERT_MEM(new_slider); if(new_slider == NULL) return NULL; if(ancestor_design_f == NULL) ancestor_design_f = lv_obj_get_design_cb(new_slider); @@ -65,7 +69,7 @@ lv_obj_t * lv_slider_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the slider type specific extended data*/ lv_slider_ext_t * ext = lv_obj_allocate_ext_attr(new_slider, sizeof(lv_slider_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; /*Initialize the allocated 'ext' */ @@ -118,6 +122,8 @@ lv_obj_t * lv_slider_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_slider_set_knob_in(lv_obj_t * slider, bool in) { + LV_ASSERT_OBJ(slider, LV_OBJX_NAME); + lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); if(ext->knob_in == in) return; @@ -133,6 +139,8 @@ void lv_slider_set_knob_in(lv_obj_t * slider, bool in) */ void lv_slider_set_style(lv_obj_t * slider, lv_slider_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(slider, LV_OBJX_NAME); + lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); switch(type) { @@ -156,6 +164,8 @@ void lv_slider_set_style(lv_obj_t * slider, lv_slider_style_t type, const lv_sty */ int16_t lv_slider_get_value(const lv_obj_t * slider) { + LV_ASSERT_OBJ(slider, LV_OBJX_NAME); + lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); if(ext->drag_value != LV_SLIDER_NOT_PRESSED) @@ -171,6 +181,8 @@ int16_t lv_slider_get_value(const lv_obj_t * slider) */ bool lv_slider_is_dragged(const lv_obj_t * slider) { + LV_ASSERT_OBJ(slider, LV_OBJX_NAME); + lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); return ext->drag_value == LV_SLIDER_NOT_PRESSED ? false : true; } @@ -183,6 +195,8 @@ bool lv_slider_is_dragged(const lv_obj_t * slider) */ bool lv_slider_get_knob_in(const lv_obj_t * slider) { + LV_ASSERT_OBJ(slider, LV_OBJX_NAME); + lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); return ext->knob_in == 0 ? false : true; } @@ -195,6 +209,8 @@ bool lv_slider_get_knob_in(const lv_obj_t * slider) */ const lv_style_t * lv_slider_get_style(const lv_obj_t * slider, lv_slider_style_t type) { + LV_ASSERT_OBJ(slider, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); @@ -316,6 +332,8 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig /*If dragged draw to the drag position*/ if(ext->drag_value != LV_SLIDER_NOT_PRESSED) cur_value = ext->drag_value; + bool sym = false; + if(ext->bar.sym && ext->bar.min_value < 0 && ext->bar.max_value > 0) sym = true; if(slider_w >= slider_h) { lv_coord_t indic_w = lv_area_get_width(&area_indic); @@ -335,7 +353,19 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig { area_indic.x2 = (int32_t)((int32_t)indic_w * (cur_value - min_value)) / (max_value - min_value); } + area_indic.x2 = area_indic.x1 + area_indic.x2 - 1; + if(sym) { + /*Calculate the coordinate of the zero point*/ + lv_coord_t zero; + zero = area_indic.x1 + (-ext->bar.min_value * slider_w) / (ext->bar.max_value - ext->bar.min_value); + if(area_indic.x2 > zero) + area_indic.x1 = zero; + else { + area_indic.x1 = area_indic.x2; + area_indic.x2 = zero; + } + } /*Draw the indicator but don't draw an ugly 1px wide rectangle on the left on min. * value*/ @@ -359,8 +389,21 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig { area_indic.y1 = (int32_t)((int32_t)indic_h * (cur_value - min_value)) / (max_value - min_value); } + area_indic.y1 = area_indic.y2 - area_indic.y1 + 1; + if(sym) { + /*Calculate the coordinate of the zero point*/ + lv_coord_t zero; + zero = area_indic.y2 - (-ext->bar.min_value * slider_h) / (ext->bar.max_value - ext->bar.min_value); + if(area_indic.y1 < zero) + area_indic.y2 = zero; + else { + area_indic.y2 = area_indic.y1; + area_indic.y1 = zero; + } + } + /*Draw the indicator but don't draw an ugly 1px height rectangle on the bottom on min. * value*/ if(area_indic.x1 != area_indic.x2) lv_draw_rect(&area_indic, mask, style_indic, opa_scale); @@ -386,7 +429,12 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig if(slider_w >= slider_h) { if(ext->knob_in == 0) { - knob_area.x1 = area_indic.x2 - slider_h / 2; + if(sym == false) { + knob_area.x1 = area_indic.x2 - slider_h / 2; + } else { + if(cur_value > 0) knob_area.x1 = area_indic.x2 - slider_h / 2; + else knob_area.x1 = area_indic.x1 - slider_h / 2; + } knob_area.x2 = knob_area.x1 + slider_h - 1; } else { #if LV_USE_ANIMATION @@ -415,7 +463,12 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig knob_area.y2 = slider->coords.y2; } else { if(ext->knob_in == 0) { - knob_area.y1 = area_indic.y1 - slider_w / 2; + if(sym == false) { + knob_area.y1 = area_indic.y1 - slider_w / 2; + } else { + if(cur_value > 0) knob_area.y1 = area_indic.y1 - slider_w / 2; + else knob_area.y1 = area_indic.y2 - slider_w / 2; + } knob_area.y2 = knob_area.y1 + slider_w - 1; } else { #if LV_USE_ANIMATION @@ -465,6 +518,7 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par /* Include the ancient signal function */ res = ancestor_signal(slider, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); lv_point_t p; @@ -559,13 +613,6 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par } else if(sign == LV_SIGNAL_GET_EDITABLE) { bool * editable = (bool *)param; *editable = true; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_slider"; } return res; diff --git a/src/src/lv_objx/lv_slider.h b/src/src/lv_objx/lv_slider.h index 07086ef..967c8b6 100644 --- a/src/src/lv_objx/lv_slider.h +++ b/src/src/lv_objx/lv_slider.h @@ -92,14 +92,25 @@ static inline void lv_slider_set_range(lv_obj_t * slider, int16_t min, int16_t m lv_bar_set_range(slider, min, max); } +/** + * Make the slider symmetric to zero. The indicator will grow from zero instead of the minimum + * position. + * @param slider pointer to a slider object + * @param en true: enable disable symmetric behavior; false: disable + */ +static inline void lv_slider_set_anim_time(lv_obj_t * slider, uint16_t anim_time) +{ + lv_bar_set_anim_time(slider, anim_time); +} + /** * Set the animation time of the slider * @param slider pointer to a bar object * @param anim_time the animation time in milliseconds. */ -static inline void lv_slider_set_anim_time(lv_obj_t * slider, uint16_t anim_time) +static inline void lv_slider_set_sym(lv_obj_t * slider, bool en) { - lv_bar_set_anim_time(slider, anim_time); + lv_bar_set_sym(slider, en); } /** @@ -156,6 +167,26 @@ static inline int16_t lv_slider_get_max_value(const lv_obj_t * slider) */ bool lv_slider_is_dragged(const lv_obj_t * slider); +/** + * Get the animation time of the slider + * @param slider pointer to a slider object + * @return the animation time in milliseconds. + */ +static inline uint16_t lv_slider_get_anim_time(lv_obj_t * slider) +{ + return lv_bar_get_anim_time(slider); +} + +/** + * Get whether the slider is symmetric or not. + * @param slider pointer to a bar object + * @return true: symmetric is enabled; false: disable + */ +static inline bool lv_slider_get_sym(lv_obj_t * slider) +{ + return lv_bar_get_sym(slider); +} + /** * Get the 'knob in' attribute of a slider * @param slider pointer to slider object diff --git a/src/src/lv_objx/lv_spinbox.c b/src/src/lv_objx/lv_spinbox.c index 4dc5449..bd46b99 100644 --- a/src/src/lv_objx/lv_spinbox.c +++ b/src/src/lv_objx/lv_spinbox.c @@ -9,6 +9,7 @@ #include "lv_spinbox.h" #if LV_USE_SPINBOX != 0 +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_math.h" #include "../lv_misc/lv_utils.h" @@ -16,6 +17,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_spinbox" /********************** * TYPEDEFS @@ -53,12 +55,12 @@ lv_obj_t * lv_spinbox_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of spinbox*/ lv_obj_t * new_spinbox = lv_ta_create(par, copy); - lv_mem_assert(new_spinbox); + LV_ASSERT_MEM(new_spinbox); if(new_spinbox == NULL) return NULL; /*Allocate the spinbox type specific extended data*/ lv_spinbox_ext_t * ext = lv_obj_allocate_ext_attr(new_spinbox, sizeof(lv_spinbox_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_spinbox); if(ancestor_design == NULL) ancestor_design = lv_obj_get_design_cb(new_spinbox); @@ -121,6 +123,8 @@ lv_obj_t * lv_spinbox_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_spinbox_set_value(lv_obj_t * spinbox, int32_t i) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); if(ext == NULL) return; @@ -141,6 +145,8 @@ void lv_spinbox_set_value(lv_obj_t * spinbox, int32_t i) */ void lv_spinbox_set_digit_format(lv_obj_t * spinbox, uint8_t digit_count, uint8_t separator_position) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); if(ext == NULL) return; @@ -161,6 +167,8 @@ void lv_spinbox_set_digit_format(lv_obj_t * spinbox, uint8_t digit_count, uint8_ */ void lv_spinbox_set_step(lv_obj_t * spinbox, uint32_t step) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); if(ext == NULL) return; @@ -175,6 +183,8 @@ void lv_spinbox_set_step(lv_obj_t * spinbox, uint32_t step) */ void lv_spinbox_set_range(lv_obj_t * spinbox, int32_t range_min, int32_t range_max) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); if(ext == NULL) return; @@ -198,6 +208,8 @@ void lv_spinbox_set_range(lv_obj_t * spinbox, int32_t range_min, int32_t range_m */ void lv_spinbox_set_padding_left(lv_obj_t * spinbox, uint8_t padding) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); ext->digit_padding_left = padding; lv_spinbox_updatevalue(spinbox); @@ -214,6 +226,8 @@ void lv_spinbox_set_padding_left(lv_obj_t * spinbox, uint8_t padding) */ int32_t lv_spinbox_get_value(lv_obj_t * spinbox) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); return ext->value; @@ -229,6 +243,8 @@ int32_t lv_spinbox_get_value(lv_obj_t * spinbox) */ void lv_spinbox_step_next(lv_obj_t * spinbox) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); int32_t new_step = ext->step / 10; @@ -246,6 +262,8 @@ void lv_spinbox_step_next(lv_obj_t * spinbox) */ void lv_spinbox_step_prev(lv_obj_t * spinbox) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); int32_t step_limit; step_limit = LV_MATH_MAX(ext->range_max, (ext->range_min < 0 ? (-ext->range_min) : ext->range_min)); @@ -261,6 +279,8 @@ void lv_spinbox_step_prev(lv_obj_t * spinbox) */ void lv_spinbox_increment(lv_obj_t * spinbox) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); if(ext->value + ext->step <= ext->range_max) { @@ -281,6 +301,8 @@ void lv_spinbox_increment(lv_obj_t * spinbox) */ void lv_spinbox_decrement(lv_obj_t * spinbox) { + LV_ASSERT_OBJ(spinbox, LV_OBJX_NAME); + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); if(ext->value - ext->step >= ext->range_min) { @@ -317,6 +339,7 @@ static lv_res_t lv_spinbox_signal(lv_obj_t * spinbox, lv_signal_t sign, void * p res = ancestor_signal(spinbox, sign, param); if(res != LV_RES_OK) return res; } + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ @@ -383,9 +406,11 @@ static void lv_spinbox_updatevalue(lv_obj_t * spinbox) memset(buf, 0, sizeof(buf)); char * buf_p = buf; - /*Add the sign*/ - (*buf_p) = ext->value >= 0 ? '+' : '-'; - buf_p++; + if (ext->range_min < 0) { // hide sign if there are only positive values + /*Add the sign*/ + (*buf_p) = ext->value >= 0 ? '+' : '-'; + buf_p++; + } int i; /*padding left*/ diff --git a/src/src/lv_objx/lv_sw.c b/src/src/lv_objx/lv_sw.c index 80854b0..956ed2e 100644 --- a/src/src/lv_objx/lv_sw.c +++ b/src/src/lv_objx/lv_sw.c @@ -15,12 +15,15 @@ #error "lv_sw: lv_slider is required. Enable it in lv_conf.h (LV_USE_SLIDER 1) " #endif +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_math.h" +#include "../lv_core/lv_indev.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_sw" /********************** * TYPEDEFS @@ -56,14 +59,14 @@ lv_obj_t * lv_sw_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of switch*/ lv_obj_t * new_sw = lv_slider_create(par, copy); - lv_mem_assert(new_sw); + LV_ASSERT_MEM(new_sw); if(new_sw == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_sw); /*Allocate the switch type specific extended data*/ lv_sw_ext_t * ext = lv_obj_allocate_ext_attr(new_sw, sizeof(lv_sw_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; /*Initialize the allocated 'ext' */ @@ -129,6 +132,8 @@ lv_obj_t * lv_sw_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_sw_on(lv_obj_t * sw, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(sw, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 anim = LV_ANIM_OFF; #endif @@ -144,6 +149,8 @@ void lv_sw_on(lv_obj_t * sw, lv_anim_enable_t anim) */ void lv_sw_off(lv_obj_t * sw, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(sw, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 anim = LV_ANIM_OFF; #endif @@ -160,6 +167,8 @@ void lv_sw_off(lv_obj_t * sw, lv_anim_enable_t anim) */ bool lv_sw_toggle(lv_obj_t * sw, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(sw, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 anim = LV_ANIM_OFF; #endif @@ -181,6 +190,8 @@ bool lv_sw_toggle(lv_obj_t * sw, lv_anim_enable_t anim) */ void lv_sw_set_style(lv_obj_t * sw, lv_sw_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(sw, LV_OBJX_NAME); + lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw); switch(type) { @@ -199,6 +210,8 @@ void lv_sw_set_style(lv_obj_t * sw, lv_sw_style_t type, const lv_style_t * style void lv_sw_set_anim_time(lv_obj_t * sw, uint16_t anim_time) { + LV_ASSERT_OBJ(sw, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw); ext->anim_time = anim_time; @@ -220,6 +233,8 @@ void lv_sw_set_anim_time(lv_obj_t * sw, uint16_t anim_time) */ const lv_style_t * lv_sw_get_style(const lv_obj_t * sw, lv_sw_style_t type) { + LV_ASSERT_OBJ(sw, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw); @@ -236,6 +251,7 @@ const lv_style_t * lv_sw_get_style(const lv_obj_t * sw, lv_sw_style_t type) uint16_t lv_sw_get_anim_time(const lv_obj_t * sw) { + LV_ASSERT_OBJ(sw, LV_OBJX_NAME); #if LV_USE_ANIMATION lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw); @@ -278,6 +294,7 @@ static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param) res = ancestor_signal(sw, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); sw->event_cb = event_cb; @@ -374,13 +391,6 @@ static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param) } else if(sign == LV_SIGNAL_GET_EDITABLE) { bool * editable = (bool *)param; *editable = false; /*The ancestor slider is editable the switch is not*/ - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_sw"; } return res; diff --git a/src/src/lv_objx/lv_ta.c b/src/src/lv_objx/lv_ta.c index d2f0793..0b57fc8 100644 --- a/src/src/lv_objx/lv_ta.c +++ b/src/src/lv_objx/lv_ta.c @@ -9,6 +9,7 @@ #include "lv_ta.h" #if LV_USE_TA != 0 #include +#include "../lv_core/lv_debug.h" #include "../lv_core/lv_group.h" #include "../lv_core/lv_refr.h" #include "../lv_draw/lv_draw.h" @@ -20,8 +21,9 @@ /********************* * DEFINES *********************/ -/*Test configuration*/ +#define LV_OBJX_NAME "lv_ta" +/*Test configuration*/ #ifndef LV_TA_DEF_CURSOR_BLINK_TIME #define LV_TA_DEF_CURSOR_BLINK_TIME 400 /*ms*/ #endif @@ -85,7 +87,7 @@ lv_obj_t * lv_ta_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor object*/ lv_obj_t * new_ta = lv_page_create(par, copy); - lv_mem_assert(new_ta); + LV_ASSERT_MEM(new_ta); if(new_ta == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_ta); @@ -95,7 +97,7 @@ lv_obj_t * lv_ta_create(lv_obj_t * par, const lv_obj_t * copy) /*Allocate the object type specific extended data*/ lv_ta_ext_t * ext = lv_obj_allocate_ext_attr(new_ta, sizeof(lv_ta_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->cursor.state = 1; @@ -162,6 +164,23 @@ lv_obj_t * lv_ta_create(lv_obj_t * par, const lv_obj_t * copy) ext->cursor.pos = copy_ext->cursor.pos; ext->cursor.valid_x = copy_ext->cursor.valid_x; ext->cursor.type = copy_ext->cursor.type; + + if(ext->pwd_mode != 0) pwd_char_hider( new_ta); + + if(copy_ext->placeholder != NULL) + ext->placeholder = lv_label_create(new_ta, copy_ext->placeholder); + else + ext->placeholder = NULL; + + if(copy_ext->pwd_tmp) { + uint16_t len = lv_mem_get_size(copy_ext->pwd_tmp); + ext->pwd_tmp = lv_mem_alloc(len); + LV_ASSERT_MEM(ext->pwd_tmp); + if(ext->pwd_tmp == NULL) return NULL; + + memcpy(ext->pwd_tmp, copy_ext->pwd_tmp, len); + } + if(copy_ext->one_line) lv_ta_set_one_line(new_ta, true); lv_ta_set_style(new_ta, LV_TA_STYLE_CURSOR, lv_ta_get_style(copy, LV_TA_STYLE_CURSOR)); @@ -207,6 +226,8 @@ lv_obj_t * lv_ta_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_ta_add_char(lv_obj_t * ta, uint32_t c) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); uint32_t letter_buf[2]; @@ -250,7 +271,7 @@ void lv_ta_add_char(lv_obj_t * ta, uint32_t c) if(ext->pwd_mode != 0) { ext->pwd_tmp = lv_mem_realloc(ext->pwd_tmp, strlen(ext->pwd_tmp) + 2); /*+2: the new char + \0 */ - lv_mem_assert(ext->pwd_tmp); + LV_ASSERT_MEM(ext->pwd_tmp); if(ext->pwd_tmp == NULL) return; lv_txt_ins(ext->pwd_tmp, ext->cursor.pos, (const char *)letter_buf); @@ -295,6 +316,9 @@ void lv_ta_add_char(lv_obj_t * ta, uint32_t c) */ void lv_ta_add_text(lv_obj_t * ta, const char * txt) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + LV_ASSERT_NULL(txt); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); ta_insert_replace = NULL; @@ -331,7 +355,7 @@ void lv_ta_add_text(lv_obj_t * ta, const char * txt) if(ext->pwd_mode != 0) { ext->pwd_tmp = lv_mem_realloc(ext->pwd_tmp, strlen(ext->pwd_tmp) + strlen(txt) + 1); - lv_mem_assert(ext->pwd_tmp); + LV_ASSERT_MEM(ext->pwd_tmp); if(ext->pwd_tmp == NULL) return; lv_txt_ins(ext->pwd_tmp, ext->cursor.pos, txt); @@ -374,6 +398,8 @@ void lv_ta_add_text(lv_obj_t * ta, const char * txt) */ void lv_ta_del_char(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); uint16_t cur_pos = ext->cursor.pos; @@ -410,7 +436,7 @@ void lv_ta_del_char(lv_obj_t * ta) lv_txt_cut(ext->pwd_tmp, ext->cursor.pos - 1, lv_txt_encoded_size(&label_txt[byte_pos])); ext->pwd_tmp = lv_mem_realloc(ext->pwd_tmp, strlen(ext->pwd_tmp) + 1); - lv_mem_assert(ext->pwd_tmp); + LV_ASSERT_MEM(ext->pwd_tmp); if(ext->pwd_tmp == NULL) return; } @@ -428,6 +454,8 @@ void lv_ta_del_char(lv_obj_t * ta) */ void lv_ta_del_char_forward(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + uint16_t cp = lv_ta_get_cursor_pos(ta); lv_ta_set_cursor_pos(ta, cp + 1); if(cp != lv_ta_get_cursor_pos(ta)) lv_ta_del_char(ta); @@ -444,6 +472,9 @@ void lv_ta_del_char_forward(lv_obj_t * ta) */ void lv_ta_set_text(lv_obj_t * ta, const char * txt) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + LV_ASSERT_NULL(txt); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); /*Clear the existing selection*/ @@ -472,7 +503,7 @@ void lv_ta_set_text(lv_obj_t * ta, const char * txt) if(ext->pwd_mode != 0) { ext->pwd_tmp = lv_mem_realloc(ext->pwd_tmp, strlen(txt) + 1); - lv_mem_assert(ext->pwd_tmp); + LV_ASSERT_MEM(ext->pwd_tmp); if(ext->pwd_tmp == NULL) return; strcpy(ext->pwd_tmp, txt); @@ -509,6 +540,9 @@ void lv_ta_set_text(lv_obj_t * ta, const char * txt) */ void lv_ta_set_placeholder_text(lv_obj_t * ta, const char * txt) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + LV_ASSERT_NULL(txt); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); /*Create the placeholder label only when it is needed*/ @@ -524,6 +558,9 @@ void lv_ta_set_placeholder_text(lv_obj_t * ta, const char * txt) lv_label_set_text(ext->placeholder, txt); + /*Refresh the placeholder's align*/ + lv_ta_set_text_align(ta, lv_label_get_align(ext->label)); + placeholder_update(ta); } @@ -536,6 +573,8 @@ void lv_ta_set_placeholder_text(lv_obj_t * ta, const char * txt) */ void lv_ta_set_cursor_pos(lv_obj_t * ta, int16_t pos) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); if(ext->cursor.pos == pos) return; @@ -612,6 +651,8 @@ void lv_ta_set_cursor_pos(lv_obj_t * ta, int16_t pos) */ void lv_ta_set_cursor_type(lv_obj_t * ta, lv_cursor_type_t cur_type) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); if(ext->cursor.type == cur_type) return; @@ -627,6 +668,8 @@ void lv_ta_set_cursor_type(lv_obj_t * ta, lv_cursor_type_t cur_type) */ void lv_ta_set_cursor_click_pos(lv_obj_t * ta, bool en) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); ext->cursor.click_pos = en ? 1 : 0; } @@ -638,6 +681,8 @@ void lv_ta_set_cursor_click_pos(lv_obj_t * ta, bool en) */ void lv_ta_set_pwd_mode(lv_obj_t * ta, bool en) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); if(ext->pwd_mode == en) return; @@ -646,13 +691,14 @@ void lv_ta_set_pwd_mode(lv_obj_t * ta, bool en) char * txt = lv_label_get_text(ext->label); uint16_t len = strlen(txt); ext->pwd_tmp = lv_mem_alloc(len + 1); - lv_mem_assert(ext->pwd_tmp); + LV_ASSERT_MEM(ext->pwd_tmp); if(ext->pwd_tmp == NULL) return; strcpy(ext->pwd_tmp, txt); uint16_t i; - for(i = 0; i < len; i++) { + uint16_t encoded_len = lv_txt_get_encoded_length(txt); + for(i = 0; i < encoded_len; i++) { txt[i] = '*'; /*All char to '*'*/ } txt[i] = '\0'; @@ -681,6 +727,8 @@ void lv_ta_set_pwd_mode(lv_obj_t * ta, bool en) */ void lv_ta_set_one_line(lv_obj_t * ta, bool en) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); if(ext->one_line == en) return; @@ -722,16 +770,20 @@ void lv_ta_set_one_line(lv_obj_t * ta, bool en) */ void lv_ta_set_text_align(lv_obj_t * ta, lv_label_align_t align) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); lv_obj_t * label = lv_ta_get_label(ta); if(!ext->one_line) { lv_label_set_align(label, align); + if(ext->placeholder) lv_label_set_align(ext->placeholder, align); } else { /*Normal left align. Just let the text expand*/ if(align == LV_LABEL_ALIGN_LEFT) { lv_label_set_long_mode(label, LV_LABEL_LONG_EXPAND); lv_page_set_scrl_fit2(ta, LV_FIT_TIGHT, LV_FIT_FLOOD); lv_label_set_align(label, align); + if(ext->placeholder) lv_label_set_align(ext->placeholder, align); } /*Else use fix label width equal to the Text area width*/ @@ -739,6 +791,7 @@ void lv_ta_set_text_align(lv_obj_t * ta, lv_label_align_t align) lv_label_set_long_mode(label, LV_LABEL_LONG_CROP); lv_page_set_scrl_fit2(ta, LV_FIT_FLOOD, LV_FIT_FLOOD); lv_label_set_align(label, align); + if(ext->placeholder) lv_label_set_align(ext->placeholder, align); lv_obj_set_width(label, lv_page_get_fit_width(ta)); } @@ -754,6 +807,8 @@ void lv_ta_set_text_align(lv_obj_t * ta, lv_label_align_t align) */ void lv_ta_set_accepted_chars(lv_obj_t * ta, const char * list) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); ext->accapted_chars = list; @@ -766,6 +821,8 @@ void lv_ta_set_accepted_chars(lv_obj_t * ta, const char * list) */ void lv_ta_set_max_length(lv_obj_t * ta, uint16_t num) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); ext->max_length = num; @@ -781,6 +838,8 @@ void lv_ta_set_max_length(lv_obj_t * ta, uint16_t num) */ void lv_ta_set_insert_replace(lv_obj_t * ta, const char * txt) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + (void)ta; /*Unused*/ ta_insert_replace = txt; } @@ -793,6 +852,8 @@ void lv_ta_set_insert_replace(lv_obj_t * ta, const char * txt) */ void lv_ta_set_style(lv_obj_t * ta, lv_ta_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); switch(type) { @@ -817,6 +878,8 @@ void lv_ta_set_style(lv_obj_t * ta, lv_ta_style_t type, const lv_style_t * style */ void lv_ta_set_text_sel(lv_obj_t * ta, bool en) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); @@ -836,6 +899,8 @@ void lv_ta_set_text_sel(lv_obj_t * ta, bool en) */ void lv_ta_set_pwd_show_time(lv_obj_t * ta, uint16_t time) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 time = 0; #endif @@ -851,6 +916,8 @@ void lv_ta_set_pwd_show_time(lv_obj_t * ta, uint16_t time) */ void lv_ta_set_cursor_blink_time(lv_obj_t * ta, uint16_t time) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 time = 0; #endif @@ -894,6 +961,8 @@ void lv_ta_set_cursor_blink_time(lv_obj_t * ta, uint16_t time) */ const char * lv_ta_get_text(const lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); const char * txt; @@ -913,11 +982,13 @@ const char * lv_ta_get_text(const lv_obj_t * ta) */ const char * lv_ta_get_placeholder_text(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); const char * txt = NULL; - if(ext->placeholder) txt = lv_label_get_text(ext->label); + if(ext->placeholder) txt = lv_label_get_text(ext->placeholder); return txt; } @@ -929,6 +1000,8 @@ const char * lv_ta_get_placeholder_text(lv_obj_t * ta) */ lv_obj_t * lv_ta_get_label(const lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->label; } @@ -940,6 +1013,8 @@ lv_obj_t * lv_ta_get_label(const lv_obj_t * ta) */ uint16_t lv_ta_get_cursor_pos(const lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->cursor.pos; } @@ -951,6 +1026,8 @@ uint16_t lv_ta_get_cursor_pos(const lv_obj_t * ta) */ lv_cursor_type_t lv_ta_get_cursor_type(const lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->cursor.type; } @@ -962,6 +1039,8 @@ lv_cursor_type_t lv_ta_get_cursor_type(const lv_obj_t * ta) */ bool lv_ta_get_cursor_click_pos(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->cursor.click_pos ? true : false; } @@ -973,6 +1052,8 @@ bool lv_ta_get_cursor_click_pos(lv_obj_t * ta) */ bool lv_ta_get_pwd_mode(const lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->pwd_mode == 0 ? false : true; } @@ -984,6 +1065,8 @@ bool lv_ta_get_pwd_mode(const lv_obj_t * ta) */ bool lv_ta_get_one_line(const lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->one_line == 0 ? false : true; } @@ -995,6 +1078,8 @@ bool lv_ta_get_one_line(const lv_obj_t * ta) */ const char * lv_ta_get_accepted_chars(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->accapted_chars; @@ -1007,6 +1092,8 @@ const char * lv_ta_get_accepted_chars(lv_obj_t * ta) */ uint16_t lv_ta_get_max_length(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->max_length; } @@ -1019,6 +1106,8 @@ uint16_t lv_ta_get_max_length(lv_obj_t * ta) */ const lv_style_t * lv_ta_get_style(const lv_obj_t * ta, lv_ta_style_t type) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); @@ -1043,11 +1132,13 @@ const lv_style_t * lv_ta_get_style(const lv_obj_t * ta, lv_ta_style_t type) */ bool lv_ta_text_is_selected(const lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); - if((lv_label_get_text_sel_start(ext->label) == LV_LABEL_TEXT_SEL_OFF || - lv_label_get_text_sel_end(ext->label) == LV_LABEL_TEXT_SEL_OFF)) { + if((lv_label_get_text_sel_start(ext->label) == LV_DRAW_LABEL_NO_TXT_SEL || + lv_label_get_text_sel_end(ext->label) == LV_DRAW_LABEL_NO_TXT_SEL)) { return true; } else { return false; @@ -1065,6 +1156,8 @@ bool lv_ta_text_is_selected(const lv_obj_t * ta) */ bool lv_ta_get_text_sel_en(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->text_sel_en; @@ -1081,6 +1174,8 @@ bool lv_ta_get_text_sel_en(lv_obj_t * ta) */ uint16_t lv_ta_get_pwd_show_time(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->pwd_show_time; @@ -1093,6 +1188,8 @@ uint16_t lv_ta_get_pwd_show_time(lv_obj_t * ta) */ uint16_t lv_ta_get_cursor_blink_time(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); return ext->cursor.blink_time; } @@ -1107,13 +1204,15 @@ uint16_t lv_ta_get_cursor_blink_time(lv_obj_t * ta) */ void lv_ta_clear_selection(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + #if LV_LABEL_TEXT_SEL lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); - if(lv_label_get_text_sel_start(ext->label) != LV_LABEL_TEXT_SEL_OFF || - lv_label_get_text_sel_end(ext->label) != LV_LABEL_TEXT_SEL_OFF) { - lv_label_set_text_sel_start(ext->label, LV_LABEL_TEXT_SEL_OFF); - lv_label_set_text_sel_end(ext->label, LV_LABEL_TEXT_SEL_OFF); + if(lv_label_get_text_sel_start(ext->label) != LV_DRAW_LABEL_NO_TXT_SEL || + lv_label_get_text_sel_end(ext->label) != LV_DRAW_LABEL_NO_TXT_SEL) { + lv_label_set_text_sel_start(ext->label, LV_DRAW_LABEL_NO_TXT_SEL); + lv_label_set_text_sel_end(ext->label, LV_DRAW_LABEL_NO_TXT_SEL); } #else (void)ta; /*Unused*/ @@ -1126,6 +1225,8 @@ void lv_ta_clear_selection(lv_obj_t * ta) */ void lv_ta_cursor_right(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + uint16_t cp = lv_ta_get_cursor_pos(ta); cp++; lv_ta_set_cursor_pos(ta, cp); @@ -1137,6 +1238,8 @@ void lv_ta_cursor_right(lv_obj_t * ta) */ void lv_ta_cursor_left(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + uint16_t cp = lv_ta_get_cursor_pos(ta); if(cp > 0) { cp--; @@ -1150,6 +1253,8 @@ void lv_ta_cursor_left(lv_obj_t * ta) */ void lv_ta_cursor_down(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); lv_point_t pos; @@ -1180,6 +1285,8 @@ void lv_ta_cursor_down(lv_obj_t * ta) */ void lv_ta_cursor_up(lv_obj_t * ta) { + LV_ASSERT_OBJ(ta, LV_OBJX_NAME); + lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); lv_point_t pos; @@ -1284,8 +1391,7 @@ static bool lv_ta_scrollable_design(lv_obj_t * scrl, const lv_area_t * mask, lv_ cur_area.x1 += cur_style.body.padding.left; cur_area.y1 += cur_style.body.padding.top; - lv_draw_label(&cur_area, mask, &cur_style, opa_scale, letter_buf, LV_TXT_FLAG_NONE, 0, - LV_LABEL_TEXT_SEL_OFF, LV_LABEL_TEXT_SEL_OFF, NULL); + lv_draw_label(&cur_area, mask, &cur_style, opa_scale, letter_buf, LV_TXT_FLAG_NONE, NULL, NULL, NULL, lv_obj_get_base_dir(ta)); } else if(ext->cursor.type == LV_CURSOR_OUTLINE) { cur_style.body.opa = LV_OPA_TRANSP; @@ -1313,6 +1419,7 @@ static lv_res_t lv_ta_signal(lv_obj_t * ta, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(ta, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); if(sign == LV_SIGNAL_CLEANUP) { @@ -1328,6 +1435,7 @@ static lv_res_t lv_ta_signal(lv_obj_t * ta, lv_signal_t sign, void * param) /*In one line mode refresh the Text Area height because 'vpad' can modify it*/ const lv_style_t * style_label = lv_obj_get_style(ext->label); lv_coord_t font_h = lv_font_get_line_height(style_label->text.font); + lv_obj_set_height(ext->label, font_h); lv_obj_set_height(ta, font_h + style_ta->body.padding.top + style_ta->body.padding.bottom + style_scrl->body.padding.top + style_scrl->body.padding.bottom); } else { @@ -1393,13 +1501,6 @@ static lv_res_t lv_ta_signal(lv_obj_t * ta, lv_signal_t sign, void * param) } else if(sign == LV_SIGNAL_GET_EDITABLE) { bool * editable = (bool *)param; *editable = true; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_ta"; } else if(sign == LV_SIGNAL_DEFOCUS) { lv_cursor_type_t cur_type; cur_type = lv_ta_get_cursor_type(ta); @@ -1443,6 +1544,7 @@ static lv_res_t lv_ta_scrollable_signal(lv_obj_t * scrl, lv_signal_t sign, void /* Include the ancient signal function */ res = scrl_signal(scrl, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, ""); lv_obj_t * ta = lv_obj_get_parent(scrl); lv_ta_ext_t * ext = lv_obj_get_ext_attr(ta); @@ -1754,69 +1856,69 @@ static void update_cursor_position_on_click(lv_obj_t * ta, lv_signal_t sign, lv_ lv_indev_get_vect(click_source, &vect_act); if(point_act.x < 0 || point_act.y < 0) return; /*Ignore event from keypad*/ - lv_point_t relative_position; - relative_position.x = point_act.x - label_coords.x1; - relative_position.y = point_act.y - label_coords.y1; + lv_point_t rel_pos; + rel_pos.x = point_act.x - label_coords.x1; + rel_pos.y = point_act.y - label_coords.y1; lv_coord_t label_width = lv_obj_get_width(ext->label); - uint16_t index_of_char_at_position; + uint16_t char_id_at_click; #if LV_LABEL_TEXT_SEL lv_label_ext_t * ext_label = lv_obj_get_ext_attr(ext->label); bool click_outside_label; /*Check if the click happened on the left side of the area outside the label*/ - if(relative_position.x < 0) { - index_of_char_at_position = 0; + if(rel_pos.x < 0) { + char_id_at_click = 0; click_outside_label = true; } /*Check if the click happened on the right side of the area outside the label*/ - else if(relative_position.x >= label_width) { - index_of_char_at_position = LV_TA_CURSOR_LAST; + else if(rel_pos.x >= label_width) { + char_id_at_click = LV_TA_CURSOR_LAST; click_outside_label = true; } else { - index_of_char_at_position = lv_label_get_letter_on(ext->label, &relative_position); - click_outside_label = !lv_label_is_char_under_pos(ext->label, &relative_position); + char_id_at_click = lv_label_get_letter_on(ext->label, &rel_pos); + click_outside_label = !lv_label_is_char_under_pos(ext->label, &rel_pos); } if(ext->text_sel_en) { if(!ext->text_sel_in_prog && !click_outside_label && sign == LV_SIGNAL_PRESSED) { /*Input device just went down. Store the selection start position*/ - ext->tmp_sel_start = index_of_char_at_position; - ext->tmp_sel_end = LV_LABEL_TEXT_SEL_OFF; + ext->sel.start = char_id_at_click; + ext->sel.end = LV_LABEL_TEXT_SEL_OFF; ext->text_sel_in_prog = 1; lv_obj_set_drag(lv_page_get_scrl(ta), false); } else if(ext->text_sel_in_prog && sign == LV_SIGNAL_PRESSING) { /*Input device may be moving. Store the end position */ - ext->tmp_sel_end = index_of_char_at_position; + ext->sel.end = char_id_at_click; } else if(ext->text_sel_in_prog && (sign == LV_SIGNAL_PRESS_LOST || sign == LV_SIGNAL_RELEASED)) { /*Input device is released. Check if anything was selected.*/ lv_obj_set_drag(lv_page_get_scrl(ta), true); } } - if(ext->text_sel_in_prog || sign == LV_SIGNAL_PRESSED) lv_ta_set_cursor_pos(ta, index_of_char_at_position); + if(ext->text_sel_in_prog || sign == LV_SIGNAL_PRESSED) lv_ta_set_cursor_pos(ta, char_id_at_click); if(ext->text_sel_in_prog) { /*If the selected area has changed then update the real values and*/ - /*invalidate the text area.*/ - if(ext->tmp_sel_start > ext->tmp_sel_end) { - if(ext_label->txt_sel_start != ext->tmp_sel_end || ext_label->txt_sel_end != ext->tmp_sel_start) { - ext_label->txt_sel_start = ext->tmp_sel_end; - ext_label->txt_sel_end = ext->tmp_sel_start; + /*Invalidate the text area.*/ + if(ext->sel.start > ext->sel.end) { + if(ext_label->txt_sel_start != ext->sel.end || ext_label->txt_sel_end != ext->sel.start) { + ext_label->txt_sel_start = ext->sel.end; + ext_label->txt_sel_end = ext->sel.start; lv_obj_invalidate(ta); } - } else if(ext->tmp_sel_start < ext->tmp_sel_end) { - if(ext_label->txt_sel_start != ext->tmp_sel_start || ext_label->txt_sel_end != ext->tmp_sel_end) { - ext_label->txt_sel_start = ext->tmp_sel_start; - ext_label->txt_sel_end = ext->tmp_sel_end; + } else if(ext->sel.start < ext->sel.end) { + if(ext_label->txt_sel_start != ext->sel.start || ext_label->txt_sel_end != ext->sel.end) { + ext_label->txt_sel_start = ext->sel.start; + ext_label->txt_sel_end = ext->sel.end; lv_obj_invalidate(ta); } } else { - if(ext_label->txt_sel_start != LV_LABEL_TEXT_SEL_OFF || ext_label->txt_sel_end != LV_LABEL_TEXT_SEL_OFF) { - ext_label->txt_sel_start = LV_LABEL_TEXT_SEL_OFF; - ext_label->txt_sel_end = LV_LABEL_TEXT_SEL_OFF; + if(ext_label->txt_sel_start != LV_DRAW_LABEL_NO_TXT_SEL || ext_label->txt_sel_end != LV_DRAW_LABEL_NO_TXT_SEL) { + ext_label->txt_sel_start = LV_DRAW_LABEL_NO_TXT_SEL; + ext_label->txt_sel_end = LV_DRAW_LABEL_NO_TXT_SEL; lv_obj_invalidate(ta); } } @@ -1827,17 +1929,17 @@ static void update_cursor_position_on_click(lv_obj_t * ta, lv_signal_t sign, lv_ } #else /*Check if the click happened on the left side of the area outside the label*/ - if(relative_position.x < 0) { - index_of_char_at_position = 0; + if(rel_pos.x < 0) { + char_id_at_click = 0; } /*Check if the click happened on the right side of the area outside the label*/ - else if(relative_position.x >= label_width) { - index_of_char_at_position = LV_TA_CURSOR_LAST; + else if(rel_pos.x >= label_width) { + char_id_at_click = LV_TA_CURSOR_LAST; } else { - index_of_char_at_position = lv_label_get_letter_on(ext->label, &relative_position); + char_id_at_click = lv_label_get_letter_on(ext->label, &rel_pos); } - if(sign == LV_SIGNAL_PRESSED) lv_ta_set_cursor_pos(ta, index_of_char_at_position); + if(sign == LV_SIGNAL_PRESSED) lv_ta_set_cursor_pos(ta, char_id_at_click); #endif } diff --git a/src/src/lv_objx/lv_ta.h b/src/src/lv_objx/lv_ta.h index 4d3a4a4..afbb94b 100644 --- a/src/src/lv_objx/lv_ta.h +++ b/src/src/lv_objx/lv_ta.h @@ -39,6 +39,8 @@ extern "C" { *********************/ #define LV_TA_CURSOR_LAST (0x7FFF) /*Put the cursor after the last character*/ +LV_EXPORT_CONST_INT(LV_TA_CURSOR_LAST); + /********************** * TYPEDEFS **********************/ @@ -80,8 +82,7 @@ typedef struct uint8_t click_pos : 1; /*1: Enable positioning the cursor by clicking the text area*/ } cursor; #if LV_LABEL_TEXT_SEL - uint16_t tmp_sel_start; /*Temporary value*/ - uint16_t tmp_sel_end; /*Temporary value*/ + lv_draw_label_txt_sel_t sel; /*Temporary values for text selection*/ uint8_t text_sel_in_prog : 1; /*User is in process of selecting */ uint8_t text_sel_en : 1; /*Text can be selected on this text area*/ #endif diff --git a/src/src/lv_objx/lv_table.c b/src/src/lv_objx/lv_table.c index f3c6bfa..79cdc77 100644 --- a/src/src/lv_objx/lv_table.c +++ b/src/src/lv_objx/lv_table.c @@ -9,6 +9,7 @@ #include "lv_table.h" #if LV_USE_TABLE != 0 +#include "../lv_core/lv_debug.h" #include "../lv_misc/lv_txt.h" #include "../lv_misc/lv_math.h" #include "../lv_draw/lv_draw_label.h" @@ -17,6 +18,7 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_table" /********************** * TYPEDEFS @@ -56,12 +58,12 @@ lv_obj_t * lv_table_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of table*/ lv_obj_t * new_table = lv_obj_create(par, copy); - lv_mem_assert(new_table); + LV_ASSERT_MEM(new_table); if(new_table == NULL) return NULL; /*Allocate the table type specific extended data*/ lv_table_ext_t * ext = lv_obj_allocate_ext_attr(new_table, sizeof(lv_table_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_table); if(ancestor_scrl_design == NULL) ancestor_scrl_design = lv_obj_get_design_cb(new_table); @@ -106,8 +108,8 @@ lv_obj_t * lv_table_create(lv_obj_t * par, const lv_obj_t * copy) ext->cell_style[1] = copy_ext->cell_style[1]; ext->cell_style[2] = copy_ext->cell_style[2]; ext->cell_style[3] = copy_ext->cell_style[3]; - ext->col_cnt = copy_ext->col_cnt; - ext->row_cnt = copy_ext->row_cnt; + lv_table_set_row_cnt(new_table, copy_ext->row_cnt); + lv_table_set_col_cnt(new_table, copy_ext->col_cnt); /*Refresh the style with new signal function*/ lv_obj_refresh_style(new_table); @@ -132,6 +134,9 @@ lv_obj_t * lv_table_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_table_set_cell_value(lv_obj_t * table, uint16_t row, uint16_t col, const char * txt) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + LV_ASSERT_NULL(txt); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_set_cell_value: invalid row or column"); @@ -146,14 +151,23 @@ void lv_table_set_cell_value(lv_obj_t * table, uint16_t row, uint16_t col, const } /*Initialize the format byte*/ else { - format.s.align = LV_LABEL_ALIGN_LEFT; +#if LV_USE_BIDI + lv_bidi_dir_t base_dir = lv_obj_get_base_dir(table); + if(base_dir == LV_BIDI_DIR_LTR) format.s.align = LV_LABEL_ALIGN_LEFT; + else if(base_dir == LV_BIDI_DIR_RTL) format.s.align = LV_LABEL_ALIGN_RIGHT; + else if(base_dir == LV_BIDI_DIR_AUTO) format.s.align = lv_bidi_detect_base_dir(txt); +#else + format.s.align = LV_LABEL_ALIGN_LEFT; +#endif + format.s.right_merge = 0; format.s.type = 0; format.s.crop = 0; } ext->cell_data[cell] = lv_mem_realloc(ext->cell_data[cell], strlen(txt) + 2); /*+1: trailing '\0; +1: format byte*/ - strcpy(ext->cell_data[cell] + 1, txt); /*Leave the format byte*/ + strcpy(ext->cell_data[cell] + 1, txt); /*+1 to skip the format byte*/ + ext->cell_data[cell][0] = format.format_byte; refr_size(table); } @@ -165,6 +179,8 @@ void lv_table_set_cell_value(lv_obj_t * table, uint16_t row, uint16_t col, const */ void lv_table_set_row_cnt(lv_obj_t * table, uint16_t row_cnt) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); uint16_t old_row_cnt = ext->row_cnt; ext->row_cnt = row_cnt; @@ -193,6 +209,7 @@ void lv_table_set_row_cnt(lv_obj_t * table, uint16_t row_cnt) */ void lv_table_set_col_cnt(lv_obj_t * table, uint16_t col_cnt) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); if(col_cnt >= LV_TABLE_COL_MAX) { LV_LOG_WARN("lv_table_set_col_cnt: too many columns. Must be < LV_TABLE_COL_MAX."); @@ -227,6 +244,8 @@ void lv_table_set_col_cnt(lv_obj_t * table, uint16_t col_cnt) */ void lv_table_set_col_width(lv_obj_t * table, uint16_t col_id, lv_coord_t w) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + if(col_id >= LV_TABLE_COL_MAX) { LV_LOG_WARN("lv_table_set_col_width: too big 'col_id'. Must be < LV_TABLE_COL_MAX."); return; @@ -246,6 +265,8 @@ void lv_table_set_col_width(lv_obj_t * table, uint16_t col_id, lv_coord_t w) */ void lv_table_set_cell_align(lv_obj_t * table, uint16_t row, uint16_t col, lv_label_align_t align) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_set_cell_align: invalid row or column"); @@ -274,6 +295,8 @@ void lv_table_set_cell_align(lv_obj_t * table, uint16_t row, uint16_t col, lv_la */ void lv_table_set_cell_type(lv_obj_t * table, uint16_t row, uint16_t col, uint8_t type) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_set_cell_type: invalid row or column"); @@ -305,6 +328,8 @@ void lv_table_set_cell_type(lv_obj_t * table, uint16_t row, uint16_t col, uint8_ */ void lv_table_set_cell_crop(lv_obj_t * table, uint16_t row, uint16_t col, bool crop) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_set_cell_crop: invalid row or column"); @@ -333,6 +358,8 @@ void lv_table_set_cell_crop(lv_obj_t * table, uint16_t row, uint16_t col, bool c */ void lv_table_set_cell_merge_right(lv_obj_t * table, uint16_t row, uint16_t col, bool en) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_set_cell_merge_right: invalid row or column"); @@ -362,6 +389,8 @@ void lv_table_set_cell_merge_right(lv_obj_t * table, uint16_t row, uint16_t col, */ void lv_table_set_style(lv_obj_t * table, lv_table_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); switch(type) { @@ -401,6 +430,8 @@ void lv_table_set_style(lv_obj_t * table, lv_table_style_t type, const lv_style_ */ const char * lv_table_get_cell_value(lv_obj_t * table, uint16_t row, uint16_t col) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_set_cell_value: invalid row or column"); @@ -420,6 +451,8 @@ const char * lv_table_get_cell_value(lv_obj_t * table, uint16_t row, uint16_t co */ uint16_t lv_table_get_row_cnt(lv_obj_t * table) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); return ext->row_cnt; } @@ -431,6 +464,8 @@ uint16_t lv_table_get_row_cnt(lv_obj_t * table) */ uint16_t lv_table_get_col_cnt(lv_obj_t * table) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); return ext->col_cnt; } @@ -443,6 +478,8 @@ uint16_t lv_table_get_col_cnt(lv_obj_t * table) */ lv_coord_t lv_table_get_col_width(lv_obj_t * table, uint16_t col_id) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + if(col_id >= LV_TABLE_COL_MAX) { LV_LOG_WARN("lv_table_set_col_width: too big 'col_id'. Must be < LV_TABLE_COL_MAX."); return 0; @@ -462,6 +499,8 @@ lv_coord_t lv_table_get_col_width(lv_obj_t * table, uint16_t col_id) */ lv_label_align_t lv_table_get_cell_align(lv_obj_t * table, uint16_t row, uint16_t col) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_set_cell_align: invalid row or column"); @@ -487,6 +526,8 @@ lv_label_align_t lv_table_get_cell_align(lv_obj_t * table, uint16_t row, uint16_ */ lv_label_align_t lv_table_get_cell_type(lv_obj_t * table, uint16_t row, uint16_t col) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_get_cell_type: invalid row or column"); @@ -512,6 +553,8 @@ lv_label_align_t lv_table_get_cell_type(lv_obj_t * table, uint16_t row, uint16_t */ lv_label_align_t lv_table_get_cell_crop(lv_obj_t * table, uint16_t row, uint16_t col) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_get_cell_crop: invalid row or column"); @@ -537,6 +580,8 @@ lv_label_align_t lv_table_get_cell_crop(lv_obj_t * table, uint16_t row, uint16_t */ bool lv_table_get_cell_merge_right(lv_obj_t * table, uint16_t row, uint16_t col) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); if(row >= ext->row_cnt || col >= ext->col_cnt) { LV_LOG_WARN("lv_table_get_cell_merge_right: invalid row or column"); @@ -562,6 +607,8 @@ bool lv_table_get_cell_merge_right(lv_obj_t * table, uint16_t row, uint16_t col) */ const lv_style_t * lv_table_get_style(const lv_obj_t * table, lv_table_style_t type) { + LV_ASSERT_OBJ(table, LV_OBJX_NAME); + lv_table_ext_t * ext = lv_obj_get_ext_attr(table); const lv_style_t * style = NULL; @@ -691,7 +738,7 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ label_mask_ok = lv_area_intersect(&label_mask, mask, &cell_area); if(label_mask_ok) { lv_draw_label(&txt_area, &label_mask, cell_style, opa_scale, ext->cell_data[cell] + 1, - txt_flags, NULL, -1, -1, NULL); + txt_flags, NULL, NULL, NULL, lv_obj_get_base_dir(table)); } /*Draw lines after '\n's*/ lv_point_t p1; @@ -741,6 +788,7 @@ static lv_res_t lv_table_signal(lv_obj_t * table, lv_signal_t sign, void * param /* Include the ancient signal function */ res = ancestor_signal(table, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Free the cell texts*/ @@ -752,13 +800,8 @@ static lv_res_t lv_table_signal(lv_obj_t * table, lv_signal_t sign, void * param ext->cell_data[cell] = NULL; } } - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_table"; + if(ext->cell_data != NULL) + lv_mem_free(ext->cell_data); } return res; diff --git a/src/src/lv_objx/lv_tabview.c b/src/src/lv_objx/lv_tabview.c index ab0ad28..8f323fa 100644 --- a/src/src/lv_objx/lv_tabview.c +++ b/src/src/lv_objx/lv_tabview.c @@ -10,6 +10,7 @@ #if LV_USE_TABVIEW != 0 #include "lv_btnm.h" +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_anim.h" #include "../lv_core/lv_disp.h" @@ -17,6 +18,8 @@ /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_tabview" + #if LV_USE_ANIMATION #ifndef LV_TABVIEW_DEF_ANIM_TIME #define LV_TABVIEW_DEF_ANIM_TIME 300 /*Animation time of focusing to the a list element [ms] (0: no animation) */ @@ -71,13 +74,13 @@ lv_obj_t * lv_tabview_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of tab*/ lv_obj_t * new_tabview = lv_obj_create(par, copy); - lv_mem_assert(new_tabview); + LV_ASSERT_MEM(new_tabview); if(new_tabview == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_tabview); /*Allocate the tab type specific extended data*/ lv_tabview_ext_t * ext = lv_obj_allocate_ext_attr(new_tabview, sizeof(lv_tabview_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; /*Initialize the allocated 'ext' */ @@ -103,7 +106,7 @@ lv_obj_t * lv_tabview_create(lv_obj_t * par, const lv_obj_t * copy) /*Init the new tab tab*/ if(copy == NULL) { ext->tab_name_ptr = lv_mem_alloc(sizeof(char *)); - lv_mem_assert(ext->tab_name_ptr); + LV_ASSERT_MEM(ext->tab_name_ptr); if(ext->tab_name_ptr == NULL) return NULL; ext->tab_name_ptr[0] = ""; ext->tab_cnt = 0; @@ -144,7 +147,7 @@ lv_obj_t * lv_tabview_create(lv_obj_t * par, const lv_obj_t * copy) lv_tabview_set_style(new_tabview, LV_TABVIEW_STYLE_BTN_TGL_PR, th->style.tabview.btn.tgl_pr); } else { lv_tabview_set_style(new_tabview, LV_TABVIEW_STYLE_BG, &lv_style_plain); - lv_tabview_set_style(new_tabview, LV_TABVIEW_STYLE_BTN_BG, &lv_style_transp); + lv_tabview_set_style(new_tabview, LV_TABVIEW_STYLE_BTN_BG, &lv_style_pretty);//transp); lv_tabview_set_style(new_tabview, LV_TABVIEW_STYLE_INDIC, &lv_style_plain_color); } } @@ -161,7 +164,7 @@ lv_obj_t * lv_tabview_create(lv_obj_t * par, const lv_obj_t * copy) #endif ext->tab_name_ptr = lv_mem_alloc(sizeof(char *)); - lv_mem_assert(ext->tab_name_ptr); + LV_ASSERT_MEM(ext->tab_name_ptr); if(ext->tab_name_ptr == NULL) return NULL; ext->tab_name_ptr[0] = ""; lv_btnm_set_map(ext->btns, ext->tab_name_ptr); @@ -188,11 +191,13 @@ lv_obj_t * lv_tabview_create(lv_obj_t * par, const lv_obj_t * copy) /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param tabview pointer to an object */ -void lv_tabview_clean(lv_obj_t * obj) +void lv_tabview_clean(lv_obj_t * tabview) { - lv_obj_t * scrl = lv_page_get_scrl(obj); + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + + lv_obj_t * scrl = lv_page_get_scrl(tabview); lv_obj_clean(scrl); } @@ -208,14 +213,17 @@ void lv_tabview_clean(lv_obj_t * obj) */ lv_obj_t * lv_tabview_add_tab(lv_obj_t * tabview, const char * name) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + LV_ASSERT_STR(name); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); /*Create the container page*/ lv_obj_t * h = lv_page_create(ext->content, NULL); lv_obj_set_size(h, lv_obj_get_width(tabview), lv_obj_get_height(ext->content)); lv_page_set_sb_mode(h, LV_SB_MODE_AUTO); - lv_page_set_style(h, LV_PAGE_STYLE_BG, &lv_style_transp); - lv_page_set_style(h, LV_PAGE_STYLE_SCRL, &lv_style_transp); + lv_page_set_style(h, LV_PAGE_STYLE_BG, &lv_style_transp_tight); + lv_page_set_style(h, LV_PAGE_STYLE_SCRL, &lv_style_transp);//plain_color); if(page_signal == NULL) page_signal = lv_obj_get_signal_cb(h); if(page_scrl_signal == NULL) page_scrl_signal = lv_obj_get_signal_cb(lv_page_get_scrl(h)); @@ -225,7 +233,7 @@ lv_obj_t * lv_tabview_add_tab(lv_obj_t * tabview, const char * name) /*Extend the button matrix map with the new name*/ char * name_dm; name_dm = lv_mem_alloc(strlen(name) + 1); /*+1 for the the closing '\0' */ - lv_mem_assert(name_dm); + LV_ASSERT_MEM(name_dm); if(name_dm == NULL) return NULL; strcpy(name_dm, name); @@ -242,7 +250,7 @@ lv_obj_t * lv_tabview_add_tab(lv_obj_t * tabview, const char * name) break; } - lv_mem_assert(ext->tab_name_ptr); + LV_ASSERT_MEM(ext->tab_name_ptr); if(ext->tab_name_ptr == NULL) return NULL; /* FIXME: It is not possible yet to switch tab button position from/to top/bottom from/to left/right at runtime. @@ -328,6 +336,8 @@ lv_obj_t * lv_tabview_add_tab(lv_obj_t * tabview, const char * name) */ void lv_tabview_set_tab_act(lv_obj_t * tabview, uint16_t id, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 anim = LV_ANIM_OFF; #endif @@ -341,6 +351,10 @@ void lv_tabview_set_tab_act(lv_obj_t * tabview, uint16_t id, lv_anim_enable_t an ext->tab_cur = id; + if(lv_obj_get_base_dir(tabview) == LV_BIDI_DIR_RTL) { + id = (ext->tab_cnt - (id + 1)); + } + lv_coord_t cont_x; switch(ext->btns_pos) { @@ -395,7 +409,11 @@ void lv_tabview_set_tab_act(lv_obj_t * tabview, uint16_t id, lv_anim_enable_t an case LV_TABVIEW_BTNS_POS_LEFT: case LV_TABVIEW_BTNS_POS_RIGHT: indic_size = lv_obj_get_height(ext->indic); - indic_pos = tabs_style->body.padding.top + id * (indic_size + tabs_style->body.padding.inner); + const lv_style_t * style_tabs = lv_tabview_get_style(tabview, LV_TABVIEW_STYLE_BTN_BG); + lv_coord_t max_h = lv_obj_get_height(ext->btns) - style_tabs->body.padding.top - style_tabs->body.padding.bottom; + + if(ext->tab_cnt) indic_pos = (max_h * ext->tab_cur) / ext->tab_cnt; + else indic_pos = 0; break; } @@ -452,6 +470,8 @@ void lv_tabview_set_tab_act(lv_obj_t * tabview, uint16_t id, lv_anim_enable_t an */ void lv_tabview_set_sliding(lv_obj_t * tabview, bool en) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); ext->slide_enable = en == false ? 0 : 1; } @@ -463,6 +483,8 @@ void lv_tabview_set_sliding(lv_obj_t * tabview, bool en) */ void lv_tabview_set_anim_time(lv_obj_t * tabview, uint16_t anim_time) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); ext->anim_time = anim_time; @@ -480,6 +502,8 @@ void lv_tabview_set_anim_time(lv_obj_t * tabview, uint16_t anim_time) */ void lv_tabview_set_style(lv_obj_t * tabview, lv_tabview_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); switch(type) { @@ -517,6 +541,8 @@ void lv_tabview_set_style(lv_obj_t * tabview, lv_tabview_style_t type, const lv_ */ void lv_tabview_set_btns_pos(lv_obj_t * tabview, lv_tabview_btns_pos_t btns_pos) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); ext->btns_pos = btns_pos; @@ -530,6 +556,8 @@ void lv_tabview_set_btns_pos(lv_obj_t * tabview, lv_tabview_btns_pos_t btns_pos) */ void lv_tabview_set_btns_hidden(lv_obj_t * tabview, bool en) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); ext->btns_hide = en; @@ -547,6 +575,8 @@ void lv_tabview_set_btns_hidden(lv_obj_t * tabview, bool en) */ uint16_t lv_tabview_get_tab_act(const lv_obj_t * tabview) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); return ext->tab_cur; } @@ -558,6 +588,8 @@ uint16_t lv_tabview_get_tab_act(const lv_obj_t * tabview) */ uint16_t lv_tabview_get_tab_count(const lv_obj_t * tabview) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); return ext->tab_cnt; } @@ -570,6 +602,8 @@ uint16_t lv_tabview_get_tab_count(const lv_obj_t * tabview) */ lv_obj_t * lv_tabview_get_tab(const lv_obj_t * tabview, uint16_t id) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); uint16_t i = 0; lv_obj_t * page = lv_obj_get_child_back(ext->content, NULL); @@ -591,6 +625,8 @@ lv_obj_t * lv_tabview_get_tab(const lv_obj_t * tabview, uint16_t id) */ bool lv_tabview_get_sliding(const lv_obj_t * tabview) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); return ext->slide_enable ? true : false; } @@ -602,6 +638,8 @@ bool lv_tabview_get_sliding(const lv_obj_t * tabview) */ uint16_t lv_tabview_get_anim_time(const lv_obj_t * tabview) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + #if LV_USE_ANIMATION lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); return ext->anim_time; @@ -619,6 +657,8 @@ uint16_t lv_tabview_get_anim_time(const lv_obj_t * tabview) */ const lv_style_t * lv_tabview_get_style(const lv_obj_t * tabview, lv_tabview_style_t type) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); @@ -641,6 +681,8 @@ const lv_style_t * lv_tabview_get_style(const lv_obj_t * tabview, lv_tabview_sty */ lv_tabview_btns_pos_t lv_tabview_get_btns_pos(const lv_obj_t * tabview) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); return ext->btns_pos; } @@ -652,6 +694,8 @@ lv_tabview_btns_pos_t lv_tabview_get_btns_pos(const lv_obj_t * tabview) */ bool lv_tabview_get_btns_hidden(const lv_obj_t * tabview) { + LV_ASSERT_OBJ(tabview, LV_OBJX_NAME); + lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); return ext->btns_hide; @@ -675,6 +719,7 @@ static lv_res_t lv_tabview_signal(lv_obj_t * tabview, lv_signal_t sign, void * p /* Include the ancient signal function */ res = ancestor_signal(tabview, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); if(sign == LV_SIGNAL_CLEANUP) { @@ -710,32 +755,26 @@ static lv_res_t lv_tabview_signal(lv_obj_t * tabview, lv_signal_t sign, void * p if(sign == LV_SIGNAL_FOCUS) { lv_indev_type_t indev_type = lv_indev_get_type(lv_indev_get_act()); + /*If not focused by an input device assume the last input device*/ + if(indev_type == LV_INDEV_TYPE_NONE) { + indev_type = lv_indev_get_type(lv_indev_get_next(NULL)); + } + /*With ENCODER select the first button only in edit mode*/ if(indev_type == LV_INDEV_TYPE_ENCODER) { #if LV_USE_GROUP lv_group_t * g = lv_obj_get_group(tabview); if(lv_group_get_editing(g)) { - lv_btnm_ext_t * btnm_ext = lv_obj_get_ext_attr(ext->btns); - btnm_ext->btn_id_pr = 0; - lv_obj_invalidate(ext->btns); + lv_btnm_set_pressed(ext->btns, ext->tab_cur); } #endif } else { - lv_btnm_ext_t * btnm_ext = lv_obj_get_ext_attr(ext->btns); - btnm_ext->btn_id_pr = 0; - lv_obj_invalidate(ext->btns); + lv_btnm_set_pressed(ext->btns, ext->tab_cur); } } } else if(sign == LV_SIGNAL_GET_EDITABLE) { bool * editable = (bool *)param; *editable = true; - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_tabview"; } return res; @@ -755,6 +794,7 @@ static lv_res_t tabpage_signal(lv_obj_t * tab_page, lv_signal_t sign, void * par /* Include the ancient signal function */ res = page_signal(tab_page, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, ""); lv_obj_t * cont = lv_obj_get_parent(tab_page); lv_obj_t * tabview = lv_obj_get_parent(cont); @@ -785,6 +825,7 @@ static lv_res_t tabpage_scrl_signal(lv_obj_t * tab_scrl, lv_signal_t sign, void /* Include the ancient signal function */ res = page_scrl_signal(tab_scrl, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, ""); lv_obj_t * tab_page = lv_obj_get_parent(tab_scrl); lv_obj_t * cont = lv_obj_get_parent(tab_page); @@ -873,7 +914,11 @@ static void tabpage_pressing_handler(lv_obj_t * tabview, lv_obj_t * tabpage) p = ((tabpage->coords.x1 - tabview->coords.x1) * (indic_size + tabs_style->body.padding.inner)) / lv_obj_get_width(tabview); - lv_obj_set_x(ext->indic, indic_size * ext->tab_cur + tabs_style->body.padding.inner * ext->tab_cur + + uint16_t id = ext->tab_cur; + if(lv_obj_get_base_dir(tabview) == LV_BIDI_DIR_RTL) { + id = (ext->tab_cnt - (id + 1)); + } + lv_obj_set_x(ext->indic, indic_size * id + tabs_style->body.padding.inner * id + indic_style->body.padding.left - p); break; case LV_TABVIEW_BTNS_POS_LEFT: @@ -916,13 +961,18 @@ static void tabpage_press_lost_handler(lv_obj_t * tabview, lv_obj_t * tabpage) lv_coord_t page_x2 = page_x1 + lv_obj_get_width(tabpage); lv_coord_t treshold = lv_obj_get_width(tabview) / 2; - uint16_t tab_cur = ext->tab_cur; + int16_t tab_cur = ext->tab_cur; if(page_x1 > treshold) { - if(tab_cur != 0) tab_cur--; + if(lv_obj_get_base_dir(tabview) == LV_BIDI_DIR_RTL) tab_cur++; + else tab_cur--; } else if(page_x2 < treshold) { - if(tab_cur < ext->tab_cnt - 1) tab_cur++; + if(lv_obj_get_base_dir(tabview) == LV_BIDI_DIR_RTL) tab_cur--; + else tab_cur++; } + if(tab_cur > ext->tab_cnt - 1) tab_cur = ext->tab_cnt - 1; + else if(tab_cur < 0) tab_cur = 0; + uint32_t id_prev = lv_tabview_get_tab_act(tabview); lv_tabview_set_tab_act(tabview, tab_cur, LV_ANIM_ON); uint32_t id_new = lv_tabview_get_tab_act(tabview); diff --git a/src/src/lv_objx/lv_tabview.h b/src/src/lv_objx/lv_tabview.h index 419a0bb..f7546d0 100644 --- a/src/src/lv_objx/lv_tabview.h +++ b/src/src/lv_objx/lv_tabview.h @@ -94,9 +94,9 @@ lv_obj_t * lv_tabview_create(lv_obj_t * par, const lv_obj_t * copy); /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param tabview pointer to an object */ -void lv_tabview_clean(lv_obj_t * obj); +void lv_tabview_clean(lv_obj_t * tabview); /*====================== * Add/remove functions diff --git a/src/src/lv_objx/lv_tileview.c b/src/src/lv_objx/lv_tileview.c index ae86ea7..7913c99 100644 --- a/src/src/lv_objx/lv_tileview.c +++ b/src/src/lv_objx/lv_tileview.c @@ -11,11 +11,14 @@ #include #include "lv_cont.h" +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_tileview" + #if LV_USE_ANIMATION #ifndef LV_TILEVIEW_DEF_ANIM_TIME #define LV_TILEVIEW_DEF_ANIM_TIME 300 /*Animation time loading a tile [ms] (0: no animation) */ @@ -65,12 +68,12 @@ lv_obj_t * lv_tileview_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor of tileview*/ lv_obj_t * new_tileview = lv_page_create(par, copy); - lv_mem_assert(new_tileview); + LV_ASSERT_MEM(new_tileview); if(new_tileview == NULL) return NULL; /*Allocate the tileview type specific extended data*/ lv_tileview_ext_t * ext = lv_obj_allocate_ext_attr(new_tileview, sizeof(lv_tileview_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_tileview); if(ancestor_scrl_signal == NULL) ancestor_scrl_signal = lv_obj_get_signal_cb(lv_page_get_scrl(new_tileview)); @@ -142,6 +145,9 @@ lv_obj_t * lv_tileview_create(lv_obj_t * par, const lv_obj_t * copy) */ void lv_tileview_add_element(lv_obj_t * tileview, lv_obj_t * element) { + LV_ASSERT_OBJ(tileview, LV_OBJX_NAME); + LV_ASSERT_NULL(tileview); + /* Let the objects event to propagate to the scrollable part of the tileview. * It is required the handle dargging of the tileview with the element.*/ element->parent_event = 1; @@ -161,12 +167,15 @@ void lv_tileview_add_element(lv_obj_t * tileview, lv_obj_t * element) /** * Set the valid position's indices. The scrolling will be possible only to these positions. * @param tileview pointer to a Tileview object - * @param valid_pos array width the indices. E.g. `lv_point_t p[] = {{0,0}, {1,0}, {1,1}`. Only the - * pointer is saved so can't be a local variable. + * @param valid_pos array width the indices. E.g. `lv_point_t p[] = {{0,0}, {1,0}, {1,1}`. + * Only the pointer is saved so can't be a local variable. * @param valid_pos_cnt numner of elements in `valid_pos` array */ -void lv_tileview_set_valid_positions(lv_obj_t * tileview, const lv_point_t * valid_pos, uint16_t valid_pos_cnt) +void lv_tileview_set_valid_positions(lv_obj_t * tileview, const lv_point_t valid_pos[], uint16_t valid_pos_cnt) { + LV_ASSERT_OBJ(tileview, LV_OBJX_NAME); + LV_ASSERT_NULL(valid_pos); + lv_tileview_ext_t * ext = lv_obj_get_ext_attr(tileview); ext->valid_pos = valid_pos; ext->valid_pos_cnt = valid_pos_cnt; @@ -194,6 +203,8 @@ void lv_tileview_set_valid_positions(lv_obj_t * tileview, const lv_point_t * val */ void lv_tileview_set_tile_act(lv_obj_t * tileview, lv_coord_t x, lv_coord_t y, lv_anim_enable_t anim) { + LV_ASSERT_OBJ(tileview, LV_OBJX_NAME); + #if LV_USE_ANIMATION == 0 anim = LV_ANIM_OFF; #endif @@ -263,6 +274,7 @@ void lv_tileview_set_tile_act(lv_obj_t * tileview, lv_coord_t x, lv_coord_t y, l */ void lv_tileview_set_style(lv_obj_t * tileview, lv_tileview_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(tileview, LV_OBJX_NAME); switch(type) { case LV_TILEVIEW_STYLE_MAIN: lv_obj_set_style(tileview, style); break; @@ -285,6 +297,8 @@ void lv_tileview_set_style(lv_obj_t * tileview, lv_tileview_style_t type, const */ const lv_style_t * lv_tileview_get_style(const lv_obj_t * tileview, lv_tileview_style_t type) { + LV_ASSERT_OBJ(tileview, LV_OBJX_NAME); + const lv_style_t * style = NULL; switch(type) { case LV_TILEVIEW_STYLE_MAIN: style = lv_obj_get_style(tileview); break; @@ -320,16 +334,10 @@ static lv_res_t lv_tileview_signal(lv_obj_t * tileview, lv_signal_t sign, void * /* Include the ancient signal function */ res = ancestor_signal(tileview, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_tileview"; } return res; diff --git a/src/src/lv_objx/lv_tileview.h b/src/src/lv_objx/lv_tileview.h index 9852f6f..60e4098 100644 --- a/src/src/lv_objx/lv_tileview.h +++ b/src/src/lv_objx/lv_tileview.h @@ -86,11 +86,11 @@ void lv_tileview_add_element(lv_obj_t * tileview, lv_obj_t * element); /** * Set the valid position's indices. The scrolling will be possible only to these positions. * @param tileview pointer to a Tileview object - * @param valid_pos array width the indices. E.g. `lv_point_t p[] = {{0,0}, {1,0}, {1,1}`. Only the - * pointer is saved so can't be a local variable. + * @param valid_pos array width the indices. E.g. `lv_point_t p[] = {{0,0}, {1,0}, {1,1}`. + * Only the pointer is saved so can't be a local variable. * @param valid_pos_cnt numner of elements in `valid_pos` array */ -void lv_tileview_set_valid_positions(lv_obj_t * tileview, const lv_point_t * valid_pos, uint16_t valid_pos_cnt); +void lv_tileview_set_valid_positions(lv_obj_t * tileview, const lv_point_t valid_pos[], uint16_t valid_pos_cnt); /** * Set the tile to be shown diff --git a/src/src/lv_objx/lv_win.c b/src/src/lv_objx/lv_win.c index 946c8a8..03c689a 100644 --- a/src/src/lv_objx/lv_win.c +++ b/src/src/lv_objx/lv_win.c @@ -9,12 +9,14 @@ #include "lv_win.h" #if LV_USE_WIN != 0 +#include "../lv_core/lv_debug.h" #include "../lv_themes/lv_theme.h" #include "../lv_core/lv_disp.h" /********************* * DEFINES *********************/ +#define LV_OBJX_NAME "lv_win" /********************** * TYPEDEFS @@ -51,14 +53,14 @@ lv_obj_t * lv_win_create(lv_obj_t * par, const lv_obj_t * copy) /*Create the ancestor object*/ lv_obj_t * new_win = lv_obj_create(par, copy); - lv_mem_assert(new_win); + LV_ASSERT_MEM(new_win); if(new_win == NULL) return NULL; if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_win); /*Allocate the object type specific extended data*/ lv_win_ext_t * ext = lv_obj_allocate_ext_attr(new_win, sizeof(lv_win_ext_t)); - lv_mem_assert(ext); + LV_ASSERT_MEM(ext); if(ext == NULL) return NULL; ext->page = NULL; @@ -94,6 +96,8 @@ lv_obj_t * lv_win_create(lv_obj_t * par, const lv_obj_t * copy) ext->title = lv_label_create(ext->header, NULL); lv_label_set_text(ext->title, "My title"); + lv_obj_set_signal_cb(new_win, lv_win_signal); + /*Set the default styles*/ lv_theme_t * th = lv_theme_get_current(); if(th) { @@ -108,8 +112,6 @@ lv_obj_t * lv_win_create(lv_obj_t * par, const lv_obj_t * copy) lv_win_set_style(new_win, LV_WIN_STYLE_CONTENT, &lv_style_transp); lv_win_set_style(new_win, LV_WIN_STYLE_HEADER, &lv_style_plain_color); } - - lv_obj_set_signal_cb(new_win, lv_win_signal); } /*Copy an existing object*/ else { @@ -146,11 +148,13 @@ lv_obj_t * lv_win_create(lv_obj_t * par, const lv_obj_t * copy) /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param win pointer to an object */ -void lv_win_clean(lv_obj_t * obj) +void lv_win_clean(lv_obj_t * win) { - lv_obj_t * scrl = lv_page_get_scrl(obj); + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + + lv_obj_t * scrl = lv_page_get_scrl(win); lv_obj_clean(scrl); } @@ -166,6 +170,9 @@ void lv_win_clean(lv_obj_t * obj) */ lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * img_src) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + LV_ASSERT_NULL(img_src); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); lv_obj_t * btn = lv_btn_create(ext->header, NULL); @@ -193,6 +200,8 @@ lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * img_src) */ void lv_win_close_event_cb(lv_obj_t * btn, lv_event_t event) { + LV_ASSERT_OBJ(btn, "lv_btn"); + if(event == LV_EVENT_RELEASED) { lv_obj_t * win = lv_win_get_from_btn(btn); @@ -207,6 +216,9 @@ void lv_win_close_event_cb(lv_obj_t * btn, lv_event_t event) */ void lv_win_set_title(lv_obj_t * win, const char * title) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + LV_ASSERT_STR(title); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); lv_label_set_text(ext->title, title); @@ -220,6 +232,8 @@ void lv_win_set_title(lv_obj_t * win, const char * title) */ void lv_win_set_btn_size(lv_obj_t * win, lv_coord_t size) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); if(ext->btn_size == size) return; @@ -228,6 +242,22 @@ void lv_win_set_btn_size(lv_obj_t * win, lv_coord_t size) lv_win_realign(win); } +/** + * Set the size of the content area. + * @param win pointer to a window object + * @param w width + * @param h height (the window will be higher with the height of the header) + */ +void lv_win_set_content_size(lv_obj_t * win, lv_coord_t w, lv_coord_t h) +{ + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); + h += lv_obj_get_height(ext->header); + + lv_obj_set_size(win, w, h); +} + /** * Set the layout of the window * @param win pointer to a window object @@ -235,6 +265,8 @@ void lv_win_set_btn_size(lv_obj_t * win, lv_coord_t size) */ void lv_win_set_layout(lv_obj_t * win, lv_layout_t layout) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); lv_page_set_scrl_layout(ext->page, layout); } @@ -246,6 +278,8 @@ void lv_win_set_layout(lv_obj_t * win, lv_layout_t layout) */ void lv_win_set_sb_mode(lv_obj_t * win, lv_sb_mode_t sb_mode) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); lv_page_set_sb_mode(ext->page, sb_mode); } @@ -256,6 +290,8 @@ void lv_win_set_sb_mode(lv_obj_t * win, lv_sb_mode_t sb_mode) */ void lv_win_set_anim_time(lv_obj_t * win, uint16_t anim_time) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_page_set_anim_time(lv_win_get_content(win), anim_time); } @@ -267,6 +303,8 @@ void lv_win_set_anim_time(lv_obj_t * win, uint16_t anim_time) */ void lv_win_set_style(lv_obj_t * win, lv_win_style_t type, const lv_style_t * style) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); switch(type) { @@ -306,6 +344,8 @@ void lv_win_set_style(lv_obj_t * win, lv_win_style_t type, const lv_style_t * st */ void lv_win_set_drag(lv_obj_t * win, bool en) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); lv_obj_t * win_header = ext->header; lv_obj_set_drag_parent(win_header, en); @@ -323,6 +363,8 @@ void lv_win_set_drag(lv_obj_t * win, bool en) */ const char * lv_win_get_title(const lv_obj_t * win) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); return lv_label_get_text(ext->title); } @@ -334,6 +376,8 @@ const char * lv_win_get_title(const lv_obj_t * win) */ lv_obj_t * lv_win_get_content(const lv_obj_t * win) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); return ext->page; } @@ -345,6 +389,8 @@ lv_obj_t * lv_win_get_content(const lv_obj_t * win) */ lv_coord_t lv_win_get_btn_size(const lv_obj_t * win) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); return ext->btn_size; } @@ -357,6 +403,8 @@ lv_coord_t lv_win_get_btn_size(const lv_obj_t * win) */ lv_obj_t * lv_win_get_from_btn(const lv_obj_t * ctrl_btn) { + LV_ASSERT_OBJ(ctrl_btn, "lv_btn"); + lv_obj_t * header = lv_obj_get_parent(ctrl_btn); lv_obj_t * win = lv_obj_get_parent(header); @@ -370,6 +418,8 @@ lv_obj_t * lv_win_get_from_btn(const lv_obj_t * ctrl_btn) */ lv_layout_t lv_win_get_layout(lv_obj_t * win) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); return lv_page_get_scrl_layout(ext->page); } @@ -381,6 +431,8 @@ lv_layout_t lv_win_get_layout(lv_obj_t * win) */ lv_sb_mode_t lv_win_get_sb_mode(lv_obj_t * win) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); return lv_page_get_sb_mode(ext->page); } @@ -392,6 +444,8 @@ lv_sb_mode_t lv_win_get_sb_mode(lv_obj_t * win) */ uint16_t lv_win_get_anim_time(const lv_obj_t * win) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + return lv_page_get_anim_time(lv_win_get_content(win)); } @@ -402,6 +456,8 @@ uint16_t lv_win_get_anim_time(const lv_obj_t * win) */ lv_coord_t lv_win_get_width(lv_obj_t * win) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); lv_obj_t * scrl = lv_page_get_scrl(ext->page); const lv_style_t * style_scrl = lv_obj_get_style(scrl); @@ -417,6 +473,8 @@ lv_coord_t lv_win_get_width(lv_obj_t * win) */ const lv_style_t * lv_win_get_style(const lv_obj_t * win, lv_win_style_t type) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + const lv_style_t * style = NULL; lv_win_ext_t * ext = lv_obj_get_ext_attr(win); @@ -445,6 +503,10 @@ const lv_style_t * lv_win_get_style(const lv_obj_t * win, lv_win_style_t type) */ void lv_win_focus(lv_obj_t * win, lv_obj_t * obj, lv_anim_enable_t anim_en) { + LV_ASSERT_OBJ(win, LV_OBJX_NAME); + LV_ASSERT_OBJ(obj, ""); + + lv_win_ext_t * ext = lv_obj_get_ext_attr(win); lv_page_focus(ext->page, obj, anim_en); } @@ -467,6 +529,7 @@ static lv_res_t lv_win_signal(lv_obj_t * win, lv_signal_t sign, void * param) /* Include the ancient signal function */ res = ancestor_signal(win, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); lv_win_ext_t * ext = lv_obj_get_ext_attr(win); if(sign == LV_SIGNAL_CHILD_CHG) { /*Move children to the page*/ @@ -498,13 +561,6 @@ static lv_res_t lv_win_signal(lv_obj_t * win, lv_signal_t sign, void * param) } else if(sign == LV_SIGNAL_CONTROL) { /*Forward all the control signals to the page*/ ext->page->signal_cb(ext->page, sign, param); - } else if(sign == LV_SIGNAL_GET_TYPE) { - lv_obj_type_t * buf = param; - uint8_t i; - for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - if(buf->type[i] == NULL) break; - } - buf->type[i] = "lv_win"; } return res; diff --git a/src/src/lv_objx/lv_win.h b/src/src/lv_objx/lv_win.h index 5cdbd11..28560cf 100644 --- a/src/src/lv_objx/lv_win.h +++ b/src/src/lv_objx/lv_win.h @@ -91,9 +91,9 @@ lv_obj_t * lv_win_create(lv_obj_t * par, const lv_obj_t * copy); /** * Delete all children of the scrl object, without deleting scrl child. - * @param obj pointer to an object + * @param win pointer to an object */ -void lv_win_clean(lv_obj_t * obj); +void lv_win_clean(lv_obj_t * win); /*====================== * Add/remove functions @@ -132,6 +132,15 @@ void lv_win_set_title(lv_obj_t * win, const char * title); */ void lv_win_set_btn_size(lv_obj_t * win, lv_coord_t size); + +/** + * Set the size of the content area. + * @param win pointer to a window object + * @param w width + * @param h height (the window will be higher with the height of the header) + */ +void lv_win_set_content_size(lv_obj_t * win, lv_coord_t w, lv_coord_t h); + /** * Set the layout of the window * @param win pointer to a window object diff --git a/src/src/lv_themes/lv_theme_material.c b/src/src/lv_themes/lv_theme_material.c index 6eb8f05..6d162bf 100644 --- a/src/src/lv_themes/lv_theme_material.c +++ b/src/src/lv_themes/lv_theme_material.c @@ -830,11 +830,10 @@ static void style_mod(lv_group_t * group, lv_style_t * style) static void style_mod_edit(lv_group_t * group, lv_style_t * style) { - - uint16_t hue2 = (_hue + 300) % 360; - (void)group; /*Unused*/ #if LV_COLOR_DEPTH != 1 + uint16_t hue2 = (_hue + 300) % 360; + /*Make the style to be a little bit orange*/ style->body.border.opa = LV_OPA_COVER; style->body.border.color = LV_COLOR_GREEN; diff --git a/src/src/lv_themes/lv_theme_nemo.c b/src/src/lv_themes/lv_theme_nemo.c index cd4bd00..564c232 100644 --- a/src/src/lv_themes/lv_theme_nemo.c +++ b/src/src/lv_themes/lv_theme_nemo.c @@ -620,7 +620,6 @@ static void list_init(void) list_rel.text.font = _font; lv_style_copy(&list_pr, &list_rel); - list_pr.body.opa = LV_OPA_TRANSP; list_pr.body.opa = LV_OPA_COVER; list_pr.body.main_color = lv_color_hsv_to_rgb(_hue, 34, 41); list_pr.body.grad_color = lv_color_hsv_to_rgb(_hue, 34, 41); diff --git a/src/src/lv_version.h b/src/src/lv_version.h index 745a7e5..7a5a757 100644 --- a/src/src/lv_version.h +++ b/src/src/lv_version.h @@ -15,7 +15,7 @@ extern "C" { *********************/ /*Current version of LittlevGL*/ #define LVGL_VERSION_MAJOR 6 -#define LVGL_VERSION_MINOR 0 +#define LVGL_VERSION_MINOR 1 #define LVGL_VERSION_PATCH 0 #define LVGL_VERSION_INFO "" From aa0a56e4430bcf485bcab06d9d0210089f1fd0d0 Mon Sep 17 00:00:00 2001 From: Pavel Brychta Date: Thu, 5 Dec 2019 18:25:34 +0100 Subject: [PATCH 2/3] Small typos, version update (still need to check examples) --- README.md | 6 +++--- examples/ESP32_TFT_eSPI/ESP32_TFT_eSPI.ino | 2 +- examples/ESP32_TFT_eSPI_Slider/Setup.ino | 6 +++--- library.json | 2 +- library.properties | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d5718b7..63ac5e8 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This library allows to use LittlevGL (v6.x) as an Arduino library. Library can b There is simple example which uses https://github.com/Bodmer/TFT_eSPI library as an TFT driver to simplify testing. To get all this to work you have to setup TFT_eSPI to work with your TFT display type via editing the `User_Setup.h` file in TFT_eSPI library folder, or by selecting your own configurtion in the `User_Setup_Select.h` file in TFT_eSPI library folder. -LittlevGL library has its own configuration file in `lv_conf.h` file, which is locatd in LittlevGL library folder. Please get in mind to check that corresponding resolutions in LVGL configuration match the ones in TFT_eSPI and with physical resolution of your display. +LittlevGL library has its own configuration file in `lv_conf.h` file, which is locatd in LittlevGL library folder. Please get in mind to check that the corresponding resolutions in LVGL configuration match the ones in TFT_eSPI and with the physical resolution of your display. Example result should look like this: @@ -21,7 +21,7 @@ Tested with: ## Debugging -In case of trouble there are debug information inside LVGL. In the `ESP32_TFT_eSPI` example there is `my_print` method, which allow to send this debug information to the serial interface. To enable this feature you have to edit `lv_conf.h` file and enable logging in section `log settings`: +In case of trouble there are debug informations inside LVGL. In the `ESP32_TFT_eSPI` example there is `my_print` method, which allow to send this debug informations to the serial interface. To enable this feature you have to edit `lv_conf.h` file and enable logging in section `log settings`: ```c /*Log settings*/ @@ -36,4 +36,4 @@ In case of trouble there are debug information inside LVGL. In the `ESP32_TFT_eS # define LV_LOG_LEVEL LV_LOG_LEVEL_TRACE ``` -After enabling log module and setting LV_LOG_LEVEL accordingly the output log is sent to he `Serial` port @ 115200 Bd. After each line sent there is 100ms delay to allow the serial transfer to finish. This delay can be commented out in `my_print` method. +After enabling log module and setting LV_LOG_LEVEL accordingly the output log is sent to the `Serial` port @ 115200 Bd. After each line sent there is 100ms delay to allow the serial transfer to finish. This delay can be commented out in `my_print` method. diff --git a/examples/ESP32_TFT_eSPI/ESP32_TFT_eSPI.ino b/examples/ESP32_TFT_eSPI/ESP32_TFT_eSPI.ino index 1a2894e..0254244 100644 --- a/examples/ESP32_TFT_eSPI/ESP32_TFT_eSPI.ino +++ b/examples/ESP32_TFT_eSPI/ESP32_TFT_eSPI.ino @@ -96,7 +96,7 @@ void setup() { /* Create simple label */ lv_obj_t *label = lv_label_create(lv_scr_act(), NULL); - lv_label_set_text(label, "Hello Arduino! (V6.0)"); + lv_label_set_text(label, "Hello Arduino! (V6.1)"); lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, 0); } diff --git a/examples/ESP32_TFT_eSPI_Slider/Setup.ino b/examples/ESP32_TFT_eSPI_Slider/Setup.ino index 9ee17d6..f52d950 100644 --- a/examples/ESP32_TFT_eSPI_Slider/Setup.ino +++ b/examples/ESP32_TFT_eSPI_Slider/Setup.ino @@ -59,7 +59,7 @@ void setup() { /* Create simple label */ lv_obj_t *label = lv_label_create(lv_scr_act(), NULL); - lv_label_set_text(label, "Hello Arduino! (V6.0)"); + lv_label_set_text(label, "Hello Arduino! (V6.1)"); lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -50); /* Create a slider in the center of the display */ @@ -68,7 +68,7 @@ void setup() { lv_obj_set_height(slider, 50); lv_obj_align(slider, NULL, LV_ALIGN_CENTER, 0, 0); /*Align to the center of the parent (screen)*/ lv_obj_set_event_cb(slider, slider_event_cb); /*Assign an event function*/ - + /* Create a label below the slider */ slider_label = lv_label_create(lv_scr_act(), NULL); lv_label_set_text(slider_label, "0"); @@ -76,4 +76,4 @@ void setup() { lv_obj_align(slider_label, slider, LV_ALIGN_OUT_BOTTOM_MID, 0, 10); } - + diff --git a/library.json b/library.json index fe23035..e7eccee 100644 --- a/library.json +++ b/library.json @@ -12,7 +12,7 @@ "type": "git", "url": "https://github.com/littlevgl/arduino" }, - "version": "2.0.3", + "version": "2.0.4", "license": "MIT", "frameworks": "arduino", "build": { diff --git a/library.properties b/library.properties index e9fbec8..1f6ff64 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=lv_arduino -version=2.0.3 +version=2.0.4 author=Gabor Kiss-Vamosi maintainer=Pavel Brychta sentence=Full-featured Graphics Library for embedded systems From 3ae9a7839a74d410e74758023071e534b9d16f36 Mon Sep 17 00:00:00 2001 From: Pavel Brychta Date: Sun, 8 Dec 2019 14:04:20 +0100 Subject: [PATCH 3/3] LVgl 6.1.1 used --- library.json | 2 +- library.properties | 2 +- src/library.json | 2 +- src/src/lv_core/lv_debug.c | 2 +- src/src/lv_core/lv_debug.h | 2 +- src/src/lv_core/lv_disp.h | 2 +- src/src/lv_core/lv_obj.c | 20 ++++++++-------- src/src/lv_core/lv_obj.h | 16 ++++++------- src/src/lv_draw/lv_draw_basic.c | 2 +- src/src/lv_draw/lv_draw_img.c | 8 +++---- src/src/lv_draw/lv_img_decoder.c | 2 +- src/src/lv_font/lv_font.h | 2 +- src/src/lv_font/lv_font_fmt_txt.c | 16 ++++++------- src/src/lv_font/lv_font_fmt_txt.h | 1 - src/src/lv_misc/lv_color.h | 2 +- src/src/lv_misc/lv_fs.c | 10 ++++---- src/src/lv_misc/lv_ll.c | 8 ------- src/src/lv_misc/lv_mem.c | 12 +++++----- src/src/lv_misc/lv_mem.h | 16 +++---------- src/src/lv_misc/lv_txt.c | 14 +++++------ src/src/lv_misc/lv_types.h | 17 +++++++++++++- src/src/lv_objx/lv_btn.c | 2 +- src/src/lv_objx/lv_btnm.c | 2 +- src/src/lv_objx/lv_calendar.c | 2 +- src/src/lv_objx/lv_calendar.h | 2 +- src/src/lv_objx/lv_canvas.c | 2 +- src/src/lv_objx/lv_cpicker.c | 2 +- src/src/lv_objx/lv_ddlist.c | 4 ++-- src/src/lv_objx/lv_imgbtn.c | 12 +++++----- src/src/lv_objx/lv_label.c | 10 ++++---- src/src/lv_objx/lv_list.c | 2 +- src/src/lv_objx/lv_lmeter.c | 4 ++-- src/src/lv_objx/lv_lmeter.h | 6 ++--- src/src/lv_objx/lv_roller.c | 2 +- src/src/lv_objx/lv_spinbox.c | 12 +++++----- src/src/lv_objx/lv_ta.c | 3 +-- src/src/lv_objx/lv_table.c | 39 ++++++++++++++++--------------- src/src/lv_objx/lv_tabview.c | 4 ++-- src/src/lv_objx/lv_tileview.c | 3 ++- src/src/lv_version.h | 2 +- 40 files changed, 135 insertions(+), 138 deletions(-) diff --git a/library.json b/library.json index e7eccee..bc20b02 100644 --- a/library.json +++ b/library.json @@ -12,7 +12,7 @@ "type": "git", "url": "https://github.com/littlevgl/arduino" }, - "version": "2.0.4", + "version": "2.1.4", "license": "MIT", "frameworks": "arduino", "build": { diff --git a/library.properties b/library.properties index 1f6ff64..f2702b7 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=lv_arduino -version=2.0.4 +version=2.1.4 author=Gabor Kiss-Vamosi maintainer=Pavel Brychta sentence=Full-featured Graphics Library for embedded systems diff --git a/src/library.json b/src/library.json index f634590..23ecc3f 100644 --- a/src/library.json +++ b/src/library.json @@ -1,6 +1,6 @@ { "name": "lvgl", - "version": "6.0.2", + "version": "6.1.1", "keywords": "graphics, gui, embedded, littlevgl", "description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.", "repository": diff --git a/src/src/lv_core/lv_debug.c b/src/src/lv_core/lv_debug.c index f5b02d5..83071af 100644 --- a/src/src/lv_core/lv_debug.c +++ b/src/src/lv_core/lv_debug.c @@ -131,7 +131,7 @@ void lv_debug_log_error(const char * msg, uint64_t value) { static const char hex[] = "0123456789ABCDEF"; - uint32_t msg_len = strlen(msg); + size_t msg_len = strlen(msg); uint32_t value_len = sizeof(unsigned long int); if(msg_len < 230) { diff --git a/src/src/lv_core/lv_debug.h b/src/src/lv_core/lv_debug.h index f225f76..72eb336 100644 --- a/src/src/lv_core/lv_debug.h +++ b/src/src/lv_core/lv_debug.h @@ -49,7 +49,7 @@ void lv_debug_log_error(const char * msg, uint64_t value); { \ if(!(expr)) { \ LV_LOG_ERROR(__func__); \ - lv_debug_log_error(msg, (unsigned long int)value); \ + lv_debug_log_error(msg, (uint64_t)value); \ while(1); \ } \ } diff --git a/src/src/lv_core/lv_disp.h b/src/src/lv_core/lv_disp.h index 8f8f512..3047154 100644 --- a/src/src/lv_core/lv_disp.h +++ b/src/src/lv_core/lv_disp.h @@ -109,7 +109,7 @@ static inline lv_obj_t * lv_layer_top(void) } /** - * Get the active screen of the deafult display + * Get the active screen of the default display * @return pointer to the sys layer */ static inline lv_obj_t * lv_layer_sys(void) diff --git a/src/src/lv_core/lv_obj.c b/src/src/lv_core/lv_obj.c index dc4ff18..089c5e3 100644 --- a/src/src/lv_core/lv_obj.c +++ b/src/src/lv_core/lv_obj.c @@ -1839,7 +1839,7 @@ lv_coord_t lv_obj_get_height(const lv_obj_t * obj) * @param obj pointer to an object * @return the width which still fits into the container */ -lv_coord_t lv_obj_get_width_fit(lv_obj_t * obj) +lv_coord_t lv_obj_get_width_fit(const lv_obj_t * obj) { LV_ASSERT_OBJ(obj, LV_OBJX_NAME); @@ -1853,7 +1853,7 @@ lv_coord_t lv_obj_get_width_fit(lv_obj_t * obj) * @param obj pointer to an object * @return the height which still fits into the container */ -lv_coord_t lv_obj_get_height_fit(lv_obj_t * obj) +lv_coord_t lv_obj_get_height_fit(const lv_obj_t * obj) { LV_ASSERT_OBJ(obj, LV_OBJX_NAME); @@ -1867,7 +1867,7 @@ lv_coord_t lv_obj_get_height_fit(lv_obj_t * obj) * @param obj pointer to an object * @return true: auto realign is enabled; false: auto realign is disabled */ -bool lv_obj_get_auto_realign(lv_obj_t * obj) +bool lv_obj_get_auto_realign(const lv_obj_t * obj) { LV_ASSERT_OBJ(obj, LV_OBJX_NAME); @@ -2250,7 +2250,7 @@ void * lv_obj_get_ext_attr(const lv_obj_t * obj) * @param obj pointer to an object which type should be get * @param buf pointer to an `lv_obj_type_t` buffer to store the types */ -void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf) +void lv_obj_get_type(const lv_obj_t * obj, lv_obj_type_t * buf) { LV_ASSERT_NULL(buf); LV_ASSERT_NULL(obj); @@ -2260,7 +2260,7 @@ void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf) memset(buf, 0, sizeof(lv_obj_type_t)); memset(&tmp, 0, sizeof(lv_obj_type_t)); - obj->signal_cb(obj, LV_SIGNAL_GET_TYPE, &tmp); + obj->signal_cb((lv_obj_t *)obj, LV_SIGNAL_GET_TYPE, &tmp); uint8_t cnt; for(cnt = 0; cnt < LV_MAX_ANCESTOR_NUM; cnt++) { @@ -2281,7 +2281,7 @@ void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf) * @param obj pointer to an object * @return user data */ -lv_obj_user_data_t lv_obj_get_user_data(lv_obj_t * obj) +lv_obj_user_data_t lv_obj_get_user_data(const lv_obj_t * obj) { LV_ASSERT_OBJ(obj, LV_OBJX_NAME); @@ -2293,11 +2293,11 @@ lv_obj_user_data_t lv_obj_get_user_data(lv_obj_t * obj) * @param obj pointer to an object * @return pointer to the user data */ -lv_obj_user_data_t * lv_obj_get_user_data_ptr(lv_obj_t * obj) +lv_obj_user_data_t * lv_obj_get_user_data_ptr(const lv_obj_t * obj) { LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - return &obj->user_data; + return (lv_obj_user_data_t *)&obj->user_data; } /** @@ -2351,8 +2351,8 @@ bool lv_obj_is_focused(const lv_obj_t * obj) /** * Used in the signal callback to handle `LV_SIGNAL_GET_TYPE` signal * @param obj pointer to an object - * @param buf pointer to `lv_obj_type_t`. (`param` i nteh signal callback) - * @param name name of the object. E.g. "lv_btn". (Only teh pointer is saved) + * @param buf pointer to `lv_obj_type_t`. (`param` in the signal callback) + * @param name name of the object. E.g. "lv_btn". (Only the pointer is saved) * @return LV_RES_OK */ lv_res_t lv_obj_handle_get_type_signal(lv_obj_type_t * buf, const char * name) diff --git a/src/src/lv_core/lv_obj.h b/src/src/lv_core/lv_obj.h index 201dbc6..8698718 100644 --- a/src/src/lv_core/lv_obj.h +++ b/src/src/lv_core/lv_obj.h @@ -732,21 +732,21 @@ lv_coord_t lv_obj_get_height(const lv_obj_t * obj); * @param obj pointer to an object * @return the width which still fits into the container */ -lv_coord_t lv_obj_get_width_fit(lv_obj_t * obj); +lv_coord_t lv_obj_get_width_fit(const lv_obj_t * obj); /** * Get that height reduced by the top an bottom padding. * @param obj pointer to an object * @return the height which still fits into the container */ -lv_coord_t lv_obj_get_height_fit(lv_obj_t * obj); +lv_coord_t lv_obj_get_height_fit(const lv_obj_t * obj); /** * Get the automatic realign property of the object. * @param obj pointer to an object * @return true: auto realign is enabled; false: auto realign is disabled */ -bool lv_obj_get_auto_realign(lv_obj_t * obj); +bool lv_obj_get_auto_realign(const lv_obj_t * obj); /** * Get the left padding of extended clickable area @@ -925,7 +925,7 @@ void * lv_obj_get_ext_attr(const lv_obj_t * obj); * @param obj pointer to an object which type should be get * @param buf pointer to an `lv_obj_type_t` buffer to store the types */ -void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf); +void lv_obj_get_type(const lv_obj_t * obj, lv_obj_type_t * buf); #if LV_USE_USER_DATA /** @@ -933,14 +933,14 @@ void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf); * @param obj pointer to an object * @return user data */ -lv_obj_user_data_t lv_obj_get_user_data(lv_obj_t * obj); +lv_obj_user_data_t lv_obj_get_user_data(const lv_obj_t * obj); /** * Get a pointer to the object's user data * @param obj pointer to an object * @return pointer to the user data */ -lv_obj_user_data_t * lv_obj_get_user_data_ptr(lv_obj_t * obj); +lv_obj_user_data_t * lv_obj_get_user_data_ptr(const lv_obj_t * obj); /** * Set the object's user data. The data will be copied. @@ -974,8 +974,8 @@ bool lv_obj_is_focused(const lv_obj_t * obj); /** * Used in the signal callback to handle `LV_SIGNAL_GET_TYPE` signal - * @param buf pointer to `lv_obj_type_t`. (`param` i nteh signal callback) - * @param name name of the object. E.g. "lv_btn". (Only teh pointer is saved) + * @param buf pointer to `lv_obj_type_t`. (`param` in the signal callback) + * @param name name of the object. E.g. "lv_btn". (Only the pointer is saved) * @return LV_RES_OK */ lv_res_t lv_obj_handle_get_type_signal(lv_obj_type_t * buf, const char * name); diff --git a/src/src/lv_draw/lv_draw_basic.c b/src/src/lv_draw/lv_draw_basic.c index 6a0593b..462e152 100644 --- a/src/src/lv_draw/lv_draw_basic.c +++ b/src/src/lv_draw/lv_draw_basic.c @@ -333,7 +333,7 @@ void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * mask_p, const lv map_p += bit_ofs >> 3; uint8_t letter_px; - lv_opa_t px_opa; + lv_opa_t px_opa = 0; uint16_t col_bit; col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */ diff --git a/src/src/lv_draw/lv_draw_img.c b/src/src/lv_draw/lv_draw_img.c index 0f1f692..e19ba01 100644 --- a/src/src/lv_draw/lv_draw_img.c +++ b/src/src/lv_draw/lv_draw_img.c @@ -79,7 +79,7 @@ void lv_draw_img(const lv_area_t * coords, const lv_area_t * mask, const void * lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, const lv_style_t * style) { lv_color_t p_color = LV_COLOR_BLACK; - if(x >= dsc->header.w) { + if(x >= (lv_coord_t)dsc->header.w) { x = dsc->header.w - 1; LV_LOG_WARN("lv_canvas_get_px: x is too large (out of canvas)"); } else if(x < 0) { @@ -87,7 +87,7 @@ lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t LV_LOG_WARN("lv_canvas_get_px: x is < 0 (out of canvas)"); } - if(y >= dsc->header.h) { + if(y >= (lv_coord_t)dsc->header.h) { y = dsc->header.h - 1; LV_LOG_WARN("lv_canvas_get_px: y is too large (out of canvas)"); } else if(y < 0) { @@ -158,7 +158,7 @@ lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t */ lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) { - if(x >= dsc->header.w) { + if(x >= (lv_coord_t)dsc->header.w) { x = dsc->header.w - 1; LV_LOG_WARN("lv_canvas_get_px: x is too large (out of canvas)"); } else if(x < 0) { @@ -166,7 +166,7 @@ lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) LV_LOG_WARN("lv_canvas_get_px: x is < 0 (out of canvas)"); } - if(y >= dsc->header.h) { + if(y >= (lv_coord_t)dsc->header.h) { y = dsc->header.h - 1; LV_LOG_WARN("lv_canvas_get_px: y is too large (out of canvas)"); } else if(y < 0) { diff --git a/src/src/lv_draw/lv_img_decoder.c b/src/src/lv_draw/lv_img_decoder.c index b71624c..5505b90 100644 --- a/src/src/lv_draw/lv_img_decoder.c +++ b/src/src/lv_draw/lv_img_decoder.c @@ -124,7 +124,7 @@ lv_res_t lv_img_decoder_open(lv_img_decoder_dsc_t * dsc, const void * src, const dsc->user_data = NULL; if(dsc->src_type == LV_IMG_SRC_FILE) { - uint16_t fnlen = strlen(src); + size_t fnlen = strlen(src); dsc->src = lv_mem_alloc(fnlen + 1); strcpy((char *)dsc->src, src); } else { diff --git a/src/src/lv_font/lv_font.h b/src/src/lv_font/lv_font.h index e6433b8..50be635 100644 --- a/src/src/lv_font/lv_font.h +++ b/src/src/lv_font/lv_font.h @@ -77,7 +77,7 @@ typedef struct _lv_font_struct uint8_t line_height; /**< The real line height where any text fits*/ uint8_t base_line; /**< Base line measured from the top of the line_height*/ uint8_t subpx :2; /**< An element of `lv_font_subpx_t`*/ - void * dsc; /**< Store implementation specific data here*/ + void * dsc; /**< Store implementation specific or run_time data or caching here*/ #if LV_USE_USER_DATA lv_font_user_data_t user_data; /**< Custom user data for font. */ #endif diff --git a/src/src/lv_font/lv_font_fmt_txt.c b/src/src/lv_font/lv_font_fmt_txt.c index 6f350ed..fb02c74 100644 --- a/src/src/lv_font/lv_font_fmt_txt.c +++ b/src/src/lv_font/lv_font_fmt_txt.c @@ -78,7 +78,7 @@ const uint8_t * lv_font_get_bitmap_fmt_txt(const lv_font_t * font, uint32_t unic { lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; uint32_t gid = get_glyph_dsc_id(font, unicode_letter); - if(!gid) return false; + if(!gid) return NULL; const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; @@ -107,7 +107,7 @@ const uint8_t * lv_font_get_bitmap_fmt_txt(const lv_font_t * font, uint32_t unic if(buf == NULL) return NULL; } - decompress(&fdsc->glyph_bitmap[gdsc->bitmap_index], buf, gdsc->box_w , gdsc->box_h, fdsc->bpp); + decompress(&fdsc->glyph_bitmap[gdsc->bitmap_index], buf, gdsc->box_w , gdsc->box_h, (uint8_t)fdsc->bpp); return buf; } @@ -150,7 +150,7 @@ bool lv_font_get_glyph_dsc_fmt_txt(const lv_font_t * font, lv_font_glyph_dsc_t * dsc_out->box_w = gdsc->box_w; dsc_out->ofs_x = gdsc->ofs_x; dsc_out->ofs_y = gdsc->ofs_y; - dsc_out->bpp = fdsc->bpp; + dsc_out->bpp = (uint8_t)fdsc->bpp; return true; } @@ -186,7 +186,7 @@ static uint32_t get_glyph_dsc_id(const lv_font_t * font, uint32_t letter) uint8_t * p = lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, sizeof(fdsc->cmaps[i].unicode_list[0]), unicode_list_compare); if(p) { - uint32_t ofs = (lv_uintptr_t)p - (lv_uintptr_t) fdsc->cmaps[i].unicode_list; + lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list); ofs = ofs >> 1; /*The list stores `uint16_t` so the get the index divide by 2*/ glyph_id = fdsc->cmaps[i].glyph_id_start + ofs; } @@ -195,7 +195,7 @@ static uint32_t get_glyph_dsc_id(const lv_font_t * font, uint32_t letter) uint8_t * p = lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, sizeof(fdsc->cmaps[i].unicode_list[0]), unicode_list_compare); if(p) { - uint32_t ofs = (lv_uintptr_t)p - (lv_uintptr_t) fdsc->cmaps[i].unicode_list; + lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t*) fdsc->cmaps[i].unicode_list); ofs = ofs >> 1; /*The list stores `uint16_t` so the get the index divide by 2*/ const uint8_t * gid_ofs_16 = fdsc->cmaps[i].glyph_id_ofs_list; glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_16[ofs]; @@ -232,7 +232,7 @@ static int8_t get_kern_value(const lv_font_t * font, uint32_t gid_left, uint32_t /*If the `g_id_both` were found get its index from the pointer*/ if(kid_p) { - uint32_t ofs = (lv_uintptr_t)kid_p - (lv_uintptr_t)g_ids; + lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - g_ids); ofs = ofs >> 1; /*ofs is for pair, divide by 2 to refer as a single value*/ value = kdsc->values[ofs]; } @@ -240,12 +240,12 @@ static int8_t get_kern_value(const lv_font_t * font, uint32_t gid_left, uint32_t /* Use binary search to find the kern value. * The pairs are ordered left_id first, then right_id secondly. */ const uint16_t * g_ids = kdsc->glyph_ids; - uint32_t g_id_both = (uint32_t)((uint32_t)gid_right << 8) + gid_left; /*Create one number from the ids*/ + lv_uintptr_t g_id_both = (uint32_t)((uint32_t)gid_right << 8) + gid_left; /*Create one number from the ids*/ uint8_t * kid_p = lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 4, kern_pair_16_compare); /*If the `g_id_both` were found get its index from the pointer*/ if(kid_p) { - uint32_t ofs = (lv_uintptr_t)kid_p - (lv_uintptr_t)g_ids; + lv_uintptr_t ofs = (lv_uintptr_t) (kid_p - (const uint8_t *)g_ids); ofs = ofs >> 4; /*ofs is 4 byte pairs, divide by 4 to refer as a single value*/ value = kdsc->values[ofs]; } diff --git a/src/src/lv_font/lv_font_fmt_txt.h b/src/src/lv_font/lv_font_fmt_txt.h index ab15834..58c8b59 100644 --- a/src/src/lv_font/lv_font_fmt_txt.h +++ b/src/src/lv_font/lv_font_fmt_txt.h @@ -191,7 +191,6 @@ typedef struct { * from `lv_font_fmt_txt_bitmap_format_t` */ uint16_t bitmap_format :2; - uint16_t subpx :1; /*Cache the last letter and is glyph id*/ uint32_t last_letter; diff --git a/src/src/lv_misc/lv_color.h b/src/src/lv_misc/lv_color.h index e5f456f..dc86169 100644 --- a/src/src/lv_misc/lv_color.h +++ b/src/src/lv_misc/lv_color.h @@ -390,7 +390,7 @@ static inline uint32_t lv_color_to32(lv_color_t color) LV_COLOR_SET_R32(ret, LV_COLOR_GET_R(color) * 36); /*(2^8 - 1)/(2^3 - 1) = 255/7 = 36*/ LV_COLOR_SET_G32(ret, LV_COLOR_GET_G(color) * 36); /*(2^8 - 1)/(2^3 - 1) = 255/7 = 36*/ LV_COLOR_SET_B32(ret, LV_COLOR_GET_B(color) * 85); /*(2^8 - 1)/(2^2 - 1) = 255/3 = 85*/ - LV_COLOR_SET_A32(color, 0xFF); + LV_COLOR_SET_A32(ret, 0xFF); return ret.full; #elif LV_COLOR_DEPTH == 16 /** diff --git a/src/src/lv_misc/lv_fs.c b/src/src/lv_misc/lv_fs.c index 5723943..a23081c 100644 --- a/src/src/lv_misc/lv_fs.c +++ b/src/src/lv_misc/lv_fs.c @@ -539,7 +539,7 @@ char * lv_fs_get_letters(char * buf) */ const char * lv_fs_get_ext(const char * fn) { - uint16_t i; + size_t i; for(i = strlen(fn); i > 0; i--) { if(fn[i] == '.') { return &fn[i + 1]; @@ -558,7 +558,7 @@ const char * lv_fs_get_ext(const char * fn) */ char * lv_fs_up(char * path) { - uint16_t len = strlen(path); + size_t len = strlen(path); if(len == 0) return path; len--; /*Go before the trailing '\0'*/ @@ -572,7 +572,7 @@ char * lv_fs_up(char * path) return path; } - uint16_t i; + size_t i; for(i = len; i > 0; i--) { if(path[i] == '/' || path[i] == '\\') break; } @@ -589,7 +589,7 @@ char * lv_fs_up(char * path) */ const char * lv_fs_get_last(const char * path) { - uint16_t len = strlen(path); + size_t len = strlen(path); if(len == 0) return path; len--; /*Go before the trailing '\0'*/ @@ -602,7 +602,7 @@ const char * lv_fs_get_last(const char * path) return path; } - uint16_t i; + size_t i; for(i = len; i > 0; i--) { if(path[i] == '/' || path[i] == '\\') break; } diff --git a/src/src/lv_misc/lv_ll.c b/src/src/lv_misc/lv_ll.c index 7077fff..9952665 100644 --- a/src/src/lv_misc/lv_ll.c +++ b/src/src/lv_misc/lv_ll.c @@ -335,14 +335,6 @@ uint32_t lv_ll_get_len(const lv_ll_t * ll_p) return len; } -void lv_ll_swap(lv_ll_t * ll_p, void * n1_p, void * n2_p) -{ - (void)(ll_p); - (void)(n1_p); - (void)(n2_p); - /*TODO*/ -} - /** * Move a nodw before an other node in the same linked list * @param ll_p pointer to a linked list diff --git a/src/src/lv_misc/lv_mem.c b/src/src/lv_misc/lv_mem.c index 116208e..461a240 100644 --- a/src/src/lv_misc/lv_mem.c +++ b/src/src/lv_misc/lv_mem.c @@ -59,8 +59,8 @@ typedef struct **********************/ #if LV_MEM_CUSTOM == 0 static lv_mem_ent_t * ent_get_next(lv_mem_ent_t * act_e); -static void * ent_alloc(lv_mem_ent_t * e, uint32_t size); -static void ent_trunc(lv_mem_ent_t * e, uint32_t size); +static void * ent_alloc(lv_mem_ent_t * e, size_t size); +static void ent_trunc(lv_mem_ent_t * e, size_t size); #endif /********************** @@ -107,7 +107,7 @@ void lv_mem_init(void) * @param size size of the memory to allocate in bytes * @return pointer to the allocated memory */ -void * lv_mem_alloc(uint32_t size) +void * lv_mem_alloc(size_t size) { if(size == 0) { return &zero_mem; @@ -222,7 +222,7 @@ void lv_mem_free(const void * data) #if LV_ENABLE_GC == 0 -void * lv_mem_realloc(void * data_p, uint32_t new_size) +void * lv_mem_realloc(void * data_p, size_t new_size) { /*data_p could be previously freed pointer (in this case it is invalid)*/ if(data_p != NULL) { @@ -407,7 +407,7 @@ static lv_mem_ent_t * ent_get_next(lv_mem_ent_t * act_e) * @param size size of the new memory in bytes * @return pointer to the allocated memory or NULL if not enough memory in the entry */ -static void * ent_alloc(lv_mem_ent_t * e, uint32_t size) +static void * ent_alloc(lv_mem_ent_t * e, size_t size) { void * alloc = NULL; @@ -430,7 +430,7 @@ static void * ent_alloc(lv_mem_ent_t * e, uint32_t size) * @param e Pointer to an entry * @param size new size in bytes */ -static void ent_trunc(lv_mem_ent_t * e, uint32_t size) +static void ent_trunc(lv_mem_ent_t * e, size_t size) { #ifdef LV_MEM_ENV64 /*Round the size up to 8*/ diff --git a/src/src/lv_misc/lv_mem.h b/src/src/lv_misc/lv_mem.h index 2353122..34ca3e9 100644 --- a/src/src/lv_misc/lv_mem.h +++ b/src/src/lv_misc/lv_mem.h @@ -22,21 +22,11 @@ extern "C" { #include #include #include "lv_log.h" +#include "lv_types.h" /********************* * DEFINES *********************/ -// Check windows -#ifdef __WIN64 -#define LV_MEM_ENV64 -#endif - -// Check GCC -#ifdef __GNUC__ -#if defined(__x86_64__) || defined(__ppc64__) -#define LV_MEM_ENV64 -#endif -#endif /********************** * TYPEDEFS @@ -70,7 +60,7 @@ void lv_mem_init(void); * @param size size of the memory to allocate in bytes * @return pointer to the allocated memory */ -void * lv_mem_alloc(uint32_t size); +void * lv_mem_alloc(size_t size); /** * Free an allocated data @@ -85,7 +75,7 @@ void lv_mem_free(const void * data); * @param new_size the desired new size in byte * @return pointer to the new memory */ -void * lv_mem_realloc(void * data_p, uint32_t new_size); +void * lv_mem_realloc(void * data_p, size_t new_size); /** * Join the adjacent free memory blocks diff --git a/src/src/lv_misc/lv_txt.c b/src/src/lv_misc/lv_txt.c index 9255223..929fb75 100644 --- a/src/src/lv_misc/lv_txt.c +++ b/src/src/lv_misc/lv_txt.c @@ -303,9 +303,9 @@ uint16_t lv_txt_get_next_line(const char * txt, const lv_font_t * font, i += advance; - if(txt[0] == '\n') break; + if(txt[0] == '\n' || txt[0] == '\r') break; - if(txt[i] == '\n'){ + if(txt[i] == '\n' || txt[i] == '\r'){ i++; /* Include the following newline in the current line */ break; } @@ -416,13 +416,13 @@ bool lv_txt_is_cmd(lv_txt_cmd_state_t * state, uint32_t c) */ void lv_txt_ins(char * txt_buf, uint32_t pos, const char * ins_txt) { - uint32_t old_len = strlen(txt_buf); - uint32_t ins_len = strlen(ins_txt); - uint32_t new_len = ins_len + old_len; + size_t old_len = strlen(txt_buf); + size_t ins_len = strlen(ins_txt); + size_t new_len = ins_len + old_len; pos = lv_txt_encoded_get_byte_id(txt_buf, pos); /*Convert to byte index instead of letter index*/ /*Copy the second part into the end to make place to text to insert*/ - uint32_t i; + size_t i; for(i = new_len; i >= pos + ins_len; i--) { txt_buf[i] = txt_buf[i - ins_len]; } @@ -441,7 +441,7 @@ void lv_txt_ins(char * txt_buf, uint32_t pos, const char * ins_txt) void lv_txt_cut(char * txt, uint32_t pos, uint32_t len) { - uint32_t old_len = strlen(txt); + size_t old_len = strlen(txt); pos = lv_txt_encoded_get_byte_id(txt, pos); /*Convert to byte index instead of letter index*/ len = lv_txt_encoded_get_byte_id(&txt[pos], len); diff --git a/src/src/lv_misc/lv_types.h b/src/src/lv_misc/lv_types.h index 89f04aa..c588e24 100644 --- a/src/src/lv_misc/lv_types.h +++ b/src/src/lv_misc/lv_types.h @@ -17,6 +17,17 @@ extern "C" { /********************* * DEFINES *********************/ +// Check windows +#ifdef __WIN64 +#define LV_ARCH_64 +#endif + +// Check GCC +#ifdef __GNUC__ +#if defined(__x86_64__) || defined(__ppc64__) +#define LV_ARCH_64 +#endif +#endif /********************** * TYPEDEFS @@ -32,7 +43,11 @@ enum { }; typedef uint8_t lv_res_t; -typedef unsigned long int lv_uintptr_t; +#ifdef LV_ARCH_64 +typedef uint64_t lv_uintptr_t; +#else +typedef uint32_t lv_uintptr_t; +#endif /********************** * GLOBAL PROTOTYPES diff --git a/src/src/lv_objx/lv_btn.c b/src/src/lv_objx/lv_btn.c index fa7880e..4cfe952 100644 --- a/src/src/lv_objx/lv_btn.c +++ b/src/src/lv_objx/lv_btn.c @@ -138,7 +138,7 @@ lv_obj_t * lv_btn_create(lv_obj_t * par, const lv_obj_t * copy) ext->ink_wait_time = copy_ext->ink_wait_time; ext->ink_out_time = copy_ext->ink_out_time; #endif - memcpy(ext->styles, copy_ext->styles, sizeof(ext->styles)); + memcpy((void*) ext->styles, copy_ext->styles, sizeof(ext->styles)); /*Refresh the style with new signal function*/ lv_obj_refresh_style(new_btn); diff --git a/src/src/lv_objx/lv_btnm.c b/src/src/lv_objx/lv_btnm.c index 3286900..b54436d 100644 --- a/src/src/lv_objx/lv_btnm.c +++ b/src/src/lv_objx/lv_btnm.c @@ -122,7 +122,7 @@ lv_obj_t * lv_btnm_create(lv_obj_t * par, const lv_obj_t * copy) /*Copy an existing object*/ else { lv_btnm_ext_t * copy_ext = lv_obj_get_ext_attr(copy); - memcpy(ext->styles_btn, copy_ext->styles_btn, sizeof(ext->styles_btn)); + memcpy((void*)ext->styles_btn, copy_ext->styles_btn, sizeof(ext->styles_btn)); lv_btnm_set_map(new_btnm, lv_btnm_get_map_array(copy)); } diff --git a/src/src/lv_objx/lv_calendar.c b/src/src/lv_objx/lv_calendar.c index 8e4ceb5..53f32a2 100644 --- a/src/src/lv_objx/lv_calendar.c +++ b/src/src/lv_objx/lv_calendar.c @@ -700,7 +700,7 @@ static void draw_header(lv_obj_t * calendar, const lv_area_t * mask) /*Add the right arrow*/ arrow_style = ext->btn_pressing > 0 ? ext->style_header_pr : ext->style_header; header_area.x1 = header_area.x2 - ext->style_header->body.padding.right - - lv_txt_get_width(LV_SYMBOL_RIGHT, strlen(LV_SYMBOL_RIGHT), arrow_style->text.font, + lv_txt_get_width(LV_SYMBOL_RIGHT, (uint16_t)strlen(LV_SYMBOL_RIGHT), arrow_style->text.font, arrow_style->text.line_space, LV_TXT_FLAG_NONE); lv_draw_label(&header_area, mask, arrow_style, opa_scale, LV_SYMBOL_RIGHT, LV_TXT_FLAG_NONE, NULL, NULL, NULL, bidi_dir); } diff --git a/src/src/lv_objx/lv_calendar.h b/src/src/lv_objx/lv_calendar.h index 8d6c57f..21317bb 100644 --- a/src/src/lv_objx/lv_calendar.h +++ b/src/src/lv_objx/lv_calendar.h @@ -50,8 +50,8 @@ typedef struct lv_calendar_date_t showed_date; /*Currently visible month (day is ignored)*/ lv_calendar_date_t * highlighted_dates; /*Apply different style on these days (pointer to an array defined by the user)*/ - uint8_t highlighted_dates_num; /*Number of elements in `highlighted_days`*/ int8_t btn_pressing; /*-1: prev month pressing, +1 next month pressing on the header*/ + uint16_t highlighted_dates_num; /*Number of elements in `highlighted_days`*/ lv_calendar_date_t pressed_date; const char ** day_names; /*Pointer to an array with the name of the days (NULL: use default names)*/ const char ** month_names; /*Pointer to an array with the name of the month (NULL. use default names)*/ diff --git a/src/src/lv_objx/lv_canvas.c b/src/src/lv_objx/lv_canvas.c index 58cd65c..8d2275a 100644 --- a/src/src/lv_objx/lv_canvas.c +++ b/src/src/lv_objx/lv_canvas.c @@ -254,7 +254,7 @@ void lv_canvas_copy_buf(lv_obj_t * canvas, const void * to_copy, lv_coord_t x, l LV_ASSERT_NULL(to_copy); lv_canvas_ext_t * ext = lv_obj_get_ext_attr(canvas); - if(x + w >= ext->dsc.header.w || y + h >= ext->dsc.header.h) { + if(x + w >= (lv_coord_t)ext->dsc.header.w || y + h >= (lv_coord_t)ext->dsc.header.h) { LV_LOG_WARN("lv_canvas_copy_buf: x or y out of the canvas"); return; } diff --git a/src/src/lv_objx/lv_cpicker.c b/src/src/lv_objx/lv_cpicker.c index 2371cd0..fa574bf 100644 --- a/src/src/lv_objx/lv_cpicker.c +++ b/src/src/lv_objx/lv_cpicker.c @@ -889,7 +889,7 @@ static lv_res_t lv_cpicker_signal(lv_obj_t * cpicker, lv_signal_t sign, void * p if(ext->type == LV_CPICKER_TYPE_RECT) { /*If pressed long enough without change go to next color mode*/ uint32_t diff = lv_tick_elaps(ext->last_change_time); - if(diff > indev->driver.long_press_time * 2 && !ext->color_mode_fixed) { + if(diff > (uint32_t)indev->driver.long_press_time * 2 && !ext->color_mode_fixed) { next_color_mode(cpicker); lv_indev_wait_release(lv_indev_get_act()); return res; diff --git a/src/src/lv_objx/lv_ddlist.c b/src/src/lv_objx/lv_ddlist.c index a0100a7..27855d6 100644 --- a/src/src/lv_objx/lv_ddlist.c +++ b/src/src/lv_objx/lv_ddlist.c @@ -388,7 +388,7 @@ void lv_ddlist_get_selected_str(const lv_obj_t * ddlist, char * buf, uint16_t bu uint16_t i; uint16_t line = 0; const char * opt_txt = lv_label_get_text(ext->label); - uint16_t txt_len = strlen(opt_txt); + size_t txt_len = strlen(opt_txt); for(i = 0; i < txt_len && line != ext->sel_opt_id; i++) { if(opt_txt[i] == '\n') line++; @@ -626,7 +626,7 @@ static bool lv_ddlist_design(lv_obj_t * ddlist, const lv_area_t * mask, lv_desig new_style.text.color = sel_style->text.color; new_style.text.opa = sel_style->text.opa; lv_area_t area_arrow; - lv_coord_t arrow_width = lv_txt_get_width(LV_SYMBOL_DOWN, strlen(LV_SYMBOL_DOWN), sel_style->text.font, 0, 0); + lv_coord_t arrow_width = lv_txt_get_width(LV_SYMBOL_DOWN, (uint16_t)strlen(LV_SYMBOL_DOWN), sel_style->text.font, 0, 0); if(lv_label_get_align(ext->label) != LV_LABEL_ALIGN_RIGHT) { area_arrow.x2 = ddlist->coords.x2 - style->body.padding.right; area_arrow.x1 = area_arrow.x2 - arrow_width; diff --git a/src/src/lv_objx/lv_imgbtn.c b/src/src/lv_objx/lv_imgbtn.c index 69f97f4..522df30 100644 --- a/src/src/lv_objx/lv_imgbtn.c +++ b/src/src/lv_objx/lv_imgbtn.c @@ -68,7 +68,7 @@ lv_obj_t * lv_imgbtn_create(lv_obj_t * par, const lv_obj_t * copy) /*Initialize the allocated 'ext' */ #if LV_IMGBTN_TILED == 0 - memset(ext->img_src, 0, sizeof(ext->img_src)); + memset((void*)ext->img_src, 0, sizeof(ext->img_src)); #else memset(ext->img_src_left, 0, sizeof(ext->img_src_left)); memset(ext->img_src_mid, 0, sizeof(ext->img_src_mid)); @@ -89,11 +89,11 @@ lv_obj_t * lv_imgbtn_create(lv_obj_t * par, const lv_obj_t * copy) else { lv_imgbtn_ext_t * copy_ext = lv_obj_get_ext_attr(copy); #if LV_IMGBTN_TILED == 0 - memcpy(ext->img_src, copy_ext->img_src, sizeof(ext->img_src)); + memcpy((void*)ext->img_src, copy_ext->img_src, sizeof(ext->img_src)); #else - memcpy(ext->img_src_left, copy_ext->img_src_left, sizeof(ext->img_src_left)); - memcpy(ext->img_src_mid, copy_ext->img_src_mid, sizeof(ext->img_src_mid)); - memcpy(ext->img_src_right, copy_ext->img_src_right, sizeof(ext->img_src_right)); + memcpy((void*)ext->img_src_left, copy_ext->img_src_left, sizeof(ext->img_src_left)); + memcpy((void*)ext->img_src_mid, copy_ext->img_src_mid, sizeof(ext->img_src_mid)); + memcpy((void*)ext->img_src_right, copy_ext->img_src_right, sizeof(ext->img_src_right)); #endif /*Refresh the style with new signal function*/ lv_obj_refresh_style(new_imgbtn); @@ -413,7 +413,7 @@ static void refr_img(lv_obj_t * imgbtn) if(lv_img_src_get_type(src) == LV_IMG_SRC_SYMBOL) { const lv_style_t * style = ext->btn.styles[state]; header.h = lv_font_get_line_height(style->text.font); - header.w = lv_txt_get_width(src, strlen(src), style->text.font, style->text.letter_space, LV_TXT_FLAG_NONE); + header.w = lv_txt_get_width(src, (uint16_t)strlen(src), style->text.font, style->text.letter_space, LV_TXT_FLAG_NONE); header.always_zero = 0; header.cf = LV_IMG_CF_ALPHA_1BIT; } else { diff --git a/src/src/lv_objx/lv_label.c b/src/src/lv_objx/lv_label.c index 9d70720..aa677b0 100644 --- a/src/src/lv_objx/lv_label.c +++ b/src/src/lv_objx/lv_label.c @@ -146,7 +146,7 @@ lv_obj_t * lv_label_create(lv_obj_t * par, const lv_obj_t * copy) } if(copy_ext->dot_tmp_alloc && copy_ext->dot.tmp_ptr) { - int len = strlen(copy_ext->dot.tmp_ptr); + uint16_t len = (uint16_t )strlen(copy_ext->dot.tmp_ptr); lv_label_set_dot_tmp(new_label, ext->dot.tmp_ptr, len); } else { memcpy(ext->dot.tmp, copy_ext->dot.tmp, sizeof(ext->dot.tmp)); @@ -195,7 +195,7 @@ void lv_label_set_text(lv_obj_t * label, const char * text) if(ext->text == NULL) return; } else { /*Allocate space for the new text*/ - uint32_t len = strlen(text) + 1; + size_t len = strlen(text) + 1; if(ext->text != NULL && ext->static_txt == 0) { lv_mem_free(ext->text); ext->text = NULL; @@ -947,9 +947,9 @@ void lv_label_ins_text(lv_obj_t * label, uint32_t pos, const char * txt) lv_obj_invalidate(label); /*Allocate space for the new text*/ - uint32_t old_len = strlen(ext->text); - uint32_t ins_len = strlen(txt); - uint32_t new_len = ins_len + old_len; + size_t old_len = strlen(ext->text); + size_t ins_len = strlen(txt); + size_t new_len = ins_len + old_len; ext->text = lv_mem_realloc(ext->text, new_len + 1); LV_ASSERT_MEM(ext->text); if(ext->text == NULL) return; diff --git a/src/src/lv_objx/lv_list.c b/src/src/lv_objx/lv_list.c index 2732428..cf18e73 100644 --- a/src/src/lv_objx/lv_list.c +++ b/src/src/lv_objx/lv_list.c @@ -319,7 +319,7 @@ void lv_list_set_btn_selected(lv_obj_t * list, lv_obj_t * btn) else if(s == LV_BTN_STATE_TGL_REL) lv_btn_set_state(ext->selected_btn, LV_BTN_STATE_TGL_PR); - lv_page_focus(list, ext->selected_btn, lv_list_get_anim_time(list)); + lv_page_focus(list, ext->selected_btn, LV_ANIM_ON); } } diff --git a/src/src/lv_objx/lv_lmeter.c b/src/src/lv_objx/lv_lmeter.c index 5843a7d..d1f2101 100644 --- a/src/src/lv_objx/lv_lmeter.c +++ b/src/src/lv_objx/lv_lmeter.c @@ -165,7 +165,7 @@ void lv_lmeter_set_range(lv_obj_t * lmeter, int16_t min, int16_t max) * @param angle angle of the scale (0..360) * @param line_cnt number of lines */ -void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt) +void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint16_t line_cnt) { LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); @@ -241,7 +241,7 @@ int16_t lv_lmeter_get_max_value(const lv_obj_t * lmeter) * @param lmeter pointer to a line meter object * @return number of the scale units */ -uint8_t lv_lmeter_get_line_count(const lv_obj_t * lmeter) +uint16_t lv_lmeter_get_line_count(const lv_obj_t * lmeter) { LV_ASSERT_OBJ(lmeter, LV_OBJX_NAME); diff --git a/src/src/lv_objx/lv_lmeter.h b/src/src/lv_objx/lv_lmeter.h index bc098e1..6deac8c 100644 --- a/src/src/lv_objx/lv_lmeter.h +++ b/src/src/lv_objx/lv_lmeter.h @@ -37,7 +37,7 @@ typedef struct /*New data for this type */ uint16_t scale_angle; /*Angle of the scale in deg. (0..360)*/ uint16_t angle_ofs; - uint8_t line_cnt; /*Count of lines */ + uint16_t line_cnt; /*Count of lines */ int16_t cur_value; int16_t min_value; int16_t max_value; @@ -87,7 +87,7 @@ void lv_lmeter_set_range(lv_obj_t * lmeter, int16_t min, int16_t max); * @param angle angle of the scale (0..360) * @param line_cnt number of lines */ -void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt); +void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint16_t line_cnt); /** * Set the set an offset for the line meter's angles to rotate it. @@ -138,7 +138,7 @@ int16_t lv_lmeter_get_max_value(const lv_obj_t * lmeter); * @param lmeter pointer to a line meter object * @return number of the scale units */ -uint8_t lv_lmeter_get_line_count(const lv_obj_t * lmeter); +uint16_t lv_lmeter_get_line_count(const lv_obj_t * lmeter); /** * Get the scale angle of a line meter diff --git a/src/src/lv_objx/lv_roller.c b/src/src/lv_objx/lv_roller.c index 2798a7f..558610c 100644 --- a/src/src/lv_objx/lv_roller.c +++ b/src/src/lv_objx/lv_roller.c @@ -154,7 +154,7 @@ void lv_roller_set_options(lv_obj_t * roller, const char * options, lv_roller_mo } else { ext->mode = LV_ROLLER_MODE_INIFINITE; - uint32_t opt_len = strlen(options) + 1; /*+1 to add '\n' after option lists*/ + size_t opt_len = strlen(options) + 1; /*+1 to add '\n' after option lists*/ char * opt_extra = lv_mem_alloc(opt_len * LV_ROLLER_INF_PAGES); uint8_t i; for(i = 0; i < LV_ROLLER_INF_PAGES; i++) { diff --git a/src/src/lv_objx/lv_spinbox.c b/src/src/lv_objx/lv_spinbox.c index bd46b99..42c229c 100644 --- a/src/src/lv_objx/lv_spinbox.c +++ b/src/src/lv_objx/lv_spinbox.c @@ -97,7 +97,7 @@ lv_obj_t * lv_spinbox_create(lv_obj_t * par, const lv_obj_t * copy) lv_spinbox_ext_t * copy_ext = lv_obj_get_ext_attr(copy); lv_spinbox_set_value(new_spinbox, copy_ext->value); - lv_spinbox_set_digit_format(new_spinbox, copy_ext->digit_count, copy_ext->dec_point_pos); + lv_spinbox_set_digit_format(new_spinbox, (uint8_t)copy_ext->digit_count, (uint8_t)copy_ext->dec_point_pos); lv_spinbox_set_range(new_spinbox, copy_ext->range_min, copy_ext->range_max); lv_spinbox_set_step(new_spinbox, copy_ext->step); @@ -330,8 +330,6 @@ void lv_spinbox_decrement(lv_obj_t * spinbox) static lv_res_t lv_spinbox_signal(lv_obj_t * spinbox, lv_signal_t sign, void * param) { - lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); - lv_res_t res = LV_RES_OK; /* Include the ancient signal function */ @@ -341,6 +339,8 @@ static lv_res_t lv_spinbox_signal(lv_obj_t * spinbox, lv_signal_t sign, void * p } if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); + + lv_spinbox_ext_t * ext = lv_obj_get_ext_attr(spinbox); if(sign == LV_SIGNAL_CLEANUP) { /*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/ } else if(sign == LV_SIGNAL_GET_TYPE) { @@ -412,7 +412,7 @@ static void lv_spinbox_updatevalue(lv_obj_t * spinbox) buf_p++; } - int i; + int32_t i; /*padding left*/ for(i = 0; i < ext->digit_padding_left; i++) { (*buf_p) = ' '; @@ -426,7 +426,7 @@ static void lv_spinbox_updatevalue(lv_obj_t * spinbox) /*Add leading zeros*/ int lz_cnt = ext->digit_count - (int)strlen(digits); if(lz_cnt > 0) { - for(i = strlen(digits); i >= 0; i--) { + for(i = (uint16_t)strlen(digits); i >= 0; i--) { digits[i + lz_cnt] = digits[i]; } for(i = 0; i < lz_cnt; i++) { @@ -459,7 +459,7 @@ static void lv_spinbox_updatevalue(lv_obj_t * spinbox) /*Set the cursor position*/ int32_t step = ext->step; - uint8_t cur_pos = ext->digit_count; + uint8_t cur_pos = (uint8_t)ext->digit_count; while(step >= 10) { step /= 10; cur_pos--; diff --git a/src/src/lv_objx/lv_ta.c b/src/src/lv_objx/lv_ta.c index 0b57fc8..b79f2ae 100644 --- a/src/src/lv_objx/lv_ta.c +++ b/src/src/lv_objx/lv_ta.c @@ -689,7 +689,7 @@ void lv_ta_set_pwd_mode(lv_obj_t * ta, bool en) /*Pwd mode is now enabled*/ if(ext->pwd_mode == 0 && en != false) { char * txt = lv_label_get_text(ext->label); - uint16_t len = strlen(txt); + size_t len = strlen(txt); ext->pwd_tmp = lv_mem_alloc(len + 1); LV_ASSERT_MEM(ext->pwd_tmp); if(ext->pwd_tmp == NULL) return; @@ -1707,7 +1707,6 @@ static void get_cursor_style(lv_obj_t * ta, lv_style_t * style_res) style_res->body.padding.top = 0; style_res->body.padding.bottom = 0; style_res->line.width = 1; - style_res->body.opa = LV_OPA_COVER; } } diff --git a/src/src/lv_objx/lv_table.c b/src/src/lv_objx/lv_table.c index 79cdc77..1410cc3 100644 --- a/src/src/lv_objx/lv_table.c +++ b/src/src/lv_objx/lv_table.c @@ -650,7 +650,6 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ lv_table_ext_t * ext = lv_obj_get_ext_attr(table); const lv_style_t * bg_style = lv_obj_get_style(table); - const lv_style_t * cell_style; lv_coord_t h_row; lv_point_t txt_size; lv_area_t cell_area; @@ -666,8 +665,8 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ for(row = 0; row < ext->row_cnt; row++) { h_row = get_row_height(table, row); - cell_area.y1 = cell_area.y2; - cell_area.y2 = cell_area.y1 + h_row; + cell_area.y1 = cell_area.y2 + 1; + cell_area.y2 = cell_area.y1 + h_row - 1; cell_area.x2 = table->coords.x1 + bg_style->body.padding.left; @@ -683,9 +682,11 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ format.s.crop = 1; } - cell_style = ext->cell_style[format.s.type]; - cell_area.x1 = cell_area.x2; - cell_area.x2 = cell_area.x1 + ext->col_w[col]; + + lv_style_t cell_style; + lv_style_copy(&cell_style, ext->cell_style[format.s.type]); + cell_area.x1 = cell_area.x2 + 1; + cell_area.x2 = cell_area.x1 + ext->col_w[col] - 1; uint16_t col_merge = 0; for(col_merge = 0; col_merge + col < ext->col_cnt - 1; col_merge++) { @@ -701,14 +702,14 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ } } - lv_draw_rect(&cell_area, mask, cell_style, opa_scale); + lv_draw_rect(&cell_area, mask, &cell_style, opa_scale); if(ext->cell_data[cell]) { - txt_area.x1 = cell_area.x1 + cell_style->body.padding.left; - txt_area.x2 = cell_area.x2 - cell_style->body.padding.right; - txt_area.y1 = cell_area.y1 + cell_style->body.padding.top; - txt_area.y2 = cell_area.y2 - cell_style->body.padding.bottom; + txt_area.x1 = cell_area.x1 + cell_style.body.padding.left; + txt_area.x2 = cell_area.x2 - cell_style.body.padding.right; + txt_area.y1 = cell_area.y1 + cell_style.body.padding.top; + txt_area.y2 = cell_area.y2 - cell_style.body.padding.bottom; /*Align the content to the middle if not cropped*/ if(format.s.crop == 0) { txt_flags = LV_TXT_FLAG_NONE; @@ -716,8 +717,8 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ txt_flags = LV_TXT_FLAG_EXPAND; } - lv_txt_get_size(&txt_size, ext->cell_data[cell] + 1, cell_style->text.font, - cell_style->text.letter_space, cell_style->text.line_space, + lv_txt_get_size(&txt_size, ext->cell_data[cell] + 1, cell_style.text.font, + cell_style.text.letter_space, cell_style.text.line_space, lv_area_get_width(&txt_area), txt_flags); /*Align the content to the middle if not cropped*/ @@ -737,7 +738,7 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ bool label_mask_ok; label_mask_ok = lv_area_intersect(&label_mask, mask, &cell_area); if(label_mask_ok) { - lv_draw_label(&txt_area, &label_mask, cell_style, opa_scale, ext->cell_data[cell] + 1, + lv_draw_label(&txt_area, &label_mask, &cell_style, opa_scale, ext->cell_data[cell] + 1, txt_flags, NULL, NULL, NULL, lv_obj_get_base_dir(table)); } /*Draw lines after '\n's*/ @@ -749,13 +750,13 @@ static bool lv_table_design(lv_obj_t * table, const lv_area_t * mask, lv_design_ for(i = 1; ext->cell_data[cell][i] != '\0'; i++) { if(ext->cell_data[cell][i] == '\n') { ext->cell_data[cell][i] = '\0'; - lv_txt_get_size(&txt_size, ext->cell_data[cell] + 1, cell_style->text.font, - cell_style->text.letter_space, cell_style->text.line_space, + lv_txt_get_size(&txt_size, ext->cell_data[cell] + 1, cell_style.text.font, + cell_style.text.letter_space, cell_style.text.line_space, lv_area_get_width(&txt_area), txt_flags); - p1.y = txt_area.y1 + txt_size.y + cell_style->text.line_space / 2; - p2.y = txt_area.y1 + txt_size.y + cell_style->text.line_space / 2; - lv_draw_line(&p1, &p2, mask, cell_style, opa_scale); + p1.y = txt_area.y1 + txt_size.y + cell_style.text.line_space / 2; + p2.y = txt_area.y1 + txt_size.y + cell_style.text.line_space / 2; + lv_draw_line(&p1, &p2, mask, &cell_style, opa_scale); ext->cell_data[cell][i] = '\n'; } diff --git a/src/src/lv_objx/lv_tabview.c b/src/src/lv_objx/lv_tabview.c index 8f323fa..79727b1 100644 --- a/src/src/lv_objx/lv_tabview.c +++ b/src/src/lv_objx/lv_tabview.c @@ -242,11 +242,11 @@ lv_obj_t * lv_tabview_add_tab(lv_obj_t * tabview, const char * name) switch(ext->btns_pos) { case LV_TABVIEW_BTNS_POS_TOP: case LV_TABVIEW_BTNS_POS_BOTTOM: - ext->tab_name_ptr = lv_mem_realloc(ext->tab_name_ptr, sizeof(char *) * (ext->tab_cnt + 1)); + ext->tab_name_ptr = lv_mem_realloc((void*)ext->tab_name_ptr, sizeof(char *) * (ext->tab_cnt + 1)); break; case LV_TABVIEW_BTNS_POS_LEFT: case LV_TABVIEW_BTNS_POS_RIGHT: - ext->tab_name_ptr = lv_mem_realloc(ext->tab_name_ptr, sizeof(char *) * (ext->tab_cnt * 2)); + ext->tab_name_ptr = lv_mem_realloc((void*)ext->tab_name_ptr, sizeof(char *) * (ext->tab_cnt * 2)); break; } diff --git a/src/src/lv_objx/lv_tileview.c b/src/src/lv_objx/lv_tileview.c index 7913c99..184bcbd 100644 --- a/src/src/lv_objx/lv_tileview.c +++ b/src/src/lv_objx/lv_tileview.c @@ -183,7 +183,7 @@ void lv_tileview_set_valid_positions(lv_obj_t * tileview, const lv_point_t valid /*If valid pos. is selected do nothing*/ uint16_t i; for(i = 0; i < valid_pos_cnt; i++) { - if(valid_pos->x == ext->act_id.x && valid_pos->y == ext->act_id.y) { + if(valid_pos[i].x == ext->act_id.x && valid_pos[i].y == ext->act_id.y) { return; } } @@ -358,6 +358,7 @@ static lv_res_t lv_tileview_scrl_signal(lv_obj_t * scrl, lv_signal_t sign, void /* Include the ancient signal function */ res = ancestor_scrl_signal(scrl, sign, param); if(res != LV_RES_OK) return res; + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, ""); lv_obj_t * tileview = lv_obj_get_parent(scrl); const lv_style_t * style_bg = lv_tileview_get_style(tileview, LV_TILEVIEW_STYLE_MAIN); diff --git a/src/src/lv_version.h b/src/src/lv_version.h index 7a5a757..886966f 100644 --- a/src/src/lv_version.h +++ b/src/src/lv_version.h @@ -16,7 +16,7 @@ extern "C" { /*Current version of LittlevGL*/ #define LVGL_VERSION_MAJOR 6 #define LVGL_VERSION_MINOR 1 -#define LVGL_VERSION_PATCH 0 +#define LVGL_VERSION_PATCH 1 #define LVGL_VERSION_INFO ""