From d8ba1e1b74a6e3bf1ed92e4bd89e2c9d7f1550bb Mon Sep 17 00:00:00 2001 From: Gary Guo Date: Mon, 27 May 2024 15:48:55 +0100 Subject: [PATCH] Introduce LCD drivers and example program --- .gitmodules | 3 + cheriot-rtos | 2 +- compartments/lcd_test.cc | 29 ++ compartments/lowrisc_logo.h | 893 ++++++++++++++++++++++++++++++++++++ display_drivers | 1 + library/lcd.hh | 249 ++++++++++ xmake.lua | 24 +- 7 files changed, 1198 insertions(+), 3 deletions(-) create mode 100644 compartments/lcd_test.cc create mode 100644 compartments/lowrisc_logo.h create mode 160000 display_drivers create mode 100644 library/lcd.hh diff --git a/.gitmodules b/.gitmodules index 78a6b77..b4abde1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,3 +2,6 @@ path = cheriot-rtos url = https://github.com/lowrisc/cheriot-rtos branch = sonata +[submodule "display_drivers"] + path = display_drivers + url = https://github.com/engdoreis/display_drivers.git diff --git a/cheriot-rtos b/cheriot-rtos index ecf7fad..82ce031 160000 --- a/cheriot-rtos +++ b/cheriot-rtos @@ -1 +1 @@ -Subproject commit ecf7fad087e37ca11e89cbce91f1edb6322d23f4 +Subproject commit 82ce031409217918d20dcb0617f2785b48bd0f1f diff --git a/compartments/lcd_test.cc b/compartments/lcd_test.cc new file mode 100644 index 0000000..271467c --- /dev/null +++ b/compartments/lcd_test.cc @@ -0,0 +1,29 @@ +// Copyright lowRISC Contributors. +// SPDX-License-Identifier: Apache-2.0 + +#include +#include + +#include "../library/lcd.hh" +#include "lowrisc_logo.h" + +/// Thread entry point. +void __cheri_compartment("lcd_test") lcd_test() +{ + using namespace sonata::lcd; + + auto lcd = SonataLCD(); + auto screen = Rect::from_point_and_size(Point::ORIGIN, lcd.resolution()); + auto logo_rect = screen.centered_subrect({105, 80}); + lcd.draw_image_rgb565(logo_rect, lowrisc_logo_105x80); + lcd.draw_str({1, 1}, + "Hello world!", + sonata::lcd::font::m3x6_16pt, + Color::White, + Color::Black); + + while (true) + { + thread_millisecond_wait(500); + } +} diff --git a/compartments/lowrisc_logo.h b/compartments/lowrisc_logo.h new file mode 100644 index 0000000..5a4be1e --- /dev/null +++ b/compartments/lowrisc_logo.h @@ -0,0 +1,893 @@ +// Copyright lowRISC contributors. +// Licensed under the Apache License, Version 2.0, see LICENSE for details. +// SPDX-License-Identifier: Apache-2.0 + +#include + +static uint8_t __attribute__((aligned(4))) lowrisc_logo_105x80[] = { + 0x9e, 0xf7, 0xbe, 0xf7, 0xbe, 0xf7, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xdf, 0xff, 0xbf, 0xff, 0xbe, 0xf7, 0x9e, + 0xf7, 0x9e, 0xf7, 0xbe, 0xf7, 0xbf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xbf, 0xff, + 0xbe, 0xf7, 0x9e, 0xf7, 0xbf, 0xff, 0xbf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xdf, 0xff, 0xbf, + 0xff, 0xbe, 0xf7, 0xbe, 0xf7, 0xbf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xdf, 0xff, + 0xdf, 0xff, 0xbf, 0xff, 0xbe, 0xf7, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x5d, 0xff, 0x9b, 0xfe, 0xf8, 0xfd, 0x36, 0xf5, 0xb4, 0xf4, 0x73, 0xf4, 0x32, 0xf4, 0x53, 0xf4, 0x93, 0xf4, + 0x15, 0xf5, 0xb7, 0xfd, 0x7a, 0xfe, 0x1c, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, + 0xff, 0xdf, 0xff, 0xbf, 0xff, 0xbf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xff, 0xf8, 0xfd, + 0xd1, 0xeb, 0xad, 0xea, 0x4c, 0xe2, 0x0b, 0xe2, 0xea, 0xe1, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, + 0xe1, 0xea, 0xe1, 0x0b, 0xe2, 0x2b, 0xe2, 0x8d, 0xea, 0x6f, 0xeb, 0x36, 0xf5, 0xfc, 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, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, + 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xbf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xbb, 0xfe, 0xb4, 0xf4, 0xee, 0xea, 0xea, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x8c, 0xea, 0x12, 0xf4, 0x39, + 0xfe, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xff, 0x93, 0xf4, 0x8c, 0xea, 0xea, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xea, 0xe1, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0x2b, 0xe2, 0xb0, 0xeb, 0x7a, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 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, 0xd8, 0xfd, 0xcd, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x2f, 0xeb, 0xf5, 0xf4, 0x97, 0xfd, 0x36, 0xf5, 0x90, 0xeb, 0x2b, + 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0x4c, 0xe2, 0xd4, 0xf4, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 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, 0xdf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xff, 0x32, 0xf4, 0x0b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0x15, 0xf5, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, + 0xb8, 0xfd, 0x8c, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x70, 0xeb, 0xbb, 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, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 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, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x3d, 0xff, 0x2f, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x53, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x56, 0xf5, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x4c, 0xe2, 0x19, 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, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x5d, 0xff, 0x0e, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0xdc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x5d, 0xff, 0xcd, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xea, 0xd8, + 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1c, 0xff, 0xad, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xcd, 0xea, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xf1, 0xf3, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0x4b, 0xe2, 0xf9, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x9e, 0xff, 0x90, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xee, 0xea, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x12, 0xf4, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xcd, 0xea, 0xbb, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x93, 0xf4, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xff, 0x0e, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x4f, 0xeb, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd8, 0xfd, 0x0b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0x0e, 0xeb, 0x73, 0xf4, 0xd4, 0xf4, 0x12, 0xf4, 0x8d, 0xea, 0xea, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xf5, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xfd, 0x2b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x73, 0xf4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x5d, 0xff, 0x2f, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0x15, 0xf5, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x1c, 0xff, + 0x32, 0xf4, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xe2, 0xf8, 0xfd, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x7a, 0xfe, 0xed, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xe2, 0x9a, 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, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x15, 0xf5, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0x36, 0xf5, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x5d, 0xff, 0xb0, 0xf3, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0x12, 0xf4, + 0xf8, 0xfd, 0xff, 0xff, 0x9a, 0xfe, 0x73, 0xf4, 0x6c, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x6f, 0xeb, 0x9e, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x3d, 0xff, 0xad, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x0b, 0xe2, 0x0b, 0xe2, 0x0b, 0xe2, 0x0b, + 0xe2, 0x0b, 0xe2, 0x0b, 0xe2, 0x4f, 0xeb, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xbb, 0xfe, 0x4c, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0x6c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xb7, 0xfd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf5, 0xf4, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xcd, 0xea, 0xf5, 0xf4, 0x56, 0xf5, 0x56, 0xf5, 0x56, 0xf5, + 0x56, 0xf5, 0x56, 0xf5, 0x56, 0xf5, 0x5a, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x0e, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0x6c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xd1, 0xeb, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x9e, 0xff, 0x2f, 0xeb, 0xca, 0xe1, 0xea, 0xe1, 0xee, 0xea, 0x7a, 0xfe, 0xdf, 0xff, 0x5d, 0xff, 0x5d, 0xff, 0x5d, + 0xff, 0x5d, 0xff, 0x5d, 0xff, 0x5d, 0xff, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4f, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0x6c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x8c, + 0xea, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x9b, 0xfe, 0x6c, 0xe2, 0xca, 0xe1, 0x0e, 0xeb, 0xdb, 0xfe, 0x7e, 0xff, 0x52, 0xf4, 0xcd, 0xea, 0xad, 0xea, + 0xad, 0xea, 0xad, 0xea, 0xad, 0xea, 0xad, 0xea, 0x73, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xff, 0xcd, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xea, 0xe1, 0x15, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x56, 0xf5, 0x0b, 0xe2, 0x0e, 0xeb, 0x9a, 0xfe, 0x9e, 0xff, 0x53, 0xf4, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xad, 0xea, 0xdc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x35, 0xf5, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xea, 0xe1, 0xf1, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xd1, 0xeb, 0x2e, 0xeb, 0xbb, 0xfe, 0x5d, 0xff, 0x32, 0xf4, 0xeb, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x70, 0xeb, 0xfc, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfd, 0x4b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0x6f, 0xeb, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x5d, 0xff, 0xb0, 0xeb, 0xbb, 0xfe, 0x7e, 0xff, 0x32, 0xf4, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x4f, 0xeb, 0xd8, 0xfd, + 0x1c, 0xff, 0x5d, 0xff, 0xbb, 0xfe, 0xf5, 0xf4, 0x8c, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, + 0xe1, 0x4f, 0xeb, 0xdb, 0xfe, 0x7e, 0xff, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x9e, 0xff, 0xdb, 0xfe, 0x5d, 0xff, 0x32, 0xf4, 0x0b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, + 0xe2, 0x8c, 0xea, 0xcd, 0xea, 0x6c, 0xe2, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x8c, 0xea, 0xff, 0xff, 0xd1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0x70, 0xeb, 0x1c, 0xff, 0x1d, 0xff, 0xb0, 0xeb, 0x77, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0x12, 0xf4, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0x2b, 0xe2, 0x2b, 0xe2, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xf1, 0xf3, 0xff, 0xff, 0x90, 0xeb, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x4f, + 0xeb, 0xfc, 0xfe, 0x5d, 0xff, 0xf1, 0xf3, 0xea, 0xe1, 0xb4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xff, 0xf1, 0xf3, 0x0b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xea, 0xe1, 0x0e, 0xeb, 0x76, 0xfd, 0x7a, 0xfe, 0x5a, 0xfe, 0x36, 0xf5, 0xee, 0xea, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6f, 0xeb, 0x5d, 0xff, 0xfc, 0xfe, 0x6c, 0xea, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x90, 0xeb, + 0x1c, 0xff, 0x3d, 0xff, 0x90, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0x53, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0xf5, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xea, 0xe1, 0x12, 0xf4, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xff, 0xb0, 0xeb, + 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x4f, 0xeb, 0xfc, 0xfe, 0x5e, 0xff, 0xd1, 0xeb, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x70, 0xeb, 0xfc, + 0xfe, 0x3d, 0xff, 0xf1, 0xf3, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x12, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x35, 0xf5, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0x8d, 0xea, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, + 0xff, 0x2e, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x70, 0xeb, 0x5d, 0xff, 0x3d, 0xff, 0x2f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xb0, 0xeb, 0x3d, 0xff, + 0x3d, 0xff, 0x90, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x12, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x56, 0xf5, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xea, 0xe1, 0x76, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0xf4, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x6f, 0xeb, 0x1c, 0xff, 0x5d, 0xff, 0xb0, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x70, 0xeb, 0xfc, 0xfe, 0x3d, + 0xff, 0xb0, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x52, 0xf4, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0xfd, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0x0b, 0xe2, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xd8, 0xfd, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xb0, 0xeb, 0x7d, 0xff, 0x3d, 0xff, 0x4f, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xb0, 0xeb, 0x5d, 0xff, 0x1c, 0xff, + 0x90, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x94, 0xf4, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5a, 0xfe, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd8, 0xfd, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xea, 0xe1, 0x4f, 0xeb, 0x1d, 0xff, 0x5d, 0xff, 0x90, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x70, 0xeb, 0x1c, 0xff, 0x5d, 0xff, 0x90, + 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x36, 0xf5, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xff, 0x2b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x56, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xf4, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xb1, 0xeb, 0x7e, 0xff, 0x1c, 0xff, 0x4f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xb0, 0xeb, 0x5d, 0xff, 0xfc, 0xfe, 0x4f, 0xeb, + 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xd8, 0xfd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xff, 0x4f, 0xeb, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xad, 0xea, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x5d, 0xff, 0x0e, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, + 0xe1, 0x4f, 0xeb, 0x3d, 0xff, 0x5d, 0xff, 0x6f, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x6f, 0xeb, 0x5d, 0xff, 0x5d, 0xff, 0x90, 0xeb, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0x9b, 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, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xf4, 0xea, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xea, 0x5a, 0xfe, 0xdf, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0xfe, 0x4f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xd1, 0xeb, 0x7e, 0xff, 0xfc, 0xfe, 0x2e, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xd1, 0xeb, 0x5d, 0xff, 0x1c, 0xff, 0x4f, 0xeb, 0xea, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x8d, 0xea, 0x9e, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xfe, 0x2b, + 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xe2, 0xd8, 0xfd, 0xdf, 0xff, 0x15, 0xf5, 0xad, 0xea, 0x35, 0xf5, 0x39, 0xfe, + 0x19, 0xfe, 0x15, 0xf5, 0xad, 0xea, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xb0, + 0xeb, 0x3d, 0xff, 0x3d, 0xff, 0x90, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x90, 0xeb, 0x3d, 0xff, 0x1c, 0xff, 0x90, 0xeb, 0xea, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x52, 0xf4, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5e, 0xff, + 0xee, 0xea, 0xca, 0xe1, 0x6c, 0xea, 0x39, 0xfe, 0xbf, 0xff, 0xf5, 0xf4, 0x2b, 0xe2, 0xca, 0xe1, 0xea, 0xe1, 0x0b, + 0xe2, 0x0b, 0xe2, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xd1, 0xeb, + 0x7e, 0xff, 0xfc, 0xfe, 0x0e, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xf1, 0xf3, 0x7e, 0xff, 0xfc, 0xfe, 0x2f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x4b, 0xe2, 0xfc, + 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x53, 0xf4, 0x8c, 0xea, 0xf8, 0xfd, 0xdf, 0xff, 0x15, 0xf5, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xd1, 0xeb, 0x3d, + 0xff, 0x1c, 0xff, 0x90, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xb0, 0xeb, 0x3d, 0xff, 0x1c, 0xff, 0x6f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6f, 0xeb, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xfe, 0x39, 0xfe, 0x9e, 0xff, 0xf5, 0xf4, 0x2b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x12, 0xf4, 0x5e, 0xff, + 0xdc, 0xfe, 0x4f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xf1, 0xeb, 0x7e, 0xff, 0xdb, 0xfe, 0x2f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x36, + 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 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, 0xf5, 0xf4, 0x0b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xb1, 0xeb, 0x3d, 0xff, 0xfc, + 0xfe, 0x6f, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0xcd, 0xea, 0xb0, 0xeb, 0x90, 0xeb, + 0xad, 0xea, 0x2b, 0xe2, 0xb0, 0xeb, 0x3d, 0xff, 0x3d, 0xff, 0x6f, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xed, 0xea, + 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0x0e, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x12, 0xf4, 0x7e, 0xff, 0xbb, 0xfe, + 0x4f, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xee, 0xea, 0xd8, 0xfd, 0x5d, 0xff, 0xbf, 0xff, 0xbf, + 0xff, 0x3d, 0xff, 0x19, 0xfe, 0x9e, 0xff, 0xbb, 0xfe, 0x0e, 0xeb, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0xd8, + 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x36, 0xf5, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0xd0, 0xeb, 0x3d, 0xff, 0x1c, 0xff, 0x4f, + 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0x39, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xd1, 0xeb, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0xb0, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x12, 0xf4, 0x7e, 0xff, 0xbb, 0xfe, 0x2e, 0xeb, + 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x73, 0xf4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x12, 0xf4, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xad, 0xea, 0xbb, + 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xff, 0x0e, 0xeb, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0xf1, 0xf3, 0x3d, 0xff, 0xfc, 0xfe, 0x6f, 0xeb, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x4b, 0xe2, 0xdb, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0xf5, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x6c, 0xe2, 0xd8, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5a, 0xfe, 0x4b, + 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x32, 0xf4, 0x7e, 0xff, 0xbb, 0xfe, 0xee, 0xea, 0xea, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x4c, 0xe2, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xfd, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0x36, 0xf5, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x39, 0xfe, 0xad, 0xea, 0xca, 0xe1, 0xea, 0xe1, 0x12, 0xf4, 0x5d, 0xff, 0xdb, 0xfe, 0x4f, 0xeb, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0x9a, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x56, 0xf5, 0xea, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0xd4, 0xf4, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x19, 0xfe, 0xad, 0xea, 0x52, 0xf4, 0x9e, 0xff, 0xbb, 0xfe, 0x0e, 0xeb, 0xea, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0x12, 0xf4, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xeb, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0x15, 0xf5, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1d, 0xff, 0x9e, 0xff, 0xfc, 0xfe, 0x2e, 0xeb, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x2b, 0xe2, 0xb7, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x56, 0xfd, 0x0b, 0xe2, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xcd, 0xea, 0xb7, 0xfd, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0xfd, 0x6c, 0xe2, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x8c, + 0xea, 0xd4, 0xf4, 0xfc, 0xfe, 0x9e, 0xff, 0x9e, 0xff, 0xdc, 0xfe, 0x73, 0xf4, 0x0b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0xb0, 0xeb, 0x9b, 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, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x19, 0xfe, 0x4f, 0xeb, 0x2b, + 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0x0e, 0xeb, 0xcd, 0xea, 0xea, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0x0b, 0xe2, 0xad, 0xea, 0x15, 0xf5, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, + 0xf9, 0xfd, 0x70, 0xeb, 0x2b, 0xe2, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, + 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xea, 0xe1, 0xad, 0xea, 0x56, 0xf5, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x19, 0xfe, 0x52, 0xf4, 0x0e, 0xeb, 0x4c, 0xe2, 0xea, 0xe1, 0xea, 0xe1, 0xca, 0xe1, + 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xca, 0xe1, 0xea, 0xe1, 0xea, 0xe1, 0x2b, 0xe2, 0xcd, + 0xea, 0xd1, 0xf3, 0x97, 0xfd, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 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, 0x7e, 0xff, 0xfc, 0xfe, 0xf8, 0xfd, 0x73, 0xf4, 0x4f, + 0xeb, 0xad, 0xea, 0x8c, 0xea, 0x6c, 0xea, 0x8c, 0xea, 0xad, 0xea, 0x0e, 0xeb, 0x32, 0xf4, 0x97, 0xf5, 0xdb, 0xfe, + 0x5d, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x9e, 0xff, 0x7e, 0xff, 0x9e, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 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, 0x5d, 0xef, 0x3d, 0xef, 0x5d, 0xef, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, 0x2d, 0x6b, 0xec, 0x62, 0x0c, 0x63, 0xb7, 0xbd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xbf, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xbf, + 0xff, 0xdf, 0xff, 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, 0xad, 0x8a, 0x5a, 0x6a, 0x52, 0x8a, 0x52, 0x55, 0xad, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x55, + 0xad, 0xf4, 0xa4, 0xb3, 0x9c, 0x92, 0x94, 0x72, 0x94, 0x72, 0x94, 0x92, 0x94, 0xf3, 0xa4, 0xb6, 0xbd, 0xfb, 0xde, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0xb3, 0x9c, 0x92, 0x94, 0x92, + 0x94, 0x55, 0xad, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xf7, 0xb7, 0xbd, 0x92, 0x94, + 0xcf, 0x7b, 0xae, 0x7b, 0xaf, 0x7b, 0x10, 0x84, 0xd3, 0x9c, 0xf7, 0xbd, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x59, 0xce, 0xf4, 0xa4, 0x10, 0x8c, 0xaf, 0x7b, + 0x8e, 0x7b, 0xcf, 0x7b, 0x51, 0x8c, 0x35, 0xad, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xa4, 0x8a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0x35, 0xad, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x9c, + 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xab, + 0x5a, 0x51, 0x8c, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x9c, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x2d, 0x6b, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xde, 0x8e, 0x73, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xcb, 0x62, 0xf8, 0xc5, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xde, 0xcf, 0x7b, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xaa, 0x5a, 0x72, 0x94, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x9c, 0x8a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0x35, + 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, + 0x94, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x8a, 0x52, 0x4d, 0x6b, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0x94, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x2d, 0x6b, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0x2c, 0x6b, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x14, 0xa5, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x76, 0xb5, 0x0c, 0x63, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x5a, 0x3c, 0xe7, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x9c, 0x8a, 0x52, 0x6a, 0x52, 0x8a, 0x52, + 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xaa, 0x5a, 0xab, 0x5a, 0xab, 0x5a, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x94, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x5d, 0xef, 0xff, 0xff, 0xdf, 0xff, 0x31, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0xcb, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0xcb, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xdb, 0xde, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xc5, 0xcb, 0x62, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x30, 0x8c, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x9c, 0x6a, 0x52, 0x6a, 0x52, 0x8a, + 0x5a, 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x10, 0x84, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x5a, 0x75, 0xb5, 0x59, 0xce, 0x38, 0xc6, 0x14, 0xa5, + 0xcb, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x63, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x3d, 0xef, 0xff, 0xff, 0x3d, 0xef, 0x0c, 0x63, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0xaf, 0x7b, 0x7a, 0xd6, 0x1c, 0xe7, 0xfc, 0xe6, 0x79, 0xce, 0x55, 0xad, 0x6d, 0x73, 0xf4, 0xa4, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xef, 0x6d, 0x73, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, + 0xcf, 0x83, 0x96, 0xb5, 0xf7, 0xbd, 0x76, 0xb5, 0x10, 0x84, 0xab, 0x5a, 0xcb, 0x62, 0xbb, 0xde, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0x94, 0x6a, 0x52, 0x6a, 0x52, + 0x8a, 0x5a, 0x76, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x7a, 0xd6, 0xf8, + 0xc5, 0x18, 0xc6, 0x9a, 0xd6, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0xdb, 0xde, + 0x18, 0xc6, 0x96, 0xb5, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0xb7, 0xbd, 0x55, 0xad, 0x39, + 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0x96, 0xb5, 0x59, 0xce, 0x3d, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x83, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x14, 0xa5, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x3d, 0xef, 0xff, 0xff, 0xbb, 0xde, 0xcb, 0x62, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x34, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xf7, 0xbe, 0xf7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0x8a, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xec, 0x62, 0x96, + 0xb5, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xba, 0xd6, 0xb7, 0xbd, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0x94, 0x6a, 0x52, 0x6a, + 0x52, 0x8a, 0x5a, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x75, 0xad, 0x6e, 0x73, 0xcb, 0x5a, + 0xab, 0x5a, 0xab, 0x5a, 0xcb, 0x62, 0x8e, 0x7b, 0x96, 0xb5, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xbd, 0xec, + 0x62, 0xab, 0x5a, 0x8a, 0x5a, 0xb3, 0x9c, 0xdf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x10, 0x84, 0x8a, 0x5a, 0x8a, 0x52, + 0x4d, 0x73, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x10, 0x84, 0x8a, 0x5a, 0xcb, 0x5a, 0x6e, 0x73, 0xdb, + 0xde, 0xff, 0xff, 0xf0, 0x83, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x59, 0xce, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0x51, + 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x3d, 0xef, 0xff, 0xff, 0xfc, 0xe6, 0xeb, 0x62, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0xaf, 0x7b, 0x79, 0xce, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x8e, 0x73, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0x14, 0xa5, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x94, 0x6a, 0x52, + 0x6a, 0x52, 0x8a, 0x5a, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x72, 0x94, 0x8a, 0x5a, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0x14, 0xa5, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, + 0xcb, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x8e, 0x73, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x35, 0xad, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xe7, 0xeb, 0x62, 0x6a, 0x52, 0x6a, 0x52, 0x4d, 0x73, + 0x7d, 0xef, 0xdf, 0xff, 0xcf, 0x83, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xdb, 0xde, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x96, 0xb5, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xbb, 0xde, 0xff, 0xff, 0xff, 0xff, + 0x31, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x3c, 0xe7, 0xff, 0xff, 0x9e, 0xf7, 0x6e, 0x73, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xcb, 0x5a, 0x8e, 0x73, 0x92, 0x94, 0xf7, 0xbd, 0x3d, 0xef, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xeb, 0x62, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x4d, 0x6b, 0x3c, + 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x94, 0x6a, + 0x52, 0x6a, 0x52, 0x8a, 0x5a, 0xb7, 0xbd, 0xff, 0xff, 0xdf, 0xff, 0xf3, 0xa4, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0xab, 0x5a, 0xaa, 0x5a, 0xaa, 0x5a, 0x14, 0xa5, 0x7e, 0xf7, 0xd7, 0xbd, 0x96, 0xb5, 0xff, 0xff, 0x3d, + 0xef, 0x4d, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0xec, 0x62, 0xfc, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x9c, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x71, 0x94, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xbd, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x71, + 0x94, 0xff, 0xff, 0xdf, 0xff, 0xcf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x5a, 0xd7, 0xbd, 0xdb, 0xde, + 0x9a, 0xd6, 0x96, 0xb5, 0x2d, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x63, 0x7d, 0xf7, 0xff, 0xff, 0xff, + 0xff, 0x31, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x63, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x35, 0xad, + 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0x4d, 0x6b, 0xf3, + 0xa4, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0x79, 0xce, 0xab, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x51, 0x8c, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, + 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x5a, 0xf7, 0xbd, 0xff, 0xff, 0x3d, 0xef, 0x2d, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0xcb, + 0x62, 0xd3, 0x9c, 0x59, 0xce, 0x39, 0xce, 0x96, 0xb5, 0x9e, 0xf7, 0x18, 0xc6, 0xec, 0x62, 0x4d, 0x6b, 0x3c, 0xef, + 0xdf, 0xff, 0x31, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0xaa, 0x5a, 0x39, 0xce, 0xff, 0xff, 0x3d, 0xef, 0x0c, 0x6b, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x2d, 0x6b, 0x9e, 0xf7, 0xff, 0xff, 0x92, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, + 0xb6, 0xbd, 0xff, 0xff, 0xbf, 0xff, 0xcf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, + 0x5a, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x92, 0x94, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x31, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x63, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x7e, + 0xf7, 0x51, 0x8c, 0xcb, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0xaf, 0x7b, 0x1c, 0xe7, 0xff, 0xff, 0x59, 0xce, 0xab, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xb3, + 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, + 0x94, 0x6a, 0x52, 0x6a, 0x52, 0xaa, 0x5a, 0x18, 0xc6, 0xff, 0xff, 0x59, 0xce, 0x8a, 0x5a, 0x6a, 0x52, 0x8a, 0x52, + 0x76, 0xb5, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0xec, 0x62, 0x6a, 0x52, 0xab, 0x5a, 0x18, + 0xc6, 0xff, 0xff, 0x55, 0xad, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0x14, 0xa5, 0xff, 0xff, 0xd7, 0xbd, 0x8a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xdb, 0xde, 0x9e, 0xf7, 0x4d, 0x73, 0x6a, 0x52, 0x6a, 0x52, 0xab, + 0x5a, 0xfb, 0xde, 0xff, 0xff, 0xbf, 0xff, 0xaf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xef, 0x83, 0x1c, 0xe7, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x31, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x9e, 0xf7, 0x18, 0xc6, 0x10, 0x84, 0x0c, 0x63, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x71, 0x94, 0xdf, 0xff, 0x9a, 0xd6, 0xab, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x71, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0xaa, 0x5a, 0x39, 0xce, 0xff, 0xff, 0x75, 0xb5, 0x6a, 0x52, 0x6a, 0x52, 0xec, + 0x62, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xec, 0x62, 0x6a, 0x52, 0x8a, 0x52, + 0x55, 0xad, 0xff, 0xff, 0x79, 0xce, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xcf, 0x7b, 0xbe, 0xf7, 0x31, 0x8c, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xf8, 0xc5, 0x7a, 0xd6, 0xcb, 0x5a, 0x6a, 0x52, 0x6a, 0x52, + 0x10, 0x84, 0xbe, 0xf7, 0xff, 0xff, 0xbf, 0xff, 0xaf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xaa, + 0x5a, 0x8a, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x71, 0x94, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x3d, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xdb, 0xde, 0xd7, 0xbd, 0x92, 0x94, 0x4d, 0x6b, 0x8a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x2d, 0x6b, 0x5d, 0xef, 0xfb, 0xde, 0xec, 0x62, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6e, 0x73, 0x5d, 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, 0x71, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0x59, 0xce, 0xff, 0xff, 0x75, 0xad, 0x6a, 0x52, 0x6a, 0x52, + 0x4d, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x4d, 0x6b, 0x6a, 0x52, 0x8a, + 0x52, 0x35, 0xad, 0xff, 0xff, 0x5d, 0xef, 0x0c, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x63, 0x59, 0xce, 0xec, 0x62, + 0x6a, 0x52, 0x8a, 0x5a, 0x6e, 0x73, 0x6a, 0x52, 0x6a, 0x52, 0xf3, 0xa4, 0xf3, 0xa4, 0x8a, 0x52, 0x6a, 0x52, 0xaa, + 0x5a, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xff, 0xaf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, + 0x96, 0xb5, 0x14, 0xa5, 0xab, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xef, 0x83, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x0c, 0x6b, 0x3d, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x3c, 0xe7, 0x6e, + 0x73, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xeb, 0x62, 0xdb, 0xde, 0x7d, 0xef, 0x8e, 0x73, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x8a, 0x52, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x71, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0x9a, 0xd6, 0xff, 0xff, 0x38, 0xce, 0x8a, 0x52, 0x6a, + 0x52, 0xab, 0x5a, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0xcb, 0x5a, 0x6a, 0x52, + 0x8a, 0x5a, 0xb6, 0xbd, 0xff, 0xff, 0xdf, 0xff, 0xb3, 0x9c, 0x6a, 0x52, 0x6a, 0x52, 0xaa, 0x5a, 0xcf, 0x7b, 0x8a, + 0x52, 0x6a, 0x52, 0xae, 0x7b, 0x39, 0xce, 0x8a, 0x52, 0x6a, 0x52, 0x4d, 0x6b, 0x0c, 0x63, 0x6a, 0x52, 0x6a, 0x52, + 0x6d, 0x73, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0xaf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8e, + 0x73, 0xbe, 0xf7, 0xdf, 0xff, 0x72, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x5a, 0xf4, 0xa4, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x2c, 0x6b, 0x5d, 0xef, 0xff, + 0xff, 0xff, 0xff, 0x59, 0xce, 0xb2, 0x9c, 0x9a, 0xd6, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, + 0x10, 0x84, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xec, 0x62, 0xfb, 0xde, 0xff, 0xff, 0xd3, 0x9c, 0x8a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x4d, 0x6b, 0x39, 0xce, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x5d, 0xef, + 0x76, 0xb5, 0x14, 0xa5, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x71, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xba, 0xde, 0xff, 0xff, 0xfc, 0xe6, 0xec, 0x62, + 0x6a, 0x52, 0x6a, 0x52, 0x30, 0x8c, 0x3c, 0xe7, 0xdf, 0xff, 0xdf, 0xff, 0x1c, 0xe7, 0xf0, 0x83, 0x6a, 0x52, 0x6a, + 0x52, 0xec, 0x62, 0xbb, 0xde, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0xcb, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, + 0x6a, 0x52, 0x8a, 0x52, 0x14, 0xa5, 0x9e, 0xf7, 0x0c, 0x63, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x92, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0xaf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x8e, 0x7b, 0xbe, 0xf7, 0xff, 0xff, 0x3c, 0xe7, 0x4d, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xf8, + 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x2c, 0x6b, 0x5d, 0xef, + 0xff, 0xff, 0xdf, 0xff, 0x51, 0x8c, 0x8a, 0x52, 0xec, 0x62, 0x31, 0x8c, 0xb6, 0xbd, 0x59, 0xce, 0x38, 0xce, 0xf4, + 0xa4, 0xcb, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6e, 0x73, 0x7e, 0xf7, 0xff, 0xff, 0xdb, 0xde, 0x0c, 0x6b, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xcb, 0x62, 0x31, 0x8c, 0x75, 0xb5, 0x96, 0xb5, 0xd3, 0x9c, 0x6e, + 0x73, 0x8a, 0x5a, 0xcb, 0x62, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x72, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xdb, 0xde, 0xff, 0xff, 0xbf, 0xff, 0x10, + 0x84, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0x4d, 0x6b, 0x92, 0x94, 0x72, 0x94, 0x2d, 0x6b, 0x8a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x72, 0x94, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x4d, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0xcb, 0x5a, 0x9a, 0xd6, 0xdf, 0xff, 0xf0, 0x83, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x8a, 0x5a, 0xf8, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0xaf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0xae, 0x7b, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0xcb, 0x62, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x8e, 0x73, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x92, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x2d, 0x6b, 0x7d, + 0xef, 0xff, 0xff, 0x3c, 0xe7, 0x0c, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xaa, 0x5a, 0x8a, 0x5a, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xf4, 0xa4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, + 0xa5, 0xaa, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8e, 0x73, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xfc, 0xe6, 0xff, 0xff, 0xff, 0xff, + 0xdb, 0xde, 0x4d, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0xaf, 0x7b, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x30, 0x8c, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x6a, 0x52, 0xaf, 0x7b, 0xbf, 0xff, 0xff, 0xff, 0xf3, 0xa4, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x2d, 0x6b, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xaf, 0x7b, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0xaf, 0x7b, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xa4, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x8a, 0x52, 0x72, 0x94, 0xdf, 0xff, 0xff, 0xff, 0x92, 0x94, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x2d, 0x6b, + 0x9e, 0xf7, 0xff, 0xff, 0xba, 0xd6, 0x0c, 0x6b, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x5a, 0x71, 0x94, 0x7d, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7e, 0xf7, 0x72, 0x94, 0x8a, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, + 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0xec, 0x62, 0xfb, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x9c, 0x8a, 0x52, 0x8a, 0x52, 0xcb, 0x5a, 0x1c, 0xe7, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x1c, 0xe7, 0xcf, 0x83, 0xcb, 0x5a, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x8a, 0x52, 0xeb, 0x62, + 0x10, 0x8c, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x35, 0xad, 0x8a, 0x52, 0x8a, + 0x52, 0x6a, 0x52, 0xab, 0x5a, 0xf7, 0xc5, 0xff, 0xff, 0xff, 0xff, 0x38, 0xce, 0x8a, 0x5a, 0x8a, 0x52, 0x6a, 0x52, + 0x8a, 0x52, 0xf4, 0xa4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xcf, 0x83, 0x8a, 0x52, 0x8a, + 0x52, 0x8a, 0x52, 0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x4d, 0x6b, 0x6a, 0x52, + 0x8a, 0x5a, 0x2c, 0x6b, 0x92, 0x94, 0x9e, 0xf7, 0xff, 0xff, 0xb2, 0x9c, 0x8a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x4d, + 0x6b, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x31, 0x8c, 0x2d, 0x6b, 0xcb, 0x5a, 0x8a, 0x5a, 0x8a, 0x52, + 0x8a, 0x52, 0x8a, 0x5a, 0xcb, 0x62, 0x4d, 0x73, 0x14, 0xa5, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xbf, 0xff, 0xf4, 0xa4, 0x0c, 0x6b, 0x8a, 0x5a, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, 0x6a, 0x52, + 0x6a, 0x52, 0x8a, 0x52, 0xcb, 0x62, 0xcf, 0x7b, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x55, 0xad, 0x35, 0xad, 0x35, 0xad, 0x9e, 0xf7, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x9a, 0xd6, 0x96, 0xb5, 0xb3, 0x9c, 0xd3, 0x9c, 0xb7, 0xbd, 0xdb, + 0xde, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xef, 0x96, 0xb5, + 0xf4, 0xa4, 0x92, 0x9c, 0x14, 0xa5, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xf7, 0xc5, 0x34, 0xad, 0xb3, + 0x9c, 0xd3, 0x9c, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0x96, 0xb5, + 0xb7, 0xbd, 0x18, 0xc6, 0xbb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xde, 0x51, + 0x8c, 0xf8, 0xc5, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0xd6, 0xf3, 0xa4, 0x92, 0x94, 0xb3, 0x9c, + 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x5d, 0xef, 0xba, 0xde, 0x39, 0xce, 0xd7, + 0xbd, 0xd7, 0xbd, 0x39, 0xce, 0xbb, 0xde, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x1c, 0xe7, 0xd7, 0xbd, 0x51, 0x8c, 0x4d, 0x6b, 0xeb, 0x62, 0x2d, + 0x6b, 0x10, 0x84, 0x75, 0xb5, 0xba, 0xd6, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; diff --git a/display_drivers b/display_drivers new file mode 160000 index 0000000..26bae2a --- /dev/null +++ b/display_drivers @@ -0,0 +1 @@ +Subproject commit 26bae2abd9e78ad90807d8429b31c5293f711f14 diff --git a/library/lcd.hh b/library/lcd.hh new file mode 100644 index 0000000..ad440b0 --- /dev/null +++ b/library/lcd.hh @@ -0,0 +1,249 @@ +// Copyright lowRISC Contributors. +// SPDX-License-Identifier: Apache-2.0 + +#include +#include +#include +#include + +namespace sonata::lcd +{ + + extern "C" + { +#include "../display_drivers/core/m3x6_16pt.h" +#include "../display_drivers/st7735/lcd_st7735.h" + } + + struct Point + { + uint32_t x; + uint32_t y; + + static const Point ORIGIN; + }; + + inline constexpr const Point Point::ORIGIN{0, 0}; + + struct Size + { + uint32_t width; + uint32_t height; + }; + + struct Rect + { + uint32_t left; + uint32_t top; + uint32_t right; + uint32_t bottom; + + static Rect from_points(Point a, Point b) + { + return {std::min(a.x, b.x), + std::min(a.y, b.y), + std::max(a.x, b.x), + std::max(a.y, b.y)}; + } + + static Rect from_point_and_size(Point point, Size size) + { + return { + point.x, point.y, point.x + size.width, point.y + size.height}; + } + + Rect centered_subrect(Size size) + { + return {(right + left - size.width) / 2, + (bottom + top - size.height) / 2, + (right + left + size.width) / 2, + (bottom + top + size.height) / 2}; + } + }; + + namespace font + { + constexpr const Font &m3x6_16pt = m3x6_16ptFont; + } + + enum class Color : uint32_t + { + Black = 0x000000, + White = 0xFFFFFF, + }; + + class SonataLCD + { + private: + static constexpr uint32_t LcdCsPin = 0; + static constexpr uint32_t LcdRstPin = 1; + static constexpr uint32_t LcdDcPin = 2; + static constexpr uint32_t LcdBlPin = 3; + + /** + * Import the Capability helper from the CHERI namespace. + */ + template + using Capability = CHERI::Capability; + + /** + * Helper. Returns a pointer to the SPI device. + */ + [[nodiscard, gnu::always_inline]] static Capability + spi() + { + return MMIO_CAPABILITY(SonataSpi, spi1); + } + + /** + * Helper. Returns a pointer to the GPIO device. + */ + [[nodiscard, gnu::always_inline]] static Capability + gpio() + { + return MMIO_CAPABILITY(SonataGPIO, gpio); + } + + static inline void set_gpio_output_bit(uint32_t bit, bool value) + { + uint32_t output = gpio()->output; + output &= ~(1 << bit); + output |= value << bit; + gpio()->output = output; + } + + LCD_Interface lcd_intf; + St7735Context ctx; + + public: + SonataLCD() + { + // Set the initial state of the LCD control pins. + set_gpio_output_bit(LcdDcPin, false); + set_gpio_output_bit(LcdBlPin, true); + set_gpio_output_bit(LcdCsPin, false); + + // Initialise SPI driver. + spi()->init(false, false, true, false); + + // Reset LCD. + set_gpio_output_bit(LcdRstPin, false); + thread_millisecond_wait(150); + set_gpio_output_bit(LcdRstPin, true); + + // Initialise LCD driverr. + lcd_intf.handle = nullptr; + lcd_intf.spi_write = + [](void *handle, uint8_t *data, size_t len) -> uint32_t { + spi()->tx(data, len); + return len; + }; + lcd_intf.gpio_write = + [](void *handle, bool cs_high, bool dc_high) -> uint32_t { + set_gpio_output_bit(LcdCsPin, cs_high); + set_gpio_output_bit(LcdDcPin, dc_high); + return 0; + }; + lcd_intf.timer_delay = [](uint32_t ms) { + thread_millisecond_wait(ms); + }; + lcd_st7735_init(&ctx, &lcd_intf); + + // Set the LCD orentiation. + lcd_st7735_set_orientation(&ctx, LCD_Rotate180); + + clean(); + } + + ~SonataLCD() + { + clean(); + + // Hold LCD in reset. + set_gpio_output_bit(LcdRstPin, false); + // Turn off backlight. + set_gpio_output_bit(LcdBlPin, false); + } + + void clean() + { + // Clean the display with a white rectangle. + lcd_st7735_clean(&ctx); + } + + Size resolution() + { + return {ctx.parent.width, ctx.parent.height}; + } + + void draw_pixel(Point point, Color color) + { + lcd_st7735_draw_pixel( + &ctx, {point.x, point.y}, static_cast(color)); + } + + void draw_line(Point a, Point b, Color color) + { + if (a.y == b.y) + { + uint32_t x1 = std::min(a.x, b.x); + uint32_t x2 = std::max(a.x, b.x); + lcd_st7735_draw_horizontal_line( + &ctx, {{x1, a.y}, x2 - x1}, static_cast(color)); + } + else if (a.x == b.x) + { + uint32_t y1 = std::min(a.y, b.y); + uint32_t y2 = std::max(a.y, b.y); + lcd_st7735_draw_vertical_line( + &ctx, {{a.x, y1}, y2 - y1}, static_cast(color)); + } + else + { + // We currently only support horizontal and vertical lines. + panic(); + } + } + + void draw_image_bgr(Rect rect, const uint8_t *data) + { + lcd_st7735_draw_bgr(&ctx, + {{rect.left, rect.top}, + rect.right - rect.left, + rect.bottom - rect.top}, + data); + } + + void draw_image_rgb565(Rect rect, const uint8_t *data) + { + lcd_st7735_draw_rgb565(&ctx, + {{rect.left, rect.top}, + rect.right - rect.left, + rect.bottom - rect.top}, + data); + } + + void fill_rect(Rect rect, Color color) + { + lcd_st7735_fill_rectangle(&ctx, + {{rect.left, rect.top}, + rect.right - rect.left, + rect.bottom - rect.top}, + static_cast(color)); + } + + void draw_str(Point point, + const char *str, + const Font &font, + Color background, + Color foreground) + { + lcd_st7735_set_font(&ctx, &font); + lcd_st7735_set_font_colors(&ctx, + static_cast(background), + static_cast(foreground)); + lcd_st7735_puts(&ctx, {point.x, point.y}, str); + } + }; + +} // namespace sonata::lcd diff --git a/xmake.lua b/xmake.lua index 2471645..3382207 100644 --- a/xmake.lua +++ b/xmake.lua @@ -26,13 +26,19 @@ compartment("led_walk") compartment("echo") add_files("compartments/echo.cc") +compartment("lcd_test") + add_files("display_drivers/core/lcd_base.c") + add_files("display_drivers/core/m3x6_16pt.c") + add_files("display_drivers/st7735/lcd_st7735.c") + add_files("compartments/lcd_test.cc") + compartment("i2c_example") add_deps("debug") add_files("compartments/i2c_example.cc") -- A simple demo using only devices on the Sonata board firmware("sonata_simple_demo") - add_deps("freestanding", "led_walk", "echo") + add_deps("freestanding", "led_walk", "echo", "lcd_test") on_load(function(target) target:values_set("board", "$(board)") target:values_set("threads", { @@ -49,6 +55,13 @@ firmware("sonata_simple_demo") entry_point = "entry_point", stack_size = 0x200, trusted_stack_frames = 1 + }, + { + compartment = "lcd_test", + priority = 2, + entry_point = "lcd_test", + stack_size = 0x1000, + trusted_stack_frames = 1 } }, {expand = false}) end) @@ -56,7 +69,7 @@ firmware("sonata_simple_demo") -- A demo that expects additional devices such as I2C devices firmware("sonata_demo_everything") - add_deps("freestanding", "led_walk", "echo", "i2c_example") + add_deps("freestanding", "led_walk", "echo", "lcd_test", "i2c_example") on_load(function(target) target:values_set("board", "$(board)") target:values_set("threads", { @@ -74,6 +87,13 @@ firmware("sonata_demo_everything") stack_size = 0x200, trusted_stack_frames = 1 }, + { + compartment = "lcd_test", + priority = 2, + entry_point = "lcd_test", + stack_size = 0x1000, + trusted_stack_frames = 1 + }, { compartment = "i2c_example", priority = 2,