From c9865e886920dbb881783ba03bbe3187dbc082d7 Mon Sep 17 00:00:00 2001 From: GrumpyOldPizza Date: Wed, 18 Jan 2023 05:13:48 -0700 Subject: [PATCH] Move to RTC as time base; HSEM3 critical regions; RTOS rework; BLE 1.14.1 stack --- cores/arduino/Arduino.h | 1 - cores/arduino/CDC.cpp | 8 +- cores/arduino/HardwareSerial.cpp | 2 +- cores/arduino/Makefile | 3 +- cores/arduino/USBAPI.h | 2 +- cores/arduino/Uart.cpp | 20 +- cores/arduino/Uart.h | 2 +- cores/arduino/avr/fdevopen.c | 55 - cores/arduino/main.cpp | 2 - cores/arduino/syscalls_stm32wb.c | 1 - cores/arduino/wiring.c | 2 - cores/arduino/wiring_private.h | 5 +- libraries/BLE/src/BLE.cpp | 11 +- libraries/GNSS/src/utility/gnss_core.c | 12 +- libraries/RTC/src/RTC.cpp | 11 +- libraries/RTC/src/RTC.h | 5 +- .../STM32WB/examples/FWUpdate/FWUpdate.ino | 9 +- libraries/STM32WB/src/STM32WB.cpp | 4 +- libraries/STM32WB/src/STM32WB.h | 7 +- libraries/Wire/src/Wire.cpp | 12 +- platform.txt | 2 +- system/CMSIS/RTOS2/Source/cmsis_os2.c | 306 +- .../stm32wb5x_BLE_Stack_full_fw_1_14_0.h | 9392 ----------------- system/STM32WBxx/Include/BLE/ble_bufsize.h | 32 +- system/STM32WBxx/Include/BLE/ble_const.h | 7 + system/STM32WBxx/Include/BLE/ble_defs.h | 387 +- system/STM32WBxx/Include/BLE/ble_events.h | 262 +- system/STM32WBxx/Include/BLE/ble_gap_aci.h | 84 +- system/STM32WBxx/Include/BLE/ble_gatt_aci.h | 264 +- system/STM32WBxx/Include/BLE/ble_hal_aci.h | 36 +- system/STM32WBxx/Include/BLE/ble_hci_le.h | 23 +- system/STM32WBxx/Include/BLE/ble_legacy.h | 7 + system/STM32WBxx/Include/BLE/ble_std.h | 2 +- system/STM32WBxx/Include/BLE/ble_types.h | 996 +- system/STM32WBxx/Include/armv7m.h | 1 + system/STM32WBxx/Include/armv7m_atomic.h | 170 +- system/STM32WBxx/Include/armv7m_pendsv.h | 58 +- .../Include/{rtos_api.h => armv7m_rtos.h} | 133 +- system/STM32WBxx/Include/armv7m_systick.h | 5 +- system/STM32WBxx/Include/rtos_core.h | 215 - system/STM32WBxx/Include/stm32wb_ipcc.h | 14 +- system/STM32WBxx/Include/stm32wb_lptim.h | 17 +- system/STM32WBxx/Include/stm32wb_rtc.h | 56 +- system/STM32WBxx/Include/stm32wb_system.h | 7 +- .../STM32WB55xx_FLASH.ld | 10 +- system/STM32WBxx/Lib/libstm32wb55xx.a | Bin 2464084 -> 2572548 bytes system/STM32WBxx/Source/BLE/ble_events.c | 66 +- system/STM32WBxx/Source/BLE/ble_gatt_aci.c | 69 + system/STM32WBxx/Source/BLE/ble_hal_aci.c | 18 + system/STM32WBxx/Source/Makefile | 9 +- system/STM32WBxx/Source/armv7m_rtos.c | 4284 ++++++++ system/STM32WBxx/Source/armv7m_rtt.c | 1 - system/STM32WBxx/Source/armv7m_systick.c | 179 +- system/STM32WBxx/Source/dosfs_core.c | 2 +- system/STM32WBxx/Source/rtos_alarm.c | 570 - system/STM32WBxx/Source/rtos_core.c | 1244 --- system/STM32WBxx/Source/rtos_event.c | 431 - system/STM32WBxx/Source/rtos_mutex.c | 619 -- system/STM32WBxx/Source/rtos_sem.c | 360 - system/STM32WBxx/Source/rtos_task.c | 1164 -- system/STM32WBxx/Source/rtos_work.c | 288 - system/STM32WBxx/Source/stm32wb_dma.c | 4 +- system/STM32WBxx/Source/stm32wb_gpio.c | 10 +- system/STM32WBxx/Source/stm32wb_ipcc.c | 331 +- system/STM32WBxx/Source/stm32wb_lptim.c | 428 +- system/STM32WBxx/Source/stm32wb_rtc.c | 1108 +- system/STM32WBxx/Source/stm32wb_system.c | 891 +- system/STM32WBxx/Source/stm32wb_usbd.c | 8 +- system/STM32WBxx/Source/stm32wb_usbd_dcd.c | 8 +- system/STM32WBxx/Source/stm32wb_usbd_msc.c | 7 +- 70 files changed, 7448 insertions(+), 17311 deletions(-) delete mode 100644 cores/arduino/avr/fdevopen.c delete mode 100644 system/STM32WBxx/Firmware/stm32wb5x_BLE_Stack_full_fw_1_14_0.h rename system/STM32WBxx/Include/{rtos_api.h => armv7m_rtos.h} (81%) delete mode 100644 system/STM32WBxx/Include/rtos_core.h rename system/STM32WBxx/{LinkScripts => LdScripts}/STM32WB55xx_FLASH.ld (96%) create mode 100644 system/STM32WBxx/Source/armv7m_rtos.c delete mode 100644 system/STM32WBxx/Source/rtos_alarm.c delete mode 100644 system/STM32WBxx/Source/rtos_core.c delete mode 100644 system/STM32WBxx/Source/rtos_event.c delete mode 100644 system/STM32WBxx/Source/rtos_mutex.c delete mode 100644 system/STM32WBxx/Source/rtos_sem.c delete mode 100644 system/STM32WBxx/Source/rtos_task.c delete mode 100644 system/STM32WBxx/Source/rtos_work.c diff --git a/cores/arduino/Arduino.h b/cores/arduino/Arduino.h index a1c8286..ab6dd53 100644 --- a/cores/arduino/Arduino.h +++ b/cores/arduino/Arduino.h @@ -46,7 +46,6 @@ extern "C"{ #define ARM_MATH_CM4 #include "armv7m.h" -#include "rtos_api.h" #include "stm32wbxx.h" #undef STM32WB diff --git a/cores/arduino/CDC.cpp b/cores/arduino/CDC.cpp index dd7bc60..db7b091 100644 --- a/cores/arduino/CDC.cpp +++ b/cores/arduino/CDC.cpp @@ -64,7 +64,7 @@ CDC::CDC(void (*serialEventRun)(void)) { m_work = K_WORK_INIT((k_work_routine_t)&CDC::notifyRoutine, this); - m_event = K_EVENT_INIT(); + m_sem = K_SEM_INIT(0, 1); } void CDC::begin(unsigned long baudrate) { @@ -135,7 +135,7 @@ int CDC::read(uint8_t *buffer, size_t size) { void CDC::flush() { if (k_task_is_in_progress()) { while (m_tx_busy) { - k_event_receive(&m_event, 1, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); + k_sem_acquire(&m_sem, K_TIMEOUT_FOREVER); } } } @@ -217,7 +217,7 @@ size_t CDC::write(const uint8_t *buffer, size_t size) { } if (m_tx_busy) { - k_event_receive(&m_event, 1, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); + k_sem_acquire(&m_sem, K_TIMEOUT_FOREVER); } } } while (tx_size == 0); @@ -401,7 +401,7 @@ bool CDC::rts() { void CDC::transmitCallback(class CDC *self) { uint32_t tx_read, tx_write, tx_count; - k_event_send(&self->m_event, 1); + k_sem_release(&self->m_sem); tx_count = self->m_tx_count; diff --git a/cores/arduino/HardwareSerial.cpp b/cores/arduino/HardwareSerial.cpp index 59152a7..04009b7 100644 --- a/cores/arduino/HardwareSerial.cpp +++ b/cores/arduino/HardwareSerial.cpp @@ -101,7 +101,7 @@ int wiring_stderr_write(const char *data, int nbytes) { return Serial.write((const uint8_t*)data, nbytes); } - retirn 0; + return 0; } } diff --git a/cores/arduino/Makefile b/cores/arduino/Makefile index 08818d9..8d42a59 100644 --- a/cores/arduino/Makefile +++ b/cores/arduino/Makefile @@ -10,7 +10,8 @@ OBJCOPY = $(TOOLS)/bin/arm-none-eabi-objcopy CFLAGS = -c -g3 -Os $(WARNINGS) -std=gnu11 -ffast-math -ffunction-sections -fdata-sections -nostdlib -MMD $(EXTRAS) $(DEFINES) $(INCLUDES) CXXFLAGS = -c -g3 -Os $(WARNINGS) -std=gnu++11 -ffast-math -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-use-cxa-atexit -fno-rtti -fno-exceptions -MMD $(EXTRAS) $(DEFINES) $(INCLUDES) ASFLAGS = -c -g -x assembler-with-cpp $(EXTRAS) $(DEFINES) $(INCLUDES) -LDFLAGS = -g -Os $(EXTRAS) -Wl,--gc-sections,--no-undefined -T../../system/STM32WBxx/LinkScripts/STM32WB55xx_FLASH.ld --specs=nano.specs --specs=nosys.specs -Wl,--defsym=__RTC_EPOCH__=$(shell date +"%s") +LDFLAGS = -g -Os $(EXTRAS) -Wl,--gc-sections,--no-undefined -T../../system/STM32WBxx/LdScripts/STM32WB55xx_FLASH.ld --specs=nano.specs --specs=nosys.specs -Wl,--defsym=__RTC_EPOCH__=$(shell date +"%s") +#LDFLAGS = -g -Os $(EXTRAS) -Wl,--gc-sections,--no-undefined -T../../system/STM32WBxx/LinkScripts/STM32WB55xx_FLASH.ld --specs=nano.specs --specs=nosys.specs WARNINGS = -Wall -Wextra EXTRAS = -mcpu=cortex-m4 -march=armv7e-m+fp -mthumb -mabi=aapcs -mfpu=fpv4-sp-d16 -mfloat-abi=hard DEFINES = -DSTM32WB55xx -D__SYSTEM_CORE_CLOCK__=64000000 -DDOSFS_SDCARD=0 -DDOSFS_SFLASH=0 -DARDUINO_MAKEFILE diff --git a/cores/arduino/USBAPI.h b/cores/arduino/USBAPI.h index 143b31f..a73c35a 100644 --- a/cores/arduino/USBAPI.h +++ b/cores/arduino/USBAPI.h @@ -156,7 +156,7 @@ class CDC : public HardwareSerial Callback m_transmit_callback; k_work_t m_work; - k_event_t m_event; + k_sem_t m_sem; static void transmitCallback(class CDC *self); static void eventCallback(class CDC *self, uint32_t events); diff --git a/cores/arduino/Uart.cpp b/cores/arduino/Uart.cpp index c24aa3a..20e22fe 100644 --- a/cores/arduino/Uart.cpp +++ b/cores/arduino/Uart.cpp @@ -64,7 +64,7 @@ Uart::Uart(struct _stm32wb_uart_t *uart, const struct _stm32wb_uart_params_t *pa m_work = K_WORK_INIT((k_work_routine_t)&Uart::notifyRoutine, this); - m_event = K_EVENT_INIT(); + m_sem = K_SEM_INIT(0, 1); stm32wb_uart_create(uart, params); } @@ -145,7 +145,7 @@ int Uart::read(uint8_t *buffer, size_t size) { void Uart::flush() { if (k_task_is_in_progress()) { while (m_tx_busy) { - k_event_receive(&m_event, 1, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); + k_sem_acquire(&m_sem, K_TIMEOUT_FOREVER); } } } @@ -206,8 +206,8 @@ size_t Uart::write(const uint8_t *buffer, size_t size) { tx_count = m_tx_size - tx_read; } - if (tx_count > CDC_TX_PACKET_SIZE) { - tx_count = CDC_TX_PACKET_SIZE; + if (tx_count > UART_TX_PACKET_SIZE) { + tx_count = UART_TX_PACKET_SIZE; } if (tx_count) { @@ -227,7 +227,7 @@ size_t Uart::write(const uint8_t *buffer, size_t size) { } if (m_tx_busy) { - k_event_receive(&m_event, 1, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); + k_sem_acquire(&m_sem, K_TIMEOUT_FOREVER); } } } while (tx_size == 0); @@ -270,8 +270,8 @@ size_t Uart::write(const uint8_t *buffer, size_t size) { tx_count = m_tx_size - tx_read; } - if (tx_count > CDC_TX_PACKET_SIZE) { - tx_count = CDC_TX_PACKET_SIZE; + if (tx_count > UART_TX_PACKET_SIZE) { + tx_count = UART_TX_PACKET_SIZE; } if (tx_count) { @@ -359,7 +359,7 @@ Uart::operator bool() { void Uart::transmitCallback(class Uart *self) { uint32_t tx_read, tx_write, tx_count; - k_event_send(&self->m_event, 1); + k_sem_release(&self->m_sem); tx_count = self->m_tx_count; @@ -381,8 +381,8 @@ void Uart::transmitCallback(class Uart *self) { tx_count = (self->m_tx_size - tx_read); } - if (tx_count > CDC_TX_PACKET_SIZE) { - tx_count = CDC_TX_PACKET_SIZE; + if (tx_count > UART_TX_PACKET_SIZE) { + tx_count = UART_TX_PACKET_SIZE; } self->m_tx_count = tx_count; diff --git a/cores/arduino/Uart.h b/cores/arduino/Uart.h index 29319f6..4bff55a 100644 --- a/cores/arduino/Uart.h +++ b/cores/arduino/Uart.h @@ -96,7 +96,7 @@ class Uart : public HardwareSerial Callback m_transmit_callback; k_work_t m_work; - k_event_t m_event; + k_sem_t m_sem; static void transmitCallback(class Uart *self); static void eventCallback(class Uart *self, uint32_t events); diff --git a/cores/arduino/avr/fdevopen.c b/cores/arduino/avr/fdevopen.c deleted file mode 100644 index f945cf1..0000000 --- a/cores/arduino/avr/fdevopen.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2016 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include -#include -#include -#include -#include - -extern int (*stm32wb_stdio_put)(char, FILE*); -extern int (*stm32wb_stdio_get)(FILE*); - -FILE * fdevopen(int(*put)(char, FILE *), int(*get)(FILE *)) -{ - if (put != NULL) - { - stm32wb_stdio_put = (void*)put; - - return stdout; - } - - if (get != NULL) - { - stm32wb_stdio_get = get; - - return stdin; - } - - return NULL; -} diff --git a/cores/arduino/main.cpp b/cores/arduino/main.cpp index efa4fdf..a501b3c 100644 --- a/cores/arduino/main.cpp +++ b/cores/arduino/main.cpp @@ -22,8 +22,6 @@ #if defined(ARDUINO_MAKEFILE) -#include "STM32WB.h" - void setup(void) { } diff --git a/cores/arduino/syscalls_stm32wb.c b/cores/arduino/syscalls_stm32wb.c index 5816bd1..6b9030a 100644 --- a/cores/arduino/syscalls_stm32wb.c +++ b/cores/arduino/syscalls_stm32wb.c @@ -37,7 +37,6 @@ #include #include "armv7m.h" -#include "rtos_api.h" extern int wiring_stdin_read(char *data, int nbytes); extern int wiring_stdout_write(const char *data, int nbytes); diff --git a/cores/arduino/wiring.c b/cores/arduino/wiring.c index 552c0f5..406f0dd 100644 --- a/cores/arduino/wiring.c +++ b/cores/arduino/wiring.c @@ -37,8 +37,6 @@ extern "C" { #undef ARDUINO_RV2 -k_event_t g_wakeup_event = K_EVENT_INIT(); - #if defined(USBCON) stm32wb_uart_t g_Serial1; extern const stm32wb_uart_params_t g_Serial1Params; diff --git a/cores/arduino/wiring_private.h b/cores/arduino/wiring_private.h index 0b8d5a6..9792687 100644 --- a/cores/arduino/wiring_private.h +++ b/cores/arduino/wiring_private.h @@ -60,9 +60,8 @@ extern "C" { extern void dosfs_sflash_initialize(); -extern k_event_t g_wakeup_event; - -#define WIRING_EVENT_WAKEUP 0x00000001 +#define WIRING_EVENT_TRANSIENT 0x80000000 +#define WIRING_EVENT_WAKEUP 0x40000000 extern const uint32_t g_pinModeConfiguration[]; diff --git a/libraries/BLE/src/BLE.cpp b/libraries/BLE/src/BLE.cpp index 12b8afa..272292b 100644 --- a/libraries/BLE/src/BLE.cpp +++ b/libraries/BLE/src/BLE.cpp @@ -108,6 +108,7 @@ extern "C" { #define BLE_LSE_SOURCE_NOCALIB 0x00 #define BLE_LSE_SOURCE_CALIB 0x01 #define BLE_LSE_SOURCE_MOD5MM 0x02 +#define BLE_LSE_SOURCE_HSE 0x04 /* HSE/1024 vs LSE */ #define BLE_OPTION_LL_ONLY 0x01 #define BLE_OPTION_NO_SERVICE_CHANGED 0x02 @@ -120,6 +121,9 @@ extern "C" { #define BLE_RX_MODEL_AGC_RSSI_LEGACY 0x00 #define BLE_RX_MODEL_AGC_RSSI_BLOCKER 0x01 +#define BLE_CORE_VERSION_5_2 11 +#define BLE_CORE_VERSION_5_3 12 + #define BLE_VALUE_ATTRIB_HANDLE_OFFSET 1 #define BLE_CCCD_ATTRIB_HANDLE_OFFSET 2 @@ -1762,7 +1766,7 @@ static const uint8_t ER[16] = { 0xfe,0xdc,0xba,0x09,0x87,0x65,0x43,0x21,0xfe,0xd static const uint8_t IR[16] = { 0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0 }; static void hci_done_req(k_task_t *task) { - k_task_wakeup(task); + k_event_send(task, WIRING_EVENT_TRANSIENT); } int hci_send_req(stm32wb_ipcc_ble_command_t *command, bool async) { @@ -1779,7 +1783,7 @@ int hci_send_req(stm32wb_ipcc_ble_command_t *command, bool async) { return BLE_STATUS_ERROR; } - if (k_task_sleep(K_TIMEOUT_FOREVER) != K_NO_ERROR) { + if (k_event_receive(WIRING_EVENT_TRANSIENT, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL) != K_NO_ERROR) { return BLE_STATUS_ERROR; } @@ -1886,6 +1890,9 @@ bool BLELocalDevice::begin(int mtu, uint32_t options) { 0, /* MaxAdvDataLen */ BLE_TX_PATH_COMPENSATION, /* TxPathCompensation */ BLE_RX_PATH_COMPENSATION /* RxPacthCompensation */ +#if 0 + BLE_CORE_VERSION_5_2, /* BleCoreVersion */ +#endif }; if (!stm32wb_ipcc_sys_enable()) { diff --git a/libraries/GNSS/src/utility/gnss_core.c b/libraries/GNSS/src/utility/gnss_core.c index c7021f2..1c5362f 100644 --- a/libraries/GNSS/src/utility/gnss_core.c +++ b/libraries/GNSS/src/utility/gnss_core.c @@ -1692,7 +1692,7 @@ static void ubx_start_message(gnss_device_t *device, unsigned int message) device->rx_chunk = 40; - stm32wb_lptim_timeout_cancel(&device->ubx.timeout); + stm32wb_lptim_timeout_stop(&device->ubx.timeout); } } @@ -2874,14 +2874,14 @@ static void ubx_table(gnss_device_t *device, const uint8_t * const * table) ubx_send(device, data); - stm32wb_lptim_timeout_relative(&device->ubx.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_timeout, NULL); // 125ms + stm32wb_lptim_timeout_start(&device->ubx.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_timeout, NULL); // 125ms } static void ubx_configure(gnss_device_t *device, __attribute__((unused)) unsigned int response, uint32_t command) { const uint8_t *data = NULL; - stm32wb_lptim_timeout_cancel(&device->ubx.timeout); + stm32wb_lptim_timeout_stop(&device->ubx.timeout); // printf("CONFIGURE %04x\r\n", command); @@ -2946,7 +2946,7 @@ static void ubx_configure(gnss_device_t *device, __attribute__((unused)) unsigne { ubx_send(device, data); - stm32wb_lptim_timeout_relative(&device->ubx.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_timeout, NULL); // 125ms + stm32wb_lptim_timeout_start(&device->ubx.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_timeout, NULL); // 125ms } } @@ -3028,7 +3028,7 @@ static void ubx_timeout(void) ubx_send(device, data); - stm32wb_lptim_timeout_relative(&device->ubx.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_timeout, NULL); // 125ms + stm32wb_lptim_timeout_start(&device->ubx.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_timeout, NULL); // 125ms } } @@ -3042,7 +3042,7 @@ static void gnss_send_callback(void) { device->command = ~0l; - stm32wb_lptim_timeout_relative(&device->ubx.sleep, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_sleep, NULL); // 125ms + stm32wb_lptim_timeout_start(&device->ubx.sleep, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(125), (stm32wb_lptim_timeout_callback_t)ubx_sleep, NULL); // 125ms } else { diff --git a/libraries/RTC/src/RTC.cpp b/libraries/RTC/src/RTC.cpp index 3a1d855..f7d8408 100644 --- a/libraries/RTC/src/RTC.cpp +++ b/libraries/RTC/src/RTC.cpp @@ -50,9 +50,10 @@ struct RTCClass::RTCAlarm RTCClass::m_alarm = { .day = 0, .month = 0, .year = 0, - .tod = { }, .callback = Callback(), - .work = K_WORK_INIT(RTCClass::alarmNotify, nullptr) + .work = K_WORK_INIT(RTCClass::alarmNotify, nullptr), + .tod = { }, + .alarm = STM32WB_RTC_ALARM_INIT() }; RTCClass::RTCClass() { @@ -816,11 +817,11 @@ void RTCClass::alarmStart() { alarm_seconds = (alarm_seconds + Y2K_TO_GPS_OFFSET) + stm32wb_rtc_get_leap_seconds() - stm32wb_rtc_get_zone() - stm32wb_rtc_get_dst(); - stm32wb_rtc_alarm_start(alarm_seconds, alarm_ticks, RTCClass::alarmCallback, NULL); + stm32wb_rtc_alarm_start(&m_alarm.alarm, stm32wb_rtc_time_to_clock(alarm_seconds, alarm_ticks), RTCClass::alarmCallback, NULL); } void RTCClass::alarmStop() { - stm32wb_rtc_alarm_stop(); + stm32wb_rtc_alarm_stop(&m_alarm.alarm); } void RTCClass::alarmEvent(__attribute__((unused)) void *context, __attribute__((unused)) uint32_t events) { @@ -829,7 +830,7 @@ void RTCClass::alarmEvent(__attribute__((unused)) void *context, __attribute__(( } } -void RTCClass::alarmCallback(__attribute__((unused)) void *context) { +void RTCClass::alarmCallback(__attribute__((unused)) void *context, uint64_t reference) { if (m_alarm.match == RTC_MATCH_YYMMDDHHMMSS) { m_alarm.match = RTC_MATCH_OFF; } else { diff --git a/libraries/RTC/src/RTC.h b/libraries/RTC/src/RTC.h index 4b870ac..84ba521 100644 --- a/libraries/RTC/src/RTC.h +++ b/libraries/RTC/src/RTC.h @@ -144,9 +144,10 @@ class RTCClass { uint8_t day; uint8_t month; uint8_t year; - stm32wb_rtc_tod_t tod; Callback callback; k_work_t work; + stm32wb_rtc_tod_t tod; + stm32wb_rtc_alarm_t alarm; } m_alarm; static void getTod(stm32wb_rtc_tod_t *tod); @@ -155,7 +156,7 @@ class RTCClass { static void alarmSync(); static void alarmStart(); static void alarmStop(); - static void alarmCallback(void *context); + static void alarmCallback(void *context, uint64_t reference); static void alarmNotify(void *context); static void alarmEvent(void *context, uint32_t events); }; diff --git a/libraries/STM32WB/examples/FWUpdate/FWUpdate.ino b/libraries/STM32WB/examples/FWUpdate/FWUpdate.ino index 1ed03dd..08aba62 100644 --- a/libraries/STM32WB/examples/FWUpdate/FWUpdate.ino +++ b/libraries/STM32WB/examples/FWUpdate/FWUpdate.ino @@ -4,14 +4,13 @@ #include "../Firmware/stm32wb5x_FUS_fw.h" #include "../Firmware/stm32wb5x_FUS_fw_for_fus_0_5_3.h" //#include "../Firmware/stm32wb5x_BLE_Stack_full_fw_1_13_3.h" -#include "../Firmware/stm32wb5x_BLE_Stack_full_fw_1_14_0.h" -//#include "../Firmware/stm32wb5x_BLE_Stack_full_fw_1_14_1.h" +#include "../Firmware/stm32wb5x_BLE_Stack_full_fw_1_14_1.h" bool connected = false; bool success = true; uint32_t code = 0; -#if defined(USBCONN) +#if defined(USBCON) void initUSB() { } #endif @@ -32,7 +31,7 @@ void setup(void) { digitalWrite(LED_BUILTIN, 0); -#if defined(USBCONN) +#if defined(USBCON) USBDevice.begin(); USBDevice.start(); #endif @@ -85,5 +84,3 @@ void loop(void) { delay(500); digitalWrite(LED_BUILTIN, 0); } - - diff --git a/libraries/STM32WB/src/STM32WB.cpp b/libraries/STM32WB/src/STM32WB.cpp index 2cb577c..96f09ec 100644 --- a/libraries/STM32WB/src/STM32WB.cpp +++ b/libraries/STM32WB/src/STM32WB.cpp @@ -166,7 +166,7 @@ void STM32WBClass::getClocks(uint32_t &sysclk, uint32_t &hclk, uint32_t &pclk1, void STM32WBClass::wakeup() { - k_event_send(&g_wakeup_event, WIRING_EVENT_WAKEUP); + k_event_send(k_task_default(), WIRING_EVENT_WAKEUP); } bool STM32WBClass::sleep() @@ -199,7 +199,7 @@ bool STM32WBClass::sleep(uint32_t policy, uint32_t timeout) k_system_set_policy(policy, &policy); - k_event_receive(&g_wakeup_event, WIRING_EVENT_WAKEUP, (K_EVENT_ANY | K_EVENT_CLEAR), timeout, &mask); + k_event_receive(WIRING_EVENT_WAKEUP, (K_EVENT_ANY | K_EVENT_CLEAR), timeout, &mask); k_system_set_policy(policy, NULL); diff --git a/libraries/STM32WB/src/STM32WB.h b/libraries/STM32WB/src/STM32WB.h index be937e4..89cefeb 100644 --- a/libraries/STM32WB/src/STM32WB.h +++ b/libraries/STM32WB/src/STM32WB.h @@ -45,10 +45,9 @@ #define WAKEUP_PIN_3 0x00000004 #define WAKEUP_PIN_4 0x00000008 #define WAKEUP_PIN_5 0x00000010 -#define WAKEUP_TIMEOUT 0x00010000 -#define WAKEUP_ALARM 0x00020000 -#define WAKEUP_WATCHDOG 0x00040000 -#define WAKEUP_RESET 0x00080000 +#define WAKEUP_TIMEOUT 0x00000100 +#define WAKEUP_WATCHDOG 0x00000200 +#define WAKEUP_RESET 0x00000400 #define POLICY_RUN 1 #define POLICY_SLEEP 2 diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index f09b5ce..ad8f750 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -152,7 +152,7 @@ uint8_t TwoWire::endTransmission(bool stopBit) { return 4; } - k_task_sleep(K_TIMEOUT_FOREVER); + k_event_receive(WIRING_EVENT_TRANSIENT, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); m_tx_busy = false; @@ -208,7 +208,7 @@ size_t TwoWire::requestFrom(uint8_t address, size_t size, bool stopBit) { return 0; } - k_task_sleep(K_TIMEOUT_FOREVER); + k_event_receive(WIRING_EVENT_TRANSIENT, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); m_rx_index = 0; @@ -270,7 +270,7 @@ size_t TwoWire::requestFrom(uint8_t address, size_t size, uint32_t iaddress, uin return 0; } - k_task_sleep(K_TIMEOUT_FOREVER); + k_event_receive(WIRING_EVENT_TRANSIENT, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); m_rx_index = 0; @@ -412,7 +412,7 @@ uint8_t TwoWire::transfer(uint8_t address, const uint8_t *txBuffer, size_t txSiz return 4; } - k_task_sleep(K_TIMEOUT_FOREVER); + k_event_receive(WIRING_EVENT_TRANSIENT, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); if (transaction.status == STM32WB_I2C_STATUS_SUCCESS) { m_xf_address = stopBit ? 0 : address; @@ -434,7 +434,7 @@ void TwoWire::reset() { return; } - k_task_sleep(K_TIMEOUT_FOREVER); + k_event_receive(WIRING_EVENT_TRANSIENT, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, NULL); stm32wb_i2c_reset(m_i2c); @@ -456,7 +456,7 @@ void TwoWire::onTransmit(void(*callback)(int)) { void TwoWire::doneCallback(void *context) { k_task_t *task = (k_task_t*)context; - k_task_wakeup(task); + k_event_send(task, WIRING_EVENT_TRANSIENT); } void TwoWire::eventCallback(void *context, uint32_t events) { diff --git a/platform.txt b/platform.txt index ed2d29c..08eb915 100644 --- a/platform.txt +++ b/platform.txt @@ -70,7 +70,7 @@ archive_file_path={build.path}/{archive_file} recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}" ## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} {build.extra_flags} "-T{runtime.platform.path}/system/STM32WBxx/LinkScripts/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" --specs=nano.specs --specs=nosys.specs {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" {object_files} -Wl,--start-group "{build.path}/{archive_file}" -Wl,--end-group {build.variant_system_libs} {compiler.libraries.ldflags} -lc -lm +recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} {build.extra_flags} "-T{runtime.platform.path}/system/STM32WBxx/LdScripts/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" --specs=nano.specs --specs=nosys.specs {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" {object_files} -Wl,--start-group "{build.path}/{archive_file}" -Wl,--end-group {build.variant_system_libs} {compiler.libraries.ldflags} -lc -lm ## Create output (bin file) recipe.objcopy.bin.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.bin.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.bin" diff --git a/system/CMSIS/RTOS2/Source/cmsis_os2.c b/system/CMSIS/RTOS2/Source/cmsis_os2.c index d5b67bd..52ebef3 100644 --- a/system/CMSIS/RTOS2/Source/cmsis_os2.c +++ b/system/CMSIS/RTOS2/Source/cmsis_os2.c @@ -27,7 +27,6 @@ */ #include "armv7m.h" -#include "rtos_api.h" #include "../../CMSIS/RTOS2/Include/cmsis_os2.h" #include @@ -41,7 +40,6 @@ extern void __malloc_unlock(struct _reent *); #define OS_THREAD_MAGIC 0xff544844 #define OS_TIMER_MAGIC 0xff544d52 -#define OS_EVENT_MAGIC 0xff4f5654 #define OS_MUTEX_MAGIC 0xff4e5458 #define OS_SEMAPHORE_MAGIC 0xff53454d @@ -49,7 +47,6 @@ typedef struct _osThread_t { uint32_t magic; const char *name; k_task_t task; - k_event_t event; osThreadFunc_t func; void *argument; void *cb_mem; @@ -63,13 +60,6 @@ typedef struct _osTimer_t { osTimerType_t type; void *cb_mem; } osTimer_t; - -typedef struct _osEventFlags_t { - uint32_t magic; - const char *name; - k_event_t event; - void *cb_mem; -} osEventFlags_t; typedef struct osMutex_t { uint32_t magic; @@ -106,14 +96,6 @@ static const osTimerAttr_t osTimerAttrDefault = .cb_size = 0 }; -static const osEventFlagsAttr_t osEventFlagsAttrDefault = -{ - .name = NULL, - .attr_bits = 0, - .cb_mem = 0, - .cb_size = 0 -}; - static const osMutexAttr_t osMutexAttrDefault = { .name = NULL, @@ -462,7 +444,6 @@ osThreadId_t osThreadNew(osThreadFunc_t func, void *argument, const osThreadAttr thread->magic = OS_THREAD_MAGIC; thread->name = name; - thread->event = K_EVENT_INIT(); thread->func = func; thread->argument = argument; thread->cb_mem = attr->cb_mem ? NULL : thread; @@ -816,7 +797,6 @@ uint32_t osThreadEnumerate(osThreadId_t *thread_array, uint32_t array_items) uint32_t osThreadFlagsSet(osThreadId_t thread_id, uint32_t flags) { osThread_t *thread = (osThread_t*)thread_id; - uint32_t flags_return; int status; if (!thread || (thread->magic != OS_THREAD_MAGIC)) @@ -829,92 +809,59 @@ uint32_t osThreadFlagsSet(osThreadId_t thread_id, uint32_t flags) return osFlagsErrorParameter; } - status = k_event_send(&thread->event, flags); + status = k_event_send(&thread->task, flags); if (status != K_NO_ERROR) { return osXlateKernelFlags[status]; } - status = k_event_receive(&thread->event, 0, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_NONE, &flags_return); - - if (status != K_NO_ERROR) - { - return osXlateKernelFlags[status]; - } - - return flags_return; + return thread->task.events; } uint32_t osThreadFlagsClear(uint32_t flags) { - osThread_t *thread; + k_task_t *self; uint32_t flags_return; int status; - - if (!k_task_is_in_progress()) - { - return osFlagsErrorISR; - } - - thread = (osThread_t*)(((uint32_t)k_task_self()) - offsetof(osThread_t, task)); - - if (thread->magic != OS_THREAD_MAGIC) - { - return osFlagsErrorUnknown; - } if (flags & 0x80000000) { return osFlagsErrorParameter; } - - status = k_event_receive(&thread->event, flags, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_NONE, &flags_return); - + + status = k_event_receive(flags, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_NONE, &flags_return); + if (status != K_NO_ERROR) { return osXlateKernelFlags[status]; } - return flags_return; + self = k_task_self(); + + return self->events | flags_return; } uint32_t osThreadFlagsGet(void) { - osThread_t *thread; - - if (!k_task_is_in_progress()) - { - return osFlagsErrorISR; - } - - thread = (osThread_t*)(((uint32_t)k_task_self()) - offsetof(osThread_t, task)); + k_task_info_t info; + int status; + + status = k_task_info(k_task_self(), &info); - if (thread->magic != OS_THREAD_MAGIC) + if (status != K_NO_ERROR) { - return osFlagsErrorUnknown; + return osXlateKernelFlags[status]; } - return k_event_mask(&thread->event); + return info.events; } uint32_t osThreadFlagsWait(uint32_t flags, uint32_t options, uint32_t timeout) { - osThread_t *thread; + k_task_info_t info; uint32_t flags_return; int status; - - if (!k_task_is_in_progress()) - { - return osFlagsErrorISR; - } - - thread = (osThread_t*)(((uint32_t)k_task_self()) - offsetof(osThread_t, task)); - - if (thread->magic != OS_THREAD_MAGIC) - { - return osFlagsErrorUnknown; - } if (flags & 0x80000000) { @@ -926,14 +873,21 @@ uint32_t osThreadFlagsWait(uint32_t flags, uint32_t options, uint32_t timeout) return osFlagsErrorParameter; } - status = k_event_receive(&thread->event, flags, (((options & osFlagsWaitAll) ? K_EVENT_ALL : K_EVENT_ANY) | ((options & osFlagsNoClear) ? 0 : K_EVENT_CLEAR)), timeout, &flags_return); + status = k_event_receive(flags, (((options & osFlagsWaitAll) ? K_EVENT_ALL : K_EVENT_ANY) | ((options & osFlagsNoClear) ? 0 : K_EVENT_CLEAR)), timeout, &flags_return); if (status != K_NO_ERROR) { return osXlateKernelFlags[status]; } - return flags_return | k_event_mask(&thread->event); + status = k_task_info(k_task_self(), &info); + + if (status != K_NO_ERROR) + { + return osXlateKernelFlags[status]; + } + + return info.events | flags_return; } osStatus_t osDelay(uint32_t ticks) @@ -952,6 +906,7 @@ osStatus_t osDelayUntil(uint32_t ticks) int status; clock = k_system_clock(); + reference = clock; status = k_task_delay_until(clock + ((uint32_t)(ticks - reference))); @@ -1125,213 +1080,7 @@ osStatus_t osTimerDelete(osTimerId_t timer_id) return osXlateKernelStatus[status]; } -osEventFlagsId_t osEventFlagsNew (const osEventFlagsAttr_t *attr) -{ - osEventFlags_t *ef; - const char *name; - - if (armv7m_core_is_in_interrupt()) - { - return (osEventFlagsId_t)NULL; - } - - if (!attr) - { - attr = &osEventFlagsAttrDefault; - } - - name = attr->name; - - ef = (osEventFlags_t*)attr->cb_mem; - - if (ef) - { - if (((uint32_t)ef & 3) || (attr->cb_size < sizeof(osEventFlags_t))) - { - return (osEventFlagsId_t)NULL; - } - } - else - { - if (attr->cb_size != 0) - { - return (osEventFlagsId_t)NULL; - } - } - - if (!ef) - { - ef = (osEventFlags_t*)malloc(sizeof(osEventFlags_t)); - - if (!ef) - { - return (osEventFlagsId_t)NULL; - } - } - - ef->magic = OS_EVENT_MAGIC; - ef->name = name; - ef->cb_mem = attr->cb_mem ? NULL : ef; - - if (k_event_init(&ef->event) != K_NO_ERROR) - { - ef->magic = ~OS_EVENT_MAGIC; - - if (!attr->cb_mem) - { - free(ef); - } - - return (osEventFlagsId_t)NULL; - } - - return (osEventFlagsId_t)ef; -} -const char *osEventFlagsGetName(osEventFlagsId_t ef_id) -{ - osEventFlags_t *ef = (osEventFlags_t*)ef_id; - - if (armv7m_core_is_in_interrupt()) - { - return NULL; - } - - if (!ef || (ef->magic != OS_EVENT_MAGIC)) - { - return NULL; - } - - return ef->name; -} - -uint32_t osEventFlagsSet(osEventFlagsId_t ef_id, uint32_t flags) -{ - osEventFlags_t *ef = (osEventFlags_t*)ef_id; - uint32_t flags_return; - int status; - - if (!ef || (ef->magic != OS_EVENT_MAGIC)) - { - return osFlagsErrorParameter; - } - - if (flags & 0x80000000) - { - return osFlagsErrorParameter; - } - - status = k_event_send(&ef->event, flags); - - if (status != K_NO_ERROR) - { - return osXlateKernelFlags[status]; - } - - status = k_event_receive(&ef->event, 0, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_NONE, &flags_return); - - if (status != K_NO_ERROR) - { - return osXlateKernelFlags[status]; - } - - return flags_return; -} - -uint32_t osEventFlagsClear(osEventFlagsId_t ef_id, uint32_t flags) -{ - osEventFlags_t *ef = (osEventFlags_t*)ef_id; - uint32_t flags_return; - int status; - - if (!ef || (ef->magic != OS_EVENT_MAGIC)) - { - return osFlagsErrorParameter; - } - - if (flags & 0x80000000) - { - return osFlagsErrorParameter; - } - - status = k_event_receive(&ef->event, flags, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_NONE, &flags_return); - - if (status != K_NO_ERROR) - { - return osXlateKernelFlags[status]; - } - - return flags_return; -} - -uint32_t osEventFlagsGet(osEventFlagsId_t ef_id) -{ - osEventFlags_t *ef = (osEventFlags_t*)ef_id; - - if (!ef || (ef->magic != OS_EVENT_MAGIC)) - { - return 0; - } - - return k_event_mask(&ef->event); -} - -uint32_t osEventFlagsWait(osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout) -{ - osEventFlags_t *ef = (osEventFlags_t*)ef_id; - uint32_t flags_return; - int status; - - if (!ef || (ef->magic != OS_EVENT_MAGIC)) - { - return osFlagsErrorParameter; - } - - if (flags & 0x80000000) - { - return osFlagsErrorParameter; - } - - if (options & ~(osFlagsWaitAll | osFlagsNoClear)) - { - return osFlagsErrorParameter; - } - - status = k_event_receive(&ef->event, flags, (((options & osFlagsWaitAll) ? K_EVENT_ALL : K_EVENT_ANY) | ((options & osFlagsNoClear) ? 0 : K_EVENT_CLEAR)), timeout, &flags_return); - - if (status != K_NO_ERROR) - { - return osXlateKernelFlags[status]; - } - - return flags_return | k_event_mask(&ef->event); -} - -osStatus_t osEventFlagsDelete(osEventFlagsId_t ef_id) -{ - osEventFlags_t *ef = (osEventFlags_t*)ef_id; - int status; - - if (!ef || (ef->magic != OS_EVENT_MAGIC)) - { - return osErrorParameter; - } - - status = k_event_deinit(&ef->event); - - if (status == K_NO_ERROR) - { - ef->magic = ~OS_EVENT_MAGIC; - - if (ef->cb_mem) - { - free(ef->cb_mem); - } - } - - return osXlateKernelStatus[status]; -} - osMutexId_t osMutexNew(const osMutexAttr_t *attr) { osMutex_t *mutex; @@ -1490,6 +1239,7 @@ osStatus_t osMutexDelete(osMutexId_t mutex_id) return osXlateKernelStatus[status]; } + osSemaphoreId_t osSemaphoreNew(uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr) { osSemaphore_t *semaphore; diff --git a/system/STM32WBxx/Firmware/stm32wb5x_BLE_Stack_full_fw_1_14_0.h b/system/STM32WBxx/Firmware/stm32wb5x_BLE_Stack_full_fw_1_14_0.h deleted file mode 100644 index ea68fbc..0000000 --- a/system/STM32WBxx/Firmware/stm32wb5x_BLE_Stack_full_fw_1_14_0.h +++ /dev/null @@ -1,9392 +0,0 @@ -static const uint32_t WirelessStackAddress = 0x080cf000; -static const uint32_t WirelessStackVersion = 0x010e0000; -static const uint32_t WirelessStackType = STM32WB_IPCC_SYS_INFO_STACK_TYPE_BLE_FULL; - -static const uint8_t WirelessStackImage[] = { - 0xad, 0xc9, 0x41, 0xbc, 0x78, 0x3b, 0x62, 0x79, 0x21, 0x37, 0x40, 0x87, 0x48, 0xf9, 0x49, 0xd9, - 0x2f, 0x76, 0x61, 0x69, 0xdb, 0xf0, 0x38, 0x50, 0x17, 0xb4, 0xee, 0xeb, 0x15, 0x34, 0x1b, 0x33, - 0xa9, 0xa3, 0x45, 0x44, 0x72, 0x22, 0xa9, 0xf1, 0x9f, 0x27, 0x78, 0x1a, 0x56, 0x1b, 0x44, 0x84, - 0xb4, 0x8a, 0x8e, 0xe5, 0x61, 0x66, 0xd1, 0x6f, 0xab, 0x29, 0xd0, 0xe7, 0xa6, 0xf1, 0xcf, 0x9d, - 0x00, 0x92, 0xea, 0xb4, 0xf3, 0xc5, 0xe8, 0x4d, 0x9c, 0x94, 0x54, 0x6f, 0x4f, 0x1a, 0x31, 0x6c, - 0xaf, 0xea, 0x82, 0x16, 0xfd, 0x79, 0x4c, 0x8d, 0xd1, 0xdc, 0xbc, 0xd8, 0x7e, 0x77, 0xfb, 0x54, - 0x31, 0xd2, 0x9b, 0x2a, 0x07, 0xbf, 0x94, 0x9d, 0x31, 0xdc, 0xd9, 0x5f, 0xab, 0x71, 0xf1, 0xe9, - 0x9b, 0x34, 0x51, 0x11, 0x2e, 0x4a, 0x50, 0xd0, 0xb4, 0xf1, 0x50, 0x6c, 0x86, 0xb7, 0x06, 0xcc, - 0xca, 0x88, 0x9e, 0xd6, 0x52, 0x9b, 0xb6, 0xde, 0xd2, 0x40, 0x68, 0x5e, 0x18, 0x48, 0x04, 0xbc, - 0xd9, 0x68, 0x5b, 0x03, 0x0d, 0x0c, 0x7d, 0x92, 0xd3, 0xfa, 0x6e, 0xf1, 0xcf, 0xdf, 0x20, 0x25, - 0xed, 0x3a, 0xc5, 0xb8, 0xa1, 0xdf, 0x64, 0xc5, 0x2c, 0xa6, 0x57, 0x79, 0x7a, 0xe2, 0xf8, 0x03, - 0xe7, 0x7e, 0xda, 0x50, 0xe2, 0x48, 0x33, 0x39, 0x40, 0xb7, 0x78, 0xc8, 0x83, 0xb8, 0xd9, 0x7c, - 0xc2, 0x9e, 0x5e, 0xaa, 0x29, 0xd1, 0xd4, 0x1b, 0xfb, 0x7f, 0x12, 0xf0, 0xc0, 0x86, 0x00, 0xa1, - 0xdc, 0xde, 0xf0, 0xe4, 0x91, 0xaf, 0x7e, 0xf4, 0xcb, 0x25, 0xc3, 0x5b, 0x40, 0x4e, 0x10, 0xc0, - 0x7f, 0xe2, 0x7b, 0xec, 0x31, 0xe5, 0x12, 0xf7, 0x71, 0x21, 0x65, 0x44, 0xaf, 0xde, 0x44, 0x68, - 0xf0, 0x47, 0xa5, 0xd4, 0x92, 0xf9, 0x5e, 0x5c, 0xfd, 0x23, 0x60, 0x2d, 0xc5, 0x61, 0x14, 0xcd, - 0xef, 0xd1, 0x8f, 0xc3, 0x88, 0xfa, 0x7a, 0xd1, 0x7f, 0x0f, 0x79, 0x86, 0x49, 0x92, 0x4c, 0x05, - 0x08, 0x40, 0x57, 0xc5, 0x41, 0x8a, 0x6a, 0x97, 0x5e, 0x5c, 0x7b, 0x52, 0xac, 0x3d, 0xab, 0x92, - 0xfa, 0x07, 0xa5, 0x15, 0x1a, 0x60, 0xe6, 0xa5, 0xf4, 0x93, 0x8b, 0xfb, 0x63, 0x33, 0x38, 0x2f, - 0xe2, 0x60, 0x71, 0x82, 0xa3, 0x66, 0xca, 0x87, 0x0e, 0x3b, 0xbb, 0x54, 0xa2, 0x4b, 0x59, 0xdc, - 0xc9, 0xa2, 0x56, 0x8b, 0x9e, 0x75, 0xda, 0x3b, 0x6d, 0x7a, 0x73, 0xe7, 0x8a, 0x8e, 0x64, 0xed, - 0x62, 0x0d, 0xf0, 0x2b, 0x57, 0x4d, 0x3e, 0x79, 0x93, 0x92, 0x59, 0x6c, 0x8f, 0x52, 0x49, 0x00, - 0x61, 0x50, 0x62, 0x23, 0xb2, 0x9b, 0x52, 0xae, 0x92, 0x5c, 0x5a, 0xce, 0xaa, 0x47, 0xee, 0x86, - 0xac, 0xaf, 0x7d, 0x75, 0x5d, 0x04, 0x53, 0x67, 0x21, 0xfe, 0xdd, 0x7f, 0x24, 0x15, 0x13, 0xe1, - 0x58, 0x6a, 0xda, 0x0f, 0xa9, 0x8f, 0x5f, 0xe9, 0xe3, 0xf6, 0x19, 0xda, 0xc9, 0x8a, 0x92, 0x74, - 0x97, 0xa4, 0x27, 0xe2, 0xd5, 0x2f, 0x2a, 0x10, 0x8f, 0xff, 0x8e, 0x31, 0x8f, 0xf8, 0x2d, 0x24, - 0x78, 0xbd, 0xc4, 0xb1, 0x68, 0xa3, 0x54, 0x68, 0xa7, 0xc2, 0x12, 0xa7, 0x22, 0x88, 0x90, 0x1c, - 0x1b, 0xa7, 0x62, 0x2d, 0x6b, 0x5c, 0x29, 0x86, 0x55, 0x21, 0x1c, 0x06, 0x15, 0xb5, 0xf8, 0x82, - 0x3a, 0x82, 0xa6, 0x50, 0x80, 0x77, 0xb5, 0x42, 0x1a, 0x35, 0x98, 0x8b, 0x03, 0x9a, 0x43, 0xb7, - 0x1a, 0x7f, 0xe2, 0x9c, 0x49, 0x5d, 0x99, 0xe1, 0xd7, 0xa3, 0x04, 0x59, 0x1f, 0xfb, 0x35, 0xbc, - 0xa5, 0xf4, 0x48, 0x63, 0x5b, 0xa2, 0xe1, 0x6e, 0x3e, 0x5b, 0xb2, 0xe2, 0x92, 0xe2, 0x8d, 0x6c, - 0xf4, 0x74, 0xd9, 0x5a, 0x31, 0x08, 0x98, 0x14, 0x6a, 0x2b, 0x35, 0xd8, 0x81, 0x3f, 0x52, 0xc8, - 0xdd, 0xc8, 0x5e, 0x7e, 0x5c, 0xbe, 0x20, 0xb4, 0x83, 0xc1, 0xa6, 0x29, 0xe8, 0xd0, 0x1d, 0x6f, - 0xb8, 0x58, 0xd8, 0x15, 0x0f, 0xfb, 0x87, 0x24, 0xc5, 0xcf, 0x23, 0x2b, 0x35, 0x81, 0x29, 0xfb, - 0x6c, 0x68, 0x35, 0x04, 0x0e, 0x86, 0x57, 0xe0, 0x19, 0xc1, 0x8f, 0x66, 0xdd, 0x3d, 0xbd, 0x0e, - 0x64, 0x47, 0x75, 0x87, 0x44, 0xee, 0x4e, 0x81, 0xef, 0x63, 0xf0, 0x7b, 0x63, 0x6e, 0x24, 0x82, - 0xda, 0xa8, 0x30, 0xf9, 0x95, 0xcc, 0xb5, 0xa2, 0x12, 0x52, 0x45, 0x7b, 0xac, 0x33, 0x63, 0xc0, - 0xc4, 0x1b, 0xa5, 0xf2, 0x7d, 0x4e, 0x60, 0x7d, 0x3a, 0xa5, 0xe1, 0x4b, 0xa7, 0x00, 0x53, 0xf5, - 0xa5, 0x4b, 0x04, 0x1d, 0x02, 0x71, 0x5e, 0xf0, 0x8c, 0xba, 0xc6, 0xee, 0xcd, 0x98, 0x0f, 0x6a, - 0x43, 0xbe, 0x4a, 0xb9, 0xa7, 0x9c, 0x22, 0x83, 0x6c, 0x09, 0x64, 0x83, 0x87, 0xe4, 0x09, 0x55, - 0xc5, 0x5d, 0x7f, 0x3b, 0xdf, 0x99, 0xe1, 0x90, 0x72, 0xa9, 0x84, 0x5f, 0xe5, 0x64, 0xf1, 0xb2, - 0xe1, 0x17, 0x50, 0xb5, 0xf9, 0xc9, 0x60, 0xe3, 0xac, 0xc8, 0x14, 0xc1, 0x3d, 0x40, 0xa8, 0x4e, - 0x84, 0x2c, 0xee, 0xbd, 0x9d, 0x3a, 0x57, 0xb4, 0xd0, 0x63, 0xba, 0x48, 0xad, 0xee, 0xb2, 0x0a, - 0x4d, 0xd4, 0xe4, 0xcd, 0x0e, 0xec, 0xd4, 0xa7, 0x1d, 0x16, 0xc0, 0x69, 0x10, 0xef, 0x0a, 0x3a, - 0xb7, 0x15, 0x8b, 0xed, 0x3c, 0xcb, 0x7e, 0x5b, 0x75, 0x36, 0xc3, 0x98, 0xc2, 0x42, 0xcf, 0xa0, - 0x52, 0x97, 0x56, 0x8b, 0x11, 0x8d, 0x0b, 0x53, 0xfa, 0x07, 0xc0, 0xf2, 0xea, 0x33, 0xed, 0xb5, - 0x24, 0x2e, 0xf6, 0x7b, 0xd4, 0x5f, 0x85, 0xa8, 0xe6, 0x92, 0x6f, 0x13, 0xde, 0xb0, 0x18, 0x3a, - 0x0f, 0x78, 0xed, 0xd2, 0x7d, 0x82, 0x3d, 0xbb, 0xe6, 0xb8, 0x5c, 0x9e, 0x69, 0x07, 0x9e, 0xf3, - 0x6c, 0x92, 0xa9, 0x1b, 0xb8, 0xae, 0x7b, 0xbb, 0xce, 0x9e, 0x1d, 0x08, 0x9a, 0x66, 0x78, 0x58, - 0x4a, 0x69, 0x78, 0xef, 0xcf, 0x16, 0x0f, 0xc0, 0x6a, 0x82, 0xed, 0x32, 0xdf, 0xa1, 0xaf, 0xae, - 0x56, 0xa2, 0xc8, 0x1c, 0x94, 0x42, 0x25, 0x9d, 0xe8, 0xa2, 0xc1, 0x68, 0x04, 0x20, 0x93, 0x3e, - 0x32, 0xac, 0x7e, 0x96, 0xcd, 0x07, 0xfc, 0x5d, 0x41, 0x7a, 0x0b, 0x28, 0xdb, 0x26, 0xd0, 0x2c, - 0xaa, 0x32, 0xea, 0x39, 0x99, 0xb0, 0x44, 0x88, 0x45, 0xea, 0x60, 0x11, 0xd9, 0xf9, 0xdd, 0x0b, - 0x87, 0x23, 0xf0, 0x3d, 0x66, 0xa8, 0x47, 0x6e, 0xd2, 0x89, 0xde, 0x5f, 0x93, 0x3a, 0xc0, 0x0e, - 0x42, 0xf3, 0x2b, 0x63, 0xa7, 0xcc, 0xd0, 0xc1, 0xa7, 0xa8, 0x92, 0xc0, 0x1e, 0x8b, 0x21, 0x9c, - 0x93, 0x6a, 0x42, 0x34, 0x6a, 0x62, 0x78, 0x3d, 0xae, 0xf8, 0x4d, 0xf1, 0x84, 0xb1, 0x96, 0xc2, - 0x0b, 0x68, 0x9a, 0x7a, 0xe7, 0xd5, 0xa7, 0x46, 0xae, 0xa6, 0xa4, 0x84, 0x9d, 0x52, 0x1a, 0x96, - 0x74, 0x4e, 0x6c, 0xa8, 0x65, 0xbd, 0x0c, 0xa3, 0xf9, 0xd7, 0x25, 0xf2, 0x21, 0xf4, 0x49, 0x80, - 0xc9, 0xbe, 0xd1, 0x79, 0xe6, 0xdc, 0xd4, 0xf8, 0xb9, 0xf7, 0x00, 0xf5, 0xe3, 0xc1, 0x38, 0xc5, - 0xcf, 0x2b, 0x13, 0x1e, 0x45, 0x5b, 0xcd, 0xe8, 0xf3, 0xec, 0x5b, 0x6a, 0xad, 0x46, 0x35, 0xc3, - 0xcb, 0x06, 0x2b, 0xc7, 0xec, 0xff, 0x82, 0x28, 0x16, 0x64, 0x18, 0x0a, 0xe7, 0x74, 0xb1, 0x5f, - 0x29, 0x5d, 0xad, 0xc5, 0x3d, 0xcf, 0x86, 0xb1, 0x69, 0x81, 0xfd, 0x11, 0x95, 0x5b, 0x26, 0x35, - 0x03, 0x47, 0x21, 0x6f, 0xa3, 0x59, 0xef, 0xd6, 0x53, 0x7a, 0xe4, 0xa6, 0x16, 0x3d, 0x7b, 0x42, - 0x67, 0xf8, 0xd2, 0x4a, 0xd7, 0x76, 0xa4, 0xb8, 0x8a, 0x0b, 0x76, 0xf7, 0xf2, 0x05, 0xc8, 0xa1, - 0x6b, 0xee, 0xdf, 0x9e, 0xdd, 0xd4, 0xd5, 0x27, 0x93, 0xdc, 0x51, 0x26, 0x47, 0xd6, 0xb8, 0x88, - 0x94, 0x89, 0x2b, 0x93, 0x8c, 0x90, 0x86, 0xd6, 0x96, 0x29, 0xa4, 0x7e, 0x73, 0xca, 0x0b, 0xaf, - 0x97, 0x2b, 0x7a, 0x47, 0x0c, 0xaf, 0xd2, 0x82, 0x0e, 0x8f, 0xcd, 0x31, 0xec, 0x73, 0xfe, 0xb9, - 0xe3, 0xaa, 0x90, 0x90, 0x3c, 0x92, 0x90, 0x34, 0xfe, 0xab, 0xf2, 0x6c, 0x0a, 0x19, 0xfc, 0x44, - 0x1b, 0x7c, 0x8e, 0x9b, 0xe2, 0xc2, 0xa4, 0x9d, 0x79, 0x2f, 0x4e, 0xb4, 0xbe, 0x46, 0x1b, 0x70, - 0x42, 0x33, 0x46, 0x22, 0xf7, 0xb5, 0x51, 0xa6, 0x04, 0x76, 0x02, 0x85, 0xd1, 0x9c, 0x3c, 0xd8, - 0x6b, 0x58, 0x54, 0x4e, 0x82, 0xdc, 0xcf, 0xfe, 0xd9, 0x0b, 0xf1, 0x7a, 0x4c, 0xb6, 0xc1, 0xe9, - 0x70, 0x11, 0x01, 0x13, 0x70, 0x0b, 0x83, 0x96, 0x97, 0x1a, 0x4e, 0xc4, 0x0c, 0xae, 0xa6, 0x61, - 0x0b, 0x34, 0x4d, 0x1b, 0x49, 0x4d, 0x45, 0x57, 0x8b, 0x61, 0xc9, 0x85, 0x74, 0x53, 0x78, 0x71, - 0x53, 0x40, 0xfc, 0x41, 0xba, 0x8a, 0x0e, 0x44, 0xd8, 0xf9, 0xc9, 0xa1, 0x06, 0xf6, 0x74, 0x95, - 0x46, 0xb9, 0x33, 0xdd, 0xea, 0xdf, 0x8b, 0x49, 0x23, 0x7d, 0xe7, 0xea, 0x50, 0x37, 0xd1, 0x95, - 0x0b, 0x37, 0x3b, 0x52, 0x1d, 0x3b, 0x76, 0x81, 0x4e, 0xc4, 0x58, 0x76, 0xe6, 0x80, 0x30, 0xdf, - 0x00, 0x4f, 0xe9, 0x62, 0x51, 0xa4, 0x87, 0xcb, 0x6d, 0x15, 0x27, 0x88, 0x21, 0x04, 0x08, 0xe6, - 0xe6, 0xbd, 0x0e, 0x03, 0x49, 0x5f, 0xfe, 0xb4, 0x96, 0xa6, 0x7b, 0xec, 0x37, 0x43, 0xd3, 0x14, - 0x06, 0x76, 0x3c, 0xb2, 0xaf, 0x1d, 0x51, 0xb8, 0x64, 0x28, 0x7f, 0xbe, 0x88, 0x62, 0x8a, 0xcd, - 0x75, 0x2f, 0xa5, 0xe7, 0xf7, 0xdf, 0x99, 0xb4, 0x6d, 0x54, 0xf1, 0xfe, 0xab, 0xbd, 0xc6, 0x9d, - 0x0a, 0x43, 0x86, 0xc7, 0x2b, 0xbd, 0x34, 0x2c, 0x11, 0xa9, 0xe6, 0xb9, 0x05, 0xf6, 0xe3, 0x5e, - 0x4a, 0x1a, 0x4a, 0x88, 0xd2, 0xe5, 0x9a, 0xa8, 0x02, 0x28, 0xb6, 0xf8, 0xff, 0x98, 0xee, 0xf2, - 0x17, 0xb1, 0x8e, 0x86, 0xd6, 0xe7, 0xa7, 0xc3, 0xd3, 0x15, 0xf7, 0x56, 0xf1, 0xd5, 0xd9, 0x0e, - 0x92, 0x63, 0xa0, 0x27, 0x0e, 0x96, 0x9c, 0x38, 0xe6, 0xa5, 0x86, 0x30, 0x20, 0x39, 0x2c, 0x3c, - 0x17, 0x1b, 0xbb, 0xee, 0xa3, 0xcc, 0x77, 0x9b, 0x3b, 0xde, 0xf6, 0xa6, 0xbb, 0xe0, 0x01, 0x9c, - 0xf7, 0x48, 0x3e, 0x88, 0xbe, 0x5a, 0x6f, 0xf6, 0x8f, 0x1b, 0x14, 0x22, 0x51, 0x33, 0xf0, 0xe0, - 0x2a, 0x21, 0x80, 0x93, 0x89, 0x6c, 0xd6, 0xc8, 0x09, 0xe6, 0x87, 0x55, 0x5b, 0x97, 0x5e, 0x8e, - 0xdd, 0xc6, 0xc6, 0x64, 0x50, 0x59, 0xa4, 0x7d, 0x74, 0x5f, 0xcb, 0x8d, 0x6c, 0xc3, 0xe7, 0x15, - 0xb4, 0x90, 0x7d, 0x37, 0x9b, 0x5b, 0x6b, 0x23, 0xca, 0x90, 0xa7, 0x42, 0x3d, 0x13, 0x43, 0xb6, - 0x50, 0x30, 0x86, 0xa6, 0x92, 0x71, 0xc0, 0x8c, 0x8f, 0x00, 0xf4, 0xa8, 0x3c, 0xc2, 0x9d, 0x5b, - 0x75, 0xe6, 0x36, 0xdd, 0x78, 0xb1, 0x33, 0x54, 0x06, 0xee, 0x50, 0x8d, 0xb2, 0x7b, 0x2b, 0xf8, - 0x3f, 0xf5, 0x50, 0x3d, 0xc1, 0xa4, 0x06, 0x9c, 0x82, 0xa2, 0x82, 0x2b, 0x81, 0xe7, 0x8f, 0xac, - 0x66, 0x29, 0xa7, 0x9c, 0xcb, 0x05, 0x80, 0xc5, 0xb3, 0x1f, 0xec, 0x42, 0xf3, 0x5d, 0x09, 0x12, - 0xd8, 0x58, 0x51, 0x45, 0xbe, 0xf7, 0xf3, 0xdd, 0x27, 0x7a, 0x16, 0xcf, 0x19, 0xa3, 0x62, 0xce, - 0xbe, 0x31, 0xac, 0xfc, 0xce, 0xd0, 0x08, 0x79, 0x27, 0x68, 0xab, 0xf0, 0x40, 0x0e, 0x86, 0xb1, - 0x51, 0x8c, 0x7b, 0x2d, 0x04, 0x47, 0x26, 0x8b, 0x40, 0x95, 0xfc, 0xed, 0xd9, 0x76, 0x31, 0xc7, - 0x1a, 0x67, 0xc9, 0x3c, 0x63, 0x88, 0x8b, 0x11, 0x24, 0x9b, 0xab, 0x8e, 0x8a, 0x7f, 0x91, 0x0a, - 0x90, 0xd2, 0x6d, 0x8f, 0x4d, 0x0b, 0x33, 0xea, 0x3e, 0x1a, 0xe3, 0x66, 0xf9, 0x91, 0x50, 0xa9, - 0xad, 0xd9, 0xb4, 0x4f, 0x08, 0x38, 0x39, 0x98, 0xc1, 0x65, 0x30, 0x70, 0xcd, 0xb6, 0x48, 0x9d, - 0xc3, 0x43, 0x9c, 0xa5, 0x9f, 0x01, 0x64, 0x22, 0xf7, 0x1b, 0xfd, 0x9e, 0x90, 0xac, 0xfe, 0x44, - 0x86, 0x40, 0x11, 0x29, 0xba, 0xf8, 0xa9, 0x07, 0x2e, 0x2c, 0x06, 0x8a, 0x8c, 0x25, 0x61, 0x6a, - 0x02, 0x29, 0x0d, 0x45, 0xa4, 0x17, 0xb7, 0x38, 0xd9, 0x10, 0xd9, 0x14, 0xd3, 0xf4, 0xe6, 0x8b, - 0xe4, 0xba, 0xcb, 0x1e, 0xd1, 0x38, 0xd5, 0x2f, 0xaa, 0x25, 0xc9, 0xf9, 0xbb, 0xe3, 0x83, 0xf0, - 0x09, 0xa2, 0x47, 0xf8, 0xe0, 0x50, 0x4d, 0xa9, 0x22, 0xf2, 0x9b, 0x04, 0xd7, 0xba, 0xb3, 0x7b, - 0x75, 0x04, 0x83, 0xbb, 0xf3, 0x80, 0xc6, 0x93, 0xf2, 0xeb, 0xc9, 0xe4, 0x08, 0x21, 0x41, 0x1b, - 0x34, 0x4d, 0x9b, 0xd2, 0xa2, 0xd6, 0x8c, 0x40, 0x87, 0xf7, 0x8d, 0x71, 0x7c, 0x7d, 0x65, 0xe1, - 0x25, 0x30, 0x62, 0x01, 0xce, 0x31, 0x73, 0x67, 0x02, 0x47, 0x5b, 0x66, 0xea, 0x00, 0x16, 0x28, - 0xa2, 0xa1, 0xa3, 0x1e, 0xfe, 0x39, 0x44, 0xc3, 0x33, 0x64, 0xcd, 0x4a, 0xdb, 0xde, 0x7d, 0xae, - 0xaf, 0x35, 0x0c, 0x53, 0x2a, 0x40, 0x56, 0x63, 0xb8, 0x24, 0xae, 0x7b, 0x25, 0x48, 0x69, 0x38, - 0x2a, 0xeb, 0x1b, 0x72, 0xaf, 0x69, 0x59, 0xad, 0xce, 0xbf, 0xcf, 0x68, 0xd7, 0xfe, 0xb1, 0xe5, - 0x16, 0x9d, 0x82, 0xed, 0x22, 0xac, 0xcd, 0x84, 0xe1, 0xba, 0xd9, 0xd8, 0xf6, 0x86, 0x39, 0xe5, - 0x32, 0x4a, 0xb9, 0x32, 0xdb, 0xaf, 0x27, 0xef, 0xe1, 0x8d, 0xe1, 0x52, 0x88, 0x6b, 0x74, 0x75, - 0x08, 0x31, 0xc2, 0x97, 0xb5, 0x41, 0x64, 0xed, 0xa9, 0x6b, 0xa7, 0x1c, 0xfd, 0x04, 0x8f, 0xc7, - 0x83, 0x9b, 0xf2, 0xa1, 0x6f, 0xf4, 0xdc, 0x99, 0x18, 0x5f, 0xa3, 0xe2, 0xcf, 0x0e, 0xb0, 0xca, - 0x64, 0x77, 0x0a, 0x24, 0x11, 0xb8, 0xb1, 0x63, 0xe6, 0x6b, 0xaa, 0xa8, 0xe7, 0x6b, 0xa5, 0x60, - 0xf5, 0xf9, 0x01, 0xd7, 0xae, 0xd7, 0x82, 0x55, 0xac, 0x35, 0xd9, 0xf5, 0xf9, 0x03, 0x34, 0x82, - 0x3a, 0xf8, 0x83, 0x10, 0xf6, 0xbb, 0x1e, 0xef, 0x61, 0xa0, 0xb4, 0x9e, 0x11, 0x88, 0x7e, 0xf3, - 0x94, 0xd4, 0xbc, 0x35, 0x92, 0xfe, 0x46, 0x49, 0xe8, 0xd6, 0x41, 0x06, 0x8d, 0xd2, 0xd5, 0x12, - 0x2e, 0x56, 0x7c, 0x1c, 0x52, 0xaf, 0xa1, 0x63, 0x62, 0x57, 0x7b, 0x5d, 0x63, 0x91, 0x4b, 0xd3, - 0x30, 0x95, 0x88, 0xb8, 0x56, 0x6b, 0xb8, 0xf5, 0x99, 0x19, 0xb7, 0x01, 0xe0, 0x4d, 0x22, 0xdf, - 0x1b, 0x4f, 0xbc, 0x8b, 0xdb, 0xd5, 0x3b, 0x1f, 0x69, 0x7d, 0xad, 0x86, 0x7e, 0xea, 0x10, 0x02, - 0xa8, 0x2d, 0x43, 0x81, 0x1e, 0xcc, 0x22, 0x76, 0x05, 0x8e, 0xb5, 0xb1, 0x1d, 0x8a, 0xe7, 0x12, - 0x3d, 0xeb, 0x72, 0xe8, 0x60, 0xb8, 0x16, 0xf4, 0xc1, 0x59, 0xf7, 0xfc, 0xa9, 0xa6, 0xa7, 0x2e, - 0x6a, 0xb5, 0x63, 0xf7, 0x20, 0xe2, 0xf9, 0x52, 0x86, 0xe2, 0xa9, 0x24, 0xfa, 0x27, 0xfb, 0xb0, - 0xa3, 0x1b, 0x3f, 0x55, 0x8f, 0x27, 0xfa, 0x78, 0xc0, 0xd6, 0x40, 0x63, 0x2b, 0xa2, 0x7c, 0x85, - 0xf8, 0x8a, 0xfd, 0xb7, 0xc4, 0xf3, 0xa8, 0xe0, 0xc4, 0x67, 0x84, 0x5d, 0x76, 0xa3, 0x73, 0xff, - 0xea, 0xc6, 0xd0, 0x0d, 0xb3, 0xe8, 0xe9, 0xa3, 0xd8, 0xd1, 0xd0, 0x45, 0x8a, 0x43, 0x07, 0xfc, - 0x96, 0x1a, 0x65, 0x34, 0x18, 0xde, 0x69, 0x51, 0xf1, 0x3e, 0xf5, 0xb3, 0x07, 0x77, 0x30, 0x38, - 0xd7, 0x7b, 0x2a, 0x19, 0x58, 0x41, 0x7f, 0x3f, 0xb2, 0x0c, 0xb5, 0x1e, 0xa8, 0x0f, 0x56, 0x3e, - 0xc7, 0x43, 0x97, 0x47, 0x58, 0xfe, 0x12, 0x04, 0x65, 0x35, 0xa3, 0x8e, 0x1b, 0x2f, 0x95, 0xe4, - 0x04, 0x4a, 0x38, 0xc6, 0x1f, 0x4e, 0x1a, 0x08, 0xbe, 0x57, 0xb4, 0x83, 0xc1, 0x1d, 0x16, 0x27, - 0xee, 0x4a, 0xca, 0xf5, 0x67, 0x71, 0xaa, 0x7d, 0xca, 0x01, 0xf4, 0x61, 0x5d, 0x77, 0x94, 0xe6, - 0x80, 0xad, 0xeb, 0x84, 0xd0, 0x4a, 0x14, 0x9e, 0x24, 0x7d, 0x01, 0x71, 0xde, 0xa7, 0xe5, 0x1d, - 0xc0, 0x65, 0xf1, 0xd2, 0xf0, 0x00, 0x94, 0x1a, 0xc6, 0x84, 0x64, 0x60, 0xdb, 0x3f, 0x47, 0x77, - 0x13, 0x81, 0x57, 0xa9, 0xac, 0x07, 0x89, 0x26, 0xd4, 0xda, 0xfc, 0x97, 0x33, 0xf4, 0x21, 0x7d, - 0x8c, 0x5f, 0x91, 0xdb, 0xf8, 0x1b, 0x3b, 0x2e, 0x19, 0x3f, 0xbc, 0xf9, 0xee, 0x39, 0x6c, 0x5f, - 0xaa, 0xbd, 0x13, 0xb2, 0x6a, 0x6b, 0x6c, 0x6f, 0xbc, 0x4e, 0x54, 0x0b, 0xdb, 0x38, 0x58, 0x26, - 0x45, 0x67, 0x62, 0x2c, 0x0c, 0x0d, 0x44, 0x6b, 0x8c, 0x87, 0xcf, 0xed, 0x68, 0x7e, 0x0b, 0xbb, - 0x99, 0x67, 0x01, 0x95, 0x26, 0xaa, 0x99, 0xf2, 0xcd, 0xdc, 0xbd, 0x16, 0x9d, 0xf6, 0x0d, 0xf3, - 0x21, 0x70, 0xdb, 0x93, 0xe6, 0xd8, 0xf5, 0xcf, 0x03, 0xa3, 0x85, 0xbd, 0x61, 0x19, 0x63, 0xe3, - 0xec, 0x4a, 0x48, 0x23, 0xe2, 0xbf, 0xb3, 0x00, 0x60, 0x37, 0xb8, 0x19, 0x30, 0xfc, 0x3d, 0x81, - 0x73, 0xe7, 0xd0, 0x85, 0x0d, 0xa9, 0x05, 0xc6, 0x48, 0xef, 0x43, 0x09, 0x05, 0x80, 0x6f, 0x58, - 0xae, 0xc7, 0x65, 0xb6, 0xee, 0x3f, 0x99, 0xfb, 0x85, 0x17, 0x32, 0x2b, 0x7a, 0x87, 0x88, 0x1c, - 0xcb, 0x47, 0xcc, 0xfd, 0x3a, 0xee, 0x21, 0x76, 0x3f, 0xb8, 0xaf, 0x96, 0xcc, 0x60, 0x2b, 0x3e, - 0x15, 0xea, 0xff, 0x9b, 0x09, 0x6d, 0x28, 0x51, 0xbf, 0x68, 0x4f, 0xa6, 0xf0, 0x17, 0x17, 0x54, - 0x6e, 0x2b, 0x4e, 0x35, 0xa9, 0xb8, 0xfe, 0xeb, 0x41, 0x0c, 0x7d, 0x41, 0xe3, 0x14, 0xe8, 0x4b, - 0x73, 0x06, 0xc8, 0x1a, 0xd3, 0xd1, 0x8e, 0x8f, 0x5e, 0x93, 0x70, 0xb5, 0xa2, 0x55, 0x89, 0xa2, - 0xee, 0x2a, 0x10, 0xae, 0xf1, 0x78, 0xdd, 0x95, 0xba, 0xbe, 0x7e, 0x97, 0xbe, 0x9e, 0x13, 0x47, - 0x08, 0x61, 0x59, 0x34, 0x32, 0x8a, 0x3e, 0x8f, 0x1f, 0x75, 0x9d, 0xdb, 0x3c, 0x59, 0xcc, 0xee, - 0xb6, 0x80, 0x5f, 0xc1, 0xdf, 0xd6, 0x44, 0x7b, 0xc9, 0xd2, 0x2b, 0x23, 0x61, 0xe0, 0x15, 0xb1, - 0xa4, 0x73, 0x3e, 0x2d, 0xfa, 0x74, 0x00, 0x72, 0x93, 0xbd, 0x33, 0xbf, 0xe7, 0x75, 0xf7, 0x35, - 0x5e, 0x43, 0xa4, 0x12, 0x21, 0x2c, 0x1e, 0xf5, 0x83, 0x94, 0x88, 0x16, 0xfa, 0x9b, 0xde, 0x82, - 0xa7, 0xde, 0x46, 0xb1, 0x3d, 0x33, 0xc7, 0x01, 0x3c, 0x9e, 0x26, 0x05, 0x45, 0x68, 0xb5, 0x12, - 0x24, 0x40, 0x12, 0x97, 0x85, 0x36, 0x1a, 0x22, 0xf1, 0x51, 0x3b, 0xb9, 0xf5, 0xf4, 0x0a, 0x5e, - 0x6c, 0x10, 0x07, 0x4e, 0x7e, 0x73, 0x63, 0x3d, 0xfb, 0x18, 0x2d, 0xd5, 0x60, 0xd8, 0x13, 0x60, - 0x8e, 0x57, 0x2e, 0x70, 0x1c, 0x3c, 0x99, 0x03, 0xd5, 0xe6, 0xa3, 0xf4, 0x7c, 0xb9, 0x68, 0x1a, - 0x63, 0x39, 0xf7, 0x4f, 0x6e, 0x8d, 0xbe, 0xed, 0x21, 0x7c, 0x34, 0x47, 0x24, 0xf8, 0x69, 0xec, - 0x5d, 0x73, 0xb2, 0xb7, 0xcb, 0x34, 0x12, 0x01, 0x84, 0x6e, 0x1f, 0x89, 0xb7, 0xe7, 0x4a, 0x72, - 0xff, 0x0d, 0x71, 0xbc, 0x34, 0x7e, 0x8e, 0x79, 0xaf, 0xea, 0x6e, 0x65, 0x51, 0xff, 0x56, 0x12, - 0x95, 0xfd, 0xfc, 0xa8, 0xc2, 0x63, 0x14, 0x8f, 0xc1, 0x4b, 0xca, 0x32, 0x1d, 0x74, 0xe2, 0x23, - 0xa7, 0x85, 0x29, 0x3f, 0x43, 0xd1, 0x85, 0xdc, 0xf9, 0xcc, 0x17, 0xf9, 0xfd, 0xb6, 0xea, 0xe1, - 0xb7, 0xd2, 0x8a, 0xac, 0x2a, 0x44, 0xa3, 0x48, 0x7f, 0xc7, 0xcf, 0x81, 0xd6, 0xec, 0x71, 0x5a, - 0x88, 0x32, 0x86, 0x07, 0x37, 0xdb, 0x81, 0x6a, 0x6b, 0xac, 0x00, 0x69, 0xb2, 0x45, 0xc6, 0x16, - 0x5f, 0x2d, 0xd7, 0x37, 0x6a, 0x6a, 0xbb, 0x4f, 0xf4, 0xd2, 0xa8, 0xa0, 0xfc, 0x90, 0x5a, 0xe6, - 0x17, 0xdc, 0x5d, 0x37, 0xda, 0xcb, 0xac, 0x1d, 0xb9, 0xeb, 0xc9, 0xc2, 0xa9, 0x07, 0x19, 0x35, - 0xe0, 0xb1, 0x3d, 0x33, 0x93, 0x73, 0x06, 0x54, 0xe1, 0x7c, 0x62, 0x00, 0xfb, 0xd2, 0xca, 0x20, - 0x3f, 0x55, 0x78, 0x52, 0xb7, 0xec, 0x31, 0x37, 0x03, 0x63, 0xdc, 0x3f, 0x6d, 0x69, 0x61, 0xa9, - 0x6b, 0x03, 0x3e, 0x90, 0x60, 0x93, 0xfe, 0x8c, 0x97, 0x3c, 0x99, 0x13, 0x0a, 0x78, 0x94, 0xaa, - 0xf3, 0xfe, 0x71, 0x4a, 0xc2, 0xe3, 0xaf, 0x54, 0x7e, 0x90, 0x8a, 0x3c, 0xc4, 0x59, 0xb0, 0xf5, - 0xca, 0x70, 0x3f, 0x40, 0x80, 0xad, 0x79, 0x44, 0x45, 0x79, 0xec, 0x16, 0x9e, 0x91, 0x5e, 0xad, - 0xf6, 0x7f, 0x4d, 0xa1, 0x20, 0x55, 0x56, 0x40, 0xb7, 0x49, 0xfa, 0x1b, 0xcf, 0x16, 0xc4, 0x5f, - 0xe6, 0x58, 0x21, 0xb6, 0xd1, 0xe6, 0x8c, 0x97, 0x13, 0x78, 0xf4, 0x43, 0x1c, 0xaa, 0xa3, 0xb0, - 0x97, 0x38, 0x26, 0x8a, 0x29, 0x8d, 0x75, 0xd6, 0x0b, 0xd1, 0x59, 0xff, 0x76, 0x61, 0x70, 0x46, - 0xc3, 0x25, 0x5e, 0xaf, 0xa6, 0x49, 0x5c, 0x4a, 0xec, 0xc1, 0x83, 0xb4, 0xe6, 0x58, 0xe7, 0x7d, - 0x70, 0xbc, 0x46, 0xb6, 0xed, 0xba, 0xfd, 0x8d, 0xb2, 0xe7, 0xe7, 0x81, 0x07, 0x42, 0x5e, 0x6a, - 0x5f, 0x06, 0xc7, 0x94, 0x6d, 0x5f, 0x2d, 0x01, 0xa0, 0x3f, 0x0f, 0x46, 0x51, 0xb1, 0x42, 0x5d, - 0xfa, 0x5c, 0xa1, 0xa3, 0xf7, 0x89, 0x59, 0xe5, 0x04, 0x72, 0x8a, 0x75, 0x64, 0x91, 0x1a, 0x38, - 0x6d, 0x30, 0xc7, 0xc3, 0x82, 0x96, 0xf4, 0xe1, 0xed, 0xf8, 0x3e, 0x65, 0xea, 0xb0, 0x9d, 0x93, - 0x90, 0x30, 0xb7, 0x72, 0x0e, 0xa7, 0x1c, 0x28, 0x21, 0x9b, 0xed, 0x8b, 0x60, 0x8f, 0x93, 0x54, - 0x1f, 0x77, 0x3e, 0x37, 0xdc, 0x95, 0xd8, 0x5d, 0xae, 0x4d, 0xbc, 0xac, 0xc3, 0xcf, 0xfc, 0xd6, - 0x33, 0x2a, 0xe4, 0xe0, 0x13, 0xae, 0xff, 0xe1, 0x6a, 0x2c, 0x51, 0xec, 0xf0, 0xf8, 0x48, 0x90, - 0x0b, 0xa9, 0x7b, 0x8d, 0x7a, 0x21, 0x14, 0xf0, 0x1e, 0x23, 0x91, 0xf2, 0xc7, 0xff, 0x59, 0x9e, - 0x39, 0xf8, 0xa8, 0xbe, 0xaa, 0x36, 0xe4, 0x7f, 0x59, 0xb4, 0x4c, 0x87, 0x8b, 0x12, 0xc8, 0xf4, - 0x9a, 0xae, 0xe4, 0x66, 0x1e, 0x85, 0xcf, 0x3b, 0xe4, 0xe3, 0xdc, 0x83, 0xa0, 0x9c, 0x08, 0x2b, - 0x3f, 0x58, 0x07, 0x96, 0x6a, 0x7f, 0x71, 0x84, 0x66, 0xe6, 0x93, 0x69, 0xa8, 0x06, 0xb6, 0xc5, - 0x53, 0xe2, 0x3b, 0xa5, 0x98, 0x57, 0x76, 0x94, 0x84, 0xd9, 0x72, 0x81, 0xff, 0x0b, 0x2a, 0xbf, - 0x9b, 0xd1, 0x9f, 0x25, 0x50, 0xbb, 0xf1, 0x71, 0x0d, 0xb3, 0x16, 0x36, 0x7c, 0xfe, 0xad, 0xc9, - 0x02, 0xd6, 0xee, 0x9b, 0xfb, 0x9c, 0x46, 0x21, 0x42, 0xe9, 0x1a, 0x56, 0x72, 0xd6, 0xeb, 0x29, - 0x78, 0x28, 0x84, 0x91, 0xc2, 0xdf, 0x0b, 0x5d, 0xc9, 0xde, 0x92, 0x96, 0x5b, 0xa0, 0xc3, 0x5f, - 0xb1, 0xa1, 0x4f, 0xc0, 0x81, 0xc2, 0x06, 0x29, 0xb7, 0x5f, 0xfe, 0xcd, 0x01, 0xea, 0x51, 0x0f, - 0xf7, 0xb1, 0x97, 0x54, 0x6e, 0x84, 0x83, 0x2b, 0xd4, 0xb5, 0x3a, 0x6c, 0x5c, 0xce, 0x73, 0x9d, - 0xe1, 0xec, 0xe2, 0xd3, 0xec, 0xc8, 0x52, 0x45, 0x29, 0x2a, 0x97, 0x5c, 0x90, 0x37, 0x3c, 0xc4, - 0x93, 0x3d, 0x31, 0xab, 0x5c, 0x3e, 0x7c, 0xd3, 0xa3, 0xe9, 0x4d, 0xd8, 0x60, 0xf2, 0x38, 0x57, - 0x4b, 0xad, 0x81, 0xfd, 0xea, 0x10, 0x21, 0x99, 0xa8, 0xa1, 0xe3, 0x2d, 0x41, 0xf2, 0xc9, 0xb4, - 0x0d, 0xaf, 0xe1, 0xd7, 0x05, 0x9c, 0xae, 0x7b, 0x5e, 0xe5, 0xe1, 0x7e, 0xdd, 0xbc, 0x5c, 0x81, - 0x20, 0x27, 0x44, 0x69, 0xa4, 0x40, 0x19, 0x04, 0xe0, 0x4b, 0x92, 0x96, 0x23, 0x57, 0xf6, 0x2d, - 0xea, 0xa8, 0x70, 0x57, 0x26, 0xc1, 0xf6, 0x57, 0x7f, 0xeb, 0x3c, 0x3a, 0xbd, 0x45, 0xbf, 0xe0, - 0xba, 0xc9, 0x28, 0x53, 0xdf, 0x1f, 0x38, 0xa7, 0xcf, 0x06, 0xdd, 0x61, 0xf3, 0x6f, 0x4b, 0xb7, - 0x9c, 0x12, 0x1d, 0x1f, 0x5c, 0xff, 0x98, 0x82, 0x54, 0x31, 0xc3, 0x6f, 0x4d, 0x77, 0x0f, 0x39, - 0xb0, 0xc1, 0x84, 0x9b, 0x95, 0x5d, 0x6b, 0x2f, 0x38, 0x32, 0xc6, 0xbc, 0x9b, 0xe0, 0xf3, 0x22, - 0x53, 0xed, 0xde, 0x50, 0x29, 0x36, 0x1d, 0xa5, 0x12, 0x4f, 0xf5, 0x3e, 0xb0, 0xc4, 0x7f, 0x20, - 0xb5, 0x19, 0xf8, 0xf2, 0xc3, 0x22, 0x56, 0xc3, 0x61, 0x3c, 0x61, 0x43, 0x80, 0x88, 0xf1, 0x07, - 0xa5, 0x82, 0x71, 0xdc, 0x6e, 0xff, 0xbd, 0x2b, 0x9e, 0xec, 0x56, 0x25, 0xc0, 0x3c, 0x13, 0xcf, - 0x55, 0xa6, 0xd8, 0x9e, 0x5c, 0x45, 0x8d, 0x20, 0x73, 0xbe, 0xfa, 0x1c, 0x88, 0x73, 0x3c, 0x36, - 0x9d, 0x4d, 0xea, 0x6b, 0x0a, 0x90, 0x43, 0xc8, 0x72, 0xcf, 0x6c, 0xfb, 0x9c, 0x9f, 0xab, 0xec, - 0x50, 0x5b, 0x9e, 0x96, 0x50, 0x3a, 0xbe, 0xa6, 0xe1, 0x69, 0xb7, 0xc2, 0xca, 0xdf, 0xbe, 0x73, - 0x01, 0xb7, 0x11, 0x90, 0x9f, 0xfb, 0x3d, 0x29, 0xb1, 0xb7, 0xfe, 0x02, 0xcc, 0x3c, 0x4e, 0xa1, - 0xb9, 0x31, 0x58, 0xf3, 0x6b, 0x66, 0xc5, 0xed, 0xbf, 0x50, 0x8b, 0x84, 0x22, 0xb1, 0x00, 0x31, - 0x3f, 0xb2, 0x33, 0x09, 0xd2, 0x73, 0xc9, 0x67, 0xe6, 0x0f, 0x44, 0x4a, 0x33, 0xf6, 0x35, 0x21, - 0xb3, 0x69, 0x56, 0xc1, 0x9f, 0x77, 0x52, 0xe1, 0x44, 0xe6, 0x84, 0x54, 0x9d, 0xd9, 0xf5, 0x57, - 0x10, 0x57, 0x03, 0x68, 0xc8, 0x97, 0x09, 0xed, 0xd9, 0x65, 0xfe, 0xe5, 0xe7, 0x6c, 0x21, 0xbc, - 0xff, 0x2a, 0xc1, 0xd9, 0xb1, 0x26, 0x8a, 0x3c, 0x30, 0xa8, 0x22, 0x8f, 0xb2, 0x1a, 0x0c, 0x6f, - 0xd7, 0x45, 0xe5, 0xfd, 0xea, 0xb0, 0x7b, 0xec, 0x53, 0x08, 0x2f, 0x6a, 0x9c, 0x62, 0x10, 0xd1, - 0x7b, 0xc0, 0xde, 0x1e, 0xd6, 0xad, 0x03, 0x04, 0xda, 0xe4, 0x7f, 0xb9, 0x55, 0xe9, 0xcf, 0x82, - 0xba, 0xd3, 0x03, 0xa7, 0xed, 0xc0, 0xca, 0xfd, 0x32, 0xea, 0x72, 0x7e, 0x6a, 0x6f, 0xdf, 0x80, - 0x01, 0xb4, 0x0e, 0x64, 0xc4, 0x6f, 0x2a, 0x5d, 0x1b, 0xd8, 0x3a, 0xa2, 0x9d, 0x43, 0x73, 0xf5, - 0xdd, 0x5d, 0x80, 0xb2, 0x9e, 0x0d, 0x00, 0xb5, 0xbe, 0xec, 0xba, 0xda, 0x24, 0x70, 0xa3, 0x4e, - 0x8d, 0xa7, 0xcc, 0xd7, 0x7a, 0x66, 0xc0, 0x74, 0x2f, 0xfd, 0x3a, 0x6c, 0x68, 0xfd, 0xc0, 0xfa, - 0x30, 0x70, 0xd4, 0x4f, 0x6e, 0xcf, 0x0b, 0xdb, 0x47, 0x5a, 0x9d, 0x1a, 0xc9, 0xb0, 0xcf, 0xae, - 0x9a, 0x84, 0xa8, 0xe6, 0xc2, 0x81, 0xfa, 0x6c, 0x22, 0x2b, 0x73, 0x83, 0xa3, 0xec, 0x8f, 0xa9, - 0x37, 0xf4, 0x24, 0x40, 0x89, 0xda, 0x6d, 0x71, 0x1f, 0xf1, 0xac, 0xd1, 0x54, 0xdc, 0xe6, 0xc7, - 0x8b, 0x70, 0xaa, 0x16, 0x90, 0x9b, 0x1d, 0x7a, 0x23, 0xec, 0x49, 0x94, 0x83, 0x51, 0x14, 0x42, - 0x96, 0xca, 0x6f, 0x17, 0x91, 0x40, 0x74, 0xd0, 0xbd, 0x3b, 0x87, 0x34, 0x35, 0x6c, 0x70, 0xa6, - 0x96, 0xd3, 0x57, 0xce, 0x80, 0x52, 0x2c, 0xd4, 0x25, 0x0a, 0x98, 0x48, 0xd3, 0xe4, 0x30, 0x47, - 0xeb, 0xb3, 0xcf, 0xae, 0x96, 0xe1, 0xa5, 0x18, 0x46, 0xeb, 0x35, 0xa6, 0xe0, 0x46, 0x77, 0xcc, - 0x43, 0x97, 0x04, 0xcf, 0xef, 0x92, 0xf4, 0xbf, 0xef, 0xd7, 0x6f, 0x20, 0xdf, 0x13, 0x99, 0xd5, - 0x18, 0x67, 0xc0, 0x44, 0x63, 0x8d, 0xb6, 0x9f, 0xf5, 0x0c, 0xd3, 0x2e, 0x0d, 0x25, 0xf7, 0x41, - 0x41, 0xb5, 0x49, 0x82, 0xe7, 0x9f, 0x31, 0x03, 0xf1, 0xfa, 0xf7, 0xbb, 0xfe, 0xbe, 0xd9, 0x98, - 0xe2, 0xde, 0x1f, 0xf1, 0x47, 0x07, 0x09, 0x62, 0x6f, 0x89, 0x17, 0x1a, 0x9d, 0x02, 0x05, 0x8b, - 0xdd, 0x54, 0x92, 0x3f, 0x7b, 0xa9, 0xbc, 0x4d, 0x81, 0xd3, 0x36, 0xa8, 0x1a, 0x6b, 0x8f, 0x07, - 0x42, 0x93, 0x86, 0xe5, 0xd6, 0x21, 0x21, 0x32, 0xb4, 0xfa, 0x1d, 0x88, 0x89, 0xef, 0xe6, 0xfe, - 0x76, 0x5a, 0xf6, 0xf2, 0xaa, 0xb6, 0x31, 0xf2, 0xdc, 0x9f, 0xff, 0x60, 0x18, 0xf4, 0x1d, 0x28, - 0x64, 0xc6, 0x69, 0xaa, 0xc4, 0x01, 0xf0, 0xaa, 0xe1, 0x87, 0x60, 0xdc, 0x54, 0xc3, 0x2e, 0x56, - 0xdd, 0x62, 0xdb, 0x9d, 0x79, 0xe6, 0x8f, 0xa7, 0xf5, 0x9b, 0x64, 0x2b, 0xa8, 0x1f, 0xd8, 0x28, - 0xbc, 0xd2, 0xd1, 0x61, 0xe5, 0x00, 0xf0, 0x20, 0xdf, 0xbc, 0x6d, 0xdb, 0x44, 0xdb, 0x94, 0xec, - 0x6e, 0x58, 0xcf, 0x8e, 0x5f, 0xae, 0x87, 0x96, 0xb7, 0xa5, 0xdf, 0x20, 0x8a, 0xac, 0x9f, 0x8f, - 0xaf, 0x72, 0x5f, 0x6a, 0x2a, 0x3a, 0x25, 0x75, 0xf7, 0x38, 0xde, 0x91, 0xe8, 0xa7, 0x3a, 0x32, - 0x73, 0xe1, 0x80, 0x40, 0x06, 0x0f, 0x6b, 0x83, 0x33, 0x69, 0x9d, 0xb1, 0xf2, 0x37, 0x06, 0xe9, - 0x5b, 0x5f, 0xdb, 0xa1, 0x5c, 0x0a, 0x01, 0x17, 0x2d, 0x4d, 0x8b, 0xfd, 0xa8, 0x2c, 0x2b, 0x12, - 0x03, 0x0e, 0x81, 0x53, 0xbc, 0x51, 0x68, 0x50, 0x9e, 0x0a, 0x46, 0x29, 0x02, 0x2e, 0x12, 0x6c, - 0x12, 0x8d, 0x7b, 0x53, 0x9f, 0xf5, 0xaa, 0x5b, 0x9a, 0xfe, 0x45, 0xef, 0x43, 0x24, 0xfa, 0xa8, - 0x5a, 0x49, 0x0f, 0x58, 0xdf, 0xab, 0x5a, 0xb6, 0x1c, 0xed, 0xed, 0x68, 0xa4, 0x43, 0x25, 0xfa, - 0x24, 0x62, 0x2b, 0x7e, 0xfc, 0x42, 0x43, 0x92, 0xa2, 0xc1, 0x9d, 0x5a, 0x41, 0xc0, 0x75, 0x5b, - 0x48, 0xf5, 0xf2, 0x8e, 0x31, 0xec, 0xc6, 0x87, 0xf3, 0xc3, 0x7c, 0xcf, 0x56, 0xc7, 0x59, 0x75, - 0xe2, 0x32, 0xca, 0xfd, 0xe0, 0xb8, 0xab, 0x22, 0x4f, 0xf1, 0xb4, 0x21, 0xc2, 0xff, 0x16, 0xa1, - 0xbd, 0x91, 0xe7, 0x66, 0x64, 0xda, 0xb4, 0xbd, 0xf6, 0xab, 0x62, 0xfb, 0x0a, 0xc1, 0x1b, 0x9e, - 0x25, 0xa9, 0x9f, 0xcd, 0x61, 0xbb, 0x24, 0x4e, 0xd5, 0x88, 0x00, 0x9a, 0xd2, 0xd5, 0xfc, 0x51, - 0xc5, 0x77, 0x37, 0xa9, 0x6b, 0x45, 0xe2, 0x3a, 0xeb, 0xb4, 0xad, 0x71, 0xe8, 0xa5, 0xe8, 0xcf, - 0xac, 0x2d, 0x2f, 0xd6, 0x71, 0x63, 0xec, 0xec, 0xc6, 0xb5, 0x5a, 0x75, 0xf9, 0x2b, 0xd3, 0x2f, - 0x12, 0x7f, 0x56, 0x2e, 0x5b, 0x85, 0xa6, 0xa3, 0xc9, 0x9f, 0x99, 0x28, 0x97, 0x18, 0x58, 0x83, - 0xce, 0xaa, 0xec, 0x88, 0x06, 0x49, 0x05, 0xa0, 0x60, 0x84, 0xea, 0xb5, 0xf4, 0xe5, 0x53, 0x0d, - 0xb7, 0xa1, 0x4a, 0x2c, 0xd9, 0x28, 0xaa, 0x3b, 0xa6, 0xed, 0xb3, 0x77, 0x6e, 0x87, 0xbf, 0x98, - 0x15, 0xf8, 0x43, 0x31, 0x32, 0xbb, 0x26, 0xdb, 0x2f, 0x84, 0xc7, 0xcd, 0xae, 0x71, 0xa1, 0xed, - 0xd8, 0x3b, 0x10, 0xd6, 0x68, 0x60, 0x0b, 0xa2, 0x5a, 0xab, 0xbb, 0x52, 0x2d, 0xfb, 0x15, 0x34, - 0xb7, 0x27, 0xfe, 0xd2, 0xb4, 0xc5, 0x3c, 0x9f, 0x7d, 0xbb, 0x15, 0x8c, 0xc5, 0x51, 0xca, 0x41, - 0xfe, 0x4b, 0xa0, 0xcd, 0x5a, 0x7d, 0x92, 0x9b, 0xbc, 0x32, 0x52, 0xbc, 0xd9, 0xd4, 0x9b, 0x86, - 0x0d, 0x84, 0x89, 0x08, 0x3a, 0x9f, 0x93, 0x10, 0xb7, 0x4a, 0xc2, 0xf0, 0x2e, 0x9e, 0x64, 0x9c, - 0xee, 0xb9, 0x24, 0x11, 0xf0, 0x7c, 0xfd, 0x7d, 0x1b, 0x1c, 0x1a, 0x5e, 0x77, 0x08, 0x59, 0x8a, - 0x2d, 0x97, 0x8c, 0xbc, 0xdd, 0x0d, 0xdc, 0xcf, 0xa5, 0x51, 0x01, 0xf5, 0x34, 0xd6, 0x0c, 0xb6, - 0x62, 0x8e, 0x77, 0x1e, 0xf9, 0x67, 0x84, 0x44, 0x2d, 0x84, 0x2b, 0x3a, 0x90, 0xdd, 0x19, 0x3e, - 0xa2, 0x3c, 0x8e, 0xb6, 0x08, 0x82, 0x71, 0x80, 0x5f, 0x11, 0x8c, 0x60, 0xf1, 0xc2, 0xda, 0x3b, - 0x30, 0x63, 0x94, 0xc9, 0xd6, 0x23, 0xe9, 0xfe, 0xb3, 0x3b, 0xb7, 0x95, 0x38, 0x52, 0xad, 0xa3, - 0x11, 0xbe, 0xef, 0xb0, 0xef, 0x08, 0xf9, 0x79, 0x25, 0xe4, 0xf4, 0x76, 0xbc, 0xea, 0x6e, 0xcd, - 0x78, 0x08, 0x53, 0x11, 0x97, 0x6f, 0x74, 0xe6, 0x81, 0x91, 0x04, 0x11, 0xdf, 0xbf, 0x6b, 0x35, - 0xb0, 0x76, 0x2b, 0x99, 0x29, 0x43, 0xed, 0x17, 0x0f, 0xbf, 0x37, 0xa7, 0xa0, 0x06, 0x57, 0x1a, - 0x0f, 0xee, 0x71, 0x34, 0x5a, 0xc5, 0xd1, 0xff, 0x17, 0x25, 0xf2, 0x7a, 0x9a, 0xf2, 0xcf, 0x07, - 0xc3, 0x42, 0xb9, 0x0f, 0x76, 0x72, 0x62, 0xb4, 0xa2, 0xb1, 0x41, 0xa3, 0x0d, 0x87, 0xec, 0x63, - 0xa5, 0xd0, 0x16, 0xa5, 0x00, 0x40, 0xc7, 0x8c, 0x2e, 0xf1, 0xe2, 0x28, 0xa5, 0x29, 0x2a, 0xda, - 0xb2, 0x8c, 0x4b, 0x80, 0x9f, 0x42, 0xb6, 0x94, 0xae, 0xe9, 0xae, 0xc7, 0x30, 0xdd, 0x94, 0x78, - 0x7a, 0xf8, 0x2c, 0xcb, 0xa1, 0x6d, 0xe5, 0x73, 0x90, 0x30, 0xc7, 0xf7, 0x4a, 0x50, 0x62, 0xa5, - 0xf2, 0xd4, 0xc6, 0xbb, 0x18, 0xdc, 0x66, 0x81, 0x10, 0x34, 0x3c, 0xe7, 0xa7, 0x77, 0x0e, 0x37, - 0x74, 0xed, 0x47, 0xae, 0xbb, 0x71, 0x2e, 0x0f, 0x76, 0x09, 0x15, 0xb5, 0x1d, 0xf8, 0x87, 0x42, - 0x40, 0xc3, 0x8e, 0x39, 0xa7, 0xcd, 0x8d, 0x45, 0x36, 0xbd, 0x8f, 0x4c, 0x16, 0x68, 0xff, 0x19, - 0x05, 0x2b, 0x97, 0x0a, 0xb9, 0xa2, 0x1d, 0x2e, 0x60, 0x45, 0xfe, 0xd1, 0xc9, 0x42, 0xf8, 0x1c, - 0x15, 0x4c, 0xc1, 0x1a, 0x80, 0x19, 0x8a, 0xb7, 0xd9, 0x7b, 0x94, 0x18, 0x0b, 0xdb, 0x08, 0xb8, - 0xe5, 0x9f, 0x71, 0x7f, 0x99, 0x94, 0xde, 0xcb, 0xba, 0x90, 0x89, 0x15, 0xc3, 0x0f, 0xf5, 0x41, - 0xde, 0x75, 0x9f, 0x45, 0x08, 0x77, 0x80, 0x41, 0xbb, 0xb0, 0xec, 0x31, 0x17, 0x9a, 0x10, 0x4b, - 0x2e, 0x1b, 0x6d, 0x58, 0x4a, 0x3a, 0x25, 0x5f, 0x4e, 0xdd, 0x09, 0x36, 0xf9, 0xb8, 0x79, 0x76, - 0x0a, 0xc2, 0x47, 0x09, 0xab, 0xd4, 0x79, 0x5e, 0x73, 0xdf, 0xab, 0x93, 0x10, 0x57, 0xa3, 0xa3, - 0x90, 0xa6, 0xdb, 0x38, 0xd9, 0x8b, 0x2d, 0xf4, 0xf1, 0x2d, 0x1a, 0x1e, 0xd0, 0x39, 0xe0, 0x19, - 0x15, 0x9e, 0x88, 0x2f, 0x38, 0x33, 0x1e, 0x74, 0x64, 0x79, 0x45, 0x68, 0xec, 0xca, 0xa8, 0x38, - 0xa0, 0xdb, 0xbc, 0xa6, 0x67, 0x20, 0x45, 0x91, 0xc1, 0x7a, 0xe6, 0x37, 0xb3, 0xcb, 0x3e, 0x51, - 0x5e, 0x2e, 0x95, 0xf1, 0xcb, 0xfc, 0x61, 0x81, 0x4a, 0xbb, 0x45, 0x16, 0x74, 0xa8, 0x8d, 0x2f, - 0xc7, 0x1e, 0x81, 0x1b, 0x2b, 0x24, 0xbe, 0x85, 0xe4, 0x54, 0x10, 0x41, 0x0e, 0xef, 0x2e, 0xf4, - 0x00, 0x1b, 0xb4, 0xab, 0xe9, 0x13, 0xe9, 0x28, 0x38, 0x6c, 0xa0, 0x2a, 0x4c, 0x70, 0xdd, 0x02, - 0xf3, 0x6e, 0x94, 0x88, 0xbc, 0x9f, 0xc7, 0x09, 0x4d, 0x92, 0x4a, 0x1f, 0x1e, 0xc3, 0x71, 0x24, - 0x03, 0xa6, 0xb7, 0x46, 0xcf, 0x10, 0x4c, 0xd9, 0x29, 0x80, 0xe4, 0x41, 0x5d, 0x65, 0x1a, 0x53, - 0xe6, 0x62, 0x5d, 0x26, 0xc3, 0x3f, 0xce, 0xbb, 0x4b, 0xe8, 0x49, 0xa9, 0x8a, 0xcd, 0xb8, 0x93, - 0xf0, 0xc2, 0x2b, 0x7c, 0xc6, 0x51, 0xf9, 0x4e, 0x01, 0xfa, 0xc6, 0xf6, 0x43, 0xfc, 0x50, 0x06, - 0x7f, 0x34, 0xd0, 0xa4, 0x83, 0x9d, 0x7f, 0x90, 0x2e, 0xd1, 0x57, 0x41, 0x57, 0x8e, 0x03, 0x2b, - 0x9f, 0xad, 0xc2, 0x69, 0xc1, 0xe0, 0xfc, 0xef, 0xc6, 0x8b, 0xbd, 0x6c, 0x88, 0x50, 0x77, 0x0e, - 0x24, 0x05, 0xff, 0x66, 0x67, 0x81, 0xce, 0xce, 0x7e, 0x14, 0x9c, 0x52, 0x80, 0x37, 0x8c, 0xb8, - 0xce, 0x42, 0x23, 0x59, 0xc0, 0x68, 0xf1, 0x6e, 0x86, 0x07, 0xb5, 0xbe, 0x1a, 0xdf, 0xd9, 0xae, - 0x16, 0xb9, 0xfa, 0x04, 0x4a, 0x8b, 0x7b, 0xfb, 0x20, 0xed, 0xe9, 0x97, 0x4b, 0xbb, 0x7b, 0xa5, - 0xc4, 0xf5, 0x3c, 0x3b, 0x01, 0x96, 0xa6, 0xf1, 0x19, 0x9f, 0xba, 0x04, 0x04, 0xd6, 0xac, 0x2e, - 0x2b, 0x99, 0x8a, 0xb0, 0x80, 0x58, 0x2b, 0xed, 0x9f, 0x31, 0x49, 0xdd, 0xf6, 0x1d, 0xaf, 0x5a, - 0xf4, 0xd9, 0xea, 0x90, 0x67, 0xfa, 0x56, 0x01, 0xa3, 0xaf, 0x5e, 0x89, 0x34, 0xa9, 0x72, 0x2b, - 0xb1, 0xc7, 0xee, 0xfd, 0xdd, 0x4c, 0xb5, 0x20, 0xad, 0xec, 0x78, 0xa0, 0xa0, 0xea, 0x60, 0xcd, - 0xe6, 0xcd, 0x65, 0x3c, 0x91, 0x64, 0x1c, 0x55, 0xca, 0x77, 0x6f, 0xaa, 0x4a, 0x07, 0xa1, 0xac, - 0x48, 0x27, 0xa7, 0xc0, 0x01, 0xc7, 0xb6, 0xf8, 0x08, 0xc1, 0x5c, 0xd0, 0x36, 0x70, 0xa0, 0x17, - 0x6d, 0x65, 0x38, 0x72, 0xac, 0xec, 0x21, 0xde, 0xea, 0xd0, 0x4e, 0x60, 0x98, 0x93, 0xca, 0x0b, - 0xb9, 0x4f, 0x30, 0x71, 0x40, 0x91, 0xd1, 0x4b, 0x4d, 0xb7, 0x40, 0x06, 0x57, 0x20, 0xf1, 0x48, - 0x86, 0x3e, 0x2e, 0x32, 0x97, 0x8e, 0xfe, 0x14, 0x67, 0xd3, 0x06, 0x4e, 0x1b, 0x3e, 0x9d, 0x2b, - 0x9b, 0x1a, 0x74, 0xa4, 0xa2, 0x3b, 0x99, 0x30, 0x92, 0xb7, 0x6e, 0xf4, 0x73, 0x93, 0x6b, 0x8f, - 0x1c, 0x3a, 0x68, 0xcc, 0x21, 0xcc, 0xcf, 0x3b, 0x02, 0x0e, 0xe1, 0x89, 0x6b, 0xbf, 0xac, 0xae, - 0xef, 0xd1, 0xcc, 0x66, 0xb3, 0xdc, 0x9e, 0x8c, 0x7f, 0x09, 0x3c, 0xfc, 0x4b, 0xa8, 0xd5, 0x0b, - 0x6c, 0xa4, 0xf7, 0x4a, 0x9e, 0xa5, 0x84, 0x26, 0xfc, 0xf5, 0x3b, 0x84, 0x24, 0x95, 0xd8, 0xd7, - 0xa4, 0xa2, 0x95, 0x02, 0x67, 0x3c, 0x2a, 0xf6, 0x1c, 0x45, 0x87, 0x82, 0x8b, 0x50, 0xf6, 0x45, - 0x71, 0x88, 0x13, 0x9b, 0x89, 0x7c, 0x2a, 0x9e, 0x7b, 0x0e, 0xd1, 0xd6, 0x88, 0x93, 0xd2, 0xb9, - 0x71, 0xc7, 0xbb, 0x61, 0xde, 0x08, 0x57, 0xc7, 0x24, 0xca, 0xe5, 0x6f, 0xa8, 0xad, 0xda, 0xa4, - 0x80, 0x10, 0x85, 0x67, 0xab, 0xa5, 0x5e, 0x4c, 0x1e, 0x18, 0x56, 0x34, 0x9a, 0x83, 0x38, 0x51, - 0xa0, 0x67, 0xb0, 0x93, 0x48, 0x28, 0x45, 0x9f, 0xf8, 0x88, 0xfb, 0xdb, 0xae, 0xb6, 0xb8, 0x12, - 0x9b, 0x6e, 0x19, 0x6c, 0xf2, 0xaf, 0x91, 0xf9, 0xf7, 0x95, 0xd9, 0x4e, 0xf6, 0x56, 0x63, 0xee, - 0xe0, 0xfe, 0x71, 0x28, 0x89, 0xa8, 0x91, 0xdf, 0xa4, 0xcf, 0x4f, 0x19, 0x3e, 0x96, 0x1b, 0x12, - 0xf2, 0x5e, 0x95, 0x8d, 0x5c, 0x04, 0x06, 0x0e, 0x15, 0x27, 0x71, 0xb6, 0xf7, 0xde, 0xa5, 0x5c, - 0x67, 0x6d, 0xc8, 0xde, 0x62, 0xc8, 0x48, 0x5c, 0x16, 0x8a, 0xc3, 0x80, 0x48, 0x56, 0xdf, 0xd4, - 0xc6, 0xb1, 0x9e, 0xc0, 0x51, 0x98, 0x63, 0x20, 0xe4, 0xcc, 0xec, 0x75, 0x6d, 0xc4, 0x5b, 0x48, - 0x05, 0x96, 0x1f, 0x38, 0x9b, 0xb4, 0xd2, 0x0a, 0x8e, 0xa9, 0xf7, 0x3a, 0x20, 0xe8, 0x56, 0xa6, - 0xb5, 0x91, 0xa4, 0x8e, 0x71, 0xe8, 0x0f, 0x02, 0x3a, 0x46, 0xb3, 0xbd, 0x5a, 0xc8, 0x5a, 0x04, - 0x79, 0x64, 0x48, 0xa7, 0x1e, 0x08, 0x12, 0x4a, 0x82, 0x33, 0x7e, 0x60, 0x60, 0x34, 0x63, 0x0e, - 0x5b, 0xc7, 0x9a, 0x88, 0x43, 0xe8, 0x03, 0x1f, 0xcc, 0x5c, 0x27, 0xbc, 0xe8, 0x42, 0x31, 0xf8, - 0xf8, 0xec, 0xee, 0x36, 0x89, 0x4d, 0xe0, 0x9e, 0x03, 0xa9, 0x75, 0xcf, 0x99, 0x1e, 0x80, 0xd9, - 0x97, 0x1e, 0xbc, 0x26, 0xfe, 0x07, 0x7f, 0xef, 0x40, 0x5a, 0xd2, 0x25, 0x61, 0xbf, 0x67, 0xe2, - 0xd3, 0x7c, 0x35, 0xc8, 0x2a, 0xaa, 0xc0, 0xea, 0x53, 0x84, 0x0f, 0xb4, 0x0f, 0x5d, 0xe9, 0x47, - 0xbb, 0xc3, 0xfa, 0x62, 0xf7, 0xed, 0x6d, 0x2b, 0xf6, 0x30, 0xa6, 0xba, 0xd6, 0xae, 0x20, 0xd3, - 0xb2, 0xbf, 0x66, 0x44, 0xa4, 0x3c, 0x46, 0x3b, 0xf6, 0x78, 0xea, 0x2b, 0xb8, 0x9a, 0xc4, 0x51, - 0x76, 0xa5, 0x25, 0xb0, 0x53, 0xcf, 0x04, 0xfd, 0x70, 0x21, 0xf1, 0xd2, 0x25, 0xc3, 0x3a, 0x54, - 0x7c, 0x6d, 0x0e, 0xc4, 0x67, 0x77, 0x46, 0x5b, 0x13, 0x33, 0x26, 0x3d, 0xea, 0x95, 0x3f, 0xe9, - 0x78, 0xdb, 0xdc, 0x90, 0x20, 0x54, 0x25, 0xad, 0x5e, 0x38, 0x32, 0x70, 0x88, 0xd4, 0xd2, 0x89, - 0x05, 0x40, 0x23, 0x68, 0x68, 0x09, 0x84, 0x55, 0xb0, 0x1a, 0x5a, 0xa6, 0x8f, 0xa0, 0xc4, 0xe7, - 0x44, 0x4b, 0x5d, 0xd9, 0x3e, 0xba, 0xd5, 0xae, 0xbc, 0xf7, 0x43, 0x66, 0xcb, 0x29, 0xc9, 0xb6, - 0x27, 0x62, 0x62, 0x33, 0xce, 0x59, 0x4f, 0xe1, 0xe8, 0xf1, 0xe5, 0x09, 0x75, 0xba, 0xbd, 0xe0, - 0x75, 0x37, 0x07, 0xc8, 0x6e, 0x94, 0xe8, 0x5b, 0xc9, 0xfd, 0xa6, 0x5d, 0xe7, 0x93, 0x24, 0xca, - 0xc2, 0xd1, 0x56, 0xad, 0x3d, 0xa0, 0x09, 0x8e, 0xf6, 0x05, 0x92, 0xcd, 0xc7, 0x70, 0x76, 0xc8, - 0x42, 0x80, 0x95, 0xb6, 0x00, 0x28, 0x64, 0xb4, 0x40, 0xe6, 0x13, 0xd0, 0x67, 0x83, 0x81, 0xe3, - 0x2b, 0x46, 0x26, 0x55, 0x92, 0x93, 0xdc, 0xc0, 0x48, 0x76, 0xa4, 0x74, 0x1a, 0x40, 0x42, 0x68, - 0xf4, 0x8f, 0x24, 0x32, 0x54, 0x3e, 0x81, 0xb4, 0xac, 0x82, 0x73, 0xed, 0x96, 0x71, 0xd3, 0x0d, - 0xc9, 0x48, 0xc2, 0x27, 0x34, 0xff, 0xd2, 0x0f, 0xb7, 0x20, 0x51, 0xfa, 0xe6, 0xa9, 0x36, 0x18, - 0x76, 0x35, 0x12, 0xb0, 0x1f, 0x0b, 0xb6, 0x66, 0x90, 0x2c, 0xb6, 0x18, 0xfb, 0xd8, 0x2f, 0xe8, - 0x70, 0x12, 0x6e, 0xe2, 0x28, 0x5e, 0x80, 0x17, 0xf6, 0x99, 0xed, 0x67, 0x91, 0x52, 0x7a, 0x3c, - 0xbc, 0x31, 0x0a, 0x40, 0x0e, 0x92, 0xd1, 0x1e, 0x51, 0x8e, 0x62, 0xec, 0x14, 0xd5, 0x95, 0x9e, - 0x35, 0xcc, 0xb0, 0xce, 0x7e, 0x6b, 0x2a, 0xab, 0xf0, 0x92, 0x57, 0x52, 0xee, 0x7b, 0xb7, 0xc9, - 0xb2, 0x6b, 0x79, 0x4e, 0x6b, 0x36, 0x30, 0x52, 0x7d, 0x23, 0x9c, 0x64, 0xd2, 0x18, 0x76, 0xa5, - 0x61, 0xe8, 0x66, 0x4f, 0xa9, 0x58, 0xd1, 0xe3, 0x2f, 0xca, 0xd4, 0xd2, 0x46, 0x82, 0xe5, 0x1e, - 0xe5, 0x47, 0xc4, 0x12, 0x73, 0x3a, 0xf8, 0x42, 0xb0, 0xc0, 0x46, 0xa8, 0xcb, 0x19, 0x4f, 0xd1, - 0xfe, 0xec, 0xfc, 0x1d, 0x2d, 0x09, 0x5d, 0xcd, 0x17, 0x8e, 0x15, 0x59, 0xfa, 0xe4, 0x26, 0x5a, - 0x85, 0xe5, 0xb4, 0xd7, 0x24, 0x1c, 0x90, 0xdd, 0xa5, 0x4f, 0xa3, 0xad, 0xb0, 0x80, 0x0e, 0xcb, - 0x72, 0x33, 0xa6, 0x94, 0x18, 0x20, 0x3c, 0xcb, 0xf8, 0xff, 0x4a, 0x4a, 0xb4, 0xa4, 0x71, 0x5a, - 0x15, 0x83, 0xe6, 0x3c, 0x80, 0x44, 0xe3, 0x8b, 0x81, 0x79, 0x45, 0xef, 0x3e, 0x5c, 0xa1, 0x8e, - 0x1f, 0x69, 0x8e, 0xb1, 0xf7, 0x6c, 0xda, 0xff, 0xda, 0xf8, 0x8a, 0xdf, 0x5b, 0x36, 0x0b, 0x02, - 0x13, 0xc4, 0x91, 0x76, 0x51, 0x10, 0x5b, 0x09, 0x12, 0x65, 0xcc, 0x00, 0x85, 0xdf, 0x8d, 0x91, - 0xbf, 0xcf, 0xb5, 0x81, 0x09, 0xb5, 0x3f, 0xd8, 0xe0, 0x6b, 0x72, 0x29, 0xce, 0x67, 0xe3, 0x48, - 0x84, 0x9d, 0xc5, 0x7c, 0x46, 0x16, 0x9c, 0x54, 0x57, 0x48, 0xf0, 0x3b, 0x86, 0x1c, 0x72, 0xce, - 0xf5, 0xb9, 0xc3, 0xc2, 0xc9, 0xcb, 0x26, 0x4d, 0x88, 0x32, 0x5e, 0x2e, 0x0c, 0x58, 0x9d, 0x31, - 0x83, 0xfc, 0x6d, 0xee, 0x3b, 0x88, 0x0a, 0xac, 0xc0, 0xa9, 0x36, 0xa6, 0x3b, 0xdc, 0x86, 0xba, - 0x23, 0xc3, 0x54, 0xb8, 0x63, 0x75, 0xba, 0x29, 0xba, 0x6c, 0x04, 0xab, 0x6d, 0xe2, 0x30, 0x59, - 0xa4, 0xd8, 0x42, 0xb1, 0x1a, 0x24, 0x3f, 0xaa, 0x0e, 0x19, 0x88, 0xe6, 0x30, 0x0a, 0x29, 0x61, - 0x0d, 0x1b, 0x8b, 0xc8, 0x7f, 0xad, 0x53, 0xde, 0xb4, 0xbe, 0xbf, 0x47, 0x1c, 0xd4, 0x8b, 0xa7, - 0x94, 0x7e, 0xbc, 0x69, 0x44, 0xf3, 0xbb, 0x34, 0xeb, 0x7a, 0x9e, 0x29, 0x45, 0x95, 0x60, 0xb2, - 0x1f, 0x34, 0xba, 0x69, 0x75, 0x07, 0x07, 0x51, 0x37, 0x6e, 0xeb, 0x69, 0xe9, 0x7d, 0x5d, 0x5d, - 0x47, 0x7a, 0xd4, 0xef, 0xae, 0x0d, 0x3a, 0xcd, 0xd3, 0x55, 0xe0, 0x5a, 0x15, 0xaa, 0x84, 0x0f, - 0xb9, 0x5f, 0xbb, 0xc7, 0xbd, 0x3e, 0x52, 0x3c, 0x34, 0xb8, 0x4c, 0x0f, 0xff, 0xc1, 0xe9, 0x4b, - 0x5f, 0x23, 0x3a, 0x7b, 0x47, 0x30, 0x0f, 0x13, 0x27, 0x45, 0x3f, 0xba, 0x7f, 0xee, 0x6f, 0x30, - 0x9b, 0x9d, 0xc4, 0x7f, 0x3c, 0x9b, 0xe9, 0xd9, 0x15, 0xd7, 0x9b, 0xa9, 0x82, 0x7a, 0x25, 0x05, - 0xe3, 0xd8, 0xc7, 0xbb, 0x0f, 0x28, 0xac, 0x1d, 0x58, 0x09, 0xa6, 0x68, 0xe6, 0xe0, 0x37, 0x93, - 0x4e, 0xf5, 0xf1, 0xd4, 0xfb, 0x56, 0x4b, 0x9c, 0xcf, 0x19, 0x4b, 0xfb, 0x04, 0xfe, 0x12, 0xe6, - 0xc0, 0xb4, 0x34, 0xf4, 0x03, 0x6d, 0x91, 0x20, 0x0a, 0x47, 0xcd, 0x14, 0xc2, 0xd2, 0x96, 0xc7, - 0x2a, 0x08, 0x15, 0x87, 0x8c, 0xa0, 0xb4, 0x8a, 0x83, 0x0e, 0x2f, 0x1b, 0x6c, 0x13, 0x9f, 0xee, - 0x5c, 0x5f, 0x30, 0xcf, 0xf9, 0x4c, 0x70, 0xfa, 0x4e, 0x1d, 0xe6, 0x6a, 0xef, 0x96, 0x7c, 0xfc, - 0xb7, 0x8c, 0xca, 0xea, 0x40, 0x08, 0xb6, 0xd1, 0x83, 0x1f, 0xdd, 0xab, 0xa4, 0x1f, 0x8f, 0xb8, - 0xa8, 0xfc, 0xe1, 0xca, 0xf3, 0x91, 0xc1, 0x68, 0x67, 0xca, 0xe4, 0x5d, 0xc4, 0x08, 0x83, 0xbe, - 0xcf, 0x27, 0x4f, 0x98, 0x1b, 0x66, 0x14, 0x05, 0x59, 0xb7, 0x34, 0xaa, 0x43, 0x19, 0x79, 0x29, - 0x63, 0x13, 0xec, 0xc4, 0xae, 0x38, 0x40, 0x6e, 0x52, 0xa3, 0x82, 0xdc, 0x64, 0x8e, 0x93, 0xac, - 0x34, 0x6c, 0x13, 0xd0, 0xd3, 0x71, 0x05, 0xbe, 0x82, 0x61, 0x16, 0x69, 0xca, 0x6c, 0xc2, 0xfd, - 0xc7, 0xda, 0x14, 0x00, 0xbb, 0x79, 0xde, 0x4e, 0xe5, 0x57, 0xcf, 0xa9, 0x21, 0x15, 0x13, 0xb9, - 0xb6, 0xb9, 0x58, 0xc8, 0xd2, 0x10, 0x9d, 0x13, 0x05, 0xda, 0xfb, 0xef, 0x65, 0x3c, 0xc4, 0xcb, - 0x69, 0x47, 0x6c, 0x74, 0x54, 0x2b, 0xe6, 0x6e, 0x7a, 0x4a, 0x78, 0xbc, 0x03, 0xfc, 0x28, 0x98, - 0x93, 0xd7, 0x0f, 0x66, 0xb1, 0xdc, 0xb6, 0x45, 0x7f, 0x2a, 0xba, 0xd1, 0xd4, 0xd2, 0x80, 0x64, - 0xf4, 0x5b, 0x6e, 0x51, 0xea, 0x7a, 0x08, 0x39, 0x68, 0x79, 0xd4, 0x6d, 0x19, 0x8a, 0x2a, 0xc6, - 0x53, 0x92, 0x64, 0x74, 0x21, 0xbe, 0x01, 0x9e, 0x3a, 0xf7, 0xf8, 0x69, 0x8a, 0x1e, 0xbe, 0xfa, - 0x10, 0x08, 0x7f, 0x60, 0xd1, 0xb3, 0x13, 0xc1, 0x0e, 0xc8, 0x37, 0x32, 0x64, 0xc6, 0x34, 0x26, - 0x52, 0xde, 0x26, 0x4b, 0xa6, 0xa6, 0x36, 0x33, 0x82, 0x62, 0x13, 0x85, 0xf1, 0xf2, 0x65, 0xba, - 0x9c, 0x82, 0x96, 0x1d, 0xf5, 0xc8, 0xd0, 0xc1, 0x5e, 0x77, 0x34, 0x81, 0x46, 0xf8, 0x05, 0x8e, - 0xf2, 0x7a, 0xb1, 0xb6, 0x5f, 0x46, 0x08, 0xb2, 0xf7, 0x6f, 0x90, 0xb7, 0xc0, 0xae, 0x13, 0xd8, - 0xc7, 0x41, 0xf2, 0x64, 0xc6, 0xa1, 0xab, 0x24, 0x72, 0x45, 0x74, 0xb1, 0xf5, 0x31, 0x5e, 0xda, - 0xf6, 0x6d, 0x69, 0xef, 0xb8, 0x2c, 0x5a, 0xe5, 0xd1, 0x08, 0x30, 0xba, 0x13, 0xb9, 0x59, 0x50, - 0x0f, 0x88, 0xba, 0x45, 0x65, 0x9c, 0xc9, 0x81, 0x4d, 0x84, 0x10, 0x06, 0x10, 0x20, 0x3d, 0x23, - 0x13, 0xed, 0x4d, 0x47, 0x7b, 0x7d, 0xa6, 0xd9, 0x8a, 0x67, 0x0a, 0x33, 0x42, 0x26, 0x95, 0xa6, - 0x7d, 0xb5, 0x1d, 0x0b, 0xf8, 0xf3, 0x79, 0x9f, 0xb0, 0x91, 0xf8, 0x56, 0xc7, 0x0a, 0x3d, 0x46, - 0x32, 0x50, 0xde, 0xdb, 0xc3, 0x86, 0xcb, 0xa5, 0xa8, 0x35, 0xf6, 0x84, 0x56, 0x9b, 0xaa, 0x06, - 0xd4, 0xa2, 0x1b, 0x25, 0xf0, 0x66, 0x03, 0x75, 0xa0, 0xe2, 0x94, 0x3d, 0x56, 0x39, 0x74, 0x3e, - 0xbc, 0xd3, 0x58, 0xdf, 0xcf, 0x7d, 0x4d, 0x64, 0xf8, 0x59, 0xe3, 0xd4, 0x50, 0xf6, 0x50, 0x09, - 0x86, 0x65, 0x24, 0x21, 0x5b, 0x64, 0x1a, 0xd4, 0x90, 0x24, 0x39, 0xdf, 0x5d, 0x65, 0xd4, 0x4d, - 0x2a, 0x47, 0x7e, 0xd3, 0xe2, 0x81, 0x99, 0x18, 0xd6, 0x22, 0xb2, 0x6f, 0xe7, 0x9c, 0x7a, 0x0e, - 0x8c, 0xa2, 0xda, 0xf8, 0x56, 0x65, 0x0d, 0x87, 0x3b, 0x82, 0x8b, 0x82, 0x6d, 0xa3, 0xb3, 0x34, - 0xb7, 0x97, 0xc3, 0x26, 0x49, 0xb7, 0x8d, 0x13, 0x13, 0x7a, 0x83, 0x75, 0x92, 0xe9, 0x23, 0x53, - 0xd6, 0x5c, 0xe0, 0x2c, 0xc6, 0x74, 0x2c, 0x2b, 0x75, 0x58, 0xb9, 0xb4, 0x9b, 0xc4, 0x45, 0xf4, - 0x06, 0x87, 0x2b, 0xa0, 0xcc, 0x95, 0x9b, 0x35, 0xc9, 0x2a, 0xb3, 0x38, 0xb6, 0x9e, 0x30, 0xe9, - 0x16, 0x93, 0x1b, 0x3b, 0x98, 0x68, 0xbc, 0xfa, 0xf8, 0x07, 0x4a, 0x02, 0x0a, 0x1e, 0x1e, 0x16, - 0x97, 0x8c, 0x11, 0x92, 0x47, 0xf1, 0xc3, 0xd9, 0x62, 0xf9, 0xe8, 0x17, 0xe3, 0xfa, 0x68, 0x89, - 0x41, 0x52, 0xbd, 0x97, 0xce, 0xa9, 0x37, 0x80, 0x18, 0x4a, 0x78, 0x09, 0xf7, 0x5b, 0x6c, 0xfe, - 0x2b, 0xe3, 0x52, 0x99, 0x26, 0xaa, 0x0a, 0x7c, 0xca, 0x80, 0x29, 0xfc, 0x92, 0x97, 0x1e, 0x57, - 0x1e, 0xdc, 0xce, 0xa7, 0x76, 0x53, 0xb3, 0x31, 0xa0, 0xae, 0x4b, 0x89, 0xc6, 0x8b, 0x31, 0x8d, - 0x7a, 0x5d, 0x39, 0x71, 0xf9, 0x25, 0x15, 0x8c, 0x3a, 0x55, 0x93, 0xf0, 0xeb, 0x8a, 0x45, 0x54, - 0x2f, 0xf4, 0x52, 0x85, 0x4b, 0xcc, 0x07, 0x36, 0x26, 0x28, 0xd2, 0xeb, 0xe7, 0xad, 0x59, 0xd3, - 0x53, 0xc3, 0x21, 0x18, 0x0d, 0x0b, 0xf9, 0xaf, 0x25, 0x59, 0x7b, 0x9f, 0x05, 0x9d, 0x3c, 0x96, - 0xcb, 0xc3, 0xb7, 0xc6, 0x8f, 0x3d, 0xd2, 0x0c, 0x12, 0x4d, 0x68, 0x4e, 0x5e, 0xca, 0x4e, 0x7d, - 0x5a, 0x39, 0x87, 0xa9, 0x0c, 0xe1, 0xb4, 0xa6, 0x6b, 0x96, 0x43, 0x27, 0x9a, 0x0c, 0x68, 0x73, - 0x90, 0xc5, 0x17, 0x90, 0xd7, 0x53, 0x73, 0xf3, 0xdd, 0x53, 0x8c, 0xc7, 0x91, 0x09, 0xbc, 0xd5, - 0x8a, 0x89, 0x19, 0x39, 0x5d, 0x3c, 0xf8, 0x5e, 0xc2, 0xae, 0x6d, 0x18, 0xd1, 0x93, 0xd7, 0x07, - 0xf4, 0x4f, 0x20, 0x12, 0xbc, 0x59, 0x45, 0xf3, 0x43, 0x52, 0x7b, 0x80, 0x17, 0xba, 0xae, 0xf1, - 0x01, 0xd5, 0xa9, 0x16, 0xb4, 0x5b, 0x1c, 0x34, 0xc1, 0xf9, 0xb5, 0xdc, 0xa4, 0x7c, 0x35, 0x20, - 0x45, 0xa8, 0x6b, 0xf6, 0x98, 0x6f, 0x97, 0x44, 0xe2, 0xff, 0x77, 0xb3, 0x9e, 0x53, 0x14, 0x88, - 0xb2, 0xfa, 0x12, 0x14, 0xc0, 0x03, 0x42, 0xc2, 0x49, 0xc9, 0x51, 0x62, 0x71, 0xc5, 0x50, 0x82, - 0xa1, 0xa6, 0xa9, 0xac, 0xc2, 0x55, 0x38, 0x0f, 0xe9, 0xc1, 0x92, 0xf9, 0xaa, 0x8a, 0xb9, 0x36, - 0xc5, 0xa6, 0xba, 0xd5, 0x75, 0x7e, 0x35, 0x4f, 0x1e, 0x2c, 0xfb, 0xa5, 0x97, 0xe2, 0x94, 0x2a, - 0x89, 0xa6, 0xca, 0x14, 0xc9, 0x8d, 0x80, 0x73, 0x0c, 0x4e, 0xbb, 0xdd, 0x8c, 0xc7, 0x33, 0x77, - 0x41, 0xe9, 0xed, 0x82, 0xd7, 0x3c, 0xad, 0x87, 0x4d, 0x14, 0xeb, 0xc2, 0x24, 0x76, 0xba, 0x27, - 0x81, 0x92, 0xba, 0xc3, 0xdd, 0x37, 0xff, 0x73, 0xc0, 0x51, 0x88, 0x37, 0x87, 0x62, 0x1a, 0xa9, - 0x72, 0xc9, 0x84, 0x8b, 0xb8, 0x2b, 0x8b, 0xaf, 0x13, 0x03, 0x70, 0x6d, 0x7c, 0xe9, 0xbf, 0x3e, - 0x59, 0xd7, 0xa8, 0xc7, 0xc6, 0xc9, 0xa1, 0x3a, 0x80, 0x09, 0xde, 0xab, 0x70, 0xce, 0xd2, 0xc0, - 0xb2, 0x34, 0x51, 0xfb, 0x31, 0xb8, 0x42, 0x01, 0x0a, 0x71, 0x67, 0x57, 0x02, 0x30, 0x63, 0xe2, - 0x37, 0x9f, 0x59, 0x47, 0x96, 0x10, 0x73, 0x83, 0xe1, 0x31, 0x5f, 0xcb, 0x62, 0xbf, 0xff, 0xbe, - 0xe8, 0x8b, 0xb4, 0x0f, 0x43, 0xe7, 0x52, 0x9e, 0xfe, 0xd5, 0x4e, 0xbd, 0xb0, 0xe1, 0x47, 0x0f, - 0x96, 0x22, 0xaa, 0x40, 0x3a, 0x5f, 0xe5, 0x64, 0x97, 0x3f, 0x31, 0x04, 0x81, 0xbc, 0x66, 0x83, - 0x8b, 0xb7, 0x19, 0x3d, 0xb3, 0xad, 0x17, 0x22, 0xfe, 0xb0, 0x78, 0x81, 0xcb, 0x0c, 0x57, 0x9a, - 0x1a, 0x44, 0x47, 0x76, 0xaf, 0x29, 0x2c, 0x05, 0x8f, 0x85, 0x64, 0x0c, 0x15, 0xaf, 0x84, 0xcd, - 0x0f, 0x65, 0x0f, 0xa1, 0xae, 0x16, 0xb7, 0x77, 0x61, 0xf9, 0x10, 0x67, 0x06, 0x86, 0x8e, 0x59, - 0x4f, 0xb0, 0x3f, 0xca, 0x6d, 0x66, 0x94, 0x00, 0xe9, 0x20, 0x20, 0xc9, 0x28, 0xbd, 0x51, 0xd5, - 0x89, 0xd0, 0x0d, 0xa0, 0xa4, 0xf4, 0x4e, 0x62, 0x4b, 0x90, 0x3d, 0x44, 0x54, 0xdb, 0x94, 0xb3, - 0xda, 0xc3, 0x5c, 0x8e, 0xec, 0x30, 0xc6, 0xdf, 0x5e, 0x61, 0x43, 0x04, 0x76, 0x75, 0x75, 0x9f, - 0xd4, 0xd8, 0xe0, 0x18, 0xda, 0x43, 0xa5, 0x3d, 0x5a, 0xd6, 0xf8, 0x95, 0x2a, 0xd3, 0xc4, 0xdb, - 0xb5, 0xae, 0xf7, 0x41, 0x33, 0xf4, 0xb8, 0xf9, 0x6d, 0xa4, 0x39, 0x17, 0x6b, 0x69, 0x8a, 0x58, - 0xaa, 0xd5, 0x23, 0xa1, 0x39, 0x08, 0xab, 0x37, 0xbb, 0x1d, 0x40, 0xdd, 0xa6, 0x7a, 0xd0, 0x68, - 0x47, 0xb6, 0x2a, 0xbc, 0xa6, 0xb2, 0x26, 0x0f, 0xf7, 0x99, 0x85, 0xd7, 0x9c, 0x54, 0x5d, 0xc3, - 0xc4, 0xa2, 0x1f, 0x44, 0xaa, 0xd8, 0x5c, 0xbd, 0xaf, 0xc4, 0x4d, 0x3c, 0xa6, 0x9c, 0x7c, 0xb0, - 0xf2, 0x44, 0x47, 0x4c, 0x2d, 0x0b, 0xc5, 0x30, 0x86, 0x12, 0xe8, 0x93, 0xee, 0x7f, 0x7e, 0x8b, - 0x07, 0xd0, 0xd6, 0x11, 0xa4, 0x31, 0x73, 0xbc, 0xa0, 0xf3, 0x88, 0xef, 0x72, 0xec, 0xd4, 0x9b, - 0xd1, 0x23, 0xcc, 0xe5, 0xc2, 0xc6, 0x54, 0x98, 0x7f, 0x51, 0xb5, 0x85, 0x03, 0x6d, 0x33, 0xb9, - 0x4d, 0x09, 0x98, 0x51, 0xef, 0xa1, 0x64, 0x52, 0xc1, 0x92, 0x71, 0x1d, 0x36, 0x27, 0xb6, 0x85, - 0x4b, 0xf7, 0x6b, 0x20, 0x5f, 0x15, 0xc4, 0x6b, 0xf2, 0x9d, 0x95, 0x11, 0xd5, 0x9c, 0x2d, 0x01, - 0x43, 0x67, 0x0e, 0x2a, 0x4e, 0xdf, 0x60, 0xe9, 0x05, 0xcf, 0xbb, 0xee, 0x77, 0x10, 0xbe, 0x0e, - 0x1f, 0x77, 0xe2, 0xdb, 0x2c, 0xee, 0x04, 0xa1, 0x17, 0x5f, 0xef, 0x47, 0xde, 0x3a, 0x4b, 0xf6, - 0x2a, 0x70, 0xef, 0x72, 0xfb, 0xd5, 0x53, 0xfa, 0x3c, 0x7d, 0x86, 0xda, 0x83, 0xa4, 0xc9, 0x0c, - 0x72, 0xe1, 0x35, 0x1e, 0xd0, 0x68, 0x41, 0x92, 0x3f, 0xba, 0x9f, 0x0c, 0x69, 0xbf, 0xa9, 0xa2, - 0xf2, 0xc8, 0xbc, 0x5a, 0x13, 0xb7, 0xbb, 0x41, 0xea, 0xfb, 0x91, 0xc3, 0x0e, 0x16, 0xde, 0x25, - 0x21, 0x2c, 0xaf, 0x61, 0x50, 0xa4, 0x40, 0x54, 0xe1, 0xd0, 0xb6, 0x08, 0x48, 0xce, 0x83, 0x8a, - 0xdc, 0x20, 0x39, 0x54, 0x3e, 0x86, 0xfa, 0x61, 0x57, 0xd3, 0x29, 0xb7, 0xb3, 0x72, 0xd2, 0x31, - 0xf3, 0x80, 0x75, 0xeb, 0x31, 0x50, 0x44, 0x28, 0xc4, 0xd3, 0x6c, 0xb1, 0x4f, 0x2e, 0x3f, 0x56, - 0xcb, 0x20, 0xf5, 0x65, 0xae, 0x1e, 0xf7, 0x5d, 0x1f, 0xe1, 0x9f, 0x4f, 0x27, 0x24, 0x1c, 0x13, - 0x7f, 0x3b, 0x7f, 0x32, 0x9c, 0x0a, 0xa7, 0xe8, 0x8c, 0xb1, 0x81, 0xd4, 0x03, 0x35, 0xd7, 0x56, - 0x6d, 0xdb, 0x0e, 0x1f, 0x8b, 0xc5, 0xdf, 0xa4, 0xa3, 0x90, 0x11, 0x6d, 0xbe, 0x98, 0xf6, 0x2f, - 0xca, 0x29, 0x02, 0xe1, 0x0e, 0x53, 0x68, 0x4b, 0xe9, 0x49, 0x48, 0x8e, 0x76, 0x0f, 0x67, 0x71, - 0xb7, 0x2e, 0x98, 0xc5, 0x9b, 0xb2, 0x6c, 0x76, 0x49, 0x6c, 0xee, 0xf1, 0xf9, 0x9b, 0xa4, 0x60, - 0x19, 0xd8, 0xb4, 0x3a, 0x7e, 0xcc, 0x52, 0x73, 0x0a, 0x1b, 0x18, 0x17, 0xfc, 0x9f, 0x36, 0xf3, - 0xe1, 0xe7, 0x0d, 0x1e, 0xf7, 0x7d, 0x78, 0xe3, 0x52, 0x71, 0xd4, 0xa6, 0xcf, 0x71, 0x53, 0x9d, - 0x03, 0x14, 0xe7, 0x29, 0xba, 0xdb, 0x58, 0x66, 0xea, 0xc2, 0x82, 0x69, 0x61, 0x97, 0xf3, 0x1c, - 0xc9, 0x71, 0x3f, 0x84, 0xc1, 0xa3, 0xc1, 0xae, 0x2d, 0xec, 0x37, 0xc2, 0xad, 0x04, 0x02, 0x1c, - 0x62, 0xb1, 0x0b, 0xc0, 0xba, 0x5e, 0x94, 0x0d, 0xf2, 0xc2, 0x90, 0xc2, 0xf2, 0x40, 0x4d, 0x8b, - 0x54, 0xc9, 0x5b, 0x85, 0xe8, 0xbc, 0x3e, 0xa3, 0x8d, 0xc2, 0x28, 0x52, 0x45, 0x80, 0x68, 0xff, - 0x9b, 0x09, 0x2a, 0x49, 0xb4, 0xfc, 0x2b, 0xcf, 0x3c, 0x0e, 0x4a, 0xd0, 0x55, 0x60, 0x6c, 0x83, - 0xec, 0xc8, 0xcc, 0xfc, 0xfd, 0x5c, 0x94, 0xa5, 0x6c, 0xf5, 0xef, 0xcf, 0xba, 0x57, 0xf7, 0xec, - 0xfb, 0x19, 0x96, 0x81, 0x8b, 0x47, 0x24, 0xa6, 0x20, 0x31, 0xeb, 0x4e, 0x4c, 0x99, 0x9e, 0x76, - 0x64, 0x31, 0x25, 0xec, 0x57, 0xc0, 0x24, 0x3a, 0xce, 0x7b, 0x46, 0xac, 0x64, 0x9a, 0xed, 0x55, - 0xf5, 0x24, 0xbb, 0x6b, 0x7a, 0x45, 0xe3, 0x4f, 0x98, 0xed, 0x19, 0xf9, 0x02, 0x20, 0x2c, 0x96, - 0x8d, 0x63, 0xdf, 0x44, 0xa1, 0x5b, 0x17, 0xdb, 0x4d, 0x6b, 0x51, 0x3d, 0xb7, 0x3e, 0xab, 0x91, - 0xf9, 0x6b, 0x74, 0xa7, 0x54, 0xb5, 0x8a, 0x9f, 0xc5, 0x9e, 0x91, 0x69, 0x4b, 0x8e, 0x6b, 0x91, - 0xd6, 0xa8, 0x1c, 0x3b, 0xbf, 0x86, 0x31, 0xa2, 0xaa, 0xcf, 0x78, 0x84, 0xf9, 0xf2, 0x90, 0x7d, - 0x1e, 0x0c, 0x6e, 0xd7, 0x84, 0x89, 0xe9, 0x72, 0xff, 0xce, 0x9c, 0x72, 0x83, 0xd5, 0x71, 0x7f, - 0x49, 0x09, 0x26, 0x87, 0x58, 0x28, 0xa9, 0x25, 0xc1, 0xca, 0x2f, 0xd7, 0x3c, 0x39, 0xef, 0x1d, - 0xf4, 0x69, 0xd6, 0x06, 0x42, 0xfa, 0xda, 0xd5, 0x1d, 0xbc, 0x82, 0xcd, 0xa6, 0x5b, 0xb0, 0x80, - 0x66, 0xc4, 0x23, 0xe7, 0x6f, 0xba, 0x6f, 0x0b, 0xd8, 0x7a, 0xa8, 0x59, 0xa0, 0xed, 0xde, 0x33, - 0x67, 0x89, 0x64, 0xdb, 0x71, 0x7a, 0x87, 0xc2, 0xc4, 0x58, 0x72, 0xdf, 0xbe, 0x95, 0xa8, 0x15, - 0x5f, 0xd6, 0xcc, 0x15, 0xcd, 0xb8, 0x38, 0x65, 0x63, 0x2a, 0xf2, 0xa1, 0x03, 0x04, 0xc4, 0x04, - 0x36, 0x18, 0xa0, 0x1a, 0x0c, 0xc0, 0x3e, 0x35, 0xf0, 0xc3, 0x1c, 0xf2, 0xee, 0xd5, 0x82, 0xdf, - 0x7a, 0x6f, 0xc1, 0x6e, 0x93, 0xfd, 0x9f, 0x6e, 0x54, 0x3b, 0xb2, 0xbd, 0x3f, 0xf8, 0x3a, 0x6a, - 0xc0, 0xc3, 0xab, 0x2e, 0x23, 0x11, 0xc3, 0x9d, 0xf9, 0x11, 0xab, 0xa9, 0x49, 0x5d, 0x3d, 0x28, - 0x25, 0xd0, 0x7b, 0x0b, 0xe4, 0x72, 0xdb, 0x9b, 0xf8, 0x69, 0x7a, 0x4a, 0xa0, 0xb4, 0x4c, 0xbe, - 0xcf, 0x2f, 0xa4, 0x1b, 0xc3, 0xc3, 0xce, 0xda, 0x50, 0xd4, 0xfa, 0x64, 0x99, 0x0b, 0xbc, 0x28, - 0xc0, 0x28, 0x78, 0x50, 0x08, 0x1a, 0x22, 0xd9, 0x84, 0x51, 0x7b, 0x6f, 0x46, 0x5a, 0x74, 0x7a, - 0x64, 0xd7, 0xb2, 0xb2, 0x71, 0xbf, 0x55, 0x4c, 0x29, 0x3d, 0x5e, 0x46, 0x01, 0x36, 0xc2, 0x15, - 0xf1, 0x6b, 0xa1, 0x1c, 0x5c, 0x10, 0x02, 0x18, 0xd9, 0xa6, 0xcd, 0x78, 0x78, 0x7e, 0xfa, 0xb0, - 0x6b, 0xa1, 0xc5, 0x6b, 0x63, 0xe7, 0xe1, 0x5a, 0x0f, 0xd5, 0xb3, 0x4a, 0x58, 0xb0, 0x6d, 0x9d, - 0xc1, 0xd5, 0x5e, 0xc0, 0x9d, 0x7f, 0x55, 0x3e, 0x95, 0x06, 0xa8, 0x0f, 0x2e, 0x31, 0xa5, 0x1e, - 0xe4, 0xee, 0x0e, 0x20, 0x11, 0x5e, 0x28, 0x37, 0x37, 0xd3, 0x17, 0x3c, 0x85, 0xca, 0xcc, 0x75, - 0x72, 0xbd, 0x16, 0xde, 0x61, 0xf6, 0xfa, 0xf6, 0xf2, 0x39, 0xfa, 0x9c, 0xa8, 0x6c, 0x85, 0x0b, - 0xd2, 0x17, 0x35, 0x04, 0x72, 0xa3, 0x1e, 0x44, 0x5c, 0xf8, 0x32, 0x7d, 0x34, 0xae, 0x3f, 0x05, - 0xdf, 0xe6, 0x8b, 0x21, 0x6f, 0x37, 0xfd, 0x62, 0xbc, 0xd6, 0x75, 0xb9, 0x59, 0x30, 0xae, 0xcd, - 0xf3, 0x2a, 0x09, 0x7d, 0xd1, 0xa0, 0x89, 0x48, 0xc2, 0xa2, 0x5d, 0xe6, 0x49, 0xb0, 0xf3, 0xa2, - 0x99, 0x90, 0x94, 0x16, 0x31, 0x2c, 0x36, 0x07, 0x5e, 0x0f, 0xf3, 0x1c, 0x3e, 0x62, 0xf3, 0x47, - 0xe8, 0x29, 0x44, 0x52, 0xec, 0x07, 0x7e, 0x76, 0xd8, 0xae, 0x7d, 0x70, 0x7f, 0x1a, 0xdf, 0x3b, - 0xe3, 0x20, 0xf6, 0xdb, 0xec, 0x60, 0x63, 0xd4, 0x9c, 0x57, 0xf0, 0x99, 0x63, 0x25, 0xb6, 0x28, - 0xa6, 0x90, 0x30, 0xa7, 0xd0, 0x9f, 0x5d, 0x0e, 0xa8, 0x04, 0xbc, 0x5d, 0xc6, 0xbb, 0x77, 0xb1, - 0xd4, 0x39, 0xe9, 0xd2, 0x0d, 0x11, 0x7b, 0x5f, 0xe6, 0xc7, 0xe2, 0x7e, 0xe5, 0x30, 0x91, 0x5c, - 0xf3, 0x03, 0xdd, 0xdc, 0x2a, 0xfc, 0xf1, 0x03, 0xc1, 0x55, 0xb0, 0xeb, 0x42, 0xbd, 0x80, 0x07, - 0xe6, 0x5a, 0x23, 0x75, 0xa4, 0x81, 0x9e, 0xed, 0xd9, 0xdf, 0x18, 0x70, 0x77, 0xd3, 0x21, 0x59, - 0xd7, 0x1b, 0x15, 0xd7, 0x90, 0xce, 0xa6, 0xc3, 0x06, 0x2b, 0x84, 0x5a, 0x1d, 0x6d, 0x1f, 0x42, - 0x7e, 0xe5, 0xfb, 0xea, 0x7d, 0x41, 0xc6, 0xaf, 0x77, 0x7f, 0x27, 0x14, 0x97, 0x0f, 0x1b, 0xb1, - 0xda, 0x00, 0xfc, 0x15, 0xfa, 0x8e, 0x58, 0xa6, 0xb2, 0x3a, 0x1f, 0x89, 0x94, 0xa0, 0xd1, 0x79, - 0xfb, 0xcc, 0x06, 0x7b, 0xc9, 0x6d, 0x17, 0x97, 0xd4, 0x5d, 0x80, 0xd8, 0x87, 0x14, 0xcf, 0xa7, - 0x58, 0x14, 0xc1, 0x12, 0xed, 0x9a, 0xe4, 0xcb, 0xba, 0x17, 0xe1, 0x36, 0xcc, 0x59, 0x0a, 0x4a, - 0x0b, 0x02, 0xc0, 0x16, 0xf7, 0xe8, 0xd9, 0x54, 0x9b, 0x03, 0x8c, 0xea, 0x95, 0x23, 0xf0, 0x91, - 0xfd, 0x37, 0xe6, 0xf4, 0x3d, 0xfc, 0x33, 0xa0, 0x96, 0x2b, 0x79, 0xce, 0x9b, 0x13, 0xbf, 0x70, - 0x0f, 0xbd, 0x15, 0xda, 0xbc, 0x84, 0x7e, 0xb5, 0x16, 0xe7, 0x3b, 0x22, 0x0c, 0xf9, 0x60, 0x84, - 0x82, 0x31, 0xdb, 0x8c, 0xc5, 0x58, 0x97, 0x94, 0xa6, 0xef, 0x3c, 0x5c, 0x79, 0x8c, 0x09, 0x0c, - 0x84, 0xdc, 0x70, 0x4f, 0x93, 0x02, 0xaa, 0xc0, 0x92, 0xf7, 0xcf, 0x89, 0x1e, 0xf3, 0xce, 0xc5, - 0xb8, 0xce, 0x02, 0xa5, 0x29, 0xc6, 0x67, 0x68, 0xaf, 0x42, 0xee, 0x69, 0x99, 0x93, 0x6f, 0x6e, - 0xee, 0x5a, 0x34, 0xc5, 0x00, 0x24, 0x3d, 0x2f, 0xe9, 0x0b, 0x20, 0x05, 0x23, 0xc8, 0xc0, 0xcd, - 0x0f, 0x1e, 0xf0, 0x7c, 0xc0, 0x3c, 0x18, 0xd5, 0x83, 0x31, 0x6c, 0xf4, 0x2f, 0x3a, 0xf5, 0xde, - 0xc0, 0x14, 0xd2, 0xed, 0x11, 0x85, 0x9f, 0x50, 0x55, 0xdc, 0x5d, 0x68, 0x44, 0xed, 0x09, 0x96, - 0xa7, 0xc2, 0x7f, 0x52, 0xdc, 0x69, 0x20, 0x6c, 0xef, 0xb3, 0xcb, 0x45, 0x3b, 0x8c, 0x48, 0xd1, - 0xc0, 0x3f, 0x08, 0xa4, 0x07, 0xcf, 0x06, 0xc7, 0x50, 0x9f, 0x27, 0x88, 0x6d, 0x9f, 0x54, 0xc1, - 0x86, 0x1b, 0x75, 0x61, 0xa7, 0x67, 0x77, 0x2a, 0x1a, 0xd5, 0xca, 0x4d, 0x87, 0xa1, 0xee, 0x8d, - 0x15, 0xfe, 0x9f, 0x93, 0x2a, 0x03, 0xee, 0xb4, 0xbd, 0x38, 0x35, 0xff, 0x16, 0xf7, 0xec, 0x18, - 0xd7, 0x62, 0xcf, 0x94, 0xde, 0xbd, 0xd4, 0x81, 0x56, 0x68, 0x07, 0x6e, 0x9c, 0x30, 0x94, 0x98, - 0x81, 0xc0, 0xf8, 0xf1, 0xc7, 0xd1, 0x54, 0x0b, 0x2e, 0x6e, 0xff, 0xfb, 0x1e, 0x63, 0xca, 0xa6, - 0xee, 0x78, 0x6f, 0x11, 0xec, 0x1b, 0xbd, 0x5d, 0x43, 0xf5, 0x00, 0x90, 0x19, 0x5c, 0xbd, 0xb7, - 0x9d, 0xdd, 0xdf, 0x9b, 0xd5, 0xcd, 0xea, 0x14, 0x79, 0x90, 0x11, 0xd5, 0xb7, 0x30, 0x0d, 0x47, - 0x86, 0x73, 0xd6, 0xd7, 0x82, 0x8d, 0x8b, 0x01, 0xbd, 0xd3, 0x19, 0x12, 0xcb, 0xdb, 0x3a, 0x8c, - 0x62, 0x0c, 0x73, 0x5d, 0xec, 0x5f, 0x82, 0xde, 0x47, 0xb0, 0xc0, 0x32, 0x1f, 0x1a, 0x97, 0xd9, - 0xf4, 0x33, 0x68, 0x4b, 0x4f, 0x61, 0xfd, 0xf0, 0x24, 0xce, 0xb2, 0x57, 0x20, 0x52, 0xeb, 0x9c, - 0x12, 0xe9, 0x39, 0xce, 0x76, 0xc6, 0x5a, 0x67, 0x6d, 0x48, 0xc8, 0xf5, 0xcb, 0x98, 0xee, 0x59, - 0x59, 0x34, 0x1d, 0x7c, 0xe1, 0xc7, 0x88, 0x6a, 0x51, 0x71, 0xfb, 0x02, 0x25, 0x1b, 0x07, 0x38, - 0x5d, 0xbf, 0x2f, 0xa8, 0x3e, 0xa8, 0xf1, 0xcb, 0x99, 0xc5, 0xb1, 0xf0, 0x40, 0x13, 0x76, 0x7d, - 0x9d, 0xc9, 0xc3, 0xe0, 0x69, 0x67, 0xa9, 0x00, 0x28, 0x64, 0x0b, 0xa1, 0x22, 0x50, 0xf4, 0x9a, - 0xef, 0x2b, 0xaf, 0x95, 0x72, 0x78, 0xdc, 0x35, 0x82, 0xbe, 0x3b, 0xcd, 0xc3, 0x87, 0x02, 0x39, - 0x6b, 0x60, 0x19, 0xae, 0x1b, 0x9e, 0xd6, 0xc7, 0x87, 0x23, 0x01, 0xfc, 0xf8, 0xb1, 0x46, 0x9a, - 0xbd, 0x36, 0xe5, 0x26, 0x77, 0xc3, 0x54, 0x49, 0xf8, 0xd2, 0x57, 0xc2, 0x72, 0x7f, 0xe6, 0xd0, - 0x55, 0x6b, 0xfe, 0xf1, 0x0a, 0x87, 0x89, 0xb1, 0xa0, 0x20, 0xbb, 0x5b, 0xab, 0xf7, 0xcf, 0x97, - 0xd3, 0x87, 0x81, 0x3d, 0x4d, 0x07, 0xff, 0x28, 0x54, 0x7d, 0x76, 0x0d, 0xdb, 0xa5, 0xf2, 0xb5, - 0x67, 0xcc, 0x36, 0xc0, 0xc0, 0xa5, 0xdc, 0x31, 0xf0, 0x1a, 0x38, 0x30, 0xbe, 0xbd, 0x84, 0x3d, - 0xdb, 0xa7, 0x96, 0x46, 0x04, 0x11, 0x74, 0x1c, 0x05, 0x12, 0xde, 0xf8, 0x31, 0x6e, 0x28, 0x4c, - 0x99, 0x9f, 0x8d, 0x54, 0x60, 0xf4, 0x46, 0xe7, 0xc1, 0x6c, 0x15, 0xc5, 0x47, 0x75, 0x31, 0x54, - 0x9a, 0x99, 0x48, 0x4e, 0xfc, 0xaa, 0x9e, 0xaa, 0xdd, 0x88, 0x24, 0xaa, 0xa3, 0x34, 0x02, 0x30, - 0x81, 0x2a, 0x4d, 0x26, 0x51, 0x67, 0x65, 0xe5, 0x96, 0xcb, 0xed, 0x7c, 0x09, 0x8c, 0xf6, 0x82, - 0x95, 0x84, 0xfc, 0x0a, 0xfb, 0x95, 0x51, 0x73, 0x0f, 0xbc, 0x4e, 0xf8, 0x07, 0x9e, 0x26, 0x36, - 0x5e, 0xe3, 0x54, 0xe4, 0x44, 0x5b, 0x41, 0xaf, 0x61, 0x1b, 0xf8, 0xf2, 0x16, 0xe8, 0x37, 0xde, - 0xed, 0x11, 0x0f, 0xa1, 0x2a, 0xd4, 0xf1, 0x34, 0x0d, 0x93, 0x8c, 0xcf, 0xb2, 0x7d, 0x99, 0x49, - 0xc5, 0x0b, 0x72, 0xfe, 0x11, 0x39, 0x0c, 0x85, 0x3c, 0xae, 0x57, 0x9f, 0xc8, 0x8f, 0xd2, 0xe2, - 0xcb, 0x50, 0x16, 0x36, 0x05, 0xcd, 0x15, 0xd1, 0x23, 0x71, 0x17, 0x55, 0xee, 0x34, 0x24, 0x88, - 0xb2, 0xd9, 0x75, 0xc1, 0x81, 0xee, 0xc0, 0x5b, 0x6a, 0xe5, 0xda, 0x5f, 0x74, 0x13, 0x73, 0xa6, - 0x14, 0xc0, 0x8e, 0x8f, 0xd4, 0x5e, 0xc6, 0x3f, 0x25, 0x29, 0xbe, 0xf1, 0x2e, 0x46, 0xba, 0xa4, - 0xa9, 0x12, 0xcb, 0x19, 0xed, 0x3d, 0xf7, 0x36, 0xed, 0xc7, 0xcf, 0xf0, 0x56, 0x2d, 0x66, 0x0d, - 0xa9, 0x5f, 0x13, 0x55, 0xf8, 0x5d, 0xf0, 0x19, 0xaa, 0x19, 0xab, 0x4d, 0x3d, 0xc7, 0x54, 0x39, - 0xea, 0xa1, 0x48, 0x72, 0xaa, 0x2e, 0x76, 0x19, 0x1d, 0x81, 0x1d, 0xe5, 0x98, 0xa5, 0xe8, 0x56, - 0x5c, 0xb0, 0xc6, 0xca, 0x1c, 0xed, 0xbd, 0x8d, 0xc2, 0x96, 0xa6, 0x18, 0x01, 0xfe, 0x50, 0x0c, - 0x88, 0x04, 0xcb, 0x0a, 0x6e, 0x87, 0x52, 0x00, 0x61, 0xb5, 0xe1, 0x62, 0x48, 0xb2, 0x2f, 0xbf, - 0xe4, 0xe9, 0x71, 0x83, 0x7f, 0xe9, 0x8e, 0xed, 0xc1, 0x77, 0x81, 0xdd, 0x66, 0xa7, 0x2e, 0x44, - 0x00, 0x2b, 0x95, 0xae, 0xa6, 0x5a, 0x41, 0x60, 0x71, 0xcc, 0x9d, 0x28, 0x8a, 0x42, 0x6d, 0xfa, - 0x6d, 0xb4, 0x2e, 0xfc, 0x9f, 0xde, 0x90, 0xa1, 0xb1, 0x8f, 0xc7, 0x8b, 0x35, 0x3c, 0x46, 0x3b, - 0x67, 0x14, 0x4c, 0xe5, 0x31, 0xc3, 0x6e, 0x36, 0x1d, 0xa3, 0xb9, 0xa4, 0x51, 0xff, 0xef, 0x85, - 0x2f, 0xdd, 0x87, 0x2b, 0xb5, 0xdb, 0x23, 0xd9, 0x42, 0xcd, 0xa3, 0x73, 0x14, 0xb7, 0x9f, 0x01, - 0x54, 0x95, 0x55, 0xdf, 0xf7, 0x66, 0xf9, 0xb6, 0xcb, 0xa9, 0xc5, 0x0e, 0x71, 0xe5, 0xd4, 0xde, - 0x5b, 0xd7, 0x37, 0xae, 0xf2, 0xef, 0x40, 0x46, 0x50, 0xd0, 0x47, 0xa8, 0xa1, 0x07, 0x98, 0xa4, - 0x82, 0xc3, 0x84, 0x75, 0xb8, 0x9c, 0xb7, 0x03, 0xc5, 0x7f, 0x27, 0x61, 0x31, 0xd1, 0xc8, 0xce, - 0x32, 0xfd, 0x09, 0xbf, 0x14, 0xd4, 0xcd, 0x1e, 0xab, 0xe0, 0x7a, 0xc1, 0x00, 0xa1, 0x79, 0xad, - 0x45, 0x72, 0x1c, 0x33, 0x2e, 0xbb, 0xde, 0xe0, 0xd3, 0x08, 0x53, 0x06, 0x58, 0x63, 0x1f, 0x55, - 0x05, 0x8c, 0xc3, 0xcb, 0x79, 0xa4, 0xd2, 0xa2, 0x69, 0x14, 0x43, 0x2f, 0x8a, 0x90, 0xdb, 0xac, - 0xfe, 0xfc, 0xb2, 0x99, 0x13, 0xf9, 0xf0, 0x19, 0x70, 0x48, 0x55, 0x4a, 0x23, 0x03, 0x57, 0x38, - 0x0e, 0xd5, 0xc4, 0x2a, 0xc1, 0xfb, 0xda, 0x63, 0xd8, 0x9c, 0x8f, 0x2a, 0xae, 0x7c, 0xa9, 0x1d, - 0x60, 0xde, 0x5d, 0x48, 0x9c, 0x99, 0x8a, 0xc8, 0x5f, 0xd5, 0x65, 0x1d, 0x06, 0x8f, 0xbd, 0x2a, - 0xc4, 0x5a, 0x87, 0x76, 0xf3, 0xd8, 0x6d, 0x66, 0x53, 0x27, 0x39, 0xe3, 0xac, 0xfd, 0x39, 0xba, - 0xf1, 0xab, 0x8f, 0x00, 0x42, 0xa1, 0xc8, 0xab, 0xf7, 0x90, 0xdf, 0x01, 0x6a, 0xae, 0x11, 0x8e, - 0xe9, 0x56, 0x44, 0x92, 0x4e, 0x75, 0x6a, 0xbd, 0xa2, 0x4c, 0x4d, 0x36, 0x10, 0x2c, 0xcb, 0xf8, - 0x98, 0xa2, 0x9b, 0xd0, 0x93, 0x4b, 0xa4, 0xd6, 0x9a, 0x8b, 0x59, 0x80, 0xbf, 0x8c, 0xe8, 0xc0, - 0xc2, 0xff, 0xd4, 0x29, 0xcd, 0xa2, 0x05, 0xcd, 0x68, 0x20, 0x86, 0x23, 0xc0, 0x8a, 0xc6, 0xc6, - 0x1d, 0xaf, 0x1f, 0x0d, 0x70, 0x82, 0xac, 0x22, 0x32, 0x40, 0x72, 0xf8, 0x38, 0x80, 0x8d, 0x1c, - 0x56, 0x95, 0xe1, 0xbf, 0x50, 0xfb, 0x0e, 0xf3, 0xa9, 0xf0, 0xf5, 0x39, 0xcc, 0x78, 0x0c, 0x45, - 0x60, 0xf9, 0xf7, 0x6d, 0x9b, 0x09, 0x6e, 0x46, 0xb2, 0x02, 0x1d, 0xd3, 0x06, 0x67, 0x07, 0x99, - 0xa3, 0xfb, 0x41, 0xd3, 0xe3, 0xb1, 0xb5, 0x5f, 0xaa, 0xa5, 0xb1, 0x66, 0xcb, 0xe7, 0x11, 0x3d, - 0xf8, 0x99, 0x25, 0xe3, 0xd9, 0x0c, 0xc6, 0xcb, 0xed, 0xaf, 0x3a, 0x63, 0x38, 0x93, 0x1b, 0xff, - 0x6a, 0xdd, 0xfd, 0x3e, 0xa0, 0x69, 0xc0, 0xbe, 0xdd, 0xfe, 0x1a, 0x76, 0x8b, 0x34, 0x2a, 0xb9, - 0x4d, 0x40, 0x5e, 0x6a, 0xa5, 0x13, 0x30, 0x62, 0x25, 0xd0, 0x52, 0xc8, 0xa9, 0x7b, 0xd2, 0x54, - 0x4c, 0x5e, 0x94, 0xf6, 0x1e, 0x27, 0xcf, 0x65, 0x16, 0x15, 0xda, 0xe3, 0xe5, 0x3e, 0xd1, 0x67, - 0x47, 0x7e, 0x07, 0x11, 0xf9, 0x49, 0xb9, 0x2b, 0x0e, 0x07, 0x0e, 0x0b, 0x97, 0x87, 0x7c, 0x54, - 0x12, 0x29, 0x0b, 0x59, 0x4f, 0x05, 0x3b, 0xa2, 0x6b, 0x3a, 0x19, 0x1b, 0x9a, 0x43, 0x75, 0xd9, - 0xae, 0x89, 0xc9, 0xcc, 0x14, 0x9e, 0x03, 0x32, 0x56, 0x7e, 0x04, 0x2c, 0xa4, 0x54, 0x2f, 0x47, - 0x24, 0x16, 0x22, 0x63, 0xe1, 0xad, 0x2e, 0x71, 0x16, 0x13, 0x18, 0x60, 0xe6, 0xce, 0x3d, 0x15, - 0x1b, 0x2a, 0xa0, 0x67, 0x5f, 0xfa, 0x42, 0x9c, 0x07, 0x4f, 0x6f, 0x6e, 0xdc, 0x63, 0x9b, 0xf6, - 0x66, 0xe9, 0x98, 0xfc, 0xc8, 0x02, 0xfa, 0x73, 0x38, 0xab, 0x52, 0xd3, 0x27, 0xc9, 0xdf, 0x2f, - 0x49, 0x86, 0x95, 0x9d, 0xe0, 0x4c, 0x75, 0x8a, 0xa5, 0x71, 0x12, 0x32, 0x23, 0x98, 0x32, 0x78, - 0xa1, 0x8c, 0x8c, 0xd6, 0x17, 0x5a, 0x67, 0xb2, 0x3d, 0xde, 0x4f, 0x4e, 0x18, 0x3c, 0x74, 0x1f, - 0x4e, 0x42, 0x91, 0x79, 0x15, 0x48, 0x5c, 0xb4, 0x21, 0x03, 0xb4, 0x8c, 0x11, 0x64, 0x24, 0x1a, - 0xfd, 0x68, 0x3c, 0xaf, 0x5f, 0x40, 0xb4, 0x10, 0x48, 0xa1, 0xe1, 0xac, 0x4d, 0xc9, 0xc7, 0x42, - 0x54, 0x53, 0x22, 0xb8, 0x29, 0xdc, 0x2d, 0xef, 0x85, 0x99, 0x8c, 0x09, 0x91, 0xc4, 0xf6, 0x4c, - 0x75, 0xfa, 0xd1, 0x48, 0x0c, 0x7f, 0x13, 0x6d, 0x80, 0x70, 0x3d, 0x17, 0x1d, 0xff, 0x49, 0x18, - 0xe6, 0x10, 0x16, 0x08, 0xfb, 0x8c, 0xf5, 0xa6, 0xe3, 0x66, 0xe9, 0x08, 0x12, 0x80, 0x38, 0x29, - 0xe4, 0x71, 0xe4, 0x01, 0x4b, 0x77, 0x18, 0xbb, 0xcb, 0xd8, 0xbf, 0xe7, 0x42, 0x77, 0x3f, 0xa5, - 0x53, 0x63, 0x7b, 0xe3, 0x70, 0x43, 0xbc, 0x87, 0xbe, 0xad, 0xc9, 0x57, 0x51, 0x7b, 0x40, 0xbf, - 0xb9, 0x11, 0x59, 0xab, 0x41, 0x06, 0xed, 0x5a, 0x9b, 0x50, 0x98, 0xba, 0xcc, 0x75, 0xb9, 0xc5, - 0x7b, 0x31, 0xbb, 0xb3, 0x01, 0xa9, 0xae, 0x84, 0x99, 0x7f, 0xb1, 0x2c, 0x87, 0x42, 0x65, 0x63, - 0x74, 0xb3, 0xa2, 0x57, 0x9f, 0x0e, 0xfd, 0xf4, 0xc6, 0xa9, 0x52, 0xbc, 0x99, 0xe6, 0xac, 0x59, - 0xba, 0x25, 0x8c, 0xa7, 0xa5, 0x88, 0xc7, 0x8f, 0x7f, 0xc3, 0xe6, 0x75, 0x60, 0x94, 0x12, 0x8f, - 0x0b, 0xd0, 0x00, 0x67, 0x71, 0x5d, 0xb2, 0x0f, 0xe3, 0xdf, 0x6c, 0x28, 0xdf, 0xa2, 0x17, 0x63, - 0x3a, 0x4c, 0x87, 0xe6, 0x3d, 0x7d, 0x2a, 0x19, 0xb7, 0x64, 0x5b, 0x28, 0x37, 0x48, 0x0c, 0xe5, - 0x8b, 0xfb, 0xc6, 0x56, 0xbe, 0x6b, 0x0f, 0x48, 0xcb, 0x71, 0x5f, 0x37, 0x8d, 0x22, 0x2d, 0x25, - 0x77, 0x69, 0x56, 0xcd, 0x7a, 0x18, 0xb2, 0x0e, 0x99, 0x56, 0xf6, 0xbb, 0x5a, 0x4e, 0xe7, 0x94, - 0xb6, 0x8e, 0xcc, 0xdf, 0x8d, 0xd2, 0xeb, 0xbf, 0x3d, 0x6c, 0x0c, 0x8a, 0xd1, 0x35, 0x21, 0x15, - 0x3b, 0x90, 0x46, 0xf8, 0xb4, 0x63, 0xcb, 0xfe, 0xf3, 0xe1, 0x2a, 0x87, 0x3e, 0x39, 0x26, 0xf6, - 0xea, 0xfd, 0x60, 0x5a, 0x18, 0x38, 0x27, 0x10, 0x59, 0x90, 0xa1, 0xf4, 0xf7, 0x5e, 0x47, 0xdf, - 0xda, 0x95, 0x8a, 0x4b, 0x8f, 0xd7, 0xc9, 0x17, 0xab, 0xcc, 0xde, 0xa0, 0x4d, 0xf0, 0xa2, 0x4d, - 0xdf, 0x3c, 0xcb, 0xc8, 0x7a, 0xa5, 0x92, 0xac, 0x69, 0xe4, 0x8a, 0x57, 0xf6, 0x94, 0x15, 0xe3, - 0x52, 0x6e, 0x87, 0x82, 0xf2, 0x7a, 0xb1, 0x4b, 0x49, 0x7e, 0xb2, 0x37, 0xeb, 0xf0, 0xb4, 0x71, - 0xb5, 0x5a, 0xab, 0x80, 0xcc, 0xa4, 0xc7, 0x35, 0x09, 0x8e, 0xe5, 0x3b, 0x62, 0xc4, 0x98, 0x8b, - 0xeb, 0x24, 0xec, 0xd1, 0x9a, 0x7d, 0x3f, 0x6b, 0x00, 0xa5, 0x6d, 0xe5, 0x02, 0xd9, 0xd8, 0x09, - 0xef, 0x08, 0x03, 0x52, 0x82, 0x7f, 0xc8, 0x43, 0x37, 0x5f, 0xd6, 0x3f, 0x1e, 0xfa, 0x09, 0x01, - 0x4c, 0x0f, 0x4d, 0x4c, 0x48, 0x1f, 0xc9, 0xac, 0x6f, 0x27, 0x9a, 0xbe, 0x98, 0x2d, 0x44, 0x57, - 0x6a, 0x19, 0x3b, 0x56, 0xca, 0x31, 0x97, 0x47, 0x10, 0x86, 0xac, 0x39, 0x2c, 0xaf, 0x43, 0xbc, - 0x3f, 0x3a, 0x85, 0xf8, 0x09, 0xdf, 0xf3, 0xe2, 0xad, 0xd7, 0x85, 0x10, 0x30, 0xec, 0xbd, 0xaa, - 0x9b, 0x2d, 0x64, 0xb9, 0xeb, 0x3b, 0x86, 0xc2, 0xbe, 0xc3, 0xcc, 0x84, 0x5c, 0xe7, 0xb2, 0x22, - 0x4e, 0x31, 0xf3, 0x68, 0x09, 0x1c, 0xeb, 0x0d, 0x79, 0xc4, 0x65, 0xf6, 0x8f, 0xfb, 0xb9, 0x5d, - 0x00, 0x68, 0xf6, 0x66, 0x28, 0x65, 0xa8, 0x4a, 0xd0, 0x0a, 0x77, 0xca, 0xa7, 0x53, 0x11, 0xa2, - 0xcd, 0x0d, 0xc0, 0x94, 0xfb, 0x4f, 0x38, 0xd4, 0x03, 0x9c, 0xb0, 0x97, 0x08, 0x40, 0x97, 0x1c, - 0xa4, 0x08, 0xb9, 0x8f, 0xb3, 0x71, 0x52, 0x8d, 0x80, 0x90, 0x22, 0x69, 0xaa, 0x0f, 0xb0, 0xc4, - 0xf4, 0xb4, 0x9f, 0x4e, 0x6b, 0x32, 0x15, 0xb9, 0x0e, 0x1d, 0x6c, 0x22, 0x46, 0x08, 0x5d, 0xd1, - 0x62, 0xda, 0xf6, 0xc3, 0x2a, 0x1b, 0x0c, 0xa8, 0x28, 0xa9, 0xf1, 0x48, 0x44, 0x88, 0x0d, 0x2c, - 0x44, 0x29, 0x6e, 0x23, 0x0b, 0x97, 0xab, 0x01, 0xa9, 0xa6, 0x95, 0x3d, 0xae, 0x9e, 0xdd, 0x3b, - 0xbc, 0x36, 0x1c, 0x10, 0x0c, 0xd1, 0x82, 0x3f, 0xf6, 0x78, 0xb0, 0x49, 0xd7, 0xa0, 0xa9, 0x61, - 0xc2, 0x5b, 0xd1, 0x6d, 0x68, 0xaf, 0xed, 0x56, 0x1f, 0x77, 0x53, 0xbe, 0x94, 0x3b, 0x06, 0x9e, - 0xd0, 0xed, 0xab, 0x7e, 0x5c, 0x2e, 0x75, 0x54, 0xcb, 0x35, 0xdd, 0xae, 0x0e, 0x08, 0x83, 0x88, - 0x78, 0x8a, 0xb2, 0xbf, 0xd3, 0x1b, 0x40, 0x2a, 0xc2, 0x63, 0x0a, 0xf3, 0xb8, 0xfe, 0x31, 0x00, - 0x54, 0x93, 0xd3, 0xbd, 0x91, 0xb0, 0xdf, 0xf1, 0xc2, 0xd8, 0x25, 0x03, 0x1d, 0x7e, 0x85, 0xb8, - 0x60, 0x93, 0x7b, 0xf4, 0x5f, 0x39, 0x83, 0xc8, 0x72, 0x17, 0x5c, 0x02, 0x7c, 0x18, 0xe4, 0xda, - 0x61, 0xf9, 0x57, 0x62, 0x6b, 0x04, 0xd5, 0x0e, 0xd4, 0x8e, 0x59, 0x78, 0x25, 0xc5, 0x4a, 0xe9, - 0x75, 0xe2, 0x63, 0x7b, 0x1a, 0x8c, 0xaa, 0x1c, 0x5f, 0x60, 0x7b, 0xd9, 0x2a, 0x6f, 0x31, 0xf6, - 0x77, 0x39, 0x99, 0x24, 0x39, 0x6e, 0x6c, 0xc1, 0xbe, 0x9b, 0x01, 0xc6, 0x15, 0x3c, 0x44, 0xbd, - 0x78, 0x4e, 0x7e, 0xc5, 0xe9, 0xa8, 0xf5, 0x97, 0x08, 0xa6, 0x48, 0x85, 0xfd, 0xd2, 0x04, 0x5b, - 0x75, 0xed, 0xd2, 0xda, 0x0d, 0xfb, 0xa2, 0x9e, 0x71, 0xf5, 0xd4, 0x44, 0x0e, 0x1b, 0xea, 0x66, - 0x48, 0x48, 0xbe, 0xf6, 0x6d, 0x2d, 0x44, 0xb2, 0x05, 0xfb, 0xc7, 0x3b, 0xcb, 0x5e, 0x6c, 0x18, - 0x54, 0xd7, 0xe4, 0x4f, 0xa7, 0x16, 0x62, 0x9a, 0xb5, 0xdc, 0x2f, 0x1a, 0x91, 0x46, 0x1e, 0x69, - 0x4e, 0x2e, 0xc2, 0x9b, 0x12, 0xf0, 0x20, 0xc2, 0x0b, 0xa8, 0x55, 0xea, 0x36, 0xfe, 0x7c, 0x23, - 0x3f, 0xd5, 0x1b, 0x19, 0x3b, 0x23, 0xe6, 0xb6, 0xc2, 0x9d, 0x00, 0xe0, 0x61, 0x85, 0x9d, 0x76, - 0x22, 0xc2, 0x58, 0xbd, 0x25, 0xa3, 0xf9, 0x54, 0x93, 0x7e, 0xae, 0xdf, 0x98, 0x8e, 0xb6, 0x6e, - 0xba, 0xb1, 0x6c, 0x0c, 0xca, 0xec, 0x61, 0xf0, 0xbe, 0x56, 0xa2, 0xe7, 0x8d, 0xd4, 0xa1, 0x7d, - 0xaa, 0x03, 0xba, 0x08, 0x5e, 0x77, 0xb4, 0x64, 0x2c, 0x43, 0x60, 0x9b, 0x56, 0x1b, 0xad, 0xc5, - 0xc9, 0x59, 0x91, 0x20, 0x79, 0x9e, 0x18, 0x45, 0x16, 0x4f, 0xaa, 0x8b, 0x92, 0x3d, 0x9f, 0xb1, - 0x61, 0x19, 0xc0, 0x43, 0x3d, 0xc9, 0xe3, 0x8c, 0x65, 0xb8, 0x95, 0x97, 0x56, 0x1a, 0x63, 0xd7, - 0xcf, 0x41, 0x10, 0xe5, 0x6e, 0x20, 0x54, 0x72, 0xec, 0xfc, 0x04, 0x01, 0x3e, 0x31, 0xb4, 0x63, - 0x05, 0x4f, 0x20, 0x86, 0x61, 0x53, 0xac, 0x9f, 0xcf, 0x83, 0x8d, 0x5d, 0x68, 0x9d, 0x00, 0x93, - 0x30, 0x30, 0x4f, 0x43, 0x09, 0x41, 0x24, 0x97, 0x4b, 0x05, 0xa2, 0x4f, 0x02, 0x29, 0x7e, 0x8b, - 0x0b, 0xef, 0xb1, 0x35, 0xa1, 0x51, 0x51, 0xe4, 0xfa, 0xc5, 0xd6, 0x12, 0xe4, 0xcd, 0x85, 0xda, - 0x6e, 0xe0, 0x33, 0x22, 0xe7, 0xc2, 0xec, 0xbf, 0x45, 0x35, 0x33, 0x2d, 0x23, 0x55, 0xee, 0x6c, - 0xab, 0x44, 0xf8, 0x24, 0x92, 0x78, 0xa5, 0xd4, 0xfb, 0x9a, 0x65, 0xe9, 0x6d, 0x50, 0xa7, 0x60, - 0xa4, 0xee, 0x94, 0x83, 0x13, 0x67, 0x4e, 0x87, 0x5f, 0x0a, 0x06, 0x3b, 0x3b, 0x27, 0xfd, 0xbb, - 0x3c, 0x73, 0x69, 0x92, 0xea, 0xb6, 0xde, 0x6b, 0x8a, 0x1f, 0x7f, 0xd0, 0x92, 0x0c, 0x62, 0x2f, - 0x49, 0xef, 0x8d, 0xc8, 0x03, 0xe1, 0x67, 0x5b, 0x79, 0xab, 0xf1, 0x32, 0x43, 0x8b, 0x18, 0x68, - 0x5d, 0xb0, 0xd9, 0x8b, 0x8f, 0x2a, 0x24, 0xbc, 0x3e, 0x63, 0x84, 0xd9, 0x96, 0x96, 0x62, 0xd9, - 0xec, 0xec, 0xd3, 0x91, 0x64, 0x0a, 0x26, 0x15, 0x15, 0x08, 0x6a, 0x61, 0x18, 0xbc, 0x4a, 0x6a, - 0xc5, 0xef, 0xfc, 0x4c, 0xc5, 0x4a, 0xde, 0x95, 0xde, 0xd5, 0xcc, 0xc6, 0x4e, 0xd4, 0xbb, 0x50, - 0x68, 0x94, 0x05, 0x13, 0xbe, 0x0a, 0x29, 0x47, 0xfd, 0x10, 0x91, 0x0d, 0xff, 0x1a, 0xb1, 0x00, - 0x6b, 0xd4, 0x74, 0x55, 0x39, 0xad, 0x55, 0x21, 0x80, 0xd5, 0xbd, 0x7c, 0x92, 0x97, 0xa7, 0x09, - 0xf7, 0xf5, 0xd7, 0x08, 0x9d, 0x56, 0x8f, 0x96, 0xc1, 0xc0, 0x87, 0xb6, 0x5c, 0xb4, 0x5e, 0xbd, - 0xb1, 0xff, 0xd2, 0x22, 0x54, 0xfd, 0xe4, 0xdb, 0x5a, 0x69, 0x9a, 0x7b, 0x57, 0x34, 0x3d, 0x15, - 0x86, 0xfa, 0x5d, 0x18, 0xcd, 0x43, 0x0d, 0x47, 0x16, 0x4b, 0x21, 0x70, 0xc9, 0x2f, 0x1c, 0x28, - 0xbc, 0x93, 0xec, 0x15, 0x47, 0xba, 0x8f, 0xb5, 0xc1, 0x92, 0xfe, 0x64, 0x21, 0xa1, 0xb1, 0xec, - 0xd8, 0xe5, 0x9f, 0x1e, 0x69, 0x90, 0x32, 0xaa, 0xc7, 0xf9, 0x8b, 0xd8, 0x56, 0x65, 0x99, 0xd8, - 0x98, 0x39, 0x62, 0xc6, 0xf1, 0x0a, 0xe5, 0xd1, 0x88, 0xc2, 0xe6, 0xf6, 0xc1, 0xe4, 0x98, 0x58, - 0xad, 0x46, 0xf7, 0x38, 0xd3, 0xd6, 0x59, 0xdf, 0x9e, 0x87, 0xa0, 0x44, 0x4b, 0xdb, 0x64, 0x40, - 0xf7, 0x36, 0xe3, 0xc7, 0x20, 0x4d, 0x7c, 0xde, 0x56, 0x85, 0x1a, 0x00, 0x8c, 0x51, 0x94, 0x8c, - 0x96, 0x15, 0x9d, 0xeb, 0x86, 0x8f, 0x9b, 0x04, 0x7d, 0x94, 0xbc, 0xae, 0xf2, 0xab, 0xc7, 0x75, - 0xfe, 0xf4, 0xaf, 0x5c, 0x89, 0x3a, 0x24, 0x78, 0x19, 0x28, 0x42, 0xb7, 0xc6, 0x48, 0x3f, 0xe4, - 0xb9, 0xd6, 0xd5, 0x54, 0x2e, 0x1c, 0xeb, 0x7c, 0x6f, 0x84, 0xd4, 0xa4, 0x54, 0xaa, 0xb6, 0x81, - 0xe3, 0x41, 0x4b, 0x2c, 0xeb, 0x9c, 0x22, 0x26, 0xbd, 0x16, 0xc6, 0x16, 0x50, 0xbf, 0xac, 0xcb, - 0x19, 0x62, 0xc4, 0x5f, 0xe3, 0x18, 0x34, 0x84, 0x40, 0x68, 0x7f, 0x16, 0x34, 0x05, 0x74, 0xd4, - 0xe2, 0x6a, 0xdd, 0x68, 0xcf, 0xaf, 0xeb, 0x18, 0x6d, 0x61, 0x99, 0x14, 0x19, 0x16, 0x66, 0x9e, - 0xea, 0x20, 0x37, 0xda, 0x69, 0xdb, 0x56, 0x68, 0x25, 0xcc, 0x1c, 0x71, 0x06, 0x67, 0xb5, 0x78, - 0x45, 0x88, 0x8e, 0x6f, 0x82, 0xd8, 0x93, 0x81, 0x09, 0x40, 0xfb, 0x3e, 0x7e, 0xd2, 0x58, 0x0a, - 0x41, 0x8d, 0xaa, 0xde, 0xa5, 0x00, 0x04, 0x14, 0xff, 0x2d, 0xcf, 0x3a, 0x1b, 0x53, 0xa9, 0x9f, - 0xeb, 0x32, 0x97, 0xa2, 0x32, 0x0e, 0xbc, 0x10, 0xbe, 0x45, 0x04, 0x9e, 0x8e, 0x99, 0x8d, 0xe0, - 0x4a, 0x98, 0x94, 0x0e, 0x76, 0xf9, 0xed, 0xb9, 0x28, 0xbf, 0x61, 0x72, 0x48, 0x4d, 0x53, 0x95, - 0x48, 0x9e, 0x14, 0xc6, 0x8e, 0x0f, 0xb8, 0xc4, 0x8f, 0x6e, 0x99, 0x06, 0xd2, 0x42, 0x99, 0xd9, - 0x25, 0xd9, 0x56, 0x7a, 0xc6, 0xfe, 0xe8, 0x60, 0x66, 0x54, 0xd7, 0x51, 0xc3, 0xd2, 0x06, 0x4c, - 0xed, 0x3a, 0xe6, 0xf2, 0x6a, 0x1d, 0x5c, 0x53, 0x48, 0x06, 0x46, 0xf5, 0x33, 0xf9, 0x1c, 0xf3, - 0x42, 0xe1, 0x21, 0xea, 0x4c, 0xd8, 0x29, 0x0a, 0x08, 0xef, 0x3e, 0x0a, 0x44, 0x34, 0xf3, 0x28, - 0x59, 0x38, 0x7d, 0x0f, 0x5b, 0xb0, 0x40, 0x6f, 0x04, 0x11, 0xf6, 0x31, 0xf8, 0xcb, 0x02, 0x4d, - 0x03, 0x9a, 0xd2, 0xc6, 0x79, 0x6c, 0x5c, 0x73, 0x8d, 0xd1, 0x1b, 0x66, 0xd5, 0x03, 0x92, 0x99, - 0x07, 0x25, 0x0d, 0x8a, 0xe5, 0xfd, 0xf8, 0x10, 0xda, 0xe2, 0x7a, 0xce, 0x29, 0x41, 0x54, 0x40, - 0x74, 0xa7, 0x91, 0x98, 0x32, 0xd3, 0xde, 0xb2, 0x71, 0xa6, 0xc5, 0xc4, 0x77, 0x36, 0x9b, 0xcf, - 0x03, 0x2e, 0x8e, 0xbb, 0xff, 0xde, 0xfb, 0xe0, 0xc4, 0x9f, 0x78, 0xed, 0x13, 0xe9, 0x10, 0x34, - 0x30, 0x85, 0xea, 0x07, 0xb4, 0x3b, 0x8f, 0xff, 0x57, 0x05, 0xc1, 0x49, 0x65, 0x6d, 0x5f, 0xfb, - 0x77, 0x41, 0x5a, 0xbd, 0xdd, 0x3a, 0xcd, 0xf0, 0x63, 0x6b, 0x3b, 0x8d, 0x2e, 0x6b, 0x0a, 0x0e, - 0x7e, 0xbd, 0xd3, 0x44, 0x57, 0x9a, 0x74, 0x30, 0xb3, 0x28, 0xfe, 0x50, 0x4d, 0xbf, 0xd3, 0xfc, - 0x01, 0x0f, 0x48, 0xff, 0x3d, 0xaa, 0xf3, 0xe8, 0x94, 0x4a, 0x4a, 0xa2, 0xde, 0x3a, 0x6d, 0xfa, - 0xce, 0x53, 0x3f, 0x41, 0x03, 0x40, 0x8c, 0x34, 0x0d, 0x83, 0x26, 0xc1, 0x15, 0x1c, 0x47, 0xdf, - 0xfd, 0xe6, 0xc2, 0x9a, 0xd9, 0x67, 0x6e, 0x15, 0x53, 0x39, 0x1a, 0x01, 0x8d, 0x3a, 0xfd, 0x50, - 0xb4, 0x7e, 0x60, 0xb9, 0x2f, 0xc9, 0x3f, 0xbf, 0x0b, 0xb3, 0x45, 0xb0, 0x9a, 0x33, 0x22, 0xc6, - 0xa7, 0xe2, 0xf1, 0x81, 0x34, 0xee, 0x03, 0xbf, 0xfd, 0x02, 0x2b, 0xd1, 0xbf, 0x4d, 0x6d, 0x98, - 0x25, 0x7a, 0x16, 0x3e, 0x37, 0xfd, 0xff, 0xa4, 0x54, 0x09, 0xaa, 0xca, 0xcb, 0xd4, 0xa2, 0x47, - 0x4a, 0x67, 0xf9, 0x61, 0x62, 0xb1, 0x0b, 0xa9, 0x53, 0x29, 0x4f, 0xe6, 0x03, 0xaf, 0x83, 0xb4, - 0x7c, 0x6a, 0x24, 0xe2, 0x8a, 0xda, 0xa8, 0x81, 0x07, 0x02, 0xc3, 0x2a, 0xaa, 0x0f, 0x2e, 0x22, - 0x5a, 0xc6, 0x08, 0x14, 0x67, 0x7e, 0x05, 0x63, 0xec, 0x7a, 0x17, 0xba, 0x91, 0xbb, 0x61, 0xc0, - 0x41, 0x60, 0x67, 0x56, 0xd0, 0x1e, 0xb5, 0x3b, 0x16, 0x2c, 0x13, 0xc0, 0xb5, 0x38, 0x8d, 0xa0, - 0x90, 0x44, 0xd3, 0xea, 0xf6, 0x01, 0xd1, 0x8b, 0x59, 0x49, 0xe0, 0x4a, 0x73, 0xed, 0x9b, 0xc8, - 0x93, 0xc8, 0x50, 0xe9, 0x8f, 0x89, 0x48, 0xe1, 0xc1, 0x8f, 0x7f, 0x09, 0x7a, 0xe5, 0x08, 0x30, - 0x7f, 0x2a, 0x96, 0x27, 0x78, 0x21, 0xbd, 0x88, 0x55, 0x50, 0xfa, 0x24, 0x1d, 0x8f, 0x05, 0x41, - 0xac, 0xd0, 0x22, 0x38, 0x58, 0x90, 0x39, 0x1f, 0x2e, 0x27, 0x3e, 0xf8, 0xaf, 0xdc, 0x2a, 0xbf, - 0xfb, 0x3f, 0x25, 0x71, 0x8b, 0x26, 0x4f, 0x73, 0x61, 0xfd, 0x38, 0xf8, 0x56, 0xbd, 0x18, 0x35, - 0x45, 0x03, 0x0e, 0x87, 0xee, 0x08, 0xc6, 0x63, 0x52, 0x72, 0x2e, 0x61, 0xc1, 0x9c, 0xa9, 0x9e, - 0xdc, 0x2a, 0xfa, 0x4f, 0x97, 0xe0, 0x5a, 0x22, 0x1d, 0xa8, 0xef, 0x71, 0x4c, 0xeb, 0xed, 0x98, - 0xcf, 0x7d, 0x06, 0x39, 0x02, 0xcf, 0xc4, 0x00, 0x0c, 0x06, 0x14, 0xf4, 0x88, 0x2c, 0x14, 0x07, - 0x3a, 0x2b, 0xe6, 0xff, 0x0e, 0x13, 0x9d, 0xea, 0x3b, 0x8d, 0xd5, 0x14, 0x1f, 0x17, 0x0d, 0xb8, - 0xb9, 0xdd, 0x1d, 0x74, 0x97, 0x9f, 0x60, 0x19, 0x72, 0xaa, 0x94, 0x9c, 0x84, 0x66, 0x3a, 0xe9, - 0x5b, 0x11, 0x64, 0x60, 0x93, 0xc4, 0x3a, 0x1b, 0xa0, 0x00, 0x39, 0x1c, 0x01, 0xfe, 0x9c, 0xeb, - 0x4e, 0xa6, 0xc2, 0xff, 0x9c, 0xc5, 0x55, 0x93, 0x58, 0x15, 0x43, 0x35, 0x86, 0xf4, 0xdb, 0x7c, - 0xf5, 0x37, 0x07, 0x26, 0xba, 0xa7, 0x6d, 0x0d, 0xb1, 0xd0, 0xdf, 0x01, 0x0f, 0x89, 0xb3, 0x35, - 0x1e, 0xa0, 0xde, 0x4f, 0x61, 0x7d, 0xa8, 0x74, 0x1a, 0x19, 0x46, 0x9d, 0x92, 0x83, 0xc5, 0xa9, - 0xb9, 0x2b, 0xf2, 0xdc, 0x71, 0xdc, 0x63, 0x98, 0x35, 0xd1, 0x39, 0xac, 0x82, 0xd1, 0x15, 0xe4, - 0x31, 0x90, 0x36, 0x83, 0x6b, 0xc4, 0x69, 0x6d, 0x7b, 0xd6, 0xaa, 0x98, 0x4c, 0x79, 0xfd, 0xb4, - 0x8e, 0x90, 0xc7, 0x3b, 0x1b, 0x74, 0x99, 0x19, 0x65, 0xc2, 0x62, 0x51, 0xc1, 0x92, 0x15, 0x23, - 0xc9, 0x60, 0x85, 0x9f, 0xa5, 0x5c, 0xe9, 0xa1, 0x3e, 0x81, 0x2c, 0x98, 0xb4, 0xbb, 0xf8, 0xe5, - 0x95, 0xe3, 0x1a, 0x94, 0x8d, 0xd5, 0xca, 0x80, 0x5d, 0xb7, 0x4b, 0x45, 0x67, 0x89, 0xd3, 0x4e, - 0x78, 0xa8, 0x6a, 0x4d, 0x11, 0x0f, 0x0a, 0x1e, 0x64, 0x9c, 0xba, 0xe3, 0x8e, 0x97, 0xb2, 0xcc, - 0x16, 0x15, 0x8e, 0x8e, 0xd0, 0x5b, 0xff, 0x8f, 0x6c, 0x73, 0x1d, 0x69, 0xc5, 0x10, 0xcb, 0xd0, - 0xab, 0x67, 0xf6, 0x7e, 0x33, 0x74, 0xd8, 0xa3, 0x4b, 0xc9, 0x8a, 0xea, 0xae, 0x0b, 0x61, 0xaf, - 0xef, 0x04, 0xad, 0x75, 0xb1, 0x53, 0x15, 0x0f, 0x89, 0xba, 0x5d, 0x3d, 0x96, 0x9f, 0x72, 0x42, - 0xf1, 0x3f, 0xbe, 0xb2, 0x2c, 0x0c, 0xf8, 0x81, 0x60, 0x28, 0x13, 0xc1, 0x21, 0x01, 0xda, 0xab, - 0x6d, 0xaa, 0x89, 0x3a, 0x65, 0x4b, 0x0b, 0x1a, 0x98, 0x80, 0x06, 0x43, 0x38, 0xfa, 0x15, 0x1b, - 0x11, 0xd0, 0x37, 0x8b, 0x1e, 0x1d, 0x4a, 0x0d, 0x0f, 0x48, 0x45, 0x7c, 0xee, 0x10, 0x01, 0xbd, - 0xe0, 0x11, 0x61, 0xfb, 0x34, 0xc7, 0x53, 0xd0, 0xe8, 0x60, 0xcf, 0x93, 0xc1, 0xb9, 0x41, 0x16, - 0x38, 0x29, 0xd9, 0xa3, 0x67, 0x4e, 0x52, 0x47, 0x1a, 0x12, 0xea, 0xc6, 0x85, 0x8b, 0x9b, 0xe1, - 0xab, 0x7d, 0x20, 0xb3, 0xe3, 0x6d, 0x0e, 0x6f, 0xeb, 0xd3, 0xc5, 0xe0, 0x05, 0x9a, 0x5c, 0xed, - 0x8b, 0x6e, 0x02, 0x00, 0x92, 0x4a, 0xd5, 0x68, 0xfe, 0xc8, 0x95, 0x9b, 0x42, 0x77, 0xae, 0xb9, - 0xb0, 0xac, 0x1a, 0xf6, 0x84, 0x86, 0x96, 0xb6, 0xbf, 0xb2, 0xd5, 0xed, 0xd7, 0x6c, 0x1f, 0x1f, - 0xb2, 0xb2, 0x6b, 0x69, 0x2c, 0xb3, 0xd9, 0x9f, 0xa7, 0xcf, 0xbe, 0x9a, 0x79, 0xaa, 0x37, 0x5d, - 0x6e, 0x75, 0x6a, 0x73, 0xae, 0x21, 0x88, 0x15, 0xa2, 0x0e, 0xa3, 0x47, 0x5f, 0x96, 0x7d, 0x02, - 0x13, 0xb9, 0xde, 0x83, 0x9d, 0xda, 0x52, 0x66, 0x8e, 0xa5, 0xb6, 0xc7, 0x2c, 0x92, 0x14, 0xa4, - 0xa4, 0x1a, 0x3f, 0x2f, 0x69, 0x5c, 0x89, 0xc2, 0xcd, 0xb2, 0x19, 0xa6, 0x40, 0x0b, 0xea, 0x37, - 0x89, 0x87, 0xbc, 0xee, 0xb0, 0x8a, 0x86, 0xa4, 0xb4, 0x0c, 0xfa, 0x4a, 0xbb, 0xd8, 0x4e, 0x41, - 0x44, 0xff, 0x8a, 0x5b, 0xef, 0x4b, 0x04, 0x8c, 0xb6, 0x72, 0x48, 0x4f, 0xe9, 0x9c, 0xe6, 0x67, - 0x1f, 0x91, 0x02, 0x38, 0x40, 0x9f, 0x78, 0x77, 0x01, 0x57, 0xdc, 0x82, 0x5f, 0x1a, 0x1d, 0x92, - 0xbb, 0xfa, 0x6d, 0x15, 0x57, 0x90, 0x39, 0x4e, 0xb3, 0xff, 0xbe, 0x47, 0x1e, 0x74, 0x60, 0xd0, - 0x22, 0x49, 0x2c, 0x12, 0x03, 0xfb, 0xd3, 0x50, 0x59, 0xa3, 0xc2, 0xcb, 0xec, 0xab, 0x7b, 0xa6, - 0x47, 0xde, 0xed, 0x03, 0x9b, 0x96, 0x9c, 0xc1, 0x41, 0x09, 0xdf, 0x8b, 0xcb, 0x81, 0x7d, 0xcc, - 0xeb, 0x92, 0x08, 0x46, 0x4c, 0xb3, 0x45, 0x10, 0x69, 0x2b, 0x16, 0xc7, 0x9a, 0xce, 0x12, 0x7d, - 0xc0, 0x29, 0xf6, 0x1b, 0x0f, 0x86, 0x42, 0x82, 0xe3, 0x04, 0x7d, 0xcd, 0x3d, 0xb6, 0x9e, 0xa5, - 0xfb, 0x2a, 0x8d, 0xc7, 0x1f, 0x0c, 0x09, 0x3e, 0xd9, 0x0e, 0xfa, 0x18, 0x12, 0x8b, 0x5c, 0x1f, - 0x77, 0xdb, 0x2c, 0xaa, 0xd7, 0xea, 0x5b, 0xa1, 0xb9, 0x4b, 0xa2, 0x75, 0xcc, 0x16, 0xe8, 0xfa, - 0x60, 0x59, 0xff, 0x32, 0xb6, 0x92, 0x74, 0x85, 0x84, 0x40, 0xa1, 0x51, 0x33, 0x7d, 0x58, 0x34, - 0x5b, 0xad, 0x92, 0xe2, 0x5e, 0xdb, 0x33, 0xb3, 0x34, 0x98, 0x88, 0xa2, 0x40, 0x78, 0xfa, 0xf3, - 0x46, 0x7b, 0x89, 0x19, 0x1c, 0x6b, 0xbf, 0x31, 0xe7, 0x87, 0xfe, 0x95, 0x34, 0x20, 0xae, 0xcc, - 0xcc, 0x0d, 0xa8, 0x24, 0x9b, 0xdb, 0xed, 0xc9, 0xb1, 0x91, 0x12, 0xe8, 0x73, 0x2b, 0x19, 0xbe, - 0x0f, 0xe3, 0xb2, 0xbf, 0x20, 0xd1, 0x56, 0xfe, 0x28, 0x96, 0xb7, 0x44, 0x1f, 0xe8, 0x23, 0x57, - 0xa8, 0xc5, 0xe5, 0xde, 0x6c, 0xcd, 0x0e, 0xc3, 0x1d, 0x60, 0x4a, 0x4b, 0xc9, 0x27, 0x2b, 0xe1, - 0x5e, 0x60, 0x3f, 0x45, 0x9d, 0x08, 0xb9, 0x6d, 0x89, 0xf7, 0xcf, 0x0f, 0x32, 0x26, 0x61, 0x0a, - 0x4f, 0x2a, 0x58, 0xb4, 0xd9, 0x9e, 0x38, 0xfd, 0x57, 0x47, 0xeb, 0x53, 0xae, 0x35, 0x02, 0x06, - 0x4b, 0x43, 0xcc, 0x2e, 0x4b, 0x5b, 0x5e, 0x9c, 0xb4, 0x02, 0x1e, 0x84, 0x4f, 0x71, 0x26, 0x65, - 0x01, 0xba, 0x7a, 0xf0, 0x5b, 0x2e, 0xb0, 0x74, 0xe7, 0xd7, 0x71, 0xa8, 0x17, 0x8d, 0xd2, 0xfe, - 0x22, 0xee, 0x0e, 0x0e, 0x8b, 0xdf, 0x9f, 0x10, 0x8a, 0x34, 0xe6, 0x24, 0x85, 0x8f, 0x2b, 0x02, - 0x9e, 0x5b, 0xd7, 0x2c, 0x2b, 0xfc, 0xe8, 0xb4, 0x68, 0x81, 0x87, 0x7a, 0x26, 0xb0, 0x5a, 0xc4, - 0x2c, 0xc0, 0x14, 0xe8, 0x2d, 0xc4, 0x0c, 0xd3, 0x1c, 0xb7, 0x68, 0xb0, 0x1d, 0xe4, 0x58, 0x01, - 0x52, 0x47, 0xff, 0x9b, 0xcd, 0x32, 0x35, 0xe0, 0x93, 0x9e, 0x55, 0x3f, 0x97, 0xd2, 0x6b, 0x7f, - 0x68, 0x9c, 0x77, 0x84, 0xc9, 0xb3, 0x31, 0xc2, 0x07, 0x25, 0x2e, 0x5d, 0xd6, 0xf7, 0xb0, 0x97, - 0xd6, 0xbe, 0x01, 0xb3, 0xe4, 0x57, 0xdb, 0x82, 0xfc, 0x04, 0x63, 0x63, 0x3c, 0x51, 0xc4, 0x93, - 0x18, 0x71, 0x4f, 0x3c, 0x40, 0xfd, 0x7e, 0x5f, 0xeb, 0xa3, 0x65, 0xb7, 0x4c, 0xea, 0xd9, 0xb8, - 0x9e, 0xd1, 0x60, 0x52, 0xfa, 0x50, 0x57, 0x3d, 0xb4, 0x28, 0x88, 0xde, 0xa1, 0xd7, 0x34, 0x3b, - 0x7d, 0x7d, 0xc1, 0x88, 0x87, 0x9f, 0xa0, 0x86, 0xe4, 0xb2, 0xd7, 0x74, 0x17, 0x07, 0xff, 0xd7, - 0x16, 0x74, 0x7b, 0xb7, 0x35, 0x6a, 0x42, 0xb1, 0xc9, 0x63, 0xf4, 0x05, 0x02, 0x02, 0x3e, 0xc9, - 0x4f, 0x0a, 0x6f, 0x59, 0xac, 0x00, 0x39, 0x6d, 0x5f, 0x52, 0x57, 0x48, 0x45, 0x79, 0x7d, 0x97, - 0x4d, 0xaf, 0x74, 0xbf, 0x44, 0xb7, 0x23, 0xfd, 0x3f, 0x7a, 0x8f, 0xae, 0xb4, 0xa8, 0x62, 0xab, - 0x0f, 0xdc, 0xd2, 0x1d, 0x1f, 0x7b, 0xe4, 0x63, 0x97, 0x6e, 0x68, 0x5c, 0x4c, 0x18, 0x5a, 0x75, - 0x93, 0x14, 0x40, 0x2f, 0xc1, 0xda, 0xe1, 0x4e, 0x09, 0xff, 0x73, 0xd1, 0xfa, 0xa9, 0xdb, 0x5d, - 0x4a, 0x21, 0x49, 0x0a, 0x10, 0x97, 0x21, 0xdc, 0x87, 0xd2, 0x82, 0x77, 0x6b, 0x61, 0xa5, 0xdd, - 0xd7, 0x1f, 0x4d, 0x53, 0x61, 0xd3, 0xe6, 0xb8, 0xa8, 0x22, 0x44, 0xf6, 0x07, 0xce, 0x3f, 0xd3, - 0x5d, 0xa1, 0x53, 0x91, 0x6e, 0x0d, 0x51, 0x46, 0xc2, 0xf1, 0x17, 0x3e, 0x1b, 0xb8, 0x0b, 0xa1, - 0xf1, 0xa3, 0x5b, 0x0d, 0x70, 0xb5, 0x0c, 0x5a, 0xf1, 0x7b, 0xcf, 0xbc, 0x0a, 0xaf, 0x51, 0xb0, - 0x57, 0x3a, 0x62, 0x22, 0x3a, 0xe1, 0xfb, 0x28, 0x10, 0x31, 0xb5, 0x91, 0x8f, 0x47, 0xac, 0x53, - 0x0c, 0xfa, 0xca, 0x13, 0x2b, 0x6d, 0x8e, 0xe2, 0x6e, 0x6c, 0x2a, 0x66, 0xbc, 0xc2, 0x68, 0xe8, - 0x57, 0xc0, 0x8c, 0x5d, 0x67, 0xcb, 0x2f, 0xf4, 0xa8, 0x9f, 0x11, 0x3c, 0x10, 0xd8, 0xac, 0x9c, - 0xb8, 0x4d, 0xff, 0x15, 0x33, 0xd5, 0x91, 0xca, 0xb3, 0xd6, 0x51, 0xae, 0xd9, 0x0d, 0xf6, 0x74, - 0x0b, 0x9e, 0x16, 0xcb, 0x5e, 0xbe, 0x25, 0x31, 0xde, 0x9e, 0x30, 0x91, 0x60, 0xb7, 0x5a, 0x49, - 0x11, 0x48, 0xf1, 0x58, 0xc9, 0xdc, 0x86, 0x79, 0x52, 0xe7, 0x56, 0x54, 0x5d, 0xe4, 0x56, 0xbf, - 0x70, 0x18, 0xe1, 0x47, 0x82, 0xa0, 0xe7, 0x27, 0x7a, 0x9e, 0x13, 0x59, 0xaf, 0xdf, 0xa4, 0x0f, - 0x47, 0xc3, 0x22, 0x69, 0xf7, 0x03, 0xf1, 0xe0, 0xc4, 0xe3, 0x66, 0x0a, 0x88, 0x18, 0xbe, 0xab, - 0x04, 0xfc, 0xc7, 0xeb, 0x99, 0x90, 0xb7, 0x1c, 0x9d, 0x2d, 0x5f, 0xb4, 0xab, 0xd0, 0x5c, 0x49, - 0x0d, 0xda, 0x1e, 0x6c, 0xfe, 0xc9, 0x67, 0x2b, 0x82, 0x51, 0x35, 0xfd, 0x4d, 0xee, 0x44, 0x0b, - 0x3a, 0x86, 0x36, 0x13, 0x99, 0x8e, 0xef, 0x81, 0x9f, 0xd8, 0xe3, 0x11, 0x5c, 0x5a, 0x91, 0x1a, - 0x3e, 0xd6, 0xf3, 0x95, 0x57, 0xdd, 0x97, 0x3f, 0xb9, 0x42, 0x45, 0x9f, 0x9d, 0xdf, 0x89, 0x61, - 0x13, 0xae, 0xb9, 0x25, 0xce, 0x62, 0xaa, 0x16, 0x36, 0x62, 0x20, 0x40, 0x45, 0x9f, 0xa4, 0xeb, - 0x44, 0x8f, 0x5f, 0x22, 0x25, 0xe6, 0x71, 0xc1, 0x33, 0x4b, 0xb8, 0x49, 0xf1, 0x58, 0xb9, 0xaf, - 0xf0, 0xa2, 0xa0, 0xe7, 0x23, 0x8d, 0x7a, 0x76, 0xef, 0x95, 0x9f, 0x36, 0x2f, 0x79, 0x55, 0x5c, - 0xf4, 0x57, 0x48, 0x60, 0xbd, 0xcd, 0xae, 0xc9, 0x04, 0x01, 0x7f, 0x11, 0x47, 0xd3, 0xa0, 0x81, - 0x8b, 0x4b, 0x81, 0xd1, 0x66, 0x84, 0x91, 0x16, 0xd3, 0xf8, 0xf8, 0x21, 0x3d, 0x14, 0x79, 0xfc, - 0x78, 0xae, 0x1c, 0x63, 0x76, 0x38, 0x32, 0xb0, 0x83, 0xcb, 0xba, 0x0f, 0x8f, 0x5e, 0x08, 0xcb, - 0x89, 0x69, 0xbb, 0xcc, 0x55, 0x8a, 0x34, 0x4a, 0xe0, 0xeb, 0x4d, 0xae, 0x11, 0xfd, 0xec, 0x5f, - 0x54, 0x9b, 0xd7, 0xdd, 0x8f, 0x15, 0xca, 0xb5, 0x55, 0x7c, 0xe5, 0x08, 0x66, 0xa5, 0xb2, 0x61, - 0x04, 0x61, 0x1a, 0x98, 0x6a, 0x0c, 0x3a, 0x9a, 0xf4, 0x0e, 0x5e, 0x9e, 0xdf, 0xd5, 0x70, 0xa5, - 0x23, 0x4c, 0xcd, 0xf9, 0x35, 0xeb, 0x70, 0xe5, 0xa2, 0x4e, 0xf6, 0xff, 0x5b, 0x40, 0xd5, 0xe3, - 0xa1, 0x87, 0xd3, 0x48, 0x1d, 0xc7, 0x57, 0xb4, 0x6c, 0xa1, 0xc1, 0xa8, 0xa3, 0xc0, 0xe7, 0x22, - 0xa1, 0x5e, 0xba, 0x4b, 0x30, 0x1a, 0x85, 0xc7, 0x59, 0x97, 0xa7, 0x28, 0xaf, 0x09, 0x0a, 0x3e, - 0xc6, 0x5d, 0xf2, 0xdb, 0x6b, 0x57, 0x89, 0x47, 0x67, 0xb7, 0x22, 0x0e, 0x28, 0x8a, 0xeb, 0xd0, - 0xaa, 0x17, 0x14, 0xc4, 0xcb, 0x09, 0x8a, 0xe7, 0x49, 0xac, 0x4d, 0x7d, 0x03, 0xd5, 0x82, 0x24, - 0x0a, 0xe1, 0x8c, 0x18, 0xdf, 0x9b, 0x59, 0x17, 0x5c, 0xb2, 0x07, 0xfd, 0xbe, 0x80, 0x09, 0xfa, - 0x3a, 0xcd, 0x99, 0x84, 0x21, 0x1f, 0xf2, 0xaf, 0x02, 0x3b, 0x9c, 0x24, 0x29, 0x83, 0x13, 0x8e, - 0x92, 0xfd, 0x8c, 0x40, 0xf3, 0x7c, 0x56, 0x5a, 0xf4, 0xae, 0x49, 0xc5, 0xc1, 0x54, 0xb1, 0x5e, - 0x6f, 0x05, 0x37, 0xd0, 0x40, 0x63, 0x02, 0x7a, 0xfd, 0x8e, 0xca, 0xa5, 0x2c, 0x5f, 0xee, 0x56, - 0x69, 0x75, 0x7c, 0x5a, 0xd2, 0xce, 0x0b, 0x3c, 0x03, 0x2e, 0xf3, 0x4d, 0x44, 0xa3, 0xea, 0x13, - 0x7a, 0x3c, 0x6b, 0x63, 0xb3, 0xe3, 0xbf, 0x92, 0x1b, 0xcd, 0x9b, 0x1f, 0x98, 0x5f, 0x8a, 0xb1, - 0xa0, 0x60, 0xac, 0xf1, 0x35, 0x29, 0x28, 0x2e, 0x37, 0xf7, 0x52, 0xce, 0x3b, 0xca, 0x12, 0x62, - 0x25, 0x47, 0x79, 0xfb, 0xfa, 0xc1, 0xd0, 0x59, 0xc7, 0x4b, 0x11, 0x51, 0xec, 0xa8, 0xff, 0xd9, - 0x4a, 0x57, 0x3c, 0x3d, 0x51, 0x04, 0x2f, 0x2a, 0x17, 0x39, 0x08, 0x27, 0x45, 0x41, 0x88, 0x89, - 0x9f, 0x72, 0x51, 0x94, 0x33, 0xb3, 0xf8, 0x81, 0xc4, 0xb5, 0x77, 0x4e, 0x21, 0x6b, 0x27, 0x22, - 0xb9, 0x3a, 0xf7, 0x4f, 0x33, 0x18, 0x55, 0x2f, 0x04, 0xa6, 0xe0, 0xc7, 0x15, 0x25, 0xbd, 0xca, - 0x32, 0x18, 0x45, 0xf2, 0x07, 0x46, 0xab, 0xc9, 0x54, 0x93, 0x39, 0x7d, 0xee, 0x37, 0xbe, 0xb2, - 0xb9, 0x96, 0x09, 0x00, 0xfe, 0xd1, 0x93, 0x38, 0x00, 0x97, 0x9e, 0x2c, 0x0f, 0x5c, 0x2f, 0x36, - 0xd8, 0x8c, 0xcf, 0x08, 0xe4, 0xe6, 0x83, 0x37, 0x98, 0xf2, 0xdf, 0x09, 0xa6, 0x7c, 0xdc, 0xea, - 0xb8, 0xe2, 0x77, 0x3e, 0x5d, 0x4a, 0x0a, 0xfc, 0x8f, 0x76, 0xeb, 0x9b, 0x9c, 0xbf, 0xaa, 0x16, - 0x19, 0x0d, 0xc9, 0x33, 0x19, 0x56, 0xea, 0xb4, 0x86, 0x02, 0xb0, 0x81, 0xc1, 0x3e, 0x98, 0x39, - 0x36, 0xfd, 0x5b, 0xbc, 0xd7, 0x2c, 0xc2, 0xf5, 0xcb, 0xb4, 0xcc, 0x7f, 0xba, 0x9d, 0x32, 0xcd, - 0x83, 0xd6, 0x70, 0x87, 0x54, 0x27, 0xcd, 0xb1, 0x7a, 0xb5, 0x46, 0xe6, 0xb7, 0x3d, 0x2e, 0xda, - 0xe7, 0xf5, 0x0e, 0x4d, 0xfa, 0x76, 0x99, 0x72, 0xb9, 0x03, 0xcf, 0x21, 0x24, 0xc9, 0xc8, 0x10, - 0x8f, 0x50, 0x31, 0xb6, 0xff, 0x27, 0x31, 0x5c, 0x50, 0x04, 0xba, 0x11, 0x93, 0x2d, 0xf3, 0xcd, - 0x33, 0x2c, 0xc9, 0xd9, 0x81, 0x20, 0xc2, 0x21, 0xd6, 0x65, 0x09, 0x02, 0x24, 0x9b, 0x8c, 0xf1, - 0xde, 0x3d, 0x79, 0x7c, 0x1f, 0xd7, 0x97, 0x25, 0xaf, 0x4d, 0xb6, 0x67, 0x40, 0x20, 0xcd, 0x1e, - 0xe6, 0x3e, 0x74, 0x59, 0x58, 0x9c, 0xd1, 0xce, 0x3c, 0xb7, 0x05, 0xe4, 0x1b, 0xd8, 0xfc, 0xc8, - 0xac, 0xd1, 0x7a, 0x02, 0xb6, 0x60, 0x74, 0x0e, 0xce, 0x77, 0x0b, 0x80, 0xc3, 0x11, 0x12, 0xe0, - 0xf5, 0x48, 0xa0, 0xba, 0xde, 0x98, 0xac, 0xfa, 0xe7, 0x9d, 0xcb, 0x61, 0xab, 0x62, 0x15, 0x95, - 0xa9, 0x04, 0x9a, 0x21, 0x07, 0xee, 0x85, 0xdb, 0xdc, 0xde, 0xbd, 0x91, 0xcf, 0xac, 0xab, 0x67, - 0x3e, 0x86, 0x65, 0x1f, 0x66, 0xd8, 0x6b, 0x92, 0x1e, 0x3f, 0xaa, 0xeb, 0x11, 0xd5, 0xd1, 0x87, - 0x2e, 0x07, 0xcf, 0xe9, 0xba, 0x1a, 0x2f, 0x19, 0x27, 0x0e, 0x18, 0x8b, 0xf7, 0xb8, 0x65, 0x28, - 0xc8, 0x41, 0x9e, 0xa7, 0x89, 0x9f, 0xfd, 0xea, 0xfa, 0xe3, 0x36, 0x2a, 0xa8, 0x29, 0x00, 0xde, - 0x33, 0x7f, 0xb3, 0x0b, 0x3e, 0x00, 0xed, 0xe3, 0x69, 0x54, 0x3f, 0xd7, 0x95, 0xa3, 0x22, 0xd0, - 0x66, 0x8a, 0xf5, 0xbc, 0x88, 0x5c, 0x8b, 0x9a, 0xd9, 0x0f, 0x29, 0x5c, 0x85, 0x5a, 0x14, 0xba, - 0x91, 0x9e, 0xb0, 0x7e, 0xaf, 0x84, 0x24, 0x22, 0x00, 0x20, 0x30, 0xa4, 0xee, 0x07, 0x7e, 0xf5, - 0xd8, 0x07, 0xda, 0x29, 0x3b, 0x88, 0xd6, 0x7b, 0xde, 0x83, 0x0f, 0x77, 0xdc, 0x75, 0xb5, 0x45, - 0xcb, 0x45, 0x4f, 0xe1, 0xf7, 0x60, 0x5e, 0xa9, 0xb5, 0x00, 0xa2, 0xf6, 0x7d, 0x81, 0x8b, 0x34, - 0xa9, 0xd6, 0x2c, 0x4b, 0x09, 0xaa, 0xcd, 0xd9, 0x07, 0x36, 0xa3, 0xca, 0x67, 0x7c, 0xa3, 0x9f, - 0x0a, 0x7f, 0x20, 0x7f, 0x92, 0x2b, 0x35, 0xdd, 0x5d, 0x3a, 0xcc, 0x2d, 0x1f, 0xad, 0x5e, 0xc0, - 0xc5, 0x11, 0x45, 0xab, 0xc3, 0x9b, 0xaa, 0x95, 0x6b, 0xff, 0x24, 0x48, 0x2b, 0xc5, 0x61, 0x45, - 0x1b, 0x2b, 0x74, 0xfa, 0xc0, 0xb1, 0xab, 0xcd, 0x1b, 0xb3, 0x17, 0xb5, 0x09, 0x1e, 0xc8, 0x97, - 0xea, 0xc5, 0xb1, 0xa8, 0x46, 0x9e, 0x84, 0xfb, 0x3b, 0x78, 0x82, 0xf4, 0x94, 0xfd, 0x35, 0xb2, - 0x99, 0x20, 0xd8, 0xd9, 0xeb, 0xb7, 0xb6, 0x4d, 0xb3, 0x27, 0x4c, 0xee, 0xbe, 0x1e, 0xda, 0xb4, - 0x66, 0x02, 0x45, 0x29, 0x3b, 0x72, 0x3b, 0xb7, 0x65, 0xc0, 0x2b, 0x1a, 0xfe, 0x89, 0x2b, 0xe1, - 0x35, 0x35, 0x79, 0x3a, 0x50, 0x6e, 0xd5, 0x45, 0x48, 0x07, 0x1e, 0x89, 0xc3, 0xeb, 0xc4, 0xbc, - 0xdb, 0x54, 0xf0, 0x35, 0x53, 0xd2, 0x58, 0x65, 0x0e, 0x9c, 0xc6, 0x03, 0x29, 0xb8, 0xbb, 0xa5, - 0x84, 0xe0, 0xef, 0x3d, 0x79, 0x90, 0x76, 0x93, 0xb9, 0x75, 0x76, 0x6e, 0xfa, 0xb3, 0x48, 0xb8, - 0x4f, 0x14, 0x19, 0xf8, 0xa0, 0x51, 0x21, 0x73, 0x57, 0xd5, 0x20, 0x01, 0x35, 0xd8, 0xfe, 0xc3, - 0x46, 0x84, 0xf8, 0xa6, 0x6a, 0x14, 0xad, 0xa7, 0x7c, 0x16, 0x0f, 0x69, 0x81, 0x2e, 0x3d, 0x21, - 0x5b, 0xa3, 0x80, 0x57, 0x69, 0xb2, 0xf6, 0xb0, 0x5e, 0x27, 0xc5, 0x6d, 0xf4, 0x17, 0x72, 0xef, - 0xe7, 0x05, 0xea, 0x25, 0xc9, 0x29, 0x4b, 0x68, 0xc4, 0xaf, 0xf4, 0xd6, 0x5d, 0xcc, 0x49, 0x37, - 0x0a, 0xcb, 0x72, 0x56, 0xc9, 0xff, 0xea, 0x86, 0xa0, 0x39, 0x50, 0x9e, 0xd9, 0xda, 0x25, 0x9c, - 0xc3, 0x87, 0x70, 0x7b, 0x9c, 0x29, 0x0d, 0x54, 0x11, 0x14, 0x58, 0xed, 0x60, 0xde, 0x05, 0xd0, - 0xbf, 0xdd, 0x3e, 0xf6, 0xc4, 0xfe, 0x7c, 0x34, 0x6d, 0x4e, 0x11, 0x6e, 0x94, 0xb6, 0xea, 0x5d, - 0xcd, 0x2b, 0x41, 0xc8, 0xf1, 0x86, 0xb1, 0x92, 0x06, 0xbd, 0xe2, 0x66, 0x27, 0x09, 0xd7, 0x22, - 0x4c, 0xe0, 0xf7, 0x85, 0xe8, 0xc1, 0xba, 0x9f, 0x5e, 0x56, 0x30, 0x80, 0x34, 0x29, 0x5f, 0xa1, - 0x06, 0x45, 0x42, 0xb6, 0x45, 0x21, 0x58, 0x94, 0x87, 0xeb, 0xd6, 0x44, 0x77, 0xe1, 0x82, 0x43, - 0x45, 0xc3, 0x79, 0x85, 0x7b, 0xa6, 0x65, 0xd4, 0xae, 0xf7, 0x12, 0xd8, 0xe7, 0x72, 0xac, 0x34, - 0xb1, 0x9f, 0xe0, 0x86, 0x92, 0x3f, 0x00, 0x54, 0x60, 0x4a, 0xad, 0x95, 0xaf, 0x4c, 0x91, 0xfe, - 0x4b, 0x41, 0xa5, 0x7c, 0xff, 0xf9, 0xa1, 0xa4, 0x0e, 0xda, 0x2a, 0xe4, 0x55, 0x5a, 0xb6, 0x87, - 0xa2, 0xc3, 0xaf, 0x0e, 0x4f, 0xe2, 0x79, 0xee, 0xd9, 0x47, 0x4c, 0xb5, 0x14, 0xf2, 0xfe, 0x4f, - 0x61, 0x21, 0x5a, 0xeb, 0xdc, 0x19, 0xa8, 0xed, 0x68, 0x7e, 0x28, 0xd5, 0xc2, 0x21, 0x7d, 0x85, - 0xd4, 0x75, 0x4d, 0x1d, 0x6b, 0x61, 0xb4, 0x69, 0x93, 0xb0, 0x4e, 0x38, 0x83, 0x8e, 0x8e, 0x7c, - 0x6c, 0x9d, 0x6f, 0x57, 0x20, 0xd8, 0xfd, 0xe1, 0x42, 0xa6, 0x32, 0x3b, 0x97, 0x0d, 0xf7, 0xb6, - 0xc1, 0x9b, 0x0c, 0xcc, 0x71, 0x7b, 0x06, 0x7e, 0x63, 0xf0, 0x51, 0xe2, 0x23, 0x3a, 0x08, 0x8f, - 0xd3, 0x9e, 0xfc, 0xed, 0x4d, 0x35, 0x02, 0xbc, 0xfb, 0xb1, 0x78, 0x4d, 0xa7, 0x83, 0x0a, 0x34, - 0x16, 0x81, 0xaa, 0xcc, 0x27, 0x8c, 0x54, 0x33, 0xeb, 0x9b, 0xe1, 0xf2, 0x2b, 0xc6, 0xf5, 0xdc, - 0xa6, 0xdc, 0x99, 0x98, 0xbd, 0x5e, 0x2e, 0x14, 0x02, 0x9c, 0xf0, 0x97, 0xb5, 0x46, 0x44, 0x22, - 0x4e, 0x18, 0x4d, 0x15, 0x3f, 0x29, 0xa2, 0xa2, 0xa7, 0x31, 0xef, 0xe7, 0xda, 0xcc, 0xfc, 0xae, - 0x49, 0xf2, 0x15, 0xd8, 0xa6, 0xbb, 0x4d, 0xf8, 0xc1, 0xe5, 0x94, 0xe7, 0x79, 0x7e, 0xcb, 0x7e, - 0x3f, 0xa1, 0x8b, 0xdc, 0x02, 0xb6, 0x60, 0xc3, 0x05, 0xd8, 0x23, 0xa6, 0x76, 0x9b, 0x18, 0x83, - 0x7b, 0xa5, 0xb2, 0x3c, 0x7a, 0xc9, 0x55, 0x42, 0x30, 0x42, 0x66, 0xc8, 0xda, 0x01, 0xf0, 0xbe, - 0x79, 0x4a, 0x0d, 0x87, 0x6d, 0x4d, 0x24, 0x8b, 0xa8, 0x47, 0x1b, 0xe1, 0xde, 0x81, 0xa7, 0xad, - 0x95, 0xa5, 0x44, 0x27, 0x45, 0xb9, 0xee, 0xbd, 0xc0, 0x4a, 0xc7, 0xb3, 0xa1, 0xa0, 0xcf, 0xcd, - 0x0a, 0x9d, 0x12, 0x2f, 0x78, 0x67, 0x6c, 0xa5, 0x46, 0xc9, 0x30, 0x63, 0x9c, 0x31, 0xab, 0xa9, - 0x1a, 0x64, 0xab, 0x58, 0x01, 0x68, 0xf7, 0x48, 0x03, 0x9b, 0x00, 0x02, 0x14, 0xfd, 0x97, 0x69, - 0x1f, 0x5e, 0x64, 0xaa, 0xde, 0xec, 0x43, 0xe9, 0x47, 0x64, 0x6f, 0x67, 0xfc, 0x18, 0xd3, 0x0e, - 0x5d, 0xad, 0x81, 0x4c, 0xa7, 0xd4, 0x5e, 0x62, 0x94, 0x42, 0xb1, 0x56, 0x65, 0xd0, 0x1c, 0x27, - 0x56, 0x07, 0x62, 0x08, 0x72, 0x3b, 0x47, 0x7c, 0x10, 0xb5, 0x37, 0xec, 0x24, 0x99, 0xe9, 0xa4, - 0xff, 0x21, 0xc9, 0x54, 0xd2, 0x63, 0xe4, 0xe3, 0x35, 0xc0, 0xd4, 0x6a, 0x32, 0xa0, 0x74, 0x51, - 0x11, 0x14, 0x2b, 0xf7, 0xd9, 0x12, 0xc1, 0x69, 0x14, 0xd8, 0x21, 0xac, 0x3c, 0x59, 0x47, 0xe4, - 0x85, 0xf0, 0x0a, 0xfc, 0x67, 0xd0, 0xcf, 0x8d, 0x32, 0x15, 0x9d, 0x0c, 0x89, 0xbf, 0x16, 0x21, - 0x65, 0xc2, 0x83, 0x44, 0x65, 0xbf, 0xa9, 0x8c, 0xe8, 0x04, 0x02, 0x32, 0xdc, 0x5f, 0x0e, 0x9d, - 0xff, 0xb5, 0x68, 0xa4, 0x4c, 0xbf, 0x4a, 0xdc, 0x6e, 0x8a, 0x5f, 0x95, 0xcc, 0x8b, 0xa6, 0xec, - 0x90, 0xe4, 0x6b, 0xfd, 0xa0, 0x6c, 0x79, 0x40, 0x2e, 0x65, 0x7c, 0x82, 0x29, 0x78, 0xf5, 0x91, - 0xbf, 0x3b, 0xa2, 0x40, 0x81, 0x75, 0x3a, 0x02, 0xe4, 0xee, 0x78, 0x0f, 0xc5, 0x01, 0x6a, 0xc5, - 0x7a, 0x19, 0x70, 0xb5, 0x4a, 0x7c, 0x5b, 0x93, 0x27, 0x11, 0x16, 0x9c, 0xff, 0x54, 0xa4, 0x2d, - 0x34, 0xff, 0xa0, 0x44, 0x4e, 0x4c, 0xf9, 0x5f, 0x93, 0x8d, 0x24, 0xdc, 0x94, 0x64, 0x67, 0x9f, - 0xcb, 0x1f, 0x47, 0x97, 0x17, 0x6a, 0xfa, 0x14, 0x15, 0x2f, 0x4c, 0x8a, 0x50, 0x8a, 0xc6, 0x12, - 0xcd, 0x4f, 0x3c, 0x17, 0xd4, 0x49, 0xed, 0x2a, 0xf9, 0x0b, 0x27, 0xc0, 0x55, 0x8b, 0xb3, 0x0b, - 0xa9, 0x8d, 0xf8, 0x5e, 0x4b, 0xa8, 0xe8, 0xa4, 0xdd, 0xaf, 0x9a, 0x5d, 0xd8, 0x34, 0x2c, 0xe3, - 0x9a, 0x19, 0xea, 0xea, 0x11, 0xce, 0x9d, 0x79, 0xc6, 0xc0, 0x93, 0x7c, 0x8a, 0x2a, 0x11, 0xbd, - 0x81, 0x17, 0x92, 0x81, 0xa2, 0x39, 0x22, 0xc0, 0xcb, 0x89, 0x59, 0x1c, 0x6e, 0x71, 0x82, 0x0f, - 0xfb, 0xcb, 0x0a, 0x39, 0xfa, 0x18, 0x7b, 0x79, 0x6d, 0x8f, 0x43, 0x27, 0x70, 0x62, 0x14, 0xf1, - 0x76, 0x9a, 0xd2, 0x03, 0xee, 0x88, 0x71, 0x9b, 0x44, 0x9a, 0x30, 0x1f, 0xeb, 0xb0, 0xed, 0xa4, - 0xf8, 0xc1, 0x6b, 0x34, 0x6c, 0xea, 0x6d, 0xe5, 0xb3, 0xf9, 0x94, 0xcd, 0xba, 0x10, 0x8f, 0x88, - 0x58, 0x51, 0xb4, 0x94, 0xfb, 0x6b, 0xe1, 0xff, 0xd3, 0xc7, 0xe4, 0x1d, 0x04, 0xb9, 0x96, 0xe8, - 0x78, 0x2e, 0x1f, 0xa0, 0x0c, 0x9f, 0xe6, 0x0e, 0xb5, 0x6d, 0xd3, 0x1d, 0xbe, 0xf4, 0xa8, 0xd2, - 0x3f, 0x12, 0xd5, 0xe1, 0xcc, 0xde, 0xbf, 0x20, 0x80, 0x72, 0xcc, 0x89, 0xc6, 0xac, 0x2c, 0x1d, - 0x30, 0xcc, 0x76, 0xbc, 0xe3, 0xbe, 0x47, 0x2e, 0xbb, 0xaa, 0x30, 0x54, 0x2c, 0xa1, 0xf0, 0xa8, - 0x05, 0xec, 0xe8, 0x1d, 0xf6, 0x0c, 0x64, 0xb2, 0xec, 0x57, 0xeb, 0x2e, 0x3a, 0xaa, 0x5f, 0x13, - 0x4c, 0x6d, 0x9f, 0xcc, 0xeb, 0xae, 0x86, 0x56, 0x57, 0x66, 0xe8, 0x49, 0x03, 0x0a, 0xa7, 0x01, - 0xc1, 0x77, 0x8a, 0x05, 0xb2, 0x6b, 0x1e, 0x81, 0xd6, 0x67, 0x4d, 0xa4, 0x71, 0xda, 0x8a, 0x5e, - 0x97, 0x27, 0x23, 0xbb, 0xab, 0xdb, 0x14, 0x35, 0x3e, 0x3a, 0xe4, 0xa3, 0xae, 0x71, 0xb0, 0x06, - 0x29, 0xa9, 0x82, 0xd3, 0xdd, 0x48, 0xec, 0x58, 0x68, 0x90, 0x45, 0x9d, 0x60, 0x10, 0x7b, 0x54, - 0x37, 0xc7, 0xb9, 0xae, 0x63, 0x4f, 0x4f, 0xb1, 0xbc, 0x38, 0x50, 0x3a, 0xe8, 0x29, 0x2a, 0x9a, - 0xb7, 0xea, 0x29, 0xf5, 0x3d, 0x18, 0x17, 0x67, 0x9a, 0xed, 0x3b, 0xef, 0x4d, 0x2f, 0x75, 0x88, - 0xc2, 0xa1, 0xfe, 0x6f, 0xcd, 0x46, 0xb7, 0x33, 0xdc, 0xd7, 0xf1, 0xf1, 0xe9, 0x00, 0xab, 0x3e, - 0x99, 0x80, 0x12, 0xe5, 0xf7, 0xc0, 0x8e, 0x6b, 0xca, 0x87, 0xb2, 0x1b, 0xc9, 0xe7, 0x29, 0x6b, - 0x97, 0xcd, 0x78, 0x1f, 0x78, 0x29, 0x2c, 0x18, 0xa5, 0x9e, 0x54, 0xf2, 0x9c, 0xc6, 0x28, 0x84, - 0x6d, 0x61, 0xac, 0xab, 0x54, 0x88, 0x86, 0x2e, 0x95, 0xf5, 0xef, 0x69, 0xd0, 0xca, 0x65, 0x16, - 0x92, 0x8d, 0x0c, 0xd1, 0x9f, 0x22, 0xb4, 0xcd, 0xce, 0xc5, 0x85, 0xd4, 0x28, 0xa6, 0x4b, 0x30, - 0x2a, 0x96, 0x67, 0xde, 0x69, 0x0f, 0x20, 0x5d, 0x4c, 0x57, 0xd3, 0xf6, 0xd2, 0x92, 0xea, 0x4c, - 0xf2, 0x17, 0x32, 0xe4, 0xa3, 0x1f, 0xed, 0x15, 0xd0, 0x5e, 0xe2, 0x0e, 0x65, 0x5a, 0x00, 0x97, - 0x02, 0xfc, 0x36, 0xa3, 0xee, 0x9a, 0x29, 0x93, 0x90, 0xb2, 0xc3, 0x7c, 0x39, 0x6f, 0x5a, 0xf9, - 0xaf, 0x52, 0xdf, 0x17, 0xae, 0x31, 0xfd, 0x06, 0x42, 0xb9, 0x49, 0x18, 0xdb, 0xf5, 0x59, 0xd7, - 0x33, 0x7c, 0xe4, 0xd0, 0x15, 0x3e, 0x03, 0x98, 0x0f, 0xc1, 0x93, 0xd5, 0x23, 0xd9, 0x0a, 0x9e, - 0xc4, 0x80, 0x1e, 0xb6, 0xed, 0xe6, 0x97, 0x76, 0x08, 0xd9, 0x1a, 0xae, 0xc9, 0x34, 0x4d, 0x16, - 0x28, 0xdf, 0xc4, 0x56, 0x10, 0x14, 0xdf, 0x62, 0xfe, 0x39, 0x3b, 0x29, 0x0c, 0x77, 0x2a, 0xee, - 0xc5, 0xb5, 0x8b, 0x28, 0xf1, 0x60, 0x2f, 0x6f, 0x2a, 0xd7, 0x40, 0xa9, 0x35, 0xdb, 0x07, 0xd4, - 0xeb, 0x33, 0xe7, 0x93, 0x15, 0xa8, 0x48, 0xa1, 0x8c, 0xd1, 0x97, 0xbb, 0xcc, 0xaa, 0xaa, 0x8c, - 0x47, 0x7a, 0x24, 0x5b, 0x30, 0xc6, 0x78, 0x01, 0x8a, 0x08, 0xfd, 0x91, 0x6e, 0x6e, 0x30, 0x9d, - 0x39, 0xa6, 0x8e, 0x54, 0x4a, 0x3a, 0x5a, 0x81, 0x78, 0xe5, 0x11, 0x48, 0xf7, 0x86, 0x94, 0x10, - 0x7e, 0x92, 0xc8, 0x81, 0xbb, 0xac, 0xc8, 0x4a, 0x2a, 0xb7, 0x30, 0xb0, 0xfe, 0x07, 0xc4, 0x22, - 0x57, 0xa9, 0xd2, 0xcb, 0x59, 0x8a, 0x1f, 0xc8, 0x1c, 0xb8, 0xf5, 0xab, 0x9d, 0x99, 0x01, 0x68, - 0x06, 0xc0, 0x1b, 0xc7, 0x52, 0x54, 0x22, 0xa2, 0xdc, 0xae, 0x91, 0xdc, 0x94, 0x09, 0x8f, 0x1e, - 0x42, 0x39, 0x1a, 0xa8, 0xef, 0x1b, 0x91, 0x42, 0x8b, 0x0e, 0x5c, 0x27, 0x8a, 0x53, 0x61, 0x05, - 0x07, 0xd1, 0xe4, 0xdd, 0xb5, 0x32, 0x05, 0x88, 0xc1, 0x55, 0xa6, 0x4d, 0x50, 0x0d, 0xf7, 0xac, - 0x85, 0x08, 0x08, 0xb7, 0x1b, 0x79, 0x34, 0x37, 0x37, 0xd9, 0xf9, 0x5a, 0x8b, 0x72, 0x9a, 0x44, - 0xb2, 0x1f, 0x8a, 0xa0, 0x18, 0xe9, 0x91, 0x3c, 0x8f, 0xc5, 0x84, 0xc5, 0x37, 0x31, 0x99, 0x79, - 0x16, 0x3f, 0x6e, 0x9b, 0x90, 0xce, 0xe8, 0x9e, 0xd3, 0xae, 0xba, 0x6c, 0x50, 0x1b, 0x8d, 0xf0, - 0x19, 0xbf, 0x86, 0x30, 0x9e, 0x6f, 0x6f, 0xdb, 0x02, 0x3f, 0x31, 0x13, 0xf5, 0xc6, 0xdd, 0x22, - 0xa2, 0xe6, 0xee, 0xb6, 0xde, 0x48, 0x73, 0x9c, 0xca, 0xb2, 0x0b, 0x33, 0xcf, 0x73, 0xf0, 0xa9, - 0xe9, 0x58, 0x86, 0xd0, 0x40, 0x83, 0xda, 0x1a, 0x99, 0xcd, 0x66, 0x50, 0x9b, 0xb1, 0x27, 0x34, - 0xa8, 0x32, 0xcf, 0xa7, 0x40, 0x81, 0xf0, 0xb5, 0xc1, 0x7e, 0x69, 0x60, 0xb2, 0x77, 0x8f, 0x5a, - 0x59, 0x92, 0x61, 0x41, 0xbb, 0x2c, 0xb5, 0x89, 0x15, 0xf5, 0x73, 0x9a, 0x75, 0x7d, 0x49, 0x55, - 0x4e, 0xe6, 0xb5, 0x59, 0xb0, 0x38, 0x8c, 0x2f, 0x5b, 0x3d, 0x63, 0xaf, 0xfa, 0x92, 0x2f, 0xf9, - 0x9a, 0xa7, 0xaf, 0xff, 0xb8, 0xd5, 0x26, 0xaf, 0xd1, 0x72, 0x5c, 0x35, 0xd0, 0x9a, 0x1d, 0xcc, - 0x02, 0x94, 0xde, 0x4a, 0x2e, 0x83, 0x20, 0xf5, 0xce, 0x39, 0x95, 0xe6, 0x9c, 0x2b, 0x13, 0xb0, - 0x9b, 0x23, 0xc8, 0x8e, 0xc3, 0x71, 0xf8, 0x07, 0xff, 0x44, 0xea, 0x64, 0xad, 0x49, 0x78, 0x1a, - 0xaf, 0x4c, 0x5c, 0x40, 0xb7, 0x2a, 0x78, 0x9c, 0xf6, 0x32, 0xaf, 0xb6, 0x01, 0xb0, 0xc3, 0x8a, - 0x6c, 0x7d, 0xdc, 0xb4, 0x71, 0x1e, 0x45, 0x6c, 0x58, 0xac, 0x57, 0x9d, 0x49, 0xa2, 0x7a, 0xdb, - 0xc3, 0x58, 0xec, 0xc6, 0x59, 0x4b, 0x17, 0xcf, 0xa8, 0xf3, 0xc9, 0x2a, 0x8a, 0xed, 0xe7, 0x0b, - 0xed, 0x38, 0x01, 0x6d, 0x81, 0xb2, 0x15, 0x4a, 0x2f, 0xb5, 0xd2, 0x7f, 0x49, 0x9c, 0x8e, 0xab, - 0x44, 0xf7, 0x70, 0xf0, 0xcb, 0x74, 0x7d, 0x20, 0x7c, 0x0b, 0x37, 0xc0, 0xa2, 0xc9, 0x27, 0xe4, - 0x4e, 0x9b, 0x5e, 0x95, 0x96, 0x74, 0x7c, 0x2f, 0x4b, 0x8a, 0x23, 0x13, 0x1f, 0x48, 0xb6, 0xcf, - 0x99, 0x10, 0x4f, 0x07, 0xa1, 0xcc, 0xe2, 0xd9, 0xec, 0xe8, 0x25, 0x79, 0x76, 0xaf, 0x2e, 0x27, - 0xe8, 0x7b, 0x45, 0x8d, 0x85, 0x24, 0xb0, 0x3e, 0xf2, 0x8b, 0x54, 0x8f, 0xfa, 0xd3, 0xf6, 0x79, - 0x20, 0xaf, 0x80, 0xed, 0x18, 0x17, 0x5a, 0x9a, 0x5b, 0x03, 0x88, 0x54, 0x4b, 0xc9, 0xd4, 0xac, - 0xb6, 0xdc, 0x1b, 0xd0, 0x13, 0xef, 0x67, 0xe4, 0xba, 0xeb, 0x1a, 0x5d, 0x75, 0xe0, 0xc0, 0x88, - 0x43, 0x44, 0xaa, 0xe9, 0xd9, 0x52, 0xec, 0x2b, 0x77, 0x2e, 0x42, 0xb5, 0x69, 0x74, 0x6f, 0xe1, - 0xeb, 0xcd, 0x08, 0xa1, 0xee, 0x6a, 0xeb, 0x53, 0x72, 0xd3, 0x1e, 0x07, 0x85, 0x73, 0x3c, 0x2f, - 0xbc, 0xa6, 0x08, 0x52, 0xf5, 0x5d, 0xf6, 0x9a, 0x62, 0x20, 0x7e, 0x77, 0xd5, 0x2a, 0xce, 0xa2, - 0x14, 0x02, 0xde, 0x6e, 0x39, 0x67, 0x4f, 0xe4, 0xef, 0x70, 0x17, 0x35, 0xb3, 0x42, 0xcb, 0x0b, - 0x15, 0x3f, 0x46, 0xe6, 0x09, 0xf3, 0xba, 0xdb, 0x03, 0x91, 0x5f, 0x63, 0xd2, 0x06, 0x13, 0x55, - 0xd4, 0x2b, 0x8b, 0x4a, 0x5a, 0x86, 0x6b, 0xca, 0x1b, 0xf1, 0xa7, 0xcb, 0x11, 0x81, 0x32, 0x12, - 0xcd, 0xcb, 0xc0, 0x61, 0xf8, 0x3b, 0xad, 0x3a, 0x95, 0x92, 0xe9, 0xa3, 0x9a, 0x33, 0x36, 0xf8, - 0x8b, 0xfa, 0x66, 0x4f, 0x3d, 0x2f, 0xd8, 0x89, 0xee, 0x64, 0x19, 0x1c, 0x75, 0x35, 0x3d, 0x14, - 0xc9, 0x1a, 0x72, 0x9f, 0xf8, 0x18, 0x50, 0x6a, 0x78, 0x50, 0x9c, 0x01, 0x44, 0x84, 0x1d, 0x68, - 0x90, 0xa1, 0x5a, 0x21, 0xff, 0xeb, 0xb7, 0x41, 0xc3, 0x84, 0xd3, 0x70, 0x1b, 0xb2, 0xe0, 0x99, - 0xe1, 0xa2, 0x14, 0x8a, 0x59, 0xc6, 0xf0, 0x05, 0xb6, 0x29, 0xdb, 0xdb, 0x74, 0x45, 0x85, 0x7b, - 0xd2, 0xc9, 0xd6, 0xc4, 0x93, 0xc4, 0x0c, 0x7e, 0xf2, 0x4c, 0xd9, 0xfc, 0xd5, 0x11, 0x27, 0x05, - 0xf5, 0x49, 0xc4, 0x86, 0xff, 0x1d, 0xc9, 0x2f, 0x9d, 0x80, 0x71, 0x4a, 0x28, 0x62, 0xe0, 0x72, - 0x33, 0x61, 0x40, 0x70, 0xe2, 0x4c, 0x7d, 0x5e, 0x9e, 0x36, 0x4d, 0x96, 0xc1, 0x28, 0xd1, 0x9f, - 0xbc, 0x8c, 0x84, 0x19, 0xa8, 0x5d, 0xb0, 0xea, 0xde, 0x19, 0xbd, 0xb3, 0x41, 0xbe, 0xf0, 0x9c, - 0xa1, 0x9a, 0x1c, 0x91, 0x31, 0xa3, 0x9d, 0xde, 0xe3, 0xee, 0xb7, 0x2f, 0xcf, 0xee, 0xbc, 0x73, - 0xdd, 0x30, 0xd9, 0x36, 0xb6, 0x53, 0xd5, 0xa4, 0x2c, 0x6e, 0x75, 0x8e, 0x54, 0x37, 0xe8, 0xca, - 0x31, 0x42, 0xac, 0x9b, 0xd5, 0x6a, 0xd2, 0x70, 0x48, 0x05, 0xe1, 0x29, 0x79, 0x23, 0x50, 0x0d, - 0x93, 0x2e, 0x63, 0x16, 0x92, 0xc8, 0x65, 0x14, 0x2f, 0xfd, 0x43, 0xea, 0x7f, 0x16, 0x7e, 0x3a, - 0x6f, 0xe8, 0x4d, 0xc0, 0xbb, 0xed, 0x98, 0x9a, 0x76, 0x21, 0x50, 0x39, 0x89, 0x69, 0xbf, 0xf3, - 0xe1, 0x50, 0x5e, 0xda, 0x57, 0xa0, 0x53, 0xc8, 0x7e, 0x1e, 0xdc, 0x6c, 0x8e, 0xd8, 0x34, 0xdb, - 0x85, 0xb4, 0x82, 0xbe, 0x73, 0x27, 0xc4, 0xf5, 0xe3, 0x00, 0x69, 0x9c, 0x41, 0x55, 0xe7, 0x7e, - 0x80, 0xc5, 0xed, 0x6e, 0xd8, 0xc4, 0x14, 0x62, 0xb1, 0x2d, 0x50, 0xb6, 0x1d, 0x44, 0x41, 0xc1, - 0x86, 0x01, 0xbd, 0x45, 0x2d, 0xc1, 0x28, 0xef, 0xb3, 0x76, 0xc6, 0x76, 0xba, 0x0d, 0x4d, 0xef, - 0x48, 0x4c, 0xc7, 0xc4, 0x42, 0xcf, 0xd1, 0x79, 0x15, 0x9d, 0x4a, 0x4b, 0x68, 0x72, 0xe1, 0x2c, - 0x97, 0x65, 0xaa, 0x69, 0x79, 0x4f, 0xfc, 0x12, 0xd3, 0x6d, 0xb0, 0x17, 0x35, 0xb2, 0xb5, 0x7d, - 0xa8, 0xa9, 0x28, 0x25, 0xb1, 0xc8, 0x93, 0xfc, 0xae, 0xc2, 0x93, 0xdd, 0x2c, 0x18, 0x2d, 0xfd, - 0x1b, 0x46, 0x2f, 0xfa, 0x55, 0x66, 0x11, 0x22, 0x9b, 0x8e, 0xe9, 0xd1, 0x8a, 0x1c, 0x7a, 0xb3, - 0xd7, 0x62, 0x89, 0x8a, 0xb2, 0x16, 0xaf, 0x5b, 0x07, 0x6c, 0xb4, 0x2f, 0x1e, 0x3c, 0xf8, 0xa6, - 0xc2, 0xc5, 0x4d, 0x39, 0x4e, 0x81, 0x71, 0x7d, 0x36, 0x89, 0xf8, 0x2a, 0xa3, 0xf9, 0x5b, 0xff, - 0xe2, 0xb4, 0x70, 0x80, 0x23, 0x45, 0x3e, 0xcf, 0x44, 0x98, 0x97, 0x4d, 0x8d, 0x14, 0x5e, 0x26, - 0x64, 0x6a, 0x91, 0x00, 0x78, 0xbb, 0x18, 0x8a, 0x06, 0xca, 0x2e, 0xc6, 0xcf, 0x16, 0xef, 0xcd, - 0x6d, 0x99, 0x2a, 0x01, 0x43, 0x61, 0xb9, 0x38, 0x9a, 0x50, 0xf8, 0x26, 0x88, 0x10, 0x62, 0x4d, - 0x9b, 0x30, 0x88, 0x93, 0x04, 0xce, 0x32, 0xe8, 0x44, 0x82, 0x53, 0xe9, 0x3b, 0xf3, 0x9e, 0x58, - 0xe8, 0x1d, 0xbb, 0x0e, 0xa2, 0x97, 0xc8, 0x6d, 0x22, 0x73, 0xf0, 0x96, 0x13, 0xb7, 0xad, 0x05, - 0xea, 0x47, 0x81, 0xbf, 0xe7, 0xfc, 0xd6, 0x09, 0xb6, 0x8d, 0x69, 0x55, 0x07, 0x41, 0x36, 0x63, - 0xd9, 0x29, 0x05, 0x74, 0xbf, 0xf5, 0x0a, 0x5a, 0xa2, 0x27, 0x6f, 0xd4, 0xbd, 0xa5, 0xf1, 0x4e, - 0xae, 0x82, 0xf5, 0x29, 0x47, 0x3e, 0x44, 0xa6, 0xca, 0xab, 0x3a, 0xd3, 0x5e, 0x59, 0x5c, 0xe8, - 0x8c, 0x67, 0x18, 0xb9, 0x9d, 0xe3, 0x41, 0x89, 0x0e, 0xce, 0x3e, 0xe4, 0xb4, 0x57, 0x3f, 0x51, - 0xdb, 0x85, 0x70, 0x35, 0xb3, 0x47, 0xa6, 0x51, 0x6d, 0x2b, 0x15, 0xad, 0x8a, 0x91, 0x8b, 0x12, - 0x63, 0xad, 0xbc, 0x26, 0x8c, 0xaf, 0x66, 0xfc, 0xf1, 0x62, 0xd1, 0xdc, 0xd5, 0xa7, 0xa0, 0xeb, - 0x7b, 0x53, 0xd3, 0xfd, 0xfd, 0xed, 0xec, 0x8d, 0xe1, 0x5c, 0xc4, 0x4a, 0xcc, 0xc4, 0x2f, 0x76, - 0x20, 0x5c, 0x19, 0xc9, 0x7a, 0xa3, 0x07, 0x76, 0x75, 0xf7, 0xa7, 0x34, 0xc7, 0x2a, 0x80, 0xff, - 0x32, 0xa4, 0xfc, 0xeb, 0xf3, 0x88, 0x06, 0x68, 0x66, 0x7d, 0x17, 0x73, 0xe4, 0xbb, 0xf2, 0xde, - 0xe8, 0xba, 0x34, 0x7b, 0x3a, 0xa0, 0x61, 0xb0, 0xf7, 0x98, 0x1d, 0x39, 0x75, 0xad, 0x40, 0xde, - 0xbd, 0xa6, 0x0b, 0xdd, 0xee, 0xfe, 0xd1, 0xae, 0x14, 0x4d, 0xc7, 0xbb, 0x00, 0x79, 0xf1, 0x3c, - 0x86, 0x54, 0x60, 0xd9, 0x48, 0xef, 0x02, 0xa4, 0x48, 0x50, 0x4a, 0xfe, 0x07, 0x1e, 0xe4, 0x19, - 0xb7, 0x5f, 0xa7, 0x61, 0x28, 0x9d, 0x57, 0x58, 0xc7, 0x49, 0x8a, 0x94, 0xd7, 0xec, 0x71, 0x32, - 0x23, 0xab, 0x19, 0xee, 0xde, 0xe3, 0x36, 0x26, 0x5c, 0x86, 0x7c, 0xda, 0xc0, 0x67, 0x80, 0x2c, - 0x49, 0x01, 0xcc, 0xc5, 0xba, 0xad, 0xcc, 0xec, 0x1c, 0xa2, 0x65, 0xfd, 0xce, 0x53, 0xb1, 0x9a, - 0x73, 0x0d, 0xfe, 0x43, 0x1b, 0x2a, 0x54, 0x55, 0x1b, 0x40, 0xfe, 0xe0, 0x15, 0x38, 0x8c, 0x4e, - 0x3a, 0x5b, 0xcd, 0x12, 0xe2, 0x8a, 0x59, 0x0e, 0xe8, 0xde, 0x82, 0x25, 0xb2, 0x4a, 0x1a, 0x69, - 0x43, 0x44, 0x99, 0x60, 0x1e, 0xb5, 0x2d, 0x00, 0xf0, 0x8c, 0x42, 0xb0, 0xa5, 0x24, 0xf6, 0x70, - 0x8d, 0xd4, 0xa0, 0xb4, 0xd0, 0x0c, 0xd8, 0xa8, 0x64, 0x40, 0x14, 0xdd, 0xc1, 0x60, 0xb7, 0xee, - 0x64, 0x63, 0x06, 0x41, 0xa7, 0xe3, 0x13, 0x1f, 0x15, 0x4a, 0x88, 0x84, 0x93, 0x95, 0x66, 0x96, - 0x9a, 0x4d, 0x23, 0x2a, 0x42, 0x1d, 0x94, 0x4d, 0x8e, 0xf3, 0x29, 0xe5, 0x1d, 0x2a, 0x1a, 0x32, - 0x24, 0xa4, 0xa1, 0xa7, 0x67, 0xd1, 0x25, 0x69, 0xf7, 0xc3, 0x91, 0xf6, 0x40, 0x7c, 0x77, 0xf8, - 0xee, 0xbf, 0x15, 0x88, 0x55, 0x1a, 0xec, 0x5a, 0x9a, 0xa5, 0xa6, 0x7c, 0x33, 0xbe, 0x6a, 0x8b, - 0x11, 0x20, 0x9d, 0x7a, 0x28, 0x2e, 0x90, 0xb0, 0xd2, 0x65, 0x8d, 0xed, 0x73, 0x1c, 0x52, 0x35, - 0x73, 0xf1, 0xcb, 0x6c, 0x6b, 0x03, 0x5f, 0x6e, 0x9e, 0x02, 0x03, 0x3d, 0x15, 0xaa, 0x63, 0xaa, - 0xd7, 0x15, 0x69, 0x5d, 0x18, 0xe3, 0x3a, 0xbe, 0x0a, 0xa3, 0x1d, 0x13, 0x37, 0x4b, 0xa6, 0x8d, - 0xec, 0xa0, 0x60, 0xf2, 0x29, 0x5b, 0xe5, 0x8c, 0xa8, 0xb4, 0x5d, 0xaf, 0xe5, 0x57, 0x8c, 0xe9, - 0x6b, 0xbd, 0xab, 0xcb, 0x92, 0xd8, 0x51, 0x02, 0xd2, 0x21, 0xdf, 0xb0, 0x62, 0x99, 0xf0, 0x74, - 0xde, 0x99, 0xb3, 0xda, 0xe9, 0x0b, 0x3c, 0x77, 0xa6, 0xf3, 0x16, 0x64, 0x3d, 0x5a, 0x16, 0x61, - 0xe0, 0x98, 0xd3, 0x7d, 0xf3, 0xee, 0xe4, 0x8a, 0x7e, 0x47, 0x47, 0x2e, 0xf9, 0x91, 0xde, 0x71, - 0xba, 0xb8, 0xf2, 0x46, 0x3f, 0x8b, 0xf0, 0xcf, 0x20, 0x40, 0x5b, 0x99, 0xb0, 0xb7, 0x77, 0xa6, - 0x41, 0x10, 0x42, 0x7f, 0x06, 0x69, 0x1b, 0x03, 0x7b, 0xe2, 0xf6, 0x50, 0x6f, 0x71, 0x1c, 0xde, - 0xe6, 0x0b, 0xb8, 0x9c, 0xd0, 0x02, 0xea, 0x06, 0x19, 0xb0, 0x37, 0xf1, 0xc6, 0x6a, 0xc5, 0x75, - 0xaf, 0x0e, 0xde, 0x2a, 0x57, 0x11, 0x05, 0x9b, 0x8d, 0x06, 0xce, 0xd7, 0x07, 0x16, 0x10, 0xae, - 0x58, 0x53, 0x1c, 0xf1, 0xf8, 0x82, 0xb5, 0xfe, 0xe9, 0x98, 0xa2, 0x6c, 0xde, 0xe2, 0xdd, 0xa0, - 0x79, 0x8b, 0xdc, 0xa7, 0x56, 0xa1, 0xf7, 0x5d, 0xee, 0x46, 0x67, 0x2c, 0x34, 0x15, 0x1b, 0x46, - 0x4a, 0x0f, 0x3e, 0xf3, 0x3d, 0xd2, 0xbf, 0x95, 0xcd, 0x12, 0x1e, 0x2a, 0x25, 0x12, 0x94, 0xdb, - 0xac, 0x79, 0xb5, 0xe6, 0x5e, 0x76, 0x9b, 0x9b, 0x7a, 0xbc, 0x27, 0x4c, 0xcc, 0xb4, 0x75, 0xd1, - 0x42, 0x60, 0x2f, 0x88, 0xd2, 0xd4, 0x0e, 0xd7, 0xaa, 0xc8, 0x79, 0x24, 0x70, 0x90, 0x04, 0xde, - 0xb1, 0x8f, 0xb8, 0x1a, 0x58, 0xdc, 0xfe, 0xec, 0x26, 0x7e, 0x14, 0x86, 0xf8, 0x11, 0x87, 0x8c, - 0x42, 0xc5, 0xe4, 0x7b, 0xad, 0x0f, 0xbe, 0xb1, 0x8e, 0x49, 0x07, 0x69, 0x03, 0xb4, 0x82, 0xc2, - 0xa6, 0x74, 0xa0, 0x97, 0xd8, 0xdc, 0xe2, 0x0d, 0x4c, 0xb8, 0x02, 0x42, 0x6e, 0x9a, 0x33, 0x36, - 0x59, 0xe0, 0x84, 0x45, 0xfb, 0x82, 0xf8, 0x78, 0x0c, 0x7a, 0x51, 0x72, 0x6c, 0x4d, 0x6e, 0x14, - 0x05, 0xab, 0xe8, 0xc9, 0xd5, 0xc7, 0xe4, 0x32, 0x5b, 0xf4, 0x32, 0x53, 0xdd, 0x1a, 0x38, 0x61, - 0xda, 0x11, 0xa6, 0x9b, 0x4d, 0x37, 0xba, 0x48, 0x96, 0x3f, 0xe3, 0x9b, 0xc1, 0xd7, 0x3a, 0x21, - 0xad, 0x2b, 0x0d, 0x2e, 0x7c, 0xcb, 0xe2, 0x33, 0x01, 0x39, 0xf6, 0x0d, 0x0d, 0x0b, 0xf6, 0xd6, - 0xe8, 0xb3, 0xac, 0xd0, 0x49, 0x95, 0xef, 0x4d, 0x1e, 0xbf, 0x5f, 0x75, 0x71, 0x1d, 0x87, 0xaa, - 0x3f, 0x26, 0x7e, 0xa1, 0x9a, 0x56, 0xf4, 0x2f, 0xef, 0xf1, 0x91, 0x1f, 0x9a, 0x16, 0xe7, 0x51, - 0x39, 0x58, 0x93, 0xcb, 0xe9, 0x57, 0x89, 0xf9, 0xf6, 0x77, 0x8a, 0xae, 0x40, 0x0a, 0x48, 0x4c, - 0x9e, 0xc5, 0xe5, 0xc2, 0x5b, 0x17, 0x7a, 0x3d, 0x6b, 0xf6, 0x2a, 0x5d, 0x4f, 0x1d, 0xf0, 0x90, - 0x46, 0x6c, 0xdf, 0x5d, 0xda, 0xd8, 0x87, 0xb9, 0x7e, 0x0a, 0x53, 0x41, 0xff, 0x50, 0xe1, 0x01, - 0x8b, 0xda, 0x35, 0x07, 0x06, 0x12, 0x00, 0xf9, 0x6b, 0xba, 0xf5, 0xf9, 0xf4, 0x33, 0x66, 0xad, - 0x82, 0x8b, 0xf8, 0x68, 0x78, 0x52, 0xcc, 0x45, 0x8f, 0x41, 0x60, 0x4c, 0x92, 0x65, 0xad, 0x8b, - 0x84, 0x3b, 0xcd, 0x80, 0xd7, 0x15, 0xf7, 0x09, 0x0e, 0xcd, 0xa6, 0xe0, 0x83, 0xc4, 0xc0, 0x48, - 0x3e, 0x01, 0xca, 0xed, 0x60, 0xc2, 0xa7, 0xe8, 0xd7, 0xed, 0x10, 0x7e, 0xe1, 0xfc, 0xad, 0x0b, - 0xb9, 0x78, 0x5f, 0x91, 0x1e, 0xcd, 0x1d, 0x44, 0xa7, 0x23, 0x8b, 0x7e, 0xfe, 0xae, 0xb4, 0x6e, - 0x5a, 0x8c, 0xde, 0xb3, 0x20, 0xef, 0xa5, 0x7b, 0x18, 0xdd, 0x5a, 0xf5, 0x41, 0xca, 0x89, 0x7a, - 0xb3, 0x5f, 0x8e, 0x06, 0xe8, 0x04, 0x2c, 0x58, 0x4d, 0xb7, 0x95, 0x6f, 0xbb, 0x18, 0x3f, 0x71, - 0xc9, 0x9d, 0xde, 0x8f, 0xbe, 0xf2, 0x2b, 0xab, 0xb7, 0xe2, 0x23, 0xf2, 0xf0, 0x35, 0xcf, 0xb8, - 0xce, 0xae, 0xd3, 0xa6, 0xca, 0x56, 0x68, 0xb6, 0x36, 0xe5, 0x39, 0x9f, 0x4f, 0x6e, 0x3c, 0x10, - 0xa5, 0xf6, 0xf4, 0x50, 0xab, 0x96, 0xc2, 0x0b, 0x0d, 0xfc, 0x6a, 0x67, 0x69, 0xae, 0x6c, 0xd0, - 0x01, 0xe6, 0x67, 0x0a, 0x5a, 0xd4, 0x6c, 0x08, 0xc6, 0xe4, 0x0e, 0x91, 0xe7, 0x00, 0xb0, 0x12, - 0x2d, 0x0d, 0x3c, 0x73, 0x49, 0x19, 0xf0, 0x38, 0x85, 0x88, 0x88, 0x4c, 0x9b, 0xf7, 0x04, 0xe5, - 0x1b, 0x0d, 0x15, 0xfa, 0x50, 0xe1, 0xc4, 0x9d, 0x40, 0x3b, 0xce, 0xe4, 0x2f, 0x50, 0xd7, 0xad, - 0xc5, 0x80, 0x30, 0x51, 0x2c, 0x59, 0x44, 0xcf, 0x51, 0x8b, 0x90, 0xfd, 0xf9, 0x69, 0xe4, 0x04, - 0xb9, 0xe8, 0xae, 0x6f, 0x0d, 0x3c, 0x3f, 0xd3, 0x3f, 0x27, 0xd0, 0x6a, 0x66, 0x74, 0x06, 0xca, - 0x8b, 0x1d, 0x19, 0xa1, 0x42, 0x08, 0x96, 0x27, 0x5d, 0xf1, 0xe3, 0xb0, 0x66, 0xee, 0xb6, 0xce, - 0x97, 0x87, 0x03, 0x38, 0x2c, 0x28, 0xe1, 0x6f, 0xac, 0xda, 0xfb, 0x5f, 0xa9, 0x7c, 0xc4, 0x16, - 0xb8, 0x59, 0xae, 0x85, 0x5d, 0x88, 0xd6, 0x83, 0x12, 0x56, 0x20, 0xb3, 0xe1, 0x55, 0xdc, 0x21, - 0x4c, 0x10, 0x5a, 0x98, 0x29, 0x1b, 0xa9, 0x1e, 0x36, 0x09, 0xe9, 0x17, 0x20, 0x09, 0xaf, 0xee, - 0x96, 0x83, 0x7d, 0x47, 0x00, 0x43, 0x5f, 0x0f, 0x2f, 0x65, 0x47, 0x2d, 0x1d, 0xcf, 0xcb, 0x15, - 0xdf, 0x72, 0x3e, 0x62, 0x45, 0x6e, 0x09, 0xbc, 0x64, 0x87, 0x0c, 0x9a, 0x6a, 0x85, 0x55, 0xdd, - 0x3f, 0xb4, 0x8e, 0x6a, 0xfc, 0xfc, 0x50, 0xc2, 0xd2, 0xaf, 0xf4, 0xcc, 0x42, 0x1c, 0x83, 0x8b, - 0xf5, 0xef, 0x60, 0xac, 0x06, 0xf7, 0x4c, 0xa3, 0x7e, 0x3f, 0x92, 0x36, 0x73, 0xee, 0x6c, 0x9c, - 0xa7, 0xe7, 0x2e, 0x0c, 0x1e, 0xde, 0x64, 0x2c, 0x39, 0xe9, 0x17, 0xb4, 0xa0, 0xa2, 0x2c, 0xff, - 0xbe, 0x14, 0x10, 0x59, 0xd0, 0xc4, 0x14, 0x9d, 0xb5, 0xd4, 0xce, 0xcd, 0x8c, 0xd0, 0xbd, 0xed, - 0xe0, 0xa8, 0xbd, 0x14, 0x63, 0xb9, 0x40, 0xbd, 0xcc, 0xbb, 0x34, 0xd2, 0x11, 0x8e, 0x3e, 0x65, - 0x8b, 0xa1, 0x1a, 0x0b, 0x39, 0x7a, 0xcc, 0x94, 0xa6, 0xe1, 0xbc, 0x33, 0x16, 0x7c, 0x0a, 0x02, - 0xf9, 0x88, 0xf5, 0x84, 0x1c, 0x44, 0xa2, 0xf8, 0x5a, 0xa5, 0x52, 0x9c, 0xfb, 0x0a, 0x52, 0xc5, - 0x0f, 0xdc, 0xef, 0x84, 0x53, 0xd0, 0x13, 0x1d, 0x6e, 0x97, 0x22, 0x5b, 0x23, 0xa3, 0xad, 0xb1, - 0x6f, 0xc3, 0x27, 0x04, 0x5a, 0x1e, 0x4d, 0xd6, 0xef, 0xe1, 0x4d, 0x4b, 0x50, 0x0a, 0x42, 0x8a, - 0x13, 0xc1, 0x6c, 0xb1, 0x48, 0x27, 0xcf, 0x09, 0x37, 0x6f, 0x3a, 0x71, 0x9c, 0x36, 0x99, 0x97, - 0x1c, 0x93, 0x73, 0x32, 0x15, 0xc7, 0xe3, 0x5c, 0xb5, 0xaf, 0x11, 0xfa, 0xa5, 0x15, 0x8a, 0x79, - 0xec, 0x4e, 0x0e, 0xb3, 0xc4, 0x7c, 0xdd, 0x85, 0xbf, 0x4e, 0xb8, 0xff, 0x16, 0x0e, 0xec, 0x06, - 0x6a, 0x83, 0x54, 0xa6, 0xa0, 0x20, 0x40, 0xc5, 0x2b, 0xfc, 0x21, 0xff, 0x6b, 0x25, 0x13, 0x1f, - 0x8f, 0x7a, 0xa7, 0x61, 0x23, 0x20, 0x46, 0x3d, 0xcb, 0x4f, 0x8d, 0x7e, 0x89, 0xd8, 0xd4, 0x28, - 0x6e, 0x53, 0x44, 0x7f, 0x93, 0x8c, 0x81, 0x22, 0xab, 0x6f, 0x4f, 0x8d, 0xef, 0x6d, 0xe4, 0x41, - 0x2b, 0x91, 0xb1, 0x63, 0xec, 0x41, 0xdb, 0xe5, 0x7e, 0x23, 0x79, 0x05, 0x43, 0xb5, 0x5b, 0x47, - 0xdd, 0x97, 0xcf, 0xec, 0x2b, 0xde, 0x38, 0xfe, 0xb9, 0xc6, 0x24, 0x95, 0xc6, 0x4f, 0x01, 0x28, - 0x43, 0x8c, 0x41, 0x60, 0xd1, 0x9d, 0x3e, 0x35, 0x1e, 0xc4, 0xfb, 0x8b, 0x22, 0x60, 0xfd, 0xdb, - 0xec, 0x4f, 0xcd, 0xa6, 0x5b, 0x4a, 0x34, 0x08, 0x61, 0x19, 0xf1, 0xe4, 0xac, 0x01, 0x62, 0x66, - 0x2a, 0xa1, 0xaf, 0xfd, 0xb1, 0xed, 0xbb, 0xa7, 0xba, 0x11, 0x2b, 0x6c, 0x2e, 0xc8, 0x90, 0x0c, - 0x9d, 0x3a, 0xc0, 0x9d, 0xfd, 0x7c, 0x2a, 0x22, 0xc4, 0x92, 0xdb, 0x65, 0xcb, 0xd9, 0x5b, 0xfe, - 0xaa, 0xa8, 0xe1, 0x0e, 0x70, 0x3f, 0xbc, 0x01, 0x2d, 0x2e, 0x22, 0xcd, 0x3c, 0xf4, 0xe8, 0xa8, - 0x0e, 0xf9, 0x2e, 0xab, 0x05, 0x58, 0xaa, 0xde, 0x06, 0xbe, 0xad, 0xef, 0x1d, 0x69, 0x8f, 0xf0, - 0xbb, 0xf8, 0x7b, 0x62, 0x8c, 0x4a, 0xf7, 0x02, 0xa0, 0xad, 0x24, 0x58, 0x2c, 0xf0, 0x87, 0x62, - 0x7c, 0x85, 0x44, 0xb2, 0x50, 0x79, 0x9d, 0x53, 0xea, 0xfd, 0x3b, 0x41, 0xc1, 0x4d, 0x00, 0xaf, - 0x24, 0xd1, 0x12, 0x20, 0x68, 0x94, 0x38, 0xba, 0x5a, 0xfa, 0x10, 0x2a, 0x35, 0xc9, 0x96, 0x1c, - 0xd3, 0x3f, 0xc5, 0x7d, 0xec, 0x28, 0x28, 0xab, 0x16, 0x8c, 0x27, 0x0b, 0xb4, 0x32, 0x23, 0xb8, - 0x04, 0xd8, 0xfb, 0x78, 0x55, 0x0d, 0x31, 0x43, 0x72, 0x2e, 0xb3, 0xb3, 0x47, 0x62, 0xc8, 0xe6, - 0x6a, 0xaf, 0xb7, 0xd6, 0x59, 0x9c, 0x61, 0x4a, 0xfb, 0x76, 0x9d, 0x0f, 0xcd, 0x5c, 0xa5, 0xfd, - 0x1b, 0x50, 0x79, 0x4f, 0x64, 0x35, 0xd6, 0x0c, 0xa8, 0xc3, 0x96, 0x29, 0xca, 0x88, 0xc8, 0x45, - 0xcb, 0x14, 0x4c, 0x5b, 0x38, 0x51, 0xcf, 0x51, 0xe0, 0x73, 0x42, 0x34, 0x1a, 0x86, 0x25, 0xc5, - 0x40, 0x2a, 0x02, 0x52, 0xcd, 0x0f, 0x6f, 0x2c, 0xaa, 0x5a, 0x14, 0x51, 0x88, 0xfb, 0x40, 0x07, - 0xad, 0x6c, 0x70, 0xb7, 0x7f, 0x77, 0xb1, 0x46, 0x67, 0x8e, 0xf7, 0x6f, 0x86, 0x39, 0xda, 0x42, - 0xaf, 0xba, 0xd8, 0xb1, 0x41, 0xc7, 0xd1, 0x47, 0x40, 0x37, 0x5b, 0xe7, 0x8a, 0x4e, 0x87, 0x38, - 0xfe, 0x15, 0x78, 0x12, 0xa4, 0x61, 0xdc, 0x29, 0x6f, 0x2c, 0x57, 0x63, 0x1d, 0x88, 0x66, 0x2d, - 0x37, 0xeb, 0x65, 0x26, 0xfd, 0x14, 0x5b, 0xfb, 0xcb, 0x5e, 0x4d, 0xc8, 0xdf, 0xc7, 0x86, 0x0a, - 0xea, 0x94, 0x86, 0xa4, 0x63, 0x28, 0x3a, 0xdb, 0x5d, 0xeb, 0x49, 0xb0, 0x25, 0x4e, 0xab, 0x7c, - 0xa6, 0x6a, 0xf0, 0x00, 0xca, 0x39, 0xbe, 0xa8, 0x7b, 0xcf, 0xd8, 0xb6, 0xbd, 0x8b, 0xd1, 0x52, - 0xa0, 0x74, 0xf7, 0x1f, 0x1d, 0x43, 0xa7, 0xb9, 0x21, 0x74, 0x12, 0x84, 0x10, 0x66, 0xed, 0x91, - 0x79, 0x67, 0xcc, 0x93, 0xdc, 0x40, 0x41, 0xa1, 0xbb, 0xad, 0x72, 0x87, 0x94, 0x5e, 0x2c, 0xbc, - 0xaf, 0x4f, 0xe9, 0xdb, 0x9b, 0x72, 0x0f, 0x16, 0x1b, 0x6e, 0xb1, 0xb9, 0xbc, 0x27, 0x47, 0xa1, - 0x0a, 0x8a, 0xe9, 0x3f, 0xe6, 0x3b, 0xac, 0x22, 0x5c, 0x18, 0xc2, 0x96, 0xb0, 0x20, 0xd8, 0x6a, - 0x63, 0x05, 0x6a, 0x55, 0x6b, 0x19, 0xa6, 0xc6, 0x8d, 0x47, 0x17, 0x75, 0x5b, 0xf5, 0xab, 0xe6, - 0x43, 0x25, 0xa6, 0x4c, 0xb8, 0xa8, 0x97, 0x6d, 0x8c, 0xea, 0xb7, 0xb0, 0xab, 0xb8, 0x33, 0xd7, - 0x92, 0x31, 0x83, 0x2c, 0x48, 0x34, 0x8b, 0x63, 0x46, 0x10, 0xc5, 0xb3, 0x36, 0xb5, 0x31, 0x0f, - 0x0c, 0x52, 0x69, 0x05, 0xe8, 0xd9, 0xe9, 0x8f, 0x26, 0x99, 0x0d, 0xb4, 0x44, 0x7d, 0x61, 0x8d, - 0xdb, 0xcf, 0xab, 0x09, 0xf5, 0x99, 0x45, 0x6b, 0x64, 0xcb, 0xbc, 0x6d, 0x7f, 0xc2, 0xea, 0xb8, - 0xa5, 0x8a, 0x6e, 0x04, 0xe8, 0x98, 0x23, 0xa3, 0x9d, 0xac, 0xb5, 0x6f, 0xb2, 0x95, 0x4c, 0xa9, - 0x89, 0x5e, 0x08, 0x4f, 0x21, 0xb9, 0x05, 0x2c, 0xa2, 0x2b, 0xc0, 0xd0, 0xed, 0xa0, 0xb0, 0x31, - 0xc2, 0x74, 0x4e, 0xfb, 0x99, 0xdb, 0xba, 0xe1, 0x9e, 0xd0, 0x44, 0x25, 0xc9, 0x04, 0x54, 0xf9, - 0xbc, 0x28, 0x0b, 0x72, 0xe5, 0x49, 0x2c, 0x6b, 0x46, 0x94, 0x97, 0x31, 0x99, 0x39, 0x3c, 0xe6, - 0x40, 0x00, 0xf1, 0x70, 0x83, 0x3f, 0xb4, 0x7a, 0x1b, 0x91, 0x58, 0x7e, 0x3e, 0x44, 0x6b, 0x41, - 0x7f, 0xd0, 0xf1, 0xe9, 0xe6, 0xcf, 0xb1, 0xeb, 0xfa, 0x14, 0xa8, 0x03, 0xab, 0x53, 0xfe, 0x96, - 0xff, 0x15, 0x0a, 0xb9, 0xd1, 0xb3, 0xd8, 0x89, 0x8f, 0x43, 0x1a, 0xae, 0x31, 0x6e, 0xd7, 0x09, - 0x02, 0xaf, 0x8e, 0xdc, 0x02, 0x0e, 0x2d, 0x71, 0x8d, 0x6b, 0xa0, 0x56, 0x6b, 0x8f, 0x40, 0x67, - 0x3f, 0x59, 0x89, 0xef, 0xa7, 0x90, 0xfa, 0x93, 0xb6, 0x6f, 0x61, 0xb6, 0xb6, 0xd4, 0x23, 0xa6, - 0xf1, 0x73, 0x36, 0x6c, 0x5b, 0x43, 0xc3, 0x95, 0x9c, 0x3d, 0x84, 0x30, 0x71, 0xf5, 0x9a, 0xdd, - 0x96, 0xb8, 0x25, 0x01, 0xb9, 0x54, 0x93, 0x5a, 0xea, 0xef, 0xc3, 0x74, 0x4a, 0x75, 0x64, 0x36, - 0x7f, 0x61, 0x87, 0x7e, 0xf4, 0x46, 0x4e, 0xa4, 0x54, 0x6d, 0x32, 0xc5, 0xf0, 0x18, 0x20, 0xb3, - 0xb8, 0x3c, 0xd8, 0xaa, 0x88, 0x7f, 0x57, 0x74, 0x55, 0xb8, 0x07, 0xb5, 0xfe, 0xf5, 0xd6, 0xb8, - 0x2a, 0x7a, 0x91, 0x9c, 0x9a, 0x4e, 0xac, 0x1e, 0x78, 0xc8, 0x05, 0xf4, 0x07, 0xab, 0x3c, 0xe0, - 0x65, 0xb1, 0x7f, 0x68, 0x77, 0xbb, 0x1e, 0x94, 0x5c, 0xe4, 0x42, 0x65, 0xd8, 0x12, 0x64, 0x6a, - 0x44, 0x23, 0x49, 0x1e, 0x26, 0x5a, 0xf1, 0x95, 0xa0, 0x78, 0x93, 0xdf, 0x8f, 0x4d, 0xd7, 0x2a, - 0x12, 0x7a, 0x07, 0xf7, 0xa6, 0xe6, 0xb4, 0x22, 0xaa, 0xa3, 0xfd, 0x2b, 0xaa, 0xdf, 0xb1, 0xcc, - 0x42, 0xa3, 0x6a, 0x04, 0xd2, 0xd5, 0x4c, 0x83, 0x4b, 0xad, 0x6a, 0x6d, 0xd8, 0xfb, 0xe2, 0x74, - 0xb7, 0xa6, 0xa8, 0xea, 0xc0, 0x9b, 0xe3, 0x37, 0x66, 0x3b, 0x5d, 0xc3, 0xa0, 0x23, 0xe5, 0x16, - 0x6d, 0x0b, 0x3c, 0xa6, 0xef, 0xbe, 0x58, 0xe7, 0xe4, 0x9e, 0xe0, 0xa4, 0xf6, 0xd6, 0x37, 0x57, - 0x3a, 0xdf, 0x16, 0x92, 0xd6, 0x15, 0xc3, 0xb4, 0xf7, 0xce, 0xd0, 0x06, 0x1d, 0x0c, 0xec, 0x26, - 0x13, 0xd8, 0x37, 0x22, 0xa5, 0xac, 0x9f, 0x6c, 0x2e, 0xe0, 0xfd, 0x82, 0xe3, 0x05, 0x70, 0x69, - 0x3d, 0x99, 0xc8, 0x42, 0xa8, 0x17, 0x8f, 0x75, 0x79, 0xb3, 0x5d, 0xf3, 0xef, 0xf7, 0x2a, 0x14, - 0x9e, 0xb0, 0x2d, 0xc1, 0x89, 0x6a, 0x54, 0x0d, 0x73, 0xd5, 0xd6, 0x32, 0x1d, 0xd6, 0x6d, 0x2f, - 0xc3, 0xbd, 0xc9, 0x13, 0x6c, 0xc5, 0xed, 0x42, 0xc2, 0x25, 0xa6, 0xee, 0xb8, 0x7c, 0x2f, 0x8b, - 0x7e, 0xaa, 0x13, 0x50, 0x53, 0x8e, 0xdd, 0xce, 0x59, 0x5d, 0x42, 0xd0, 0xfb, 0xc4, 0xac, 0x4d, - 0x05, 0x37, 0x99, 0xc7, 0x4f, 0xc6, 0xf1, 0x85, 0x48, 0x39, 0xdb, 0xa2, 0x6f, 0x32, 0xd2, 0xb9, - 0xf3, 0x7f, 0xc5, 0x80, 0x2e, 0x00, 0xa6, 0x3a, 0x4a, 0xab, 0x7f, 0xbe, 0xb1, 0xc4, 0x97, 0x78, - 0xcb, 0x8c, 0xbb, 0x51, 0x83, 0x4d, 0xbf, 0xfa, 0x88, 0x7a, 0x27, 0x8f, 0x3a, 0xe6, 0xaa, 0x39, - 0xa9, 0x36, 0x30, 0x5c, 0x0a, 0x8a, 0xec, 0x59, 0xd7, 0x6f, 0xf5, 0x8b, 0xd7, 0x8b, 0xd0, 0x9a, - 0x0e, 0x29, 0xb6, 0x0c, 0x99, 0x7e, 0x2d, 0x5d, 0x7c, 0x62, 0x6e, 0xbe, 0x5e, 0x07, 0x8b, 0x1f, - 0x8f, 0x5d, 0xe7, 0xf0, 0xac, 0x83, 0x7a, 0x6e, 0x8a, 0xe6, 0xf7, 0x47, 0xf7, 0x43, 0xb4, 0xf0, - 0x6f, 0xcf, 0xd2, 0xe5, 0xe3, 0x56, 0xa9, 0xb4, 0xa0, 0x77, 0xa0, 0x36, 0xa2, 0x9b, 0xc6, 0x14, - 0x60, 0x28, 0x9e, 0x61, 0xba, 0x9a, 0x60, 0xbf, 0x2e, 0x62, 0xd3, 0xbb, 0xa1, 0x91, 0x57, 0x91, - 0x7d, 0x40, 0x4c, 0x8b, 0xc9, 0xe9, 0x86, 0x3b, 0x58, 0xec, 0xed, 0xe9, 0x69, 0xc7, 0xe6, 0x86, - 0x92, 0xcb, 0xbc, 0x50, 0x2f, 0xd4, 0xf8, 0x52, 0xfe, 0x48, 0x62, 0xfd, 0xdc, 0x3c, 0x09, 0x73, - 0x34, 0x20, 0xf2, 0xc4, 0x28, 0xb7, 0xe3, 0xd1, 0x33, 0x58, 0xd0, 0xbb, 0x50, 0x16, 0xaf, 0xd7, - 0x50, 0x83, 0x0c, 0x0d, 0x9f, 0xf4, 0xb5, 0xf5, 0xb4, 0x05, 0xf9, 0x15, 0x02, 0x13, 0xea, 0x23, - 0x84, 0xea, 0x4c, 0xe2, 0x85, 0xed, 0x21, 0x97, 0x2f, 0x08, 0xe7, 0x99, 0x6e, 0x40, 0x64, 0x15, - 0xf6, 0x59, 0x8e, 0xe8, 0xe7, 0xca, 0x0b, 0xec, 0xae, 0xd7, 0x1e, 0x39, 0x1e, 0x2e, 0xdd, 0xb0, - 0x2f, 0x60, 0x00, 0xeb, 0xea, 0x14, 0x4a, 0xf8, 0x2d, 0x7f, 0xe2, 0x57, 0xbf, 0xec, 0xb4, 0x02, - 0x62, 0x32, 0x83, 0x56, 0x92, 0xd9, 0x3c, 0x65, 0x67, 0x49, 0xe5, 0x1f, 0x3a, 0x52, 0x53, 0x6d, - 0xe8, 0x60, 0xba, 0xf2, 0x71, 0xb1, 0x92, 0x60, 0x14, 0x9b, 0x75, 0xc0, 0x81, 0x0e, 0x4a, 0x74, - 0x25, 0xf1, 0xac, 0xf7, 0xc5, 0xf6, 0xfa, 0xf8, 0x0f, 0x9c, 0x24, 0xdb, 0xc6, 0xf7, 0x7a, 0x8f, - 0xed, 0x71, 0xea, 0x7a, 0x39, 0x41, 0x6d, 0x6d, 0xae, 0xaf, 0xfd, 0x3d, 0xf4, 0x3f, 0xa4, 0x1f, - 0xe3, 0x63, 0x6d, 0x20, 0xf8, 0xcf, 0x4c, 0xe6, 0xa9, 0x57, 0xb0, 0xa0, 0x9e, 0x5a, 0x4f, 0x2f, - 0x61, 0xdd, 0x3f, 0x2a, 0x8f, 0x7c, 0x73, 0xf5, 0xd2, 0x49, 0x9d, 0xfa, 0xec, 0x67, 0xc1, 0x16, - 0x2a, 0x73, 0xb1, 0x79, 0xd9, 0xc0, 0x71, 0x08, 0xb7, 0x91, 0xd3, 0x05, 0x62, 0xce, 0xa5, 0x2a, - 0x85, 0x5f, 0x7c, 0xff, 0xf2, 0x31, 0x5b, 0xf7, 0xe9, 0x08, 0x64, 0x85, 0x18, 0x1c, 0xce, 0x23, - 0x31, 0x0e, 0xbf, 0x4c, 0xb6, 0x2e, 0x04, 0xef, 0x74, 0x55, 0xa3, 0x6b, 0x4e, 0xc1, 0xe8, 0xcb, - 0x6e, 0x17, 0xe7, 0xb1, 0xb1, 0x5b, 0x15, 0xdc, 0x6b, 0x6c, 0x3e, 0x5c, 0x47, 0x29, 0xbe, 0xf7, - 0x63, 0x8e, 0x83, 0x71, 0x21, 0xdd, 0x53, 0x95, 0x7a, 0x56, 0x3a, 0x19, 0x43, 0x63, 0xb0, 0x8a, - 0x30, 0x37, 0x04, 0x25, 0x39, 0x6d, 0x47, 0x47, 0xa9, 0x23, 0x3c, 0xe9, 0xd0, 0x3e, 0xab, 0xe8, - 0xda, 0x19, 0x00, 0xd6, 0x83, 0x35, 0x81, 0x8b, 0x5b, 0x45, 0x7e, 0x57, 0x24, 0x57, 0x28, 0xf8, - 0xd4, 0xdd, 0xa2, 0xb9, 0x53, 0xa5, 0x40, 0xeb, 0x66, 0xea, 0xa6, 0x48, 0x72, 0xd1, 0x4b, 0xa7, - 0x4f, 0x4e, 0xf7, 0xa1, 0xb8, 0xb2, 0xb0, 0x3a, 0x64, 0xa7, 0xd6, 0x0d, 0xae, 0x40, 0x30, 0xbd, - 0x0f, 0x42, 0x9e, 0x9d, 0x84, 0xbc, 0x36, 0x29, 0x65, 0x87, 0x9d, 0x2a, 0xf4, 0xb1, 0xc0, 0x23, - 0x07, 0xc7, 0xcf, 0x2b, 0x58, 0x38, 0xac, 0x4a, 0x55, 0xd8, 0x6c, 0xf8, 0x31, 0x91, 0xf9, 0x92, - 0x84, 0x20, 0x8d, 0x22, 0x12, 0x54, 0x76, 0xe3, 0xaa, 0xc5, 0xbd, 0x0b, 0x67, 0xbf, 0x02, 0x9f, - 0xd1, 0xef, 0x92, 0xb0, 0x04, 0xa0, 0x3f, 0xa7, 0xd6, 0x51, 0xf9, 0x0d, 0xd8, 0xf1, 0xce, 0x28, - 0xf9, 0xa9, 0x1f, 0xf4, 0x5d, 0x83, 0xc7, 0x96, 0x9b, 0x95, 0xfe, 0x16, 0xc6, 0x17, 0x84, 0xb9, - 0x61, 0xf0, 0x87, 0xe0, 0x08, 0xe8, 0xf9, 0x86, 0x49, 0x68, 0x12, 0x3d, 0xf6, 0xc3, 0xa1, 0xbb, - 0xa4, 0x7a, 0x2e, 0x9a, 0x21, 0x7a, 0x1a, 0x66, 0x7e, 0xa4, 0x8d, 0x63, 0xc1, 0x52, 0x78, 0x09, - 0x9d, 0x2e, 0x7f, 0xdb, 0x74, 0x12, 0x6e, 0x55, 0xfb, 0x95, 0x5e, 0xb8, 0xc9, 0x42, 0x90, 0x89, - 0x78, 0xda, 0xca, 0xd6, 0xbb, 0x5f, 0xc3, 0x31, 0x43, 0x15, 0x67, 0x3d, 0xb6, 0x06, 0x31, 0x81, - 0xf4, 0x19, 0x22, 0xd2, 0x2d, 0xc4, 0xff, 0xd6, 0x83, 0x6a, 0x8e, 0xff, 0x6e, 0x9e, 0x0f, 0x53, - 0x3e, 0x79, 0x97, 0xe9, 0xdc, 0x42, 0x04, 0x89, 0x15, 0xb7, 0x43, 0xc9, 0x6b, 0x37, 0x94, 0x52, - 0x2f, 0xdf, 0x66, 0x83, 0x7e, 0x2b, 0xe1, 0x6f, 0x0e, 0xa8, 0x0b, 0x3e, 0xf0, 0xda, 0xd6, 0xd0, - 0x3c, 0x60, 0xa0, 0x2e, 0x72, 0x60, 0x1b, 0x36, 0x09, 0x49, 0x8e, 0x9c, 0xd3, 0xfd, 0x98, 0xc8, - 0xab, 0x71, 0x38, 0x5f, 0xd3, 0x42, 0xf1, 0x2a, 0x1f, 0x83, 0x25, 0xda, 0x00, 0x3e, 0x84, 0xa1, - 0x83, 0x54, 0x4f, 0x8e, 0x5d, 0x09, 0xa6, 0xdb, 0x5a, 0x19, 0xb4, 0x11, 0xa5, 0xf1, 0xd5, 0x9f, - 0x48, 0x07, 0x0b, 0x42, 0xb4, 0xa7, 0x28, 0x81, 0x2d, 0xc9, 0xa5, 0x66, 0xc7, 0xfe, 0x76, 0xf6, - 0x7d, 0xaa, 0x68, 0xb8, 0xf9, 0xb8, 0x81, 0x23, 0xc9, 0x09, 0xb3, 0xb7, 0x3e, 0x44, 0xf9, 0x7f, - 0x61, 0x12, 0xfc, 0xf2, 0xf8, 0x02, 0x79, 0x4e, 0xd4, 0x2d, 0xaa, 0x38, 0xf4, 0x92, 0xf4, 0x8f, - 0xfa, 0x04, 0x52, 0x86, 0xff, 0xe7, 0x4f, 0x19, 0x5a, 0x27, 0x15, 0xa4, 0x12, 0x30, 0x99, 0xc4, - 0x9b, 0xfb, 0x8b, 0x4c, 0xca, 0xbd, 0x42, 0xf8, 0xd6, 0x92, 0xef, 0x24, 0x97, 0x6d, 0xf6, 0x67, - 0x0c, 0xca, 0x54, 0x79, 0xd4, 0x06, 0x4c, 0xbd, 0x69, 0x28, 0x85, 0x25, 0x83, 0xad, 0x77, 0x37, - 0x74, 0x27, 0x60, 0xae, 0x07, 0xb3, 0x72, 0xfe, 0xc0, 0xc9, 0xea, 0x15, 0x22, 0x3e, 0xb6, 0x8b, - 0x15, 0x67, 0xf4, 0xa3, 0xb0, 0x79, 0x45, 0x42, 0x75, 0x9e, 0x5e, 0x62, 0x85, 0x65, 0x1f, 0x79, - 0x27, 0xf3, 0x9e, 0x0d, 0xf8, 0xa3, 0xb3, 0x8b, 0xf7, 0x09, 0xd8, 0x80, 0xa9, 0x59, 0x39, 0x36, - 0x06, 0x91, 0xee, 0x4c, 0x40, 0x34, 0x05, 0xcd, 0xab, 0x63, 0xdb, 0xb7, 0xbf, 0xa7, 0xe4, 0x88, - 0xb1, 0xab, 0xcc, 0xe1, 0xf6, 0xe7, 0xd8, 0xe2, 0x66, 0x97, 0xab, 0x68, 0x2d, 0x4d, 0x90, 0x2c, - 0x11, 0xe8, 0xfe, 0x32, 0xbd, 0x2e, 0x71, 0x49, 0xf8, 0x29, 0x91, 0x11, 0xcf, 0xc2, 0xc4, 0xd9, - 0x6b, 0x7b, 0xf2, 0xbc, 0x61, 0x0f, 0x1b, 0x38, 0xd7, 0x56, 0xce, 0xb1, 0xce, 0x50, 0x04, 0x33, - 0x60, 0xf6, 0x48, 0x83, 0x17, 0x49, 0x5a, 0x08, 0x13, 0x84, 0x1e, 0xfa, 0x3e, 0xb5, 0x6f, 0x42, - 0x4d, 0xcb, 0xce, 0xb7, 0x99, 0xbb, 0x2b, 0xee, 0xa4, 0xc6, 0x8a, 0x5f, 0x3d, 0x93, 0x88, 0xc6, - 0x7d, 0x35, 0x08, 0x1c, 0xb7, 0x3c, 0x15, 0x8b, 0xb0, 0xf4, 0x89, 0x65, 0x1e, 0x41, 0x70, 0xe7, - 0xc6, 0xbd, 0x1d, 0xb0, 0x1d, 0xd6, 0x84, 0x50, 0x7d, 0x08, 0x49, 0x36, 0x2d, 0x16, 0xf8, 0x78, - 0x16, 0x30, 0x01, 0xa7, 0x61, 0xd3, 0x74, 0x53, 0xcc, 0x55, 0x73, 0x8e, 0xee, 0x6e, 0x1a, 0x9d, - 0x33, 0x07, 0x7e, 0x9d, 0x6a, 0xd4, 0xfa, 0x0c, 0x60, 0x9d, 0x00, 0x79, 0x78, 0x7c, 0x03, 0x6b, - 0xea, 0xf5, 0x90, 0xbd, 0x1c, 0xba, 0x42, 0x6f, 0x41, 0x4a, 0x93, 0x20, 0x8c, 0x37, 0x6c, 0x83, - 0x88, 0x66, 0xda, 0x4a, 0x23, 0x27, 0x46, 0xf8, 0xdf, 0xa0, 0x47, 0x54, 0x41, 0xc9, 0xd6, 0x60, - 0x0b, 0xeb, 0x05, 0x45, 0x2b, 0xa5, 0x1b, 0xe2, 0xc7, 0x00, 0x3e, 0x56, 0x49, 0x24, 0x9c, 0x1f, - 0xb1, 0x1a, 0xb9, 0x13, 0xcb, 0x83, 0x40, 0x48, 0xc6, 0x4b, 0x59, 0x36, 0xfb, 0x2d, 0x20, 0xfc, - 0xd9, 0x64, 0x20, 0x26, 0x31, 0xb4, 0x5b, 0xf8, 0x3c, 0x28, 0x5d, 0x0b, 0xf4, 0xb2, 0x9c, 0x16, - 0xa9, 0xbb, 0x2d, 0x1e, 0xfb, 0xea, 0xa9, 0x95, 0x50, 0x2f, 0xa5, 0xe2, 0x6e, 0x26, 0xa8, 0xca, - 0xcf, 0xfb, 0x9d, 0xc6, 0xc2, 0xd9, 0x19, 0x39, 0xb3, 0x68, 0x97, 0x08, 0x8f, 0x0c, 0xd8, 0x20, - 0xea, 0x21, 0xa1, 0x59, 0xaa, 0x6f, 0xed, 0xb7, 0x0e, 0x4f, 0x62, 0x37, 0x15, 0x07, 0x8d, 0x67, - 0x83, 0x77, 0x8d, 0xbc, 0x37, 0xdf, 0xa7, 0x93, 0x96, 0x0e, 0xd5, 0xda, 0x7f, 0x13, 0xce, 0x08, - 0x4f, 0x24, 0xd7, 0x74, 0x4e, 0xfc, 0x4c, 0x11, 0x6a, 0xaf, 0x1c, 0x65, 0x05, 0x83, 0xd3, 0xa9, - 0x0a, 0xa2, 0xae, 0x20, 0x71, 0xc0, 0x74, 0xfb, 0x8e, 0x21, 0x01, 0x5e, 0xa4, 0xd8, 0x53, 0xdc, - 0xc6, 0x8f, 0x6f, 0x60, 0x1b, 0x4b, 0x6b, 0x9f, 0x0d, 0x71, 0x52, 0x88, 0x49, 0x5d, 0xdc, 0xae, - 0xdb, 0xf7, 0xa0, 0x0c, 0xec, 0xe4, 0xf9, 0xb7, 0x23, 0x34, 0x30, 0x1f, 0x79, 0xd8, 0x87, 0xe7, - 0x20, 0xd5, 0x2c, 0x3c, 0xa8, 0x85, 0xf3, 0x8f, 0xf5, 0x12, 0x78, 0xab, 0xe4, 0x6f, 0x01, 0x38, - 0xef, 0x12, 0x13, 0xed, 0xe8, 0xb5, 0x3b, 0x45, 0xa0, 0x46, 0x0a, 0x22, 0x6d, 0xb5, 0xee, 0x69, - 0xa2, 0x00, 0xe8, 0x6b, 0xed, 0x4a, 0x4a, 0x16, 0x55, 0x20, 0x53, 0x47, 0x14, 0x2a, 0x41, 0xc8, - 0xa9, 0xd8, 0x5b, 0xc0, 0xce, 0x69, 0x89, 0x76, 0xa8, 0x1c, 0x7b, 0xf2, 0x9d, 0x93, 0xff, 0x13, - 0xbc, 0x72, 0xd9, 0xb9, 0x82, 0x7b, 0xdf, 0x03, 0xd9, 0x23, 0xe0, 0x01, 0xe4, 0x43, 0xe8, 0x6f, - 0xb7, 0xcd, 0x88, 0x7f, 0x40, 0x11, 0xd6, 0x4c, 0x69, 0xc1, 0xa6, 0x65, 0x2d, 0x6b, 0xfa, 0x4a, - 0x90, 0xda, 0xfa, 0x8a, 0xcc, 0x4d, 0xf5, 0xc6, 0xce, 0x8a, 0xf8, 0xf3, 0x3d, 0x71, 0x61, 0x38, - 0x7e, 0x3c, 0x33, 0x0b, 0xe6, 0x85, 0xc7, 0xf5, 0x18, 0x12, 0x37, 0x4f, 0x63, 0x85, 0xdc, 0xab, - 0x3f, 0x72, 0xda, 0xf8, 0x1e, 0x9d, 0x86, 0x50, 0x72, 0x17, 0xc9, 0x86, 0x5f, 0xb8, 0xda, 0xc3, - 0xf4, 0xd7, 0x72, 0x6c, 0xd3, 0x3c, 0xa6, 0x25, 0xd8, 0x33, 0xa5, 0x2b, 0x73, 0x8c, 0x91, 0xb7, - 0x69, 0xa9, 0x7f, 0xb4, 0xdb, 0x57, 0x3f, 0x8e, 0xf9, 0x7b, 0x3c, 0x03, 0x70, 0x80, 0x0c, 0x47, - 0x4d, 0x17, 0x57, 0x56, 0xb1, 0xa0, 0xfd, 0x6d, 0xf7, 0x53, 0xab, 0xdf, 0xcd, 0x9e, 0x80, 0xa9, - 0xce, 0x5d, 0x5b, 0xb1, 0xd7, 0xb9, 0xdb, 0xf6, 0x68, 0x5a, 0x1a, 0x03, 0x1a, 0xe4, 0x7a, 0xaf, - 0x38, 0x72, 0xcd, 0xc6, 0x22, 0x2e, 0x95, 0x69, 0x3d, 0x26, 0x7e, 0xea, 0xfc, 0x1b, 0x45, 0xf0, - 0x31, 0x90, 0x5e, 0x54, 0x4b, 0xc2, 0x65, 0xe5, 0x89, 0x88, 0x65, 0x29, 0x46, 0xd8, 0xc9, 0x3c, - 0xe0, 0xb3, 0x46, 0xe4, 0xed, 0x58, 0x6f, 0x50, 0x77, 0xfc, 0x18, 0x53, 0x27, 0x8d, 0x5b, 0xf9, - 0xc4, 0x6a, 0xb5, 0x2a, 0x18, 0xb1, 0x30, 0x7b, 0x1f, 0x0a, 0xf3, 0x1a, 0xb0, 0xa0, 0x1f, 0x98, - 0x8a, 0x59, 0x15, 0xb3, 0x1f, 0x53, 0x64, 0xe1, 0x40, 0xa2, 0x68, 0xcd, 0x39, 0x4c, 0x5e, 0xdf, - 0x83, 0xec, 0x8e, 0x5e, 0x80, 0xef, 0x06, 0xe0, 0x1a, 0xa9, 0x4b, 0x01, 0x5f, 0xaa, 0xe6, 0x3c, - 0x7b, 0x34, 0x96, 0x6a, 0xba, 0x5f, 0x0d, 0x51, 0x06, 0x60, 0xac, 0xc5, 0x8e, 0xdb, 0xfc, 0x90, - 0xcd, 0xc2, 0xe0, 0x2b, 0xec, 0x18, 0x84, 0x0b, 0xcf, 0x16, 0xd4, 0xc2, 0x54, 0x4d, 0xe2, 0x9d, - 0x74, 0x42, 0xe0, 0x95, 0x5f, 0xfd, 0x51, 0x1b, 0x28, 0x46, 0xb3, 0xec, 0x0b, 0x28, 0x59, 0x9d, - 0x8c, 0x2a, 0x3e, 0xa5, 0x2b, 0x45, 0xe8, 0x9b, 0x07, 0xf1, 0x84, 0xb8, 0x53, 0x79, 0xe9, 0x9f, - 0x3e, 0xee, 0x8a, 0x79, 0xfc, 0x23, 0x9a, 0x7b, 0x99, 0xea, 0xf0, 0x7d, 0x3c, 0xf5, 0xab, 0xd2, - 0x8c, 0xfe, 0xba, 0xea, 0x65, 0x46, 0x64, 0x6d, 0x41, 0x96, 0xa3, 0x4e, 0x3f, 0xce, 0xc6, 0x22, - 0x38, 0x07, 0x81, 0x93, 0xf3, 0xaa, 0xca, 0x9a, 0x6e, 0x52, 0x96, 0xa7, 0x82, 0x52, 0x03, 0xc3, - 0x66, 0x4b, 0x38, 0xc3, 0x47, 0xb7, 0x07, 0x0f, 0x30, 0x71, 0x72, 0xf2, 0x28, 0xa8, 0x91, 0x9d, - 0x15, 0xf9, 0xa6, 0x91, 0x2e, 0x60, 0x69, 0x52, 0x31, 0x47, 0x40, 0xb8, 0xae, 0xe7, 0x90, 0x05, - 0xd5, 0x94, 0xa4, 0xa2, 0xf4, 0x97, 0x7e, 0xcc, 0x7d, 0x3d, 0x55, 0xc5, 0xcd, 0x0a, 0xac, 0x4d, - 0x0e, 0x37, 0x75, 0x8d, 0x68, 0x98, 0x06, 0x99, 0x26, 0x14, 0x2f, 0xe6, 0x2b, 0xb2, 0x79, 0xd3, - 0xdb, 0x47, 0xb2, 0x0b, 0xa1, 0x22, 0xa2, 0xb1, 0x9f, 0x97, 0xa4, 0x8e, 0x97, 0x20, 0x2d, 0x22, - 0x1e, 0x46, 0x4f, 0x53, 0x90, 0x2f, 0xc0, 0xc4, 0xf5, 0x53, 0x81, 0x4e, 0xdb, 0xea, 0x6f, 0xad, - 0xf4, 0xf1, 0xde, 0xdc, 0x73, 0x84, 0x9b, 0xb7, 0x0c, 0xd0, 0xd5, 0x2d, 0xc6, 0x42, 0x16, 0xe3, - 0x8c, 0x11, 0x1e, 0xcb, 0x60, 0x8f, 0xe8, 0x58, 0x1d, 0xfc, 0xb1, 0x36, 0x1b, 0xb7, 0x94, 0x16, - 0x48, 0xe3, 0xd7, 0x1b, 0x65, 0x1d, 0x4a, 0xb5, 0x2d, 0x26, 0xdb, 0x49, 0x4c, 0x79, 0xc8, 0x68, - 0x91, 0x86, 0x55, 0x2f, 0x6e, 0xfd, 0xb9, 0x7e, 0x82, 0xd8, 0x1c, 0x51, 0xa6, 0x40, 0x4b, 0x0a, - 0x7c, 0xcb, 0xe4, 0x19, 0x0a, 0x72, 0xa5, 0xf8, 0x74, 0x38, 0x19, 0x4c, 0x3e, 0x4d, 0x93, 0x4a, - 0xbd, 0xe4, 0x59, 0x63, 0xfe, 0x1a, 0xc4, 0x8d, 0x28, 0xc8, 0xd3, 0x23, 0x1c, 0x41, 0xa5, 0x9a, - 0x04, 0x00, 0x5e, 0x9f, 0xeb, 0x0c, 0x2f, 0xf7, 0x90, 0x43, 0x70, 0x9e, 0x64, 0x9f, 0x18, 0x7c, - 0x10, 0x27, 0xf9, 0x22, 0x2e, 0x4c, 0x9c, 0xbe, 0x4f, 0x64, 0x79, 0x74, 0xd9, 0x8d, 0x40, 0x81, - 0x78, 0x15, 0x7b, 0x5b, 0xa6, 0xe7, 0x8d, 0x1c, 0xa6, 0xda, 0x5f, 0x91, 0x0e, 0xe6, 0x9f, 0xe5, - 0x98, 0x53, 0x5f, 0x2e, 0x5b, 0xc0, 0x16, 0x43, 0x1f, 0x26, 0x2c, 0x6f, 0xc0, 0x44, 0x3b, 0x16, - 0x05, 0x1e, 0x8b, 0xe8, 0xf2, 0xa4, 0x0c, 0xf9, 0x05, 0x2c, 0xb5, 0xa0, 0x59, 0xca, 0x28, 0xac, - 0xb6, 0x37, 0x24, 0xfc, 0x8e, 0xd5, 0xc8, 0x17, 0x49, 0xbb, 0xe3, 0x68, 0xf8, 0x77, 0xc8, 0xae, - 0xb5, 0x2f, 0x9d, 0xc4, 0xee, 0x60, 0x9b, 0x72, 0x73, 0xfd, 0x03, 0x1c, 0x37, 0x74, 0x92, 0x1d, - 0x0e, 0xa3, 0x67, 0x80, 0x82, 0x7e, 0x02, 0xe8, 0xf0, 0xbd, 0x97, 0xb1, 0x45, 0xd9, 0x02, 0x18, - 0x69, 0x51, 0x62, 0x51, 0xec, 0x3c, 0xaa, 0xa7, 0x41, 0x51, 0xe6, 0x2d, 0x1f, 0xef, 0x1a, 0x18, - 0xb2, 0x3f, 0x0e, 0x57, 0x8a, 0x2e, 0x5d, 0x05, 0x81, 0xbe, 0x92, 0x5f, 0x72, 0x0f, 0xbd, 0x38, - 0x3e, 0xb2, 0x59, 0x84, 0xc9, 0xc5, 0xde, 0xa0, 0x02, 0x8b, 0x2d, 0x5b, 0x34, 0xc6, 0xb8, 0xe2, - 0xd3, 0x1a, 0x04, 0x74, 0xda, 0x18, 0xbe, 0x04, 0x24, 0x29, 0x89, 0xc4, 0x21, 0xf4, 0x8b, 0x01, - 0xe3, 0xa9, 0x03, 0xc3, 0xe1, 0x44, 0x08, 0x8a, 0xbb, 0x44, 0x68, 0xf3, 0x17, 0x77, 0x99, 0x9b, - 0x11, 0x5c, 0xc3, 0x60, 0x1b, 0xde, 0x7f, 0xdc, 0xb3, 0x08, 0x94, 0x6b, 0xfe, 0xd7, 0x27, 0x28, - 0xb8, 0x93, 0xfb, 0xc7, 0x9f, 0x4a, 0x34, 0x7b, 0xe3, 0x81, 0xc5, 0xb3, 0xce, 0xc1, 0x5a, 0x27, - 0x47, 0x07, 0x29, 0xfe, 0x71, 0x29, 0x63, 0x44, 0xb7, 0x84, 0x65, 0xc7, 0xf3, 0x13, 0xcd, 0x46, - 0xff, 0x81, 0xb9, 0x56, 0xf2, 0xb9, 0x44, 0x2c, 0xd2, 0xa0, 0x62, 0x99, 0x74, 0x25, 0x6f, 0xec, - 0x58, 0x93, 0xea, 0xa2, 0x2a, 0x82, 0x90, 0x43, 0x94, 0xda, 0x15, 0x39, 0x48, 0x13, 0x3c, 0x7f, - 0xa5, 0xea, 0xb7, 0x79, 0xa5, 0x3d, 0x1d, 0x18, 0xd8, 0x16, 0xa1, 0x68, 0x77, 0x06, 0x64, 0xc7, - 0xc4, 0xab, 0x92, 0x98, 0x14, 0x72, 0x4f, 0xea, 0xee, 0x67, 0x8d, 0x0c, 0x22, 0xc2, 0xf0, 0x33, - 0x58, 0x9d, 0x71, 0x6c, 0x37, 0x9c, 0x02, 0x08, 0x5f, 0xef, 0x0d, 0x50, 0x4c, 0x83, 0x97, 0x69, - 0x1e, 0xdb, 0x63, 0x06, 0x90, 0x1f, 0xc6, 0x21, 0x3e, 0x72, 0x80, 0x62, 0xd8, 0x01, 0x72, 0xa3, - 0xfd, 0xb0, 0xbf, 0x4b, 0x4e, 0x66, 0xc1, 0x74, 0x92, 0xaa, 0xb7, 0x40, 0x41, 0xe6, 0xec, 0x66, - 0x66, 0x07, 0x7a, 0xac, 0xa7, 0x87, 0xe9, 0x1b, 0x22, 0x61, 0xc3, 0xcb, 0xe6, 0xac, 0xb6, 0x63, - 0xc2, 0x1d, 0x4f, 0xe9, 0x92, 0xe7, 0x05, 0x5e, 0xa1, 0x08, 0x53, 0x80, 0x97, 0x5c, 0xf9, 0x5e, - 0x30, 0x67, 0x72, 0x12, 0xe7, 0xef, 0xc0, 0x00, 0x7a, 0x26, 0xdd, 0x33, 0x05, 0x1c, 0xec, 0x9c, - 0x24, 0xbb, 0x9e, 0x98, 0x81, 0x00, 0xdd, 0xa7, 0x7d, 0x28, 0x72, 0x58, 0x78, 0xbc, 0x6b, 0x82, - 0xdb, 0xb5, 0x01, 0xf9, 0x9f, 0xe3, 0xa1, 0xfe, 0x23, 0x0e, 0xc4, 0x3d, 0x0d, 0x54, 0x17, 0xe5, - 0xa3, 0xc6, 0x5e, 0xb8, 0x8d, 0x73, 0xea, 0x7e, 0x50, 0x12, 0x8b, 0x9b, 0xba, 0x79, 0x98, 0x63, - 0x88, 0x6a, 0xec, 0xc5, 0x45, 0x3a, 0x3d, 0x80, 0xf8, 0x38, 0x75, 0x2a, 0xc5, 0x47, 0xf7, 0xc8, - 0xef, 0x93, 0xcb, 0x45, 0xbe, 0xec, 0xb5, 0x9f, 0xac, 0xa4, 0xc7, 0xe8, 0xe8, 0x67, 0xf7, 0x96, - 0x13, 0x3e, 0xab, 0x90, 0xc4, 0xf6, 0xc5, 0xa1, 0x49, 0x1e, 0x93, 0x33, 0x68, 0x1d, 0x63, 0x3f, - 0xdc, 0x38, 0x8e, 0x14, 0x01, 0x32, 0x6d, 0x4d, 0xc1, 0x30, 0xaa, 0x90, 0xc0, 0x3c, 0x64, 0xb5, - 0x04, 0x88, 0x47, 0xe9, 0x89, 0x5f, 0x49, 0xb9, 0x6a, 0xba, 0x2b, 0x57, 0xfe, 0x75, 0x44, 0x72, - 0xd8, 0x97, 0x7a, 0x25, 0xe0, 0xb3, 0x46, 0xc5, 0xef, 0x77, 0xf2, 0x2e, 0x59, 0x57, 0xa7, 0x57, - 0x34, 0xff, 0x26, 0x0b, 0x12, 0xe0, 0xa4, 0xaf, 0x8d, 0x41, 0x39, 0x75, 0x1e, 0x5a, 0xb8, 0x06, - 0xa7, 0xb6, 0x6d, 0x6c, 0xac, 0x32, 0xc6, 0x67, 0x9c, 0xa9, 0xf9, 0x48, 0x2a, 0x59, 0xde, 0xb9, - 0xe0, 0x7d, 0xa1, 0xc1, 0x40, 0x6b, 0x5c, 0xc2, 0x5e, 0xfb, 0xc4, 0x77, 0x0d, 0x28, 0x00, 0x2a, - 0x41, 0x57, 0x81, 0xbc, 0x3c, 0x46, 0x07, 0x1a, 0xe3, 0x05, 0x16, 0x67, 0x95, 0x30, 0xd2, 0x99, - 0x90, 0xce, 0xd5, 0xdd, 0x28, 0x37, 0xc4, 0x86, 0x03, 0xcd, 0x0f, 0x1f, 0x98, 0x80, 0xa5, 0x35, - 0x31, 0x80, 0x1a, 0x3f, 0xe0, 0x3f, 0x62, 0x29, 0x30, 0x6c, 0xcf, 0x9e, 0x85, 0x96, 0xdb, 0xb2, - 0xdc, 0xad, 0x80, 0x3a, 0xe4, 0x8e, 0x1c, 0x4d, 0xbf, 0x35, 0x61, 0xa9, 0x6f, 0x4d, 0x6b, 0x1e, - 0x7e, 0x42, 0x4e, 0x07, 0xc8, 0xf3, 0x4c, 0xb5, 0xa5, 0xaf, 0x8b, 0xb5, 0x26, 0x53, 0x54, 0x02, - 0xa2, 0xea, 0xea, 0xb7, 0xfc, 0x88, 0x7c, 0x91, 0x27, 0x75, 0x08, 0x82, 0xc2, 0xcd, 0xc0, 0x12, - 0x74, 0xc8, 0xec, 0x1e, 0xd0, 0x14, 0xec, 0xcf, 0xff, 0xb9, 0x06, 0xfc, 0xb4, 0x2e, 0x45, 0xdd, - 0xf3, 0xcf, 0xf6, 0x12, 0x4a, 0x47, 0xfd, 0x7a, 0xa5, 0xe1, 0x43, 0x72, 0xc5, 0x54, 0x8a, 0x7e, - 0xc2, 0x5d, 0xa3, 0x6c, 0x3a, 0x4f, 0x86, 0x3f, 0x63, 0x87, 0xa5, 0x5b, 0x44, 0x67, 0xf6, 0xc0, - 0x76, 0xd6, 0xe4, 0x0c, 0x7d, 0x8b, 0xc1, 0x03, 0xd2, 0xf7, 0xbf, 0xb7, 0x4e, 0x7f, 0x80, 0xae, - 0x62, 0xfe, 0x95, 0xa4, 0x20, 0xc4, 0x33, 0x6d, 0x43, 0xd9, 0x77, 0xb1, 0x88, 0x58, 0x57, 0xff, - 0xbf, 0x23, 0xcf, 0x35, 0x45, 0x23, 0x4a, 0x0f, 0xf9, 0x2a, 0x8c, 0x78, 0x8f, 0x1e, 0xc1, 0xbf, - 0x1e, 0xf4, 0xb3, 0xb8, 0xdb, 0x60, 0x40, 0xad, 0x3c, 0x4b, 0x8a, 0x9e, 0x1e, 0x4c, 0xd0, 0x5c, - 0xbe, 0x67, 0x84, 0x98, 0x60, 0x5d, 0x97, 0xba, 0xd2, 0xe9, 0x32, 0x07, 0xc7, 0x72, 0xa1, 0x2b, - 0x57, 0x07, 0xb3, 0x30, 0x9a, 0x5d, 0x9f, 0xc8, 0xa4, 0x67, 0xb2, 0x60, 0x3e, 0x97, 0x86, 0x5b, - 0x07, 0xc3, 0xbe, 0x8b, 0x17, 0xf2, 0x8b, 0xc7, 0xcd, 0xd7, 0x9e, 0xce, 0xee, 0x52, 0xc7, 0x7a, - 0xe9, 0x6f, 0xfd, 0x8e, 0x6f, 0x4a, 0x46, 0xf8, 0x29, 0xa7, 0x55, 0x55, 0x4f, 0xac, 0x4b, 0x88, - 0x61, 0x4f, 0x99, 0xe4, 0xff, 0x25, 0x78, 0x9d, 0x67, 0xcb, 0x15, 0xd3, 0xfc, 0x51, 0x96, 0x49, - 0xf6, 0x8f, 0x0a, 0x00, 0x56, 0x9c, 0xe1, 0x76, 0xcc, 0x5e, 0x95, 0xa6, 0xe0, 0x89, 0x26, 0xf6, - 0xcc, 0xbc, 0x57, 0x25, 0x85, 0xd7, 0xd3, 0x90, 0x7f, 0x1d, 0x54, 0x8b, 0x87, 0xed, 0xe3, 0x19, - 0xb5, 0xbf, 0x3d, 0x25, 0xcd, 0x8e, 0x76, 0x4f, 0x3d, 0x1b, 0x71, 0x4a, 0x77, 0xf6, 0x32, 0xc4, - 0x29, 0x4f, 0x4a, 0xe7, 0xeb, 0xf0, 0x38, 0x53, 0x6c, 0xcc, 0x77, 0xa1, 0xd7, 0x9f, 0x28, 0x68, - 0xd2, 0x4e, 0xba, 0x36, 0x60, 0xef, 0xd2, 0x98, 0x26, 0x96, 0xcd, 0x09, 0xa5, 0x11, 0x30, 0x06, - 0x37, 0x6c, 0x15, 0xec, 0x0f, 0x12, 0x9b, 0xd3, 0xd9, 0x4c, 0x45, 0x91, 0x30, 0xe8, 0xe0, 0x03, - 0x03, 0xaf, 0x15, 0x1e, 0x7c, 0x29, 0xea, 0xda, 0xd8, 0x8b, 0x29, 0xf7, 0x86, 0x9b, 0x08, 0xb4, - 0x1b, 0x70, 0xef, 0x59, 0x6c, 0x46, 0x41, 0x26, 0x3c, 0x02, 0x76, 0xcf, 0x39, 0x2c, 0x22, 0xbf, - 0xf8, 0x23, 0xf4, 0x18, 0x79, 0xee, 0x9d, 0xa7, 0x2c, 0x95, 0xcc, 0x0c, 0x70, 0xee, 0x87, 0xa7, - 0xd3, 0x9d, 0x4b, 0x2e, 0x76, 0x37, 0x54, 0x31, 0x50, 0x75, 0xea, 0xff, 0x37, 0xe9, 0x4f, 0x9b, - 0x1b, 0x2e, 0x41, 0xde, 0x80, 0x8d, 0x4a, 0x4a, 0x2d, 0x7c, 0x24, 0x46, 0x98, 0x92, 0x24, 0x40, - 0x2b, 0x8c, 0x91, 0x4c, 0xde, 0x68, 0x51, 0xc7, 0xbe, 0x98, 0x8f, 0x14, 0x44, 0x9f, 0x0d, 0xe6, - 0xb4, 0x96, 0xc1, 0xb5, 0x54, 0x12, 0x47, 0xc7, 0x71, 0x00, 0x49, 0x30, 0x55, 0xc8, 0x9e, 0xd5, - 0x6f, 0xe9, 0x39, 0x23, 0xcb, 0xb3, 0x1c, 0x25, 0x98, 0x4a, 0x73, 0x67, 0xa7, 0x01, 0x0f, 0xe6, - 0x12, 0xfc, 0x10, 0x81, 0xcf, 0x99, 0xba, 0xee, 0x5d, 0x17, 0x1a, 0x26, 0xfc, 0x33, 0xf7, 0x65, - 0xc9, 0xc6, 0x96, 0xd2, 0xdc, 0x29, 0x98, 0x8b, 0xec, 0x3c, 0x29, 0xe1, 0xad, 0x28, 0xd3, 0xab, - 0x35, 0xe3, 0x2c, 0x42, 0x78, 0x09, 0xb6, 0x84, 0xab, 0x46, 0xbe, 0x77, 0x89, 0x9a, 0xac, 0x29, - 0xf4, 0x18, 0x55, 0x83, 0xc8, 0x09, 0x7a, 0x72, 0x88, 0xb7, 0x8a, 0xb3, 0x74, 0x61, 0x1f, 0x89, - 0x40, 0xab, 0x35, 0x62, 0x5e, 0xd0, 0x82, 0xdc, 0x93, 0xc5, 0x73, 0xfd, 0xcd, 0x29, 0x1d, 0xcf, - 0xed, 0x1b, 0x49, 0xae, 0x11, 0xa2, 0xd0, 0xf8, 0x8c, 0x68, 0x13, 0xa9, 0xac, 0x49, 0x11, 0xba, - 0x84, 0xab, 0xa2, 0x14, 0x17, 0xc2, 0x2d, 0x7c, 0xd5, 0x32, 0xd0, 0x01, 0x89, 0xaa, 0x11, 0x64, - 0x0d, 0xf3, 0x66, 0xf8, 0xcb, 0x5c, 0x9b, 0x25, 0xdd, 0x03, 0xa0, 0x01, 0xda, 0x5a, 0xe8, 0x1f, - 0x58, 0x61, 0x27, 0x29, 0x2c, 0x88, 0x09, 0x82, 0x74, 0xfc, 0x5b, 0x07, 0x43, 0x5a, 0xed, 0x72, - 0xf1, 0xe9, 0x16, 0x11, 0xde, 0x2a, 0x96, 0x41, 0x56, 0xfc, 0x0d, 0x08, 0x96, 0x55, 0xe2, 0xb9, - 0x72, 0x9c, 0xc7, 0xea, 0x9a, 0x90, 0xfb, 0x2a, 0x62, 0x67, 0x7a, 0x5a, 0x11, 0x62, 0x38, 0x57, - 0xab, 0x1c, 0x6c, 0xb8, 0x0b, 0x78, 0x88, 0x2f, 0x17, 0x1c, 0xdd, 0x83, 0xf4, 0xd8, 0x36, 0xc5, - 0x3e, 0x8a, 0x4d, 0x76, 0x79, 0x4c, 0xb8, 0xf3, 0xea, 0x66, 0x1b, 0x40, 0xc9, 0xe7, 0x1c, 0xf5, - 0xd1, 0x80, 0x48, 0xe0, 0x79, 0x6b, 0xa4, 0x14, 0x00, 0x31, 0x35, 0x8d, 0xda, 0x06, 0x87, 0x53, - 0x34, 0x6c, 0xd8, 0xd0, 0x24, 0x29, 0xc3, 0x43, 0x58, 0xf9, 0xf0, 0x28, 0x0f, 0x77, 0x30, 0xbf, - 0xb9, 0xd1, 0xd7, 0x17, 0xb1, 0x9a, 0x7e, 0xe0, 0x9e, 0x6c, 0xa8, 0xf9, 0x96, 0x12, 0x95, 0x70, - 0x86, 0xbd, 0x23, 0x50, 0xe1, 0x0b, 0x5e, 0x7f, 0xcd, 0xc7, 0xe2, 0x1f, 0x7b, 0x9d, 0x8d, 0x4e, - 0xd5, 0xa4, 0x02, 0xbe, 0x6e, 0x16, 0x36, 0xad, 0x15, 0xd6, 0x66, 0xfc, 0x4c, 0x5e, 0x64, 0xa0, - 0x0e, 0x6c, 0xa0, 0xb1, 0xf2, 0xf1, 0xdd, 0xae, 0x85, 0x06, 0x31, 0xba, 0x6d, 0x13, 0xcc, 0x78, - 0xdb, 0xdd, 0xe9, 0x38, 0x72, 0x2f, 0x63, 0x59, 0x16, 0xf3, 0x2f, 0xc8, 0xe2, 0xb1, 0x69, 0x66, - 0x56, 0xc6, 0x93, 0x78, 0x85, 0x99, 0x9b, 0x47, 0xbf, 0x2e, 0x0c, 0x6e, 0x7c, 0xd5, 0x92, 0x2c, - 0x76, 0x40, 0x9c, 0xd2, 0xbf, 0xc6, 0x62, 0xf6, 0xe2, 0x40, 0x88, 0x9f, 0x63, 0x50, 0x76, 0x4e, - 0xb7, 0xc5, 0x21, 0xb2, 0x6f, 0xfd, 0x9a, 0xc0, 0x23, 0xe0, 0x84, 0x22, 0xd8, 0xfa, 0x4c, 0x92, - 0x6a, 0xc0, 0x0e, 0xff, 0x06, 0x70, 0xa9, 0x81, 0x39, 0x91, 0xda, 0x76, 0x15, 0xee, 0x48, 0x6c, - 0xb9, 0x7c, 0x43, 0x3c, 0xd6, 0x07, 0xac, 0xca, 0x79, 0x09, 0xb2, 0xb6, 0x34, 0x23, 0x6b, 0xf2, - 0x93, 0x35, 0x8c, 0x83, 0x0e, 0x75, 0x11, 0xd1, 0x68, 0xdb, 0x23, 0xea, 0x29, 0x39, 0xde, 0x80, - 0xc9, 0xf7, 0x6a, 0x52, 0x0c, 0x24, 0xdc, 0xe7, 0xa6, 0x5f, 0x3a, 0x36, 0xb0, 0x04, 0x88, 0xfe, - 0x7f, 0xfe, 0x3d, 0x6f, 0xea, 0x4d, 0x4e, 0xae, 0x52, 0xfc, 0xe9, 0x44, 0xd3, 0x54, 0x05, 0xfb, - 0x52, 0x37, 0xca, 0x7f, 0xc5, 0x07, 0x8c, 0x12, 0x4a, 0x4a, 0x79, 0x24, 0x18, 0x15, 0x1c, 0xcc, - 0x72, 0x7a, 0xf3, 0xe2, 0x35, 0xee, 0x48, 0x4d, 0xed, 0x5a, 0x48, 0xb1, 0x0b, 0x0e, 0x99, 0x98, - 0x77, 0xb4, 0x8a, 0xb6, 0x9b, 0xd5, 0x7d, 0x54, 0x7b, 0x4f, 0x5f, 0x72, 0x2a, 0xa6, 0x69, 0xbc, - 0x83, 0xac, 0x35, 0x16, 0x94, 0x01, 0x34, 0xd9, 0xe7, 0x51, 0x4e, 0x98, 0xe6, 0xa1, 0xdf, 0xdd, - 0xae, 0x5e, 0x0a, 0xfe, 0xa6, 0xc8, 0x5d, 0x88, 0xcb, 0x8f, 0x36, 0x19, 0x3a, 0xb6, 0xfa, 0x49, - 0xcb, 0x16, 0x94, 0x89, 0x42, 0x52, 0x1c, 0xe1, 0x09, 0x2f, 0xaf, 0x26, 0xca, 0x58, 0xa7, 0xc2, - 0xa6, 0xa9, 0xdf, 0xbb, 0x23, 0xda, 0x6a, 0xf2, 0x39, 0x32, 0xd6, 0x5a, 0xa5, 0x30, 0x23, 0x47, - 0xd2, 0xa8, 0x4b, 0x3c, 0x20, 0xf1, 0x30, 0x0b, 0x7c, 0x33, 0xd7, 0xd4, 0x80, 0xb6, 0xfc, 0x51, - 0xd6, 0xa0, 0xe0, 0xd4, 0xa6, 0x5c, 0x13, 0x0e, 0xb4, 0xb4, 0xa2, 0xce, 0x4c, 0x73, 0x99, 0xe1, - 0x63, 0xe6, 0x72, 0xeb, 0xda, 0x5f, 0x1f, 0x88, 0x7e, 0x0c, 0x38, 0xa1, 0x9c, 0x4d, 0xcc, 0x02, - 0xc7, 0x11, 0xae, 0x53, 0xa2, 0x0b, 0x1c, 0x5c, 0xfb, 0x2b, 0x7d, 0xf4, 0x93, 0x3b, 0x15, 0x07, - 0x82, 0x5f, 0x0f, 0x0d, 0x62, 0xa7, 0x9b, 0x9d, 0xe7, 0x5d, 0xac, 0xa5, 0x68, 0x5d, 0x85, 0x67, - 0x46, 0x68, 0x40, 0xef, 0xfc, 0xf1, 0xc1, 0xbd, 0x86, 0x06, 0x1f, 0xb4, 0x6b, 0xce, 0xeb, 0xd9, - 0x19, 0x44, 0x4b, 0xe5, 0x7d, 0xb0, 0x6a, 0x9a, 0x40, 0x14, 0x06, 0xb0, 0x3e, 0x41, 0x34, 0x58, - 0xf4, 0xf2, 0xfb, 0x17, 0xc8, 0x49, 0x68, 0xa4, 0xda, 0xee, 0x80, 0xd4, 0xbe, 0x7a, 0xaa, 0xa6, - 0x44, 0x5d, 0x5e, 0x40, 0x45, 0xdc, 0x61, 0x45, 0x47, 0x43, 0x73, 0xe6, 0x3a, 0x60, 0xd2, 0x5e, - 0x44, 0xe9, 0xb0, 0xa9, 0xeb, 0x1e, 0x4b, 0x24, 0x64, 0x97, 0x7c, 0x6f, 0xeb, 0x9d, 0xdf, 0x3d, - 0x20, 0x06, 0x13, 0x8a, 0xc0, 0x44, 0x59, 0xcc, 0xcc, 0x52, 0xd1, 0xd9, 0x79, 0x10, 0x2b, 0x93, - 0x10, 0x26, 0x46, 0x65, 0x32, 0xe5, 0x4b, 0x59, 0xdd, 0x18, 0xa9, 0xa9, 0x6b, 0x36, 0x34, 0x1d, - 0x26, 0xb7, 0xc9, 0x26, 0x16, 0xc2, 0xdc, 0xa7, 0x62, 0x1a, 0x84, 0x83, 0x4b, 0xee, 0x00, 0x30, - 0xf2, 0xe4, 0xf9, 0x5b, 0xa4, 0x61, 0x6e, 0xad, 0x30, 0x51, 0x05, 0xca, 0x78, 0xca, 0x2c, 0xb0, - 0x7d, 0x95, 0x24, 0x8d, 0x8f, 0x52, 0xcf, 0xe3, 0xb4, 0x69, 0x72, 0x1e, 0xf6, 0x37, 0x7e, 0x6c, - 0x0b, 0x3c, 0x82, 0x5d, 0xb1, 0xcc, 0x8e, 0x28, 0xe8, 0xbb, 0xca, 0x23, 0xb4, 0x27, 0x73, 0xa3, - 0xbb, 0xaf, 0x28, 0x6b, 0x60, 0x53, 0x47, 0xca, 0xcc, 0xb8, 0xf4, 0xe9, 0x0f, 0x48, 0x5d, 0xcd, - 0xfc, 0xfc, 0xcb, 0x4d, 0xd0, 0xda, 0x1f, 0x81, 0x0b, 0xd8, 0x48, 0x7f, 0x7b, 0x21, 0xa1, 0xb6, - 0xa8, 0xf3, 0xdb, 0x81, 0x0b, 0x0e, 0x2c, 0xcb, 0x3e, 0x4d, 0x77, 0x30, 0x5a, 0xbd, 0xb6, 0xc0, - 0x33, 0x58, 0x53, 0xe9, 0x4e, 0x0f, 0x7b, 0x3e, 0x0d, 0x05, 0x55, 0xe4, 0xdc, 0xfb, 0x34, 0xa4, - 0xf3, 0xe6, 0x0f, 0xf4, 0x13, 0xe8, 0xb6, 0xa4, 0xdc, 0x5c, 0xf3, 0x6b, 0x5a, 0xbb, 0x99, 0xe5, - 0x84, 0x74, 0x19, 0xa5, 0xb9, 0xb3, 0x15, 0x6c, 0xe5, 0x2c, 0x0f, 0x76, 0xe9, 0xa9, 0xfc, 0x4c, - 0x5b, 0x0b, 0x1c, 0x1c, 0x79, 0xb1, 0x68, 0x1c, 0xf3, 0x43, 0x70, 0xa6, 0xbb, 0x7a, 0x39, 0x73, - 0xe0, 0x08, 0xf4, 0xd2, 0xe3, 0x56, 0x0a, 0xdb, 0x61, 0xb8, 0x38, 0x13, 0xa6, 0x85, 0xf8, 0x7a, - 0xb5, 0x84, 0xf0, 0x64, 0xc6, 0xad, 0xc3, 0xd9, 0x8f, 0xa9, 0x78, 0xf5, 0x82, 0x0f, 0xd3, 0xe2, - 0xd9, 0xe9, 0xd4, 0x28, 0xa0, 0x95, 0xea, 0x2e, 0x18, 0x18, 0x7f, 0x19, 0x5c, 0xcc, 0x2c, 0xe2, - 0xf2, 0x1d, 0x3b, 0xcd, 0x02, 0x4a, 0xfb, 0x2c, 0x4b, 0x7c, 0x52, 0x5f, 0x5b, 0x5c, 0x18, 0x76, - 0xa7, 0x81, 0xb3, 0x4c, 0xc6, 0x4b, 0xbf, 0x99, 0xe2, 0x87, 0x65, 0x5f, 0x14, 0x08, 0x01, 0x01, - 0xc6, 0xe9, 0x59, 0xb7, 0xaa, 0xb0, 0x5c, 0x6e, 0x05, 0xf0, 0xac, 0xe7, 0xca, 0xab, 0x07, 0xf3, - 0xff, 0x85, 0xec, 0x02, 0xab, 0x4a, 0x34, 0xe0, 0x07, 0xbe, 0x93, 0xd7, 0xa5, 0x79, 0xc2, 0x14, - 0xbe, 0x68, 0xbb, 0x54, 0x46, 0xf6, 0x16, 0x27, 0x6a, 0xe5, 0x46, 0x73, 0xf9, 0x3f, 0xf8, 0xdc, - 0xa1, 0x7d, 0xc9, 0x67, 0x87, 0xad, 0x5a, 0x40, 0xe9, 0x51, 0xd3, 0xd3, 0x5c, 0xf7, 0xc2, 0x68, - 0xd9, 0x35, 0xc6, 0x85, 0xd9, 0xdb, 0x6a, 0x09, 0xbf, 0x42, 0xe9, 0x92, 0x80, 0x56, 0x07, 0xca, - 0x20, 0x4c, 0x27, 0x0a, 0x82, 0x7e, 0xfe, 0xd6, 0xbe, 0x5b, 0xd9, 0xed, 0x15, 0xaf, 0x37, 0x28, - 0xfe, 0x18, 0x2d, 0x2d, 0x86, 0x1d, 0xb7, 0x36, 0x61, 0x7d, 0xef, 0x11, 0xd7, 0xd5, 0x6e, 0x72, - 0xf0, 0x41, 0xd3, 0x63, 0x45, 0xc1, 0x97, 0x1d, 0xb2, 0x3b, 0x2b, 0x4d, 0x01, 0xba, 0x2e, 0x56, - 0xb9, 0x7d, 0x21, 0x7f, 0x6b, 0xd1, 0x63, 0x63, 0x47, 0xae, 0xbc, 0x40, 0xaf, 0x62, 0xb6, 0xf2, - 0x78, 0xa1, 0xc1, 0x76, 0x09, 0xc3, 0x54, 0x77, 0x26, 0x56, 0x1d, 0xbd, 0xd0, 0x9d, 0xe6, 0x46, - 0x57, 0x40, 0x53, 0xc0, 0xd3, 0x72, 0xb8, 0x1c, 0xde, 0x90, 0xce, 0x5a, 0xb0, 0x89, 0x70, 0x1c, - 0x49, 0x04, 0xac, 0x88, 0x80, 0xdb, 0xdb, 0xbc, 0xef, 0xbc, 0x18, 0x9a, 0xc8, 0x6d, 0x10, 0xd8, - 0x36, 0x8d, 0xf9, 0x00, 0xa4, 0x4f, 0x2a, 0x92, 0x35, 0x31, 0xcb, 0xb4, 0x36, 0xfa, 0x55, 0x64, - 0x32, 0x5a, 0x78, 0x35, 0x55, 0x6b, 0xa5, 0xdf, 0xaf, 0x67, 0x81, 0x8f, 0x2a, 0x05, 0xae, 0x1f, - 0xd7, 0x50, 0x06, 0x42, 0xa2, 0x41, 0x0e, 0x8f, 0x68, 0x94, 0x76, 0xdc, 0x10, 0x71, 0x77, 0xc2, - 0xce, 0x16, 0x8a, 0x98, 0x39, 0x3a, 0xf9, 0xff, 0xd5, 0xc5, 0xd8, 0xbb, 0x0b, 0x74, 0x81, 0xa4, - 0x4c, 0x6b, 0xa0, 0x0e, 0x15, 0xe6, 0xf0, 0xb9, 0xbd, 0x51, 0x32, 0xf2, 0xe8, 0x64, 0x94, 0xef, - 0xf8, 0xfd, 0xac, 0xef, 0xb2, 0x89, 0xbe, 0xf3, 0x81, 0x35, 0x93, 0x24, 0x08, 0xd4, 0xa5, 0x8b, - 0xc6, 0x28, 0x79, 0x4f, 0xb3, 0x8e, 0xa5, 0x28, 0xe1, 0xa0, 0xca, 0x2c, 0x1b, 0xaa, 0xd7, 0x7f, - 0x5e, 0x03, 0x27, 0xea, 0xc9, 0xff, 0x57, 0x6d, 0x96, 0x48, 0x39, 0x71, 0x5d, 0x5c, 0x7b, 0xb4, - 0x4c, 0x99, 0xc5, 0x24, 0xa0, 0x89, 0x13, 0x2d, 0x98, 0x86, 0x7f, 0xa3, 0x33, 0x0f, 0xc7, 0x71, - 0xbf, 0xd0, 0x17, 0x2b, 0xcb, 0xcb, 0x53, 0x56, 0x02, 0x99, 0xbd, 0xa9, 0xd1, 0x9b, 0x41, 0x41, - 0xc3, 0x02, 0xe3, 0x51, 0xb9, 0xef, 0x7c, 0x42, 0x92, 0x1a, 0xf8, 0xf3, 0x6c, 0xea, 0x15, 0xea, - 0x30, 0xb4, 0xc1, 0xa4, 0xff, 0xa7, 0x34, 0xfb, 0x9e, 0x03, 0x95, 0x31, 0x6c, 0x81, 0x07, 0x28, - 0xd9, 0xe6, 0x50, 0xcb, 0x93, 0x43, 0xa2, 0x97, 0xcd, 0x59, 0x41, 0xbb, 0xa6, 0x65, 0x3d, 0x43, - 0xa2, 0x65, 0xf1, 0x2c, 0x63, 0xa6, 0x04, 0x8e, 0xe9, 0xfd, 0x9e, 0xbe, 0x79, 0x9a, 0x46, 0xbd, - 0x01, 0x28, 0xb8, 0x40, 0xe1, 0xb1, 0xde, 0x0e, 0xff, 0xdb, 0x21, 0x94, 0x15, 0xbf, 0x8f, 0xac, - 0x9e, 0x17, 0x5c, 0x82, 0xbd, 0xa8, 0x18, 0x69, 0x38, 0x9c, 0xf8, 0xd4, 0x51, 0xde, 0x9b, 0xd4, - 0xb2, 0xba, 0x78, 0xda, 0x28, 0xc0, 0x65, 0x9a, 0xb8, 0x49, 0x85, 0xf1, 0xff, 0x52, 0x9f, 0xb5, - 0x68, 0xe3, 0x91, 0x1a, 0xfb, 0x6d, 0xa0, 0xd2, 0x2b, 0xe4, 0x0e, 0xbe, 0xf3, 0x22, 0xd1, 0x23, - 0x46, 0x0b, 0x9a, 0xa2, 0xb2, 0xfe, 0x8d, 0x1b, 0xcd, 0x00, 0x47, 0x9f, 0xac, 0xb3, 0x9b, 0x8e, - 0xf6, 0x01, 0x8e, 0x25, 0xa0, 0x63, 0x91, 0x8b, 0xcc, 0xd6, 0x99, 0xeb, 0xcd, 0xb2, 0x63, 0x5a, - 0x22, 0xa2, 0xfe, 0xa3, 0x82, 0x83, 0x61, 0x46, 0x74, 0x0f, 0xe7, 0x0c, 0x26, 0x53, 0x74, 0x72, - 0xf4, 0x21, 0x4b, 0x56, 0x17, 0x29, 0x56, 0xa7, 0x01, 0x09, 0x54, 0xfc, 0x75, 0xc6, 0x0d, 0xa3, - 0x81, 0x82, 0x85, 0x47, 0x45, 0xaf, 0xed, 0xa0, 0xa4, 0x87, 0xc1, 0x4b, 0xcb, 0x49, 0xf6, 0xa6, - 0x08, 0xda, 0x35, 0x65, 0x04, 0xc6, 0xee, 0xab, 0x3b, 0xfc, 0xaa, 0x7e, 0xe9, 0x42, 0x83, 0x80, - 0x73, 0x4d, 0xc3, 0x9c, 0xea, 0xfd, 0x06, 0x32, 0xb6, 0x96, 0xd7, 0x6a, 0x42, 0x56, 0x47, 0xb1, - 0x87, 0xb2, 0x37, 0x1d, 0xc2, 0x16, 0xc0, 0xe0, 0x1c, 0x85, 0xaa, 0x59, 0xe3, 0xa5, 0xac, 0x96, - 0xd0, 0xf7, 0x2e, 0xed, 0xe5, 0x6f, 0xcd, 0xa1, 0xe3, 0x6c, 0x53, 0xb8, 0x31, 0xf3, 0xc1, 0x92, - 0x9e, 0xae, 0x77, 0xce, 0x53, 0x23, 0xb5, 0xea, 0xe2, 0x82, 0x1b, 0xa3, 0x43, 0xf9, 0x17, 0xa0, - 0x41, 0x93, 0x04, 0x09, 0x0a, 0x34, 0x0f, 0x86, 0xdc, 0x16, 0xfd, 0xed, 0x57, 0x44, 0xc9, 0xb0, - 0xcf, 0x95, 0xf2, 0x1b, 0x26, 0xa3, 0x1a, 0x71, 0x0a, 0xae, 0x94, 0x10, 0xfe, 0x2e, 0xfd, 0xa1, - 0x80, 0xe2, 0x08, 0x5d, 0x62, 0x92, 0x79, 0xd7, 0x1f, 0xf6, 0x60, 0xe8, 0x42, 0x2a, 0x8c, 0x2b, - 0x55, 0xf9, 0x80, 0x8e, 0x92, 0x17, 0x8d, 0x2b, 0x21, 0xd0, 0x68, 0x62, 0xa0, 0xe6, 0xb2, 0x8f, - 0xb7, 0x7c, 0xd8, 0x39, 0x32, 0xa8, 0xb0, 0xc2, 0xa4, 0xcb, 0x51, 0x91, 0xf6, 0x1e, 0x9f, 0xe7, - 0xc5, 0xd6, 0xc5, 0xc9, 0x2f, 0x1c, 0xb1, 0xc3, 0x4c, 0x84, 0x8b, 0xc4, 0x72, 0x58, 0xff, 0xd9, - 0xaa, 0x3d, 0x75, 0xf8, 0xdb, 0x6e, 0xaa, 0x5c, 0x18, 0x1f, 0x39, 0xe9, 0x28, 0xde, 0x83, 0xd1, - 0xd2, 0xef, 0x12, 0x62, 0xa6, 0xd4, 0x1b, 0x4c, 0x5f, 0x78, 0x3c, 0x8e, 0x45, 0xd8, 0x41, 0x55, - 0x13, 0xb3, 0x8e, 0x9c, 0x75, 0x0e, 0xd6, 0x8a, 0xe6, 0xac, 0x3e, 0xa6, 0xb4, 0x05, 0x60, 0x67, - 0x19, 0xb1, 0xc8, 0xec, 0xfa, 0x80, 0x9d, 0x71, 0x0b, 0xae, 0x5d, 0x3e, 0xf9, 0x1e, 0xcb, 0xe5, - 0xa5, 0x34, 0x05, 0x01, 0xbe, 0x9a, 0xac, 0x36, 0x6c, 0xcd, 0xf3, 0xd3, 0x68, 0xde, 0x71, 0x94, - 0x3e, 0x29, 0x21, 0xdb, 0xa6, 0xa6, 0x0a, 0x3c, 0x5f, 0xa1, 0x5c, 0xad, 0xa0, 0xbc, 0x71, 0xce, - 0x34, 0x31, 0xc7, 0xd9, 0xa8, 0xbd, 0xa5, 0x6c, 0xf6, 0x8e, 0x79, 0x0c, 0xae, 0xcc, 0x77, 0x63, - 0x89, 0xef, 0x45, 0xfc, 0xa3, 0x62, 0x67, 0xcb, 0x34, 0x0c, 0x2d, 0x86, 0x99, 0xcd, 0x0f, 0xec, - 0x7c, 0x71, 0xce, 0x52, 0x8b, 0xf3, 0xbb, 0xf3, 0x72, 0xbb, 0x7e, 0x6b, 0xec, 0xe9, 0xfd, 0xd3, - 0x82, 0x4e, 0x85, 0xdc, 0xa0, 0xe6, 0xa6, 0x7c, 0x35, 0x6f, 0xe2, 0xab, 0xf4, 0xd8, 0x1c, 0x6e, - 0xab, 0xf2, 0x0a, 0x40, 0x15, 0x14, 0x20, 0x1b, 0x01, 0x8f, 0x43, 0x77, 0x68, 0x2d, 0x9f, 0xb0, - 0xe8, 0x00, 0x1c, 0x90, 0x33, 0x0d, 0x54, 0x5e, 0xba, 0x95, 0xc8, 0xba, 0x4b, 0x19, 0x3e, 0xc7, - 0xda, 0x9b, 0xf8, 0x02, 0x31, 0xb0, 0xcb, 0x25, 0x1b, 0x2d, 0xeb, 0xab, 0xb9, 0xde, 0xdc, 0xf0, - 0xdd, 0x18, 0x42, 0x94, 0xef, 0x4e, 0x98, 0xec, 0x4f, 0xa6, 0xbc, 0x19, 0xc1, 0x44, 0x18, 0xce, - 0x02, 0x1a, 0x18, 0xf1, 0x62, 0x6a, 0x8f, 0xf7, 0xae, 0xe7, 0x1d, 0x12, 0x60, 0x9c, 0xdd, 0x7f, - 0x7a, 0x92, 0xe9, 0x73, 0x09, 0x2a, 0x45, 0x6f, 0xa7, 0x2e, 0x43, 0x46, 0x66, 0x53, 0xf0, 0x20, - 0x54, 0xad, 0x17, 0xb8, 0x1f, 0xa7, 0x44, 0xb6, 0xa1, 0x7d, 0x65, 0xf4, 0xd7, 0x9c, 0xd2, 0xf6, - 0x38, 0xfd, 0x65, 0x99, 0xfc, 0x6f, 0x26, 0x2b, 0x5a, 0x45, 0xf2, 0xb6, 0xe2, 0x0f, 0x90, 0xb8, - 0x79, 0x8f, 0x97, 0xc8, 0xb9, 0x8c, 0x79, 0x1e, 0x4e, 0x73, 0x85, 0x91, 0xc4, 0xdd, 0x65, 0x60, - 0x4b, 0xc5, 0x45, 0x2b, 0xb8, 0x51, 0xb3, 0x38, 0xfe, 0x8b, 0x0b, 0xfe, 0x02, 0x16, 0x62, 0x7a, - 0xa8, 0x94, 0xac, 0xab, 0xf8, 0xc1, 0x56, 0x3a, 0xd0, 0x4c, 0x25, 0x86, 0x76, 0x03, 0xc4, 0xdf, - 0xde, 0x79, 0x32, 0x64, 0x57, 0x6c, 0xb6, 0xe8, 0xe1, 0x47, 0xee, 0x37, 0x6c, 0xe9, 0xdd, 0xfa, - 0x00, 0x87, 0x91, 0x1a, 0x47, 0x77, 0x4b, 0x22, 0xc1, 0x4d, 0xbf, 0x81, 0x79, 0x57, 0xa7, 0x47, - 0x23, 0xd7, 0xc9, 0xef, 0xc2, 0xd6, 0xe3, 0x4c, 0x7a, 0xe6, 0x35, 0x61, 0xd5, 0x13, 0xbd, 0xb8, - 0x64, 0x64, 0x30, 0x92, 0xce, 0xfd, 0xa6, 0x31, 0x1e, 0x36, 0x0d, 0x6d, 0xb0, 0xc5, 0x7c, 0xa3, - 0x1e, 0x88, 0x02, 0x6b, 0x2b, 0xb2, 0xc2, 0x52, 0x1d, 0x72, 0x22, 0x07, 0x67, 0x89, 0x3e, 0xbb, - 0xe9, 0x58, 0x38, 0x50, 0x4f, 0x7c, 0x3c, 0x44, 0xad, 0xd3, 0x8f, 0x7c, 0x47, 0x2a, 0xba, 0xaf, - 0x69, 0x9c, 0xeb, 0x6e, 0xe3, 0x2b, 0xf5, 0xbc, 0x38, 0x42, 0x62, 0x9a, 0x29, 0x8a, 0x64, 0xcc, - 0xc3, 0x29, 0xd1, 0x19, 0x1d, 0x6f, 0xaf, 0xf4, 0x9b, 0x9f, 0x80, 0x1b, 0x18, 0x31, 0x4b, 0xfb, - 0x42, 0xab, 0x05, 0x94, 0x62, 0x33, 0x0f, 0x4d, 0xb2, 0xd1, 0x38, 0x2f, 0xda, 0xcb, 0x6f, 0xc3, - 0x9c, 0x20, 0x5f, 0x2e, 0xe4, 0x60, 0x2b, 0x0b, 0xaf, 0x61, 0x86, 0x2b, 0x0b, 0xb3, 0x34, 0x3f, - 0x93, 0x45, 0x36, 0x71, 0x22, 0x9a, 0x61, 0x18, 0x8a, 0xd8, 0x49, 0xb2, 0xb7, 0x41, 0x85, 0xc6, - 0x08, 0xb2, 0x93, 0x67, 0x63, 0x52, 0x8b, 0xdb, 0x20, 0x9f, 0x2a, 0x01, 0xe0, 0x1c, 0x13, 0xef, - 0x3b, 0x41, 0xe7, 0x48, 0x2b, 0x96, 0xdf, 0x84, 0x1f, 0x2a, 0x69, 0x98, 0x7d, 0x13, 0x15, 0x91, - 0x76, 0x5b, 0x6a, 0x37, 0x64, 0xfb, 0x4a, 0x44, 0x5c, 0x8f, 0x76, 0xf2, 0x69, 0x78, 0xe5, 0xc1, - 0x62, 0x4e, 0x59, 0x6e, 0xb9, 0x65, 0x17, 0x5b, 0xca, 0xe1, 0x57, 0xe3, 0x6e, 0xae, 0xc2, 0xe6, - 0x79, 0xe3, 0x6c, 0x61, 0xee, 0x4c, 0xe7, 0xf9, 0x2a, 0xaf, 0xb7, 0x2a, 0xe3, 0x22, 0x9d, 0xa3, - 0xa4, 0x98, 0x04, 0x70, 0x74, 0xba, 0xf6, 0x4b, 0xed, 0xa3, 0x8e, 0x92, 0x62, 0x33, 0x53, 0x24, - 0xa1, 0xfa, 0x47, 0xb2, 0x17, 0xc2, 0x63, 0xb7, 0x48, 0x39, 0xfe, 0x1f, 0x5a, 0xdc, 0x84, 0x26, - 0xf5, 0x94, 0xb4, 0x69, 0x72, 0xfc, 0x43, 0x09, 0x9a, 0xc2, 0x06, 0x99, 0x76, 0xb3, 0xdc, 0x22, - 0x55, 0x61, 0x81, 0xb0, 0x4a, 0x6b, 0x11, 0x83, 0x38, 0xfa, 0xa0, 0x2e, 0xb5, 0x05, 0xbb, 0xb2, - 0x0e, 0xda, 0x02, 0x53, 0x87, 0x5f, 0x08, 0xbd, 0xda, 0x93, 0x90, 0x7e, 0xa0, 0x28, 0xe5, 0x49, - 0x63, 0x02, 0xbb, 0xcd, 0xa1, 0xb9, 0xd9, 0xb7, 0xee, 0xd2, 0xd1, 0x49, 0xef, 0x28, 0x06, 0x75, - 0x51, 0x6f, 0x9e, 0x82, 0x71, 0x04, 0x73, 0x54, 0xa6, 0x7a, 0xff, 0x40, 0x54, 0xeb, 0x38, 0x5f, - 0x14, 0xdf, 0x2d, 0x30, 0x4a, 0xe2, 0xc7, 0x21, 0x32, 0x3e, 0x33, 0xd7, 0x9a, 0x1d, 0x25, 0x9f, - 0x8b, 0x8e, 0xe5, 0xdf, 0x87, 0xa1, 0xa1, 0xc2, 0x45, 0x12, 0x7a, 0x4c, 0x4d, 0xc5, 0xb5, 0xef, - 0x5b, 0xc8, 0xb8, 0xfc, 0xca, 0xc1, 0xfa, 0x4b, 0xea, 0x83, 0x34, 0xd5, 0x0e, 0x9c, 0xe6, 0xd9, - 0x02, 0x09, 0x76, 0x1f, 0xfa, 0xc0, 0xb2, 0x4a, 0xe8, 0xf9, 0x4b, 0x50, 0xd6, 0x29, 0x34, 0x32, - 0xe3, 0x1a, 0x1f, 0x99, 0x4e, 0x60, 0xc4, 0xc8, 0xc2, 0x9f, 0x88, 0xe0, 0x29, 0x38, 0xa4, 0x67, - 0x86, 0xca, 0x5b, 0x27, 0xe2, 0xab, 0xbe, 0x6c, 0xd3, 0x15, 0xd2, 0x69, 0xb5, 0xa1, 0xa1, 0xaa, - 0x99, 0xe4, 0xaa, 0x62, 0x90, 0x6e, 0xbb, 0x38, 0x3e, 0xcb, 0x25, 0xea, 0x41, 0xf9, 0x50, 0x32, - 0x04, 0x30, 0xef, 0x08, 0x24, 0x22, 0x59, 0xf4, 0xbc, 0x11, 0xee, 0x29, 0xda, 0x2e, 0x39, 0x7a, - 0x7e, 0xf3, 0x82, 0x55, 0x54, 0x1f, 0x4e, 0x4b, 0x23, 0x56, 0x08, 0xbb, 0x07, 0x48, 0xdc, 0xe7, - 0xb2, 0x5b, 0x76, 0xa2, 0x6c, 0x0c, 0x8d, 0xa5, 0x44, 0x67, 0x8f, 0x2a, 0xba, 0x73, 0xc5, 0xd2, - 0x54, 0xc8, 0x34, 0x7f, 0x5d, 0xd3, 0x7f, 0x5b, 0xb9, 0x1c, 0x75, 0xe4, 0x5d, 0x7c, 0xd2, 0x22, - 0xa9, 0x05, 0x2c, 0x17, 0x48, 0xee, 0x05, 0x4f, 0x6c, 0x2b, 0x1a, 0x90, 0x54, 0x96, 0xf8, 0xdc, - 0x2a, 0x25, 0xc1, 0x53, 0xef, 0xe4, 0x8a, 0xa3, 0xb4, 0xe5, 0x9c, 0x3e, 0x20, 0x83, 0x92, 0x74, - 0x21, 0x49, 0x90, 0xe8, 0x89, 0x64, 0xfc, 0x2f, 0x18, 0x53, 0x9f, 0x9a, 0x42, 0xd0, 0x21, 0x1d, - 0xfe, 0x2f, 0xf4, 0xd1, 0x25, 0x44, 0xa7, 0xb2, 0x07, 0x1f, 0x93, 0x5c, 0x92, 0xc3, 0x14, 0x1a, - 0x80, 0x68, 0xc7, 0x92, 0x93, 0x70, 0x96, 0x12, 0xf6, 0xe4, 0x93, 0x64, 0x3c, 0xbb, 0x47, 0x62, - 0xda, 0x06, 0x47, 0xaf, 0x0a, 0xfa, 0xb8, 0x46, 0x13, 0xda, 0x87, 0x17, 0x60, 0xe7, 0x77, 0x2f, - 0xe4, 0x00, 0xcd, 0xa9, 0x69, 0x64, 0xda, 0xf4, 0x02, 0x84, 0xea, 0xe7, 0xe8, 0x26, 0x43, 0x37, - 0x8e, 0x4e, 0xe0, 0x77, 0xe2, 0x0d, 0x30, 0xb0, 0x3d, 0x99, 0x52, 0x74, 0xca, 0x19, 0x80, 0x88, - 0x10, 0x68, 0x87, 0xfe, 0x67, 0x1e, 0x7d, 0x0d, 0xd1, 0x36, 0x14, 0x96, 0x1f, 0xf4, 0x05, 0xca, - 0xb5, 0x94, 0x49, 0xe5, 0x07, 0xf8, 0x40, 0x01, 0x54, 0x9b, 0x14, 0x06, 0x97, 0xc8, 0xac, 0x14, - 0xee, 0x6a, 0x1a, 0x84, 0xc3, 0x7a, 0x42, 0x5a, 0x88, 0x98, 0xb0, 0xb3, 0x55, 0xf3, 0xb8, 0x31, - 0xc2, 0x57, 0x11, 0x8a, 0xb2, 0xd5, 0x60, 0xc0, 0x8f, 0xaf, 0x6f, 0xfb, 0xc6, 0x89, 0x3b, 0x9f, - 0x17, 0xd7, 0xb8, 0xdc, 0xec, 0x4d, 0x4b, 0xf8, 0xde, 0xa2, 0xe8, 0xde, 0x98, 0x63, 0x95, 0x1c, - 0x86, 0x8c, 0x47, 0x10, 0x53, 0x29, 0x78, 0x24, 0x1d, 0x73, 0x9b, 0x7e, 0x7f, 0xcc, 0xe2, 0x15, - 0x49, 0xf8, 0x07, 0x30, 0x85, 0x40, 0x16, 0x4b, 0xa8, 0x8e, 0xd4, 0x92, 0x89, 0x73, 0xd0, 0xeb, - 0x91, 0x65, 0x2b, 0x5f, 0x92, 0xca, 0x2c, 0x6b, 0xb3, 0x19, 0xce, 0x6c, 0x32, 0xfa, 0xd1, 0x30, - 0xe6, 0x31, 0x3e, 0x05, 0x6c, 0x01, 0x7a, 0xc5, 0xda, 0x15, 0xb0, 0x25, 0x0d, 0xc7, 0xf5, 0x67, - 0x92, 0x56, 0xbc, 0xf1, 0x7a, 0xbd, 0xff, 0xaa, 0x73, 0xef, 0x6f, 0x22, 0x27, 0x90, 0x8a, 0x21, - 0x23, 0xcf, 0x3f, 0x31, 0xe0, 0xde, 0x5b, 0x01, 0x8c, 0x92, 0x57, 0x39, 0xd7, 0x72, 0xeb, 0x4c, - 0x1b, 0xde, 0x64, 0x5a, 0x2a, 0x32, 0xf2, 0x66, 0x6d, 0x87, 0xc6, 0x27, 0x08, 0x11, 0x90, 0x29, - 0xaa, 0xa1, 0x38, 0xa8, 0xed, 0x11, 0x43, 0x72, 0x9d, 0x1d, 0xaf, 0x58, 0x6c, 0x41, 0xd6, 0xac, - 0x38, 0x51, 0x67, 0x16, 0xfe, 0x72, 0xbe, 0x7f, 0x13, 0x74, 0x34, 0xfa, 0x7c, 0x3c, 0x1b, 0xce, - 0x23, 0x82, 0x77, 0x4c, 0xcb, 0x43, 0x61, 0x05, 0xa6, 0x5c, 0x06, 0x7d, 0xdf, 0x12, 0xf3, 0xfe, - 0xf1, 0xb4, 0x27, 0x03, 0x7a, 0xd3, 0x61, 0x66, 0xe1, 0x38, 0x53, 0xb1, 0xc3, 0x01, 0xd8, 0x0e, - 0x26, 0x87, 0x4e, 0x26, 0x81, 0x2e, 0xb0, 0xd5, 0xe3, 0xa2, 0x99, 0xb1, 0xc9, 0xd2, 0x5d, 0x01, - 0x86, 0xd4, 0xaf, 0xb5, 0x84, 0x7c, 0xda, 0xe4, 0x87, 0x47, 0x1c, 0xf5, 0x39, 0xf4, 0xc2, 0x12, - 0x9f, 0xda, 0xe3, 0x6b, 0x8d, 0x96, 0x0f, 0x43, 0x6f, 0x0b, 0x5a, 0xca, 0x08, 0xc1, 0x1a, 0xd0, - 0x29, 0x4d, 0x7a, 0xf8, 0x9e, 0x96, 0x03, 0x28, 0x1f, 0xac, 0x44, 0xa3, 0x40, 0xbe, 0x5f, 0x8f, - 0xf0, 0x50, 0x5a, 0x6b, 0x02, 0xc8, 0x12, 0xb2, 0xd6, 0x48, 0xd4, 0xf5, 0xbd, 0x97, 0xce, 0x5e, - 0x48, 0x96, 0xa9, 0x37, 0x1e, 0x9e, 0xc8, 0xd1, 0x71, 0xca, 0x2e, 0x92, 0x53, 0x0b, 0xe8, 0xc1, - 0x6b, 0x4b, 0xce, 0x90, 0x0b, 0x4a, 0xa8, 0xef, 0xbc, 0x99, 0x5c, 0x33, 0x5f, 0xbb, 0xa2, 0x34, - 0xf9, 0x87, 0xbb, 0x98, 0xc7, 0xc6, 0xe1, 0xa3, 0x4b, 0x57, 0x12, 0x7c, 0xcb, 0x69, 0x3c, 0x5d, - 0x0a, 0x16, 0x93, 0xcb, 0x3d, 0x21, 0x64, 0x4d, 0x14, 0x7f, 0x9a, 0xa1, 0x7a, 0xa0, 0x45, 0x73, - 0x22, 0x13, 0xc8, 0xc4, 0x04, 0xef, 0x30, 0x27, 0xd6, 0x19, 0x8c, 0xe2, 0xc6, 0x4b, 0x77, 0x65, - 0x75, 0xe3, 0x15, 0xdd, 0x47, 0x35, 0xdd, 0xc0, 0x55, 0xad, 0xb9, 0xbf, 0x5c, 0xad, 0x3a, 0x4d, - 0x23, 0x94, 0xe8, 0x73, 0x9e, 0xc1, 0x1b, 0x5b, 0x9b, 0x34, 0xbd, 0xea, 0x6e, 0x58, 0x21, 0xab, - 0xbc, 0xb6, 0x03, 0xb6, 0x2d, 0xbc, 0x06, 0x37, 0xb7, 0xe6, 0xaf, 0xdf, 0xa5, 0x80, 0xf9, 0xc8, - 0x5e, 0xea, 0x46, 0xfc, 0xd4, 0x8c, 0xf6, 0x66, 0x6d, 0x61, 0x3a, 0x62, 0xad, 0xcc, 0xcc, 0xd8, - 0xd9, 0xde, 0xc3, 0x9a, 0xbd, 0x2c, 0xa2, 0xb8, 0x8d, 0x8d, 0xc2, 0xd2, 0x8a, 0x80, 0x8a, 0x79, - 0xf0, 0x54, 0x0f, 0x1c, 0xcb, 0x54, 0x37, 0x24, 0x9a, 0x8b, 0xc4, 0xce, 0x10, 0x6c, 0x2a, 0x7c, - 0x0e, 0x2e, 0xdc, 0x92, 0x95, 0x27, 0x7c, 0xf5, 0xea, 0x39, 0xe0, 0x7b, 0x24, 0x3a, 0xe7, 0xa9, - 0xd4, 0xb4, 0x5a, 0xba, 0xc5, 0x7c, 0xeb, 0x8e, 0xc8, 0xe1, 0xc4, 0x3a, 0x41, 0x0f, 0xb5, 0x2c, - 0x18, 0xb2, 0xc2, 0xc0, 0xf1, 0xeb, 0x9f, 0x8d, 0xeb, 0x5e, 0x77, 0x05, 0x3d, 0x98, 0x5f, 0xd4, - 0xfb, 0xf9, 0xcb, 0x8d, 0x57, 0x92, 0x3d, 0xc7, 0x98, 0xf1, 0x8a, 0xa0, 0xa9, 0x4f, 0x13, 0x59, - 0x1c, 0x4f, 0xf8, 0x6e, 0xd4, 0x74, 0x20, 0x8a, 0x2e, 0xb1, 0x83, 0x2c, 0x82, 0x8d, 0xab, 0x19, - 0x94, 0x83, 0x85, 0x53, 0x4b, 0x69, 0x29, 0xf0, 0x23, 0x04, 0x71, 0x0d, 0xfd, 0xd6, 0x55, 0xa8, - 0x8c, 0xe8, 0x7b, 0x39, 0xcb, 0x8b, 0x50, 0x53, 0xd1, 0x4e, 0x3d, 0x4e, 0xa7, 0x4f, 0x0e, 0xe8, - 0x53, 0xe5, 0x2b, 0xb2, 0xa8, 0x23, 0x9e, 0xb6, 0x58, 0xe8, 0xa2, 0x06, 0x68, 0x3a, 0x85, 0x1f, - 0x1c, 0xcc, 0x7f, 0xfa, 0x33, 0x55, 0xa6, 0x78, 0xfd, 0x85, 0xc0, 0x10, 0x23, 0xcc, 0xa1, 0x12, - 0x89, 0x8f, 0xe8, 0x98, 0x22, 0x88, 0xb5, 0x55, 0xdd, 0xb5, 0x1e, 0xcd, 0x9f, 0xf1, 0x73, 0xe8, - 0xef, 0x34, 0x3d, 0x2a, 0xa3, 0xd2, 0xd0, 0x7d, 0x5e, 0x59, 0x60, 0x3f, 0x17, 0x00, 0xdf, 0x52, - 0x37, 0xb6, 0xa3, 0xbe, 0x0d, 0xc6, 0x75, 0x3e, 0x36, 0x50, 0xef, 0x07, 0x6f, 0x8e, 0xfc, 0x8b, - 0xf4, 0x70, 0xda, 0xe5, 0x84, 0x9a, 0x99, 0x92, 0x7c, 0x55, 0xb4, 0x0f, 0xd2, 0x11, 0x92, 0xa1, - 0x9b, 0x6c, 0x43, 0xa1, 0x70, 0xfa, 0x8b, 0xf9, 0xca, 0x2a, 0x96, 0x84, 0x6d, 0x73, 0x4a, 0x61, - 0xed, 0x94, 0x19, 0x15, 0x78, 0xb6, 0xef, 0x56, 0x51, 0x00, 0x21, 0x22, 0xb6, 0x8b, 0x72, 0xd4, - 0x7b, 0xbd, 0x46, 0xb8, 0xc9, 0x69, 0x49, 0x4c, 0xf4, 0xbc, 0x72, 0xf7, 0xcb, 0x5b, 0x24, 0xdd, - 0xce, 0x19, 0xf6, 0xc5, 0x97, 0xc3, 0x1b, 0x2a, 0xd0, 0x9d, 0xb7, 0x8f, 0x1a, 0xec, 0x86, 0x75, - 0xd5, 0xd8, 0xd9, 0x36, 0x82, 0x14, 0xa3, 0x31, 0x57, 0x69, 0xfe, 0xda, 0x94, 0x5b, 0x4d, 0x03, - 0x8a, 0xba, 0xb7, 0x37, 0x24, 0x5a, 0x35, 0x68, 0xa2, 0xbc, 0x3e, 0x56, 0x81, 0x2a, 0xc0, 0xb2, - 0xee, 0x13, 0x4e, 0xa4, 0xab, 0xea, 0x27, 0x22, 0xfb, 0xf8, 0x2f, 0x32, 0x38, 0xb5, 0x8f, 0x8d, - 0xdf, 0x00, 0x35, 0x70, 0x74, 0x04, 0x13, 0x19, 0xac, 0x93, 0xe3, 0x29, 0x2c, 0x5c, 0xcd, 0x17, - 0xd9, 0x94, 0x25, 0xa9, 0xd2, 0x2e, 0x82, 0x72, 0x44, 0x05, 0xb7, 0xc7, 0xfa, 0xfe, 0x63, 0xfb, - 0xc6, 0xd2, 0x43, 0xfd, 0xf3, 0x70, 0x3e, 0xf2, 0xb7, 0x8e, 0x23, 0x35, 0x26, 0xaa, 0x63, 0x99, - 0x56, 0x98, 0x3b, 0x9d, 0x16, 0x84, 0xf2, 0xd3, 0x01, 0xe0, 0x28, 0x7e, 0x07, 0xde, 0x4a, 0x5a, - 0x5e, 0x7d, 0xe6, 0x94, 0x3d, 0x4e, 0x5a, 0x63, 0x97, 0x80, 0xaf, 0xd7, 0xf6, 0x96, 0xa0, 0x25, - 0x54, 0x71, 0x6a, 0x15, 0xc0, 0xd1, 0x01, 0x42, 0x12, 0x95, 0x6e, 0xb7, 0xe0, 0x0f, 0x12, 0xe1, - 0x4f, 0xc5, 0xec, 0x65, 0x44, 0x9e, 0xa7, 0x86, 0x9f, 0x09, 0x45, 0x92, 0xc1, 0x70, 0x0a, 0xbb, - 0x49, 0x1a, 0xac, 0x3d, 0x18, 0x08, 0xf0, 0xc7, 0x1f, 0xa9, 0xfc, 0x0d, 0x70, 0x55, 0x8d, 0xa3, - 0x7a, 0xed, 0xd2, 0xc3, 0x06, 0x3a, 0xb6, 0xe3, 0x65, 0x14, 0x68, 0x43, 0x5d, 0xab, 0x48, 0xf2, - 0x14, 0xbc, 0x82, 0xee, 0xb6, 0x03, 0x71, 0xa3, 0xfb, 0xb2, 0x28, 0xc8, 0x75, 0x59, 0xd8, 0x43, - 0xbc, 0x4e, 0x62, 0x63, 0x6b, 0xbd, 0x6c, 0xe5, 0x14, 0x03, 0x36, 0x41, 0x59, 0x48, 0x32, 0x0a, - 0xd3, 0xe3, 0x80, 0x1d, 0xe1, 0x90, 0x1f, 0xb9, 0x69, 0xfc, 0x4d, 0xac, 0x5b, 0x17, 0x8f, 0x0f, - 0x16, 0x15, 0x34, 0x5e, 0xaf, 0xa3, 0xa9, 0xe7, 0xef, 0x7d, 0x91, 0xa9, 0x6c, 0x6d, 0x29, 0xc6, - 0xbb, 0x3f, 0x5d, 0xcb, 0xd4, 0xd7, 0x5f, 0x8e, 0xe5, 0x25, 0x0f, 0x60, 0x91, 0x77, 0xa3, 0x32, - 0xf6, 0x8c, 0x6f, 0x48, 0x77, 0x96, 0xbc, 0xbb, 0xe1, 0x8b, 0xcf, 0x44, 0x85, 0xe0, 0xa0, 0x05, - 0x60, 0xe3, 0x56, 0xe6, 0x00, 0x90, 0xbf, 0xf4, 0x69, 0xf5, 0xf7, 0xc9, 0x2d, 0x76, 0xf8, 0x63, - 0x88, 0x5d, 0x5b, 0x8d, 0xff, 0xec, 0x81, 0x34, 0xf3, 0xeb, 0x61, 0x03, 0x3f, 0xe6, 0x1e, 0x3c, - 0xf6, 0xe1, 0x8a, 0xdd, 0xfa, 0x11, 0x41, 0x75, 0x6f, 0x10, 0x03, 0xc8, 0xbb, 0xcb, 0xdf, 0x18, - 0x55, 0x4a, 0x76, 0x40, 0xa0, 0x4e, 0xab, 0x97, 0xec, 0x16, 0xb5, 0xc7, 0xff, 0xd3, 0x16, 0x51, - 0x00, 0xc5, 0x36, 0x40, 0xa1, 0x18, 0x12, 0x7a, 0x9d, 0x1b, 0x50, 0xb9, 0x7e, 0xdc, 0x5f, 0xf1, - 0x26, 0x82, 0x0e, 0xea, 0x8e, 0x11, 0xbf, 0x1b, 0x43, 0x92, 0x63, 0x6a, 0xad, 0x5a, 0x61, 0x07, - 0xd2, 0x0c, 0x13, 0x39, 0xe7, 0x0a, 0x69, 0x1a, 0x3b, 0x7b, 0xcd, 0x34, 0x99, 0x83, 0xa9, 0xba, - 0x0b, 0xaf, 0xc8, 0x5a, 0xfd, 0xe6, 0x09, 0x40, 0x0b, 0x29, 0xb7, 0xb7, 0x6f, 0xf2, 0x5e, 0xa7, - 0xc2, 0xa1, 0x4f, 0xc7, 0x64, 0x02, 0xb4, 0x84, 0x6a, 0xc5, 0xff, 0x5d, 0x57, 0xa1, 0x5e, 0x42, - 0x02, 0x0d, 0x76, 0xd7, 0x60, 0x12, 0xe1, 0x17, 0x30, 0xfa, 0x78, 0x31, 0xaf, 0x85, 0x33, 0x04, - 0xb9, 0x4c, 0x45, 0x41, 0x9d, 0xe7, 0x5e, 0x23, 0x98, 0x09, 0xc2, 0x91, 0xfa, 0x35, 0x80, 0xa9, - 0xd2, 0x20, 0x7f, 0x23, 0x9e, 0xf4, 0xdb, 0xa8, 0xd7, 0x49, 0xdf, 0x34, 0x96, 0x16, 0x48, 0xd0, - 0x98, 0x6b, 0x71, 0xf7, 0x6d, 0x1f, 0xd0, 0xdc, 0x54, 0x64, 0xfe, 0x91, 0xcf, 0xaa, 0xc2, 0x26, - 0x98, 0xc2, 0x38, 0x5d, 0xd8, 0xe2, 0x62, 0xfe, 0xca, 0x74, 0x05, 0x08, 0xd0, 0x62, 0xaa, 0xc6, - 0x98, 0x50, 0x00, 0xcc, 0xc8, 0x12, 0x3f, 0x1e, 0x30, 0x9f, 0x8f, 0x56, 0x29, 0x6b, 0xc6, 0x38, - 0xf7, 0xab, 0xe7, 0x4d, 0x89, 0x9d, 0x96, 0x06, 0x2f, 0xac, 0x4d, 0x2c, 0x6a, 0x98, 0x2c, 0x09, - 0x66, 0x1d, 0x8a, 0x13, 0xa7, 0x5b, 0x77, 0xc4, 0x25, 0x93, 0x8f, 0xe7, 0x1d, 0xa4, 0x71, 0x62, - 0x89, 0xeb, 0x43, 0x2c, 0x97, 0x1b, 0x6a, 0xd2, 0xe8, 0x2f, 0x34, 0x65, 0xf3, 0x03, 0xdf, 0xef, - 0x4c, 0xe8, 0x87, 0x3d, 0x32, 0x05, 0xa6, 0xf3, 0x75, 0x25, 0xbc, 0xca, 0x83, 0x35, 0x56, 0xba, - 0x87, 0x7b, 0x43, 0xa4, 0x8c, 0xd2, 0x6f, 0x72, 0xc4, 0x79, 0x22, 0x23, 0xc8, 0x96, 0x7d, 0xb0, - 0xd6, 0xc3, 0x2e, 0x2a, 0x91, 0x4a, 0x7c, 0x60, 0x9f, 0x70, 0xc9, 0xf3, 0x74, 0x47, 0x65, 0x30, - 0x32, 0xb8, 0xe7, 0x9c, 0xb9, 0x58, 0x4f, 0xcc, 0xef, 0x58, 0xc2, 0x38, 0x3d, 0x11, 0xd3, 0x61, - 0x15, 0xfe, 0x89, 0x70, 0xb4, 0x0d, 0xc5, 0x1a, 0x89, 0xb6, 0xb9, 0xd1, 0x1a, 0xd3, 0x68, 0x2c, - 0x78, 0x3c, 0xd1, 0x96, 0xfe, 0x9c, 0x0b, 0x7f, 0x35, 0x85, 0xee, 0x5c, 0x2e, 0x0a, 0x9a, 0xce, - 0xa2, 0x40, 0x98, 0x43, 0x3d, 0x8a, 0xc4, 0x98, 0x9a, 0x4e, 0xe8, 0xd1, 0xaf, 0x4f, 0x32, 0xd1, - 0x74, 0x6f, 0xbf, 0x66, 0x6a, 0x0f, 0xac, 0x62, 0x7b, 0xd4, 0x79, 0x07, 0x5d, 0x75, 0xbf, 0x61, - 0xe0, 0x9d, 0x4e, 0x16, 0x67, 0x1b, 0x2d, 0x36, 0x17, 0xad, 0x32, 0x14, 0x14, 0x34, 0x35, 0x60, - 0xa1, 0x94, 0xc2, 0x88, 0x3b, 0x83, 0x97, 0x5f, 0xd6, 0xe0, 0xbe, 0x04, 0xf1, 0x05, 0xb8, 0xd7, - 0xba, 0x60, 0xdc, 0x6c, 0x36, 0xb9, 0xf3, 0x7c, 0x74, 0x8e, 0xb5, 0x05, 0x36, 0x83, 0xaa, 0xd8, - 0x58, 0x0c, 0x5c, 0xa7, 0x19, 0x8e, 0xac, 0x30, 0xa5, 0x85, 0x8e, 0x54, 0x4b, 0x70, 0xdd, 0xb2, - 0xdb, 0x6a, 0x8f, 0x4c, 0x59, 0xd8, 0xed, 0x50, 0x48, 0x8c, 0x8b, 0x83, 0x43, 0x8a, 0x7f, 0x71, - 0x88, 0x64, 0x29, 0xb3, 0xe0, 0xb4, 0xee, 0x5a, 0x12, 0x11, 0x0c, 0x61, 0x63, 0x6b, 0x38, 0xe1, - 0x0e, 0xed, 0xa6, 0xd6, 0x78, 0xf0, 0x81, 0xf0, 0x8e, 0x2b, 0x67, 0x75, 0x0e, 0x41, 0x08, 0x2b, - 0x98, 0x15, 0xb3, 0x55, 0x5a, 0xf3, 0xcd, 0x3a, 0xaa, 0xba, 0x77, 0x12, 0xb9, 0xdb, 0x06, 0xe3, - 0x76, 0xa6, 0x32, 0x4b, 0x13, 0x90, 0x6b, 0xfb, 0x98, 0x3d, 0xd6, 0x72, 0xff, 0x8d, 0x2e, 0x87, - 0x05, 0xe5, 0xb9, 0x91, 0x66, 0x41, 0x25, 0x2d, 0x74, 0x81, 0xd5, 0xcb, 0xca, 0xdd, 0xbb, 0x19, - 0x2c, 0x09, 0x88, 0xa6, 0xb2, 0x38, 0xe4, 0xec, 0x3f, 0xec, 0x34, 0xec, 0xf1, 0xdd, 0x1d, 0x45, - 0x31, 0x37, 0xf8, 0xbc, 0x92, 0x5d, 0xc4, 0xd6, 0xee, 0xf8, 0xc9, 0x83, 0x01, 0x8c, 0x35, 0xf4, - 0x50, 0x13, 0x00, 0xf5, 0x44, 0xb0, 0x8c, 0xb6, 0x8d, 0x2e, 0xa4, 0xcb, 0x2c, 0x26, 0x99, 0xb6, - 0xa6, 0xf1, 0x25, 0x10, 0x9e, 0xcd, 0x1e, 0xb8, 0xd9, 0x93, 0x7b, 0x6f, 0x4e, 0x91, 0xc4, 0x60, - 0x35, 0x6a, 0xa1, 0x11, 0xf3, 0x74, 0x63, 0xdb, 0xda, 0x4e, 0x07, 0x79, 0x79, 0xbe, 0xc4, 0x0f, - 0xf3, 0x68, 0xd6, 0xb3, 0x34, 0xd6, 0xc2, 0x73, 0x33, 0xbc, 0x62, 0xc5, 0xdb, 0x06, 0xac, 0xb6, - 0xa9, 0x60, 0xe1, 0x3e, 0xcb, 0x20, 0xe6, 0x08, 0x54, 0x3f, 0x77, 0xff, 0x61, 0xf0, 0x16, 0xef, - 0xee, 0xd8, 0xa5, 0x7c, 0x0e, 0x37, 0xb2, 0xb1, 0xa7, 0x60, 0x45, 0x41, 0x2d, 0x14, 0x83, 0x27, - 0x42, 0xe6, 0x53, 0x46, 0xb8, 0x9a, 0x8e, 0xf0, 0xd9, 0xa1, 0xdc, 0x6a, 0x63, 0x76, 0xb2, 0xf8, - 0xc6, 0xbe, 0x75, 0xc0, 0x8b, 0xac, 0xcd, 0xc5, 0x9f, 0xc4, 0xb0, 0x54, 0xac, 0x88, 0x82, 0x43, - 0xf0, 0x7d, 0x34, 0x63, 0xf1, 0x05, 0x8c, 0x59, 0x47, 0xa8, 0xbd, 0x40, 0xcd, 0xf1, 0xbe, 0xee, - 0x53, 0xaa, 0x45, 0xce, 0x90, 0x51, 0x15, 0x1c, 0x8f, 0x69, 0xbc, 0xf0, 0x89, 0xa8, 0x71, 0x06, - 0x66, 0xd6, 0x7c, 0x63, 0x60, 0xd4, 0xb5, 0x1a, 0x5c, 0xfa, 0x01, 0x93, 0xa7, 0x80, 0xc6, 0xa9, - 0xad, 0x40, 0x43, 0xcb, 0x30, 0x96, 0x74, 0xe0, 0x18, 0x03, 0xbc, 0x55, 0x1f, 0xa1, 0xe9, 0x6d, - 0x8d, 0x87, 0xf1, 0x1b, 0x4e, 0x55, 0x61, 0x94, 0xd1, 0xbc, 0xe8, 0x7f, 0xfe, 0x8c, 0xb5, 0xd7, - 0x68, 0x5e, 0x1c, 0x21, 0xf9, 0x2d, 0x63, 0x60, 0xb0, 0xd4, 0xe8, 0x4a, 0x35, 0xc7, 0x4d, 0x23, - 0x86, 0xf5, 0x95, 0x60, 0x99, 0xd8, 0x7f, 0x04, 0xef, 0x0e, 0x7b, 0xce, 0x61, 0xbf, 0xaf, 0x7f, - 0xb8, 0x84, 0xde, 0xa1, 0xf4, 0xa4, 0x07, 0xd7, 0x06, 0x10, 0x90, 0x1f, 0x3d, 0x5a, 0xd7, 0x6f, - 0x83, 0xaa, 0x60, 0x2f, 0xcd, 0xa4, 0xd5, 0xdd, 0x87, 0x1f, 0x13, 0xf8, 0x65, 0x28, 0x1a, 0x21, - 0xf4, 0xb0, 0x20, 0x3e, 0x4d, 0x1b, 0xc9, 0x8f, 0x3f, 0x1f, 0xe5, 0x8c, 0xb8, 0x03, 0x59, 0xa6, - 0xb2, 0xdf, 0x28, 0x9a, 0x79, 0x40, 0x7e, 0xfd, 0x7b, 0x6e, 0x03, 0xfd, 0xb7, 0xc8, 0x37, 0x0f, - 0x53, 0x6f, 0xf3, 0x81, 0x94, 0x0b, 0x4d, 0xfa, 0x01, 0x60, 0x97, 0xfc, 0xb2, 0xdb, 0x34, 0x59, - 0xd7, 0x21, 0xe3, 0x32, 0xe3, 0x47, 0xa6, 0xdc, 0x12, 0x82, 0xca, 0x6a, 0x3c, 0x5b, 0x90, 0x43, - 0xc3, 0x48, 0x1d, 0x78, 0x0d, 0xca, 0xe4, 0x97, 0x87, 0x0f, 0x43, 0x7b, 0x53, 0x31, 0xfb, 0xe8, - 0xbe, 0xee, 0xc7, 0xa4, 0xb2, 0xea, 0xd4, 0xca, 0x67, 0xf1, 0x99, 0xb6, 0x9e, 0x6e, 0x99, 0x7f, - 0x9e, 0x12, 0x68, 0x55, 0x67, 0x6e, 0x1d, 0x7b, 0x26, 0x9d, 0xac, 0x78, 0x58, 0x1b, 0xe3, 0x92, - 0x9e, 0x5a, 0x1a, 0x17, 0xb6, 0x65, 0x1a, 0x4d, 0x5d, 0xd7, 0x86, 0xad, 0x64, 0x23, 0xb2, 0x87, - 0xfc, 0x5b, 0x44, 0x5b, 0x8f, 0xf2, 0x3b, 0x2c, 0xc7, 0xde, 0xf6, 0x41, 0x72, 0x1a, 0x63, 0x8c, - 0x37, 0x9d, 0x73, 0x7c, 0x96, 0x2b, 0xe9, 0x0c, 0x0c, 0x38, 0xca, 0xfb, 0xc2, 0xe1, 0xf6, 0x55, - 0x37, 0xec, 0x99, 0x74, 0x3f, 0x07, 0x8c, 0x58, 0x6a, 0xca, 0x38, 0x4b, 0xed, 0x2f, 0x3f, 0x4f, - 0x03, 0x66, 0xd8, 0xf7, 0x40, 0x1a, 0x9b, 0x6d, 0x21, 0x5c, 0x83, 0x9c, 0xaa, 0xa5, 0xac, 0x84, - 0xef, 0x93, 0xbe, 0x1e, 0xfa, 0x4d, 0xe8, 0x0d, 0x70, 0xbf, 0xdf, 0xb1, 0x98, 0x08, 0xf5, 0x80, - 0x82, 0xfa, 0x16, 0x73, 0xbe, 0x65, 0xeb, 0x6c, 0x1e, 0x81, 0x42, 0x8b, 0x3e, 0x24, 0x75, 0x46, - 0x06, 0x26, 0x70, 0x51, 0x59, 0xaf, 0x1a, 0x09, 0x48, 0x5f, 0xc3, 0x2c, 0x0a, 0x79, 0xf2, 0x61, - 0xd2, 0x2c, 0x72, 0x35, 0xeb, 0xb9, 0x0c, 0x64, 0x6b, 0x5f, 0x9f, 0xe1, 0x75, 0x55, 0x0a, 0xb1, - 0x6b, 0xad, 0x9a, 0xe5, 0xc2, 0x1e, 0xf5, 0x41, 0x7a, 0x3d, 0xe2, 0x32, 0x0e, 0xcf, 0x88, 0xd5, - 0x7c, 0x29, 0x00, 0x1d, 0xa3, 0x1c, 0xb5, 0x03, 0xf1, 0xef, 0x5f, 0x31, 0xa3, 0xda, 0x42, 0x19, - 0x76, 0x49, 0xd4, 0xf5, 0xad, 0xa8, 0xa3, 0x93, 0x0b, 0xe5, 0xe9, 0x0f, 0x6b, 0xf5, 0x76, 0xc2, - 0x28, 0x98, 0x50, 0x8b, 0x0e, 0x69, 0x16, 0x8d, 0x5b, 0xe2, 0x0f, 0x44, 0xa9, 0xfe, 0xc5, 0x52, - 0xaa, 0x5a, 0x17, 0xd8, 0x70, 0x63, 0xbd, 0x63, 0xb6, 0xff, 0x6a, 0x0f, 0xee, 0x2b, 0x90, 0x77, - 0xe7, 0x12, 0x86, 0x94, 0x3e, 0xb7, 0x97, 0x98, 0x17, 0x55, 0x2e, 0x2c, 0xe4, 0x3f, 0x15, 0x0a, - 0x95, 0x77, 0xd7, 0x7d, 0x0b, 0x4d, 0x14, 0x98, 0x46, 0x07, 0x75, 0x16, 0xbf, 0xec, 0xb9, 0x89, - 0xb3, 0x01, 0xfa, 0xfb, 0x81, 0x86, 0x83, 0x65, 0x29, 0x5e, 0x45, 0xb4, 0xe5, 0x9a, 0x66, 0x4e, - 0x4d, 0x6a, 0x5c, 0xed, 0x10, 0x88, 0xa2, 0x0d, 0xa5, 0xa0, 0x00, 0xd2, 0x57, 0x16, 0xc2, 0xa4, - 0x31, 0x29, 0x96, 0x62, 0x1e, 0x0e, 0x72, 0x3d, 0x3d, 0x35, 0x1d, 0x6e, 0xf9, 0xbb, 0x61, 0x87, - 0x48, 0x24, 0xce, 0xa2, 0x94, 0x52, 0xcd, 0xce, 0xb9, 0x3a, 0xfc, 0xc1, 0xcc, 0x24, 0xb7, 0x33, - 0x14, 0xf7, 0xe9, 0x83, 0x06, 0x3e, 0x39, 0x18, 0xcd, 0xbd, 0x65, 0xef, 0xb6, 0xdb, 0xa9, 0xb7, - 0xd9, 0xc3, 0x4e, 0x04, 0x3f, 0xeb, 0x55, 0x82, 0xc7, 0x7c, 0xc7, 0x60, 0x1d, 0x0a, 0x8e, 0x60, - 0x33, 0x85, 0xe6, 0xc8, 0x53, 0x75, 0xa0, 0xdf, 0x78, 0x12, 0x20, 0x83, 0x5b, 0xd4, 0x84, 0x80, - 0x5b, 0x41, 0x4c, 0x06, 0x08, 0x89, 0x35, 0x0c, 0xd6, 0x20, 0x36, 0xc1, 0xb1, 0x5e, 0x45, 0x07, - 0x74, 0xb8, 0xae, 0x46, 0xef, 0xc0, 0xf5, 0x79, 0x30, 0x2d, 0x38, 0xde, 0x91, 0x91, 0xf8, 0x9d, - 0x83, 0x1e, 0x7e, 0xe1, 0x6b, 0x5e, 0xdb, 0x2c, 0x17, 0xde, 0x88, 0xaa, 0x26, 0xec, 0x67, 0xc5, - 0xb0, 0x9b, 0x83, 0x84, 0xf9, 0x8d, 0x8f, 0x6a, 0xa1, 0x8a, 0x0a, 0xd0, 0xff, 0x58, 0x56, 0x19, - 0x47, 0x05, 0xe4, 0x74, 0xa7, 0x0e, 0xc9, 0x58, 0xbc, 0xe2, 0xc7, 0xd4, 0x45, 0x0d, 0xe9, 0x7e, - 0x16, 0x6a, 0x64, 0xb1, 0xae, 0xaa, 0x3f, 0x20, 0x08, 0xef, 0xaf, 0x85, 0xb4, 0x7d, 0xe5, 0xd6, - 0x3d, 0x71, 0xf1, 0x48, 0x1c, 0x02, 0xb1, 0xb4, 0x2b, 0xc1, 0x37, 0x58, 0xbb, 0x6d, 0x62, 0x69, - 0x7c, 0xa9, 0xa2, 0x95, 0x53, 0x6f, 0x7b, 0x5e, 0x34, 0xcc, 0xb1, 0xa1, 0x7e, 0xdb, 0x7e, 0xf2, - 0xda, 0x65, 0xa3, 0xea, 0x3b, 0x2f, 0xc2, 0xad, 0xe0, 0x70, 0x6c, 0x9b, 0xa1, 0x98, 0x84, 0x01, - 0x72, 0x91, 0x5d, 0x21, 0xe3, 0x1c, 0xbf, 0xe7, 0x72, 0xcf, 0x16, 0x3b, 0x10, 0x1a, 0xa5, 0xc6, - 0x21, 0x1b, 0x5d, 0x65, 0x91, 0x84, 0xde, 0x59, 0xfa, 0x5b, 0x3e, 0x42, 0xee, 0x00, 0xd7, 0x2f, - 0xc7, 0x99, 0xfa, 0x42, 0x5d, 0x3b, 0x36, 0xee, 0x4c, 0xf6, 0x4c, 0x9f, 0xe9, 0xf5, 0xa2, 0xbd, - 0xcb, 0xc0, 0xa5, 0x48, 0x00, 0x58, 0xd3, 0xc3, 0xec, 0x6c, 0x67, 0x59, 0x0d, 0x57, 0x0c, 0x46, - 0xf9, 0xe8, 0x58, 0x70, 0xc9, 0xd9, 0xf4, 0xf4, 0x29, 0xd4, 0x3c, 0x9d, 0xa7, 0xbf, 0x4b, 0xc2, - 0xa6, 0xb6, 0x23, 0xd4, 0x6a, 0x38, 0x2a, 0x0f, 0xfe, 0x08, 0xf8, 0x69, 0xe9, 0x36, 0xb8, 0x56, - 0xef, 0xb9, 0x84, 0x46, 0x68, 0xa7, 0xeb, 0xae, 0xc0, 0x9d, 0x4f, 0x12, 0xe7, 0xa3, 0x5a, 0x92, - 0x4a, 0x73, 0xc0, 0xcc, 0x9d, 0x1c, 0xcc, 0x0d, 0x9a, 0x43, 0x5b, 0xc3, 0x15, 0x80, 0x29, 0x82, - 0x75, 0xe6, 0x38, 0x94, 0x9d, 0x49, 0x51, 0xe3, 0x15, 0xdf, 0xa2, 0x2a, 0xac, 0x93, 0xfc, 0xdc, - 0x98, 0x82, 0x04, 0xce, 0x16, 0x63, 0x56, 0xb5, 0x98, 0xe6, 0x7d, 0xc6, 0x5e, 0x0a, 0x47, 0xe8, - 0x96, 0x2c, 0xcf, 0xd0, 0x52, 0xfb, 0xc5, 0xb0, 0x20, 0x9e, 0x4d, 0xc5, 0x74, 0xcf, 0xa9, 0x8f, - 0xe9, 0xc4, 0x77, 0x05, 0x26, 0xa8, 0xca, 0x33, 0x78, 0x90, 0x1c, 0xd1, 0xd7, 0x5d, 0x94, 0x5f, - 0x2b, 0x36, 0x37, 0x45, 0x9a, 0x0f, 0xa1, 0xa5, 0x2c, 0xc9, 0xf8, 0x59, 0x53, 0x3d, 0x3e, 0x0b, - 0xac, 0x7a, 0xd5, 0x4a, 0x60, 0xdc, 0x14, 0x81, 0xdd, 0xfb, 0xa5, 0x4a, 0x79, 0xaa, 0x3b, 0xb3, - 0x40, 0x6c, 0x00, 0xc3, 0xcb, 0xb9, 0x73, 0x94, 0xab, 0x96, 0x52, 0x1f, 0xda, 0x2d, 0xee, 0x59, - 0x36, 0x0a, 0xac, 0x29, 0x22, 0xae, 0x81, 0xe1, 0x04, 0xfa, 0xaa, 0x9f, 0xab, 0xc9, 0xc6, 0xbc, - 0xfd, 0x3a, 0xeb, 0xaf, 0x39, 0x89, 0x16, 0xe7, 0xd2, 0x35, 0xe5, 0x81, 0xa1, 0x22, 0x96, 0x90, - 0x06, 0x13, 0x57, 0xa0, 0xe0, 0xfe, 0x31, 0x13, 0x2d, 0x6c, 0xee, 0xa1, 0xa6, 0xfe, 0x16, 0x6d, - 0xfb, 0xf7, 0x7f, 0x24, 0x58, 0xe7, 0x80, 0xe7, 0x34, 0x73, 0x42, 0xc1, 0x1e, 0xb7, 0x12, 0x19, - 0x36, 0xf6, 0xa8, 0xd3, 0x10, 0x04, 0xfb, 0x8b, 0x55, 0x11, 0xdb, 0xeb, 0x21, 0x40, 0xcb, 0x84, - 0x59, 0x22, 0x65, 0xe3, 0x8b, 0x31, 0x0a, 0x56, 0x42, 0x54, 0xa7, 0x79, 0xa1, 0x39, 0x5b, 0xa7, - 0x84, 0xe6, 0x07, 0x6c, 0xa5, 0x56, 0x9e, 0xe6, 0xac, 0x93, 0x81, 0xf4, 0xe0, 0xe0, 0xe7, 0x9d, - 0x18, 0xe4, 0xfd, 0xb5, 0xb4, 0x0b, 0xa4, 0x54, 0x94, 0xdf, 0x47, 0x65, 0xcc, 0x34, 0x54, 0x42, - 0x91, 0x0b, 0x63, 0x4e, 0x33, 0x44, 0x20, 0xe9, 0xcb, 0xb8, 0x63, 0xec, 0xef, 0xb8, 0x37, 0xf8, - 0x77, 0xb5, 0x25, 0x02, 0xd5, 0x13, 0xad, 0x2c, 0xc6, 0x58, 0x5e, 0x20, 0x33, 0x80, 0x5a, 0xde, - 0xdb, 0x03, 0x56, 0x08, 0xac, 0x36, 0xd2, 0xd6, 0x2e, 0x83, 0x21, 0x25, 0xa3, 0x2e, 0xac, 0xbc, - 0x76, 0x9d, 0x8a, 0xc8, 0xe5, 0x6b, 0xf2, 0x87, 0x41, 0x6a, 0xb9, 0xe9, 0x2c, 0xd6, 0x52, 0xb3, - 0xdf, 0x4e, 0x9c, 0xdd, 0x86, 0xaa, 0x4f, 0xa5, 0x64, 0xd9, 0x0d, 0xf2, 0x12, 0x01, 0xa2, 0x67, - 0x6d, 0x7c, 0x7d, 0x8d, 0xa2, 0xeb, 0x3a, 0x78, 0xfd, 0xa4, 0xe8, 0x14, 0x34, 0xdc, 0x6a, 0xf2, - 0xec, 0xc1, 0x99, 0x0d, 0x92, 0x6a, 0xc1, 0x4a, 0x3e, 0xe0, 0x7f, 0x66, 0x8d, 0x95, 0x43, 0xdf, - 0xfb, 0x0d, 0xc0, 0xb9, 0x4c, 0x9a, 0xdf, 0x0d, 0xb6, 0xc2, 0x95, 0x06, 0xae, 0x74, 0x12, 0xd5, - 0x7b, 0x8c, 0x3e, 0x01, 0x8a, 0x31, 0xe0, 0x7c, 0x91, 0x77, 0x9f, 0xb5, 0x48, 0xb9, 0xbf, 0xd9, - 0x25, 0x4c, 0xe3, 0xae, 0xc3, 0x44, 0x81, 0x4d, 0xa1, 0xe7, 0x81, 0x19, 0xa6, 0xdf, 0x0f, 0x6e, - 0xc4, 0xaa, 0x9e, 0x9f, 0x12, 0x5d, 0x23, 0x5c, 0x1a, 0x23, 0x1e, 0x01, 0xb0, 0xcc, 0x8e, 0x3a, - 0xa2, 0x8e, 0xd3, 0xcb, 0xc9, 0x33, 0x8d, 0xc9, 0x36, 0xb0, 0xb7, 0x34, 0x38, 0x8f, 0xa5, 0x92, - 0x9d, 0x91, 0xaa, 0x84, 0xd2, 0x4c, 0xdc, 0xd7, 0xb1, 0x6a, 0x08, 0xa3, 0xa3, 0xf2, 0x24, 0xf0, - 0x61, 0xcc, 0x15, 0x8f, 0x77, 0x03, 0xf2, 0x13, 0x77, 0xd6, 0x9b, 0xbc, 0x12, 0x3e, 0x3d, 0x18, - 0xf2, 0x21, 0x0e, 0x3e, 0xe0, 0x86, 0xe9, 0x50, 0xe9, 0xcf, 0xbf, 0xb6, 0x81, 0xbc, 0x27, 0x22, - 0x5e, 0x2e, 0x20, 0x7f, 0x55, 0x96, 0x68, 0xaa, 0x92, 0x4c, 0xf6, 0x8c, 0x0d, 0x68, 0x22, 0xab, - 0xc8, 0x17, 0xc7, 0x4e, 0x5c, 0xad, 0x53, 0xf8, 0xd6, 0xc2, 0x72, 0xdf, 0x37, 0xe4, 0x8a, 0xad, - 0xc9, 0x52, 0xe6, 0xcd, 0xb7, 0x1b, 0x57, 0xdb, 0xd7, 0xfa, 0x7b, 0x82, 0x17, 0xc3, 0x37, 0xcb, - 0x58, 0x56, 0xb4, 0x6a, 0xeb, 0xe8, 0xb4, 0x37, 0xc7, 0x01, 0xcd, 0x44, 0xd6, 0x9c, 0x13, 0xf1, - 0xc2, 0x47, 0xe2, 0x50, 0xe6, 0x07, 0x4f, 0xc6, 0xd1, 0x69, 0x6d, 0xba, 0xf5, 0x3c, 0x0c, 0xae, - 0xd4, 0x24, 0xb3, 0x89, 0x83, 0xd0, 0x82, 0xf2, 0x5f, 0x05, 0x93, 0xfc, 0xdd, 0xd8, 0xe4, 0xd0, - 0x45, 0x52, 0x2d, 0x1f, 0x81, 0xcf, 0xe9, 0x61, 0x36, 0x9e, 0xeb, 0x74, 0xc2, 0x60, 0x88, 0xa1, - 0xb9, 0x36, 0xde, 0x48, 0x49, 0xdb, 0x8a, 0x35, 0x47, 0x79, 0x2b, 0x01, 0xc0, 0x20, 0x26, 0x47, - 0x12, 0xd6, 0xac, 0x52, 0x23, 0xdb, 0x1c, 0x15, 0x91, 0x16, 0x26, 0x20, 0xb2, 0x94, 0x2a, 0x1f, - 0xc1, 0xb3, 0x40, 0xd9, 0x1e, 0xae, 0x96, 0xf4, 0x04, 0x6b, 0xc7, 0xb7, 0x6f, 0xc9, 0x84, 0xa1, - 0x8b, 0x05, 0x49, 0x5d, 0xce, 0x86, 0xe8, 0xae, 0xcd, 0x11, 0x2c, 0xea, 0xc2, 0x65, 0xe4, 0xef, - 0xf5, 0x4d, 0x7f, 0x8d, 0x6b, 0x61, 0x63, 0x22, 0x4e, 0x73, 0xc8, 0x57, 0x7d, 0x16, 0x45, 0x52, - 0x7e, 0xd1, 0x96, 0x91, 0xaa, 0xc8, 0x8c, 0x8c, 0x68, 0xec, 0xc4, 0xee, 0x4b, 0x2f, 0xd1, 0x12, - 0x40, 0xe8, 0xa5, 0xa2, 0xfa, 0x00, 0x3d, 0x17, 0xf4, 0x2c, 0xaa, 0x3d, 0x7e, 0x06, 0xb6, 0x32, - 0x75, 0xb4, 0xce, 0x1c, 0xa3, 0x3e, 0x4d, 0x6e, 0xd8, 0xae, 0x37, 0x94, 0x15, 0x19, 0xe8, 0xa3, - 0xd8, 0x11, 0xef, 0x94, 0xb3, 0xee, 0x8f, 0xd2, 0x8b, 0x05, 0x75, 0xdb, 0xc3, 0xc6, 0x81, 0x0c, - 0x72, 0x96, 0xfd, 0x84, 0x1a, 0x70, 0xc0, 0x2d, 0x79, 0xc0, 0x5b, 0xfa, 0x2c, 0xfc, 0x43, 0xeb, - 0xcb, 0x7e, 0x35, 0xfa, 0x12, 0x8f, 0x46, 0xf8, 0x2b, 0x1b, 0x41, 0xcf, 0xfc, 0x30, 0x2e, 0xdf, - 0x09, 0xf3, 0x3e, 0x41, 0x28, 0xb0, 0x1f, 0x91, 0x32, 0x62, 0x37, 0xb0, 0x4f, 0x9e, 0xc7, 0xcc, - 0x55, 0xd8, 0xa4, 0x36, 0x14, 0xbf, 0xb3, 0x34, 0x2d, 0x3e, 0xf0, 0xd5, 0xca, 0xf9, 0x09, 0x41, - 0x18, 0xef, 0x65, 0xaf, 0x82, 0xde, 0x34, 0xe3, 0xba, 0x7c, 0xff, 0x59, 0x00, 0xfb, 0xde, 0x5f, - 0xf0, 0xc3, 0x7f, 0x43, 0xcf, 0x17, 0x2b, 0xd9, 0x78, 0x5f, 0xe8, 0x87, 0x4d, 0x8c, 0x39, 0xe7, - 0x01, 0xf5, 0x6f, 0xa3, 0xd4, 0x61, 0x48, 0x77, 0xfd, 0xb7, 0xc5, 0x8c, 0x77, 0x5d, 0xf0, 0x26, - 0x1e, 0x16, 0x38, 0x9d, 0xfc, 0xcd, 0x86, 0xf9, 0x88, 0xec, 0x33, 0xdb, 0x8c, 0xf7, 0x69, 0x4d, - 0x2f, 0x30, 0x08, 0xc3, 0x34, 0xd5, 0x79, 0xba, 0x99, 0x8f, 0x02, 0xcf, 0xfc, 0x30, 0x22, 0xee, - 0x8d, 0x0f, 0x1e, 0x01, 0x19, 0xef, 0x97, 0x3e, 0xe0, 0x37, 0xdb, 0xe9, 0xc3, 0x95, 0x30, 0xfc, - 0x78, 0xe2, 0x05, 0x72, 0xb9, 0xe5, 0x3b, 0x66, 0x29, 0x49, 0x0c, 0x0e, 0xd1, 0x65, 0xc6, 0x3f, - 0xa3, 0x72, 0xe9, 0xbc, 0x02, 0x93, 0x1a, 0xcd, 0x1e, 0xf9, 0xd7, 0x6c, 0xf1, 0x4f, 0x25, 0xc9, - 0xa2, 0xcc, 0xfc, 0xe4, 0xd2, 0x7c, 0x15, 0x3e, 0x12, 0x60, 0x5d, 0xc6, 0x7d, 0x02, 0x7a, 0x40, - 0x90, 0x66, 0x74, 0x5f, 0x4a, 0x14, 0xd2, 0x40, 0x3e, 0xab, 0x57, 0xe8, 0x9f, 0xd8, 0x9d, 0x31, - 0x38, 0x05, 0x05, 0xf1, 0xa2, 0x01, 0x6b, 0xb4, 0x8f, 0x95, 0xb7, 0x4c, 0xd8, 0x7a, 0x72, 0xa4, - 0x21, 0x86, 0xc1, 0x16, 0x71, 0x53, 0xfe, 0x93, 0x28, 0xf3, 0x54, 0x03, 0x65, 0xbc, 0x39, 0x25, - 0xf2, 0x86, 0x6d, 0x25, 0x25, 0x4a, 0x8f, 0xff, 0x8f, 0x54, 0x62, 0x13, 0x20, 0x0a, 0x26, 0x6b, - 0xa7, 0xc8, 0x82, 0xc5, 0x2e, 0xd0, 0xa1, 0x11, 0xb8, 0xe8, 0x65, 0xb5, 0x08, 0x84, 0x65, 0x6e, - 0xd9, 0xb4, 0xff, 0x29, 0xd8, 0x09, 0xe0, 0x05, 0xf7, 0xda, 0x8f, 0x4b, 0x43, 0xdf, 0xa8, 0x95, - 0x4a, 0x36, 0xfb, 0xdd, 0x48, 0xad, 0xfd, 0xbf, 0x20, 0xb5, 0x49, 0x3a, 0x31, 0xe0, 0x33, 0xd8, - 0xf7, 0x23, 0xf8, 0x1e, 0x82, 0x61, 0xa7, 0x04, 0xc0, 0x1b, 0xaa, 0xae, 0xf7, 0x0c, 0xde, 0x6a, - 0xf7, 0x43, 0x75, 0x1a, 0xc7, 0xee, 0x72, 0x51, 0xab, 0xa7, 0x1d, 0xca, 0x03, 0xd4, 0x9d, 0x30, - 0x0c, 0x7f, 0x94, 0xcd, 0x1e, 0xcb, 0xeb, 0x25, 0xd9, 0xeb, 0x53, 0x5c, 0xff, 0xe1, 0x98, 0xe4, - 0xf0, 0x03, 0x01, 0x0f, 0x18, 0x40, 0xbc, 0x82, 0x61, 0xdf, 0x8e, 0x6e, 0x98, 0x22, 0xc4, 0x91, - 0xa1, 0xb1, 0x1c, 0x5f, 0x53, 0x7a, 0x63, 0xff, 0xe6, 0x2a, 0x9e, 0x81, 0x9e, 0x70, 0x75, 0xb4, - 0x7d, 0xb4, 0x61, 0xb7, 0x0d, 0xe0, 0x64, 0x2d, 0x22, 0x8b, 0x61, 0x65, 0xbc, 0xc3, 0x71, 0x9e, - 0xb2, 0x29, 0xd4, 0x96, 0xa8, 0x58, 0xfc, 0xcd, 0x5e, 0x1c, 0xb9, 0xc6, 0xa1, 0xd3, 0xef, 0x7d, - 0xa3, 0x8a, 0xda, 0x01, 0x02, 0x70, 0xdb, 0x36, 0xde, 0xd8, 0x3b, 0x66, 0x6a, 0x68, 0x55, 0xe8, - 0xaa, 0xe5, 0xce, 0x8e, 0x5c, 0xe9, 0xdd, 0xe3, 0xfe, 0x7c, 0xad, 0x5b, 0x07, 0x2f, 0x0c, 0x38, - 0xaf, 0x17, 0xa7, 0xa1, 0x29, 0xb2, 0xcf, 0x9a, 0xdd, 0x65, 0x3e, 0x40, 0x7d, 0xf3, 0xf8, 0xb6, - 0x2d, 0x79, 0x30, 0x51, 0x58, 0x1f, 0x52, 0xe2, 0xd6, 0xf0, 0xd1, 0x8e, 0xb3, 0x7c, 0x41, 0x59, - 0x97, 0xf0, 0xa4, 0x7e, 0xa2, 0xca, 0x3b, 0x87, 0x58, 0x3a, 0xa1, 0xf7, 0xbe, 0xe7, 0x6b, 0xde, - 0xe0, 0x31, 0x0a, 0x0e, 0x1e, 0x98, 0x03, 0xb0, 0xcc, 0x5a, 0x6e, 0x76, 0xc2, 0xda, 0xe8, 0x5c, - 0x2d, 0x8d, 0xd0, 0x51, 0xac, 0x15, 0xb5, 0xc3, 0x1e, 0x1a, 0xef, 0x9f, 0x37, 0x07, 0xf6, 0x70, - 0x09, 0x65, 0x08, 0x3a, 0x75, 0xd0, 0xd7, 0x63, 0x03, 0xfd, 0x85, 0xeb, 0x8b, 0x25, 0x1b, 0x6b, - 0x68, 0xd3, 0xa8, 0x6a, 0x40, 0x67, 0x40, 0xc3, 0xc3, 0x77, 0xec, 0x82, 0xd6, 0x16, 0xc7, 0xee, - 0x8e, 0x2a, 0xe1, 0x87, 0xa8, 0x41, 0x4d, 0x48, 0x95, 0xcb, 0x6b, 0xb2, 0xd7, 0xea, 0x9e, 0x9f, - 0x88, 0x2b, 0x9e, 0x52, 0xf4, 0x6c, 0x8a, 0x56, 0xb0, 0x21, 0x23, 0x2b, 0xfd, 0xc3, 0x78, 0xf6, - 0xbc, 0x6b, 0x5e, 0xe9, 0xac, 0x61, 0x33, 0x72, 0x10, 0x29, 0x5b, 0x71, 0x72, 0x71, 0xde, 0x01, - 0x0c, 0x2f, 0x19, 0x58, 0x28, 0x35, 0xd1, 0x9e, 0xc7, 0xa1, 0x94, 0x2b, 0x95, 0xc1, 0xf3, 0x89, - 0x31, 0xe1, 0xd0, 0x90, 0x11, 0x3e, 0x3c, 0x2e, 0x32, 0x4e, 0xc0, 0x1d, 0x97, 0xd1, 0xf7, 0xa3, - 0x4b, 0x3a, 0x44, 0xfe, 0x0f, 0xeb, 0x9c, 0x1b, 0x46, 0x47, 0xac, 0x15, 0x06, 0x84, 0xb3, 0x20, - 0x12, 0xc1, 0x7d, 0xfa, 0xc6, 0xe5, 0xf2, 0xa8, 0x42, 0xd5, 0xc3, 0x7d, 0x31, 0x0c, 0x6f, 0x13, - 0x5e, 0xfb, 0xd3, 0x24, 0x52, 0x9c, 0x07, 0x60, 0x7f, 0xc4, 0x0b, 0x2e, 0xfd, 0x19, 0x54, 0xd7, - 0x01, 0x34, 0x65, 0x47, 0x1d, 0x9d, 0x04, 0xfb, 0x6b, 0xc1, 0x4f, 0x80, 0xf7, 0xcd, 0x78, 0x2e, - 0x8d, 0x49, 0xd6, 0x81, 0x4f, 0xb8, 0xfe, 0x89, 0x67, 0xce, 0x53, 0x7e, 0x8f, 0xea, 0x8f, 0x14, - 0x33, 0xad, 0xae, 0xb9, 0xcb, 0x72, 0x27, 0x50, 0x68, 0x85, 0x2c, 0x82, 0xf5, 0x7a, 0x9f, 0x2f, - 0xed, 0xe2, 0xf6, 0x52, 0x9c, 0xfd, 0x0d, 0x5a, 0x42, 0xce, 0x7a, 0x47, 0xe4, 0x8f, 0x9a, 0xe0, - 0xfd, 0x98, 0x03, 0x59, 0x2a, 0xc8, 0x42, 0x6d, 0xe3, 0x9b, 0x43, 0x94, 0x76, 0xb0, 0x27, 0x46, - 0xb4, 0x08, 0xbc, 0x49, 0x91, 0xd5, 0xd2, 0x04, 0xf6, 0x93, 0xb5, 0xd3, 0x6d, 0xc6, 0xba, 0xc2, - 0x54, 0xc5, 0x60, 0xd1, 0x28, 0x5d, 0x3d, 0x0c, 0x81, 0x1a, 0xa3, 0x51, 0x17, 0x6b, 0x49, 0x6a, - 0xbb, 0xb4, 0x78, 0xe4, 0x30, 0xd5, 0xed, 0xd2, 0x9f, 0xe7, 0x45, 0xa5, 0xa2, 0xe6, 0x9c, 0x72, - 0x87, 0x59, 0x89, 0x07, 0x76, 0xd9, 0x2a, 0x7d, 0xf2, 0x6f, 0x1e, 0x1d, 0x99, 0x01, 0x9f, 0x54, - 0x49, 0x72, 0x18, 0x6d, 0xab, 0x68, 0x11, 0xbc, 0x71, 0x56, 0x81, 0x53, 0x93, 0xcf, 0x61, 0x10, - 0xbc, 0x42, 0x26, 0x88, 0x0c, 0x19, 0x2e, 0xf7, 0xdf, 0xd7, 0x27, 0xdb, 0xdf, 0x56, 0x85, 0x91, - 0x3d, 0x89, 0x40, 0xda, 0x90, 0x14, 0x17, 0x75, 0xd6, 0x75, 0xee, 0xfa, 0x6d, 0xbb, 0x26, 0x5c, - 0x22, 0x2b, 0x10, 0x26, 0xfb, 0xda, 0x93, 0xc8, 0xb0, 0x25, 0x5f, 0x94, 0xe1, 0x48, 0x82, 0x44, - 0xb3, 0xc2, 0x7b, 0x25, 0xc8, 0xc6, 0x15, 0xa3, 0x57, 0x7e, 0x80, 0x2e, 0xdf, 0x9b, 0xfa, 0x11, - 0x0a, 0x03, 0xac, 0xe2, 0xe4, 0x26, 0xa2, 0xda, 0xf9, 0x42, 0xef, 0x9b, 0x38, 0x78, 0x79, 0x7f, - 0x61, 0x0b, 0xed, 0xe4, 0xd3, 0x18, 0x22, 0x83, 0xe2, 0xe4, 0x1a, 0x93, 0x63, 0x14, 0x1d, 0x53, - 0x06, 0x33, 0xca, 0x8f, 0x98, 0x2d, 0x30, 0xd8, 0xca, 0x24, 0x62, 0x3a, 0x24, 0x0b, 0x5b, 0xb1, - 0x2c, 0x9b, 0x16, 0xf1, 0x88, 0xe3, 0x90, 0x56, 0x29, 0x9e, 0xc4, 0x11, 0x9b, 0xfa, 0xc1, 0xdf, - 0xe9, 0x59, 0xba, 0xcf, 0x46, 0x47, 0xfa, 0xe9, 0xa0, 0xb8, 0x8b, 0x6c, 0x09, 0x4b, 0x6b, 0x6f, - 0x04, 0x68, 0x48, 0x23, 0xb7, 0x0b, 0xfc, 0x68, 0xc5, 0xbd, 0xc2, 0xf0, 0x6d, 0x59, 0x62, 0x75, - 0xfe, 0xd6, 0xb4, 0x67, 0x0a, 0xb9, 0xb8, 0xc5, 0xc8, 0x5a, 0x23, 0x04, 0x75, 0x5c, 0xc2, 0xd1, - 0xb0, 0x63, 0xbf, 0x22, 0x98, 0x37, 0x87, 0x21, 0x7b, 0xff, 0x26, 0xec, 0x2c, 0x9e, 0x71, 0xdc, - 0xae, 0x15, 0xa0, 0xdd, 0xaf, 0xc2, 0xe1, 0x96, 0x83, 0xf5, 0x6c, 0x2e, 0xb0, 0xb3, 0x1c, 0x86, - 0xbc, 0x32, 0xf1, 0xdd, 0xac, 0x40, 0xfd, 0xe9, 0x6a, 0x74, 0x3a, 0x77, 0x3a, 0xcc, 0xef, 0xe9, - 0xeb, 0xdd, 0xc9, 0x85, 0x3b, 0x8d, 0x00, 0x88, 0x3c, 0x5a, 0x9c, 0x31, 0x2f, 0x4e, 0x8f, 0xad, - 0x16, 0x9e, 0xe2, 0x4f, 0xb6, 0x10, 0xad, 0xf5, 0xdf, 0x87, 0x63, 0xca, 0xf3, 0x8e, 0xc7, 0x22, - 0x83, 0x18, 0xe4, 0xb2, 0xdb, 0x3e, 0x4f, 0x1d, 0xf1, 0x01, 0xe3, 0x25, 0x28, 0x6f, 0x0d, 0x86, - 0x69, 0x3c, 0xc3, 0x5e, 0x63, 0xa9, 0xc6, 0x65, 0x21, 0x46, 0x70, 0xbf, 0x4e, 0x47, 0xdc, 0xcf, - 0xa9, 0x4e, 0x40, 0xfa, 0xdb, 0x84, 0xbc, 0x17, 0x8d, 0x0c, 0x17, 0xb6, 0x62, 0x2c, 0x41, 0x35, - 0x6a, 0x01, 0xe3, 0x75, 0x4e, 0x3c, 0x6e, 0xcb, 0x30, 0x5e, 0x1a, 0xc1, 0xa5, 0x92, 0xf4, 0xbe, - 0x9f, 0xcc, 0x71, 0xa1, 0x9c, 0xcd, 0xb6, 0x75, 0x73, 0x74, 0x9f, 0x4b, 0x5a, 0x10, 0x99, 0x21, - 0xf5, 0x1e, 0x7d, 0xf8, 0xee, 0xcd, 0xd5, 0x49, 0x08, 0xb1, 0x06, 0xb5, 0x55, 0xf4, 0x46, 0x61, - 0x60, 0xcf, 0x5c, 0xed, 0x7b, 0xc8, 0xf5, 0x9a, 0x2f, 0xe5, 0xa4, 0xdc, 0xfa, 0x40, 0x6b, 0xfb, - 0x39, 0x5e, 0x27, 0x48, 0x26, 0xd9, 0x58, 0x29, 0x77, 0x9d, 0x75, 0x86, 0xe3, 0xa5, 0x07, 0x0d, - 0x2b, 0x24, 0x6a, 0x95, 0x2d, 0x7a, 0xb3, 0xaa, 0x6e, 0x35, 0xca, 0x2f, 0xfb, 0x28, 0x8f, 0x02, - 0x9c, 0xb7, 0xcd, 0x19, 0x47, 0xf9, 0x3f, 0xf6, 0x96, 0x22, 0x73, 0xf0, 0xcb, 0x05, 0xf5, 0xdc, - 0xa2, 0xf1, 0x67, 0xb4, 0x72, 0x75, 0x8d, 0xd9, 0x81, 0xba, 0xa2, 0x4e, 0xa3, 0xc2, 0xbc, 0x6d, - 0x97, 0x95, 0x24, 0x17, 0xc7, 0xfb, 0x27, 0xce, 0x5c, 0xa5, 0x5e, 0x76, 0x44, 0xd7, 0x90, 0xe5, - 0x26, 0xb7, 0xe1, 0xf6, 0x7b, 0xf3, 0x0b, 0x29, 0x9d, 0x91, 0x7d, 0x63, 0xe2, 0x33, 0xd5, 0x56, - 0x41, 0x9a, 0xec, 0xf2, 0x8a, 0x47, 0x4d, 0xc5, 0xed, 0x2a, 0x40, 0x4c, 0xd5, 0xe9, 0x06, 0x01, - 0xff, 0x4e, 0x30, 0x23, 0x61, 0xd3, 0x70, 0x0d, 0x03, 0x28, 0xc5, 0x55, 0x59, 0xea, 0xc6, 0x9c, - 0xe2, 0x4c, 0x80, 0x89, 0x54, 0x77, 0x6d, 0x9b, 0xf2, 0x97, 0xb3, 0x9b, 0x30, 0x93, 0x6d, 0x27, - 0xa1, 0xd6, 0x12, 0xb4, 0x1b, 0x77, 0x12, 0x29, 0x28, 0x76, 0x3c, 0x72, 0x4c, 0x41, 0x04, 0x6d, - 0x15, 0x7d, 0xb7, 0xce, 0xd9, 0x34, 0x57, 0x19, 0x38, 0x95, 0xe7, 0x1d, 0x4f, 0xcb, 0x1f, 0x41, - 0xf2, 0x0d, 0x2c, 0xe7, 0x79, 0xe1, 0x66, 0xc8, 0x01, 0x69, 0xd2, 0x91, 0x2f, 0x6b, 0xc8, 0x23, - 0xde, 0x1c, 0x13, 0x4b, 0x4c, 0x81, 0xf3, 0x38, 0xec, 0xbe, 0x5c, 0xbe, 0x56, 0xf6, 0x05, 0x90, - 0x67, 0x66, 0xcc, 0x01, 0xe4, 0xbe, 0xd4, 0xcf, 0xfc, 0x1a, 0x76, 0xfd, 0x03, 0xb0, 0x54, 0x1a, - 0x86, 0x57, 0x56, 0x0e, 0xce, 0x82, 0x02, 0x60, 0x06, 0x05, 0x01, 0xc8, 0x51, 0x24, 0x61, 0xed, - 0xf7, 0x10, 0x70, 0x95, 0x03, 0xdc, 0xc1, 0xa6, 0x93, 0x30, 0xa6, 0x30, 0x6c, 0x3d, 0xff, 0x92, - 0x17, 0x5a, 0xc5, 0x77, 0x06, 0x64, 0x8e, 0x3a, 0x9d, 0xb7, 0x39, 0xf4, 0x68, 0x84, 0x2b, 0x05, - 0x0b, 0x18, 0xca, 0xfd, 0x43, 0xcc, 0xb3, 0x98, 0x49, 0x0c, 0x86, 0xab, 0xe0, 0x24, 0xf6, 0xa9, - 0x44, 0x34, 0x2b, 0x76, 0x92, 0x2e, 0x60, 0x34, 0x0c, 0x96, 0x59, 0x57, 0x37, 0xec, 0x42, 0xf3, - 0x5e, 0xed, 0x05, 0xfe, 0xed, 0x1e, 0x76, 0xa9, 0x05, 0xbd, 0x2d, 0x2a, 0x8a, 0xf1, 0x06, 0x94, - 0xf2, 0x41, 0x44, 0xda, 0x43, 0xcb, 0x04, 0x2b, 0xdb, 0xd4, 0xb2, 0x4c, 0x1e, 0x4b, 0x8f, 0x55, - 0x23, 0x24, 0xbb, 0x9d, 0xbb, 0x12, 0xe3, 0x49, 0x6c, 0x24, 0xdf, 0x90, 0x65, 0x6f, 0x7d, 0x65, - 0x30, 0xb2, 0x72, 0xfb, 0x12, 0x27, 0x38, 0xab, 0xc4, 0xf4, 0xe4, 0x0a, 0x4d, 0x31, 0x53, 0x27, - 0x97, 0xc3, 0xee, 0x77, 0xc0, 0x12, 0x39, 0xcd, 0x8a, 0x62, 0x14, 0x60, 0xcd, 0x8c, 0x1b, 0x2e, - 0x65, 0xa3, 0x1a, 0x13, 0x38, 0xb3, 0x99, 0x0a, 0x00, 0x04, 0x46, 0x49, 0x32, 0x50, 0x03, 0x3d, - 0xeb, 0x05, 0x55, 0x79, 0x76, 0x25, 0x7e, 0xe7, 0x2d, 0x96, 0x05, 0x8b, 0xde, 0xaa, 0xb3, 0xe6, - 0x6a, 0x33, 0x4b, 0xe9, 0xc3, 0x8b, 0x4f, 0x3d, 0x58, 0x3c, 0x8a, 0x34, 0xfc, 0x9d, 0xd2, 0xec, - 0x9e, 0xdb, 0x07, 0xdc, 0x55, 0x85, 0x42, 0xc5, 0xdb, 0xde, 0x76, 0x84, 0x5f, 0x20, 0x72, 0xde, - 0xe7, 0x42, 0x58, 0xb4, 0x34, 0xd5, 0x8e, 0x27, 0x2d, 0xb1, 0x59, 0xb5, 0xf2, 0x4c, 0x1c, 0x9e, - 0x31, 0x90, 0xd9, 0x32, 0x50, 0x2f, 0x38, 0x03, 0x34, 0x96, 0x13, 0x64, 0xae, 0xfa, 0x5a, 0x87, - 0x9c, 0x86, 0x83, 0x65, 0xdb, 0x32, 0x07, 0xd8, 0x03, 0x1e, 0x8c, 0xfb, 0x4c, 0xf9, 0x54, 0x3d, - 0xc2, 0xba, 0x41, 0x33, 0x78, 0x5c, 0xde, 0xd6, 0x8c, 0x73, 0x93, 0x46, 0x20, 0xad, 0x25, 0xfc, - 0x6c, 0xcb, 0x92, 0xb3, 0xf4, 0xc5, 0x79, 0xc7, 0x4f, 0x8e, 0xf8, 0x0c, 0xea, 0x85, 0x9e, 0xcc, - 0x2d, 0x24, 0x9f, 0xf6, 0xc9, 0x7d, 0x51, 0x58, 0x1a, 0x60, 0x3c, 0x5e, 0x87, 0x6c, 0xda, 0xd3, - 0x45, 0x7f, 0xbb, 0xc3, 0x9f, 0xf3, 0x9d, 0x6c, 0x04, 0x52, 0x58, 0xd9, 0xd2, 0x07, 0x7e, 0x4d, - 0x42, 0x64, 0x5a, 0x41, 0xa6, 0x2c, 0x3e, 0x3b, 0x45, 0x78, 0x01, 0x73, 0x04, 0xc4, 0xd4, 0x02, - 0x6e, 0x3d, 0x1f, 0x4b, 0xbf, 0x18, 0xbd, 0x6c, 0xba, 0x7b, 0x69, 0xad, 0xa9, 0xad, 0x94, 0x6a, - 0x78, 0xbd, 0x87, 0xb9, 0xeb, 0x33, 0xe4, 0x66, 0x6b, 0x25, 0x1c, 0xed, 0x16, 0xa3, 0x40, 0x53, - 0x09, 0x72, 0xd8, 0x86, 0x6d, 0x66, 0x23, 0xe3, 0xf1, 0x27, 0x3d, 0x39, 0x41, 0x63, 0xc5, 0x24, - 0x3b, 0x0e, 0xc4, 0xd9, 0x6d, 0x7b, 0x1b, 0xeb, 0xba, 0x71, 0x24, 0xb1, 0x62, 0xea, 0x2e, 0x5f, - 0xb5, 0x7d, 0xc5, 0x6b, 0x40, 0xc8, 0x8e, 0x92, 0x3a, 0x7e, 0x1c, 0x4a, 0xde, 0x80, 0x6f, 0x40, - 0x2d, 0xce, 0x56, 0xee, 0x06, 0xcb, 0x12, 0x60, 0xf4, 0xce, 0xaa, 0x3d, 0xc8, 0x27, 0xa7, 0xd0, - 0xef, 0xe2, 0x06, 0x29, 0x69, 0x68, 0x82, 0x98, 0xe1, 0x48, 0x0e, 0xf3, 0x52, 0xb3, 0xfb, 0x7e, - 0x27, 0x43, 0xd8, 0x99, 0x83, 0xcf, 0xb0, 0x0e, 0xc1, 0x13, 0x9c, 0x7b, 0x14, 0x25, 0xda, 0x53, - 0x4b, 0x7b, 0x7f, 0xe1, 0xd5, 0x6c, 0x44, 0x18, 0x93, 0xa0, 0xfe, 0xbd, 0xbc, 0x47, 0xda, 0x7b, - 0x94, 0xd7, 0x44, 0xae, 0x59, 0x5d, 0x8e, 0x4d, 0x78, 0x59, 0x16, 0x8d, 0xf4, 0x29, 0x20, 0xd9, - 0x25, 0xd4, 0x4e, 0xd6, 0xae, 0xa5, 0xe8, 0x58, 0x17, 0xc3, 0xc5, 0xb0, 0xd9, 0xf2, 0x19, 0xd5, - 0x6f, 0x33, 0xb5, 0x11, 0x53, 0xa1, 0x6e, 0x1a, 0x8d, 0x74, 0xb9, 0x80, 0x95, 0x18, 0x64, 0x6b, - 0x78, 0x94, 0xee, 0x19, 0xc5, 0x0d, 0x43, 0x2b, 0x38, 0xcb, 0x15, 0x7b, 0xad, 0x09, 0x1b, 0x96, - 0xaf, 0x11, 0xb8, 0x2d, 0xf7, 0xa6, 0x77, 0xa2, 0xb6, 0x81, 0x4c, 0xbc, 0x23, 0x71, 0x75, 0x51, - 0x16, 0x73, 0x12, 0xfe, 0xe4, 0xbc, 0x62, 0x2a, 0x33, 0x5f, 0x9a, 0xd4, 0x0c, 0xf3, 0xaa, 0xf9, - 0x4d, 0x66, 0x21, 0x28, 0xcb, 0x01, 0x8b, 0x7c, 0x51, 0x4d, 0x24, 0x5a, 0x2d, 0xab, 0x2e, 0x93, - 0xab, 0x11, 0x46, 0xfc, 0x37, 0xc8, 0x84, 0x0b, 0x5d, 0x7c, 0x5d, 0x8c, 0x84, 0xce, 0xc8, 0x3b, - 0x89, 0x34, 0x37, 0xac, 0x0f, 0x54, 0x8e, 0x0a, 0x17, 0xac, 0x45, 0x30, 0x77, 0x1e, 0x75, 0xbb, - 0xca, 0x36, 0x1a, 0xc2, 0x6c, 0x68, 0xaf, 0xab, 0xd2, 0x0d, 0x68, 0x9a, 0xe6, 0xef, 0x3c, 0x11, - 0xa2, 0xd0, 0xd4, 0x88, 0x13, 0x12, 0xe5, 0x00, 0x12, 0xec, 0x20, 0x5b, 0xdc, 0x1d, 0x0c, 0xc0, - 0xe6, 0x1e, 0xaa, 0x99, 0x25, 0x98, 0x36, 0xff, 0x8a, 0x0f, 0x8a, 0x9f, 0xa5, 0xa5, 0xe6, 0x6d, - 0x09, 0x3d, 0xba, 0xf4, 0xdd, 0x0d, 0x8b, 0xbb, 0xbd, 0xf0, 0xa4, 0xb2, 0x78, 0xf3, 0x00, 0xc6, - 0x35, 0x3a, 0x66, 0x5f, 0xb4, 0x7d, 0x13, 0xd3, 0xed, 0x65, 0xf0, 0x0e, 0xca, 0xd2, 0x08, 0xe0, - 0xf1, 0x89, 0xa7, 0x56, 0xf1, 0x67, 0x52, 0xaa, 0xe9, 0x7e, 0x6a, 0x80, 0x50, 0x62, 0x86, 0xd6, - 0x39, 0x3d, 0x3c, 0x94, 0xd3, 0x4d, 0x53, 0x20, 0x33, 0x86, 0xd6, 0xe1, 0xc7, 0x62, 0x58, 0xba, - 0xe0, 0xe1, 0xd2, 0xb0, 0x77, 0xa6, 0x25, 0x03, 0x7a, 0xbd, 0x7b, 0xb7, 0x16, 0x52, 0x95, 0x11, - 0x49, 0x52, 0x3d, 0x0b, 0xb7, 0xe0, 0x52, 0x71, 0xc6, 0x31, 0xc7, 0x55, 0xfe, 0x2b, 0x00, 0x7d, - 0x6a, 0x50, 0x64, 0x9a, 0xde, 0xac, 0x3d, 0x71, 0x87, 0x5e, 0x85, 0xaa, 0xdc, 0xf9, 0x14, 0x0c, - 0xf5, 0xfe, 0xfe, 0xd8, 0x41, 0xb5, 0x25, 0xe7, 0x5f, 0x45, 0xa1, 0x0b, 0x0b, 0x96, 0x5b, 0xc0, - 0xee, 0x77, 0x42, 0x78, 0xbe, 0x37, 0xd2, 0x0d, 0xaa, 0x5c, 0x8e, 0xef, 0x0a, 0x55, 0xdc, 0xd1, - 0xc1, 0x07, 0x8b, 0x82, 0x58, 0x42, 0x17, 0x0f, 0x07, 0xe5, 0xf8, 0xf2, 0x92, 0xe6, 0x8e, 0x25, - 0x8d, 0xc5, 0x46, 0x13, 0xab, 0x17, 0x04, 0x8a, 0xa9, 0xaa, 0x8c, 0xef, 0x53, 0x73, 0x0e, 0x39, - 0x2a, 0x7b, 0x58, 0x38, 0x5e, 0x61, 0x6b, 0x99, 0xb7, 0xea, 0xd6, 0x10, 0x77, 0x7c, 0x9e, 0x0a, - 0xaf, 0x16, 0x0c, 0xec, 0x52, 0x28, 0xc4, 0x31, 0xc6, 0x08, 0x2d, 0x21, 0xbc, 0x84, 0x37, 0xda, - 0x80, 0xe2, 0x9b, 0x93, 0x63, 0x56, 0xab, 0x7a, 0x23, 0xa4, 0x9a, 0xba, 0x20, 0x31, 0x37, 0x01, - 0xb8, 0xd5, 0xe9, 0x63, 0x8d, 0x2b, 0xa1, 0x19, 0x8c, 0x63, 0x8a, 0x58, 0x58, 0x5d, 0xa4, 0x7b, - 0x47, 0x1d, 0x4c, 0x6b, 0xf2, 0xd5, 0x16, 0x13, 0x2f, 0x68, 0x1d, 0xb3, 0x1d, 0xc2, 0xef, 0xb3, - 0x90, 0x89, 0xb8, 0x0b, 0x7e, 0x2e, 0x6d, 0xf0, 0xce, 0x6e, 0xe7, 0x1a, 0x20, 0x48, 0xfb, 0xc8, - 0x91, 0xd2, 0xa0, 0x71, 0xa8, 0x09, 0x30, 0xdb, 0x5d, 0x19, 0xe9, 0xb8, 0xde, 0xd2, 0x9e, 0x25, - 0x3c, 0xf3, 0x4e, 0x9d, 0xee, 0xb1, 0x23, 0x6e, 0xa1, 0xdc, 0x4d, 0xc3, 0x9d, 0x49, 0x4c, 0x62, - 0xaa, 0xd2, 0x4d, 0x3c, 0x5b, 0x09, 0x22, 0x60, 0xfc, 0xab, 0xbf, 0xfd, 0x64, 0x3a, 0x88, 0x6c, - 0x5e, 0x5e, 0x9f, 0x54, 0x01, 0x9d, 0x70, 0x58, 0x8a, 0x63, 0x38, 0xed, 0x31, 0xac, 0x1f, 0xef, - 0x4a, 0x80, 0x4f, 0xb4, 0xbe, 0x8e, 0xdb, 0x4e, 0x5f, 0x7f, 0x32, 0x7d, 0xcd, 0x8e, 0x46, 0xf2, - 0x78, 0xac, 0x05, 0x7c, 0x1b, 0x44, 0xb8, 0xde, 0x37, 0x72, 0x11, 0x11, 0x65, 0xee, 0x9e, 0x73, - 0x16, 0x36, 0xae, 0xa0, 0x98, 0x47, 0x3d, 0x4a, 0xe4, 0xeb, 0xe3, 0x94, 0x4a, 0xfc, 0x08, 0x22, - 0xa7, 0x30, 0x00, 0x0f, 0xde, 0xef, 0x2e, 0xe8, 0xea, 0x24, 0xe0, 0x80, 0x97, 0xda, 0xfb, 0x71, - 0xb9, 0xdf, 0xf5, 0xb5, 0xb6, 0xd4, 0xcc, 0x27, 0x16, 0xfa, 0xf7, 0xf5, 0xd1, 0xc5, 0x77, 0x3c, - 0x04, 0x68, 0x52, 0xdc, 0x3f, 0x57, 0xeb, 0xfa, 0xc8, 0x60, 0xb8, 0xfb, 0x4c, 0x14, 0x1e, 0x31, - 0x62, 0xc9, 0x00, 0xb4, 0x64, 0xe2, 0xa8, 0x97, 0x89, 0x41, 0x4d, 0xc2, 0xf5, 0xff, 0xfa, 0x54, - 0x24, 0x03, 0x79, 0xdd, 0x00, 0x56, 0x93, 0x6e, 0x9e, 0x14, 0xd5, 0x1f, 0x7a, 0x40, 0xdc, 0x91, - 0x50, 0x7f, 0xe1, 0xd4, 0x3e, 0xe1, 0x6e, 0x8f, 0x74, 0x4f, 0x84, 0xdf, 0x92, 0x68, 0xa6, 0x34, - 0xe1, 0xc0, 0x5b, 0x64, 0xd3, 0x46, 0xa3, 0x5b, 0x3d, 0x8c, 0x9d, 0xee, 0x98, 0xcb, 0xd4, 0x59, - 0xe1, 0xf8, 0x23, 0x99, 0xa0, 0xd8, 0xb3, 0xc2, 0x0e, 0xae, 0x96, 0xcd, 0x57, 0xeb, 0x76, 0x67, - 0xa5, 0x3e, 0x56, 0xef, 0x43, 0x54, 0x26, 0x16, 0x85, 0x03, 0x0f, 0x56, 0xfe, 0x02, 0x1c, 0x13, - 0x7c, 0x9d, 0xbd, 0x71, 0xd8, 0x6b, 0x65, 0xe4, 0xde, 0x0e, 0xf1, 0xb6, 0xad, 0x49, 0xa3, 0x30, - 0xeb, 0xaf, 0xe8, 0x25, 0x3a, 0x50, 0xbc, 0xda, 0x25, 0x17, 0xca, 0x74, 0x6a, 0xdb, 0xdc, 0x78, - 0x49, 0x3c, 0x6c, 0xf9, 0x21, 0xba, 0xf4, 0x7f, 0xdf, 0x8e, 0x9c, 0x28, 0x35, 0x21, 0x9e, 0xdf, - 0xe2, 0x05, 0x94, 0x90, 0xc4, 0xd7, 0xc5, 0x18, 0x15, 0x8a, 0x44, 0x67, 0x5c, 0xc5, 0x25, 0x11, - 0xad, 0x02, 0x21, 0x47, 0xd4, 0xcc, 0x73, 0x04, 0x9d, 0x7a, 0xea, 0xdb, 0x7b, 0x3c, 0xb9, 0x87, - 0x17, 0x80, 0x07, 0xe4, 0x40, 0x38, 0x5a, 0xf1, 0x7d, 0xa7, 0x1e, 0x65, 0x80, 0x1f, 0x81, 0x46, - 0x5e, 0x3c, 0x86, 0x32, 0xe7, 0x80, 0xce, 0xcf, 0x45, 0xaf, 0xf0, 0xf6, 0x07, 0x57, 0x8f, 0xf1, - 0xba, 0xb5, 0x89, 0xc0, 0xbf, 0xff, 0xae, 0xe7, 0xb9, 0x4c, 0x54, 0x63, 0xb7, 0x0e, 0xe1, 0x35, - 0xd3, 0x19, 0x51, 0x63, 0x33, 0x2c, 0x9d, 0x8e, 0x2e, 0x31, 0x7e, 0x4c, 0xa6, 0xd2, 0x67, 0x90, - 0xc2, 0xe5, 0x4a, 0x3d, 0xc6, 0x2b, 0xee, 0x01, 0xd9, 0xdf, 0x7b, 0xb1, 0x41, 0xd4, 0xc3, 0xf7, - 0x4c, 0x8e, 0x2f, 0xa1, 0x15, 0x35, 0xb1, 0x03, 0x89, 0xb2, 0xa6, 0xc3, 0x59, 0xdc, 0xce, 0xf9, - 0xad, 0x93, 0x5d, 0x98, 0xc4, 0xb9, 0xfe, 0xbe, 0x6f, 0xd0, 0x56, 0x76, 0x16, 0x0c, 0xc2, 0x81, - 0xd4, 0x6a, 0x10, 0x0a, 0x67, 0x4f, 0x5e, 0xd6, 0xf6, 0xa1, 0x0a, 0x4e, 0x6e, 0x16, 0x66, 0x2f, - 0x48, 0x7a, 0x7b, 0xb2, 0x08, 0x1e, 0xd9, 0x50, 0xe5, 0x67, 0x37, 0xfb, 0x47, 0x50, 0x8e, 0x8a, - 0x52, 0x28, 0x45, 0x83, 0x90, 0x69, 0x32, 0x19, 0x23, 0xe8, 0x66, 0x6a, 0xb1, 0x7b, 0xc8, 0xb2, - 0x70, 0x23, 0x92, 0x35, 0x31, 0x64, 0x20, 0xd3, 0xe4, 0xb6, 0x05, 0x7b, 0x72, 0xa0, 0xf2, 0xc7, - 0x2e, 0xb2, 0x7d, 0xea, 0x14, 0x7e, 0xff, 0x94, 0x47, 0xa2, 0x92, 0x4e, 0xb4, 0xe8, 0x32, 0xda, - 0x6a, 0x71, 0xaa, 0x44, 0xee, 0x4a, 0x24, 0x75, 0xc0, 0x14, 0x1b, 0x3f, 0x17, 0x3b, 0x4c, 0x28, - 0x4f, 0xc2, 0x67, 0xdb, 0x30, 0xed, 0x26, 0x07, 0xc8, 0xd6, 0xec, 0xe0, 0xf8, 0xbe, 0x6a, 0xcc, - 0x96, 0xb4, 0x89, 0x8e, 0xa7, 0x61, 0x64, 0xce, 0x4f, 0x03, 0xed, 0xd9, 0xa1, 0x0c, 0xea, 0x94, - 0xfd, 0x33, 0x53, 0xe9, 0x8c, 0x8c, 0x49, 0xe5, 0xcf, 0x83, 0x8e, 0x6f, 0xce, 0x0a, 0xcf, 0x14, - 0x8b, 0xc6, 0x6b, 0x15, 0xd7, 0x02, 0xf2, 0x4d, 0x89, 0xa9, 0x74, 0xac, 0xec, 0x7b, 0x96, 0x38, - 0x3f, 0x58, 0x52, 0x35, 0xf2, 0x2e, 0xf8, 0x73, 0x82, 0xc6, 0x49, 0x32, 0x1d, 0xdb, 0xe1, 0xb8, - 0xe2, 0xe9, 0x3e, 0xec, 0xcd, 0xb3, 0x70, 0x82, 0x87, 0x0a, 0x3f, 0x57, 0x6a, 0x63, 0x9e, 0x16, - 0xfd, 0x0b, 0xce, 0x20, 0x7f, 0x3e, 0x9c, 0xa7, 0x1b, 0xc7, 0x11, 0x27, 0x9c, 0x8e, 0x24, 0x0c, - 0x3f, 0x47, 0x06, 0x69, 0x46, 0xeb, 0xcd, 0x89, 0x3d, 0x2f, 0x3a, 0xec, 0xba, 0xc6, 0x45, 0xbd, - 0xb4, 0x07, 0x3b, 0xc9, 0x09, 0x18, 0x64, 0x89, 0x23, 0xc1, 0xbf, 0xfa, 0x03, 0x15, 0xb6, 0x20, - 0xca, 0x9e, 0x5c, 0xe3, 0x79, 0x57, 0xa8, 0xac, 0x77, 0x76, 0x20, 0xcc, 0x2c, 0x85, 0xbb, 0x2a, - 0xca, 0xff, 0x89, 0x08, 0x34, 0xa0, 0x79, 0x3e, 0xe7, 0x8a, 0x92, 0x63, 0x9c, 0x23, 0x2a, 0x79, - 0x55, 0x4b, 0xb0, 0x14, 0xd0, 0xde, 0x5f, 0x0d, 0xea, 0x53, 0xd0, 0xb6, 0x83, 0x1e, 0x2d, 0xed, - 0x71, 0xd4, 0x4c, 0x53, 0xb5, 0x48, 0xf6, 0xa6, 0x8d, 0x4d, 0xcf, 0x4d, 0xbb, 0x8e, 0x1f, 0xa0, - 0x0b, 0xdd, 0xc4, 0x9b, 0x75, 0x7a, 0xf7, 0xb5, 0x98, 0x3d, 0x4f, 0xc4, 0xfc, 0x83, 0x2d, 0x5c, - 0x65, 0xcc, 0x6b, 0xee, 0x0d, 0x34, 0x32, 0xb3, 0x14, 0xd2, 0x25, 0x6d, 0x4a, 0xf4, 0x0c, 0x65, - 0xf5, 0x55, 0x94, 0x0e, 0x1a, 0x50, 0x12, 0x79, 0x04, 0x6c, 0xa1, 0xdd, 0xcb, 0xe8, 0x01, 0xad, - 0x96, 0x2d, 0x9f, 0x6b, 0x20, 0xc0, 0x72, 0xd2, 0xe6, 0x94, 0xee, 0xef, 0xc5, 0xa9, 0xe4, 0x43, - 0x76, 0x5f, 0x68, 0x3e, 0x78, 0x06, 0xd0, 0x6a, 0x3d, 0xbd, 0x0f, 0x46, 0x3a, 0x6b, 0x84, 0x96, - 0xd4, 0xf5, 0x79, 0xdc, 0xb2, 0x04, 0xbf, 0xdc, 0x2b, 0xf4, 0x30, 0x6a, 0xcd, 0xb4, 0x50, 0x66, - 0x68, 0xcf, 0xc1, 0xb9, 0x69, 0xe4, 0x57, 0xbf, 0xc2, 0x31, 0x8b, 0x11, 0x8f, 0xd0, 0x63, 0xb9, - 0x06, 0x09, 0x83, 0x0c, 0x95, 0xc2, 0xd0, 0xbe, 0x32, 0x3e, 0xe2, 0xd6, 0x82, 0x5e, 0xf4, 0xff, - 0x3a, 0x5a, 0xa7, 0x17, 0x56, 0x26, 0x26, 0xa7, 0xf1, 0xd4, 0x9e, 0x3b, 0x89, 0xe6, 0xca, 0x92, - 0x99, 0xf4, 0xaf, 0xde, 0x82, 0xee, 0xd8, 0xea, 0x30, 0xe9, 0xd9, 0xf9, 0x16, 0x60, 0xd0, 0xce, - 0x8f, 0x62, 0x98, 0xcf, 0xb8, 0x60, 0xfb, 0x60, 0x3d, 0x9f, 0x75, 0x07, 0xa9, 0xc9, 0x53, 0x4b, - 0x55, 0x1f, 0x72, 0xcf, 0x60, 0x88, 0x39, 0xc5, 0x78, 0xe9, 0xd5, 0x81, 0x75, 0x78, 0x2e, 0x77, - 0xee, 0xad, 0xa8, 0xe8, 0x5f, 0x30, 0x8a, 0x20, 0xfd, 0x46, 0x60, 0x96, 0x17, 0x01, 0x25, 0x40, - 0x58, 0x06, 0x1a, 0xbc, 0xce, 0x75, 0x67, 0x4e, 0x01, 0x12, 0x0e, 0xe6, 0x58, 0x4e, 0x91, 0x20, - 0xc5, 0x68, 0xcc, 0xa3, 0x41, 0xd1, 0xb6, 0x7e, 0xf9, 0x92, 0x9e, 0x06, 0x13, 0xb7, 0xe3, 0xbe, - 0xfd, 0xe5, 0x49, 0x76, 0xc4, 0xab, 0x14, 0x34, 0x4d, 0xbb, 0x30, 0xc3, 0x20, 0x69, 0x8f, 0x98, - 0x88, 0x31, 0xc0, 0x55, 0x35, 0xdd, 0xd5, 0x55, 0x75, 0x9f, 0xc4, 0x27, 0x14, 0x78, 0x29, 0xb7, - 0xb5, 0xa9, 0x42, 0x8e, 0x20, 0x4d, 0x6e, 0x68, 0xe9, 0xcb, 0x0d, 0xd1, 0x6b, 0x7e, 0x31, 0x84, - 0x02, 0xa1, 0x70, 0x12, 0xa3, 0x4d, 0x07, 0xfa, 0xd9, 0x65, 0xa7, 0xd5, 0x90, 0x9b, 0x8b, 0xb9, - 0x78, 0xf4, 0x5d, 0xb1, 0xd5, 0x9b, 0xaa, 0x39, 0x02, 0x31, 0x78, 0xd1, 0xf0, 0x28, 0x94, 0x1b, - 0x2e, 0x41, 0x3b, 0x87, 0xbf, 0xb1, 0xc0, 0x17, 0x00, 0x3b, 0x11, 0x0a, 0xe4, 0x2b, 0x3f, 0x79, - 0x25, 0xee, 0x2f, 0x80, 0xbd, 0x34, 0xe6, 0xe2, 0xb7, 0x8e, 0x69, 0xed, 0x87, 0x33, 0x39, 0xa9, - 0xb2, 0x69, 0xb3, 0x0b, 0x5a, 0xe3, 0xd7, 0x5c, 0x61, 0x76, 0xba, 0x73, 0xd6, 0x34, 0xa2, 0x46, - 0xa6, 0x75, 0xa0, 0xb3, 0x3b, 0x4b, 0x38, 0x17, 0xb2, 0x1d, 0xac, 0x82, 0xf0, 0xc3, 0x78, 0xb4, - 0xfc, 0xd2, 0x07, 0x24, 0x4e, 0x10, 0x47, 0xa6, 0xe8, 0x05, 0x44, 0x0b, 0x6e, 0x7b, 0x78, 0x3f, - 0x55, 0xfb, 0xbb, 0x84, 0x01, 0x03, 0x41, 0xdb, 0x99, 0x90, 0xec, 0xc7, 0xf4, 0x46, 0x18, 0x09, - 0xca, 0x2b, 0x92, 0x4e, 0x19, 0x33, 0x7c, 0x47, 0x97, 0xad, 0x4e, 0xbf, 0x24, 0x65, 0xaf, 0x05, - 0x20, 0x06, 0xa0, 0x4e, 0xda, 0xb9, 0x9f, 0xcb, 0xaf, 0x78, 0x73, 0x0f, 0x22, 0x3b, 0xe6, 0x86, - 0xf5, 0xd7, 0xf6, 0xb1, 0x4f, 0xb7, 0xa5, 0x01, 0xa4, 0x03, 0xec, 0x21, 0xb9, 0x09, 0x71, 0x34, - 0x93, 0x13, 0x4f, 0x83, 0x29, 0x60, 0xb3, 0xbe, 0x65, 0x36, 0x48, 0x1f, 0xaf, 0xf8, 0xce, 0x4f, - 0xa4, 0x1b, 0x22, 0x39, 0x6d, 0xc3, 0x66, 0x95, 0x34, 0x4f, 0x04, 0xd9, 0x3f, 0x25, 0x3e, 0x76, - 0xd5, 0x95, 0xea, 0x2a, 0x5e, 0xec, 0x79, 0x16, 0x3e, 0x93, 0xd2, 0xc8, 0xa2, 0x56, 0x38, 0x4e, - 0xb7, 0xea, 0xb5, 0xb0, 0xcb, 0x8b, 0x51, 0xa9, 0x49, 0x26, 0x68, 0xaf, 0xa5, 0x4c, 0x1d, 0x48, - 0x47, 0x80, 0x86, 0x9b, 0x1c, 0xee, 0xa7, 0x92, 0xe5, 0x12, 0x05, 0x31, 0x90, 0x64, 0x28, 0x4e, - 0xd7, 0x49, 0xb1, 0x48, 0x3b, 0x6b, 0x4d, 0x3d, 0x84, 0x60, 0x58, 0xc0, 0xf1, 0x9b, 0xb4, 0x94, - 0xc7, 0xeb, 0x21, 0x46, 0xcd, 0xa8, 0x76, 0x85, 0x54, 0x83, 0x06, 0x0f, 0xd6, 0x82, 0x7d, 0x3e, - 0xbd, 0x24, 0xec, 0xaa, 0xe4, 0x2a, 0x1e, 0x9a, 0xa0, 0xdd, 0x37, 0x23, 0x23, 0xc5, 0x5a, 0xb6, - 0x12, 0x7e, 0x1e, 0x81, 0x46, 0x9b, 0x51, 0xd3, 0x49, 0xe2, 0x76, 0x95, 0x88, 0x27, 0x6d, 0xb5, - 0x3f, 0xfa, 0x3b, 0x29, 0xe9, 0x12, 0xa8, 0x18, 0xc6, 0xa9, 0xde, 0xeb, 0xdf, 0x14, 0x5b, 0x65, - 0xdd, 0xa0, 0x99, 0xc0, 0x07, 0x8a, 0x43, 0x3a, 0x0a, 0xc8, 0xf1, 0x3d, 0x52, 0x7b, 0x48, 0xc0, - 0x32, 0xa9, 0xcf, 0x7c, 0xcc, 0xb6, 0x30, 0x4b, 0x48, 0x65, 0xa2, 0xeb, 0xd0, 0xa1, 0x3a, 0xe0, - 0x1a, 0xea, 0x1a, 0xb5, 0x46, 0x43, 0x80, 0xe6, 0x52, 0x25, 0xc2, 0xb3, 0xf7, 0xc8, 0x5c, 0xee, - 0x05, 0x8c, 0x7e, 0x5f, 0x80, 0x5f, 0x40, 0x5b, 0x34, 0x14, 0x24, 0xe0, 0x50, 0x89, 0x61, 0xc8, - 0x57, 0x4a, 0x63, 0xe2, 0x9f, 0xa5, 0x76, 0xf9, 0xce, 0xd4, 0x45, 0x27, 0x98, 0x13, 0xf3, 0x43, - 0x0d, 0x2d, 0x90, 0xc9, 0xf0, 0x60, 0xc9, 0xd9, 0x3c, 0x2a, 0xe0, 0xec, 0xd4, 0xb4, 0x01, 0x67, - 0x13, 0xcf, 0x7a, 0x3c, 0xd2, 0x35, 0x84, 0x22, 0x9c, 0xe1, 0x25, 0xa6, 0x1b, 0xcf, 0xa2, 0x2b, - 0x78, 0x37, 0x09, 0xaf, 0x67, 0x1f, 0xa5, 0xbb, 0xd8, 0x41, 0x20, 0xdd, 0xa3, 0xd3, 0x40, 0x6f, - 0x16, 0xdf, 0x51, 0xcd, 0xee, 0x25, 0x0c, 0x24, 0x33, 0xe4, 0xef, 0xef, 0xda, 0x97, 0x84, 0x93, - 0x1a, 0x90, 0x8d, 0x97, 0xdc, 0xd1, 0x01, 0x07, 0x3d, 0x32, 0xec, 0x57, 0x78, 0x3e, 0x99, 0xf8, - 0xb5, 0xc5, 0xa6, 0xab, 0x47, 0x7c, 0x7c, 0x8b, 0xb0, 0xae, 0x70, 0x92, 0x72, 0xc6, 0x6f, 0xad, - 0x98, 0xf6, 0x2c, 0x05, 0x2f, 0xa3, 0x30, 0x79, 0x33, 0x27, 0x83, 0x27, 0xa4, 0x36, 0xe5, 0x45, - 0xf5, 0x6e, 0x24, 0x4a, 0xcb, 0xda, 0x09, 0x4b, 0x50, 0xb2, 0x7e, 0x95, 0x51, 0xe6, 0x30, 0x60, - 0xb2, 0x5d, 0x97, 0x16, 0x67, 0x64, 0x56, 0x64, 0x43, 0xe7, 0x37, 0xd4, 0xdf, 0x12, 0x8a, 0xa5, - 0x4f, 0x27, 0xdc, 0x86, 0x66, 0x11, 0x28, 0x18, 0x54, 0xe8, 0xf7, 0x1b, 0xfb, 0x4f, 0x4b, 0x51, - 0xa8, 0xd8, 0x6d, 0x09, 0x4c, 0x94, 0x41, 0x9d, 0x10, 0x73, 0x52, 0x6e, 0x3c, 0x8c, 0xaf, 0xcb, - 0x1e, 0x82, 0xf9, 0x09, 0x46, 0x1a, 0x52, 0xd0, 0x83, 0x69, 0x37, 0x31, 0x34, 0x66, 0x58, 0xac, - 0x5e, 0x69, 0xa5, 0x99, 0xfb, 0xbc, 0xd4, 0xf1, 0x4c, 0xb4, 0xc7, 0x8f, 0x10, 0x93, 0xfe, 0xaa, - 0x3f, 0x4e, 0x18, 0x3f, 0x1a, 0xf7, 0xf5, 0x90, 0x17, 0xa9, 0xe9, 0xef, 0x03, 0x8a, 0x94, 0x79, - 0x49, 0x1e, 0xe5, 0xa5, 0xff, 0x03, 0x5e, 0xb0, 0x2f, 0x05, 0x09, 0x9e, 0x81, 0x22, 0x0c, 0x72, - 0x3c, 0x95, 0xb1, 0x9d, 0xb0, 0xe7, 0x08, 0x69, 0x0c, 0x21, 0x46, 0x1f, 0x70, 0x40, 0x68, 0x1b, - 0x9d, 0x54, 0x6c, 0xf6, 0xef, 0xdf, 0x67, 0x89, 0x08, 0xc4, 0x05, 0x62, 0x77, 0xee, 0x3c, 0x3d, - 0x0c, 0xb9, 0xe3, 0xd1, 0x0e, 0x48, 0xff, 0x5f, 0x64, 0xd6, 0x0f, 0x75, 0xbf, 0x78, 0x57, 0xe3, - 0x0c, 0x35, 0xb8, 0x24, 0xd0, 0x7c, 0xb9, 0x1b, 0xb1, 0x56, 0x5f, 0x4a, 0xa7, 0x0e, 0x76, 0x81, - 0x36, 0x1e, 0x62, 0xe3, 0xa4, 0x4b, 0x48, 0x18, 0x9f, 0x68, 0x4f, 0xa6, 0x72, 0x0e, 0xe8, 0xbb, - 0x2d, 0xe6, 0xee, 0x90, 0x72, 0x67, 0x5b, 0x8e, 0xd9, 0xc4, 0xa7, 0x2e, 0x42, 0x28, 0x6b, 0xb5, - 0x04, 0x3b, 0x8b, 0xa9, 0x57, 0x10, 0x58, 0xfc, 0xc1, 0x0c, 0xf8, 0xc1, 0x39, 0x0b, 0xac, 0x67, - 0xc4, 0xb8, 0x83, 0x40, 0x5e, 0x51, 0xc4, 0xc1, 0x5e, 0x95, 0xaf, 0x3a, 0xe9, 0xd9, 0x5d, 0xc9, - 0xe9, 0x2a, 0x86, 0x11, 0x23, 0xb3, 0xd4, 0x64, 0x88, 0xd8, 0x68, 0xbf, 0x4d, 0xf0, 0x98, 0xde, - 0x46, 0x43, 0x35, 0x24, 0x7d, 0xdb, 0x76, 0xeb, 0x4c, 0x63, 0xd3, 0x59, 0x42, 0xe1, 0xf1, 0x25, - 0x95, 0xce, 0x5a, 0x72, 0x9c, 0xc3, 0x00, 0xe4, 0xc6, 0x3e, 0xaf, 0x43, 0x07, 0x21, 0x2a, 0x1a, - 0x88, 0xdc, 0xa1, 0x4f, 0xd9, 0xf7, 0x44, 0xa8, 0xf4, 0x45, 0x0e, 0xb8, 0xeb, 0xe2, 0x60, 0x83, - 0x49, 0xe6, 0x28, 0xde, 0x5d, 0x1a, 0x24, 0x86, 0xa9, 0x9e, 0x3d, 0x56, 0xd0, 0xbe, 0xc5, 0x5c, - 0xe7, 0xd6, 0x26, 0x33, 0xf8, 0x07, 0xe3, 0x38, 0x14, 0x1c, 0x93, 0x38, 0x1b, 0x29, 0xe6, 0xb7, - 0x40, 0xdc, 0xdb, 0x00, 0x0f, 0x36, 0x04, 0x15, 0x4f, 0xf9, 0x3a, 0xd8, 0x60, 0x5c, 0x69, 0x7c, - 0x0e, 0x35, 0xcc, 0x2c, 0x06, 0x85, 0x04, 0xd2, 0xbb, 0x12, 0x31, 0x86, 0x5b, 0x13, 0x36, 0xd3, - 0x33, 0xcc, 0x4b, 0xb6, 0x1a, 0x26, 0xe9, 0x7a, 0x4f, 0xd2, 0x99, 0x4f, 0x38, 0x50, 0x5f, 0x2f, - 0xfd, 0x6e, 0x49, 0xd4, 0xf9, 0x2e, 0x39, 0x84, 0x86, 0xa9, 0xb8, 0xb0, 0xbb, 0xd4, 0x28, 0x38, - 0x58, 0xfe, 0xa8, 0xb3, 0x29, 0x76, 0x07, 0xd5, 0xec, 0x7e, 0x3f, 0x07, 0x5d, 0x31, 0xb3, 0xaa, - 0x02, 0xd9, 0x88, 0x1e, 0xd2, 0xfd, 0x3b, 0x6e, 0xfb, 0x1e, 0xb3, 0xf2, 0xf3, 0x7a, 0xb8, 0xbc, - 0xb4, 0x1c, 0x9a, 0x75, 0x70, 0xbd, 0x82, 0x72, 0xc0, 0xde, 0x76, 0x88, 0xf2, 0xab, 0x99, 0x48, - 0x5a, 0x86, 0xc1, 0xf5, 0x2a, 0x46, 0x6a, 0xfc, 0x74, 0xb1, 0x68, 0x8e, 0x19, 0x2f, 0x81, 0x90, - 0x08, 0xe4, 0xf7, 0x7b, 0x45, 0x93, 0x94, 0x65, 0x68, 0xbc, 0xae, 0x4f, 0xcc, 0x8d, 0x4c, 0x6d, - 0x1d, 0x3e, 0x81, 0x19, 0x89, 0xc7, 0x2f, 0x2c, 0x09, 0x42, 0x27, 0x90, 0x97, 0x49, 0x6a, 0x34, - 0x9c, 0xd5, 0x9b, 0x24, 0xb0, 0x51, 0xa2, 0xcf, 0x8a, 0xa9, 0xbb, 0xe3, 0xb7, 0x35, 0x65, 0x28, - 0x0a, 0x97, 0x6f, 0xd3, 0xe8, 0xf6, 0xcd, 0xc8, 0xa1, 0x42, 0x99, 0x92, 0x18, 0xab, 0x79, 0x5c, - 0xe1, 0xc7, 0xe3, 0x99, 0xee, 0x2d, 0x24, 0xbc, 0xdb, 0x7d, 0x26, 0x06, 0xc6, 0x14, 0x1b, 0x55, - 0x5a, 0x00, 0x08, 0x4f, 0xe0, 0xab, 0x3a, 0x5b, 0x92, 0xf5, 0x4b, 0xb3, 0x99, 0x44, 0x04, 0x7a, - 0x67, 0xd1, 0x17, 0x47, 0x6a, 0xe6, 0xb1, 0x4a, 0x19, 0xe7, 0xa1, 0xda, 0x7e, 0x95, 0x37, 0x6d, - 0xe8, 0x3a, 0xcc, 0x5b, 0x16, 0x16, 0x91, 0x5f, 0x7a, 0x72, 0xb7, 0x8c, 0xab, 0x9d, 0x96, 0x7f, - 0x36, 0x57, 0x85, 0x40, 0x4d, 0x75, 0xec, 0xc5, 0xfa, 0xce, 0x29, 0xbe, 0x48, 0x12, 0x43, 0x7e, - 0xd9, 0xa4, 0x37, 0x21, 0x4a, 0xe9, 0x1b, 0x0f, 0x43, 0x79, 0x3c, 0xa8, 0x45, 0xcc, 0x33, 0x7f, - 0xce, 0x81, 0xd8, 0x03, 0xee, 0xe8, 0x34, 0x2f, 0x12, 0xd0, 0xb8, 0x78, 0x09, 0xc8, 0x3e, 0x68, - 0xc5, 0xbb, 0x7b, 0x19, 0xb2, 0xf3, 0x9c, 0x47, 0xc1, 0x53, 0xe7, 0xc8, 0x40, 0xfc, 0x4b, 0xd3, - 0x81, 0x34, 0x1a, 0xc0, 0xb4, 0x8b, 0x9c, 0xc0, 0x0d, 0xd6, 0x5d, 0x71, 0xfd, 0x42, 0x5e, 0x12, - 0x7e, 0xa1, 0x4f, 0xdc, 0xa9, 0xac, 0xf0, 0x4e, 0x43, 0xc4, 0x50, 0x9c, 0xde, 0x81, 0x88, 0xec, - 0x09, 0xa6, 0xcb, 0xf4, 0xa7, 0x28, 0xef, 0x82, 0xa8, 0xe9, 0x40, 0xcf, 0x22, 0x57, 0x33, 0x32, - 0xba, 0xc3, 0xa9, 0xf2, 0x6c, 0x85, 0xc6, 0xe1, 0x59, 0x19, 0x31, 0x32, 0x5d, 0x83, 0xba, 0x66, - 0xef, 0xa3, 0x27, 0xa6, 0x02, 0x30, 0x50, 0xc4, 0x6f, 0xd5, 0xf1, 0xa6, 0x5a, 0x78, 0xf9, 0x35, - 0x81, 0x68, 0x09, 0x91, 0x8c, 0xac, 0x8e, 0x4b, 0xdd, 0x4b, 0xa8, 0xc3, 0x56, 0x93, 0xad, 0x4c, - 0x04, 0x14, 0x1c, 0xdc, 0x6e, 0xe4, 0xc7, 0xad, 0xfe, 0x4f, 0xf4, 0x66, 0x0c, 0xcc, 0x00, 0x76, - 0x9c, 0x40, 0xf3, 0x03, 0x5d, 0xaa, 0x8f, 0xca, 0x84, 0x64, 0xe7, 0xcc, 0x14, 0x41, 0xa8, 0x5f, - 0x19, 0x45, 0x90, 0x50, 0x40, 0x5d, 0x6b, 0xa3, 0xdb, 0x54, 0x84, 0x23, 0xf4, 0xae, 0xe4, 0x61, - 0x04, 0xb0, 0xf9, 0xb4, 0x5a, 0xfd, 0x56, 0x58, 0xc2, 0xce, 0x3b, 0xb4, 0x49, 0xac, 0xf0, 0xd7, - 0x70, 0xb8, 0x59, 0x13, 0x3e, 0xe7, 0x18, 0x3b, 0xac, 0x9f, 0xae, 0xe4, 0x43, 0x95, 0x17, 0x12, - 0x31, 0x56, 0xaf, 0xc7, 0x30, 0xbf, 0xd1, 0x5b, 0xa5, 0x97, 0xcb, 0x6c, 0x93, 0xba, 0x4f, 0x6a, - 0xb2, 0xcf, 0x8f, 0x5c, 0x0a, 0x6b, 0x3a, 0x9a, 0xc2, 0xbe, 0xe5, 0x88, 0x5f, 0x3a, 0xb6, 0xe1, - 0xaf, 0x51, 0x03, 0x4e, 0x29, 0xea, 0x63, 0xdf, 0xf6, 0x36, 0xef, 0x54, 0x4e, 0x66, 0x1b, 0xfa, - 0xbb, 0x78, 0x7e, 0x2d, 0x5b, 0x9a, 0x53, 0x1c, 0x78, 0x4e, 0xf2, 0xc9, 0xcc, 0x54, 0x38, 0x3f, - 0xa0, 0x17, 0xdb, 0xe8, 0xa6, 0x95, 0x1c, 0xd4, 0x71, 0xa9, 0xaf, 0xf6, 0xcf, 0x20, 0xe3, 0xca, - 0xdf, 0x42, 0x95, 0x1e, 0xb9, 0xaa, 0x38, 0x3a, 0xc8, 0x61, 0x7e, 0x17, 0x7b, 0x27, 0xc4, 0xc9, - 0x80, 0x94, 0xf3, 0xb4, 0x43, 0x3e, 0x90, 0xb3, 0xb8, 0x52, 0xe1, 0x4f, 0x3f, 0xd8, 0x0b, 0xfb, - 0xea, 0x2e, 0xbe, 0x87, 0x5d, 0x0d, 0xab, 0x9d, 0x24, 0x72, 0x1b, 0x24, 0x1c, 0x1a, 0x8a, 0xa2, - 0x7b, 0xfb, 0x4b, 0x83, 0x98, 0x34, 0xc4, 0x14, 0x20, 0xca, 0x85, 0xc3, 0xe2, 0x4b, 0xad, 0xbe, - 0x81, 0xaf, 0x0a, 0x4e, 0x37, 0xee, 0x05, 0x72, 0x07, 0xed, 0xb8, 0xee, 0x27, 0x32, 0x35, 0x3a, - 0xb7, 0x03, 0x67, 0x49, 0xab, 0x01, 0x52, 0xa3, 0xb7, 0x1c, 0x2d, 0x47, 0x9a, 0x1f, 0x97, 0x86, - 0x38, 0x79, 0x93, 0x6a, 0x5a, 0x3d, 0xbe, 0xf1, 0xab, 0xad, 0x42, 0x44, 0x7f, 0xbb, 0xc1, 0x27, - 0xc8, 0xd5, 0xa0, 0x8b, 0x38, 0x8b, 0x28, 0xcd, 0x23, 0x5e, 0xb9, 0xdd, 0xf9, 0xd2, 0x15, 0x9d, - 0x1a, 0xcc, 0x4e, 0x01, 0x88, 0x77, 0xb1, 0xd4, 0x40, 0x0b, 0xcf, 0x22, 0xe2, 0xe1, 0xcb, 0xb2, - 0xbe, 0x75, 0x62, 0x7a, 0xe2, 0x3e, 0x79, 0x04, 0x74, 0x77, 0x90, 0xe2, 0x97, 0xfb, 0xae, 0x58, - 0xdc, 0x3a, 0x2b, 0xa2, 0x42, 0x5f, 0x4d, 0x61, 0xca, 0x41, 0x64, 0xd1, 0x9b, 0x12, 0xc9, 0x83, - 0xde, 0xc0, 0x72, 0xc2, 0x84, 0xfa, 0x34, 0x15, 0xf1, 0x96, 0xca, 0x6d, 0xaa, 0x91, 0x5a, 0x24, - 0x76, 0x98, 0x9b, 0x91, 0x39, 0xf6, 0xbf, 0x24, 0x6b, 0xb3, 0xdc, 0x2d, 0x37, 0xc1, 0x14, 0x11, - 0x80, 0x16, 0x9d, 0xb1, 0xd4, 0x71, 0xb9, 0x80, 0x97, 0x01, 0x4c, 0xe9, 0x43, 0x41, 0x0c, 0x2c, - 0xb8, 0x6f, 0x9d, 0xb8, 0xb9, 0xd8, 0x88, 0xd1, 0xda, 0x6a, 0x6a, 0x74, 0x7a, 0xce, 0xfe, 0x49, - 0x36, 0x4c, 0x26, 0xd8, 0x98, 0x3c, 0x9a, 0x02, 0x2a, 0x86, 0x3b, 0x89, 0xf2, 0x3c, 0xf5, 0x47, - 0x60, 0x1a, 0xb2, 0xaa, 0xb7, 0x92, 0x2f, 0x1f, 0x48, 0x83, 0xb7, 0x17, 0x0a, 0x7b, 0x23, 0x40, - 0x6a, 0xb9, 0x4d, 0xa8, 0xf0, 0xbc, 0x6c, 0x85, 0x1e, 0x03, 0x67, 0x16, 0xa9, 0x38, 0xf1, 0x94, - 0x15, 0x7d, 0x85, 0x63, 0x14, 0x05, 0x56, 0x58, 0xc0, 0xc7, 0xa1, 0x1d, 0x10, 0x7e, 0x54, 0x57, - 0x61, 0xc8, 0x2f, 0x0c, 0x40, 0x06, 0xe5, 0x6a, 0xd2, 0x31, 0x27, 0xdb, 0x7a, 0x62, 0xad, 0xc0, - 0x94, 0x46, 0x17, 0xc4, 0x08, 0xbb, 0xac, 0x19, 0xa3, 0x89, 0xfb, 0x6f, 0x65, 0xdd, 0x21, 0x40, - 0x3c, 0x06, 0xf5, 0x0e, 0x9a, 0xbe, 0x93, 0x62, 0xed, 0x08, 0xe5, 0xe9, 0x12, 0x76, 0xde, 0x7b, - 0x69, 0x11, 0x49, 0xb5, 0xcf, 0x54, 0xbf, 0x2f, 0x69, 0xce, 0x69, 0xb9, 0x57, 0x28, 0xb9, 0x46, - 0x49, 0x02, 0x42, 0xe2, 0x99, 0x2b, 0x2f, 0xbc, 0x82, 0x5b, 0xaf, 0x73, 0x21, 0xc8, 0x3d, 0xe4, - 0x96, 0x69, 0xac, 0x5d, 0x9d, 0xb3, 0x86, 0x28, 0x83, 0x01, 0x4c, 0x27, 0x80, 0xd2, 0x7e, 0xb2, - 0x71, 0xb0, 0x7a, 0x5f, 0x00, 0x59, 0x78, 0xd6, 0xfe, 0xb8, 0x17, 0xea, 0xff, 0x56, 0xec, 0x2f, - 0xab, 0xc5, 0x03, 0xa9, 0x82, 0x35, 0xc9, 0x18, 0x6a, 0x77, 0x56, 0x1b, 0xad, 0x82, 0x29, 0x27, - 0x86, 0x8c, 0xbb, 0x48, 0x62, 0x3c, 0x69, 0xb5, 0x96, 0xca, 0x33, 0x24, 0x47, 0x1d, 0x93, 0x9a, - 0x79, 0x57, 0xe2, 0x84, 0x9d, 0x2b, 0xf7, 0x93, 0xc6, 0x5f, 0x23, 0xdc, 0xf1, 0x79, 0x64, 0xfc, - 0x6c, 0x5e, 0xea, 0x4b, 0xa8, 0x64, 0xdc, 0x84, 0x92, 0xb8, 0xaf, 0xfb, 0x53, 0xe1, 0x56, 0x0f, - 0x97, 0x89, 0x9c, 0x52, 0xc5, 0x0c, 0xa6, 0x80, 0xb7, 0xe8, 0x84, 0xfb, 0xf3, 0xfc, 0x8e, 0x16, - 0x41, 0x11, 0xb5, 0xe3, 0xa6, 0xf9, 0x0e, 0x6f, 0x5f, 0x17, 0x6d, 0x81, 0x5e, 0x88, 0x17, 0x38, - 0xc1, 0xf1, 0x81, 0x0d, 0xc3, 0xf5, 0xe8, 0xc3, 0x90, 0x4b, 0x37, 0xeb, 0x3a, 0xb3, 0x59, 0x24, - 0x1c, 0x95, 0x08, 0x7f, 0xb1, 0x69, 0xca, 0x2c, 0x11, 0x78, 0x45, 0xce, 0x05, 0xcc, 0xd2, 0xe7, - 0x33, 0x90, 0x9d, 0x47, 0xcb, 0x08, 0x89, 0x04, 0xad, 0xa3, 0xfa, 0xcf, 0xfe, 0xde, 0xa1, 0x98, - 0xc2, 0xdd, 0x16, 0x5e, 0xbf, 0x5d, 0x24, 0xd1, 0x21, 0x13, 0x4e, 0xfe, 0x46, 0x87, 0xef, 0xd9, - 0xa9, 0xe6, 0x1a, 0xe6, 0x0b, 0x01, 0x10, 0xf3, 0xc6, 0xf5, 0xfe, 0x5b, 0x5b, 0x4d, 0x13, 0x54, - 0x73, 0xd9, 0x4b, 0x86, 0x34, 0xcc, 0xa9, 0xca, 0x13, 0x99, 0xfa, 0x9f, 0xa6, 0x8d, 0x75, 0xc5, - 0x85, 0x6f, 0x87, 0xee, 0x03, 0xe5, 0xdb, 0x7c, 0xb3, 0xe1, 0x7a, 0xf6, 0x32, 0x5c, 0x85, 0x72, - 0x3c, 0xb9, 0x3a, 0x54, 0xba, 0xd6, 0x1f, 0x1d, 0xdb, 0xc3, 0xe4, 0x07, 0xce, 0xc5, 0x73, 0xf1, - 0xcc, 0x89, 0xcb, 0xb7, 0x78, 0xb5, 0xa4, 0x86, 0x9d, 0x6a, 0x5c, 0xca, 0x03, 0xbd, 0x32, 0xc8, - 0x2b, 0xb3, 0x1b, 0xe4, 0x84, 0xd5, 0xdd, 0x9a, 0x5b, 0x5f, 0x3f, 0x91, 0x85, 0x32, 0xb1, 0x6d, - 0xd2, 0xc2, 0x29, 0xac, 0x71, 0xb7, 0x2b, 0x7a, 0x99, 0x0d, 0xba, 0xd1, 0x93, 0x27, 0xa3, 0x89, - 0x3c, 0x35, 0x42, 0x7a, 0x98, 0x1d, 0xa4, 0x69, 0x24, 0x79, 0x80, 0x0f, 0x04, 0x67, 0xec, 0x97, - 0x3d, 0x26, 0xdf, 0x3a, 0xe1, 0x66, 0xe8, 0x20, 0xcc, 0xf3, 0x3c, 0x9f, 0xd9, 0xf0, 0x90, 0x51, - 0x38, 0x76, 0x40, 0x9d, 0xcb, 0x50, 0x10, 0xe7, 0xde, 0x7a, 0xc7, 0xa9, 0x12, 0x70, 0x2e, 0x8f, - 0x3f, 0x8d, 0x7f, 0xaf, 0x75, 0x30, 0x3a, 0x8a, 0xda, 0xb2, 0xa7, 0x3a, 0xea, 0x09, 0xef, 0xc1, - 0xee, 0xea, 0x0b, 0x81, 0x5f, 0xf0, 0x13, 0x23, 0xdc, 0x77, 0x45, 0xfc, 0xd0, 0x78, 0x73, 0xcd, - 0xea, 0x16, 0x55, 0xad, 0x1d, 0x53, 0x48, 0x49, 0xa3, 0x93, 0x8e, 0x41, 0x75, 0xde, 0xc8, 0x4c, - 0x4b, 0x64, 0x18, 0x67, 0xa0, 0xc6, 0x19, 0xb4, 0xba, 0xe6, 0x65, 0x93, 0xe1, 0x7a, 0x71, 0x49, - 0x23, 0xf1, 0x61, 0xfb, 0xbd, 0xdb, 0x0e, 0x6b, 0x7e, 0x42, 0x84, 0x73, 0x41, 0x8c, 0xc1, 0x04, - 0xed, 0x0f, 0xa6, 0x79, 0x85, 0x09, 0xfd, 0x6b, 0x6d, 0x29, 0x2b, 0x1f, 0xbf, 0x11, 0x6e, 0x8a, - 0xb1, 0xae, 0xc6, 0xd2, 0x02, 0x28, 0x6d, 0x59, 0x9c, 0x6f, 0xae, 0xf3, 0xd2, 0xb5, 0x93, 0x40, - 0x7f, 0x8c, 0x3d, 0x55, 0x86, 0xca, 0x72, 0x72, 0x90, 0x14, 0x21, 0xd2, 0x0a, 0x50, 0x7f, 0xc0, - 0x2f, 0xb1, 0xfc, 0xfc, 0xa6, 0x0a, 0xe1, 0x23, 0xe5, 0xf8, 0xf3, 0x14, 0xfc, 0x0f, 0x14, 0xb8, - 0xae, 0x26, 0xea, 0xaa, 0xc4, 0x4e, 0xf2, 0xae, 0x44, 0x29, 0x2e, 0x1a, 0x78, 0x0b, 0x1c, 0x43, - 0xd0, 0x0f, 0x26, 0x1b, 0xb8, 0x4c, 0xd8, 0xf2, 0xc8, 0xd8, 0x5d, 0xa0, 0x26, 0x1b, 0xf6, 0xf8, - 0x6d, 0x32, 0x94, 0x7a, 0x0f, 0xd8, 0x22, 0x4b, 0x72, 0xee, 0xed, 0x1b, 0xef, 0xb5, 0x4f, 0x61, - 0xf7, 0x67, 0x44, 0xc5, 0x26, 0x78, 0x72, 0x20, 0xcb, 0x66, 0xc8, 0xa3, 0x12, 0x8f, 0xe8, 0x4a, - 0x3d, 0x3c, 0xf3, 0xb3, 0xe3, 0x55, 0x52, 0x6f, 0x2e, 0x88, 0x5d, 0x66, 0x5c, 0x9f, 0xc9, 0xde, - 0x4d, 0x5f, 0x3f, 0x19, 0xd8, 0xc9, 0x00, 0x78, 0x58, 0x49, 0x76, 0x7f, 0xc7, 0x96, 0x66, 0x5d, - 0xeb, 0x5d, 0x02, 0x62, 0xa5, 0x45, 0x5a, 0xee, 0x7f, 0x0a, 0xc6, 0x0b, 0x60, 0x61, 0x35, 0x0c, - 0x3a, 0xac, 0xaf, 0x61, 0x14, 0xfc, 0x78, 0x82, 0x30, 0xf5, 0x2a, 0xa4, 0x17, 0x9f, 0xce, 0x3c, - 0x45, 0x6b, 0x1b, 0x8e, 0x48, 0xfb, 0xc1, 0x32, 0x4b, 0x40, 0x9c, 0xa0, 0x27, 0x96, 0x87, 0xf4, - 0xaf, 0x29, 0xdd, 0x31, 0x1f, 0x95, 0xeb, 0x52, 0x1e, 0xcb, 0x90, 0x9d, 0x2c, 0x7a, 0xbc, 0xe1, - 0x14, 0x3b, 0x79, 0xaa, 0x00, 0x7b, 0x31, 0x5e, 0x68, 0xaa, 0x4b, 0x48, 0x83, 0xd6, 0xb6, 0x6b, - 0xdc, 0x52, 0xef, 0xb3, 0x6e, 0x2a, 0x2e, 0x35, 0x87, 0x1e, 0x75, 0xdf, 0x4a, 0xef, 0xd0, 0x04, - 0x10, 0x65, 0x94, 0xf5, 0xd8, 0xe8, 0x19, 0x9a, 0xad, 0x8f, 0x2c, 0x30, 0x85, 0x4f, 0x64, 0x6a, - 0x70, 0xee, 0xe5, 0x6c, 0x9a, 0xfe, 0x93, 0x0e, 0x7f, 0x39, 0xf9, 0x1c, 0xbc, 0x8a, 0xa0, 0x22, - 0x6f, 0x79, 0x88, 0x2a, 0x75, 0x09, 0x6e, 0x12, 0x12, 0x03, 0x29, 0xff, 0x8e, 0xce, 0x16, 0x2b, - 0xbf, 0x48, 0x9f, 0x7d, 0xa9, 0x73, 0x0f, 0x03, 0x5e, 0x43, 0x7a, 0x43, 0x8a, 0x3b, 0xd4, 0x5b, - 0x25, 0xc6, 0x13, 0xd1, 0xcb, 0xb4, 0xfc, 0x53, 0x06, 0x3c, 0x7c, 0x85, 0x21, 0xe2, 0x43, 0xc7, - 0x6e, 0xd2, 0xf7, 0x5f, 0x99, 0xc5, 0xf6, 0x3a, 0xa2, 0x58, 0xe9, 0x7f, 0xda, 0xa8, 0x41, 0x0e, - 0x80, 0x1c, 0x6a, 0x51, 0x0d, 0xf2, 0x3d, 0x10, 0xa4, 0x05, 0xb6, 0x18, 0xbf, 0x5f, 0x14, 0xbc, - 0xe9, 0x00, 0xec, 0xd3, 0x6c, 0xe5, 0xc0, 0xa9, 0x5a, 0x30, 0x42, 0x45, 0xa8, 0x4e, 0x3b, 0xa6, - 0x80, 0xf6, 0xa1, 0x4e, 0x1f, 0x35, 0xfd, 0x72, 0x98, 0x00, 0xb4, 0xab, 0x35, 0x32, 0x0e, 0x59, - 0x03, 0xca, 0x6f, 0xdf, 0x14, 0x79, 0xe6, 0xc5, 0xf9, 0x43, 0x6f, 0xf4, 0x42, 0xb7, 0x9f, 0x6a, - 0x5f, 0xa4, 0x57, 0xde, 0xb2, 0x8d, 0xef, 0xfd, 0x04, 0x64, 0x15, 0x11, 0x0b, 0x5e, 0x2f, 0x2b, - 0x4f, 0xb6, 0x0b, 0xb3, 0xe7, 0xf9, 0x42, 0xb1, 0x68, 0x8e, 0x31, 0xf2, 0xca, 0xe1, 0x63, 0x95, - 0x58, 0xd4, 0x03, 0x64, 0x63, 0x74, 0xdf, 0xa7, 0xa4, 0x9b, 0xc4, 0x93, 0xb3, 0x96, 0xa5, 0x1a, - 0xe2, 0xe8, 0xba, 0xd5, 0xf1, 0x8e, 0x17, 0x1a, 0x31, 0x32, 0xf5, 0x8d, 0xdd, 0x41, 0xd2, 0xd7, - 0xb8, 0x0c, 0x84, 0xba, 0x2d, 0xec, 0x06, 0x9e, 0xe5, 0x24, 0x6a, 0xd5, 0x12, 0x1d, 0xdd, 0xff, - 0x7b, 0xf0, 0x8f, 0x21, 0x84, 0xe4, 0xff, 0x10, 0xa9, 0xe8, 0x91, 0x25, 0xb0, 0x8c, 0x91, 0x40, - 0xfd, 0x3e, 0xe3, 0x05, 0xfb, 0x35, 0xb2, 0x34, 0x84, 0x24, 0xa8, 0xf9, 0xcb, 0xa4, 0x12, 0x53, - 0x31, 0x3e, 0x8e, 0x26, 0xc7, 0xf9, 0xf4, 0xa8, 0xd7, 0x75, 0x7a, 0x9d, 0x98, 0xac, 0x2d, 0x1c, - 0x55, 0x0d, 0x5c, 0x4b, 0x96, 0x65, 0x51, 0x83, 0x0f, 0xf0, 0x3c, 0x1c, 0x50, 0x4c, 0x31, 0x01, - 0x37, 0x41, 0x66, 0x3b, 0x05, 0xbd, 0x05, 0xed, 0xe1, 0xea, 0x84, 0xef, 0xb9, 0xf6, 0x4e, 0xdd, - 0x64, 0x90, 0x2e, 0x8b, 0x5d, 0xf8, 0x58, 0xa9, 0x87, 0xda, 0xe3, 0x47, 0xa0, 0x88, 0x3a, 0x2b, - 0x6f, 0x19, 0x26, 0x02, 0x1e, 0x0b, 0x12, 0x7c, 0x9b, 0x15, 0x49, 0x93, 0x2c, 0xd3, 0xf4, 0x75, - 0x9b, 0xab, 0x20, 0xab, 0x3d, 0xa6, 0x3a, 0xc5, 0xeb, 0x79, 0xd8, 0x5a, 0x92, 0x8e, 0x90, 0xe8, - 0x84, 0x99, 0xa2, 0x84, 0xe3, 0xfe, 0x21, 0xd7, 0x83, 0x02, 0x92, 0x71, 0x39, 0x27, 0x1a, 0x9a, - 0x67, 0x5f, 0xd0, 0xb1, 0x24, 0x7d, 0xfb, 0xaf, 0x10, 0x0c, 0xc7, 0x8c, 0x22, 0xe0, 0x7e, 0xd1, - 0x47, 0xfd, 0x58, 0xa2, 0x00, 0x3e, 0xc4, 0xb0, 0xfb, 0xfe, 0x30, 0xd3, 0x3f, 0x38, 0x66, 0xe9, - 0xef, 0x69, 0x3e, 0x58, 0x71, 0x11, 0xaa, 0x74, 0x40, 0x72, 0xe1, 0xac, 0xcd, 0x0c, 0xaf, 0x03, - 0xda, 0x7b, 0xa8, 0x1b, 0x9d, 0x64, 0x6d, 0xb2, 0x11, 0xa1, 0xef, 0x6d, 0x90, 0x27, 0x04, 0x16, - 0x80, 0xe0, 0x0f, 0xb0, 0xa4, 0xfa, 0x4c, 0xe2, 0xd8, 0x87, 0xe9, 0xbf, 0xf2, 0x3c, 0x70, 0xa6, - 0xc5, 0xc7, 0xe1, 0x83, 0x93, 0x81, 0x54, 0x6e, 0x5e, 0x90, 0x4d, 0x1d, 0xf5, 0x9c, 0xce, 0xab, - 0x54, 0x7e, 0xff, 0xdb, 0xc6, 0xb4, 0x95, 0x32, 0xb5, 0x5e, 0xd4, 0xfd, 0x35, 0x97, 0x51, 0xb3, - 0x67, 0x7d, 0x22, 0xdc, 0x52, 0x13, 0x12, 0x29, 0x5e, 0xcf, 0x27, 0x11, 0x53, 0xdc, 0xcb, 0x54, - 0xa6, 0x16, 0xed, 0xd6, 0x5f, 0xb8, 0x79, 0xbe, 0xfd, 0x16, 0x74, 0x01, 0x2d, 0xad, 0x17, 0x4e, - 0x8f, 0x1c, 0xcd, 0x78, 0xe3, 0xd1, 0x95, 0x42, 0x64, 0x57, 0x61, 0x78, 0x0c, 0xd5, 0x00, 0xe1, - 0x98, 0xd3, 0xf7, 0x66, 0x70, 0xf0, 0xb8, 0x51, 0x0b, 0xea, 0x8f, 0xd6, 0xa1, 0xd1, 0x1e, 0x6b, - 0x27, 0x74, 0x2c, 0xdb, 0x1e, 0xfe, 0x96, 0xe7, 0x98, 0xcf, 0x2a, 0x71, 0x22, 0x1c, 0x4f, 0xd9, - 0x80, 0xf5, 0xce, 0xd1, 0xbe, 0x80, 0x3c, 0xc9, 0x08, 0x82, 0x96, 0x09, 0xd7, 0xce, 0xdd, 0xde, - 0xad, 0x7c, 0x62, 0xa6, 0xf4, 0x3c, 0x40, 0x2e, 0x59, 0x9d, 0x86, 0x0f, 0x01, 0xcf, 0xaf, 0xdd, - 0x21, 0xe3, 0x22, 0x3d, 0x04, 0x22, 0xc1, 0x3d, 0x6c, 0x43, 0x4b, 0xd0, 0x1a, 0xe4, 0x0b, 0x76, - 0x6b, 0xb5, 0x5a, 0xa3, 0x8a, 0xf8, 0xf5, 0xb4, 0xe1, 0x33, 0x51, 0x10, 0xe5, 0x24, 0x8b, 0xa2, - 0xdb, 0xfe, 0xab, 0x9f, 0xd5, 0x3b, 0x22, 0xb0, 0x02, 0xa2, 0x71, 0x1e, 0xeb, 0x3e, 0xe6, 0x5c, - 0x75, 0x9f, 0x22, 0x26, 0x14, 0x3d, 0x6d, 0x1a, 0x5e, 0xb1, 0xbb, 0xc5, 0x56, 0x79, 0x43, 0x2a, - 0xf6, 0xce, 0xc5, 0xba, 0xc2, 0xed, 0x0c, 0xc3, 0x76, 0xd0, 0xd4, 0x42, 0x2d, 0x90, 0x1f, 0xd3, - 0x51, 0x6b, 0x52, 0xe6, 0x0b, 0x21, 0xe4, 0x2c, 0x74, 0xe5, 0x6b, 0xfe, 0x89, 0x43, 0x03, 0x33, - 0x2c, 0x80, 0xfb, 0x6d, 0xda, 0x39, 0x6d, 0xc1, 0xd1, 0xf5, 0xdb, 0x88, 0x2b, 0x9a, 0x78, 0x6f, - 0xa3, 0x4f, 0x9d, 0x87, 0xbe, 0xba, 0x5d, 0x3a, 0xab, 0xcc, 0x5d, 0x24, 0xa9, 0x13, 0xdd, 0x00, - 0x38, 0xd4, 0x26, 0xe6, 0x73, 0x00, 0x48, 0x41, 0x1a, 0x1a, 0xf9, 0xd3, 0xbb, 0x09, 0x75, 0xe7, - 0xe2, 0x7e, 0x76, 0x1d, 0xd3, 0x8f, 0x14, 0xe0, 0xc6, 0x2c, 0xee, 0xde, 0x14, 0xdb, 0x89, 0xeb, - 0xf0, 0xea, 0x0c, 0x4e, 0x4e, 0xee, 0xbd, 0xcc, 0xce, 0xe0, 0xd4, 0xd6, 0x79, 0x40, 0x1a, 0x95, - 0xd4, 0x0f, 0xce, 0xa6, 0xa6, 0xac, 0xeb, 0xb4, 0x2d, 0x6e, 0x60, 0x56, 0xc6, 0xe1, 0xc0, 0x7b, - 0x6e, 0xbe, 0x3d, 0xc4, 0x4d, 0x25, 0xcc, 0x84, 0xed, 0x7d, 0x5d, 0x19, 0x7e, 0xba, 0x19, 0xf6, - 0x91, 0x45, 0xad, 0x2c, 0x03, 0xbd, 0x97, 0xcc, 0x26, 0x67, 0x2e, 0xe7, 0xab, 0x73, 0x7c, 0x13, - 0x13, 0xc8, 0x30, 0xd4, 0x14, 0xcf, 0xe4, 0xef, 0x01, 0x52, 0x20, 0x64, 0x31, 0xe7, 0x68, 0x11, - 0x30, 0xc3, 0x54, 0xcd, 0xa2, 0x8c, 0xc5, 0xb1, 0x43, 0x9a, 0xc6, 0x56, 0xf3, 0xa4, 0xeb, 0x88, - 0x46, 0xb0, 0x69, 0x9e, 0xa3, 0x89, 0xcf, 0x1d, 0x9d, 0x60, 0xc8, 0x11, 0x98, 0x48, 0x57, 0xee, - 0xe5, 0x14, 0x8b, 0x4d, 0xc5, 0x9b, 0x17, 0x2d, 0x82, 0x1e, 0x75, 0x1a, 0x7b, 0xe6, 0xc8, 0x46, - 0x94, 0xa6, 0x28, 0x46, 0x40, 0x91, 0x0b, 0x47, 0xc0, 0x39, 0x3a, 0x42, 0x44, 0x91, 0x3d, 0x73, - 0x98, 0x6b, 0x2a, 0xda, 0x6f, 0xbc, 0x93, 0xad, 0x1f, 0x68, 0x13, 0x1c, 0x3c, 0xc2, 0x78, 0x1e, - 0x3e, 0x5e, 0x21, 0x5d, 0xc7, 0x5d, 0xd1, 0xda, 0x49, 0x71, 0xaa, 0xd7, 0x89, 0xb7, 0x86, 0xad, - 0xfa, 0xdc, 0x9b, 0x0d, 0x2a, 0xce, 0x7e, 0x53, 0x53, 0x68, 0x49, 0x0e, 0x1a, 0x33, 0xd7, 0xb1, - 0xdd, 0xe0, 0x55, 0xaa, 0x77, 0x2b, 0x36, 0x57, 0x5c, 0x16, 0x02, 0x95, 0xf8, 0x34, 0x52, 0x09, - 0x46, 0x0e, 0x0f, 0x0c, 0xfd, 0x69, 0x4b, 0x04, 0xa8, 0xa5, 0x23, 0x6e, 0x76, 0x34, 0x06, 0x6d, - 0x12, 0x46, 0x88, 0x5b, 0xdf, 0xe7, 0x72, 0x66, 0xdb, 0xdf, 0xfa, 0x5e, 0x58, 0x18, 0xc0, 0xa2, - 0x6e, 0xcd, 0x13, 0xf3, 0x75, 0x4a, 0xab, 0x21, 0x6d, 0xd8, 0x42, 0x5e, 0x75, 0x05, 0xe5, 0x7c, - 0x63, 0xf5, 0x63, 0x57, 0x8e, 0xef, 0x57, 0x94, 0x01, 0xab, 0xdf, 0xf3, 0x96, 0xa9, 0x01, 0xfd, - 0x32, 0xbe, 0x1f, 0xd2, 0x25, 0x9a, 0x6b, 0x6a, 0x2a, 0xf4, 0x56, 0x5f, 0x09, 0xaa, 0xe2, 0x16, - 0x09, 0x80, 0x10, 0x7b, 0xa1, 0x3c, 0x53, 0x2e, 0x51, 0x9f, 0xf9, 0xbd, 0x29, 0x17, 0x3a, 0xf8, - 0xc9, 0xf1, 0x80, 0x35, 0x02, 0x98, 0xb6, 0x14, 0x6c, 0x17, 0xb8, 0xc4, 0x7d, 0xb6, 0x5d, 0xe6, - 0xf7, 0xc7, 0x04, 0x07, 0x29, 0xf5, 0x2e, 0xa4, 0x7d, 0x7b, 0xd3, 0xc3, 0x22, 0x2a, 0x01, 0x1b, - 0x25, 0xe9, 0xc6, 0x4d, 0x64, 0x1c, 0x66, 0x10, 0x37, 0x2f, 0xb0, 0xc9, 0x7b, 0xa3, 0xf1, 0x70, - 0x2e, 0xa0, 0x09, 0xbf, 0x1c, 0xc1, 0x21, 0xa2, 0x33, 0x53, 0x6e, 0x87, 0xc1, 0x8f, 0x95, 0x76, - 0x15, 0x47, 0x9d, 0x89, 0xc4, 0x17, 0x7c, 0x11, 0x05, 0x37, 0x9c, 0x49, 0x28, 0x87, 0xc7, 0xb8, - 0x42, 0x0c, 0xe3, 0x91, 0xa3, 0xd6, 0x96, 0xaf, 0xcd, 0xe5, 0xed, 0xb7, 0x3f, 0x70, 0xed, 0x73, - 0xc1, 0x72, 0x06, 0x04, 0x7d, 0x83, 0x09, 0xd3, 0x57, 0x7e, 0x06, 0x2c, 0x47, 0x57, 0x07, 0xb2, - 0xa0, 0xb8, 0x51, 0x07, 0x03, 0x3b, 0x3d, 0x93, 0x73, 0x67, 0x13, 0xf5, 0x78, 0x06, 0x7c, 0x4f, - 0xc0, 0x99, 0x38, 0xc9, 0xd6, 0x24, 0x94, 0xba, 0x6c, 0xdf, 0x03, 0x22, 0xef, 0x7b, 0xf6, 0x77, - 0xa8, 0x9e, 0x3e, 0x16, 0x6a, 0x87, 0xdd, 0x3e, 0x17, 0xd4, 0x3c, 0xb0, 0x92, 0x3e, 0x75, 0x1e, - 0x70, 0xd1, 0x9b, 0xaf, 0xc3, 0xc1, 0xca, 0xc7, 0xa8, 0x89, 0xab, 0xe1, 0x4d, 0x04, 0x2e, 0x7f, - 0xf0, 0x20, 0x93, 0x8a, 0x8f, 0x15, 0x4e, 0x17, 0x6d, 0xdd, 0x35, 0xd0, 0x3d, 0xbc, 0x39, 0xa2, - 0xad, 0x82, 0xf2, 0xc2, 0x91, 0x32, 0xa6, 0xb9, 0x91, 0x56, 0x9d, 0xf6, 0x8f, 0x47, 0x83, 0xac, - 0x5a, 0x60, 0xde, 0x8a, 0x90, 0x5c, 0xf8, 0x5d, 0xac, 0xc4, 0xda, 0x59, 0xb2, 0xb3, 0x09, 0xad, - 0x4f, 0xb3, 0x4f, 0x9a, 0xa9, 0xdc, 0x7f, 0x72, 0x37, 0xdb, 0xb3, 0x5f, 0xe9, 0x42, 0xf7, 0xa7, - 0x0d, 0xc2, 0xda, 0xc4, 0xe2, 0x3f, 0xd2, 0xb1, 0x86, 0x99, 0xe2, 0xa8, 0x08, 0x72, 0x8f, 0x4d, - 0xcd, 0x2b, 0x99, 0x95, 0xe6, 0xc6, 0xc5, 0x1e, 0x67, 0xe0, 0x28, 0xcb, 0x18, 0x27, 0x99, 0xc6, - 0xd3, 0x97, 0x21, 0xdc, 0xee, 0xbf, 0xf2, 0xf8, 0x0e, 0x65, 0x6e, 0x5d, 0x98, 0xd9, 0x39, 0x68, - 0xe5, 0xc5, 0x20, 0x87, 0x79, 0x57, 0xde, 0xed, 0x17, 0xe7, 0x98, 0xe3, 0x92, 0x07, 0xed, 0x02, - 0xbc, 0xe5, 0xf5, 0x79, 0xb0, 0x11, 0x1a, 0x20, 0x52, 0x21, 0xc9, 0x0b, 0xd4, 0xca, 0x1c, 0x4f, - 0xe4, 0xcd, 0xe4, 0xcc, 0x77, 0x77, 0x40, 0x81, 0x9b, 0x40, 0x5e, 0x19, 0xa7, 0xb7, 0x91, 0x9d, - 0x65, 0x58, 0x8b, 0xb4, 0x3b, 0xfd, 0xf3, 0x06, 0x41, 0x4e, 0x68, 0xef, 0x8f, 0x09, 0x30, 0x26, - 0x0d, 0xbb, 0x0c, 0xf3, 0x1f, 0x20, 0x49, 0xf0, 0x59, 0xed, 0xac, 0x33, 0x38, 0x06, 0xf4, 0xc8, - 0x82, 0x9a, 0x14, 0x2f, 0xd2, 0x38, 0xd3, 0xcc, 0xe2, 0x94, 0x61, 0xb4, 0x87, 0x63, 0xc9, 0x48, - 0x6d, 0x10, 0x0e, 0xdc, 0xff, 0xa9, 0xd2, 0x94, 0xa4, 0xbe, 0x9a, 0x41, 0x10, 0xd3, 0xae, 0x23, - 0xb4, 0x9b, 0xca, 0x7c, 0x66, 0x90, 0x05, 0x86, 0x82, 0xed, 0xe0, 0xec, 0x7a, 0x70, 0xd1, 0xf8, - 0x93, 0xc9, 0x00, 0xb2, 0xe1, 0xbb, 0x6a, 0x70, 0xd8, 0x55, 0x6e, 0x93, 0x02, 0x3d, 0xcd, 0x47, - 0x5e, 0x47, 0x44, 0xe4, 0x93, 0x29, 0x62, 0x21, 0xad, 0xda, 0x86, 0x3f, 0x35, 0x1d, 0xbf, 0xc2, - 0xf5, 0x68, 0x90, 0x54, 0xbe, 0x4c, 0x0d, 0x2c, 0x45, 0xec, 0x2f, 0x20, 0xf1, 0xed, 0xec, 0xd0, - 0x14, 0x9e, 0xf9, 0x68, 0xa0, 0x51, 0x93, 0xf5, 0xb6, 0xf2, 0x20, 0xcb, 0x0c, 0x37, 0x14, 0x56, - 0xbf, 0xc9, 0xe5, 0x22, 0xa4, 0x1f, 0xdf, 0xa7, 0xc5, 0x94, 0x12, 0xaa, 0xf0, 0x57, 0x0f, 0xe2, - 0x6e, 0x01, 0x48, 0xb2, 0x03, 0xac, 0xe2, 0xf4, 0xca, 0x29, 0x2a, 0xc8, 0x07, 0x01, 0x27, 0x2e, - 0x9b, 0x58, 0x88, 0xf7, 0x8b, 0x21, 0x19, 0xa2, 0x70, 0xb3, 0xd0, 0xa3, 0xf1, 0xad, 0x81, 0xbc, - 0x45, 0xa5, 0x82, 0xe2, 0x2b, 0x5c, 0x34, 0xb3, 0x3b, 0x94, 0xb8, 0xed, 0x09, 0xde, 0x15, 0xe8, - 0xba, 0xa3, 0xd3, 0xf7, 0x6e, 0xea, 0x2d, 0xb6, 0x22, 0xa9, 0x88, 0xfe, 0xe8, 0xc6, 0x69, 0x87, - 0xf4, 0x05, 0xe2, 0x12, 0x8e, 0xd1, 0x65, 0xea, 0x5a, 0x54, 0x81, 0x47, 0xd7, 0x28, 0xac, 0x97, - 0xb1, 0xa5, 0x54, 0x7f, 0x6d, 0x6b, 0x4b, 0xca, 0x1c, 0x55, 0x28, 0x9a, 0xf2, 0x76, 0x22, 0x1e, - 0x6c, 0x51, 0xcb, 0xb7, 0x1b, 0x23, 0x95, 0x4f, 0x00, 0x6c, 0x8f, 0x8a, 0x16, 0xa6, 0x0f, 0x89, - 0x1c, 0x2d, 0x47, 0x59, 0xe0, 0x62, 0x3a, 0xa9, 0x1c, 0xd0, 0xb3, 0xdb, 0xd8, 0xd9, 0x40, 0xaa, - 0xb1, 0xa0, 0x02, 0x04, 0xdf, 0x42, 0x09, 0x2d, 0x26, 0x0a, 0x2d, 0x3a, 0x46, 0x30, 0x31, 0xb9, - 0xd7, 0xac, 0x7f, 0xd5, 0x40, 0x7d, 0xe0, 0x93, 0x97, 0x78, 0x2f, 0x56, 0xf9, 0x80, 0xb6, 0x46, - 0x69, 0x1e, 0x51, 0xd9, 0xd1, 0x94, 0x7c, 0x44, 0x9b, 0x7e, 0xf2, 0xa3, 0x1b, 0x77, 0x01, 0x83, - 0x27, 0x28, 0xbe, 0x78, 0x54, 0x72, 0x63, 0x07, 0xc3, 0xf5, 0x12, 0x9b, 0xd8, 0xf5, 0x63, 0x21, - 0x67, 0x3c, 0x09, 0x8b, 0x05, 0x9a, 0xe8, 0xec, 0x95, 0xce, 0x8b, 0x01, 0xcd, 0xae, 0x95, 0x5e, - 0x37, 0x66, 0x4a, 0xff, 0xae, 0x61, 0x87, 0xf9, 0x61, 0x8b, 0xe7, 0x50, 0x95, 0x53, 0x49, 0x85, - 0xd0, 0x21, 0x54, 0x07, 0xa5, 0xd1, 0x4b, 0x04, 0x80, 0xd3, 0xd4, 0xda, 0x28, 0x91, 0xd2, 0x75, - 0x95, 0x01, 0x25, 0x5b, 0x71, 0x9a, 0xa1, 0x09, 0xfa, 0xc4, 0x70, 0xeb, 0x66, 0x75, 0x7f, 0x69, - 0x6d, 0x5b, 0x4c, 0x30, 0x74, 0xfe, 0xdd, 0xc7, 0xaa, 0x79, 0x08, 0x49, 0xe0, 0x6f, 0x7e, 0x58, - 0x4d, 0x99, 0x51, 0xa8, 0x4c, 0x7a, 0x80, 0xf7, 0x44, 0xc8, 0xba, 0x0f, 0x58, 0x19, 0xb7, 0x49, - 0x1a, 0xb9, 0x80, 0xbc, 0xd2, 0x4e, 0x9c, 0x51, 0x46, 0x3a, 0x43, 0xab, 0xc2, 0x13, 0x7c, 0xb9, - 0xaa, 0x93, 0x20, 0x15, 0x15, 0xfa, 0x8c, 0xc3, 0xf7, 0x58, 0x74, 0x37, 0xff, 0xe5, 0x69, 0xb5, - 0xc2, 0x27, 0x04, 0xbd, 0xf0, 0x41, 0xe7, 0xed, 0x8d, 0x71, 0x82, 0x8e, 0xff, 0x0b, 0xd5, 0xf9, - 0x0c, 0xcf, 0xe1, 0x6d, 0x8d, 0x2b, 0x21, 0x5a, 0x67, 0xff, 0xa5, 0xb6, 0x69, 0xb7, 0xbb, 0x16, - 0xe5, 0xf3, 0x4a, 0x08, 0x49, 0xfd, 0x23, 0x26, 0x84, 0x99, 0x69, 0x1c, 0x82, 0x2a, 0x98, 0xd1, - 0x07, 0x86, 0x8f, 0xea, 0x6c, 0x26, 0x3c, 0x17, 0xd2, 0x68, 0x67, 0x79, 0x3a, 0x74, 0xc8, 0xb6, - 0x3d, 0x09, 0x92, 0xc6, 0xfa, 0x7d, 0x04, 0x2e, 0x8c, 0xd4, 0xd4, 0x08, 0x4a, 0x51, 0x29, 0xf8, - 0xa4, 0x4c, 0xf9, 0x06, 0xbe, 0xe6, 0xc8, 0x44, 0x70, 0x73, 0x92, 0xe2, 0x0c, 0x2c, 0xac, 0x60, - 0x77, 0xdb, 0x80, 0x06, 0xe2, 0x21, 0xba, 0x9d, 0x7e, 0x7f, 0xef, 0x3c, 0x18, 0xb3, 0x4a, 0x1b, - 0xb3, 0x25, 0x6d, 0xaa, 0x8c, 0x1e, 0x71, 0xea, 0x21, 0xca, 0xe8, 0x12, 0x7e, 0x2d, 0x82, 0xa4, - 0xd5, 0xf3, 0x48, 0x31, 0x37, 0xe8, 0xb2, 0xa4, 0x34, 0x41, 0x31, 0xc7, 0x2a, 0x10, 0xd1, 0x9d, - 0x41, 0x00, 0xc1, 0xd8, 0xa6, 0xcb, 0x13, 0x1e, 0x2b, 0x9c, 0x61, 0x47, 0x33, 0xf7, 0xcc, 0x16, - 0x99, 0xfe, 0xfb, 0xd2, 0xcc, 0x09, 0x57, 0x4e, 0x24, 0xd0, 0xb6, 0x1c, 0x36, 0xcd, 0xdb, 0xd7, - 0xda, 0x41, 0xdd, 0x5a, 0x23, 0x85, 0xa4, 0xda, 0x07, 0x02, 0xe2, 0x8a, 0xe6, 0x95, 0xa1, 0xa0, - 0x95, 0x7b, 0x19, 0x57, 0xd5, 0xf8, 0xd9, 0x5f, 0x13, 0xe9, 0x47, 0x04, 0xff, 0x1e, 0x59, 0x01, - 0xdb, 0x3d, 0xa3, 0x15, 0x57, 0xc1, 0x53, 0x53, 0x21, 0x89, 0x3b, 0x24, 0x93, 0xdc, 0x06, 0xea, - 0x60, 0x9e, 0xce, 0x94, 0xf3, 0x20, 0xb1, 0x88, 0x58, 0x33, 0xed, 0x39, 0x56, 0xb5, 0x60, 0x67, - 0x57, 0xe3, 0x3f, 0xfc, 0x56, 0x7b, 0x1a, 0xbf, 0x5a, 0xd2, 0x83, 0x81, 0xd6, 0x8f, 0xcb, 0x9b, - 0x52, 0x9e, 0xea, 0x1c, 0xd9, 0x10, 0x43, 0x58, 0x8a, 0x71, 0xc2, 0xf1, 0x7c, 0xee, 0xd0, 0xe2, - 0x9f, 0xb2, 0x9e, 0x7a, 0x72, 0xb2, 0x8c, 0xa5, 0xee, 0x40, 0x1a, 0xb3, 0xe8, 0xe4, 0xe3, 0x64, - 0x53, 0x9c, 0x73, 0xe2, 0xcd, 0xff, 0x4f, 0x63, 0x15, 0x68, 0x5d, 0x81, 0x81, 0x87, 0x3a, 0x0f, - 0xcd, 0x20, 0x94, 0x5b, 0xf8, 0xfc, 0x43, 0x06, 0xe4, 0xe2, 0x90, 0x03, 0x77, 0x5e, 0x88, 0x3f, - 0x81, 0x5d, 0xe9, 0xc1, 0xef, 0xe5, 0x9c, 0x6f, 0xfe, 0x0a, 0x07, 0xc4, 0xec, 0x1c, 0x92, 0xfa, - 0x8c, 0xd1, 0x34, 0x78, 0xa0, 0x36, 0x97, 0x33, 0x42, 0xe5, 0x62, 0x44, 0xca, 0xc4, 0xe9, 0x7d, - 0x77, 0x86, 0x7f, 0xa8, 0x15, 0xec, 0x1f, 0xc8, 0x6a, 0x8f, 0x3a, 0xb0, 0x68, 0xf7, 0xf6, 0x29, - 0x61, 0x1d, 0xf1, 0xe5, 0xa7, 0xc8, 0x82, 0x4e, 0x41, 0x12, 0x8b, 0xab, 0xc2, 0x46, 0xff, 0x21, - 0x5a, 0xc5, 0x26, 0x55, 0x0f, 0x30, 0x96, 0x92, 0x0b, 0x2e, 0xe9, 0x31, 0x5c, 0x58, 0xa7, 0x70, - 0x98, 0x7a, 0x7a, 0xff, 0xff, 0x5a, 0xc6, 0x42, 0xa3, 0x7f, 0x40, 0x1f, 0xba, 0xf5, 0xba, 0x18, - 0x92, 0xed, 0x90, 0x42, 0x19, 0x59, 0xae, 0x37, 0x5a, 0xc3, 0x35, 0x31, 0x4d, 0xfb, 0x8e, 0xa9, - 0xf0, 0xd3, 0xf3, 0xa6, 0x53, 0x0b, 0x85, 0x38, 0x93, 0x94, 0x40, 0x7c, 0x40, 0xdd, 0x70, 0x32, - 0x20, 0xc6, 0xd6, 0x75, 0xb0, 0x83, 0xba, 0xf5, 0xa9, 0xeb, 0xa9, 0xb6, 0x33, 0xe2, 0x11, 0x89, - 0x22, 0xde, 0xbd, 0x06, 0xd5, 0x57, 0x0a, 0x0c, 0x64, 0x2b, 0xc1, 0x2a, 0x63, 0x5d, 0x7f, 0x75, - 0x87, 0x8a, 0x59, 0xea, 0xfa, 0x0a, 0xfb, 0x46, 0x44, 0x07, 0xdd, 0x2e, 0x33, 0x96, 0xab, 0xa5, - 0x5a, 0xfd, 0xac, 0x4f, 0x34, 0x37, 0xa3, 0xa2, 0x8a, 0x7e, 0xdd, 0xfb, 0xc0, 0x01, 0x47, 0xf5, - 0xbc, 0xa7, 0x7f, 0xb1, 0x18, 0x8b, 0xae, 0x51, 0xba, 0xed, 0x6e, 0x18, 0x65, 0xef, 0xc4, 0xa1, - 0x70, 0xcb, 0x85, 0x96, 0x9a, 0x90, 0xc7, 0xbd, 0xa7, 0xa3, 0x3a, 0x90, 0xc7, 0xc7, 0x27, 0xea, - 0xdd, 0x7f, 0x0c, 0xaa, 0x9b, 0xe7, 0xcf, 0x11, 0xe4, 0x49, 0xaf, 0x8f, 0xf4, 0xc9, 0xa3, 0x56, - 0x1f, 0x3d, 0xe3, 0x27, 0x01, 0x80, 0xcc, 0x6b, 0xe2, 0xdc, 0xc2, 0x3f, 0x5e, 0x51, 0xb2, 0xbb, - 0xe7, 0xbe, 0x97, 0x76, 0xea, 0x6e, 0x6e, 0x6d, 0x60, 0xa2, 0x44, 0x2a, 0x36, 0x3f, 0x73, 0x24, - 0x03, 0xc4, 0x96, 0x32, 0xc0, 0xe9, 0x0f, 0x40, 0xfd, 0x01, 0x20, 0xd0, 0x71, 0x10, 0xcf, 0x7e, - 0xb3, 0x9e, 0xae, 0x74, 0xda, 0x2f, 0x77, 0x07, 0x7d, 0x8d, 0xeb, 0x58, 0x43, 0x9e, 0x9a, 0xdd, - 0xbf, 0x91, 0x29, 0x18, 0xd4, 0x60, 0xf5, 0x24, 0x14, 0xcf, 0xb3, 0x3c, 0xb6, 0xe6, 0xa3, 0xef, - 0x77, 0x2e, 0xe8, 0xde, 0xac, 0x83, 0x9a, 0x65, 0x97, 0xe6, 0x5b, 0x65, 0x40, 0x98, 0x41, 0x1c, - 0xc5, 0xe5, 0x34, 0xd6, 0x8c, 0x71, 0xf1, 0x17, 0xfa, 0xdc, 0x3b, 0xca, 0x05, 0xb6, 0xe8, 0xaf, - 0x20, 0xd8, 0xa4, 0x83, 0x78, 0x9f, 0xf9, 0x73, 0xaf, 0x5c, 0x1d, 0xe7, 0x7c, 0x0a, 0xb4, 0x9f, - 0x77, 0xd0, 0xce, 0x9c, 0x5c, 0x74, 0xf8, 0xcf, 0xce, 0x38, 0xef, 0x26, 0xfa, 0xc8, 0x45, 0x02, - 0x0e, 0x2d, 0x4b, 0xd0, 0xaa, 0x64, 0x17, 0xdd, 0x8b, 0x32, 0x22, 0x70, 0xda, 0x4a, 0x18, 0x04, - 0x60, 0x91, 0xca, 0x8d, 0xfe, 0x34, 0x90, 0xee, 0x4e, 0x0c, 0x1d, 0x2a, 0x2a, 0x51, 0x0c, 0x9b, - 0x90, 0xcc, 0xe2, 0xe4, 0x39, 0x34, 0x98, 0x06, 0x37, 0x71, 0xbb, 0x38, 0x02, 0x2e, 0x6c, 0x96, - 0x42, 0x57, 0x61, 0xa7, 0x69, 0x35, 0xaa, 0x6a, 0xba, 0x24, 0x0f, 0xbb, 0x88, 0x3f, 0xd9, 0x0c, - 0xea, 0xe7, 0x81, 0x44, 0x9c, 0x53, 0xfe, 0x0a, 0xa5, 0x90, 0xf8, 0x65, 0x78, 0xb1, 0x04, 0xd6, - 0x0d, 0xfb, 0xe0, 0xaf, 0xb7, 0xca, 0xec, 0xed, 0x72, 0x97, 0x43, 0x8f, 0xb5, 0x27, 0x70, 0xf2, - 0x08, 0x2d, 0x64, 0x2e, 0xa5, 0xfa, 0x76, 0x68, 0x24, 0x66, 0x0c, 0x97, 0x02, 0x05, 0x4c, 0xd8, - 0x82, 0x05, 0xcc, 0xc7, 0x83, 0xc0, 0xa6, 0x3e, 0x71, 0x99, 0x83, 0x46, 0x99, 0xd2, 0x1b, 0xfc, - 0xc5, 0xe7, 0x58, 0x04, 0x81, 0x2f, 0x23, 0x99, 0x84, 0xbd, 0x71, 0x2b, 0xd1, 0x23, 0x5d, 0x12, - 0x6c, 0xbe, 0xe2, 0x28, 0xde, 0x20, 0x68, 0x18, 0x51, 0x3c, 0x92, 0x78, 0x13, 0x66, 0x05, 0x10, - 0x43, 0xda, 0xf8, 0xaa, 0xbf, 0x11, 0x6d, 0x87, 0x8a, 0x2b, 0xcc, 0x1a, 0x5d, 0x46, 0x47, 0x69, - 0x2a, 0x28, 0x25, 0x94, 0xe3, 0x4d, 0x0c, 0x5c, 0x77, 0x8d, 0x00, 0x15, 0xb2, 0x48, 0xc0, 0x3c, - 0x12, 0xfd, 0x80, 0x22, 0x20, 0x81, 0x4e, 0x39, 0x6b, 0x3c, 0x3d, 0x12, 0x81, 0xc0, 0x0d, 0x0f, - 0xba, 0x22, 0x92, 0xfb, 0xd1, 0xdd, 0xd7, 0x66, 0xf3, 0xb7, 0xaf, 0x10, 0x57, 0x24, 0x01, 0x61, - 0x89, 0x86, 0x0b, 0x0e, 0x70, 0x21, 0x74, 0x08, 0x43, 0x4a, 0xd1, 0x3f, 0xb1, 0xec, 0xa1, 0x66, - 0xe2, 0xee, 0xf3, 0x9f, 0x61, 0x32, 0x14, 0x3e, 0x7a, 0x74, 0xef, 0xdd, 0x09, 0x6d, 0xec, 0xcb, - 0xb0, 0xe5, 0x82, 0x07, 0xa9, 0xbe, 0x27, 0x92, 0x9b, 0x91, 0x44, 0x9b, 0x7b, 0x7f, 0xef, 0xca, - 0x04, 0x11, 0x1f, 0x8d, 0x57, 0xe7, 0x5c, 0xd8, 0x0a, 0x9c, 0xc9, 0x33, 0x1c, 0x47, 0xf2, 0xe3, - 0x80, 0x76, 0x54, 0x1f, 0x3d, 0x50, 0x6d, 0x04, 0x5d, 0x11, 0x45, 0x97, 0xaa, 0x69, 0xe2, 0x59, - 0x99, 0xc2, 0x89, 0x0c, 0x7d, 0xd5, 0x01, 0x04, 0x81, 0xbc, 0x1c, 0x79, 0xd8, 0xf6, 0x1c, 0xf1, - 0xdf, 0xc6, 0x11, 0x24, 0xcc, 0xd8, 0x9a, 0x08, 0x3a, 0x2b, 0x7a, 0xd5, 0xf9, 0x91, 0x5d, 0x90, - 0x4f, 0xcf, 0x98, 0x37, 0x10, 0xdc, 0xd6, 0x37, 0x02, 0x30, 0x4b, 0x9a, 0x39, 0x2a, 0x3f, 0x64, - 0x9b, 0x40, 0x07, 0x7e, 0xf4, 0x58, 0xfc, 0x97, 0x26, 0xfe, 0x71, 0x85, 0xb2, 0x02, 0x17, 0x0e, - 0xc1, 0x1c, 0x5b, 0xc6, 0x60, 0x76, 0x95, 0xf8, 0x9c, 0x69, 0xdd, 0x47, 0x4d, 0xcf, 0x56, 0x5a, - 0xcf, 0x62, 0x84, 0x49, 0x3d, 0x5d, 0xaa, 0xaa, 0xc1, 0x96, 0x2b, 0x30, 0xba, 0x5c, 0xb6, 0x86, - 0x88, 0x4a, 0xa1, 0x0a, 0x8e, 0x90, 0x75, 0xe3, 0xaa, 0x21, 0xf1, 0x03, 0x0a, 0x5f, 0x77, 0x11, - 0x32, 0xb8, 0xd9, 0xa9, 0x11, 0x28, 0xd8, 0x09, 0xae, 0xad, 0x87, 0xad, 0x53, 0x22, 0x92, 0x6f, - 0x5a, 0x8f, 0x3e, 0x83, 0xbd, 0x5b, 0xf3, 0x29, 0x6c, 0x99, 0x9f, 0xb9, 0x19, 0x55, 0x9a, 0x61, - 0x1d, 0x5a, 0xa2, 0xe0, 0x0e, 0xe5, 0x40, 0xc8, 0x2a, 0x7f, 0xfd, 0x8a, 0xfb, 0x0b, 0xf0, 0xf4, - 0x63, 0x48, 0x88, 0x1a, 0xb0, 0x42, 0xdc, 0x42, 0xf7, 0x70, 0xac, 0x10, 0xc0, 0x28, 0xe2, 0x33, - 0xf8, 0xf2, 0xb8, 0xb5, 0xfb, 0xef, 0xec, 0xd9, 0x0f, 0xf9, 0x56, 0x9a, 0x2c, 0xb0, 0x9a, 0x75, - 0xa3, 0xd6, 0xdc, 0xe4, 0xbc, 0xf5, 0x15, 0x1d, 0xda, 0x97, 0xf0, 0x70, 0x0f, 0xc3, 0xa8, 0x69, - 0xcf, 0x9d, 0x17, 0xbc, 0x10, 0x65, 0xf8, 0xe7, 0x3a, 0x6f, 0xaa, 0x62, 0xac, 0xf5, 0x79, 0x31, - 0x09, 0xb5, 0x26, 0x3c, 0x31, 0x94, 0xe6, 0x65, 0x44, 0xc0, 0x5a, 0x50, 0x90, 0xf2, 0xc4, 0x4c, - 0x21, 0x9d, 0x2b, 0xa8, 0xb7, 0xf6, 0xfe, 0x99, 0x92, 0xcd, 0x19, 0xa7, 0xe8, 0x88, 0xf5, 0xd0, - 0xbf, 0x06, 0xdc, 0x9e, 0x12, 0xd3, 0x89, 0x79, 0x2a, 0xb8, 0xae, 0xf8, 0xba, 0x70, 0x5d, 0xd7, - 0x84, 0xe0, 0xa6, 0x09, 0x99, 0xfa, 0x30, 0x58, 0x09, 0x0c, 0x5c, 0xf2, 0xbe, 0x99, 0x5c, 0x0f, - 0x00, 0x2e, 0x55, 0x12, 0xcc, 0x5c, 0xb5, 0xca, 0xfe, 0x6a, 0x1f, 0x23, 0x4a, 0xf7, 0xd5, 0x35, - 0xda, 0x14, 0xd2, 0x65, 0xf7, 0x14, 0x61, 0x07, 0x32, 0xbd, 0x98, 0xeb, 0x99, 0x3f, 0xb2, 0x6b, - 0x3c, 0x8e, 0xf9, 0x50, 0x30, 0xce, 0x0e, 0x81, 0x12, 0x97, 0xa8, 0x42, 0xe8, 0xf7, 0xf5, 0x8b, - 0x88, 0x4b, 0x0a, 0x1e, 0x39, 0x9d, 0x07, 0x5d, 0x3f, 0x46, 0x9b, 0xf1, 0x77, 0xb2, 0xbb, 0xf1, - 0xf5, 0x75, 0x88, 0x7b, 0xf7, 0x3d, 0xb2, 0x73, 0x12, 0x29, 0x60, 0x99, 0x96, 0x82, 0x2e, 0xda, - 0xb4, 0xc9, 0x24, 0x0b, 0x00, 0xb5, 0x0e, 0x5d, 0xed, 0x5f, 0x84, 0x4a, 0x20, 0x1b, 0xe7, 0xb0, - 0x8a, 0x0f, 0x8c, 0x14, 0x27, 0x12, 0xbf, 0x49, 0x87, 0xb0, 0xb2, 0x8c, 0x5d, 0xa4, 0x3e, 0xd1, - 0x6c, 0x99, 0xbe, 0x59, 0x57, 0x39, 0xfb, 0x0a, 0x61, 0x95, 0xda, 0x6c, 0x9d, 0x55, 0x46, 0xd5, - 0x56, 0xbb, 0x54, 0xac, 0x9d, 0x4c, 0xcd, 0xb8, 0x19, 0xd5, 0xae, 0x53, 0x6b, 0x44, 0xca, 0x2f, - 0x60, 0x69, 0x25, 0x5c, 0x0a, 0xa8, 0xc5, 0x88, 0xb3, 0x1c, 0x51, 0x99, 0xae, 0x8e, 0xdc, 0x9a, - 0xc6, 0x3e, 0xf8, 0xf5, 0xb6, 0xaf, 0x44, 0xb3, 0x8f, 0x6e, 0x32, 0x78, 0xa6, 0xd0, 0xc6, 0xe8, - 0x93, 0xee, 0x87, 0x48, 0xb6, 0x43, 0x4c, 0x8e, 0x62, 0x21, 0xf4, 0xb0, 0xf4, 0xc0, 0xfa, 0xe4, - 0x4c, 0xb9, 0xbc, 0xb9, 0x04, 0x21, 0x9f, 0x72, 0x3a, 0x70, 0x60, 0xaa, 0x81, 0x95, 0x2d, 0x5d, - 0x15, 0x83, 0x00, 0x25, 0x60, 0x7c, 0x7d, 0x5f, 0xf6, 0xc3, 0xdf, 0x8e, 0x7c, 0xc3, 0x8f, 0x5f, - 0x72, 0xfa, 0xf8, 0x29, 0x27, 0xd3, 0xed, 0xae, 0xce, 0xbc, 0x09, 0xab, 0xf4, 0x5e, 0x0b, 0x20, - 0x21, 0x7f, 0xc0, 0x7b, 0x35, 0xaa, 0x72, 0xbb, 0x2b, 0x9a, 0xb8, 0xb7, 0x9c, 0x44, 0x9a, 0x50, - 0xbb, 0x04, 0x01, 0xe8, 0x7d, 0x1b, 0x04, 0x97, 0x1a, 0xe0, 0x95, 0xbc, 0xd8, 0xea, 0xc2, 0x62, - 0x83, 0x81, 0xe8, 0xa1, 0x50, 0xba, 0x4c, 0xe4, 0x8b, 0xef, 0x5c, 0xa5, 0xe5, 0xec, 0x6d, 0x2c, - 0x53, 0xe8, 0x57, 0x59, 0x8a, 0xa7, 0xb0, 0x8a, 0xd5, 0x93, 0xc5, 0x81, 0xda, 0x4d, 0x6f, 0xdf, - 0x42, 0xdc, 0xa3, 0x1a, 0x36, 0x9d, 0xb2, 0x0d, 0x7e, 0x17, 0x61, 0xb9, 0xba, 0x3c, 0xe9, 0x01, - 0xe5, 0x30, 0x99, 0x04, 0xe9, 0x41, 0xe1, 0x09, 0xe4, 0xa9, 0x3a, 0x4d, 0x52, 0x36, 0x12, 0x89, - 0x2d, 0xc2, 0xb9, 0x91, 0x96, 0x07, 0x7f, 0xc7, 0xe1, 0x95, 0x02, 0xd2, 0xe2, 0xfc, 0x0b, 0xbe, - 0xd9, 0x32, 0x1e, 0x61, 0x53, 0x61, 0x09, 0xbb, 0x13, 0xa7, 0x22, 0xca, 0xb6, 0x30, 0x50, 0x8e, - 0x7e, 0x82, 0x21, 0x0a, 0x58, 0x2a, 0xfb, 0x9b, 0x5b, 0x4e, 0x98, 0x2e, 0x16, 0x3d, 0x7a, 0xba, - 0x90, 0xf5, 0xc9, 0x53, 0x1a, 0x85, 0x49, 0xc1, 0x40, 0x44, 0xff, 0x7a, 0x68, 0x32, 0x44, 0x96, - 0xae, 0xea, 0x35, 0x0c, 0xda, 0x2f, 0xef, 0x8e, 0x48, 0x0f, 0x12, 0xf6, 0xcd, 0xba, 0x47, 0x49, - 0xd5, 0xe3, 0x5c, 0xad, 0x1e, 0x8f, 0x35, 0xde, 0x25, 0x65, 0x80, 0xfa, 0x42, 0x5b, 0xc0, 0x9b, - 0x6d, 0x4f, 0x13, 0xde, 0x9f, 0x9f, 0xa4, 0xb4, 0x01, 0x23, 0x3c, 0x5a, 0x8c, 0x9e, 0xac, 0x53, - 0xec, 0xd4, 0xe0, 0xf2, 0x8e, 0x02, 0x24, 0xdb, 0x83, 0x2f, 0x19, 0xcd, 0x02, 0x01, 0x79, 0xee, - 0x2c, 0xe9, 0x07, 0xda, 0x0d, 0x03, 0xa7, 0x5f, 0xc2, 0x5d, 0xda, 0x10, 0x66, 0x67, 0x72, 0x2a, - 0x0f, 0x8e, 0xac, 0x38, 0xf8, 0x0f, 0xff, 0xed, 0x82, 0xee, 0x84, 0x3f, 0xc4, 0x2c, 0x1b, 0x73, - 0x7c, 0xf4, 0x4a, 0xa1, 0x05, 0x9e, 0xd8, 0xc1, 0x77, 0x79, 0xc2, 0x01, 0x89, 0x8a, 0xb3, 0x38, - 0x0e, 0x14, 0x12, 0xaa, 0x2e, 0xb8, 0xae, 0x66, 0x4e, 0x66, 0x4f, 0x52, 0x0b, 0xaf, 0x96, 0xe9, - 0x83, 0xda, 0x1d, 0xfc, 0x48, 0x00, 0x9f, 0xdb, 0xfd, 0x39, 0xe6, 0xd4, 0x40, 0xbc, 0x83, 0x8a, - 0x57, 0xe8, 0x0a, 0xcc, 0x48, 0xb4, 0x00, 0x73, 0x01, 0x7c, 0x7d, 0x9a, 0x29, 0x8f, 0xa3, 0x51, - 0x16, 0xb3, 0x36, 0xe4, 0x1d, 0xeb, 0x5c, 0x5a, 0x1c, 0x09, 0x49, 0x8c, 0x29, 0xd6, 0xf0, 0xae, - 0xe0, 0x8b, 0xb0, 0x4b, 0x93, 0xfa, 0xa9, 0xbb, 0x50, 0x95, 0x0c, 0x0c, 0xdc, 0x21, 0xc1, 0x77, - 0xf1, 0x77, 0xdc, 0x5f, 0xee, 0x35, 0x48, 0xb5, 0xc9, 0x30, 0xe4, 0x32, 0x41, 0x78, 0x1f, 0xe9, - 0x3a, 0xb1, 0xb4, 0x96, 0xbd, 0x9f, 0x7c, 0x68, 0xf3, 0x8f, 0x05, 0x4a, 0xf5, 0xd3, 0xb1, 0xba, - 0x81, 0x2d, 0x83, 0xe0, 0x66, 0xf2, 0xb7, 0x4f, 0xf4, 0x88, 0x2f, 0xe0, 0x7e, 0xa4, 0xf7, 0x49, - 0x36, 0x05, 0xe0, 0x7e, 0xab, 0xdc, 0x1e, 0xab, 0x60, 0xbd, 0xd0, 0xb3, 0xf8, 0x16, 0x64, 0x1b, - 0x1f, 0x0a, 0x83, 0x67, 0x2e, 0x87, 0xe8, 0x6c, 0xda, 0x05, 0x70, 0x58, 0xa7, 0x5f, 0x72, 0xca, - 0x93, 0xbb, 0xfa, 0x92, 0x45, 0x12, 0x94, 0xd3, 0x55, 0xa0, 0xcd, 0x21, 0xf1, 0x14, 0x2c, 0x09, - 0x08, 0xff, 0x7e, 0xad, 0xda, 0x72, 0xd3, 0x52, 0xde, 0x1f, 0x63, 0x46, 0x6b, 0x80, 0xa0, 0x00, - 0xed, 0x5e, 0xba, 0x1b, 0xaf, 0x7e, 0x3d, 0x7a, 0xb9, 0x66, 0x79, 0x68, 0x17, 0xeb, 0xaf, 0x1d, - 0xef, 0x3e, 0x7c, 0x64, 0x61, 0x81, 0x1d, 0xb9, 0x3b, 0xdc, 0x99, 0xc0, 0xbd, 0x62, 0x91, 0x7d, - 0xce, 0x98, 0x8b, 0x54, 0x7a, 0x34, 0xa8, 0x8d, 0x84, 0x28, 0xec, 0x5e, 0xe3, 0xbf, 0x56, 0x86, - 0xbb, 0x1a, 0x1f, 0xbb, 0x8b, 0xa9, 0x11, 0xf6, 0xb4, 0xcb, 0x4c, 0x6c, 0x78, 0x57, 0x69, 0x2a, - 0x44, 0xb1, 0xd7, 0x92, 0x70, 0xc0, 0xca, 0x17, 0x57, 0xf9, 0xb4, 0x79, 0xff, 0x88, 0x99, 0x72, - 0xda, 0xa5, 0x30, 0x70, 0xb1, 0x91, 0x3f, 0x61, 0x32, 0x50, 0xc1, 0xd5, 0xa2, 0xc1, 0xad, 0x87, - 0x86, 0x0a, 0x55, 0xeb, 0x9f, 0x21, 0xb7, 0x98, 0xe9, 0x1a, 0x14, 0xbf, 0x88, 0xbc, 0xd9, 0x2e, - 0x69, 0x4b, 0xfa, 0x24, 0x33, 0x8d, 0x96, 0xf2, 0x38, 0x61, 0x1d, 0xc2, 0x55, 0x20, 0x54, 0x01, - 0x36, 0x58, 0x2c, 0xcb, 0x24, 0xdc, 0xa4, 0x7a, 0xc6, 0x0a, 0x83, 0x89, 0x22, 0x85, 0x40, 0x89, - 0x63, 0xe0, 0xfc, 0xe8, 0xd7, 0x9b, 0x68, 0xf8, 0x7d, 0xc9, 0x62, 0x66, 0x1f, 0x5e, 0x21, 0x3c, - 0x09, 0x74, 0x65, 0x89, 0x9a, 0x02, 0x67, 0x76, 0xb7, 0x1b, 0x0b, 0x72, 0xfc, 0xcb, 0xd0, 0x8c, - 0x1c, 0x37, 0x37, 0xde, 0xac, 0xe0, 0x8e, 0xfb, 0x24, 0x1a, 0x30, 0x95, 0x53, 0xdd, 0x95, 0x20, - 0xd1, 0xfc, 0xaf, 0x8c, 0xff, 0x0c, 0x8d, 0xa4, 0xfe, 0x12, 0x78, 0x63, 0x69, 0xd7, 0xf8, 0xa0, - 0x24, 0x50, 0x93, 0xf1, 0xf7, 0x20, 0xcd, 0xb6, 0xbc, 0x4c, 0xde, 0x9f, 0x4a, 0x7b, 0x8e, 0x3e, - 0x56, 0x08, 0x9b, 0xea, 0x5b, 0xe3, 0x23, 0x44, 0x7e, 0xb8, 0x37, 0x7a, 0xed, 0xa8, 0xfa, 0xd5, - 0x20, 0x75, 0x9e, 0x73, 0xe5, 0x64, 0xf8, 0x1a, 0x44, 0x5a, 0x53, 0x56, 0x94, 0xa0, 0xd3, 0x19, - 0x08, 0x4c, 0xd2, 0x4d, 0xf4, 0x4d, 0xff, 0x6d, 0x50, 0xb5, 0x9e, 0xee, 0x77, 0xba, 0x28, 0xed, - 0x12, 0xdb, 0xd3, 0x1e, 0xbe, 0xe8, 0x92, 0x89, 0x71, 0xb3, 0x1b, 0x1d, 0xf5, 0x1d, 0x35, 0x97, - 0xad, 0xb6, 0xc6, 0xc5, 0xc4, 0xb1, 0x29, 0x6d, 0xd9, 0x4b, 0x1b, 0x39, 0x96, 0x38, 0x94, 0x89, - 0x02, 0xe9, 0xc2, 0xe3, 0x05, 0x01, 0x31, 0x93, 0x91, 0xbd, 0x9d, 0xb8, 0x77, 0x3d, 0xa4, 0x85, - 0xc3, 0xdc, 0xdc, 0x61, 0x11, 0x3b, 0xd7, 0xe7, 0xd4, 0x63, 0x8b, 0x4c, 0xa0, 0xdf, 0xf7, 0xcc, - 0xb4, 0x9d, 0x67, 0x96, 0x4e, 0x80, 0x37, 0xad, 0x89, 0x37, 0x40, 0x17, 0xdb, 0x7d, 0x3c, 0xd6, - 0xd3, 0xa6, 0x1c, 0x2a, 0x37, 0xe3, 0x85, 0x0c, 0xb8, 0x9f, 0xc3, 0xa2, 0x86, 0xa2, 0x6d, 0xbf, - 0xd6, 0x23, 0xe1, 0xda, 0x7c, 0x1c, 0xfc, 0xe7, 0x64, 0x43, 0xf6, 0x15, 0x5e, 0x35, 0x80, 0x26, - 0xa7, 0xf6, 0xa5, 0xee, 0x82, 0x5e, 0x96, 0xe1, 0xe4, 0x33, 0x2d, 0x02, 0xff, 0xe1, 0xbc, 0x98, - 0x39, 0xa0, 0x9e, 0x77, 0xf8, 0x3a, 0x14, 0x07, 0xdd, 0xe1, 0x6b, 0x65, 0x8a, 0x9f, 0x2b, 0x2e, - 0x63, 0x7c, 0xbf, 0x7d, 0xc0, 0x8a, 0x8d, 0x2e, 0x6c, 0x75, 0x61, 0xe4, 0xb0, 0x2c, 0xc6, 0xd6, - 0x4f, 0x2d, 0xc0, 0x51, 0xe6, 0xcf, 0x41, 0x47, 0x8d, 0x08, 0x34, 0x56, 0x4d, 0xaf, 0xaa, 0x87, - 0x1b, 0x05, 0xbc, 0x49, 0x1e, 0x75, 0x64, 0xa3, 0xb6, 0x69, 0x22, 0xda, 0x88, 0x64, 0x85, 0x74, - 0x6b, 0x31, 0x00, 0x16, 0x33, 0xed, 0x42, 0x10, 0x24, 0x19, 0xfe, 0xfc, 0x57, 0x5f, 0xa4, 0xa8, - 0x81, 0x7d, 0x88, 0x05, 0x76, 0x22, 0xb4, 0x6b, 0x7b, 0x1f, 0x96, 0xab, 0x2a, 0x21, 0x12, 0xd7, - 0xe2, 0x07, 0x74, 0x4e, 0xe0, 0x62, 0x11, 0xb4, 0xc8, 0x94, 0x0a, 0x8a, 0x43, 0x49, 0x53, 0x49, - 0x55, 0x55, 0x5e, 0xa8, 0x30, 0x0d, 0xb5, 0x9f, 0x8c, 0x73, 0x16, 0xc3, 0x99, 0x97, 0x4a, 0x1f, - 0xaa, 0x8a, 0xfd, 0xc7, 0xb3, 0xa7, 0xe7, 0xa8, 0x89, 0x26, 0x12, 0x83, 0x2b, 0x42, 0x29, 0x2b, - 0x32, 0x91, 0x4e, 0x8d, 0x64, 0x8f, 0x08, 0x18, 0xab, 0x9e, 0x03, 0x33, 0xca, 0xbc, 0x1c, 0x34, - 0x33, 0xe0, 0xdd, 0x92, 0x07, 0x94, 0x48, 0xb3, 0xf4, 0x3e, 0xed, 0xd7, 0x13, 0xba, 0xf7, 0x87, - 0x5e, 0x86, 0xde, 0xc8, 0xa1, 0x00, 0x80, 0xe2, 0x70, 0x86, 0x71, 0x34, 0xf5, 0x78, 0x67, 0xf1, - 0x40, 0xb8, 0x22, 0x91, 0x41, 0x66, 0x3c, 0xa3, 0x22, 0x9d, 0xfc, 0x38, 0xa4, 0xfd, 0xae, 0xe3, - 0xdb, 0x1c, 0x12, 0x90, 0xde, 0x71, 0x0e, 0x37, 0xaf, 0x97, 0x45, 0xb4, 0x12, 0xdd, 0xda, 0x7f, - 0x33, 0x27, 0xfe, 0xf6, 0xfd, 0x3b, 0x21, 0xf8, 0x5e, 0x67, 0xcb, 0xe1, 0xc0, 0x2b, 0xde, 0x89, - 0x85, 0x0e, 0x7b, 0xba, 0x9c, 0x4a, 0x6a, 0xba, 0xea, 0x56, 0x95, 0x39, 0x7c, 0x56, 0x7c, 0xa0, - 0x94, 0x5b, 0x41, 0xf3, 0x82, 0xbc, 0x72, 0x67, 0x16, 0x9f, 0x1e, 0xc9, 0x62, 0x9e, 0x73, 0x4c, - 0x38, 0xa9, 0xd7, 0x10, 0xa8, 0x7f, 0xa3, 0x28, 0x8f, 0x67, 0xdd, 0xa5, 0xa8, 0xa6, 0x87, 0x93, - 0x1c, 0x7a, 0xab, 0xba, 0x57, 0x48, 0x48, 0x00, 0xd9, 0xb3, 0xfd, 0x50, 0x6d, 0x3a, 0xb8, 0x23, - 0x03, 0x41, 0x32, 0x98, 0x93, 0xba, 0x1d, 0x64, 0xa6, 0x14, 0x3a, 0x7f, 0x6f, 0x0d, 0xa2, 0xcb, - 0x19, 0x9b, 0xf7, 0x17, 0xbb, 0xaa, 0xce, 0xa3, 0xc3, 0x9b, 0x5e, 0xc3, 0x8c, 0x44, 0x47, 0x9c, - 0xab, 0x6c, 0x75, 0x08, 0x3b, 0x42, 0xa9, 0x9c, 0xe3, 0x04, 0x98, 0x2e, 0xdb, 0x1d, 0x8b, 0x2f, - 0xb1, 0xf9, 0x6e, 0xd4, 0x39, 0x0c, 0xa0, 0x2e, 0xac, 0xac, 0x20, 0xb9, 0x56, 0xf5, 0x21, 0xe7, - 0x60, 0x5f, 0x96, 0xfb, 0x2a, 0xf3, 0xd0, 0x4f, 0x73, 0x3a, 0x03, 0x0b, 0x23, 0x46, 0x9d, 0xdd, - 0x99, 0xb1, 0x5b, 0x76, 0x2e, 0x0a, 0x56, 0x42, 0x9d, 0xcb, 0x87, 0x02, 0xf4, 0x0d, 0xce, 0x68, - 0x70, 0xc9, 0xd2, 0x4e, 0x74, 0x03, 0xcc, 0x0f, 0x9e, 0xc1, 0x9b, 0x71, 0x22, 0x63, 0x0f, 0x02, - 0xe2, 0x1c, 0x4e, 0x7a, 0x23, 0x6c, 0x06, 0x83, 0x13, 0x39, 0xd0, 0xce, 0xff, 0x36, 0xfd, 0xe5, - 0xda, 0x7f, 0x45, 0x4d, 0xb0, 0xc5, 0x78, 0x8d, 0x56, 0xda, 0x99, 0xc5, 0x74, 0x02, 0xe1, 0x12, - 0x17, 0xbb, 0x74, 0xf3, 0xc4, 0xd7, 0xde, 0xa8, 0x55, 0xd3, 0xcd, 0xf2, 0xd4, 0xb6, 0x2e, 0x83, - 0x96, 0x48, 0xd3, 0x48, 0x65, 0x4d, 0xcb, 0xf6, 0xbf, 0x1a, 0xe2, 0x54, 0x3b, 0xe5, 0x42, 0x3a, - 0x06, 0x4e, 0xaf, 0xab, 0xd5, 0x25, 0xfc, 0x22, 0x17, 0xde, 0x2f, 0xd7, 0x95, 0x6c, 0xaa, 0x93, - 0xad, 0x28, 0x19, 0x28, 0x19, 0xd6, 0xca, 0x13, 0xa3, 0x33, 0xec, 0x6f, 0xed, 0x3c, 0x45, 0x6b, - 0xc1, 0xcb, 0xe0, 0x51, 0x61, 0x65, 0x7f, 0x69, 0xd2, 0x90, 0x81, 0x83, 0xc5, 0x8e, 0xa4, 0xf1, - 0xf6, 0xb8, 0xd8, 0xcc, 0x93, 0x24, 0x9f, 0xb5, 0xe8, 0x79, 0xd2, 0xec, 0x73, 0x1c, 0x71, 0x2b, - 0x0f, 0xf6, 0x36, 0x7e, 0x45, 0x19, 0xd0, 0xae, 0x3a, 0xc7, 0x3d, 0x98, 0x0c, 0xf6, 0x5b, 0x37, - 0xda, 0xbb, 0x85, 0xcd, 0x40, 0x0b, 0x07, 0x47, 0xf4, 0x28, 0x48, 0x47, 0x8d, 0x4f, 0x2c, 0x32, - 0xb7, 0xd4, 0xb9, 0x77, 0xd3, 0x9c, 0x0e, 0x19, 0xc4, 0x82, 0xf3, 0xbb, 0xd3, 0x7f, 0x67, 0x4a, - 0x15, 0xe1, 0x9b, 0x46, 0x5f, 0x55, 0xcd, 0xbd, 0x08, 0x8b, 0xfa, 0x1b, 0x92, 0x43, 0x45, 0x79, - 0x52, 0xe4, 0x0e, 0xc2, 0x8e, 0x10, 0x8f, 0xd3, 0x10, 0x8e, 0x9a, 0xbd, 0xb1, 0x73, 0x66, 0x99, - 0x90, 0x47, 0x49, 0x9a, 0x8a, 0x76, 0x7b, 0x51, 0xca, 0x37, 0x75, 0x87, 0x8a, 0x11, 0xb8, 0x80, - 0x0b, 0x71, 0x61, 0x7b, 0x2a, 0x92, 0xba, 0xc8, 0x1a, 0x62, 0x01, 0x86, 0xea, 0xdb, 0xe1, 0x91, - 0xc6, 0x3f, 0x1c, 0xb3, 0xbb, 0x29, 0x7a, 0x8f, 0x9e, 0xbe, 0x65, 0xc3, 0x59, 0x9b, 0x69, 0x25, - 0xdb, 0xfa, 0xee, 0x87, 0xbb, 0xa5, 0x19, 0xa1, 0x0f, 0x34, 0x47, 0x4a, 0xe7, 0x2b, 0xc0, 0x88, - 0x57, 0x08, 0xbc, 0x4f, 0x91, 0xd0, 0x05, 0x48, 0x64, 0xfe, 0x31, 0xdd, 0x7a, 0x9a, 0xf5, 0x8f, - 0xd2, 0x9f, 0x4d, 0x65, 0xae, 0x6b, 0x10, 0x7f, 0x49, 0x1b, 0x38, 0xd5, 0xba, 0xbb, 0x63, 0xba, - 0x82, 0x18, 0x4b, 0xc8, 0x00, 0x94, 0xc2, 0xf9, 0x74, 0x24, 0x8a, 0x2e, 0x3e, 0x36, 0x5c, 0xee, - 0xe7, 0xf1, 0x04, 0x26, 0x31, 0xa7, 0x3a, 0x0f, 0xd6, 0x8b, 0xdb, 0x02, 0xd0, 0xb6, 0x57, 0xbe, - 0xfc, 0x7b, 0xe2, 0xac, 0x68, 0xfa, 0xdc, 0xde, 0x99, 0x8d, 0x72, 0xf8, 0x59, 0xc6, 0x83, 0x3c, - 0x0a, 0xff, 0xdd, 0x23, 0xa2, 0x39, 0xfb, 0x94, 0xed, 0x6c, 0x1c, 0x33, 0x20, 0xd0, 0xa4, 0x4c, - 0x35, 0x4e, 0xd5, 0xe2, 0x52, 0x75, 0xb3, 0x6e, 0xc9, 0x7e, 0xb3, 0x15, 0xb7, 0x6e, 0xd8, 0xc1, - 0x3c, 0xc1, 0x7e, 0x94, 0x51, 0x02, 0x1c, 0x0e, 0x25, 0x18, 0xed, 0x1e, 0xf6, 0x72, 0x51, 0xe4, - 0x80, 0xcd, 0x0a, 0xbb, 0x61, 0x5a, 0x86, 0xc0, 0x3a, 0xd3, 0x30, 0xad, 0xac, 0x76, 0x4b, 0x54, - 0xca, 0x6d, 0xca, 0xfe, 0x7b, 0xe0, 0x56, 0xd9, 0xb0, 0x5b, 0x0c, 0xef, 0x63, 0x38, 0xa2, 0x02, - 0xc3, 0x4a, 0x15, 0xf1, 0x94, 0x1c, 0xeb, 0x08, 0x65, 0xb2, 0xb7, 0x8b, 0x5d, 0x30, 0x72, 0x45, - 0x5e, 0xfb, 0x69, 0x3c, 0x38, 0x46, 0x3e, 0xc1, 0x3f, 0x4a, 0x4c, 0x14, 0xc1, 0xe7, 0x84, 0x0e, - 0x5b, 0x1d, 0x7e, 0xfb, 0x49, 0xb1, 0x5a, 0x80, 0x1b, 0x93, 0xbf, 0xa1, 0x4d, 0xda, 0xfc, 0xbe, - 0xed, 0xfc, 0x03, 0x50, 0x53, 0x30, 0xea, 0x67, 0x20, 0xed, 0x21, 0xb6, 0x4e, 0x8f, 0x3c, 0x32, - 0x1c, 0x45, 0xb0, 0x97, 0xc7, 0x31, 0x74, 0xae, 0x0d, 0xc3, 0x3a, 0x69, 0xb9, 0x44, 0x99, 0x82, - 0xcf, 0x1d, 0xa8, 0xf6, 0xa3, 0x19, 0x2a, 0x36, 0xf3, 0xb6, 0xc8, 0x9a, 0xb1, 0x52, 0xa5, 0x0e, - 0x24, 0xc9, 0x50, 0x98, 0xbb, 0xb2, 0x9b, 0xaa, 0xe2, 0xc1, 0x7e, 0x1f, 0x49, 0x55, 0xbf, 0x5e, - 0x61, 0x4f, 0xc4, 0x73, 0xc2, 0x10, 0x0f, 0x06, 0xd1, 0xfa, 0x03, 0xbb, 0x9d, 0x67, 0xf0, 0x99, - 0xee, 0xa3, 0x8c, 0x37, 0x63, 0x88, 0x95, 0x9f, 0xc3, 0x3a, 0xa5, 0x05, 0x3f, 0x09, 0xfd, 0x0b, - 0x4b, 0xdc, 0xbd, 0x98, 0x1f, 0x33, 0x3f, 0xf4, 0xaa, 0x97, 0xa2, 0x4f, 0x64, 0x4d, 0xa2, 0x9b, - 0xe2, 0x22, 0x2d, 0x36, 0x89, 0x19, 0xa4, 0x7d, 0xfc, 0xd6, 0x9c, 0x88, 0x42, 0x7d, 0x0e, 0xb1, - 0x10, 0xb3, 0x5e, 0x09, 0xaa, 0xce, 0xa0, 0x6a, 0x56, 0xf7, 0x73, 0x17, 0x4d, 0xb7, 0x35, 0x76, - 0x80, 0x38, 0xda, 0xdb, 0xaf, 0xad, 0xe6, 0x0d, 0x84, 0x08, 0x02, 0x89, 0xc9, 0xfc, 0xa3, 0x19, - 0xdb, 0xa1, 0x1f, 0x20, 0xf5, 0x5f, 0xf5, 0x63, 0x2b, 0x90, 0xc5, 0x09, 0x8a, 0xec, 0x01, 0x09, - 0xb8, 0xf2, 0xca, 0x00, 0x60, 0x11, 0x0d, 0xca, 0xbf, 0x34, 0x2a, 0x4c, 0xc1, 0x3b, 0x0e, 0x9c, - 0x37, 0x53, 0x52, 0x3e, 0x6a, 0x67, 0x47, 0xd4, 0xe3, 0x7b, 0x39, 0x3c, 0x76, 0x5e, 0xae, 0x9f, - 0x28, 0x45, 0xb2, 0xf3, 0x64, 0x1f, 0x32, 0x62, 0xe8, 0x73, 0x55, 0x3e, 0x67, 0xb6, 0xfc, 0xd6, - 0x21, 0x73, 0xc1, 0x1c, 0xf2, 0xdb, 0xa5, 0xf1, 0x3f, 0xb6, 0x72, 0xaa, 0x9a, 0xfc, 0x36, 0x4b, - 0xf0, 0xf8, 0x9f, 0x5f, 0xa9, 0x0e, 0xdd, 0x91, 0x54, 0x01, 0x9b, 0xf5, 0xb4, 0x93, 0x0c, 0xf1, - 0x0f, 0xef, 0x9a, 0x63, 0x3f, 0xf8, 0xe1, 0x2c, 0x29, 0x51, 0xa2, 0x6c, 0x81, 0xe2, 0xb8, 0x47, - 0x3e, 0x38, 0x2b, 0xc9, 0x32, 0x7d, 0xa5, 0x3a, 0xf3, 0xc1, 0xac, 0xc5, 0x1e, 0x5c, 0x5b, 0x2a, - 0x2a, 0x70, 0x1d, 0x45, 0x51, 0x18, 0xbf, 0xdf, 0x34, 0xc2, 0xa0, 0x01, 0xe7, 0x4b, 0x43, 0x3c, - 0xfc, 0xcc, 0xb8, 0x86, 0x15, 0xdb, 0x8e, 0xfc, 0x6f, 0xb2, 0x6a, 0x7e, 0xd5, 0xaf, 0x06, 0xdf, - 0x50, 0xde, 0x4c, 0x43, 0x7b, 0x90, 0xda, 0x54, 0x86, 0x7b, 0x6a, 0x78, 0xf1, 0xd9, 0x74, 0x5f, - 0xd9, 0x6f, 0x98, 0x24, 0x00, 0xa8, 0x72, 0x1d, 0x87, 0x55, 0xb0, 0x37, 0x7c, 0x38, 0x8c, 0xb3, - 0x4a, 0x60, 0x7f, 0x45, 0xcb, 0x8a, 0x04, 0xce, 0x27, 0xa5, 0x0d, 0xcf, 0x17, 0xce, 0xea, 0x88, - 0x28, 0x2d, 0x9b, 0x84, 0x52, 0xc0, 0xd0, 0xec, 0x94, 0x96, 0xe7, 0x2a, 0x0b, 0x39, 0x28, 0xe0, - 0x70, 0x2a, 0xa7, 0xa4, 0xa0, 0xe5, 0x35, 0xaf, 0x7b, 0xa0, 0x42, 0x8d, 0xaa, 0x68, 0x63, 0xd4, - 0x7c, 0x05, 0x56, 0xf6, 0x33, 0x42, 0xe0, 0x8b, 0x7c, 0x72, 0x67, 0xde, 0xc4, 0xf5, 0x28, 0xe1, - 0x1f, 0x23, 0x57, 0x8c, 0x9c, 0xd3, 0x57, 0xf7, 0x7f, 0x9a, 0x04, 0x05, 0xfb, 0xa8, 0xfb, 0x90, - 0x0f, 0xa4, 0x40, 0x5f, 0x4a, 0xfa, 0xe5, 0x89, 0x28, 0x0d, 0x03, 0xaf, 0x73, 0x42, 0xda, 0x26, - 0x20, 0x0a, 0xd1, 0xbf, 0x57, 0xf9, 0x70, 0x10, 0x83, 0x5a, 0x2b, 0x6a, 0x7c, 0x70, 0xce, 0xd1, - 0xc9, 0x74, 0x7c, 0xfe, 0x81, 0x79, 0x17, 0xdb, 0x41, 0x41, 0xfd, 0x61, 0xd9, 0x43, 0xd3, 0x45, - 0xeb, 0xf7, 0x51, 0x28, 0xb6, 0x8e, 0xeb, 0xd6, 0xfe, 0x8f, 0x60, 0x3c, 0x00, 0x79, 0x24, 0x93, - 0xd3, 0x75, 0x67, 0x9c, 0x71, 0x5d, 0x9b, 0x81, 0x05, 0xd0, 0x0b, 0xf8, 0x3e, 0x3a, 0xe2, 0x2f, - 0xc1, 0xa3, 0xa7, 0x13, 0xd5, 0x3b, 0xf1, 0xde, 0x39, 0xee, 0x32, 0x92, 0x89, 0xf4, 0x2d, 0x89, - 0x76, 0xa1, 0xbd, 0xac, 0x15, 0x71, 0x32, 0x43, 0x0d, 0x69, 0x48, 0x68, 0x7d, 0x7d, 0x50, 0x38, - 0xeb, 0xe1, 0xb9, 0x82, 0xbd, 0xae, 0xb4, 0x54, 0x72, 0xdc, 0xe1, 0xec, 0x88, 0xf9, 0xa8, 0xd7, - 0xa5, 0x06, 0xfa, 0xcb, 0x23, 0xa5, 0xa6, 0x12, 0x62, 0xab, 0x78, 0x17, 0x3d, 0xd5, 0x92, 0x89, - 0x94, 0xbf, 0xbf, 0x9f, 0x7e, 0xab, 0x6e, 0x84, 0x05, 0xfc, 0xba, 0xde, 0x47, 0xc6, 0x5c, 0x68, - 0x34, 0x4c, 0x4f, 0xee, 0x6b, 0xfc, 0x66, 0xd1, 0x6a, 0x3e, 0x76, 0x08, 0x89, 0xb5, 0x85, 0x97, - 0x08, 0x74, 0x3c, 0x0b, 0x19, 0x59, 0x10, 0xef, 0x22, 0xa0, 0x25, 0xcf, 0x75, 0xf2, 0xfc, 0x2b, - 0x27, 0xdb, 0xfe, 0x5d, 0x09, 0x1c, 0x7b, 0x52, 0xc2, 0x83, 0x91, 0x49, 0x71, 0xe4, 0xa8, 0x69, - 0x50, 0xac, 0x2d, 0xf2, 0x55, 0xb9, 0x3c, 0x5e, 0xbf, 0x05, 0xa5, 0x10, 0x58, 0xe5, 0xc1, 0x85, - 0xc1, 0x12, 0xac, 0x44, 0x10, 0xbf, 0xda, 0x0a, 0xbb, 0x8e, 0xca, 0xa6, 0x3e, 0x5d, 0xc6, 0xd1, - 0x14, 0xd3, 0x5c, 0xe0, 0xf5, 0x9b, 0xe4, 0xd7, 0xbf, 0x43, 0xeb, 0xde, 0xe6, 0xf5, 0x5a, 0xad, - 0xd7, 0x49, 0x09, 0x5b, 0xc7, 0xe6, 0xfe, 0x9e, 0xbf, 0x96, 0xf2, 0x73, 0x0d, 0x78, 0x6f, 0x6e, - 0x3b, 0x97, 0xfe, 0x72, 0xac, 0x91, 0xe7, 0x07, 0xc2, 0xd8, 0x1d, 0xc4, 0x8e, 0xf7, 0x69, 0xd2, - 0x80, 0x95, 0x9c, 0x19, 0xef, 0xde, 0xb5, 0x52, 0x56, 0x29, 0xb1, 0xf9, 0x24, 0x10, 0x32, 0xf8, - 0x6b, 0xe5, 0x82, 0x2d, 0xc4, 0xb7, 0x0b, 0x8d, 0x84, 0x1a, 0x9d, 0x78, 0x73, 0xd2, 0x8a, 0x26, - 0x39, 0x47, 0x25, 0x1c, 0x69, 0x99, 0xd1, 0x14, 0x89, 0xf9, 0x68, 0x44, 0xe2, 0x08, 0xa0, 0xd3, - 0xe1, 0x6a, 0x89, 0xd8, 0xef, 0x52, 0xb6, 0x9a, 0x56, 0xdc, 0x58, 0x98, 0x4d, 0x02, 0xf4, 0xf8, - 0x1f, 0x07, 0x0d, 0x79, 0x82, 0x6a, 0x24, 0x73, 0xfd, 0xc8, 0xee, 0x21, 0xcc, 0xda, 0x80, 0x0f, - 0xde, 0xc3, 0xb8, 0xe2, 0x38, 0xf9, 0x49, 0xbc, 0xcf, 0x90, 0xf8, 0xeb, 0x4f, 0xa0, 0x84, 0x0a, - 0x12, 0x1e, 0x1c, 0x97, 0x00, 0x44, 0x7d, 0xf6, 0x3e, 0xe8, 0x7c, 0x49, 0xf0, 0xaf, 0xe5, 0xef, - 0xd7, 0x1f, 0x90, 0x7f, 0x51, 0xd1, 0x1b, 0x23, 0xb7, 0xef, 0xee, 0x68, 0x93, 0xc2, 0xc6, 0x2a, - 0xff, 0x12, 0x85, 0xc2, 0x12, 0x03, 0x4e, 0xa1, 0x2c, 0xf3, 0x1d, 0x88, 0xb7, 0x11, 0x10, 0x1d, - 0x15, 0x67, 0xae, 0x0a, 0x94, 0xf4, 0x1a, 0x4a, 0x95, 0xd5, 0xca, 0x94, 0x8f, 0x84, 0xac, 0x56, - 0xb2, 0x10, 0xa1, 0x8f, 0x9a, 0xa0, 0x0c, 0xcc, 0x80, 0xbd, 0xe4, 0xac, 0x5b, 0x05, 0x48, 0xd9, - 0x87, 0x7c, 0x7e, 0xaf, 0xe5, 0x3b, 0x54, 0xa6, 0xb6, 0xa4, 0x1b, 0x35, 0x3d, 0x57, 0xa7, 0xa7, - 0x7b, 0x4f, 0x91, 0x29, 0x78, 0x40, 0x30, 0x42, 0x9f, 0x69, 0x09, 0x16, 0xba, 0x0b, 0xf4, 0xb5, - 0x1e, 0x9c, 0xed, 0x24, 0xc1, 0x6c, 0xf1, 0x7e, 0x96, 0xe9, 0x71, 0xf8, 0x38, 0x82, 0x5b, 0x67, - 0xe0, 0xc5, 0x46, 0x04, 0xba, 0x74, 0x6c, 0xdb, 0x5d, 0x1d, 0xa8, 0x25, 0x92, 0x07, 0x9f, 0x93, - 0xac, 0x54, 0x9f, 0xf3, 0xa6, 0xeb, 0x1e, 0x90, 0xef, 0x96, 0x13, 0xcf, 0xa2, 0x3b, 0x31, 0x4d, - 0x9b, 0xfe, 0x8f, 0x4b, 0x33, 0x0f, 0xb9, 0x37, 0xfa, 0x66, 0xec, 0xe6, 0x42, 0x0b, 0x8f, 0x04, - 0xe3, 0x8c, 0x8b, 0x85, 0x64, 0x1f, 0x9c, 0x41, 0xab, 0x5e, 0x1a, 0x94, 0xb8, 0xa1, 0x8a, 0xb7, - 0xd4, 0x91, 0xc2, 0x65, 0x76, 0xa8, 0x8c, 0xa4, 0x7a, 0x52, 0xa5, 0x86, 0x29, 0x14, 0x5d, 0x20, - 0xda, 0xdf, 0x9e, 0xdb, 0xc8, 0x4e, 0xb9, 0x94, 0xf8, 0xbd, 0x7d, 0x9c, 0x2c, 0x1e, 0x0d, 0xc7, - 0x0c, 0x29, 0xef, 0xe2, 0x9f, 0x38, 0x3f, 0x99, 0xca, 0x33, 0x14, 0x51, 0x1e, 0x90, 0xad, 0x62, - 0x30, 0xef, 0x62, 0x6c, 0xef, 0x89, 0x4e, 0x91, 0x95, 0x88, 0x36, 0x0f, 0x0e, 0x5c, 0x65, 0xf7, - 0x6c, 0xc5, 0x49, 0x17, 0x3b, 0x54, 0xc4, 0x9e, 0x01, 0x61, 0x78, 0xb0, 0x73, 0x9d, 0xf8, 0xdf, - 0x12, 0x76, 0xeb, 0xf7, 0x61, 0xdb, 0xbb, 0x98, 0x9d, 0x2e, 0xc1, 0x6d, 0x70, 0x61, 0x31, 0x05, - 0x4e, 0x12, 0x45, 0xb9, 0xde, 0xbb, 0x91, 0x3c, 0xa7, 0xee, 0x63, 0x54, 0x56, 0xc0, 0x06, 0xa6, - 0xd6, 0x81, 0xe6, 0xc3, 0xc9, 0xf6, 0x67, 0x9a, 0x30, 0x6c, 0xf0, 0xb1, 0x55, 0x2f, 0x80, 0x03, - 0x51, 0xd9, 0x97, 0x0e, 0x3c, 0xce, 0x6e, 0x49, 0x5a, 0x55, 0xe8, 0x5c, 0x8d, 0x4c, 0x66, 0x33, - 0xc7, 0xda, 0x3f, 0xaf, 0xeb, 0x4a, 0x02, 0x66, 0x2b, 0xa6, 0x4e, 0x19, 0x48, 0x73, 0x97, 0xf5, - 0x1b, 0x9a, 0xf6, 0x31, 0x31, 0xd3, 0x06, 0xea, 0xd3, 0x6d, 0xbe, 0x29, 0x6c, 0xfd, 0x3b, 0x9b, - 0x39, 0x82, 0x28, 0x59, 0x7f, 0xe5, 0xa3, 0x05, 0x72, 0x36, 0x15, 0xf4, 0x1b, 0x95, 0x0d, 0xb3, - 0x71, 0x49, 0x32, 0x6c, 0x47, 0xbb, 0x7f, 0x5a, 0x97, 0xf5, 0x16, 0xea, 0x48, 0x78, 0x11, 0xf4, - 0x4a, 0xca, 0x44, 0x3e, 0x2b, 0x7a, 0x5c, 0x36, 0x59, 0x68, 0xa3, 0x15, 0xc4, 0xc0, 0xf4, 0x7f, - 0xc3, 0xe8, 0x27, 0xb2, 0x70, 0xb8, 0xca, 0xf6, 0x06, 0xe9, 0x10, 0xdf, 0x1a, 0x71, 0x1f, 0xb9, - 0xaf, 0x45, 0x4a, 0x75, 0x44, 0xab, 0xd4, 0x82, 0xbb, 0xcb, 0x19, 0xbe, 0xce, 0x97, 0x64, 0x2f, - 0x70, 0xf4, 0x34, 0x70, 0xdd, 0x99, 0xb7, 0xfe, 0x92, 0xd0, 0xf0, 0x73, 0xe4, 0x0f, 0xd1, 0x68, - 0xf8, 0x5e, 0x04, 0xa3, 0x77, 0x55, 0x8c, 0xe1, 0x96, 0xa9, 0xb5, 0xe3, 0x8b, 0x2e, 0xc9, 0x5e, - 0x03, 0xf6, 0xca, 0xe7, 0x06, 0xc1, 0xe5, 0x1c, 0x44, 0x69, 0x7d, 0xef, 0x6c, 0x88, 0xb4, 0x0d, - 0xab, 0xc8, 0xbf, 0x40, 0xc3, 0x5a, 0xb8, 0xa6, 0x10, 0xbf, 0x07, 0xc4, 0x5a, 0x4e, 0xea, 0xfd, - 0x0f, 0x98, 0xac, 0xe1, 0x1b, 0x80, 0x6c, 0xf9, 0xcb, 0x9c, 0x45, 0xa7, 0x43, 0x3f, 0xa9, 0xf9, - 0x32, 0x03, 0x45, 0xf1, 0xad, 0x0a, 0x1c, 0xed, 0x25, 0x12, 0xee, 0x19, 0xa1, 0x2d, 0x70, 0x51, - 0xda, 0xc0, 0xc8, 0x79, 0x6f, 0x8c, 0x53, 0x5c, 0x05, 0xcf, 0x91, 0xdd, 0x86, 0xa8, 0xa6, 0xdc, - 0xe3, 0x86, 0x3a, 0x63, 0xbb, 0x64, 0x46, 0x0e, 0x42, 0x71, 0xfd, 0xd6, 0x4f, 0x9b, 0x29, 0x84, - 0x1e, 0xb9, 0x9d, 0x45, 0xbb, 0xc6, 0x65, 0xf4, 0xf5, 0x2f, 0x48, 0x4f, 0x06, 0x7e, 0x11, 0x0f, - 0x90, 0xc4, 0x13, 0xcc, 0x19, 0xfa, 0xfa, 0x42, 0x84, 0x10, 0x13, 0x81, 0x9d, 0x83, 0x59, 0xf8, - 0x89, 0x53, 0xe2, 0x52, 0x0b, 0xf1, 0x46, 0xc8, 0xfd, 0x7d, 0xf4, 0x58, 0x7f, 0x93, 0x64, 0x3e, - 0x13, 0x96, 0x2d, 0x6d, 0x3f, 0xc9, 0x8c, 0x95, 0x07, 0xce, 0xd1, 0x04, 0x72, 0xf9, 0x74, 0x3d, - 0x98, 0x3d, 0xbb, 0xef, 0x3d, 0x28, 0xb3, 0x8b, 0x09, 0xa2, 0xe5, 0xdb, 0xc2, 0x49, 0xab, 0xe8, - 0x7c, 0x10, 0xf0, 0x0d, 0xef, 0x66, 0x10, 0xd6, 0x3c, 0x60, 0x5e, 0xbe, 0x52, 0xe7, 0x6c, 0x21, - 0xa6, 0x8d, 0x55, 0x5a, 0x9c, 0xa2, 0x94, 0xaa, 0x30, 0xc8, 0xb1, 0x27, 0xf8, 0x22, 0xb3, 0x3e, - 0xe1, 0xf6, 0x7c, 0x76, 0xdc, 0x81, 0x53, 0x2f, 0xfa, 0xa9, 0xfe, 0x0a, 0xa5, 0xb6, 0x95, 0xbb, - 0xe9, 0xad, 0x29, 0xc3, 0x60, 0x33, 0x3a, 0x9f, 0xda, 0x43, 0xd0, 0x55, 0x62, 0x54, 0x14, 0xff, - 0x07, 0x86, 0xce, 0x42, 0x2c, 0x43, 0xb5, 0x12, 0x87, 0x06, 0x9a, 0x85, 0xa4, 0xb4, 0xfa, 0x22, - 0x7f, 0xac, 0xdf, 0x03, 0x3f, 0x77, 0xdb, 0xde, 0x3d, 0xfe, 0x95, 0xd9, 0xed, 0x2e, 0x77, 0xb8, - 0x52, 0x06, 0x02, 0x5a, 0x67, 0x44, 0xd1, 0x03, 0xf3, 0xe4, 0x04, 0x7b, 0xe6, 0x7c, 0x0b, 0x22, - 0xcd, 0x5c, 0xd7, 0x18, 0x6c, 0x0a, 0x99, 0x3d, 0x78, 0x2d, 0xb6, 0x6d, 0x81, 0x19, 0x17, 0x73, - 0x5f, 0xde, 0x88, 0x1e, 0x47, 0x29, 0x68, 0x16, 0x7a, 0x92, 0x16, 0xd3, 0x56, 0x4d, 0x26, 0x01, - 0x08, 0x49, 0xac, 0x91, 0x07, 0x34, 0x5a, 0xc1, 0x67, 0x7d, 0xc1, 0x70, 0x93, 0x92, 0x61, 0x9a, - 0x6b, 0xed, 0x98, 0xb7, 0x90, 0x74, 0x01, 0x50, 0xf8, 0xa4, 0xec, 0xbb, 0xd3, 0x35, 0x5b, 0x78, - 0xdb, 0xba, 0x0d, 0x6a, 0xbb, 0x91, 0x74, 0x1b, 0xf8, 0x78, 0xba, 0x0f, 0xe3, 0x43, 0xd1, 0x2a, - 0xa7, 0xd1, 0xba, 0xa4, 0x24, 0x8d, 0xf6, 0xa0, 0x2b, 0x9c, 0xee, 0x95, 0x2c, 0x05, 0x55, 0x39, - 0xfb, 0x8b, 0xaa, 0xd0, 0x46, 0x2a, 0xe8, 0x15, 0x80, 0xae, 0x91, 0x96, 0x89, 0xed, 0x81, 0x15, - 0x64, 0x2c, 0xa7, 0xb6, 0x97, 0x2d, 0xd0, 0x59, 0xb6, 0x29, 0x55, 0x2e, 0xf6, 0x52, 0xcc, 0xeb, - 0xad, 0x55, 0x92, 0x5c, 0x7e, 0xdb, 0x90, 0xe3, 0xa7, 0xcc, 0x2c, 0x10, 0x2d, 0x43, 0x8c, 0x87, - 0x04, 0x02, 0x3e, 0x3a, 0xc4, 0x8d, 0x03, 0x39, 0xea, 0x29, 0x13, 0x20, 0x83, 0x40, 0xc3, 0x87, - 0xc9, 0x68, 0x99, 0x2e, 0x4b, 0x86, 0xf9, 0x84, 0x9a, 0x83, 0xfe, 0x0f, 0xfa, 0xb2, 0x0c, 0x29, - 0x63, 0xfd, 0x13, 0x06, 0x9d, 0x5c, 0xbf, 0xc7, 0x6b, 0xd5, 0xfb, 0x0d, 0xbc, 0xc6, 0x2d, 0xc5, - 0x94, 0x9b, 0x3d, 0xd9, 0x7b, 0x8b, 0x8f, 0x99, 0x58, 0x8a, 0xa4, 0x3d, 0x42, 0x60, 0x94, 0x8c, - 0x82, 0x3f, 0x3b, 0x61, 0x9f, 0x5d, 0x16, 0x0a, 0x83, 0x18, 0xd4, 0x52, 0x1c, 0xfd, 0x0d, 0x8a, - 0x51, 0xc3, 0xd6, 0x11, 0xfa, 0x82, 0xa1, 0x28, 0x5b, 0x39, 0xb0, 0xa2, 0x3f, 0xc2, 0x97, 0x67, - 0xb6, 0x0e, 0xca, 0xaf, 0xb7, 0x98, 0x87, 0x40, 0x2b, 0x38, 0x55, 0xde, 0x45, 0x7f, 0x51, 0xeb, - 0xec, 0x3d, 0x7a, 0xf7, 0xbd, 0x84, 0x8b, 0x1e, 0x7d, 0x0a, 0xea, 0x1f, 0xdf, 0x2d, 0xfb, 0xa3, - 0x5b, 0x21, 0x5f, 0xad, 0x7f, 0x9c, 0xec, 0x68, 0x8b, 0xc8, 0x5f, 0xd1, 0x90, 0xe2, 0x8d, 0x68, - 0xfe, 0x19, 0x5b, 0xd6, 0x49, 0x7f, 0xb8, 0xa8, 0xe3, 0x9e, 0x4b, 0x9a, 0xde, 0x5a, 0x07, 0xb1, - 0xaa, 0x6a, 0x39, 0x24, 0xfd, 0x10, 0x54, 0xab, 0x8a, 0x9b, 0x60, 0xf0, 0xb9, 0xf3, 0xd8, 0xfe, - 0x0e, 0xd1, 0x9d, 0xb7, 0x5b, 0xb3, 0x11, 0xe3, 0xf6, 0x8e, 0x76, 0x97, 0x38, 0xd8, 0x8d, 0xa1, - 0xf1, 0x6c, 0x5e, 0xcf, 0xd6, 0x4d, 0x77, 0xbe, 0xb5, 0xe3, 0x72, 0x44, 0x2e, 0x80, 0x9d, 0x8c, - 0x99, 0xd8, 0x42, 0x81, 0x88, 0x66, 0xfc, 0x33, 0x6d, 0xbe, 0x62, 0x4f, 0x5d, 0xc0, 0x26, 0x69, - 0x48, 0x73, 0x63, 0x04, 0x4a, 0xaa, 0x72, 0x09, 0xe0, 0x30, 0xce, 0x88, 0x77, 0xf2, 0x5d, 0x28, - 0x5e, 0x1b, 0xf2, 0xda, 0x3c, 0x92, 0xee, 0x83, 0xf8, 0x14, 0x07, 0xe9, 0xfd, 0xfb, 0x0e, 0xb1, - 0x8e, 0xd0, 0x54, 0xbd, 0x05, 0x6c, 0x25, 0xb7, 0x27, 0xc4, 0x73, 0x01, 0x5a, 0xce, 0xcb, 0x99, - 0x2b, 0x63, 0x39, 0x17, 0x93, 0x70, 0x88, 0x06, 0xa1, 0x76, 0xcc, 0x9f, 0xe4, 0x17, 0x36, 0xef, - 0x52, 0x66, 0x7d, 0x5b, 0xbf, 0xc4, 0xcd, 0x95, 0x21, 0x90, 0x3d, 0xb8, 0x44, 0x77, 0x16, 0x8e, - 0xa1, 0x64, 0x9f, 0xd2, 0x7a, 0x9a, 0x39, 0x12, 0x0d, 0xd9, 0xc3, 0xba, 0x2d, 0x0d, 0x84, 0x58, - 0x85, 0xc4, 0xed, 0x3d, 0xe3, 0x61, 0x27, 0xbd, 0x12, 0x36, 0xf8, 0xa2, 0x52, 0xd4, 0x0b, 0xf2, - 0xb3, 0xa6, 0x9e, 0x17, 0xbb, 0x4c, 0x1c, 0x66, 0x59, 0x5b, 0x10, 0x45, 0xc0, 0x5e, 0xd4, 0xb1, - 0x03, 0x20, 0x79, 0x9b, 0xc3, 0x9f, 0xb6, 0x19, 0xbd, 0x03, 0xaa, 0x74, 0x43, 0x35, 0xf5, 0x01, - 0xf5, 0x82, 0x24, 0x66, 0x36, 0xe4, 0x71, 0x81, 0xe6, 0x21, 0x4a, 0x28, 0x01, 0x9c, 0x9f, 0x31, - 0x05, 0x74, 0x61, 0x57, 0xdc, 0x6a, 0x0a, 0xbf, 0xc4, 0xbd, 0x81, 0x9d, 0xc4, 0x4e, 0x86, 0x1e, - 0x79, 0x1b, 0x4a, 0x03, 0xb1, 0x1b, 0x2e, 0x05, 0x38, 0xd1, 0x7d, 0x17, 0xec, 0x5f, 0x05, 0x83, - 0xad, 0xa9, 0x1a, 0xd2, 0x58, 0x7b, 0x10, 0x2d, 0x4f, 0xa0, 0x3c, 0xe1, 0x73, 0x05, 0xef, 0xca, - 0x6b, 0x65, 0x49, 0x55, 0x51, 0x55, 0x5a, 0x3d, 0x09, 0xda, 0x59, 0x3e, 0x68, 0x61, 0x03, 0x2e, - 0xe0, 0x3b, 0x69, 0x5a, 0xf9, 0x55, 0x64, 0xa8, 0xf8, 0x6c, 0x3f, 0x12, 0x56, 0x33, 0x27, 0x75, - 0x49, 0x50, 0x8e, 0x61, 0xc8, 0xce, 0x39, 0x74, 0x0a, 0x30, 0xd1, 0x1b, 0x62, 0x57, 0xdb, 0xbd, - 0x48, 0x1d, 0x86, 0x4b, 0xc1, 0x70, 0xb8, 0x10, 0xf1, 0x8c, 0xfa, 0xca, 0x2d, 0x3c, 0xdb, 0x96, - 0x2a, 0xd1, 0x1b, 0xb1, 0xc5, 0x19, 0x73, 0x3e, 0xc5, 0xaf, 0xad, 0xce, 0x4f, 0xb5, 0x55, 0xdf, - 0xff, 0xd6, 0x14, 0x10, 0xb6, 0xd3, 0x2b, 0xed, 0xc0, 0x46, 0xfb, 0x6f, 0xea, 0x16, 0xc5, 0x51, - 0x5a, 0xdf, 0x6e, 0x57, 0x67, 0xf5, 0x55, 0xba, 0x97, 0xd2, 0x96, 0x1f, 0x19, 0xb8, 0x69, 0x0e, - 0x90, 0x5f, 0xbb, 0xe1, 0xd5, 0x15, 0xaa, 0x41, 0x58, 0x6d, 0xc0, 0x6b, 0x3a, 0xd1, 0x4c, 0x25, - 0x28, 0x2c, 0xff, 0xf1, 0x9c, 0x49, 0xfc, 0xa0, 0x08, 0x96, 0xbc, 0x6f, 0xfa, 0x4d, 0x7e, 0xe7, - 0x3b, 0x8d, 0xfc, 0x35, 0xdb, 0x44, 0x5b, 0x35, 0xb9, 0x80, 0x8d, 0x3a, 0xb6, 0xbb, 0xc5, 0x84, - 0xb9, 0xdc, 0x18, 0x61, 0xa8, 0xef, 0xc9, 0x0a, 0xf1, 0xbb, 0x23, 0x5b, 0x59, 0x4e, 0x75, 0x5b, - 0x4f, 0xed, 0x03, 0x2e, 0x03, 0x03, 0x37, 0x6d, 0xf0, 0x9f, 0xa4, 0xce, 0xb9, 0xc7, 0xce, 0xac, - 0x10, 0xf7, 0x51, 0xc4, 0xb7, 0xda, 0x7b, 0x6f, 0xa7, 0xdb, 0x8b, 0x93, 0xe0, 0x68, 0x81, 0x51, - 0x4b, 0x0d, 0xdb, 0x12, 0xea, 0x3e, 0x36, 0x56, 0x19, 0x5b, 0xb7, 0x34, 0x99, 0x90, 0xce, 0x0f, - 0x71, 0xf1, 0x2b, 0x7e, 0x54, 0xe3, 0x3a, 0xc8, 0x08, 0x29, 0x17, 0x4b, 0x04, 0x4e, 0x6d, 0xe1, - 0x28, 0xd3, 0xab, 0x59, 0x49, 0x47, 0x59, 0xe5, 0xb6, 0x4e, 0x3c, 0x5d, 0xe6, 0xec, 0x35, 0xf1, - 0x65, 0x44, 0xcc, 0x79, 0x11, 0xcd, 0xa0, 0x9c, 0x59, 0x22, 0x3b, 0xb2, 0x9e, 0x30, 0xbc, 0x0a, - 0xd9, 0x71, 0x76, 0x08, 0x1d, 0x98, 0xfe, 0x16, 0x01, 0x5e, 0xc1, 0xef, 0xb1, 0x87, 0x87, 0x47, - 0xc1, 0x87, 0x83, 0x08, 0xa8, 0x93, 0xa2, 0xb4, 0x58, 0x91, 0x82, 0x7e, 0xee, 0xf0, 0x77, 0xea, - 0x4e, 0x17, 0x4d, 0x43, 0x86, 0x2c, 0xba, 0xff, 0x7f, 0x69, 0xc0, 0x36, 0xa0, 0x18, 0xd7, 0xd1, - 0x9b, 0xa6, 0x78, 0x4d, 0x14, 0x9a, 0xd3, 0x83, 0x4e, 0x9a, 0xab, 0x28, 0x4b, 0x1e, 0x33, 0x28, - 0x37, 0x0f, 0x1e, 0x74, 0xe8, 0xcc, 0xa8, 0xee, 0x80, 0x41, 0xec, 0x96, 0xf1, 0xe5, 0x00, 0x4e, - 0x93, 0xe5, 0x58, 0x8c, 0x37, 0xad, 0x7c, 0x69, 0x43, 0x33, 0x75, 0x68, 0xd7, 0x53, 0xce, 0xce, - 0x2a, 0xda, 0xef, 0x64, 0xe0, 0xb9, 0x01, 0xb5, 0x0d, 0xf5, 0xf9, 0xa6, 0x22, 0xfb, 0xcf, 0x99, - 0xb8, 0xd1, 0x6a, 0xf3, 0xf0, 0xec, 0xb1, 0xeb, 0xdc, 0x83, 0x08, 0x06, 0xe7, 0xe4, 0x80, 0x23, - 0x3a, 0x0a, 0x9f, 0xa7, 0xbb, 0x59, 0xbe, 0x94, 0xe3, 0x8b, 0x55, 0xd0, 0x74, 0xf0, 0x62, 0x25, - 0xdb, 0x97, 0x67, 0x38, 0x8d, 0xeb, 0xe1, 0x8a, 0x23, 0x0d, 0x8b, 0x14, 0x55, 0xfa, 0x5d, 0x1a, - 0x47, 0xf1, 0x12, 0x1d, 0x47, 0xfd, 0xea, 0xdb, 0xeb, 0x4a, 0x3d, 0x1f, 0xb0, 0x4a, 0x0c, 0x5b, - 0x92, 0x13, 0x31, 0x30, 0x32, 0x97, 0x07, 0x32, 0x1b, 0xb5, 0x85, 0xaf, 0x23, 0x35, 0x99, 0x75, - 0x71, 0xe7, 0x8c, 0x2d, 0x94, 0x1c, 0x81, 0xbb, 0x0d, 0xcf, 0xf3, 0x43, 0xa8, 0xe1, 0x41, 0x9e, - 0x2f, 0xde, 0x4b, 0x78, 0x3b, 0x84, 0x02, 0x41, 0xde, 0x83, 0x8c, 0x12, 0xe6, 0x91, 0x55, 0x49, - 0x9d, 0x75, 0x81, 0x36, 0x33, 0xfa, 0xc6, 0x68, 0x48, 0x1c, 0xae, 0xef, 0x61, 0x73, 0xe1, 0x17, - 0xb8, 0x0b, 0xac, 0x53, 0xa5, 0x3c, 0xa2, 0xa4, 0x1b, 0x28, 0xf6, 0xb5, 0x72, 0xe4, 0xd7, 0xf8, - 0x64, 0xdf, 0xb2, 0x1e, 0xf6, 0xe2, 0xfc, 0x4c, 0xde, 0xbf, 0x60, 0x41, 0x3d, 0xd8, 0xb7, 0x71, - 0x90, 0x4e, 0xb0, 0x68, 0xd7, 0x1e, 0x63, 0x57, 0x46, 0x9f, 0xf6, 0x94, 0xfd, 0xd7, 0xed, 0x77, - 0xbd, 0x0b, 0x19, 0x69, 0x18, 0x20, 0x28, 0x8b, 0x50, 0x95, 0xe4, 0x7f, 0xea, 0xbb, 0xcc, 0xb0, - 0x08, 0x63, 0x4f, 0x15, 0x80, 0x6f, 0xc6, 0x3c, 0x5b, 0xd8, 0xfe, 0xd4, 0xe8, 0x19, 0x74, 0x49, - 0x1c, 0x15, 0x88, 0x32, 0xab, 0x78, 0x4e, 0xf1, 0x76, 0xb9, 0x24, 0x9b, 0xe8, 0xea, 0xca, 0xb3, - 0xb1, 0x21, 0x01, 0x98, 0x8a, 0x7c, 0x8f, 0xb4, 0xbf, 0xfa, 0x3b, 0x26, 0x56, 0x35, 0x5b, 0xaa, - 0xa2, 0xb3, 0x0b, 0x79, 0xfe, 0x0a, 0x53, 0xdf, 0xfe, 0x84, 0x41, 0x4d, 0x8c, 0xc7, 0x6b, 0xd5, - 0xe9, 0x09, 0xbb, 0xee, 0x35, 0xcc, 0xee, 0xb0, 0xe7, 0xc1, 0x38, 0x35, 0xbe, 0x7e, 0x39, 0xf5, - 0xfe, 0x11, 0x4b, 0x72, 0x59, 0x6e, 0xcc, 0xeb, 0x72, 0x2e, 0xe5, 0xbc, 0x9c, 0xcd, 0x9f, 0x58, - 0x62, 0xbc, 0x83, 0xfc, 0x40, 0x59, 0x83, 0x6d, 0xe0, 0x6c, 0xa5, 0xf0, 0xe0, 0xe6, 0x7c, 0xf5, - 0x45, 0x95, 0xa8, 0x7d, 0x3e, 0x7a, 0x37, 0xcf, 0xb1, 0xf2, 0x50, 0x1f, 0x01, 0xd3, 0xbf, 0x51, - 0x7b, 0xf6, 0xd2, 0x4d, 0x7b, 0x36, 0x7b, 0xcf, 0x61, 0x31, 0xa2, 0x23, 0x04, 0x54, 0xbe, 0x38, - 0x1a, 0x46, 0x55, 0xb4, 0x5a, 0x9a, 0x67, 0xaa, 0xbb, 0x9a, 0xf7, 0xff, 0x8c, 0x08, 0x6e, 0x35, - 0xfc, 0xd3, 0x85, 0x30, 0x04, 0xd5, 0x48, 0xbd, 0xd7, 0x34, 0x66, 0x17, 0x9e, 0xca, 0x05, 0x7c, - 0x19, 0x62, 0xff, 0x06, 0x3c, 0x2b, 0xbf, 0xda, 0xef, 0x9d, 0x8e, 0x78, 0x69, 0xd4, 0x18, 0x4c, - 0x7d, 0x3e, 0xbf, 0x6d, 0xc0, 0x20, 0x25, 0x41, 0xc9, 0x4d, 0x2b, 0xb6, 0xc5, 0xe7, 0x21, 0xd9, - 0x0d, 0x7b, 0x5b, 0x64, 0x18, 0x6a, 0x10, 0x32, 0xd9, 0xf3, 0x3c, 0x10, 0xe6, 0x39, 0x2a, 0xbb, - 0xa0, 0x9f, 0x97, 0xc3, 0xab, 0x10, 0xb8, 0xd9, 0x4e, 0x81, 0x31, 0xe8, 0xe3, 0x42, 0x93, 0x0c, - 0xe4, 0x0d, 0xb6, 0x52, 0xb6, 0xf5, 0x31, 0x0f, 0xd3, 0x05, 0xda, 0x78, 0xd5, 0x27, 0x2a, 0xd2, - 0x8f, 0x48, 0x86, 0x7b, 0x39, 0x72, 0x52, 0x86, 0x8c, 0x0c, 0x41, 0xf6, 0x88, 0x80, 0x30, 0xbd, - 0xdf, 0x60, 0x35, 0xbd, 0xa1, 0xcc, 0x75, 0xe0, 0xaf, 0x25, 0x7d, 0x42, 0x56, 0xa7, 0xe4, 0x9b, - 0x9f, 0xcc, 0x24, 0xa6, 0x7f, 0x06, 0x4d, 0x53, 0x54, 0xbf, 0xc9, 0x8c, 0xbb, 0x73, 0xdc, 0xbb, - 0x96, 0x08, 0x29, 0x92, 0xea, 0x78, 0xca, 0xc0, 0x62, 0xfc, 0xc1, 0xcc, 0x33, 0x17, 0xc1, 0xab, - 0x5b, 0x16, 0x84, 0x40, 0x92, 0x89, 0x4f, 0xa4, 0x4e, 0xfa, 0x5c, 0x74, 0x1c, 0x62, 0xaa, 0xef, - 0x44, 0x6b, 0x39, 0xde, 0x24, 0x35, 0xf6, 0x58, 0xf5, 0xa0, 0xc7, 0xca, 0xfc, 0x16, 0x9b, 0x6f, - 0x1f, 0x6d, 0xc3, 0x5c, 0xe2, 0xe8, 0x1b, 0x98, 0x31, 0x14, 0x31, 0xad, 0x46, 0x58, 0x8b, 0x63, - 0x20, 0x94, 0x67, 0x2e, 0xef, 0x8c, 0x3b, 0xb7, 0xaa, 0x93, 0x55, 0xbf, 0xf4, 0x96, 0x69, 0x69, - 0xfd, 0xac, 0x52, 0xc2, 0x6e, 0x12, 0xe0, 0xde, 0x57, 0xfa, 0xb3, 0xd1, 0x22, 0x1c, 0xc6, 0x1b, - 0x0b, 0x44, 0x22, 0x65, 0x3e, 0x16, 0x5d, 0x81, 0x27, 0x10, 0x40, 0xdc, 0x84, 0x69, 0x38, 0xaf, - 0x47, 0xe4, 0xd5, 0x00, 0x11, 0x2e, 0x50, 0x9e, 0x8f, 0xb4, 0x0d, 0xe3, 0x0e, 0x7e, 0x81, 0xc7, - 0x2d, 0x84, 0xfb, 0xd2, 0x53, 0x46, 0xdb, 0x8c, 0xd4, 0xc5, 0xc9, 0xf8, 0xd3, 0x2d, 0x74, 0x73, - 0x55, 0xf9, 0x96, 0x00, 0x77, 0xf1, 0xbb, 0x85, 0x28, 0x56, 0x24, 0x69, 0x56, 0xed, 0xfc, 0x6b, - 0xba, 0x2e, 0x06, 0xe6, 0xe4, 0x18, 0x21, 0x82, 0xb2, 0x3d, 0x07, 0xa3, 0xf2, 0x8a, 0xce, 0xe9, - 0x71, 0xf0, 0x13, 0x25, 0x9a, 0x33, 0x3b, 0x81, 0x7a, 0xef, 0xd6, 0xfe, 0xf8, 0x4e, 0x98, 0xca, - 0xf6, 0x0a, 0x8e, 0x18, 0x4b, 0x9b, 0xa4, 0x79, 0x6a, 0x43, 0xf6, 0xfb, 0x06, 0x4d, 0x3f, 0xf5, - 0x13, 0xe1, 0x64, 0xee, 0xfe, 0x6a, 0xd8, 0x22, 0x9c, 0xac, 0x6f, 0x30, 0xd7, 0x5c, 0x4d, 0xbb, - 0xfd, 0xca, 0xcc, 0x15, 0x9f, 0xe1, 0x3e, 0x3c, 0xc1, 0xaf, 0x27, 0x39, 0x75, 0x52, 0x0a, 0x3e, - 0xa7, 0x71, 0x15, 0x18, 0x0e, 0x15, 0x97, 0xea, 0xae, 0xb1, 0x3b, 0xce, 0xff, 0x9e, 0xef, 0xf3, - 0x04, 0x97, 0x89, 0xd8, 0x87, 0x00, 0x96, 0x01, 0xee, 0xca, 0xfd, 0xc0, 0x9f, 0xff, 0xba, 0x2f, - 0x64, 0x83, 0x27, 0xaf, 0x10, 0x73, 0x5b, 0x81, 0xe2, 0x3f, 0xc2, 0x33, 0x4b, 0x1f, 0xa2, 0x7b, - 0xdb, 0x71, 0xa2, 0xda, 0x4f, 0x05, 0x8f, 0x26, 0x0e, 0x21, 0x73, 0x47, 0x8d, 0x07, 0x11, 0xe9, - 0xa0, 0xbe, 0x97, 0x4a, 0x8b, 0x1d, 0xa5, 0xd2, 0x9a, 0x05, 0xf1, 0xba, 0xab, 0x3b, 0x18, 0x6e, - 0x55, 0x42, 0x37, 0x48, 0xa6, 0x1b, 0x9b, 0xaa, 0x01, 0x0c, 0xd8, 0xb5, 0x78, 0x42, 0x10, 0x67, - 0x3b, 0x1a, 0x03, 0x00, 0x44, 0x83, 0xc2, 0xdf, 0xe3, 0xde, 0x23, 0x3d, 0xbb, 0x8b, 0x5c, 0x20, - 0xa0, 0x42, 0xb6, 0x6e, 0xbe, 0x5c, 0x86, 0x26, 0x1f, 0x3c, 0xd1, 0x7a, 0xe0, 0x24, 0xad, 0x02, - 0x70, 0x8d, 0xa6, 0x5b, 0x17, 0xea, 0x73, 0x79, 0x90, 0x6c, 0x72, 0x43, 0x09, 0xa9, 0xf2, 0x33, - 0xc5, 0x4c, 0xd8, 0xb4, 0xd4, 0x2d, 0x43, 0x0e, 0xa7, 0xba, 0x2c, 0xc4, 0xf6, 0x33, 0x63, 0x6d, - 0xa2, 0x6a, 0x89, 0x1a, 0x82, 0x74, 0x86, 0xfd, 0x23, 0x39, 0x51, 0x50, 0x62, 0x99, 0xda, 0xcd, - 0x2f, 0x5d, 0x23, 0xf9, 0x0e, 0xf9, 0x63, 0x85, 0xfa, 0xbc, 0x2d, 0x8a, 0x7a, 0xc1, 0xf7, 0x75, - 0xcf, 0xea, 0x35, 0xc3, 0xb4, 0x81, 0x6f, 0x75, 0xac, 0x14, 0x09, 0xae, 0x3a, 0x93, 0xd0, 0x26, - 0x21, 0x54, 0x73, 0xfb, 0x29, 0xbd, 0x54, 0xe3, 0x63, 0x66, 0xb9, 0xeb, 0xce, 0x88, 0x75, 0x82, - 0xdf, 0x95, 0x0e, 0xfa, 0x1a, 0x85, 0xa1, 0xab, 0x05, 0xda, 0xab, 0xe8, 0xbc, 0x22, 0x89, 0xb7, - 0x88, 0xaf, 0x79, 0xae, 0x3f, 0xce, 0x60, 0x5c, 0x8f, 0x6e, 0x87, 0x12, 0x71, 0xc4, 0xb6, 0x18, - 0xf3, 0x9d, 0xb8, 0x07, 0x1d, 0xef, 0xf4, 0xd4, 0x2a, 0x56, 0x21, 0x0a, 0xa9, 0x5c, 0xa4, 0x80, - 0xd4, 0xbc, 0x09, 0x88, 0x02, 0x7e, 0xa2, 0x20, 0x1f, 0xbe, 0xa9, 0xca, 0x46, 0xa2, 0x0e, 0xf1, - 0x67, 0x79, 0x17, 0x00, 0x81, 0x6a, 0xeb, 0x35, 0x3e, 0x10, 0x9f, 0x56, 0x6a, 0xfc, 0xaa, 0x74, - 0xde, 0xcf, 0x91, 0x06, 0xa0, 0x1c, 0xa3, 0x79, 0xe8, 0xf2, 0x17, 0x07, 0xec, 0x99, 0x2c, 0x4f, - 0x28, 0xe7, 0x72, 0x6a, 0x71, 0x61, 0x5e, 0xca, 0x7d, 0x06, 0x47, 0x05, 0x24, 0x3e, 0x2e, 0xcb, - 0x7d, 0x7c, 0x76, 0xbb, 0x37, 0x43, 0xdd, 0x7a, 0x0f, 0x51, 0xda, 0xb1, 0xdb, 0x59, 0x32, 0xff, - 0x7c, 0xf1, 0xd2, 0x68, 0x6e, 0xfa, 0x31, 0x46, 0x95, 0xe7, 0x96, 0x8c, 0x71, 0x9b, 0x2f, 0xa0, - 0xc1, 0x1b, 0xb9, 0xe2, 0xd4, 0xaf, 0x75, 0x34, 0xcf, 0x1b, 0xc2, 0x18, 0xb9, 0x13, 0x7e, 0x85, - 0xd2, 0x43, 0x82, 0xca, 0xd5, 0x5e, 0xf0, 0xef, 0x43, 0x9c, 0x20, 0x05, 0xdb, 0x3f, 0x5f, 0x96, - 0x31, 0x7b, 0x98, 0xb8, 0x08, 0x7b, 0x90, 0x4d, 0x14, 0x0a, 0x30, 0xd7, 0xf8, 0x8e, 0x3b, 0x4a, - 0xf3, 0xa3, 0x84, 0xce, 0xeb, 0x17, 0x1f, 0xc6, 0x5b, 0xf3, 0x2b, 0xd3, 0xba, 0xb3, 0x8e, 0x7a, - 0xd6, 0x71, 0x5f, 0xb4, 0x21, 0x3b, 0xbb, 0xee, 0x32, 0x82, 0x4a, 0x5f, 0x21, 0xfb, 0x31, 0xe9, - 0x23, 0x3b, 0xb5, 0xa5, 0x58, 0x09, 0x21, 0x97, 0xdf, 0x6b, 0x2d, 0x8c, 0x5d, 0x1a, 0x88, 0xcc, - 0x8b, 0x7e, 0xca, 0x6b, 0x81, 0xfe, 0x82, 0x76, 0xfb, 0x70, 0xfb, 0x7a, 0xb1, 0x40, 0x7f, 0xc9, - 0xe8, 0xc6, 0x73, 0x0a, 0x2a, 0x0e, 0x41, 0x47, 0xa6, 0xd3, 0x22, 0xd9, 0xdf, 0x15, 0x7b, 0x00, - 0x0a, 0x1e, 0xbd, 0x63, 0x26, 0xca, 0x5c, 0xfb, 0xaf, 0xcf, 0x81, 0x34, 0xc5, 0x78, 0xbd, 0x53, - 0x85, 0x37, 0x3d, 0x73, 0x6f, 0x8a, 0x1a, 0x23, 0x17, 0x84, 0x3e, 0x85, 0x24, 0xb1, 0xe2, 0x73, - 0x5c, 0x1e, 0x17, 0x40, 0x22, 0x2b, 0xd7, 0xdf, 0x05, 0x9e, 0x83, 0x30, 0xb0, 0xa8, 0x8c, 0x44, - 0x96, 0x81, 0x63, 0xaf, 0x24, 0x6c, 0xf3, 0x23, 0x5b, 0xee, 0x9b, 0xd9, 0xed, 0xdf, 0xed, 0x1b, - 0x1c, 0x63, 0xff, 0x7e, 0x5b, 0xa1, 0xa0, 0x2e, 0x4b, 0xff, 0x12, 0x64, 0x21, 0x14, 0x08, 0x56, - 0xda, 0x3e, 0x1d, 0xbc, 0x44, 0xa9, 0x7c, 0x8e, 0x96, 0x1f, 0x13, 0x4e, 0x28, 0xe0, 0x47, 0x4f, - 0x9d, 0xb8, 0xdc, 0xb3, 0x2c, 0x50, 0x04, 0x7c, 0x71, 0xa0, 0x73, 0xd2, 0xb0, 0xf2, 0x6f, 0x11, - 0xd6, 0x68, 0xa6, 0x69, 0x91, 0x47, 0xd6, 0xdf, 0xc7, 0x0f, 0xa7, 0xb2, 0xb8, 0x07, 0x01, 0x33, - 0xaf, 0x32, 0x6e, 0xc6, 0x00, 0x66, 0xc5, 0xdd, 0x4c, 0x07, 0x47, 0xda, 0x56, 0x8c, 0x2d, 0x13, - 0xb6, 0x34, 0x9f, 0x8a, 0x0b, 0x4c, 0x26, 0x72, 0x8a, 0xe7, 0xaa, 0xba, 0x67, 0x92, 0x31, 0x07, - 0xdd, 0x50, 0x79, 0x64, 0x93, 0x10, 0x31, 0x25, 0x2e, 0xbe, 0x5b, 0xba, 0xf4, 0x19, 0x99, 0x9b, - 0x5a, 0x17, 0xa0, 0xd3, 0xf3, 0x51, 0x77, 0x56, 0xde, 0xf3, 0x55, 0x40, 0x16, 0xde, 0x2b, 0x26, - 0x4d, 0x26, 0x3d, 0x63, 0x46, 0x09, 0xc7, 0xc3, 0xea, 0x9c, 0xdf, 0x8f, 0xb8, 0x13, 0xe8, 0x0a, - 0x9f, 0x55, 0xa7, 0xc3, 0x09, 0x9c, 0x9b, 0x87, 0xb8, 0xf5, 0x2f, 0x2d, 0xd4, 0xe2, 0x79, 0x55, - 0xf8, 0x34, 0x58, 0xba, 0x97, 0x4d, 0x7d, 0x01, 0x04, 0x07, 0xdf, 0x42, 0xac, 0xa5, 0xe3, 0x04, - 0x13, 0x3b, 0xf4, 0xc7, 0x9c, 0x27, 0x60, 0x7b, 0x51, 0xe4, 0xa7, 0x3a, 0x8e, 0xa3, 0xf7, 0xf0, - 0x84, 0xeb, 0x3a, 0xec, 0x21, 0xa5, 0x81, 0x39, 0x4d, 0x57, 0x73, 0xbf, 0x96, 0xe3, 0xf6, 0xbe, - 0xa8, 0x8b, 0xc7, 0xd4, 0xbd, 0x0a, 0xf6, 0x5d, 0x29, 0x4a, 0xf8, 0x5e, 0xb0, 0xd9, 0x97, 0xfc, - 0x8e, 0xd5, 0x2f, 0xee, 0x53, 0xf2, 0xa5, 0x0a, 0xb9, 0xe5, 0xe7, 0x7c, 0x64, 0x77, 0xbd, 0xcd, - 0x62, 0x70, 0xc9, 0xd3, 0xdd, 0x97, 0x46, 0x98, 0x89, 0x50, 0x31, 0x30, 0x77, 0x3c, 0x6d, 0x1b, - 0x0f, 0x1d, 0x83, 0xbc, 0x59, 0x0c, 0x67, 0xd2, 0xf3, 0xd2, 0x51, 0x7d, 0xd1, 0x20, 0x7c, 0x5f, - 0xb7, 0xde, 0x89, 0x69, 0x53, 0x72, 0x06, 0xdd, 0xe9, 0xe7, 0x1b, 0x95, 0x32, 0x03, 0x6a, 0x7c, - 0xec, 0x2e, 0xad, 0x04, 0x26, 0x4e, 0x05, 0x0b, 0x60, 0x63, 0x18, 0x4e, 0xd2, 0x84, 0x3d, 0x40, - 0x8c, 0xce, 0x2f, 0x6d, 0xf3, 0xf8, 0x22, 0xff, 0x81, 0x8a, 0xb6, 0x53, 0xa5, 0x6a, 0x7d, 0xd4, - 0xee, 0x00, 0x19, 0x98, 0xa8, 0x33, 0x6d, 0x93, 0x7e, 0xfc, 0x7b, 0x8d, 0xd8, 0x7b, 0x56, 0x0a, - 0x07, 0x03, 0x18, 0x3e, 0x7c, 0x46, 0xbb, 0x04, 0x37, 0xb0, 0xac, 0x44, 0xb0, 0xaa, 0x9f, 0x68, - 0x46, 0x0f, 0xa2, 0xe7, 0x0b, 0x95, 0x66, 0xdf, 0xc0, 0x7d, 0x1b, 0x2c, 0xad, 0x83, 0x61, 0xb3, - 0xf4, 0xb1, 0xbf, 0x3d, 0x05, 0xf3, 0x69, 0x50, 0x9f, 0x0c, 0x82, 0xe0, 0xd5, 0x69, 0xd0, 0xbf, - 0xb4, 0xa3, 0xd9, 0xef, 0xb9, 0x1e, 0x12, 0xc3, 0x66, 0x68, 0xd4, 0xfe, 0xac, 0xb1, 0x5e, 0x52, - 0x6e, 0x50, 0x45, 0x98, 0xa6, 0x7b, 0x11, 0x9b, 0x22, 0x15, 0x30, 0x9f, 0x02, 0x9d, 0xfb, 0x85, - 0xd3, 0x05, 0x7e, 0xd8, 0xae, 0xd4, 0xcc, 0xc4, 0xbd, 0xc3, 0x99, 0x4a, 0x24, 0x01, 0xae, 0x1a, - 0x1b, 0x43, 0xdf, 0x2b, 0xee, 0x86, 0x6c, 0xcf, 0x62, 0xe1, 0xec, 0xc2, 0xee, 0x77, 0x55, 0x55, - 0xb8, 0xad, 0x03, 0x1c, 0xe6, 0x53, 0xbb, 0x12, 0xed, 0x2c, 0xa1, 0xa8, 0x74, 0x0c, 0x39, 0x56, - 0xd4, 0x13, 0xfa, 0xc6, 0x14, 0x68, 0x56, 0xa2, 0x98, 0x59, 0xb5, 0xae, 0xb8, 0xfd, 0xea, 0x23, - 0x45, 0x30, 0x62, 0x93, 0xbe, 0x2d, 0xb9, 0x9c, 0x9d, 0xd6, 0xce, 0x79, 0xf9, 0xff, 0xfc, 0xc7, - 0x80, 0xf7, 0x4f, 0x7f, 0x7b, 0xef, 0x3e, 0x04, 0xe1, 0x78, 0x5b, 0xc2, 0xa1, 0xc8, 0x4c, 0x4b, - 0xde, 0x8a, 0x95, 0x7f, 0x15, 0x19, 0x6b, 0xe0, 0x4d, 0xb2, 0xfe, 0x8c, 0xcb, 0x58, 0x8b, 0xdc, - 0xd6, 0x79, 0xd6, 0x2c, 0x5d, 0x61, 0x9e, 0x8e, 0xee, 0xa2, 0xd0, 0x05, 0x23, 0x65, 0xc0, 0x7f, - 0xa6, 0xf0, 0xfc, 0x7c, 0x55, 0x49, 0x2b, 0x21, 0x7a, 0x13, 0x33, 0x50, 0x53, 0x8d, 0x24, 0x06, - 0x4f, 0xab, 0xf3, 0x46, 0xad, 0x54, 0x3e, 0xbe, 0x46, 0xb1, 0x96, 0xb9, 0x11, 0x49, 0x9d, 0x1c, - 0xcc, 0xde, 0x9d, 0xf9, 0x07, 0x36, 0x15, 0xec, 0x67, 0x9c, 0x26, 0x29, 0x12, 0x0c, 0xff, 0xbb, - 0x7e, 0x4b, 0xdd, 0xf6, 0xfa, 0x74, 0xbc, 0x75, 0x90, 0x97, 0x85, 0x31, 0xf0, 0xee, 0x4f, 0xee, - 0xf6, 0x8e, 0x53, 0x02, 0xbe, 0x1e, 0x76, 0x6e, 0x91, 0x01, 0x72, 0xc8, 0xca, 0x17, 0x80, 0xbd, - 0x3b, 0x5f, 0xcd, 0xd7, 0x0d, 0xcf, 0xf8, 0xcb, 0x7c, 0xf3, 0xe9, 0x2b, 0x28, 0xef, 0x6c, 0x9e, - 0xe4, 0xf4, 0x6c, 0xe5, 0x6b, 0x3b, 0x60, 0xeb, 0xab, 0xaf, 0x28, 0x01, 0xb8, 0x1e, 0x41, 0xb4, - 0xa9, 0x57, 0xd4, 0x86, 0xe4, 0xe3, 0x84, 0x79, 0x9e, 0xee, 0x7f, 0x7a, 0xc2, 0x42, 0x10, 0xbc, - 0x35, 0xf6, 0x23, 0x33, 0x09, 0x22, 0xb2, 0x48, 0x95, 0x65, 0x35, 0x9b, 0xfd, 0x47, 0x59, 0x3f, - 0x8f, 0xf6, 0x7b, 0xc6, 0x2b, 0x3a, 0x52, 0xab, 0xda, 0x0d, 0x26, 0xdf, 0xbc, 0x31, 0x9c, 0x97, - 0x40, 0xec, 0x77, 0xf4, 0x71, 0x39, 0xb7, 0x4f, 0x17, 0x3a, 0x32, 0xbf, 0xdf, 0xca, 0x1a, 0x3b, - 0xf5, 0x93, 0x29, 0x7e, 0x53, 0xd5, 0xf9, 0x4f, 0xf4, 0xf1, 0x0a, 0xf4, 0x4a, 0xff, 0x30, 0x64, - 0x19, 0xe9, 0x22, 0xeb, 0xfb, 0xb6, 0x66, 0xf5, 0x0d, 0x0d, 0x75, 0x78, 0x44, 0x72, 0xb8, 0x42, - 0x77, 0x14, 0xf6, 0x0d, 0x0b, 0x63, 0x85, 0xd9, 0xbd, 0x9f, 0x1a, 0x18, 0x7d, 0x3e, 0x07, 0x44, - 0x3c, 0x82, 0x95, 0xd8, 0x9a, 0xb6, 0x8f, 0x11, 0xe8, 0x21, 0x92, 0x0c, 0xae, 0xcb, 0x9a, 0x16, - 0x76, 0x3f, 0x14, 0x34, 0xbd, 0xc8, 0xd3, 0x84, 0x79, 0xd3, 0x1d, 0x7c, 0x4b, 0x66, 0xbb, 0x3d, - 0xbe, 0x62, 0x50, 0xcc, 0x44, 0xcb, 0xd4, 0x6b, 0x2a, 0x8b, 0x92, 0xcc, 0x6f, 0x4e, 0xc1, 0x61, - 0x5a, 0x00, 0x4f, 0xa5, 0xf7, 0xc0, 0x50, 0xfb, 0x41, 0x43, 0x6d, 0xbd, 0x61, 0xba, 0x81, 0x3f, - 0x6c, 0xa2, 0x69, 0x47, 0x92, 0x5f, 0xc5, 0xad, 0xa0, 0x01, 0xbc, 0x02, 0x67, 0xcd, 0x0b, 0x02, - 0x6e, 0xfe, 0x29, 0x80, 0xa5, 0xec, 0x73, 0x6d, 0x4b, 0x25, 0x80, 0xa9, 0x0a, 0x3d, 0x36, 0x47, - 0x89, 0xe5, 0x4c, 0xf5, 0x85, 0x46, 0xa3, 0xe4, 0x6b, 0x05, 0x6e, 0x58, 0x3e, 0x0f, 0xcb, 0x48, - 0xcf, 0x28, 0x4a, 0x13, 0xf3, 0x46, 0x5c, 0x2f, 0x2f, 0x74, 0x18, 0xd9, 0x34, 0xa6, 0x68, 0x5b, - 0x87, 0x4f, 0xd2, 0x79, 0x5f, 0x3a, 0x01, 0xc7, 0x8b, 0xa0, 0x28, 0x5d, 0x21, 0x0e, 0x90, 0x6e, - 0x27, 0x7b, 0xd2, 0x38, 0x99, 0x67, 0x92, 0x67, 0xe9, 0x92, 0xaa, 0x27, 0x54, 0x1d, 0x4a, 0xec, - 0x2e, 0xd1, 0x20, 0x1a, 0xcc, 0x5a, 0xee, 0x4b, 0xae, 0xc2, 0x96, 0x90, 0x4e, 0x61, 0x50, 0x89, - 0xdb, 0x3f, 0xcd, 0x41, 0x0c, 0x18, 0xa0, 0x6d, 0x06, 0x34, 0x0f, 0xfc, 0x0c, 0xb0, 0xad, 0xc5, - 0xc3, 0x7a, 0xa3, 0x13, 0xaa, 0x56, 0x48, 0xe8, 0x74, 0x5c, 0x32, 0x45, 0xf0, 0x1c, 0x7b, 0xa3, - 0x7d, 0x1c, 0x0a, 0x7b, 0x4e, 0xf4, 0xb8, 0xc5, 0x4d, 0x87, 0x2a, 0x37, 0x56, 0x75, 0x31, 0x0e, - 0x02, 0x9e, 0xb9, 0x49, 0x66, 0xe8, 0x8a, 0x38, 0x80, 0xd9, 0x3c, 0xa3, 0x18, 0x3d, 0x2f, 0x09, - 0x5f, 0xe3, 0x85, 0x90, 0x0f, 0x2b, 0x48, 0x6f, 0x37, 0x4a, 0x9f, 0x51, 0xd0, 0x3d, 0x93, 0x7c, - 0xdf, 0xe2, 0xba, 0x58, 0x09, 0x2c, 0x3f, 0xd6, 0xbe, 0xd2, 0xea, 0x6c, 0x88, 0xcf, 0xfd, 0x22, - 0x0a, 0xb2, 0x50, 0x57, 0x06, 0x6f, 0x85, 0x05, 0x27, 0x1e, 0xce, 0xe6, 0x98, 0x2e, 0x11, 0xf6, - 0x29, 0x1c, 0x11, 0xe4, 0x63, 0x69, 0xa2, 0x98, 0x67, 0x48, 0x41, 0xd4, 0x04, 0x56, 0xb9, 0xb3, - 0x9e, 0x0e, 0x68, 0x86, 0x8e, 0xb9, 0xcc, 0x47, 0x7e, 0xf3, 0x8c, 0xf0, 0x97, 0xbb, 0xc9, 0x48, - 0x26, 0x55, 0xf6, 0x49, 0x9f, 0x7b, 0x30, 0x7a, 0x71, 0x82, 0x55, 0x01, 0xaf, 0x88, 0x90, 0x0c, - 0x3f, 0x95, 0x81, 0x8e, 0x7c, 0x6d, 0x0f, 0xd7, 0xa7, 0x46, 0x5a, 0xce, 0xbe, 0xd1, 0xee, 0xb3, - 0xa6, 0x3e, 0xca, 0x50, 0xdc, 0x16, 0x9a, 0x70, 0x13, 0x7e, 0x05, 0x2f, 0x36, 0x89, 0x27, 0x6c, - 0x22, 0xbe, 0x05, 0x0c, 0x17, 0x30, 0x6e, 0x99, 0x4d, 0x44, 0xb0, 0x3e, 0x07, 0x03, 0x9e, 0x05, - 0x8c, 0x58, 0x81, 0x5d, 0xa2, 0xe8, 0xf7, 0x28, 0x32, 0xdb, 0x2f, 0xa3, 0xf6, 0x78, 0x81, 0x10, - 0x77, 0x83, 0xc0, 0x30, 0xa6, 0x44, 0x3c, 0xa6, 0x11, 0xec, 0x58, 0x3b, 0x37, 0xda, 0x7e, 0x09, - 0x66, 0xb1, 0x0d, 0x74, 0xea, 0x7c, 0xb2, 0x8f, 0xb3, 0xb5, 0x6d, 0x54, 0x4e, 0x34, 0x34, 0xa8, - 0x38, 0xee, 0x68, 0xd5, 0x4f, 0x59, 0x20, 0xf7, 0x5f, 0xc5, 0xf2, 0x37, 0xad, 0xb1, 0x30, 0x8e, - 0x3d, 0x09, 0x16, 0xcb, 0xb0, 0xc5, 0xa5, 0xa1, 0xc3, 0x97, 0xdc, 0x51, 0x4e, 0xb2, 0x6b, 0x0d, - 0x54, 0x4d, 0xb2, 0xdf, 0x34, 0xcb, 0x6a, 0xed, 0xd4, 0x49, 0xf2, 0x72, 0x83, 0x85, 0x13, 0x85, - 0xa2, 0x66, 0xc6, 0x9b, 0x28, 0xa2, 0xd1, 0x87, 0x27, 0xb1, 0x9b, 0xcd, 0x81, 0x72, 0x46, 0x0c, - 0xf9, 0x3b, 0x9f, 0x9f, 0xf6, 0xe4, 0x6b, 0x76, 0xd9, 0x38, 0xc4, 0x58, 0x66, 0xcd, 0xe7, 0x5c, - 0xb3, 0xb4, 0xc0, 0x94, 0xfa, 0xc5, 0x75, 0xbe, 0x48, 0x36, 0x8f, 0x56, 0x40, 0x3a, 0xd1, 0xda, - 0x39, 0xd7, 0x52, 0x62, 0x7d, 0x32, 0x08, 0x99, 0x8f, 0xfd, 0x55, 0x33, 0xdd, 0x9b, 0x22, 0x6b, - 0x94, 0x67, 0x34, 0xb0, 0x5c, 0x62, 0x66, 0xa2, 0x25, 0x0a, 0x0f, 0xe2, 0xd8, 0x97, 0x4c, 0xc9, - 0x08, 0xfd, 0x31, 0x25, 0xbc, 0x9b, 0xff, 0xca, 0x44, 0xb8, 0x48, 0x59, 0x0c, 0x6f, 0x69, 0x9b, - 0xbc, 0xdb, 0xaf, 0xc4, 0x76, 0xdc, 0x3e, 0x68, 0x3f, 0x83, 0x72, 0x4d, 0xdf, 0xfa, 0x26, 0xaf, - 0xc8, 0x74, 0x9c, 0xe6, 0xcb, 0x0f, 0xc0, 0x76, 0x7a, 0x52, 0x3c, 0x8a, 0x18, 0xbf, 0xd5, 0x86, - 0x77, 0x38, 0x77, 0x36, 0x79, 0xfe, 0xad, 0x43, 0x3d, 0x0d, 0xe2, 0xb7, 0x0a, 0xe5, 0x7d, 0xe1, - 0xe1, 0x41, 0x58, 0x0a, 0xeb, 0x0f, 0xbc, 0x75, 0x81, 0xb8, 0x4c, 0x9f, 0xfa, 0x43, 0x33, 0xcd, - 0x58, 0x23, 0xc0, 0x66, 0xff, 0xc3, 0x07, 0xa4, 0xb7, 0xcf, 0x87, 0x0e, 0x0a, 0x2c, 0xea, 0x8a, - 0x8b, 0x0d, 0xd6, 0x1e, 0xae, 0x29, 0x53, 0xa5, 0xe6, 0xbc, 0xe9, 0xf5, 0xa3, 0x73, 0x70, 0x18, - 0x04, 0xbf, 0x9a, 0x89, 0xbf, 0x39, 0x09, 0x3b, 0x10, 0x06, 0x1d, 0x49, 0x60, 0x13, 0x6c, 0xe7, - 0xc0, 0xe3, 0x7f, 0xd6, 0xb9, 0x69, 0xfe, 0x83, 0xd7, 0x02, 0x8c, 0x24, 0xb2, 0x83, 0xbd, 0xaa, - 0xc6, 0x66, 0xb9, 0xd8, 0x58, 0xcd, 0x00, 0xac, 0x1c, 0x72, 0x77, 0x4e, 0xff, 0x25, 0xd4, 0x8a, - 0x5d, 0x20, 0x42, 0xf4, 0x7d, 0x66, 0xd0, 0x12, 0x40, 0xf9, 0xd6, 0xa0, 0xf1, 0x27, 0x05, 0x1c, - 0x55, 0x12, 0xbb, 0x85, 0xd3, 0xbf, 0x64, 0xa4, 0x5b, 0x19, 0x30, 0x83, 0x50, 0x5e, 0x7a, 0x8a, - 0x17, 0x4b, 0x62, 0x58, 0xf5, 0x3e, 0x80, 0x29, 0xdd, 0xb3, 0x9b, 0xed, 0x8e, 0x87, 0xce, 0xf1, - 0x69, 0x65, 0xaa, 0xc4, 0xa7, 0xe6, 0x42, 0xd8, 0x4c, 0xed, 0x82, 0xe1, 0x6f, 0x22, 0x9e, 0xfc, - 0x14, 0xbb, 0xca, 0x5d, 0x5e, 0xf5, 0x4d, 0xdc, 0x6e, 0x18, 0x87, 0xce, 0xa9, 0x52, 0xc3, 0x3c, - 0x77, 0x13, 0x96, 0x23, 0x74, 0xbb, 0x5c, 0xaf, 0x94, 0xe5, 0x50, 0x98, 0xe6, 0xfe, 0xe9, 0xca, - 0xf6, 0xc9, 0x8c, 0xba, 0xae, 0xbb, 0xc7, 0x56, 0x88, 0x5c, 0x9d, 0x78, 0xad, 0xb2, 0x46, 0xa6, - 0x73, 0x02, 0x88, 0xa1, 0x67, 0x20, 0x2f, 0xb1, 0xac, 0xa7, 0x6b, 0xc9, 0x0f, 0x70, 0xfb, 0x82, - 0x91, 0xe9, 0x96, 0x73, 0x4d, 0xdb, 0xb4, 0xf2, 0xc1, 0x37, 0x00, 0xe9, 0x6d, 0x82, 0xd5, 0x8e, - 0xfa, 0x35, 0xb5, 0xfd, 0x27, 0x8e, 0xe1, 0x0f, 0xd3, 0xd8, 0x55, 0xfb, 0x3d, 0xb1, 0x42, 0x06, - 0xf7, 0x72, 0x59, 0xc7, 0xba, 0xbe, 0x53, 0x28, 0xb8, 0xac, 0x82, 0xdd, 0x35, 0x51, 0x7e, 0x10, - 0x39, 0x1c, 0xd4, 0x20, 0xa3, 0x96, 0xc6, 0xa5, 0x67, 0xb6, 0xf7, 0xf9, 0x78, 0x64, 0x76, 0xb8, - 0x28, 0x28, 0xa4, 0x13, 0xfe, 0x1f, 0xb8, 0x6d, 0xf3, 0xb8, 0xaf, 0xfe, 0x90, 0xab, 0x2a, 0xef, - 0x62, 0x57, 0x59, 0x4d, 0xee, 0x0f, 0x30, 0xf1, 0x06, 0x1a, 0x98, 0x1c, 0xa8, 0x8b, 0xdb, 0xac, - 0xff, 0x61, 0x68, 0x7c, 0xef, 0x33, 0x6c, 0x66, 0xa4, 0x7f, 0xf9, 0x51, 0x44, 0x6a, 0xf7, 0xf4, - 0x77, 0xd1, 0x30, 0xaa, 0x1c, 0x66, 0xad, 0xe1, 0xa8, 0x21, 0x0f, 0x90, 0x8a, 0x78, 0x9e, 0x18, - 0x63, 0x10, 0x58, 0xc6, 0xb2, 0x9a, 0x8f, 0x56, 0x2c, 0x82, 0x67, 0x9b, 0x23, 0x03, 0xbd, 0x9d, - 0xe7, 0xfc, 0x27, 0x90, 0xd6, 0xd3, 0xe5, 0x81, 0x7c, 0x4e, 0x09, 0x3e, 0x1e, 0xe6, 0x3c, 0x8a, - 0xb5, 0xe0, 0xc8, 0xfb, 0x7c, 0xc6, 0x9e, 0xc5, 0xd3, 0xb0, 0xae, 0xe7, 0x20, 0xb4, 0xc2, 0x9d, - 0x69, 0xe2, 0x9a, 0x40, 0xf7, 0x28, 0x3d, 0xa9, 0x44, 0xdb, 0x56, 0xef, 0xb6, 0x73, 0xd8, 0x69, - 0x92, 0x8d, 0x29, 0x91, 0x69, 0x28, 0x58, 0x94, 0xbb, 0xd0, 0xa8, 0xba, 0x5e, 0xcc, 0x07, 0x02, - 0xea, 0x53, 0xce, 0xb6, 0xbf, 0xb3, 0x6b, 0x23, 0xef, 0x6c, 0x66, 0x14, 0x0f, 0xb9, 0x23, 0xdc, - 0xb2, 0x5c, 0x37, 0x11, 0x81, 0x0f, 0x73, 0xd9, 0x65, 0x8b, 0xa7, 0x8d, 0x71, 0xac, 0xe5, 0x2b, - 0x6e, 0xe2, 0x14, 0x06, 0x4e, 0xad, 0x7b, 0x4e, 0xac, 0xf1, 0x49, 0x3c, 0x6e, 0xc0, 0x79, 0x2d, - 0xd8, 0xbb, 0x85, 0x43, 0x2a, 0x67, 0x3b, 0x79, 0x54, 0x8b, 0xef, 0x85, 0x93, 0xf8, 0xc4, 0x16, - 0xda, 0xc3, 0xe2, 0x46, 0x67, 0xaf, 0x2e, 0x49, 0x4b, 0xf3, 0xaf, 0xee, 0x97, 0xc5, 0xb8, 0x19, - 0x16, 0xf2, 0x23, 0x75, 0xfa, 0xe0, 0x86, 0x74, 0x3f, 0x17, 0x7e, 0x2f, 0x30, 0xa5, 0x69, 0xee, - 0x5e, 0xcc, 0x0a, 0xc1, 0xdc, 0x6c, 0x8e, 0x8d, 0xda, 0xb9, 0xcc, 0x9a, 0x4a, 0xf4, 0xbc, 0xf3, - 0xaf, 0xe4, 0x84, 0xaa, 0x22, 0xf7, 0xcc, 0x3b, 0x40, 0x85, 0x86, 0x8f, 0xf7, 0x3c, 0x3f, 0x66, - 0x11, 0x3c, 0xcd, 0x46, 0x22, 0x48, 0xcd, 0xee, 0xac, 0x6a, 0xc4, 0x35, 0xff, 0xc2, 0xe2, 0x1c, - 0x8f, 0xb1, 0xcd, 0xf9, 0xc7, 0x09, 0xb8, 0x2f, 0x3d, 0x53, 0xc3, 0xa2, 0x9c, 0x81, 0x33, 0x3e, - 0x98, 0x86, 0xb1, 0x7f, 0x58, 0x18, 0x6d, 0x88, 0x8a, 0x1b, 0xfd, 0x2d, 0xfd, 0xcd, 0x2a, 0x8a, - 0x48, 0x7c, 0x98, 0x71, 0x5f, 0x9b, 0x66, 0x34, 0x33, 0xab, 0xdd, 0xb1, 0x1c, 0xb7, 0xc4, 0x8d, - 0xea, 0xa6, 0xa6, 0xd1, 0xbf, 0x35, 0x78, 0x37, 0xf8, 0xd5, 0x86, 0xf1, 0xfd, 0x97, 0xac, 0x4a, - 0x62, 0x24, 0x3e, 0x16, 0x6f, 0xeb, 0x6c, 0x01, 0x4a, 0x18, 0xb3, 0x27, 0x7c, 0x56, 0x14, 0xce, - 0xe5, 0x70, 0x3c, 0x7b, 0x28, 0x22, 0xd3, 0xd4, 0x97, 0x09, 0x18, 0xf2, 0xe6, 0x19, 0x58, 0xb1, - 0xd3, 0xa6, 0xb7, 0x04, 0x17, 0x61, 0x01, 0xd8, 0xeb, 0x57, 0x00, 0xda, 0xba, 0xe7, 0x2a, 0x7b, - 0xd7, 0x92, 0x56, 0x56, 0x52, 0x42, 0x85, 0xa3, 0xfd, 0x5b, 0xe1, 0x63, 0xf4, 0x08, 0x35, 0x1b, - 0x35, 0xc7, 0x7e, 0xc1, 0x43, 0xcd, 0x62, 0xde, 0xf9, 0xb5, 0x56, 0x78, 0x84, 0x95, 0x5e, 0x97, - 0xda, 0xd1, 0x66, 0x67, 0x84, 0x8b, 0x14, 0x5b, 0x61, 0x54, 0x7b, 0x6b, 0x1a, 0xfe, 0x77, 0x95, - 0xff, 0x3a, 0xdc, 0x02, 0x02, 0x8e, 0x89, 0xa2, 0x2c, 0xbf, 0x65, 0x96, 0x61, 0x11, 0x7b, 0xfe, - 0x5c, 0x72, 0xd1, 0xe9, 0x44, 0xc4, 0x42, 0xe0, 0x2a, 0x1c, 0x97, 0xab, 0xea, 0x00, 0x9d, 0x36, - 0xc6, 0xa7, 0xf1, 0x8c, 0xea, 0xfe, 0x5a, 0x17, 0x27, 0xb9, 0x61, 0x83, 0x45, 0x16, 0xd3, 0x46, - 0x4e, 0x17, 0x21, 0xb6, 0xd7, 0x81, 0x98, 0x70, 0xe8, 0x48, 0xeb, 0x62, 0x2a, 0x85, 0x48, 0x10, - 0xdc, 0x2a, 0x2d, 0x95, 0x89, 0x45, 0xeb, 0x23, 0x7a, 0x9e, 0x58, 0xae, 0x40, 0xb1, 0x17, 0xb4, - 0xe6, 0xb3, 0xda, 0x01, 0xff, 0xe8, 0x24, 0x08, 0xfa, 0x98, 0x84, 0x23, 0xbf, 0x43, 0x2a, 0x5b, - 0x95, 0xf3, 0x40, 0xd7, 0xad, 0xcd, 0xb4, 0xb2, 0x9a, 0x03, 0xa6, 0x4b, 0x42, 0xc5, 0x35, 0xa1, - 0x0d, 0x4a, 0x47, 0x90, 0xb5, 0x43, 0x9f, 0x7d, 0x9e, 0xee, 0xa1, 0x83, 0xb1, 0xb4, 0x0e, 0xec, - 0xe2, 0xb0, 0x35, 0xde, 0x2c, 0x46, 0x63, 0x65, 0x03, 0x39, 0x45, 0xb8, 0xe7, 0x6f, 0xd8, 0x29, - 0x2c, 0x29, 0x1d, 0x93, 0x7e, 0x59, 0x99, 0xf2, 0x52, 0x63, 0x94, 0xca, 0xea, 0x66, 0xa4, 0xcc, - 0x8f, 0x44, 0x05, 0x0d, 0x49, 0xd3, 0xb7, 0x8e, 0x8c, 0x34, 0x1a, 0x63, 0xe5, 0x12, 0x3f, 0x73, - 0x21, 0xf9, 0x57, 0x73, 0x62, 0xcd, 0x21, 0x26, 0x8b, 0xb2, 0x4c, 0x89, 0x57, 0xdd, 0x64, 0xc6, - 0xc3, 0x11, 0x9e, 0x43, 0xe6, 0xc1, 0x34, 0x5b, 0xbf, 0x91, 0x6c, 0x33, 0x92, 0xa9, 0x15, 0xd3, - 0xd0, 0x07, 0x5c, 0x97, 0x45, 0x44, 0x1a, 0x2d, 0x88, 0xad, 0xe6, 0x13, 0xf2, 0x9c, 0x0b, 0xc9, - 0x71, 0xb2, 0x81, 0x25, 0xae, 0xd0, 0x9a, 0x75, 0xb8, 0x00, 0xec, 0xc4, 0xf8, 0x67, 0x36, 0x86, - 0x19, 0xd2, 0x56, 0xcd, 0x07, 0xcc, 0x15, 0x82, 0xbb, 0xec, 0x91, 0x34, 0x44, 0x82, 0x20, 0x2b, - 0xa3, 0xe9, 0x5d, 0xa1, 0xf6, 0x4d, 0x47, 0xf4, 0xc3, 0x70, 0x04, 0x4b, 0xe2, 0xd8, 0x9e, 0xe4, - 0xea, 0x9a, 0xf8, 0x98, 0xdb, 0xfe, 0x35, 0x8b, 0xc0, 0x4c, 0x5a, 0xb9, 0x89, 0x10, 0x83, 0x4b, - 0x0d, 0xb9, 0xa2, 0xd9, 0x19, 0x93, 0x60, 0x32, 0xe3, 0xfc, 0x88, 0x2c, 0xb3, 0xb3, 0x7e, 0xcc, - 0x6d, 0x6c, 0xf2, 0x96, 0xa8, 0x26, 0x0d, 0xf8, 0x05, 0x54, 0x9a, 0x4a, 0xd4, 0x35, 0xd2, 0x6f, - 0xeb, 0x83, 0xd5, 0xe8, 0x21, 0x03, 0xb0, 0x2e, 0x4b, 0x9b, 0xfb, 0x28, 0x65, 0xb1, 0x4b, 0xa0, - 0x1f, 0x08, 0xb2, 0x45, 0x5d, 0x40, 0xce, 0x0c, 0xeb, 0x34, 0xcc, 0x73, 0xdd, 0x39, 0xa6, 0x2a, - 0xd1, 0xb3, 0x3d, 0xf1, 0xd1, 0x7e, 0x0f, 0x3b, 0x4c, 0x5f, 0xdd, 0x04, 0xf0, 0x81, 0x69, 0x15, - 0x8a, 0xa3, 0x99, 0x49, 0xd0, 0xcd, 0xf3, 0x82, 0x3a, 0x7c, 0xac, 0xf9, 0x9d, 0x80, 0x1c, 0x3d, - 0x41, 0x59, 0x31, 0xbc, 0x17, 0x6d, 0xb6, 0x30, 0x15, 0xd8, 0x32, 0xa0, 0x71, 0x2e, 0x64, 0xe7, - 0x9f, 0xc2, 0x0d, 0x7b, 0xa7, 0xf4, 0x7d, 0xbd, 0x4e, 0x25, 0xdd, 0xca, 0x32, 0xf7, 0x6f, 0x00, - 0x0e, 0x71, 0xaf, 0x8a, 0x05, 0xe4, 0x82, 0xe8, 0x43, 0x1f, 0x65, 0x15, 0x51, 0xba, 0xdb, 0x5d, - 0x5b, 0x56, 0x71, 0x97, 0x2c, 0x6f, 0xef, 0x2d, 0x95, 0x4b, 0xc0, 0xdc, 0x36, 0xcc, 0x4d, 0x54, - 0x26, 0x1d, 0x16, 0x0c, 0x2d, 0x69, 0x4e, 0xa3, 0xf1, 0xc8, 0xda, 0x63, 0x04, 0x99, 0x38, 0x00, - 0xa9, 0x3b, 0xd0, 0x86, 0x29, 0xe3, 0x3c, 0xf7, 0x34, 0x07, 0xec, 0x4c, 0x58, 0x8c, 0xcc, 0x79, - 0x9c, 0xc2, 0x8e, 0xda, 0x1a, 0x9e, 0x81, 0xbb, 0x78, 0x77, 0x05, 0x7e, 0xa7, 0xbe, 0x77, 0xee, - 0x32, 0x89, 0xcc, 0x7e, 0x38, 0x05, 0x4a, 0x2e, 0x67, 0x3b, 0x10, 0xed, 0xd8, 0x11, 0xd7, 0xb0, - 0xb6, 0x9a, 0xad, 0xac, 0x95, 0x63, 0x22, 0x91, 0xc2, 0x83, 0xa3, 0x5a, 0x29, 0x71, 0x32, 0xf6, - 0x5b, 0x9b, 0xc9, 0xf9, 0x73, 0xf1, 0x83, 0xea, 0xa0, 0x8e, 0xcc, 0x72, 0x2e, 0x6a, 0xb7, 0xd3, - 0x75, 0x1f, 0xec, 0x90, 0x3b, 0x20, 0x86, 0xaa, 0xee, 0x82, 0xd8, 0xa0, 0xe2, 0xe7, 0x35, 0x4c, - 0x11, 0x83, 0x46, 0x0e, 0x4c, 0xc8, 0x3e, 0x18, 0x01, 0xbd, 0x0b, 0xe6, 0xb6, 0x0b, 0x95, 0x74, - 0x22, 0x58, 0x39, 0x0f, 0x15, 0x4c, 0x0c, 0x54, 0xfd, 0xa2, 0x0d, 0x54, 0xaa, 0x1e, 0x8a, 0xee, - 0xb4, 0xe4, 0x60, 0x08, 0xfe, 0xf6, 0x5d, 0x50, 0xc4, 0x2e, 0x11, 0x7e, 0xd7, 0x06, 0xd5, 0xa2, - 0x6b, 0x72, 0xec, 0xc1, 0xee, 0x55, 0xb6, 0x4e, 0xd5, 0xc5, 0x2c, 0x59, 0x35, 0x7d, 0xc7, 0x14, - 0x4a, 0x16, 0x0d, 0xc8, 0xdc, 0xe5, 0xfd, 0x10, 0x3e, 0xff, 0x9e, 0x3f, 0x6e, 0x80, 0x7a, 0x61, - 0xaf, 0xd5, 0x05, 0x52, 0xc1, 0xb6, 0xaa, 0x71, 0x2e, 0xac, 0x11, 0x38, 0x36, 0x2c, 0xf1, 0xc1, - 0x12, 0xc6, 0xcc, 0xc4, 0x84, 0x74, 0x48, 0xa8, 0x28, 0xa4, 0x4f, 0xbd, 0x98, 0xd7, 0x2f, 0x42, - 0x83, 0xf2, 0x4e, 0x38, 0x7a, 0x18, 0x3e, 0xa4, 0x90, 0xdf, 0x68, 0x68, 0x27, 0x63, 0x35, 0x74, - 0xf2, 0xd5, 0xd8, 0xd5, 0x29, 0xbb, 0xbb, 0x8d, 0x67, 0xc6, 0x74, 0x73, 0x89, 0xa7, 0xc4, 0x55, - 0x44, 0xf6, 0xbd, 0x8e, 0x7e, 0x26, 0xb9, 0x67, 0x63, 0x57, 0x88, 0xf6, 0x51, 0xb1, 0xd1, 0x9c, - 0xa2, 0x3b, 0x79, 0xd4, 0xf8, 0x20, 0xa5, 0x23, 0x30, 0x2c, 0x7b, 0x0c, 0xf0, 0x7a, 0x64, 0xf9, - 0xee, 0x40, 0x22, 0x6b, 0x98, 0xf5, 0x81, 0x78, 0x7d, 0xd4, 0x0f, 0xb0, 0x64, 0x30, 0xda, 0xd5, - 0x9c, 0x2c, 0x2d, 0x18, 0x49, 0xb9, 0x8e, 0xed, 0xb3, 0x08, 0xee, 0x0e, 0x41, 0xf4, 0xa8, 0x84, - 0x3f, 0xe5, 0x04, 0x7f, 0xed, 0x55, 0xee, 0xed, 0x37, 0xe5, 0xef, 0xde, 0x1c, 0x98, 0xe7, 0xad, - 0x04, 0x0f, 0xbe, 0x4e, 0x36, 0xe2, 0x21, 0xd4, 0xe8, 0xa2, 0x16, 0x35, 0x7d, 0xf0, 0x8b, 0x7f, - 0xbc, 0x37, 0xd3, 0xa0, 0xe7, 0x19, 0x13, 0xca, 0xfa, 0xf2, 0xd5, 0x24, 0x75, 0xe5, 0x95, 0x1a, - 0x2c, 0x79, 0x00, 0x03, 0x31, 0x10, 0x56, 0xc3, 0xf1, 0xcc, 0x35, 0x3a, 0x38, 0xd2, 0x1b, 0xad, - 0xaf, 0x9c, 0xcc, 0xe3, 0x9f, 0x12, 0x44, 0x64, 0x69, 0x65, 0xc9, 0xd4, 0x5a, 0x8c, 0x0d, 0x86, - 0x2f, 0x73, 0xf2, 0x4c, 0xd4, 0x9f, 0xa3, 0x80, 0x3b, 0x5a, 0xf4, 0x82, 0xac, 0x4a, 0x73, 0x6b, - 0xe2, 0xa6, 0xea, 0x0a, 0x82, 0x1d, 0x19, 0xe7, 0x79, 0x6b, 0x7b, 0xe2, 0xf7, 0xad, 0xc8, 0x9f, - 0xa3, 0xbb, 0xbc, 0xaf, 0x08, 0xff, 0xc3, 0xd0, 0xf5, 0x58, 0xe0, 0xcd, 0xbd, 0x2c, 0xea, 0x10, - 0xfb, 0xf2, 0xfa, 0xdf, 0x25, 0x2d, 0x2b, 0x91, 0x65, 0x58, 0xb9, 0xbe, 0x31, 0xe3, 0x9b, 0x0e, - 0x99, 0x89, 0xf0, 0xf5, 0x36, 0xc6, 0x89, 0x36, 0xc7, 0xf9, 0x0d, 0x00, 0xe3, 0x35, 0x2d, 0x9b, - 0xe3, 0xbc, 0xbf, 0x1e, 0x35, 0x36, 0x95, 0xe0, 0x36, 0x6a, 0x74, 0x70, 0xcf, 0xf3, 0xf4, 0x69, - 0x34, 0x8b, 0x48, 0x5b, 0xa4, 0xb8, 0xfe, 0x76, 0xfa, 0x99, 0xce, 0xcf, 0x2c, 0x4c, 0xd4, 0xcd, - 0x56, 0x64, 0x3c, 0x37, 0x4d, 0x33, 0xcf, 0x43, 0x3b, 0xad, 0xb9, 0x8a, 0x94, 0xe9, 0xad, 0x61, - 0xcd, 0x9f, 0x0d, 0x55, 0xe8, 0x4b, 0xcc, 0xfb, 0x17, 0xed, 0x5e, 0xd8, 0x61, 0xbd, 0x33, 0x4a, - 0xeb, 0xea, 0xd8, 0xbd, 0x84, 0xdc, 0x9f, 0x22, 0xd2, 0x45, 0x31, 0x8c, 0x85, 0x04, 0x13, 0x81, - 0xae, 0x29, 0x5e, 0x03, 0x80, 0xa7, 0x8e, 0xe9, 0x9b, 0x46, 0x0f, 0xf3, 0x94, 0x28, 0xa8, 0x38, - 0x88, 0xbb, 0xae, 0xd7, 0xdd, 0xb2, 0x4f, 0x0b, 0xee, 0xcf, 0xba, 0x9b, 0x33, 0x03, 0x04, 0x8e, - 0xd8, 0xdd, 0xee, 0xf1, 0xe0, 0x39, 0x6a, 0xa8, 0x72, 0x78, 0xe2, 0x38, 0x9d, 0x3e, 0xca, 0xe9, - 0x2a, 0x64, 0x4b, 0x9f, 0xe2, 0xb0, 0x79, 0x7f, 0x64, 0xae, 0x16, 0xf9, 0x1e, 0x92, 0xa9, 0x8e, - 0x66, 0x17, 0x78, 0x01, 0xf0, 0x33, 0xf8, 0xe9, 0x0b, 0x3d, 0x6d, 0xe6, 0xf4, 0x1c, 0x37, 0x97, - 0xca, 0xbc, 0xc8, 0xd0, 0xbc, 0xee, 0x09, 0xb1, 0xb6, 0x4c, 0xfb, 0x0f, 0x09, 0x84, 0xf5, 0x9b, - 0xd1, 0xba, 0xe0, 0xab, 0xc9, 0xed, 0x41, 0xf7, 0x87, 0x2c, 0xeb, 0x98, 0x1e, 0x0b, 0xc7, 0xcb, - 0x4b, 0x5a, 0x9e, 0x49, 0xd6, 0x02, 0x07, 0xfb, 0x99, 0x0e, 0x22, 0x49, 0x81, 0x6f, 0xca, 0x85, - 0xf4, 0xac, 0x29, 0xbd, 0xc0, 0x77, 0x02, 0x1f, 0x49, 0x63, 0x4b, 0x9e, 0x69, 0xa2, 0xa9, 0xa0, - 0x27, 0x0b, 0xa0, 0x93, 0xd8, 0x32, 0x7b, 0x63, 0x83, 0xa7, 0x05, 0xf9, 0x1e, 0x11, 0x92, 0xd7, - 0xe8, 0x25, 0x6b, 0x76, 0x09, 0xef, 0x77, 0x07, 0x3d, 0x4a, 0x53, 0x1f, 0x41, 0x36, 0x26, 0x71, - 0x86, 0x92, 0x0f, 0x8a, 0xca, 0x96, 0x5e, 0x4c, 0x3d, 0xe0, 0xd0, 0xea, 0x36, 0xc7, 0xa5, 0x2a, - 0x0e, 0xa9, 0xff, 0x2d, 0x50, 0x50, 0x92, 0xe3, 0xbc, 0x4e, 0xd4, 0x0f, 0xd4, 0xe3, 0x24, 0x2b, - 0x72, 0x93, 0x3f, 0xf7, 0x5a, 0x10, 0xdd, 0xbf, 0xab, 0x1c, 0x25, 0xf0, 0x87, 0xc4, 0x5f, 0x31, - 0x02, 0x68, 0xbf, 0x2e, 0xd3, 0xd4, 0x50, 0x8b, 0x47, 0xfe, 0x9e, 0x62, 0x6d, 0x75, 0x86, 0x80, - 0xdf, 0x2a, 0xd1, 0x11, 0xca, 0xb7, 0x4c, 0xf7, 0x70, 0xba, 0xe0, 0x47, 0xac, 0x69, 0x74, 0x08, - 0xf8, 0x48, 0x04, 0x8a, 0x8c, 0x8c, 0x15, 0x43, 0xc6, 0xbd, 0x2c, 0x4d, 0x8c, 0x29, 0x36, 0xc3, - 0x5b, 0xae, 0xa2, 0x29, 0x93, 0xc2, 0x25, 0x16, 0x90, 0x00, 0x7d, 0xd2, 0x91, 0x31, 0xe5, 0xd9, - 0x98, 0xd6, 0x97, 0xb3, 0xea, 0xb8, 0x1c, 0x43, 0xdd, 0x84, 0x2e, 0x2b, 0x2c, 0x9c, 0x89, 0xc4, - 0xa3, 0xe6, 0x8e, 0xdc, 0x53, 0xab, 0xa5, 0xa5, 0x7f, 0x9c, 0x82, 0x38, 0x18, 0xbb, 0x65, 0x5e, - 0x14, 0xe0, 0x9a, 0xe5, 0x10, 0x8c, 0xdd, 0xcd, 0x2a, 0xc5, 0xd3, 0x96, 0x18, 0xc0, 0xc4, 0x20, - 0x76, 0x97, 0x00, 0xff, 0xaf, 0x23, 0xc7, 0xe9, 0x22, 0xe0, 0xc9, 0x2c, 0xbe, 0xf9, 0x39, 0x27, - 0x3e, 0x9f, 0x8f, 0x4d, 0x27, 0x51, 0x41, 0x79, 0xd0, 0x83, 0x10, 0xcf, 0x4f, 0xa3, 0x8a, 0xbb, - 0x30, 0x39, 0x3d, 0xbf, 0x25, 0x3b, 0xcb, 0x24, 0x6e, 0x3e, 0x95, 0x8a, 0x0e, 0xf0, 0x6d, 0x1b, - 0x48, 0xd4, 0xa6, 0x90, 0xe2, 0xd7, 0x52, 0xf4, 0xb3, 0xd1, 0x04, 0x01, 0x3c, 0x85, 0x6e, 0x37, - 0xf3, 0x9c, 0x0e, 0x9a, 0x76, 0xfe, 0xdc, 0xde, 0xd3, 0x53, 0xfe, 0xf2, 0xb0, 0x02, 0x07, 0x4d, - 0x88, 0xb8, 0x2f, 0xb5, 0x9b, 0xe9, 0x5d, 0xee, 0xce, 0x7d, 0x88, 0x8a, 0xf2, 0x68, 0x03, 0xb8, - 0x11, 0x30, 0x5a, 0xcb, 0xaa, 0x76, 0xce, 0xa1, 0x1a, 0x5e, 0xbf, 0xfd, 0xa2, 0x9c, 0x93, 0x34, - 0x0a, 0xea, 0x51, 0x5e, 0x9d, 0x1f, 0x88, 0xf2, 0x6b, 0x66, 0xb6, 0x00, 0x37, 0x17, 0x1a, 0xa9, - 0xae, 0xed, 0x3c, 0xaa, 0xaa, 0x20, 0xe2, 0xb9, 0x08, 0xc6, 0x46, 0xca, 0x0b, 0x1d, 0xd8, 0xb2, - 0x9e, 0x44, 0x38, 0xc8, 0xe0, 0x85, 0x03, 0x3d, 0x87, 0xb8, 0x05, 0xf3, 0xab, 0xa4, 0x70, 0x8b, - 0x22, 0x74, 0xe0, 0xf4, 0x33, 0x45, 0xf8, 0xbf, 0x90, 0x02, 0xe2, 0x37, 0xf9, 0x5a, 0xfb, 0x0d, - 0x92, 0xe4, 0x1d, 0x9b, 0x28, 0x27, 0xcd, 0x76, 0x07, 0xbb, 0xad, 0x1d, 0xdd, 0x51, 0x09, 0xc3, - 0x58, 0x02, 0xd5, 0x1c, 0xf8, 0x02, 0x0d, 0x00, 0x8c, 0xf9, 0xe8, 0xfd, 0x7c, 0xd6, 0x2e, 0x94, - 0x77, 0xc8, 0x2a, 0x95, 0x9c, 0x0d, 0x21, 0x48, 0x71, 0x14, 0x3c, 0x24, 0x39, 0x80, 0x34, 0xce, - 0x42, 0x4d, 0xa5, 0xea, 0xc8, 0x3a, 0x72, 0xb6, 0x22, 0x20, 0x69, 0xeb, 0x7f, 0x61, 0x3e, 0x54, - 0x37, 0x21, 0xcf, 0x8c, 0xfd, 0x37, 0xd7, 0xbb, 0x6f, 0x97, 0x43, 0xd0, 0x06, 0xed, 0x2d, 0x32, - 0x63, 0xc5, 0x4a, 0x4b, 0xec, 0x70, 0x1e, 0x37, 0xa7, 0x55, 0x4a, 0x52, 0x6c, 0xd6, 0x50, 0x2e, - 0x83, 0x60, 0x7f, 0x9a, 0xdf, 0x33, 0x70, 0x84, 0x22, 0x11, 0x9a, 0x8b, 0xbd, 0x72, 0x52, 0x6c, - 0xf4, 0x43, 0x25, 0x37, 0x26, 0xf6, 0x7c, 0x74, 0xca, 0x0e, 0x46, 0xe5, 0x8f, 0x3f, 0x58, 0x6a, - 0x97, 0xc5, 0x27, 0xac, 0x33, 0x38, 0xd2, 0x20, 0x02, 0xe2, 0x65, 0x8d, 0x22, 0x3d, 0x14, 0xc9, - 0x53, 0xe1, 0x05, 0xf3, 0xf1, 0xe0, 0x82, 0x49, 0xeb, 0x04, 0xce, 0xbc, 0x16, 0xec, 0xb4, 0xb3, - 0x36, 0xbf, 0x07, 0x0e, 0x49, 0x44, 0xd5, 0x8c, 0x18, 0x5f, 0xca, 0x93, 0x58, 0xbb, 0xb3, 0xcc, - 0xa9, 0x58, 0xdd, 0xb5, 0x8b, 0x2c, 0x75, 0xbd, 0x6e, 0xb9, 0x2d, 0xf4, 0x85, 0xb2, 0x32, 0x5f, - 0x6e, 0x6d, 0x02, 0xa6, 0x71, 0xeb, 0x4c, 0xe6, 0x05, 0x98, 0xe6, 0xc2, 0x2c, 0xc0, 0xea, 0xd2, - 0x1a, 0xe9, 0x8d, 0x1b, 0x25, 0x07, 0x8e, 0xa5, 0x37, 0xba, 0xc2, 0x80, 0xda, 0x4a, 0xe2, 0x1c, - 0x29, 0x45, 0xd6, 0x44, 0x31, 0x3b, 0x8a, 0x43, 0xb2, 0x37, 0x1f, 0x28, 0x42, 0x09, 0x17, 0x89, - 0x01, 0x2e, 0xd0, 0x2a, 0x9b, 0xa9, 0x72, 0x3f, 0xcc, 0xdc, 0x39, 0x96, 0x81, 0x0b, 0xa6, 0x61, - 0x60, 0x79, 0xca, 0xb1, 0x5b, 0x30, 0x08, 0x95, 0x91, 0x2f, 0xdd, 0xf1, 0x8b, 0xa1, 0xce, 0xf3, - 0xe5, 0x50, 0x99, 0xc4, 0xf2, 0x9d, 0x64, 0x5c, 0x89, 0xe7, 0x85, 0x48, 0xd8, 0xa9, 0x19, 0xb8, - 0xfe, 0xaf, 0x21, 0xf7, 0x94, 0x33, 0xc8, 0xc8, 0x72, 0xbf, 0x72, 0x66, 0x06, 0x89, 0xab, 0x97, - 0x1c, 0x89, 0xaf, 0x70, 0x11, 0xd9, 0x14, 0x68, 0x0b, 0x83, 0xc5, 0x7c, 0x49, 0x76, 0x0f, 0x7f, - 0x40, 0xcd, 0x8a, 0x07, 0x4e, 0xe2, 0xbb, 0x17, 0xd7, 0x5a, 0xb9, 0xde, 0x6f, 0x79, 0x20, 0x46, - 0xf0, 0x60, 0x2b, 0x85, 0x45, 0xe0, 0x57, 0xc4, 0xe5, 0x93, 0xef, 0x6a, 0x4f, 0x2f, 0x9d, 0xc1, - 0x95, 0x41, 0x42, 0xdb, 0x34, 0x46, 0x2a, 0x39, 0x47, 0x4b, 0xf0, 0x25, 0x93, 0xa5, 0xa7, 0x15, - 0xcd, 0x07, 0xf9, 0x0f, 0xad, 0x84, 0xb9, 0x71, 0xe8, 0xfb, 0x46, 0x72, 0x8d, 0x80, 0xa2, 0x28, - 0x6c, 0xd6, 0xb9, 0x71, 0x6b, 0x25, 0x42, 0x0f, 0x75, 0x5f, 0xeb, 0x8e, 0x20, 0x05, 0x8a, 0xdf, - 0xc5, 0x89, 0x84, 0xb6, 0x74, 0x70, 0xda, 0x6b, 0xd5, 0x29, 0x34, 0x31, 0xb3, 0xec, 0x61, 0x3b, - 0xb6, 0xaf, 0xd0, 0xf0, 0xca, 0xad, 0x4b, 0x7b, 0xb5, 0xb8, 0xfd, 0x07, 0x21, 0xc9, 0x78, 0x66, - 0xde, 0xbb, 0x79, 0xc3, 0x07, 0x4a, 0x02, 0xd2, 0x8c, 0x16, 0xb2, 0xba, 0x9c, 0x1a, 0xfe, 0x02, - 0x4a, 0xeb, 0xa0, 0x7f, 0x68, 0x44, 0xb4, 0x40, 0x5b, 0x41, 0x2c, 0xb0, 0x9d, 0xaa, 0xbd, 0xc8, - 0xea, 0xad, 0x91, 0x74, 0xb6, 0x6f, 0xb0, 0x50, 0xbb, 0x13, 0x4e, 0xd6, 0xb1, 0x82, 0xa0, 0x78, - 0x05, 0x91, 0xa7, 0x5f, 0x3c, 0x51, 0x6f, 0x0f, 0x9a, 0xf8, 0xd3, 0x3e, 0x6b, 0xe8, 0x11, 0x4b, - 0x91, 0xbc, 0xec, 0x26, 0x4f, 0x95, 0xa0, 0x70, 0x30, 0xe3, 0x8f, 0xc8, 0x41, 0x15, 0x8b, 0xa5, - 0x6b, 0x1a, 0x92, 0x24, 0x7b, 0x99, 0xf9, 0x13, 0x02, 0x90, 0xaa, 0x36, 0x5c, 0xc1, 0xbb, 0xd8, - 0x89, 0xb1, 0x83, 0xb6, 0x25, 0xf4, 0x11, 0x52, 0xa6, 0x1d, 0x2b, 0xbb, 0xc1, 0xbf, 0x97, 0x78, - 0x21, 0xd2, 0xd6, 0xf5, 0xa9, 0x82, 0x7e, 0x18, 0xcf, 0xb0, 0x45, 0x3c, 0x3b, 0x2c, 0x35, 0x43, - 0x3d, 0xe3, 0x5b, 0x95, 0x1c, 0xe1, 0x89, 0x18, 0x12, 0xc1, 0x8a, 0x3f, 0x78, 0x47, 0x72, 0x59, - 0xdd, 0xcc, 0x11, 0x79, 0x7b, 0xb8, 0xc2, 0x65, 0xa8, 0xc6, 0xa4, 0x47, 0x7e, 0x03, 0x9d, 0xad, - 0xa2, 0xeb, 0xbd, 0x89, 0x74, 0xe1, 0x64, 0x84, 0x30, 0x8b, 0x14, 0xdc, 0x2f, 0xdd, 0xc3, 0x95, - 0x5e, 0xed, 0x38, 0x9f, 0xf2, 0x91, 0x6b, 0xcd, 0x60, 0x4b, 0x1e, 0xfa, 0xeb, 0xf0, 0x65, 0x03, - 0xf3, 0x04, 0xb7, 0x39, 0x8d, 0x9b, 0xd1, 0xa9, 0x89, 0xf0, 0x27, 0xf3, 0xea, 0x56, 0x87, 0xe2, - 0xae, 0xf8, 0xce, 0x65, 0xe8, 0x6d, 0x60, 0x2c, 0xc4, 0xd5, 0xd4, 0x9b, 0xfc, 0x02, 0xcc, 0x03, - 0x30, 0xdc, 0xaf, 0x35, 0xe1, 0xf2, 0xae, 0xc3, 0x09, 0x39, 0xa5, 0xa0, 0x1a, 0xa2, 0xca, 0xc5, - 0xf8, 0xb5, 0xcd, 0xe0, 0xab, 0xd0, 0x4f, 0xa6, 0x56, 0x09, 0xc3, 0x3a, 0xe0, 0xa1, 0xe8, 0xe2, - 0x5c, 0x42, 0x2b, 0x22, 0xc4, 0x5c, 0xe0, 0x78, 0x53, 0x1a, 0xcf, 0x64, 0x25, 0x9b, 0xb8, 0x76, - 0x6f, 0xb0, 0x50, 0x2c, 0xa3, 0x11, 0xdb, 0x05, 0x94, 0x8d, 0x64, 0x8e, 0xb8, 0x86, 0x58, 0xf0, - 0x9b, 0xea, 0xb9, 0xd5, 0xff, 0x58, 0xf6, 0x94, 0xb8, 0x20, 0xcb, 0x9e, 0xd0, 0xec, 0x48, 0x12, - 0xcc, 0xa9, 0x12, 0xd7, 0x22, 0x5e, 0x47, 0xb5, 0xef, 0xf6, 0x7e, 0xee, 0xb9, 0x47, 0x1c, 0x0a, - 0xcf, 0x3b, 0x7c, 0xf5, 0xad, 0xb1, 0x1e, 0x74, 0x65, 0x16, 0xfb, 0xa8, 0x00, 0xd8, 0x6c, 0xd9, - 0x73, 0x32, 0xeb, 0xd3, 0x82, 0x8c, 0x76, 0x68, 0x76, 0xe6, 0x76, 0x1c, 0x39, 0x5b, 0xef, 0x3d, - 0x2c, 0xab, 0x9e, 0x39, 0xcf, 0xd8, 0x00, 0x64, 0xce, 0x58, 0xca, 0x0c, 0x27, 0xcb, 0x69, 0x59, - 0x27, 0x72, 0xea, 0x24, 0xec, 0x67, 0xa7, 0x3c, 0x63, 0x86, 0xf1, 0xaa, 0xa8, 0xe1, 0x10, 0x9f, - 0x7c, 0x7c, 0x04, 0x42, 0xca, 0x22, 0x6b, 0x57, 0x99, 0x5a, 0xf7, 0x22, 0x51, 0xf0, 0x61, 0x7b, - 0x5e, 0x9c, 0xb0, 0x78, 0x92, 0x24, 0x95, 0x71, 0xfd, 0x58, 0x30, 0xc6, 0xf1, 0x1f, 0x90, 0xdf, - 0xa8, 0x55, 0x22, 0x9b, 0x4e, 0x45, 0x98, 0xb4, 0x88, 0x91, 0x4e, 0x81, 0x51, 0xbc, 0x81, 0x84, - 0xc1, 0xdc, 0xa0, 0xb3, 0x48, 0xa0, 0x5d, 0x0d, 0x38, 0xb6, 0x78, 0xc2, 0x06, 0xb7, 0xd3, 0x27, - 0x1f, 0xbc, 0xf4, 0x5c, 0x4d, 0x49, 0x4a, 0xef, 0xfb, 0xd3, 0xa1, 0xc5, 0xfa, 0xaa, 0x39, 0x0b, - 0x88, 0x0c, 0x9b, 0xb6, 0x74, 0x91, 0xe7, 0x01, 0x6e, 0xb3, 0x67, 0x96, 0x60, 0x86, 0xb3, 0x69, - 0xc7, 0xf8, 0xa3, 0xf1, 0x94, 0x6c, 0x72, 0xdd, 0xd0, 0x39, 0x3b, 0x9e, 0x78, 0x85, 0x09, 0xee, - 0x3a, 0xef, 0x2f, 0xc6, 0x2c, 0x22, 0xd1, 0x54, 0x88, 0x7b, 0x8a, 0x16, 0x6e, 0x2f, 0x30, 0xb7, - 0xa8, 0x78, 0xf5, 0x11, 0x0c, 0x6b, 0xec, 0xb0, 0xb4, 0xd5, 0x27, 0x57, 0x40, 0x8d, 0xe0, 0x85, - 0xab, 0x0e, 0x06, 0x11, 0x42, 0xce, 0xfc, 0xde, 0x38, 0xce, 0x92, 0x85, 0xa4, 0xa6, 0xae, 0x02, - 0x27, 0x8f, 0x76, 0x57, 0xdd, 0x52, 0xe2, 0x5d, 0x09, 0xb7, 0x9b, 0x71, 0x36, 0xff, 0xab, 0x48, - 0x49, 0x4e, 0x62, 0x72, 0xe7, 0xb6, 0x93, 0x80, 0x89, 0xae, 0xb2, 0xec, 0x8b, 0x70, 0xe1, 0x60, - 0x94, 0x00, 0x32, 0x72, 0xa4, 0xc9, 0x7e, 0x50, 0x8f, 0xa4, 0x75, 0xae, 0x75, 0xf0, 0xa3, 0x35, - 0x5d, 0x5d, 0x0b, 0xd5, 0xae, 0xa2, 0x0c, 0x7d, 0xc8, 0xf5, 0x7f, 0xdc, 0x14, 0x56, 0x9a, 0xda, - 0x65, 0x3b, 0x5b, 0x8a, 0x82, 0xb7, 0xa9, 0xba, 0x23, 0x71, 0xd2, 0x6a, 0x2f, 0x00, 0xc8, 0xa3, - 0x98, 0x18, 0x33, 0x7f, 0xac, 0xda, 0x7e, 0x1b, 0x36, 0x78, 0x41, 0xa9, 0x8b, 0x3e, 0xe9, 0x76, - 0x4b, 0x6a, 0x88, 0x2e, 0x87, 0xf7, 0x96, 0xcd, 0xf9, 0xad, 0x12, 0x27, 0xbd, 0x16, 0x1e, 0xfd, - 0xd2, 0xf7, 0x67, 0x12, 0xce, 0x3e, 0x13, 0x6c, 0x0a, 0xbe, 0xc4, 0xa4, 0x23, 0x5a, 0x8e, 0x5f, - 0xe6, 0xa7, 0x2b, 0xf3, 0x8a, 0xa7, 0x4b, 0x10, 0x69, 0xef, 0xaf, 0xdf, 0xcf, 0x4f, 0xb6, 0x59, - 0x03, 0x34, 0xd4, 0x2c, 0x34, 0xae, 0xd8, 0xfa, 0x44, 0x34, 0x13, 0xb1, 0x9e, 0xc1, 0x9e, 0xaa, - 0xc9, 0xb0, 0x77, 0x4b, 0xda, 0x21, 0x1b, 0x52, 0x3b, 0x4e, 0xb7, 0xae, 0xf0, 0x06, 0x35, 0xab, - 0x86, 0x77, 0xdd, 0x2d, 0x79, 0xd9, 0x22, 0x3f, 0x8f, 0xe3, 0x22, 0xf7, 0xf9, 0xda, 0xe7, 0xcf, - 0xdf, 0x8c, 0x46, 0x8a, 0xb7, 0x8c, 0x2c, 0xce, 0x28, 0x45, 0x4c, 0x0b, 0x27, 0xfa, 0x39, 0x73, - 0xf5, 0x0a, 0xc3, 0xcb, 0xdf, 0x40, 0xbd, 0xb7, 0x9c, 0x31, 0x6f, 0x81, 0xf0, 0xde, 0x8b, 0x52, - 0xc2, 0x1d, 0xcc, 0xe9, 0x9a, 0x0d, 0x7c, 0x3d, 0x69, 0x42, 0xa0, 0x3c, 0xf4, 0x5b, 0xf4, 0x03, - 0xdb, 0xbb, 0xef, 0xb9, 0x17, 0xcb, 0x13, 0x9d, 0xef, 0xf1, 0xdf, 0x79, 0x3a, 0xa3, 0xd7, 0x6b, - 0xfb, 0x5d, 0x23, 0x10, 0x65, 0xfd, 0x23, 0x7e, 0x4c, 0x81, 0xfe, 0xc0, 0xac, 0xb1, 0x11, 0x0b, - 0xa9, 0x28, 0x00, 0x62, 0x72, 0xad, 0xfa, 0x88, 0x39, 0xef, 0x15, 0xe6, 0xc0, 0x74, 0x2e, 0xa2, - 0x81, 0x6e, 0x53, 0xc9, 0x5b, 0xba, 0xea, 0x78, 0xde, 0x01, 0x12, 0x3e, 0x08, 0x62, 0x53, 0xbe, - 0xb5, 0xd3, 0x7e, 0x67, 0x0c, 0xd6, 0x4d, 0x31, 0xc0, 0x44, 0x46, 0x26, 0xb5, 0x87, 0x30, 0x15, - 0x44, 0x3b, 0x6d, 0xcf, 0xb9, 0x4d, 0xc5, 0x74, 0x9d, 0xfe, 0xa2, 0x49, 0xed, 0xda, 0x35, 0xc2, - 0x8a, 0xf2, 0x25, 0x1f, 0x37, 0xff, 0x63, 0x2b, 0x70, 0x5d, 0xf0, 0x1f, 0xec, 0xe1, 0xb0, 0x28, - 0x1d, 0x99, 0xe0, 0x21, 0x2a, 0xfa, 0x9a, 0x4b, 0x87, 0x04, 0x11, 0x5e, 0x71, 0xc0, 0xda, 0xe5, - 0x52, 0xe5, 0xa5, 0x90, 0xd7, 0x87, 0xa7, 0xef, 0x45, 0xec, 0x1f, 0x52, 0x04, 0x2f, 0x7c, 0xf0, - 0xd4, 0x08, 0xd0, 0x93, 0xdf, 0x50, 0x44, 0xff, 0xa3, 0x01, 0x14, 0x41, 0xa3, 0xc1, 0x64, 0x14, - 0x45, 0x55, 0xe5, 0x56, 0x65, 0xbd, 0x73, 0x27, 0xca, 0x1b, 0xcd, 0xe3, 0xf0, 0xaf, 0xbf, 0x94, - 0x69, 0x2e, 0x61, 0xae, 0xfa, 0xb2, 0xb6, 0x92, 0xf8, 0xe2, 0xa3, 0xcc, 0x8d, 0xf8, 0x35, 0x2a, - 0x73, 0x2f, 0x2a, 0x6f, 0xb1, 0x84, 0x5f, 0xfc, 0x45, 0xba, 0x10, 0xa9, 0x6b, 0xc2, 0x30, 0x80, - 0xdc, 0x6a, 0x9d, 0x65, 0x5f, 0x8f, 0x15, 0x38, 0x3a, 0x9b, 0xb3, 0x1f, 0x09, 0x26, 0x6b, 0xc7, - 0xe6, 0xe2, 0xd2, 0x83, 0xbc, 0xf1, 0xc1, 0xd8, 0x34, 0x11, 0xbb, 0xcd, 0xa6, 0x10, 0xd5, 0xf2, - 0x5d, 0x76, 0xe2, 0xe3, 0x6b, 0x14, 0x68, 0x3a, 0x5c, 0x95, 0x40, 0xae, 0xa3, 0xc0, 0x0f, 0x11, - 0xb9, 0x60, 0x17, 0x01, 0x08, 0x80, 0x6c, 0x54, 0xed, 0xcd, 0x1a, 0x4c, 0x38, 0x27, 0x65, 0x66, - 0x58, 0x3e, 0x8a, 0xfd, 0x04, 0xc4, 0x33, 0x5d, 0xbe, 0x61, 0xc7, 0x2b, 0xf1, 0xc0, 0x14, 0x1c, - 0x9f, 0xcd, 0xa9, 0x25, 0x40, 0x27, 0x72, 0x00, 0x59, 0x83, 0x0f, 0xfc, 0x3b, 0x21, 0xd4, 0xde, - 0xe9, 0x43, 0x07, 0x0b, 0x15, 0xb6, 0x87, 0x98, 0x78, 0x1e, 0xcc, 0xbb, 0x82, 0xf4, 0xeb, 0x80, - 0x92, 0x02, 0xa5, 0x09, 0xc9, 0x24, 0x47, 0xea, 0xd1, 0x08, 0x69, 0x96, 0x9a, 0x3c, 0x59, 0x8b, - 0x28, 0x0a, 0xdb, 0x94, 0x81, 0xad, 0x36, 0xe4, 0x83, 0x5d, 0x3a, 0x7d, 0x83, 0x84, 0xb8, 0x24, - 0x9b, 0xb4, 0x37, 0x1f, 0xa4, 0x8a, 0x00, 0xb7, 0xb3, 0xf1, 0x90, 0x31, 0x12, 0x29, 0x2a, 0x43, - 0xf5, 0xa0, 0x5b, 0x19, 0x98, 0x04, 0xba, 0xae, 0xae, 0x85, 0x94, 0xb3, 0x96, 0xb4, 0x6e, 0x5f, - 0xd7, 0x7f, 0xdb, 0x66, 0x65, 0x89, 0xe5, 0xa7, 0xe7, 0x8d, 0xf7, 0x41, 0x8b, 0x3e, 0xab, 0x0e, - 0xbf, 0x3f, 0xf6, 0xfb, 0x9f, 0x66, 0x13, 0x9d, 0x3f, 0x31, 0x89, 0x2e, 0x75, 0x6a, 0x68, 0x66, - 0x34, 0xeb, 0xd4, 0x20, 0x89, 0x98, 0x4b, 0xc7, 0x6f, 0x18, 0xd5, 0xaf, 0x19, 0xa3, 0x10, 0x8a, - 0x3b, 0x43, 0x88, 0x3b, 0xd6, 0xb1, 0x00, 0x97, 0xeb, 0x5e, 0xa3, 0xd8, 0xd2, 0xb9, 0xed, 0x9e, - 0x08, 0xf9, 0x25, 0x96, 0xf0, 0x8c, 0x8f, 0x16, 0x64, 0x83, 0x0e, 0x07, 0x3c, 0xd1, 0x21, 0xd9, - 0xd2, 0x83, 0x33, 0x4f, 0xcb, 0xe2, 0xbf, 0x8b, 0x20, 0x40, 0x2d, 0x51, 0xee, 0x4f, 0x76, 0x08, - 0x55, 0x54, 0x19, 0xc2, 0xf3, 0x2d, 0xe4, 0x46, 0x4a, 0x4b, 0xe7, 0xd9, 0x1c, 0xcd, 0xf0, 0x6a, - 0xc1, 0x6e, 0x57, 0x98, 0x33, 0x66, 0xd0, 0x17, 0xf0, 0x45, 0x33, 0x23, 0xb3, 0x35, 0x4f, 0x66, - 0x90, 0xd7, 0x52, 0xdc, 0x69, 0x06, 0x4e, 0xa6, 0x9c, 0x23, 0x07, 0x4a, 0xb4, 0x03, 0x30, 0xab, - 0xf6, 0xf4, 0x9f, 0x34, 0x40, 0x5d, 0x03, 0xef, 0x50, 0x76, 0xc2, 0x5b, 0x7a, 0xcb, 0x5e, 0x16, - 0xda, 0x9d, 0xe8, 0xd4, 0x69, 0x67, 0xcc, 0x22, 0x79, 0x9e, 0x9a, 0xf4, 0x01, 0x68, 0xfd, 0x18, - 0xb7, 0x03, 0xda, 0x57, 0x2c, 0x2e, 0x73, 0x17, 0x13, 0x50, 0x81, 0x6e, 0xbc, 0xf4, 0x83, 0x7f, - 0x51, 0x6e, 0x36, 0xc7, 0x15, 0x47, 0x87, 0x0a, 0x3f, 0x25, 0x6f, 0xaf, 0xb5, 0xe0, 0x8f, 0x56, - 0xd9, 0x48, 0xed, 0x92, 0xdd, 0x1b, 0x6a, 0xa6, 0x1e, 0x53, 0x91, 0x5a, 0xf3, 0x9c, 0x29, 0xc6, - 0x53, 0x0c, 0x1a, 0x6d, 0xaa, 0x81, 0x6c, 0xc2, 0x66, 0xb3, 0xc7, 0x04, 0xe5, 0xaf, 0xfd, 0x9d, - 0xb7, 0x2c, 0x48, 0xc5, 0x30, 0x57, 0xf1, 0x47, 0x20, 0x6e, 0x88, 0x2f, 0xe1, 0x90, 0x9b, 0x17, - 0x44, 0xc9, 0x52, 0x63, 0x6b, 0x82, 0x34, 0x4f, 0x7b, 0x4e, 0x82, 0x05, 0xc8, 0xf1, 0x4d, 0x69, - 0x91, 0x07, 0xee, 0xf9, 0x60, 0xd9, 0x68, 0x43, 0xcb, 0x6a, 0x25, 0x9b, 0xee, 0xab, 0xba, 0xd3, - 0xdb, 0x2b, 0xd2, 0xfb, 0x3d, 0xb2, 0x46, 0xb7, 0xc6, 0x58, 0x89, 0x5f, 0xdb, 0xcc, 0x0b, 0xb8, - 0xe3, 0x4c, 0x14, 0xc2, 0x02, 0x27, 0x0a, 0xcf, 0xf3, 0xab, 0xb0, 0xa0, 0x27, 0x9f, 0x43, 0x23, - 0xdb, 0x53, 0x29, 0xd7, 0xbc, 0x19, 0xd4, 0x30, 0xaa, 0x89, 0x95, 0x4f, 0x33, 0x9f, 0xeb, 0xc4, - 0x7f, 0x91, 0x1f, 0x51, 0xc9, 0x7a, 0x3a, 0x92, 0x7b, 0x26, 0xc8, 0xcd, 0xb7, 0xc3, 0x83, 0x68, - 0x69, 0x61, 0xa9, 0x17, 0xf4, 0xd9, 0x66, 0x59, 0xee, 0x15, 0xea, 0x79, 0x27, 0x68, 0xb4, 0x49, - 0x44, 0x48, 0x5d, 0x5d, 0xe0, 0x3b, 0xc8, 0xa2, 0xcf, 0x84, 0xca, 0x0b, 0x32, 0x6a, 0xd5, 0xda, - 0x36, 0xfb, 0x59, 0x1b, 0x9a, 0xe8, 0x0f, 0xa4, 0x68, 0xbb, 0x16, 0xa7, 0x7c, 0x12, 0x63, 0xd9, - 0x3b, 0xb5, 0x49, 0xc7, 0xfe, 0x2f, 0xfd, 0x7a, 0x17, 0xec, 0x84, 0x4c, 0xce, 0xbe, 0xf6, 0x48, - 0xbf, 0x5a, 0x65, 0x2b, 0x3e, 0xc1, 0x92, 0x9f, 0x73, 0x40, 0xd4, 0x8e, 0x78, 0x77, 0x89, 0xde, - 0xe1, 0x9e, 0xbd, 0xf6, 0x63, 0x8d, 0x0b, 0x0b, 0x59, 0x93, 0xfe, 0x03, 0x9a, 0x24, 0x45, 0x84, - 0x38, 0x7b, 0xc7, 0xea, 0xfc, 0xe4, 0x8a, 0xe2, 0x88, 0x91, 0x0d, 0xd4, 0xa2, 0x26, 0xdd, 0x9a, - 0xb3, 0xeb, 0xbb, 0xa2, 0x49, 0x66, 0x6f, 0x6e, 0x8e, 0x22, 0x47, 0x81, 0x88, 0x64, 0x91, 0x93, - 0xb4, 0x04, 0xa1, 0x05, 0xea, 0x0a, 0xb8, 0x6f, 0xe1, 0x59, 0xda, 0x0b, 0x03, 0x0d, 0x6f, 0xba, - 0xee, 0x12, 0x52, 0x81, 0xff, 0x2a, 0xf8, 0xea, 0xe6, 0xc1, 0x62, 0xde, 0x3e, 0x44, 0x59, 0x63, - 0x3c, 0x9e, 0x40, 0xf2, 0xd0, 0x94, 0x5f, 0x96, 0xbf, 0x15, 0x05, 0xf0, 0x96, 0xf3, 0x87, 0x81, - 0xe2, 0x65, 0x55, 0x19, 0xcd, 0xe4, 0xd9, 0x2f, 0x1b, 0x53, 0x1e, 0xea, 0x90, 0x83, 0x82, 0x89, - 0x36, 0x68, 0xbb, 0x3b, 0x0d, 0x6c, 0xd1, 0x27, 0x40, 0x8c, 0xc6, 0x52, 0x8a, 0x2d, 0x27, 0x23, - 0xb7, 0xc4, 0xa2, 0xbb, 0xd0, 0xfe, 0x9d, 0x68, 0x5f, 0x5d, 0x85, 0x8e, 0x75, 0x22, 0x46, 0xc4, - 0x36, 0x0d, 0xd8, 0x83, 0x3d, 0x5d, 0x6f, 0x82, 0x6e, 0x10, 0x69, 0xf4, 0x9f, 0x92, 0x6d, 0x6f, - 0x23, 0x52, 0xaa, 0x1b, 0x0d, 0xa9, 0x21, 0x2f, 0x51, 0x77, 0xf2, 0x8e, 0xf1, 0xb8, 0xdd, 0x57, - 0x95, 0xc7, 0x86, 0x00, 0x74, 0x31, 0xb1, 0x50, 0x84, 0xf3, 0xd0, 0xfb, 0x79, 0x89, 0xad, 0x9e, - 0xd0, 0xc4, 0x77, 0xad, 0x6b, 0x38, 0x16, 0x30, 0x35, 0x0a, 0x67, 0xf0, 0xb1, 0x28, 0x79, 0xaf, - 0x2d, 0xc3, 0xbb, 0x64, 0x8f, 0xc3, 0x52, 0xa4, 0x99, 0x49, 0x41, 0xdf, 0x96, 0x59, 0xfa, 0xa1, - 0xec, 0xbd, 0x1c, 0x93, 0x52, 0x94, 0xcb, 0x25, 0x4c, 0x68, 0x70, 0xbf, 0xd7, 0x76, 0xce, 0x03, - 0x1f, 0x4b, 0x1f, 0x0a, 0x8a, 0xee, 0x9e, 0x5f, 0xea, 0x4c, 0x9c, 0xe9, 0xbf, 0x68, 0x0f, 0x70, - 0xf5, 0xbf, 0xd8, 0xe3, 0x2e, 0x3f, 0x29, 0x16, 0xda, 0xeb, 0xeb, 0xb3, 0x7d, 0x53, 0x74, 0xd1, - 0x94, 0x42, 0xaf, 0xbd, 0x30, 0xce, 0xb8, 0x28, 0x7a, 0x6d, 0x95, 0x72, 0x74, 0x0f, 0x81, 0xc5, - 0x67, 0x1e, 0xbc, 0x9a, 0xdd, 0x18, 0x1a, 0x4b, 0x64, 0x8f, 0x73, 0x4f, 0x50, 0x0c, 0x85, 0x46, - 0xbb, 0x54, 0x2b, 0xa4, 0x73, 0x55, 0x20, 0x74, 0xe7, 0xce, 0x8e, 0x8b, 0x5b, 0x38, 0xbb, 0x07, - 0x28, 0xf6, 0x5a, 0xf1, 0x0b, 0x70, 0xc1, 0x8d, 0xa5, 0x47, 0xd9, 0xcf, 0x52, 0x1a, 0x98, 0xaa, - 0x1f, 0xc4, 0xbf, 0x82, 0xba, 0xe4, 0x9c, 0x44, 0x0a, 0xfc, 0x10, 0xf4, 0x86, 0xa3, 0xf4, 0x5d, - 0x15, 0x7e, 0x9d, 0xf0, 0xf2, 0x84, 0xa6, 0x21, 0x29, 0x41, 0xa2, 0xa2, 0xd0, 0xdb, 0x28, 0x28, - 0x97, 0xd3, 0xa5, 0xc0, 0x06, 0x82, 0x9d, 0x21, 0x31, 0xcd, 0xf2, 0x6a, 0x5b, 0x92, 0x32, 0xff, - 0x51, 0xa6, 0xc8, 0x0e, 0x32, 0xb9, 0x84, 0xe1, 0xf2, 0x50, 0xb1, 0xdc, 0xe1, 0x6a, 0x17, 0x66, - 0x44, 0x90, 0x08, 0x49, 0x6f, 0xab, 0xe1, 0xe1, 0x2f, 0x11, 0x6d, 0x35, 0xf0, 0xc0, 0x9b, 0xba, - 0x47, 0x63, 0xb7, 0x2a, 0x9c, 0x75, 0x58, 0x9d, 0x02, 0xb8, 0x33, 0xc7, 0x5a, 0x7b, 0x0e, 0xd6, - 0xd9, 0xd7, 0xfc, 0x5d, 0x11, 0x83, 0x83, 0x22, 0x2f, 0x2a, 0x4b, 0xaf, 0xfe, 0xc7, 0x88, 0xd0, - 0x66, 0xa0, 0x29, 0x5d, 0xc3, 0x3d, 0xab, 0x30, 0x7f, 0x5c, 0x72, 0xe6, 0x11, 0x64, 0x84, 0xa1, - 0xb5, 0x99, 0xcd, 0xcb, 0x66, 0xbe, 0x54, 0xbc, 0x36, 0x08, 0x6c, 0x9c, 0x61, 0xb4, 0x44, 0x7d, - 0x71, 0xb8, 0x2c, 0xb4, 0x4f, 0xb2, 0x88, 0x92, 0xe7, 0xc3, 0xd4, 0xb6, 0xb1, 0xd7, 0xfe, 0x85, - 0xb7, 0x55, 0x1b, 0xe6, 0x73, 0x4c, 0x04, 0x8f, 0x9a, 0x5b, 0x72, 0x00, 0x7c, 0x71, 0x9f, 0xf4, - 0xa1, 0x45, 0xe4, 0x25, 0xbb, 0xbd, 0x99, 0xed, 0x72, 0x06, 0xc8, 0x66, 0xaa, 0x2d, 0x41, 0xed, - 0xe2, 0xc6, 0xcf, 0x8f, 0xa3, 0x60, 0xdc, 0x09, 0x28, 0x95, 0xbe, 0xd3, 0x75, 0xd0, 0x8c, 0x07, - 0x92, 0x34, 0x2d, 0xe5, 0xd0, 0x5d, 0xa4, 0x8f, 0x86, 0x27, 0x15, 0xfc, 0xcb, 0x43, 0x66, 0x17, - 0xb9, 0x02, 0xb8, 0x40, 0xc1, 0x35, 0x33, 0x16, 0xaa, 0x8a, 0x51, 0xec, 0xb1, 0x8e, 0xab, 0xea, - 0xec, 0xce, 0x8d, 0xd6, 0x9e, 0x9d, 0x3b, 0x1d, 0xdf, 0x89, 0xd5, 0x8a, 0x38, 0xdf, 0xe2, 0x3a, - 0x8b, 0x20, 0x11, 0x2b, 0xc0, 0x9f, 0x7d, 0x3a, 0xe3, 0x64, 0x0b, 0x89, 0xc9, 0x51, 0x54, 0x12, - 0x91, 0x6d, 0x4b, 0xbc, 0x1d, 0x50, 0x09, 0x7a, 0x18, 0x2b, 0x0c, 0x43, 0x23, 0xc1, 0x34, 0xf3, - 0x42, 0xa3, 0x3e, 0x47, 0xea, 0x0c, 0x4e, 0x37, 0xe9, 0xda, 0x26, 0x47, 0x62, 0x55, 0xad, 0xa9, - 0x42, 0xbd, 0x57, 0xd6, 0x4d, 0x3f, 0xb9, 0x35, 0xcb, 0x16, 0x3b, 0x1e, 0xaa, 0xf7, 0xa8, 0xb2, - 0xe8, 0x7b, 0xa3, 0x2a, 0x55, 0xdc, 0x82, 0x2f, 0xe9, 0xeb, 0x48, 0xe5, 0x6a, 0xbc, 0x00, 0x8c, - 0x73, 0x3c, 0xe2, 0x2b, 0x52, 0xa9, 0x0a, 0xf1, 0x63, 0x30, 0xfd, 0xd6, 0xec, 0x37, 0x7c, 0x56, - 0x61, 0x91, 0x2a, 0x2b, 0xa4, 0xbb, 0x75, 0x6c, 0x75, 0x5b, 0x92, 0x7e, 0x99, 0x8f, 0xea, 0x8a, - 0x0d, 0xb1, 0xbb, 0xd3, 0xc7, 0x1d, 0x5e, 0x00, 0x12, 0x46, 0x70, 0xe5, 0x1d, 0xc7, 0x23, 0xd1, - 0x1d, 0x32, 0x04, 0x5c, 0xe7, 0x3e, 0x9d, 0x54, 0xe9, 0x9f, 0x70, 0x95, 0xf7, 0xdb, 0xa6, 0x29, - 0x26, 0x94, 0x5c, 0x72, 0xcc, 0x4c, 0x68, 0x83, 0x96, 0x10, 0x46, 0x87, 0x2f, 0x1d, 0xaa, 0xcd, - 0x22, 0x99, 0x05, 0xd4, 0x2b, 0xa3, 0x85, 0xcd, 0xfc, 0x16, 0x16, 0x9b, 0xca, 0x71, 0xad, 0x2b, - 0xcd, 0x69, 0xcf, 0x3d, 0x37, 0x65, 0xa9, 0x61, 0xa5, 0x04, 0xca, 0x9a, 0x4a, 0x6c, 0x34, 0xe3, - 0xec, 0x85, 0x10, 0x78, 0x49, 0x68, 0xde, 0xe0, 0x23, 0x9a, 0x1b, 0x7c, 0x18, 0xf3, 0xe7, 0x0e, - 0x18, 0xb0, 0x80, 0x8d, 0x89, 0x70, 0xae, 0x1d, 0x9f, 0x27, 0x06, 0x52, 0x9e, 0x47, 0xdb, 0x04, - 0xd6, 0x3c, 0x9c, 0x0c, 0x5c, 0x0b, 0x81, 0xf7, 0x39, 0x58, 0x8f, 0x6f, 0x1e, 0x82, 0x7d, 0x04, - 0xd9, 0x21, 0xf4, 0xb1, 0x27, 0x49, 0xa0, 0xe3, 0x5d, 0xda, 0xaa, 0xab, 0xc1, 0xdb, 0xcb, 0x42, - 0x5a, 0x22, 0xe2, 0x61, 0xdd, 0x0f, 0xfd, 0xa6, 0x23, 0x00, 0x6f, 0x53, 0x9f, 0x0a, 0x63, 0xae, - 0x83, 0x69, 0x63, 0x86, 0x69, 0x6f, 0xd4, 0x2b, 0x7b, 0xb8, 0x68, 0x67, 0x4c, 0x8e, 0x31, 0x93, - 0x5e, 0xb0, 0xc4, 0xb8, 0x5c, 0xed, 0xbf, 0x24, 0x48, 0x19, 0xf6, 0x0e, 0xc0, 0xab, 0xb5, 0xf8, - 0xd9, 0xfd, 0xcc, 0x91, 0x0b, 0x6f, 0xcd, 0xed, 0x15, 0xc2, 0x40, 0x9b, 0x6a, 0x0d, 0x50, 0xa7, - 0xcb, 0xaf, 0x99, 0xeb, 0x87, 0xd2, 0x5f, 0xb4, 0x84, 0x33, 0xb5, 0x79, 0x1a, 0x7d, 0x17, 0xed, - 0x4c, 0x8f, 0xc2, 0x63, 0xd0, 0x27, 0x51, 0x39, 0x7e, 0xbb, 0x95, 0xef, 0x75, 0x31, 0x2c, 0x89, - 0xfa, 0x6e, 0x99, 0x87, 0x77, 0xa8, 0xaa, 0x4f, 0xf2, 0x4e, 0xff, 0x17, 0x04, 0x97, 0xa4, 0x86, - 0x21, 0xcb, 0x58, 0x9c, 0x13, 0xc5, 0xa5, 0x52, 0x4c, 0xd5, 0x71, 0xd1, 0xbd, 0x2e, 0x27, 0x86, - 0x26, 0xe9, 0x20, 0x17, 0xe7, 0x2d, 0xe0, 0xb3, 0x1b, 0x02, 0x41, 0xaf, 0x45, 0xef, 0x7f, 0x4f, - 0x4d, 0x2d, 0x1f, 0x25, 0x74, 0x59, 0xb2, 0xdd, 0xfc, 0x39, 0x4d, 0x2c, 0x8a, 0x2f, 0x89, 0x67, - 0x14, 0x07, 0x1e, 0x31, 0x2b, 0xf0, 0x82, 0xb9, 0x75, 0x0d, 0x1d, 0xf3, 0x57, 0x3c, 0x43, 0xc1, - 0xd5, 0x6c, 0xdc, 0xcb, 0x3a, 0xbe, 0xba, 0x82, 0x8c, 0x47, 0xa9, 0x28, 0x4d, 0x57, 0xb7, 0x59, - 0xe7, 0x18, 0x01, 0x4d, 0x11, 0xb1, 0xc8, 0x57, 0xf0, 0x30, 0xec, 0xb6, 0xaa, 0xef, 0x80, 0xd5, - 0xac, 0x6c, 0x85, 0xe1, 0xa6, 0x91, 0x28, 0x80, 0x6f, 0x4a, 0xcc, 0x2b, 0x05, 0x60, 0x40, 0xc0, - 0x10, 0x3f, 0xd4, 0x6e, 0x57, 0xf1, 0xb8, 0x64, 0x15, 0xdc, 0xa6, 0x3d, 0x44, 0xf8, 0x2d, 0x47, - 0xae, 0xe8, 0xa1, 0xb4, 0x10, 0x1c, 0xe7, 0x8e, 0x16, 0xdd, 0xc6, 0xee, 0x23, 0x88, 0xe8, 0x0d, - 0x06, 0xf4, 0x8c, 0xbb, 0x16, 0x88, 0xca, 0x93, 0x6a, 0x7d, 0x56, 0xfc, 0x66, 0xff, 0x76, 0xab, - 0x4e, 0xd9, 0x1c, 0x9e, 0x6e, 0x2e, 0x33, 0x93, 0x32, 0x05, 0xbf, 0x81, 0xad, 0x6d, 0x5a, 0xe9, - 0x8e, 0x6f, 0xa6, 0x16, 0x32, 0xfd, 0x57, 0xc1, 0x38, 0x2c, 0x86, 0x1a, 0xa5, 0xac, 0x5b, 0x28, - 0xd0, 0x1b, 0xa1, 0xc0, 0xcd, 0x8f, 0x2f, 0x87, 0xf7, 0x67, 0xe5, 0x83, 0xd0, 0x65, 0x35, 0x85, - 0x88, 0x6a, 0xee, 0x32, 0xcf, 0x27, 0x36, 0xb6, 0x2e, 0xb2, 0xe5, 0x14, 0x80, 0x3e, 0xcd, 0xdf, - 0x9e, 0x78, 0x78, 0xfa, 0xa3, 0x63, 0xc5, 0x95, 0x30, 0x5b, 0x74, 0x1b, 0x93, 0xd2, 0xcf, 0x65, - 0xc1, 0xfe, 0x76, 0x1a, 0x5c, 0x95, 0xc9, 0x18, 0xd9, 0x81, 0xa1, 0xa8, 0xe9, 0xcb, 0x82, 0x3e, - 0x3b, 0xfa, 0x6e, 0x5a, 0x0a, 0x98, 0xc9, 0x99, 0x0d, 0xc6, 0x1a, 0xe3, 0x13, 0xdc, 0xc3, 0x78, - 0xa4, 0x20, 0x2a, 0x08, 0x66, 0x1d, 0x6f, 0xda, 0x00, 0x21, 0x90, 0x05, 0x64, 0xf2, 0x7a, 0xcb, - 0x47, 0x45, 0xde, 0x39, 0x71, 0x14, 0xf9, 0xfa, 0xc2, 0x6b, 0x8a, 0x31, 0x2c, 0x7c, 0xde, 0xc3, - 0xaa, 0xc1, 0x25, 0x22, 0xfb, 0x19, 0x0b, 0x74, 0x6b, 0xc3, 0x5c, 0xbf, 0x9e, 0xf7, 0xc4, 0x72, - 0xad, 0xb1, 0x95, 0x74, 0x12, 0xb7, 0x83, 0x0a, 0x6b, 0x30, 0xdd, 0xeb, 0x21, 0xab, 0x05, 0x73, - 0x63, 0x2a, 0x46, 0xaa, 0x18, 0xfb, 0x30, 0x97, 0x25, 0xe9, 0x8b, 0x58, 0x33, 0x63, 0x3d, 0x65, - 0x3e, 0x5c, 0x57, 0x89, 0x2b, 0xb7, 0xdb, 0x0c, 0x27, 0x2a, 0x9d, 0x9a, 0x8d, 0x68, 0x47, 0x14, - 0x51, 0xd9, 0xe9, 0xa8, 0x2e, 0xb5, 0x77, 0x46, 0xad, 0x9e, 0x1a, 0xa3, 0xdf, 0x04, 0x93, 0x3e, - 0x87, 0x4f, 0x43, 0x9f, 0x1a, 0xea, 0xff, 0xb4, 0x0c, 0x47, 0x08, 0x2d, 0x11, 0x6f, 0xfb, 0x0c, - 0x15, 0xfe, 0xb2, 0x32, 0x67, 0xe9, 0xc6, 0xe4, 0x90, 0xaa, 0x4c, 0x50, 0xc0, 0xf3, 0x37, 0xc9, - 0xa2, 0xee, 0x79, 0xd8, 0xfa, 0x57, 0x97, 0x36, 0xf7, 0xc4, 0x82, 0xd5, 0xaf, 0xe0, 0xa9, 0x72, - 0x76, 0x3b, 0xbd, 0x93, 0x9d, 0x34, 0x81, 0xab, 0x63, 0x6b, 0x60, 0x50, 0xcb, 0x55, 0xfd, 0x33, - 0x4c, 0x2c, 0x74, 0xd5, 0x40, 0xb6, 0x84, 0xfe, 0x96, 0xe6, 0xd5, 0xf8, 0xf4, 0xca, 0x2b, 0x8f, - 0x67, 0xd3, 0x56, 0xb4, 0x7a, 0xa2, 0xbb, 0x39, 0x98, 0x78, 0xa4, 0x97, 0x08, 0x3b, 0x4b, 0xc0, - 0x7e, 0xd6, 0xdf, 0x64, 0xd4, 0x51, 0xd0, 0x27, 0xc4, 0x8b, 0x45, 0xe4, 0xa1, 0x76, 0xc0, 0x4c, - 0x2a, 0x7d, 0x17, 0x44, 0x60, 0x20, 0x80, 0x27, 0x7a, 0x98, 0xa0, 0xb1, 0x79, 0x01, 0xfa, 0x58, - 0x98, 0x28, 0xf8, 0x66, 0x3e, 0xf0, 0x0f, 0x0b, 0xeb, 0x58, 0x2e, 0x18, 0xb3, 0x5c, 0x27, 0x16, - 0x78, 0x67, 0xfe, 0xa4, 0x2b, 0xc4, 0x9a, 0x3c, 0xb1, 0x0a, 0x43, 0xed, 0xbe, 0x87, 0x4b, 0xf2, - 0x72, 0xd2, 0x86, 0x26, 0x62, 0xa3, 0x56, 0x09, 0x90, 0x77, 0xa0, 0x6d, 0x39, 0x1f, 0xe8, 0x89, - 0x44, 0xb8, 0x39, 0x3c, 0x5c, 0x3b, 0x94, 0x3e, 0x2f, 0x43, 0x79, 0x7e, 0xbf, 0x11, 0x4f, 0xb9, - 0x9e, 0xe1, 0xdf, 0x2b, 0x48, 0x59, 0xc6, 0xce, 0xc4, 0x59, 0x2d, 0x5d, 0x29, 0xa2, 0x8e, 0xbc, - 0x7e, 0x45, 0x69, 0x60, 0x0f, 0x3b, 0x36, 0x59, 0xf4, 0x6e, 0x04, 0x77, 0x45, 0x8a, 0xde, 0x0d, - 0x63, 0x43, 0x9d, 0x02, 0x71, 0x91, 0xb1, 0xa6, 0xba, 0xcf, 0x64, 0x39, 0xdb, 0x01, 0x77, 0x84, - 0x24, 0x24, 0x94, 0xd8, 0x3f, 0x42, 0x72, 0x5a, 0x96, 0x1c, 0x15, 0xbe, 0x84, 0x5f, 0xab, 0x5d, - 0xc0, 0x4c, 0xb1, 0xd3, 0x06, 0xcb, 0xbb, 0x2d, 0x23, 0x25, 0x6a, 0x6b, 0x47, 0xd6, 0x56, 0x15, - 0x9f, 0x83, 0x4b, 0xa0, 0xf3, 0x5b, 0xcc, 0xf8, 0xab, 0x14, 0x49, 0x09, 0x98, 0x1f, 0xb1, 0xe9, - 0xf1, 0x41, 0x3c, 0x59, 0x5e, 0x28, 0x13, 0xf8, 0x4c, 0x27, 0x1c, 0xd9, 0xd5, 0x8d, 0x2d, 0x65, - 0x3c, 0x01, 0x4d, 0x91, 0xa0, 0xaa, 0x65, 0x07, 0x73, 0xa9, 0x91, 0x65, 0x2d, 0xc4, 0x13, 0xb4, - 0x56, 0x89, 0x3b, 0x90, 0xc5, 0x8c, 0xbe, 0x89, 0x22, 0xce, 0x7a, 0x85, 0x09, 0x92, 0x2d, 0xef, - 0xed, 0x17, 0x65, 0x57, 0x87, 0x48, 0x23, 0x4d, 0xc1, 0x5a, 0x8b, 0x71, 0x40, 0xc6, 0xfc, 0x89, - 0x1b, 0x96, 0xb2, 0xdc, 0x49, 0xaf, 0x5e, 0xba, 0xa1, 0xeb, 0x8e, 0x0f, 0x01, 0x81, 0x27, 0x74, - 0xb6, 0xc8, 0x31, 0x7a, 0x0b, 0x6c, 0x8f, 0xc1, 0xf6, 0x33, 0xdb, 0x1b, 0x8f, 0x9b, 0xa7, 0x02, - 0xd8, 0x85, 0x8a, 0x13, 0x07, 0xa9, 0x49, 0xc6, 0xb3, 0x09, 0x72, 0xf7, 0xa4, 0x69, 0xd6, 0xed, - 0xab, 0xbc, 0x0b, 0xfb, 0x60, 0xcf, 0xb6, 0xb2, 0x43, 0xcb, 0xa8, 0x80, 0x66, 0xa6, 0xc4, 0x1e, - 0x59, 0xa9, 0x0c, 0x54, 0xaa, 0xa4, 0x8a, 0xad, 0xf1, 0x0f, 0xa5, 0x4f, 0xb2, 0x01, 0xac, 0xa0, - 0xe8, 0x5a, 0xd1, 0xa2, 0xd5, 0x0e, 0x20, 0x31, 0xd8, 0x01, 0x89, 0xd4, 0xbd, 0x0d, 0xbe, 0xc2, - 0x3c, 0x69, 0x8d, 0x99, 0x0c, 0x4c, 0x1d, 0x66, 0x60, 0x71, 0x1c, 0x58, 0xfb, 0x2b, 0xe0, 0x08, - 0x52, 0x6f, 0x80, 0xf0, 0x74, 0xb5, 0x79, 0x1c, 0xc7, 0x47, 0x16, 0xc1, 0x11, 0x22, 0x10, 0x50, - 0xfa, 0x4a, 0xa1, 0xee, 0x54, 0x8e, 0xba, 0x1c, 0xb6, 0x17, 0x8a, 0x1b, 0xef, 0x6f, 0x5a, 0x4e, - 0xdc, 0x97, 0x16, 0x1c, 0xe1, 0x81, 0x7c, 0xf2, 0x78, 0x6e, 0xa9, 0x4b, 0x10, 0xd5, 0x51, 0xea, - 0x8e, 0xab, 0xbb, 0xce, 0x1d, 0xe0, 0xb4, 0xaa, 0x88, 0x1d, 0x30, 0x2c, 0xa8, 0x33, 0x98, 0xea, - 0x51, 0xe0, 0xd9, 0xcb, 0x2a, 0x6c, 0x6f, 0x3c, 0xbe, 0x17, 0x2d, 0x5d, 0x0a, 0x49, 0x12, 0x28, - 0xae, 0x90, 0xfd, 0xe6, 0xac, 0x47, 0x2f, 0x2d, 0x6c, 0xa8, 0x5a, 0x48, 0xb7, 0xbb, 0x94, 0x2e, - 0x78, 0xb6, 0x11, 0xdc, 0xf6, 0xce, 0xba, 0x1c, 0x19, 0xe2, 0x68, 0x3f, 0xdd, 0x83, 0xbd, 0xea, - 0xc3, 0x0c, 0x9f, 0xc6, 0xcc, 0xe2, 0x7e, 0xea, 0x6b, 0x4a, 0xda, 0xfe, 0x71, 0xa1, 0xbe, 0xf0, - 0xc6, 0x2e, 0xf7, 0x4b, 0x2d, 0xc2, 0xdd, 0x78, 0x3f, 0x56, 0xb1, 0xa2, 0x0b, 0xc9, 0xcb, 0x9f, - 0x46, 0xe6, 0x2e, 0x63, 0xcb, 0xb4, 0xa4, 0x72, 0x8a, 0xab, 0xd9, 0xcf, 0x4e, 0xef, 0x70, 0x70, - 0xa5, 0x12, 0x78, 0x2e, 0xa6, 0x1b, 0xc7, 0x54, 0x63, 0x32, 0x41, 0x76, 0xb7, 0x40, 0x39, 0x59, - 0x6d, 0x02, 0xe7, 0x30, 0x62, 0xd6, 0xcc, 0x2f, 0x69, 0x98, 0x69, 0x7c, 0x89, 0x37, 0x46, 0x9b, - 0xef, 0x6e, 0x60, 0xb2, 0x75, 0xd8, 0xed, 0x78, 0xa4, 0xd5, 0xd3, 0x5b, 0xf4, 0xb3, 0x50, 0x5a, - 0xf4, 0x0b, 0x56, 0xa8, 0xa8, 0x34, 0x33, 0x2f, 0xca, 0xff, 0xf1, 0x54, 0x9f, 0x36, 0x20, 0xc6, - 0xbb, 0x1a, 0xc3, 0xa5, 0xb9, 0xf5, 0xd3, 0xdf, 0x4b, 0xed, 0x96, 0xe2, 0x37, 0x31, 0xf0, 0x1d, - 0x34, 0x9f, 0xa9, 0x97, 0x2d, 0x95, 0xa9, 0x81, 0xc8, 0x03, 0x1a, 0xc2, 0x33, 0x67, 0x01, 0xac, - 0x08, 0x1e, 0x70, 0xc7, 0x3f, 0x18, 0x87, 0xd2, 0xfa, 0xe1, 0x76, 0x59, 0xe5, 0x4d, 0x5d, 0x97, - 0x3f, 0x32, 0x08, 0x36, 0x65, 0xdb, 0xd3, 0x4e, 0x9c, 0xc1, 0x09, 0x8e, 0xf0, 0x0c, 0x3f, 0x8b, - 0x7f, 0x34, 0xa4, 0x96, 0x2e, 0x08, 0x82, 0x33, 0xb8, 0x88, 0xc7, 0x87, 0xd9, 0xa6, 0x23, 0xb8, - 0x5e, 0x81, 0x30, 0x24, 0x66, 0xbd, 0xf7, 0x0f, 0xbf, 0x7c, 0x8a, 0xc4, 0x87, 0x18, 0x63, 0x48, - 0x04, 0x94, 0x56, 0x76, 0xef, 0xc5, 0xb0, 0x19, 0x88, 0x08, 0x50, 0xe1, 0xc3, 0x8f, 0x03, 0xce, - 0x62, 0xdf, 0xa0, 0xa4, 0x02, 0x0c, 0x2d, 0x63, 0xcc, 0xc6, 0x65, 0x0c, 0x87, 0xa1, 0x68, 0x25, - 0x4d, 0x2b, 0x41, 0xf8, 0x7a, 0xaf, 0xdf, 0xc9, 0x60, 0x33, 0xe5, 0x87, 0xbd, 0x02, 0xf9, 0x09, - 0x6c, 0xcb, 0x1c, 0xa3, 0x6d, 0x90, 0xef, 0x62, 0x60, 0x48, 0xc7, 0x0d, 0xdd, 0xcb, 0x73, 0xa4, - 0xd3, 0xbc, 0x2e, 0x0c, 0x1e, 0x79, 0x59, 0x70, 0x25, 0xee, 0xa4, 0xa8, 0x45, 0x3f, 0x91, 0x46, - 0x69, 0xec, 0x42, 0x23, 0x02, 0x9a, 0xd9, 0xf3, 0xd6, 0xc0, 0xc3, 0x11, 0xa3, 0x8d, 0x92, 0xc4, - 0xfd, 0x02, 0x1f, 0x0b, 0x80, 0xad, 0x62, 0x30, 0xf9, 0xdd, 0xaf, 0xeb, 0xea, 0x39, 0x4d, 0x4e, - 0xd3, 0x50, 0xdc, 0x5b, 0xa2, 0x84, 0xbd, 0xc3, 0x5c, 0x3f, 0xad, 0xcf, 0x20, 0x11, 0xcd, 0x95, - 0xc6, 0x4e, 0xf2, 0xf2, 0xbc, 0x9a, 0x07, 0xe1, 0x76, 0x16, 0x87, 0x40, 0x0d, 0x2e, 0xb0, 0x53, - 0xb6, 0xd4, 0x00, 0xb6, 0x40, 0xa6, 0x61, 0x78, 0x4b, 0xe5, 0xfd, 0xad, 0xf3, 0xe2, 0x94, 0x73, - 0x71, 0xf9, 0x49, 0x67, 0x9e, 0xb8, 0x06, 0xe3, 0x1b, 0xab, 0xac, 0x7b, 0x98, 0xc3, 0xa5, 0x47, - 0xa4, 0x4f, 0x6c, 0xb1, 0x74, 0x32, 0x80, 0xc7, 0x69, 0x76, 0xbc, 0x3f, 0xb1, 0x86, 0xc0, 0xb5, - 0xdc, 0x34, 0x40, 0x25, 0x25, 0xda, 0xe7, 0x69, 0xa8, 0x2a, 0x36, 0x1f, 0x33, 0x0a, 0xd5, 0x84, - 0x39, 0xe4, 0x94, 0x75, 0x9a, 0xf1, 0x0e, 0xad, 0xa6, 0x05, 0x24, 0xa7, 0x74, 0x7c, 0x46, 0x05, - 0x04, 0x17, 0x54, 0xad, 0x69, 0x11, 0x63, 0x0f, 0xcd, 0x0b, 0x74, 0x05, 0xc3, 0xe8, 0x2f, 0xb8, - 0x05, 0x05, 0xed, 0x32, 0xa6, 0xe2, 0xfd, 0x06, 0x95, 0xd0, 0x7a, 0xca, 0x49, 0x47, 0x70, 0x8e, - 0x69, 0x97, 0xf2, 0xc2, 0x4a, 0x65, 0xdd, 0x29, 0x1a, 0x6a, 0xc9, 0xc1, 0x52, 0xf1, 0xba, 0xb9, - 0xfc, 0xc2, 0xf5, 0xf2, 0x09, 0xbb, 0x38, 0x58, 0x44, 0x66, 0x21, 0x80, 0x59, 0xea, 0x82, 0x2b, - 0xe4, 0x4a, 0x40, 0x82, 0x5b, 0xf0, 0x46, 0xbc, 0x73, 0x12, 0xc3, 0xe8, 0x2e, 0x8c, 0x3a, 0x59, - 0xaf, 0xbd, 0x63, 0xe9, 0xfe, 0xd2, 0xb2, 0x17, 0xa1, 0x17, 0xd4, 0x9a, 0x8e, 0x7d, 0xaa, 0x0d, - 0x72, 0x1c, 0xd3, 0x46, 0x7c, 0x1c, 0x35, 0x6b, 0x22, 0x2a, 0x30, 0x4f, 0xc9, 0xff, 0x1d, 0x67, - 0x41, 0x27, 0xef, 0x16, 0x42, 0xc0, 0x81, 0x94, 0xad, 0xa0, 0x9d, 0x5c, 0x3d, 0x68, 0x19, 0xc8, - 0x1b, 0x1e, 0xf7, 0x77, 0x44, 0xed, 0xb8, 0x6c, 0x5b, 0x06, 0x58, 0x74, 0x04, 0xbb, 0x44, 0x02, - 0x0e, 0x34, 0x30, 0x7a, 0xe7, 0xe5, 0x78, 0xa1, 0x98, 0x45, 0x29, 0xea, 0xb0, 0xa1, 0x60, 0x61, - 0xa8, 0x7b, 0x7d, 0xc5, 0xc1, 0x3b, 0x83, 0x93, 0x3a, 0x23, 0x35, 0x0e, 0x6e, 0x5f, 0x25, 0x33, - 0xfa, 0x5a, 0x06, 0x36, 0x22, 0x24, 0xdb, 0xe8, 0x14, 0xdf, 0xf6, 0xff, 0x80, 0x23, 0xd5, 0x2e, - 0xc9, 0x0d, 0x70, 0x36, 0x67, 0xfe, 0xee, 0x01, 0xfb, 0x25, 0xa5, 0x13, 0x28, 0x23, 0x57, 0x61, - 0x2d, 0x3c, 0xa4, 0x31, 0xe0, 0x58, 0xb3, 0x3a, 0x88, 0xec, 0xdd, 0x24, 0xa2, 0xa7, 0x48, 0x87, - 0x49, 0x6f, 0xbb, 0x31, 0x96, 0xa0, 0x54, 0xaa, 0xe6, 0x67, 0x86, 0x1c, 0xb8, 0xee, 0x5a, 0x73, - 0x1c, 0x31, 0x0e, 0xc7, 0x0c, 0x53, 0x87, 0x14, 0x8c, 0xe2, 0x91, 0x21, 0x60, 0xa3, 0x69, 0x6c, - 0x6f, 0xdf, 0x61, 0x55, 0x0b, 0x6c, 0x0f, 0x72, 0x4d, 0x18, 0xd7, 0x36, 0x2f, 0x0a, 0x01, 0x70, - 0x0c, 0xab, 0x41, 0x5d, 0x55, 0x88, 0x88, 0xef, 0xf4, 0x84, 0xfe, 0xf0, 0xac, 0xe5, 0x16, 0xc2, - 0xc0, 0x33, 0x93, 0xe3, 0xde, 0x09, 0x8d, 0x18, 0x8e, 0xc1, 0x2a, 0xd3, 0x7f, 0xd0, 0xc0, 0x6d, - 0x9b, 0xb4, 0xf2, 0xc1, 0x9d, 0xee, 0x16, 0x4b, 0x24, 0x39, 0xab, 0x25, 0x71, 0x58, 0xfd, 0x4b, - 0xbb, 0xc0, 0x73, 0xb0, 0x1a, 0x47, 0x8e, 0xf7, 0x6b, 0x9a, 0x0b, 0x20, 0x82, 0x44, 0x0e, 0x09, - 0x9a, 0xd7, 0xa0, 0x00, 0x2c, 0x18, 0x31, 0x63, 0x2f, 0x87, 0x5f, 0x2d, 0x36, 0xdf, 0xb8, 0xf2, - 0xff, 0x64, 0xd8, 0xcb, 0xfa, 0x04, 0x05, 0x71, 0x67, 0xb3, 0xc0, 0xe9, 0x1b, 0xe0, 0x74, 0x66, - 0x8d, 0x44, 0xbe, 0xc9, 0xa4, 0x4b, 0xfd, 0x07, 0xc4, 0xa8, 0x06, 0x0f, 0x21, 0x72, 0xc0, 0x36, - 0xca, 0x29, 0xae, 0xc0, 0xd0, 0x65, 0x9f, 0xfd, 0xfe, 0xc6, 0x33, 0xea, 0x6c, 0x6f, 0x5d, 0xd2, - 0x8a, 0x59, 0x40, 0x6e, 0xbd, 0x05, 0x29, 0xcd, 0xa7, 0xba, 0x9c, 0x55, 0xc1, 0x44, 0xb5, 0xcf, - 0x38, 0x50, 0x61, 0xe6, 0x35, 0x1a, 0x4c, 0x09, 0xce, 0xd6, 0xce, 0xea, 0x4b, 0x02, 0x35, 0x1e, - 0x94, 0x4b, 0x78, 0xcc, 0x4b, 0x0f, 0xd7, 0x75, 0xc8, 0x80, 0x2d, 0x46, 0x36, 0x58, 0x68, 0xc2, - 0x86, 0x2b, 0xa3, 0x61, 0x54, 0x64, 0xb5, 0xd1, 0x8e, 0xa9, 0x11, 0xa8, 0xea, 0x30, 0xfc, 0x69, - 0x75, 0x84, 0xa1, 0x37, 0xfe, 0x40, 0x3d, 0x7b, 0xad, 0x4b, 0xd5, 0x5a, 0x80, 0xc5, 0x3e, 0xd9, - 0x06, 0x8c, 0x1d, 0x10, 0x80, 0x07, 0xe2, 0x85, 0xab, 0x7a, 0x94, 0x96, 0xa8, 0xa6, 0xb8, 0x0f, - 0x11, 0xb9, 0xff, 0x36, 0x32, 0x90, 0x3e, 0x73, 0x4a, 0x39, 0xdc, 0xb8, 0x85, 0xcb, 0x4f, 0x93, - 0x71, 0xc6, 0x97, 0xf1, 0x99, 0x41, 0x00, 0x8b, 0x7a, 0xb2, 0xb3, 0x78, 0x46, 0x48, 0xf3, 0xb3, - 0xfa, 0xa1, 0x7f, 0xf7, 0x7b, 0x13, 0xf9, 0x83, 0x7d, 0xde, 0xab, 0x75, 0x4c, 0xa7, 0xbf, 0x5f, - 0x95, 0x62, 0x53, 0xa2, 0x42, 0xc1, 0xca, 0x3b, 0x7c, 0x69, 0xfd, 0x60, 0xeb, 0x3d, 0x69, 0x35, - 0x79, 0xf6, 0xb9, 0xb3, 0xc4, 0xad, 0x44, 0xc7, 0xe4, 0x97, 0x94, 0x6f, 0xb0, 0x3b, 0xcd, 0xb2, - 0x31, 0xf8, 0x23, 0xf5, 0xff, 0xf8, 0x82, 0xab, 0x70, 0x0a, 0xaf, 0xd9, 0x0d, 0x07, 0xca, 0xe2, - 0x98, 0x8c, 0x4d, 0xc1, 0xad, 0x0b, 0x42, 0xf5, 0x75, 0x2a, 0xfd, 0xb4, 0x03, 0x86, 0xbf, 0x3f, - 0xd4, 0x5b, 0x8c, 0x4d, 0x73, 0x25, 0x42, 0xd1, 0x7a, 0x51, 0x54, 0xfc, 0x94, 0x3d, 0xfb, 0xeb, - 0x01, 0x94, 0x52, 0xd3, 0x6c, 0x72, 0xe5, 0x65, 0xa8, 0x4e, 0x0e, 0x6c, 0x71, 0x49, 0xac, 0x22, - 0x2e, 0x56, 0x2f, 0xfa, 0xa8, 0x16, 0x03, 0x9e, 0x2b, 0xec, 0x33, 0xce, 0x1f, 0xef, 0x7c, 0x0f, - 0xd3, 0x68, 0x6d, 0x6d, 0x08, 0x38, 0x14, 0x58, 0x2c, 0x1e, 0x76, 0xda, 0xa6, 0x6d, 0x0b, 0x1a, - 0x3a, 0x50, 0x40, 0xa6, 0x28, 0x21, 0x42, 0xc3, 0x10, 0xff, 0x65, 0xc2, 0xcb, 0xcd, 0x1d, 0xbf, - 0xd3, 0xf2, 0x31, 0xe8, 0x50, 0xca, 0x0d, 0x1b, 0x0c, 0xba, 0x2e, 0xb0, 0xac, 0x6c, 0xb6, 0x23, - 0x4f, 0xe3, 0x8c, 0xa0, 0x37, 0xc1, 0x9f, 0xdc, 0x79, 0xf7, 0x8c, 0x7f, 0x4f, 0xf0, 0x64, 0x4c, - 0x34, 0xd7, 0x23, 0xea, 0xfa, 0x0a, 0xfe, 0xf5, 0xf5, 0xce, 0x73, 0xda, 0xd7, 0x34, 0xd5, 0xc1, - 0xaa, 0x32, 0xf9, 0xf5, 0x25, 0x32, 0x07, 0xe3, 0x2c, 0x34, 0xd4, 0xc6, 0xaf, 0xa1, 0x0b, 0xe4, - 0x55, 0x13, 0x27, 0x6b, 0xa5, 0xdd, 0xd7, 0x4f, 0x29, 0xb2, 0x8f, 0x51, 0x97, 0xf5, 0x06, 0x24, - 0x76, 0x50, 0xde, 0x3c, 0x6c, 0x9a, 0x4b, 0xa4, 0xda, 0xf1, 0x89, 0xca, 0x7d, 0xb2, 0xea, 0xa3, - 0x3c, 0x13, 0x22, 0xcf, 0x63, 0xec, 0xe2, 0xe0, 0xdc, 0x6f, 0xf1, 0xcf, 0x1d, 0xb8, 0xe1, 0x16, - 0xe3, 0x09, 0x93, 0xaf, 0x34, 0x1c, 0x86, 0x37, 0x0a, 0x52, 0xc6, 0x46, 0xfd, 0x39, 0xff, 0xfb, - 0xae, 0x8a, 0x93, 0xea, 0x38, 0x4f, 0x98, 0xaa, 0x32, 0xac, 0x39, 0xbb, 0x03, 0xe0, 0x32, 0x8d, - 0x0f, 0xd0, 0xfd, 0x7d, 0x79, 0x60, 0x80, 0x1f, 0x79, 0xab, 0xd0, 0xf8, 0xd6, 0x56, 0x45, 0xec, - 0x7d, 0x52, 0x48, 0xa0, 0x8a, 0xad, 0x05, 0x4e, 0xc1, 0x22, 0x67, 0xcb, 0x5a, 0x7b, 0x14, 0x5e, - 0x75, 0x5b, 0xcc, 0x9c, 0xf5, 0xfc, 0x9b, 0x44, 0x0a, 0x98, 0x75, 0x00, 0xfa, 0xd8, 0x54, 0xe5, - 0xfc, 0x36, 0x66, 0x52, 0x97, 0x58, 0x57, 0x69, 0x57, 0x94, 0xfa, 0xea, 0xfa, 0xf1, 0x60, 0xed, - 0xc3, 0xaa, 0xdc, 0x03, 0xc8, 0x78, 0x26, 0x3e, 0x7b, 0xb2, 0xdb, 0xb6, 0x18, 0xab, 0x15, 0x99, - 0x07, 0xa6, 0x11, 0x0d, 0xaf, 0xfa, 0x71, 0x7f, 0x34, 0x49, 0x3e, 0x49, 0xff, 0x49, 0xec, 0x96, - 0x01, 0xcc, 0x23, 0xa5, 0xf3, 0x57, 0x4f, 0x8b, 0x83, 0x9f, 0x85, 0xc0, 0x6b, 0xf6, 0xcf, 0x75, - 0xe1, 0x62, 0x87, 0xbb, 0xe8, 0x2f, 0x78, 0x3f, 0x76, 0xb4, 0xa0, 0x73, 0x98, 0x05, 0xfd, 0x1a, - 0x8b, 0xbb, 0x64, 0x57, 0x76, 0x03, 0xf5, 0x99, 0x23, 0xe5, 0x00, 0x2f, 0x31, 0xcc, 0x9d, 0x8c, - 0xe6, 0x76, 0xaa, 0xdd, 0x02, 0x0f, 0x73, 0x37, 0x52, 0xb3, 0x3b, 0xf8, 0xd2, 0x47, 0x83, 0xa4, - 0xce, 0x73, 0x11, 0x17, 0x92, 0xf7, 0xa6, 0x98, 0x6e, 0xa7, 0x17, 0x53, 0x18, 0x87, 0xaa, 0x1e, - 0x3c, 0x06, 0xf3, 0xd4, 0x42, 0x5f, 0x1e, 0xd4, 0x31, 0x2e, 0xce, 0x38, 0x02, 0xe7, 0xce, 0xdb, - 0x93, 0xb1, 0xef, 0x74, 0x18, 0xbd, 0x37, 0xc3, 0xd2, 0x3c, 0x97, 0xb7, 0xa5, 0x88, 0x8e, 0xf2, - 0xa3, 0x1d, 0x5b, 0xb5, 0xa0, 0xd6, 0xf4, 0xb5, 0x18, 0x13, 0xc6, 0xeb, 0xeb, 0x0f, 0x18, 0x61, - 0x59, 0x6f, 0x81, 0x77, 0x8d, 0x09, 0x7f, 0x8e, 0x84, 0xd7, 0x83, 0x31, 0x79, 0x72, 0x19, 0x9c, - 0xa9, 0xf9, 0x4e, 0x38, 0x97, 0xa2, 0x13, 0xc1, 0x80, 0x5c, 0xfe, 0x95, 0x7b, 0x32, 0x40, 0x41, - 0x3c, 0x2f, 0xa4, 0x88, 0xb8, 0x7b, 0x82, 0x02, 0xf2, 0x05, 0x44, 0x71, 0x68, 0x6c, 0xec, 0x56, - 0x5c, 0x23, 0x57, 0x39, 0x10, 0x2c, 0xe1, 0xc8, 0x54, 0xd8, 0x63, 0xbc, 0x5c, 0xcf, 0x33, 0x56, - 0xeb, 0x37, 0xa2, 0xe3, 0xde, 0xfb, 0xd8, 0xfb, 0x15, 0x84, 0x83, 0xf5, 0x3f, 0x64, 0x33, 0x21, - 0xce, 0x4e, 0x2d, 0x76, 0x70, 0xec, 0x67, 0x83, 0x2b, 0xfe, 0x3f, 0x98, 0x6f, 0xb2, 0x12, 0xfe, - 0x50, 0x5b, 0xac, 0x15, 0xf3, 0x81, 0xfc, 0x07, 0x2f, 0xbd, 0x00, 0x3e, 0xa4, 0xf4, 0x84, 0xbb, - 0x7f, 0x1c, 0x01, 0xfd, 0x59, 0xc3, 0xdb, 0x29, 0x0f, 0xe1, 0x71, 0x36, 0x7a, 0x2b, 0x44, 0x4f, - 0x5e, 0x74, 0x6e, 0x6b, 0x44, 0xf6, 0xfe, 0xc8, 0xdc, 0x85, 0x92, 0xf1, 0x2a, 0x1a, 0x5c, 0x5e, - 0xdd, 0x51, 0x31, 0xf2, 0xb0, 0xdb, 0x66, 0xed, 0x20, 0x0b, 0xc3, 0xf8, 0x26, 0xf7, 0x77, 0xef, - 0xe0, 0x62, 0x8c, 0xd9, 0xde, 0xb8, 0x85, 0xd2, 0x0a, 0x40, 0x2b, 0x3f, 0x53, 0x75, 0x1b, 0xfb, - 0xc1, 0x04, 0xe8, 0xd6, 0x0a, 0xd3, 0x93, 0xf2, 0x77, 0x0d, 0x9a, 0xbc, 0xc0, 0x70, 0xce, 0x3f, - 0x1e, 0x23, 0xea, 0xa8, 0x98, 0x7e, 0x05, 0x20, 0x73, 0xac, 0x41, 0x21, 0x7f, 0x6c, 0xd7, 0xdb, - 0xce, 0x07, 0x55, 0xe9, 0x8c, 0x50, 0x09, 0x0b, 0xbe, 0xcc, 0x85, 0x6f, 0x96, 0xfc, 0x2f, 0x84, - 0x54, 0x93, 0x0b, 0x07, 0xea, 0xdf, 0x35, 0x3b, 0x72, 0xc6, 0x5e, 0x74, 0xca, 0xa0, 0xf1, 0xa6, - 0x15, 0x16, 0xea, 0x78, 0x3b, 0x5b, 0x47, 0x65, 0x96, 0x7a, 0xfa, 0x3a, 0x4b, 0x89, 0xbb, 0x85, - 0x9c, 0x4e, 0xa5, 0xdd, 0x32, 0x3d, 0x76, 0xca, 0xe3, 0xf3, 0xa8, 0xe1, 0xaa, 0x05, 0xef, 0x7e, - 0x24, 0x63, 0x05, 0x37, 0x1d, 0x60, 0xe0, 0x6c, 0xc0, 0x16, 0x28, 0xd7, 0x72, 0xdf, 0xe3, 0x7a, - 0x37, 0xbe, 0x7c, 0x1e, 0xc6, 0x71, 0xfa, 0xf4, 0xe2, 0xec, 0xd7, 0xa0, 0xb7, 0x45, 0x4b, 0xc2, - 0x41, 0x9b, 0x7c, 0x6a, 0x42, 0x3a, 0x1f, 0x15, 0xb9, 0x1d, 0xd6, 0x41, 0x47, 0x1c, 0x6d, 0x2f, - 0x81, 0x6e, 0x07, 0x8d, 0x1f, 0x29, 0xdc, 0x14, 0xf3, 0x00, 0xd2, 0xc4, 0xc8, 0x22, 0x18, 0xc6, - 0x7b, 0xa9, 0x8b, 0x5e, 0x6a, 0x8a, 0x8c, 0xf5, 0x3d, 0x35, 0x54, 0xde, 0x6b, 0xaa, 0xcf, 0x34, - 0x9e, 0x96, 0x96, 0xfe, 0x95, 0x80, 0x51, 0x96, 0x38, 0x93, 0x25, 0x13, 0x73, 0xad, 0x19, 0xb2, - 0xcf, 0xf8, 0xd2, 0x1c, 0x34, 0xb7, 0x9e, 0x42, 0x2f, 0x06, 0xde, 0x9d, 0x01, 0x68, 0x7e, 0xd2, - 0x0f, 0xc5, 0xdc, 0xb6, 0x54, 0x31, 0x3f, 0x7d, 0xee, 0x2f, 0xc3, 0xae, 0x1e, 0xfb, 0x69, 0x5d, - 0xff, 0x3e, 0x27, 0x00, 0xd6, 0xac, 0x9f, 0x7a, 0x75, 0x60, 0x23, 0x1e, 0x97, 0x5d, 0xaa, 0xb0, - 0x1f, 0xb6, 0xad, 0xe8, 0xcd, 0x71, 0xfd, 0x64, 0x06, 0xdd, 0xc5, 0x00, 0xf9, 0x96, 0xaf, 0x2c, - 0x93, 0x85, 0x2a, 0x29, 0xff, 0x7d, 0xfa, 0x37, 0x2e, 0x1f, 0x7e, 0x75, 0xaa, 0x8a, 0x47, 0xfd, - 0x77, 0xcd, 0x19, 0x7f, 0x06, 0x95, 0x1a, 0x3c, 0x23, 0x6d, 0x9c, 0xb9, 0xa2, 0x9f, 0x51, 0x37, - 0xac, 0xde, 0x7e, 0xd3, 0x9b, 0x09, 0x71, 0x73, 0x14, 0x22, 0xce, 0xc7, 0xf6, 0x41, 0x9b, 0x70, - 0xb4, 0x1d, 0x44, 0xe5, 0x41, 0xfd, 0xda, 0xe3, 0x35, 0xeb, 0xd6, 0xb5, 0xe0, 0x53, 0xa7, 0x06, - 0x2e, 0x2e, 0x58, 0x1d, 0x13, 0xde, 0xfc, 0x9c, 0x9b, 0xf0, 0xd5, 0x31, 0x84, 0x51, 0xa1, 0x7c, - 0x78, 0x1c, 0x70, 0x37, 0x9f, 0xc0, 0xab, 0xb2, 0x78, 0x94, 0x64, 0x4d, 0x69, 0x98, 0x0b, 0x2e, - 0x41, 0xb3, 0xd8, 0xb3, 0x8a, 0x2a, 0x17, 0x06, 0xee, 0x96, 0x9e, 0x1b, 0xcf, 0xd7, 0x4d, 0xc2, - 0xb3, 0x92, 0xcb, 0x1b, 0x60, 0x3a, 0x60, 0xea, 0xbf, 0x35, 0x90, 0xb0, 0x4b, 0x4c, 0x89, 0x21, - 0x35, 0x36, 0x3f, 0x18, 0x68, 0x65, 0xdc, 0x94, 0x02, 0xaf, 0xa5, 0x9b, 0x6a, 0x05, 0x1e, 0xb6, - 0xa4, 0xed, 0xef, 0xe7, 0x2d, 0x0a, 0x8e, 0x98, 0x97, 0x22, 0x61, 0xa8, 0xbc, 0x0c, 0xcb, 0xc5, - 0x88, 0xbd, 0x0f, 0x37, 0xdb, 0xb9, 0x3f, 0x6f, 0xa2, 0xc1, 0x10, 0x67, 0xba, 0x36, 0xfe, 0x90, - 0x3e, 0xb9, 0x9b, 0x9d, 0xec, 0xfa, 0x81, 0x66, 0xd3, 0x64, 0x4c, 0xf1, 0xf6, 0x74, 0x9d, 0x49, - 0x80, 0xbb, 0xd5, 0x17, 0x28, 0x3d, 0x10, 0x69, 0x57, 0x1c, 0x24, 0x3e, 0xb2, 0x5b, 0xfd, 0xde, - 0xfa, 0xc6, 0x75, 0x6f, 0xd1, 0xa1, 0xc8, 0x92, 0xf9, 0x0d, 0x4f, 0x89, 0xea, 0x9e, 0x17, 0xcb, - 0x1e, 0x37, 0xdd, 0x85, 0xdf, 0x1b, 0x42, 0x5b, 0x42, 0x9d, 0x06, 0x4c, 0x5c, 0x6e, 0x76, 0xde, - 0x4a, 0x27, 0x75, 0x9f, 0x4c, 0xec, 0x38, 0x02, 0xf2, 0xf3, 0x47, 0xff, 0x3a, 0x25, 0x90, 0xd5, - 0xad, 0x86, 0x10, 0xe5, 0x34, 0x1a, 0x3d, 0xf2, 0x6e, 0x75, 0xeb, 0xfa, 0xd0, 0x78, 0x0f, 0x42, - 0xeb, 0x29, 0xe6, 0xb9, 0xc2, 0xa3, 0x30, 0xd8, 0x76, 0x08, 0x8c, 0x48, 0x8e, 0xa0, 0x73, 0x13, - 0x78, 0xa4, 0x68, 0xa1, 0x1d, 0xb7, 0x26, 0x91, 0x04, 0xb0, 0x6c, 0x86, 0xa1, 0x75, 0xc9, 0x12, - 0xa3, 0xe2, 0xe3, 0xc6, 0x79, 0x96, 0x5e, 0x96, 0x05, 0x10, 0xc6, 0x13, 0xa9, 0x32, 0x3c, 0x1b, - 0xd7, 0xe0, 0xd3, 0x74, 0x9e, 0x4d, 0x0c, 0x45, 0x6f, 0xa7, 0x24, 0xc9, 0xc6, 0x0d, 0x07, 0x3d, - 0x5f, 0x62, 0x02, 0xa5, 0x10, 0x1e, 0x22, 0x2a, 0x45, 0x3c, 0xba, 0x77, 0x9b, 0x9a, 0xe9, 0x15, - 0xc6, 0xbd, 0xae, 0x9d, 0xb8, 0x24, 0x62, 0x57, 0x05, 0x5e, 0x2b, 0x76, 0xab, 0x52, 0x81, 0xc7, - 0xca, 0xae, 0x29, 0xfd, 0x3f, 0x4b, 0xbb, 0x71, 0xb9, 0xe8, 0xcc, 0x9c, 0xd6, 0xb7, 0xb1, 0x53, - 0xc7, 0x96, 0xfb, 0xc5, 0xbf, 0xec, 0x78, 0xd0, 0xc8, 0xe1, 0x0e, 0x44, 0x58, 0xf9, 0xfe, 0x7b, - 0x01, 0x8e, 0x81, 0xcb, 0xd5, 0x49, 0x1e, 0x00, 0x06, 0xe9, 0xd9, 0x79, 0x6e, 0x67, 0x60, 0x5e, - 0x3f, 0xe8, 0xc1, 0xce, 0xcc, 0x5c, 0xbb, 0xe2, 0x3e, 0x23, 0x15, 0xf5, 0xb7, 0x4a, 0x54, 0x37, - 0xe8, 0x62, 0x3e, 0xca, 0x7d, 0xf1, 0x8c, 0xbd, 0x0f, 0x44, 0x5a, 0x74, 0x73, 0x76, 0x3f, 0x2a, - 0xfb, 0xa9, 0x2b, 0x35, 0x29, 0x63, 0xc1, 0xbd, 0xcd, 0x4c, 0xe6, 0x8b, 0xe0, 0xb2, 0x01, 0x10, - 0x4e, 0x49, 0x1d, 0x77, 0xfb, 0x92, 0x3a, 0x1b, 0x5c, 0xa1, 0xd4, 0xb7, 0x1e, 0x67, 0x0a, 0x24, - 0x58, 0x74, 0xd7, 0x13, 0x33, 0x56, 0x45, 0xb7, 0x61, 0x0c, 0xb4, 0xff, 0xa3, 0xde, 0xca, 0x33, - 0xf5, 0x6b, 0x01, 0x1b, 0x01, 0xc9, 0xfa, 0x1b, 0x62, 0x1f, 0x68, 0x22, 0x13, 0x1b, 0xba, 0x81, - 0xa1, 0x20, 0xf8, 0x90, 0x61, 0xd6, 0x72, 0xc4, 0x36, 0xcc, 0xb4, 0xd2, 0xeb, 0x54, 0x8f, 0x56, - 0x49, 0xa4, 0x32, 0x42, 0xa7, 0xa8, 0x95, 0x1f, 0x79, 0xce, 0xc4, 0x0f, 0xe8, 0x8d, 0x64, 0xc3, - 0x72, 0x10, 0x06, 0xac, 0x13, 0x0a, 0x62, 0xe8, 0x15, 0x50, 0x0f, 0x6b, 0x98, 0x7c, 0x7e, 0xef, - 0x8e, 0x79, 0x8f, 0xe5, 0x44, 0x26, 0x6c, 0xd5, 0x49, 0xb7, 0xe1, 0x30, 0x41, 0x1d, 0x90, 0x89, - 0xee, 0x33, 0x87, 0x6f, 0x87, 0x6c, 0xc9, 0x84, 0x69, 0x19, 0x6c, 0x50, 0x19, 0x16, 0xcb, 0x3e, - 0x96, 0x82, 0x05, 0x83, 0x23, 0x40, 0x0a, 0xcd, 0x21, 0xe8, 0x5f, 0x4e, 0xd9, 0xed, 0x11, 0xfb, - 0xcd, 0xbe, 0x2f, 0xe6, 0x5f, 0xf7, 0xaa, 0x63, 0xd4, 0xa1, 0x91, 0xd5, 0xfb, 0x0c, 0x24, 0x51, - 0x06, 0xc2, 0xf0, 0x9b, 0x79, 0xac, 0xe3, 0xd6, 0x94, 0x94, 0x1b, 0xc3, 0xe3, 0x54, 0xe8, 0xaf, - 0x90, 0xac, 0xd8, 0x3a, 0xdf, 0xe0, 0x00, 0xea, 0x04, 0x79, 0xb4, 0x1a, 0x29, 0x1d, 0x17, 0x3c, - 0x42, 0xa8, 0xe4, 0x31, 0xa7, 0xe0, 0x6b, 0xc8, 0x8c, 0x84, 0x96, 0x9e, 0x38, 0x5f, 0xf2, 0x7b, - 0xee, 0xaa, 0x39, 0x8b, 0x51, 0x2d, 0x7c, 0x0b, 0x6d, 0x51, 0x34, 0xfa, 0x1e, 0x6c, 0x2a, 0xd4, - 0x0a, 0x3b, 0x32, 0x3c, 0x3e, 0x0f, 0x10, 0xbc, 0x3f, 0xf1, 0x2e, 0x13, 0x0f, 0xe1, 0x55, 0xa7, - 0x0f, 0xf1, 0x94, 0x7a, 0x49, 0x62, 0x28, 0x94, 0xb0, 0xeb, 0x9d, 0xd4, 0x61, 0x63, 0x0f, 0xc2, - 0xa2, 0x31, 0x5d, 0x52, 0x4e, 0x7e, 0x7e, 0x57, 0xa5, 0x0a, 0x0b, 0x6b, 0xe1, 0xc9, 0x65, 0xf0, - 0x6e, 0x4d, 0x01, 0xf7, 0xb4, 0x14, 0x2e, 0xf3, 0x55, 0x25, 0x79, 0xc8, 0xfc, 0x9d, 0x68, 0xf3, - 0x38, 0x0c, 0x1a, 0x13, 0x34, 0xb4, 0x2a, 0x2a, 0x1f, 0x59, 0x10, 0x5a, 0xfc, 0x8f, 0x22, 0x06, - 0x3f, 0x50, 0x8c, 0x49, 0x81, 0x48, 0x1f, 0x74, 0xa3, 0x7b, 0x65, 0xb5, 0x41, 0x2f, 0xbf, 0xdd, - 0x7f, 0xf1, 0x5e, 0x93, 0x94, 0xc9, 0x4e, 0xfc, 0xec, 0xa3, 0xe1, 0xaf, 0xe0, 0x19, 0x34, 0x1c, - 0x0a, 0x77, 0xdd, 0x52, 0xd0, 0x44, 0xb4, 0x48, 0x30, 0xd1, 0xdd, 0xc5, 0x2e, 0x73, 0xfc, 0xbf, - 0xd7, 0x01, 0x30, 0x8c, 0x97, 0xc1, 0x41, 0xd5, 0x30, 0xcf, 0x9c, 0x7a, 0x42, 0x1d, 0x54, 0x6b, - 0x5e, 0x95, 0x92, 0xac, 0x09, 0x3e, 0xad, 0x1a, 0xe9, 0x51, 0x0f, 0x18, 0x28, 0xfc, 0x84, 0xb9, - 0x56, 0x9f, 0x5f, 0x6c, 0x09, 0x52, 0x4c, 0xd7, 0xbc, 0x69, 0xf2, 0x71, 0x79, 0xd5, 0x41, 0x8c, - 0x68, 0x6f, 0xad, 0x06, 0x2f, 0xd7, 0x5a, 0xb8, 0x6c, 0x03, 0x59, 0x07, 0x1e, 0xb1, 0x41, 0x2e, - 0x09, 0xae, 0xeb, 0x16, 0x9f, 0xc0, 0x0c, 0x8b, 0xaa, 0x4b, 0xa7, 0x93, 0x83, 0x6b, 0x95, 0x91, - 0x31, 0x5a, 0xc1, 0x4f, 0xb5, 0x32, 0xf8, 0x9f, 0xc3, 0x03, 0xb3, 0x2c, 0x53, 0xd9, 0x9d, 0xdc, - 0x08, 0x8e, 0xcc, 0x9c, 0xf7, 0xf3, 0xaa, 0x39, 0xad, 0xed, 0x29, 0xd5, 0x7c, 0xd3, 0x75, 0xf5, - 0x92, 0xbb, 0x0f, 0x3f, 0xd6, 0x3b, 0x1b, 0xba, 0x77, 0x57, 0x79, 0x76, 0x7e, 0x46, 0x71, 0x17, - 0xb5, 0x07, 0x95, 0x7f, 0xb4, 0x07, 0x7b, 0x81, 0x9e, 0x0f, 0xbd, 0x9d, 0xf9, 0x39, 0x6a, 0x22, - 0x93, 0xf6, 0x1e, 0x2e, 0xcc, 0x6f, 0x34, 0xb9, 0x58, 0xe0, 0xe7, 0x8b, 0x9b, 0x2e, 0xd0, 0x2c, - 0xed, 0x6b, 0xa8, 0x72, 0x98, 0x71, 0x94, 0x7e, 0xe5, 0x94, 0x82, 0xf9, 0x6d, 0xe2, 0x68, 0x9d, - 0xd9, 0x0d, 0xf6, 0x11, 0xb5, 0xb9, 0xd3, 0x76, 0x2b, 0x2e, 0xf4, 0x88, 0xce, 0x54, 0x88, 0x34, - 0xb8, 0x77, 0x44, 0x21, 0x34, 0x9a, 0xc3, 0x44, 0xe0, 0x41, 0xfd, 0x84, 0x8e, 0x73, 0xae, 0x37, - 0x7a, 0x91, 0xd0, 0xfd, 0xb5, 0x84, 0xe3, 0x08, 0x36, 0x8b, 0x24, 0xe5, 0xdc, 0xa9, 0x23, 0xce, - 0x9b, 0xbc, 0xf2, 0x3f, 0x25, 0x0d, 0xcf, 0x73, 0xeb, 0x38, 0x02, 0x6c, 0x1c, 0xfe, 0x38, 0x94, - 0xd1, 0x9e, 0x78, 0x89, 0x72, 0x92, 0x0e, 0x99, 0x8f, 0x57, 0xf8, 0x2b, 0x2f, 0x1d, 0x5e, 0xe3, - 0x5f, 0xa5, 0x0e, 0x81, 0x6a, 0xab, 0xa5, 0x80, 0x66, 0x9d, 0x11, 0x41, 0xfe, 0xaf, 0x4d, 0xcf, - 0xc8, 0x05, 0x3e, 0x97, 0x0b, 0x7a, 0x11, 0x36, 0x40, 0xc0, 0x4a, 0x00, 0xe5, 0xa9, 0x81, 0x8b, - 0xc1, 0x22, 0x9e, 0x27, 0x0a, 0xca, 0xef, 0x49, 0xac, 0x26, 0x5c, 0x6e, 0x11, 0x67, 0xfc, 0xf2, - 0xe3, 0xb4, 0x3f, 0xf3, 0x18, 0x60, 0xd4, 0x6c, 0xe3, 0xc6, 0x7d, 0x5f, 0xca, 0x8a, 0xf4, 0x65, - 0xf6, 0x73, 0x68, 0x82, 0xdf, 0xa5, 0xbf, 0xfb, 0xe7, 0xb8, 0x78, 0x61, 0x34, 0x5a, 0xa5, 0x02, - 0x41, 0xc6, 0x8a, 0xe1, 0x71, 0xea, 0xdb, 0xd0, 0xb6, 0x19, 0x14, 0x32, 0xe7, 0xdc, 0xa2, 0xea, - 0x49, 0xd5, 0x99, 0x5e, 0xa9, 0xfd, 0xca, 0xcc, 0x97, 0x30, 0x42, 0x90, 0x14, 0xb2, 0xe8, 0x14, - 0x84, 0xa1, 0xc2, 0x48, 0x6b, 0x7e, 0xce, 0x25, 0x93, 0x6b, 0xda, 0x02, 0xdc, 0x02, 0x49, 0xaf, - 0xdb, 0x00, 0x2d, 0xfa, 0x4f, 0xd6, 0xdd, 0x9d, 0xd5, 0xbf, 0x97, 0x83, 0x26, 0x04, 0x41, 0xd4, - 0x63, 0xeb, 0x84, 0x01, 0x77, 0xad, 0xf2, 0xb1, 0x0f, 0x65, 0x14, 0xf0, 0x50, 0x9f, 0x53, 0xc9, - 0x1e, 0x49, 0xa6, 0xf6, 0x59, 0xb3, 0x97, 0x67, 0x82, 0xef, 0x83, 0xa3, 0x64, 0xa9, 0xa7, 0x6f, - 0xb3, 0xaf, 0x5e, 0xad, 0x4f, 0x1f, 0xca, 0x3c, 0x5b, 0x6d, 0xfa, 0xe3, 0x7a, 0x3c, 0x9d, 0x5b, - 0x57, 0xda, 0x03, 0xe2, 0x95, 0xf4, 0x53, 0x81, 0x0f, 0x3e, 0x59, 0x8d, 0xde, 0x19, 0x2d, 0x8d, - 0x38, 0xb1, 0xb9, 0x33, 0x03, 0xb5, 0xe7, 0xc5, 0x6d, 0xfc, 0x6d, 0x5b, 0x66, 0x3b, 0xb1, 0x2a, - 0xcb, 0xf0, 0x3f, 0x57, 0x2e, 0x29, 0xec, 0x58, 0x88, 0xca, 0x84, 0xb2, 0x32, 0xfe, 0x11, 0x35, - 0x7d, 0x87, 0x7c, 0x11, 0x11, 0x00, 0x0b, 0x9a, 0xac, 0x64, 0x0a, 0x12, 0xe5, 0x83, 0xde, 0xfd, - 0x9e, 0xbe, 0x50, 0xd9, 0x47, 0x29, 0x13, 0x90, 0xa6, 0x43, 0x69, 0x0a, 0x43, 0x3d, 0x2f, 0x57, - 0xa5, 0x1c, 0x00, 0x9a, 0x1c, 0x03, 0xb5, 0xfb, 0xd5, 0x0f, 0xcd, 0x45, 0xb3, 0xd2, 0xe2, 0x1d, - 0x4b, 0x85, 0xa1, 0x1a, 0xde, 0xd2, 0x8d, 0xb3, 0x4a, 0xe4, 0x04, 0x5b, 0x9a, 0xe7, 0x01, 0x99, - 0x94, 0x9b, 0xd2, 0x95, 0xfc, 0x28, 0x3d, 0x3c, 0x2a, 0x0f, 0xee, 0x5e, 0x9b, 0x43, 0x78, 0x20, - 0x2d, 0x90, 0xce, 0x89, 0xcd, 0x67, 0xe3, 0x09, 0xa1, 0xde, 0x4e, 0x53, 0x47, 0x6b, 0xf7, 0x9b, - 0xbe, 0x0d, 0x95, 0xb0, 0xe9, 0x43, 0x5d, 0xc7, 0x28, 0x6d, 0x1c, 0x42, 0x2f, 0xb6, 0x8d, 0x6a, - 0xb6, 0x29, 0x6f, 0xef, 0xf9, 0xb0, 0x99, 0xe0, 0x64, 0x3c, 0xd4, 0x2c, 0x3c, 0xf0, 0xbd, 0x2f, - 0xe6, 0x12, 0x12, 0x24, 0x21, 0x2f, 0xc4, 0xa4, 0x10, 0x65, 0xfc, 0xe5, 0x93, 0xa1, 0x5b, 0xea, - 0xcf, 0x71, 0xfd, 0xb0, 0x1f, 0x92, 0xa8, 0x66, 0xbc, 0x76, 0xe7, 0x84, 0x7b, 0x19, 0xa7, 0xc6, - 0x0c, 0xbf, 0x94, 0x6f, 0x45, 0xf7, 0x56, 0x0d, 0x5b, 0x3a, 0xb9, 0xab, 0xb3, 0x36, 0xe3, 0x20, - 0xee, 0xce, 0xf5, 0x4b, 0x14, 0x69, 0xe5, 0xa5, 0xd6, 0xcd, 0x33, 0x3b, 0x48, 0xf0, 0x9b, 0x31, - 0xfc, 0x04, 0x67, 0x2b, 0xf8, 0x95, 0x5d, 0x0d, 0x9f, 0x40, 0xf2, 0xa3, 0xe9, 0x0f, 0x0d, 0x23, - 0xca, 0xea, 0xb2, 0xfd, 0x2c, 0x36, 0xc7, 0x5a, 0xe8, 0x13, 0x03, 0x5b, 0xa6, 0x54, 0xf0, 0x72, - 0x6a, 0xca, 0x07, 0xdf, 0xce, 0x07, 0x8d, 0x40, 0x1c, 0xb7, 0xf9, 0x74, 0x4f, 0x78, 0x0e, 0xfd, - 0xf9, 0x51, 0x9f, 0xa1, 0xcc, 0xe6, 0xec, 0x52, 0x59, 0xbe, 0x9b, 0x7f, 0x5d, 0xd3, 0x25, 0x70, - 0x09, 0x8b, 0x23, 0xdf, 0x03, 0xf2, 0x53, 0x6a, 0xf9, 0x49, 0xdf, 0x01, 0x5e, 0x24, 0x15, 0x3c, - 0x14, 0x81, 0xb3, 0x3e, 0x62, 0x7a, 0xe0, 0x43, 0x12, 0x39, 0xa4, 0x95, 0xf7, 0x17, 0xf1, 0x9a, - 0x9d, 0x9a, 0xf2, 0xba, 0x46, 0x88, 0x0c, 0x1f, 0xe5, 0x04, 0x8a, 0x8f, 0xaf, 0x62, 0xe1, 0xb2, - 0x61, 0xa0, 0x04, 0xa6, 0xdc, 0x22, 0xa7, 0x02, 0x73, 0x98, 0xb4, 0xb0, 0x07, 0x46, 0x66, 0x50, - 0xc9, 0x03, 0x63, 0x2d, 0x43, 0x5d, 0x87, 0x7b, 0xab, 0x69, 0x50, 0x70, 0x14, 0x80, 0xc3, 0x8a, - 0xd4, 0xe2, 0x73, 0x85, 0x62, 0x70, 0x90, 0xc1, 0x7e, 0x3a, 0x73, 0x58, 0x0b, 0x1b, 0x5c, 0xd0, - 0xfa, 0xcd, 0x11, 0x24, 0x04, 0x26, 0x38, 0x5d, 0xe6, 0x3a, 0x1b, 0xd8, 0x64, 0xeb, 0xf3, 0xb9, - 0x10, 0x32, 0x76, 0xc9, 0x1b, 0xfe, 0xcf, 0x77, 0x07, 0x07, 0xcc, 0x17, 0x37, 0x8b, 0xbe, 0x7a, - 0x66, 0x32, 0x48, 0x53, 0xc2, 0x30, 0xeb, 0xc6, 0xeb, 0x00, 0x01, 0xaa, 0xa3, 0x14, 0xeb, 0x90, - 0xf3, 0x59, 0x09, 0x1d, 0x3f, 0x8a, 0xa9, 0xda, 0x39, 0xdb, 0x07, 0xf2, 0x90, 0xb0, 0xc3, 0xf5, - 0x73, 0xc2, 0xae, 0x46, 0x47, 0x0b, 0xe9, 0x93, 0x15, 0x0c, 0x0c, 0xe4, 0x5d, 0xf6, 0x23, 0x67, - 0xf7, 0x91, 0x45, 0x18, 0xc0, 0xb7, 0xe2, 0xf6, 0x2a, 0xa2, 0x00, 0x2c, 0x67, 0xfb, 0x82, 0xbc, - 0x83, 0x96, 0xce, 0x25, 0x9d, 0x46, 0x43, 0xa7, 0x7e, 0xaa, 0x5f, 0xc9, 0x8e, 0x2c, 0x80, 0xdb, - 0x30, 0x2d, 0x13, 0xd6, 0x48, 0x7e, 0xe0, 0x21, 0xf4, 0x65, 0x99, 0x0c, 0x25, 0x1c, 0xb4, 0xfa, - 0x49, 0x7e, 0x76, 0xed, 0xa5, 0xae, 0x45, 0x79, 0x0a, 0xa8, 0x9c, 0xcd, 0x0e, 0x59, 0x4e, 0x09, - 0xf7, 0xe6, 0xc2, 0x53, 0x5a, 0x21, 0x34, 0x7c, 0x78, 0x3f, 0xac, 0x0e, 0xd4, 0xb9, 0x1c, 0x17, - 0x87, 0x87, 0x05, 0x10, 0x8c, 0x1f, 0x9f, 0x28, 0x0a, 0x04, 0x4e, 0xfe, 0x35, 0x43, 0xb6, 0x85, - 0x0f, 0x38, 0x2d, 0x3a, 0x3d, 0x84, 0xab, 0x6b, 0xda, 0xf1, 0x4c, 0xe4, 0xa8, 0x26, 0xa1, 0x77, - 0x5d, 0xe5, 0x24, 0x58, 0x4a, 0x4a, 0xa5, 0xf5, 0x4d, 0x81, 0x29, 0x9a, 0x99, 0x02, 0xa4, 0xc6, - 0xc5, 0x63, 0x70, 0x52, 0xf8, 0x72, 0xa1, 0xcc, 0x54, 0x1e, 0x18, 0xc9, 0xea, 0x37, 0x24, 0xf4, - 0xfe, 0x59, 0x97, 0xa7, 0x33, 0x2b, 0xa3, 0xed, 0x9f, 0x95, 0x01, 0x1a, 0xe6, 0x56, 0xc1, 0xbb, - 0x4e, 0x12, 0xa5, 0x3f, 0x31, 0xf4, 0x6e, 0x42, 0x80, 0x37, 0x09, 0xe9, 0x8f, 0xa4, 0x6c, 0x13, - 0xb0, 0xf1, 0x54, 0xcd, 0x97, 0x91, 0xe0, 0x5b, 0x1b, 0x0c, 0x7b, 0x36, 0xbe, 0xa2, 0x5b, 0x31, - 0xca, 0x1a, 0x3a, 0x62, 0x13, 0x9b, 0xe6, 0xfd, 0x88, 0xc7, 0xf4, 0x51, 0x79, 0x4b, 0x6e, 0x30, - 0x51, 0x1c, 0xf0, 0x83, 0x4f, 0xd3, 0xa8, 0xdd, 0xc5, 0x72, 0x17, 0x5a, 0xab, 0x30, 0xc7, 0x3b, - 0xa6, 0xd4, 0xda, 0x0a, 0x5e, 0xc9, 0x4b, 0xe8, 0x0d, 0xfd, 0x40, 0x51, 0x3f, 0xdf, 0x49, 0x92, - 0x6c, 0x01, 0x92, 0x56, 0xfe, 0xfa, 0x8c, 0xf4, 0x9a, 0xe5, 0xaa, 0x7b, 0xd3, 0xf6, 0xe9, 0xba, - 0xf4, 0x0a, 0x0e, 0x34, 0xd4, 0x95, 0x61, 0xcb, 0xcc, 0x3a, 0xf3, 0x1c, 0xe3, 0xee, 0x9e, 0x8a, - 0x1a, 0x79, 0xf1, 0xcd, 0x6e, 0x42, 0x39, 0xd0, 0xdb, 0x18, 0x2e, 0xc6, 0x4f, 0x04, 0x40, 0xde, - 0xc5, 0x3a, 0xbc, 0xb8, 0x8c, 0x0d, 0x85, 0xd8, 0x8d, 0x6e, 0xd9, 0xe7, 0x40, 0xa5, 0x32, 0x12, - 0xcd, 0x10, 0xcb, 0x2e, 0x5b, 0x08, 0xcb, 0xc7, 0x1e, 0x8f, 0xa1, 0xe0, 0x05, 0x94, 0x79, 0xfe, - 0xd3, 0x6e, 0xc8, 0xc6, 0xd0, 0xd7, 0x6f, 0x6e, 0xa1, 0x44, 0xc6, 0xfd, 0xee, 0x44, 0x65, 0x74, - 0x7b, 0x32, 0xe1, 0x9f, 0xf8, 0x8a, 0x0b, 0xd1, 0x61, 0x09, 0x55, 0x6f, 0x60, 0xa1, 0x58, 0x4c, - 0x73, 0x3f, 0x5d, 0x6a, 0x9c, 0x61, 0x28, 0x7f, 0x50, 0xf8, 0xdd, 0x93, 0x50, 0x6d, 0x0e, 0x78, - 0xb2, 0x18, 0x31, 0x86, 0x40, 0xae, 0xd7, 0xe5, 0xed, 0x3c, 0x7b, 0x11, 0x3c, 0x4e, 0x4e, 0xad, - 0xa9, 0x99, 0x65, 0x1d, 0x59, 0x9f, 0xad, 0xc4, 0x35, 0x90, 0xa7, 0xf7, 0x24, 0xae, 0x8d, 0xf7, - 0x47, 0xf8, 0xa5, 0xc7, 0xde, 0x36, 0x24, 0x1b, 0x30, 0xf0, 0x8f, 0x0d, 0x56, 0xe2, 0xca, 0x1d, - 0xc1, 0xb3, 0x30, 0x76, 0x4a, 0xe3, 0x91, 0x7d, 0x32, 0xdd, 0xb9, 0xf8, 0x94, 0xd2, 0xce, 0xd4, - 0x76, 0x66, 0xc9, 0x23, 0xb1, 0xc3, 0xbe, 0x00, 0xd3, 0x37, 0x08, 0x78, 0x53, 0x2f, 0x5e, 0x26, - 0xd8, 0xd1, 0x91, 0x48, 0x8a, 0x9e, 0x79, 0x70, 0x94, 0x33, 0xd8, 0x0e, 0xb1, 0x70, 0x3b, 0x6a, - 0xc4, 0x25, 0x90, 0x91, 0x7b, 0x13, 0xbe, 0x0a, 0x61, 0xe8, 0x4b, 0x42, 0x21, 0x8a, 0x3b, 0x40, - 0x15, 0x22, 0xe5, 0x93, 0xfe, 0x2e, 0xb1, 0x46, 0x00, 0x54, 0x08, 0xc4, 0x81, 0x05, 0x46, 0x42, - 0xc6, 0xbc, 0x5f, 0xb7, 0x9f, 0xcb, 0x65, 0xb4, 0xb4, 0x6d, 0xee, 0x6a, 0xa6, 0x0e, 0xdf, 0x3e, - 0x67, 0x5a, 0xf2, 0x79, 0x81, 0x00, 0x42, 0xd4, 0xda, 0x57, 0x8a, 0x4f, 0x85, 0x0b, 0x61, 0xed, - 0x6d, 0xd8, 0xbc, 0x55, 0x12, 0x31, 0x4a, 0x01, 0xaa, 0x28, 0xb0, 0xdd, 0x85, 0xc9, 0xe6, 0x19, - 0x2e, 0x66, 0x42, 0xb1, 0x69, 0xdf, 0x0e, 0x3e, 0xa8, 0x22, 0xd8, 0xaf, 0x28, 0x7e, 0x32, 0x79, - 0x0d, 0xf9, 0x8f, 0x52, 0x55, 0x1f, 0x85, 0x50, 0x81, 0x35, 0x7a, 0xe9, 0x79, 0xae, 0xe5, 0x08, - 0x3c, 0x42, 0xd7, 0xb4, 0x05, 0x9a, 0xba, 0x8b, 0xb2, 0x1c, 0x7c, 0x2a, 0x32, 0xc1, 0x88, 0x12, - 0x8f, 0x67, 0xab, 0x93, 0xdb, 0xe9, 0x76, 0xe5, 0x9a, 0xf9, 0x90, 0x1a, 0xeb, 0x7e, 0x88, 0x3d, - 0x21, 0xd9, 0x4c, 0x76, 0x8b, 0x9e, 0x74, 0x42, 0x1f, 0xdf, 0x3e, 0x33, 0x64, 0xbb, 0x00, 0x19, - 0x2e, 0xf6, 0x35, 0x8a, 0x53, 0xe5, 0xee, 0x02, 0x5e, 0xb0, 0x42, 0x61, 0x3b, 0x48, 0xbf, 0x32, - 0xbc, 0xdf, 0x8e, 0xcd, 0xed, 0x66, 0x87, 0xa3, 0xab, 0x75, 0x81, 0x14, 0xe5, 0x72, 0xc6, 0x9a, - 0x89, 0xff, 0x85, 0xb6, 0xf8, 0xca, 0xd2, 0xa7, 0x5a, 0xd3, 0xc9, 0xa3, 0x5b, 0x21, 0x82, 0x4d, - 0xc8, 0x24, 0x5c, 0x8a, 0x0f, 0x72, 0xab, 0xcc, 0x27, 0x6b, 0x4e, 0x46, 0x71, 0xb0, 0xfd, 0x27, - 0xc7, 0x0f, 0x10, 0x66, 0x97, 0xd6, 0x05, 0x49, 0x46, 0x38, 0x3a, 0x17, 0xf6, 0x25, 0xa4, 0x5a, - 0x2d, 0x69, 0xd0, 0xe7, 0xd3, 0x04, 0x15, 0x91, 0x51, 0x23, 0xfc, 0x2a, 0xfe, 0x4f, 0x75, 0xeb, - 0x6f, 0xed, 0xfe, 0x5c, 0x4e, 0xf6, 0xa8, 0xe6, 0x52, 0x91, 0x14, 0x5c, 0x60, 0xa4, 0x33, 0x3b, - 0x55, 0xed, 0x90, 0xd1, 0x3f, 0x39, 0xbc, 0x5b, 0x5c, 0x01, 0x7f, 0x2a, 0x50, 0x01, 0xaf, 0xd8, - 0x18, 0xf5, 0xea, 0x39, 0xe1, 0xf5, 0x73, 0xbc, 0x16, 0xdf, 0x56, 0x91, 0xef, 0xab, 0x14, 0x45, - 0x3c, 0x34, 0x66, 0x20, 0x5c, 0xb6, 0x8e, 0xbe, 0xdd, 0x04, 0x2d, 0x16, 0xb2, 0xf1, 0xf0, 0x7e, - 0x77, 0x52, 0x59, 0x8b, 0x6d, 0x32, 0x9f, 0x72, 0xf8, 0xd8, 0xb7, 0xed, 0xf0, 0xb8, 0x1e, 0xfb, - 0x9d, 0x69, 0xce, 0xe5, 0x6e, 0xda, 0x0a, 0x40, 0x18, 0xaa, 0x34, 0xaf, 0xc7, 0xda, 0xff, 0x14, - 0xdf, 0x18, 0xf0, 0x4d, 0x5d, 0x07, 0xf3, 0x99, 0x11, 0x83, 0x37, 0x30, 0xf6, 0x2d, 0xa6, 0xff, - 0x7e, 0xd0, 0xf8, 0xdd, 0xdc, 0x20, 0x88, 0xd2, 0xe4, 0xdf, 0x87, 0xe8, 0x4a, 0x79, 0x3f, 0xde, - 0x3a, 0x6b, 0x42, 0x35, 0x1e, 0x12, 0x36, 0x68, 0x91, 0x2c, 0x0d, 0xc7, 0xfb, 0x64, 0x3d, 0xad, - 0xb2, 0xf9, 0x57, 0x10, 0x74, 0xf6, 0x9b, 0x9f, 0x31, 0xfb, 0x08, 0x27, 0x16, 0x96, 0xc7, 0x3d, - 0x6d, 0xf5, 0xb9, 0x88, 0x12, 0xcb, 0x95, 0x27, 0x94, 0x45, 0x6d, 0x98, 0xe1, 0x96, 0xd2, 0xd1, - 0x50, 0x7c, 0x3f, 0xcf, 0xce, 0x05, 0x3c, 0xe4, 0x67, 0x9c, 0x69, 0x75, 0x62, 0x66, 0xc5, 0x19, - 0xe5, 0x47, 0x35, 0xcd, 0x9a, 0xac, 0xae, 0xeb, 0xbf, 0x6c, 0x47, 0xb7, 0x79, 0x31, 0xc7, 0x7e, - 0xf2, 0xe8, 0xa1, 0xb5, 0xb0, 0xfc, 0xfa, 0x0c, 0x8c, 0xa9, 0xb6, 0xd4, 0x24, 0x98, 0x76, 0x5b, - 0xc0, 0xbb, 0xcb, 0x28, 0x2f, 0xc3, 0xa5, 0xa8, 0xca, 0xdb, 0x0b, 0x00, 0x4f, 0xea, 0x14, 0x91, - 0x93, 0x7c, 0x2b, 0xe6, 0xa3, 0x35, 0xd2, 0xa4, 0x8f, 0x45, 0x27, 0x7e, 0xac, 0x00, 0x1f, 0xf1, - 0xfe, 0x01, 0x81, 0x3a, 0xb1, 0xb9, 0x49, 0x13, 0xad, 0xf8, 0x3d, 0x35, 0x1a, 0x39, 0x29, 0x4e, - 0xca, 0x1e, 0x1e, 0x0e, 0x9f, 0x4a, 0xc0, 0xf2, 0xab, 0x89, 0x87, 0xb1, 0xcf, 0x15, 0x1b, 0x8b, - 0x41, 0xf2, 0xb9, 0x20, 0x7b, 0xd4, 0x92, 0x4d, 0xbd, 0x34, 0x1a, 0x28, 0xb4, 0xd6, 0xcd, 0xc3, - 0xe5, 0x9e, 0x08, 0x7e, 0x26, 0xe4, 0xa6, 0xc9, 0x30, 0x99, 0xae, 0x09, 0x0e, 0x4e, 0x07, 0x7f, - 0xa3, 0x7d, 0x10, 0x1f, 0x4b, 0x7d, 0xfa, 0x84, 0xd1, 0xf0, 0x26, 0x78, 0xef, 0x9e, 0x98, 0xe9, - 0x42, 0xd5, 0x0a, 0x1e, 0x32, 0x0c, 0x3a, 0x1a, 0x2a, 0xd1, 0x6b, 0x11, 0xd5, 0x51, 0xd7, 0xbb, - 0x9e, 0xf8, 0xb1, 0x63, 0xd8, 0xe2, 0x0d, 0x62, 0x56, 0xd4, 0x65, 0x25, 0xb2, 0x4a, 0x83, 0xf5, - 0x8e, 0x7f, 0x21, 0xe8, 0x08, 0xa9, 0xfb, 0x7f, 0xd3, 0xe8, 0x4c, 0x02, 0x0d, 0x63, 0xd5, 0xc5, - 0xdb, 0x2f, 0x6d, 0x92, 0x62, 0x0c, 0x39, 0x8d, 0xf0, 0x90, 0x93, 0x62, 0xdf, 0xdf, 0x95, 0x8c, - 0x30, 0xf3, 0xdd, 0x6c, 0x5c, 0x77, 0x4a, 0xac, 0x1a, 0x53, 0x96, 0x86, 0x9b, 0x01, 0x01, 0x92, - 0xf1, 0x4b, 0xab, 0x5a, 0x2b, 0xfa, 0xec, 0x6b, 0x70, 0xca, 0x28, 0xbf, 0x6d, 0x27, 0x38, 0xdb, - 0x8a, 0x32, 0x29, 0x14, 0x8c, 0x86, 0xf5, 0x2d, 0xcc, 0x59, 0xc9, 0xbd, 0x28, 0xe8, 0xb8, 0x77, - 0x3d, 0xca, 0x1f, 0x2d, 0xda, 0x4c, 0x34, 0x50, 0x4b, 0xef, 0x2d, 0xe4, 0xe2, 0x46, 0x71, 0x00, - 0x88, 0x9e, 0x6c, 0x39, 0x34, 0xef, 0xe4, 0xa2, 0xe6, 0x3d, 0xe1, 0xc1, 0x3c, 0x6f, 0xde, 0xb9, - 0xf7, 0xfd, 0x44, 0xc7, 0xb6, 0xbc, 0xdf, 0xfe, 0x10, 0x92, 0x4c, 0x7a, 0x7c, 0xb7, 0x51, 0x13, - 0x8c, 0x4c, 0x11, 0x87, 0x14, 0x79, 0x3c, 0x27, 0xcd, 0xc2, 0x3a, 0x7d, 0x62, 0xe8, 0x91, 0xe5, - 0x58, 0x99, 0x91, 0xa2, 0xb6, 0x2f, 0xe0, 0x2d, 0xb5, 0x04, 0xa2, 0x6b, 0x91, 0xb0, 0x76, 0x36, - 0x8a, 0x47, 0x96, 0x66, 0x7e, 0xcc, 0xdc, 0xac, 0x89, 0xac, 0xa3, 0x73, 0x48, 0xa8, 0x0a, 0x6d, - 0xf8, 0xe7, 0xd9, 0xa7, 0x87, 0xa0, 0x94, 0x5c, 0x93, 0x11, 0x05, 0x3c, 0xeb, 0xb4, 0x15, 0xbf, - 0x32, 0xc6, 0x45, 0xe0, 0xd0, 0x15, 0xb9, 0x52, 0x1e, 0xe3, 0xed, 0x87, 0x1e, 0xae, 0xd4, 0x38, - 0x4e, 0xc1, 0x1e, 0x2f, 0xa8, 0x9d, 0xc0, 0x3f, 0x74, 0x9c, 0x68, 0x7e, 0xdc, 0x3a, 0xd5, 0x81, - 0xcd, 0x31, 0xc9, 0x90, 0x74, 0x19, 0xe7, 0xff, 0xdb, 0xc1, 0xaf, 0xf3, 0xf2, 0x3f, 0x20, 0xf2, - 0xe3, 0x4e, 0xbd, 0x2f, 0x80, 0xf3, 0xe4, 0x41, 0xa6, 0x27, 0x1a, 0xa0, 0x31, 0xfc, 0xa7, 0x60, - 0x61, 0xf5, 0xbb, 0xf8, 0x33, 0xd6, 0xb6, 0x4e, 0x90, 0x0e, 0x99, 0xbd, 0xfb, 0xe4, 0x4a, 0xbf, - 0x11, 0x43, 0x6a, 0x7f, 0x5d, 0x7f, 0xda, 0xf7, 0xd2, 0x7d, 0xca, 0x7e, 0x86, 0x47, 0x5e, 0x35, - 0x3a, 0xe6, 0x16, 0x79, 0xdd, 0x81, 0x10, 0x6f, 0x8e, 0xf8, 0x92, 0x11, 0x44, 0xfb, 0x67, 0x3d, - 0x58, 0xbc, 0xcb, 0x45, 0x71, 0xbb, 0x0a, 0x88, 0x7a, 0x2b, 0xef, 0xf4, 0x56, 0x79, 0x8c, 0x29, - 0xf4, 0x51, 0x9b, 0xb0, 0x15, 0x51, 0xbe, 0x43, 0x55, 0x82, 0x54, 0x15, 0xe3, 0xa2, 0xfa, 0x2d, - 0x83, 0x87, 0x21, 0x5a, 0x69, 0x2d, 0x3a, 0x6f, 0x2f, 0x29, 0x4f, 0x59, 0xd5, 0x6e, 0x2b, 0x6a, - 0x7f, 0xaa, 0xae, 0x8e, 0xce, 0x92, 0xb3, 0xa6, 0x5d, 0x75, 0x8c, 0xeb, 0x9a, 0x2e, 0xe1, 0x23, - 0x04, 0x3d, 0x8e, 0x03, 0x84, 0x9b, 0xb8, 0xf0, 0x26, 0xd7, 0x6a, 0xab, 0x71, 0xfa, 0x64, 0xb0, - 0x1a, 0x63, 0x36, 0xf7, 0x14, 0x1d, 0x0e, 0x7a, 0x2a, 0x30, 0x49, 0x33, 0x26, 0xd4, 0x4b, 0x29, - 0xff, 0x82, 0xbb, 0x16, 0xa6, 0x34, 0x7c, 0x40, 0x80, 0xe5, 0xd2, 0x60, 0x11, 0x35, 0xe9, 0x7a, - 0x46, 0xc3, 0x70, 0x3b, 0x98, 0xa3, 0x4f, 0xc9, 0x28, 0x1d, 0x8a, 0xbf, 0x13, 0xe8, 0x69, 0x6a, - 0xde, 0xab, 0x80, 0x04, 0x48, 0x02, 0x11, 0x78, 0xde, 0x41, 0xf3, 0xf5, 0xe1, 0x7d, 0x83, 0x7f, - 0x8d, 0xd4, 0x39, 0x9b, 0x95, 0x2b, 0x76, 0x9b, 0xd4, 0xd7, 0x35, 0x28, 0x54, 0x7a, 0x39, 0xd4, - 0xd8, 0x8b, 0x11, 0xea, 0x57, 0x0a, 0xb9, 0x7a, 0xa8, 0x08, 0xe4, 0xd1, 0xd8, 0x97, 0x37, 0xfd, - 0xb5, 0xe3, 0xe3, 0x86, 0xb4, 0xcc, 0xe0, 0xdb, 0x14, 0x03, 0xaa, 0x40, 0x93, 0x00, 0x8c, 0xbf, - 0xc2, 0xec, 0x1f, 0x1a, 0x51, 0x60, 0xc6, 0x29, 0x43, 0xdd, 0xc0, 0x70, 0xa9, 0xc7, 0xa8, 0x5f, - 0xbc, 0xe6, 0xe9, 0xb2, 0xba, 0x1b, 0x4c, 0xab, 0x5e, 0x6d, 0xd8, 0xeb, 0x19, 0x7e, 0x6f, 0xa4, - 0xb2, 0xd2, 0x55, 0x91, 0x92, 0x9c, 0xf6, 0x32, 0x90, 0x7a, 0xf1, 0xe2, 0x2a, 0x5a, 0xaf, 0x49, - 0x2a, 0xbf, 0x5d, 0x60, 0x3a, 0x99, 0x85, 0x8a, 0x54, 0x13, 0x60, 0x37, 0x82, 0xbe, 0xab, 0xb4, - 0x6b, 0x35, 0xa4, 0xe1, 0xad, 0x57, 0xbb, 0x00, 0x39, 0x6c, 0x23, 0x4b, 0x43, 0x82, 0x23, 0x35, - 0xe5, 0xba, 0x8a, 0x88, 0x25, 0x56, 0xa8, 0xac, 0xdf, 0xda, 0xe2, 0x84, 0x2e, 0x06, 0x7f, 0xcb, - 0xaf, 0xd5, 0x92, 0xa0, 0x45, 0xb5, 0x46, 0xb5, 0x7a, 0x2e, 0x3b, 0xba, 0x95, 0x91, 0x00, 0x4a, - 0x29, 0xa7, 0xc7, 0x19, 0xf8, 0xea, 0x22, 0xd7, 0x09, 0x04, 0x76, 0x5c, 0x2b, 0x6d, 0x16, 0x38, - 0xad, 0xc2, 0x04, 0x9a, 0xc5, 0x9b, 0xb7, 0x33, 0x0d, 0x66, 0xc3, 0xd6, 0x1a, 0xfc, 0x4a, 0x2d, - 0xf1, 0xbb, 0xe4, 0x45, 0x50, 0xe2, 0x69, 0xe8, 0x50, 0x31, 0x25, 0x37, 0x6c, 0xdd, 0x86, 0xcc, - 0xe2, 0x21, 0x14, 0x84, 0x51, 0x22, 0x5c, 0x8f, 0xb8, 0x76, 0x23, 0xf3, 0x5f, 0x50, 0x28, 0xad, - 0xef, 0x6d, 0xb5, 0x50, 0x06, 0x7c, 0xca, 0xbe, 0xca, 0xff, 0x35, 0x24, 0x5d, 0x31, 0xe2, 0x21, - 0xc9, 0x8c, 0x4c, 0x43, 0x06, 0x3b, 0x67, 0x3c, 0xbd, 0x0d, 0x95, 0x23, 0x4a, 0x98, 0x99, 0x34, - 0xd9, 0x20, 0xa3, 0x17, 0x17, 0xbe, 0x7a, 0x07, 0x06, 0xd6, 0x5e, 0xcf, 0x04, 0x60, 0x1f, 0xbc, - 0x14, 0xca, 0x2c, 0xc4, 0x48, 0x0a, 0x1c, 0x78, 0xd8, 0xe1, 0x55, 0xe1, 0x04, 0x1b, 0xde, 0x8f, - 0xaf, 0x36, 0x20, 0x25, 0xa5, 0x1b, 0xa6, 0x46, 0xd4, 0x2a, 0x6d, 0x0d, 0xa2, 0xfd, 0x18, 0x54, - 0x7c, 0x50, 0x93, 0x31, 0x37, 0x48, 0xb1, 0x69, 0xdc, 0x5f, 0xdb, 0x24, 0x28, 0xea, 0xf1, 0xc4, - 0x4d, 0xc6, 0xf7, 0x26, 0x3c, 0xcf, 0x45, 0xeb, 0x25, 0x6a, 0x0b, 0x8e, 0x63, 0xc0, 0x13, 0xcf, - 0xd5, 0xa6, 0xc1, 0x71, 0x3d, 0x81, 0xdb, 0x73, 0x41, 0x0a, 0x64, 0xf7, 0xfe, 0xbc, 0x12, 0x51, - 0x66, 0xd6, 0x0b, 0xbe, 0x69, 0xa7, 0x0f, 0x2d, 0xe1, 0x48, 0x7f, 0x17, 0xd2, 0x49, 0x88, 0x6d, - 0xe5, 0x21, 0x2d, 0xe1, 0x49, 0x5b, 0x9d, 0x51, 0xff, 0xfe, 0x50, 0x70, 0xb2, 0x08, 0xa0, 0x8b, - 0xc7, 0xd9, 0xa0, 0x50, 0xe1, 0xec, 0xcb, 0xfd, 0xc1, 0xe4, 0x66, 0x54, 0x46, 0x62, 0xfc, 0xd5, - 0xe4, 0x46, 0x6f, 0xc5, 0x24, 0xfb, 0x38, 0x43, 0x46, 0x4d, 0xa0, 0x3c, 0xdf, 0x21, 0x64, 0x79, - 0x37, 0x3b, 0x12, 0xd5, 0xc6, 0x83, 0xe6, 0x28, 0xbc, 0xda, 0x5a, 0xef, 0x8c, 0xf0, 0xb3, 0x35, - 0x71, 0x93, 0xc8, 0x7a, 0x6f, 0xc9, 0x15, 0x54, 0x5d, 0x00, 0xc5, 0x8b, 0x39, 0x06, 0xe6, 0x9c, - 0x82, 0xf9, 0x74, 0x97, 0x72, 0xa9, 0xfb, 0x19, 0xb5, 0x5d, 0xbb, 0x32, 0x70, 0x11, 0xf7, 0xfe, - 0x73, 0x21, 0xd4, 0xc9, 0x4d, 0x83, 0x12, 0x9c, 0xcc, 0xcf, 0x6d, 0xbf, 0x24, 0xa1, 0xf5, 0xc9, - 0xb0, 0x51, 0x4b, 0x60, 0xb3, 0x92, 0x3a, 0x1f, 0x44, 0x5f, 0x78, 0xab, 0xb5, 0xfe, 0xf5, 0xce, - 0x21, 0x90, 0x25, 0xae, 0x6d, 0xe7, 0x2e, 0x7e, 0x4d, 0x30, 0xcc, 0x87, 0xc0, 0x9d, 0xf6, 0xe6, - 0x06, 0x21, 0x6d, 0x09, 0xf1, 0x83, 0x37, 0xa9, 0x5f, 0xe9, 0x92, 0x15, 0xbf, 0x9b, 0xa3, 0xcd, - 0xda, 0x9d, 0xe0, 0x96, 0xd1, 0x77, 0x9e, 0x1f, 0x58, 0xcc, 0xf3, 0x9b, 0x21, 0x5d, 0x84, 0x99, - 0x44, 0xa9, 0x24, 0xcf, 0xa0, 0x28, 0x90, 0x1a, 0xb4, 0xb6, 0xd6, 0x2b, 0x4a, 0x0d, 0xf6, 0x44, - 0x55, 0x46, 0xe1, 0x8c, 0xce, 0x3d, 0x63, 0xf3, 0x5e, 0xb8, 0x0e, 0xb4, 0x93, 0x9b, 0x5b, 0x50, - 0xdb, 0x61, 0x32, 0x46, 0x3e, 0x53, 0x1c, 0xb9, 0x8c, 0x91, 0xff, 0xee, 0x14, 0x5a, 0xac, 0x22, - 0x7c, 0x0e, 0xa7, 0x2b, 0x62, 0x75, 0x68, 0x19, 0x21, 0xba, 0xc8, 0xe1, 0x84, 0xd5, 0x91, 0x04, - 0x58, 0x0a, 0x9a, 0xa2, 0x8b, 0xd8, 0x74, 0x2e, 0xf3, 0xed, 0x26, 0x55, 0x15, 0x87, 0x31, 0xa0, - 0x48, 0x9c, 0xf7, 0x46, 0xf5, 0x09, 0x20, 0x06, 0xda, 0x5f, 0x60, 0x4a, 0x66, 0x92, 0xe3, 0x15, - 0xba, 0x28, 0xad, 0xce, 0xb4, 0x60, 0xe1, 0x5c, 0x85, 0xa6, 0xbf, 0x6e, 0xc2, 0x5c, 0x1b, 0x79, - 0xd8, 0x02, 0x72, 0x30, 0xba, 0xb6, 0xc6, 0xa3, 0x10, 0x36, 0x03, 0x9f, 0x6f, 0x18, 0x08, 0x64, - 0xa4, 0x1a, 0x46, 0x1d, 0x67, 0x7c, 0xfd, 0x78, 0xe0, 0xcd, 0xae, 0xc8, 0x14, 0xa3, 0xf2, 0x5c, - 0x21, 0x04, 0x74, 0x23, 0x4d, 0x8a, 0x6c, 0x5c, 0x6d, 0xbf, 0x30, 0xca, 0xdd, 0xe0, 0xcd, 0x09, - 0x18, 0x0a, 0xcb, 0xb0, 0x7a, 0x53, 0x91, 0x2f, 0x91, 0x28, 0xa6, 0xff, 0x48, 0x98, 0x9e, 0x4b, - 0xcf, 0xc2, 0xf9, 0x6e, 0xea, 0x0e, 0xbc, 0x59, 0xa7, 0x20, 0x68, 0x1c, 0x16, 0x0b, 0x5c, 0xe8, - 0xb2, 0x72, 0x34, 0x4e, 0x5b, 0xaf, 0xaf, 0x9e, 0x30, 0xba, 0x5f, 0x4e, 0xdf, 0xca, 0x47, 0x48, - 0x7e, 0xc0, 0x90, 0xe2, 0xeb, 0x8e, 0x5b, 0xe2, 0xe9, 0x90, 0x06, 0x3e, 0x10, 0x3a, 0xaf, 0xaa, - 0x35, 0x31, 0xb0, 0x47, 0xf4, 0x58, 0x4b, 0xb2, 0xed, 0x97, 0x08, 0x94, 0xb7, 0x1a, 0xaf, 0xfc, - 0xae, 0x64, 0xb8, 0x52, 0xee, 0x4b, 0xf4, 0xd9, 0xd7, 0x8e, 0x2e, 0x82, 0x5e, 0xaf, 0x38, 0xc5, - 0x91, 0x94, 0x26, 0x57, 0xcf, 0x7c, 0xc9, 0x9c, 0xb9, 0x83, 0x0d, 0x1b, 0xdf, 0xa3, 0xd5, 0xb3, - 0x6e, 0x19, 0x79, 0x7e, 0x79, 0xbc, 0x27, 0x5e, 0x37, 0x4e, 0x9a, 0x11, 0xa8, 0xce, 0xe3, 0xb7, - 0xb9, 0x70, 0xef, 0x1b, 0xe9, 0x01, 0xf2, 0x9b, 0x6e, 0x08, 0x91, 0x1d, 0x40, 0x92, 0xa8, 0xb7, - 0x4e, 0x11, 0xd3, 0x1f, 0x1e, 0x32, 0x69, 0x50, 0xda, 0x3e, 0x82, 0x5d, 0x72, 0x14, 0x9d, 0xce, - 0xad, 0x6f, 0x91, 0xba, 0x95, 0x49, 0x3f, 0x04, 0xae, 0x48, 0x15, 0xe1, 0xfa, 0x94, 0x63, 0x62, - 0x75, 0xe2, 0xb5, 0x8d, 0xaf, 0x89, 0xa6, 0x87, 0x77, 0x65, 0x0c, 0x58, 0x7f, 0xc9, 0xe7, 0xf1, - 0xde, 0x3e, 0xf8, 0xc9, 0xf5, 0xe4, 0xd9, 0xd2, 0x4c, 0x15, 0xc0, 0x7e, 0xe0, 0xcc, 0x1f, 0x51, - 0x6a, 0x59, 0xd2, 0x86, 0x73, 0xc7, 0x90, 0xb9, 0xed, 0xcc, 0x90, 0xe2, 0xdc, 0x60, 0xb1, 0xa8, - 0x3b, 0x8a, 0xa0, 0xeb, 0x49, 0x21, 0x02, 0xbe, 0x44, 0x57, 0x3e, 0x18, 0x9c, 0x14, 0xc5, 0xb5, - 0x59, 0xa7, 0x60, 0xc1, 0x7e, 0x4e, 0x37, 0x88, 0xcc, 0xe1, 0x98, 0xc9, 0x8b, 0x50, 0x6c, 0x24, - 0x33, 0x3d, 0x26, 0xdf, 0x1c, 0x51, 0xb8, 0xae, 0xa2, 0x6f, 0x50, 0x2f, 0xc5, 0x47, 0x87, 0x33, - 0x22, 0x8a, 0xb7, 0xec, 0xfc, 0x95, 0xca, 0x19, 0xe0, 0x99, 0xa3, 0xcf, 0x7c, 0x16, 0xbb, 0xf0, - 0x52, 0x22, 0x82, 0x9f, 0xc3, 0xe6, 0x0c, 0x7c, 0x39, 0x82, 0x8c, 0x2c, 0x3d, 0x93, 0xf0, 0xc2, - 0xd2, 0x99, 0x1c, 0x4e, 0xfb, 0x0e, 0x32, 0x50, 0x0d, 0x4a, 0x47, 0x6b, 0x22, 0x91, 0xc2, 0x53, - 0xda, 0x00, 0x28, 0xc4, 0x4c, 0xe0, 0x8a, 0x92, 0x64, 0x08, 0x57, 0x99, 0xd5, 0x0f, 0x1c, 0x54, - 0x3e, 0x5a, 0x84, 0x32, 0x18, 0x91, 0xc4, 0x5d, 0x69, 0x4f, 0x25, 0xca, 0x8b, 0xbf, 0x8a, 0x28, - 0x09, 0x1f, 0x3c, 0x9f, 0x4c, 0x6f, 0xe3, 0xe8, 0x5b, 0x35, 0x21, 0x8c, 0xec, 0xc2, 0x5b, 0x46, - 0xdc, 0xa4, 0xcd, 0x7a, 0x6e, 0xa9, 0xa1, 0x7e, 0x43, 0x10, 0x3b, 0xd6, 0x69, 0x33, 0xfd, 0x70, - 0x0c, 0xd9, 0x26, 0xad, 0xb2, 0x73, 0x2f, 0xfd, 0x10, 0xa6, 0x5d, 0xc6, 0xf1, 0x66, 0xf2, 0x4b, - 0xd2, 0x03, 0x0a, 0x03, 0xf3, 0x21, 0x7f, 0xdd, 0x18, 0x4d, 0xe3, 0xe2, 0x02, 0xad, 0x17, 0xc4, - 0x6d, 0x03, 0x2b, 0xd9, 0x50, 0xf4, 0xe3, 0x10, 0x4d, 0x41, 0xf0, 0x5a, 0xaa, 0x64, 0x37, 0x08, - 0x53, 0x40, 0xac, 0xc1, 0x62, 0x7f, 0xe9, 0x6f, 0x37, 0x70, 0x5c, 0xc3, 0x21, 0x27, 0xbc, 0x87, - 0x1e, 0x8c, 0x91, 0xd0, 0x65, 0x36, 0x9b, 0x88, 0x19, 0x9b, 0xf2, 0xfd, 0x7c, 0x65, 0x0e, 0xb7, - 0x7b, 0xc3, 0xff, 0x07, 0x1f, 0x1e, 0x42, 0x47, 0x82, 0xbd, 0xe6, 0x8a, 0xcc, 0x7b, 0x95, 0x03, - 0x3f, 0xcb, 0xb0, 0xc3, 0x34, 0xe3, 0xed, 0x0d, 0x4f, 0x01, 0x95, 0x24, 0xba, 0x5a, 0x44, 0xa5, - 0xc2, 0x08, 0xb9, 0x3f, 0xb9, 0xc2, 0x70, 0xa6, 0x04, 0xaa, 0x03, 0xa4, 0x95, 0xec, 0x8b, 0x31, - 0xa9, 0x7e, 0xef, 0x53, 0x31, 0x2c, 0xed, 0x37, 0xf9, 0x16, 0x65, 0xee, 0xa9, 0x75, 0xc1, 0x32, - 0x05, 0x3a, 0xc0, 0x9b, 0x39, 0x60, 0x05, 0x1c, 0xc5, 0x05, 0xef, 0x6a, 0x26, 0xea, 0x85, 0x15, - 0xef, 0xf2, 0xab, 0x65, 0xac, 0xbf, 0x3c, 0x6b, 0xbf, 0xb0, 0xc0, 0x91, 0x71, 0xfd, 0x06, 0x47, - 0x87, 0xb5, 0xa0, 0x14, 0x2b, 0x64, 0xc7, 0x31, 0x5c, 0x71, 0xe6, 0xa8, 0xfb, 0xc7, 0xca, 0x02, - 0x38, 0x1d, 0x13, 0x77, 0x23, 0xa3, 0xc5, 0x43, 0xa1, 0x94, 0x68, 0xb4, 0xb3, 0x98, 0x4c, 0xaa, - 0x22, 0xf7, 0xbf, 0x95, 0x76, 0xfb, 0x5a, 0x52, 0xc7, 0x5d, 0x99, 0x3c, 0x40, 0x14, 0x26, 0x8b, - 0x1b, 0x37, 0x25, 0x33, 0xd1, 0xd5, 0x6c, 0x8e, 0x7f, 0x7e, 0xaf, 0x86, 0x13, 0x37, 0x21, 0x77, - 0xb2, 0xfa, 0x4a, 0x47, 0xd7, 0xbb, 0x60, 0xad, 0xee, 0x96, 0xe8, 0x49, 0x04, 0xf3, 0x16, 0xc3, - 0xc5, 0xe3, 0x4f, 0xc9, 0xca, 0x40, 0x5a, 0x1c, 0x47, 0xdb, 0xe7, 0xe5, 0xcb, 0x44, 0xc2, 0xf8, - 0xa3, 0x36, 0xb0, 0x27, 0xa0, 0x82, 0xe4, 0x87, 0xa6, 0x96, 0x6b, 0x11, 0x30, 0xf7, 0x1f, 0xfd, - 0x42, 0x0a, 0x55, 0x1e, 0x64, 0xe0, 0x5c, 0x9e, 0x50, 0xa5, 0x50, 0x0b, 0xbc, 0x97, 0x9a, 0x4e, - 0x16, 0xa2, 0x1e, 0x70, 0x1d, 0xd0, 0x20, 0x0f, 0x98, 0xa7, 0x77, 0x9d, 0xbc, 0xea, 0x1f, 0x16, - 0x47, 0x75, 0xee, 0xb4, 0x5a, 0x0f, 0x6c, 0xa8, 0x99, 0x39, 0x65, 0x98, 0x5e, 0xe6, 0x0a, 0x75, - 0x72, 0x83, 0x1b, 0xb6, 0x55, 0x6a, 0x53, 0x5e, 0x40, 0x42, 0x1d, 0x78, 0x85, 0xaa, 0xea, 0xc2, - 0xd2, 0x1e, 0x0d, 0x93, 0xb9, 0x3a, 0xca, 0xb6, 0x42, 0xaa, 0xf2, 0x09, 0x36, 0x46, 0x14, 0x7e, - 0xd1, 0x25, 0xb0, 0xcd, 0xf6, 0xb1, 0xda, 0xbe, 0xf0, 0xa5, 0x2c, 0x8b, 0x21, 0xc4, 0x07, 0xbb, - 0x7d, 0x41, 0xa0, 0x01, 0xdc, 0xd3, 0x20, 0x96, 0x5d, 0x6d, 0xff, 0x2f, 0x33, 0x7e, 0x5e, 0x23, - 0xf9, 0x00, 0x81, 0x85, 0x5c, 0xf6, 0x3e, 0x0c, 0xa7, 0x5f, 0x88, 0x03, 0x3a, 0xa8, 0x18, 0x0a, - 0x3a, 0xfb, 0xe8, 0xe8, 0x30, 0xe7, 0xbe, 0xa1, 0x8a, 0x6f, 0x2a, 0x75, 0xbf, 0x0e, 0xbc, 0xd3, - 0xbd, 0x3c, 0x25, 0xb0, 0x1e, 0xb4, 0x01, 0xe8, 0xe3, 0xd6, 0x02, 0xb4, 0x54, 0xe7, 0x45, 0x62, - 0x30, 0x5b, 0xfa, 0xab, 0x13, 0x3b, 0xd8, 0xa1, 0x23, 0xc1, 0xc5, 0x8f, 0xe9, 0x65, 0x78, 0x25, - 0xc4, 0xbf, 0xe4, 0x4b, 0x4c, 0x7a, 0x20, 0x57, 0x25, 0xdd, 0x90, 0x68, 0x3b, 0x60, 0x5c, 0x9f, - 0xe5, 0x87, 0xc4, 0xd9, 0xf5, 0xc8, 0xae, 0x23, 0x4c, 0x96, 0xb9, 0xcd, 0x1c, 0xfe, 0x62, 0xe1, - 0x09, 0xd9, 0x21, 0x66, 0x9a, 0xde, 0x50, 0xde, 0x26, 0x05, 0x5c, 0x52, 0x29, 0x8f, 0xfd, 0x33, - 0x4f, 0x1f, 0x77, 0x36, 0x55, 0xd9, 0x91, 0xcc, 0x06, 0x24, 0xe5, 0x69, 0x86, 0xd3, 0x60, 0x0d, - 0x41, 0x6f, 0x86, 0xa9, 0x6b, 0x19, 0x7b, 0xbd, 0x38, 0x8f, 0x54, 0x60, 0xd5, 0xdb, 0xe6, 0xd3, - 0x18, 0x92, 0xa0, 0x20, 0x59, 0x7b, 0xdf, 0xf6, 0x9a, 0xdc, 0x34, 0x64, 0x55, 0x04, 0x92, 0x01, - 0x43, 0x68, 0x2e, 0x47, 0x05, 0xae, 0x52, 0xf8, 0xea, 0xc2, 0xab, 0x62, 0x27, 0xc6, 0x48, 0xe3, - 0x26, 0x45, 0x56, 0x74, 0xe7, 0xa8, 0xfd, 0x06, 0xf5, 0xee, 0x90, 0x6d, 0xd9, 0x65, 0x8d, 0xbc, - 0x27, 0xc9, 0x8d, 0x9c, 0x9c, 0x1d, 0xe8, 0x71, 0x93, 0xb7, 0x6e, 0x2c, 0xf5, 0xf2, 0x05, 0xa6, - 0xe3, 0x7d, 0x3a, 0xd7, 0xe1, 0x27, 0x3f, 0x85, 0x93, 0xf1, 0x39, 0x20, 0xaf, 0xd3, 0x83, 0x83, - 0xb9, 0x93, 0xe4, 0x97, 0xab, 0x67, 0x4f, 0x74, 0xb2, 0xd1, 0xc0, 0xd5, 0xda, 0x1b, 0xcc, 0xf8, - 0xb0, 0xbc, 0x98, 0x96, 0xd4, 0xe9, 0xc1, 0xc1, 0xf8, 0xa9, 0x24, 0xc7, 0xfe, 0x44, 0xab, 0xd0, - 0xde, 0x68, 0x1a, 0x47, 0x4b, 0x8d, 0x58, 0x92, 0xad, 0x76, 0x35, 0x85, 0xfc, 0x98, 0x87, 0x62, - 0x41, 0xa9, 0x74, 0x52, 0x7f, 0x36, 0xfe, 0xb8, 0x9d, 0x48, 0x80, 0x64, 0x30, 0x19, 0x82, 0x42, - 0xaa, 0xd6, 0xa6, 0x12, 0x4e, 0xa4, 0x79, 0x6a, 0x91, 0xfd, 0x2f, 0x7e, 0x4e, 0x6e, 0x62, 0x50, - 0xcf, 0x90, 0x4e, 0xaa, 0x81, 0xd0, 0xe6, 0xce, 0x66, 0xe6, 0xcd, 0x76, 0x9b, 0x5c, 0x9a, 0x12, - 0xc3, 0xfc, 0xb3, 0x30, 0xbe, 0xba, 0xde, 0x56, 0x1c, 0x60, 0x95, 0xca, 0xda, 0x33, 0x11, 0xe6, - 0xc4, 0x5a, 0x77, 0x78, 0xd0, 0x26, 0x10, 0x90, 0x9d, 0xc3, 0x79, 0xd4, 0xa0, 0x81, 0xa5, 0x91, - 0x45, 0xd2, 0x2b, 0x28, 0xf7, 0x19, 0x1d, 0xe5, 0xfd, 0x4e, 0x79, 0xe9, 0xa7, 0xbb, 0xcb, 0xe5, - 0xa9, 0xb0, 0x9a, 0x6c, 0x30, 0xfc, 0xa1, 0x15, 0x37, 0xcd, 0x72, 0x3e, 0xa9, 0x83, 0x9e, 0xb0, - 0x32, 0x20, 0x8f, 0x00, 0xa5, 0x4e, 0xdf, 0xb3, 0x4c, 0xd4, 0xe4, 0x5c, 0xc1, 0xcf, 0x61, 0x85, - 0xa9, 0x98, 0xdb, 0x64, 0xfb, 0xad, 0xc7, 0x36, 0x04, 0xd7, 0x70, 0x26, 0x29, 0xe9, 0xe7, 0x3e, - 0x79, 0x4b, 0x8d, 0x84, 0xaf, 0x66, 0x6d, 0xe3, 0xce, 0x3a, 0xf8, 0x1c, 0x3d, 0x25, 0x49, 0xcd, - 0xf7, 0x72, 0x53, 0xf5, 0xeb, 0x4f, 0x92, 0x98, 0xa8, 0xa4, 0xd1, 0xd7, 0xdc, 0x2e, 0x8c, 0x94, - 0xb4, 0x9a, 0xa2, 0x92, 0x45, 0x5b, 0xf2, 0x56, 0x10, 0x69, 0x0f, 0x41, 0x84, 0x52, 0x2a, 0x29, - 0x46, 0xea, 0xc3, 0x07, 0xe1, 0xbd, 0x0d, 0x6d, 0x4c, 0x8a, 0x1c, 0x4b, 0x6e, 0x49, 0x1f, 0xd3, - 0x44, 0xcf, 0xc8, 0xb2, 0xe2, 0x9b, 0x5f, 0xb9, 0x12, 0x29, 0xcf, 0x52, 0x3a, 0x3b, 0x2d, 0x15, - 0x34, 0x8d, 0x96, 0x23, 0x37, 0x4c, 0x5b, 0xfb, 0x86, 0x4c, 0xa8, 0xcd, 0xbf, 0x5f, 0x2e, 0xd7, - 0xaa, 0x41, 0xb4, 0x89, 0x9e, 0x5d, 0xeb, 0xa2, 0x96, 0xac, 0x6d, 0x15, 0xa3, 0x96, 0xb1, 0xe2, - 0xa8, 0x67, 0xb0, 0xa9, 0x5a, 0xb6, 0x35, 0xc1, 0xe5, 0x2e, 0xac, 0x21, 0x72, 0xaa, 0xc7, 0x74, - 0xc8, 0x3e, 0x0b, 0xc2, 0x0d, 0xe8, 0xae, 0x6d, 0x44, 0xae, 0x31, 0x95, 0x7e, 0xa6, 0xdf, 0xe5, - 0x04, 0xdd, 0xa5, 0x2a, 0x06, 0x3d, 0xb0, 0xc4, 0x52, 0xfe, 0x43, 0xe0, 0xbb, 0xd4, 0x77, 0x14, - 0x8d, 0x29, 0x18, 0xbd, 0xef, 0x3a, 0xde, 0x17, 0xb1, 0x5b, 0x5d, 0xe3, 0x52, 0x69, 0xdb, 0xc7, - 0xd4, 0x08, 0x79, 0x6f, 0x37, 0x8b, 0x6e, 0x2b, 0x4e, 0x9b, 0x4b, 0x7c, 0xbf, 0x42, 0xe1, 0x09, - 0xa5, 0xed, 0xfc, 0x2b, 0xf9, 0x6e, 0x33, 0xab, 0x12, 0xf2, 0xd9, 0xa2, 0x1b, 0xa1, 0x9a, 0x40, - 0xfc, 0xe4, 0x8b, 0x32, 0xdd, 0x61, 0xcf, 0x57, 0xcf, 0x1c, 0xd0, 0xad, 0xb2, 0x65, 0xdd, 0xdd, - 0x92, 0x34, 0xf9, 0x06, 0x70, 0x08, 0x03, 0x9e, 0x18, 0x87, 0xae, 0x8a, 0xfa, 0x46, 0x05, 0x7f, - 0xf2, 0x59, 0x62, 0xc2, 0x93, 0x62, 0xa1, 0x10, 0x4f, 0x5e, 0xeb, 0x0f, 0x1f, 0xac, 0x0f, 0xea, - 0x20, 0x96, 0x1e, 0xec, 0x2e, 0x49, 0x9c, 0x1c, 0x7c, 0xcb, 0xe0, 0xb3, 0x1b, 0x13, 0x22, 0x58, - 0x51, 0xaa, 0x6a, 0xe0, 0xc9, 0x35, 0x17, 0x1b, 0xa7, 0xd9, 0x43, 0x70, 0x49, 0x91, 0x74, 0x90, - 0x59, 0xdb, 0xf6, 0xc3, 0xd9, 0x1b, 0x38, 0xe9, 0x81, 0x98, 0xd4, 0xef, 0x3b, 0xb6, 0x33, 0x38, - 0x4a, 0xdc, 0x76, 0x80, 0x52, 0x63, 0x94, 0x7c, 0x05, 0x43, 0x1f, 0x5a, 0xec, 0x51, 0x4e, 0x75, - 0xe3, 0x77, 0xcc, 0xc6, 0x87, 0xbc, 0x45, 0x41, 0x36, 0x14, 0xbd, 0xc3, 0xda, 0x06, 0xb0, 0x1d, - 0x58, 0x72, 0x83, 0xfe, 0x58, 0xf1, 0xc0, 0x5f, 0x85, 0x7e, 0xd9, 0x68, 0x54, 0x2a, 0x6d, 0xcc, - 0xa5, 0x68, 0x92, 0x6d, 0xa6, 0x6a, 0xcd, 0x7d, 0xb6, 0x28, 0xed, 0xc2, 0x73, 0x37, 0xc0, 0x69, - 0xfa, 0x94, 0x21, 0xbc, 0x23, 0xa7, 0x82, 0xb7, 0x67, 0x0e, 0x9f, 0x42, 0x03, 0x8e, 0x6d, 0xcd, - 0xfc, 0x38, 0xfa, 0x00, 0xfe, 0x14, 0xcd, 0x08, 0xec, 0xc8, 0x7a, 0x3e, 0x5d, 0x60, 0x05, 0x64, - 0x12, 0xde, 0xb3, 0x26, 0xf2, 0x33, 0xd5, 0x0b, 0x6f, 0x95, 0xf0, 0x03, 0x68, 0x1b, 0x67, 0x1d, - 0xf5, 0x0f, 0x88, 0xc5, 0x94, 0xc0, 0x75, 0x60, 0x25, 0x6d, 0x28, 0xde, 0x0f, 0xf8, 0xda, 0x99, - 0xc6, 0x71, 0xa2, 0x93, 0x24, 0x3f, 0x77, 0x33, 0x88, 0xd8, 0xad, 0xed, 0x35, 0xde, 0xc1, 0x5d, - 0x03, 0xcf, 0xcc, 0x7a, 0xbd, 0xad, 0xe7, 0x9c, 0x17, 0x52, 0x96, 0x84, 0x0a, 0x49, 0x46, 0xb8, - 0x05, 0x22, 0x5f, 0xbb, 0x0c, 0xff, 0x08, 0x4e, 0xa7, 0xcd, 0x9c, 0xac, 0x46, 0x52, 0xb1, 0x6a, - 0x7a, 0x51, 0x0f, 0x0b, 0x05, 0xce, 0xa3, 0x2f, 0x7d, 0xab, 0xff, 0x1d, 0xc1, 0x48, 0x67, 0x83, - 0xa0, 0xae, 0x4e, 0x65, 0xba, 0x94, 0x64, 0x37, 0x29, 0x81, 0x83, 0xfc, 0x1f, 0x07, 0xaf, 0x0a, - 0xca, 0xd7, 0x76, 0x74, 0x14, 0xe2, 0x01, 0x3f, 0x07, 0x42, 0x8a, 0xc3, 0x67, 0xbe, 0x63, 0xcd, - 0xcb, 0x24, 0x45, 0xb5, 0xa0, 0xdf, 0xdd, 0x05, 0x95, 0x34, 0xe7, 0xc8, 0x8e, 0x56, 0x0c, 0xc8, - 0x2a, 0x35, 0x5f, 0x22, 0x76, 0x88, 0x3c, 0xeb, 0x59, 0x18, 0xb7, 0x3b, 0xca, 0xa2, 0x3b, 0x82, - 0xa1, 0xd7, 0xcf, 0x40, 0x72, 0x7a, 0x4d, 0x0a, 0xe0, 0x95, 0xad, 0x39, 0x69, 0x6d, 0x93, 0x3e, - 0xd1, 0xae, 0x17, 0x13, 0x5b, 0xfd, 0x22, 0xb9, 0x52, 0x32, 0xee, 0xe2, 0x61, 0xbd, 0x23, 0x38, - 0xba, 0x46, 0x52, 0xca, 0xbc, 0x9a, 0xb3, 0xa3, 0xb3, 0x20, 0xc3, 0x8d, 0x07, 0x90, 0x7b, 0xe1, - 0x16, 0x9b, 0xb3, 0x7f, 0x8a, 0xd9, 0x72, 0x77, 0x1e, 0xad, 0x17, 0xa7, 0x2e, 0xb3, 0x05, 0x7d, - 0xce, 0xfb, 0x88, 0xde, 0xdd, 0x42, 0x42, 0x55, 0x77, 0xb1, 0xd3, 0xbd, 0xf0, 0x8d, 0x4c, 0x3f, - 0x6d, 0x26, 0xa2, 0x21, 0x64, 0x92, 0x50, 0x32, 0x04, 0xfb, 0x3c, 0x94, 0x10, 0xc6, 0x96, 0x60, - 0x86, 0x7f, 0xee, 0x99, 0x9b, 0x85, 0x66, 0x9c, 0x4c, 0xde, 0xbd, 0x18, 0xa1, 0x7a, 0x52, 0xf6, - 0x70, 0x8a, 0x2c, 0x29, 0x57, 0x7b, 0x57, 0x00, 0x21, 0xf4, 0xe8, 0x4e, 0x8e, 0x94, 0x60, 0x21, - 0xcb, 0x2d, 0x92, 0x4c, 0x5f, 0xaa, 0xd1, 0x3f, 0x0c, 0x56, 0x67, 0x3b, 0xc8, 0x9f, 0x7f, 0xaa, - 0x6d, 0x68, 0x50, 0xdd, 0xa7, 0xde, 0xd5, 0x7a, 0x26, 0x3b, 0x71, 0xa3, 0x24, 0xc3, 0xcf, 0xed, - 0x8d, 0x25, 0x26, 0x7c, 0x7a, 0x40, 0x8f, 0x11, 0x7a, 0x20, 0x4c, 0xc8, 0x53, 0xba, 0x43, 0x91, - 0x44, 0x07, 0xe9, 0x85, 0xb8, 0x18, 0x01, 0x8f, 0xe9, 0xde, 0x96, 0xd7, 0xc1, 0xe1, 0xf4, 0x68, - 0x54, 0x70, 0xdd, 0xef, 0xe4, 0x94, 0x76, 0x0a, 0x60, 0xe2, 0xd8, 0x49, 0x29, 0x58, 0x8d, 0x3e, - 0x6b, 0x07, 0xfa, 0x2c, 0xd2, 0xe3, 0x97, 0x4c, 0x0e, 0x9c, 0x93, 0xf3, 0x47, 0x9a, 0x2f, 0x9d, - 0x66, 0xe6, 0x6b, 0x55, 0xdb, 0x72, 0x29, 0xa2, 0x4f, 0x44, 0x54, 0x9e, 0xe4, 0x79, 0xee, 0x30, - 0x88, 0xd1, 0x3d, 0x01, 0xc0, 0xa5, 0x42, 0x30, 0x20, 0xd3, 0xae, 0x07, 0xc5, 0xa3, 0x01, 0xe1, - 0x83, 0x7c, 0xee, 0x3b, 0xbb, 0x45, 0x13, 0x64, 0x88, 0xff, 0x82, 0x86, 0x8d, 0x3b, 0x19, 0x55, - 0x66, 0xce, 0x4a, 0xda, 0x75, 0xf6, 0x38, 0x13, 0x3a, 0x79, 0xdf, 0x4b, 0x68, 0x95, 0x79, 0x62, - 0xa4, 0xbe, 0xdc, 0x1b, 0xb0, 0xd4, 0x01, 0xb9, 0xf0, 0xd6, 0x2f, 0x40, 0x14, 0xa3, 0x80, 0x82, - 0x08, 0x76, 0xc3, 0x32, 0x91, 0xc5, 0x86, 0x31, 0x9b, 0x68, 0x86, 0xec, 0xa2, 0xb1, 0x47, 0x16, - 0x1b, 0x3d, 0x8f, 0xad, 0x5f, 0x6f, 0xe4, 0x00, 0x85, 0x3f, 0x4e, 0xb3, 0x05, 0x2f, 0x10, 0xd4, - 0x07, 0x0f, 0x5a, 0x13, 0x77, 0x42, 0xbc, 0x8b, 0x53, 0xd3, 0xfe, 0x4c, 0x14, 0x33, 0x8f, 0x98, - 0xd4, 0xe9, 0xb1, 0x15, 0x0c, 0x50, 0x2b, 0xca, 0xa2, 0x98, 0xab, 0x43, 0x16, 0x05, 0x0a, 0xb5, - 0xd1, 0xd1, 0x86, 0x03, 0xa6, 0xf7, 0xc8, 0x5d, 0x15, 0xe1, 0x0e, 0xed, 0xbe, 0x85, 0xa3, 0xe8, - 0x05, 0xf1, 0xed, 0x0a, 0xc2, 0x01, 0xac, 0xd3, 0xe3, 0x94, 0xb3, 0x22, 0x88, 0x80, 0x85, 0x79, - 0xb4, 0xc7, 0xeb, 0xfb, 0xa8, 0xce, 0x48, 0x95, 0xb4, 0x5d, 0x25, 0x46, 0xa2, 0x73, 0xe9, 0xdf, - 0xfd, 0x8b, 0xb8, 0x44, 0x5c, 0x14, 0x1d, 0xf5, 0xc2, 0xb1, 0x02, 0xef, 0xde, 0xa1, 0xe1, 0xcc, - 0x05, 0x18, 0x7c, 0x2d, 0x57, 0x16, 0x37, 0xa7, 0x35, 0x89, 0xc7, 0xd5, 0x08, 0xe5, 0x2b, 0xc3, - 0x49, 0xcb, 0x00, 0xd4, 0x00, 0x3f, 0xcd, 0xb2, 0x2e, 0x19, 0x80, 0xd2, 0xa5, 0x87, 0x09, 0x49, - 0x89, 0x6d, 0x68, 0x56, 0x27, 0xad, 0x37, 0xb2, 0x6a, 0xbe, 0x8b, 0x44, 0xb4, 0x0d, 0x8c, 0x5b, - 0xe5, 0x87, 0x8d, 0x22, 0x4e, 0x75, 0x3d, 0x93, 0xbb, 0xe1, 0xd7, 0xa2, 0x36, 0xc3, 0x02, 0x95, - 0x1a, 0x09, 0xa5, 0xf6, 0x81, 0xdc, 0x2c, 0xf0, 0x62, 0xc2, 0x36, 0xce, 0xd1, 0x2e, 0xe2, 0x4d, - 0x55, 0x81, 0xb9, 0x8f, 0x21, 0x7b, 0x7a, 0xce, 0x0f, 0x84, 0xea, 0x33, 0x41, 0x5c, 0x30, 0x65, - 0xd8, 0x9d, 0xa3, 0x57, 0xa8, 0x1d, 0x8e, 0xcd, 0x6d, 0xe4, 0x44, 0x5a, 0x3d, 0x14, 0x91, 0xa7, - 0xc9, 0xaf, 0xb4, 0xa9, 0x64, 0x1a, 0x5f, 0x61, 0xcf, 0x27, 0xb5, 0x03, 0xd8, 0xff, 0x03, 0xc5, - 0x58, 0xa7, 0x29, 0x68, 0x27, 0xc2, 0xdc, 0xd0, 0xba, 0x45, 0xc6, 0xb8, 0x4f, 0x9c, 0xd2, 0xc0, - 0x29, 0xdd, 0x6e, 0x53, 0xfc, 0x1f, 0x4b, 0x1b, 0x6a, 0x2b, 0x89, 0x1b, 0xc2, 0x8d, 0x19, 0x36, - 0x15, 0xe5, 0x74, 0x1c, 0x2d, 0x17, 0xda, 0xa8, 0x0c, 0x3f, 0xe7, 0xe8, 0xb1, 0xa1, 0x42, 0x1d, - 0x72, 0xf5, 0x04, 0xd2, 0x8a, 0x8e, 0xb0, 0xb4, 0x70, 0x50, 0x15, 0x89, 0xfc, 0x76, 0xbd, 0xe6, - 0x36, 0xeb, 0x2e, 0xbc, 0x8b, 0xe5, 0x76, 0xd1, 0xaa, 0xcf, 0x3e, 0x43, 0x2c, 0x94, 0x0f, 0xcc, - 0xb1, 0xc9, 0x1c, 0x64, 0xae, 0x17, 0xe1, 0x44, 0x1e, 0xbe, 0x28, 0x67, 0x2f, 0xe3, 0x23, 0x79, - 0x6d, 0x83, 0x7f, 0x3b, 0x8c, 0xae, 0x72, 0x0d, 0x41, 0x51, 0xc5, 0x78, 0x2f, 0x49, 0xd4, 0xb7, - 0xdf, 0x2e, 0x75, 0x11, 0x14, 0x61, 0x05, 0xc1, 0x1e, 0xd7, 0x4d, 0xdd, 0x24, 0xfe, 0x1c, 0x30, - 0x91, 0x28, 0xf9, 0xee, 0x47, 0xa6, 0x02, 0xa5, 0xdb, 0xb1, 0xb5, 0xb7, 0x43, 0xff, 0x1a, 0x97, - 0x87, 0x7b, 0xe7, 0x9e, 0x8a, 0x95, 0x88, 0x13, 0xc7, 0xb4, 0x02, 0x40, 0x3a, 0xe0, 0x61, 0xf8, - 0x0b, 0xa3, 0x5b, 0xbe, 0xfe, 0xa2, 0x55, 0xe1, 0xd4, 0xca, 0x77, 0x9f, 0x00, 0x1c, 0x2d, 0xdf, - 0x41, 0x84, 0xc7, 0xe6, 0xce, 0x8b, 0x42, 0x70, 0xda, 0x11, 0x83, 0x89, 0x41, 0x26, 0xb9, 0xdc, - 0xd3, 0x6c, 0x21, 0x3b, 0xc1, 0xe1, 0x1d, 0x0c, 0x54, 0x84, 0x7f, 0x0b, 0x9d, 0x65, 0x6d, 0x0b, - 0x74, 0x47, 0x28, 0x38, 0x2c, 0xde, 0x3c, 0xca, 0x37, 0x07, 0x17, 0x45, 0xb8, 0x11, 0xbf, 0x5c, - 0x03, 0xf2, 0xff, 0xb2, 0x24, 0x34, 0xc7, 0x4d, 0x30, 0x0e, 0x55, 0xa9, 0xc1, 0x7b, 0x25, 0x5e, - 0xe9, 0xfd, 0xda, 0xa4, 0x9d, 0xd3, 0x14, 0x60, 0xaf, 0x52, 0xf8, 0x44, 0xa6, 0xf5, 0xa8, 0x9d, - 0x74, 0x5e, 0x50, 0x63, 0xf5, 0xac, 0xa6, 0x5b, 0x64, 0x14, 0xb7, 0x28, 0x3a, 0xf2, 0xc9, 0xd6, - 0x01, 0x39, 0x9b, 0x64, 0x15, 0x65, 0x91, 0xd4, 0x24, 0xf9, 0x52, 0x76, 0x41, 0x10, 0xdb, 0x90, - 0xd7, 0x58, 0x44, 0xc2, 0x83, 0x28, 0x7e, 0x6e, 0x0c, 0xfc, 0xdf, 0xb8, 0x44, 0x26, 0xaf, 0x0b, - 0x9a, 0x04, 0x9e, 0xaa, 0x96, 0xa2, 0xf5, 0x43, 0x4c, 0x6d, 0xa2, 0xf9, 0xea, 0x3b, 0xd1, 0xf5, - 0x43, 0xe4, 0xf5, 0xb6, 0x1a, 0xa6, 0x35, 0xf7, 0x77, 0x07, 0xd5, 0x88, 0xfa, 0x78, 0x3d, 0xc1, - 0xab, 0x12, 0x53, 0xdf, 0xb0, 0xc1, 0x4e, 0x02, 0x72, 0xe7, 0x4e, 0xfd, 0x60, 0x56, 0x74, 0xf2, - 0x2d, 0xc9, 0x3f, 0x58, 0x82, 0x0e, 0x23, 0x18, 0x02, 0x22, 0xa1, 0x46, 0x97, 0x6c, 0xe4, 0xa8, - 0xac, 0x08, 0x01, 0xce, 0x27, 0x52, 0x93, 0xe6, 0xd7, 0x6d, 0x4c, 0xf6, 0xf6, 0xd4, 0xdc, 0x07, - 0xc6, 0x59, 0x75, 0xa5, 0x5c, 0x65, 0x42, 0xe6, 0xd1, 0x10, 0x06, 0xaa, 0x07, 0x98, 0xe1, 0x7f, - 0xcd, 0xb6, 0x9c, 0xdb, 0xc7, 0xc9, 0xa1, 0x7b, 0x28, 0x76, 0xf3, 0xd9, 0xf1, 0x26, 0x60, 0x7b, - 0x1d, 0x24, 0x25, 0x1d, 0xb4, 0xd8, 0x3d, 0x80, 0x46, 0xb9, 0x5c, 0x58, 0xb6, 0x5e, 0x94, 0x81, - 0xda, 0xb4, 0x37, 0xff, 0xf7, 0x04, 0xed, 0x21, 0x9c, 0xc5, 0x94, 0xbf, 0xc4, 0x0c, 0x6b, 0x83, - 0xda, 0x57, 0xaa, 0x5d, 0x15, 0x65, 0xe2, 0x5e, 0x91, 0x92, 0xd7, 0x55, 0x41, 0xb5, 0xea, 0xf5, - 0x3c, 0x1d, 0x7f, 0x3b, 0xb2, 0x97, 0x56, 0xf7, 0xb0, 0x57, 0x00, 0x8a, 0x8e, 0xf5, 0xa5, 0x33, - 0x3a, 0xa1, 0x47, 0x41, 0x70, 0xf7, 0x9a, 0x8e, 0xf3, 0x1c, 0x65, 0x8f, 0xa0, 0x78, 0x7c, 0xf7, - 0x20, 0x60, 0x02, 0x0e, 0xba, 0xd0, 0xab, 0x06, 0x80, 0xb8, 0xef, 0x03, 0x48, 0x97, 0x08, 0x10, - 0xc8, 0x0b, 0x96, 0x43, 0x29, 0x6c, 0xd8, 0x59, 0x23, 0xe4, 0x0c, 0xbc, 0xd2, 0x4b, 0x9f, 0xdb, - 0x0b, 0x2a, 0xfa, 0x79, 0x2a, 0x28, 0x45, 0x81, 0x06, 0x1a, 0x64, 0xa5, 0x67, 0x97, 0x0c, 0x79, - 0x60, 0xe9, 0x21, 0xf8, 0x02, 0x00, 0x66, 0x0e, 0x07, 0x83, 0x51, 0x66, 0xf0, 0xcd, 0x13, 0x71, - 0xd3, 0x00, 0x81, 0x43, 0x91, 0xc7, 0x80, 0x1b, 0xd3, 0xba, 0xe2, 0x4e, 0x1f, 0x8f, 0x66, 0x04, - 0xb3, 0x9a, 0x7a, 0xf5, 0x9a, 0x13, 0xa1, 0xd8, 0xfe, 0x47, 0x77, 0x7d, 0xc0, 0xb4, 0x65, 0xed, - 0xcb, 0x31, 0x8e, 0x07, 0xae, 0xa9, 0xac, 0xa4, 0x41, 0xea, 0x78, 0xb9, 0xd3, 0x78, 0xe6, 0x8b, - 0x6a, 0x6c, 0x1c, 0x4f, 0x33, 0x27, 0xa7, 0x49, 0x1d, 0x03, 0x8c, 0x15, 0xf9, 0xcb, 0xa0, 0xc6, - 0xb2, 0x78, 0x8f, 0xaa, 0x7c, 0xd0, 0xf4, 0xca, 0xfa, 0x40, 0x0b, 0x86, 0xcf, 0xd7, 0x74, 0x73, - 0x1f, 0x31, 0x71, 0xfc, 0x0e, 0x66, 0x23, 0xd8, 0x53, 0x4d, 0xe8, 0xd6, 0xc0, 0xd8, 0xca, 0xa1, - 0x06, 0x59, 0x61, 0x10, 0x1f, 0xd8, 0x5b, 0x45, 0x1b, 0xe8, 0x30, 0x45, 0x84, 0x92, 0xb2, 0xf4, - 0xd2, 0x64, 0x9a, 0x61, 0x47, 0x39, 0x28, 0xa2, 0xea, 0x53, 0xa8, 0xd9, 0x70, 0x3b, 0xdb, 0xef, - 0x9f, 0x64, 0x0d, 0x89, 0x8d, 0x84, 0xed, 0x99, 0xae, 0xc6, 0xd0, 0x70, 0x28, 0xf7, 0x3b, 0x39, - 0x26, 0x83, 0x2f, 0x87, 0x7b, 0xc0, 0xac, 0x7e, 0x5c, 0x67, 0xe7, 0x6a, 0x71, 0xf7, 0xdc, 0x6c, - 0xb5, 0xc9, 0xbc, 0xcf, 0x92, 0x96, 0x8f, 0xce, 0xff, 0x37, 0x98, 0xb5, 0x41, 0xd2, 0x92, 0xc2, - 0x93, 0x1e, 0x66, 0xbe, 0x49, 0x79, 0x9b, 0x4b, 0x02, 0xe9, 0xa4, 0x8a, 0x9e, 0x4c, 0x0d, 0x7e, - 0xa9, 0xa9, 0xc5, 0x70, 0xb5, 0x0a, 0xde, 0x8e, 0x69, 0x91, 0x6a, 0x80, 0x28, 0xbe, 0xd7, 0x1d, - 0x9a, 0x15, 0x18, 0xba, 0x7e, 0x81, 0x47, 0x34, 0xe2, 0x81, 0x94, 0xc0, 0x70, 0xd9, 0xe9, 0xcb, - 0xb4, 0x90, 0x0f, 0xbe, 0x46, 0xab, 0x77, 0xf0, 0xa0, 0xca, 0xa4, 0x67, 0x78, 0xc1, 0xce, 0x05, - 0x25, 0xc5, 0x1b, 0x5d, 0xbc, 0xf3, 0x5f, 0xef, 0x13, 0x0e, 0x21, 0x4f, 0x04, 0x25, 0xed, 0xe1, - 0x64, 0xa7, 0x80, 0xcc, 0x22, 0x56, 0x2e, 0x35, 0xc5, 0x7e, 0x38, 0xa4, 0x62, 0xcd, 0x9f, 0x2c, - 0xf3, 0x26, 0x04, 0x3a, 0xfb, 0x17, 0x6b, 0x4c, 0xf6, 0x33, 0xd1, 0x35, 0xb0, 0x97, 0x17, 0x87, - 0x58, 0xce, 0xf1, 0x12, 0x2a, 0x70, 0xa8, 0x06, 0x5a, 0x22, 0x5d, 0x67, 0xfe, 0xce, 0x49, 0x61, - 0x15, 0x34, 0x19, 0xc0, 0x7b, 0x59, 0x88, 0x9b, 0xce, 0xae, 0xf4, 0xf0, 0x24, 0xc8, 0x94, 0xa6, - 0xfb, 0xda, 0x54, 0x20, 0x4b, 0xf6, 0x3e, 0xbf, 0x76, 0xe2, 0xcb, 0x91, 0x8a, 0xdf, 0x15, 0x69, - 0xe3, 0x9f, 0x06, 0x06, 0x41, 0x78, 0xb1, 0xb2, 0x0a, 0x5f, 0x94, 0xa5, 0x98, 0x03, 0x72, 0x37, - 0x9e, 0xb8, 0x5d, 0xb3, 0x11, 0x6f, 0x61, 0x1a, 0x01, 0x19, 0xb1, 0x32, 0xcd, 0x28, 0x64, 0x49, - 0x80, 0xc8, 0x2f, 0x89, 0x7c, 0xe1, 0xb3, 0x94, 0x93, 0x2e, 0x20, 0x8e, 0x67, 0xf0, 0x84, 0xcd, - 0x2e, 0x87, 0xb8, 0xdf, 0x3f, 0x7e, 0x43, 0xac, 0x0d, 0x8c, 0xcd, 0x4b, 0x77, 0x87, 0xd4, 0x3f, - 0xc9, 0x6f, 0x1a, 0x10, 0x97, 0x4e, 0x6a, 0x63, 0x5d, 0x6b, 0x5f, 0x21, 0xb1, 0x0a, 0x40, 0x6f, - 0x50, 0x92, 0xb8, 0xdb, 0xe7, 0xcc, 0xd5, 0xd8, 0xd1, 0x15, 0x9e, 0xcd, 0x38, 0xbc, 0xb4, 0x26, - 0x3e, 0xf6, 0x82, 0xb7, 0xa9, 0x0f, 0x9c, 0x30, 0x8d, 0xcc, 0xcc, 0xae, 0x5f, 0xf9, 0x9e, 0x02, - 0x87, 0x07, 0x1d, 0xfe, 0x36, 0x6a, 0x46, 0x82, 0x58, 0x2b, 0xf3, 0xf0, 0x93, 0x6d, 0xfe, 0xbe, - 0x84, 0xac, 0x21, 0x8d, 0x4a, 0xbf, 0x11, 0x49, 0x5b, 0xa0, 0x95, 0x1b, 0x46, 0x34, 0x1c, 0xc3, - 0x8a, 0x63, 0xef, 0x43, 0x7e, 0x71, 0xab, 0xf7, 0xd7, 0xe9, 0xd0, 0x77, 0xd2, 0x70, 0x12, 0xd7, - 0x36, 0xee, 0x61, 0xa7, 0x8a, 0x25, 0x75, 0x77, 0x6c, 0x83, 0x67, 0x43, 0x16, 0x97, 0xb6, 0x7b, - 0x47, 0xa8, 0x09, 0x60, 0xb6, 0x30, 0x7d, 0x19, 0x3f, 0x1a, 0x63, 0xc5, 0x4a, 0xb4, 0xdf, 0x35, - 0x91, 0x6a, 0x2b, 0x28, 0x12, 0x07, 0x86, 0xca, 0xbe, 0x4f, 0xeb, 0x73, 0xc4, 0xf4, 0x90, 0x3d, - 0x7c, 0x56, 0x23, 0x24, 0x27, 0x49, 0x58, 0x7a, 0x66, 0x1b, 0x9f, 0xad, 0xff, 0x4e, 0x31, 0x3d, - 0x56, 0x88, 0x62, 0x28, 0x68, 0x5b, 0xd5, 0xaa, 0x5c, 0x1a, 0xca, 0x4a, 0x7d, 0x24, 0x29, 0x3d, - 0x26, 0x4a, 0x8f, 0xb9, 0xf8, 0x79, 0xc3, 0x7d, 0x32, 0x60, 0xb3, 0xe5, 0xeb, 0x37, 0x23, 0x23, - 0xc4, 0xba, 0xb2, 0x55, 0xf6, 0x8a, 0x05, 0xe4, 0x7d, 0x0f, 0xab, 0xa5, 0x51, 0xc6, 0x55, 0x32, - 0x22, 0x11, 0x4a, 0xa6, 0xff, 0x74, 0x1c, 0x23, 0x37, 0x28, 0xee, 0x59, 0xf6, 0xfb, 0xb0, 0x51, - 0x60, 0x5a, 0x5e, 0xa0, 0x15, 0x99, 0xfa, 0x8d, 0x36, 0x1a, 0x50, 0xf4, 0x75, 0xcd, 0x35, 0x01, - 0xdc, 0x4e, 0x1a, 0x26, 0x58, 0x7e, 0xc3, 0x03, 0xdb, 0x64, 0x13, 0x4a, 0x11, 0xdd, 0x78, 0x48, - 0x0e, 0xbd, 0xe9, 0xcf, 0x22, 0x76, 0x00, 0xc2, 0x58, 0x70, 0x92, 0x90, 0x09, 0x66, 0xe6, 0x95, - 0xd6, 0x6d, 0xb5, 0x6f, 0x27, 0xf4, 0xde, 0xca, 0x67, 0x27, 0xb9, 0x98, 0xa3, 0x73, 0x0c, 0xcd, - 0xf4, 0x93, 0x30, 0x0d, 0x53, 0x2e, 0x5a, 0xbf, 0x02, 0x86, 0x45, 0xe1, 0x95, 0x70, 0x7a, 0x27, - 0xbc, 0x42, 0xef, 0x18, 0xb3, 0x8e, 0xe9, 0x8e, 0xa8, 0x9f, 0x4b, 0x8b, 0xd1, 0x39, 0x38, 0xee, - 0x4f, 0x8d, 0x2f, 0xf8, 0xf7, 0x60, 0xb8, 0x37, 0xae, 0xb0, 0xab, 0x37, 0x5e, 0x2f, 0xcc, 0x54, - 0x22, 0xc5, 0x33, 0x4d, 0x7f, 0x21, 0xbe, 0x34, 0x0b, 0x25, 0x3b, 0x4b, 0x62, 0x2e, 0xd8, 0xd6, - 0xb8, 0xf3, 0x06, 0x9a, 0x03, 0x5c, 0xc3, 0xb6, 0x69, 0x7f, 0xcd, 0x2b, 0xa8, 0xaf, 0x21, 0xa1, - 0xf5, 0x6e, 0xf0, 0xd0, 0x20, 0xa0, 0x0f, 0x75, 0x99, 0xd8, 0xc8, 0x73, 0x15, 0x31, 0x27, 0x1c, - 0x2f, 0x97, 0x63, 0xec, 0xce, 0xa3, 0x5a, 0xc9, 0xe6, 0x97, 0x95, 0x68, 0x81, 0x98, 0x49, 0x47, - 0x9f, 0x1f, 0x0c, 0xa5, 0x13, 0x7f, 0x87, 0x11, 0x27, 0x28, 0x65, 0xe5, 0x34, 0x46, 0xa3, 0x89, - 0x62, 0xaa, 0xbf, 0xa1, 0xb0, 0x1f, 0x9e, 0xcf, 0x1b, 0xbc, 0x63, 0xbf, 0x80, 0x84, 0x1f, 0x4f, - 0x32, 0x3b, 0x39, 0xf1, 0x88, 0x6e, 0xfd, 0x15, 0xed, 0x8a, 0xee, 0x5a, 0xd9, 0x19, 0xae, 0xbb, - 0x5f, 0xe5, 0x58, 0x55, 0xfc, 0x8c, 0x37, 0xf4, 0xcb, 0x21, 0x00, 0x5f, 0xaf, 0x82, 0x7d, 0x71, - 0xc2, 0x9a, 0x68, 0x14, 0x33, 0xaa, 0x3e, 0x2e, 0x97, 0x4a, 0xb4, 0xc6, 0xc5, 0x9d, 0x64, 0xc8, - 0x90, 0xcc, 0x3a, 0x77, 0xd9, 0x53, 0x3b, 0xee, 0xf4, 0xff, 0x03, 0x88, 0x85, 0xe8, 0x5e, 0xa8, - 0x3d, 0xd2, 0x00, 0x51, 0x29, 0x5e, 0x9c, 0x02, 0x9e, 0x85, 0xa5, 0xd3, 0xda, 0x33, 0x88, 0x4a, - 0xc1, 0x92, 0x18, 0x26, 0xaf, 0xdc, 0x3f, 0x40, 0x71, 0x2f, 0x85, 0x29, 0x53, 0x8a, 0x2c, 0x1e, - 0x14, 0xd8, 0x40, 0x05, 0x5b, 0x98, 0x56, 0x2e, 0x6d, 0x24, 0xd5, 0x1f, 0xb0, 0x39, 0x8f, 0x6e, - 0x10, 0xfa, 0x75, 0xb1, 0x26, 0x61, 0x8f, 0x95, 0xdb, 0x39, 0x54, 0x4c, 0xd2, 0xbc, 0xc4, 0x3d, - 0xc3, 0x74, 0xaa, 0x5b, 0x01, 0xaa, 0x99, 0x04, 0xe7, 0xcf, 0x18, 0x62, 0x28, 0x2b, 0xdc, 0xfc, - 0x7d, 0x8a, 0xa9, 0x49, 0x7c, 0x7c, 0x59, 0x3f, 0xba, 0xe5, 0x0b, 0x1c, 0xd0, 0x58, 0xf4, 0x45, - 0x8c, 0xce, 0x02, 0xbc, 0x94, 0xd6, 0x0a, 0x40, 0x2f, 0x23, 0x3c, 0x13, 0x98, 0x9a, 0xbe, 0x2a, - 0xf4, 0x94, 0x56, 0xd7, 0x93, 0x63, 0xda, 0x72, 0xa5, 0x0f, 0x2d, 0x99, 0x3f, 0x07, 0xe8, 0xed, - 0x3f, 0xf8, 0xfa, 0xb2, 0x02, 0x93, 0xd8, 0xc6, 0x31, 0xda, 0x64, 0xcf, 0xd2, 0xd9, 0xdb, 0x19, - 0x96, 0xf4, 0x05, 0xa7, 0x79, 0x58, 0xb7, 0xd2, 0x17, 0xe0, 0xb0, 0x60, 0x09, 0xb7, 0xf7, 0xed, - 0xbe, 0x13, 0x66, 0x55, 0xcd, 0xf3, 0xe5, 0x0f, 0xb3, 0xae, 0x2a, 0x7b, 0xc1, 0xf1, 0x29, 0x66, - 0x2a, 0xe6, 0x83, 0x95, 0xdd, 0x59, 0x61, 0xd0, 0x1c, 0x0a, 0xd7, 0x29, 0x9c, 0xb2, 0x7f, 0xf7, - 0x86, 0x20, 0x0e, 0xeb, 0x26, 0xce, 0x62, 0x85, 0xcf, 0xca, 0xdd, 0x71, 0xce, 0x1a, 0x6b, 0xbb, - 0xdb, 0xdb, 0x6e, 0x60, 0xec, 0xb1, 0x54, 0x8c, 0xa9, 0xea, 0xb2, 0x39, 0x7a, 0xcd, 0xe2, 0x64, - 0x36, 0xbe, 0xe5, 0xe1, 0xc4, 0xe5, 0x3c, 0xc7, 0xb3, 0xe9, 0xfb, 0x5c, 0x24, 0xfc, 0x49, 0x92, - 0x67, 0x8c, 0x6d, 0xa8, 0x60, 0xf7, 0xe4, 0x93, 0xe3, 0x0f, 0xa4, 0x9c, 0x0b, 0xe5, 0xd8, 0xb6, - 0x6d, 0x4b, 0x0b, 0x2a, 0x76, 0x71, 0xdd, 0xf0, 0x05, 0x37, 0x80, 0x4e, 0x4e, 0xf5, 0x9b, 0xe7, - 0x1a, 0x6e, 0x16, 0x3a, 0x65, 0xf6, 0x2b, 0x43, 0x8b, 0xba, 0x6b, 0x63, 0x28, 0x28, 0x58, 0xc9, - 0x66, 0xc8, 0x7b, 0xd1, 0xa0, 0x75, 0x26, 0x29, 0x3b, 0x7b, 0x21, 0xfe, 0x01, 0x90, 0x4e, 0x68, - 0xd6, 0x65, 0x96, 0xfb, 0xb8, 0x47, 0x77, 0x7d, 0x73, 0xa5, 0x24, 0xc2, 0x3c, 0x0d, 0x48, 0x67, - 0xaa, 0x52, 0x04, 0x3c, 0x47, 0x99, 0x76, 0x9a, 0xae, 0x7a, 0x0a, 0xa5, 0x04, 0xb1, 0xf8, 0xa0, - 0x52, 0xc3, 0x2d, 0x4f, 0x1a, 0x15, 0x75, 0x27, 0x15, 0xf4, 0x10, 0xa2, 0xf8, 0xa2, 0x08, 0xf0, - 0xa3, 0xb5, 0x4e, 0xef, 0x3b, 0xc0, 0xa2, 0xdc, 0x29, 0x39, 0xe9, 0x26, 0xc4, 0x07, 0xdd, 0x57, - 0xb0, 0x36, 0xb8, 0xde, 0x00, 0x60, 0xd8, 0x61, 0x25, 0xef, 0x8a, 0x49, 0x1b, 0x7a, 0x8d, 0x66, - 0x87, 0xfa, 0xdb, 0x03, 0x0e, 0x30, 0x13, 0x57, 0x3d, 0x86, 0xff, 0x8c, 0x4b, 0x03, 0xf4, 0xb5, - 0x4c, 0xec, 0x52, 0x1d, 0xf9, 0x1a, 0xfc, 0xe5, 0x81, 0xdd, 0xa0, 0xd1, 0xa6, 0xf3, 0xe6, 0xd7, - 0xa4, 0x7e, 0x79, 0xf6, 0x1f, 0x37, 0x57, 0x8a, 0xde, 0xb4, 0xec, 0x1b, 0x77, 0x3c, 0x11, 0xcb, - 0xba, 0x8d, 0xec, 0x80, 0x93, 0x96, 0x26, 0xa6, 0xe9, 0xa1, 0xb0, 0x6c, 0x4a, 0x04, 0x61, 0x8f, - 0xa9, 0x42, 0xf1, 0x34, 0xe8, 0x79, 0x9b, 0xea, 0x3c, 0xad, 0x69, 0x16, 0x8c, 0x82, 0xb6, 0x1e, - 0xaf, 0x75, 0x80, 0x0d, 0x16, 0x0b, 0x90, 0xf0, 0x05, 0x80, 0xe8, 0xaf, 0x08, 0x5d, 0x6f, 0x5e, - 0x85, 0xdb, 0xe1, 0xac, 0xfd, 0x8e, 0xaf, 0x3b, 0xa4, 0xa2, 0x0c, 0xcc, 0xe8, 0x49, 0xbd, 0x6f, - 0xd8, 0x80, 0x28, 0x99, 0xdf, 0x27, 0x14, 0x1e, 0x3b, 0xfa, 0xff, 0x5c, 0xf4, 0x24, 0xd9, 0x97, - 0x6a, 0xed, 0xd6, 0x87, 0xc0, 0x27, 0xd8, 0x1c, 0x5a, 0x41, 0x4b, 0x64, 0x12, 0x64, 0xf1, 0x78, - 0xfe, 0xc6, 0xeb, 0x73, 0x78, 0x58, 0x15, 0xb4, 0x02, 0x76, 0xd3, 0xdb, 0x8d, 0x5f, 0xb1, 0xd3, - 0x1a, 0x49, 0xb4, 0xad, 0xbf, 0xeb, 0xa5, 0x9e, 0x12, 0xa0, 0x63, 0x63, 0xca, 0xdd, 0x1a, 0x5d, - 0x30, 0x34, 0x38, 0x9f, 0x9c, 0x6c, 0x65, 0x84, 0xe2, 0xc6, 0x2f, 0x0f, 0x41, 0xd7, 0x47, 0xd3, - 0x2d, 0xcd, 0xb6, 0x17, 0xea, 0x7e, 0xcd, 0xc8, 0xac, 0x43, 0xea, 0x31, 0x23, 0x67, 0x66, 0x28, - 0x44, 0x69, 0x47, 0x19, 0xd4, 0x54, 0xca, 0x64, 0x79, 0xd2, 0xe1, 0x4e, 0x96, 0x56, 0x76, 0x98, - 0xde, 0x44, 0xe5, 0x56, 0xb0, 0x6e, 0xf7, 0x04, 0xf3, 0x18, 0xaf, 0xcf, 0x54, 0xac, 0x25, 0x7d, - 0x64, 0x1f, 0xbe, 0xc0, 0x64, 0xae, 0x66, 0x0a, 0xb9, 0x91, 0x8e, 0x98, 0xc1, 0x83, 0x63, 0xdf, - 0x70, 0x7a, 0xf4, 0xf8, 0xba, 0x98, 0x63, 0x1c, 0x7a, 0x3f, 0x90, 0x2e, 0x20, 0x2a, 0xc7, 0x39, - 0x11, 0x9d, 0xce, 0x6c, 0x8a, 0xee, 0xae, 0xd0, 0x92, 0x69, 0x86, 0x0a, 0x94, 0x87, 0x3d, 0x3e, - 0xf4, 0x86, 0xed, 0x0d, 0x3c, 0x73, 0x33, 0xb0, 0xdd, 0x30, 0xe7, 0x84, 0xf4, 0x6c, 0xc2, 0x4d, - 0x32, 0x97, 0x65, 0x7f, 0x41, 0xc6, 0xbf, 0x78, 0x51, 0x67, 0x0a, 0xff, 0x93, 0xec, 0x3a, 0x3d, - 0xb4, 0xaf, 0x3e, 0xaa, 0x64, 0x81, 0x4d, 0x95, 0x11, 0xa9, 0xe7, 0xbd, 0xb5, 0xbc, 0x35, 0x35, - 0xc1, 0xfe, 0xb3, 0x12, 0x4a, 0x38, 0x5c, 0x03, 0x1b, 0x09, 0x40, 0x81, 0xfa, 0x74, 0x9e, 0x7e, - 0x8e, 0x56, 0xc4, 0xfa, 0x2c, 0xf6, 0x31, 0x7c, 0x34, 0x36, 0x51, 0xd7, 0x4a, 0x63, 0xfb, 0xfb, - 0x6e, 0xb2, 0x80, 0x66, 0x9f, 0xdb, 0xa3, 0x6c, 0x82, 0xe3, 0x15, 0x7a, 0xa9, 0xc5, 0xf0, 0x2d, - 0xac, 0xec, 0x2d, 0x45, 0x46, 0x5a, 0x79, 0x91, 0x65, 0x94, 0x15, 0xee, 0xd9, 0xd0, 0x93, 0x4c, - 0x6e, 0x75, 0x94, 0x90, 0x8f, 0x2b, 0xad, 0x6d, 0x7a, 0xdc, 0xe5, 0x64, 0x76, 0x87, 0x66, 0x74, - 0x9a, 0xb0, 0x92, 0x30, 0x4b, 0x17, 0xd2, 0xfe, 0x2e, 0x60, 0xae, 0x12, 0xb9, 0x10, 0x2f, 0x94, - 0x2f, 0xb8, 0xd3, 0x3b, 0x2d, 0x88, 0x44, 0x81, 0x3c, 0xb7, 0xaa, 0x34, 0xd5, 0xf8, 0x88, 0xb4, - 0x8e, 0x7e, 0x2b, 0x38, 0x7f, 0x11, 0x13, 0x7e, 0x51, 0x83, 0x2c, 0xc5, 0xe8, 0x99, 0x6e, 0xdd, - 0x98, 0x6c, 0xaa, 0x1e, 0xf0, 0x80, 0x14, 0xdc, 0x7e, 0x1e, 0xe8, 0xba, 0xcb, 0x4f, 0xe5, 0x0a, - 0x4d, 0xa9, 0x8d, 0xa7, 0x92, 0x72, 0xf1, 0xd6, 0xe9, 0xa2, 0x86, 0x5b, 0x89, 0x77, 0xfd, 0xb3, - 0x6f, 0xd2, 0x3d, 0xc1, 0x9e, 0x7d, 0x51, 0x28, 0xea, 0x03, 0x2e, 0x29, 0x8e, 0xb0, 0x0f, 0x5c, - 0x86, 0x50, 0x73, 0x0c, 0x2f, 0x4a, 0x64, 0x77, 0xec, 0xb5, 0x34, 0x9b, 0x85, 0x3b, 0xe2, 0x7c, - 0xc0, 0xed, 0x6d, 0x7b, 0x6b, 0x20, 0xb7, 0xc6, 0x1c, 0x07, 0x0d, 0xbf, 0xf0, 0x34, 0x8f, 0xc7, - 0x5c, 0x45, 0xe7, 0x85, 0x8f, 0x31, 0xc2, 0x9e, 0x11, 0x6a, 0x27, 0x93, 0xdf, 0x08, 0xf2, 0xf0, - 0x15, 0xef, 0xdd, 0x1e, 0x23, 0xeb, 0x29, 0xf9, 0x4d, 0xd7, 0x4b, 0xbf, 0x3d, 0xa0, 0x9a, 0xf9, - 0x94, 0x65, 0xd2, 0x7c, 0xb3, 0x87, 0x66, 0xf6, 0x13, 0xe0, 0xb4, 0xd7, 0x65, 0xdc, 0x2a, 0x9e, - 0x89, 0xd8, 0xf5, 0xbe, 0x4a, 0x6d, 0x94, 0x7a, 0x8a, 0x96, 0x17, 0x09, 0xf7, 0x63, 0x52, 0x76, - 0x80, 0x44, 0x5c, 0xb5, 0xde, 0xaf, 0x4b, 0x32, 0x37, 0x93, 0xc8, 0x87, 0x73, 0x45, 0x29, 0xb8, - 0xd7, 0x32, 0xf6, 0x37, 0x87, 0xe6, 0xbb, 0x77, 0x40, 0xc5, 0x56, 0x19, 0x5b, 0xde, 0xd6, 0x1e, - 0x50, 0x88, 0x3d, 0x5c, 0xb9, 0x07, 0x85, 0x71, 0xb7, 0xc5, 0x7e, 0xbc, 0x42, 0xd8, 0x2a, 0xf2, - 0x63, 0xdb, 0xf3, 0xbe, 0xb5, 0x0b, 0xc8, 0x20, 0xa1, 0x90, 0x90, 0x06, 0x63, 0xc1, 0x6c, 0xac, - 0xcf, 0xb3, 0x8f, 0x3f, 0xe0, 0x33, 0x82, 0xa0, 0x2c, 0x62, 0x9c, 0xb5, 0x53, 0xa2, 0xf6, 0x67, - 0x5d, 0x44, 0xd9, 0x2a, 0x36, 0x2e, 0x47, 0xd2, 0xe2, 0xaa, 0x2d, 0x04, 0xd4, 0x48, 0x43, 0xd1, - 0x3f, 0xf7, 0x9b, 0x42, 0x0a, 0xc5, 0x45, 0xfe, 0x67, 0x2b, 0x51, 0xd1, 0xf1, 0x19, 0xbd, 0x0e, - 0x7c, 0x31, 0x36, 0x71, 0x2a, 0x9a, 0x48, 0x76, 0xf3, 0x6b, 0x8e, 0xd0, 0x97, 0x64, 0x25, 0x35, - 0xad, 0x45, 0xf3, 0x3b, 0xe7, 0xec, 0xcb, 0x4f, 0xd7, 0xa4, 0xfa, 0xd3, 0x01, 0x76, 0xa2, 0xb7, - 0x5f, 0x53, 0x8a, 0x92, 0x20, 0xd6, 0xa8, 0xa5, 0x4c, 0x64, 0xa8, 0x3c, 0xb9, 0x0c, 0xa7, 0xcc, - 0x70, 0x53, 0xfa, 0x2f, 0x61, 0xf4, 0xe0, 0x6a, 0xdf, 0x98, 0x58, 0xb5, 0x64, 0x68, 0x23, 0x02, - 0xf5, 0x01, 0xdc, 0x3a, 0x85, 0xbc, 0x71, 0x0d, 0x2c, 0x1b, 0x53, 0x48, 0x0d, 0x4a, 0xeb, 0x17, - 0xe3, 0xa9, 0x08, 0x54, 0x0f, 0x49, 0x8f, 0x5a, 0xb2, 0x98, 0x4f, 0xf1, 0x86, 0xab, 0x35, 0x7c, - 0x7c, 0x1a, 0xb5, 0x4b, 0x8c, 0x2a, 0x11, 0x47, 0xa7, 0x71, 0xb3, 0x82, 0xc5, 0x4e, 0xf6, 0xf0, - 0x49, 0xe5, 0xd8, 0xa2, 0xda, 0x92, 0xa9, 0x9d, 0xe2, 0x18, 0x51, 0xa8, 0x4b, 0xca, 0x98, 0x27, - 0x8e, 0x46, 0x47, 0x3a, 0x3a, 0x8c, 0xb8, 0xcd, 0xd1, 0x7f, 0x59, 0x43, 0x0e, 0x6a, 0x0f, 0xd5, - 0x5f, 0x9c, 0x94, 0x34, 0x12, 0xbc, 0x26, 0xfc, 0xe6, 0x46, 0x52, 0xe1, 0x9d, 0x56, 0x50, 0xe9, - 0x50, 0x75, 0x7c, 0xd1, 0xc9, 0x5d, 0xdc, 0x30, 0xf8, 0xb7, 0x73, 0x9f, 0x7b, 0x52, 0x5e, 0xd2, - 0x3a, 0x0a, 0x71, 0x51, 0xe8, 0xb0, 0x75, 0x93, 0x90, 0xbd, 0xa1, 0x35, 0xd6, 0x87, 0x0d, 0x1c, - 0x5a, 0x1d, 0x60, 0xd1, 0xea, 0x27, 0x6d, 0xe1, 0xd6, 0x3d, 0xb6, 0xfa, 0xaa, 0x58, 0x12, 0x8f, - 0x11, 0x40, 0xb9, 0x4c, 0xfa, 0x43, 0x33, 0x5b, 0x64, 0x91, 0xd8, 0x2f, 0xc5, 0xe3, 0xbd, 0x31, - 0xd4, 0x4a, 0x02, 0xf4, 0x2e, 0xd8, 0x72, 0x19, 0x60, 0x6e, 0x40, 0x60, 0x2e, 0x4e, 0x4f, 0xf4, - 0x96, 0xf0, 0x12, 0x3d, 0xb5, 0x1b, 0xa3, 0x28, 0xa3, 0xa1, 0x53, 0xa4, 0x09, 0xbd, 0x67, 0x2e, - 0x71, 0xc4, 0x7b, 0x76, 0xe6, 0x91, 0xd5, 0xc2, 0x15, 0x29, 0xfe, 0xee, 0x79, 0xcc, 0xbb, 0x5a, - 0xf7, 0xda, 0x97, 0x29, 0x14, 0xe6, 0xb6, 0x93, 0x24, 0x58, 0x3f, 0xe1, 0x4a, 0x0b, 0xec, 0xe7, - 0xd5, 0x43, 0x58, 0xda, 0x61, 0x5c, 0x0b, 0x40, 0x91, 0x07, 0x18, 0xe6, 0xab, 0xaf, 0x93, 0xf0, - 0x69, 0xfc, 0x18, 0xb4, 0x96, 0x90, 0xa2, 0xd2, 0x4b, 0x44, 0x35, 0x1f, 0x04, 0xd4, 0xd4, 0x6a, - 0xcc, 0x5e, 0x81, 0xee, 0x79, 0x86, 0xa6, 0x15, 0x68, 0x6a, 0xd8, 0xa9, 0x66, 0xb4, 0x52, 0x25, - 0xdd, 0x04, 0xa5, 0x84, 0xb7, 0x1c, 0x7a, 0x19, 0xce, 0x50, 0xbf, 0x46, 0xd9, 0x0c, 0x67, 0xef, - 0x4b, 0x35, 0x7d, 0xe6, 0x41, 0x6e, 0xac, 0xe3, 0x6d, 0x57, 0xa9, 0xf8, 0xcc, 0x4d, 0x62, 0x71, - 0x28, 0x86, 0x56, 0x00, 0x38, 0xe1, 0x90, 0xc0, 0xb2, 0x04, 0xf0, 0x3e, 0xc0, 0x0b, 0x9f, 0xd6, - 0x4e, 0x3e, 0x9b, 0x4f, 0xa6, 0x9b, 0x89, 0x3b, 0x6f, 0x35, 0xff, 0xcc, 0x0d, 0x20, 0xf9, 0x06, - 0x9a, 0x3e, 0xb3, 0xf4, 0x3f, 0x94, 0x29, 0xbc, 0x00, 0x05, 0x50, 0xdb, 0x17, 0x0b, 0x5d, 0xcf, - 0xe1, 0xbb, 0xf7, 0xe7, 0x63, 0x6b, 0x32, 0x1a, 0x3d, 0xb9, 0x4c, 0xb5, 0x6d, 0x07, 0x88, 0xe4, - 0xb6, 0xc6, 0x39, 0x79, 0x43, 0xe5, 0x5d, 0x16, 0x24, 0x48, 0x50, 0x6e, 0x2a, 0x33, 0x6a, 0x37, - 0x4c, 0xe1, 0x62, 0x62, 0xbb, 0x61, 0x87, 0xfb, 0xfb, 0xc4, 0x29, 0x49, 0x77, 0x6c, 0x27, 0x58, - 0x83, 0xc4, 0x9e, 0x07, 0x94, 0x94, 0xbb, 0x1a, 0x78, 0xd7, 0x92, 0xf1, 0x57, 0x85, 0xdd, 0xb9, - 0x78, 0xf8, 0x25, 0x71, 0x37, 0x07, 0x58, 0x31, 0x5a, 0x2f, 0xf4, 0xd2, 0x17, 0x08, 0xe2, 0x52, - 0x84, 0x6f, 0x89, 0xef, 0x58, 0xab, 0x5b, 0x89, 0x13, 0x69, 0x03, 0x30, 0x78, 0xb1, 0xdd, 0x9d, - 0x83, 0xad, 0x48, 0x57, 0x7d, 0x11, 0x88, 0xa0, 0xaf, 0xdf, 0xb9, 0x16, 0x23, 0xaa, 0x09, 0xa7, - 0x7e, 0x13, 0xdf, 0x16, 0x10, 0x2f, 0x58, 0x83, 0x94, 0x65, 0x5e, 0x59, 0x84, 0x35, 0x9d, 0x49, - 0x1b, 0xb4, 0xcf, 0x86, 0xe0, 0xe8, 0x5c, 0x03, 0xb6, 0xc8, 0xcf, 0x32, 0x90, 0x50, 0xee, 0x87, - 0xb3, 0x93, 0x70, 0x16, 0x64, 0xa2, 0x21, 0x3a, 0x8a, 0xcd, 0x0f, 0x46, 0xc2, 0x14, 0x04, 0x94, - 0x4c, 0xab, 0x2b, 0x8b, 0x88, 0x88, 0x85, 0x4b, 0x38, 0xee, 0x74, 0x41, 0xd3, 0xc5, 0x2a, 0x80, - 0x7f, 0xdf, 0x5e, 0xeb, 0x83, 0x7a, 0x1c, 0x57, 0x12, 0xfa, 0x79, 0xe9, 0x38, 0xc5, 0x26, 0xc0, - 0xa3, 0xe1, 0x7b, 0xdf, 0x15, 0xe3, 0xc3, 0x93, 0x8f, 0x25, 0x43, 0x4a, 0x96, 0xb1, 0x89, 0x0b, - 0x5c, 0xfb, 0xea, 0x68, 0x87, 0x48, 0x8a, 0x6f, 0x78, 0x26, 0x3e, 0x83, 0x49, 0x14, 0x21, 0xb3, - 0x60, 0x08, 0x18, 0xfb, 0x76, 0x50, 0x89, 0xc3, 0xfd, 0x6d, 0xae, 0x42, 0x3a, 0x15, 0x17, 0x7e, - 0xe8, 0xa5, 0x23, 0xf0, 0x8b, 0xec, 0x87, 0xcb, 0xa0, 0x74, 0x0a, 0x01, 0x01, 0xd1, 0xba, 0x41, - 0x17, 0x91, 0xb4, 0xc0, 0x1b, 0x92, 0xa7, 0x1f, 0x13, 0x8f, 0x04, 0x5a, 0x7f, 0x5b, 0x59, 0x64, - 0x1a, 0x58, 0xa4, 0x12, 0x11, 0x28, 0xda, 0x39, 0x7d, 0xcd, 0xe9, 0x36, 0xb8, 0x77, 0xcf, 0xef, - 0x75, 0x4c, 0xb8, 0x49, 0xfb, 0xd7, 0x93, 0xb0, 0x14, 0xb4, 0x1a, 0xd8, 0x0a, 0x56, 0x31, 0x4d, - 0x7d, 0x62, 0x48, 0x4d, 0x6a, 0xcd, 0xf7, 0x78, 0x10, 0x2c, 0x2e, 0x4e, 0x32, 0xed, 0x13, 0xc5, - 0xae, 0xfe, 0xb2, 0x23, 0x93, 0x2e, 0xbd, 0xcf, 0x63, 0xbd, 0xf3, 0x7f, 0x2b, 0x7b, 0x3d, 0xf8, - 0x5d, 0x57, 0xad, 0xa3, 0x3c, 0x1c, 0x79, 0x44, 0x5d, 0x88, 0x7a, 0x3b, 0x89, 0x0a, 0x83, 0xbb, - 0x23, 0xec, 0x7d, 0x12, 0x76, 0xf9, 0x0d, 0x17, 0xe6, 0x74, 0x02, 0xd9, 0x58, 0x92, 0xdf, 0x4e, - 0x33, 0x0e, 0x09, 0xbf, 0x5d, 0x29, 0xa8, 0xdd, 0x55, 0xf8, 0x22, 0xd0, 0x71, 0xa1, 0x46, 0x2d, - 0x5c, 0x7a, 0x34, 0xa1, 0x0b, 0x7e, 0x59, 0x17, 0xe3, 0xc5, 0xe3, 0x85, 0x47, 0xa2, 0xce, 0xfe, - 0xfc, 0x76, 0xb7, 0x83, 0xea, 0xd0, 0xad, 0x64, 0x0f, 0x6a, 0x9a, 0x33, 0x92, 0xeb, 0xf5, 0x27, - 0x6a, 0x81, 0xfe, 0xa8, 0x79, 0x0d, 0x93, 0x97, 0xdf, 0x04, 0x07, 0x7f, 0x48, 0x8f, 0x56, 0x7d, - 0x7a, 0x4f, 0x97, 0xbf, 0xc2, 0x6a, 0x38, 0xed, 0xbd, 0x81, 0x7c, 0xb9, 0x8f, 0xbb, 0xd4, 0xe7, - 0x75, 0xba, 0x58, 0x13, 0xa8, 0x09, 0xc8, 0x8d, 0x27, 0x22, 0x0d, 0xc9, 0x58, 0x49, 0x3e, 0xaf, - 0x94, 0x90, 0x7b, 0xda, 0x96, 0x8a, 0x34, 0x0c, 0x95, 0x08, 0xc5, 0xa0, 0xfd, 0xbd, 0x08, 0xe7, - 0x09, 0x04, 0x15, 0x27, 0x87, 0xef, 0xe6, 0x9d, 0x77, 0x30, 0xda, 0xb5, 0x10, 0xee, 0xb8, 0x82, - 0x2d, 0x1a, 0xf1, 0xe0, 0xb9, 0xf0, 0x00, 0x21, 0x39, 0x5c, 0xcf, 0x81, 0x0b, 0xf0, 0xe8, 0xbb, - 0x99, 0x64, 0x56, 0xb0, 0xed, 0x38, 0x81, 0x0a, 0xd5, 0x17, 0x6e, 0xec, 0xbb, 0x82, 0x04, 0x6d, - 0x01, 0xdf, 0x39, 0xa9, 0x2f, 0x20, 0xde, 0xa0, 0x28, 0xd9, 0x7b, 0xcc, 0x96, 0xb5, 0x26, 0xec, - 0xc2, 0xd7, 0xb5, 0xb7, 0x04, 0x07, 0xea, 0x89, 0x04, 0x74, 0x46, 0xc4, 0xfe, 0x72, 0xc7, 0x08, - 0xd6, 0x39, 0x10, 0xbb, 0x40, 0xc4, 0x8f, 0x64, 0x1a, 0x73, 0x05, 0x5e, 0xaf, 0x92, 0xc5, 0xe4, - 0x44, 0xd1, 0x33, 0xc1, 0xd0, 0x6f, 0xfd, 0x16, 0x95, 0xbc, 0x34, 0x41, 0x97, 0x66, 0x72, 0x72, - 0xd9, 0x61, 0x8f, 0xf0, 0x2d, 0x10, 0x5b, 0x15, 0x44, 0x70, 0x31, 0x83, 0x12, 0x0e, 0x99, 0x77, - 0x67, 0x60, 0xe4, 0x4f, 0x49, 0x4d, 0x2d, 0xd8, 0xb7, 0x68, 0x29, 0x7b, 0x5a, 0xbd, 0x12, 0x38, - 0x59, 0x54, 0x79, 0x6a, 0x1a, 0xb4, 0xf8, 0x0e, 0xff, 0x6b, 0xc3, 0xd5, 0x70, 0x20, 0x47, 0x24, - 0x86, 0xc8, 0x05, 0x9c, 0x7e, 0x6a, 0x42, 0x10, 0x84, 0xbf, 0x4d, 0x87, 0x08, 0xf1, 0xc3, 0x41, - 0xef, 0x1b, 0x01, 0xe6, 0x97, 0xbb, 0xa4, 0xeb, 0xf2, 0x3a, 0x0a, 0xc3, 0x1e, 0xcb, 0xb1, 0x57, - 0xae, 0x8b, 0x6e, 0x86, 0xdd, 0x1d, 0xec, 0x7a, 0x1c, 0x86, 0x62, 0x2d, 0xef, 0x3f, 0x2d, 0x9a, - 0x50, 0xc1, 0x3d, 0x5e, 0xfd, 0x34, 0x78, 0xcb, 0x22, 0x73, 0xc6, 0x69, 0xa6, 0x4e, 0x64, 0x7b, - 0x61, 0x97, 0x23, 0xb4, 0x04, 0xd1, 0xda, 0x9d, 0x0c, 0x76, 0x4f, 0xb5, 0xd6, 0x7f, 0x89, 0x4e, - 0x76, 0x72, 0xa3, 0x03, 0xd5, 0xc6, 0xde, 0x45, 0x78, 0x2c, 0x3c, 0x90, 0xf5, 0x27, 0x9f, 0x56, - 0x27, 0x5e, 0x4d, 0xa5, 0x95, 0x01, 0x76, 0x5d, 0xc4, 0x13, 0xd6, 0x35, 0xed, 0xcc, 0x07, 0xa7, - 0xc8, 0x34, 0x9d, 0x5f, 0xb7, 0x87, 0x0d, 0x73, 0x3a, 0x83, 0x0e, 0x5a, 0x7b, 0x9d, 0xdd, 0x06, - 0xf7, 0xc7, 0x05, 0xf7, 0x5c, 0xf0, 0xce, 0x0a, 0xfb, 0x96, 0xdc, 0x85, 0x13, 0xc5, 0x66, 0xc7, - 0xb2, 0x7c, 0xeb, 0xae, 0x30, 0x0f, 0xe2, 0xb5, 0x06, 0x10, 0xd0, 0x87, 0xdc, 0x72, 0xa2, 0xc7, - 0x6d, 0x00, 0xc4, 0x49, 0xdd, 0xf3, 0xee, 0xd2, 0xa7, 0x74, 0xe3, 0xb9, 0x55, 0x73, 0x66, 0xa3, - 0x0c, 0x60, 0x55, 0xd7, 0xc7, 0x41, 0xd3, 0xe2, 0x4c, 0x42, 0x08, 0x50, 0xae, 0x50, 0xcd, 0x76, - 0x27, 0x73, 0x0e, 0xaf, 0xb4, 0x33, 0x13, 0x33, 0xf6, 0x7e, 0x15, 0x3c, 0x5c, 0x39, 0xe0, 0xce, - 0xcc, 0xc7, 0xbe, 0x3e, 0x99, 0x7b, 0x7a, 0x5a, 0x2b, 0x2e, 0xdf, 0x39, 0xf1, 0x7f, 0xe7, 0x79, - 0x41, 0x39, 0x25, 0xbe, 0x5a, 0xeb, 0xd9, 0x67, 0x6a, 0x2c, 0xf3, 0x08, 0xb9, 0xbb, 0x66, 0xe4, - 0x0a, 0x0c, 0x4a, 0xc4, 0x5e, 0x76, 0xf5, 0x24, 0xdc, 0xfd, 0x1c, 0x58, 0xd4, 0x09, 0xf2, 0x03, - 0xfa, 0x82, 0x48, 0xa5, 0xa2, 0xc8, 0xa2, 0xcd, 0x4e, 0x34, 0xd3, 0x88, 0xf9, 0x94, 0x78, 0x9a, - 0xce, 0x90, 0x12, 0xfb, 0x73, 0xba, 0xf1, 0x38, 0x9b, 0x6a, 0x45, 0xac, 0xc4, 0xf5, 0x29, 0xb5, - 0x48, 0x93, 0x5f, 0x65, 0x45, 0x0d, 0x25, 0x1a, 0x64, 0x37, 0xfb, 0xcd, 0xa5, 0xbd, 0x5c, 0x72, - 0x7c, 0xa2, 0x44, 0xe6, 0xe8, 0x62, 0xa1, 0xa4, 0xb7, 0x82, 0xcf, 0xe2, 0x53, 0xcb, 0xe5, 0xa8, - 0x5d, 0x1d, 0x4a, 0xc3, 0x47, 0xc0, 0x7d, 0xe6, 0xc0, 0x5c, 0x0e, 0x50, 0xc8, 0x43, 0x0f, 0x6a, - 0x7e, 0x72, 0xfd, 0x7b, 0xc2, 0xd3, 0x81, 0x23, 0x9c, 0x1c, 0xb2, 0xbc, 0xec, 0x18, 0x78, 0xef, - 0x80, 0x3c, 0xe4, 0x32, 0x69, 0xfb, 0xb4, 0x7f, 0xd9, 0x9e, 0xc9, 0x2a, 0xa4, 0xce, 0x0c, 0x7e, - 0x2f, 0xdf, 0x9a, 0x42, 0x5f, 0x04, 0x49, 0x49, 0x27, 0xe7, 0x7a, 0x68, 0x5f, 0xb1, 0xd9, 0xdb, - 0xce, 0xa8, 0x17, 0x7c, 0xa2, 0x07, 0xe8, 0xb4, 0x07, 0x65, 0xbb, 0x53, 0xae, 0xf5, 0x79, 0xc4, - 0x57, 0xeb, 0xc2, 0x23, 0xfd, 0xf7, 0x2e, 0x4b, 0x41, 0x71, 0x7f, 0x79, 0x3b, 0x15, 0xc8, 0x05, - 0xc8, 0xaa, 0x2f, 0x41, 0x59, 0x82, 0x95, 0xaf, 0xb6, 0x7a, 0x1d, 0xff, 0x63, 0x93, 0x39, 0x97, - 0x23, 0x5d, 0x62, 0xc4, 0x57, 0xa9, 0x92, 0x64, 0x79, 0x79, 0xfe, 0x11, 0x4a, 0xca, 0x0c, 0xf1, - 0xc4, 0x07, 0x17, 0x5c, 0x1a, 0x67, 0xd5, 0x23, 0x32, 0xe9, 0xa3, 0x33, 0xa4, 0x92, 0xd5, 0x7a, - 0x3c, 0xcf, 0x32, 0x04, 0x93, 0xd6, 0x69, 0x93, 0x13, 0xb3, 0x7a, 0xeb, 0x81, 0xa1, 0x8d, 0xaa, - 0xe8, 0xff, 0x95, 0xa4, 0x6f, 0x93, 0x48, 0x77, 0xda, 0x01, 0xd5, 0x8e, 0x4b, 0x29, 0x92, 0xbf, - 0xac, 0xa6, 0x44, 0xf0, 0xe1, 0x2e, 0x95, 0xd2, 0xc3, 0x5c, 0x61, 0x7a, 0xcc, 0x0f, 0xee, 0xa2, - 0x13, 0xf1, 0x2b, 0x32, 0x16, 0x09, 0x92, 0xda, 0x3e, 0xe6, 0x87, 0xa2, 0xf2, 0xe2, 0xa0, 0xf5, - 0x42, 0x2b, 0x3f, 0xbb, 0xd0, 0x9d, 0xfa, 0x34, 0xc5, 0xb9, 0x6b, 0xec, 0x02, 0xf8, 0xb7, 0xd8, - 0xf1, 0x73, 0x2f, 0x68, 0x4b, 0x07, 0x67, 0x22, 0x3c, 0x26, 0xc8, 0x2d, 0x7d, 0xfb, 0x31, 0x86, - 0x04, 0x4f, 0x38, 0x38, 0x68, 0x6e, 0x47, 0x94, 0x2b, 0xc2, 0xa0, 0x7e, 0x3b, 0x13, 0x42, 0x68, - 0xa8, 0xc4, 0xc2, 0xe9, 0x80, 0x6f, 0xcb, 0x37, 0x47, 0x7b, 0xca, 0xd4, 0x25, 0x2e, 0xc7, 0xd9, - 0x6d, 0xda, 0x8e, 0xfc, 0x5c, 0xd8, 0xd0, 0xba, 0x7d, 0x3d, 0xfa, 0x10, 0x47, 0x6a, 0x97, 0xd5, - 0x5c, 0x27, 0x8e, 0x15, 0xdf, 0x59, 0xd9, 0x39, 0x3a, 0x2d, 0xde, 0x44, 0x45, 0x3d, 0xc8, 0xd2, - 0xff, 0x9f, 0x61, 0xe3, 0xe0, 0xb5, 0x97, 0x50, 0xbb, 0xc2, 0x27, 0x34, 0xd2, 0x79, 0x57, 0xac, - 0xdd, 0x3f, 0xb7, 0x92, 0xd7, 0x47, 0x5a, 0x71, 0x1c, 0xfb, 0xf1, 0x0c, 0x65, 0xd0, 0x66, 0xac, - 0x27, 0x46, 0x4c, 0x8c, 0xa4, 0x8d, 0x2b, 0x72, 0xbb, 0xc1, 0x09, 0x9a, 0x6b, 0x61, 0x08, 0x1d, - 0x90, 0xad, 0x0d, 0x06, 0x4b, 0xda, 0x67, 0xd3, 0xf6, 0xbd, 0x43, 0xc6, 0x3a, 0xd0, 0x1a, 0xce, - 0x8d, 0x82, 0x03, 0xd2, 0xeb, 0x0a, 0x7b, 0x24, 0x5f, 0x63, 0x3d, 0x34, 0x64, 0x8b, 0xf4, 0x3f, - 0x5f, 0x86, 0x47, 0xd5, 0x67, 0x52, 0x63, 0x5f, 0x2d, 0xf2, 0xf8, 0x35, 0xd6, 0x2f, 0x62, 0x51, - 0xad, 0x60, 0x17, 0x3f, 0x36, 0xbb, 0x4e, 0xcd, 0xd9, 0x3b, 0x83, 0x2d, 0xe0, 0xfd, 0x24, 0x78, - 0xdd, 0x34, 0xd6, 0x2d, 0x2f, 0xdc, 0xf9, 0x20, 0x4d, 0x17, 0x9b, 0xfb, 0xdb, 0xeb, 0x06, 0xd7, - 0xbc, 0x06, 0xb3, 0x38, 0xb5, 0xe6, 0x69, 0xef, 0xd3, 0x91, 0xf2, 0xc5, 0x07, 0x2a, 0x68, 0xac, - 0x94, 0x85, 0xb0, 0xa0, 0x73, 0x45, 0xa6, 0x8a, 0xa2, 0xe7, 0xb8, 0x88, 0x09, 0xdc, 0xb3, 0x33, - 0xc6, 0xc4, 0x76, 0xc3, 0x1c, 0x03, 0xda, 0x5b, 0x8c, 0xd4, 0x22, 0xdd, 0xb1, 0x1d, 0xf5, 0xe3, - 0x3a, 0x05, 0xf2, 0x9d, 0xa9, 0x57, 0x8e, 0x83, 0x28, 0x9c, 0x09, 0x9a, 0xc2, 0x51, 0x73, 0xb8, - 0xfa, 0x1e, 0x51, 0xb4, 0x55, 0x10, 0x4c, 0x3e, 0x19, 0x84, 0x1c, 0xa7, 0x97, 0x2c, 0xf4, 0xa6, - 0xe7, 0xb3, 0x03, 0xa3, 0x00, 0xa3, 0x2a, 0xce, 0x90, 0x16, 0xd5, 0x4b, 0xf4, 0x3e, 0x1d, 0x95, - 0x66, 0x10, 0x5c, 0xa5, 0x1e, 0xc9, 0x35, 0xe9, 0xe8, 0x29, 0x89, 0xf9, 0x99, 0x7a, 0x10, 0x46, - 0x3a, 0xa1, 0xf8, 0x48, 0xa8, 0x17, 0x17, 0x34, 0xab, 0xe6, 0x4d, 0xc4, 0x1f, 0xba, 0x20, 0xe7, - 0x18, 0xb0, 0x85, 0x91, 0xc2, 0x18, 0xae, 0x7d, 0x10, 0x80, 0x6c, 0xae, 0x87, 0x1d, 0x93, 0xfe, - 0x64, 0x12, 0x65, 0x8b, 0x06, 0xe2, 0xa6, 0x39, 0xb9, 0x10, 0xda, 0xbb, 0xfe, 0xcc, 0xd5, 0x65, - 0x5d, 0xfd, 0x4e, 0xa5, 0xb7, 0x87, 0x07, 0x1f, 0xef, 0x83, 0xe2, 0xf7, 0x2b, 0x4e, 0x68, 0x56, - 0x3e, 0xcf, 0xcb, 0x40, 0xdd, 0x9a, 0xd9, 0x61, 0x9a, 0x25, 0x23, 0x98, 0xf1, 0x3e, 0x6c, 0x51, - 0x4f, 0x64, 0x26, 0x4f, 0xb6, 0x42, 0xe7, 0xac, 0x74, 0x1b, 0x0c, 0x50, 0xbf, 0xb1, 0x20, 0xff, - 0x5b, 0x25, 0xac, 0xa9, 0x16, 0xb0, 0xf6, 0x0e, 0x48, 0xe4, 0x24, 0xb2, 0xaf, 0x2e, 0x51, 0xd3, - 0x90, 0x5e, 0xab, 0x2f, 0x2c, 0x90, 0xd7, 0x61, 0x9f, 0x53, 0x8c, 0xd0, 0x51, 0x1c, 0xa3, 0x1b, - 0x17, 0x52, 0xbf, 0x2c, 0x28, 0xbe, 0xe6, 0xcc, 0xe6, 0x22, 0x31, 0x0a, 0x3e, 0xed, 0x3d, 0xe7, - 0xe7, 0x63, 0x65, 0x2f, 0x61, 0x37, 0x55, 0x6c, 0x8c, 0xd0, 0x17, 0xee, 0x11, 0x5e, 0x74, 0xd9, - 0xa6, 0xc5, 0x32, 0xcb, 0x88, 0xfa, 0x1a, 0xe0, 0x1e, 0x19, 0x6a, 0x18, 0x63, 0x65, 0x04, 0x78, - 0xb6, 0xb0, 0x87, 0xb6, 0xd4, 0xd9, 0x65, 0x1e, 0x88, 0x34, 0xe9, 0x06, 0xd3, 0x01, 0x5a, 0xa8, - 0x48, 0x7a, 0x91, 0x0f, 0x6c, 0x26, 0x8d, 0x04, 0xa8, 0xcb, 0x18, 0xc1, 0x11, 0xa5, 0xc4, 0x6b, - 0xbb, 0xf7, 0xd4, 0xc4, 0x57, 0x91, 0x72, 0xca, 0x9a, 0x23, 0x3a, 0xb0, 0xb1, 0x0e, 0xa9, 0xee, - 0x8b, 0x41, 0x94, 0x45, 0x52, 0xdd, 0xbf, 0x0b, 0x01, 0x3b, 0xa4, 0x9f, 0x35, 0x01, 0xe8, 0xff, - 0x5e, 0x9b, 0x1e, 0x57, 0x4f, 0x18, 0x9f, 0x91, 0x26, 0x66, 0x47, 0xde, 0xa0, 0xf4, 0x93, 0xca, - 0x23, 0xf8, 0x3d, 0x37, 0x9f, 0x6b, 0xe1, 0x0a, 0x7d, 0x31, 0x5a, 0x0f, 0xdb, 0x6b, 0xb6, 0x33, - 0xbc, 0x7c, 0xca, 0x4c, 0x9a, 0x37, 0x21, 0xb8, 0x24, 0x44, 0x34, 0x16, 0x78, 0x31, 0xd9, 0x2c, - 0x3d, 0xb4, 0x66, 0x32, 0xa1, 0x9c, 0x77, 0x2b, 0xf9, 0xfc, 0x0f, 0xf5, 0xfe, 0x2b, 0x2b, 0xc9, - 0xa3, 0x2d, 0x93, 0x27, 0x43, 0xaf, 0x88, 0x46, 0xda, 0xcd, 0x6e, 0xbd, 0xd7, 0x2b, 0x3f, 0x4d, - 0x2b, 0xa2, 0x36, 0x65, 0x2d, 0x13, 0x9a, 0xa0, 0x29, 0x73, 0x98, 0x46, 0x62, 0x07, 0x42, 0x70, - 0x8d, 0x54, 0xd3, 0xcd, 0x89, 0x80, 0x68, 0x44, 0xaf, 0xe6, 0x8e, 0xbc, 0x99, 0x65, 0x72, 0x8d, - 0x0d, 0x9d, 0x86, 0xa5, 0x57, 0x48, 0xf6, 0xaa, 0x12, 0x99, 0x79, 0x5b, 0xfa, 0x99, 0x53, 0x95, - 0x77, 0xbc, 0xc3, 0x5a, 0xec, 0xc9, 0xdf, 0xcf, 0x36, 0x2a, 0xcc, 0xaf, 0x3f, 0xd7, 0x8c, 0x06, - 0x70, 0xd2, 0x39, 0x56, 0xd0, 0xb4, 0xe8, 0xd2, 0x30, 0x73, 0x8c, 0x90, 0x65, 0xf8, 0xb5, 0xb8, - 0xd0, 0x57, 0x9e, 0x28, 0xa7, 0x24, 0xda, 0x72, 0x0f, 0x23, 0x4b, 0xae, 0xef, 0x4c, 0x24, 0xa7, - 0xba, 0xc9, 0x63, 0x9e, 0x14, 0xa0, 0x3b, 0xce, 0xc3, 0x1a, 0x65, 0xb0, 0xcd, 0xf8, 0x5f, 0x06, - 0xed, 0xa9, 0x97, 0xb2, 0x7d, 0x30, 0x6c, 0x25, 0x40, 0xce, 0xca, 0x3f, 0x3d, 0xf6, 0xc8, 0xdd, - 0x00, 0x9e, 0x4c, 0x3a, 0xf3, 0xaa, 0x62, 0x9e, 0x31, 0xed, 0x4a, 0xd7, 0x09, 0x31, 0xb6, 0x43, - 0xd3, 0x72, 0xe8, 0xe3, 0xb1, 0xdb, 0xb1, 0x97, 0x43, 0x34, 0x44, 0x71, 0x71, 0xfa, 0x96, 0x78, - 0xf7, 0x5c, 0x8c, 0xbe, 0xc1, 0x08, 0xb6, 0x9d, 0x48, 0x5a, 0x04, 0xdf, 0xff, 0xe1, 0x52, 0x99, - 0xe0, 0xd5, 0x64, 0xb6, 0xb7, 0x98, 0x09, 0x8d, 0x9b, 0x01, 0x55, 0x09, 0x34, 0x41, 0x67, 0xc0, - 0xed, 0x82, 0xce, 0x73, 0x7d, 0x99, 0x44, 0x6d, 0x7b, 0x62, 0x86, 0xd2, 0xfb, 0x83, 0x53, 0x9d, - 0x4c, 0x3d, 0x41, 0xda, 0xb1, 0x3c, 0x72, 0x83, 0x5f, 0xfe, 0x4c, 0xb4, 0xc7, 0x40, 0x77, 0xe7, - 0x43, 0x57, 0xfa, 0x00, 0x22, 0xdd, 0x08, 0x72, 0x97, 0xd8, 0xf2, 0xe4, 0x53, 0x12, 0xa9, 0x2f, - 0x6c, 0x1e, 0x3a, 0xd5, 0xdb, 0xc6, 0x15, 0x7a, 0xd0, 0xd4, 0x14, 0x7d, 0x28, 0x93, 0x90, 0x18, - 0xa7, 0xd8, 0x1b, 0x83, 0xa3, 0x9a, 0x1d, 0xb3, 0xb2, 0xe3, 0x93, 0xb7, 0x09, 0x24, 0x1d, 0x69, - 0xae, 0xf2, 0x19, 0x1d, 0xdf, 0xf0, 0x48, 0x11, 0x64, 0x55, 0xf1, 0xa3, 0x0a, 0xb4, 0x64, 0x56, - 0x02, 0xb7, 0x4c, 0x65, 0x58, 0x52, 0x70, 0x80, 0x1d, 0x13, 0x83, 0x80, 0x31, 0x61, 0x37, 0x12, - 0x27, 0x88, 0xac, 0xe2, 0xa0, 0xf1, 0x42, 0x4d, 0x0d, 0xbd, 0x30, 0x1d, 0xf4, 0xb2, 0xbf, 0xe0, - 0xfb, 0x5e, 0x76, 0xf5, 0x1d, 0xdd, 0x49, 0x32, 0xe7, 0x59, 0xde, 0xad, 0xb2, 0xe7, 0xb0, 0x06, - 0x2c, 0xf7, 0x55, 0xb2, 0xde, 0xea, 0x88, 0xba, 0x3c, 0xfb, 0x93, 0xa0, 0x22, 0x54, 0x77, 0x93, - 0x5a, 0x28, 0x31, 0x36, 0x44, 0x1e, 0x31, 0xcf, 0x28, 0xa1, 0x6a, 0xfc, 0x69, 0x40, 0xaa, 0x8a, - 0xc6, 0x30, 0xfa, 0xd3, 0x41, 0x37, 0x88, 0x28, 0x00, 0x53, 0x4b, 0x81, 0xfd, 0xf2, 0x57, 0x7c, - 0xe0, 0x00, 0x07, 0x5d, 0x64, 0x63, 0xe7, 0x90, 0x29, 0x92, 0x05, 0x0e, 0xee, 0x16, 0xf8, 0xa4, - 0x89, 0xee, 0x20, 0xd4, 0xef, 0xcd, 0x5c, 0x59, 0x16, 0x45, 0xd6, 0x7e, 0x70, 0xfb, 0xc2, 0xa8, - 0xc6, 0x03, 0x33, 0x0a, 0x38, 0x89, 0x7f, 0xda, 0x77, 0xad, 0x1b, 0xba, 0x9d, 0x00, 0x86, 0x04, - 0x84, 0x4e, 0xb7, 0x27, 0xec, 0xbd, 0x29, 0x91, 0xfa, 0xa6, 0x0c, 0x93, 0x1f, 0x17, 0xef, 0xe7, - 0x1c, 0xdc, 0x18, 0xc5, 0x75, 0xa2, 0x8a, 0x2c, 0xbe, 0x76, 0xc1, 0xd3, 0xf6, 0xdf, 0x32, 0x9a, - 0x51, 0xd3, 0xc3, 0xae, 0x02, 0xd2, 0x21, 0xd5, 0x19, 0x21, 0x29, 0xb5, 0x56, 0x2c, 0x84, 0xa5, - 0xc3, 0xfb, 0x65, 0x10, 0xf3, 0x2c, 0xae, 0x0e, 0x38, 0x9b, 0x6e, 0x3f, 0xe4, 0xff, 0xb7, 0x8d, - 0x64, 0x0d, 0x33, 0x95, 0xc4, 0xc1, 0x0b, 0x7f, 0x74, 0xf6, 0x22, 0xb2, 0xb1, 0xc1, 0xb9, 0xf2, - 0xe6, 0xd3, 0x6a, 0x6a, 0x82, 0xbd, 0x4c, 0x8c, 0x9d, 0x5e, 0x0c, 0x83, 0x83, 0xdb, 0xea, 0xbd, - 0xe3, 0x9d, 0x46, 0x9a, 0x28, 0x24, 0x61, 0x3a, 0xf3, 0xb3, 0xaf, 0x15, 0xdb, 0xe1, 0x81, 0x38, - 0x54, 0x4f, 0xe4, 0xf8, 0x6d, 0x2e, 0x64, 0x27, 0xcb, 0x8d, 0x35, 0xb4, 0xdf, 0x64, 0xc2, 0xf9, - 0xe9, 0x8c, 0x88, 0xc4, 0x4c, 0xaa, 0x9c, 0x7a, 0x85, 0x3b, 0x90, 0xd8, 0xef, 0x8e, 0xa8, 0x98, - 0x98, 0xf7, 0x11, 0xdf, 0x85, 0xbd, 0xe1, 0xb0, 0xfe, 0x8b, 0x66, 0x6e, 0x08, 0xae, 0xe3, 0x6a, - 0x9b, 0xf8, 0x84, 0x2d, 0x14, 0xf5, 0xe2, 0xd9, 0x78, 0xae, 0xa7, 0x1e, 0x09, 0x4d, 0xed, 0xcc, - 0xf9, 0xa3, 0x7c, 0xc4, 0xfd, 0xb8, 0xda, 0x86, 0x6c, 0xa2, 0x14, 0x13, 0xb2, 0x56, 0x31, 0xd2, - 0x09, 0xf5, 0x3a, 0xfb, 0xd4, 0xf0, 0x95, 0x45, 0x06, 0x20, 0xc0, 0x0d, 0xe8, 0x99, 0xdb, 0xdd, - 0x6c, 0xd9, 0xca, 0xd2, 0x4e, 0xd4, 0x43, 0xd1, 0x5d, 0x6f, 0x2c, 0x39, 0x93, 0x6c, 0xda, 0xf8, - 0x91, 0x60, 0x9c, 0x44, 0x81, 0x6b, 0xd9, 0x3e, 0x31, 0x88, 0xf4, 0xb5, 0x25, 0xfc, 0x5b, 0xc9, - 0xc7, 0xe8, 0x8b, 0x7e, 0x2c, 0xce, 0x82, 0xca, 0xfc, 0x9b, 0xb2, 0x6e, 0xa0, 0x9b, 0x47, 0x1b, - 0x4f, 0xba, 0x08, 0xb2, 0xac, 0x76, 0x48, 0xe0, 0x48, 0xc4, 0x9e, 0x6f, 0x50, 0x4d, 0x06, 0xc6, - 0x80, 0x60, 0x66, 0xa0, 0x6c, 0x7c, 0x46, 0x36, 0xe3, 0x68, 0xf6, 0xc0, 0x3a, 0xf9, 0x3b, 0x0f, - 0x7d, 0xa3, 0xa8, 0x8d, 0xc1, 0x4c, 0xc5, 0xe7, 0xe9, 0x1b, 0xcc, 0x0d, 0xe2, 0xc8, 0xdd, 0x8e, - 0x94, 0xda, 0xaf, 0x31, 0xa6, 0x59, 0x53, 0xbb, 0x6b, 0x70, 0xc8, 0xd3, 0xb4, 0x7c, 0xda, 0x34, - 0xda, 0x5a, 0xf9, 0xed, 0x18, 0x9f, 0x52, 0x2e, 0x98, 0x98, 0xfe, 0x1c, 0x33, 0x71, 0x5f, 0x5f, - 0xc4, 0xa0, 0xa1, 0xaa, 0xa1, 0xaf, 0xd3, 0x24, 0x58, 0x25, 0x72, 0xaf, 0xf8, 0xb1, 0xfe, 0x12, - 0x74, 0xca, 0x80, 0x42, 0xd5, 0xd4, 0x72, 0xbe, 0x23, 0x63, 0x9d, 0x01, 0x08, 0xc0, 0x67, 0xb2, - 0x82, 0xfd, 0x86, 0xf9, 0x4e, 0xc9, 0xd8, 0x3f, 0xe8, 0x47, 0x30, 0x3a, 0x28, 0x74, 0x92, 0x84, - 0xa2, 0x7a, 0xc4, 0x88, 0x74, 0xe9, 0xfe, 0xf6, 0x44, 0x5b, 0x7a, 0x15, 0xe8, 0xe8, 0x2b, 0x80, - 0xa4, 0x88, 0x5d, 0x24, 0xb7, 0x95, 0xb3, 0x26, 0x80, 0x74, 0xfe, 0x2c, 0x4b, 0x5e, 0xd3, 0x6d, - 0x8b, 0x24, 0x02, 0x5b, 0xb5, 0xd7, 0xca, 0xef, 0xf8, 0x2a, 0x92, 0x3e, 0x25, 0xe4, 0xd4, 0x34, - 0xe9, 0xd8, 0xfd, 0x76, 0x21, 0x41, 0x20, 0xdb, 0x95, 0x53, 0xca, 0x01, 0x9d, 0x65, 0xc0, 0x87, - 0x8e, 0xbd, 0xf1, 0x2d, 0xb4, 0xa6, 0xe2, 0xa3, 0x05, 0xa7, 0x68, 0xe4, 0x83, 0x2a, 0xf4, 0x75, - 0xc2, 0x48, 0x22, 0xf8, 0x96, 0x6e, 0x55, 0xef, 0xf5, 0x3c, 0x0e, 0x5e, 0x7d, 0x54, 0xfc, 0x19, - 0x33, 0x2e, 0x1e, 0x74, 0x5f, 0x9b, 0x00, 0x88, 0x88, 0x60, 0x9e, 0x7f, 0x06, 0xf8, 0x14, 0xcc, - 0x79, 0xbf, 0xdd, 0x62, 0x61, 0x5d, 0xde, 0xe6, 0xd9, 0x4b, 0x24, 0x46, 0x76, 0x0f, 0x96, 0x3b, - 0x82, 0x96, 0x96, 0x99, 0xf5, 0x43, 0x13, 0xa7, 0x3f, 0xf4, 0x78, 0xd2, 0xf4, 0xba, 0x1b, 0x7b, - 0x50, 0xc5, 0x47, 0x04, 0x76, 0x94, 0x61, 0xb2, 0x11, 0x65, 0x0b, 0x29, 0x90, 0x6f, 0xc7, 0xac, - 0xcf, 0xbd, 0xe5, 0xf8, 0x3d, 0x26, 0xd6, 0x7a, 0xdc, 0xc2, 0x7f, 0xed, 0x76, 0xfa, 0xe7, 0xbe, - 0x06, 0xd4, 0xe6, 0xf8, 0x56, 0x2f, 0x65, 0xd4, 0x31, 0x59, 0x8a, 0x26, 0x2b, 0x74, 0x83, 0x63, - 0xfe, 0x2f, 0xdd, 0xcc, 0x75, 0x5d, 0x3e, 0x9a, 0xbb, 0x39, 0x7f, 0x2e, 0x0f, 0x83, 0xb5, 0x1b, - 0x61, 0xd0, 0x8d, 0x7c, 0xb9, 0x3e, 0x47, 0xb1, 0xad, 0x30, 0x34, 0x4b, 0x47, 0x5e, 0x48, 0x0c, - 0x89, 0x74, 0x5c, 0x09, 0x4c, 0x34, 0xd9, 0x45, 0xf6, 0x8e, 0x4b, 0x80, 0xab, 0x78, 0x06, 0x31, - 0xfb, 0x44, 0x5c, 0x0d, 0xcb, 0xe4, 0xc8, 0xf8, 0x9c, 0xff, 0x25, 0x4d, 0x82, 0x15, 0xbb, 0x9d, - 0x18, 0xc5, 0x7d, 0xfd, 0x1b, 0x7a, 0xcb, 0x38, 0x59, 0xbd, 0xbf, 0xcb, 0xe2, 0xc6, 0xd9, 0xd6, - 0x22, 0x33, 0x8f, 0x70, 0xc8, 0x44, 0x59, 0x7f, 0xc7, 0xc4, 0x5b, 0x53, 0xf4, 0x25, 0x46, 0x73, - 0xcd, 0xc9, 0x1d, 0x26, 0x22, 0x3c, 0xe8, 0xa2, 0x21, 0x06, 0xd4, 0xd1, 0xa9, 0xae, 0x7b, 0xa7, - 0xf8, 0xc8, 0x91, 0x6f, 0x1d, 0xe7, 0x8e, 0xa5, 0x39, 0x93, 0x3c, 0x23, 0x96, 0x39, 0xf3, 0x9f, - 0xc7, 0x45, 0x85, 0x15, 0x6f, 0x0e, 0x00, 0xb1, 0x8e, 0x96, 0x8f, 0x5e, 0xe5, 0x22, 0x04, 0x2c, - 0x62, 0x99, 0x38, 0x75, 0x60, 0xc1, 0x82, 0xde, 0x77, 0x65, 0x66, 0xb5, 0x74, 0xa1, 0x17, 0x96, - 0x7c, 0xe8, 0xa0, 0x46, 0xd4, 0x91, 0x1e, 0xe1, 0xf8, 0xbe, 0x61, 0xef, 0xbe, 0x28, 0xbc, 0xe5, - 0x4f, 0x5c, 0x21, 0xe4, 0x17, 0x9f, 0xb5, 0xf9, 0x17, 0x29, 0xe6, 0xa3, 0xb8, 0xe0, 0x99, 0x47, - 0x7b, 0xc2, 0x8e, 0xa2, 0xa6, 0x09, 0xfb, 0xb1, 0xd6, 0x69, 0x6c, 0x3d, 0x33, 0xdb, 0xfa, 0x02, - 0xbc, 0x7a, 0xeb, 0xe9, 0xcf, 0x9f, 0x83, 0xe9, 0xa4, 0x49, 0xab, 0xcb, 0x93, 0x98, 0x73, 0x90, - 0x89, 0xd7, 0x72, 0xc2, 0x4b, 0x35, 0xfb, 0x70, 0x79, 0x8f, 0x0d, 0x54, 0x8e, 0x99, 0x55, 0x7f, - 0x47, 0x4f, 0xa6, 0x13, 0x01, 0x47, 0x4e, 0xfe, 0x3b, 0x44, 0xcb, 0xfa, 0x26, 0x19, 0xc3, 0x10, - 0x4f, 0x4c, 0x78, 0x53, 0xb4, 0xfa, 0x2d, 0x48, 0xa2, 0x1f, 0xdc, 0x2e, 0x72, 0x82, 0xd3, 0x27, - 0xf6, 0x84, 0x19, 0x89, 0x08, 0x74, 0x1e, 0x93, 0x35, 0x69, 0x31, 0x73, 0x65, 0xca, 0x50, 0xc3, - 0x7e, 0x05, 0xfc, 0xf6, 0x6d, 0xef, 0x83, 0x54, 0xcc, 0x5d, 0x70, 0x62, 0xd2, 0x67, 0x92, 0xf5, - 0xc8, 0x1a, 0x87, 0x5f, 0x9d, 0xac, 0xd9, 0x4a, 0xb1, 0x61, 0x84, 0x4a, 0x26, 0x71, 0x1d, 0x45, - 0xee, 0x29, 0x1a, 0xc2, 0xc1, 0x88, 0xa6, 0xab, 0xe5, 0xaf, 0xb2, 0xce, 0xfb, 0xc5, 0x1d, 0x8f, - 0x41, 0x72, 0x58, 0x88, 0xf3, 0x2b, 0xb0, 0xcb, 0x65, 0x5b, 0x86, 0x60, 0x45, 0x92, 0x4b, 0xe8, - 0x20, 0xe7, 0x36, 0x0b, 0xde, 0x64, 0x04, 0xf4, 0x05, 0x6e, 0xa9, 0x73, 0xf9, 0x2a, 0xcb, 0x05, - 0xbb, 0x1d, 0x17, 0x72, 0x2b, 0x82, 0xbc, 0xca, 0x90, 0xcf, 0xb7, 0x23, 0xf2, 0x96, 0xa5, 0x3e, - 0x84, 0x28, 0x52, 0xc0, 0x9e, 0xd5, 0xf5, 0x02, 0x86, 0xbb, 0x64, 0x4f, 0xe3, 0xcb, 0x1b, 0xb0, - 0x09, 0xbd, 0xdb, 0x52, 0xd6, 0x33, 0x28, 0x74, 0xe8, 0x70, 0xd5, 0xf5, 0x1d, 0x94, 0x0d, 0x0d, - 0x02, 0x06, 0xd1, 0x26, 0xdc, 0x4e, 0x5d, 0xd6, 0x66, 0xf8, 0xb9, 0xa3, 0xf1, 0x79, 0x56, 0xcd, - 0x97, 0xaf, 0x24, 0xd4, 0xeb, 0x42, 0x28, 0xb5, 0x33, 0xb0, 0x19, 0x44, 0xb9, 0x82, 0x48, 0xc7, - 0x74, 0x94, 0x80, 0x9c, 0x00, 0x46, 0xf9, 0x19, 0x7b, 0xec, 0x78, 0x30, 0xb2, 0xe8, 0xa2, 0xc6, - 0x20, 0xd5, 0xac, 0x43, 0x37, 0x0e, 0x9d, 0x23, 0xdc, 0x4a, 0x93, 0x86, 0xa9, 0x88, 0xbf, 0x05, - 0x78, 0xfc, 0xf3, 0x54, 0x15, 0x6f, 0xf6, 0x74, 0x96, 0x4f, 0xa2, 0xee, 0xd3, 0x17, 0xb6, 0x2b, - 0x44, 0x86, 0x9f, 0x2e, 0x9f, 0xf6, 0x4a, 0x06, 0x2b, 0xa7, 0x15, 0xc1, 0xfe, 0x21, 0x7a, 0x2b, - 0x73, 0xd9, 0xd7, 0xbf, 0xeb, 0xce, 0x0e, 0x23, 0x31, 0x68, 0xfa, 0x6e, 0x9c, 0xff, 0xfd, 0x17, - 0xeb, 0xf7, 0x99, 0xbf, 0x87, 0x6b, 0xef, 0x6f, 0x32, 0xce, 0x94, 0xf0, 0xa0, 0x02, 0x10, 0x12, - 0x7a, 0x2c, 0x7a, 0x7f, 0x0e, 0x65, 0x54, 0x7d, 0xb6, 0x1f, 0x3f, 0x35, 0x88, 0x55, 0x5e, 0x28, - 0xd6, 0x83, 0x06, 0x11, 0x76, 0x7d, 0xf8, 0x18, 0x42, 0x35, 0x83, 0xff, 0xcf, 0xf2, 0xe1, 0xe2, - 0x40, 0xd4, 0x94, 0x0b, 0xaf, 0xf4, 0x0e, 0x01, 0xb9, 0x07, 0x5c, 0x30, 0xb0, 0xb5, 0x6f, 0xb1, - 0x53, 0xb5, 0x15, 0x38, 0x9e, 0xaa, 0x84, 0xab, 0x4a, 0xe8, 0xdf, 0x1f, 0xb1, 0x8c, 0x0c, 0xe1, - 0x90, 0xab, 0x91, 0xc8, 0x93, 0x9c, 0x4c, 0x0f, 0x9e, 0xc7, 0xa6, 0x70, 0xb1, 0xcd, 0x1f, 0xf0, - 0x37, 0x19, 0xd2, 0xdd, 0xe6, 0x0d, 0x7e, 0x8b, 0xb8, 0xfc, 0x75, 0x92, 0xca, 0x7b, 0xf7, 0x74, - 0x9c, 0x2a, 0xd5, 0xdd, 0x50, 0x09, 0xc1, 0x00, 0xde, 0xbd, 0x41, 0xf2, 0xe0, 0xa4, 0xd3, 0x5e, - 0x6e, 0x22, 0x71, 0x84, 0x47, 0x58, 0xfa, 0x43, 0x4a, 0xef, 0x54, 0x49, 0x06, 0x4e, 0xa2, 0xe3, - 0xb9, 0x2f, 0xdd, 0x24, 0xc8, 0x5a, 0x0c, 0x16, 0xb8, 0xa3, 0x1d, 0x4d, 0x72, 0x3a, 0xe0, 0x2e, - 0x8c, 0xd5, 0x99, 0xae, 0x8c, 0x1b, 0xc4, 0x72, 0xa1, 0x96, 0x50, 0xa1, 0x9f, 0x34, 0xea, 0xfc, - 0x30, 0x22, 0xe4, 0xd0, 0x30, 0x1e, 0x0f, 0x39, 0x22, 0x89, 0xc3, 0x90, 0x74, 0x27, 0xec, 0xab, - 0x1a, 0x71, 0x25, 0xea, 0xb1, 0xf3, 0x9d, 0xbe, 0xb9, 0x34, 0xbe, 0xf5, 0x8d, 0x74, 0x26, 0xb7, - 0x1b, 0x9b, 0xa9, 0x70, 0x8f, 0x35, 0xfe, 0xa1, 0x1b, 0x32, 0xb9, 0x2a, 0x5c, 0xde, 0x40, 0x5c, - 0x8b, 0xcd, 0xc9, 0x16, 0x70, 0xf8, 0xad, 0xd5, 0x1c, 0xb5, 0xd6, 0x62, 0x82, 0xe0, 0xb8, 0xdd, - 0x01, 0x9f, 0xaa, 0x72, 0x87, 0xe1, 0x0a, 0x25, 0x21, 0x7b, 0xd7, 0xbb, 0x8d, 0xd8, 0x5e, 0x92, - 0x35, 0x36, 0xf4, 0x5d, 0xc8, 0x8f, 0x5b, 0xfc, 0x06, 0xa4, 0xe5, 0x16, 0x24, 0xb2, 0x56, 0xaf, - 0x19, 0x00, 0xff, 0x4c, 0xbe, 0x8c, 0x0a, 0xb7, 0x90, 0xa0, 0x68, 0x64, 0xf7, 0x94, 0x59, 0xd3, - 0x78, 0x61, 0xa2, 0xf2, 0xab, 0x75, 0xa8, 0x0f, 0x65, 0x32, 0x87, 0xf3, 0xfc, 0x5c, 0x17, 0x14, - 0x70, 0x34, 0xcd, 0x79, 0xc4, 0xb3, 0x59, 0xeb, 0xfb, 0x71, 0x53, 0x42, 0x26, 0x23, 0xb7, 0x07, - 0x95, 0x72, 0x1b, 0x4c, 0x99, 0xf8, 0xe4, 0xf5, 0x35, 0x07, 0x12, 0xfe, 0xd4, 0x18, 0xc5, 0x9e, - 0xf6, 0xd3, 0x53, 0x11, 0x33, 0x92, 0x71, 0x04, 0xab, 0x6f, 0xcd, 0x6f, 0xe3, 0xec, 0xa8, 0xb0, - 0x1f, 0xd3, 0x38, 0x02, 0xfd, 0xae, 0xf5, 0x5f, 0xab, 0xa7, 0x12, 0x45, 0x56, 0x70, 0x5b, 0x4c, - 0xbc, 0xd5, 0x14, 0x06, 0xea, 0xbd, 0x1d, 0x18, 0x9f, 0x7d, 0xa0, 0x4b, 0x1c, 0x94, 0x2f, 0xf5, - 0x69, 0xe1, 0x51, 0x2b, 0x3a, 0xef, 0x27, 0x5d, 0x68, 0x9c, 0x4d, 0x13, 0xa1, 0xdb, 0x87, 0x0e, - 0x89, 0xbf, 0xda, 0xb6, 0xe3, 0x43, 0x1c, 0xc3, 0xef, 0x47, 0xfb, 0x17, 0x51, 0x1b, 0x6f, 0x1f, - 0xe1, 0x2a, 0x87, 0x80, 0xc9, 0xe0, 0x64, 0x8e, 0x26, 0x6a, 0x80, 0x15, 0x54, 0x0b, 0x9b, 0xd5, - 0x61, 0xb2, 0xf7, 0x78, 0x0c, 0x9c, 0xcc, 0xba, 0x50, 0x65, 0x26, 0x0d, 0x57, 0x7f, 0x77, 0xf6, - 0x60, 0x7e, 0xbf, 0x62, 0xa3, 0x55, 0xde, 0x1d, 0x40, 0x4e, 0xb2, 0x26, 0xde, 0x36, 0x41, 0xda, - 0xca, 0x60, 0x29, 0xa8, 0x3f, 0x37, 0x25, 0xea, 0xc5, 0xd7, 0x87, 0x44, 0x1a, 0x9f, 0xa7, 0x6a, - 0xde, 0x4a, 0x5a, 0x36, 0xc6, 0xc4, 0x88, 0x62, 0xbb, 0x4b, 0xca, 0x14, 0xd2, 0x27, 0x58, 0xe5, - 0x01, 0xbf, 0xe9, 0x5e, 0x49, 0xd3, 0x90, 0x5c, 0xb9, 0x50, 0x0a, 0x15, 0x26, 0xeb, 0x66, 0x43, - 0x56, 0x8c, 0x35, 0xde, 0x69, 0x08, 0x9b, 0xd1, 0xeb, 0xb5, 0x51, 0x59, 0xd8, 0xc2, 0xca, 0x9f, - 0x12, 0xb1, 0x57, 0xaa, 0x75, 0x92, 0xbb, 0xf2, 0x05, 0xa9, 0x4f, 0x3c, 0x15, 0xa7, 0x10, 0x2f, - 0x9a, 0x16, 0xdd, 0x3e, 0x73, 0xeb, 0x03, 0x5d, 0x29, 0x38, 0xca, 0x63, 0x95, 0xb2, 0x1b, 0xbb, - 0xb7, 0x74, 0xba, 0xdc, 0x19, 0x57, 0x8f, 0x85, 0xd4, 0x66, 0x44, 0xce, 0x01, 0x4b, 0x90, 0x94, - 0x40, 0x36, 0x56, 0xf7, 0x09, 0x02, 0x6b, 0x86, 0xd1, 0x4b, 0x13, 0xd7, 0x35, 0x4f, 0x4d, 0x45, - 0x40, 0xcb, 0xcc, 0xc0, 0xa0, 0x0f, 0xf9, 0x8e, 0x3e, 0x4e, 0x2b, 0xd4, 0x5c, 0xec, 0x9b, 0x0d, - 0xcf, 0x35, 0x72, 0x3f, 0xc2, 0x0f, 0x5c, 0xb0, 0xd5, 0x22, 0x00, 0xe1, 0xa2, 0x25, 0xca, 0xa0, - 0x4d, 0xa7, 0x9b, 0xb9, 0x6a, 0xba, 0xb4, 0x57, 0x85, 0x6a, 0x8b, 0x8b, 0x24, 0x55, 0xd1, 0x00, - 0xc7, 0x02, 0x5a, 0xdd, 0x65, 0x89, 0x1a, 0x93, 0x5c, 0x06, 0xbd, 0x69, 0x2b, 0x17, 0x3d, 0x82, - 0x54, 0x09, 0xdb, 0x33, 0x9b, 0xdb, 0xf9, 0x7b, 0x57, 0xe8, 0x38, 0x70, 0xac, 0x8f, 0x43, 0x50, - 0x98, 0x5a, 0x6e, 0x82, 0x37, 0x11, 0xc5, 0xd4, 0x56, 0xa0, 0x13, 0xf5, 0xc8, 0xd2, 0x61, 0x30, - 0xfd, 0xca, 0xdd, 0x53, 0x83, 0xd0, 0x8e, 0xcb, 0xb7, 0x5f, 0x05, 0xc4, 0xdc, 0x50, 0x1e, 0xd6, - 0xff, 0x1f, 0x9c, 0xef, 0xef, 0x5a, 0x0c, 0xe0, 0x36, 0x06, 0xfa, 0x7c, 0x0f, 0xc6, 0xb1, 0xe8, - 0x8d, 0xae, 0x73, 0x0a, 0xcc, 0x86, 0x70, 0x3e, 0x0e, 0x23, 0x95, 0x9b, 0xf9, 0xa5, 0xe5, 0x11, - 0xec, 0x60, 0xd0, 0x20, 0xad, 0x4d, 0xb2, 0x36, 0x06, 0x04, 0x11, 0x06, 0x09, 0xef, 0x46, 0xb2, - 0x59, 0xc3, 0x50, 0xec, 0x7e, 0x0d, 0x19, 0x51, 0xe1, 0xff, 0x0f, 0xa7, 0x6d, 0x37, 0x78, 0xed, - 0x65, 0x14, 0x2f, 0x37, 0xe7, 0x09, 0xdf, 0xe2, 0x6b, 0x54, 0x66, 0x3a, 0xe2, 0x50, 0xf5, 0x1c, - 0xcc, 0xeb, 0xe3, 0xf2, 0x9a, 0x8f, 0x16, 0x4c, 0xf8, 0xd1, 0xd0, 0x9f, 0x65, 0xc0, 0x16, 0x28, - 0xc7, 0xcf, 0x88, 0x3c, 0x8e, 0x00, 0x41, 0xc5, 0x73, 0xb1, 0x97, 0x21, 0x81, 0x19, 0x08, 0xaa, - 0xae, 0xec, 0x19, 0xe1, 0x95, 0x5c, 0xa1, 0xbb, 0x51, 0x18, 0xf4, 0xa1, 0x76, 0x63, 0x31, 0x41, - 0x88, 0x8e, 0xb5, 0x34, 0xe1, 0x7d, 0x42, 0xa7, 0x2f, 0x93, 0x8b, 0xb1, 0xc4, 0x9d, 0xc2, 0xa3, - 0xc0, 0x4e, 0xd9, 0xd6, 0xf8, 0xaa, 0x44, 0xad, 0x5c, 0x9c, 0x84, 0x02, 0x44, 0x8a, 0xbf, 0xe7, - 0x5b, 0x7f, 0x8a, 0xd4, 0xc6, 0x23, 0x8c, 0xa5, 0x0d, 0x27, 0xe6, 0xab, 0x83, 0x6c, 0x54, 0x94, - 0x6a, 0x43, 0xbe, 0x92, 0xa4, 0xc4, 0x59, 0x06, 0xa3, 0x26, 0x58, 0x5a, 0x6d, 0x8b, 0x58, 0x43, - 0x9f, 0xe6, 0xdd, 0x13, 0x29, 0x59, 0xb8, 0xd6, 0x0c, 0xed, 0xa6, 0x72, 0x05, 0x14, 0x81, 0xbe, - 0x1a, 0x5e, 0xf1, 0xdc, 0x7a, 0x53, 0x71, 0x96, 0x9f, 0x9c, 0x36, 0x79, 0x8c, 0xcf, 0x81, 0x82, - 0x98, 0xef, 0xa7, 0xee, 0x5d, 0xcb, 0x85, 0x07, 0x4b, 0x08, 0xcc, 0x84, 0x03, 0xac, 0xc8, 0xa5, - 0x69, 0x02, 0xc0, 0xf3, 0x35, 0x99, 0x5b, 0xb5, 0x4f, 0x31, 0x0e, 0x42, 0x0a, 0x51, 0x4c, 0xc9, - 0xd8, 0xa1, 0x13, 0xb7, 0xc9, 0x8e, 0xa2, 0x95, 0xf9, 0x4e, 0xbc, 0x92, 0x20, 0xe9, 0xf5, 0x99, - 0xf9, 0xc6, 0x38, 0x2c, 0x68, 0x7d, 0x71, 0x40, 0xc2, 0xd5, 0xf5, 0xd1, 0x91, 0xb4, 0x8d, 0xd9, - 0x79, 0xba, 0x55, 0xf6, 0x23, 0xee, 0xc7, 0x5a, 0xa7, 0xcd, 0x72, 0x86, 0x14, 0x67, 0x88, 0x36, - 0xbd, 0x6a, 0x54, 0xb5, 0x32, 0x6e, 0x16, 0xb6, 0x01, 0x36, 0xd6, 0x5b, 0x6e, 0x7a, 0x0c, 0xc4, - 0x8c, 0x7d, 0x09, 0xb4, 0x91, 0xff, 0x01, 0x48, 0x9b, 0x4d, 0x0d, 0xde, 0x62, 0x77, 0x5d, 0x2c, - 0xb6, 0x0d, 0x3f, 0x60, 0xc8, 0xd5, 0x1c, 0x3f, 0xee, 0x98, 0xab, 0xe1, 0xc0, 0x3d, 0x1d, 0x90, - 0xdb, 0x32, 0x1c, 0x85, 0x56, 0xe1, 0x59, 0x30, 0xef, 0x90, 0xb6, 0x7d, 0x50, 0xd8, 0x9e, 0xd0, - 0x19, 0x2f, 0x4a, 0xc5, 0xe7, 0x7e, 0x99, 0xa5, 0x8f, 0x1d, 0xb1, 0x5d, 0xa9, 0xd6, 0xbe, 0xc0, - 0x63, 0xd2, 0xef, 0x73, 0x8f, 0x27, 0xc6, 0x4f, 0x56, 0x7f, 0xc6, 0xf8, 0xd2, 0xcd, 0x97, 0xcf, - 0xb8, 0xea, 0xe9, 0xb1, 0xff, 0xe2, 0xb9, 0x04, 0x0d, 0xb9, 0x71, 0xd1, 0xb5, 0x7d, 0x92, 0x95, - 0xb8, 0x7b, 0xfe, 0x1a, 0x7a, 0x95, 0x62, 0x33, 0x6c, 0x07, 0x37, 0x2b, 0x25, 0x25, 0xba, 0xfd, - 0x02, 0x50, 0x6d, 0xc5, 0xcc, 0xf3, 0x4d, 0xdb, 0x95, 0x3a, 0x85, 0x0e, 0x5a, 0xc8, 0xc9, 0xd1, - 0x37, 0x75, 0x70, 0x1e, 0x08, 0x77, 0x47, 0xcf, 0xeb, 0x24, 0xf3, 0x0c, 0x84, 0xfc, 0x00, 0x69, - 0xbb, 0x32, 0x42, 0x0b, 0xe9, 0x1a, 0xc3, 0xc0, 0x6c, 0x13, 0x3f, 0x9a, 0x85, 0x84, 0xca, 0x08, - 0xb6, 0x7e, 0xca, 0x85, 0x34, 0xd0, 0xb6, 0x4a, 0x10, 0x27, 0x12, 0x56, 0x44, 0xb6, 0xb7, 0xcd, - 0x12, 0x29, 0xb3, 0xba, 0x22, 0xc3, 0x62, 0x38, 0x90, 0x26, 0x6c, 0x57, 0xe8, 0x12, 0x3e, 0xd8, - 0xc6, 0x8f, 0x34, 0xc8, 0x18, 0x45, 0x7b, 0x04, 0x7d, 0xa9, 0xb2, 0xc6, 0xed, 0x78, 0x01, 0x4d, - 0xf8, 0xa7, 0x50, 0xa9, 0xa2, 0xa2, 0xbd, 0xe3, 0x40, 0xfe, 0x8d, 0x16, 0xd6, 0xfd, 0x53, 0xcf, - 0x8b, 0x1d, 0x67, 0x95, 0x7e, 0x67, 0xcb, 0xc7, 0x80, 0x3a, 0x4f, 0xd2, 0x7d, 0x6a, 0x84, 0xc9, - 0x75, 0x5d, 0x7c, 0xd3, 0xb8, 0x5c, 0xa0, 0x33, 0x55, 0xa0, 0x1a, 0x1d, 0x3d, 0x12, 0x9e, 0x75, - 0x1c, 0x80, 0x5b, 0x35, 0x0c, 0x7a, 0xc5, 0x95, 0x94, 0x95, 0xc2, 0xdb, 0xf5, 0x87, 0x7d, 0x8d, - 0x5c, 0x0f, 0x75, 0x03, 0x85, 0xbd, 0xc8, 0x5d, 0x8f, 0xed, 0x4b, 0xf7, 0x9c, 0x46, 0x37, 0xa1, - 0x91, 0x30, 0x05, 0x2f, 0x80, 0x74, 0xa8, 0x1b, 0xcf, 0xc1, 0x0b, 0x85, 0x39, 0x2c, 0x32, 0xab, - 0x26, 0xe2, 0xdc, 0x94, 0xe9, 0x89, 0xb2, 0xeb, 0xa0, 0xb7, 0x88, 0x94, 0xbc, 0x89, 0x92, 0xdf, - 0xa7, 0xba, 0x7a, 0xac, 0x25, 0x6c, 0xcb, 0xa4, 0x29, 0x48, 0x40, 0x71, 0x95, 0x11, 0x99, 0x5b, - 0x1e, 0x49, 0x8e, 0x27, 0x09, 0xc2, 0x57, 0xe2, 0x68, 0x08, 0xcc, 0x26, 0x8a, 0x5b, 0xc8, 0x66, - 0x9c, 0xb5, 0xf3, 0xc0, 0x37, 0x57, 0x48, 0xa6, 0x4c, 0xab, 0x2d, 0x07, 0xf0, 0x90, 0xf8, 0xb9, - 0x63, 0x00, 0x1d, 0xa7, 0x11, 0x9f, 0xfa, 0x7c, 0x6c, 0x18, 0x60, 0x76, 0xbe, 0x42, 0xc6, 0x86, - 0xe1, 0x79, 0xab, 0xfa, 0xeb, 0x79, 0x5f, 0x89, 0x1c, 0x8d, 0x33, 0x4a, 0xca, 0x62, 0x88, 0x97, - 0x47, 0x3e, 0x3b, 0x15, 0x10, 0xf6, 0xf2, 0x6c, 0x66, 0x36, 0x06, 0x13, 0x9a, 0xe2, 0x86, 0xa2, - 0xfe, 0x19, 0x7c, 0x37, 0xef, 0x1b, 0xb7, 0x0b, 0x1e, 0x19, 0xe1, 0x70, 0xe3, 0xea, 0xbb, 0x54, - 0x1e, 0x3e, 0xa5, 0x5b, 0x93, 0x1c, 0x57, 0x40, 0xa9, 0xd7, 0x44, 0x5e, 0x55, 0x82, 0x61, 0xf8, - 0x7b, 0x73, 0x00, 0x00, 0x53, 0x2a, 0x42, 0x14, 0xff, 0xef, 0xd8, 0x65, 0xfe, 0x7f, 0xd0, 0x80, - 0x28, 0x5d, 0x35, 0xbc, 0x22, 0x70, 0x9a, 0x9a, 0xd5, 0x1b, 0xb6, 0xe6, 0x00, 0x2a, 0x3a, 0xc0, - 0xbb, 0x58, 0x8f, 0x9f, 0xbb, 0x34, 0x65, 0x94, 0x0d, 0xd0, 0x6e, 0x8e, 0x10, 0x0f, 0x3e, 0x57, - 0x41, 0x57, 0xe8, 0x7e, 0xdc, 0xda, 0xed, 0xc8, 0xf2, 0xac, 0x01, 0xea, 0x51, 0xa6, 0x9b, 0x72, - 0x66, 0x1c, 0xe8, 0xbc, 0xcc, 0xc9, 0x21, 0xee, 0x7a, 0x4d, 0xb7, 0xe7, 0xa5, 0x0b, 0x43, 0x3b, - 0xec, 0x5a, 0x61, 0x60, 0x5d, 0x99, 0x57, 0x38, 0x68, 0xac, 0x72, 0x67, 0xdb, 0xa9, 0x11, 0xa4, - 0x17, 0x65, 0xba, 0xba, 0xa3, 0x5d, 0x45, 0x69, 0x84, 0x08, 0x83, 0x76, 0x0f, 0xdc, 0x60, 0x29, - 0x11, 0x1a, 0x79, 0x8e, 0x69, 0x79, 0xa7, 0xf9, 0x68, 0xf6, 0x6f, 0xc4, 0xd6, 0xfe, 0xbf, 0x28, - 0x4a, 0x3d, 0x2f, 0x2c, 0x22, 0x3b, 0x54, 0x57, 0xda, 0x92, 0x6a, 0x7a, 0xb0, 0x16, 0x34, 0x20, - 0x51, 0x9b, 0xd4, 0xbc, 0x77, 0x70, 0x78, 0xd0, 0xbe, 0x6c, 0xcb, 0x7b, 0x6b, 0x4c, 0xce, 0xfa, - 0x13, 0x33, 0xdf, 0xea, 0xfc, 0xbc, 0x12, 0xae, 0xe9, 0x45, 0xbc, 0x13, 0xfc, 0xda, 0xe2, 0x76, - 0x4d, 0x20, 0xf5, 0x52, 0xee, 0x81, 0x4e, 0x7b, 0x90, 0x6d, 0x44, 0xa0, 0xc5, 0x4d, 0x75, 0x58, - 0x88, 0xdf, 0x0e, 0xb8, 0xfe, 0x48, 0x17, 0xe0, 0x2c, 0x33, 0x91, 0xcd, 0x47, 0xcf, 0xb7, 0x6a, - 0xa1, 0xce, 0x75, 0xc0, 0x6d, 0xb5, 0x7e, 0xd9, 0xbf, 0xe0, 0x59, 0xb3, 0xa1, 0xb1, 0x82, 0x52, - 0xd0, 0x65, 0xfe, 0xea, 0x5a, 0x32, 0xa2, 0xb1, 0x05, 0x4f, 0xa4, 0x87, 0x88, 0x6e, 0x75, 0x3b, - 0xcd, 0x7f, 0x20, 0x8b, 0xd5, 0x19, 0x65, 0x06, 0x99, 0xe4, 0xe1, 0x8f, 0xf2, 0xe0, 0xf1, 0x7d, - 0x7b, 0x3b, 0xff, 0x3d, 0xbb, 0xd9, 0x31, 0x8b, 0x04, 0x0c, 0x16, 0x39, 0xb9, 0x69, 0x53, 0xe5, - 0xd5, 0x98, 0xf7, 0x8b, 0xf5, 0xbb, 0xcd, 0x5d, 0x6a, 0xde, 0x8c, 0xfb, 0x77, 0x6b, 0xe1, 0x2f, - 0x14, 0xd8, 0x9d, 0x6d, 0x7f, 0x69, 0x9f, 0x27, 0x7f, 0xe5, 0x89, 0xf8, 0xd4, 0x3d, 0x13, 0x89, - 0x46, 0x86, 0x87, 0x0e, 0x4a, 0x99, 0xac, 0xb4, 0x0e, 0x01, 0x98, 0x27, 0xa6, 0xbf, 0x75, 0x19, - 0x7d, 0xc9, 0x46, 0x49, 0x4c, 0x20, 0x33, 0x1b, 0x1e, 0x60, 0x65, 0x5d, 0xa9, 0xb5, 0xf3, 0x6a, - 0x33, 0xf8, 0x6e, 0xf9, 0xef, 0x96, 0x88, 0x5d, 0x68, 0x23, 0x78, 0xc4, 0xd6, 0xaa, 0x64, 0xba, - 0xbf, 0x47, 0x76, 0xc2, 0xe0, 0xb6, 0xd8, 0x5e, 0x19, 0x94, 0x97, 0x0f, 0x28, 0xa9, 0xae, 0xd1, - 0xf1, 0xa4, 0x9a, 0x17, 0xb2, 0xe0, 0x35, 0xb8, 0x79, 0x17, 0xf1, 0x2b, 0xed, 0x08, 0xa5, 0xfa, - 0xa8, 0xd4, 0x4e, 0x7a, 0x33, 0x0b, 0xfb, 0x12, 0xe6, 0xb0, 0x80, 0x90, 0xf1, 0x55, 0x30, 0x8b, - 0x7f, 0x83, 0x4e, 0x0c, 0x31, 0x2d, 0xa3, 0x57, 0x7b, 0x1a, 0x9b, 0x6d, 0x8e, 0x12, 0xc3, 0x85, - 0x18, 0xe8, 0x7b, 0x8b, 0xe3, 0x81, 0xbe, 0x4c, 0xee, 0xe6, 0xab, 0x6e, 0x37, 0xab, 0x7f, 0x66, - 0x91, 0xff, 0xb6, 0xd7, 0x17, 0x93, 0x39, 0x71, 0x2c, 0xd4, 0x5b, 0xa9, 0x03, 0xb6, 0x1b, 0x03, - 0xba, 0xae, 0x37, 0x43, 0xe6, 0x4b, 0x80, 0xf2, 0x86, 0xe1, 0x0b, 0x3a, 0x07, 0x17, 0xb4, 0x77, - 0x9d, 0x83, 0xd5, 0x04, 0x96, 0x72, 0xd9, 0xac, 0x2a, 0xf7, 0xa0, 0x60, 0x9a, 0x10, 0x9e, 0x81, - 0x2b, 0xea, 0x93, 0x39, 0x23, 0x4f, 0x38, 0xcb, 0xc4, 0xac, 0x0c, 0xff, 0x2b, 0x3b, 0x4e, 0x42, - 0xf0, 0xe7, 0x8a, 0x60, 0x52, 0x9a, 0x18, 0x37, 0x11, 0xc1, 0x98, 0x00, 0x67, 0x42, 0x3b, 0x1c, - 0x98, 0xc1, 0xb9, 0x97, 0x76, 0x69, 0x72, 0xd6, 0x5f, 0x8c, 0xf7, 0x67, 0x3c, 0xcd, 0xde, 0xca, - 0xe6, 0xd7, 0xf7, 0x36, 0x29, 0x81, 0x98, 0xa1, 0x14, 0x69, 0x17, 0x89, 0xbe, 0xa3, 0xdf, 0x83, - 0x1f, 0x28, 0x2a, 0xbe, 0xad, 0x2b, 0x1d, 0xc2, 0x85, 0xe8, 0xdd, 0x79, 0x55, 0xb8, 0xbb, 0xdf, - 0x0e, 0x68, 0x6d, 0x24, 0xf8, 0x40, 0x0e, 0x06, 0xdb, 0x11, 0x22, 0xa5, 0x33, 0x79, 0xd8, 0xee, - 0x1d, 0x90, 0xf3, 0x66, 0xb8, 0xea, 0x98, 0x7b, 0x27, 0xb6, 0x4c, 0x87, 0x85, 0xc5, 0xd2, 0x61, - 0x18, 0x9b, 0x41, 0x7a, 0xd2, 0xa6, 0x1b, 0xcc, 0x6f, 0x5f, 0xc7, 0x09, 0xea, 0x7d, 0xbe, 0x76, - 0x8e, 0x00, 0xd2, 0x13, 0x14, 0xe3, 0xdd, 0xa7, 0xb0, 0x05, 0x69, 0x47, 0xb6, 0x8d, 0x7e, 0x54, - 0x88, 0x13, 0xda, 0xcf, 0x63, 0xd0, 0x53, 0x22, 0x98, 0x16, 0x2c, 0xc1, 0xd3, 0xb8, 0xf5, 0xcb, - 0x04, 0x5f, 0x5f, 0xdd, 0xb4, 0x11, 0xc7, 0x60, 0xa6, 0xf9, 0xa2, 0x8a, 0x54, 0x6a, 0x19, 0x65, - 0x94, 0xf2, 0x29, 0xeb, 0xb1, 0x6d, 0x79, 0x89, 0x16, 0x43, 0x37, 0x74, 0x7b, 0x8c, 0x75, 0xb4, - 0x52, 0x64, 0x1f, 0x84, 0xb4, 0x0d, 0x9c, 0xfc, 0x85, 0xbf, 0xda, 0x8f, 0xbc, 0x2b, 0xbf, 0x21, - 0xe0, 0x88, 0x2f, 0x30, 0xe1, 0xff, 0x2d, 0xf8, 0x75, 0xee, 0x34, 0xc6, 0xae, 0xca, 0x87, 0x84, - 0xcc, 0xb3, 0x2f, 0xf4, 0x6a, 0xd9, 0x34, 0xac, 0x6e, 0xa5, 0x4a, 0xbb, 0x71, 0x77, 0x83, 0x03, - 0xa2, 0x69, 0x0a, 0x70, 0xda, 0xb4, 0x07, 0x82, 0x20, 0xf7, 0x24, 0x76, 0x79, 0x93, 0x70, 0xf3, - 0xd5, 0x87, 0x8a, 0xc1, 0x19, 0x20, 0xdd, 0x65, 0x00, 0x12, 0x2b, 0xeb, 0xe3, 0x19, 0x24, 0x96, - 0x83, 0x12, 0x3d, 0x49, 0xbc, 0x3b, 0x31, 0xf3, 0xa1, 0x8a, 0x61, 0xb5, 0x95, 0x5a, 0x51, 0xec, - 0x59, 0x6b, 0xf8, 0xc1, 0x4d, 0x55, 0x83, 0x65, 0x2b, 0x33, 0x3e, 0x07, 0x03, 0xbd, 0xfa, 0x0c, - 0xce, 0xc0, 0x2b, 0x4c, 0x0e, 0xb4, 0x41, 0xf9, 0x40, 0xc4, 0x20, 0x31, 0xa6, 0xb0, 0x3c, 0xfb, - 0xb5, 0x71, 0xd7, 0xbb, 0xfb, 0xbb, 0xcf, 0x92, 0xfd, 0x6d, 0x70, 0x08, 0xee, 0x65, 0xa8, 0xb8, - 0xb7, 0xf1, 0x06, 0x9d, 0xd3, 0x9a, 0xd8, 0xf3, 0xe6, 0xc5, 0xf8, 0x73, 0x33, 0x35, 0x88, 0xed, - 0x2a, 0xa7, 0x2c, 0xe7, 0xcc, 0x34, 0x1e, 0x9d, 0xc9, 0xec, 0x2d, 0x84, 0xf9, 0x10, 0xeb, 0x69, - 0xb1, 0xfb, 0x6a, 0x5f, 0xf1, 0x1b, 0x1b, 0xf6, 0x2b, 0xa2, 0x0f, 0x47, 0xb0, 0x34, 0xc1, 0x24, - 0xeb, 0xfe, 0x9e, 0xd6, 0x72, 0x8b, 0xe6, 0x63, 0x7f, 0xba, 0x22, 0xea, 0x66, 0x34, 0x15, 0x84, - 0x46, 0x1d, 0x8e, 0x8b, 0xf1, 0xff, 0xb4, 0x19, 0xd9, 0x18, 0x7a, 0xe5, 0xe9, 0x80, 0x53, 0x45, - 0x27, 0xde, 0x90, 0x69, 0x8b, 0x66, 0x4e, 0x47, 0xa8, 0x3f, 0x3f, 0xa8, 0x03, 0x71, 0x1d, 0x1c, - 0xcc, 0x2d, 0x40, 0x06, 0x16, 0x87, 0xa2, 0x62, 0x17, 0xc8, 0xb1, 0x33, 0x7d, 0x30, 0xd7, 0x67, - 0x37, 0xaa, 0x39, 0x5c, 0xeb, 0x2a, 0x4b, 0xa5, 0x07, 0xf6, 0x8d, 0x40, 0xa5, 0x95, 0x2e, 0x65, - 0xe0, 0x25, 0xe7, 0x47, 0x40, 0x97, 0xdd, 0xe9, 0xc8, 0x6a, 0x15, 0x98, 0x4d, 0xb8, 0x4e, 0xae, - 0x3b, 0xfe, 0x21, 0x97, 0xf5, 0xef, 0x46, 0x34, 0x73, 0xbd, 0x34, 0x2c, 0x56, 0x0c, 0x50, 0xfa, - 0x40, 0x86, 0x11, 0xa4, 0xa7, 0x08, 0xc3, 0x76, 0xa5, 0x7c, 0x9e, 0x8a, 0x2a, 0xc1, 0xd4, 0x09, - 0xb6, 0xf4, 0x52, 0x42, 0xa8, 0x1c, 0x5c, 0x6f, 0x75, 0x22, 0x9b, 0xd0, 0x38, 0x0a, 0x22, 0x82, - 0x4b, 0x69, 0x08, 0x02, 0x60, 0xe2, 0x32, 0xd9, 0xaf, 0x40, 0x2d, 0x8d, 0x85, 0x50, 0xdb, 0x35, - 0x76, 0x91, 0x49, 0x71, 0x11, 0xea, 0xac, 0x89, 0xe3, 0x6f, 0x4f, 0x05, 0xb4, 0x2b, 0x81, 0xe2, - 0x1e, 0xa8, 0xfb, 0x29, 0xdc, 0x43, 0x86, 0x85, 0x91, 0xbd, 0x07, 0x4f, 0xd6, 0x3b, 0x27, 0xb8, - 0x28, 0x78, 0x96, 0xe5, 0x77, 0x12, 0x91, 0x62, 0xb0, 0x62, 0x33, 0x0e, 0x85, 0x96, 0x59, 0x2b, - 0x4a, 0xd9, 0xe1, 0x5b, 0x10, 0x59, 0x59, 0x54, 0x67, 0xee, 0xbd, 0x90, 0x64, 0xd5, 0xcf, 0x15, - 0xa4, 0x8a, 0x63, 0xdc, 0xef, 0xa5, 0xed, 0xf0, 0x36, 0x52, 0x05, 0xeb, 0x05, 0x3f, 0x06, 0x76, - 0xe3, 0xbb, 0xb9, 0xdb, 0x2f, 0x27, 0x8c, 0x4f, 0x58, 0x7d, 0xe9, 0xc0, 0x56, 0x08, 0x8c, 0x2e, - 0x20, 0x6e, 0x9d, 0x7e, 0x3f, 0x9a, 0x31, 0x86, 0x25, 0xc8, 0x96, 0x8a, 0x95, 0xba, 0xd7, 0xe2, - 0x33, 0x96, 0xc0, 0x61, 0xc4, 0xc6, 0x3c, 0xe0, 0x70, 0x96, 0x0e, 0x13, 0x51, 0x7a, 0x11, 0xf6, - 0x12, 0x5b, 0x38, 0xce, 0x6b, 0x80, 0xba, 0x79, 0xbe, 0xb9, 0x65, 0x80, 0xeb, 0x90, 0x65, 0xc6, - 0xb8, 0x13, 0x03, 0xe8, 0x0a, 0x88, 0x9c, 0x2c, 0x83, 0xb7, 0x84, 0xe6, 0x7b, 0x93, 0x65, 0xa8, - 0xa9, 0xd5, 0x9d, 0x2d, 0xa5, 0x02, 0x23, 0xe3, 0x9d, 0x8e, 0x9f, 0x1c, 0x19, 0xe6, 0xae, 0x1f, - 0x92, 0xb1, 0x3a, 0x4e, 0xfa, 0x93, 0xde, 0x18, 0xda, 0x71, 0x89, 0xfc, 0x0e, 0x02, 0x69, 0xcb, - 0xc2, 0x4b, 0x5b, 0x9d, 0x24, 0x9b, 0x5a, 0x32, 0x5c, 0x7a, 0x04, 0xc1, 0xcf, 0xc5, 0x8b, 0xe9, - 0xb6, 0xbf, 0x5e, 0x4b, 0x27, 0x9a, 0x15, 0x1d, 0x00, 0xd2, 0x78, 0x4c, 0x6b, 0x43, 0xbc, 0xce, - 0x3a, 0x03, 0xf8, 0x73, 0xe1, 0x2c, 0x8f, 0xce, 0x59, 0x78, 0x9b, 0x73, 0x5c, 0x9a, 0xe5, 0xcf, - 0x62, 0xe5, 0x64, 0x1c, 0xb0, 0x7f, 0xd8, 0x71, 0x03, 0x2b, 0x67, 0x71, 0x40, 0x96, 0xfc, 0x80, - 0x30, 0xc7, 0x3f, 0xf4, 0x0e, 0x78, 0x3c, 0x3a, 0xca, 0xb7, 0xf6, 0x6f, 0xf1, 0x18, 0x25, 0x03, - 0x51, 0xb0, 0xd6, 0x50, 0x49, 0x8a, 0xcf, 0x23, 0x71, 0x0c, 0xa6, 0x26, 0x55, 0x32, 0x56, 0xe9, - 0x85, 0x2b, 0xca, 0x9f, 0x2e, 0xc6, 0x6c, 0x09, 0x15, 0xfb, 0x36, 0x81, 0xc4, 0x01, 0x92, 0x54, - 0x3e, 0x93, 0x86, 0x17, 0xf4, 0xf1, 0xa0, 0x72, 0x8d, 0x59, 0x43, 0xe0, 0xf7, 0x7c, 0x20, 0x08, - 0x3e, 0x3e, 0x47, 0x85, 0x5a, 0x96, 0xbd, 0xa1, 0x7a, 0xff, 0x8c, 0x71, 0x41, 0xb8, 0x23, 0x66, - 0x28, 0x17, 0x23, 0x85, 0xc1, 0xef, 0xcb, 0xb0, 0x31, 0x7b, 0xbe, 0x52, 0x18, 0xf2, 0xd5, 0x00, - 0xd4, 0x26, 0x39, 0x32, 0x16, 0x45, 0x5c, 0xd7, 0x1b, 0x33, 0xd3, 0xe3, 0x43, 0xa9, 0x22, 0xa4, - 0xa9, 0xde, 0x21, 0x7f, 0x6d, 0xa1, 0xd8, 0xe6, 0x41, 0xbc, 0x2b, 0x0e, 0xdf, 0xfc, 0x32, 0x99, - 0x70, 0x59, 0x23, 0x42, 0x9e, 0xad, 0x61, 0xc0, 0x3c, 0x73, 0xc2, 0x64, 0x74, 0xd2, 0x9c, 0x7e, - 0x1f, 0xfb, 0x5d, 0x5b, 0x6b, 0xb0, 0xf4, 0xba, 0x49, 0xc0, 0xeb, 0xf3, 0x78, 0x54, 0xe8, 0xb6, - 0x86, 0xe0, 0x99, 0xca, 0x65, 0x48, 0xe7, 0x2c, 0x42, 0x3b, 0x7b, 0x0e, 0x81, 0x87, 0x54, 0x6d, - 0xa9, 0x9c, 0x7b, 0xfe, 0xbb, 0x20, 0xe6, 0xdd, 0xd5, 0x63, 0xf2, 0x1f, 0xbf, 0xd5, 0xc1, 0x07, - 0x78, 0xd2, 0x48, 0x37, 0x97, 0x0e, 0x17, 0xde, 0x7a, 0xea, 0x2f, 0x70, 0x95, 0x39, 0x12, 0x63, - 0x68, 0xa1, 0x42, 0xb7, 0x07, 0x56, 0x67, 0x2a, 0xfd, 0x23, 0x4c, 0x11, 0xb6, 0xde, 0x26, 0x10, - 0x3c, 0x07, 0x37, 0xed, 0xe4, 0x5d, 0xe8, 0x1e, 0x7e, 0x7f, 0xa5, 0xed, 0x14, 0x02, 0x70, 0xe0, - 0x59, 0x02, 0x84, 0xeb, 0xb7, 0x3e, 0x4b, 0xc6, 0x29, 0x98, 0x35, 0xbe, 0x64, 0x1f, 0xf9, 0xc4, - 0x6a, 0x33, 0x8e, 0x32, 0x1c, 0x3c, 0xde, 0x08, 0xf7, 0xa8, 0x77, 0xff, 0xd7, 0xe3, 0xcf, 0x91, - 0x14, 0x1c, 0x4d, 0xdf, 0x60, 0x4f, 0x3b, 0x14, 0xd3, 0x30, 0x0f, 0x11, 0xfd, 0x36, 0x4a, 0x81, - 0x45, 0x04, 0xd2, 0x75, 0xd0, 0x5a, 0x75, 0x84, 0x12, 0x2a, 0xc4, 0xf9, 0x91, 0x89, 0x25, 0x88, - 0x03, 0xff, 0xec, 0x1f, 0xda, 0x0d, 0xd2, 0x16, 0x61, 0x0c, 0xb3, 0x8e, 0x92, 0xcf, 0x22, 0xdc, - 0xa6, 0xca, 0xda, 0x6e, 0x0b, 0x3d, 0x15, 0x32, 0x05, 0xcc, 0x68, 0xd1, 0x95, 0xe7, 0xa5, 0x9b, - 0x5a, 0x44, 0x00, 0x08, 0x69, 0xf0, 0xf7, 0x34, 0x60, 0xf6, 0xb3, 0x01, 0xff, 0xbd, 0x91, 0x95, - 0x08, 0x48, 0x90, 0xe0, 0x57, 0x04, 0x4a, 0x19, 0x62, 0xa1, 0xd5, 0x9f, 0x28, 0x4a, 0x89, 0xf0, - 0x0e, 0xe9, 0x55, 0x5c, 0x2d, 0xef, 0xce, 0x3d, 0x65, 0x1b, 0x93, 0x07, 0x6e, 0x1a, 0xd3, 0xae, - 0x69, 0x93, 0x70, 0x91, 0x6b, 0x3c, 0x21, 0x5b, 0xbc, 0xec, 0x88, 0x6f, 0x8b, 0x34, 0xab, 0xac, - 0x15, 0x31, 0x8b, 0x30, 0x17, 0x0d, 0xa4, 0xac, 0x72, 0x5d, 0x36, 0x58, 0xc1, 0x20, 0x1e, 0x3a, - 0x4b, 0x4e, 0x8d, 0xef, 0xd2, 0xaa, 0xfa, 0x5c, 0x6d, 0xce, 0x79, 0x80, 0xc3, 0xfa, 0xd3, 0x4c, - 0xdf, 0xde, 0xaa, 0xea, 0x2f, 0x56, 0x49, 0x36, 0x81, 0xa8, 0xc7, 0x6c, 0xa9, 0xaa, 0x84, 0xca, - 0x1a, 0x7e, 0x1a, 0x55, 0xb8, 0xd2, 0x19, 0x58, 0x17, 0x7e, 0xef, 0x8d, 0x1e, 0x7a, 0x38, 0x97, - 0x78, 0x79, 0xd8, 0x4d, 0x12, 0xcc, 0x26, 0xba, 0xeb, 0x66, 0xe3, 0x33, 0x32, 0x58, 0x18, 0xb1, - 0x21, 0xe3, 0x88, 0x3b, 0xfe, 0x46, 0x4a, 0xc0, 0x6c, 0xdd, 0xbf, 0x98, 0x22, 0xfe, 0x82, 0xb4, - 0xd8, 0xf9, 0xcf, 0x41, 0x49, 0xf6, 0xe8, 0x99, 0x03, 0x4d, 0x65, 0x3d, 0xe8, 0x8e, 0x02, 0x05, - 0x01, 0x11, 0x5d, 0x89, 0xf3, 0x76, 0xda, 0x31, 0x3b, 0xd0, 0xfa, 0x1c, 0xde, 0x31, 0x56, 0xac, - 0xcb, 0x5d, 0x16, 0x29, 0x71, 0x28, 0xd2, 0xe4, 0x4d, 0x03, 0x37, 0x48, 0xbb, 0xed, 0xef, 0x5f, - 0x92, 0x45, 0x51, 0xf6, 0xb3, 0x55, 0x3b, 0x5a, 0x14, 0x25, 0xad, 0x84, 0xab, 0xe9, 0x88, 0x19, - 0x3e, 0xa2, 0xbd, 0x21, 0xce, 0x27, 0x70, 0xc1, 0xeb, 0x74, 0x61, 0xae, 0xc7, 0x8f, 0xb5, 0x23, - 0x14, 0x1e, 0x83, 0x15, 0xc6, 0x64, 0xa8, 0xbb, 0x9e, 0x72, 0x9f, 0x30, 0xe3, 0xee, 0xdc, 0x35, - 0x0a, 0xd7, 0x6b, 0x23, 0xb3, 0x4f, 0x29, 0xa1, 0x28, 0xe6, 0xa8, 0x3b, 0xe2, 0xf6, 0x03, 0x8c, - 0x56, 0xfc, 0x18, 0x25, 0x0e, 0xce, 0x21, 0x74, 0xca, 0xb1, 0x71, 0xb1, 0x3c, 0xc9, 0xda, 0x79, - 0x80, 0x66, 0x68, 0xa9, 0xe9, 0xe0, 0x06, 0xb0, 0x42, 0x84, 0x60, 0xde, 0xfa, 0xd7, 0x67, 0x60, - 0xa9, 0xd4, 0xc6, 0x66, 0x9c, 0x64, 0x9c, 0x2c, 0xba, 0x21, 0x95, 0xa5, 0x0e, 0x34, 0x94, 0xef, - 0x26, 0x36, 0x6b, 0xe8, 0xb6, 0xb7, 0xd0, 0x80, 0xc0, 0x7a, 0xfe, 0xcb, 0xac, 0x25, 0x65, 0x42, - 0x63, 0x5b, 0x1a, 0x9c, 0xa0, 0x55, 0xb3, 0x04, 0xbd, 0x05, 0xfc, 0x3e, 0xce, 0x1b, 0x03, 0x5a, - 0x51, 0xa6, 0xcf, 0x9d, 0xeb, 0xed, 0xf8, 0xa8, 0xba, 0x29, 0xba, 0xf0, 0xa5, 0xb7, 0x63, 0x8a, - 0x34, 0x50, 0x27, 0xe4, 0x56, 0x9d, 0xaa, 0x71, 0x7a, 0xf4, 0x69, 0xde, 0x38, 0xf5, 0x7f, 0xa5, - 0x42, 0x9b, 0x68, 0x52, 0xf0, 0x89, 0x74, 0xa1, 0xdc, 0xaf, 0xc9, 0xfd, 0x62, 0x27, 0xfb, 0x7d, - 0xfa, 0xdb, 0x9d, 0x2e, 0xc9, 0xd8, 0x7e, 0x31, 0x3f, 0xf7, 0x26, 0x29, 0xb1, 0xec, 0xcc, 0xa0, - 0x28, 0xec, 0x52, 0x6c, 0x63, 0x2d, 0x3f, 0x18, 0x0e, 0xb3, 0xb9, 0xda, 0x60, 0x66, 0x1d, 0xe9, - 0x3a, 0x0c, 0x2c, 0xc6, 0x82, 0x03, 0x12, 0x50, 0xa9, 0xbf, 0xfe, 0xaa, 0x28, 0x6a, 0xb6, 0x6a, - 0xee, 0x73, 0x89, 0xf4, 0x74, 0xa5, 0x96, 0x43, 0x78, 0x2e, 0x4b, 0xdb, 0x40, 0x2d, 0x29, 0x28, - 0x8e, 0x41, 0xf9, 0x7b, 0x1d, 0xc1, 0x8c, 0x7f, 0x68, 0xda, 0x48, 0xa2, 0x43, 0x80, 0x29, 0x58, - 0xb0, 0x00, 0xed, 0xe3, 0xec, 0xe1, 0x5f, 0xaa, 0x2f, 0x66, 0xd0, 0xc5, 0x42, 0xc3, 0xe7, 0x91, - 0x42, 0xc6, 0x6e, 0xfd, 0xb8, 0xd1, 0x39, 0xe2, 0x87, 0x89, 0x22, 0xe0, 0x50, 0x4a, 0xd4, 0x3b, - 0xbf, 0xe8, 0x94, 0x94, 0x8b, 0xbd, 0x4f, 0x0b, 0xd7, 0x27, 0xc1, 0x23, 0xe2, 0x55, 0x61, 0xf3, - 0x99, 0x51, 0x96, 0x7b, 0x17, 0xc1, 0x95, 0x06, 0x2b, 0x16, 0xfc, 0xe2, 0x48, 0x86, 0x22, 0x5d, - 0xe9, 0xd4, 0x9a, 0x32, 0xbf, 0x13, 0x35, 0xe0, 0x0a, 0xb5, 0x0e, 0x34, 0x3d, 0x4b, 0xc3, 0x8d, - 0xe7, 0xd9, 0x39, 0xdf, 0xd1, 0xea, 0x29, 0x26, 0x85, 0xc1, 0x7e, 0xce, 0x13, 0x9c, 0xf9, 0x97, - 0x85, 0xa3, 0xb5, 0x82, 0x56, 0x8e, 0x40, 0x80, 0x7d, 0x7c, 0x59, 0x05, 0xcc, 0xc6, 0x7b, 0x36, - 0xe4, 0x24, 0x50, 0x6f, 0x23, 0xfa, 0x87, 0xf0, 0x89, 0x33, 0x29, 0x45, 0xb6, 0xa6, 0xa6, 0xe4, - 0xdf, 0x4c, 0x74, 0x3a, 0xa2, 0x42, 0xc1, 0x9c, 0x22, 0xc6, 0x82, 0x2e, 0x8e, 0xc3, 0x2a, 0x02, - 0x99, 0x54, 0x1a, 0xe2, 0x25, 0x7e, 0x35, 0xa9, 0x0a, 0x1c, 0x17, 0x7b, 0x04, 0x80, 0x18, 0xec, - 0xd0, 0x04, 0x36, 0x94, 0x8d, 0x04, 0x3a, 0x20, 0x4b, 0xbd, 0xa5, 0x9c, 0x44, 0xeb, 0x92, 0xe1, - 0x05, 0xcb, 0xb1, 0x40, 0xcb, 0x20, 0xb3, 0x9a, 0x9d, 0x99, 0xae, 0xff, 0xa7, 0x0f, 0x0d, 0x3e, - 0xb1, 0xbe, 0x63, 0x02, 0x0f, 0x14, 0xbc, 0x99, 0x56, 0x9c, 0x3b, 0x15, 0x1b, 0x0c, 0xda, 0x6b, - 0x36, 0xb6, 0xa7, 0x89, 0x43, 0x26, 0xb4, 0x34, 0xe9, 0x63, 0x85, 0x23, 0x0c, 0xb5, 0xe2, 0x37, - 0x2d, 0x7b, 0x50, 0x9a, 0xdf, 0x52, 0x36, 0xf1, 0x65, 0x23, 0x94, 0x0e, 0x36, 0x8e, 0x38, 0x34, - 0x88, 0x40, 0x95, 0x25, 0xe7, 0x9d, 0xdb, 0x2c, 0x38, 0x94, 0x2b, 0xd7, 0x3c, 0x45, 0xfb, 0xca, - 0x4e, 0x89, 0xf6, 0xf6, 0x0e, 0x25, 0xc3, 0xb9, 0x3c, 0x05, 0x87, 0x62, 0x2e, 0x97, 0xda, 0x3a, - 0xa0, 0x98, 0x22, 0xc9, 0x9e, 0x6d, 0xa6, 0x1c, 0x56, 0x14, 0x28, 0x48, 0xee, 0x85, 0x2a, 0x19, - 0x0e, 0x0c, 0x4c, 0x50, 0xd6, 0x65, 0x6e, 0xdb, 0xa3, 0x8c, 0x8c, 0x84, 0x86, 0x7b, 0xe0, 0x5d, - 0xf3, 0x3f, 0x46, 0x5f, 0xb5, 0x72, 0x9e, 0x34, 0xf4, 0x8d, 0x57, 0xdd, 0xd7, 0x3b, 0x9c, 0xae, - 0xe3, 0x85, 0x77, 0xaa, 0x18, 0x5b, 0xc0, 0xb3, 0xdd, 0xf8, 0x97, 0x20, 0xc7, 0xfe, 0xa1, 0xcd, - 0x64, 0xd3, 0xc1, 0xcd, 0x27, 0x75, 0xa5, 0xd2, 0xf2, 0xed, 0x3e, 0x44, 0x89, 0x57, 0x08, 0xea, - 0x41, 0x1d, 0x9b, 0x04, 0xb9, 0x27, 0x4a, 0x24, 0x37, 0xb0, 0xaa, 0x48, 0x21, 0x5f, 0x2f, 0x92, - 0x92, 0xd7, 0xd6, 0xc8, 0x74, 0xea, 0x24, 0xa0, 0x76, 0x59, 0xc5, 0x7e, 0x2d, 0xde, 0xcd, 0x07, - 0xbd, 0x98, 0x84, 0x75, 0x53, 0x19, 0x81, 0x95, 0x4d, 0xef, 0x0c, 0x79, 0x3f, 0x40, 0x96, 0x6e, - 0x72, 0x9d, 0xd2, 0x88, 0x1d, 0xca, 0xf0, 0x68, 0x90, 0x87, 0xb2, 0xf4, 0x42, 0x78, 0x87, 0xb2, - 0x6c, 0x74, 0x8f, 0xec, 0x35, 0xc2, 0x6b, 0x3d, 0x0b, 0x10, 0x09, 0xb4, 0xda, 0x5c, 0x80, 0xdf, - 0xf8, 0x0f, 0xe6, 0x22, 0xaf, 0x7d, 0xfe, 0x46, 0x34, 0xc3, 0x17, 0x0a, 0x1d, 0xab, 0x64, 0x6e, - 0xcc, 0x93, 0x90, 0x45, 0xa9, 0x77, 0xd6, 0xee, 0x34, 0x78, 0x34, 0xa6, 0x6e, 0x22, 0x96, 0xa9, - 0x97, 0xc4, 0x76, 0x73, 0x60, 0x75, 0x43, 0xcc, 0x22, 0xe3, 0xfb, 0x7d, 0xc2, 0x3b, 0xb5, 0xca, - 0x83, 0x59, 0x10, 0xe1, 0xa5, 0x86, 0x9f, 0xb1, 0x21, 0x44, 0x2d, 0x96, 0x44, 0x12, 0x13, 0xa5, - 0xfb, 0xa7, 0x96, 0x19, 0x75, 0x13, 0xe3, 0xd6, 0x7a, 0x8f, 0x73, 0x8d, 0x16, 0xfe, 0xa1, 0x51, - 0xc4, 0xa8, 0x34, 0x29, 0x53, 0x07, 0x8a, 0xf0, 0x39, 0x61, 0x53, 0x76, 0x78, 0x94, 0x02, 0xa9, - 0xf1, 0xc6, 0x5e, 0xbf, 0xb0, 0xf7, 0x04, 0x77, 0xd7, 0x29, 0x75, 0x57, 0x04, 0x39, 0x38, 0xbb, - 0x8d, 0xdf, 0xd9, 0xd9, 0x52, 0x61, 0x22, 0xb6, 0xd0, 0xaf, 0xa9, 0x57, 0x32, 0x9d, 0x55, 0x63, - 0x36, 0x60, 0x8f, 0xda, 0x04, 0x53, 0x8a, 0x53, 0xca, 0xd8, 0xa5, 0x55, 0x7b, 0x9f, 0x71, 0x97, - 0x0c, 0x74, 0xbd, 0x8d, 0xd4, 0x94, 0xa9, 0xa9, 0xa9, 0xe1, 0xd9, 0x42, 0x0f, 0x9d, 0x58, 0x4b, - 0xeb, 0x4c, 0x00, 0x14, 0x54, 0x7c, 0xee, 0x67, 0x70, 0x02, 0xa0, 0xf2, 0xcb, 0x79, 0x72, 0xe1, - 0xa5, 0xb7, 0x96, 0x72, 0x07, 0xf6, 0xb7, 0x97, 0x31, 0xaa, 0x09, 0x38, 0xad, 0x38, 0x73, 0x26, - 0xc7, 0xf6, 0xc8, 0x1d, 0x95, 0x51, 0xdd, 0xab, 0x95, 0x09, 0x39, 0x58, 0xae, 0x81, 0x31, 0x82, - 0x28, 0x64, 0x50, 0x66, 0xa2, 0xb9, 0xfc, 0xd4, 0xf0, 0xca, 0xd8, 0x11, 0x37, 0x4b, 0xa6, 0x14, - 0x5a, 0x00, 0x17, 0xf2, 0x0f, 0xa2, 0xa4, 0x86, 0x5a, 0xa3, 0x6b, 0xad, 0xe3, 0xc4, 0xb1, 0x75, - 0xcf, 0x80, 0x5b, 0x24, 0x61, 0x13, 0x1c, 0x28, 0x7d, 0xb7, 0x81, 0xb2, 0x48, 0x8a, 0x61, 0x90, - 0x6d, 0x0c, 0x47, 0x18, 0x75, 0x6d, 0x03, 0xf1, 0x5a, 0xed, 0xd4, 0x0c, 0xd1, 0x54, 0xb8, 0x96, - 0x68, 0xed, 0x8c, 0xcd, 0x38, 0xcc, 0x2e, 0x89, 0x26, 0x78, 0x09, 0x1b, 0xfb, 0xd6, 0x16, 0x42, - 0x77, 0xdf, 0xc9, 0x67, 0x66, 0xb5, 0x38, 0x44, 0xa9, 0x9b, 0x8d, 0x5e, 0x0b, 0x34, 0x22, 0x4a, - 0x88, 0x31, 0x56, 0x2d, 0x48, 0xcd, 0xa1, 0xc8, 0x23, 0xdb, 0xed, 0xc2, 0x5e, 0xf6, 0x8e, 0xea, - 0xa1, 0x38, 0x9b, 0x2e, 0x8c, 0xd8, 0x3f, 0xba, 0x80, 0xf9, 0xb7, 0x48, 0x1e, 0x29, 0x13, 0x31, - 0x51, 0x8f, 0xc7, 0x2a, 0x26, 0xd2, 0x5c, 0x06, 0x3f, 0xf4, 0x36, 0x7f, 0xe4, 0x50, 0xe5, 0x82, - 0x0d, 0x7c, 0x16, 0x47, 0x05, 0x96, 0x2a, 0x91, 0xe8, 0xb3, 0xf2, 0xad, 0x0c, 0x68, 0xdc, 0x70, - 0xf1, 0xff, 0xad, 0x64, 0x1b, 0x44, 0x7f, 0xb2, 0x7a, 0x40, 0xf6, 0xdc, 0x29, 0x87, 0x94, 0xe2, - 0xb2, 0xd1, 0xa1, 0x1e, 0x54, 0xc5, 0x19, 0xe1, 0x27, 0xe7, 0x90, 0x30, 0xbd, 0xfd, 0x07, 0xb4, - 0x05, 0x45, 0xd8, 0xeb, 0x7b, 0x12, 0x91, 0x0f, 0xf1, 0xa3, 0x90, 0xee, 0x17, 0xee, 0x9d, 0x70, - 0xa1, 0xcb, 0x4f, 0xea, 0xa0, 0x49, 0xe4, 0x00, 0x99, 0xed, 0xc4, 0x3a, 0xf7, 0xf6, 0xd6, 0x0d, - 0xef, 0x71, 0x8d, 0x07, 0xd7, 0x0b, 0xaf, 0xc1, 0x8e, 0xea, 0x51, 0x2e, 0xda, 0xb5, 0x00, 0x78, - 0x52, 0x95, 0xac, 0x34, 0x34, 0x21, 0x8d, 0x13, 0xd7, 0x96, 0x78, 0xfc, 0xbe, 0xfb, 0x80, 0xa7, - 0x06, 0x6b, 0x86, 0x50, 0x74, 0xbb, 0x02, 0x62, 0x32, 0x4d, 0xb1, 0x0d, 0x60, 0x9a, 0x08, 0x4d, - 0x69, 0x35, 0x79, 0x97, 0xf9, 0x1e, 0x02, 0x73, 0xd2, 0xfd, 0xb3, 0x2d, 0xd3, 0xf1, 0xa3, 0x38, - 0x70, 0x93, 0x2e, 0x6c, 0xf4, 0xb8, 0xda, 0xdb, 0x58, 0x01, 0x20, 0x5b, 0x24, 0x79, 0xa6, 0x3d, - 0xa9, 0x9b, 0xc2, 0x39, 0xf2, 0xf2, 0x67, 0x20, 0x69, 0xb1, 0x25, 0xef, 0x7a, 0x54, 0x01, 0x78, - 0x17, 0x75, 0xdb, 0xed, 0xa9, 0x50, 0x4c, 0x08, 0x76, 0x5d, 0xd2, 0xa0, 0x75, 0x1f, 0xcf, 0x95, - 0x5d, 0x88, 0xb9, 0xbd, 0xa4, 0x38, 0x69, 0x5b, 0xb9, 0x57, 0x65, 0x31, 0x89, 0x59, 0x68, 0x4b, - 0x17, 0x5b, 0x92, 0xf9, 0xee, 0x35, 0x4a, 0x64, 0xb2, 0x45, 0xb6, 0xdc, 0xb0, 0xf9, 0xb9, 0x78, - 0x21, 0x05, 0x0f, 0xcf, 0xb4, 0x52, 0xd6, 0x1b, 0x65, 0x77, 0xfd, 0x6f, 0x8e, 0x80, 0x6f, 0xd1, - 0x18, 0x65, 0xfa, 0x2c, 0xd9, 0xa8, 0x71, 0xb0, 0x7e, 0x20, 0x9a, 0x4a, 0x58, 0xa3, 0x5a, 0x5e, - 0x25, 0xb9, 0xde, 0x56, 0xb6, 0x76, 0x58, 0x76, 0x95, 0xe2, 0xb1, 0x31, 0x73, 0xbc, 0xc3, 0x9e, - 0x85, 0xbe, 0x13, 0x93, 0x0a, 0xce, 0x5c, 0x85, 0xa6, 0xf0, 0x5b, 0xc2, 0x81, 0xbd, 0xc7, 0x31, - 0x5b, 0x46, 0xbc, 0x6e, 0xf1, 0x85, 0x93, 0xb9, 0x06, 0x2b, 0xf0, 0x45, 0xfd, 0xef, 0x38, 0x3b, - 0x28, 0xb0, 0xf6, 0xf7, 0xb3, 0x9a, 0xf9, 0x68, 0xf5, 0xb5, 0xf4, 0xaa, 0xb8, 0xbf, 0x1c, 0x82, - 0x72, 0xe7, 0x6e, 0x39, 0x09, 0x8b, 0x82, 0x4f, 0x9e, 0x73, 0xa0, 0x0f, 0xa9, 0xf3, 0xed, 0x8f, - 0xdc, 0x9d, 0x9e, 0x9a, 0x23, 0x55, 0xed, 0x9e, 0xa9, 0xb5, 0x2a, 0x78, 0xf7, 0xcd, 0x01, 0xc4, - 0x1e, 0x36, 0x28, 0x5e, 0x4c, 0xb2, 0x31, 0x3d, 0x13, 0xc6, 0xf9, 0x89, 0xd3, 0xb9, 0xa7, 0x9f, - 0x12, 0xb1, 0xe7, 0x7d, 0xd5, 0x88, 0x02, 0xe4, 0x87, 0xc6, 0x75, 0xf8, 0xcd, 0x6e, 0x84, 0x8c, - 0xde, 0x56, 0x89, 0xab, 0x67, 0x6b, 0xe5, 0x8d, 0x2b, 0x54, 0x3d, 0x00, 0x3c, 0xd7, 0x95, 0x4b, - 0x56, 0x76, 0x5b, 0xae, 0x15, 0xb3, 0x1a, 0x34, 0xe7, 0x49, 0x3f, 0xa9, 0x43, 0x71, 0xc5, 0x3c, - 0xf6, 0xa9, 0x48, 0xe5, 0x61, 0x68, 0x29, 0x41, 0xb3, 0x71, 0x0f, 0x8e, 0x68, 0xa1, 0xc2, 0x45, - 0xfc, 0x32, 0x72, 0x9f, 0x99, 0xe3, 0x6b, 0xe8, 0xf0, 0x8b, 0x72, 0x8c, 0x0f, 0x7b, 0xd1, 0xae, - 0x07, 0x82, 0x74, 0x61, 0x66, 0x19, 0x87, 0x17, 0x30, 0xe1, 0xcd, 0xf6, 0xa4, 0xb8, 0x0c, 0xd4, - 0x1b, 0x66, 0xdc, 0x96, 0x38, 0xf0, 0x3e, 0x88, 0x0e, 0xa3, 0xb3, 0xd0, 0xeb, 0xe0, 0x5c, 0x6d, - 0x97, 0xf8, 0xf0, 0x9c, 0x9b, 0xf9, 0x0e, 0x0b, 0x1b, 0xa5, 0xbe, 0xbc, 0xc8, 0x41, 0x55, 0x3e, - 0xca, 0x82, 0x5c, 0xf3, 0x94, 0x16, 0x11, 0xe8, 0x67, 0x03, 0x08, 0x97, 0x1f, 0x67, 0x4d, 0x90, - 0xd2, 0x12, 0xea, 0x13, 0xed, 0x7d, 0xac, 0x34, 0x50, 0x1e, 0xf9, 0x51, 0xd3, 0x04, 0x4c, 0xaf, - 0x66, 0x5a, 0xef, 0x51, 0x35, 0xeb, 0x4b, 0x22, 0x1a, 0x5f, 0x09, 0x65, 0x79, 0xea, 0xa5, 0x5a, - 0x20, 0x10, 0x6f, 0x34, 0x9e, 0x54, 0x73, 0xea, 0x07, 0x7a, 0x77, 0xa5, 0x2f, 0x90, 0x4a, 0x00, - 0x37, 0x85, 0x44, 0xde, 0x41, 0xa3, 0xf9, 0x13, 0xfa, 0xa0, 0x13, 0x35, 0x10, 0x38, 0x02, 0x94, - 0x2a, 0x73, 0x43, 0xc0, 0x3e, 0x71, 0xab, 0x6c, 0xd2, 0xe9, 0x4b, 0x13, 0x7d, 0xab, 0xb7, 0xe4, - 0xab, 0x0c, 0xe7, 0x55, 0x04, 0xd5, 0x7b, 0x12, 0x26, 0xdd, 0xe0, 0x43, 0x3a, 0x45, 0xeb, 0x31, - 0xe7, 0x55, 0x5d, 0xcf, 0x57, 0x12, 0x1f, 0xbf, 0x3a, 0x53, 0x42, 0x3b, 0xc3, 0xf7, 0x0a, 0x60, - 0xb1, 0x0e, 0xba, 0x26, 0x15, 0x65, 0xae, 0x3d, 0x3a, 0x2e, 0x3b, 0x25, 0x1c, 0x33, 0x7a, 0x67, - 0x6c, 0xa2, 0xfa, 0x21, 0x95, 0x0d, 0x51, 0xf2, 0x3b, 0xa1, 0x79, 0xdf, 0x59, 0x98, 0xf7, 0x8c, - 0x4a, 0x5d, 0x3e, 0x0d, 0xc9, 0x46, 0xdc, 0x3d, 0x9f, 0x0c, 0x63, 0x9d, 0x9a, 0xaf, 0x82, 0x85, - 0x71, 0xb5, 0xf4, 0x44, 0x21, 0x9b, 0x9e, 0x41, 0x0d, 0x97, 0x76, 0xdc, 0xdc, 0x58, 0xf1, 0x64, - 0x0d, 0xf1, 0xda, 0x5d, 0xe9, 0x85, 0x43, 0x93, 0x9f, 0x05, 0x9b, 0xd3, 0x57, 0x5a, 0x3f, 0x3a, - 0x01, 0xbb, 0x7f, 0xfc, 0x18, 0x91, 0x47, 0xd0, 0xd8, 0x4e, 0x6b, 0x1c, 0xa2, 0x69, 0xa0, 0x34, - 0x16, 0x7a, 0x0a, 0x93, 0xe7, 0x74, 0x80, 0x58, 0x15, 0x97, 0xb3, 0xcf, 0xae, 0x84, 0x54, 0xdb, - 0x48, 0x19, 0xf1, 0x94, 0xd5, 0xeb, 0x61, 0x8f, 0x49, 0x7b, 0x09, 0x0f, 0x20, 0x1d, 0x7e, 0xf0, - 0xeb, 0x26, 0x01, 0x58, 0x1e, 0xa2, 0x00, 0x67, 0x2f, 0xdc, 0xb1, 0x40, 0x91, 0xb8, 0xdc, 0x79, - 0x4e, 0x94, 0xb1, 0x8a, 0xc5, 0xa2, 0xac, 0x61, 0x5a, 0xeb, 0x73, 0x22, 0x83, 0xac, 0x60, 0x4c, - 0x25, 0xf3, 0x25, 0x73, 0xd1, 0x54, 0x56, 0x22, 0x20, 0x28, 0x81, 0xf4, 0x54, 0xa3, 0x04, 0x4b, - 0x5f, 0x49, 0x52, 0xb1, 0x5d, 0x9e, 0x02, 0x1e, 0x94, 0x80, 0x95, 0xe4, 0xe3, 0x18, 0x57, 0x1d, - 0x80, 0x70, 0xc7, 0x2f, 0x61, 0x59, 0x0c, 0xe3, 0x16, 0x7b, 0x25, 0xb3, 0x4d, 0xf9, 0x06, 0x49, - 0x31, 0x18, 0x32, 0x11, 0xef, 0xfd, 0x83, 0x7d, 0xdd, 0xc6, 0x07, 0x1a, 0x9f, 0x49, 0xf2, 0x0f, - 0x57, 0x35, 0x16, 0x3a, 0x61, 0x88, 0x1f, 0x3c, 0x84, 0x9a, 0x99, 0x1e, 0x26, 0x9c, 0x7c, 0xd7, - 0xaf, 0xab, 0x9a, 0x3f, 0x5b, 0x11, 0x74, 0x9a, 0x5a, 0x2c, 0x0f, 0xec, 0x5c, 0x57, 0xe2, 0xfb, - 0x24, 0xa1, 0x8f, 0x78, 0x1a, 0xf9, 0x20, 0xda, 0x95, 0xd0, 0x55, 0xa2, 0x7e, 0x7c, 0xef, 0x83, - 0x99, 0x39, 0x92, 0xb5, 0x75, 0x27, 0xbe, 0x5f, 0xf5, 0x20, 0x81, 0x20, 0x2e, 0x77, 0x9b, 0xa7, - 0xe5, 0x52, 0xa7, 0x45, 0x4c, 0x51, 0xa7, 0x39, 0x7b, 0x1f, 0x51, 0x4a, 0x6e, 0xf6, 0xaf, 0x95, - 0x6d, 0xe2, 0x11, 0x01, 0xca, 0x18, 0xe2, 0xf8, 0x8b, 0xd2, 0xdc, 0x15, 0x9a, 0x4f, 0x63, 0xcd, - 0x64, 0x00, 0x04, 0x19, 0xaf, 0x45, 0xfd, 0xfd, 0xad, 0x82, 0xa9, 0x86, 0x73, 0x30, 0xbb, 0xc0, - 0x22, 0xd2, 0x2b, 0xa6, 0xba, 0x8f, 0x86, 0x1d, 0xec, 0x8a, 0xb8, 0x95, 0x83, 0x5c, 0xd8, 0x41, - 0xd6, 0x1d, 0xb3, 0xce, 0x5b, 0x6b, 0xf4, 0xd6, 0x70, 0xe2, 0x1c, 0x54, 0x36, 0x27, 0xb9, 0xa1, - 0x67, 0x20, 0xca, 0x91, 0x19, 0x3f, 0xe4, 0x30, 0xdd, 0x5e, 0x98, 0x0c, 0xca, 0xf2, 0x12, 0xa7, - 0xbb, 0xd8, 0x8d, 0x32, 0xbc, 0xb1, 0xcd, 0x80, 0x38, 0x56, 0x59, 0xbc, 0xba, 0xdd, 0xe7, 0x83, - 0x83, 0xfa, 0xc5, 0x5d, 0xa1, 0x36, 0xa3, 0x09, 0x3a, 0x48, 0x0e, 0xcf, 0x2f, 0xbe, 0x8e, 0x1d, - 0x11, 0xa8, 0xcc, 0xcc, 0x19, 0x46, 0xaf, 0x1b, 0x57, 0x5a, 0x99, 0x8e, 0xc8, 0xea, 0x9d, 0xc2, - 0x35, 0x5f, 0xad, 0x49, 0x13, 0x4e, 0xf5, 0x6b, 0x53, 0x22, 0x1e, 0x97, 0xc4, 0x53, 0xfd, 0x89, - 0xd9, 0x5d, 0x22, 0x66, 0x36, 0x25, 0x13, 0xbf, 0x23, 0x25, 0x7a, 0x09, 0xaa, 0xda, 0x3d, 0xee, - 0x3a, 0x0b, 0x3f, 0xd4, 0x66, 0x18, 0x6b, 0x6b, 0x7a, 0x5e, 0xe7, 0x03, 0x9c, 0x43, 0xfe, 0xf1, - 0x6b, 0x61, 0xac, 0x5b, 0xd2, 0x9f, 0x60, 0xe8, 0x94, 0x90, 0x79, 0xec, 0x8b, 0xdb, 0xc1, 0xc9, - 0xa7, 0xeb, 0x60, 0xf7, 0x53, 0x23, 0xb3, 0x67, 0xd4, 0xa3, 0x35, 0xc0, 0x28, 0x71, 0xd8, 0x7c, - 0x43, 0xbf, 0xce, 0xed, 0xe4, 0x1c, 0x7f, 0x80, 0x95, 0x87, 0xee, 0x48, 0x33, 0x01, 0x5a, 0xf1, - 0x35, 0xb2, 0xea, 0xc9, 0x9e, 0x71, 0x13, 0x44, 0xc8, 0x96, 0xb2, 0xf4, 0xea, 0x69, 0x9c, 0xf4, - 0x37, 0x4d, 0xcf, 0xbd, 0x5d, 0x62, 0xad, 0xe5, 0xb2, 0x49, 0xb6, 0x0e, 0xb8, 0x07, 0x36, 0xff, - 0x24, 0x78, 0x08, 0xdf, 0x20, 0x5d, 0xae, 0xfe, 0xff, 0x8d, 0x31, 0x5a, 0x30, 0xce, 0xb5, 0xbf, - 0x10, 0x80, 0x94, 0xc4, 0xa2, 0x7e, 0x2f, 0x55, 0xf1, 0x22, 0x63, 0xe8, 0x8d, 0x26, 0x15, 0xc3, - 0x65, 0x1a, 0xdd, 0x0a, 0xb0, 0xb5, 0x7a, 0x5b, 0x71, 0xc8, 0x8d, 0x05, 0x1d, 0x49, 0xe8, 0x9f, - 0x59, 0xf4, 0x1c, 0xd4, 0xe5, 0xf2, 0x98, 0x95, 0x70, 0x88, 0xda, 0x71, 0x8d, 0xc2, 0x4e, 0x40, - 0x03, 0x85, 0x8a, 0xd3, 0x80, 0x28, 0xc1, 0x08, 0x0b, 0x0d, 0x61, 0xbc, 0x55, 0x09, 0xbf, 0xce, - 0x3e, 0xeb, 0x4a, 0x6d, 0xbd, 0xd6, 0x30, 0xa8, 0x3a, 0xf7, 0xd9, 0x62, 0xd8, 0x80, 0x36, 0x47, - 0xc3, 0x17, 0xc7, 0xe6, 0xfc, 0x36, 0x34, 0xa6, 0x0b, 0x92, 0xcb, 0x0a, 0x13, 0xef, 0x0b, 0xcb, - 0x4b, 0x7d, 0x35, 0x67, 0x5b, 0x58, 0x54, 0xbc, 0x87, 0x93, 0x90, 0x8c, 0xa3, 0x96, 0x64, 0x20, - 0x7d, 0x8b, 0x4d, 0x39, 0x28, 0x93, 0x11, 0x3e, 0x0b, 0x62, 0x58, 0xc0, 0x62, 0x3c, 0x05, 0x20, - 0x68, 0xae, 0x6e, 0xb7, 0x16, 0xbd, 0xda, 0xaf, 0xe8, 0x01, 0x97, 0x8f, 0xaf, 0xec, 0xab, 0x2d, - 0x40, 0x4e, 0xb8, 0x66, 0x25, 0xf3, 0xf0, 0x5b, 0x17, 0x6e, 0xa9, 0xd3, 0x44, 0xcb, 0xff, 0x68, - 0x4b, 0x86, 0x53, 0xfe, 0x49, 0xaa, 0x16, 0x55, 0xe7, 0x5f, 0x58, 0x7a, 0x13, 0x5b, 0x04, 0x8d, - 0x30, 0x55, 0x6f, 0xfa, 0x88, 0xe4, 0x03, 0xb2, 0x5f, 0x97, 0x03, 0x2d, 0xd1, 0x2b, 0x18, 0x79, - 0x21, 0xdf, 0x61, 0x48, 0xe9, 0x4f, 0x67, 0xf7, 0xd0, 0xf8, 0x2f, 0xf3, 0xf3, 0x94, 0x1b, 0x0c, - 0xac, 0xc7, 0xcd, 0x90, 0x04, 0xc3, 0x2b, 0x13, 0xb9, 0xf2, 0xef, 0x1b, 0xe7, 0xd7, 0x77, 0xc5, - 0xfc, 0xe1, 0x77, 0xed, 0x56, 0x71, 0xfa, 0x80, 0xed, 0xff, 0x4e, 0x5e, 0x1a, 0x42, 0xe3, 0x87, - 0x91, 0x4f, 0x35, 0x2a, 0x35, 0x53, 0x1a, 0xdd, 0x30, 0x22, 0x6b, 0x4c, 0x77, 0x9c, 0x89, 0x57, - 0xa3, 0x02, 0xe9, 0x26, 0xf3, 0xb3, 0x3c, 0x13, 0x77, 0xe5, 0x1a, 0x57, 0x5a, 0x8a, 0xcc, 0x20, - 0x7a, 0x0b, 0xd0, 0x04, 0x35, 0x37, 0x81, 0xc0, 0x83, 0xb3, 0x43, 0xe4, 0xe6, 0x31, 0xfa, 0xfe, - 0xb8, 0x2c, 0x01, 0x30, 0x8a, 0xb5, 0xeb, 0x17, 0x00, 0xc6, 0x22, 0x64, 0x61, 0x01, 0xab, 0x4a, - 0x53, 0xf6, 0x2f, 0x1f, 0x30, 0xfb, 0xc8, 0x1c, 0xa7, 0x09, 0x92, 0x5c, 0x57, 0x8f, 0x2f, 0x7d, - 0x2b, 0x42, 0xb0, 0x99, 0x83, 0xf4, 0x7f, 0x9e, 0xec, 0x01, 0xc7, 0x9b, 0xc1, 0x62, 0xc2, 0x3a, - 0xe6, 0xf2, 0x0e, 0x92, 0x26, 0x9b, 0xbc, 0xb1, 0xe6, 0x43, 0xa0, 0xb0, 0x8b, 0x94, 0x09, 0xc0, - 0x28, 0x3d, 0xf6, 0x7e, 0xb9, 0x77, 0xb0, 0x65, 0xf3, 0xb2, 0xbc, 0x0e, 0x18, 0x3d, 0x46, 0xc4, - 0xa6, 0xe9, 0x44, 0x15, 0xc9, 0xaf, 0xbf, 0x2a, 0x08, 0x41, 0xf7, 0x57, 0x42, 0x1f, 0x41, 0xa3, - 0x85, 0x17, 0x1f, 0xbd, 0x6b, 0x19, 0xe6, 0x13, 0x80, 0x3c, 0x95, 0xd2, 0x1e, 0xd1, 0x0c, 0x1c, - 0x15, 0x8f, 0x14, 0x00, 0x80, 0xab, 0x76, 0x41, 0x9a, 0x14, 0xc9, 0x2e, 0x2b, 0xcd, 0x57, 0x9c, - 0x35, 0x70, 0x94, 0xca, 0x84, 0xac, 0x60, 0x47, 0x06, 0x45, 0x85, 0x25, 0x5e, 0x7a, 0x04, 0xe3, - 0x2e, 0x70, 0x24, 0xae, 0xf6, 0xbd, 0x51, 0xe7, 0x1d, 0x37, 0xd2, 0xc7, 0x20, 0x52, 0x21, 0x6d, - 0xe6, 0x9f, 0x05, 0xb5, 0xd3, 0x8b, 0x2f, 0xb6, 0xc2, 0xa5, 0x35, 0x2f, 0xc8, 0x31, 0x98, 0x0c, - 0x7c, 0x29, 0x0d, 0xb1, 0xf5, 0x85, 0xc4, 0x12, 0x10, 0x26, 0xbb, 0x88, 0x69, 0x25, 0x38, 0x4e, - 0x74, 0xcf, 0x08, 0xcb, 0xf1, 0x01, 0x0f, 0xcc, 0xb1, 0x42, 0xec, 0x8c, 0xc1, 0x40, 0x32, 0x3f, - 0x7e, 0xdd, 0xde, 0x28, 0xb5, 0xc2, 0xa2, 0xc8, 0xbc, 0xae, 0x38, 0xa3, 0x1b, 0xe3, 0xd2, 0xb1, - 0x52, 0x84, 0xc7, 0x3c, 0xc8, 0x53, 0x98, 0x66, 0x9e, 0xfa, 0x0c, 0x8f, 0x7a, 0x30, 0x52, 0x93, - 0x2a, 0xa1, 0xb4, 0xf5, 0x95, 0x6b, 0x72, 0x16, 0xa8, 0x78, 0xd0, 0xda, 0x24, 0x4f, 0x31, 0xd4, - 0xa7, 0x5d, 0x32, 0x5b, 0xe0, 0xd8, 0x28, 0x2a, 0x09, 0xda, 0x83, 0x37, 0xd5, 0x99, 0xf8, 0xa7, - 0x2c, 0x72, 0x07, 0xaa, 0xf6, 0x82, 0x1e, 0xbf, 0x2c, 0xf6, 0x2c, 0x13, 0x63, 0xc4, 0x20, 0x35, - 0xa9, 0x20, 0xca, 0x0c, 0xe5, 0xf0, 0xfb, 0x77, 0x62, 0xdc, 0x77, 0xe8, 0xf3, 0x8a, 0xc5, 0xb5, - 0x72, 0x8c, 0x78, 0xb2, 0x34, 0xc0, 0x90, 0x17, 0x3e, 0xac, 0x9b, 0xbe, 0xce, 0xc7, 0x3a, 0xa7, - 0xb9, 0x06, 0x59, 0x9a, 0xeb, 0x20, 0xde, 0x61, 0x77, 0xf5, 0x01, 0xcb, 0x9a, 0x61, 0xb0, 0x30, - 0x78, 0x11, 0x74, 0x66, 0x14, 0x9b, 0xce, 0xc5, 0xb6, 0xf4, 0x64, 0x5d, 0x7f, 0xf4, 0x81, 0x67, - 0xb5, 0xb1, 0xec, 0x40, 0x0a, 0xfd, 0x39, 0x19, 0x95, 0x90, 0xea, 0xe3, 0x66, 0x5f, 0x61, 0x61, - 0x0f, 0x52, 0xc2, 0x2e, 0x54, 0x53, 0xd6, 0xa9, 0x5e, 0x2e, 0x4a, 0xe9, 0x3b, 0x64, 0x47, 0x66, - 0x29, 0x75, 0x40, 0x10, 0xbb, 0x26, 0xc7, 0x28, 0xd7, 0xa4, 0x47, 0x75, 0x9b, 0x20, 0xdb, 0x03, - 0x43, 0x80, 0x73, 0x56, 0x35, 0x9d, 0x98, 0xf6, 0x13, 0xcb, 0x4f, 0x47, 0x04, 0x47, 0xc1, 0xcb, - 0x05, 0xa2, 0x30, 0x3d, 0xb6, 0x38, 0x06, 0x44, 0x22, 0xc5, 0xbf, 0x09, 0x63, 0x17, 0x5d, 0x31, - 0xb2, 0x3f, 0xd2, 0x8c, 0xd8, 0x9c, 0x80, 0x6e, 0x6d, 0x6b, 0x6c, 0x96, 0x22, 0x28, 0x55, 0x2a, - 0x17, 0x4f, 0xbb, 0xe2, 0x0f, 0x77, 0x0f, 0x6a, 0x05, 0xa3, 0x72, 0x5d, 0xfd, 0x02, 0x10, 0xef, - 0x62, 0xb0, 0xa1, 0xd0, 0x8d, 0xc4, 0x77, 0x43, 0x44, 0xfe, 0x7d, 0xde, 0x54, 0x42, 0xdb, 0xac, - 0xd0, 0xf2, 0x19, 0x02, 0x5b, 0xe0, 0x69, 0xde, 0x19, 0x0d, 0xe9, 0x11, 0x9c, 0x0a, 0x07, 0x46, - 0x25, 0xf8, 0x04, 0x81, 0xf1, 0x1a, 0x81, 0x01, 0xaf, 0xbd, 0xd7, 0x0a, 0x62, 0x6d, 0xa6, 0x02, - 0xda, 0xf7, 0x9f, 0xd6, 0xb4, 0xd8, 0xc9, 0x0c, 0x11, 0x59, 0x88, 0x62, 0x2d, 0x82, 0x99, 0x95, - 0xa3, 0x77, 0x49, 0xc3, 0x64, 0x90, 0xdf, 0xaa, 0x52, 0x52, 0xed, 0x7a, 0xfb, 0x8d, 0xb2, 0xd0, - 0xb3, 0x10, 0x2d, 0x02, 0xff, 0xc2, 0x32, 0xca, 0xac, 0x82, 0x97, 0x92, 0x39, 0x88, 0xa5, 0x90, - 0x81, 0x23, 0x6f, 0x91, 0x89, 0xd9, 0xc0, 0xbb, 0xe2, 0xa8, 0x0c, 0xa1, 0x5a, 0x6a, 0xc1, 0x05, - 0x10, 0x46, 0xf1, 0x53, 0x0c, 0x2f, 0xe5, 0xfa, 0x7d, 0xe6, 0xfb, 0x1e, 0x84, 0x63, 0x20, 0xc0, - 0x70, 0xe6, 0x2a, 0xc4, 0xa4, 0x9e, 0x9b, 0x63, 0x8d, 0xe0, 0x1d, 0x07, 0x4a, 0x5d, 0xe3, 0x93, - 0x42, 0x03, 0x19, 0x5e, 0xad, 0x8c, 0xad, 0xac, 0xda, 0x5e, 0x6a, 0xaa, 0x2b, 0x5b, 0x87, 0x8c, - 0x97, 0x94, 0x55, 0x88, 0xa8, 0xf9, 0x6c, 0xef, 0xde, 0xf9, 0x5a, 0x80, 0xeb, 0xbb, 0xc3, 0x79, - 0x5c, 0xc0, 0x86, 0xc9, 0x08, 0x37, 0xa2, 0x30, 0x74, 0x91, 0xfe, 0x10, 0x88, 0xa9, 0xb7, 0x13, - 0xfe, 0xc2, 0x43, 0xc8, 0xd8, 0x39, 0x03, 0x74, 0x51, 0x12, 0x03, 0x62, 0x3f, 0x44, 0xc9, 0xf1, - 0xb8, 0x7f, 0xc4, 0x94, 0x81, 0x99, 0xf3, 0xf2, 0xd6, 0x72, 0x1d, 0xbe, 0xa7, 0x19, 0x6a, 0xd2, - 0xb1, 0x1b, 0xda, 0xbe, 0x33, 0xdd, 0xc8, 0x79, 0x16, 0x9b, 0x9f, 0xfb, 0x8f, 0x3c, 0x4f, 0x37, - 0x2f, 0xe4, 0x25, 0x81, 0x9d, 0xf5, 0x2e, 0x50, 0xcd, 0x8c, 0xa9, 0x7b, 0xde, 0x5c, 0x4b, 0xbb, - 0x9d, 0x02, 0xde, 0x00, 0x73, 0x3b, 0x3f, 0x69, 0xf7, 0x49, 0x77, 0x8c, 0x7c, 0x1e, 0x49, 0xa3, - 0xfb, 0x6e, 0x66, 0x0a, 0x65, 0x3d, 0xdd, 0x8d, 0x65, 0x3a, 0x95, 0x6c, 0xda, 0x1e, 0x2c, 0x16, - 0xf1, 0xa3, 0xf7, 0x47, 0xc0, 0x0c, 0x1b, 0x67, 0xc8, 0x8c, 0x45, 0x93, 0x29, 0x44, 0x38, 0x50, - 0x7f, 0xa8, 0xb6, 0x44, 0xbe, 0xd7, 0xc0, 0x0d, 0xdd, 0xa8, 0x66, 0x74, 0x9e, 0x8a, 0x1f, 0x8c, - 0xa7, 0x2a, 0xb9, 0x2c, 0x8c, 0x5a, 0x35, 0xe0, 0xea, 0x51, 0xc1, 0xee, 0x65, 0x7d, 0x39, 0x62, - 0x2e, 0x03, 0x4c, 0x89, 0x61, 0x8d, 0x27, 0x26, 0xdd, 0xab, 0x13, 0x82, 0xf6, 0x29, 0xeb, 0x70, - 0x38, 0x18, 0x38, 0x38, 0xbe, 0xcc, 0x8d, 0x8a, 0x62, 0x32, 0xfb, 0x7f, 0x12, 0xf2, 0xaa, 0x2b, - 0x41, 0x80, 0xe5, 0x56, 0x2c, 0xc6, 0x61, 0x8e, 0x85, 0xac, 0xfd, 0x20, 0x10, 0xad, 0x8f, 0x15, - 0x72, 0x8b, 0x3f, 0xda, 0xab, 0x83, 0x6b, 0xd8, 0x08, 0x95, 0xa9, 0x53, 0x2e, 0xdb, 0xbc, 0x02, - 0x53, 0xe7, 0x10, 0x4f, 0x54, 0xd8, 0xfe, 0xaf, 0x07, 0xbc, 0x6e, 0x45, 0xfd, 0xc0, 0x52, 0x05, - 0xf8, 0x1a, 0x0d, 0x6f, 0x88, 0x15, 0x26, 0xac, 0xe0, 0x55, 0xfc, 0x80, 0x45, 0x84, 0xa4, 0x83, - 0xcf, 0x37, 0x50, 0x59, 0x29, 0xbc, 0xc4, 0x57, 0x1d, 0x99, 0x93, 0xea, 0x56, 0x98, 0xf9, 0xc6, - 0xa2, 0x52, 0xf1, 0xd2, 0x38, 0x3e, 0x9e, 0x31, 0xa1, 0xb6, 0x6e, 0xa9, 0xa7, 0x56, 0x1d, 0x10, - 0x2d, 0x7b, 0x7b, 0xd2, 0x55, 0x2d, 0x07, 0x30, 0xc7, 0x19, 0xbe, 0xd3, 0x63, 0x35, 0x3c, 0xa3, - 0x3e, 0x4b, 0xbc, 0xcd, 0x10, 0x72, 0x1e, 0xaf, 0x5d, 0x63, 0x38, 0x6e, 0x79, 0xce, 0xd8, 0x94, - 0xf1, 0xe3, 0x00, 0xb9, 0x92, 0x3c, 0x86, 0x48, 0xbc, 0x64, 0x07, 0x9e, 0x84, 0x2a, 0xf7, 0xff, - 0xdf, 0x01, 0xc6, 0x2e, 0xda, 0xef, 0x28, 0xc3, 0xd5, 0x1d, 0xd5, 0x30, 0x05, 0x9b, 0x09, 0xa4, - 0x7b, 0x2c, 0xf4, 0x7c, 0xce, 0xcc, 0xd5, 0x0b, 0x1f, 0xd9, 0x9f, 0x01, 0x9b, 0x92, 0x23, 0xa7, - 0xb1, 0xe9, 0x92, 0x98, 0x91, 0x47, 0xcf, 0x9f, 0x3b, 0x91, 0xd6, 0x9a, 0x95, 0xaf, 0xf0, 0x9c, - 0x46, 0x4d, 0x8d, 0xb7, 0xd0, 0xf3, 0x8b, 0xc7, 0x97, 0xc1, 0xa1, 0xb4, 0x45, 0x5b, 0xb1, 0x77, - 0x64, 0x3e, 0x69, 0x2c, 0x5d, 0x9a, 0x65, 0x1c, 0x70, 0xee, 0xa2, 0x5a, 0x5a, 0xea, 0xef, 0x4d, - 0xfa, 0x95, 0x3f, 0xe3, 0x5f, 0xd2, 0xf4, 0x8a, 0xa0, 0x4c, 0x3c, 0x8c, 0x6c, 0x49, 0xdc, 0x2b, - 0x74, 0xb0, 0x4b, 0xcc, 0xa3, 0xfe, 0xa7, 0x5c, 0x10, 0x89, 0xe0, 0x7a, 0xd2, 0xff, 0xbe, 0xf9, - 0x64, 0x03, 0x93, 0x34, 0x15, 0xe5, 0x50, 0xe4, 0xfc, 0x41, 0xdd, 0x16, 0x65, 0x57, 0x37, 0x98, - 0x4f, 0x57, 0xb5, 0xda, 0x1d, 0x3e, 0xf6, 0x4f, 0x34, 0xde, 0x4b, 0xcb, 0xd6, 0x17, 0x33, 0x80, - 0xbd, 0x12, 0x1c, 0x30, 0x0e, 0xd1, 0x21, 0x0a, 0x2f, 0xc0, 0xbf, 0x9a, 0x4a, 0xe4, 0x44, 0xb7, - 0x4e, 0x22, 0x27, 0x19, 0x0b, 0xd5, 0x3f, 0x82, 0x17, 0x57, 0x7a, 0x68, 0x3d, 0xf6, 0x2b, 0x27, - 0x6a, 0x0b, 0xae, 0x9c, 0xc8, 0xd9, 0xde, 0x3d, 0x02, 0x67, 0x8b, 0xab, 0x8f, 0x54, 0x6a, 0x4b, - 0x16, 0x38, 0x21, 0x2f, 0xb8, 0x57, 0x8f, 0xfb, 0xc1, 0xc2, 0x13, 0x8c, 0x90, 0x8c, 0xcc, 0x0d, - 0xa6, 0x66, 0x57, 0x5c, 0x4e, 0x87, 0x60, 0x95, 0xfd, 0x15, 0xbd, 0x1b, 0x99, 0x47, 0x95, 0xec, - 0x62, 0xe8, 0xaf, 0xde, 0x1d, 0x16, 0x9d, 0x5f, 0x88, 0xb8, 0x71, 0x08, 0xad, 0xf8, 0x32, 0xb3, - 0x97, 0x49, 0x8d, 0xc6, 0x52, 0xb0, 0x8e, 0x54, 0xbe, 0x61, 0x60, 0x8d, 0xcc, 0x66, 0x54, 0x8f, - 0xc7, 0x81, 0x63, 0xaf, 0x29, 0x27, 0x35, 0xbe, 0xc8, 0x8f, 0x00, 0x6b, 0xe1, 0xce, 0x3d, 0xe3, - 0x04, 0x74, 0x83, 0xdf, 0x26, 0x18, 0xaf, 0x7b, 0xea, 0x3c, 0x40, 0xf7, 0xaa, 0x64, 0xf8, 0x52, - 0x65, 0xba, 0xe6, 0x4c, 0xa4, 0x24, 0xc9, 0xfa, 0x55, 0xcd, 0xb2, 0x1b, 0x7e, 0x31, 0xf5, 0x54, - 0xd4, 0xb4, 0xd4, 0xf4, 0x9c, 0x51, 0xde, 0xbf, 0xa2, 0x63, 0x4f, 0xac, 0xc3, 0x26, 0xdf, 0x4d, - 0xa0, 0xd6, 0xc0, 0x2e, 0xe4, 0x8c, 0x35, 0x1d, 0xae, 0x02, 0xa5, 0x5a, 0x8e, 0x1a, 0xc1, 0xbc, - 0x3f, 0x78, 0xf0, 0x19, 0x41, 0x55, 0x92, 0x75, 0xc3, 0x1c, 0x19, 0x18, 0xd2, 0x8e, 0x3c, 0x08, - 0xc4, 0x46, 0x6f, 0x70, 0x47, 0x81, 0x1d, 0xc6, 0xf8, 0xf1, 0x5b, 0x85, 0x43, 0x77, 0x7a, 0x7e, - 0x7a, 0x98, 0x60, 0x0f, 0xf5, 0x50, 0xfe, 0xee, 0x38, 0x01, 0x63, 0x5c, 0x01, 0x41, 0x06, 0x5c, - 0xc8, 0x10, 0x9d, 0x1e, 0x1b, 0x67, 0x43, 0x48, 0x38, 0xcb, 0x3e, 0x86, 0x13, 0x08, 0x00, 0xf8, - 0xcc, 0xe5, 0x28, 0x92, 0x16, 0x52, 0x41, 0x81, 0x09, 0x5d, 0x43, 0x68, 0xc9, 0xf2, 0x5f, 0x70, - 0xeb, 0x85, 0x94, 0xb3, 0x1f, 0xf3, 0x27, 0x35, 0xa7, 0x1a, 0x3c, 0x16, 0xae, 0x79, 0x0f, 0x06, - 0x65, 0x0e, 0x8b, 0x49, 0xc4, 0x09, 0x1b, 0x70, 0x17, 0x21, 0x0b, 0x85, 0xf2, 0x97, 0x58, 0xa7, - 0x08, 0x0f, 0x24, 0x51, 0xbc, 0xce, 0xec, 0x8f, 0x0b, 0x40, 0xa7, 0x74, 0x22, 0x64, 0xa6, 0xee, - 0x1b, 0xed, 0x1e, 0x3f, 0xc0, 0xbe, 0x9e, 0xe1, 0x4a, 0xa1, 0xad, 0x4a, 0x34, 0xb6, 0x5b, 0x44, - 0xe6, 0x13, 0xd9, 0x9f, 0x06, 0xe6, 0x45, 0x44, 0xc7, 0x3a, 0x9a, 0xa1, 0x8c, 0x86, 0xa3, 0x49, - 0xf0, 0x81, 0xd5, 0x71, 0x75, 0x83, 0x2f, 0x72, 0xd0, 0x96, 0x8e, 0xf8, 0xd1, 0x70, 0x9b, 0x20, - 0xd8, 0x8d, 0xbc, 0xf8, 0x64, 0x44, 0x5b, 0x1b, 0x20, 0x56, 0x1c, 0x0c, 0xc0, 0x8e, 0x6e, 0xce, - 0x64, 0xed, 0x8c, 0x4a, 0x7b, 0x6c, 0xc6, 0xd2, 0xa0, 0x0e, 0xfa, 0xc6, 0xcd, 0x69, 0xd8, 0xfc, - 0x3a, 0x49, 0x20, 0x62, 0xc5, 0x73, 0x21, 0xf1, 0x30, 0x0f, 0x21, 0xeb, 0x7f, 0x6b, 0x68, 0x5b, - 0xea, 0x63, 0x8e, 0xca, 0x3c, 0x97, 0xed, 0x4c, 0xa0, 0xf0, 0xfc, 0x26, 0x30, 0x10, 0xcc, 0x8e, - 0xb9, 0xcc, 0x65, 0x8d, 0x48, 0xb1, 0xba, 0xc0, 0xd7, 0xc9, 0x0a, 0x40, 0xe1, 0x04, 0xea, 0x51, - 0x7d, 0x09, 0xd2, 0x1e, 0xcd, 0xce, 0x5e, 0xe0, 0xf7, 0x31, 0xb9, 0x91, 0x83, 0x98, 0xf2, 0xd1, - 0x99, 0x9a, 0xbf, 0xd3, 0x40, 0x4e, 0x96, 0xd2, 0xe1, 0x99, 0xe2, 0x0f, 0x6f, 0xa6, 0x16, 0xdf, - 0x41, 0x74, 0x22, 0xc4, 0xf8, 0xc0, 0x3e, 0x6e, 0x18, 0xb6, 0xbd, 0xc9, 0xaf, 0x99, 0x91, 0xbe, - 0x33, 0xd5, 0xb5, 0x8c, 0x4f, 0x56, 0x9e, 0xdf, 0xb7, 0xf9, 0x45, 0x93, 0xd8, 0xc2, 0x57, 0xaa, - 0x76, 0xde, 0x1d, 0xa6, 0x3c, 0xe3, 0x53, 0x5c, 0x0d, 0x56, 0x88, 0xb4, 0x10, 0x9f, 0x87, 0x54, - 0xce, 0x3c, 0x7f, 0x8d, 0x37, 0xc0, 0xdc, 0x22, 0x12, 0x6e, 0xf1, 0x08, 0x3b, 0x78, 0xbd, 0x47, - 0x0e, 0xf4, 0xcc, 0x14, 0x03, 0x19, 0xbd, 0xda, 0x2c, 0x28, 0xf9, 0xb9, 0xd2, 0x66, 0x8a, 0x1f, - 0x69, 0x51, 0xd3, 0x7b, 0xc2, 0xd4, 0x36, 0x59, 0x96, 0x59, 0x11, 0x40, 0xdb, 0x92, 0xc2, 0x9a, - 0x80, 0x4f, 0xc9, 0x54, 0x7d, 0xd3, 0xed, 0x8b, 0xed, 0xae, 0x17, 0x91, 0x52, 0x81, 0xd2, 0x35, - 0x4c, 0x59, 0x85, 0xee, 0x61, 0xc1, 0xa4, 0x83, 0xcb, 0x29, 0x03, 0x6a, 0xaa, 0xc5, 0x01, 0xbf, - 0x38, 0x33, 0xc9, 0x65, 0x90, 0xe9, 0x34, 0x85, 0x16, 0x41, 0x09, 0xf0, 0x4b, 0xfe, 0x75, 0xb0, - 0x99, 0x78, 0x53, 0xf8, 0x1f, 0x22, 0x52, 0x57, 0x34, 0x19, 0x59, 0x52, 0x1b, 0x70, 0xf0, 0xce, - 0x84, 0x13, 0x05, 0x84, 0xb9, 0x38, 0x16, 0xc7, 0x00, 0x82, 0x62, 0x55, 0x00, 0x5a, 0x4d, 0xec, - 0x72, 0xbe, 0x03, 0x4a, 0xe3, 0x48, 0x35, 0xbe, 0x07, 0x2b, 0x6a, 0x09, 0x64, 0x13, 0x32, 0xdd, - 0xd2, 0x20, 0xe5, 0xec, 0x81, 0x02, 0x52, 0x0f, 0xc6, 0x71, 0xc9, 0x11, 0x22, 0xe2, 0x5d, 0xc1, - 0x8f, 0x34, 0xec, 0x37, 0x49, 0x33, 0xe5, 0xea, 0xf7, 0x74, 0xf5, 0x33, 0x2a, 0xdf, 0x0f, 0x95, - 0x16, 0x7d, 0x2b, 0x22, 0x3f, 0x2e, 0xd0, 0x59, 0xa1, 0xb8, 0xea, 0x58, 0xe6, 0xa6, 0x47, 0x52, - 0x84, 0x29, 0xdc, 0xf7, 0xc9, 0xd6, 0x59, 0xea, 0x95, 0x50, 0xf8, 0x2e, 0xba, 0x27, 0xd9, 0xe1, - 0xa7, 0x24, 0xd7, 0x65, 0x38, 0x28, 0x69, 0xb0, 0x9b, 0x07, 0x91, 0xc1, 0x5e, 0x2f, 0x10, 0x26, - 0x1f, 0x91, 0x48, 0x66, 0x33, 0xf7, 0x0f, 0x8c, 0x60, 0x30, 0x81, 0x0f, 0x7c, 0xce, 0xf3, 0x30, - 0xb7, 0x3d, 0x38, 0x49, 0x8c, 0x9d, 0x58, 0xfc, 0xd8, 0x98, 0x03, 0x25, 0xb3, 0xd3, 0xdc, 0x02, - 0xc1, 0x3d, 0xa0, 0xe7, 0xbe, 0xa7, 0x97, 0x53, 0x52, 0xe0, 0xd9, 0xbf, 0xb1, 0x42, 0x57, 0xdb, - 0xfb, 0xdb, 0x62, 0x95, 0x96, 0xa4, 0xe2, 0x36, 0xde, 0xba, 0xf3, 0x87, 0x84, 0x07, 0x43, 0x17, - 0xfd, 0xb9, 0x33, 0xdc, 0x09, 0x72, 0xcf, 0xcb, 0xda, 0xd0, 0xa3, 0xe2, 0x87, 0x26, 0xe8, 0x13, - 0x76, 0x70, 0x33, 0x6a, 0x16, 0x4e, 0x1c, 0x19, 0xe8, 0xe5, 0x34, 0x54, 0x98, 0x9a, 0xaf, 0x92, - 0x72, 0x37, 0xf8, 0x8a, 0xc8, 0x96, 0xc9, 0xb2, 0x9d, 0xce, 0xd9, 0x84, 0x4c, 0x56, 0x5d, 0x96, - 0x7e, 0x46, 0x34, 0x37, 0xff, 0x23, 0x5d, 0x00, 0x60, 0xc8, 0x2f, 0x21, 0xbd, 0xfa, 0x54, 0xe4, - 0x3a, 0x0e, 0x7d, 0x50, 0x3b, 0x50, 0x02, 0x98, 0x0e, 0xb3, 0xc7, 0xbb, 0x66, 0x0e, 0xe2, 0x6a, - 0x7d, 0xca, 0xfc, 0x35, 0x2a, 0xe3, 0xb9, 0x25, 0x20, 0xa2, 0x6b, 0x35, 0xd0, 0x6c, 0xc8, 0x88, - 0xdf, 0xa5, 0x0a, 0xec, 0x45, 0xe1, 0xf5, 0x15, 0x1b, 0x7b, 0x3f, 0x9f, 0x83, 0x6e, 0x0d, 0x27, - 0x1c, 0x71, 0x4b, 0x52, 0x85, 0xdb, 0xe6, 0xda, 0x2c, 0x2b, 0xff, 0xfe, 0x0c, 0xe2, 0x31, 0x6a, - 0x2b, 0xec, 0xbe, 0x10, 0xff, 0x07, 0x7f, 0x20, 0xd2, 0x2f, 0x26, 0xc6, 0x1c, 0xdb, 0xd0, 0x9f, - 0xc4, 0xf1, 0x2f, 0x96, 0x64, 0xe1, 0xb7, 0xd9, 0xed, 0xfd, 0xdd, 0x97, 0xd7, 0x3f, 0x94, 0xf8, - 0xfb, 0xeb, 0x6d, 0x68, 0xbd, 0x7e, 0xf2, 0xf2, 0x13, 0x42, 0xad, 0x61, 0x57, 0x1f, 0x97, 0xe8, - 0x6e, 0x9b, 0x20, 0xee, 0x37, 0xd0, 0x37, 0x8e, 0x0c, 0xa8, 0xd0, 0x16, 0xdd, 0x48, 0x50, 0x8f, - 0x14, 0xf4, 0x34, 0x53, 0xa1, 0x4f, 0x5d, 0x38, 0x22, 0xc6, 0xe6, 0x3b, 0x5e, 0x14, 0x71, 0xd4, - 0xfb, 0x68, 0x8e, 0xeb, 0x26, 0x1d, 0xb3, 0x1e, 0xd6, 0x25, 0x03, 0x8d, 0x32, 0xfa, 0xc5, 0x94, - 0x3c, 0x8f, 0x2b, 0xcb, 0x51, 0x00, 0x82, 0x89, 0xc8, 0x77, 0x3c, 0x26, 0x7c, 0xde, 0xaf, 0x7d, - 0xbd, 0x0a, 0xf0, 0x88, 0x15, 0xa2, 0xa5, 0xc4, 0x69, 0xa9, 0xd6, 0xd8, 0xeb, 0xe0, 0xff, 0xb7, - 0x9a, 0x28, 0x29, 0x43, 0xde, 0xce, 0x08, 0x05, 0xdd, 0x08, 0x47, 0xc4, 0x18, 0x89, 0x0e, 0x2f, - 0xc5, 0x89, 0xe8, 0x6d, 0x81, 0x05, 0xc3, 0x61, 0xa9, 0x4b, 0x82, 0x84, 0x1c, 0xe1, 0x4a, 0x9e, - 0xfd, 0xa6, 0x05, 0xf3, 0x45, 0x2e, 0xfe, 0x8e, 0x01, 0xcf, 0x49, 0x15, 0xc3, 0x63, 0x45, 0x39, - 0x72, 0xb7, 0x20, 0x9e, 0x33, 0x5e, 0x2a, 0x23, 0x83, 0xaf, 0x3e, 0xcd, 0x7a, 0xfd, 0xfb, 0x60, - 0xab, 0x29, 0xce, 0x6f, 0x90, 0x0e, 0x54, 0x2b, 0x6a, 0x5d, 0x74, 0x4a, 0x38, 0x90, 0x25, 0xd4, - 0xc7, 0x23, 0xd5, 0x69, 0xc5, 0xb1, 0x94, 0x46, 0xfb, 0x83, 0xc5, 0x50, 0x64, 0x04, 0x2f, 0x38, - 0x5d, 0x73, 0x4e, 0xb1, 0x87, 0xa1, 0xad, 0xfc, 0x8f, 0x2c, 0x3d, 0x7e, 0x66, 0x8c, 0x12, 0x5c, - 0x7d, 0xe1, 0xd7, 0x3f, 0xe1, 0xea, 0xc2, 0x69, 0x84, 0x33, 0x95, 0x6b, 0x56, 0xec, 0xff, 0x89, - 0x07, 0x26, 0x0d, 0x20, 0x39, 0x1a, 0xdc, 0x2f, 0xbd, 0xf8, 0xc7, 0xd3, 0x1e, 0xdc, 0x79, 0x8b, - 0xf7, 0x12, 0xc4, 0xa7, 0x1e, 0xd3, 0xda, 0xac, 0x43, 0x6d, 0xea, 0xcf, 0xda, 0xa5, 0x34, 0x10, - 0x01, 0xbf, 0x6c, 0x2c, 0x00, 0xe4, 0x08, 0x44, 0x16, 0x8a, 0x28, 0x39, 0xa2, 0xd6, 0x5f, 0xd1, - 0xa7, 0xac, 0xd0, 0x97, 0xd3, 0xd6, 0x68, 0xab, 0x74, 0xa2, 0x8c, 0x9c, 0x1c, 0x21, 0x19, 0xc0, - 0x35, 0x85, 0xf8, 0xcf, 0x04, 0x16, 0x81, 0x53, 0x88, 0x9d, 0x31, 0x1a, 0x95, 0xed, 0x1a, 0xef, - 0x92, 0x72, 0x76, 0xd5, 0x4a, 0x09, 0x16, 0x7a, 0x1c, 0x2c, 0xe6, 0x94, 0xae, 0xe7, 0x7f, 0x0c, - 0x7d, 0x4e, 0xb2, 0xf9, 0x4b, 0x55, 0xf5, 0xa6, 0x5e, 0x9b, 0xf4, 0xa1, 0x6d, 0x20, 0xdd, 0x0a, - 0xa1, 0x92, 0xe8, 0x5d, 0xea, 0x3f, 0xa5, 0x59, 0x9d, 0x83, 0x76, 0x85, 0x78, 0x4b, 0x5c, 0x41, - 0x7e, 0x34, 0x76, 0x83, 0x8e, 0x1f, 0x59, 0x90, 0x9c, 0xa0, 0x22, 0xeb, 0x84, 0xb8, 0x8f, 0x0a, - 0x07, 0x87, 0xba, 0x80, 0xc5, 0xad, 0x4f, 0xdd, 0x90, 0x79, 0x21, 0x2b, 0xfb, 0xc1, 0xfc, 0x63, - 0x72, 0xe3, 0xc5, 0xe5, 0x74, 0xc3, 0x41, 0xd8, 0xd8, 0x10, 0x43, 0x85, 0x7e, 0x0e, 0xc2, 0x4e, - 0x45, 0xb5, 0xbe, 0x8e, 0xf0, 0x9f, 0x05, 0xa8, 0xba, 0xca, 0x67, 0xf8, 0x37, 0x0e, 0xf7, 0x65, - 0x9b, 0xe5, 0xe6, 0x0f, 0xac, 0x45, 0x7a, 0xa0, 0xcf, 0x0e, 0x88, 0x28, 0xde, 0x48, 0x00, 0x8c, - 0x0f, 0x66, 0xf2, 0x8b, 0x93, 0x23, 0x7d, 0x04, 0xa1, 0xfd, 0xd5, 0xd1, 0xa1, 0x32, 0x15, 0x3a, - 0xc0, 0xa6, 0x7f, 0xce, 0xd1, 0x7a, 0x21, 0x73, 0x85, 0x98, 0xc5, 0x73, 0xcc, 0x93, 0x5e, 0x34, - 0x28, 0xa2, 0x98, 0xdb, 0x58, 0xcd, 0x1a, 0x27, 0x9a, 0xb4, 0x7e, 0xc6, 0x71, 0x9b, 0x18, 0x75, - 0xe4, 0x53, 0x7a, 0xb8, 0xc6, 0x00, 0x4e, 0x1c, 0x17, 0x19, 0x51, 0xb0, 0x9f, 0xe9, 0xa1, 0x14, - 0xa0, 0xb9, 0xa3, 0x70, 0x03, 0xab, 0x27, 0x2a, 0x95, 0xb8, 0x4a, 0x8d, 0x12, 0x15, 0xb4, 0x43, - 0xb6, 0xea, 0xde, 0x69, 0x78, 0x30, 0xf7, 0xd6, 0x67, 0xbe, 0xc6, 0xa2, 0x0c, 0xaa, 0xda, 0xf2, - 0xfe, 0xca, 0x11, 0x71, 0xe6, 0xf2, 0x0a, 0xb4, 0x6a, 0xd0, 0xae, 0x44, 0x1d, 0xad, 0x54, 0xa7, - 0x79, 0x1c, 0x05, 0xf8, 0x26, 0x1b, 0xc8, 0xc0, 0x44, 0x2d, 0x91, 0x9f, 0xb5, 0x47, 0x6a, 0xb2, - 0xb2, 0xe6, 0xe9, 0xa6, 0x29, 0x48, 0x2c, 0xc9, 0x8d, 0x94, 0xe8, 0x08, 0x68, 0xde, 0x21, 0x8a, - 0xcb, 0x71, 0x62, 0xc2, 0xb9, 0x23, 0xbf, 0xa2, 0x4b, 0x95, 0x08, 0xdf, 0x95, 0x8f, 0xd2, 0x1e, - 0x99, 0x7a, 0x22, 0xd9, 0xd3, 0x27, 0x39, 0x2d, 0x84, 0x00, 0x23, 0xe8, 0x56, 0x34, 0x07, 0x13, - 0x04, 0x1e, 0xbf, 0x09, 0xf5, 0x42, 0x54, 0xea, 0x65, 0x69, 0xd3, 0xa6, 0xc9, 0x76, 0x59, 0x76, - 0x29, 0x0c, 0x2c, 0x7b, 0x22, 0x41, 0x27, 0x92, 0xef, 0x49, 0x58, 0xe6, 0x8d, 0xa2, 0x50, 0xc2, - 0xe5, 0xdd, 0x9c, 0x6f, 0xd4, 0x1c, 0xcf, 0x69, 0x64, 0x5c, 0x9f, 0x7c, 0x23, 0x6e, 0x4b, 0xde, - 0x7e, 0xa9, 0x6f, 0x6c, 0x21, 0x92, 0xb3, 0x71, 0x5d, 0xcb, 0x40, 0xaa, 0x85, 0x31, 0xfe, 0x9e, - 0x36, 0xf4, 0x5f, 0xb7, 0xc0, 0x9d, 0xf9, 0xff, 0x61, 0xef, 0x3d, 0x67, 0x98, 0xeb, 0x3b, 0x14, - 0x3f, 0xad, 0xaa, 0xac, 0x2d, 0xba, 0x46, 0x13, 0xdd, 0x10, 0x42, 0xd7, 0xfa, 0x92, 0x9a, 0xdd, - 0xe1, 0x56, 0xe9, 0xd9, 0xba, 0x94, 0xe4, 0x3f, 0xb2, 0x87, 0x62, 0x60, 0x05, 0x58, 0x89, 0x45, - 0x1d, 0x66, 0xdb, 0xb8, 0xa1, 0x27, 0x2c, 0x8d, 0x51, 0x1f, 0xcf, 0x01, 0x72, 0x33, 0xdd, 0xfc, - 0x2d, 0xe4, 0x04, 0xdf, 0xcf, 0x69, 0xa8, 0x15, 0xb7, 0x7a, 0x8d, 0x0c, 0xd9, 0xd6, 0x20, 0xbb, - 0x53, 0x06, 0x3f, 0xdb, 0xdf, 0xe8, 0xba, 0x14, 0xea, 0x3d, 0x33, 0x5c, 0xf6, 0x99, 0x14, 0x57, - 0x21, 0x41, 0xf0, 0x46, 0x8a, 0xc7, 0x36, 0x73, 0x94, 0x7f, 0xd1, 0x44, 0x87, 0xdf, 0x18, 0x04, - 0x87, 0xca, 0x07, 0x4c, 0x1f, 0x9f, 0x37, 0xbd, 0x4e, 0x0f, 0xad, 0x7a, 0xe2, 0x1c, 0xc3, 0x98, - 0x99, 0x2f, 0x7a, 0xf2, 0x10, 0x2f, 0x89, 0x20, 0x13, 0x40, 0xb7, 0x4a, 0x56, 0xa6, 0xea, 0x84, - 0x2a, 0x4e, 0xbd, 0xa6, 0x67, 0xf8, 0x5f, 0xea, 0x52, 0x03, 0x62, 0xbd, 0x27, 0x05, 0x0a, 0x13, - 0x47, 0x26, 0xe6, 0xf7, 0x19, 0xcd, 0xa4, 0x61, 0xa7, 0xd4, 0xd7, 0x2c, 0x72, 0x20, 0x8e, 0xbd, - 0xd4, 0xb8, 0xec, 0x53, 0xec, 0xe5, 0xdf, 0x1d, 0xa3, 0x97, 0x50, 0x9c, 0x77, 0xc6, 0x0c, 0x3d, - 0x8a, 0xee, 0x51, 0x6f, 0x42, 0x29, 0x26, 0x23, 0xb3, 0xe9, 0x32, 0x57, 0x6a, 0x46, 0x1a, 0x32, - 0x48, 0x18, 0x93, 0xac, 0x86, 0xed, 0xf0, 0x17, 0x4d, 0xca, 0x53, 0x31, 0xf4, 0xaf, 0x4b, 0xfe, - 0x61, 0xe3, 0x99, 0x21, 0x78, 0x77, 0x47, 0x13, 0xf5, 0x26, 0x05, 0x98, 0x05, 0xd1, 0xe0, 0x8d, - 0xad, 0xba, 0x1c, 0x65, 0xf9, 0x82, 0x3b, 0x75, 0xf3, 0x59, 0x58, 0x4c, 0x7c, 0x18, 0x95, 0x11, - 0x29, 0xf9, 0x80, 0xe8, 0xb3, 0x84, 0xb4, 0x3d, 0xb4, 0x2d, 0x2e, 0x4d, 0x6c, 0xce, 0x24, 0xb0, - 0x85, 0xda, 0x83, 0xd7, 0x86, 0xb8, 0x5a, 0xe4, 0x4f, 0xd3, 0xe8, 0x52, 0x28, 0x68, 0x1b, 0xb4, - 0x52, 0x61, 0xec, 0x43, 0x4b, 0xb9, 0xfd, 0xbb, 0x15, 0xcd, 0x60, 0x83, 0xe7, 0xe8, 0xc2, 0xc0, - 0xec, 0xf6, 0x86, 0x23, 0xb0, 0xda, 0x63, 0xc2, 0xa7, 0x9e, 0xcf, 0x30, 0xc3, 0x35, 0x8d, 0x2e, - 0x40, 0xd9, 0x3c, 0x3d, 0x1f, 0x95, 0x23, 0xe3, 0xee, 0xe2, 0xa9, 0x9a, 0xc9, 0xb5, 0x93, 0xe6, - 0x25, 0x8c, 0x73, 0xfc, 0xeb, 0x35, 0x9c, 0x88, 0xe7, 0xd0, 0xef, 0x79, 0xbc, 0xd4, 0x2e, 0xd6, - 0x99, 0x46, 0x74, 0xad, 0x4d, 0xfc, 0xec, 0x14, 0x32, 0xb5, 0xff, 0x3e, 0x24, 0x34, 0xfb, 0xe9, - 0xdc, 0xdd, 0xb4, 0x09, 0x2a, 0x54, 0xd1, 0x03, 0x9b, 0x30, 0x6a, 0xbb, 0xb9, 0x01, 0x24, 0x4f, - 0x96, 0xc9, 0x83, 0xdf, 0x85, 0x03, 0x40, 0xa3, 0x2a, 0xc0, 0xae, 0x17, 0x91, 0xa5, 0xba, 0xb0, - 0xca, 0xba, 0xbd, 0x3e, 0x1b, 0x3a, 0xd9, 0x1a, 0x6c, 0x84, 0x36, 0xf7, 0x5f, 0x0c, 0xf9, 0x2a, - 0x3d, 0xe3, 0x40, 0xe5, 0x83, 0xf2, 0x7a, 0xb5, 0x04, 0x48, 0xae, 0x16, 0xb4, 0xa2, 0x56, 0x90, - 0x9b, 0x1d, 0x93, 0x76, 0xef, 0x9f, 0xc3, 0xb4, 0x13, 0xc6, 0xcf, 0xb7, 0x5c, 0x1f, 0x5d, 0x36, - 0x52, 0x1e, 0x57, 0x76, 0x6e, 0xfc, 0x68, 0x7c, 0xe4, 0x39, 0x10, 0x22, 0xa4, 0xd0, 0x0f, 0xa9, - 0x76, 0x5e, 0x01, 0x83, 0x1c, 0x8f, 0xb1, 0xae, 0xc6, 0xa1, 0x26, 0x19, 0x32, 0xb9, 0x48, 0x42, - 0x54, 0xd4, 0xa3, 0x4e, 0x1e, 0x82, 0xce, 0x08, 0x4a, 0xf0, 0x4c, 0x7d, 0x15, 0xf5, 0xdc, 0x2e, - 0x50, 0x0f, 0x76, 0x07, 0xe2, 0x29, 0x0b, 0xa3, 0x20, 0x2f, 0xf2, 0x7b, 0x43, 0x8c, 0xf3, 0xf3, - 0x0b, 0xd0, 0x5d, 0xa3, 0xba, 0x98, 0xba, 0xdb, 0xbf, 0xa4, 0x90, 0x87, 0xd4, 0x27, 0xb4, 0xa9, - 0x17, 0xda, 0x58, 0x98, 0x27, 0xc3, 0x82, 0x42, 0x43, 0xde, 0xb2, 0x0f, 0x60, 0xd1, 0x61, 0x3f, - 0x2c, 0xbc, 0x27, 0x5a, 0x37, 0x76, 0x28, 0x38, 0x94, 0xd6, 0xc7, 0x29, 0xa1, 0x61, 0x11, 0x81, - 0x3f, 0xba, 0x85, 0x1b, 0x9a, 0x2c, 0xa6, 0xa0, 0x7f, 0xa1, 0x92, 0x0c, 0xf7, 0x96, 0xa6, 0xf5, - 0x51, 0x4f, 0x1b, 0xb8, 0x46, 0xc4, 0x47, 0xbb, 0x6e, 0x1b, 0x3d, 0x9f, 0x82, 0xd1, 0xe2, 0x9d, - 0xe0, 0x99, 0x36, 0x83, 0x97, 0x3f, 0x96, 0xc2, 0x6e, 0xe3, 0x61, 0xeb, 0x71, 0x29, 0xe7, 0x51, - 0x4d, 0x06, 0x55, 0x5e, 0x59, 0xff, 0xbf, 0x9f, 0xaa, 0x2b, 0x5f, 0x90, 0x17, 0x94, 0x1c, 0x7b, - 0x8a, 0xa2, 0x60, 0x7c, 0x4c, 0xa4, 0xa5, 0xa5, 0x33, 0xb7, 0x9e, 0x22, 0xeb, 0xee, 0x9c, 0x07, - 0x80, 0x66, 0xdb, 0xea, 0xc4, 0x2a, 0xcb, 0x2e, 0x2b, 0x8c, 0xcc, 0xc3, 0x92, 0x7c, 0x26, 0xeb, - 0xee, 0x3e, 0xa8, 0xde, 0x1d, 0xb1, 0x56, 0x49, 0x08, 0xf6, 0xb8, 0xa5, 0xed, 0xb9, 0x61, 0x62, - 0x26, 0xe1, 0xa0, 0xc8, 0x8c, 0x7d, 0x5c, 0xf7, 0xe9, 0x62, 0xd5, 0x19, 0xfe, 0xbf, 0x8a, 0xd7, - 0x27, 0xf0, 0x8e, 0x9a, 0x25, 0x41, 0x7a, 0x2f, 0x35, 0x1a, 0x69, 0xfa, 0xe3, 0x75, 0xf3, 0x23, - 0x8f, 0xad, 0xdd, 0x77, 0xfb, 0xda, 0xde, 0xa9, 0x70, 0x8d, 0x50, 0xc8, 0xdc, 0xe5, 0xc6, 0xe0, - 0x4b, 0xa2, 0x96, 0xc4, 0xee, 0x11, 0x5e, 0x17, 0x21, 0xbc, 0x09, 0x7a, 0xa5, 0x28, 0x79, 0x95, - 0x21, 0xc7, 0x37, 0x36, 0x39, 0x3a, 0xfc, 0xe7, 0x75, 0x30, 0x7b, 0xbe, 0x86, 0x51, 0x5a, 0x80, - 0xb4, 0xfd, 0x53, 0xd5, 0x94, 0x57, 0x1f, 0x0d, 0x0e, 0x8b, 0x73, 0xb7, 0x48, 0xe0, 0xf5, 0xf6, - 0x20, 0xdb, 0x68, 0xc9, 0x0a, 0x05, 0xf3, 0xe1, 0x54, 0x87, 0x73, 0x65, 0x31, 0x69, 0xf3, 0x68, - 0x9d, 0xbb, 0x29, 0x5f, 0x8b, 0x6c, 0x62, 0xf4, 0x2a, 0x17, 0xb1, 0xa1, 0xb2, 0xe7, 0x0d, 0x07, - 0xac, 0x62, 0xe4, 0x3f, 0xdc, 0x3f, 0xe4, 0x6c, 0x3f, 0x88, 0x91, 0xd6, 0xdf, 0xaa, 0xdb, 0x51, - 0x97, 0xf0, 0x7c, 0x86, 0x14, 0x51, 0x13, 0x84, 0xf2, 0x0b, 0x93, 0x60, 0xe2, 0x43, 0x3a, 0x3a, - 0x37, 0xae, 0x84, 0xb1, 0x12, 0xd5, 0x2a, 0x00, 0x0c, 0x58, 0xf7, 0xc3, 0xdb, 0xff, 0x61, 0xae, - 0xb4, 0x6e, 0x1c, 0xd7, 0x6c, 0x54, 0x17, 0x3f, 0x28, 0xc8, 0x23, 0xf4, 0xdb, 0xa0, 0xbb, 0xec, - 0x02, 0xc2, 0xbf, 0xda, 0xd4, 0x62, 0xbf, 0x35, 0x44, 0x62, 0x24, 0xbb, 0xdf, 0xec, 0x1f, 0x68, - 0xb6, 0x91, 0x0a, 0xc9, 0x19, 0x7a, 0xf0, 0x90, 0x1a, 0x5a, 0x83, 0x59, 0x1e, 0x68, 0x92, 0xee, - 0x73, 0xae, 0xab, 0x3a, 0x67, 0x88, 0xa8, 0xdf, 0x83, 0xfa, 0xd2, 0x07, 0x56, 0x9a, 0xfd, 0x79, - 0x9b, 0x18, 0x48, 0x52, 0x0b, 0x35, 0x45, 0x46, 0x96, 0x4b, 0x42, 0xce, 0x6a, 0xc7, 0xd1, 0x7c, - 0xe5, 0x8a, 0x03, 0xc6, 0x48, 0xbc, 0xe3, 0x62, 0x64, 0x57, 0x5c, 0x3a, 0x33, 0x83, 0x01, 0x51, - 0xf6, 0xa1, 0x0e, 0x64, 0xf2, 0x66, 0xcf, 0xdd, 0xb1, 0x51, 0x10, 0xd4, 0xc6, 0xb4, 0xe6, 0xc6, - 0x97, 0x3a, 0x59, 0xa0, 0x1f, 0x55, 0x71, 0xc5, 0x21, 0x21, 0x77, 0x4d, 0xdc, 0x5d, 0x30, 0xf0, - 0xb1, 0x90, 0x41, 0xb7, 0x36, 0x5f, 0x57, 0x55, 0xc5, 0x93, 0xea, 0xd3, 0xcf, 0x17, 0x84, 0x28, - 0x71, 0x0e, 0x89, 0xd6, 0x26, 0xa5, 0x88, 0x54, 0x64, 0x30, 0x0b, 0xc3, 0x4e, 0x7d, 0x19, 0x98, - 0xa8, 0x9b, 0x2c, 0x34, 0xa9, 0xe9, 0x65, 0xba, 0x0d, 0x16, 0x22, 0xc9, 0x6a, 0xcb, 0xf4, 0x96, - 0x93, 0xea, 0xa7, 0xe2, 0x0b, 0xf9, 0x06, 0x79, 0x73, 0x28, 0x8a, 0x68, 0x26, 0x8b, 0x43, 0x9d, - 0x20, 0x0f, 0x20, 0x56, 0x59, 0x81, 0xc0, 0x2b, 0x52, 0xaa, 0xed, 0x66, 0x96, 0x64, 0x6a, 0x33, - 0x39, 0xd6, 0xa0, 0x6c, 0x27, 0x0e, 0xcd, 0x17, 0x90, 0xdd, 0x78, 0x92, 0x63, 0x25, 0xc5, 0x38, - 0xc5, 0xf0, 0x33, 0xe9, 0x00, 0x65, 0xbe, 0x42, 0x7c, 0x68, 0xc8, 0x45, 0x1e, 0xa7, 0xd9, 0x5a, - 0x1c, 0x76, 0xc6, 0xd6, 0x80, 0xff, 0xf4, 0xff, 0x51, 0x1d, 0xb2, 0x51, 0xa8, 0x8d, 0x52, 0x1c, - 0xd4, 0x12, 0x81, 0xdc, 0x43, 0x2e, 0xe2, 0xd0, 0xd5, 0xee, 0x9a, 0x3b, 0x2d, 0xfc, 0x65, 0xab, - 0x69, 0xdd, 0x31, 0x88, 0x1f, 0x75, 0x20, 0xe3, 0x59, 0x7b, 0x9f, 0x1b, 0x41, 0x2e, 0x74, 0xee, - 0xfc, 0x0e, 0x05, 0x29, 0x66, 0x12, 0xf4, 0x9a, 0x51, 0x30, 0x01, 0x76, 0x7c, 0x87, 0x94, 0x7c, - 0x12, 0x7f, 0x82, 0x3a, 0xa4, 0x1e, 0x71, 0x5b, 0x5e, 0xe0, 0x65, 0x86, 0x3e, 0x6d, 0x9e, 0x11, - 0x06, 0xa7, 0x57, 0xc2, 0x33, 0x90, 0xb0, 0x70, 0xbe, 0x8f, 0x40, 0x72, 0x9a, 0x83, 0x1c, 0xd1, - 0x6b, 0x4a, 0x07, 0xe6, 0x6d, 0x04, 0x3c, 0x62, 0x0e, 0x8e, 0x6b, 0xe2, 0x36, 0xf0, 0xa4, 0x3e, - 0x7a, 0xda, 0x88, 0xdb, 0x05, 0xa5, 0x19, 0x97, 0x90, 0xbc, 0x5b, 0x3a, 0x47, 0xa8, 0xd7, 0x8b, - 0x42, 0x1b, 0x9d, 0x78, 0xf7, 0x8b, 0xda, 0xcc, 0x53, 0xc9, 0x43, 0xd2, 0x22, 0x66, 0x33, 0x7c, - 0x4f, 0xeb, 0xab, 0xd8, 0x38, 0x10, 0xfb, 0xc8, 0x1a, 0x5e, 0x2f, 0x55, 0x1f, 0x62, 0xbf, 0x3b, - 0x7b, 0xbf, 0xa5, 0xf4, 0x7f, 0x7b, 0xd4, 0xb0, 0xb3, 0x17, 0x7b, 0x67, 0x8f, 0x26, 0x0b, 0x59, - 0xed, 0xd3, 0x63, 0x4a, 0xa7, 0x49, 0x9d, 0xbe, 0xac, 0x24, 0x23, 0x8d, 0x19, 0x17, 0xc1, 0x84, - 0xc6, 0x2a, 0x28, 0x94, 0xb4, 0x9d, 0x9d, 0x8f, 0x8d, 0xbc, 0xea, 0x76, 0xeb, 0x9c, 0x35, 0x04, - 0x79, 0x8b, 0x7f, 0xda, 0xe6, 0x78, 0xef, 0x42, 0x0e, 0x92, 0x5a, 0x60, 0x57, 0x76, 0x91, 0x25, - 0x63, 0x38, 0xf3, 0x8c, 0x23, 0x81, 0xeb, 0xee, 0xcc, 0xa4, 0x90, 0xd1, 0x3e, 0xd3, 0x9b, 0x17, - 0x59, 0x0b, 0x14, 0x55, 0x0c, 0xdc, 0x15, 0x19, 0xb2, 0xd4, 0x45, 0x63, 0x02, 0xd1, 0x55, 0x2d, - 0xc8, 0x4a, 0xdb, 0x2d, 0xca, 0x1c, 0x86, 0x44, 0xa6, 0xfe, 0x4c, 0x94, 0xbd, 0x0f, 0xdf, 0x3e, - 0x8d, 0x50, 0x5a, 0xd2, 0x36, 0x79, 0x34, 0xb3, 0x57, 0x77, 0xe6, 0xde, 0x28, 0x5e, 0xcd, 0x32, - 0x45, 0xd5, 0x6d, 0x88, 0x14, 0x06, 0x44, 0x35, 0x57, 0x40, 0xcf, 0x98, 0xb0, 0xcc, 0x42, 0xa2, - 0xa1, 0x1c, 0x1d, 0x68, 0x2f, 0x5f, 0x1b, 0xe4, 0xcd, 0x7b, 0x03, 0xc4, 0xed, 0x62, 0x2a, 0xcf, - 0xae, 0xc9, 0xa7, 0x33, 0xbd, 0x12, 0xc4, 0xfd, 0x1d, 0xf6, 0x53, 0x6c, 0x9d, 0xde, 0x78, 0xd6, - 0x69, 0xc0, 0x48, 0x2a, 0x4b, 0x59, 0x61, 0xa0, 0xad, 0x9b, 0x9c, 0xb6, 0xf6, 0x15, 0xd5, 0xbe, - 0x3c, 0xd0, 0x3f, 0x63, 0x06, 0x95, 0xea, 0xd4, 0x8a, 0x65, 0xcc, 0x07, 0x14, 0x20, 0x75, 0xd8, - 0xb7, 0x0e, 0xe3, 0xef, 0x7a, 0x05, 0x9d, 0xd2, 0x8b, 0x84, 0x90, 0x41, 0x2a, 0x18, 0x8e, 0xfe, - 0x43, 0xde, 0x27, 0x88, 0xc4, 0xe8, 0xbd, 0x88, 0x74, 0x7f, 0x25, 0xf8, 0x01, 0x0e, 0xb2, 0x72, - 0x63, 0x1f, 0xe9, 0x90, 0xcf, 0x08, 0x58, 0x20, 0x5b, 0x1b, 0x45, 0x47, 0x5f, 0x69, 0x62, 0x1e, - 0x75, 0x98, 0xd3, 0x71, 0xaa, 0x3a, 0xfb, 0x4d, 0x88, 0x35, 0xdf, 0xce, 0x06, 0xb9, 0x19, 0x6c, - 0xf7, 0xc8, 0x36, 0x18, 0x37, 0xb9, 0xca, 0xf7, 0x2e, 0x12, 0x0e, 0xb7, 0x93, 0x65, 0x9f, 0x21, - 0x56, 0x09, 0x6f, 0xa9, 0x53, 0x3b, 0xe9, 0xac, 0x71, 0x17, 0x6e, 0xd9, 0x79, 0x74, 0xe1, 0xd1, - 0x04, 0xee, 0x8b, 0x3b, 0x18, 0xe7, 0xb4, 0x69, 0xb6, 0x9c, 0x4f, 0x35, 0x82, 0x06, 0xe9, 0xfe, - 0xfb, 0xda, 0x18, 0x5d, 0x55, 0xb9, 0x8d, 0x10, 0x39, 0x91, 0x39, 0x7b, 0x6f, 0x3e, 0xac, 0xe6, - 0xbd, 0x97, 0x99, 0x69, 0xeb, 0xcb, 0xef, 0x70, 0x8d, 0x18, 0x73, 0xfa, 0xd8, 0x6a, 0x52, 0x7e, - 0x14, 0xdc, 0xbd, 0xd4, 0x3b, 0xe9, 0x34, 0xd2, 0x94, 0x7d, 0x14, 0xc4, 0x5a, 0x43, 0xd6, 0x6a, - 0xca, 0x8c, 0x4a, 0xef, 0x6a, 0x6d, 0x4c, 0x67, 0xec, 0xcf, 0x8c, 0xb7, 0x45, 0x66, 0xbf, 0x72, - 0xc8, 0x1d, 0xb9, 0x25, 0x1c, 0xf9, 0xb7, 0x97, 0x2e, 0x36, 0x66, 0x65, 0x35, 0xe1, 0x68, 0xb8, - 0xe8, 0xbf, 0xe3, 0x99, 0xde, 0x0b, 0x4d, 0xb6, 0x4f, 0xd1, 0x21, 0x79, 0x13, 0xe0, 0x6f, 0xab, - 0xfb, 0x4a, 0x53, 0x44, 0x73, 0xe8, 0x03, 0x55, 0xd2, 0xda, 0x64, 0x4a, 0x25, 0xf6, 0x36, 0x08, - 0x92, 0x35, 0xcd, 0x66, 0x40, 0x3a, 0xab, 0xbb, 0x5f, 0x7a, 0x1b, 0x30, 0x1c, 0xea, 0x61, 0xe3, - 0x93, 0x56, 0xc5, 0x51, 0x31, 0x78, 0x69, 0x6a, 0x56, 0xba, 0x55, 0xdb, 0x0c, 0xd7, 0x51, 0x8b, - 0x98, 0x88, 0x19, 0x4b, 0x14, 0x42, 0xc1, 0xe1, 0xaa, 0x1b, 0xc0, 0xc3, 0xb2, 0x87, 0xff, 0xc8, - 0x87, 0x28, 0x49, 0x52, 0x09, 0x61, 0xec, 0x53, 0x4c, 0xd2, 0xd3, 0x7f, 0xbd, 0xea, 0x38, 0xf2, - 0xd3, 0x22, 0xb8, 0xe5, 0x8e, 0x7a, 0xd5, 0x48, 0x40, 0xb5, 0xc6, 0xf6, 0x24, 0xdc, 0x72, 0xaa, - 0x03, 0x0a, 0xca, 0x1f, 0xe1, 0xd1, 0x09, 0x42, 0xc9, 0xc6, 0xcd, 0xec, 0x1e, 0xb8, 0xae, 0xfe, - 0x8f, 0x25, 0x60, 0x4a, 0x9c, 0x31, 0x5a, 0xc0, 0x08, 0x39, 0x2e, 0x47, 0x55, 0xea, 0xe7, 0x6f, - 0x14, 0x1b, 0xe6, 0x46, 0x30, 0x45, 0x97, 0x51, 0xab, 0x08, 0x33, 0x3a, 0xb0, 0xde, 0x10, 0x8f, - 0x6c, 0x6d, 0xdc, 0xc7, 0xbf, 0x8e, 0x7e, 0x16, 0x0e, 0x23, 0xec, 0x68, 0x8a, 0x0a, 0x4a, 0x3a, - 0xd5, 0xed, 0xfe, 0xae, 0xda, 0x89, 0x4b, 0x87, 0x5c, 0xeb, 0x51, 0x1e, 0x5a, 0x86, 0x6f, 0x13, - 0xde, 0xba, 0x1d, 0x8b, 0x1d, 0xde, 0x94, 0x0d, 0x73, 0x44, 0x35, 0x24, 0x64, 0xdf, 0x06, 0x29, - 0x24, 0xd1, 0x87, 0xdf, 0xd8, 0x21, 0xd0, 0x69, 0xe6, 0xe9, 0x77, 0xf0, 0x10, 0x57, 0xf3, 0x43, - 0x76, 0x80, 0x3f, 0xfa, 0x1f, 0xab, 0x90, 0xde, 0xf7, 0xd8, 0xad, 0xfd, 0xcd, 0x84, 0x59, 0xbe, - 0xbd, 0xcf, 0x34, 0xe7, 0x7f, 0xfe, 0x30, 0x13, 0x44, 0x66, 0x3b, 0xbc, 0xe7, 0x2d, 0x33, 0xe1, - 0x5d, 0x03, 0xc3, 0x76, 0x25, 0x3e, 0xf3, 0xae, 0xc9, 0xca, 0x9b, 0x85, 0x5d, 0x11, 0xb0, 0xe9, - 0xe3, 0x28, 0x30, 0x54, 0x81, 0x76, 0xf2, 0x6e, 0xd1, 0x19, 0x4d, 0x70, 0xb6, 0xa2, 0x18, 0xfe, - 0x3e, 0xc5, 0x75, 0xb1, 0x79, 0x53, 0x91, 0x05, 0x12, 0xcb, 0xb9, 0x50, 0x44, 0x22, 0xb0, 0xf0, - 0xf4, 0x7e, 0xe6, 0x20, 0x4b, 0x17, 0x9b, 0x40, 0x02, 0xf7, 0x8a, 0xcf, 0xa4, 0x7e, 0xa0, 0x46, - 0xba, 0xb8, 0x5e, 0x2b, 0xc1, 0x3c, 0xc6, 0x85, 0x38, 0xdd, 0xa9, 0x12, 0x04, 0xb4, 0xc6, 0xf4, - 0x73, 0x52, 0x5e, 0x4e, 0x76, 0x2c, 0x16, 0x19, 0xd4, 0xae, 0x1b, 0xce, 0x46, 0x8b, 0x85, 0x4a, - 0xd1, 0x44, 0xb3, 0xdf, 0xda, 0x01, 0xde, 0x9e, 0x0d, 0x07, 0x0d, 0x6a, 0xdf, 0xda, 0x20, 0xae, - 0x82, 0x1c, 0xab, 0xff, 0xb5, 0xb3, 0x55, 0xa8, 0x60, 0x47, 0xdd, 0x2c, 0x68, 0x87, 0x12, 0x12, - 0xe8, 0xd2, 0xf5, 0x29, 0xc2, 0xba, 0x93, 0x71, 0x8e, 0xf9, 0x9c, 0xfc, 0x25, 0x33, 0xc3, 0x46, - 0x88, 0x63, 0xb2, 0x0e, 0xa7, 0x93, 0x2a, 0x6a, 0x26, 0xcf, 0x44, 0x90, 0x38, 0x6a, 0xd8, 0x52, - 0xbc, 0x9e, 0x98, 0x12, 0x1f, 0xd3, 0x65, 0xb7, 0x41, 0x0c, 0xaa, 0x65, 0x4a, 0x25, 0x64, 0xc7, - 0x26, 0x5d, 0x4b, 0xf8, 0xda, 0xe8, 0x40, 0x7b, 0xb6, 0xfc, 0xe0, 0xa7, 0xef, 0x96, 0xea, 0xfe, - 0x04, 0xed, 0xf7, 0xb2, 0x14, 0xc4, 0xf3, 0x1f, 0xd5, 0x2b, 0x0f, 0x9f, 0x0e, 0x63, 0x0a, 0xbe, - 0xaf, 0x48, 0x94, 0x9c, 0x80, 0x85, 0x19, 0x9e, 0xeb, 0xdd, 0xc2, 0x2f, 0xa0, 0xbb, 0x32, 0xa9, - 0xe7, 0x88, 0x11, 0x14, 0x00, 0x8e, 0x62, 0x32, 0x91, 0xfc, 0x9b, 0x81, 0x62, 0xea, 0xa4, 0xef, - 0x74, 0x71, 0xd8, 0x10, 0xc1, 0x2c, 0x72, 0x2d, 0x6a, 0x1d, 0x8a, 0xed, 0xdf, 0xa9, 0x5c, 0xc4, - 0xa0, 0x24, 0x3d, 0x2e, 0x4c, 0x1e, 0x0d, 0x06, 0x6d, 0x50, 0x2d, 0x4b, 0x35, 0x7e, 0x28, 0xd0, - 0x8f, 0x20, 0x33, 0x01, 0x6c, 0x28, 0xdd, 0xbf, 0x4c, 0x1c, 0x30, 0xa0, 0xd8, 0xbd, 0x5d, 0x65, - 0x71, 0xd7, 0xfc, 0xd7, 0x66, 0x33, 0x0e, 0x39, 0x1b, 0x92, 0x16, 0x37, 0xe6, 0x9b, 0xf0, 0x91, - 0x26, 0x78, 0x6c, 0x70, 0x56, 0x1b, 0x89, 0x84, 0x36, 0xca, 0x2a, 0xd8, 0x3e, 0x1c, 0x83, 0x10, - 0xe3, 0x2e, 0x3b, 0x0c, 0x66, 0xd1, 0xee, 0x65, 0xaa, 0xe9, 0x63, 0xce, 0x6c, 0x7d, 0x38, 0x66, - 0x81, 0xee, 0x81, 0x90, 0x52, 0x99, 0x9e, 0xd4, 0x1f, 0x5f, 0x9b, 0x2e, 0x69, 0x18, 0x53, 0x95, - 0xec, 0x10, 0xb4, 0x10, 0x1f, 0xb8, 0xb5, 0xb0, 0xdd, 0x55, 0x6b, 0x29, 0xc9, 0xe7, 0xda, 0xd7, - 0x3c, 0xfb, 0x3c, 0xb0, 0x38, 0xd3, 0x65, 0xd6, 0x7d, 0x0c, 0xee, 0x02, 0x39, 0x1d, 0x0c, 0x1d, - 0xfe, 0x37, 0xbd, 0x66, 0x0f, 0x07, 0x1b, 0xec, 0xb2, 0xa6, 0xe9, 0x22, 0x2d, 0x95, 0x49, 0x44, - 0xe1, 0x06, 0x68, 0xb5, 0x87, 0x68, 0xce, 0xa2, 0xf3, 0x09, 0x25, 0x38, 0xe1, 0xd8, 0x18, 0x0d, - 0x04, 0xa5, 0x00, 0xd9, 0x91, 0x5f, 0xe6, 0x63, 0x3d, 0x12, 0x50, 0x43, 0xc7, 0x6d, 0x6d, 0x14, - 0xd4, 0x6b, 0x28, 0x9a, 0xcc, 0x84, 0x03, 0x13, 0xf1, 0x72, 0xc5, 0x32, 0x8a, 0x86, 0xcd, 0x53, - 0x20, 0xa1, 0x33, 0x56, 0xe5, 0xe9, 0xe1, 0x01, 0xdf, 0x66, 0x99, 0xab, 0xe7, 0x3d, 0xd8, 0x60, - 0x8a, 0x83, 0x40, 0x42, 0xfc, 0x20, 0x66, 0x97, 0x21, 0xc9, 0xdc, 0x22, 0x9e, 0x98, 0x8b, 0x53, - 0xe4, 0xca, 0x03, 0x79, 0xa7, 0x2d, 0xff, 0x2a, 0x61, 0x14, 0x26, 0xb2, 0xac, 0xd4, 0xd1, 0xb3, - 0xc7, 0x2a, 0x77, 0xfd, 0x30, 0xf3, 0x7e, 0x82, 0x6d, 0x80, 0xae, 0x6e, 0x94, 0xde, 0xa4, 0xb3, - 0xf8, 0xf3, 0x9a, 0x79, 0x2a, 0xc5, 0x58, 0x7c, 0xce, 0x04, 0x97, 0xb5, 0xa8, 0xd2, 0xe9, 0x74, - 0x8a, 0x2e, 0x9b, 0xa1, 0x0d, 0xce, 0x1c, 0x7b, 0xeb, 0x8d, 0x0d, 0xbf, 0xcc, 0xf6, 0x7d, 0x14, - 0xeb, 0xc0, 0x28, 0x8e, 0xa2, 0xc4, 0x48, 0xe8, 0xdf, 0x20, 0xe7, 0x7f, 0xa2, 0xb3, 0xf2, 0xdd, - 0xa2, 0xfe, 0xd5, 0x5c, 0x83, 0xfa, 0x16, 0x88, 0x20, 0x31, 0x78, 0xfc, 0xb4, 0x80, 0x54, 0x37, - 0x91, 0xd7, 0x64, 0xe0, 0x79, 0x65, 0x69, 0x17, 0x6e, 0x82, 0x26, 0xb6, 0xc9, 0xe1, 0x46, 0x6e, - 0x11, 0xb9, 0x2e, 0x4c, 0x99, 0x6a, 0x35, 0x0a, 0xe6, 0x1c, 0xe3, 0xa1, 0xfb, 0xfe, 0x83, 0x3b, - 0x98, 0x2e, 0xb3, 0xfe, 0x4d, 0x1c, 0xc8, 0x0f, 0x34, 0x4e, 0xfe, 0xb0, 0x57, 0x1f, 0x47, 0xfa, - 0xd1, 0x61, 0xf4, 0x33, 0x34, 0x04, 0xbf, 0x58, 0x6c, 0x41, 0x05, 0xd5, 0xfa, 0xf2, 0x35, 0x52, - 0xc5, 0x10, 0xe8, 0x0e, 0x05, 0xbd, 0x2c, 0xdf, 0x3e, 0x14, 0x69, 0x77, 0x74, 0xc1, 0x6a, 0xcc, - 0x68, 0x18, 0xc9, 0xc5, 0x5f, 0x08, 0x46, 0x80, 0xea, 0x31, 0x60, 0xca, 0x23, 0x44, 0x07, 0xeb, - 0x1c, 0x57, 0x43, 0x6f, 0x8d, 0xbe, 0x5d, 0x69, 0x6c, 0x9a, 0x9f, 0xd4, 0x4d, 0xd2, 0x4b, 0x45, - 0x70, 0x18, 0x9b, 0xa8, 0xe3, 0x9e, 0xc2, 0x8e, 0xa4, 0x75, 0xf2, 0x69, 0xe6, 0x79, 0xca, 0x69, - 0x11, 0xab, 0x71, 0x2e, 0x4b, 0x17, 0x5a, 0xd8, 0xd4, 0x5f, 0xd8, 0x05, 0x2f, 0xaf, 0x48, 0x95, - 0x97, 0x1f, 0x7c, 0x9d, 0x11, 0xd8, 0x8c, 0x90, 0xd0, 0x3a, 0xc1, 0xd3, 0x66, 0x55, 0x58, 0x0a, - 0x0a, 0x17, 0x73, 0xd7, 0x1e, 0x59, 0xf6, 0x86, 0x06, 0xa4, 0xd6, 0xd8, 0x16, 0x69, 0x4f, 0x6f, - 0x89, 0x11, 0xc5, 0x32, 0x4f, 0xdc, 0xc0, 0x6f, 0xfc, 0x9b, 0xf0, 0xf3, 0x22, 0x12, 0xf1, 0x3c, - 0x49, 0xf4, 0x33, 0x3c, 0xfa, 0xdd, 0x6c, 0x07, 0xa5, 0xee, 0x04, 0xff, 0x04, 0x4a, 0x8f, 0xf8, - 0x93, 0x99, 0xa8, 0xc2, 0x7f, 0x22, 0x2b, 0x68, 0xc4, 0x81, 0xfa, 0x76, 0x13, 0xba, 0x08, 0x65, - 0xc0, 0x1d, 0xb8, 0xaf, 0x6b, 0xb9, 0xf7, 0xdb, 0x72, 0xff, 0xd8, 0x82, 0xa5, 0xcb, 0xaa, 0x15, - 0xbd, 0xa9, 0x05, 0x61, 0x6b, 0xc9, 0x20, 0xa4, 0x26, 0x06, 0x06, 0xc0, 0x53, 0xdc, 0xd7, 0x50, - 0x4a, 0xf0, 0xba, 0x19, 0xd2, 0xe0, 0x9a, 0x69, 0xba, 0x37, 0xb2, 0x6a, 0xee, 0xbf, 0x66, 0x66, - 0x28, 0xb2, 0x1c, 0x20, 0xad, 0x76, 0x78, 0xbc, 0xc2, 0x66, 0x50, 0xdf, 0xd0, 0xff, 0xc5, 0xf9, - 0x81, 0xdc, 0xa4, 0x26, 0xf9, 0x16, 0x31, 0xe1, 0x0d, 0x31, 0x29, 0xc9, 0x99, 0xf9, 0xa5, 0xae, - 0xbe, 0xa8, 0x7a, 0xe4, 0x21, 0x56, 0xe7, 0x7c, 0x06, 0x6a, 0x8c, 0xfe, 0xd5, 0xb4, 0x54, 0xa8, - 0x4b, 0xb3, 0x93, 0xa8, 0xea, 0x1f, 0xd4, 0x3c, 0x58, 0xc1, 0x76, 0x6c, 0x9b, 0x74, 0x3b, 0x6c, - 0x39, 0x12, 0x7a, 0x22, 0xdd, 0xe4, 0x0c, 0xe3, 0x33, 0x3c, 0xb2, 0xa2, 0x19, 0x78, 0x15, 0x80, - 0x48, 0x5f, 0xb7, 0x3f, 0x36, 0x73, 0x57, 0x49, 0x21, 0xf4, 0xb6, 0x21, 0x1c, 0x14, 0x09, 0xfd, - 0x49, 0xe6, 0x33, 0x49, 0xdc, 0x73, 0xdf, 0x07, 0x3c, 0x23, 0x64, 0xb4, 0xdf, 0xa5, 0x33, 0x6f, - 0x0e, 0x8d, 0xc8, 0x86, 0x39, 0x61, 0xaf, 0x87, 0x77, 0x55, 0x49, 0xa2, 0xde, 0xc7, 0x51, 0xc3, - 0xbe, 0xe9, 0xed, 0x78, 0x6a, 0xd7, 0x25, 0x63, 0x19, 0xc0, 0x08, 0xa4, 0x87, 0xbb, 0xf9, 0x59, - 0xf5, 0xb9, 0xc8, 0xb3, 0x92, 0x50, 0x00, 0x60, 0x20, 0xd8, 0x2f, 0x78, 0x3d, 0x66, 0x24, 0x9d, - 0x83, 0x35, 0x4e, 0xd9, 0x5c, 0x55, 0x0e, 0xfc, 0xe4, 0x1e, 0x2f, 0x1d, 0xe9, 0x5a, 0x14, 0x4e, - 0xf5, 0xff, 0x99, 0x0c, 0x82, 0x36, 0xbd, 0xa7, 0x42, 0x14, 0xb4, 0x46, 0x86, 0x6d, 0xd7, 0xe9, - 0xd6, 0x5e, 0xeb, 0x62, 0x04, 0x98, 0x3b, 0x8b, 0x27, 0x87, 0xf4, 0x04, 0x7b, 0x3d, 0x82, 0xc1, - 0x63, 0xb6, 0x76, 0x8c, 0x73, 0x69, 0xae, 0x18, 0x28, 0xdc, 0x5a, 0xf2, 0xac, 0xf9, 0xdf, 0xbe, - 0xad, 0x0e, 0x22, 0x75, 0x29, 0xb9, 0x9f, 0x3f, 0x07, 0x96, 0xdb, 0xb0, 0xe0, 0xda, 0x03, 0xaa, - 0x1d, 0xab, 0x9a, 0xc5, 0x9e, 0x89, 0x17, 0xf9, 0x76, 0xb6, 0xae, 0x8a, 0xb8, 0x55, 0x95, 0x4e, - 0xfe, 0x65, 0x6b, 0x31, 0x88, 0xca, 0xd1, 0x03, 0xca, 0x8c, 0x80, 0x3a, 0xc7, 0x6e, 0x05, 0xb8, - 0x54, 0x64, 0x02, 0xb1, 0x55, 0x18, 0xd7, 0xe1, 0xf4, 0xdf, 0x64, 0xd7, 0x70, 0xed, 0x75, 0x66, - 0xbb, 0x60, 0x18, 0xa6, 0x1d, 0x18, 0xf4, 0x0c, 0x89, 0x9f, 0xb6, 0x81, 0x93, 0xe0, 0x88, 0x81, - 0x30, 0xf3, 0x8d, 0xec, 0xfa, 0x6a, 0x61, 0xa4, 0xcb, 0xa0, 0xfc, 0x2e, 0x60, 0x2b, 0x9f, 0x39, - 0x7e, 0x2c, 0x26, 0xc9, 0xc6, 0x6f, 0x8b, 0x59, 0xa3, 0xa9, 0x93, 0x2d, 0xdf, 0xc4, 0xe0, 0xed, - 0xce, 0xb3, 0x12, 0x26, 0x9f, 0x21, 0xfd, 0xbe, 0xd7, 0x18, 0xef, 0xe8, 0x95, 0xb9, 0xa9, 0x50, - 0xeb, 0xae, 0x10, 0xf8, 0xce, 0xb2, 0x11, 0x75, 0x47, 0x0a, 0xb7, 0x8b, 0x3f, 0x61, 0x74, 0x3d, - 0x8e, 0xb4, 0xd6, 0xa1, 0x62, 0xfd, 0x7e, 0x98, 0x86, 0x76, 0xd8, 0x33, 0xa2, 0x9f, 0x82, 0xd2, - 0xa1, 0xbf, 0x1b, 0x9a, 0xb8, 0x0e, 0xab, 0xee, 0x96, 0xbd, 0x30, 0x7b, 0x68, 0x4c, 0xb0, 0x4f, - 0xf2, 0x68, 0xed, 0x17, 0x9c, 0xa7, 0xd2, 0xe4, 0xa0, 0x35, 0x92, 0x27, 0xa5, 0xf9, 0x29, 0x65, - 0x3f, 0xe6, 0xfb, 0xa0, 0x51, 0xde, 0x51, 0x35, 0x17, 0x34, 0x60, 0xa0, 0xf5, 0x9e, 0xcb, 0x84, - 0xb5, 0xd0, 0xd1, 0x98, 0x55, 0xa5, 0x57, 0xc7, 0xac, 0x41, 0x52, 0x4c, 0xa8, 0x26, 0xb2, 0x92, - 0x02, 0x4f, 0x8e, 0xb1, 0x03, 0x97, 0x87, 0x27, 0x94, 0x45, 0xf2, 0x71, 0xd5, 0xe5, 0x57, 0x0f, - 0x57, 0x49, 0xed, 0x83, 0xac, 0xb0, 0xbf, 0xca, 0x9b, 0x88, 0xf5, 0xc8, 0x9e, 0xa0, 0x4c, 0xa5, - 0xb7, 0x62, 0xf3, 0xf3, 0x94, 0xd8, 0xab, 0xe1, 0xa5, 0xde, 0x61, 0xe0, 0x7e, 0xbb, 0x70, 0x76, - 0x12, 0xb8, 0xf2, 0x07, 0xff, 0x47, 0x70, 0xd3, 0xed, 0xc7, 0x83, 0xf7, 0x85, 0xed, 0x83, 0x3d, - 0x0e, 0x42, 0x71, 0x2d, 0x71, 0x23, 0xaa, 0xeb, 0xb0, 0x4a, 0x01, 0x85, 0x25, 0x15, 0x02, 0x1e, - 0x58, 0x83, 0xc5, 0x0e, 0xe7, 0xaa, 0x5d, 0x68, 0x71, 0xe2, 0x61, 0x72, 0x92, 0xa8, 0xe4, 0xa4, - 0x33, 0x93, 0xe3, 0x5d, 0xbc, 0xcf, 0x37, 0x46, 0x05, 0x87, 0xb7, 0x51, 0x0c, 0x42, 0x56, 0xb7, - 0x1e, 0x68, 0xbc, 0x74, 0xdb, 0x75, 0x7d, 0xbf, 0x8f, 0x21, 0x7c, 0xc4, 0xe8, 0x21, 0xfd, 0x77, - 0x2e, 0xd9, 0xce, 0x91, 0x7f, 0x0c, 0x95, 0x46, 0xc0, 0x0b, 0xad, 0x31, 0x0d, 0xcf, 0x18, 0x0a, - 0xc6, 0x05, 0xb0, 0x0d, 0x6f, 0x94, 0xb2, 0xf4, 0xa6, 0x4c, 0xb0, 0x1c, 0x54, 0xf5, 0x7d, 0x05, - 0x5d, 0x48, 0xb2, 0xe6, 0x60, 0x16, 0xde, 0xdd, 0xfc, 0x47, 0x68, 0x66, 0x59, 0xca, 0x3b, 0xdc, - 0xc1, 0xf8, 0xe8, 0x3e, 0xea, 0xaf, 0xb4, 0xc8, 0xfe, 0x35, 0x23, 0x7e, 0xae, 0xb9, 0xd3, 0x78, - 0x2d, 0x0d, 0xfe, 0xcb, 0x39, 0x35, 0x87, 0x1c, 0x77, 0x8e, 0x06, 0xd9, 0x45, 0xfe, 0xd3, 0xbd, - 0xdb, 0x44, 0x61, 0x02, 0x13, 0x87, 0xeb, 0xab, 0x32, 0x7d, 0xdc, 0x59, 0x28, 0x4c, 0x75, 0x3b, - 0x89, 0x99, 0x09, 0x0a, 0x86, 0xcc, 0x66, 0x26, 0x53, 0x52, 0x54, 0xe8, 0x61, 0x4f, 0x2f, 0x44, - 0x45, 0xdf, 0xbe, 0x04, 0x16, 0x7a, 0xb1, 0x31, 0xc3, 0x50, 0xb2, 0x13, 0x14, 0xe2, 0x9b, 0x57, - 0x5b, 0x17, 0x5c, 0x49, 0xe8, 0x17, 0x46, 0x2a, 0xac, 0xa1, 0x45, 0xf7, 0xa5, 0x22, 0x3b, 0x39, - 0xd2, 0xe0, 0x09, 0x16, 0x47, 0x60, 0xb7, 0xc8, 0xf5, 0x11, 0x4d, 0x8f, 0xf0, 0x4e, 0x18, 0x34, - 0x0e, 0x0f, 0x3e, 0x10, 0x57, 0x34, 0x19, 0xde, 0xf2, 0x16, 0xaa, 0x42, 0xf0, 0x0f, 0xd3, 0x50, - 0xb9, 0xe3, 0xad, 0xc9, 0x1d, 0x9b, 0xe0, 0xc9, 0x03, 0x35, 0x87, 0x87, 0x91, 0x44, 0x28, 0x55, - 0x38, 0xe9, 0x01, 0x82, 0xa5, 0x8e, 0x8a, 0xba, 0x57, 0x95, 0xe8, 0x72, 0x0b, 0xcd, 0xcd, 0xc0, - 0x5d, 0x58, 0x84, 0x59, 0x5f, 0x9f, 0x8d, 0xc6, 0xcf, 0x27, 0x57, 0xec, 0x1c, 0x71, 0x8b, 0x59, - 0xc2, 0x3c, 0xca, 0xd1, 0x16, 0xf2, 0x4a, 0x59, 0x68, 0xe3, 0xb1, 0xf0, 0x7d, 0x19, 0x97, 0x40, - 0xe3, 0x73, 0x0a, 0xf1, 0xb5, 0xe8, 0x33, 0xd9, 0x76, 0x1d, 0xe3, 0x93, 0x0b, 0x3f, 0x84, 0x26, - 0xe6, 0x07, 0x8d, 0x43, 0x5d, 0xb3, 0xe8, 0xcd, 0x99, 0x78, 0xde, 0xe3, 0xb2, 0xf2, 0xcf, 0x02, - 0x3f, 0x17, 0xb1, 0x35, 0x96, 0xd3, 0x7d, 0x70, 0xb0, 0xde, 0x61, 0xc7, 0x2c, 0xa1, 0x83, 0x7a, - 0x2b, 0xaf, 0x8b, 0x9c, 0x5e, 0xa4, 0xe6, 0x54, 0xcc, 0x66, 0x99, 0x2e, 0x53, 0x35, 0x1b, 0x98, - 0xd9, 0xda, 0xe2, 0x54, 0x02, 0xcf, 0xd7, 0x6d, 0x75, 0xb5, 0x96, 0x00, 0xb1, 0xf1, 0xed, 0x72, - 0x91, 0x00, 0xe9, 0xcc, 0x10, 0x8a, 0x25, 0xac, 0xa7, 0x43, 0x67, 0x24, 0x3e, 0x0b, 0x9d, 0x2d, - 0x7d, 0x44, 0x94, 0x3f, 0xb0, 0xc8, 0x4f, 0x9d, 0x08, 0xe9, 0x78, 0x99, 0xec, 0xcf, 0xe0, 0x67, - 0xdb, 0xac, 0xf6, 0x55, 0xc0, 0xa3, 0xc4, 0x96, 0xa2, 0x3f, 0xe8, 0xbf, 0xf8, 0x6d, 0x39, 0x72, - 0x03, 0x20, 0xec, 0x25, 0x09, 0xc5, 0x39, 0xf6, 0x8f, 0xdb, 0x1d, 0x19, 0x67, 0x00, 0xad, 0x47, - 0x76, 0xcb, 0xd7, 0xdb, 0xfc, 0xf5, 0xfc, 0x5c, 0xb6, 0x47, 0x89, 0x5e, 0x7e, 0xe6, 0xee, 0x4d, - 0xe5, 0x5e, 0xd9, 0xe9, 0x9d, 0xfb, 0x16, 0xd5, 0x00, 0x41, 0x51, 0x23, 0x07, 0xc2, 0xd1, 0x5c, - 0x3a, 0x0f, 0x2d, 0x36, 0xf5, 0xa3, 0x25, 0xe9, 0xbe, 0x6a, 0x1d, 0x36, 0x19, 0xbe, 0x67, 0x4e, - 0x9f, 0x6f, 0x8e, 0x83, 0xec, 0x62, 0xaa, 0x4c, 0xf2, 0xdb, 0xbc, 0xed, 0xf1, 0x08, 0xeb, 0x50, - 0xe3, 0x7a, 0x30, 0xc3, 0x77, 0xea, 0x52, 0xda, 0xf2, 0xb0, 0x7f, 0x14, 0x37, 0x7e, 0x6d, 0xa3, - 0x72, 0xec, 0xbe, 0x12, 0x68, 0x12, 0xaf, 0x54, 0xe0, 0xec, 0x1a, 0x71, 0x43, 0x04, 0x9d, 0x85, - 0x67, 0xe6, 0x27, 0x5b, 0x06, 0x50, 0x92, 0x92, 0x8e, 0x99, 0xc2, 0x1d, 0x7e, 0x54, 0xeb, 0xd0, - 0xa1, 0x19, 0x35, 0x71, 0x2b, 0x2f, 0xfb, 0xed, 0x01, 0x6f, 0x60, 0x8e, 0x28, 0xf2, 0xfd, 0xe0, - 0x14, 0x9e, 0x5f, 0xcf, 0xc3, 0x40, 0x7c, 0x18, 0xae, 0x66, 0x2a, 0x9a, 0x6d, 0x37, 0x09, 0xcb, - 0x05, 0xfa, 0xa0, 0x5e, 0x75, 0xc1, 0xd6, 0x25, 0x9d, 0x7a, 0xb4, 0x25, 0x0d, 0xfd, 0x06, 0xc8, - 0x32, 0xf1, 0xef, 0xd2, 0x9a, 0x19, 0x8b, 0x8b, 0xef, 0x0d, 0xef, 0x21, 0x41, 0x0a, 0x10, 0xc5, - 0x54, 0x03, 0x6c, 0x3f, 0x49, 0x58, 0x9b, 0x77, 0xab, 0x0f, 0xea, 0xdd, 0x3a, 0xf8, 0xa3, 0xa9, - 0x99, 0x1b, 0x06, 0x19, 0x56, 0x57, 0x46, 0xe6, 0xa1, 0xda, 0x2d, 0x94, 0x63, 0x52, 0x03, 0xe9, - 0x52, 0xe7, 0xfc, 0xec, 0x15, 0x50, 0x1d, 0x42, 0xfe, 0xe6, 0x6b, 0x8f, 0x04, 0x52, 0xbb, 0x95, - 0xcb, 0xda, 0x0d, 0x3a, 0x85, 0x30, 0x70, 0xb3, 0x7d, 0x44, 0x65, 0x52, 0x3c, 0xb4, 0x0e, 0xde, - 0xb6, 0xda, 0x10, 0xb1, 0x2f, 0xf7, 0x3f, 0x8e, 0x05, 0xba, 0xea, 0x45, 0xa8, 0xec, 0x3e, 0x19, - 0x86, 0xd0, 0xf6, 0x29, 0xd2, 0x59, 0x2f, 0xc4, 0x55, 0x23, 0x19, 0x8a, 0x9f, 0xf8, 0xd9, 0x58, - 0xed, 0x73, 0x8d, 0xb6, 0x7e, 0xe7, 0x17, 0x46, 0x7a, 0x37, 0x85, 0xd3, 0x59, 0x3b, 0x56, 0x7c, - 0x3b, 0x13, 0x70, 0x40, 0x37, 0x62, 0x19, 0xe3, 0xd7, 0x4f, 0x45, 0x8f, 0x0d, 0xbb, 0xbd, 0x24, - 0xc9, 0x75, 0xb7, 0xc2, 0xd4, 0x8c, 0xdd, 0x16, 0x94, 0x92, 0x92, 0x2e, 0xc0, 0xf9, 0xc9, 0xd8, - 0x3a, 0xd8, 0xfa, 0xda, 0x91, 0x22, 0xfc, 0x84, 0xae, 0x2d, 0x58, 0xce, 0x50, 0x4c, 0x8d, 0x30, - 0x2c, 0xc6, 0xc9, 0xaa, 0x88, 0x8b, 0x2c, 0x32, 0xc7, 0xfa, 0x97, 0x23, 0x45, 0xfb, 0x8f, 0x25, - 0x9e, 0xe8, 0xcc, 0xce, 0x71, 0x39, 0x44, 0x85, 0x7a, 0xc5, 0x49, 0x26, 0x7e, 0xac, 0xa7, 0x39, - 0xfe, 0x08, 0x4b, 0x1e, 0x11, 0x88, 0xc2, 0xaa, 0xed, 0xda, 0x84, 0x6d, 0xdb, 0xe4, 0x7f, 0xca, - 0xba, 0x62, 0xe2, 0x6b, 0x81, 0xc0, 0xaa, 0x75, 0x4c, 0x95, 0x9c, 0x80, 0x36, 0x0f, 0xc7, 0xf7, - 0xb2, 0x94, 0x50, 0x51, 0x54, 0x12, 0xbf, 0xcd, 0x62, 0x4d, 0xdc, 0x3f, 0xe5, 0x71, 0x71, 0x87, - 0x69, 0x27, 0x9e, 0x42, 0xa6, 0x13, 0x85, 0x3a, 0xdb, 0xec, 0xbe, 0xec, 0xae, 0xb0, 0xb9, 0x09, - 0x7c, 0xb5, 0x54, 0x7e, 0x31, 0x37, 0xba, 0x66, 0xc6, 0xe0, 0xe8, 0x19, 0x19, 0x47, 0x2c, 0xd9, - 0x59, 0xb3, 0xba, 0xce, 0x45, 0xd7, 0x70, 0x81, 0xb4, 0xdb, 0x59, 0x50, 0x23, 0x06, 0xcf, 0xd8, - 0x76, 0x0c, 0xaa, 0x7e, 0x74, 0xf8, 0x86, 0xf0, 0xaa, 0x67, 0x10, 0xb9, 0xf1, 0xb3, 0x78, 0xd3, - 0x49, 0x22, 0xe9, 0xd3, 0xf2, 0x8d, 0x0b, 0xcf, 0x0a, 0xe1, 0xfa, 0x6b, 0x65, 0xee, 0x11, 0x31, - 0xb3, 0x2f, 0xdc, 0x70, 0xa6, 0x3c, 0xfc, 0x29, 0x85, 0x86, 0x25, 0x3f, 0xee, 0xcc, 0x36, 0x10, - 0xbd, 0x02, 0x54, 0x4d, 0xbe, 0x67, 0x25, 0x63, 0x2c, 0x10, 0x34, 0xfe, 0xf7, 0xf0, 0x36, 0x9a, - 0xbe, 0xb8, 0xde, 0x6c, 0xbb, 0x74, 0x8e, 0x72, 0x34, 0x0a, 0xd7, 0xc2, 0x2d, 0x97, 0x61, 0xd8, - 0x03, 0x14, 0xd7, 0x85, 0xe5, 0xfa, 0xc8, 0x60, 0xc0, 0xd0, 0x0d, 0xb0, 0xf9, 0x22, 0xe3, 0xc2, - 0x73, 0x07, 0x48, 0x9d, 0xb0, 0x03, 0x78, 0x21, 0x49, 0xb6, 0x8b, 0x3d, 0x3a, 0x7d, 0x85, 0x36, - 0x99, 0xff, 0x8e, 0x89, 0x15, 0x20, 0xce, 0x8f, 0x90, 0xe9, 0x13, 0x30, 0x29, 0x12, 0x8e, 0x3d, - 0xb9, 0x73, 0xd1, 0x7e, 0x62, 0x16, 0xee, 0x92, 0xb2, 0xe0, 0xbc, 0x68, 0x9c, 0x3f, 0x18, 0x64, - 0x88, 0xba, 0xc3, 0x46, 0xd5, 0x07, 0xc2, 0x8e, 0xb3, 0xdf, 0xc2, 0x5d, 0x8b, 0x3a, 0xdc, 0x34, - 0x74, 0xd4, 0x86, 0x31, 0x7b, 0x74, 0x92, 0xba, 0x91, 0x74, 0x65, 0xb0, 0x64, 0x22, 0x30, 0xa4, - 0xfc, 0xf5, 0xcf, 0xe6, 0xd3, 0xa5, 0x35, 0xd0, 0x85, 0x9e, 0x48, 0xb9, 0xb9, 0xad, 0x8a, 0xd5, - 0x79, 0xf0, 0x1b, 0x1f, 0x07, 0x90, 0x78, 0x16, 0x8f, 0x3c, 0xf2, 0x40, 0xb6, 0xfb, 0xba, 0xd2, - 0xf1, 0x58, 0x60, 0xcc, 0x28, 0xed, 0xf2, 0x0e, 0x84, 0x6e, 0x94, 0x00, 0x4e, 0x59, 0x0f, 0x59, - 0x31, 0x52, 0xe1, 0x28, 0x6d, 0x81, 0x73, 0xc6, 0x88, 0x58, 0x53, 0xaa, 0xac, 0x98, 0xa8, 0x51, - 0xdd, 0xce, 0xd9, 0x05, 0xd8, 0x62, 0x00, 0xa0, 0x90, 0x36, 0xcb, 0x79, 0x11, 0x10, 0xca, 0x3a, - 0x8f, 0x6c, 0x9e, 0xd1, 0x47, 0xec, 0xcb, 0x37, 0xb8, 0x00, 0xcc, 0xb4, 0xd9, 0x27, 0x11, 0xa7, - 0x14, 0xc5, 0x8c, 0x59, 0xf1, 0x5b, 0x37, 0x5d, 0xe2, 0xeb, 0x77, 0x7b, 0xa6, 0xec, 0x41, 0xf3, - 0x82, 0xde, 0xf2, 0x3e, 0xe2, 0xc7, 0x50, 0xae, 0x93, 0x84, 0xd5, 0x03, 0xcb, 0x8b, 0xfb, 0xfa, - 0x17, 0x7e, 0x92, 0x8c, 0xb4, 0xcc, 0x75, 0x1b, 0xdd, 0x88, 0xdd, 0xa1, 0x01, 0x5c, 0x56, 0x57, - 0x47, 0xc9, 0xd3, 0x0a, 0x54, 0xf1, 0x0a, 0xa3, 0xed, 0x72, 0x73, 0x16, 0xff, 0xa3, 0x75, 0x90, - 0xe3, 0x6b, 0x70, 0x7a, 0xf9, 0xa0, 0x6e, 0xb5, 0x3a, 0x7e, 0xf5, 0xd0, 0x26, 0x43, 0x2d, 0xad, - 0xdb, 0x5b, 0x65, 0xf0, 0x8e, 0x44, 0xc0, 0xc2, 0xa7, 0x3a, 0xea, 0xdd, 0x77, 0x95, 0x74, 0x7c, - 0x5a, 0x74, 0xcb, 0x5f, 0x5b, 0x8b, 0xe9, 0x88, 0x3e, 0xdd, 0xba, 0x72, 0x7f, 0x96, 0x14, 0x10, - 0xa9, 0x41, 0xc9, 0x2b, 0xf4, 0x67, 0x8e, 0x83, 0x0a, 0xdd, 0xa8, 0x13, 0x9b, 0xef, 0x18, 0xb5, - 0x22, 0x82, 0xb6, 0x96, 0x7c, 0x5f, 0x97, 0x31, 0x54, 0x01, 0x2a, 0x5a, 0x52, 0xa9, 0xcf, 0x11, - 0xb2, 0x17, 0xc0, 0x13, 0xd2, 0x97, 0x6c, 0x4a, 0x0d, 0x9b, 0x1f, 0x83, 0xe8, 0x17, 0x6d, 0x95, - 0x62, 0xef, 0x5f, 0x2f, 0x2e, 0xb6, 0xe5, 0xf8, 0xd6, 0xb5, 0x15, 0xde, 0xab, 0x4a, 0x24, 0x04, - 0x7c, 0x35, 0xee, 0x37, 0x1a, 0xed, 0xc8, 0x9d, 0x4e, 0x83, 0x30, 0xc8, 0xa4, 0x3c, 0xb1, 0x12, - 0x5b, 0x8b, 0x90, 0x09, 0x31, 0xde, 0xf5, 0x7a, 0x68, 0x8c, 0xcf, 0x2b, 0x1a, 0xbe, 0x88, 0xca, - 0x96, 0x9c, 0x3f, 0x7c, 0x50, 0x19, 0x18, 0xbd, 0x89, 0x4d, 0xf6, 0x8a, 0x4c, 0x0a, 0x7d, 0x87, - 0xc8, 0x5a, 0xf5, 0x5c, 0xe4, 0x11, 0x93, 0x2c, 0x0f, 0xf2, 0x9e, 0x5f, 0x44, 0x4f, 0xc0, 0x8b, - 0x45, 0xb0, 0x93, 0x64, 0x22, 0x00, 0x0d, 0x1b, 0x56, 0x30, 0x58, 0xf1, 0x7e, 0x6d, 0x81, 0x12, - 0x82, 0x9f, 0xaa, 0x8b, 0xb1, 0x39, 0xdc, 0x81, 0x72, 0x76, 0xf5, 0xa1, 0x3a, 0x89, 0x3b, 0x7e, - 0x79, 0xf3, 0x31, 0x8f, 0xc4, 0x6d, 0x63, 0x05, 0x14, 0xab, 0x27, 0x58, 0xfe, 0x39, 0xe8, 0x7a, - 0x0c, 0xf3, 0xab, 0x14, 0xfd, 0x78, 0x62, 0x1c, 0xd6, 0x82, 0x2a, 0x14, 0x8d, 0x36, 0x14, 0xc3, - 0x58, 0x4d, 0xb4, 0xfe, 0x38, 0xe2, 0x6f, 0x86, 0xf4, 0x55, 0x1b, 0x5b, 0x24, 0x50, 0xf4, 0xcd, - 0x50, 0xf2, 0x69, 0x9e, 0xc3, 0xf3, 0xa3, 0xb8, 0xbc, 0xd6, 0x09, 0xc3, 0x69, 0xc9, 0x3f, 0x71, - 0x5d, 0x6f, 0xc8, 0x59, 0xa1, 0x3d, 0xde, 0xfb, 0x88, 0x59, 0x6b, 0xef, 0xb5, 0xf1, 0xc8, 0x7f, - 0x9e, 0xee, 0x6b, 0x18, 0xe5, 0x61, 0xce, 0x26, 0xa3, 0x58, 0x8e, 0x73, 0x6a, 0xd7, 0x9b, 0x25, - 0x25, 0x89, 0x7c, 0x24, 0x73, 0x83, 0xf6, 0x6f, 0xe6, 0x62, 0x98, 0x19, 0xbf, 0x33, 0x00, 0xb9, - 0x10, 0x63, 0x5f, 0x1b, 0xcc, 0x2e, 0x70, 0x4b, 0xcf, 0x33, 0x26, 0x61, 0x79, 0xc6, 0x4f, 0xaf, - 0x04, 0x6a, 0x97, 0xf6, 0xd9, 0x79, 0xaf, 0x00, 0x33, 0xba, 0x7e, 0x9c, 0x75, 0x98, 0xd5, 0x4e, - 0xf4, 0xef, 0x8c, 0x8b, 0x31, 0x7b, 0x7c, 0x79, 0xe6, 0x17, 0x07, 0x81, 0xd5, 0xb6, 0x76, 0xf2, - 0x2c, 0x69, 0xd2, 0xeb, 0x5c, 0xca, 0x53, 0xd7, 0xfb, 0x72, 0x77, 0x0c, 0x5d, 0x91, 0x47, 0xe1, - 0xe7, 0xc5, 0xe6, 0xd5, 0xbd, 0x51, 0x5a, 0x1e, 0xd3, 0x0a, 0xac, 0xa5, 0xa4, 0x98, 0x85, 0x8a, - 0x85, 0xff, 0x1c, 0x0a, 0xb9, 0xdf, 0xe3, 0x7d, 0xf6, 0xcf, 0xe4, 0x51, 0xfc, 0x46, 0xc0, 0x6b, - 0xbb, 0x93, 0x3f, 0xc8, 0xf5, 0x81, 0xb8, 0x23, 0x27, 0xda, 0x68, 0x6f, 0xdc, 0xb5, 0xa2, 0x5d, - 0x39, 0xbc, 0x3f, 0x6e, 0x3a, 0xae, 0xd1, 0x80, 0xbc, 0x2e, 0x6a, 0x97, 0x18, 0xb7, 0x94, 0x1a, - 0x64, 0x7b, 0x7d, 0x5b, 0x52, 0x18, 0x0a, 0x09, 0x33, 0xea, 0xa0, 0x6a, 0x62, 0x50, 0x97, 0xd7, - 0xdc, 0xe7, 0x1a, 0xfd, 0x00, 0x9d, 0x5d, 0x72, 0xb6, 0x90, 0x5f, 0x1c, 0xf2, 0x60, 0x07, 0xa7, - 0xbf, 0xc3, 0xfd, 0xb0, 0xcf, 0xb9, 0x13, 0x14, 0x90, 0xe4, 0x7c, 0xf9, 0xac, 0x2b, 0x4e, 0xc2, - 0x8b, 0x16, 0x44, 0x84, 0xd0, 0xfb, 0x95, 0x42, 0x02, 0x39, 0xc6, 0xa6, 0x63, 0xf0, 0xa5, 0x50, - 0xf1, 0x70, 0x32, 0x1a, 0xf4, 0x72, 0x8e, 0x90, 0xbc, 0x12, 0xc5, 0xb6, 0xbd, 0xf0, 0x0b, 0x93, - 0xd1, 0x63, 0xd9, 0xe9, 0x53, 0xcd, 0x50, 0x8c, 0x7d, 0x3f, 0x25, 0xb7, 0x99, 0x46, 0x1b, 0x3b, - 0x42, 0x8a, 0xf6, 0xa7, 0x43, 0xbe, 0x27, 0xfb, 0xfa, 0xf1, 0x80, 0x2b, 0x85, 0xcb, 0x72, 0x50, - 0xab, 0x5e, 0xe6, 0xbe, 0xb7, 0x53, 0x28, 0x45, 0x43, 0xff, 0x91, 0x07, 0x86, 0x8f, 0xba, 0xc5, - 0x34, 0xdf, 0x1d, 0x7b, 0x2e, 0x14, 0xf8, 0x93, 0x07, 0x5f, 0xa0, 0x1c, 0xcd, 0xd7, 0x01, 0x55, - 0xe9, 0xfd, 0x83, 0x3f, 0x15, 0xcf, 0x6d, 0x87, 0xa2, 0x00, 0x6f, 0x9b, 0x50, 0xaa, 0x3b, 0x9c, - 0xfe, 0x97, 0x8b, 0xef, 0xc3, 0xfe, 0x4d, 0xf5, 0x53, 0x79, 0x4c, 0xa9, 0xbb, 0xae, 0x70, 0x5e, - 0x1a, 0x7b, 0x89, 0xc9, 0x3e, 0x53, 0x2d, 0xb2, 0x39, 0x08, 0xc2, 0x72, 0x69, 0xa8, 0x11, 0x5f, - 0xf1, 0xe2, 0xbd, 0x53, 0x68, 0x6e, 0x06, 0xde, 0x47, 0x88, 0x4d, 0x01, 0x7f, 0x4c, 0x9a, 0xfe, - 0x1a, 0xbe, 0x2c, 0x6c, 0x2b, 0x2e, 0x8a, 0xe7, 0x51, 0x4b, 0x28, 0xcc, 0x70, 0x5b, 0x96, 0x32, - 0x2b, 0x31, 0x12, 0xce, 0x4d, 0x15, 0xa2, 0xa3, 0xeb, 0x5f, 0xc0, 0x0e, 0x1c, 0x29, 0x12, 0x47, - 0x61, 0xfa, 0xd7, 0xa1, 0x5a, 0xcb, 0xca, 0xbf, 0xb8, 0x0c, 0x76, 0xe8, 0x21, 0x34, 0xc1, 0x66, - 0x0b, 0x00, 0xf6, 0xee, 0x6b, 0x17, 0x4c, 0xa8, 0xaa, 0x61, 0x90, 0x9f, 0x07, 0x2e, 0x27, 0x19, - 0x06, 0xe5, 0x9e, 0x3f, 0xab, 0x90, 0xe7, 0x1a, 0x50, 0x36, 0x4e, 0x37, 0x81, 0x1a, 0x76, 0x1e, - 0x4f, 0x4f, 0x89, 0x1e, 0xd2, 0x8c, 0x28, 0xb7, 0x0a, 0x02, 0x66, 0xaa, 0xaa, 0x0c, 0xc7, 0x1d, - 0x12, 0xf0, 0xad, 0x3d, 0x3c, 0x5f, 0x20, 0x12, 0x6f, 0x41, 0x67, 0x7a, 0x64, 0x44, 0xd2, 0xfc, - 0x42, 0x9a, 0xe0, 0x7a, 0x76, 0x14, 0xe0, 0xf7, 0x72, 0xce, 0x8e, 0x61, 0x08, 0xec, 0x10, 0x27, - 0x2a, 0x38, 0xf9, 0x5b, 0x4f, 0x10, 0x00, 0x20, 0x3f, 0x2a, 0x8a, 0x22, 0xcd, 0x56, 0x35, 0xfd, - 0xbd, 0x7d, 0x8e, 0xb2, 0x3b, 0x4a, 0xbf, 0x30, 0x4d, 0x63, 0x79, 0x84, 0x22, 0xae, 0xcd, 0xd9, - 0xe6, 0x80, 0x5c, 0xdb, 0x0d, 0x70, 0x94, 0x34, 0xc4, 0x3a, 0xbc, 0x1f, 0xe6, 0x38, 0x1b, 0x64, - 0xca, 0x4a, 0x25, 0xdd, 0x16, 0x66, 0x41, 0xd2, 0xfa, 0x31, 0xa1, 0xed, 0xe3, 0xa3, 0x00, 0x17, - 0xc1, 0xe9, 0x2d, 0xef, 0xc0, 0xc0, 0x17, 0x79, 0xb3, 0xbc, 0xc7, 0xd9, 0xd1, 0x4d, 0x71, 0xc3, - 0x56, 0x81, 0x1e, 0x7a, 0x4f, 0x6f, 0x8b, 0x84, 0x08, 0xb8, 0x58, 0xba, 0xe0, 0x56, 0x30, 0x83, - 0xf3, 0x97, 0xcf, 0xcc, 0x8d, 0x79, 0x9c, 0x7e, 0x8c, 0x47, 0xe4, 0xeb, 0xc9, 0x09, 0x83, 0xb4, - 0xc5, 0x72, 0x7e, 0x5c, 0xa7, 0xca, 0xe2, 0x28, 0x1c, 0xa8, 0x7f, 0x65, 0xce, 0x82, 0x72, 0x54, - 0xba, 0x18, 0xed, 0xe1, 0xb8, 0x51, 0xea, 0x2c, 0xb1, 0xc5, 0xca, 0x63, 0xfa, 0x9c, 0x9b, 0x03, - 0x7e, 0xdc, 0x52, 0xdc, 0x1b, 0xe1, 0x64, 0xac, 0x2e, 0xd2, 0x38, 0x19, 0xde, 0xa8, 0xfd, 0xf4, - 0xf1, 0x7d, 0xc5, 0xbc, 0xec, 0xfd, 0xf6, 0xf1, 0xee, 0xbf, 0x82, 0xb0, 0xf9, 0x5a, 0xb5, 0x59, - 0x48, 0xce, 0xe8, 0x5c, 0x68, 0x77, 0x3d, 0x04, 0xfe, 0x32, 0x95, 0xcb, 0xa2, 0x06, 0xff, 0x4b, - 0x99, 0x31, 0x4c, 0x0d, 0x3e, 0x10, 0x79, 0x7d, 0x27, 0x19, 0xa9, 0xc5, 0xb0, 0x08, 0x7e, 0x7e, - 0x41, 0x4c, 0x77, 0x91, 0x3c, 0xef, 0xdb, 0x3c, 0x3c, 0x13, 0x3e, 0x47, 0x28, 0xa9, 0xc9, 0xc7, - 0x4f, 0xb2, 0x36, 0xfa, 0xed, 0xc9, 0x99, 0xb0, 0xf9, 0x76, 0x0b, 0x65, 0x7e, 0xa6, 0x50, 0x2a, - 0x1f, 0x9c, 0x25, 0xc7, 0x8a, 0x93, 0x77, 0xd4, 0x11, 0x8e, 0x38, 0x7c, 0xda, 0xe1, 0x78, 0x9d, - 0xdf, 0xc8, 0xc7, 0xe6, 0x08, 0x7c, 0xb1, 0x18, 0xc1, 0x25, 0x5f, 0x2e, 0xee, 0x85, 0x53, 0x40, - 0x66, 0xd4, 0x2e, 0x1c, 0x2a, 0xd2, 0xf5, 0xa0, 0x96, 0x67, 0x8b, 0xf2, 0x8d, 0x89, 0x40, 0x82, - 0xde, 0x1a, 0x31, 0x39, 0xd7, 0xf5, 0x3e, 0x91, 0x7a, 0x43, 0xa2, 0x74, 0x51, 0x29, 0x76, 0x85, - 0x7d, 0x99, 0xad, 0x5f, 0x36, 0x44, 0xa6, 0x32, 0x69, 0x8b, 0x20, 0xe2, 0x86, 0x95, 0xc4, 0x8a, - 0x93, 0x48, 0xb3, 0xde, 0x94, 0xe1, 0xf2, 0x97, 0xcf, 0x10, 0x5c, 0x15, 0xad, 0x6f, 0x62, 0xeb, - 0xa2, 0xf1, 0x49, 0x1c, 0xf9, 0x8f, 0xaa, 0xf3, 0x7b, 0x78, 0x72, 0x96, 0x10, 0x1a, 0x67, 0x2e, - 0x3f, 0x85, 0x32, 0x3c, 0x9c, 0x10, 0x3c, 0x65, 0x68, 0x5a, 0xe2, 0x9e, 0x8e, 0xac, 0x01, 0x9d, - 0x12, 0xc7, 0xae, 0x1e, 0x91, 0xd0, 0xa1, 0xe0, 0x36, 0x65, 0x39, 0x39, 0x92, 0x39, 0x1a, 0xb1, - 0x11, 0x45, 0x99, 0xd1, 0x00, 0x35, 0xe8, 0xea, 0x8d, 0x92, 0xc3, 0x45, 0x0d, 0xa6, 0x15, 0xfe, - 0xcd, 0xa7, 0x75, 0x1e, 0x78, 0x48, 0x83, 0xa0, 0x4b, 0x27, 0x00, 0xdf, 0xbc, 0xd8, 0x95, 0xc3, - 0x76, 0xd9, 0xb1, 0x22, 0xb4, 0x9e, 0xc7, 0x26, 0xb7, 0x4a, 0x1a, 0x27, 0x88, 0xf2, 0x99, 0x00, - 0xda, 0x5e, 0xff, 0x97, 0x97, 0x8c, 0x79, 0xf2, 0x28, 0x2a, 0xac, 0x12, 0x40, 0xcf, 0x9d, 0xee, - 0x06, 0x62, 0xd7, 0xc5, 0xef, 0x99, 0xef, 0x5e, 0x1c, 0xab, 0xc8, 0xfd, 0x3d, 0x3b, 0xd2, 0x02, - 0x89, 0xa4, 0xa9, 0xbd, 0xf3, 0x44, 0x4d, 0xd2, 0xcb, 0x2f, 0xe4, 0xbf, 0xed, 0xfe, 0x1f, 0x7d, - 0x72, 0xb6, 0x67, 0x6b, 0x02, 0x3c, 0x19, 0x22, 0xc0, 0x51, 0x8e, 0xdb, 0x4e, 0x09, 0x8b, 0x79, - 0x80, 0xf4, 0xb0, 0x97, 0xa0, 0xb6, 0x90, 0x06, 0x5f, 0xa9, 0x54, 0xf0, 0xd6, 0x4b, 0xab, 0x24, - 0x8b, 0x47, 0xf7, 0x88, 0x3b, 0xcf, 0x2e, 0x78, 0x81, 0x8e, 0xdd, 0x0b, 0xbe, 0xfc, 0xc8, 0x4c, - 0x10, 0x37, 0xc6, 0x75, 0x6b, 0xd3, 0x14, 0x19, 0x84, 0x9d, 0xd1, 0x27, 0x32, 0x95, 0x64, 0x94, - 0x37, 0xaa, 0xd3, 0xe6, 0x21, 0x73, 0x7e, 0x34, 0x9a, 0x1d, 0x5e, 0xbe, 0x43, 0xf7, 0xc2, 0x97, - 0x0f, 0x01, 0x06, 0x01, 0x6e, 0xd6, 0xe8, 0x50, 0xd4, 0x13, 0xc5, 0xe7, 0x90, 0x66, 0x2e, 0x5c, - 0x5f, 0x39, 0xd2, 0xd6, 0x63, 0x62, 0xca, 0x69, 0x2b, 0x5a, 0xec, 0x06, 0x3a, 0xb2, 0x30, 0x11, - 0x3a, 0x71, 0xa4, 0xaa, 0x8a, 0xb7, 0x80, 0x1b, 0x7b, 0x93, 0x5f, 0x98, 0x43, 0x39, 0xff, 0x3a, - 0xe8, 0x74, 0x9a, 0xae, 0x97, 0xfd, 0x32, 0x6d, 0x0b, 0x12, 0x7f, 0x2a, 0x30, 0xd1, 0xf4, 0xb2, - 0x85, 0x9e, 0xf4, 0x90, 0xb3, 0x1b, 0xc0, 0xdc, 0x84, 0xb0, 0xea, 0x1a, 0x38, 0x41, 0x8c, 0xe8, - 0xaf, 0xde, 0xab, 0xea, 0x72, 0x95, 0x2f, 0x5f, 0x8a, 0xf7, 0xb5, 0xdb, 0x08, 0x3b, 0xa0, 0x00, - 0x45, 0x67, 0x18, 0xda, 0xc3, 0x2b, 0x0c, 0x94, 0xce, 0x54, 0x26, 0xa3, 0xb7, 0xe6, 0xfb, 0x8a, - 0x0c, 0x4b, 0x50, 0xc1, 0x5a, 0xec, 0xee, 0x6a, 0x6f, 0xef, 0xde, 0x2e, 0x7b, 0x37, 0x01, 0x70, - 0x92, 0x9d, 0x03, 0x65, 0x1c, 0x33, 0x73, 0xa3, 0x8a, 0x2d, 0x82, 0xca, 0xb9, 0x9d, 0x57, 0x8f, - 0x3d, 0xff, 0xc3, 0x09, 0x45, 0x35, 0xa7, 0xc0, 0x87, 0x20, 0xdc, 0x20, 0xbe, 0x0a, 0x48, 0x0f, - 0x99, 0x90, 0xe2, 0xbc, 0xff, 0x62, 0x8d, 0xd0, 0x29, 0xaf, 0x26, 0xd2, 0xc0, 0x68, 0x04, 0x9d, - 0x6f, 0x6a, 0x5f, 0x59, 0xb0, 0x11, 0xba, 0xf3, 0xec, 0xb2, 0x1f, 0xea, 0x02, 0xe1, 0x40, 0x86, - 0xcc, 0x5e, 0xcd, 0xba, 0x2e, 0x45, 0x06, 0xa9, 0xbc, 0xc4, 0x73, 0x47, 0xb0, 0x11, 0x64, 0xe2, - 0xe6, 0x68, 0xa3, 0xa2, 0x89, 0x00, 0x7c, 0x07, 0xa7, 0x00, 0x70, 0x2c, 0xd9, 0x07, 0x77, 0x14, - 0x5e, 0x25, 0x58, 0x95, 0x25, 0x06, 0xf0, 0xe7, 0x16, 0x8f, 0xf6, 0x7c, 0x86, 0x81, 0xba, 0x30, - 0xc7, 0xb6, 0x54, 0x91, 0x8d, 0xff, 0xc1, 0x6c, 0x8c, 0x5d, 0xac, 0xb3, 0xc7, 0x93, 0xc7, 0x51, - 0x96, 0xac, 0x92, 0x4c, 0x53, 0x03, 0xac, 0xe7, 0x69, 0x4a, 0xf6, 0xc4, 0x2c, 0xa9, 0x16, 0xe3, - 0x29, 0x40, 0x61, 0x3e, 0x31, 0x58, 0x3b, 0x12, 0xbb, 0xd3, 0xd2, 0xaf, 0xda, 0xb9, 0x67, 0xff, - 0x8b, 0x84, 0xf5, 0x06, 0x3c, 0x33, 0x00, 0x24, 0xdd, 0x6c, 0xd9, 0x45, 0x52, 0xa1, 0x34, 0xd1, - 0x79, 0x46, 0xec, 0x58, 0x20, 0x4b, 0x92, 0x9a, 0xeb, 0x1b, 0x6e, 0xc5, 0x5c, 0x01, 0xc1, 0xa1, - 0xe9, 0xbe, 0x16, 0x90, 0xcb, 0xf4, 0x5b, 0xb6, 0x01, 0xa6, 0xad, 0xb3, 0x6b, 0x93, 0xdb, 0x18, - 0x1f, 0x22, 0xc2, 0xb4, 0x87, 0x79, 0xe9, 0x48, 0xdf, 0x39, 0x48, 0x48, 0xae, 0x39, 0x41, 0x72, - 0x67, 0xff, 0x26, 0x7d, 0x0c, 0xcb, 0x1c, 0xd7, 0x18, 0x13, 0x42, 0xc5, 0xb6, 0x1a, 0x67, 0xc0, - 0x42, 0x3c, 0xbd, 0x6f, 0x21, 0xd6, 0x5e, 0x2a, 0xcb, 0x36, 0xdb, 0x69, 0x20, 0xf4, 0x5c, 0xc3, - 0xee, 0xbf, 0xdc, 0xc9, 0x54, 0xec, 0xca, 0x50, 0x06, 0x85, 0x1b, 0x0e, 0xbe, 0x7f, 0xe0, 0x2c, - 0xda, 0x84, 0x49, 0x2b, 0x77, 0x87, 0xd5, 0xe7, 0xb2, 0x96, 0xc2, 0x1e, 0x01, 0x44, 0x18, 0x3d, - 0x1d, 0xb8, 0xaf, 0x7e, 0xba, 0x58, 0x72, 0x0f, 0xd3, 0x19, 0xc0, 0xf7, 0x40, 0x16, 0xd2, 0xbb, - 0xd8, 0xf1, 0x48, 0x15, 0x60, 0x37, 0xf3, 0x4b, 0x1c, 0x24, 0xaa, 0x49, 0xef, 0x06, 0x63, 0x7c, - 0x92, 0xcb, 0xdf, 0x81, 0xc6, 0x8f, 0xf3, 0x33, 0x93, 0x37, 0x95, 0xdf, 0xc8, 0x57, 0x63, 0x38, - 0x26, 0x0f, 0x01, 0xb8, 0x4c, 0xbf, 0x3c, 0x61, 0xc4, 0x40, 0xc3, 0x11, 0xd6, 0x23, 0x0a, 0xaa, - 0x7a, 0xa3, 0x02, 0xbc, 0x6f, 0x3e, 0xc5, 0xad, 0x20, 0x88, 0x5e, 0x8c, 0xf1, 0x66, 0x52, 0x1d, - 0xdd, 0x4a, 0x80, 0xc5, 0x3c, 0xac, 0x0a, 0x93, 0xe6, 0x5a, 0x45, 0xdb, 0x16, 0x8f, 0xb2, 0x53, - 0xac, 0x2c, 0x34, 0x7e, 0x03, 0x4c, 0xcd, 0xb7, 0x48, 0x04, 0x15, 0x93, 0x74, 0xd0, 0xb8, 0x7c, - 0x01, 0xbb, 0x67, 0xe2, 0x42, 0xf8, 0x8c, 0x7c, 0x25, 0x82, 0x3f, 0xd3, 0xde, 0x76, 0xa9, 0x7f, - 0xc1, 0x65, 0xfe, 0xc3, 0x14, 0x93, 0xcf, 0x60, 0x43, 0x20, 0x4a, 0x15, 0x58, 0xfb, 0x3f, 0x30, - 0xfc, 0xb7, 0x6b, 0x5f, 0x14, 0x96, 0xcc, 0x10, 0x87, 0x0c, 0x17, 0x8d, 0xa9, 0x2c, 0x14, 0x01, - 0x5a, 0xc7, 0xe4, 0x85, 0xdb, 0x89, 0x28, 0x4f, 0x5e, 0x76, 0xa7, 0x8a, 0x9a, 0x77, 0xee, 0xf4, - 0xc0, 0x6f, 0xc8, 0xb5, 0xc0, 0x4a, 0x93, 0xd4, 0xc4, 0x8a, 0x9d, 0x74, 0xf1, 0x7e, 0x29, 0xd2, - 0x92, 0x63, 0x00, 0xbf, 0xab, 0x4d, 0xaf, 0x27, 0xe9, 0x6e, 0x40, 0x3e, 0x13, 0x2b, 0xd0, 0xbd, - 0x0c, 0xb6, 0xea, 0x84, 0xe5, 0x91, 0x7d, 0x2d, 0xcd, 0x99, 0xc3, 0x1d, 0xf1, 0xf6, 0x9f, 0xc9, - 0x1e, 0x54, 0x58, 0x14, 0xa3, 0xab, 0x45, 0x40, 0xc7, 0xc1, 0x72, 0x60, 0x62, 0x82, 0x09, 0x03, - 0x10, 0xaf, 0x98, 0x57, 0xa4, 0x15, 0xc0, 0x31, 0x82, 0xdd, 0x08, 0xbb, 0xe5, 0x67, 0x00, 0x70, - 0xdb, 0x79, 0xa7, 0x37, 0x6c, 0xf0, 0xfd, 0x4e, 0xcf, 0xca, 0xae, 0x4e, 0x45, 0xdf, 0x63, 0xd4, - 0x28, 0x88, 0x51, 0xeb, 0x99, 0xe6, 0xf4, 0x4c, 0x3e, 0x75, 0x24, 0x3d, 0x67, 0x97, 0x96, 0x87, - 0x95, 0x2c, 0xe8, 0x11, 0x2a, 0xf3, 0xb8, 0xae, 0xee, 0x27, 0x99, 0x18, 0xa6, 0x96, 0x05, 0x4c, - 0xd0, 0xfc, 0x5d, 0xe0, 0xfa, 0x18, 0xfd, 0xd1, 0x5d, 0x36, 0x65, 0xee, 0xbf, 0x93, 0xc2, 0x69, - 0x65, 0x4a, 0x41, 0xd9, 0x9a, 0x1a, 0x1b, 0x44, 0x09, 0x94, 0x59, 0x10, 0x5a, 0x6a, 0x7e, 0x04, - 0x8a, 0x99, 0x96, 0x4c, 0xfa, 0x3a, 0xa5, 0xd2, 0x40, 0xb5, 0x03, 0xc5, 0xb1, 0x8c, 0x02, 0xa7, - 0xea, 0x6b, 0xa8, 0xea, 0x3d, 0x54, 0xa3, 0x53, 0xae, 0x28, 0xb6, 0xc2, 0xbb, 0xce, 0x32, 0x7a, - 0x8c, 0x0c, 0xa8, 0x3f, 0x74, 0x11, 0xee, 0x55, 0x91, 0x24, 0x66, 0xe3, 0x26, 0xd8, 0xd9, 0x52, - 0x4c, 0x89, 0x29, 0x7b, 0x4b, 0x60, 0x4a, 0x8a, 0x22, 0x23, 0xa5, 0x56, 0x9d, 0x22, 0x69, 0x84, - 0x14, 0x7b, 0xc7, 0x3b, 0xbd, 0xf6, 0x97, 0xff, 0xdf, 0x54, 0xfb, 0x3d, 0x99, 0xe7, 0x13, 0x1c, - 0x0d, 0x73, 0xd6, 0xe0, 0x32, 0xdd, 0x89, 0xf1, 0xbe, 0xa9, 0x1f, 0xbe, 0x4d, 0xd1, 0xae, 0xe3, - 0x7e, 0x06, 0x75, 0xab, 0x38, 0xca, 0xed, 0x09, 0x4c, 0x94, 0x13, 0x98, 0x0e, 0x14, 0x39, 0x69, - 0xed, 0xb2, 0xc3, 0x0a, 0x92, 0x8b, 0x1c, 0xd4, 0xfd, 0x1d, 0x97, 0xfd, 0x4d, 0x8d, 0x66, 0xd2, - 0xee, 0xce, 0x31, 0x80, 0xf1, 0xf0, 0x7f, 0x95, 0x4c, 0xa1, 0x49, 0xcd, 0xa9, 0x41, 0xf7, 0xca, - 0x55, 0x7a, 0x51, 0x07, 0x13, 0x99, 0x4e, 0x1a, 0xea, 0xa8, 0x48, 0x8b, 0xd8, 0x9c, 0x48, 0xe6, - 0x5d, 0x44, 0x5c, 0x80, 0x76, 0xea, 0x9c, 0xe4, 0x21, 0x1c, 0xaa, 0x63, 0x67, 0xf0, 0x3b, 0x94, - 0x59, 0xfd, 0xbe, 0x7a, 0xbb, 0x86, 0x11, 0x6a, 0xd0, 0x44, 0x45, 0x13, 0xb1, 0xe8, 0xd1, 0x10, - 0xbf, 0xae, 0x12, 0xa7, 0x97, 0x9d, 0x6a, 0x63, 0x5d, 0x17, 0x3e, 0x5d, 0xa7, 0xeb, 0x8e, 0xe0, - 0xe7, 0xae, 0x7d, 0xd7, 0xad, 0x19, 0xb3, 0x68, 0x6d, 0xf1, 0x76, 0x1d, 0xc0, 0x6a, 0x74, 0x2e, - 0x33, 0xdf, 0x30, 0x9b, 0xef, 0xaa, 0xd5, 0x9c, 0x29, 0xb4, 0x12, 0x2f, 0x57, 0x53, 0x65, 0xbe, - 0xac, 0xb7, 0xb3, 0xcd, 0xf8, 0x80, 0x34, 0x98, 0x0d, 0x07, 0xb2, 0xac, 0xce, 0x0b, 0xc4, 0xfd, - 0xec, 0x87, 0x3b, 0xc0, 0xfe, 0x40, 0x4a, 0xd9, 0x4b, 0x9c, 0x7c, 0x7d, 0x19, 0x5f, 0x12, 0xa6, - 0x72, 0x52, 0xb7, 0xaf, 0x2a, 0x20, 0xab, 0xe3, 0x54, 0x49, 0x64, 0x1d, 0xb6, 0xec, 0x06, 0x05, - 0x2b, 0x28, 0x92, 0xc1, 0x0a, 0x44, 0x47, 0x58, 0xbb, 0x66, 0xc5, 0xae, 0x84, 0x66, 0x4f, 0xba, - 0xe8, 0x77, 0xc3, 0xe3, 0x92, 0x49, 0x4c, 0x59, 0x5e, 0xcc, 0x0d, 0x07, 0x02, 0xb4, 0xa8, 0xdc, - 0xb4, 0xe7, 0x0b, 0xfd, 0x4c, 0xc4, 0xda, 0x02, 0x09, 0xc6, 0xf1, 0x26, 0x73, 0xb3, 0x2e, 0x8f, - 0xdf, 0x0c, 0x62, 0x7f, 0x3a, 0x35, 0x6a, 0xa8, 0x5f, 0x84, 0x75, 0x02, 0xdc, 0xdb, 0xe0, 0x4c, - 0x4b, 0xb3, 0x7b, 0x9f, 0xc1, 0x7d, 0xfe, 0x3b, 0x4d, 0x40, 0x7e, 0xd0, 0x76, 0xfe, 0xef, 0xa6, - 0x9f, 0xf0, 0xf9, 0x66, 0x95, 0x15, 0x5a, 0x36, 0x88, 0x67, 0x99, 0x38, 0xa3, 0x60, 0x86, 0x3d, - 0x56, 0xee, 0x9f, 0x0d, 0xa5, 0xeb, 0x10, 0x59, 0x77, 0x1b, 0xf7, 0x0f, 0x1e, 0x15, 0x44, 0xcc, - 0xfc, 0xbb, 0x7f, 0x91, 0x02, 0x0e, 0xd2, 0xc7, 0x3f, 0xe1, 0x3a, 0x7e, 0xcb, 0xc0, 0x3c, 0xdf, - 0xca, 0x72, 0xb5, 0xfd, 0x7e, 0x57, 0x5f, 0x35, 0xea, 0x66, 0x41, 0x2a, 0x1d, 0xf1, 0xb7, 0x87, - 0x56, 0xec, 0x61, 0x02, 0x18, 0x13, 0xcd, 0xaf, 0x5f, 0x40, 0x3d, 0x29, 0x35, 0x8b, 0xb2, 0x78, - 0x45, 0x85, 0x71, 0xbf, 0x80, 0x8f, 0xdb, 0x7d, 0x91, 0x34, 0x5f, 0x66, 0xb9, 0x04, 0x91, 0x3f, - 0x9f, 0x55, 0xf7, 0xb0, 0x4e, 0x5d, 0x1b, 0x82, 0x34, 0x22, 0x23, 0x3f, 0x41, 0xe4, 0xdc, 0xcc, - 0xa5, 0x12, 0x85, 0x93, 0x09, 0x1f, 0xbe, 0x3d, 0x9d, 0x51, 0x9b, 0x40, 0x96, 0x6a, 0xc1, 0x28, - 0xea, 0x66, 0x7b, 0x4d, 0xe7, 0x63, 0x32, 0xfb, 0x63, 0xe4, 0x86, 0x4e, 0x41, 0x10, 0xdc, 0xe4, - 0xf3, 0x09, 0x78, 0x1b, 0xab, 0x40, 0xa7, 0x36, 0xe0, 0x4e, 0x8b, 0xad, 0x3d, 0x64, 0xdb, 0x01, - 0x4a, 0x63, 0x82, 0x67, 0x6c, 0x1b, 0xbd, 0x93, 0xff, 0xa9, 0x3c, 0x48, 0x94, 0x2e, 0x18, 0x51, - 0xa7, 0x6c, 0xa3, 0x4b, 0xd2, 0x10, 0x83, 0x4e, 0xe5, 0x5b, 0x67, 0x34, 0x7c, 0xe3, 0xc3, 0x5d, - 0xc1, 0xcc, 0x2f, 0xc6, 0x89, 0x1b, 0x89, 0x07, 0x39, 0x39, 0x78, 0x1f, 0xc9, 0x6f, 0xee, 0x48, - 0x57, 0x62, 0x1a, 0xca, 0xed, 0x2e, 0xfb, 0x8c, 0x3f, 0xa8, 0x32, 0x21, 0x15, 0x0c, 0x01, 0x6d, - 0x09, 0xfe, 0xaf, 0xed, 0x29, 0x13, 0x12, 0x3d, 0x00, 0xa6, 0x10, 0x86, 0x59, 0x68, 0xa3, 0x42, - 0xb8, 0x56, 0x90, 0xc1, 0x70, 0xca, 0x9b, 0x32, 0x08, 0x85, 0x41, 0x51, 0x93, 0x48, 0xae, 0xe1, - 0x1d, 0x7b, 0x6a, 0xc4, 0x91, 0x14, 0x92, 0xbd, 0x79, 0x4d, 0xc9, 0x59, 0x38, 0xf0, 0x42, 0xf1, - 0x9e, 0x8b, 0xf9, 0x8a, 0xbe, 0xb4, 0xe4, 0x83, 0xed, 0xa2, 0xa8, 0x9c, 0x82, 0xde, 0x98, 0xd3, - 0x08, 0xc4, 0x73, 0x9b, 0xd2, 0xa0, 0x18, 0x1b, 0x74, 0x22, 0xb5, 0xc0, 0xe8, 0x82, 0x0c, 0x20, - 0x0b, 0x0b, 0xf9, 0x4c, 0x0d, 0x27, 0x9a, 0x59, 0x15, 0xb7, 0xd8, 0xe6, 0x53, 0xfc, 0xc7, 0xb4, - 0x41, 0xd4, 0xac, 0x61, 0x80, 0x24, 0xfd, 0xe6, 0xaa, 0x23, 0x7a, 0xa3, 0xe7, 0xc7, 0x4a, 0x91, - 0xb1, 0x0f, 0x81, 0xd6, 0xaa, 0xdc, 0x3d, 0x5a, 0x37, 0x53, 0xbf, 0xa7, 0x0d, 0xff, 0xac, 0xca, - 0x06, 0x55, 0x02, 0xdb, 0x0f, 0x54, 0x82, 0x51, 0x95, 0x2b, 0x17, 0xf8, 0x35, 0xdc, 0xed, 0x76, - 0xeb, 0xdb, 0x6f, 0xee, 0x0d, 0x8a, 0x5f, 0xa7, 0x68, 0x56, 0xb6, 0x97, 0xff, 0xca, 0xde, 0xb1, - 0xb7, 0x68, 0x9d, 0xec, 0x7c, 0x08, 0x60, 0x01, 0xe4, 0xd5, 0x6c, 0xfe, 0x78, 0xb4, 0x7b, 0xf1, - 0xcd, 0x16, 0xab, 0xd2, 0x96, 0x6c, 0x9e, 0x6a, 0xa9, 0xd2, 0x53, 0xa7, 0xed, 0xf6, 0x3d, 0x1e, - 0xe8, 0x0e, 0xf5, 0x9a, 0x72, 0xd0, 0xd0, 0x55, 0xfd, 0x18, 0x49, 0x18, 0x63, 0x78, 0x94, 0xd1, - 0x74, 0xcc, 0xfa, 0xad, 0xdf, 0xdb, 0xe5, 0x63, 0x8e, 0x93, 0x07, 0x8b, 0x02, 0x77, 0x6a, 0x77, - 0xa4, 0x62, 0x48, 0x83, 0xfd, 0x03, 0x70, 0xa8, 0x13, 0x73, 0x2b, 0x67, 0x32, 0xe1, 0x49, 0x6c, - 0x76, 0xf2, 0x06, 0x5f, 0x4f, 0x59, 0xc7, 0xfb, 0xb2, 0xc0, 0x7a, 0xcb, 0x75, 0x4b, 0xb7, 0xb1, - 0x35, 0x79, 0x3f, 0x0c, 0x80, 0x6a, 0xdc, 0x50, 0xc5, 0x66, 0x85, 0xc9, 0x97, 0x25, 0xf9, 0x3a, - 0xd8, 0xe5, 0x1e, 0x87, 0x0f, 0xc0, 0x46, 0x29, 0xf3, 0xc1, 0x2d, 0x92, 0x14, 0x89, 0x03, 0xa8, - 0xd7, 0x40, 0xaf, 0x50, 0x7a, 0xea, 0x89, 0xa5, 0x01, 0xe4, 0x8b, 0xe4, 0xf2, 0xcb, 0x30, 0x7d, - 0x85, 0x4c, 0x9e, 0x2a, 0x14, 0x30, 0xe6, 0x87, 0x75, 0x55, 0xf6, 0x04, 0x58, 0xb4, 0xb7, 0x45, - 0x1e, 0xfb, 0x72, 0xb6, 0x63, 0xf1, 0x3f, 0x4f, 0xe7, 0xfb, 0x43, 0x69, 0x9a, 0xf1, 0xc8, 0xa6, - 0x7f, 0x44, 0xeb, 0xac, 0xf6, 0xb9, 0xcf, 0xd0, 0xda, 0x2e, 0x28, 0x96, 0x24, 0x4d, 0x26, 0xe5, - 0x96, 0xec, 0xf5, 0x15, 0xce, 0x4d, 0x8b, 0x2b, 0x61, 0x00, 0xa4, 0xb0, 0x07, 0x7b, 0x18, 0x0d, - 0x3d, 0x18, 0x42, 0x12, 0x8e, 0xfd, 0x06, 0x5e, 0xac, 0x1f, 0x9b, 0x19, 0xae, 0x11, 0xff, 0x50, - 0x95, 0x70, 0x37, 0x2d, 0x5a, 0x1d, 0xd5, 0x5d, 0x63, 0x50, 0x6d, 0x73, 0xb3, 0xb1, 0x0b, 0xeb, - 0xf5, 0x5d, 0x2d, 0x43, 0xe6, 0xa4, 0x72, 0x83, 0x35, 0x23, 0x73, 0x3d, 0xb3, 0x44, 0x28, 0xff, - 0xe5, 0x4c, 0xd7, 0xae, 0x13, 0xc4, 0xf0, 0x06, 0x73, 0x33, 0xba, 0xdc, 0xb6, 0x55, 0xdc, 0x87, - 0xae, 0x38, 0xdf, 0x45, 0x61, 0x07, 0x4d, 0x5c, 0x65, 0xb8, 0xf9, 0x71, 0xac, 0x86, 0xef, 0xa5, - 0x9c, 0xf0, 0x45, 0xe2, 0x6a, 0x4a, 0x30, 0x96, 0x37, 0xd5, 0x08, 0x9a, 0x12, 0xf0, 0xd9, 0xfa, - 0x7c, 0x13, 0x8a, 0x61, 0x07, 0xeb, 0xcf, 0xbd, 0xaf, 0x79, 0xe4, 0x3a, 0x1f, 0x09, 0x07, 0x48, - 0x9a, 0x96, 0x7f, 0xf4, 0xde, 0x27, 0xbb, 0xc5, 0x1d, 0x69, 0xd4, 0x98, 0x5e, 0xa6, 0x1c, 0xd6, - 0xc0, 0x71, 0xa7, 0x8f, 0xb9, 0x0b, 0x33, 0x62, 0xcd, 0xe0, 0xef, 0x97, 0x92, 0x05, 0xbb, 0xaa, - 0xbe, 0xc7, 0xf2, 0x86, 0x8b, 0x65, 0xac, 0x56, 0x2a, 0x04, 0x24, 0x79, 0x22, 0x3d, 0xff, 0x41, - 0x12, 0x51, 0xfe, 0x1e, 0xbd, 0x47, 0x1f, 0xff, 0x28, 0xab, 0x78, 0x56, 0x0b, 0xa8, 0xd1, 0x5e, - 0xd2, 0xf2, 0x34, 0xff, 0xf6, 0xed, 0x56, 0x06, 0xbe, 0x3c, 0xb2, 0xd0, 0xe1, 0xfe, 0xde, 0x6c, - 0x8c, 0x18, 0x47, 0xb9, 0x9a, 0xc0, 0xc5, 0xc9, 0x96, 0x8d, 0x84, 0x42, 0x9f, 0xef, 0x18, 0x9e, - 0xc1, 0x0d, 0xdc, 0x22, 0x30, 0x55, 0x71, 0xb0, 0x13, 0x08, 0xc0, 0x50, 0x7e, 0xd5, 0xc9, 0x67, - 0xb8, 0xf7, 0x55, 0x90, 0x0c, 0xab, 0xcf, 0xc6, 0x48, 0x02, 0x77, 0xa0, 0x9e, 0x70, 0x7a, 0xfe, - 0xc4, 0x33, 0x76, 0x04, 0xb0, 0x79, 0xc7, 0x63, 0xb9, 0xca, 0x6b, 0xde, 0x80, 0x35, 0xf4, 0x9e, - 0x61, 0xdd, 0x95, 0xea, 0xde, 0x04, 0x26, 0x2d, 0xf6, 0x27, 0x67, 0x54, 0xb2, 0xe1, 0x9c, 0x9d, - 0x78, 0x25, 0xa0, 0x89, 0xbc, 0x77, 0x8c, 0x45, 0xb9, 0xb4, 0x10, 0x62, 0x70, 0x19, 0x99, 0xad, - 0x22, 0x00, 0xd4, 0xc0, 0xf1, 0xb4, 0x09, 0xb3, 0x6a, 0xa6, 0xc7, 0xa4, 0xdd, 0xc1, 0x0a, 0x56, - 0x85, 0xb4, 0x27, 0xb2, 0xe8, 0x18, 0x0d, 0x46, 0x25, 0xc9, 0x52, 0xf8, 0xf5, 0x68, 0x11, 0x6c, - 0xf3, 0x0b, 0xb0, 0x84, 0x20, 0x67, 0x5d, 0xf0, 0x57, 0xcd, 0xb5, 0x3a, 0x3b, 0x36, 0x99, 0x1c, - 0x29, 0x50, 0xfa, 0x9a, 0xc6, 0x50, 0xcb, 0x0d, 0x5c, 0x2d, 0xd6, 0x31, 0xf9, 0x1c, 0x30, 0xea, - 0xd0, 0xff, 0xbc, 0x77, 0xb9, 0x7a, 0xe6, 0x8d, 0x00, 0xb2, 0x3d, 0x8f, 0xe3, 0x49, 0xba, 0x46, - 0x09, 0x90, 0x94, 0x3e, 0x70, 0xaa, 0xdd, 0x30, 0x45, 0x4a, 0xd0, 0x09, 0xcf, 0x03, 0xaa, 0xb4, - 0x64, 0xe9, 0x68, 0xc0, 0xd3, 0x03, 0xbd, 0x07, 0xc4, 0x9f, 0x49, 0x97, 0xc6, 0xd4, 0x92, 0x47, - 0x57, 0xb9, 0xd9, 0xf2, 0x0f, 0x19, 0xa6, 0xda, 0x21, 0x64, 0xe4, 0x51, 0x5e, 0x35, 0xb8, 0x19, - 0x3e, 0x25, 0x16, 0x6b, 0x5e, 0x49, 0x09, 0x25, 0xbb, 0x99, 0xf8, 0x2a, 0x25, 0x66, 0x3e, 0xa2, - 0xe4, 0x9e, 0xf1, 0xca, 0x14, 0x96, 0x1c, 0xec, 0x02, 0x89, 0xa0, 0x56, 0x8e, 0xe2, 0xeb, 0x8a, - 0x1d, 0x50, 0x92, 0x42, 0x77, 0x7b, 0x26, 0x67, 0x14, 0x1b, 0xc5, 0x04, 0xd8, 0x42, 0x57, 0x23, - 0xa1, 0x8f, 0xed, 0x6e, 0x2b, 0x3d, 0xbd, 0x9a, 0xbe, 0x1d, 0x5d, 0x22, 0x81, 0x3c, 0xe4, 0x39, - 0x0c, 0xca, 0xdf, 0x99, 0x95, 0x3f, 0x1d, 0xc8, 0xea, 0xdb, 0x21, 0x80, 0x40, 0xc5, 0xcf, 0xa1, - 0x23, 0x4d, 0x06, 0x18, 0x97, 0x53, 0x31, 0x47, 0xf6, 0xd5, 0x40, 0x1f, 0x2c, 0xdf, 0xe8, 0xa6, - 0x1e, 0xb3, 0x6f, 0xfa, 0xb0, 0xfe, 0xee, 0x7d, 0x7b, 0xce, 0x5a, 0x70, 0xb1, 0xac, 0x09, 0xdc, - 0x39, 0x18, 0x59, 0x2a, 0x80, 0x82, 0x82, 0xf1, 0xd3, 0x24, 0xc5, 0x4d, 0x09, 0x48, 0x84, 0x81, - 0xb5, 0x4d, 0xda, 0x79, 0xa1, 0xd6, 0x34, 0x84, 0x05, 0xc0, 0xe5, 0x43, 0xe9, 0xe2, 0x79, 0x01, - 0xb7, 0x3d, 0x7a, 0x8b, 0x92, 0x19, 0xa0, 0x24, 0x6c, 0xfa, 0x17, 0x13, 0x4f, 0x14, 0x92, 0x4f, - 0x40, 0xad, 0xcf, 0x91, 0xfe, 0x34, 0xf8, 0xff, 0x65, 0xaa, 0xde, 0xaa, 0x9d, 0xd3, 0x62, 0xaf, - 0x95, 0x46, 0x24, 0x7e, 0x7d, 0xd9, 0x12, 0x44, 0xe9, 0xff, 0xd7, 0x1b, 0x62, 0x29, 0x4c, 0x02, - 0x7e, 0xb9, 0x13, 0x1c, 0xf5, 0xe3, 0x87, 0x51, 0x07, 0xb6, 0xd7, 0x5e, 0xf9, 0xcb, 0x6a, 0x2c, - 0x5f, 0x49, 0x9b, 0xa3, 0x09, 0xd3, 0x5c, 0xe7, 0x23, 0x81, 0xdd, 0x2f, 0x7a, 0x7f, 0x4b, 0xcb, - 0x34, 0x29, 0x42, 0xc9, 0x8f, 0x74, 0x6a, 0x56, 0xf2, 0x27, 0x72, 0x33, 0x48, 0xab, 0x84, 0x39, - 0xd1, 0xb9, 0x96, 0x9c, 0xab, 0xd9, 0x59, 0xf4, 0x78, 0xfe, 0x09, 0x8b, 0x16, 0xbf, 0x28, 0x75, - 0x97, 0x5d, 0x79, 0xe4, 0xba, 0x3c, 0xc8, 0xd1, 0xce, 0x2f, 0xf9, 0x23, 0x5d, 0x02, 0x6c, 0x21, - 0xfc, 0xcb, 0xef, 0x21, 0x32, 0xde, 0x6b, 0x8f, 0x93, 0x48, 0x3c, 0xaf, 0x1d, 0x98, 0x42, 0x07, - 0xb5, 0x59, 0xb9, 0xbd, 0x24, 0x8d, 0x4b, 0x98, 0xc2, 0x43, 0x46, 0x1d, 0x49, 0x4e, 0xf5, 0xd5, - 0x74, 0x4a, 0xe6, 0x54, 0x14, 0xef, 0x17, 0x8c, 0x81, 0x8e, 0x4c, 0xc8, 0xc1, 0x06, 0xa4, 0x83, - 0xcb, 0xd1, 0x81, 0xba, 0xfe, 0xa3, 0x7b, 0xc7, 0x73, 0x92, 0xed, 0x9f, 0x0a, 0xb5, 0xee, 0x6f, - 0x1a, 0x10, 0xc2, 0xfe, 0xd5, 0x47, 0xa6, 0xc2, 0x0b, 0xc9, 0x99, 0x8a, 0x49, 0x50, 0xf4, 0x1b, - 0x0d, 0xce, 0xfc, 0x12, 0x41, 0x34, 0x8e, 0xea, 0xc1, 0xb9, 0x05, 0xe4, 0x60, 0x66, 0x96, 0x88, - 0x5a, 0xb7, 0x70, 0x08, 0x98, 0xfd, 0x0d, 0x57, 0xc0, 0x57, 0x55, 0xbb, 0xa9, 0x47, 0x71, 0x26, - 0x47, 0xb5, 0xe2, 0xca, 0x0c, 0xf5, 0x44, 0xf3, 0xba, 0x4e, 0x72, 0xd0, 0x8f, 0x71, 0xd8, 0x5c, - 0xb6, 0x56, 0xda, 0x75, 0x2d, 0x66, 0x34, 0x4c, 0x48, 0xd3, 0x32, 0xba, 0xb4, 0x62, 0x6a, 0x87, - 0xb1, 0x38, 0x98, 0x5d, 0x00, 0x1e, 0x93, 0x0c, 0xcf, 0x46, 0x38, 0x55, 0x31, 0xf2, 0x08, 0x38, - 0x7e, 0x21, 0x23, 0x8b, 0xd2, 0x79, 0x07, 0x81, 0xc3, 0xf3, 0xfa, 0x42, 0x8a, 0x54, 0x9f, 0x33, - 0x9a, 0x38, 0x10, 0x5d, 0x1c, 0x75, 0x98, 0x8e, 0x0f, 0x4c, 0xc7, 0xb4, 0x45, 0x89, 0xdf, 0x61, - 0x90, 0x3a, 0xdc, 0x3b, 0xcf, 0x37, 0x29, 0x60, 0x5c, 0x8e, 0xba, 0x29, 0xdd, 0xf1, 0x37, 0x92, - 0xcb, 0xd1, 0x9c, 0x53, 0x1d, 0x3f, 0xdc, 0x3f, 0x24, 0xae, 0xad, 0x68, 0x8f, 0xb2, 0x5c, 0x38, - 0xec, 0x84, 0xda, 0x86, 0xfe, 0x16, 0xfd, 0x4c, 0x7a, 0x30, 0x69, 0x91, 0x11, 0xae, 0x60, 0x58, - 0xbc, 0xa9, 0xf2, 0xf3, 0x43, 0x71, 0x0b, 0x1c, 0xa3, 0xea, 0x13, 0x1a, 0x05, 0x08, 0x4f, 0xab, - 0x85, 0xa5, 0x3b, 0x5e, 0xdb, 0xcb, 0x89, 0xbd, 0x74, 0xcf, 0x51, 0xb5, 0xef, 0x06, 0x40, 0xa7, - 0x7e, 0x70, 0x5f, 0xa1, 0x36, 0x21, 0x78, 0x48, 0x20, 0xb9, 0xd8, 0x7a, 0x71, 0x68, 0x1e, 0x62, - 0xcd, 0xd0, 0x28, 0x2c, 0x76, 0x54, 0x10, 0x1a, 0xd8, 0xc5, 0x0e, 0x1e, 0x76, 0xc5, 0xbf, 0x9b, - 0xa3, 0x8d, 0xef, 0x9d, 0x84, 0x63, 0xb7, 0x62, 0xf5, 0x8c, 0x84, 0x1f, 0x47, 0x8f, 0x39, 0x81, - 0x5a, 0xd1, 0xae, 0xac, 0xc5, 0x63, 0x8a, 0xae, 0x82, 0xc1, 0xab, 0x89, 0x6b, 0xfc, 0x60, 0xc9, - 0xe8, 0xaf, 0x94, 0x44, 0xfa, 0x50, 0x63, 0xd9, 0xa8, 0x24, 0x79, 0xae, 0xdc, 0x8a, 0x9c, 0xc1, - 0x86, 0x64, 0xa2, 0xeb, 0x30, 0x18, 0x66, 0xf1, 0x3b, 0x1d, 0x19, 0xed, 0xc1, 0x55, 0xd1, 0x2f, - 0xd1, 0x04, 0xe8, 0x9b, 0x41, 0x01, 0x62, 0x8f, 0xfb, 0xa4, 0x33, 0xab, 0xa2, 0x23, 0x02, 0xe3, - 0x51, 0x60, 0x5b, 0x8b, 0xfa, 0xb5, 0xac, 0x67, 0x35, 0x79, 0x5d, 0x90, 0x29, 0xd9, 0x9b, 0x2e, - 0x01, 0x06, 0xce, 0xc6, 0x85, 0x24, 0xf2, 0x73, 0x77, 0xe7, 0x41, 0x19, 0xca, 0xaa, 0x36, 0xfc, - 0xb8, 0x39, 0xd4, 0xb3, 0x98, 0xaa, 0x9c, 0xad, 0x23, 0x9b, 0x82, 0x95, 0xa2, 0x21, 0x68, 0xa7, - 0x7a, 0x4d, 0x34, 0x8a, 0x2d, 0x11, 0x7d, 0x3d, 0x0e, 0x65, 0xb3, 0x96, 0xc9, 0x25, 0x4d, 0x59, - 0xeb, 0xaf, 0xca, 0xb5, 0x4b, 0x07, 0xd4, 0x13, 0xb1, 0x51, 0xe7, 0x83, 0x46, 0x00, 0x79, 0xc8, - 0xe3, 0x67, 0x7e, 0xf2, 0x9a, 0x36, 0x26, 0x92, 0xd2, 0x7f, 0x50, 0xec, 0xe3, 0x0a, 0xe6, 0x13, - 0x71, 0x1b, 0x10, 0x9f, 0xb8, 0x93, 0x26, 0x18, 0x49, 0xe7, 0x31, 0xe6, 0xe4, 0x10, 0xc0, 0x56, - 0xf5, 0xc2, 0xee, 0x2f, 0x41, 0x62, 0x8b, 0xfa, 0x74, 0x9f, 0x11, 0x3b, 0x92, 0xac, 0xfe, 0x7b, - 0xb5, 0x7b, 0x63, 0xd3, 0xc0, 0x87, 0x47, 0xdf, 0x14, 0xcf, 0x54, 0x8f, 0x6b, 0xa4, 0x99, 0x42, - 0x21, 0x11, 0x13, 0x79, 0x17, 0xdc, 0x6f, 0xa5, 0x19, 0x7b, 0x1d, 0x53, 0x6c, 0x80, 0x92, 0xdc, - 0x92, 0x79, 0x7f, 0x4b, 0xb1, 0x85, 0x53, 0x11, 0x54, 0x5f, 0x5c, 0x53, 0xea, 0xf2, 0x82, 0x0a, - 0x17, 0x10, 0xfd, 0x30, 0x1d, 0xbd, 0xc7, 0x98, 0xbf, 0x61, 0x20, 0xe6, 0x77, 0xfe, 0xcd, 0x99, - 0x75, 0x82, 0x0f, 0x18, 0xc3, 0xa9, 0x8e, 0x11, 0x27, 0xc9, 0x2a, 0xd6, 0x01, 0xde, 0x34, 0xb8, - 0xb0, 0xea, 0x68, 0x3b, 0xfb, 0x66, 0x7f, 0xe0, 0x90, 0xfd, 0x6c, 0x5c, 0x0b, 0x44, 0x8e, 0x28, - 0x59, 0x26, 0x02, 0x44, 0x9d, 0x33, 0xd2, 0x0c, 0xa0, 0x59, 0x39, 0x96, 0xf4, 0x9b, 0xeb, 0x2a, - 0xea, 0x93, 0x6b, 0x8d, 0x4f, 0x7a, 0x99, 0x86, 0xda, 0xf2, 0x58, 0x1d, 0xa5, 0x22, 0x60, 0x5b, - 0x88, 0x24, 0x22, 0x2a, 0x9e, 0xe5, 0x46, 0xc7, 0xcc, 0x5d, 0x38, 0x10, 0x0c, 0x8a, 0x05, 0x95, - 0x16, 0x54, 0x27, 0x6b, 0xb9, 0x89, 0x7b, 0x1e, 0xd1, 0x9b, 0xa8, 0xe7, 0x05, 0xf9, 0xe1, 0x7a, - 0x90, 0x56, 0x30, 0x8d, 0xbb, 0x63, 0xba, 0xf8, 0x9e, 0xf9, 0x03, 0x7b, 0x81, 0x7d, 0x36, 0x06, - 0xcc, 0x55, 0x72, 0xb2, 0xce, 0xcf, 0x4d, 0x28, 0x44, 0xf2, 0x13, 0xdc, 0xab, 0x2a, 0x06, 0x94, - 0xec, 0xb0, 0x1f, 0x59, 0x64, 0x93, 0x52, 0x5d, 0xb6, 0xae, 0x67, 0xa1, 0x43, 0xe1, 0x37, 0x35, - 0x49, 0xe9, 0x21, 0x6a, 0x09, 0x26, 0x11, 0xea, 0x10, 0x0a, 0x42, 0x92, 0xf6, 0x74, 0xc8, 0x9b, - 0xc1, 0x67, 0xad, 0xc4, 0x07, 0x11, 0x03, 0x65, 0x32, 0x97, 0x61, 0x52, 0x29, 0x93, 0x2a, 0x0f, - 0x27, 0x47, 0x00, 0xe7, 0xea, 0xf3, 0x64, 0x28, 0xdd, 0x40, 0xaa, 0x12, 0x77, 0xdd, 0x71, 0x85, - 0xfe, 0x21, 0x26, 0xb1, 0xf1, 0xe8, 0x4d, 0x17, 0xd1, 0x40, 0x52, 0x73, 0xea, 0xbb, 0xc4, 0x5c, - 0xc2, 0x74, 0x41, 0x6e, 0xfd, 0x8e, 0xb4, 0xae, 0x67, 0xb0, 0x22, 0x93, 0x57, 0x05, 0x01, 0x5c, - 0x97, 0x96, 0x46, 0xc4, 0x20, 0x18, 0x21, 0xe9, 0x7d, 0x11, 0x16, 0x8d, 0x0a, 0xe9, 0x94, 0x3f, - 0x1d, 0x74, 0x65, 0xd4, 0x05, 0x4c, 0x7c, 0x8a, 0xd8, 0x43, 0x6c, 0xbb, 0x83, 0x0e, 0x91, 0xfc, - 0x78, 0xbd, 0x9d, 0xd8, 0xf7, 0xb2, 0x66, 0x11, 0x78, 0x1d, 0x09, 0x90, 0x6c, 0x2a, 0xcc, 0x70, - 0x57, 0x5f, 0xea, 0x96, 0xda, 0x82, 0x64, 0x06, 0x4f, 0xae, 0x84, 0x6c, 0x46, 0xf4, 0x67, 0xe0, - 0x89, 0x6d, 0x75, 0xb5, 0x20, 0x7d, 0x04, 0x15, 0x64, 0x37, 0x19, 0xc8, 0xec, 0x1f, 0x35, 0x09, - 0x0b, 0xcd, 0x10, 0x72, 0xe3, 0x77, 0x8e, 0x06, 0xc9, 0xb7, 0xa7, 0xf9, 0x75, 0x98, 0xfd, 0xcd, - 0x64, 0xc0, 0x70, 0x07, 0x82, 0x8d, 0x79, 0x92, 0x36, 0x53, 0x14, 0x83, 0x8b, 0xe2, 0xba, 0x6e, - 0x05, 0x22, 0x7c, 0x63, 0xe9, 0x04, 0x40, 0x6b, 0xa7, 0x05, 0x65, 0xc4, 0x0f, 0x0d, 0x68, 0xd9, - 0xd7, 0x01, 0x28, 0xf4, 0x2f, 0x90, 0xf9, 0x9c, 0x35, 0x68, 0xbd, 0xe2, 0x9f, 0x6c, 0x74, 0xc8, - 0xe5, 0x6b, 0x7c, 0x89, 0x5f, 0xa5, 0x83, 0x09, 0x76, 0x4f, 0x01, 0xcc, 0x80, 0x5e, 0xfc, 0xe1, - 0xe0, 0x9d, 0xe8, 0xf4, 0x4b, 0x6f, 0x3b, 0x02, 0x66, 0xad, 0x15, 0xfb, 0x8b, 0x4c, 0x97, 0xaf, - 0x58, 0xdf, 0x85, 0x9d, 0xb6, 0x92, 0xf9, 0x40, 0x10, 0x2c, 0xbe, 0x11, 0x40, 0x4c, 0x11, 0xae, - 0x46, 0x01, 0x61, 0x20, 0xea, 0xcf, 0x37, 0xf3, 0x00, 0x10, 0xf9, 0x64, 0x32, 0xc0, 0xfd, 0x76, - 0x30, 0xd3, 0x70, 0x86, 0xf1, 0x64, 0xc1, 0x62, 0x42, 0xee, 0x77, 0x92, 0xd6, 0xc9, 0x73, 0xae, - 0xae, 0x0d, 0x3e, 0x26, 0x10, 0xc3, 0xb2, 0xde, 0x22, 0xc5, 0x08, 0x53, 0x46, 0x75, 0xd3, 0x5b, - 0xf9, 0x40, 0xb6, 0xab, 0x70, 0x0f, 0xc2, 0x63, 0x7b, 0x8d, 0x89, 0x4c, 0xe1, 0xe4, 0x08, 0x9a, - 0x74, 0x11, 0x6a, 0xc0, 0x91, 0x21, 0x2b, 0x58, 0x02, 0x90, 0x78, 0xcb, 0x63, 0xd6, 0xda, 0xeb, - 0xc1, 0x49, 0xde, 0x43, 0xdd, 0x91, 0x25, 0xd5, 0x6e, 0x06, 0xa6, 0xe6, 0x7f, 0xcd, 0xac, 0x0f, - 0x71, 0x54, 0xde, 0xeb, 0x82, 0xbb, 0x51, 0x22, 0xdc, 0xda, 0x26, 0x4e, 0x47, 0xcc, 0x9b, 0xb3, - 0x29, 0x10, 0x2c, 0xb0, 0x7a, 0x2c, 0x3f, 0x3d, 0xf5, 0x3f, 0x1d, 0x16, 0xe8, 0x29, 0x9a, 0x5b, - 0xd8, 0xd7, 0xfd, 0x8b, 0x82, 0x5b, 0xb9, 0xe9, 0xd7, 0x39, 0xe1, 0x91, 0x17, 0x8c, 0xfc, 0xfc, - 0xae, 0x8b, 0x32, 0xf3, 0x14, 0x71, 0xf6, 0x86, 0x54, 0x8b, 0x15, 0xe9, 0xf8, 0x39, 0x15, 0x4d, - 0x9f, 0x87, 0xe7, 0xd1, 0x38, 0x28, 0x96, 0xa5, 0xea, 0xec, 0x5a, 0x2b, 0xd2, 0xc9, 0xfd, 0xc3, - 0x34, 0xdc, 0x3b, 0x2d, 0x37, 0x5b, 0xe8, 0x6e, 0x9b, 0x36, 0x9c, 0x06, 0x06, 0x9c, 0xc0, 0x56, - 0x27, 0x03, 0xdc, 0x5f, 0x14, 0x54, 0x6c, 0x58, 0x62, 0x54, 0x5f, 0x04, 0x64, 0x38, 0x37, 0x49, - 0x44, 0xd7, 0xa5, 0xbe, 0x9a, 0x8d, 0x09, 0xd7, 0xdd, 0x4d, 0x0d, 0x7e, 0x90, 0x09, 0x71, 0xed, - 0xc1, 0x84, 0x28, 0x97, 0xc8, 0x04, 0x48, 0xcf, 0x0f, 0xcf, 0x10, 0x0c, 0x3d, 0x83, 0x0d, 0x59, - 0xb6, 0x50, 0xc5, 0xc2, 0x09, 0x09, 0x58, 0xa1, 0x6c, 0x46, 0x87, 0x37, 0x2c, 0x3d, 0x49, 0xa9, - 0xb5, 0xcf, 0x45, 0x8b, 0x48, 0xf9, 0x4b, 0x0a, 0x58, 0x21, 0xca, 0x57, 0x50, 0x41, 0x8d, 0x48, - 0x73, 0xbe, 0x04, 0xf6, 0x02, 0xf9, 0xca, 0x30, 0x08, 0xd1, 0x42, 0x34, 0xbb, 0x02, 0xfe, 0x4d, - 0x08, 0xd6, 0x57, 0x6f, 0x59, 0x86, 0x39, 0x78, 0x0f, 0x21, 0x81, 0x60, 0xb6, 0x11, 0x1c, 0xb2, - 0x16, 0xae, 0x87, 0x5a, 0x47, 0x48, 0xaa, 0x59, 0x53, 0x36, 0x79, 0x86, 0x1a, 0x72, 0x34, 0x9b, - 0x08, 0xe7, 0x21, 0x7b, 0x89, 0x9d, 0x9b, 0x7c, 0x90, 0x1f, 0xb2, 0xa4, 0xe8, 0xe7, 0xe9, 0x15, - 0x45, 0xb2, 0x48, 0x5e, 0xd4, 0xcc, 0xa3, 0x0c, 0x4a, 0x20, 0xbd, 0xc6, 0x0e, 0x0c, 0x90, 0xb2, - 0xe2, 0x82, 0x8c, 0xdc, 0xa1, 0x97, 0xbd, 0x59, 0x1b, 0x7a, 0x0c, 0x20, 0x49, 0x55, 0x4a, 0x70, - 0x72, 0x0d, 0x5c, 0xa1, 0x33, 0x83, 0xea, 0xe8, 0xa2, 0xab, 0x18, 0x55, 0x37, 0x77, 0x2c, 0x7e, - 0x9e, 0x88, 0xf8, 0x16, 0x42, 0xe1, 0x0c, 0xf7, 0x22, 0x5d, 0x05, 0x1d, 0x04, 0xb7, 0xa1, 0x80, - 0x6b, 0xbb, 0x6a, 0xf3, 0x64, 0x8d, 0x05, 0x83, 0xc0, 0x96, 0xf2, 0xf5, 0x53, 0x3e, 0xb9, 0x93, - 0x26, 0x4b, 0x6a, 0xa0, 0x3b, 0x6b, 0x8b, 0x04, 0x5a, 0x3e, 0xb4, 0x1a, 0xe1, 0xed, 0xd0, 0xf5, - 0x6f, 0x3e, 0xfc, 0x5f, 0xf8, 0xc2, 0x37, 0x19, 0x87, 0xd8, 0x3b, 0xa4, 0xfa, 0x12, 0x19, 0x6b, - 0x5e, 0x92, 0xdd, 0x17, 0xcf, 0x36, 0x27, 0x2c, 0x29, 0x37, 0x1d, 0x41, 0x82, 0x68, 0x12, 0xbf, - 0xb2, 0x95, 0xc4, 0x8d, 0xee, 0x05, 0x68, 0xf4, 0xe9, 0x6c, 0xb1, 0x27, 0xa4, 0xb2, 0xd5, 0x4f, - 0x46, 0x70, 0x19, 0x5b, 0xc4, 0xb4, 0xea, 0x30, 0xa1, 0xbe, 0x4d, 0x2a, 0x0c, 0x97, 0x40, 0x4f, - 0x59, 0xaf, 0x36, 0x4f, 0xff, 0x3d, 0x68, 0xaf, 0x24, 0xb5, 0x4c, 0xc1, 0xe8, 0xa7, 0x51, 0x56, - 0x9f, 0xa8, 0xf6, 0x76, 0x71, 0x0c, 0x33, 0xbd, 0x83, 0xef, 0x06, 0x59, 0x21, 0x51, 0xd4, 0x3e, - 0xc6, 0xe5, 0x03, 0xc0, 0xef, 0xe7, 0xab, 0x82, 0x53, 0xc6, 0x2b, 0x40, 0xdb, 0xa4, 0x0a, 0x50, - 0x2a, 0x8f, 0x50, 0x2b, 0xd1, 0x2e, 0x1a, 0xda, 0xa6, 0xf3, 0xdc, 0xee, 0x78, 0x91, 0x9a, 0x65, - 0xfd, 0xe5, 0x98, 0xee, 0x94, 0x7c, 0x48, 0x0f, 0x53, 0xd8, 0x1c, 0x65, 0x83, 0xc8, 0xe9, 0x3c, - 0x69, 0xad, 0x93, 0x12, 0xf5, 0xba, 0xc8, 0xea, 0x4b, 0x23, 0xd6, 0x57, 0x0c, 0x95, 0x39, 0x88, - 0x7a, 0xbf, 0x4d, 0x01, 0xd1, 0x69, 0xfd, 0x86, 0x69, 0x74, 0x2b, 0xb7, 0x21, 0xed, 0x28, 0x92, - 0x6f, 0xcf, 0xa8, 0x1f, 0xb0, 0x2a, 0x40, 0xc2, 0x00, 0xd6, 0xa6, 0xad, 0x4c, 0x79, 0x87, 0x93, - 0x6b, 0x05, 0x82, 0xfb, 0x28, 0x84, 0x31, 0xbc, 0x8b, 0xa9, 0x66, 0x7c, 0xb2, 0xa3, 0x15, 0x64, - 0x02, 0x81, 0x76, 0xaf, 0x0e, 0xa9, 0xda, 0x49, 0xf4, 0x79, 0x26, 0xf3, 0x18, 0x6d, 0x50, 0xb3, - 0x79, 0xce, 0xb2, 0x09, 0xe4, 0xec, 0xa4, 0xc2, 0x42, 0x5d, 0xb3, 0x6f, 0xe8, 0x1f, 0xa6, 0xab, - 0xa4, 0x1d, 0xc8, 0x3c, 0x8a, 0xfc, 0xc9, 0x2e, 0xe3, 0x58, 0x59, 0x26, 0x0a, 0x13, 0x8b, 0x12, - 0x1c, 0xc8, 0xfb, 0x90, 0xcc, 0xdd, 0xa1, 0xa0, 0x02, 0xbd, 0x63, 0x1e, 0xbb, 0xbe, 0x17, 0x77, - 0x98, 0xee, 0x7a, 0x50, 0x8f, 0xea, 0x81, 0x82, 0x67, 0x0d, 0x42, 0x46, 0xf8, 0xe1, 0x4c, 0x28, - 0x97, 0x44, 0x7a, 0xcf, 0xd9, 0xde, 0x1f, 0x2a, 0x09, 0x13, 0xa6, 0x7b, 0x87, 0x78, 0xca, 0xdf, - 0x63, 0x11, 0xd0, 0xcc, 0xf1, 0xc3, 0xe0, 0xf7, 0xa3, 0x37, 0x2c, 0x84, 0x43, 0x7c, 0xcf, 0x76, - 0x24, 0xd1, 0x7d, 0x75, 0x96, 0x39, 0xeb, 0x25, 0xad, 0xb8, 0x3b, 0xf6, 0xdf, 0xc6, 0x2f, 0x34, - 0xeb, 0xae, 0xdc, 0x54, 0x33, 0xe4, 0xdb, 0xcf, 0x14, 0x0a, 0x2d, 0x91, 0x9c, 0x09, 0x14, 0x0b, - 0x63, 0xda, 0x3a, 0x18, 0x9a, 0xa6, 0x47, 0x78, 0x5c, 0x21, 0xdd, 0x36, 0x94, 0x15, 0x55, 0x83, - 0xb4, 0x0a, 0x67, 0x27, 0x79, 0xcf, 0x30, 0xf2, 0x02, 0x94, 0xd3, 0x27, 0x74, 0x0f, 0xf7, 0x0c, - 0x3a, 0x7d, 0x53, 0x52, 0xcd, 0x04, 0x29, 0x42, 0x22, 0x86, 0x61, 0x0b, 0x48, 0xff, 0x3d, 0xe9, - 0xb4, 0x4d, 0x5d, 0x96, 0x64, 0xa3, 0x8a, 0x59, 0x56, 0xc7, 0xad, 0x2c, 0x11, 0x56, 0x3e, 0x44, - 0x4f, 0x38, 0x36, 0x7d, 0xac, 0x1a, 0xc0, 0x3d, 0xdb, 0x48, 0xc0, 0x70, 0x62, 0xda, 0xee, 0x0a, - 0x0e, 0xe0, 0x85, 0x19, 0x78, 0xda, 0x30, 0x9c, 0xff, 0xd7, 0x53, 0x84, 0xf0, 0x40, 0x7a, 0xef, - 0xfe, 0x8f, 0xc9, 0x3f, 0xff, 0xb7, 0x20, 0xd6, 0x22, 0x8c, 0x41, 0x9b, 0x96, 0x44, 0x9c, 0x03, - 0xe5, 0x30, 0x23, 0x99, 0x7b, 0xde, 0x25, 0x76, 0x18, 0x37, 0x14, 0x6d, 0x86, 0x18, 0x1b, 0x6d, - 0xdf, 0x25, 0x74, 0xc5, 0x52, 0xc5, 0xce, 0xaf, 0xe1, 0x2e, 0xae, 0xe5, 0xba, 0x27, 0xb1, 0x1e, - 0x37, 0x16, 0xde, 0x83, 0xfd, 0x39, 0xf3, 0x77, 0xe9, 0xdb, 0x6e, 0x87, 0x10, 0x48, 0x87, 0x1e, - 0x85, 0x24, 0x04, 0x82, 0x2c, 0x03, 0xe2, 0xd0, 0x82, 0x77, 0x18, 0x83, 0x29, 0x5b, 0xac, 0x49, - 0xe2, 0x67, 0xff, 0xb5, 0x82, 0x2d, 0xa9, 0x6d, 0xa0, 0x90, 0x7a, 0x14, 0xf7, 0xdd, 0xb4, 0x01, - 0xc2, 0x9c, 0xc1, 0x35, 0x5f, 0x6e, 0x84, 0x8a, 0xae, 0xf5, 0xd8, 0xa3, 0x98, 0xb5, 0xc9, 0xda, - 0x71, 0x54, 0xa7, 0xc2, 0x67, 0x80, 0xd6, 0xa4, 0x27, 0xad, 0x00, 0xde, 0xa6, 0xd7, 0x18, 0xa2, - 0x70, 0x04, 0x13, 0xb6, 0x18, 0x2b, 0xf1, 0x05, 0xd9, 0x61, 0xf3, 0x4f, 0xfb, 0x38, 0xdf, 0xc1, - 0x98, 0xa3, 0xb5, 0x89, 0xf7, 0xb7, 0xf3, 0xc6, 0x95, 0x5b, 0x73, 0x14, 0x27, 0xe7, 0x69, 0x29, - 0xec, 0xe0, 0xc9, 0x7c, 0xa4, 0xf8, 0x0e, 0x15, 0x68, 0x41, 0xa1, 0x34, 0x52, 0x55, 0xe8, 0x3c, - 0x19, 0x28, 0x0f, 0x94, 0xcc, 0xfb, 0x88, 0x86, 0xff, 0x85, 0xa3, 0xb1, 0xc4, 0xe5, 0x05, 0x1b, - 0xcd, 0xa4, 0x80, 0x76, 0xad, 0xf0, 0x9c, 0xfe, 0x0d, 0xc6, 0xd9, 0x2d, 0xa1, 0x14, 0x9e, 0x4f, - 0xfe, 0x99, 0x70, 0xb6, 0xd5, 0x2b, 0xcb, 0x2e, 0x6b, 0x3f, 0x72, 0x85, 0xdc, 0x85, 0x0a, 0xe7, - 0x1d, 0xd4, 0xf6, 0x0b, 0xad, 0xea, 0xda, 0x68, 0x35, 0xab, 0x04, 0x84, 0x26, 0x35, 0xfb, 0x87, - 0x02, 0x36, 0x74, 0xae, 0x42, 0xfa, 0xfb, 0x3c, 0x6d, 0xd8, 0xa9, 0xf1, 0x8d, 0x66, 0x0e, 0x99, - 0xdb, 0x08, 0x15, 0x89, 0xde, 0x92, 0x9e, 0xdf, 0x66, 0xac, 0x2f, 0x75, 0x24, 0x52, 0x96, 0x99, - 0x17, 0x7d, 0xa3, 0xc8, 0x29, 0xd5, 0x7c, 0x4a, 0xa7, 0xe0, 0xf6, 0x68, 0x00, 0xa3, 0xca, 0xf2, - 0x52, 0x17, 0x5b, 0x07, 0xe4, 0x57, 0xd9, 0xda, 0xe4, 0x48, 0xeb, 0x0e, 0xad, 0x82, 0xfc, 0x15, - 0xf5, 0x24, 0xf0, 0x9b, 0x74, 0x87, 0x83, 0xbe, 0x2c, 0x36, 0x22, 0x9c, 0xf3, 0x48, 0x3e, 0x7e, - 0x91, 0x4b, 0xa4, 0x98, 0xce, 0x99, 0x73, 0xc1, 0x49, 0xde, 0x36, 0x0a, 0x4a, 0xa5, 0xce, 0xa6, - 0x87, 0x7f, 0x83, 0x5d, 0xda, 0x95, 0x2c, 0x86, 0x23, 0x69, 0x9c, 0x2d, 0x37, 0x1f, 0xb8, 0xba, - 0xad, 0x89, 0x99, 0x74, 0x6e, 0x72, 0xb8, 0x5e, 0xd8, 0x24, 0x24, 0x7f, 0x86, 0x64, 0x5a, 0x44, - 0x8f, 0xdf, 0x96, 0xdb, 0x7f, 0xdb, 0xa0, 0x96, 0x6d, 0x4a, 0x25, 0x9d, 0x57, 0x5d, 0x42, 0xad, - 0xf5, 0x79, 0x3b, 0x31, 0x66, 0x17, 0x1b, 0x3d, 0x55, 0xf3, 0xfc, 0x7b, 0xde, 0x3a, 0xc0, 0xf5, - 0x53, 0x6e, 0xdc, 0x20, 0xf1, 0x73, 0xfc, 0xa2, 0xaf, 0x88, 0xd4, 0xca, 0x33, 0xce, 0x05, 0x76, - 0xc8, 0x1d, 0xa1, 0xd1, 0xbd, 0x9c, 0xe0, 0x2c, 0xf6, 0x9b, 0xd4, 0x90, 0x5d, 0xa1, 0xf1, 0x47, - 0xc9, 0x6a, 0x5c, 0x65, 0xab, 0x6b, 0xa8, 0xa6, 0xc0, 0xb5, 0xf8, 0xd5, 0x4f, 0xc9, 0xed, 0x70, - 0x9f, 0xf7, 0x9c, 0xa2, 0x10, 0x41, 0x14, 0xfe, 0x68, 0xac, 0xb4, 0x47, 0x93, 0x47, 0x05, 0xc2, - 0xae, 0x9b, 0x99, 0x60, 0x33, 0x42, 0x80, 0xe7, 0xa4, 0x37, 0xa3, 0x2e, 0xee, 0x7b, 0x53, 0x1b, - 0xc3, 0xef, 0xc9, 0x96, 0xd7, 0x8d, 0x8b, 0x74, 0x17, 0x33, 0xfb, 0xef, 0x79, 0x65, 0x48, 0x6b, - 0x09, 0x55, 0x68, 0x03, 0xbd, 0x01, 0x4f, 0x65, 0xd0, 0x9e, 0x7d, 0x97, 0x47, 0x4c, 0x36, 0x02, - 0xd7, 0x9c, 0x61, 0x49, 0x18, 0xae, 0xb7, 0xac, 0xcb, 0x40, 0xc2, 0x57, 0x41, 0x8c, 0x16, 0xe6, - 0x3e, 0xc6, 0xbc, 0x4c, 0x52, 0x75, 0xe5, 0x96, 0xbe, 0xc1, 0x1f, 0x39, 0x45, 0xcd, 0x68, 0x48, - 0xad, 0xfc, 0xaf, 0xcc, 0x30, 0x8e, 0x1d, 0xf1, 0x25, 0x3e, 0xf2, 0x66, 0xa8, 0x33, 0xa1, 0xd2, - 0x8e, 0xea, 0x09, 0xaa, 0xbc, 0xd5, 0x7c, 0xff, 0x69, 0x01, 0xce, 0x76, 0xb0, 0x1a, 0x67, 0x13, - 0xf0, 0x4a, 0xad, 0xc0, 0x2c, 0xa7, 0xc3, 0xe5, 0x6c, 0x88, 0xfd, 0x58, 0x71, 0xca, 0x15, 0x69, - 0x39, 0x9b, 0x87, 0x46, 0x6b, 0x68, 0xa0, 0x5f, 0xe2, 0x49, 0xda, 0xc5, 0xd6, 0x4f, 0x8a, 0xe3, - 0x00, 0xeb, 0x9e, 0xa1, 0x4d, 0xef, 0xc7, 0x7f, 0xb0, 0x93, 0x48, 0xb9, 0x5c, 0xc7, 0xc9, 0x77, - 0xa2, 0x8c, 0x81, 0x3a, 0x66, 0xfd, 0x56, 0x2a, 0xed, 0xa4, 0xe0, 0x80, 0xb5, 0xdd, 0xa1, 0x00, - 0x76, 0xe9, 0xc4, 0xe4, 0x64, 0x15, 0x6e, 0x0f, 0x06, 0xe9, 0xd8, 0xec, 0xb1, 0x61, 0x8c, 0x98, - 0xab, 0x16, 0xc7, 0xea, 0x1c, 0x66, 0x20, 0xdc, 0x46, 0x97, 0xf5, 0x76, 0x5d, 0x0a, 0x07, 0x3b, - 0xc6, 0x2e, 0x2f, 0x94, 0xa4, 0x45, 0x6f, 0xbd, 0x48, 0x82, 0x09, 0x0e, 0xb1, 0x8b, 0x84, 0xa1, - 0x80, 0xb1, 0xb6, 0x44, 0x6f, 0xff, 0x35, 0xe5, 0xb7, 0xd7, 0x58, 0x87, 0x07, 0xdd, 0xef, 0xe1, - 0xcc, 0xdf, 0xe7, 0xf0, 0x24, 0x04, 0xc3, 0x55, 0x60, 0x97, 0xf5, 0xa3, 0x7a, 0xe1, 0x11, 0x7d, - 0x20, 0xca, 0x40, 0x53, 0xd6, 0x59, 0x27, 0x5e, 0x23, 0x9c, 0x76, 0xe5, 0x2a, 0x43, 0xc6, 0x0d, - 0xc2, 0x7c, 0xea, 0x96, 0xec, 0x5e, 0xe7, 0xf1, 0x6b, 0x00, 0x89, 0xbc, 0xf0, 0x88, 0xe5, 0x43, - 0xf3, 0x4c, 0xfa, 0xa5, 0x2e, 0x28, 0x33, 0x80, 0x65, 0x5e, 0xff, 0xc3, 0x96, 0xe7, 0x81, 0x75, - 0x60, 0x88, 0x74, 0xe1, 0xdb, 0x12, 0xd3, 0xa9, 0x6e, 0x2e, 0x19, 0xc3, 0x23, 0x94, 0xc6, 0xbf, - 0xd5, 0xc7, 0x6a, 0xb6, 0x45, 0x96, 0xba, 0xd4, 0x89, 0x37, 0xc0, 0x0a, 0x78, 0xef, 0x28, 0x94, - 0xb7, 0xe6, 0x38, 0x05, 0x7f, 0x00, 0xaf, 0x8a, 0x4d, 0x06, 0xd1, 0x57, 0x78, 0x1c, 0xf4, 0x7f, - 0xdd, 0x43, 0x0d, 0x0c, 0xde, 0x49, 0x9b, 0x94, 0x41, 0xc1, 0x30, 0xd8, 0xdb, 0xcb, 0x25, 0x91, - 0x81, 0x74, 0x29, 0xaa, 0x37, 0x4a, 0x41, 0xb0, 0x1d, 0x1b, 0x9f, 0xcc, 0x9e, 0x39, 0x63, 0x3a, - 0x2d, 0xc9, 0x1e, 0xa3, 0x19, 0x4d, 0x66, 0x6a, 0x1a, 0x6a, 0xb2, 0x97, 0x88, 0x0b, 0xd0, 0xbd, - 0x79, 0x2c, 0xe2, 0x0b, 0xa4, 0x55, 0x63, 0x32, 0xc4, 0x9d, 0xbd, 0x16, 0x8c, 0x5c, 0xda, 0x83, - 0x0a, 0x60, 0x45, 0x8e, 0x19, 0x88, 0x09, 0x63, 0x26, 0x21, 0xa7, 0xf8, 0x82, 0xf6, 0xe3, 0x3c, - 0xd3, 0x0f, 0x0e, 0x43, 0x98, 0x45, 0xf1, 0x86, 0xda, 0x6f, 0xe0, 0xa8, 0xc8, 0x91, 0x46, 0xf2, - 0x3f, 0x91, 0xc6, 0xe6, 0x06, 0x95, 0xf8, 0xea, 0xac, 0xe7, 0xbd, 0x3b, 0x4e, 0xba, 0xb9, 0x91, - 0x26, 0xf4, 0x9c, 0xd7, 0x43, 0x6e, 0xf6, 0xb4, 0x54, 0x45, 0x78, 0xe6, 0xd5, 0xf6, 0x4d, 0x39, - 0x09, 0xfe, 0xaf, 0x10, 0xbc, 0x8f, 0x6b, 0x45, 0x9f, 0x5a, 0x67, 0x46, 0xee, 0x0f, 0xd5, 0x80, - 0xf5, 0xb8, 0x2a, 0x78, 0x9e, 0x95, 0xfb, 0xe6, 0xb7, 0xbc, 0xb5, 0xd6, 0x7e, 0x94, 0xee, 0x61, - 0xf9, 0xb0, 0x86, 0x90, 0xfb, 0x73, 0x85, 0x62, 0x93, 0x9c, 0x47, 0xc3, 0xb1, 0x17, 0x3a, 0xe9, - 0x85, 0xd2, 0xd7, 0x45, 0x8e, 0xfd, 0xb4, 0x79, 0xb3, 0x12, 0xe2, 0x19, 0x6d, 0x20, 0x2e, 0x0a, - 0xfd, 0xa8, 0xed, 0xff, 0x89, 0xb2, 0x13, 0x45, 0x46, 0x67, 0x73, 0x3d, 0xab, 0x55, 0x45, 0x26, - 0xfc, 0x81, 0x54, 0x2f, 0x41, 0xb5, 0xc9, 0xf9, 0x9d, 0x18, 0x27, 0x10, 0xa8, 0x42, 0x90, 0x41, - 0x97, 0x53, 0xe0, 0x50, 0x78, 0xdb, 0x5c, 0x0f, 0x79, 0x98, 0x95, 0xc0, 0x65, 0x51, 0xa7, 0xda, - 0x07, 0xf9, 0xe5, 0xcd, 0x12, 0x84, 0x5e, 0xa2, 0xbe, 0x94, 0x7f, 0x17, 0x51, 0xc2, 0xef, 0xf6, - 0x2d, 0xa9, 0xe6, 0x04, 0x53, 0xea, 0x99, 0x47, 0xdd, 0x70, 0xc7, 0xc2, 0xea, 0xa1, 0x33, 0x9e, - 0x88, 0x81, 0x85, 0xc3, 0xf1, 0x06, 0x4c, 0xd3, 0x4a, 0x7d, 0x43, 0x71, 0xe9, 0xd5, 0x2a, 0x27, - 0xf4, 0xb3, 0x94, 0x8c, 0x88, 0xd5, 0x79, 0x92, 0xc2, 0x13, 0x17, 0x78, 0xa0, 0xa7, 0x2b, 0xd5, - 0x85, 0x3e, 0x4c, 0xb0, 0x74, 0xc2, 0x72, 0xbe, 0xc9, 0x61, 0x6e, 0xf7, 0x05, 0x49, 0xcd, 0xda, - 0x4e, 0xb6, 0xbc, 0x7f, 0xe5, 0xa0, 0x6f, 0x28, 0xb1, 0xc9, 0xfe, 0xfb, 0x35, 0x91, 0xa2, 0xd9, - 0xfc, 0xa9, 0x45, 0x49, 0x77, 0xd6, 0xd8, 0x54, 0x09, 0x84, 0x85, 0x7b, 0xe6, 0x26, 0xe6, 0x54, - 0x73, 0x14, 0xbc, 0x07, 0x2e, 0x4d, 0x3e, 0x38, 0xbc, 0x74, 0xfb, 0x6f, 0xbf, 0x22, 0x78, 0x50, - 0x15, 0xc0, 0xe8, 0xb3, 0x31, 0x87, 0x47, 0xa5, 0x62, 0x3e, 0x97, 0x52, 0x64, 0xfa, 0xd5, 0x26, - 0x4b, 0xa7, 0x72, 0x17, 0x19, 0x09, 0x34, 0x82, 0x22, 0x4c, 0x1d, 0x03, 0x84, 0x83, 0x18, 0x61, - 0x10, 0x94, 0xec, 0x42, 0x22, 0x04, 0xb8, 0xec, 0xce, 0xcf, 0x6c, 0x9c, 0x3d, 0x53, 0xac, 0xe0, - 0x30, 0x5a, 0x81, 0x79, 0xf4, 0x99, 0xaf, 0x66, 0xcb, 0xd2, 0x26, 0x29, 0x8d, 0xbc, 0xd0, 0xc0, - 0x16, 0x76, 0xba, 0x5a, 0x74, 0xeb, 0xd2, 0x5a, 0x7d, 0xab, 0xab, 0xc9, 0x5a, 0xe3, 0xff, 0xec, - 0x19, 0x2b, 0x23, 0xc8, 0xa3, 0x72, 0xee, 0xcf, 0xa6, 0xc9, 0xc7, 0xa3, 0x90, 0xcc, 0x00, 0xff, - 0x89, 0x39, 0xbc, 0x4f, 0x60, 0xb9, 0xb0, 0x1b, 0x43, 0xb6, 0x32, 0x77, 0xdb, 0x49, 0xf3, 0x37, - 0x12, 0x54, 0x68, 0x4a, 0xcd, 0xd0, 0x12, 0xae, 0xf1, 0x9c, 0x62, 0x63, 0xbe, 0x29, 0x80, 0x57, - 0xbe, 0x80, 0xb6, 0x59, 0x6a, 0x0f, 0xb5, 0x5d, 0xc6, 0x88, 0x40, 0xd4, 0x3b, 0xfc, 0x94, 0x69, - 0x61, 0x35, 0x39, 0x0c, 0xb6, 0x92, 0x95, 0x65, 0x37, 0x3e, 0x6c, 0xb7, 0xd9, 0x6e, 0x30, 0x9a, - 0xae, 0xbf, 0xd7, 0x54, 0xa8, 0xb6, 0x84, 0xec, 0xa2, 0x71, 0x69, 0x74, 0xba, 0x7e, 0x3a, 0x18, - 0x58, 0x9e, 0xfa, 0x2d, 0xa6, 0x02, 0xed, 0x43, 0x64, 0x57, 0x7d, 0xc8, 0x87, 0x57, 0xbb, 0x07, - 0x21, 0x8d, 0xee, 0xdf, 0x30, 0x05, 0x56, 0xea, 0x94, 0x83, 0xc8, 0x35, 0x98, 0x1d, 0x2f, 0x5c, - 0x09, 0xfb, 0xc7, 0xbc, 0x1e, 0x2d, 0x58, 0xcd, 0x5e, 0xba, 0x28, 0x8f, 0x2c, 0x31, 0xf4, 0x22, - 0x55, 0x4b, 0x38, 0x9c, 0x41, 0xca, 0x44, 0x0d, 0x55, 0xb6, 0x67, 0x85, 0x36, 0xc6, 0xe1, 0xf2, - 0x1d, 0xd9, 0xe2, 0x93, 0x1a, 0xf3, 0x4b, 0x18, 0x5e, 0xf8, 0x78, 0x1d, 0x4b, 0xf1, 0xb2, 0x27, - 0xed, 0x0b, 0xc4, 0xf8, 0x2d, 0x84, 0xed, 0x17, 0x4b, 0x43, 0x08, 0x78, 0xe4, 0x69, 0x70, 0x24, - 0x92, 0xc9, 0x8e, 0xb6, 0xa3, 0xc6, 0xbe, 0xd2, 0xc7, 0x77, 0x70, 0xf9, 0x71, 0xcc, 0x32, 0x3f, - 0x06, 0x83, 0xb7, 0xd5, 0xc0, 0x76, 0xf1, 0xc5, 0xd1, 0x3c, 0x36, 0xa9, 0x8a, 0x3f, 0x9a, 0xcc, - 0x3a, 0x0f, 0x72, 0x33, 0xe3, 0x08, 0x82, 0x2c, 0x44, 0xc3, 0xd0, 0x55, 0x7c, 0x38, 0x4d, 0x11, - 0xca, 0x57, 0x8e, 0x09, 0xc2, 0xf7, 0xfa, 0x9b, 0x8e, 0x52, 0x8f, 0x2b, 0x90, 0x58, 0x4a, 0xa4, - 0x05, 0x31, 0x60, 0x6c, 0x96, 0x59, 0xdf, 0x39, 0x23, 0x22, 0x65, 0x2c, 0x82, 0x76, 0xf6, 0x16, - 0xe3, 0x2f, 0x71, 0xad, 0x72, 0x98, 0x13, 0x58, 0xad, 0x38, 0x66, 0x23, 0x7a, 0xa6, 0x1e, 0x9e, - 0x4e, 0xb5, 0xb6, 0xc8, 0xd0, 0x7e, 0x4a, 0xa9, 0x65, 0xfa, 0xac, 0x57, 0x49, 0xe9, 0x92, 0x0e, - 0xa6, 0x59, 0x8c, 0xfc, 0x6e, 0x0a, 0x56, 0xc3, 0xc4, 0x0b, 0xa2, 0x0c, 0x99, 0x50, 0xcf, 0x73, - 0x6f, 0x22, 0xe8, 0x56, 0x98, 0x52, 0x4c, 0x3a, 0xdc, 0xe8, 0x87, 0xe9, 0x67, 0x91, 0x52, 0xf6, - 0x79, 0x26, 0xa1, 0xc0, 0xa2, 0x63, 0x20, 0x89, 0xfd, 0x75, 0x6b, 0x05, 0x28, 0x15, 0x40, 0xb1, - 0x5b, 0xb5, 0xc9, 0xdf, 0x8e, 0x38, 0x51, 0xb0, 0xda, 0xf7, 0xba, 0x32, 0x22, 0x54, 0xa3, 0x46, - 0xb3, 0xba, 0xb1, 0x7d, 0x1f, 0x7c, 0x62, 0xc9, 0x24, 0xd8, 0xaa, 0x6c, 0x4b, 0xbd, 0x48, 0x53, - 0xc8, 0x9e, 0x39, 0x54, 0xb7, 0x5d, 0xb6, 0x9e, 0xf1, 0xc0, 0x5f, 0x52, 0xaa, 0x07, 0x30, 0x56, - 0xf5, 0xfd, 0x46, 0xd6, 0xee, 0x15, 0x66, 0x8c, 0xa8, 0x78, 0x1e, 0x68, 0xa7, 0x2c, 0xa8, 0x16, - 0x8f, 0x57, 0xeb, 0xa1, 0xa8, 0xa5, 0xcf, 0x6e, 0x6b, 0x81, 0xb5, 0xf3, 0x19, 0x13, 0x6f, 0xa3, - 0xc3, 0x45, 0x90, 0x08, 0x3b, 0xb5, 0xbc, 0x7d, 0xbe, 0xb1, 0xd2, 0x91, 0x20, 0x38, 0xd8, 0xaf, - 0x41, 0x8b, 0x6e, 0xb7, 0x3e, 0x49, 0x86, 0x85, 0x3d, 0x9e, 0x6c, 0xd2, 0xf8, 0x5a, 0x56, 0xc9, - 0xcf, 0x1b, 0x49, 0xe6, 0xf6, 0x6e, 0x88, 0x17, 0x4c, 0xdd, 0xd2, 0x5d, 0x1a, 0xdf, 0x7f, 0x74, - 0x3d, 0x55, 0xaa, 0x09, 0x61, 0xca, 0xc9, 0x2a, 0x33, 0xbb, 0x62, 0x2e, 0x24, 0x7f, 0x17, 0xac, - 0x67, 0x5b, 0x94, 0xc4, 0xfe, 0x56, 0x75, 0xfe, 0xdd, 0xb9, 0xf8, 0x8a, 0x73, 0x73, 0x86, 0xac, - 0xca, 0xf0, 0xee, 0x4a, 0x76, 0x0b, 0x96, 0x3c, 0xc3, 0xf5, 0xed, 0xc0, 0x43, 0xdd, 0xf0, 0x46, - 0xcd, 0xbf, 0xab, 0x2e, 0x8f, 0xca, 0x91, 0x58, 0xd9, 0x18, 0x44, 0x3c, 0x33, 0x49, 0x29, 0x0d, - 0x04, 0xdc, 0x58, 0x65, 0x37, 0x25, 0x8b, 0x4b, 0x45, 0x54, 0x10, 0xfd, 0xc3, 0xf5, 0x9d, 0x12, - 0x34, 0x45, 0x87, 0x18, 0x3f, 0x9f, 0xde, 0xd4, 0x0d, 0x13, 0x97, 0xf6, 0xe8, 0x6e, 0x5e, 0xf4, - 0x3e, 0x67, 0x6e, 0x35, 0x69, 0xb1, 0x23, 0x03, 0x8d, 0x70, 0xcd, 0xab, 0x50, 0x99, 0xda, 0x4a, - 0xb1, 0x55, 0xf1, 0xc7, 0xc9, 0x82, 0xb0, 0x4c, 0xa2, 0xaa, 0x48, 0xfa, 0x82, 0x1b, 0x30, 0x75, - 0x99, 0xbd, 0x77, 0x65, 0xc1, 0x3d, 0x1a, 0xf0, 0xdf, 0x8d, 0x62, 0x4f, 0xfb, 0xb8, 0x41, 0xe7, - 0xd5, 0x1b, 0x8c, 0x1b, 0x7c, 0x92, 0xc9, 0x80, 0xd5, 0x52, 0x96, 0x60, 0xb0, 0x4a, 0xdd, 0xde, - 0x20, 0xea, 0x8a, 0x19, 0x28, 0xa1, 0xd5, 0x1b, 0x36, 0xde, 0xd5, 0x91, 0xac, 0xa6, 0xbf, 0x97, - 0xdd, 0x98, 0x81, 0x04, 0x2d, 0xbc, 0xc4, 0xae, 0xaa, 0x62, 0x5b, 0x40, 0x4b, 0x11, 0x76, 0xec, - 0xd2, 0x9a, 0x22, 0x6a, 0xb8, 0xcd, 0x66, 0xd4, 0x72, 0xb9, 0x6a, 0xd9, 0x4a, 0x4e, 0x09, 0x57, - 0x7d, 0xad, 0x66, 0xdc, 0xe8, 0x5a, 0xea, 0xaa, 0x31, 0x1a, 0xca, 0x14, 0xe5, 0xa2, 0x14, 0x81, - 0x5e, 0x9a, 0xd5, 0x3b, 0x28, 0x88, 0xc2, 0xb4, 0x49, 0xe4, 0x79, 0x5d, 0xdf, 0x45, 0x73, 0x68, - 0x3c, 0x89, 0xc2, 0x62, 0xc6, 0x46, 0xde, 0xa7, 0x0c, 0x87, 0xc8, 0x04, 0x3d, 0x0c, 0x18, 0xdf, - 0xf7, 0x3d, 0x81, 0xb6, 0x0a, 0x55, 0x90, 0x6a, 0xac, 0x5f, 0x70, 0x58, 0x20, 0x5c, 0x71, 0xa5, - 0xdb, 0xb8, 0x4e, 0x79, 0xcf, 0xea, 0x73, 0x72, 0xc9, 0x69, 0x0d, 0x38, 0xd5, 0x01, 0x6a, 0x58, - 0x25, 0x68, 0x41, 0x7e, 0xc9, 0x02, 0xea, 0xa7, 0x5d, 0xd2, 0x8b, 0xac, 0xce, 0x0a, 0x9c, 0xf6, - 0xc0, 0x0a, 0xb7, 0x96, 0x54, 0xce, 0x3c, 0x59, 0x59, 0x30, 0x49, 0x11, 0x58, 0x0d, 0x35, 0xe7, - 0xd9, 0xe4, 0x8b, 0x84, 0x6c, 0x08, 0x70, 0xb9, 0x2f, 0xd1, 0xd8, 0xd4, 0x5a, 0x7e, 0xb4, 0x51, - 0x2b, 0x5c, 0x57, 0xd7, 0x22, 0x37, 0x04, 0x6a, 0x5a, 0xf8, 0xeb, 0x52, 0x72, 0x65, 0x3b, 0x2a, - 0xdf, 0xdd, 0xc4, 0x42, 0xb7, 0x60, 0x48, 0xb1, 0xcc, 0x11, 0x19, 0x66, 0x72, 0x5f, 0xa5, 0x75, - 0x20, 0x3d, 0xed, 0x7c, 0x9a, 0xee, 0x07, 0xe2, 0x13, 0x29, 0xa3, 0x6b, 0x81, 0xc7, 0x6c, 0xf7, - 0xa0, 0x57, 0x40, 0xcf, 0x98, 0xd7, 0xe9, 0x6b, 0xbe, 0xf4, 0xeb, 0x99, 0x72, 0x14, 0xef, 0xb3, - 0x31, 0x31, 0xff, 0x49, 0x06, 0x60, 0x79, 0x05, 0x56, 0xf6, 0x14, 0xbe, 0xdb, 0xb1, 0xaf, 0x74, - 0x12, 0xb6, 0x0c, 0x72, 0xdd, 0xb0, 0xbd, 0x68, 0x1c, 0x88, 0x46, 0xe3, 0xda, 0xe4, 0xf3, 0x33, - 0x2e, 0x20, 0xad, 0xbf, 0xc6, 0xbf, 0x14, 0x4c, 0x4c, 0xb2, 0x89, 0x9c, 0xf2, 0x60, 0xb3, 0xc3, - 0x6d, 0xbc, 0x40, 0xaa, 0xd3, 0xe7, 0x6e, 0x4a, 0x1b, 0x85, 0x2d, 0xc5, 0x4d, 0xe7, 0x79, 0x8f, - 0x62, 0x5f, 0xfc, 0x07, 0x2f, 0xfb, 0x93, 0xc7, 0x98, 0xec, 0x7a, 0x3d, 0xf6, 0xd7, 0x77, 0x34, - 0x81, 0xa1, 0xa9, 0xff, 0x1b, 0x18, 0xb9, 0x0a, 0xf0, 0xf1, 0x33, 0x23, 0x61, 0xfb, 0xd3, 0xa0, - 0x0d, 0xd9, 0x1e, 0xdd, 0x84, 0xfe, 0xca, 0xc9, 0xe9, 0xbe, 0x4a, 0x66, 0xb2, 0xda, 0x79, 0x2c, - 0xe1, 0xd1, 0x1a, 0x68, 0xa9, 0xcb, 0xd7, 0x61, 0x21, 0xe0, 0x48, 0x08, 0xbb, 0xcf, 0x4e, 0x21, - 0x51, 0x3a, 0x22, 0x01, 0x58, 0x5a, 0x4a, 0x21, 0x84, 0xa1, 0x7e, 0xf1, 0x59, 0x1e, 0x80, 0x67, - 0xd9, 0x6a, 0x56, 0x66, 0xaf, 0xc4, 0x10, 0x55, 0xb2, 0x1d, 0x99, 0xe5, 0x3c, 0x99, 0x6d, 0xb2, - 0xc6, 0xa8, 0xa7, 0x01, 0xb6, 0xf7, 0x36, 0x85, 0x1f, 0x23, 0xf5, 0xeb, 0x81, 0xac, 0xec, 0x1a, - 0x95, 0x79, 0xae, 0x1a, 0x23, 0x0a, 0xeb, 0x0f, 0x0b, 0x5f, 0xf0, 0xe0, 0xe4, 0xcc, 0xb0, 0x42, - 0xf0, 0xe8, 0x29, 0xfc, 0x3a, 0x61, 0x6e, 0xec, 0xbe, 0x89, 0x95, 0x6f, 0x3b, 0x39, 0xa8, 0xf7, - 0x2f, 0x5b, 0x85, 0x32, 0x9d, 0x1c, 0x90, 0x3d, 0xd5, 0x8d, 0x8b, 0xbd, 0xd5, 0x4f, 0xa1, 0x56, - 0x48, 0x19, 0x48, 0x3f, 0xd5, 0x2c, 0x68, 0xf3, 0xa7, 0x14, 0xef, 0x1b, 0x88, 0x37, 0x72, 0x75, - 0x03, 0xb3, 0x62, 0x24, 0x54, 0x6e, 0x75, 0x41, 0x9a, 0xa5, 0xa1, 0xb3, 0xf5, 0xc4, 0xd7, 0xa4, - 0x8a, 0x83, 0x5e, 0xdc, 0xfd, 0xeb, 0x7d, 0xa4, 0x6a, 0x67, 0xa2, 0x54, 0x9e, 0x08, 0xaa, 0x3c, - 0x5e, 0xc9, 0x93, 0xc2, 0x0b, 0x75, 0x1b, 0xe8, 0xfd, 0x52, 0x2b, 0xc2, 0xea, 0xa1, 0x44, 0x0a, - 0x42, 0x64, 0x96, 0xd7, 0xed, 0x7a, 0x32, 0x05, 0x2d, 0xd1, 0x0d, 0x61, 0x62, 0xc3, 0x79, 0x4f, - 0x18, 0xdb, 0x0e, 0x1d, 0x86, 0x10, 0x89, 0xfd, 0xec, 0x4b, 0x83, 0xfb, 0xfc, 0xe8, 0x2f, 0x41, - 0x74, 0x98, 0xf8, 0x29, 0x44, 0xf1, 0x76, 0x30, 0x9d, 0x8e, 0xb0, 0x03, 0xf4, 0xde, 0xd2, 0x1b, - 0x61, 0x9f, 0x04, 0x7b, 0x31, 0xfa, 0xd7, 0xc2, 0x1d, 0x2c, 0xa6, 0x9a, 0x73, 0x13, 0xe0, 0x1c, - 0xe2, 0xb3, 0xee, 0x7a, 0xfd, 0x03, 0xda, 0xc1, 0x48, 0xce, 0x68, 0x2f, 0xc1, 0xdc, 0x26, 0x79, - 0xb1, 0x34, 0xb9, 0xcf, 0x87, 0xb7, 0xe6, 0x4e, 0x78, 0xdc, 0x6e, 0x8a, 0x6e, 0x89, 0x9f, 0x78, - 0xd8, 0x1e, 0x24, 0xe0, 0xf6, 0xa3, 0xb1, 0x93, 0x78, 0x55, 0x4b, 0xb2, 0xd0, 0x47, 0xc8, 0x8f, - 0x7e, 0x56, 0xb1, 0xa4, 0xfe, 0xdf, 0x9f, 0x78, 0x97, 0x3e, 0x4e, 0x4a, 0x16, 0xcf, 0xd3, 0x3e, - 0xdd, 0xa2, 0x12, 0xfd, 0xb0, 0x41, 0x4d, 0xba, 0x55, 0x56, 0xec, 0xb8, 0xa8, 0xf3, 0xf5, 0x7b, - 0x7a, 0xc0, 0xaa, 0xb7, 0x9d, 0xcd, 0xab, 0x7d, 0x97, 0x4a, 0x4f, 0x73, 0x4c, 0xab, 0x1d, 0x8f, - 0xae, 0x78, 0x82, 0x78, 0xae, 0x57, 0xfe, 0x70, 0x73, 0x05, 0x58, 0x39, 0xd2, 0x37, 0x90, 0x90, - 0x46, 0xf5, 0xc4, 0x40, 0x20, 0x41, 0x70, 0xd1, 0x77, 0x1a, 0x57, 0x6a, 0x5f, 0xe5, 0xdb, 0xb5, - 0x2c, 0xe5, 0xb1, 0x75, 0xa3, 0xc7, 0xc6, 0x90, 0x35, 0xdf, 0xff, 0x48, 0xec, 0x17, 0xb4, 0x2c, - 0x77, 0xa4, 0x68, 0x4c, 0x7b, 0x3c, 0x25, 0x9c, 0xa4, 0x31, 0x0a, 0xfb, 0xc0, 0x8b, 0x91, 0xa9, - 0x70, 0xd2, 0xf6, 0xa4, 0x6d, 0x92, 0x61, 0x45, 0x09, 0xb4, 0xc9, 0x96, 0x0b, 0x13, 0xaf, 0xf8, - 0x56, 0xb7, 0xa3, 0xbd, 0x38, 0x1b, 0x2a, 0xf2, 0x0d, 0x61, 0x67, 0xbc, 0x20, 0x67, 0x96, 0x2e, - 0x96, 0x2c, 0x4b, 0x6c, 0xff, 0xa2, 0x87, 0xd7, 0x9b, 0x45, 0x89, 0x0b, 0x41, 0x1f, 0xb2, 0x25, - 0x33, 0xa0, 0xe0, 0x7f, 0x57, 0xf0, 0x03, 0x38, 0xe7, 0x7e, 0x60, 0xaf, 0x3e, 0x79, 0x06, 0x72, - 0x45, 0x64, 0x1f, 0xba, 0x25, 0x05, 0x91, 0x3f, 0x16, 0x69, 0x26, 0x40, 0x7b, 0xf7, 0xda, 0xd3, - 0x6e, 0x01, 0x49, 0x4d, 0xbf, 0x1d, 0xda, 0x2e, 0x55, 0xc9, 0x6f, 0x11, 0xb4, 0xd2, 0x89, 0x7e, - 0xc4, 0xa7, 0xa5, 0xad, 0x29, 0x5f, 0x6a, 0xa7, 0x93, 0xc4, 0x7e, 0xb0, 0xb2, 0xd8, 0xc4, 0xe0, - 0xdd, 0x27, 0xba, 0x15, 0xd5, 0xbb, 0x1a, 0x1f, 0x32, 0xf6, 0xcb, 0xbd, 0xf9, 0xf1, 0x4f, 0xed, - 0xd4, 0xa0, 0x19, 0x90, 0xb8, 0xac, 0xef, 0xad, 0x26, 0x80, 0xd2, 0x15, 0xa4, 0x63, 0xc5, 0xbc, - 0xfd, 0x50, 0xfb, 0x9e, 0xee, 0x4c, 0x88, 0x11, 0xfc, 0xd5, 0x31, 0x58, 0x46, 0xcc, 0x31, 0x53, - 0xda, 0xdc, 0x5b, 0x6c, 0xa0, 0x20, 0x49, 0xb8, 0x8a, 0xd2, 0x89, 0x5f, 0xdd, 0xcf, 0xc3, 0x33, - 0x55, 0x50, 0x58, 0x67, 0x97, 0x39, 0x08, 0xfa, 0x61, 0xdf, 0xd6, 0x4a, 0x70, 0x12, 0x59, 0xa1, - 0x68, 0x98, 0xb9, 0x55, 0x02, 0xa0, 0x6e, 0x61, 0x47, 0x71, 0xa5, 0xb7, 0x52, 0x06, 0xb3, 0x97, - 0xb1, 0xa5, 0x4f, 0x6c, 0xf6, 0x35, 0x86, 0x55, 0xf2, 0x38, 0x76, 0x2d, 0x05, 0x66, 0xe6, 0xf0, - 0xab, 0xb3, 0xe3, 0x59, 0x1c, 0x9d, 0xbc, 0xd2, 0x73, 0x8c, 0xde, 0xdf, 0x48, 0x1a, 0x84, 0x9b, - 0x6a, 0xcc, 0x1a, 0xb3, 0x48, 0xb7, 0xa6, 0xd3, 0xae, 0xb1, 0xab, 0xcb, 0x75, 0x9c, 0x84, 0xdb, - 0x17, 0x9e, 0xaf, 0x01, 0x08, 0x75, 0x26, 0x35, 0xcc, 0x5d, 0x24, 0x3d, 0x43, 0xdb, 0xc0, 0xc3, - 0x68, 0x41, 0xb9, 0x83, 0x34, 0xc0, 0x1e, 0x53, 0xf0, 0x61, 0x65, 0xfb, 0x35, 0x5f, 0x62, 0xda, - 0xf0, 0x13, 0x90, 0x6e, 0x59, 0x1a, 0xe2, 0xa0, 0x57, 0xc7, 0xcf, 0x03, 0x1b, 0xc0, 0xca, 0x40, - 0x4e, 0xe9, 0x58, 0x1b, 0x98, 0x55, 0x23, 0x8c, 0x73, 0xd0, 0xee, 0x4e, 0x34, 0x4b, 0x65, 0x1d, - 0xa0, 0x8b, 0x9b, 0x30, 0x87, 0x38, 0x9e, 0x5e, 0xdc, 0x00, 0x82, 0x38, 0x61, 0x2e, 0xd7, 0x59, - 0x0f, 0x96, 0x5c, 0x29, 0xda, 0xe0, 0x75, 0x04, 0x57, 0x23, 0xad, 0xa9, 0x6d, 0xec, 0xc4, 0xcc, - 0xa3, 0xf1, 0xec, 0x6a, 0x64, 0x45, 0x93, 0x50, 0x3e, 0xba, 0x62, 0xc0, 0xc3, 0x02, 0xe4, 0xb1, - 0x04, 0x02, 0x6f, 0xcc, 0x7f, 0x3e, 0x16, 0x79, 0x87, 0xc3, 0xfe, 0x8e, 0x63, 0x79, 0x69, 0xc7, - 0xb6, 0x89, 0x26, 0xcb, 0x5d, 0x43, 0x9a, 0x48, 0xb6, 0xb6, 0xfd, 0xb8, 0x98, 0xaa, 0x72, 0x41, - 0x25, 0x3d, 0x3a, 0x87, 0xc2, 0x49, 0x9c, 0x9d, 0x6b, 0x73, 0xe3, 0x73, 0xf5, 0xe0, 0x7e, 0x7d, - 0xde, 0xb2, 0xce, 0x13, 0x52, 0xf8, 0x36, 0x69, 0xb6, 0xe0, 0xed, 0x7a, 0x44, 0x76, 0x4f, 0xb9, - 0x60, 0xb8, 0xc9, 0x51, 0xd1, 0xef, 0xc4, 0x20, 0xff, 0x4c, 0x8b, 0x28, 0xae, 0xd3, 0x23, 0x5e, - 0xb5, 0x92, 0xa1, 0x45, 0x18, 0x7a, 0x71, 0x50, 0x7f, 0xee, 0x55, 0xdb, 0x24, 0x2d, 0xd2, 0xe0, - 0xf6, 0x59, 0x95, 0xc7, 0x61, 0xc2, 0x16, 0x5b, 0xac, 0x84, 0xe4, 0x52, 0xaf, 0x37, 0x63, 0x9d, - 0x1a, 0x23, 0x55, 0x4f, 0x03, 0xe5, 0x0f, 0xc5, 0x9b, 0xa4, 0xa2, 0x82, 0x95, 0x70, 0xed, 0x6c, - 0x8c, 0xd1, 0xfe, 0x3f, 0xda, 0xb2, 0x5e, 0x2a, 0x50, 0x08, 0xa8, 0x74, 0xe9, 0x86, 0xf2, 0xbf, - 0xbb, 0x91, 0xb7, 0xa1, 0xc4, 0x2c, 0xd1, 0xc9, 0x5a, 0x91, 0xfe, 0x15, 0x55, 0x36, 0x83, 0x3a, - 0xa0, 0xe2, 0xa2, 0xb1, 0x92, 0xf9, 0x5d, 0x30, 0xe9, 0x6a, 0x79, 0x34, 0xe7, 0x20, 0xaf, 0x8c, - 0x74, 0x2c, 0x91, 0x27, 0xc8, 0xcd, 0x22, 0x89, 0x8d, 0xe0, 0x4b, 0xf6, 0x96, 0x79, 0xf0, 0x07, - 0x0b, 0x53, 0x34, 0xc6, 0xbe, 0x60, 0x34, 0x99, 0x70, 0x84, 0xea, 0x6c, 0x44, 0x68, 0x25, 0xd4, - 0x79, 0x00, 0x5a, 0x85, 0x80, 0xbc, 0x29, 0x51, 0x7a, 0x81, 0x31, 0x12, 0x4c, 0x64, 0x89, 0x6b, - 0xa3, 0x69, 0x0e, 0xaa, 0x12, 0xfb, 0x7b, 0xd2, 0xe2, 0xa4, 0x71, 0xbf, 0x8f, 0x42, 0xb4, 0x92, - 0xd4, 0xe8, 0xf7, 0x84, 0xda, 0xc5, 0x2c, 0x63, 0xd0, 0x21, 0x89, 0x0d, 0x9e, 0x15, 0xc3, 0x87, - 0xf1, 0xce, 0xf1, 0x23, 0xe2, 0x3f, 0x96, 0x01, 0x40, 0x79, 0x2f, 0x50, 0x01, 0xfd, 0xbb, 0x9d, - 0xb1, 0x5c, 0xf3, 0xec, 0xf2, 0xf2, 0xaa, 0x6b, 0x40, 0xf1, 0x00, 0xc3, 0x49, 0xcf, 0xff, 0xcd, - 0x80, 0xff, 0x64, 0xb4, 0x3a, 0x4c, 0xb4, 0x94, 0x14, 0xdf, 0xfe, 0xce, 0x69, 0x18, 0x7a, 0xd2, - 0xb0, 0xb1, 0x86, 0x76, 0x8f, 0xfb, 0x01, 0xf1, 0xcd, 0xb2, 0xbb, 0xa9, 0x9b, 0xac, 0xff, 0x49, - 0x41, 0xf9, 0x7a, 0x13, 0x87, 0xe4, 0x64, 0x8a, 0x9f, 0xa6, 0x7e, 0x47, 0xd5, 0xe6, 0x50, 0xf6, - 0x1c, 0x44, 0xca, 0x29, 0x0c, 0xdb, 0x20, 0x33, 0x1c, 0xd0, 0xf7, 0x4c, 0x97, 0xea, 0x88, 0x1d, - 0x1d, 0xd8, 0x7a, 0xb3, 0xdc, 0x5e, 0xff, 0x00, 0x94, 0x85, 0xda, 0x1c, 0x1d, 0xa0, 0x26, 0x74, - 0xaa, 0xd2, 0xc5, 0x89, 0xe7, 0xc5, 0x6f, 0xd8, 0xaa, 0x1a, 0x95, 0xac, 0x18, 0xbd, 0xac, 0x0c, - 0xae, 0xef, 0x7c, 0x84, 0x7b, 0x51, 0x1e, 0x54, 0x55, 0x4f, 0x8c, 0x30, 0x7a, 0x63, 0x3f, 0x49, - 0x4d, 0x17, 0xc0, 0x44, 0xd6, 0xfc, 0xa2, 0xdc, 0xe7, 0xc8, 0x10, 0xb5, 0x3c, 0x59, 0x31, 0xbe, - 0x23, 0x01, 0xf7, 0xf1, 0xc9, 0xfb, 0xa0, 0x78, 0x6f, 0xf7, 0x77, 0xc4, 0xd6, 0x11, 0x0b, 0xaf, - 0x9d, 0xff, 0xf3, 0xc9, 0x48, 0x9c, 0xb8, 0xa7, 0x48, 0x64, 0xe4, 0x05, 0xe4, 0x02, 0x67, 0x65, - 0x8a, 0xa3, 0xb2, 0x36, 0xd7, 0x80, 0x27, 0x61, 0x5e, 0x2e, 0xd6, 0xc0, 0xee, 0xb6, 0x75, 0x58, - 0x7f, 0x40, 0x31, 0x33, 0x08, 0xb4, 0x1e, 0x59, 0x34, 0x97, 0xac, 0x56, 0x55, 0x10, 0xfe, 0xe1, - 0x8c, 0x53, 0x3c, 0x88, 0x97, 0x1d, 0x65, 0x0a, 0x4b, 0x80, 0x00, 0x2e, 0xc1, 0xcb, 0x17, 0x72, - 0x35, 0x9b, 0x8f, 0x9b, 0xcc, 0x56, 0x92, 0x49, 0x7a, 0x5a, 0xd0, 0x19, 0x49, 0x38, 0x95, 0xa2, - 0x66, 0xd7, 0xe6, 0xcc, 0xfe, 0x3c, 0x24, 0x2f, 0x79, 0x47, 0xed, 0x12, 0xa6, 0xc0, 0x1d, 0x5e, - 0x9a, 0x41, 0xbe, 0x60, 0x27, 0x1a, 0xb5, 0x0f, 0x7b, 0xd2, 0xb3, 0xa0, 0x09, 0x1f, 0xda, 0xd3, - 0x10, 0x09, 0x08, 0xd2, 0x6a, 0xd3, 0x6c, 0x85, 0xc9, 0x58, 0xaf, 0x3b, 0x42, 0x85, 0xa8, 0x9b, - 0xba, 0x9d, 0xd1, 0xd9, 0x97, 0x55, 0x7d, 0x39, 0xbf, 0x3e, 0x0b, 0x38, 0x7e, 0x2a, 0x9c, 0xe5, - 0x81, 0x71, 0xaa, 0xf3, 0x0d, 0x39, 0x0f, 0xe2, 0xa5, 0x8e, 0xe6, 0x9c, 0x50, 0x19, 0xdd, 0xbc, - 0xce, 0xae, 0x75, 0x25, 0x66, 0xaa, 0x6d, 0x5b, 0xd9, 0x75, 0xa7, 0x0d, 0xcc, 0x67, 0x5c, 0x84, - 0x17, 0xdf, 0x4b, 0xb5, 0x26, 0x09, 0xc5, 0x69, 0xb4, 0xdd, 0xc0, 0xba, 0x60, 0xd8, 0x9b, 0x61, - 0xee, 0x32, 0xf4, 0x1e, 0xdc, 0xd7, 0x05, 0x36, 0x7b, 0x67, 0xc7, 0xc6, 0xc4, 0xa0, 0xa7, 0xe4, - 0x38, 0xdb, 0x98, 0x52, 0x11, 0x3b, 0xf4, 0xdd, 0x8e, 0x1c, 0x74, 0x1f, 0x96, 0x39, 0xb1, 0x00, - 0x1a, 0xcd, 0x2d, 0x92, 0xd0, 0x69, 0x53, 0x73, 0xf5, 0xd9, 0xc8, 0xbd, 0xc9, 0xc7, 0x5c, 0x4f, - 0xa5, 0x3c, 0x7b, 0x6a, 0x6c, 0x75, 0x63, 0x25, 0x72, 0x8d, 0x48, 0x00, 0x12, 0x46, 0xfd, 0xc4, - 0xa3, 0xed, 0xfa, 0xe8, 0xfc, 0x9a, 0x93, 0x17, 0x1e, 0x69, 0x41, 0xce, 0x1f, 0x8f, 0x44, 0x94, - 0xdd, 0xfe, 0xae, 0xe8, 0x41, 0xd7, 0xb6, 0x46, 0x8e, 0x9f, 0xe4, 0xe6, 0xfe, 0x45, 0xb6, 0x50, - 0xfb, 0x8c, 0xb1, 0x15, 0xc2, 0xa0, 0x25, 0x9b, 0xab, 0xa5, 0x4b, 0xff, 0xc4, 0x50, 0xcc, 0xbd, - 0x7c, 0x3f, 0xdc, 0xca, 0x34, 0x9d, 0xf0, 0xf2, 0xbc, 0xe0, 0xa4, 0x14, 0x1f, 0x73, 0x30, 0x06, - 0x6b, 0x83, 0xa3, 0xe3, 0x1d, 0x8e, 0x10, 0xa3, 0x15, 0x09, 0xc0, 0xad, 0x1c, 0xc1, 0x9d, 0x40, - 0x21, 0xbd, 0x7a, 0x9f, 0x65, 0x36, 0x6f, 0xac, 0xf1, 0x6e, 0x9b, 0x7b, 0x96, 0x6d, 0x03, 0xfc, - 0x8c, 0x53, 0xe3, 0xe2, 0x9c, 0xb5, 0x2b, 0x67, 0xc7, 0x6e, 0x97, 0x7e, 0x8a, 0x06, 0x46, 0x27, - 0xc8, 0x59, 0x74, 0x7a, 0x97, 0x85, 0x12, 0xee, 0x45, 0xce, 0x79, 0xb9, 0x40, 0xea, 0x64, 0xd3, - 0x84, 0x79, 0x4e, 0xce, 0xe8, 0x54, 0x80, 0x32, 0x02, 0x39, 0x93, 0xa6, 0x18, 0x70, 0x8e, 0xda, - 0xb7, 0x5e, 0x4d, 0xa2, 0x28, 0xe9, 0x34, 0xc4, 0x02, 0xf0, 0x2f, 0x44, 0xa7, 0xfd, 0x42, 0x2c, - 0xf3, 0xf3, 0xfb, 0xa5, 0x87, 0x26, 0xd3, 0x64, 0x53, 0xd3, 0xcc, 0x3a, 0x57, 0x66, 0x46, 0x87, - 0x9f, 0x7d, 0x86, 0x5e, 0x17, 0x7d, 0x1c, 0x4d, 0x14, 0x50, 0xba, 0x44, 0xc7, 0xe0, 0x2c, 0xb2, - 0xc2, 0x80, 0xbb, 0x6e, 0x26, 0xf7, 0xe4, 0xc2, 0x73, 0x17, 0x0b, 0x25, 0x20, 0x82, 0xef, 0x59, - 0xf4, 0x25, 0x8d, 0xe8, 0x39, 0xd1, 0xa2, 0xaa, 0xdf, 0x1a, 0xfd, 0x2c, 0x9f, 0x03, 0xda, 0x8d, - 0x52, 0xbb, 0xa2, 0x91, 0x9c, 0x05, 0xb7, 0x7a, 0x59, 0x74, 0x05, 0x17, 0x99, 0x6f, 0x81, 0xb3, - 0x30, 0x10, 0xf7, 0xa2, 0xca, 0xeb, 0xff, 0x4b, 0xca, 0xfc, 0x9e, 0x28, 0xbf, 0x67, 0x1f, 0x57, - 0x5a, 0x81, 0xe9, 0xfc, 0xf4, 0x04, 0x0d, 0x93, 0x07, 0x7c, 0x7c, 0x67, 0x5f, 0x20, 0x78, 0xc5, - 0x3c, 0xab, 0x2d, 0x33, 0xf0, 0xfe, 0x6e, 0x3b, 0x24, 0x40, 0x85, 0x4d, 0x2a, 0xe8, 0x4e, 0x9e, - 0x4e, 0x63, 0xe2, 0x42, 0x9d, 0xd0, 0x97, 0xbf, 0x7f, 0x98, 0xb2, 0x3a, 0xf3, 0xc0, 0x87, 0xa8, - 0x04, 0xcf, 0x40, 0x17, 0x49, 0xad, 0x6a, 0x5a, 0x2b, 0x45, 0x2d, 0xd5, 0xd6, 0x43, 0x27, 0x29, - 0xfa, 0xbb, 0x2f, 0x8a, 0x7b, 0x06, 0x54, 0xb6, 0x38, 0x40, 0x45, 0x3d, 0x98, 0x28, 0x3e, 0x15, - 0x77, 0x9e, 0x7e, 0x20, 0x25, 0x72, 0x2c, 0xcd, 0x3a, 0xb0, 0xc2, 0x71, 0x94, 0x81, 0x2c, 0x04, - 0x41, 0x01, 0xbc, 0xe3, 0x5f, 0x34, 0x82, 0x06, 0xc4, 0x89, 0x30, 0x46, 0x25, 0xb7, 0x5c, 0xc1, - 0x56, 0x78, 0x86, 0x2e, 0x9d, 0x79, 0xd6, 0xc9, 0x96, 0x31, 0xbf, 0xaf, 0x29, 0x7f, 0x71, 0x4b, - 0x0f, 0x0f, 0x1f, 0x45, 0x95, 0xc0, 0x72, 0x3d, 0xba, 0x13, 0x71, 0x95, 0x07, 0xe6, 0x29, 0x19, - 0x4a, 0xeb, 0xa2, 0x24, 0xbb, 0xad, 0xf1, 0x68, 0xaa, 0x88, 0x43, 0x86, 0x10, 0x05, 0xf6, 0x97, - 0xe7, 0xe3, 0xa0, 0x26, 0x26, 0x82, 0xf3, 0x3b, 0x28, 0xb8, 0x56, 0x45, 0xc9, 0xc2, 0x25, 0xe8, - 0xdb, 0xf2, 0xcd, 0xac, 0x65, 0xbe, 0x54, 0xe4, 0x55, 0xed, 0xf6, 0xe2, 0x1d, 0x75, 0xe9, 0x67, - 0x2c, 0x12, 0xa8, 0x79, 0xad, 0xb2, 0x1a, 0x70, 0x4a, 0x01, 0x25, 0x8c, 0xa9, 0x7a, 0xd1, 0x1f, - 0x17, 0x5f, 0xc4, 0xf9, 0xc9, 0x66, 0x71, 0x06, 0x2d, 0x94, 0xb8, 0x50, 0x08, 0x04, 0x68, 0x82, - 0xe9, 0x20, 0xd0, 0x6e, 0xd2, 0x65, 0x26, 0xab, 0xe2, 0x93, 0x81, 0x65, 0x16, 0x42, 0xb6, 0x57, - 0x56, 0x85, 0x7e, 0x38, 0x8b, 0xda, 0xd1, 0xa0, 0x2e, 0x9f, 0x38, 0xe2, 0x05, 0x3a, 0x35, 0x10, - 0x54, 0xdf, 0xbe, 0xca, 0x65, 0xca, 0x68, 0xfd, 0xe3, 0x20, 0xa5, 0x29, 0x40, 0x52, 0xa8, 0x5c, - 0xff, 0xfb, 0xf0, 0x22, 0xc7, 0x26, 0x53, 0xef, 0x92, 0xd2, 0xd2, 0x12, 0x30, 0xdc, 0x72, 0x65, - 0x41, 0xef, 0x3f, 0xef, 0x82, 0x34, 0xfd, 0x57, 0xbe, 0x21, 0x7e, 0xe7, 0x41, 0xfd, 0x54, 0x16, - 0x06, 0x4d, 0x39, 0x61, 0xec, 0x3e, 0x63, 0x1d, 0xf8, 0x74, 0xf2, 0x2e, 0xd0, 0xd4, 0x2f, 0x9e, - 0x0e, 0x00, 0xd4, 0x19, 0xb0, 0xd6, 0x0a, 0x28, 0x22, 0x3e, 0x80, 0xc0, 0x58, 0xc3, 0x37, 0xb3, - 0xcb, 0xfc, 0x74, 0xc4, 0x4a, 0x2e, 0x35, 0x4b, 0x09, 0xbd, 0x73, 0x53, 0x68, 0x9a, 0x3d, 0x10, - 0x0a, 0xd4, 0xa7, 0xc9, 0xb8, 0xd5, 0x5e, 0x9d, 0xff, 0xe6, 0xfb, 0x7d, 0xa8, 0x7c, 0x78, 0xff, - 0x9a, 0x78, 0x60, 0xfc, 0xa7, 0x04, 0x1f, 0x3b, 0x20, 0xca, 0xff, 0x61, 0x20, 0xe6, 0xe3, 0xe3, - 0x73, 0xe6, 0x4c, 0x39, 0xf7, 0xe7, 0x4c, 0xdb, 0xbb, 0xbd, 0x1b, 0x3d, 0x9d, 0x3c, 0x13, 0x97, - 0x1a, 0xb0, 0xba, 0xc3, 0x5d, 0xb9, 0xe8, 0x48, 0xfc, 0xe9, 0x8b, 0xbf, 0x2f, 0x6b, 0xc6, 0xdd, - 0x18, 0xb5, 0x44, 0x6d, 0x7a, 0x88, 0xf9, 0xaf, 0x26, 0x61, 0x16, 0x18, 0xfc, 0xcf, 0xe3, 0xf7, - 0xcf, 0xd7, 0x37, 0xd9, 0x59, 0xe3, 0xa3, 0x66, 0xa5, 0xd4, 0xad, 0xe4, 0xb1, 0x84, 0xa3, 0xa9, - 0x77, 0x09, 0x17, 0x89, 0x08, 0xb9, 0xf2, 0x42, 0x04, 0x32, 0xa3, 0x36, 0x71, 0x2f, 0x17, 0xf0, - 0x6a, 0x9f, 0x4e, 0x04, 0xff, 0xb6, 0xd0, 0xf2, 0x0f, 0x63, 0x22, 0x01, 0x73, 0x25, 0xce, 0x2f, - 0x98, 0x74, 0xec, 0xd6, 0xbb, 0x64, 0xe4, 0xd0, 0xa4, 0x13, 0x13, 0x71, 0x20, 0xef, 0xf1, 0xd1, - 0x68, 0xe6, 0x17, 0xf3, 0xa2, 0x03, 0x96, 0x43, 0xb3, 0x97, 0xba, 0x8f, 0x69, 0x40, 0xd6, 0xdc, - 0xdd, 0x11, 0x7e, 0x95, 0x9f, 0xe2, 0x4f, 0x6e, 0x86, 0xb3, 0x99, 0xa6, 0x35, 0x83, 0xf3, 0xf9, - 0x9a, 0x95, 0xe4, 0x79, 0x21, 0x85, 0x7e, 0xb4, 0x63, 0x08, 0x8a, 0x42, 0x12, 0xf2, 0x9e, 0x15, - 0xe1, 0x7f, 0x42, 0x07, 0x1c, 0x74, 0x1c, 0x05, 0x92, 0xc1, 0x53, 0xab, 0x51, 0xe3, 0x44, 0x1c, - 0x07, 0x5f, 0xc3, 0xfb, 0x9b, 0xfa, 0x9a, 0x0b, 0x92, 0x51, 0xae, 0xbd, 0x28, 0xda, 0xe1, 0xf4, - 0x69, 0x79, 0x46, 0x24, 0xba, 0xce, 0x40, 0x41, 0x2a, 0x3e, 0x93, 0x6b, 0x9d, 0x64, 0x19, 0x9a, - 0x36, 0xca, 0x1c, 0x36, 0x01, 0x9f, 0xcf, 0x10, 0x1b, 0x86, 0x67, 0x1c, 0x57, 0xdf, 0x61, 0xf5, - 0xa2, 0x5c, 0xc5, 0x47, 0x77, 0xbb, 0x28, 0xfc, 0x90, 0x61, 0x8d, 0x5a, 0x9c, 0xaf, 0x23, 0x0c, - 0x1e, 0x98, 0x4c, 0x96, 0x56, 0xaf, 0xd4, 0x9f, 0x63, 0xbc, 0x1a, 0x0f, 0x77, 0x75, 0xdf, 0x33, - 0xc9, 0xc5, 0x82, 0x39, 0xf8, 0x56, 0x16, 0x4e, 0x7b, 0xe4, 0x72, 0x1e, 0x5b, 0xd4, 0xbb, 0x17, - 0xbc, 0xed, 0xe1, 0x4b, 0x9e, 0x35, 0xff, 0x95, 0xd6, 0xfe, 0xae, 0x56, 0x67, 0xfb, 0x82, 0x8a, - 0x9f, 0x35, 0x95, 0x81, 0xec, 0xb1, 0x6f, 0xff, 0xf8, 0xcc, 0xea, 0x33, 0xb0, 0xdc, 0x9a, 0x50, - 0x02, 0xf5, 0x5f, 0x00, 0xe2, 0xc5, 0x4c, 0x2b, 0xf0, 0x72, 0x57, 0xc2, 0x59, 0xf4, 0x0a, 0x90, - 0xda, 0x75, 0x6c, 0x8d, 0xa9, 0x81, 0x04, 0xae, 0xaf, 0x89, 0xf5, 0x40, 0x5c, 0x53, 0xed, 0xdc, - 0xd0, 0x3a, 0x77, 0x01, 0x4f, 0x96, 0x55, 0x1c, 0x2d, 0x16, 0x7f, 0xc0, 0x49, 0xca, 0x6d, 0xde, - 0xc9, 0xb5, 0x10, 0xbd, 0xc1, 0x1e, 0x1c, 0x8d, 0xf4, 0xf6, 0x54, 0x09, 0xbd, 0x6f, 0x9c, 0xfb, - 0xc2, 0x55, 0xcd, 0xf2, 0x5b, 0x80, 0x84, 0xef, 0xce, 0xee, 0x39, 0x7f, 0x1a, 0xc8, 0x9a, 0x1c, - 0x14, 0x26, 0x94, 0xb2, 0xbb, 0xfd, 0xe6, 0xb9, 0x0d, 0x02, 0x70, 0xef, 0x5a, 0x46, 0x5c, 0x46, - 0x90, 0x8b, 0xcf, 0x83, 0x8f, 0xb3, 0xef, 0xc7, 0xc9, 0xb5, 0xbd, 0x17, 0xa6, 0xdb, 0x03, 0xd6, - 0xc6, 0x12, 0xbc, 0xec, 0x99, 0x2e, 0xcb, 0x2d, 0xc6, 0xb4, 0x29, 0x80, 0x88, 0xb3, 0x62, 0x01, - 0xf4, 0x3f, 0x54, 0xf5, 0x11, 0x68, 0x7f, 0xfa, 0xde, 0xfa, 0x8e, 0x31, 0x91, 0x96, 0xec, 0xaf, - 0xef, 0xcd, 0x3a, 0x98, 0x4f, 0x0d, 0xe7, 0x3e, 0xf3, 0xcd, 0x80, 0x2d, 0x9c, 0xb9, 0xd0, 0x5b, - 0x16, 0xfd, 0xad, 0x8d, 0x9a, 0x09, 0x3f, 0x14, 0x34, 0xce, 0x60, 0xe7, 0x4d, 0x2d, 0x88, 0xea, - 0x49, 0xf8, 0x02, 0x2a, 0xaf, 0x80, 0x22, 0x0c, 0xf6, 0x11, 0x96, 0xa7, 0x55, 0x11, 0x06, 0x8d, - 0xc5, 0xcf, 0xc4, 0x63, 0x51, 0xbf, 0xe0, 0x42, 0x73, 0x26, 0xd2, 0x2a, 0x62, 0x5b, 0x91, 0xad, - 0xfb, 0xc5, 0x9f, 0x6d, 0x35, 0x00, 0x51, 0xb9, 0x89, 0xe6, 0x54, 0x6f, 0xc8, 0x66, 0x14, 0x6f, - 0x02, 0x04, 0xf0, 0xe5, 0xf3, 0x02, 0xc9, 0x97, 0x5b, 0xa9, 0x6a, 0xd3, 0x01, 0xa4, 0x8c, 0xa6, - 0x31, 0x03, 0x83, 0x8c, 0x37, 0xd8, 0xdb, 0x98, 0x49, 0x53, 0x6d, 0xaf, 0x5e, 0x7e, 0x2c, 0x3e, - 0xb7, 0xc3, 0xc7, 0xa1, 0x9b, 0xa8, 0xbb, 0xa9, 0x75, 0xdc, 0x34, 0xeb, 0x06, 0x7a, 0x1c, 0x59, - 0x4c, 0xd0, 0x46, 0xfb, 0xe9, 0x38, 0x6c, 0xdf, 0x93, 0x67, 0xc6, 0x51, 0xae, 0x94, 0xf7, 0xc5, - 0x20, 0x42, 0x30, 0xe1, 0x1f, 0x2e, 0xdf, 0x82, 0x20, 0x5d, 0xa6, 0x34, 0x35, 0x5a, 0x32, 0xb4, - 0x58, 0x5f, 0x63, 0x56, 0xeb, 0xcf, 0xb3, 0x04, 0xf3, 0x9b, 0x61, 0x6b, 0x44, 0x17, 0xec, 0xc4, - 0xa3, 0xd7, 0xd2, 0x37, 0x6e, 0xf5, 0x45, 0xdb, 0x99, 0x78, 0xcb, 0xc1, 0x92, 0x8d, 0x2d, 0xa6, - 0x50, 0xba, 0x46, 0x2b, 0x0c, 0x87, 0x69, 0xea, 0xe5, 0xdd, 0x14, 0x23, 0x22, 0x1f, 0x9a, 0xc2, - 0xdf, 0x4c, 0x04, 0x58, 0x6b, 0x91, 0x88, 0x77, 0x07, 0xeb, 0xf3, 0x00, 0x86, 0x0b, 0x0a, 0x83, - 0x66, 0xaf, 0xf1, 0x59, 0xce, 0xc7, 0x33, 0x33, 0x33, 0xb1, 0x39, 0x53, 0xc2, 0x06, 0x6e, 0xa2, - 0x6e, 0x1d, 0xb7, 0x94, 0x71, 0x66, 0xfe, 0x60, 0xd9, 0xa2, 0x07, 0x09, 0x84, 0x9c, 0x94, 0x06, - 0xc8, 0xc5, 0xe0, 0x99, 0x17, 0x60, 0x68, 0x05, 0xa4, 0x6b, 0x45, 0xa7, 0x70, 0x63, 0x11, 0x83, - 0x67, 0xa3, 0x13, 0x49, 0x4c, 0x1a, 0x34, 0x19, 0x79, 0x46, 0x8b, 0xf5, 0x92, 0x35, 0x7c, 0x03, - 0xef, 0x81, 0xca, 0x91, 0x2d, 0xdf, 0x06, 0x2a, 0xd4, 0xe8, 0x35, 0x8e, 0x45, 0x86, 0xcb, 0xbd, - 0xb6, 0x6c, 0x14, 0x33, 0xdd, 0xca, 0x45, 0x3b, 0x67, 0xf6, 0x77, 0xc3, 0x0c, 0xf8, 0xc3, 0x8f, - 0xc7, 0x51, 0x4d, 0x5e, 0x96, 0x8b, 0x52, 0x77, 0x02, 0xd7, 0xfe, 0x4c, 0x7b, 0x21, 0x8f, 0x02, - 0x1b, 0x49, 0x00, 0xd3, 0x20, 0x01, 0x08, 0xa7, 0xf1, 0x2a, 0xf5, 0x0f, 0x35, 0x74, 0x39, 0xa2, - 0xe3, 0xa2, 0x6e, 0x74, 0x53, 0x48, 0xa9, 0x01, 0xc2, 0x1c, 0xbf, 0x3c, 0xd5, 0x86, 0x75, 0xe8, - 0x3a, 0xc3, 0x67, 0x8d, 0xe2, 0x7f, 0xb3, 0xc5, 0x71, 0x64, 0x06, 0x21, 0x57, 0x79, 0x48, 0x92, - 0x47, 0x96, 0xb4, 0xda, 0x8c, 0xe6, 0xe8, 0x85, 0x4d, 0x47, 0x10, 0xf0, 0xa7, 0xce, 0xaf, 0x48, - 0x52, 0xbd, 0x32, 0xf7, 0x89, 0xb9, 0xc7, 0xfe, 0x32, 0xc3, 0x16, 0xb4, 0x99, 0xb4, 0x90, 0x39, - 0xeb, 0xb7, 0x40, 0x2e, 0x89, 0xca, 0x32, 0x3f, 0x64, 0xd7, 0x5c, 0x63, 0x4c, 0x07, 0xb1, 0x30, - 0x3f, 0x78, 0x70, 0x8a, 0x44, 0xed, 0x2c, 0xff, 0xcb, 0x8c, 0x88, 0x58, 0xd7, 0xdf, 0x5e, 0x10, - 0x1f, 0x3b, 0xd9, 0x8e, 0x75, 0xeb, 0x9e, 0x26, 0x9e, 0x84, 0xaf, 0x23, 0x11, 0x15, 0x64, 0x2f, - 0x50, 0x0f, 0x97, 0x04, 0xe0, 0x40, 0x2a, 0xf0, 0x09, 0x16, 0x54, 0x20, 0x65, 0xca, 0xac, 0xfb, - 0xa2, 0xa2, 0xd0, 0x3a, 0xd9, 0x7f, 0x87, 0x1f, 0x53, 0xe3, 0x4a, 0xad, 0xdb, 0x31, 0x33, 0x76, - 0xd6, 0x5d, 0xff, 0x01, 0xe9, 0x63, 0x5e, 0x92, 0x10, 0x39, 0x22, 0x3c, 0xa8, 0x6f, 0xec, 0xe3, - 0xa2, 0xe2, 0x1f, 0xf0, 0xba, 0x4c, 0x97, 0x70, 0xd0, 0xb1, 0x1e, 0xe5, 0xd0, 0xfc, 0xfc, 0x70, - 0x5c, 0xae, 0x14, 0xf3, 0x1e, 0x16, 0x64, 0x3c, 0x61, 0xc7, 0xba, 0xa9, 0x3a, 0x6e, 0x6d, 0x17, - 0x22, 0xaf, 0x5e, 0xd6, 0xdd, 0xdf, 0xf6, 0xf1, 0x42, 0x94, 0x53, 0x16, 0x0a, 0x93, 0xcc, 0xb4, - 0x13, 0x02, 0x8c, 0x27, 0x35, 0xf0, 0xb5, 0xa9, 0x13, 0x21, 0x76, 0x83, 0x91, 0x9f, 0x61, 0x44, - 0x90, 0x2e, 0xac, 0x85, 0x0b, 0x35, 0xa8, 0x52, 0x39, 0xea, 0x50, 0x34, 0x60, 0xf7, 0x75, 0x07, - 0x6e, 0xff, 0x3d, 0x16, 0x39, 0x16, 0xda, 0x4e, 0x2c, 0x1a, 0x2b, 0x3e, 0x22, 0x77, 0xe3, 0x81, - 0xa8, 0x50, 0xe2, 0x17, 0x40, 0xae, 0xca, 0x97, 0x5c, 0xd0, 0x3c, 0xc8, 0x37, 0xd8, 0x43, 0xb3, - 0x76, 0xbe, 0x67, 0x9b, 0x88, 0xd3, 0xa1, 0x6c, 0xa5, 0x5f, 0x80, 0xe3, 0xde, 0x7d, 0xe4, 0x5c, - 0x26, 0x92, 0xb3, 0x66, 0x7a, 0xf8, 0x90, 0xdf, 0x0f, 0xe5, 0x50, 0x10, 0x02, 0xd4, 0x59, 0xd0, - 0x19, 0xc9, 0x59, 0x0d, 0x0e, 0xdb, 0x72, 0x88, 0xaa, 0xb0, 0x4c, 0x99, 0xe2, 0x78, 0xdb, 0x4b, - 0x9a, 0x4f, 0x55, 0x82, 0x9a, 0x7b, 0x4d, 0x45, 0x13, 0x22, 0x1f, 0xd9, 0xdf, 0xc0, 0x56, 0x9d, - 0xcf, 0xa6, 0x35, 0x44, 0xe5, 0x78, 0xe9, 0x35, 0xe5, 0x26, 0xbf, 0xb5, 0x92, 0xaf, 0x5a, 0x37, - 0xef, 0x0d, 0xff, 0x2f, 0x7e, 0xf0, 0x1b, 0x32, 0xa6, 0xe9, 0xcd, 0x21, 0xfb, 0xaa, 0x22, 0x48, - 0xf0, 0x95, 0xb2, 0xfe, 0x28, 0x70, 0x84, 0xf9, 0x1b, 0x16, 0xb0, 0x47, 0xde, 0x1b, 0x8b, 0x05, - 0xdb, 0xe1, 0xa2, 0x8d, 0xfd, 0xf2, 0x2e, 0xbe, 0x23, 0x13, 0xc2, 0x21, 0xc8, 0x0b, 0xe5, 0x21, - 0xd8, 0x61, 0xa1, 0xaf, 0x52, 0x32, 0xa2, 0x59, 0x1f, 0x96, 0xe2, 0x44, 0xa0, 0x02, 0xc4, 0x6c, - 0x09, 0xb7, 0x0c, 0xe0, 0xe3, 0x5c, 0xac, 0x90, 0x5f, 0x10, 0x04, 0x8b, 0x2b, 0xf0, 0x7e, 0xbd, - 0x76, 0x09, 0x7c, 0x17, 0xab, 0xf7, 0x65, 0x42, 0xc6, 0x05, 0xaf, 0xdf, 0x52, 0x5c, 0x76, 0x88, - 0x28, 0xb8, 0x3b, 0xd8, 0x06, 0x64, 0xf5, 0xed, 0x80, 0xd9, 0xcc, 0x40, 0xc3, 0xe1, 0x0f, 0x56, - 0xea, 0xcc, 0x99, 0xd7, 0x8a, 0x38, 0xa6, 0x85, 0x8e, 0xdc, 0x86, 0xff, 0x51, 0xdc, 0x41, 0x1b, - 0xc9, 0x0f, 0x6a, 0x7c, 0xc8, 0xd3, 0x5e, 0xc3, 0xdb, 0xae, 0x1c, 0x8f, 0x6b, 0x37, 0xe2, 0x2f, - 0xbb, 0x05, 0xb2, 0x93, 0x4d, 0x18, 0x6f, 0xe4, 0x95, 0x7e, 0xbb, 0x53, 0x39, 0xd5, 0x07, 0x4d, - 0x86, 0xe9, 0x81, 0x28, 0x96, 0x45, 0x8c, 0x53, 0x95, 0x9c, 0x3a, 0x9c, 0x17, 0x0d, 0x32, 0x92, - 0x48, 0xac, 0x86, 0xdc, 0x47, 0x4b, 0x33, 0xf8, 0x9c, 0xd0, 0xbb, 0x43, 0xe3, 0x6b, 0x24, 0x77, - 0xcc, 0x3d, 0x14, 0xd4, 0x80, 0x1a, 0xe1, 0xf4, 0xb9, 0x15, 0x61, 0x77, 0xd4, 0x7b, 0x65, 0x93, - 0xc8, 0x25, 0x59, 0xf6, 0x57, 0x9f, 0xe5, 0xa0, 0x53, 0x5c, 0x08, 0x08, 0xdb, 0x99, 0xe5, 0x78, - 0x9b, 0x40, 0x65, 0x59, 0xab, 0x6b, 0x67, 0x43, 0x42, 0x2e, 0xc6, 0x9d, 0xc5, 0x16, 0xa6, 0x8b, - 0x33, 0xb1, 0x1e, 0xa2, 0x79, 0xba, 0xef, 0x89, 0x98, 0xdb, 0x34, 0xfb, 0xfb, 0xdc, 0x50, 0x2f, - 0xd5, 0x2a, 0xa7, 0x6f, 0x17, 0xf6, 0xc1, 0x27, 0x8a, 0xe9, 0x8c, 0x48, 0x9f, 0xbe, 0x7d, 0x4c, - 0x24, 0x54, 0x1b, 0x43, 0x03, 0x38, 0xe8, 0x9e, 0x18, 0xad, 0xd4, 0x97, 0x7e, 0x24, 0x31, 0x9d, - 0x2b, 0xeb, 0xc5, 0x9c, 0xe4, 0xcb, 0xa6, 0x93, 0x29, 0x26, 0x77, 0x33, 0x1c, 0x56, 0x97, 0xb2, - 0xba, 0xd1, 0xad, 0x58, 0x4f, 0xd5, 0xa2, 0xb8, 0xec, 0x1a, 0x13, 0x50, 0x04, 0x5d, 0x10, 0x83, - 0xbd, 0xe2, 0xb4, 0xf6, 0xf6, 0x3b, 0x8f, 0x1a, 0x12, 0x52, 0x33, 0x60, 0x70, 0x8f, 0x01, 0xd9, - 0x16, 0xa4, 0x9a, 0x5f, 0xcb, 0xd7, 0xc0, 0x4b, 0xb8, 0xfd, 0xc7, 0x3e, 0x0f, 0x07, 0x02, 0xf5, - 0xfb, 0x3f, 0x76, 0xe7, 0x68, 0x3a, 0x90, 0xa5, 0x74, 0xbc, 0x7a, 0x96, 0x44, 0x0c, 0x2d, 0x95, - 0x36, 0xf3, 0xd5, 0x0f, 0xc8, 0x80, 0x04, 0x8c, 0x09, 0xc9, 0x60, 0x80, 0x46, 0x54, 0x75, 0x08, - 0x6a, 0x9a, 0x09, 0x87, 0xe6, 0xaa, 0x69, 0x1c, 0xd9, 0xb1, 0xda, 0x11, 0xb6, 0x51, 0xb9, 0x48, - 0xf9, 0x91, 0x0c, 0x29, 0xd5, 0x47, 0xd5, 0x08, 0xce, 0x5d, 0x59, 0xa8, 0xae, 0x2c, 0xdb, 0xc8, - 0x8d, 0x24, 0x88, 0x9f, 0x5b, 0xfe, 0x0f, 0x9d, 0x6c, 0x17, 0x85, 0x99, 0x30, 0xe7, 0x4a, 0x49, - 0xf3, 0xff, 0x09, 0x94, 0x8c, 0x6e, 0xaa, 0x65, 0x5e, 0x7a, 0x42, 0x58, 0x2c, 0xdf, 0xbc, 0xc5, - 0xb7, 0xb0, 0xf0, 0x2d, 0x84, 0x1d, 0xf0, 0xd6, 0xfc, 0x70, 0x5c, 0xbb, 0x4e, 0x57, 0x5e, 0x58, - 0x41, 0x24, 0x97, 0x7f, 0x08, 0x38, 0xef, 0x20, 0xdf, 0x0c, 0xee, 0x22, 0x6a, 0xf5, 0x5b, 0x9f, - 0x28, 0x47, 0x64, 0x05, 0x8d, 0xae, 0xfe, 0x56, 0x4d, 0x0a, 0x74, 0x43, 0xde, 0x3f, 0xd0, 0x99, - 0x99, 0x39, 0xaf, 0xfb, 0xff, 0x9e, 0x2d, 0xe5, 0x79, 0xf8, 0x18, 0x5a, 0xbe, 0x53, 0xf7, 0xd1, - 0x67, 0x49, 0x9d, 0x40, 0x1a, 0xdc, 0xe2, 0x70, 0xfd, 0x6b, 0x1a, 0x92, 0xb5, 0x89, 0x7b, 0x38, - 0xbd, 0xf2, 0xbe, 0x84, 0xcf, 0xaa, 0x8a, 0xd0, 0x87, 0x28, 0xf4, 0xa0, 0x86, 0xf3, 0x98, 0x9c, - 0x9a, 0x52, 0xf0, 0xc6, 0xbb, 0xf7, 0x4b, 0x6f, 0xf6, 0xbf, 0xbc, 0xec, 0x7b, 0xb0, 0x36, 0xfd, - 0xad, 0x3f, 0x1e, 0x5f, 0x76, 0x07, 0xfd, 0x61, 0x05, 0x8f, 0x6e, 0x34, 0xe2, 0x3e, 0x3c, 0xc3, - 0xda, 0x6d, 0x5e, 0x8f, 0x6b, 0x12, 0x0c, 0xeb, 0x9c, 0xae, 0x1c, 0xcd, 0x7a, 0x2f, 0x97, 0xa0, - 0x98, 0xf5, 0x39, 0x11, 0xde, 0x44, 0x6a, 0x61, 0xaf, 0xb3, 0xab, 0xa1, 0x75, 0x4f, 0x54, 0xe1, - 0x11, 0xa8, 0x13, 0x94, 0xcd, 0x87, 0x25, 0x1f, 0xf1, 0x23, 0x80, 0xed, 0x85, 0x47, 0x59, 0x15, - 0x35, 0xa1, 0xd5, 0x61, 0xae, 0x6e, 0x9c, 0x8e, 0x98, 0x1b, 0xf4, 0xbd, 0xc0, 0xf5, 0xed, 0x26, - 0x3b, 0x39, 0xe1, 0x9c, 0x4f, 0x56, 0x6e, 0x86, 0x2a, 0x6e, 0xec, 0xd4, 0xe2, 0x6d, 0x83, 0xd2, - 0x43, 0x2a, 0xc8, 0x20, 0x78, 0xac, 0x34, 0xa9, 0x83, 0xf3, 0xbb, 0x06, 0x9e, 0xa8, 0x06, 0x52, - 0xf3, 0xf9, 0x7f, 0xf8, 0x5f, 0x9f, 0x2f, 0x07, 0x40, 0xfc, 0x2d, 0x23, 0xa0, 0x00, 0x40, 0x92, - 0x1a, 0x9e, 0x94, 0xc2, 0xd0, 0xdf, 0x0a, 0x87, 0xce, 0x39, 0xde, 0x29, 0xe4, 0x48, 0xbf, 0xd0, - 0x44, 0x16, 0x53, 0x29, 0x7f, 0x1d, 0x78, 0x4c, 0x9a, 0x76, 0x10, 0x70, 0x9c, 0xdb, 0x85, 0xaf, - 0x13, 0xdc, 0x3f, 0x2b, 0xd5, 0x11, 0x7b, 0x82, 0x3b, 0xc2, 0x7b, 0x9b, 0x36, 0x4f, 0x6b, 0x0d, - 0x51, 0xd8, 0x6c, 0x14, 0x33, 0xc1, 0xa2, 0x67, 0xe1, 0x0d, 0xf6, 0xa9, 0x88, 0x48, 0x1e, 0x51, - 0x77, 0x31, 0x32, 0x2b, 0x28, 0xaf, 0x69, 0xf5, 0x91, 0xec, 0x81, 0xa9, 0xdd, 0x7b, 0x92, 0xe7, - 0xbd, 0x30, 0x8f, 0x3b, 0x7c, 0xaf, 0xad, 0xb9, 0x2c, 0x32, 0xbd, 0xbb, 0x69, 0xfe, 0x2a, 0xd0, - 0x4a, 0x35, 0xd5, 0x27, 0x55, 0xac, 0x0d, 0xa5, 0x61, 0x30, 0xca, 0x91, 0xc8, 0xaa, 0xe1, 0x4c, - 0x02, 0xa5, 0xde, 0x21, 0xa8, 0xee, 0x6f, 0x2e, 0x31, 0xa6, 0xf0, 0x2d, 0xe4, 0xc8, 0xb8, 0x99, - 0x9c, 0xd5, 0x5b, 0xc5, 0x2d, 0xb3, 0x0e, 0x4d, 0x95, 0x73, 0x6e, 0x07, 0x96, 0xd1, 0xf7, 0xfb, - 0x24, 0x5c, 0x4c, 0xa5, 0x8a, 0xd8, 0xcf, 0x4c, 0xe7, 0xd8, 0x6f, 0xe6, 0x93, 0x9c, 0xbb, 0x78, - 0xe6, 0x11, 0x65, 0xe3, 0x25, 0x30, 0x3f, 0x03, 0x5e, 0x67, 0x01, 0x4c, 0x94, 0x75, 0x37, 0x00, - 0xe9, 0x27, 0x8b, 0xad, 0xf1, 0x93, 0x6a, 0x3a, 0x4b, 0xdb, 0x87, 0x32, 0x33, 0xe1, 0xe4, 0x80, - 0xe0, 0x25, 0xca, 0x79, 0x4d, 0xad, 0x4a, 0xe5, 0x32, 0x50, 0x74, 0x36, 0x9d, 0x31, 0x6e, 0x26, - 0x23, 0xc1, 0x64, 0xe9, 0x06, 0xa4, 0x87, 0x7e, 0xcd, 0x69, 0x00, 0xd3, 0x33, 0x34, 0xd6, 0xf6, - 0x80, 0xd0, 0xe7, 0x22, 0x85, 0x63, 0x90, 0xf6, 0xf5, 0xc0, 0x47, 0xf7, 0x6f, 0x7d, 0xe9, 0x29, - 0x6a, 0xbe, 0x0e, 0xee, 0xfe, 0x9f, 0x65, 0xec, 0x73, 0x56, 0x18, 0xdf, 0xbe, 0x42, 0x38, 0xc2, - 0x93, 0xfd, 0x2b, 0xc3, 0x69, 0xbd, 0x3c, 0x25, 0xec, 0xcf, 0x2b, 0xd1, 0x3b, 0xcd, 0x53, 0xbe, - 0xd0, 0xde, 0xce, 0x3a, 0x9f, 0xc1, 0x99, 0x12, 0xfd, 0x75, 0xe6, 0xce, 0xbb, 0x04, 0x98, 0x01, - 0x4d, 0xc4, 0x38, 0x26, 0x62, 0xb5, 0xce, 0xf5, 0xc5, 0x03, 0xc7, 0xb8, 0x14, 0xeb, 0xdc, 0x5c, - 0xd9, 0x6e, 0x25, 0x5d, 0xba, 0xcd, 0x0d, 0x91, 0x73, 0xb3, 0x5a, 0xba, 0x32, 0x7d, 0xc0, 0x86, - 0x58, 0x6e, 0x99, 0xe6, 0xf2, 0x13, 0x28, 0xdb, 0x8c, 0x5e, 0xf0, 0x08, 0xa6, 0xa2, 0x64, 0x6b, - 0x3c, 0xc2, 0xb9, 0x31, 0xc0, 0x31, 0x76, 0xc7, 0xef, 0x81, 0xce, 0x98, 0xce, 0x4f, 0xec, 0xf6, - 0x6a, 0xbc, 0x8f, 0x50, 0xaf, 0x90, 0xef, 0xef, 0x21, 0x53, 0xfd, 0xe3, 0x08, 0xfb, 0xf4, 0xe4, - 0xd9, 0x41, 0x24, 0xbb, 0x93, 0x9d, 0xc7, 0x7d, 0x0c, 0x03, 0x6d, 0xa0, 0x2c, 0x12, 0x9c, 0xfc, - 0x3b, 0xe1, 0xe1, 0xb5, 0x8e, 0xc8, 0x98, 0x57, 0x18, 0x3c, 0xe4, 0x2d, 0xd5, 0xb0, 0xd5, 0x41, - 0xf6, 0x20, 0x26, 0x15, 0x9a, 0xb0, 0x9e, 0x27, 0x96, 0xed, 0x2c, 0x1c, 0x38, 0xcd, 0xe9, 0x18, - 0x03, 0x15, 0xee, 0x98, 0x8d, 0x7c, 0x2c, 0xab, 0x4f, 0x46, 0x58, 0x1a, 0xed, 0x8d, 0x76, 0xa2, - 0x1b, 0x67, 0x42, 0x8d, 0xf9, 0x39, 0x85, 0xa9, 0x8a, 0xf5, 0x86, 0xf6, 0x71, 0x68, 0x2b, 0x37, - 0x70, 0x72, 0xa3, 0xb9, 0x2f, 0x94, 0xd4, 0xc1, 0x9d, 0x30, 0x03, 0x14, 0x54, 0x21, 0x0c, 0x6b, - 0x36, 0xb2, 0x46, 0xdd, 0xe8, 0x0f, 0x45, 0xc7, 0x5d, 0x5d, 0xd6, 0x14, 0xe3, 0x4a, 0xad, 0x6e, - 0x29, 0xf8, 0xe8, 0x4b, 0xa7, 0x95, 0x78, 0x88, 0xb5, 0x36, 0x12, 0xfd, 0x50, 0x4d, 0x0a, 0x46, - 0x0d, 0xb2, 0x66, 0x2e, 0xe1, 0x50, 0x85, 0x45, 0x01, 0x59, 0x48, 0xc6, 0xca, 0xa2, 0x3e, 0x06, - 0x57, 0xca, 0xed, 0x7b, 0x51, 0x98, 0xdf, 0x5d, 0x51, 0x40, 0x6f, 0x42, 0x74, 0x69, 0x9b, 0xae, - 0x8a, 0x76, 0x0a, 0x1d, 0x62, 0xeb, 0xeb, 0x54, 0x74, 0xb3, 0x4d, 0x31, 0xd8, 0xd7, 0xbe, 0xe8, - 0x17, 0x58, 0xb3, 0xe4, 0x33, 0xde, 0xc0, 0x97, 0xf8, 0x92, 0x1d, 0x1a, 0x87, 0x12, 0xe3, 0xe9, - 0x71, 0xad, 0xa7, 0xbe, 0x36, 0x67, 0x7d, 0xe4, 0xdc, 0xe0, 0xa9, 0xd2, 0x1b, 0x32, 0x2e, 0xbe, - 0x95, 0x8f, 0x48, 0xdf, 0xf3, 0xe6, 0x2c, 0xcb, 0xc0, 0xf2, 0xeb, 0x19, 0x1a, 0xa3, 0x4f, 0x2c, - 0x29, 0x46, 0xea, 0x0c, 0x38, 0x3f, 0x0e, 0x83, 0x28, 0x08, 0xc0, 0x81, 0x08, 0xe7, 0x8c, 0xcc, - 0x4a, 0x03, 0x00, 0x0c, 0x87, 0x65, 0xb5, 0xcf, 0xca, 0xf8, 0x78, 0xc3, 0x40, 0x2f, 0xfc, 0x73, - 0x3e, 0x2d, 0xe8, 0x67, 0x2f, 0xc7, 0xb9, 0xed, 0x2c, 0x51, 0x4c, 0x7a, 0x99, 0x0e, 0x84, 0x9f, - 0xa4, 0xdc, 0x6f, 0xa8, 0x53, 0x8d, 0x4d, 0x63, 0xf8, 0x87, 0xe6, 0xb6, 0x37, 0xa1, 0x64, 0xea, - 0x5d, 0x3d, 0x20, 0xa7, 0xc0, 0xe3, 0x0d, 0x0c, 0x7f, 0x8b, 0x9f, 0x25, 0xa3, 0x83, 0x2f, 0x3b, - 0xc4, 0x0c, 0x23, 0x43, 0x59, 0x07, 0x13, 0x78, 0xc7, 0x4a, 0x9a, 0x0a, 0x77, 0x63, 0x14, 0x9c, - 0x03, 0x61, 0xef, 0x85, 0x8a, 0x06, 0x8d, 0xff, 0xbf, 0xfc, 0xac, 0x2e, 0xf2, 0x48, 0xf0, 0xf0, - 0x06, 0xf8, 0x6d, 0x5e, 0x18, 0xe4, 0x92, 0xcb, 0x4a, 0xc9, 0x24, 0x9f, 0x1c, 0x0e, 0x80, 0xf3, - 0xad, 0x38, 0x79, 0xaa, 0xb7, 0xe8, 0x05, 0xb5, 0xb7, 0xb0, 0x6f, 0x9c, 0xf2, 0x83, 0x6e, 0x44, - 0xc4, 0xed, 0xf9, 0x41, 0x38, 0xfc, 0x8e, 0x99, 0x97, 0x59, 0x2a, 0x0d, 0x45, 0xfc, 0x02, 0x8d, - 0xc5, 0x7f, 0x46, 0x07, 0x6e, 0xdb, 0xc4, 0x57, 0xcc, 0x50, 0x46, 0xb6, 0x16, 0xbe, 0x4d, 0x9b, - 0xd2, 0x4a, 0x10, 0xd9, 0xaf, 0x56, 0xec, 0xec, 0x43, 0xc4, 0x2b, 0x07, 0xb3, 0x46, 0x07, 0xf3, - 0x0a, 0x3a, 0xe7, 0xac, 0xf5, 0x11, 0xaa, 0x17, 0x94, 0xcc, 0x7d, 0xb7, 0x9c, 0xce, 0xd9, 0xce, - 0x73, 0x39, 0x2e, 0x7b, 0xfe, 0xfd, 0x12, 0x38, 0xed, 0x46, 0x9f, 0x47, 0xb7, 0x44, 0x81, 0xda, - 0x99, 0x82, 0xf2, 0x29, 0x39, 0x5e, 0x8d, 0xb3, 0x4f, 0xc7, 0x68, 0x94, 0xbd, 0xb4, 0x13, 0xa5, - 0x92, 0xa7, 0xb4, 0x78, 0xd2, 0x13, 0xd3, 0xc9, 0x31, 0x4e, 0xa5, 0xaa, 0x8e, 0x86, 0xa2, 0x31, - 0x79, 0x7a, 0x6c, 0x6d, 0xfd, 0xfa, 0x8f, 0xc7, 0x5e, 0xc8, 0x8c, 0x4d, 0x2d, 0xec, 0x60, 0xc4, - 0xc5, 0xe5, 0xba, 0xb9, 0xb5, 0x9b, 0x71, 0x6d, 0xe1, 0x42, 0x62, 0xca, 0x39, 0x3d, 0x00, 0x04, - 0x28, 0x25, 0x02, 0x3e, 0x7d, 0x78, 0x5f, 0xfd, 0x58, 0xb9, 0x2a, 0xed, 0xce, 0x90, 0xca, 0x3d, - 0x77, 0x40, 0xdd, 0xa3, 0x34, 0x10, 0x97, 0xa7, 0x25, 0x94, 0x33, 0xfb, 0x58, 0x3c, 0x49, 0x40, - 0x0d, 0x49, 0x3c, 0xd9, 0xcc, 0x31, 0xea, 0x2f, 0xfa, 0xc4, 0xb2, 0x89, 0xbf, 0x54, 0x9e, 0xf7, - 0x25, 0x13, 0xf4, 0x89, 0x8b, 0xd1, 0xde, 0x72, 0x53, 0x8f, 0xf5, 0xfe, 0x68, 0x5e, 0xa7, 0x84, - 0xd7, 0x67, 0x84, 0x5d, 0xde, 0xe2, 0x1f, 0x6e, 0x74, 0x90, 0x96, 0x2a, 0xaf, 0x9a, 0x15, 0xe4, - 0x95, 0xa0, 0x96, 0x86, 0xf4, 0xd9, 0xfc, 0xe3, 0x32, 0xb1, 0xcc, 0xe0, 0xa3, 0x4d, 0xf7, 0xf3, - 0xe9, 0xf2, 0x45, 0x04, 0xc0, 0x7c, 0xad, 0xbd, 0xe0, 0x54, 0x77, 0x47, 0xf8, 0x4b, 0xe5, 0xc4, - 0x4c, 0xd0, 0xe4, 0x1d, 0xb8, 0x69, 0xff, 0x88, 0xd7, 0x2c, 0x4e, 0xb4, 0x85, 0xc8, 0x16, 0x3c, - 0x4e, 0x1b, 0x32, 0x2b, 0xfe, 0x9f, 0xa6, 0x98, 0x2d, 0x28, 0xf0, 0xcf, 0xda, 0x6f, 0xaf, 0x1b, - 0x98, 0x54, 0x88, 0x2a, 0xf7, 0x71, 0x8b, 0xe1, 0x35, 0xb7, 0xd1, 0xe8, 0xce, 0xa6, 0x25, 0x8e, - 0x49, 0xec, 0xd0, 0x75, 0xbd, 0x50, 0xfe, 0x60, 0x02, 0xd3, 0xe1, 0x35, 0x72, 0x32, 0xe3, 0xed, - 0x95, 0x29, 0x53, 0x58, 0xa8, 0x62, 0x99, 0x48, 0xc3, 0x6e, 0x43, 0x07, 0x03, 0xae, 0xf9, 0x22, - 0xb7, 0x24, 0x12, 0x1e, 0x4d, 0x1b, 0x50, 0x17, 0x62, 0xc2, 0xa0, 0xae, 0x08, 0xa9, 0x0f, 0x27, - 0x13, 0x8d, 0x5c, 0x08, 0x3c, 0x75, 0x25, 0xd3, 0xb5, 0xec, 0xd2, 0x78, 0x28, 0x21, 0x19, 0x9c, - 0x75, 0x4a, 0x19, 0x1c, 0x04, 0x69, 0xfe, 0xc1, 0x1a, 0xdc, 0x05, 0xf5, 0x9a, 0x43, 0xfd, 0x2b, - 0x2c, 0x2c, 0x38, 0x90, 0xf1, 0x4c, 0xe5, 0xd6, 0x18, 0x8a, 0x9f, 0xca, 0xbe, 0x7c, 0x4e, 0xaf, - 0xd1, 0xc6, 0x37, 0xc3, 0x8e, 0xb6, 0xd4, 0x1e, 0x52, 0x47, 0x50, 0x99, 0xb7, 0xc4, 0x8a, 0x6f, - 0x70, 0x55, 0x00, 0x9f, 0x80, 0x3c, 0x2d, 0x6f, 0x32, 0x16, 0xde, 0x4a, 0x90, 0xee, 0x72, 0xc4, - 0x5b, 0x50, 0x1d, 0xd6, 0x19, 0xf5, 0x54, 0x97, 0xe5, 0xb1, 0xa8, 0x85, 0x04, 0xa9, 0x41, 0x0f, - 0x2c, 0x9c, 0x21, 0x53, 0xa0, 0xff, 0x2a, 0x31, 0x53, 0x17, 0xd4, 0x7c, 0x55, 0xbe, 0x74, 0x63, - 0x1e, 0x0b, 0xb0, 0x14, 0xef, 0x60, 0xcd, 0x16, 0xea, 0x50, 0xce, 0xd6, 0x2c, 0xa6, 0x81, 0x0b, - 0x0d, 0x76, 0xd4, 0x23, 0x93, 0xbf, 0xb6, 0xa3, 0x03, 0x4c, 0x57, 0xb8, 0x47, 0xa4, 0x31, 0x70, - 0x7e, 0x9f, 0x4d, 0x95, 0x26, 0xdb, 0xb9, 0xf6, 0x43, 0x5e, 0xea, 0xa7, 0x73, 0x28, 0x26, 0x1b, - 0x7f, 0x7f, 0xaf, 0x68, 0xb2, 0xe2, 0x96, 0xe6, 0xbf, 0x7f, 0x5e, 0xf9, 0xd5, 0xb8, 0x95, 0x80, - 0x1f, 0x18, 0xc1, 0x54, 0xd6, 0x8d, 0x03, 0xc5, 0xe6, 0x73, 0xf8, 0xee, 0x0d, 0xf3, 0x3b, 0x76, - 0xd9, 0x5f, 0xc6, 0x88, 0xd4, 0x07, 0xb7, 0x27, 0x99, 0x84, 0xf6, 0x89, 0xa9, 0xf4, 0xf3, 0x3e, - 0x3f, 0xec, 0x61, 0x3b, 0xeb, 0x24, 0xe4, 0x8e, 0x76, 0x1f, 0x42, 0x69, 0xae, 0x9e, 0xfc, 0x98, - 0xe2, 0xc0, 0x68, 0x15, 0xf0, 0xf8, 0x5a, 0x73, 0xe7, 0xcd, 0x6c, 0x92, 0x3e, 0x26, 0x3a, 0xc7, - 0x4e, 0x23, 0x9e, 0x63, 0x7b, 0x2d, 0x50, 0xe4, 0x14, 0xc8, 0x67, 0x53, 0x15, 0xb1, 0xa5, 0xe0, - 0xe3, 0x40, 0x02, 0x09, 0xbf, 0x75, 0x51, 0xbb, 0x95, 0x89, 0xdf, 0x6e, 0x70, 0x16, 0x34, 0x1d, - 0x42, 0xf3, 0x4e, 0x4d, 0xb1, 0x0a, 0x7f, 0x48, 0xcb, 0x86, 0xb3, 0xd6, 0x2c, 0xf2, 0xf9, 0x27, - 0x66, 0x80, 0x88, 0xea, 0xc4, 0x30, 0x3f, 0xa6, 0x05, 0x84, 0xca, 0x64, 0x34, 0x2b, 0xd6, 0x7e, - 0x27, 0x3c, 0x70, 0xa1, 0xf2, 0x51, 0xcd, 0x2c, 0xc4, 0x8e, 0x5f, 0xbd, 0x3a, 0xd5, 0xb5, 0x7a, - 0xf9, 0x6d, 0x17, 0x4e, 0x34, 0x07, 0x69, 0xab, 0x20, 0x69, 0x5e, 0x61, 0xb3, 0xd7, 0x75, 0xd9, - 0xb5, 0x6b, 0x67, 0x4c, 0x48, 0x9d, 0x9d, 0xbb, 0x78, 0x92, 0x94, 0x81, 0xf6, 0xf6, 0xd8, 0x65, - 0x76, 0xa9, 0xff, 0x1a, 0xc3, 0x21, 0x82, 0x64, 0xf7, 0x29, 0x34, 0xce, 0x0a, 0x11, 0x53, 0x1d, - 0xec, 0xc6, 0x36, 0x32, 0x02, 0x82, 0x7d, 0xde, 0x83, 0xda, 0xac, 0x4f, 0x28, 0x92, 0x01, 0xbe, - 0x16, 0xe1, 0x32, 0xcb, 0xe7, 0xdf, 0x67, 0x8e, 0xc2, 0xd2, 0xbf, 0xbc, 0x60, 0x7f, 0x29, 0xa6, - 0x4b, 0x72, 0x03, 0x85, 0xa0, 0x21, 0x91, 0x3a, 0x4e, 0xad, 0x74, 0x54, 0xb1, 0x4d, 0x61, 0x48, - 0x84, 0xf8, 0x92, 0xc4, 0x88, 0x1c, 0x99, 0xfe, 0x75, 0xbe, 0x62, 0x07, 0xb8, 0x96, 0xeb, 0xbb, - 0xfd, 0x3b, 0x24, 0xcf, 0x9a, 0x50, 0xb9, 0x47, 0xac, 0xea, 0x77, 0xd3, 0xd7, 0x24, 0xf7, 0xe0, - 0xc4, 0x79, 0xf9, 0x04, 0x33, 0xde, 0x97, 0x8a, 0xcf, 0xce, 0x63, 0x55, 0x0a, 0x66, 0x9a, 0xe5, - 0xa6, 0x83, 0x1a, 0xe4, 0x63, 0x56, 0x96, 0xb2, 0x98, 0xcc, 0xb8, 0x16, 0x8f, 0xb4, 0x64, 0x12, - 0x52, 0x5d, 0xbd, 0x54, 0x7b, 0xb0, 0x61, 0x8b, 0x7e, 0xd7, 0xb2, 0x4e, 0xa4, 0x57, 0x33, 0x39, - 0x7c, 0xac, 0x74, 0x29, 0xb6, 0x22, 0x50, 0x6e, 0xee, 0xd1, 0x56, 0x76, 0x76, 0x05, 0xdb, 0xad, - 0x64, 0x25, 0x7d, 0x0f, 0xb9, 0x05, 0xe8, 0xbc, 0x2d, 0x4e, 0x34, 0x74, 0x5a, 0xe3, 0xc3, 0x65, - 0xfe, 0x3a, 0x61, 0xb8, 0xca, 0x95, 0x5f, 0x1e, 0x29, 0xd5, 0x53, 0x40, 0x00, 0x7f, 0x2a, 0xe6, - 0x3e, 0x62, 0x49, 0x14, 0x03, 0x9b, 0x2b, 0x11, 0x76, 0x8d, 0x27, 0x97, 0x5f, 0x19, 0xd6, 0xb9, - 0x74, 0xba, 0x58, 0x42, 0xf3, 0xfa, 0xd7, 0x16, 0xb9, 0xea, 0xa1, 0x09, 0x2e, 0x3a, 0xcf, 0x42, - 0x76, 0x24, 0x74, 0x99, 0x19, 0xe5, 0xfe, 0x4c, 0xb8, 0xbf, 0x03, 0x60, 0x8a, 0x93, 0xaf, 0x29, - 0x59, 0x1c, 0x5c, 0x17, 0xfe, 0xab, 0xdf, 0x18, 0xd8, 0x2d, 0x29, 0xde, 0xed, 0xc4, 0x0e, 0xe1, - 0x72, 0x6a, 0xc7, 0x39, 0x7f, 0x8a, 0x4c, 0x5b, 0x1a, 0x46, 0x56, 0x46, 0x0b, 0x21, 0xc0, 0x83, - 0x46, 0xf4, 0x43, 0xe5, 0xa6, 0x7d, 0xa1, 0xea, 0xd5, 0x5d, 0xcd, 0x91, 0x53, 0xf6, 0x7e, 0x8e, - 0x58, 0x71, 0x0b, 0x5c, 0x4f, 0x5d, 0x54, 0xfa, 0xac, 0x80, 0xe3, 0x71, 0xb5, 0x60, 0x48, 0x44, - 0x54, 0xd0, 0xe5, 0x2f, 0xe4, 0x2e, 0x9e, 0x31, 0xea, 0xc1, 0xb3, 0x48, 0x86, 0x79, 0x1f, 0x2d, - 0x5a, 0x28, 0x36, 0xa6, 0xb7, 0x94, 0x0a, 0xbe, 0xaf, 0x55, 0x8c, 0xe0, 0x80, 0xac, 0xc6, 0x73, - 0xed, 0xe2, 0xa4, 0x47, 0x58, 0xc2, 0xd6, 0x67, 0x10, 0xfd, 0x75, 0xf6, 0x18, 0xb5, 0xb1, 0x52, - 0x8f, 0x1d, 0x22, 0x6d, 0x9a, 0xa8, 0x85, 0x01, 0x89, 0xf6, 0x2e, 0xd7, 0xfe, 0xe8, 0xfe, 0x6a, - 0xd4, 0x05, 0xcd, 0x0f, 0x55, 0xae, 0x77, 0xea, 0xcb, 0x8c, 0x20, 0xc6, 0xe5, 0x2c, 0x7d, 0x1d, - 0xdd, 0x5a, 0x05, 0x4a, 0x99, 0xd5, 0x8b, 0x45, 0x27, 0x62, 0x4c, 0xd0, 0xc6, 0x28, 0x32, 0x17, - 0x2c, 0xe8, 0x1c, 0xc0, 0xc1, 0x9e, 0x16, 0x5a, 0x69, 0x87, 0xb7, 0xc1, 0x91, 0xc8, 0x5f, 0xb6, - 0x33, 0x39, 0xaf, 0x94, 0x0c, 0xd3, 0x00, 0x25, 0xe4, 0x25, 0x93, 0xb3, 0x01, 0xec, 0x71, 0xd7, - 0xa2, 0x8e, 0x58, 0x84, 0xdc, 0x4f, 0xf9, 0x34, 0xee, 0xbe, 0x99, 0x39, 0xfb, 0xbf, 0xa0, 0x57, - 0x3e, 0xb1, 0x54, 0x47, 0xa8, 0x34, 0x12, 0x40, 0x84, 0x06, 0x39, 0xef, 0x65, 0xe0, 0xa8, 0x3a, - 0x70, 0x8f, 0xe4, 0x9c, 0xac, 0xe4, 0x2c, 0x60, 0x29, 0xf5, 0x67, 0x9a, 0xcb, 0x94, 0xbe, 0x43, - 0xe4, 0xa0, 0x1b, 0xd6, 0x95, 0x3e, 0xeb, 0xa7, 0x3a, 0x05, 0x32, 0x3f, 0xc7, 0xa8, 0xae, 0xe4, - 0xfe, 0xb3, 0xf2, 0x58, 0x98, 0x69, 0x57, 0xb3, 0xb6, 0xb7, 0xb7, 0x70, 0x62, 0x63, 0xc6, 0x29, - 0x9e, 0xfa, 0x1b, 0x1a, 0x58, 0x63, 0x09, 0x13, 0x2e, 0x66, 0x33, 0xda, 0x4b, 0xff, 0x93, 0x5a, - 0x9d, 0xab, 0x0b, 0x5d, 0x41, 0xf9, 0x4f, 0xe7, 0x34, 0x9e, 0x22, 0x64, 0xb1, 0x0e, 0x8c, 0xe7, - 0xeb, 0xb3, 0xf0, 0xa7, 0x17, 0xe6, 0xc4, 0x33, 0x46, 0x84, 0x26, 0x8a, 0xbc, 0x65, 0xeb, 0xf1, - 0x24, 0xc1, 0xa3, 0xd5, 0x38, 0xd7, 0xdf, 0x34, 0x5e, 0xdc, 0x3c, 0xb4, 0x05, 0xc0, 0xa9, 0x5f, - 0x8d, 0xa5, 0x9d, 0x99, 0xd1, 0xd1, 0x77, 0x18, 0xfb, 0x4a, 0x75, 0x0c, 0x8b, 0x97, 0x9c, 0xdc, - 0x2d, 0x91, 0x8d, 0xab, 0x2f, 0xf7, 0xd7, 0xc3, 0x55, 0xfa, 0x3c, 0x4c, 0xd6, 0xd1, 0x73, 0x0d, - 0x43, 0xb6, 0xbd, 0xc1, 0x26, 0xbc, 0xdf, 0xdc, 0xc5, 0x9a, 0x92, 0x06, 0xe9, 0x28, 0xe6, 0x9a, - 0x96, 0xec, 0x5e, 0x9a, 0x82, 0x74, 0x91, 0x89, 0xb6, 0x6e, 0x25, 0xbc, 0x4d, 0x13, 0xdd, 0xdd, - 0x36, 0x7e, 0xb6, 0xc3, 0x80, 0x60, 0xb2, 0x35, 0x74, 0xdc, 0x64, 0x31, 0xc5, 0x42, 0xb1, 0x8a, - 0x4b, 0xa0, 0xdf, 0x21, 0x01, 0x56, 0x47, 0x18, 0x98, 0x48, 0x4b, 0xd7, 0xd4, 0x7b, 0x04, 0x87, - 0xcb, 0x14, 0x19, 0xf6, 0xd1, 0xb5, 0x81, 0xef, 0x26, 0x0a, 0x43, 0xe2, 0xea, 0x63, 0x9d, 0x55, - 0x23, 0xfd, 0x3d, 0xcb, 0x3e, 0x0d, 0x4c, 0xa4, 0x16, 0xae, 0x57, 0x20, 0x56, 0xc3, 0x77, 0x4d, - 0x9e, 0x1f, 0x15, 0x09, 0x38, 0x4a, 0x6a, 0x99, 0x12, 0x25, 0xcc, 0xa2, 0xf6, 0xb3, 0x4b, 0x11, - 0xbe, 0x98, 0x9c, 0xe3, 0x93, 0x1a, 0xc7, 0x65, 0xa1, 0x6c, 0x2e, 0x7b, 0x71, 0x30, 0x3d, 0x85, - 0x51, 0xdc, 0x9a, 0x1f, 0x9f, 0x58, 0x88, 0xaf, 0xbb, 0x63, 0x0e, 0x92, 0xe5, 0xda, 0x80, 0xcb, - 0x56, 0x9a, 0xfd, 0x37, 0x04, 0xf1, 0x4c, 0x06, 0xbe, 0x62, 0x00, 0x6f, 0x40, 0x6f, 0x4f, 0xe8, - 0x31, 0x9a, 0x39, 0xb6, 0x0c, 0x54, 0x06, 0x9a, 0x5a, 0x88, 0xb3, 0x16, 0x61, 0x11, 0xea, 0xa0, - 0x9b, 0xac, 0xd9, 0x82, 0xda, 0x17, 0x9e, 0xf9, 0xde, 0xd2, 0x43, 0x6b, 0xe9, 0x28, 0xa8, 0x9d, - 0xbf, 0x82, 0x56, 0x16, 0x5e, 0x8a, 0x9f, 0x71, 0xa7, 0x73, 0xdb, 0x1b, 0x22, 0x07, 0x55, 0x13, - 0x2e, 0xef, 0xe7, 0x1f, 0x70, 0xcd, 0x56, 0x37, 0x34, 0xf9, 0x99, 0x14, 0xa3, 0xb3, 0xac, 0x37, - 0xde, 0x1e, 0x9d, 0xad, 0xf6, 0xb7, 0x7b, 0x67, 0x88, 0x77, 0x7a, 0xd7, 0x46, 0x09, 0xe7, 0xf0, - 0x10, 0xc0, 0xf3, 0xab, 0xcf, 0x31, 0xa7, 0x7a, 0x5d, 0xd1, 0x09, 0x7a, 0x62, 0xc2, 0x17, 0xc0, - 0x31, 0xf7, 0xe3, 0x44, 0xc3, 0xa0, 0xa4, 0x8d, 0x25, 0xf4, 0x71, 0xde, 0xf1, 0x67, 0x67, 0x87, - 0xff, 0x26, 0x3c, 0x80, 0x4c, 0xb0, 0x42, 0x64, 0xc0, 0x47, 0x4a, 0x98, 0x95, 0x96, 0x0f, 0xc7, - 0x04, 0xc0, 0x1e, 0x1b, 0xb7, 0x35, 0x8b, 0x79, 0x99, 0x35, 0xe3, 0xd5, 0x98, 0xcc, 0xf2, 0xf7, - 0xda, 0x35, 0x60, 0xfe, 0x71, 0x02, 0x8d, 0xd8, 0x6a, 0x1d, 0x3b, 0x62, 0xd4, 0xbf, 0xad, 0x62, - 0xec, 0xbc, 0x2d, 0x1e, 0x78, 0xe0, 0xe5, 0x98, 0x12, 0x95, 0x84, 0xc7, 0xe5, 0x2b, 0x2f, 0xbe, - 0xa4, 0xce, 0x9a, 0xd0, 0xb5, 0xdb, 0xb6, 0xaa, 0x2b, 0x31, 0xeb, 0xad, 0x20, 0x95, 0xdc, 0xdf, - 0x2a, 0x1b, 0xf6, 0x22, 0x43, 0x18, 0x0d, 0x8f, 0x44, 0x34, 0xcf, 0x19, 0xba, 0xe7, 0x56, 0xc0, - 0x59, 0x28, 0xcf, 0x7b, 0x83, 0xfa, 0x6b, 0x05, 0xfa, 0x17, 0x8c, 0x8c, 0x71, 0x1a, 0x65, 0xbc, - 0x71, 0x3c, 0x4c, 0x63, 0x3e, 0x25, 0xf7, 0x1e, 0xd2, 0xca, 0x1a, 0x7d, 0xe4, 0x94, 0x07, 0xa7, - 0x48, 0xee, 0x52, 0xcc, 0x6b, 0x72, 0x2d, 0x7f, 0xb7, 0xc1, 0xbf, 0x2b, 0xe5, 0xb6, 0x58, 0x5d, - 0x2c, 0x3b, 0xec, 0x64, 0x67, 0xfb, 0x74, 0x58, 0x5d, 0xc4, 0xe7, 0x4b, 0x16, 0x01, 0x21, 0xde, - 0x12, 0x5c, 0xc8, 0x1d, 0xbb, 0x0f, 0xc0, 0x81, 0xb3, 0x9b, 0xc3, 0x9b, 0x31, 0xd4, 0x95, 0xf9, - 0x68, 0x51, 0xe3, 0x4b, 0x13, 0xb4, 0x05, 0x3f, 0xfe, 0x7c, 0x54, 0xcb, 0xd5, 0x1a, 0x38, 0x58, - 0xff, 0x7d, 0x76, 0x07, 0x4e, 0xa7, 0xa5, 0x2d, 0x26, 0x31, 0x59, 0x35, 0x27, 0x4c, 0x52, 0xae, - 0xa5, 0x44, 0x03, 0x1e, 0xfb, 0x64, 0x3d, 0x83, 0xa3, 0x5e, 0x43, 0xdf, 0x07, 0xc1, 0x20, 0x69, - 0xd4, 0x67, 0xde, 0x3f, 0x8c, 0xe5, 0xf9, 0xa5, 0x51, 0x06, 0x99, 0x50, 0x4f, 0xfa, 0x66, 0xe6, - 0xf8, 0x0c, 0x94, 0xc1, 0x35, 0xa7, 0x65, 0xaf, 0x92, 0x0c, 0x8c, 0xb9, 0x95, 0x2a, 0x28, 0xb3, - 0x04, 0x26, 0x55, 0x6d, 0x7f, 0x3d, 0xdf, 0xc4, 0x35, 0x01, 0x64, 0x5e, 0xbc, 0x2a, 0x3b, 0xf8, - 0x46, 0xf3, 0xe4, 0x10, 0x19, 0x47, 0x79, 0x6b, 0xfc, 0xe0, 0x3a, 0xe7, 0xdd, 0x26, 0xe9, 0x82, - 0x49, 0x3e, 0x0e, 0x57, 0x3c, 0xe6, 0x5a, 0xe7, 0xc2, 0x9f, 0x45, 0x4e, 0x66, 0xdf, 0x90, 0xa1, - 0x90, 0x7b, 0x22, 0xff, 0x61, 0xbc, 0xb7, 0xd6, 0xf7, 0x9c, 0xf3, 0x4e, 0x96, 0x23, 0x86, 0xb4, - 0x34, 0xf7, 0xdb, 0xbe, 0x8f, 0xc6, 0x10, 0x53, 0x2a, 0x9b, 0x5c, 0x5a, 0x26, 0x5f, 0x4f, 0xb4, - 0xf4, 0x74, 0x99, 0x34, 0x87, 0xcb, 0x07, 0x3a, 0x93, 0x98, 0x3d, 0x59, 0xd2, 0x4e, 0xc1, 0xf1, - 0x85, 0xee, 0x0d, 0x9c, 0xce, 0x76, 0x84, 0x84, 0x50, 0x77, 0x73, 0x62, 0xc6, 0x35, 0x7b, 0xe4, - 0x30, 0x7c, 0xd0, 0xe1, 0x88, 0x64, 0xd3, 0xe7, 0xc0, 0xe8, 0xca, 0x3b, 0x47, 0xd2, 0x5c, 0xef, - 0x00, 0xc2, 0x0a, 0x0a, 0xa7, 0xd5, 0x74, 0x76, 0x24, 0x8e, 0xb6, 0xdf, 0xc1, 0x1e, 0x2c, 0x63, - 0x55, 0x95, 0xc9, 0xb2, 0x23, 0xd6, 0x81, 0xaa, 0xbf, 0x54, 0xe6, 0xa2, 0x5b, 0xe2, 0x59, 0xc5, - 0x00, 0x8b, 0xda, 0x02, 0xf7, 0xb6, 0xf7, 0x60, 0xe2, 0x30, 0x7c, 0xfc, 0xb5, 0x09, 0x78, 0x0d, - 0x2c, 0x71, 0xdb, 0x43, 0xd1, 0x1e, 0x0a, 0xd0, 0x6b, 0xce, 0x08, 0x8f, 0xeb, 0x45, 0x4f, 0x81, - 0x0a, 0x79, 0x6f, 0x9c, 0x2a, 0xc2, 0x72, 0x5a, 0xf4, 0xb2, 0x18, 0xc4, 0xaa, 0x1d, 0xd6, 0x85, - 0x87, 0x79, 0x02, 0x51, 0xe8, 0x18, 0x27, 0x0f, 0xaf, 0x42, 0x48, 0xf4, 0x3e, 0x37, 0xf9, 0x9f, - 0xe5, 0xc2, 0x7f, 0x7f, 0x3f, 0x09, 0x11, 0x77, 0xa6, 0x7f, 0x05, 0x64, 0x4c, 0x4f, 0x49, 0xff, - 0xcf, 0x7c, 0x00, 0x9c, 0x86, 0xe7, 0x0a, 0x7c, 0x05, 0x2a, 0xeb, 0x8d, 0x99, 0xda, 0xd8, 0xfa, - 0x70, 0x40, 0x02, 0x5b, 0x3d, 0x04, 0x78, 0xcf, 0xf5, 0xe0, 0xb6, 0x0b, 0x78, 0xa8, 0x60, 0x83, - 0x9c, 0xcd, 0x20, 0x93, 0x90, 0xb8, 0x57, 0x02, 0xb8, 0x78, 0x1e, 0xb0, 0x0d, 0xf1, 0xfa, 0xcb, - 0x12, 0x51, 0x54, 0xa5, 0x71, 0x5a, 0x1c, 0x4a, 0x28, 0x9e, 0xed, 0x30, 0x67, 0x84, 0xe9, 0x8b, - 0xed, 0x61, 0x1c, 0xfb, 0x6c, 0x85, 0xcc, 0x1d, 0xf5, 0xde, 0x29, 0xba, 0xc5, 0x63, 0x08, 0x07, - 0xdd, 0x5e, 0x57, 0xff, 0xa1, 0x99, 0x4e, 0xa7, 0xbd, 0xfa, 0x87, 0xbc, 0x90, 0x67, 0x1f, 0xe0, - 0x11, 0x0e, 0xbb, 0x76, 0x21, 0xdd, 0xf6, 0xb0, 0x5c, 0x42, 0xbe, 0x77, 0x46, 0x5c, 0xd7, 0xd5, - 0x11, 0x8c, 0x5b, 0xd6, 0x7b, 0x96, 0x07, 0x3f, 0xf7, 0x46, 0xa1, 0xee, 0xdc, 0x73, 0x0a, 0xcc, - 0x2b, 0xc8, 0xe4, 0x7e, 0x0a, 0x59, 0xec, 0xd0, 0xab, 0x9a, 0x6f, 0x7e, 0xc0, 0x70, 0x86, 0x50, - 0xa0, 0x52, 0x85, 0x46, 0x06, 0xa7, 0x97, 0x37, 0x0a, 0x73, 0xe4, 0x6c, 0xe5, 0x63, 0x6c, 0x0b, - 0x2e, 0x23, 0xc5, 0xdc, 0xfb, 0x43, 0xa6, 0x1f, 0x9c, 0x95, 0x0e, 0x85, 0x5c, 0x28, 0x87, 0xa8, - 0x7a, 0xf8, 0xed, 0x59, 0xa3, 0x37, 0x3f, 0x38, 0x19, 0x3c, 0x14, 0x91, 0x75, 0x88, 0x0a, 0x9a, - 0x74, 0xfa, 0xa5, 0x74, 0xf1, 0xe3, 0x54, 0xd2, 0x62, 0x12, 0x72, 0xc6, 0xea, 0xb3, 0xe5, 0x5f, - 0x4d, 0xdc, 0x41, 0x7a, 0x95, 0x83, 0x64, 0x41, 0xa4, 0x69, 0x51, 0xa7, 0x16, 0x22, 0x73, 0x80, - 0xb9, 0x6e, 0xdc, 0x62, 0xb7, 0xaf, 0x40, 0xc4, 0x51, 0x99, 0xb9, 0xcd, 0x7f, 0xbc, 0xb9, 0xfa, - 0x7b, 0x10, 0xc0, 0x7d, 0x57, 0x88, 0x96, 0xc2, 0x59, 0x52, 0xe5, 0x85, 0xfc, 0x2a, 0x51, 0x5d, - 0xb3, 0xa8, 0x7a, 0xcb, 0x6f, 0xda, 0x8b, 0xb1, 0x2a, 0xe9, 0x69, 0x34, 0x51, 0x52, 0x66, 0x6f, - 0xc3, 0x76, 0x3c, 0x26, 0x19, 0x5e, 0x88, 0x39, 0xb4, 0x88, 0x36, 0x61, 0x43, 0x7f, 0x36, 0x5b, - 0xad, 0x1f, 0xc5, 0x16, 0x14, 0xc9, 0xb8, 0x6f, 0x07, 0x8e, 0x87, 0x21, 0x0a, 0xe3, 0xa6, 0xc2, - 0x12, 0x8d, 0xae, 0x55, 0x72, 0xe9, 0xaf, 0x8e, 0xc0, 0xf0, 0x78, 0x5a, 0xce, 0x81, 0xaf, 0xea, - 0x0e, 0x74, 0x1b, 0x0d, 0x08, 0x22, 0xb2, 0xb6, 0x82, 0x96, 0x16, 0xa8, 0x6a, 0x1b, 0x35, 0xdf, - 0xac, 0x5c, 0x07, 0xcd, 0x45, 0x00, 0x3b, 0x8d, 0x7f, 0x70, 0x16, 0xd8, 0xff, 0x45, 0xe4, 0x98, - 0x3c, 0x0b, 0xe8, 0xe0, 0x98, 0xcd, 0xdf, 0x0e, 0x57, 0x39, 0x3a, 0xba, 0x3c, 0x2d, 0x55, 0x4a, - 0x69, 0x08, 0x12, 0xc1, 0xe2, 0xbe, 0x30, 0xd7, 0xd9, 0x1b, 0xbd, 0x82, 0x0d, 0xcf, 0x5e, 0x49, - 0xa8, 0xe9, 0x54, 0x61, 0x3d, 0x77, 0x53, 0x2e, 0x4a, 0xf5, 0x29, 0xfe, 0x96, 0xd9, 0xbe, 0xa9, - 0x8f, 0x77, 0x95, 0x64, 0x3b, 0x22, 0x5e, 0x3b, 0x7d, 0x3c, 0xfd, 0x91, 0x6a, 0x9e, 0xdb, 0x73, - 0x74, 0xd2, 0x4a, 0xc1, 0xf8, 0x9e, 0xbd, 0xfd, 0x48, 0x1d, 0x01, 0x77, 0xc2, 0x98, 0xfb, 0xf9, - 0x8d, 0xb7, 0xeb, 0xb2, 0x22, 0x14, 0xd6, 0x53, 0x9b, 0xe1, 0x05, 0x1d, 0x1a, 0xb0, 0x2c, 0xb4, - 0x70, 0xa5, 0xe9, 0x97, 0x92, 0xa2, 0xdd, 0x9a, 0x62, 0x49, 0xb1, 0x57, 0xa1, 0x30, 0x3d, 0x11, - 0xbe, 0x46, 0x1b, 0xa9, 0xaf, 0x1d, 0xf3, 0x30, 0x8c, 0xcd, 0x90, 0x29, 0xd6, 0x45, 0xb4, 0xa4, - 0xb0, 0xab, 0x8e, 0x55, 0xad, 0x31, 0x60, 0x1d, 0x57, 0xac, 0x07, 0xe2, 0xc1, 0x92, 0xd0, 0x8d, - 0x27, 0xd0, 0x39, 0x34, 0xd8, 0x10, 0xda, 0xe0, 0xee, 0x8a, 0xdb, 0xfd, 0x5b, 0x92, 0x95, 0xf0, - 0x75, 0xbc, 0xca, 0x8d, 0xa0, 0x39, 0x06, 0x25, 0x98, 0x72, 0x0f, 0x15, 0x61, 0xfe, 0x25, 0xf2, - 0xf7, 0xad, 0x20, 0xae, 0x82, 0x5f, 0x78, 0xa2, 0xca, 0x84, 0x2b, 0xfd, 0x8e, 0x60, 0x00, 0x43, - 0xb0, 0x8a, 0xd8, 0xda, 0x4e, 0xf5, 0x5f, 0xda, 0x94, 0x9f, 0x66, 0x1b, 0xd5, 0x66, 0xf4, 0x00, - 0x78, 0xf8, 0xce, 0x60, 0x9b, 0x8f, 0x04, 0x4e, 0x59, 0x87, 0xea, 0xb2, 0xb2, 0x3e, 0xab, 0xf0, - 0x0f, 0x39, 0x65, 0x01, 0x06, 0xe1, 0x4a, 0xa7, 0x71, 0x60, 0x5c, 0xaa, 0x1d, 0xeb, 0x13, 0x76, - 0x25, 0x7e, 0x1a, 0xa9, 0x14, 0xfe, 0x90, 0x4d, 0xdd, 0x9a, 0x0c, 0x49, 0x3a, 0xc2, 0x23, 0xcd, - 0xfd, 0x9b, 0xbe, 0x37, 0x06, 0xc2, 0xf8, 0xc9, 0xdd, 0x2a, 0x3b, 0x39, 0x74, 0x36, 0xbd, 0x30, - 0x01, 0x47, 0x28, 0x20, 0x3b, 0xde, 0x6f, 0x71, 0xfa, 0x0b, 0xd9, 0x8b, 0x8f, 0x1f, 0x6f, 0x36, - 0x87, 0x14, 0xd8, 0x39, 0xdf, 0x03, 0x78, 0x42, 0x3c, 0x8b, 0xbf, 0xfd, 0x4a, 0x6a, 0x4c, 0x15, - 0x90, 0xe1, 0x80, 0xdf, 0x30, 0xb2, 0x86, 0x97, 0xcd, 0x49, 0x08, 0xa1, 0x06, 0x90, 0x65, 0x7a, - 0x47, 0xe9, 0xfd, 0x1c, 0x03, 0x8b, 0xf2, 0xbf, 0xa0, 0xb2, 0xb0, 0xaf, 0xc7, 0xcf, 0xa9, 0xbf, - 0x05, 0x35, 0xbb, 0x66, 0x32, 0xc2, 0x0a, 0xb1, 0x0f, 0x38, 0x8d, 0x21, 0x43, 0xac, 0x50, 0xa7, - 0xef, 0xfb, 0x93, 0xad, 0x87, 0xfa, 0xa2, 0xc1, 0x61, 0x83, 0xb2, 0x91, 0x92, 0x23, 0x64, 0x80, - 0x7f, 0xa0, 0xa5, 0x40, 0xa9, 0xcf, 0x78, 0x1a, 0x6a, 0xe2, 0x64, 0xc5, 0x81, 0x05, 0xfe, 0xf2, - 0xa4, 0x06, 0xbb, 0xd4, 0x67, 0x60, 0xa6, 0xb3, 0x62, 0x8f, 0xb6, 0x5a, 0xe8, 0xc1, 0x8a, 0x5c, - 0x93, 0x0e, 0xa9, 0x94, 0x87, 0x0e, 0xb6, 0x23, 0xd5, 0x13, 0x00, 0x45, 0xf8, 0x5a, 0x31, 0x89, - 0xcc, 0xc2, 0x76, 0xaa, 0xc8, 0xbe, 0xb7, 0x06, 0xad, 0x1a, 0xd8, 0x3f, 0x74, 0x1c, 0xd2, 0x6b, - 0xdc, 0xa7, 0xae, 0xed, 0x05, 0x27, 0xc9, 0xbe, 0x2b, 0x63, 0xce, 0x19, 0x8d, 0x07, 0x77, 0xc7, - 0x78, 0x19, 0x18, 0x4e, 0x67, 0xb1, 0x8b, 0x41, 0xeb, 0x83, 0xc4, 0xf6, 0xf9, 0xc8, 0x33, 0xd7, - 0x68, 0xe1, 0x97, 0x6e, 0x90, 0x23, 0x57, 0x49, 0x4d, 0x32, 0x49, 0x36, 0x0b, 0x54, 0x15, 0x28, - 0xb9, 0xb1, 0x63, 0xd4, 0x49, 0x9d, 0x5f, 0x21, 0x85, 0xc6, 0xb9, 0xb3, 0x2a, 0xd3, 0x03, 0x98, - 0x00, 0x01, 0x53, 0x69, 0x12, 0xb0, 0x62, 0x0b, 0x1e, 0x46, 0x0e, 0xad, 0x16, 0x0e, 0x7c, 0xa0, - 0x25, 0x39, 0x56, 0xd1, 0xc8, 0x6b, 0xbe, 0xf8, 0xd0, 0x94, 0x8c, 0x52, 0xff, 0x24, 0x78, 0xe2, - 0xa3, 0x93, 0x85, 0x7c, 0x0c, 0xc2, 0xe6, 0xa3, 0xf2, 0xc9, 0xb8, 0x5e, 0x21, 0x23, 0x5e, 0x24, - 0xb5, 0x45, 0x45, 0x9b, 0x7a, 0xd9, 0xd0, 0xf0, 0x66, 0x41, 0xea, 0x8c, 0xfb, 0xd6, 0x99, 0x33, - 0x92, 0x6b, 0x87, 0x2e, 0x90, 0xbb, 0xdd, 0x3f, 0x53, 0x61, 0xd9, 0xa3, 0x69, 0x5f, 0xab, 0x1b, - 0xd8, 0x6a, 0x4a, 0x9a, 0x90, 0x44, 0x18, 0xff, 0xd5, 0x24, 0x6e, 0x7a, 0x80, 0xcc, 0x7c, 0x80, - 0xd4, 0x75, 0x09, 0xb2, 0x6e, 0x63, 0x0c, 0xee, 0x21, 0x53, 0x4c, 0x4e, 0x30, 0x54, 0x5f, 0x69, - 0xf6, 0xf9, 0x27, 0xdb, 0xbd, 0x78, 0x68, 0xa3, 0x4d, 0x98, 0x46, 0xc4, 0x35, 0x75, 0x08, 0x7b, - 0x2f, 0x61, 0xb3, 0x8f, 0xa4, 0x57, 0xc2, 0x49, 0xc5, 0x19, 0xcf, 0xf4, 0x42, 0x18, 0x73, 0x6c, - 0xc4, 0xa1, 0xfe, 0x47, 0x01, 0xd1, 0xad, 0x23, 0x85, 0x05, 0xcd, 0xce, 0xad, 0x76, 0x4a, 0x4e, - 0x3f, 0xdf, 0xd8, 0x4d, 0xfa, 0x87, 0xde, 0xc5, 0x0d, 0x47, 0x28, 0x95, 0x2a, 0x5a, 0x67, 0x47, - 0x7e, 0x04, 0xbd, 0x60, 0xee, 0x8c, 0xb9, 0xea, 0xae, 0xe6, 0xce, 0x82, 0x51, 0x02, 0xdb, 0x20, - 0xb9, 0xc1, 0x3c, 0x43, 0x30, 0x15, 0xe5, 0x84, 0x46, 0x9d, 0x57, 0x6f, 0xf9, 0x54, 0xaa, 0x11, - 0xb1, 0x60, 0xeb, 0xbd, 0x0a, 0x0c, 0x18, 0xf7, 0x9b, 0x89, 0xcd, 0x46, 0x1a, 0x49, 0x00, 0xc8, - 0xe6, 0x01, 0x7a, 0x20, 0x31, 0x69, 0x16, 0xd4, 0x35, 0x5d, 0xa4, 0xcb, 0x5b, 0x2a, 0xff, 0x50, - 0x9d, 0x6a, 0x33, 0x02, 0x99, 0xf1, 0x14, 0xe3, 0x74, 0x49, 0xbe, 0x1d, 0xdc, 0xbc, 0xd8, 0x12, - 0x1d, 0xe1, 0xc3, 0xae, 0x80, 0x67, 0xfe, 0x01, 0x84, 0x0c, 0xa2, 0xf1, 0xfa, 0xd9, 0xab, 0xa9, - 0x0f, 0xbd, 0x81, 0x82, 0xf6, 0x4a, 0x84, 0xb3, 0x37, 0xdd, 0x10, 0x86, 0x2c, 0xfd, 0xa5, 0xde, - 0x9b, 0xfe, 0x15, 0x77, 0x32, 0xbc, 0xb0, 0xbf, 0xe0, 0xa3, 0x2f, 0xd0, 0xdf, 0x53, 0x8e, 0xf5, - 0xe4, 0xb3, 0x4b, 0x74, 0xb5, 0x73, 0x17, 0x94, 0x70, 0xc4, 0x2a, 0x86, 0x8f, 0x9d, 0x63, 0x6a, - 0x4d, 0x3e, 0x0d, 0xb1, 0x61, 0x61, 0x1e, 0x33, 0xb7, 0x3f, 0x7b, 0x47, 0xe2, 0x55, 0x2e, 0x22, - 0x2f, 0xe2, 0x19, 0xc2, 0x11, 0xe5, 0x99, 0x51, 0xfc, 0xf5, 0xef, 0x0b, 0x5d, 0x02, 0x1f, 0x35, - 0x4d, 0x20, 0xdc, 0xab, 0xe8, 0xd4, 0x7b, 0x77, 0x58, 0x46, 0x1d, 0x9f, 0x1c, 0xd7, 0x67, 0x25, - 0xdf, 0xbe, 0x20, 0x1e, 0x10, 0xb2, 0xe6, 0xba, 0x81, 0xf3, 0x79, 0x8e, 0xe3, 0x94, 0xd4, 0x66, - 0xdc, 0x82, 0xcd, 0x19, 0x8d, 0x44, 0x6b, 0xe5, 0x36, 0x7b, 0x0f, 0x66, 0x17, 0x4a, 0x9a, 0xf2, - 0xe3, 0x60, 0xbe, 0xde, 0xe7, 0xe9, 0x48, 0x56, 0xe7, 0x41, 0xe6, 0x4e, 0xef, 0x5c, 0x6e, 0xce, - 0x36, 0xa2, 0x2a, 0xf9, 0x6d, 0xf8, 0x3a, 0xca, 0x9a, 0xdf, 0xf8, 0xac, 0xeb, 0x21, 0x98, 0xc0, - 0x2f, 0x43, 0xf7, 0x64, 0x03, 0xe7, 0xf9, 0xbb, 0x16, 0x80, 0x03, 0xcf, 0x7f, 0x0d, 0xf1, 0xab, - 0xbc, 0x27, 0x51, 0x2e, 0xa5, 0x3c, 0x1c, 0xfd, 0x66, 0x1f, 0xbf, 0x98, 0x07, 0x4d, 0x9e, 0x17, - 0x96, 0x94, 0xf5, 0x7c, 0xfb, 0xc7, 0x2e, 0xa5, 0xb2, 0x2c, 0x6a, 0x2d, 0xad, 0x6c, 0x9a, 0x65, - 0xb2, 0xb1, 0x95, 0x00, 0xdd, 0x0a, 0x92, 0x31, 0x9d, 0xad, 0x89, 0xa9, 0x26, 0x10, 0x5a, 0xa6, - 0x27, 0x1f, 0x12, 0x4d, 0x49, 0x0d, 0xba, 0x93, 0xb8, 0x8e, 0x98, 0xbf, 0x32, 0xf6, 0xc5, 0x37, - 0xa3, 0x21, 0x45, 0xd6, 0x36, 0x61, 0x68, 0x83, 0xae, 0x1b, 0x86, 0x84, 0x6c, 0x09, 0x73, 0x54, - 0xeb, 0x83, 0xee, 0x46, 0xd0, 0xa8, 0x7a, 0x03, 0x03, 0x06, 0x9f, 0xea, 0x2b, 0x5e, 0x90, 0x9d, - 0xbf, 0xf0, 0xfa, 0x72, 0x42, 0xda, 0x15, 0xd6, 0x07, 0x4b, 0x22, 0x7b, 0x4a, 0x34, 0x53, 0xd5, - 0x33, 0x6f, 0x9c, 0x21, 0x5f, 0x17, 0xac, 0x9d, 0x03, 0x65, 0xf1, 0xc4, 0xf3, 0x34, 0xec, 0xf5, - 0x65, 0x50, 0xf2, 0x34, 0xc9, 0xbf, 0xf0, 0xa9, 0x7e, 0x21, 0x13, 0x59, 0x9f, 0x7b, 0x5a, 0x89, - 0x81, 0xb7, 0x47, 0x7c, 0x2b, 0x6c, 0xf2, 0x18, 0xe8, 0xc0, 0x27, 0x34, 0xc8, 0xc2, 0xee, 0x2e, - 0x53, 0x77, 0x5f, 0x12, 0x9b, 0xb2, 0x7d, 0x1d, 0x55, 0x27, 0x1c, 0xce, 0x4f, 0x94, 0x9f, 0xc9, - 0x60, 0x35, 0x3d, 0x04, 0xbd, 0x25, 0x6e, 0xee, 0x75, 0xb4, 0x47, 0x18, 0x7d, 0x67, 0x03, 0x28, - 0x63, 0xb9, 0xfd, 0xe7, 0xfd, 0xfc, 0xf8, 0xf3, 0xb3, 0x66, 0x70, 0x59, 0x72, 0x21, 0x17, 0xe1, - 0x6e, 0x6d, 0xf0, 0x25, 0xfa, 0x7f, 0x6a, 0x2b, 0x79, 0x7e, 0x38, 0x34, 0xf3, 0x08, 0xd1, 0x84, - 0xb9, 0xa0, 0x62, 0x16, 0x83, 0xd2, 0xcf, 0x59, 0x42, 0x3c, 0xc3, 0x07, 0x70, 0xd9, 0xfe, 0x5a, - 0xbc, 0x66, 0xe4, 0x54, 0xe5, 0xe8, 0x95, 0x1d, 0x35, 0x39, 0x7e, 0x09, 0xe4, 0xc0, 0xa3, 0x62, - 0xac, 0x85, 0x6a, 0xee, 0xfd, 0x20, 0x82, 0xe1, 0xfe, 0x18, 0xcf, 0xba, 0x41, 0xee, 0xec, 0x3b, - 0x1b, 0x3d, 0x4d, 0x1f, 0xe3, 0x6f, 0x46, 0x5c, 0x5f, 0x7f, 0xcd, 0xa4, 0x6e, 0xae, 0x5f, 0xd2, - 0xbf, 0xd3, 0x5a, 0xdf, 0x21, 0x1e, 0xe4, 0x3e, 0xce, 0x64, 0xe0, 0x1e, 0x13, 0x15, 0xcf, 0x8a, - 0x87, 0x3d, 0xc8, 0xc0, 0x96, 0xe9, 0xcb, 0x2d, 0x45, 0x07, 0x9b, 0x17, 0xae, 0xc2, 0xb1, 0x08, - 0x9a, 0x1c, 0x3e, 0xf7, 0xc5, 0xa8, 0x43, 0x85, 0x91, 0x53, 0x92, 0x23, 0x8e, 0x88, 0x9c, 0x27, - 0x29, 0x6c, 0x26, 0xde, 0xb4, 0x0d, 0x9f, 0x11, 0x13, 0x53, 0x10, 0xb0, 0x51, 0xf4, 0x1a, 0x39, - 0x4f, 0x5d, 0x67, 0x2e, 0x41, 0xc8, 0x98, 0xba, 0xbf, 0xcd, 0xbc, 0x91, 0xbc, 0x60, 0xe2, 0xfe, - 0xd1, 0x47, 0xe8, 0x83, 0x48, 0xee, 0xfd, 0x18, 0x9b, 0x56, 0xfd, 0x04, 0x15, 0x60, 0x08, 0xae, - 0x03, 0x31, 0xc7, 0xbc, 0x9d, 0xeb, 0x38, 0x0c, 0x86, 0x13, 0x76, 0x80, 0xf7, 0xd3, 0x1c, 0x0d, - 0x3f, 0x7f, 0x10, 0xb2, 0x7b, 0x9c, 0x44, 0xa3, 0xf6, 0x52, 0x6b, 0x21, 0x97, 0x61, 0x19, 0x59, - 0x28, 0x75, 0x32, 0xce, 0xb5, 0x97, 0x08, 0x1f, 0x5d, 0xfc, 0x3b, 0xec, 0xe4, 0xd1, 0xb7, 0x8d, - 0xc0, 0xd7, 0x1f, 0x04, 0xeb, 0xc2, 0x32, 0x77, 0x82, 0x9d, 0x51, 0x0b, 0x1b, 0x91, 0xa0, 0xd4, - 0x50, 0x9b, 0xc2, 0x41, 0x24, 0x12, 0x71, 0xfd, 0x0a, 0xbb, 0x40, 0xad, 0xc9, 0xd2, 0x10, 0x75, - 0xdd, 0x79, 0xa7, 0x06, 0xe3, 0xde, 0x04, 0xd4, 0xf4, 0x78, 0xe1, 0x42, 0x1e, 0x6d, 0x89, 0x53, - 0x89, 0x03, 0xaf, 0x70, 0x33, 0x7c, 0x4c, 0xa6, 0xec, 0xb7, 0x7e, 0xf1, 0x45, 0x98, 0xb0, 0x05, - 0x73, 0xe9, 0xba, 0x2d, 0xc3, 0xc5, 0x72, 0x36, 0x01, 0x97, 0xd8, 0x5c, 0x6d, 0x46, 0x9e, 0x61, - 0x3f, 0x3e, 0xc4, 0x2a, 0xfc, 0x15, 0x09, 0x4c, 0xd6, 0x33, 0x1f, 0x94, 0x28, 0x2b, 0xcb, 0x4a, - 0x2b, 0xbc, 0x0f, 0x52, 0x81, 0x96, 0xaa, 0x6f, 0xea, 0xab, 0xe6, 0x1b, 0x80, 0x32, 0x6e, 0x4d, - 0x0a, 0x67, 0x83, 0x3c, 0x11, 0xbc, 0x3d, 0x83, 0xa9, 0x84, 0x6d, 0xcc, 0x8b, 0x0d, 0x5a, 0xa2, - 0xc0, 0x9a, 0x57, 0x31, 0xcb, 0x09, 0x88, 0x86, 0x37, 0x66, 0x62, 0x70, 0x4c, 0x23, 0x1e, 0xfa, - 0x1f, 0xf9, 0x8d, 0xd3, 0x2f, 0x9e, 0x1e, 0x61, 0x7e, 0xe8, 0xa7, 0x18, 0xa3, 0x95, 0x4a, 0xd5, - 0xf5, 0xc4, 0x7b, 0xc3, 0x3e, 0xd7, 0xfc, 0xa7, 0xc4, 0xb0, 0x31, 0xa8, 0xcc, 0x8b, 0x87, 0xdb, - 0x9b, 0x24, 0x59, 0x68, 0x8d, 0xa2, 0x9f, 0x84, 0xcf, 0x0e, 0x00, 0xab, 0xa2, 0x14, 0xc1, 0x2d, - 0x8d, 0xff, 0x9b, 0xc9, 0x30, 0xe8, 0x3a, 0x0f, 0x1d, 0x40, 0x64, 0xec, 0xfb, 0x34, 0x09, 0x0d, - 0x28, 0x43, 0x05, 0x85, 0xd6, 0xd9, 0x5c, 0xe4, 0xd0, 0x1a, 0x82, 0x3e, 0x45, 0x46, 0x1a, 0xe4, - 0xec, 0x0e, 0x11, 0x76, 0x18, 0xf7, 0xf4, 0x4c, 0xcc, 0x04, 0x6a, 0x00, 0x71, 0x88, 0x77, 0xf6, - 0x73, 0x24, 0xbf, 0xc4, 0xb8, 0xb6, 0x73, 0x98, 0x37, 0x17, 0x1a, 0x3c, 0xbf, 0x20, 0xc0, 0x84, - 0x59, 0x18, 0x32, 0x3d, 0x87, 0x5d, 0x55, 0xa1, 0x6d, 0x4b, 0x68, 0x14, 0xae, 0x91, 0x6b, 0x8f, - 0x7d, 0x82, 0xbb, 0xe3, 0x1a, 0x45, 0x2f, 0xe3, 0x63, 0xa4, 0xbc, 0x12, 0xca, 0xf1, 0xac, 0x6f, - 0xc2, 0xc9, 0xca, 0x98, 0x3d, 0x95, 0xed, 0xae, 0xfe, 0x35, 0x6c, 0xcb, 0xf5, 0x8c, 0xe1, 0xb1, - 0xaa, 0xce, 0x6b, 0xd4, 0x81, 0xb8, 0x63, 0x5c, 0x20, 0x66, 0xc9, 0xb4, 0xcb, 0x34, 0x88, 0xce, - 0xb5, 0xd5, 0x35, 0xad, 0xdd, 0xfe, 0xfc, 0x29, 0xf3, 0x34, 0x97, 0x0e, 0x83, 0xfc, 0x55, 0xe6, - 0xed, 0x5f, 0x24, 0xbe, 0x39, 0x0d, 0x13, 0xfa, 0xfa, 0x78, 0x96, 0x21, 0xc0, 0xcf, 0x77, 0x8d, - 0xd2, 0x7d, 0x94, 0x28, 0x13, 0xa7, 0x31, 0x22, 0x5d, 0x84, 0x7d, 0x2b, 0xfe, 0x8b, 0xa4, 0x3c, - 0xf0, 0x4a, 0x31, 0x5d, 0xc4, 0xa3, 0xd9, 0x6b, 0x77, 0x45, 0x6e, 0xdc, 0x4f, 0x64, 0xb3, 0x17, - 0x0c, 0xa3, 0x1a, 0x53, 0x29, 0xff, 0x04, 0x1a, 0x0c, 0x6b, 0x0e, 0xee, 0x30, 0x7e, 0x1c, 0x5c, - 0xdc, 0xe5, 0xcc, 0x12, 0xea, 0x83, 0x0c, 0x07, 0x89, 0x5c, 0x7c, 0xc2, 0x36, 0xfb, 0x8b, 0xc7, - 0x6e, 0xf2, 0x53, 0x1a, 0xbb, 0x58, 0xc4, 0x59, 0x54, 0x8d, 0xcf, 0x12, 0x82, 0x90, 0xf2, 0x03, - 0x78, 0x50, 0xed, 0x92, 0xdf, 0xa7, 0xb1, 0xcc, 0xbf, 0x8b, 0x2d, 0x79, 0x57, 0x14, 0xd0, 0xc4, - 0x47, 0xac, 0xa0, 0xab, 0x6d, 0x8f, 0xf3, 0x0d, 0x8f, 0xf7, 0x4f, 0xd6, 0xf5, 0xa6, 0xdf, 0x99, - 0x20, 0xb6, 0x9f, 0x8f, 0xa0, 0xc5, 0xc9, 0xcb, 0x49, 0xc3, 0x2d, 0x79, 0x3a, 0x3f, 0x8b, 0x51, - 0x9c, 0x83, 0x6a, 0xd1, 0x75, 0x34, 0xcb, 0x7b, 0xf7, 0xd1, 0xe7, 0xc1, 0x8c, 0x00, 0xf1, 0xbe, - 0x3c, 0x13, 0xe1, 0x62, 0x4c, 0xf2, 0x95, 0x02, 0xdb, 0x0f, 0x1c, 0x5f, 0x24, 0xc0, 0x07, 0xa2, - 0xd9, 0xcf, 0x27, 0xc5, 0xda, 0x74, 0x67, 0x35, 0xe8, 0x04, 0x17, 0x13, 0x16, 0xad, 0xf0, 0xff, - 0x66, 0x1b, 0x00, 0x63, 0xf9, 0xc2, 0x59, 0xe4, 0x96, 0xc7, 0x96, 0x9d, 0x8e, 0x7e, 0x7d, 0x1b, - 0x6a, 0xb0, 0xcd, 0xdc, 0xfc, 0x6d, 0x13, 0x16, 0xae, 0x32, 0xd5, 0xdb, 0x9d, 0x44, 0x29, 0x30, - 0x0f, 0x31, 0xb8, 0x58, 0xd5, 0xcc, 0x89, 0xb2, 0xb1, 0x6c, 0x37, 0x6b, 0xcf, 0x41, 0x56, 0x38, - 0x48, 0x4e, 0xbc, 0x09, 0x68, 0x92, 0x22, 0xed, 0x81, 0x19, 0x6a, 0x61, 0x38, 0xe8, 0x94, 0x73, - 0xdb, 0x6c, 0x23, 0x96, 0x2d, 0x53, 0x16, 0x69, 0x21, 0x7a, 0x85, 0x79, 0xa7, 0xef, 0x71, 0x7f, - 0xfe, 0xf1, 0xb8, 0xcc, 0xb1, 0x7f, 0x8b, 0xa1, 0x1c, 0x65, 0x0a, 0xaa, 0x22, 0xbc, 0xee, 0x72, - 0x93, 0xdc, 0x0e, 0x56, 0x1b, 0xb3, 0xeb, 0x9e, 0x9d, 0xb9, 0xd3, 0x2f, 0x84, 0xfe, 0x72, 0x8d, - 0xb1, 0x3a, 0xc0, 0x29, 0x8a, 0xe5, 0x7b, 0xc9, 0x67, 0x1a, 0xc3, 0x1f, 0x40, 0x9d, 0x73, 0xf2, - 0x0d, 0x46, 0x3c, 0xbd, 0x71, 0x6c, 0xf1, 0xc4, 0xc7, 0x8b, 0xfb, 0x61, 0x09, 0x8f, 0xbf, 0xdd, - 0x92, 0x87, 0x52, 0xab, 0x1b, 0xa5, 0xce, 0xf7, 0xc0, 0x00, 0x7b, 0x0e, 0xdc, 0xa1, 0x4c, 0xfe, - 0x30, 0x58, 0x63, 0x7a, 0x36, 0xa2, 0x9f, 0x20, 0xee, 0xa3, 0xcb, 0x0a, 0x81, 0xd3, 0x49, 0xd7, - 0x15, 0x6f, 0x7c, 0x82, 0x2d, 0xf0, 0x8b, 0xd4, 0xdf, 0x2b, 0xb3, 0x29, 0xf9, 0x51, 0x63, 0x4a, - 0xf0, 0x74, 0x7c, 0x52, 0x79, 0x19, 0xc3, 0x02, 0x16, 0xe3, 0x13, 0xc6, 0x65, 0x15, 0xf1, 0x01, - 0xcc, 0xb8, 0x2c, 0x4c, 0x87, 0x25, 0x57, 0x26, 0x61, 0x65, 0x21, 0x9e, 0x8f, 0x2e, 0xa7, 0x83, - 0xc5, 0x51, 0x7f, 0x3f, 0xb5, 0x24, 0xd9, 0x57, 0xd0, 0xdf, 0xa3, 0x7d, 0xd2, 0x91, 0xac, 0xd2, - 0x5f, 0x06, 0x11, 0x1e, 0x19, 0xbd, 0x54, 0x31, 0x3d, 0xbb, 0x84, 0x05, 0xb1, 0xbb, 0x78, 0x80, - 0x08, 0xa0, 0xab, 0x11, 0x0d, 0xc5, 0x7f, 0xff, 0x92, 0xcd, 0xf8, 0xd2, 0x5b, 0x6f, 0x80, 0xc5, - 0x24, 0x2d, 0x3c, 0xcb, 0x14, 0x59, 0xbd, 0xe6, 0xd3, 0xad, 0x92, 0x23, 0x0d, 0x86, 0x57, 0x77, - 0x49, 0x9a, 0x77, 0xd6, 0x31, 0x0d, 0x54, 0xe8, 0x3c, 0xf1, 0x47, 0x18, 0x95, 0xf7, 0x8e, 0xaa, - 0x4b, 0x7d, 0xcd, 0x8f, 0x7c, 0x1a, 0xe2, 0x55, 0x08, 0x86, 0xc3, 0x78, 0x04, 0x81, 0x98, 0xb1, - 0x25, 0x9c, 0x71, 0x76, 0x7e, 0xda, 0x14, 0xd8, 0x67, 0x89, 0x68, 0xb9, 0xd3, 0xf8, 0x9c, 0x5d, - 0x4b, 0xd5, 0xc6, 0x3e, 0x3b, 0x65, 0x19, 0xbb, 0xb7, 0xe2, 0x63, 0x06, 0x7a, 0x4b, 0x38, 0xb5, - 0x0d, 0xaa, 0x48, 0xd1, 0x67, 0xe5, 0x45, 0x80, 0x77, 0x3f, 0x17, 0x2b, 0x75, 0xc2, 0x74, 0x28, - 0x80, 0xf8, 0xdb, 0x04, 0x94, 0x0b, 0x05, 0x13, 0x5a, 0x02, 0x4a, 0x72, 0x1b, 0xf2, 0x1f, 0x23, - 0xf0, 0xf4, 0xa3, 0xad, 0x28, 0x98, 0xf7, 0x72, 0xdf, 0xfc, 0x51, 0x7b, 0x27, 0x64, 0x21, 0x48, - 0xeb, 0x1d, 0x9b, 0x26, 0x2e, 0x1f, 0x48, 0xa7, 0x31, 0x7f, 0x9a, 0x26, 0x0f, 0x35, 0x04, 0x21, - 0xe2, 0x40, 0xe6, 0xf4, 0xc2, 0x04, 0x04, 0xc8, 0x67, 0x4c, 0xfc, 0xc3, 0xe4, 0x1e, 0x25, 0xba, - 0xd1, 0xd3, 0x84, 0x9b, 0x0b, 0x91, 0xdb, 0x46, 0x7d, 0x78, 0x82, 0x31, 0x99, 0x1e, 0xcf, 0xdb, - 0x3d, 0xe0, 0xdf, 0x1e, 0x50, 0x43, 0xc7, 0x88, 0x4f, 0xe9, 0x0e, 0xcc, 0x4a, 0x91, 0xda, 0xd8, - 0x22, 0xa7, 0x60, 0x43, 0xfb, 0xa2, 0x70, 0xf1, 0x01, 0xc2, 0xca, 0xf9, 0x6f, 0x95, 0x0d, 0xd0, - 0x44, 0x56, 0x53, 0x29, 0x1c, 0xfd, 0x5f, 0xc6, 0xd7, 0x9b, 0x2d, 0x95, 0x9c, 0x8e, 0x20, 0xc7, - 0x93, 0x71, 0x95, 0x75, 0x35, 0x17, 0xcc, 0x47, 0x90, 0x87, 0xee, 0x9c, 0x55, 0x1c, 0xf1, 0x78, - 0x11, 0x5c, 0x92, 0xdc, 0x16, 0xb5, 0xbd, 0x45, 0xf4, 0x62, 0x2c, 0xec, 0x38, 0xba, 0x27, 0x72, - 0xb5, 0xfd, 0x76, 0xc3, 0xc2, 0x43, 0x42, 0x93, 0xa3, 0x7b, 0xcf, 0x40, 0x41, 0xf2, 0xca, 0xe6, - 0x8a, 0xc2, 0x87, 0x69, 0x96, 0x09, 0xe0, 0x79, 0x49, 0x7d, 0x46, 0x74, 0xa1, 0xa0, 0x1d, 0x98, - 0xbb, 0xff, 0x86, 0xc8, 0xe3, 0x98, 0x43, 0x72, 0x1c, 0x59, 0x5c, 0x0f, 0xff, 0xb3, 0xfa, 0x78, - 0xeb, 0x24, 0xf5, 0xc8, 0x1f, 0x2f, 0xdd, 0x98, 0x5e, 0x10, 0xe7, 0x96, 0x5b, 0xc2, 0xdd, 0xcc, - 0xfc, 0x05, 0xf3, 0xc8, 0x24, 0x06, 0x98, 0x9e, 0x84, 0x56, 0x63, 0x6c, 0xf7, 0x3f, 0x5d, 0x52, - 0x2f, 0x91, 0x57, 0x2f, 0x45, 0x3d, 0x3d, 0xa8, 0xef, 0xb2, 0x03, 0x26, 0x77, 0xd8, 0xeb, 0x1f, - 0x59, 0x94, 0xd8, 0x70, 0x06, 0x49, 0x77, 0x0b, 0xb9, 0x69, 0x0a, 0x6a, 0xbe, 0x72, 0x3c, 0xa0, - 0x9f, 0xfc, 0x2b, 0xd9, 0x39, 0x1d, 0x61, 0x4d, 0x8c, 0xec, 0xb7, 0xd8, 0xdb, 0x50, 0xbe, 0xa3, - 0xca, 0xa0, 0xb0, 0xf9, 0x98, 0x64, 0x30, 0x97, 0x38, 0xb2, 0x03, 0x80, 0xf2, 0xa4, 0x54, 0xd8, - 0xb4, 0xc3, 0x4f, 0x61, 0x45, 0x09, 0x47, 0x98, 0x8b, 0xa0, 0x95, 0xcf, 0xc3, 0x16, 0x7f, 0xf7, - 0xf5, 0xed, 0x31, 0xc8, 0xdc, 0x54, 0x8e, 0x39, 0xfd, 0xe2, 0x9f, 0x27, 0x25, 0xe7, 0x76, 0x2e, - 0xbf, 0x30, 0x7e, 0xc6, 0x02, 0x52, 0xca, 0xbf, 0xef, 0xa9, 0x5c, 0x50, 0x96, 0x68, 0xee, 0x9a, - 0xa6, 0x4e, 0x0f, 0xeb, 0x20, 0x02, 0x9e, 0x34, 0x22, 0x2f, 0x8c, 0x94, 0x36, 0x58, 0xd4, 0x5e, - 0xcc, 0x36, 0x61, 0xdf, 0x9d, 0xf5, 0x51, 0x27, 0xd5, 0x85, 0x78, 0x30, 0xd3, 0xd4, 0x62, 0xba, - 0x54, 0x97, 0xea, 0x71, 0x40, 0xff, 0x1e, 0x8d, 0x22, 0xa5, 0x18, 0xd8, 0x9b, 0xfa, 0xf1, 0x03, - 0x9b, 0x7d, 0x7a, 0xcc, 0x50, 0x33, 0xb9, 0x61, 0x93, 0x6d, 0x23, 0xd2, 0xf2, 0xcb, 0xdb, 0xa1, - 0x74, 0x9a, 0xc5, 0x14, 0x09, 0x0b, 0x64, 0x91, 0xdd, 0xe8, 0xea, 0x0a, 0xfc, 0xee, 0xec, 0xf3, - 0x65, 0x8c, 0xfe, 0x73, 0x2b, 0x73, 0x24, 0x1b, 0xc7, 0x7e, 0x7f, 0xe2, 0x3b, 0x4a, 0xd3, 0x18, - 0x1c, 0x37, 0x7f, 0x1d, 0x3e, 0x64, 0x93, 0xe1, 0x46, 0xe2, 0x9f, 0x79, 0xaf, 0x8b, 0x69, 0x27, - 0x77, 0x90, 0x8e, 0xb5, 0x3c, 0xb6, 0xe0, 0x22, 0xb7, 0x6d, 0x10, 0x2d, 0xc3, 0x60, 0x01, 0x2c, - 0x8f, 0xb2, 0x5d, 0x22, 0x3b, 0x65, 0xd7, 0x37, 0x26, 0xc5, 0x6a, 0xe8, 0xb5, 0xa8, 0xaf, 0xd2, - 0x65, 0x3b, 0x18, 0x11, 0x41, 0x50, 0xe4, 0x31, 0x46, 0xc8, 0xb2, 0x40, 0x93, 0x9b, 0x89, 0x7f, - 0x1c, 0x22, 0xae, 0x10, 0x9a, 0xae, 0x8f, 0x41, 0x83, 0x6b, 0x08, 0xf0, 0x71, 0x73, 0xe0, 0xa3, - 0xa8, 0x08, 0x9e, 0x88, 0xf9, 0xe2, 0xd8, 0x20, 0x92, 0x11, 0x65, 0xc4, 0x02, 0x70, 0xde, 0x59, - 0x40, 0x10, 0x70, 0x70, 0x5b, 0xd9, 0x76, 0x3c, 0x4e, 0xa9, 0x2b, 0x8c, 0xbc, 0x87, 0x45, 0xe8, - 0xf0, 0x9c, 0xf8, 0x19, 0x6c, 0xc8, 0x17, 0xd5, 0x11, 0xa6, 0x0e, 0x22, 0xbc, 0x7a, 0x6c, 0xa3, - 0x56, 0xbc, 0x71, 0x60, 0x26, 0xf4, 0xb3, 0x81, 0xda, 0x97, 0xb9, 0xd5, 0x60, 0x11, 0xc9, 0xb1, - 0x51, 0xca, 0x80, 0xc9, 0xe1, 0x31, 0x1c, 0x9a, 0x0a, 0xea, 0x00, 0xa8, 0x99, 0x44, 0xf8, 0x9c, - 0x90, 0x4c, 0xd8, 0x21, 0xa3, 0x50, 0xb9, 0xdb, 0x5d, 0xde, 0xaa, 0x4f, 0xd8, 0x56, 0xe2, 0x02, - 0xaf, 0x0e, 0x60, 0x4d, 0x20, 0xd7, 0xcc, 0xb4, 0x55, 0xaf, 0xe8, 0x45, 0xf8, 0x54, 0x75, 0x13, - 0x14, 0x24, 0xde, 0x95, 0x52, 0x2f, 0x62, 0x41, 0x1a, 0xb2, 0xea, 0x4d, 0x33, 0xb9, 0x37, 0xaa, - 0x62, 0xca, 0xd0, 0xb1, 0x16, 0xab, 0xdc, 0x90, 0xca, 0x89, 0xff, 0x0d, 0x3c, 0xd9, 0xa2, 0xbf, - 0xd6, 0xa1, 0x13, 0x17, 0xb8, 0xfd, 0xb3, 0x7b, 0x79, 0x2d, 0xf5, 0x1b, 0x2a, 0xc2, 0x2f, 0xe7, - 0x84, 0x7f, 0x79, 0x57, 0x86, 0x17, 0x53, 0x9c, 0xf2, 0xdb, 0xfc, 0x45, 0xe3, 0x3d, 0x67, 0xd5, - 0x16, 0x46, 0x8b, 0x17, 0x32, 0xf8, 0xf4, 0xe8, 0xf3, 0x7c, 0x43, 0x4e, 0x85, 0x71, 0x54, 0x38, - 0x0b, 0x3c, 0xa5, 0xed, 0x7d, 0x0d, 0x79, 0xba, 0xa9, 0xea, 0x72, 0x18, 0x60, 0x35, 0x95, 0xc7, - 0xfa, 0xc5, 0xb9, 0x03, 0x73, 0xac, 0x8f, 0xbd, 0x42, 0x90, 0xd8, 0x3d, 0x39, 0x89, 0x46, 0xdf, - 0xde, 0xec, 0x1b, 0x6f, 0xed, 0x68, 0x49, 0xaa, 0xd2, 0x9d, 0x7d, 0xee, 0x50, 0x86, 0xe2, 0x0b, - 0x60, 0x6c, 0xd8, 0x18, 0x61, 0x6a, 0x91, 0xc9, 0xf7, 0x2d, 0x78, 0xb4, 0xb1, 0x61, 0x10, 0x7f, - 0xf1, 0x2b, 0x58, 0x61, 0x02, 0x13, 0x56, 0x3d, 0x9f, 0x85, 0x10, 0xaf, 0x9a, 0x8a, 0xff, 0xa7, - 0xa5, 0x6b, 0x6c, 0x48, 0xc7, 0x6d, 0x54, 0x04, 0x92, 0x4d, 0xa4, 0x54, 0x80, 0xed, 0x1c, 0x8d, - 0x02, 0xa9, 0x3b, 0x1c, 0x87, 0x9b, 0x0c, 0xf9, 0x8a, 0x58, 0x82, 0xdf, 0x40, 0x91, 0xe2, 0x8a, - 0x29, 0xe6, 0xd4, 0x08, 0x6f, 0xb2, 0x3e, 0xa1, 0xdf, 0x8b, 0x25, 0xba, 0x97, 0xbe, 0x2b, 0x32, - 0x02, 0x21, 0x5a, 0x3d, 0x9b, 0xf1, 0x16, 0xfb, 0xe2, 0x2f, 0x3f, 0x3c, 0x13, 0xcd, 0x2b, 0xeb, - 0xe0, 0xcc, 0xb2, 0x8c, 0x42, 0x9f, 0x77, 0x24, 0x85, 0x4a, 0x41, 0xd6, 0xa7, 0x30, 0xae, 0xe3, - 0xb9, 0x49, 0x8f, 0x25, 0x83, 0xcb, 0x05, 0xf5, 0x67, 0x7c, 0xa1, 0x61, 0x81, 0x28, 0x54, 0x29, - 0xd7, 0x6f, 0x6a, 0x93, 0x87, 0x8e, 0xdb, 0x54, 0x12, 0x93, 0xf5, 0x2b, 0x3f, 0xba, 0x8d, 0xfd, - 0x44, 0x5b, 0x86, 0xf6, 0xe2, 0x28, 0x98, 0x71, 0x15, 0xfb, 0xe0, 0x6c, 0xb0, 0xf3, 0xf2, 0x5a, - 0xc8, 0x1d, 0x6d, 0xfc, 0x54, 0x21, 0x94, 0xb2, 0xf0, 0xf8, 0x5a, 0x57, 0x78, 0x4b, 0x11, 0xff, - 0x20, 0x24, 0x78, 0xff, 0x66, 0x83, 0x68, 0x5f, 0x2c, 0x10, 0xf2, 0x77, 0x01, 0x5d, 0x43, 0xed, - 0x7a, 0xd4, 0xff, 0x6e, 0xcf, 0x2e, 0x17, 0x2e, 0x80, 0xd2, 0x45, 0x7d, 0x20, 0x8c, 0xda, 0xff, - 0x0c, 0x8f, 0x61, 0x28, 0xe7, 0xf2, 0x37, 0x96, 0x42, 0x1a, 0x95, 0xc7, 0xc2, 0xeb, 0x6a, 0xc5, - 0xb1, 0xd6, 0x6b, 0x3f, 0x03, 0xf7, 0xec, 0xfc, 0xa0, 0x65, 0x09, 0x8f, 0x2d, 0x54, 0x5f, 0x80, - 0x4d, 0x79, 0xca, 0xb2, 0xa7, 0x17, 0x79, 0x8d, 0x63, 0x25, 0xec, 0x1b, 0x56, 0x39, 0x21, 0x91, - 0xf1, 0xa1, 0xf5, 0xbf, 0xac, 0x27, 0x16, 0x47, 0x94, 0xa9, 0x41, 0x7c, 0x44, 0xff, 0x16, 0xc5, - 0x74, 0x94, 0xb4, 0xc4, 0xef, 0xd6, 0x6a, 0x7d, 0x7e, 0x4f, 0x06, 0x84, 0x77, 0xd0, 0xbf, 0x62, - 0x36, 0xe1, 0x0f, 0xf8, 0x26, 0x4e, 0x51, 0x04, 0x9f, 0xf4, 0x97, 0x81, 0xd1, 0xbc, 0x11, 0x5d, - 0x59, 0x67, 0xa1, 0x92, 0x80, 0xbc, 0x79, 0xb9, 0x89, 0x4a, 0x38, 0xda, 0xa6, 0x50, 0xa2, 0xce, - 0x28, 0x71, 0xca, 0x1e, 0x3d, 0x90, 0x92, 0x69, 0x0c, 0x5a, 0xab, 0xc4, 0x08, 0x36, 0x73, 0x1a, - 0xf4, 0x22, 0x50, 0x72, 0x1f, 0x2d, 0xab, 0x0d, 0x57, 0xc4, 0xec, 0x50, 0x75, 0x3e, 0x6c, 0xf2, - 0x1d, 0x10, 0xd8, 0x4e, 0x19, 0xfe, 0xc6, 0xf3, 0xa9, 0xdc, 0x98, 0x63, 0xfa, 0x3e, 0x5e, 0x09, - 0x0d, 0x80, 0xe6, 0x3e, 0x7b, 0x17, 0x36, 0x7f, 0xa8, 0xb3, 0xad, 0x08, 0xd1, 0x15, 0x57, 0x8d, - 0xc2, 0x45, 0x4b, 0xda, 0xf4, 0xd9, 0x7e, 0xc4, 0x9c, 0x5f, 0x29, 0x84, 0xc3, 0xdb, 0xa4, 0xbd, - 0x8b, 0xd7, 0x9c, 0x00, 0xa5, 0xee, 0xec, 0x9b, 0x85, 0xcc, 0xde, 0xef, 0xe4, 0x31, 0x45, 0x94, - 0x4d, 0xe9, 0x9d, 0xd5, 0x22, 0x7f, 0xa5, 0xa1, 0xdb, 0x80, 0x8f, 0xd6, 0x51, 0xd8, 0xc0, 0xe4, - 0x07, 0x4f, 0x69, 0xa3, 0xa0, 0x71, 0x44, 0x6c, 0x73, 0xe2, 0xcf, 0x8e, 0xfc, 0x2f, 0x90, 0x1f, - 0x24, 0x5f, 0xa6, 0x11, 0xf7, 0xa7, 0x96, 0x56, 0x31, 0x78, 0x4e, 0xbf, 0xb4, 0xb0, 0x58, 0x09, - 0x53, 0xa5, 0x84, 0xb4, 0x2a, 0xe3, 0xa5, 0x5d, 0xd7, 0xcd, 0xe9, 0x3a, 0x56, 0xc7, 0x63, 0x52, - 0xd2, 0x2f, 0x58, 0xe9, 0x83, 0x02, 0x3b, 0x07, 0xf2, 0x06, 0xb8, 0xfb, 0x8b, 0x13, 0x74, 0xa9, - 0x71, 0xf4, 0x69, 0x26, 0xcc, 0x0e, 0xec, 0x91, 0xed, 0xf9, 0x55, 0x23, 0x22, 0x80, 0x7d, 0x78, - 0x54, 0xd1, 0xb6, 0x8c, 0xe0, 0xa0, 0xc6, 0xe0, 0xe6, 0x9b, 0xe7, 0x44, 0xf1, 0x5c, 0x3d, 0x65, - 0xd4, 0x8f, 0x5e, 0x16, 0xf2, 0x99, 0xca, 0x3c, 0x15, 0x1c, 0xfd, 0xac, 0xc7, 0x01, 0x21, 0x2b, - 0xca, 0xfe, 0xd2, 0xf9, 0xc4, 0xd8, 0x95, 0x74, 0x9a, 0x49, 0xe4, 0x88, 0x6b, 0x13, 0x4e, 0xa3, - 0x18, 0x8a, 0x59, 0x0c, 0x68, 0x07, 0x67, 0x45, 0xf5, 0x60, 0x30, 0x4c, 0x08, 0x3b, 0xef, 0xb1, - 0x70, 0xad, 0x04, 0xb9, 0x09, 0xc2, 0x6b, 0xd5, 0xfc, 0x95, 0x49, 0x56, 0xbd, 0xc4, 0x1d, 0x21, - 0x72, 0x70, 0xc7, 0x33, 0x5e, 0x08, 0x43, 0x4e, 0xb4, 0x21, 0x6d, 0x79, 0x08, 0x11, 0xd9, 0xaa, - 0x2b, 0x87, 0x46, 0xb0, 0x20, 0xee, 0xdb, 0x6a, 0x7a, 0x00, 0x0d, 0x4f, 0x2b, 0x54, 0x6a, 0xd2, - 0x84, 0x3b, 0x51, 0xee, 0xce, 0x00, 0x21, 0xad, 0x54, 0xfb, 0x9d, 0x9b, 0xfd, 0xd8, 0x6b, 0xfe, - 0xf9, 0xe8, 0x03, 0x4f, 0x20, 0xf8, 0x57, 0x37, 0x03, 0x20, 0x44, 0x59, 0x9d, 0xd4, 0x19, 0x10, - 0xf3, 0x5e, 0xa9, 0xc3, 0x5a, 0x40, 0x05, 0x17, 0x98, 0xb1, 0xae, 0x38, 0xb3, 0x2f, 0x8a, 0xd2, - 0xb4, 0xd4, 0xb0, 0x38, 0xe2, 0x92, 0x6f, 0x73, 0x21, 0x9c, 0x6d, 0x93, 0x2d, 0x3e, 0x66, 0x00, - 0xe3, 0x53, 0xbc, 0x2f, 0x36, 0xcd, 0x54, 0x6e, 0x15, 0x21, 0x8a, 0x20, 0xef, 0x9b, 0x49, 0x81, - 0x36, 0x0b, 0x9b, 0xf3, 0x4d, 0xbf, 0x3b, 0xcf, 0x57, 0x02, 0xf1, 0xc0, 0x01, 0xc4, 0x55, 0x09, - 0x98, 0x3b, 0x80, 0x73, 0xb5, 0x77, 0x58, 0x97, 0xce, 0xaf, 0x4e, 0x05, 0xb6, 0x51, 0x7b, 0xe5, - 0xca, 0xfd, 0x6e, 0xbd, 0xba, 0x69, 0x29, 0x49, 0x6f, 0x43, 0x23, 0x51, 0x81, 0x5a, 0x37, 0xe3, - 0x62, 0x91, 0xc8, 0xdd, 0xf6, 0xfc, 0x2d, 0x15, 0xcc, 0xb9, 0x31, 0x20, 0x7c, 0x11, 0xe3, 0xb6, - 0x84, 0x00, 0x75, 0xf3, 0x3d, 0x37, 0x87, 0x26, 0x90, 0xfe, 0x67, 0xbe, 0xfa, 0x2b, 0xad, 0xfa, - 0xe1, 0xc8, 0xcf, 0x2b, 0x49, 0xfa, 0x33, 0x6f, 0x2b, 0xc5, 0xaa, 0xd2, 0xa0, 0x78, 0xe4, 0x91, - 0x89, 0x3f, 0x9d, 0xa8, 0x94, 0x71, 0x4e, 0xb9, 0x0a, 0x58, 0x71, 0x58, 0x06, 0xc9, 0x39, 0x60, - 0xec, 0x7b, 0x81, 0xd4, 0x75, 0xd0, 0x9e, 0xd5, 0x2b, 0xee, 0x34, 0x25, 0xb1, 0xa7, 0x7c, 0x2c, - 0x77, 0xa0, 0x70, 0xef, 0x43, 0x10, 0x4c, 0x6b, 0x30, 0xba, 0x28, 0x64, 0xc6, 0xa1, 0x18, 0x44, - 0x86, 0x8a, 0x66, 0x97, 0x0d, 0x2c, 0x5a, 0xdc, 0x38, 0xf4, 0xbc, 0xa2, 0xfd, 0xbd, 0xcd, 0x11, - 0xfe, 0xf9, 0x3d, 0x86, 0x7e, 0xab, 0xa2, 0xd1, 0x98, 0x16, 0x47, 0xd8, 0xd6, 0x69, 0xdb, 0x4f, - 0x08, 0x09, 0xd6, 0x93, 0x19, 0x46, 0xf1, 0xb1, 0xa4, 0x27, 0x9c, 0xab, 0xc3, 0xa9, 0x6e, 0xfd, - 0xd9, 0xf5, 0x21, 0x5d, 0xfd, 0x95, 0xf7, 0x6d, 0x86, 0x16, 0xe5, 0x0c, 0xff, 0x7f, 0xaf, 0xb6, - 0xc8, 0x9d, 0xfd, 0x08, 0x2c, 0x5d, 0x1f, 0xae, 0x71, 0x26, 0x46, 0xe6, 0xd1, 0x11, 0xdf, 0x57, - 0x7e, 0xbd, 0xe9, 0x26, 0x5a, 0x2b, 0x94, 0xbc, 0x32, 0x6f, 0x04, 0x1c, 0x17, 0x9a, 0x05, 0x12, - 0x0a, 0x8c, 0xbc, 0xb7, 0xb3, 0x42, 0xef, 0x96, 0x61, 0x1a, 0x29, 0xda, 0x72, 0x2b, 0xde, 0x2c, - 0x8b, 0x87, 0xf1, 0x1b, 0x6f, 0x4f, 0xef, 0xe3, 0xf9, 0xc1, 0x3c, 0xb4, 0xeb, 0x71, 0x5a, 0x60, - 0x67, 0xfe, 0x87, 0x49, 0x7c, 0xdc, 0x99, 0xf4, 0x63, 0xf3, 0xd2, 0x10, 0xc3, 0xaa, 0x1d, 0xe3, - 0x87, 0x9d, 0x86, 0xf9, 0xcc, 0x8c, 0xa9, 0x8d, 0xf2, 0xdf, 0x12, 0xfe, 0x76, 0x12, 0x6b, 0xd1, - 0x4a, 0x62, 0x28, 0xe5, 0xe6, 0x5c, 0x90, 0x80, 0x1a, 0xc9, 0xac, 0x61, 0x9e, 0x88, 0xf2, 0xec, - 0xfb, 0x31, 0xb1, 0x37, 0x00, 0xf2, 0xce, 0xc1, 0x8f, 0xa5, 0x13, 0xc6, 0x81, 0x19, 0xe6, 0xb2, - 0x3f, 0x20, 0x24, 0x57, 0x35, 0x3b, 0x05, 0x5c, 0x49, 0x03, 0x1a, 0x24, 0x2e, 0xd8, 0x69, 0x8a, - 0x17, 0xbd, 0x94, 0x9e, 0x1c, 0x16, 0x84, 0x15, 0x08, 0x99, 0x02, 0x74, 0x97, 0x00, 0x89, 0x55, - 0x09, 0x89, 0xe3, 0xee, 0xd7, 0xe2, 0x13, 0x97, 0xaa, 0x3a, 0x11, 0x9a, 0x1c, 0x60, 0xbc, 0x39, - 0x5d, 0x85, 0xb0, 0xee, 0xb5, 0x68, 0x27, 0x4e, 0xb3, 0x21, 0xb6, 0xe5, 0x93, 0x36, 0x94, 0x29, - 0xd3, 0x6c, 0x5a, 0x40, 0x90, 0xc7, 0xbb, 0x06, 0x4f, 0x8f, 0x3a, 0x33, 0x42, 0x8a, 0xe2, 0xf9, - 0x55, 0x65, 0xae, 0xac, 0xd5, 0xe6, 0xc0, 0x89, 0x96, 0x2f, 0x5f, 0xbb, 0x82, 0x5b, 0x94, 0x70, - 0x68, 0x7a, 0x1b, 0xb5, 0xaf, 0xcc, 0x37, 0x9f, 0x13, 0x17, 0xd4, 0xe6, 0xfb, 0x8f, 0xe6, 0xb5, - 0x9c, 0xc3, 0xb4, 0x3a, 0x2d, 0x8f, 0x04, 0x1c, 0x6f, 0x4a, 0x6b, 0xd7, 0x4c, 0x12, 0x68, 0xb5, - 0xb5, 0x8f, 0xc8, 0x6d, 0xd1, 0xce, 0xc6, 0xfb, 0xdd, 0x4a, 0x64, 0x9e, 0x2b, 0x99, 0xa5, 0xe9, - 0xd4, 0xa1, 0x06, 0x76, 0x15, 0x1d, 0xd8, 0xe8, 0x75, 0xa3, 0x80, 0x9d, 0x6c, 0x9b, 0xf8, 0x43, - 0x8a, 0x35, 0xe0, 0xea, 0x4b, 0x80, 0x67, 0xd2, 0x05, 0xa1, 0x1d, 0x4d, 0xd9, 0x08, 0x38, 0x69, - 0xeb, 0x37, 0x25, 0xae, 0x40, 0x5c, 0x4e, 0xae, 0x45, 0x38, 0x70, 0x2d, 0xa2, 0x20, 0x74, 0xad, - 0x95, 0xcb, 0xcf, 0x16, 0x46, 0x95, 0x50, 0xee, 0x3b, 0xc9, 0x06, 0x9f, 0x2b, 0xdb, 0xa7, 0xd1, - 0x44, 0x8d, 0x7f, 0x72, 0xa3, 0x1c, 0xa7, 0x47, 0x32, 0x75, 0x3f, 0xe2, 0x86, 0x0a, 0xe7, 0x8d, - 0xf8, 0x85, 0x1f, 0x7a, 0xf0, 0x25, 0xae, 0xfd, 0x23, 0x5e, 0x0c, 0xe3, 0xf4, 0x2d, 0xc2, 0x00, - 0xac, 0x33, 0xe4, 0x54, 0x74, 0x11, 0xad, 0x55, 0xee, 0x7c, 0xa5, 0x42, 0x11, 0xd0, 0xe6, 0x47, - 0xfa, 0x7a, 0x45, 0xa0, 0xcf, 0xba, 0xc9, 0x58, 0xc8, 0xb2, 0x6f, 0x1e, 0x8c, 0xf7, 0x64, 0x07, - 0x91, 0x6a, 0xec, 0x2c, 0xbf, 0x28, 0xbc, 0x4e, 0xea, 0x6b, 0x40, 0x8d, 0x10, 0x97, 0x90, 0x69, - 0x9f, 0x08, 0x02, 0xf8, 0x59, 0x99, 0xd4, 0x02, 0x36, 0xef, 0x6d, 0x6e, 0xec, 0x78, 0xb5, 0xa9, - 0x46, 0x47, 0x1b, 0xfc, 0xd4, 0x3c, 0xe3, 0x47, 0xf7, 0x3a, 0x90, 0x07, 0xb4, 0x5d, 0xf3, 0x8c, - 0xfb, 0x09, 0x55, 0xce, 0x3a, 0x19, 0xce, 0xe1, 0x27, 0x1c, 0x50, 0x54, 0xdb, 0x2c, 0xaa, 0x8d, - 0x6c, 0xa7, 0x5c, 0x25, 0x2c, 0x22, 0x61, 0xc0, 0x37, 0xd7, 0xe2, 0x0d, 0x3f, 0x36, 0x06, 0xb0, - 0xe0, 0xf1, 0xab, 0xfb, 0xb2, 0x63, 0x93, 0xaf, 0x0b, 0x8e, 0xbf, 0x2d, 0xbf, 0x24, 0x1d, 0x40, - 0x0e, 0x05, 0x08, 0x2e, 0x52, 0x5e, 0x01, 0x66, 0xc7, 0x56, 0x28, 0xbb, 0x47, 0x97, 0x74, 0x74, - 0x35, 0x86, 0xa3, 0x68, 0x72, 0xa4, 0x4c, 0x61, 0x55, 0xa9, 0xb2, 0xeb, 0xce, 0x94, 0x66, 0xcc, - 0x23, 0xab, 0x94, 0x50, 0xe8, 0xac, 0xb3, 0x7f, 0x91, 0xb2, 0x0d, 0xd9, 0x4b, 0xb6, 0xce, 0xf2, - 0x52, 0x47, 0x33, 0xec, 0xde, 0x4f, 0xe4, 0xd6, 0xb5, 0x74, 0x48, 0x53, 0xc1, 0x4f, 0x4d, 0x19, - 0x64, 0x34, 0xe3, 0x08, 0x89, 0x12, 0xab, 0x2a, 0xed, 0xf2, 0xfa, 0x43, 0x0b, 0x7f, 0x7c, 0xbc, - 0x08, 0xf7, 0x11, 0xe8, 0x05, 0x55, 0x86, 0xef, 0x72, 0xaa, 0x7c, 0x32, 0xc7, 0x03, 0xcc, 0xdb, - 0x1c, 0xa9, 0xbb, 0x38, 0xec, 0x7c, 0x7b, 0x5d, 0x78, 0x08, 0xb4, 0xef, 0xf1, 0xd8, 0xe1, 0xf3, - 0x50, 0x88, 0x43, 0xfd, 0x2e, 0xc8, 0x2d, 0x0e, 0xfa, 0xe8, 0xb1, 0xe3, 0xb8, 0xf9, 0x7f, 0x98, - 0x25, 0xca, 0x2d, 0xbe, 0x06, 0x61, 0x85, 0xdd, 0x55, 0x72, 0x1d, 0x43, 0x07, 0x03, 0xc5, 0x12, - 0xf1, 0xb8, 0x52, 0x6e, 0x0d, 0x01, 0x13, 0x58, 0x7c, 0xa2, 0x71, 0x88, 0x90, 0xe3, 0x15, 0x0f, - 0x0f, 0xa4, 0x9e, 0xe8, 0x19, 0x32, 0xf0, 0x1c, 0x54, 0xae, 0xd7, 0xbd, 0x1b, 0xfc, 0xf6, 0xee, - 0x0f, 0xe6, 0x63, 0xfa, 0xcf, 0xab, 0x60, 0x15, 0xfe, 0x2b, 0x7e, 0x2c, 0x25, 0xe5, 0x69, 0xbf, - 0xc3, 0xd0, 0x2b, 0xef, 0x18, 0x86, 0xec, 0x38, 0xf1, 0x77, 0x3d, 0xc5, 0x44, 0x1b, 0xe9, 0xb5, - 0x08, 0x33, 0x70, 0x8e, 0x7b, 0x6d, 0x95, 0x09, 0xa4, 0x0f, 0xeb, 0x62, 0xea, 0x19, 0x9c, 0xee, - 0x7c, 0xce, 0xc7, 0x0b, 0x6b, 0x38, 0x4f, 0xc9, 0x8f, 0xaa, 0xee, 0x07, 0x20, 0xd1, 0x89, 0xd5, - 0xe3, 0xf0, 0x42, 0xd4, 0x45, 0xe0, 0x7d, 0x9d, 0xe0, 0x4d, 0x1b, 0xa2, 0xef, 0x93, 0x2c, 0x91, - 0xcb, 0x1d, 0xc5, 0xed, 0x34, 0x82, 0x06, 0xe4, 0x45, 0x1d, 0xf5, 0xf1, 0x8c, 0x8e, 0x70, 0xd3, - 0x0f, 0xfd, 0xee, 0x70, 0x2f, 0x3d, 0x8b, 0xb8, 0xa2, 0xa5, 0xaf, 0x05, 0x3b, 0x37, 0xf3, 0xac, - 0xcb, 0x51, 0x60, 0xf5, 0x37, 0xab, 0xb4, 0xc7, 0x2a, 0x50, 0xc5, 0xf3, 0x04, 0xf4, 0x7f, 0xd3, - 0x99, 0x8e, 0xa9, 0x1e, 0xbe, 0x79, 0xd5, 0x43, 0x16, 0x94, 0x3c, 0x15, 0xc8, 0x71, 0x1d, 0x0f, - 0xb0, 0x72, 0x1a, 0xb5, 0x20, 0x9d, 0x6a, 0xd5, 0x66, 0xdd, 0xea, 0x33, 0x1d, 0xa2, 0x6f, 0x12, - 0x5c, 0xcf, 0x72, 0x27, 0xa9, 0xdd, 0xee, 0xda, 0x14, 0x66, 0xae, 0x5a, 0x82, 0x3e, 0xb0, 0x97, - 0x25, 0x8d, 0xe6, 0xb5, 0x0b, 0xb4, 0xc1, 0x06, 0x9f, 0xb6, 0xe4, 0x2e, 0x05, 0xe6, 0xa0, 0x14, - 0x21, 0x5a, 0x54, 0xb3, 0xb3, 0xe5, 0x26, 0xff, 0x77, 0xca, 0x1f, 0x89, 0xa6, 0x9c, 0x93, 0x29, - 0x25, 0xf2, 0xea, 0xf0, 0x5b, 0x1e, 0xd5, 0x07, 0x81, 0x7b, 0x83, 0xc7, 0xbf, 0x4a, 0xb9, 0x12, - 0xa6, 0x24, 0xd7, 0x91, 0xc7, 0x94, 0x7a, 0xac, 0x97, 0x38, 0x85, 0xf0, 0x43, 0x47, 0xa4, 0x86, - 0xf3, 0x6d, 0x2f, 0x00, 0xfc, 0xcc, 0x1d, 0xc0, 0xdc, 0x9a, 0x97, 0x7a, 0xf9, 0xa5, 0x92, 0xae, - 0x54, 0xf5, 0x57, 0x6c, 0x5b, 0x20, 0xd4, 0x08, 0x64, 0xbb, 0xbe, 0xa0, 0xfa, 0x0f, 0x92, 0xb4, - 0xd1, 0xe8, 0x31, 0x60, 0xc4, 0x5f, 0x51, 0x98, 0x0b, 0x1b, 0x94, 0xde, 0x1e, 0x34, 0xe8, 0x38, - 0x2a, 0x27, 0x56, 0x24, 0x15, 0xe3, 0x20, 0xf6, 0xbb, 0x86, 0x06, 0x8f, 0xb0, 0x46, 0xaf, 0xdf, - 0xa8, 0xb0, 0x45, 0xb5, 0x11, 0xfd, 0x02, 0x19, 0x1e, 0x32, 0x22, 0xa1, 0x88, 0x40, 0xa6, 0x5e, - 0xce, 0xa6, 0x45, 0x11, 0x71, 0x33, 0xcc, 0xfc, 0xfd, 0xa6, 0xba, 0x8f, 0xac, 0xd6, 0x01, 0x24, - 0x22, 0x46, 0x0a, 0x62, 0x01, 0x7b, 0xa5, 0xb8, 0xfc, 0xe9, 0xad, 0x54, 0x39, 0x14, 0xc3, 0x89, - 0xfd, 0x89, 0xca, 0x28, 0x99, 0x97, 0x4b, 0xf2, 0x99, 0x1b, 0xe0, 0xd5, 0x53, 0xb3, 0x3e, 0x93, - 0x2a, 0xc5, 0x65, 0x40, 0x60, 0xfb, 0x33, 0xa8, 0x20, 0x96, 0x79, 0x9a, 0x31, 0x14, 0x74, 0x8c, - 0xd3, 0x6d, 0x3b, 0xaa, 0xd8, 0x95, 0xc9, 0xec, 0x44, 0x70, 0x4c, 0xea, 0xa1, 0x92, 0x08, 0xad, - 0xe3, 0x26, 0x6d, 0x84, 0x34, 0xae, 0x1b, 0x67, 0x90, 0xfa, 0x3b, 0xb6, 0x7f, 0x84, 0x9e, 0x61, - 0xd7, 0xad, 0x48, 0x98, 0x6e, 0xab, 0x52, 0xb8, 0x2b, 0x05, 0xac, 0x66, 0x5f, 0xb0, 0x98, 0x3d, - 0x19, 0x7c, 0xf6, 0x0a, 0xc7, 0xcc, 0xfc, 0x4d, 0x1b, 0x41, 0x44, 0x9f, 0x39, 0x84, 0x51, 0xc7, - 0x13, 0x82, 0x5b, 0x2d, 0xed, 0xea, 0x0a, 0x5b, 0x4c, 0x2f, 0xa6, 0x04, 0xe7, 0xe1, 0xc7, 0xdc, - 0xec, 0xff, 0x8e, 0x12, 0xda, 0xd9, 0xd1, 0x8f, 0x49, 0x56, 0x10, 0xdb, 0xbc, 0xe4, 0xf9, 0xe8, - 0xd1, 0xd9, 0x87, 0x83, 0x46, 0xc5, 0x27, 0x9b, 0x10, 0x35, 0xdc, 0xa5, 0x03, 0x18, 0x1f, 0xcc, - 0x48, 0x80, 0x7f, 0xe5, 0x24, 0xe5, 0x34, 0x85, 0xbb, 0x72, 0x70, 0x22, 0xcb, 0xc6, 0x1a, 0x0b, - 0xb2, 0x9b, 0x59, 0x68, 0x39, 0x30, 0x1a, 0x8c, 0xc0, 0xb1, 0x46, 0x3a, 0xd5, 0x68, 0xc6, 0x2a, - 0x9f, 0x3f, 0x25, 0xc3, 0xf0, 0xba, 0xe6, 0x2e, 0x48, 0x8f, 0xd7, 0x6c, 0x1c, 0xc6, 0xac, 0xc7, - 0x7b, 0xaa, 0x49, 0xdc, 0x2e, 0x84, 0x9d, 0x86, 0x94, 0xe5, 0x84, 0x88, 0x73, 0x3f, 0xa1, 0x46, - 0x12, 0x0e, 0xe8, 0x83, 0x03, 0x49, 0x6a, 0x84, 0x4c, 0x57, 0x52, 0xb9, 0xe6, 0x54, 0x88, 0xc9, - 0xea, 0x08, 0xbd, 0x22, 0x5f, 0xd9, 0x3d, 0xb0, 0x02, 0xd3, 0xc7, 0x0a, 0x4a, 0x06, 0xb8, 0x23, - 0x8c, 0xd6, 0x8d, 0xbb, 0x89, 0xaa, 0x73, 0x21, 0xb0, 0x8d, 0x1f, 0x94, 0xe0, 0xed, 0x0c, 0x90, - 0xe3, 0x92, 0xde, 0x2c, 0x19, 0x07, 0xf2, 0xc8, 0xfe, 0x41, 0xe4, 0x9d, 0xb0, 0x1e, 0xe4, 0x34, - 0xe4, 0x59, 0x8b, 0x2b, 0x84, 0xc6, 0x46, 0x67, 0x44, 0x82, 0xc7, 0x19, 0x55, 0xf8, 0xc0, 0xf1, - 0x92, 0x06, 0x3a, 0x22, 0x31, 0xe2, 0x39, 0xd0, 0x77, 0x3b, 0xf1, 0x42, 0x1b, 0x08, 0x73, 0x3e, - 0x7d, 0xac, 0xfa, 0x67, 0xe3, 0x71, 0x61, 0x5a, 0x2a, 0x4f, 0x31, 0xee, 0xc1, 0xb4, 0x04, 0x8b, - 0xe5, 0x2e, 0x3d, 0xcd, 0xb4, 0x47, 0xbd, 0xa7, 0xcc, 0x3a, 0x7e, 0x57, 0x45, 0x5b, 0x21, 0xb3, - 0xa1, 0x2f, 0x39, 0x9f, 0x52, 0x9d, 0xca, 0x72, 0x1b, 0x4c, 0x29, 0xa8, 0x7d, 0x6d, 0x2b, 0x39, - 0x92, 0x78, 0x1c, 0x08, 0x5d, 0xfb, 0x9c, 0xaa, 0xe3, 0xdb, 0xc0, 0x08, 0xb9, 0x41, 0xb5, 0x6d, - 0x86, 0x3a, 0x99, 0x14, 0xed, 0x31, 0x46, 0x57, 0x08, 0x90, 0xe2, 0xaa, 0xcc, 0x4a, 0x6d, 0x12, - 0xce, 0xc9, 0xd6, 0x2d, 0x65, 0x18, 0xd9, 0x6c, 0xce, 0x5f, 0xbf, 0x51, 0xc7, 0xa3, 0x8a, 0x41, - 0x9d, 0x81, 0x1e, 0xa8, 0x6b, 0xe6, 0x52, 0x91, 0xa5, 0xc6, 0x4f, 0x9f, 0x71, 0xe4, 0x17, 0xa2, - 0xa6, 0x2f, 0x63, 0x3a, 0xa0, 0x7a, 0xc4, 0xcd, 0xd1, 0x3d, 0x38, 0xae, 0xa8, 0xb7, 0x24, 0x61, - 0xbb, 0x3c, 0x4e, 0xb4, 0x49, 0x4d, 0x55, 0xa6, 0x95, 0xce, 0x00, 0xbc, 0x3c, 0x77, 0xe4, 0x07, - 0xdf, 0xcd, 0xc1, 0x0c, 0x23, 0x30, 0x85, 0x24, 0xab, 0x56, 0x92, 0x3f, 0x87, 0x68, 0x1c, 0x3d, - 0x3a, 0xb0, 0x30, 0x5b, 0x2e, 0x17, 0x81, 0xba, 0x9e, 0x6f, 0x01, 0xc0, 0x78, 0x44, 0xcb, 0xf6, - 0x34, 0x22, 0x95, 0x80, 0x00, 0x26, 0xdf, 0x8c, 0x7d, 0x9d, 0xb7, 0x37, 0xc7, 0x5d, 0x83, 0x5f, - 0x1b, 0xd3, 0x5a, 0xdf, 0x9e, 0xd2, 0xfa, 0x82, 0x69, 0x40, 0x50, 0x09, 0x01, 0x87, 0x3a, 0x37, - 0xc5, 0x13, 0x67, 0xdf, 0x2d, 0x54, 0xf7, 0x1f, 0x25, 0xbb, 0x58, 0x09, 0x92, 0x03, 0xb6, 0x11, - 0x6e, 0xc2, 0x43, 0xb6, 0x64, 0x2e, 0x29, 0xb7, 0x6e, 0x96, 0x1b, 0x34, 0xdd, 0xd3, 0x05, 0x6f, - 0x6d, 0x49, 0x53, 0x42, 0x6a, 0xec, 0x2f, 0x65, 0x7f, 0x47, 0x16, 0xed, 0xdc, 0x36, 0x72, 0x2c, - 0xed, 0xfc, 0xde, 0x9a, 0x27, 0xd3, 0xdc, 0x2d, 0x1a, 0x18, 0x99, 0x2e, 0x40, 0xf1, 0x34, 0x59, - 0x13, 0x53, 0xd8, 0xad, 0xc9, 0xba, 0x16, 0x1c, 0xc9, 0x7b, 0xff, 0x25, 0xda, 0x4a, 0xc4, 0x51, - 0x0c, 0xbf, 0xb1, 0x1b, 0xa8, 0x33, 0xbb, 0xe6, 0x7f, 0x54, 0x8a, 0xff, 0x4e, 0x47, 0x60, 0xd5, - 0x11, 0xc3, 0x1d, 0x16, 0x6b, 0xbe, 0xe0, 0x7f, 0x72, 0x61, 0x29, 0x4f, 0x38, 0xff, 0x25, 0xfe, - 0xf2, 0x32, 0xb9, 0x64, 0xd9, 0xdf, 0x35, 0xb5, 0x04, 0xb8, 0xe3, 0xca, 0xa9, 0xdf, 0x39, 0xa5, - 0x77, 0x7d, 0x11, 0x29, 0x70, 0x22, 0x73, 0x3c, 0xdf, 0x7c, 0xb7, 0xf1, 0x8f, 0x58, 0xe4, 0x6c, - 0xdb, 0xba, 0xee, 0x7a, 0x3d, 0xaf, 0xe9, 0x5b, 0x7b, 0xb0, 0x09, 0x43, 0x8f, 0xc9, 0x04, 0x1b, - 0xb7, 0x4c, 0x32, 0xf6, 0x58, 0x81, 0x05, 0xb1, 0xc1, 0x10, 0x43, 0x7f, 0x4a, 0xe7, 0x08, 0x7b, - 0x78, 0x59, 0x92, 0xcf, 0xc5, 0xfc, 0x9c, 0x6f, 0xb1, 0xad, 0x91, 0xbb, 0xe5, 0x7f, 0x12, 0x71, - 0x92, 0x2d, 0xf4, 0xd2, 0x74, 0x5b, 0x03, 0x4b, 0x0e, 0x6f, 0x1b, 0x3d, 0x38, 0xb7, 0x55, 0x30, - 0x98, 0x7f, 0x09, 0x6c, 0x85, 0x82, 0x15, 0x14, 0x15, 0xe2, 0x14, 0xd7, 0xab, 0xd4, 0x55, 0xcf, - 0xdd, 0x94, 0xc9, 0xea, 0x43, 0xd5, 0x88, 0x3a, 0x16, 0x9e, 0xc8, 0xe9, 0x94, 0xf8, 0xc6, 0xfa, - 0x69, 0x41, 0x5f, 0xb4, 0xe9, 0xb9, 0x9b, 0xaf, 0xa9, 0x2c, 0x84, 0xf7, 0x7d, 0x31, 0xea, 0x52, - 0x4a, 0x10, 0x17, 0xba, 0x76, 0xc4, 0xc9, 0x18, 0x8b, 0x6f, 0x34, 0x23, 0xcb, 0xc1, 0xa3, 0x6d, - 0x7c, 0x53, 0x33, 0x23, 0x79, 0x9b, 0xbf, 0xa2, 0x37, 0x5b, 0x0f, 0x02, 0xc0, 0x5e, 0xe3, 0x4f, - 0xba, 0xdb, 0xf2, 0x6d, 0xe9, 0x03, 0x29, 0xd4, 0x0a, 0x01, 0xca, 0x52, 0x8c, 0x3f, 0x62, 0xca, - 0x2c, 0xde, 0x2d, 0x21, 0x0f, 0x3f, 0x67, 0x51, 0x8a, 0xd1, 0xf4, 0x11, 0xef, 0xdd, 0x0c, 0x3b, - 0x09, 0x79, 0x55, 0x28, 0x87, 0x55, 0x78, 0x88, 0xfe, 0x26, 0xb6, 0x66, 0xff, 0x04, 0x27, 0x15, - 0xb8, 0x22, 0xe2, 0x77, 0xd2, 0x4b, 0xc3, 0x2c, 0x1a, 0xaf, 0xfe, 0x73, 0x66, 0x76, 0x4f, 0x27, - 0xc8, 0x45, 0x92, 0x99, 0xcb, 0x90, 0xf2, 0xc7, 0x26, 0x15, 0xba, 0x04, 0xbb, 0x40, 0xc2, 0x07, - 0x09, 0x63, 0x9f, 0x09, 0xf2, 0xec, 0xc6, 0x8e, 0x10, 0x29, 0x8d, 0xdd, 0x4e, 0xc0, 0x44, 0x39, - 0x6b, 0xc3, 0x59, 0xe1, 0xb8, 0x7f, 0x9f, 0xed, 0xfa, 0x7d, 0x3d, 0x36, 0x5c, 0x9b, 0xf0, 0x57, - 0xaf, 0xc1, 0x1b, 0xc6, 0xb4, 0xd3, 0x64, 0xbb, 0xe1, 0x60, 0x8d, 0x3e, 0xe0, 0x1a, 0xbe, 0x7d, - 0x84, 0x26, 0x91, 0x95, 0x8e, 0x5b, 0x47, 0x75, 0x45, 0xfb, 0xbf, 0xf6, 0xbe, 0xe4, 0x34, 0xf2, - 0x04, 0x51, 0xe1, 0xbf, 0xd7, 0x0f, 0xa2, 0x0b, 0x06, 0xe3, 0x56, 0x50, 0xf1, 0x4f, 0xfe, 0xd2, - 0xfa, 0x55, 0xd1, 0xaf, 0x01, 0x6a, 0xc5, 0x48, 0x51, 0x99, 0x3b, 0x24, 0x2b, 0xe8, 0x6f, 0x13, - 0x9d, 0x4b, 0x58, 0xe3, 0xb6, 0x33, 0x85, 0x03, 0x82, 0x2c, 0x40, 0x15, 0x07, 0x41, 0x82, 0x49, - 0x04, 0x47, 0x37, 0x09, 0xdd, 0xe7, 0x5e, 0x69, 0xba, 0x59, 0x65, 0x80, 0x94, 0xe6, 0x22, 0xe2, - 0x06, 0x20, 0x14, 0x68, 0x73, 0x70, 0x88, 0xf2, 0xe5, 0x3d, 0xc1, 0xf7, 0x8b, 0xbf, 0xc9, 0x70, - 0xaf, 0x4b, 0x5d, 0x00, 0x02, 0xfb, 0x11, 0xba, 0xcb, 0x10, 0xfd, 0xa6, 0x3d, 0x28, 0xd5, 0x00, - 0x77, 0x86, 0x3e, 0x90, 0xa3, 0xb2, 0x15, 0xff, 0xcd, 0x80, 0xb4, 0xf4, 0xe4, 0xac, 0x91, 0x3f, - 0xaa, 0x32, 0xaa, 0xe4, 0x14, 0xe4, 0x35, 0x32, 0x07, 0xbf, 0x9e, 0x7a, 0x69, 0xac, 0x84, 0x95, - 0x05, 0x14, 0xd7, 0x52, 0xde, 0x8e, 0x08, 0x8c, 0x41, 0x71, 0xec, 0x73, 0x2b, 0x82, 0x0d, 0x09, - 0xe0, 0x2f, 0x93, 0x7e, 0x95, 0xde, 0xfa, 0xbc, 0x1f, 0xf6, 0xa8, 0xe5, 0x54, 0x5b, 0x0c, 0x20, - 0x34, 0x75, 0xfc, 0x0d, 0xba, 0x8d, 0x3e, 0xe9, 0xc9, 0xec, 0xe0, 0x9f, 0xb8, 0x31, 0xc5, 0x94, - 0xf5, 0x3f, 0x4e, 0xb6, 0xd3, 0x8c, 0x38, 0x54, 0x65, 0xe9, 0x87, 0x79, 0xc5, 0x09, 0x54, 0xdd, - 0xf4, 0xaa, 0xa1, 0xfb, 0xa1, 0xab, 0x83, 0xec, 0x12, 0x8f, 0xd9, 0x90, 0xde, 0xd6, 0x49, 0xe5, - 0xe3, 0xd0, 0x6c, 0xd6, 0x42, 0x94, 0x2c, 0x0f, 0x71, 0x4e, 0x27, 0x60, 0x0f, 0x6e, 0x4b, 0xf4, - 0x75, 0x09, 0xaf, 0xb2, 0xc5, 0x82, 0x68, 0x7b, 0x46, 0x07, 0x31, 0x4c, 0x7f, 0x65, 0x48, 0xb8, - 0x87, 0x95, 0xa2, 0x45, 0xf5, 0xce, 0x0e, 0x36, 0x8b, 0xdf, 0xd2, 0xf1, 0x91, 0x7f, 0x62, 0x6e, - 0x0e, 0x25, 0xb5, 0x74, 0xde, 0x87, 0x0b, 0xe6, 0x65, 0x5d, 0xa9, 0x1e, 0x07, 0x0a, 0x2f, 0x3f, - 0x87, 0x0f, 0x3a, 0xe2, 0x6f, 0xb6, 0x13, 0x99, 0xf6, 0xb6, 0x53, 0x5b, 0xda, 0x9e, 0x33, 0xe0, - 0xb1, 0xae, 0xba, 0x65, 0xe5, 0x81, 0xb2, 0x0a, 0x55, 0xcb, 0xe5, 0xa1, 0x1c, 0xf8, 0x83, 0x18, - 0x83, 0x73, 0xd4, 0x9c, 0xc7, 0x8e, 0xfc, 0xa8, 0x41, 0x40, 0x0d, 0x20, 0x1c, 0xe0, 0x23, 0xee, - 0x52, 0x75, 0xed, 0x86, 0x8a, 0x56, 0x7d, 0x70, 0x14, 0x9c, 0x67, 0xcd, 0x35, 0x4d, 0xf4, 0x6e, - 0xed, 0x36, 0x8b, 0xf4, 0x31, 0xed, 0x31, 0xeb, 0xf0, 0xfe, 0xad, 0xfa, 0x7b, 0xf7, 0xe3, 0x4d, - 0x90, 0x18, 0x53, 0xce, 0xdf, 0xbf, 0xd3, 0xaa, 0x75, 0xe4, 0xa9, 0x91, 0x76, 0x13, 0x44, 0x6a, - 0x3c, 0xc4, 0x35, 0x5e, 0x6b, 0xac, 0x47, 0x49, 0xad, 0xa7, 0xc8, 0x5b, 0x4c, 0x34, 0x7f, 0x59, - 0xba, 0x8f, 0x8a, 0xcc, 0xf4, 0xd1, 0x33, 0xb4, 0xa5, 0x3e, 0x0d, 0xb1, 0xf6, 0x57, 0x9d, 0x1e, - 0x08, 0xe3, 0x3d, 0x56, 0x0d, 0x3d, 0x7a, 0x25, 0x15, 0xaf, 0xb1, 0xe0, 0x3a, 0x84, 0x76, 0x86, - 0xb7, 0x88, 0x7f, 0x28, 0xa5, 0x59, 0xc3, 0xcb, 0x67, 0xf9, 0x87, 0x6e, 0xd4, 0x52, 0x6b, 0x84, - 0x11, 0x0f, 0xc6, 0x25, 0x47, 0x6e, 0x21, 0x2f, 0x9a, 0x09, 0xe7, 0x2c, 0x04, 0xfd, 0xc9, 0x54, - 0xbb, 0xd7, 0x25, 0x4a, 0xed, 0x9a, 0x68, 0x7b, 0xa2, 0x00, 0xae, 0x1d, 0xe2, 0xdd, 0x37, 0x61, - 0xfb, 0x47, 0x1c, 0x21, 0x68, 0x97, 0x0a, 0x7e, 0x15, 0x69, 0xa5, 0x5a, 0xf5, 0x25, 0x9e, 0x42, - 0x66, 0x49, 0x78, 0x36, 0x74, 0x8c, 0x59, 0x30, 0x76, 0xa7, 0xa4, 0x54, 0x12, 0xc3, 0x6a, 0x01, - 0xa4, 0x34, 0x28, 0x70, 0xb4, 0xa8, 0x98, 0xd1, 0xa2, 0x10, 0x76, 0x5c, 0x55, 0xd5, 0x3c, 0xe1, - 0x99, 0xe9, 0x28, 0x89, 0x42, 0x06, 0xc9, 0xc7, 0x68, 0x7b, 0x28, 0x88, 0x00, 0xb5, 0x84, 0xad, - 0x2d, 0xbc, 0x0b, 0x42, 0x8c, 0x4d, 0x46, 0xe5, 0xa7, 0x04, 0x91, 0x2d, 0x31, 0xd4, 0xcf, 0xd3, - 0xaa, 0x6c, 0xa8, 0x38, 0x7e, 0x8f, 0x30, 0x6b, 0xe4, 0xc3, 0x83, 0xdc, 0x27, 0x31, 0x20, 0x41, - 0x43, 0x33, 0xcd, 0x25, 0x6a, 0x8f, 0xb4, 0x59, 0xa1, 0x24, 0xa0, 0x96, 0x54, 0x7d, 0x8d, 0x5c, - 0xb9, 0x7a, 0xa9, 0xf1, 0x29, 0x64, 0x38, 0x0a, 0xdd, 0x4c, 0x78, 0x8f, 0xb4, 0x3a, 0x73, 0x69, - 0x9b, 0xb2, 0x30, 0x30, 0x0f, 0xb4, 0x02, 0x43, 0xda, 0x71, 0x12, 0x4a, 0x21, 0xa8, 0xac, 0x4a, - 0x12, 0xa1, 0x4d, 0x62, 0x03, 0x42, 0x93, 0xf3, 0x8c, 0x9a, 0xa8, 0xaf, 0x44, 0x03, 0x2e, 0x9d, - 0x63, 0x18, 0x4e, 0x51, 0x57, 0xee, 0x29, 0xbc, 0xba, 0x80, 0x1a, 0x3a, 0xf9, 0x42, 0x27, 0x9b, - 0x76, 0x60, 0x23, 0xac, 0x1f, 0x99, 0xd6, 0xde, 0x2c, 0x03, 0x3a, 0xcc, 0xbe, 0x0f, 0xd5, 0x13, - 0xa6, 0xf4, 0x07, 0x0f, 0xb6, 0x03, 0x45, 0x80, 0x65, 0x9b, 0xef, 0xfd, 0xb3, 0x51, 0x6c, 0xcb, - 0x78, 0x3c, 0xd4, 0x8a, 0xc7, 0xe0, 0x86, 0x88, 0x3c, 0x42, 0x9b, 0xd9, 0xd9, 0x9a, 0x38, 0x51, - 0x8f, 0xba, 0xc1, 0x6a, 0xcd, 0xc8, 0x2b, 0x91, 0x2a, 0x05, 0x44, 0x39, 0x1a, 0x05, 0xb3, 0xaf, - 0xa8, 0x3f, 0x25, 0x89, 0xbf, 0xd0, 0xe5, 0x9d, 0x60, 0x69, 0xb9, 0x02, 0xac, 0x69, 0xb6, 0x84, - 0x15, 0xcf, 0x5d, 0x2f, 0x55, 0x87, 0x8e, 0x8c, 0x93, 0x58, 0x9a, 0xd8, 0x41, 0x69, 0xea, 0xff, - 0x4d, 0xfe, 0x5d, 0x38, 0x92, 0x2c, 0xa6, 0xb3, 0xa7, 0x89, 0xb4, 0xa0, 0xba, 0x32, 0x31, 0x8c, - 0x45, 0xf9, 0x6e, 0xf3, 0x39, 0x1c, 0x2e, 0x39, 0x0e, 0x5a, 0x83, 0xa1, 0xd9, 0xaa, 0xa7, 0x4b, - 0xfb, 0x0d, 0x24, 0xb3, 0x0f, 0x38, 0x84, 0x7c, 0x4e, 0x82, 0x29, 0xa4, 0x98, 0xc9, 0x9a, 0xc8, - 0xb0, 0x71, 0x73, 0xce, 0xde, 0x70, 0x20, 0x1f, 0x42, 0xb4, 0x72, 0x39, 0x06, 0xb3, 0x51, 0x86, - 0xda, 0xb3, 0x21, 0xa5, 0x05, 0x39, 0x3e, 0x5b, 0x4c, 0xfd, 0xbb, 0xa9, 0x96, 0x77, 0xfe, 0xd3, - 0x9e, 0x36, 0x9f, 0xcc, 0x1b, 0x1c, 0x0d, 0x96, 0x14, 0x01, 0xec, 0x3b, 0xbf, 0xe3, 0x41, 0xc5, - 0xee, 0x18, 0x2c, 0x16, 0xd0, 0x31, 0x2c, 0x88, 0x84, 0x5d, 0x5b, 0xe9, 0xb6, 0x5c, 0x67, 0x18, - 0x45, 0x46, 0xf0, 0xa8, 0x11, 0x08, 0xbe, 0xc7, 0xaf, 0x79, 0x93, 0x92, 0xf2, 0x9a, 0xa8, 0x87, - 0xf6, 0x4b, 0xde, 0xf5, 0xae, 0xb0, 0x2c, 0xc4, 0xda, 0x10, 0x0e, 0xf6, 0xd7, 0x48, 0x1f, 0x76, - 0xdb, 0x64, 0xc3, 0xf7, 0xfb, 0xe8, 0x75, 0xe1, 0x03, 0x23, 0x08, 0x06, 0x12, 0xf0, 0xf2, 0x8e, - 0xf0, 0x43, 0x0d, 0x9e, 0xfb, 0x0d, 0x8a, 0xc0, 0x25, 0xed, 0x90, 0xe8, 0xc7, 0x80, 0x6a, 0x5a, - 0xad, 0x39, 0xc1, 0xdb, 0x15, 0xfd, 0x65, 0xcf, 0xf7, 0x98, 0xef, 0xb0, 0xe8, 0xe3, 0x89, 0xca, - 0xcf, 0xac, 0x34, 0x80, 0x28, 0x42, 0x0a, 0x56, 0xc2, 0x99, 0xdb, 0x83, 0xd5, 0x06, 0xa2, 0x88, - 0x71, 0xe5, 0x2c, 0x72, 0xdd, 0xe5, 0xc6, 0xf9, 0x3d, 0xbe, 0x71, 0xfe, 0x61, 0x00, 0x30, 0xaa, - 0x3d, 0x89, 0xf6, 0x99, 0x73, 0xa6, 0x83, 0x07, 0x1d, 0x6e, 0x16, 0x4a, 0x34, 0xfc, 0x20, 0xf0, - 0x93, 0x04, 0x17, 0xbb, 0x21, 0x94, 0xf9, 0x97, 0x7a, 0xc4, 0xfa, 0x9e, 0x0a, 0x44, 0x03, 0x42, - 0x04, 0xb9, 0x0e, 0x69, 0xf8, 0x90, 0x51, 0xc4, 0xbd, 0xd7, 0x1d, 0xfd, 0x2d, 0xef, 0x58, 0x73, - 0xb5, 0x0e, 0xbd, 0xd3, 0xea, 0xad, 0x23, 0x49, 0xef, 0x0d, 0xbf, 0x40, 0xcb, 0xc7, 0xb3, 0xec, - 0xcb, 0x2e, 0x10, 0xe5, 0x96, 0xbb, 0x64, 0xcd, 0x77, 0x0d, 0x43, 0x49, 0x23, 0xfb, 0xca, 0x21, - 0x46, 0x00, 0x94, 0xbb, 0xc8, 0x64, 0xa2, 0x27, 0x65, 0xb7, 0x94, 0x52, 0xf2, 0x7f, 0x8b, 0x39, - 0x5b, 0x2f, 0x6d, 0x7b, 0xad, 0xeb, 0x92, 0x08, 0x2a, 0x2d, 0xd4, 0x84, 0x9b, 0x4f, 0x46, 0x1e, - 0xed, 0xfc, 0x27, 0x85, 0x49, 0x0f, 0xd0, 0xbe, 0xd3, 0x02, 0xaf, 0xa5, 0x5f, 0x4b, 0x42, 0x0f, - 0x32, 0xfd, 0x27, 0x5a, 0x7d, 0xbd, 0xcd, 0x46, 0xcb, 0x1c, 0x25, 0xcd, 0x07, 0x3f, 0x63, 0xe1, - 0x87, 0xf1, 0xa6, 0x94, 0x46, 0x22, 0x84, 0x21, 0xf1, 0x41, 0xfc, 0xd7, 0x0d, 0x19, 0xe3, 0xce, - 0xb6, 0xa0, 0x2a, 0x20, 0x8b, 0xef, 0x44, 0x68, 0xf3, 0x24, 0xcd, 0x36, 0x99, 0x44, 0x47, 0x4f, - 0x7e, 0x2e, 0x4e, 0x0c, 0x4f, 0x25, 0x8f, 0x51, 0x8b, 0x6c, 0x82, 0x00, 0x16, 0x2b, 0x62, 0x18, - 0x61, 0x63, 0x7a, 0xc7, 0x38, 0x5d, 0x81, 0xcf, 0x08, 0xfe, 0x1d, 0x98, 0x0b, 0x12, 0xd4, 0xe0, - 0xad, 0xea, 0x59, 0x91, 0x1c, 0x80, 0x61, 0x14, 0x2e, 0xea, 0x1c, 0x17, 0x90, 0x0b, 0xe1, 0x57, - 0x6b, 0x31, 0x22, 0xad, 0x22, 0x16, 0x2b, 0x43, 0x56, 0x8c, 0x0c, 0x00, 0xaa, 0xf2, 0xb7, 0x6f, - 0xb7, 0x50, 0x88, 0x65, 0x02, 0x8e, 0x28, 0x25, 0x5c, 0x63, 0xc4, 0x6e, 0x34, 0x1c, 0x6e, 0x7c, - 0x2b, 0x4e, 0x4f, 0x58, 0xa0, 0x0b, 0x97, 0xcd, 0x8e, 0xb1, 0xf2, 0xa7, 0xe6, 0x8e, 0xb8, 0xc9, - 0xa5, 0x4b, 0x04, 0x8e, 0xa6, 0xae, 0xf9, 0x35, 0x14, 0xd3, 0x04, 0xd9, 0x40, 0x71, 0xf4, 0xf1, - 0x2d, 0xac, 0xdd, 0x36, 0x0c, 0x24, 0xd9, 0x54, 0x18, 0x69, 0xac, 0xe3, 0x6f, 0xa4, 0x09, 0x55, - 0x8c, 0x7c, 0xa2, 0xb7, 0x5c, 0xf3, 0x1a, 0xe6, 0xbb, 0x0a, 0xba, 0xef, 0xc0, 0xff, 0xa5, 0x02, - 0xec, 0x72, 0x05, 0xb1, 0x3d, 0x23, 0xdf, 0x1e, 0xa5, 0xc6, 0xf3, 0xfb, 0x4f, 0x06, 0x56, 0x77, - 0xef, 0xe5, 0x0f, 0x29, 0x45, 0xf0, 0xee, 0x9c, 0x58, 0xb4, 0x0d, 0xe2, 0xb3, 0x30, 0x17, 0xb6, - 0xa6, 0xa6, 0x8e, 0x2b, 0xfa, 0x60, 0xef, 0xde, 0x9f, 0x6d, 0xef, 0xac, 0x52, 0xfa, 0x05, 0x5c, - 0x0d, 0xe9, 0xac, 0xd0, 0x4d, 0x03, 0x6f, 0x7d, 0x0f, 0x83, 0xdc, 0x22, 0x63, 0x42, 0x49, 0x73, - 0xbb, 0xa5, 0xf0, 0x8b, 0x00, 0x40, 0xbe, 0x78, 0xa4, 0x5f, 0xea, 0xad, 0x3e, 0xd6, 0xd4, 0x53, - 0xb1, 0xc1, 0x30, 0x2c, 0x0c, 0x35, 0xec, 0x3f, 0x3a, 0x97, 0x15, 0x0e, 0xf5, 0x6c, 0x05, 0xf7, - 0x50, 0xe1, 0x1d, 0x6a, 0x1b, 0x1c, 0xf9, 0x96, 0x68, 0x06, 0xbf, 0xb5, 0x13, 0xc2, 0xfd, 0x3d, - 0x76, 0xdf, 0x59, 0xa8, 0x55, 0xce, 0x15, 0x97, 0xbd, 0xb4, 0xa4, 0xf6, 0x28, 0x3f, 0xfd, 0x10, - 0x49, 0x9a, 0xa1, 0x1e, 0xe8, 0x1c, 0x86, 0xa6, 0xb3, 0xed, 0x30, 0xdf, 0x95, 0x3f, 0x49, 0x3a, - 0x89, 0x1c, 0x5f, 0x17, 0x9e, 0x3c, 0xa3, 0x02, 0x5d, 0xfb, 0x15, 0xae, 0xd8, 0x5b, 0x74, 0xb8, - 0x10, 0xf4, 0x99, 0x21, 0x22, 0x96, 0xac, 0x22, 0xa7, 0x35, 0x86, 0xd2, 0x5b, 0xc6, 0xb7, 0x33, - 0xc7, 0x10, 0x8c, 0x8c, 0x0d, 0x3e, 0x88, 0xa3, 0x68, 0x09, 0xfe, 0xd6, 0x68, 0x05, 0xc6, 0x9e, - 0x57, 0x72, 0xf6, 0xc2, 0x96, 0x01, 0x6b, 0xef, 0x71, 0xb3, 0xf7, 0xae, 0x0f, 0x9d, 0x77, 0x4a, - 0x00, 0x82, 0x04, 0x11, 0xaf, 0x88, 0x77, 0x06, 0xb1, 0xe4, 0x2a, 0xc6, 0xca, 0xf8, 0x84, 0x10, - 0x80, 0x0c, 0xd4, 0xc3, 0x4c, 0x78, 0xa0, 0xc2, 0xac, 0x33, 0x9a, 0x74, 0xf2, 0xf4, 0x6d, 0x26, - 0xcf, 0x1d, 0x64, 0x87, 0x13, 0xf4, 0x47, 0x15, 0x60, 0xdd, 0x26, 0xa5, 0xbc, 0xb8, 0xcf, 0x9e, - 0xa3, 0x84, 0xe5, 0xc0, 0x97, 0x4d, 0x16, 0x71, 0x22, 0x79, 0x22, 0x8c, 0xe4, 0x0f, 0xdf, 0xdf, - 0xee, 0xac, 0x1f, 0xfa, 0xe8, 0x19, 0x35, 0x15, 0x82, 0xe1, 0xb0, 0x64, 0x40, 0x60, 0xc6, 0x4f, - 0xd4, 0x3e, 0x60, 0x2e, 0x14, 0xe4, 0x0e, 0x10, 0x71, 0x1e, 0x23, 0x42, 0x63, 0x73, 0x0d, 0xa4, - 0xe2, 0xe7, 0x00, 0xc8, 0x03, 0xdc, 0xf2, 0xba, 0x2f, 0x79, 0x5b, 0xe1, 0xd8, 0xf5, 0x1e, 0xd8, - 0xa9, 0x2b, 0x39, 0x63, 0xb5, 0xdf, 0x5d, 0x40, 0x5c, 0xa1, 0xc5, 0x2e, 0xf5, 0x7e, 0x1b, 0x44, - 0xa3, 0x57, 0x2c, 0x45, 0xc1, 0x4e, 0xc9, 0xec, 0xa2, 0x90, 0x65, 0x4d, 0xd7, 0xd7, 0x00, 0xea, - 0x78, 0xa0, 0x41, 0x50, 0xfa, 0x8c, 0x5f, 0x0e, 0xcc, 0x41, 0x17, 0xc9, 0xe5, 0xa5, 0x40, 0x42, - 0x98, 0x63, 0x66, 0xe9, 0x70, 0xcc, 0xf8, 0x9d, 0x05, 0xac, 0x0d, 0x9f, 0x20, 0xf2, 0x25, 0xca, - 0x4e, 0xae, 0xf4, 0x1a, 0x6f, 0xb6, 0xbd, 0xc9, 0x6e, 0x5b, 0x68, 0x69, 0xfd, 0x3f, 0x28, 0x82, - 0x00, 0xaf, 0xa4, 0xd7, 0x19, 0xee, 0x4e, 0x9e, 0x6c, 0x38, 0xdf, 0x25, 0x73, 0x57, 0x01, 0x34, - 0x33, 0xda, 0x46, 0xfd, 0x97, 0xdc, 0x58, 0x5a, 0xf6, 0xbb, 0xd5, 0xf5, 0x96, 0x6c, 0xaf, 0x58, - 0xe2, 0x00, 0xca, 0x38, 0x70, 0x50, 0xc0, 0x58, 0xf3, 0xeb, 0x7d, 0x1c, 0x39, 0x73, 0x7d, 0x5c, - 0xa1, 0xee, 0x3c, 0x09, 0x31, 0x62, 0x9b, 0x3d, 0x6d, 0x02, 0x32, 0xc4, 0x3f, 0xb2, 0xc6, 0xa5, - 0xa5, 0xfd, 0x76, 0xe7, 0x0e, 0xf9, 0xca, 0xb5, 0x7e, 0xcc, 0x71, 0x90, 0x01, 0x47, 0xc9, 0x4b, - 0x88, 0x1a, 0x26, 0x6e, 0xf2, 0xfb, 0x08, 0x12, 0x81, 0x7a, 0x17, 0x70, 0x77, 0x06, 0x41, 0xaf, - 0xa2, 0x79, 0x03, 0x42, 0xe4, 0x3e, 0x33, 0xf7, 0x7b, 0xfa, 0xff, 0x80, 0x4b, 0xe5, 0xe1, 0x46, - 0x59, 0xc4, 0x48, 0x0b, 0x41, 0xc3, 0x42, 0x20, 0x85, 0xb5, 0x17, 0xa2, 0x76, 0x38, 0xda, 0xa2, - 0x56, 0x5c, 0xcd, 0x26, 0x99, 0xab, 0xeb, 0xee, 0x4e, 0x1a, 0xf4, 0xb5, 0xef, 0x39, 0xbf, 0x43, - 0x2b, 0xa5, 0xff, 0xeb, 0xb4, 0x4f, 0xb2, 0x6a, 0x0f, 0xd2, 0xdd, 0xca, 0xef, 0x8f, 0x6a, 0xbe, - 0x91, 0x6f, 0x9e, 0x33, 0x39, 0x32, 0x94, 0xa7, 0x95, 0x46, 0x7c, 0x48, 0x17, 0x90, 0xa6, 0x6c, - 0x15, 0xc9, 0x7a, 0x9c, 0x0a, 0xe0, 0xbf, 0xba, 0x9a, 0xc7, 0x54, 0x7f, 0xb1, 0x41, 0x94, 0x8a, - 0xa0, 0x1c, 0xa5, 0x0e, 0x24, 0xf3, 0x00, 0x56, 0xeb, 0x67, 0x10, 0x0c, 0x72, 0x43, 0xab, 0xba, - 0xf0, 0x74, 0x14, 0x66, 0xc6, 0xfb, 0xa8, 0xc0, 0x7e, 0x38, 0x15, 0xe0, 0xf9, 0x14, 0x68, 0x9d, - 0x19, 0x4e, 0x28, 0x31, 0xb4, 0xf1, 0x51, 0x29, 0xa9, 0x5e, 0x81, 0x8c, 0xa1, 0x05, 0x6e, 0x1f, - 0xc1, 0x47, 0xb4, 0x47, 0x76, 0x14, 0x4b, 0xc6, 0x68, 0x1e, 0x81, 0x97, 0xda, 0x02, 0x1c, 0xfd, - 0xf6, 0xaf, 0xd9, 0x79, 0xe6, 0xa5, 0x86, 0x34, 0x30, 0x10, 0xe4, 0x1d, 0xd4, 0x7d, 0x1a, 0xa8, - 0x4f, 0xa1, 0x5a, 0x01, 0x6b, 0x1a, 0x0b, 0xd4, 0x53, 0xc4, 0x8a, 0x6b, 0x82, 0x10, 0x4e, 0xb5, - 0xa7, 0xc4, 0x74, 0x2e, 0x9d, 0xaa, 0x6e, 0xb6, 0x60, 0xa7, 0xec, 0xda, 0x37, 0x8b, 0xd2, 0x91, - 0x6b, 0xfa, 0x3d, 0x6d, 0x83, 0x28, 0x2a, 0xa0, 0x6d, 0x6c, 0xd9, 0x3e, 0x8f, 0x79, 0x2d, 0x29, - 0xef, 0xdd, 0xb4, 0xe4, 0xa4, 0x1d, 0xa2, 0xe1, 0x67, 0x4f, 0xc8, 0x8c, 0x63, 0x7d, 0x96, 0xd8, - 0x32, 0xb8, 0x27, 0x85, 0x08, 0x09, 0x25, 0x3a, 0x75, 0xea, 0xec, 0x1e, 0x28, 0xda, 0xfb, 0x76, - 0x48, 0x1e, 0x99, 0x31, 0x27, 0x14, 0x2a, 0x58, 0xf7, 0x8a, 0xfc, 0xd5, 0xf8, 0xfb, 0x19, 0xb4, - 0x47, 0x2b, 0x7b, 0x3b, 0xd0, 0x7c, 0x60, 0x43, 0xb8, 0xb3, 0x0f, 0x4d, 0xf6, 0x83, 0xac, 0x75, - 0xf5, 0x9e, 0xff, 0x07, 0xf9, 0x3c, 0xc4, 0x76, 0x9f, 0xc2, 0x1e, 0x0e, 0xc5, 0x66, 0xc7, 0x8a, - 0x5d, 0x68, 0x9c, 0xa7, 0x05, 0x4c, 0x9b, 0x70, 0x33, 0x6c, 0x65, 0x9f, 0x79, 0x7b, 0xb9, 0x85, - 0x5b, 0x7f, 0xbd, 0xae, 0x86, 0x3b, 0x38, 0xf7, 0x56, 0x32, 0x86, 0x58, 0xa3, 0x65, 0x3d, 0x06, - 0xac, 0x18, 0x83, 0x95, 0x67, 0xf4, 0x42, 0xd1, 0x7e, 0x14, 0x94, 0xef, 0xda, 0xdd, 0x12, 0x9d, - 0x68, 0xf4, 0x63, 0xff, 0xbb, 0x5b, 0x2a, 0x8e, 0xd5, 0x90, 0x2c, 0xba, 0x44, 0xb8, 0xd4, 0xf3, - 0xda, 0xb1, 0x03, 0x78, 0xc9, 0x81, 0xea, 0x8e, 0x4b, 0x36, 0x49, 0xd0, 0x08, 0x6e, 0xce, 0x9e, - 0x62, 0x03, 0xf1, 0x40, 0x77, 0x3f, 0x76, 0x07, 0x0a, 0xf7, 0x36, 0x4a, 0xa6, 0x2a, 0x4d, 0x36, - 0xd7, 0xde, 0xbc, 0xb8, 0xe7, 0xd8, 0x58, 0x7e, 0x62, 0xfe, 0x3f, 0xb2, 0x97, 0x86, 0xcc, 0x65, - 0x06, 0xbd, 0x5e, 0x90, 0x1b, 0x48, 0xaa, 0xea, 0xe0, 0xb4, 0x90, 0x5b, 0x22, 0xd9, 0x39, 0x7e, - 0x43, 0x57, 0x3c, 0x29, 0x08, 0x3b, 0xb1, 0x7a, 0x98, 0x58, 0x21, 0xd9, 0x53, 0xd2, 0x46, 0x89, - 0x2c, 0x4c, 0x76, 0xcb, 0xc1, 0xca, 0x98, 0x6f, 0xd2, 0xb0, 0x6c, 0xbf, 0xe6, 0xf9, 0x77, 0x57, - 0x3a, 0x8e, 0xfc, 0xb4, 0x80, 0xc7, 0xa0, 0x18, 0x3e, 0x84, 0x03, 0x48, 0x6b, 0x3f, 0x5c, 0x1f, - 0x66, 0xbd, 0x2f, 0xdd, 0x67, 0x6c, 0xac, 0x55, 0x60, 0x4c, 0x90, 0xf5, 0xdb, 0x2f, 0x6c, 0x5b, - 0x78, 0xa7, 0xc7, 0x90, 0xed, 0xcb, 0x42, 0xc8, 0xf1, 0xe9, 0x71, 0x6d, 0x0e, 0xda, 0x66, 0x45, - 0x5f, 0x68, 0x5c, 0x89, 0x56, 0x5c, 0xc4, 0xd6, 0xc3, 0x2e, 0x14, 0x7c, 0x76, 0x07, 0xa2, 0xf0, - 0xc6, 0x43, 0xcd, 0x9c, 0x56, 0x03, 0x30, 0xad, 0x31, 0x50, 0xa9, 0x70, 0x87, 0xd9, 0xa1, 0x4f, - 0xb5, 0x60, 0x2d, 0xc6, 0x97, 0xa3, 0x3c, 0xd5, 0x53, 0xca, 0xf8, 0x42, 0xc8, 0xb9, 0x64, 0x35, - 0x97, 0x1f, 0x3e, 0x59, 0x4f, 0x3a, 0xa2, 0x7c, 0xa4, 0x41, 0x67, 0xc7, 0x31, 0x69, 0x03, 0x52, - 0xa8, 0x70, 0x95, 0xbc, 0xe4, 0xe8, 0x34, 0xb1, 0xf4, 0x3d, 0xad, 0x8f, 0x6d, 0x8f, 0x7c, 0xec, - 0x5a, 0x76, 0x2f, 0x2b, 0x08, 0x15, 0x8f, 0x6e, 0x05, 0x8b, 0xde, 0xfc, 0xe7, 0x99, 0x19, 0xfd, - 0x4c, 0x9d, 0x64, 0x6c, 0xd5, 0x2e, 0x93, 0x2d, 0x54, 0xed, 0x1e, 0x9a, 0xee, 0x8d, 0x41, 0xf8, - 0x05, 0x1a, 0x73, 0x87, 0x06, 0x67, 0x95, 0x33, 0xaf, 0xec, 0x0b, 0x44, 0x3f, 0x67, 0x15, 0x83, - 0x99, 0x3d, 0xf0, 0x65, 0x11, 0xa8, 0x81, 0x23, 0x3f, 0xa2, 0x11, 0x6b, 0x60, 0x5a, 0x54, 0x72, - 0x79, 0x2f, 0x22, 0x45, 0xcf, 0xa8, 0xf4, 0xff, 0x66, 0xd3, 0x5a, 0xc0, 0x4a, 0xcd, 0x56, 0xc0, - 0x52, 0x22, 0xa2, 0xac, 0xe1, 0xb1, 0xb6, 0x28, 0xac, 0x26, 0x6a, 0xa2, 0x00, 0xe9, 0x78, 0x7d, - 0x3c, 0x89, 0x8f, 0x7b, 0x9d, 0x80, 0xe4, 0x0e, 0x24, 0x56, 0xd9, 0xf1, 0x8d, 0xd3, 0xd7, 0x9e, - 0x53, 0x1d, 0xb8, 0xf0, 0xe5, 0xe4, 0x5d, 0xd4, 0x58, 0xe8, 0x0d, 0x3f, 0xd5, 0x63, 0x33, 0xe2, - 0x4a, 0xd9, 0x8f, 0x9a, 0x97, 0x90, 0xa5, 0x55, 0xe8, 0x33, 0x20, 0x65, 0xb2, 0x42, 0xb7, 0xa3, - 0x4c, 0xed, 0xe9, 0x7a, 0x52, 0x0e, 0x93, 0x44, 0x3f, 0x7c, 0x93, 0x21, 0x15, 0x24, 0xfa, 0x99, - 0x47, 0x1a, 0x02, 0x86, 0x3f, 0xb6, 0xfd, 0xec, 0x95, 0x66, 0x4c, 0x3f, 0x87, 0x9f, 0xf6, 0xbe, - 0x26, 0xf2, 0xb0, 0x81, 0xf4, 0x78, 0xd5, 0xa3, 0x04, 0xf7, 0xdd, 0x73, 0x93, 0x8f, 0xa6, 0xda, - 0xd9, 0x8e, 0xad, 0x5e, 0x1a, 0x5e, 0x29, 0xee, 0x01, 0x21, 0x73, 0xa6, 0x3a, 0x6b, 0x6a, 0xcb, - 0xaa, 0x4a, 0x2f, 0x73, 0x97, 0x6f, 0xbc, 0xf0, 0x4e, 0x75, 0x52, 0x70, 0x93, 0xb9, 0x4a, 0xa8, - 0xe8, 0x20, 0x69, 0x2a, 0x8b, 0x20, 0xa9, 0xfc, 0x1d, 0xe6, 0xed, 0xf0, 0x6a, 0x94, 0xe2, 0x32, - 0xdc, 0xee, 0x5d, 0xf7, 0x12, 0xec, 0x0d, 0x22, 0x10, 0xfd, 0x6d, 0x89, 0x5f, 0x8d, 0x92, 0x6f, - 0x15, 0x6b, 0xc0, 0x52, 0xe4, 0xc6, 0x6a, 0xa1, 0xa1, 0xb2, 0x0c, 0x62, 0x3f, 0x07, 0x64, 0x6c, - 0xad, 0x53, 0xe3, 0xa5, 0xce, 0xb3, 0x2c, 0x01, 0xbf, 0xef, 0xf5, 0xf7, 0x57, 0x00, 0xe6, 0x40, - 0xa8, 0xcc, 0x40, 0x36, 0x8f, 0xdc, 0x31, 0x42, 0xbe, 0x63, 0x45, 0xd2, 0x25, 0x30, 0x6a, 0x49, - 0x7f, 0x6c, 0xe1, 0x70, 0x09, 0x72, 0x8f, 0xdd, 0xaf, 0x9a, 0xa1, 0xe8, 0x3a, 0x41, 0xbd, 0x03, - 0x25, 0x70, 0x7f, 0xef, 0x8d, 0x77, 0x18, 0x65, 0x48, 0xfd, 0xcb, 0xaf, 0x52, 0xea, 0x13, 0xb5, - 0xa9, 0xf7, 0xfd, 0xd5, 0x25, 0x74, 0x03, 0xbf, 0x17, 0x2d, 0xfb, 0xb6, 0x41, 0x06, 0xa5, 0x8b, - 0xce, 0xb0, 0x3b, 0x8f, 0x90, 0xd2, 0xa1, 0x67, 0x88, 0x53, 0x68, 0x29, 0xd7, 0x31, 0xeb, 0x68, - 0x1a, 0x49, 0xbf, 0x7b, 0x57, 0x1f, 0x13, 0x4e, 0xa5, 0x85, 0x6f, 0x01, 0x6e, 0xe7, 0xeb, 0x22, - 0x4c, 0x93, 0xd1, 0x64, 0x35, 0xbc, 0x1a, 0xcb, 0x34, 0x09, 0xb6, 0xb1, 0x5b, 0x7a, 0x5f, 0x37, - 0x30, 0x53, 0x01, 0x09, 0xe2, 0xcd, 0xb0, 0x5e, 0xd3, 0x16, 0xfc, 0x10, 0xa0, 0x6a, 0x9f, 0x93, - 0xd5, 0x07, 0x1b, 0x6d, 0x20, 0x52, 0x4b, 0xb6, 0xc9, 0xa9, 0x33, 0xd3, 0x4f, 0x11, 0x1e, 0x75, - 0xf7, 0xc9, 0x62, 0x78, 0xb2, 0x09, 0xf9, 0x58, 0x63, 0x22, 0xf4, 0xcd, 0x6a, 0x3c, 0xf0, 0xf5, - 0xd2, 0x1c, 0x40, 0xf1, 0xa7, 0x36, 0x8c, 0x0f, 0xbb, 0xd1, 0x3d, 0xa5, 0xcb, 0x85, 0xfd, 0x54, - 0x5e, 0xfe, 0x19, 0xdf, 0x47, 0xb5, 0x4a, 0x37, 0xd3, 0xcb, 0x53, 0xfe, 0xaa, 0x65, 0xc0, 0x31, - 0xb3, 0xfa, 0x4e, 0x11, 0xf5, 0xb4, 0x61, 0x3e, 0xee, 0x2c, 0xbc, 0x0f, 0x28, 0x7a, 0x52, 0x0f, - 0x5f, 0x18, 0xf6, 0x11, 0xbd, 0x72, 0xaf, 0x48, 0x58, 0x30, 0xc7, 0x69, 0x5b, 0xda, 0x3c, 0x24, - 0x64, 0x79, 0x03, 0x32, 0xa3, 0x06, 0xc7, 0xb8, 0xa4, 0x67, 0x2a, 0x80, 0xf7, 0x72, 0xc2, 0x47, - 0x07, 0xf5, 0x8d, 0xc1, 0x50, 0x0d, 0x69, 0x7c, 0xc1, 0xc3, 0x1a, 0x98, 0xd8, 0x88, 0x41, 0x8a, - 0x2a, 0x03, 0xdf, 0x79, 0x01, 0xf8, 0xd5, 0x7a, 0xa9, 0x87, 0x7b, 0x3f, 0xa3, 0x36, 0x76, 0xfb, - 0x29, 0x0b, 0x3f, 0x35, 0x75, 0x3d, 0xad, 0xc9, 0x1d, 0xd2, 0xca, 0xf1, 0x9a, 0xe4, 0x28, 0x19, - 0xda, 0x1f, 0x48, 0xed, 0x7b, 0xc0, 0x06, 0xac, 0xda, 0x90, 0xd9, 0x5f, 0x46, 0x54, 0x63, 0x36, - 0x74, 0x7c, 0xdb, 0xe7, 0x34, 0xb3, 0x4a, 0x85, 0x1e, 0xa5, 0x78, 0xf2, 0x16, 0x56, 0x18, 0x27, - 0x17, 0x31, 0x7a, 0x16, 0x7e, 0x51, 0x00, 0xa3, 0x7a, 0xe5, 0x57, 0x98, 0xbd, 0xe1, 0x3f, 0x17, - 0x85, 0x8e, 0x43, 0x0e, 0x0b, 0xe2, 0x76, 0xf9, 0x08, 0xd5, 0x7b, 0x76, 0xd9, 0x91, 0x57, 0x10, - 0x32, 0x30, 0x77, 0x98, 0x4c, 0x60, 0x9a, 0xbb, 0xd8, 0xeb, 0xa8, 0xca, 0xdf, 0x40, 0xa8, 0x96, - 0x04, 0x4a, 0xa9, 0xd1, 0x03, 0x0c, 0xd9, 0xc2, 0xb4, 0x70, 0x01, 0x79, 0xd2, 0x77, 0x2a, 0x17, - 0x6b, 0x65, 0x45, 0x86, 0xe2, 0x5d, 0xcc, 0x14, 0xa9, 0x8b, 0x7f, 0x4f, 0xe7, 0xcd, 0x22, 0xdb, - 0xcb, 0x13, 0xf6, 0x49, 0x8a, 0x8b, 0x3d, 0x52, 0x23, 0x01, 0xc5, 0x1f, 0xd6, 0xbf, 0x17, 0x83, - 0xbe, 0xde, 0x8f, 0x23, 0xb4, 0x17, 0x3e, 0xe7, 0xc4, 0x36, 0x17, 0x82, 0x3b, 0x90, 0xfc, 0xd0, - 0xa9, 0x71, 0xed, 0xf3, 0xb7, 0x8b, 0xad, 0x1f, 0xd9, 0xfa, 0x56, 0xe8, 0x3b, 0x46, 0x65, 0xc9, - 0x55, 0x49, 0x3f, 0x60, 0x35, 0x6a, 0x4d, 0x4b, 0x26, 0x8b, 0x5b, 0xb4, 0x08, 0x8a, 0x5e, 0x97, - 0x5d, 0xf9, 0x37, 0x8c, 0x11, 0x0e, 0x8d, 0xe9, 0xa8, 0xf5, 0x6b, 0x24, 0x07, 0x8f, 0xb8, 0x9a, - 0xed, 0xba, 0xfd, 0xbe, 0xaf, 0xb2, 0x5c, 0x13, 0x1d, 0xe3, 0x52, 0xe7, 0x7d, 0xc0, 0xd9, 0x36, - 0xd3, 0x79, 0x21, 0x89, 0x66, 0xb7, 0x95, 0x22, 0x27, 0xba, 0x35, 0xb8, 0x37, 0x61, 0x37, 0xc8, - 0x9c, 0x5a, 0xae, 0xa8, 0x71, 0xcb, 0x8c, 0x1f, 0x68, 0xf3, 0xd0, 0xe4, 0xa0, 0x76, 0xc3, 0x6d, - 0xa6, 0x32, 0xf9, 0xdb, 0xd6, 0x44, 0x92, 0x66, 0xd9, 0x2e, 0xf2, 0x52, 0x42, 0xd8, 0xa7, 0xc9, - 0x64, 0x7a, 0x89, 0x0d, 0x38, 0x89, 0x3e, 0x7c, 0x76, 0x2f, 0xfa, 0xdd, 0x51, 0xcf, 0x28, 0x19, - 0x10, 0x5e, 0xd4, 0xa4, 0xdf, 0x92, 0x75, 0x7b, 0x5c, 0x6f, 0xb1, 0xf8, 0x3c, 0x93, 0x3f, 0x9f, - 0xe3, 0x4d, 0x78, 0xe0, 0x35, 0x2d, 0x9a, 0xb8, 0x4e, 0xfd, 0x13, 0xa6, 0x34, 0x43, 0x91, 0xdc, - 0x2b, 0x7c, 0x81, 0x3f, 0x0d, 0x95, 0x43, 0xa0, 0xfd, 0x29, 0x04, 0x94, 0xc3, 0xab, 0x99, 0xbe, - 0x08, 0x8a, 0xf1, 0x0e, 0x36, 0xe8, 0x03, 0x5d, 0xd8, 0xed, 0x3b, 0xdc, 0x07, 0x50, 0x95, 0x8d, - 0x7e, 0x37, 0x49, 0x7a, 0x1d, 0xd8, 0xf1, 0x3e, 0x8a, 0x9d, 0xef, 0x86, 0x78, 0xaa, 0x1c, 0x95, - 0x1c, 0x96, 0xcf, 0x5e, 0xab, 0x2f, 0xb8, 0x84, 0xff, 0x1f, 0xcc, 0x02, 0x5a, 0x1c, 0xe0, 0x3b, - 0x45, 0xbc, 0xa7, 0xa1, 0x63, 0x79, 0x97, 0x47, 0xd5, 0x3f, 0xc8, 0x1f, 0xf4, 0xb7, 0x2f, 0x9e, - 0xa3, 0x36, 0x89, 0x2c, 0xca, 0x3f, 0x8b, 0x2b, 0xd2, 0x42, 0xdf, 0x05, 0x81, 0x63, 0xcd, 0x5d, - 0x80, 0xd2, 0x6b, 0x99, 0xab, 0xbb, 0x10, 0xeb, 0xc3, 0x16, 0x8f, 0x9f, 0xdb, 0x5c, 0xb8, 0x88, - 0x02, 0xe5, 0xdd, 0x9a, 0x86, 0x5e, 0x55, 0x24, 0x62, 0x38, 0x33, 0x90, 0x34, 0xe5, 0xd2, 0xca, - 0xa8, 0x7e, 0x54, 0x93, 0x38, 0x51, 0x96, 0x5c, 0xd5, 0xbd, 0x9c, 0x80, 0x31, 0xae, 0xcf, 0xb7, - 0xe1, 0x0a, 0x4c, 0x25, 0xf2, 0x43, 0x2c, 0xa6, 0xd7, 0x62, 0x67, 0x6f, 0x6a, 0x9f, 0x0b, 0x68, - 0xa4, 0x87, 0x34, 0x4d, 0xca, 0xef, 0x1e, 0xde, 0x1e, 0x2c, 0x41, 0x89, 0x36, 0xce, 0x4b, 0x4a, - 0x3c, 0xf0, 0x7f, 0xbb, 0x0c, 0xbf, 0x91, 0x67, 0x01, 0x79, 0x2f, 0x06, 0xdb, 0x61, 0x3d, 0xb0, - 0xb9, 0x1f, 0x82, 0x9a, 0xe5, 0x35, 0x33, 0xff, 0xa1, 0xfe, 0xe4, 0xdf, 0xfe, 0x97, 0xb8, 0x4f, - 0x07, 0xe4, 0x1c, 0xc9, 0x3f, 0x4f, 0x16, 0x0c, 0xa8, 0xcb, 0xdb, 0xf5, 0xad, 0xea, 0xcc, 0x34, - 0x10, 0xaa, 0x86, 0xfd, 0xa9, 0xde, 0xa5, 0x35, 0x4e, 0x8f, 0x7a, 0xc9, 0x14, 0x2d, 0x07, 0x81, - 0x02, 0x07, 0xd8, 0x3f, 0x87, 0xed, 0xd8, 0x85, 0x31, 0x7b, 0x1d, 0x4b, 0xd5, 0x2e, 0xd8, 0xf0, - 0xe6, 0x46, 0xe4, 0x2f, 0x44, 0x73, 0x9e, 0xba, 0x93, 0xdc, 0x9f, 0x23, 0x5a, 0x6c, 0x55, 0x04, - 0x28, 0xd7, 0x27, 0xb1, 0x87, 0x83, 0x61, 0xc4, 0x5b, 0xa5, 0xac, 0xc5, 0x16, 0x2b, 0xb2, 0x2b, - 0xda, 0x52, 0xd6, 0xcd, 0xd5, 0xb1, 0xc0, 0xcc, 0x34, 0x51, 0xfd, 0xa7, 0xa9, 0xa3, 0x35, 0xcd, - 0x67, 0x6c, 0x85, 0xd1, 0x59, 0xd9, 0x89, 0xac, 0x43, 0x54, 0x6e, 0x2e, 0x92, 0xd9, 0x9d, 0xc8, - 0x6c, 0xa9, 0x53, 0x40, 0xc2, 0xce, 0xe9, 0x65, 0xd4, 0xc0, 0xd8, 0x4f, 0x07, 0x54, 0x8c, 0xc2, - 0xe3, 0x3d, 0xc4, 0x25, 0x61, 0x9c, 0x30, 0xf9, 0x22, 0x85, 0x7e, 0x69, 0xab, 0x44, 0xc7, 0xb2, - 0x17, 0xa7, 0x10, 0x43, 0xa7, 0x70, 0xf6, 0xa2, 0xd4, 0x9b, 0xad, 0x2d, 0x04, 0xb6, 0xa0, 0x7b, - 0xc8, 0x14, 0xf2, 0xc6, 0x78, 0x72, 0x8b, 0x36, 0xe6, 0x90, 0x46, 0x93, 0xa1, 0xd5, 0x44, 0x05, - 0x15, 0x24, 0x58, 0xac, 0xb0, 0x0b, 0xe8, 0x7f, 0xd8, 0x91, 0x2c, 0xc3, 0xad, 0x21, 0x71, 0x8d, - 0x43, 0x44, 0xec, 0x02, 0x2c, 0xf3, 0x6b, 0x0d, 0xb8, 0xde, 0x1c, 0x02, 0x7f, 0x40, 0x2a, 0xfd, - 0xb4, 0xc5, 0xf2, 0xc2, 0x18, 0xef, 0xa3, 0xdc, 0x8f, 0x61, 0x0b, 0x77, 0xaf, 0xb2, 0x35, 0x7c, - 0x0f, 0x98, 0xcb, 0xa8, 0x14, 0x6f, 0x7b, 0x9a, 0xe0, 0x36, 0xda, 0x24, 0xa2, 0x0c, 0x4f, 0xf7, - 0x9f, 0x16, 0x32, 0x70, 0x37, 0x32, 0x65, 0xa9, 0x4b, 0xec, 0x96, 0x6c, 0x5e, 0x99, 0x9b, 0x05, - 0x08, 0xd8, 0x53, 0xfe, 0x2c, 0x90, 0x47, 0xf1, 0x56, 0x97, 0x12, 0xaf, 0x39, 0xea, 0x2f, 0x62, - 0xed, 0xae, 0x94, 0xb5, 0x3d, 0xa5, 0xb0, 0x30, 0xcb, 0x52, 0xa1, 0x21, 0xea, 0x12, 0xe2, 0x85, - 0x15, 0x14, 0x3d, 0x72, 0x3f, 0xe2, 0xd1, 0xdf, 0x44, 0xef, 0x8d, 0x66, 0x59, 0xd3, 0x62, 0xd2, - 0x91, 0xc5, 0x8d, 0xa5, 0x58, 0x39, 0x10, 0x66, 0x78, 0x47, 0x78, 0x3c, 0x21, 0xd2, 0x03, 0x90, - 0xbd, 0xf1, 0x3e, 0xa7, 0xd9, 0x6e, 0x74, 0x41, 0x5a, 0x76, 0x48, 0xfe, 0x7c, 0x2b, 0x22, 0x3d, - 0x11, 0x17, 0xe9, 0x4e, 0x31, 0xff, 0x0b, 0xe5, 0x96, 0x7b, 0xcf, 0x03, 0x52, 0x19, 0x60, 0xe9, - 0xb3, 0x7d, 0x5f, 0xa7, 0xf0, 0xb9, 0x71, 0xa2, 0xba, 0x67, 0x0e, 0x85, 0x5d, 0x39, 0xf0, 0xd2, - 0x9c, 0xef, 0x1b, 0x1d, 0x94, 0x38, 0x90, 0x17, 0xd0, 0xde, 0xe5, 0x8c, 0x7a, 0x22, 0xb7, 0xa9, - 0x66, 0x8d, 0xde, 0x24, 0xaf, 0xc8, 0xb1, 0x71, 0x52, 0x33, 0x44, 0xfc, 0x3f, 0x7c, 0xec, 0x48, - 0xac, 0x02, 0x1e, 0x84, 0x53, 0xac, 0x82, 0xbe, 0x1d, 0xe8, 0x13, 0xb8, 0x3a, 0x0b, 0x8b, 0x01, - 0x2d, 0x3c, 0x99, 0x84, 0xa0, 0xd8, 0xa7, 0xdf, 0xe1, 0xd0, 0xee, 0x5b, 0x46, 0x9b, 0x6d, 0x85, - 0x00, 0x54, 0x55, 0x01, 0x21, 0x4d, 0x5f, 0xe1, 0xca, 0x7d, 0x59, 0x8c, 0xd5, 0x9b, 0x25, 0xa8, - 0xca, 0xce, 0xe3, 0x00, 0x8e, 0x7c, 0xbf, 0x8d, 0xca, 0x64, 0x7f, 0xd3, 0x51, 0xf7, 0x35, 0x2c, - 0x24, 0xbc, 0xfd, 0xaa, 0xe6, 0x46, 0xf6, 0x8f, 0xbd, 0x8a, 0x3d, 0xb9, 0x1d, 0xbf, 0x9d, 0xb2, - 0xe4, 0xff, 0x7d, 0x8a, 0x9a, 0xa0, 0x57, 0x96, 0x61, 0x36, 0x86, 0x41, 0xd2, 0xce, 0x73, 0x45, - 0xb2, 0x20, 0xcc, 0xc8, 0x78, 0x1a, 0xba, 0x99, 0x54, 0x93, 0xbb, 0x03, 0xd8, 0xf4, 0x15, 0x17, - 0x90, 0x3f, 0xf9, 0xd9, 0x36, 0x21, 0x91, 0x10, 0xe2, 0xa8, 0x41, 0x4b, 0x4b, 0x7e, 0x27, 0x94, - 0xbb, 0x75, 0x1a, 0x35, 0x33, 0xc3, 0xb0, 0x85, 0x76, 0x65, 0xff, 0x72, 0x00, 0xc4, 0x7d, 0x06, - 0x86, 0xeb, 0x66, 0xa6, 0xdf, 0x6f, 0x26, 0xea, 0x12, 0xd3, 0x3b, 0xc8, 0xc7, 0xab, 0xc6, 0x63, - 0x10, 0x1d, 0x8d, 0x74, 0x2d, 0x89, 0x3f, 0x06, 0x53, 0xb9, 0x9e, 0xaa, 0x67, 0x77, 0xba, 0xec, - 0x61, 0x42, 0xde, 0xd6, 0x54, 0xf1, 0xa9, 0xd6, 0x62, 0xfc, 0x3d, 0x69, 0x2b, 0xdd, 0xf0, 0xa5, - 0xf1, 0x6e, 0xd0, 0xde, 0xb7, 0xc0, 0xbd, 0x49, 0x58, 0xcd, 0xe2, 0x46, 0x77, 0x68, 0x42, 0xb0, - 0x09, 0xe8, 0xbb, 0x35, 0x20, 0xcb, 0x61, 0x30, 0x12, 0xe5, 0x94, 0xf5, 0x42, 0x59, 0xde, 0xdc, - 0xf5, 0x06, 0xec, 0xa7, 0x1e, 0x0a, 0x6a, 0xbe, 0xa5, 0xb6, 0x77, 0x2c, 0x0f, 0x15, 0x73, 0x3e, - 0x0f, 0x01, 0x48, 0x78, 0x4b, 0x6c, 0x68, 0xe7, 0x11, 0x2b, 0x36, 0x73, 0xc6, 0x14, 0xe1, 0x59, - 0x3f, 0x24, 0x79, 0x33, 0x02, 0x53, 0xd2, 0xff, 0x9c, 0x8f, 0x91, 0x25, 0x72, 0x2d, 0x50, 0xaa, - 0xcc, 0x77, 0xc2, 0xe5, 0xb5, 0x5a, 0x18, 0x66, 0xb7, 0x81, 0x8e, 0x1e, 0x48, 0x49, 0x88, 0x60, - 0xa7, 0xb9, 0x09, 0x3e, 0x9c, 0x30, 0x18, 0x3a, 0x41, 0xf7, 0x14, 0x7b, 0xbe, 0x5a, 0xa8, 0x9c, - 0x89, 0x4b, 0xc1, 0xc9, 0x95, 0x39, 0x8e, 0x0b, 0xfc, 0x5b, 0x72, 0x6c, 0xe9, 0x89, 0x3b, 0xe1, - 0x6f, 0x59, 0xdd, 0x6d, 0x0e, 0x0a, 0x51, 0x7f, 0xe5, 0xb2, 0x4b, 0x2d, 0x5c, 0x4b, 0x83, 0x61, - 0x39, 0x16, 0x8c, 0x31, 0xef, 0xbd, 0xb8, 0xa2, 0xda, 0x5a, 0x6f, 0xf7, 0x42, 0xb4, 0x24, 0x55, - 0xb8, 0x17, 0x1e, 0xf2, 0x9e, 0xb6, 0xa6, 0x01, 0x38, 0x38, 0x78, 0xf6, 0xd8, 0xaf, 0xe2, 0x33, - 0x04, 0xd8, 0x9a, 0x6b, 0x60, 0x35, 0x66, 0x5a, 0xdf, 0x25, 0x9d, 0xe8, 0x5b, 0xba, 0xcb, 0x0f, - 0xa7, 0x96, 0x09, 0x72, 0x9c, 0xb4, 0xc3, 0x84, 0xaa, 0xf9, 0x13, 0xec, 0xcb, 0x08, 0x13, 0xcc, - 0x9a, 0x7b, 0x51, 0xb2, 0xd5, 0xa4, 0xe9, 0x4e, 0xf6, 0xfa, 0x73, 0xed, 0x74, 0x19, 0x0e, 0x52, - 0x0c, 0xa1, 0xf8, 0xca, 0x70, 0x58, 0x8b, 0xb2, 0x0f, 0x97, 0x4e, 0x29, 0x4d, 0x83, 0x86, 0x53, - 0xd8, 0x62, 0x18, 0x8a, 0xbd, 0xf1, 0x86, 0x72, 0x48, 0x0b, 0x93, 0xe3, 0x10, 0xbd, 0x6d, 0x19, - 0xe9, 0xc7, 0x43, 0x0b, 0xae, 0xdd, 0xe5, 0x30, 0xff, 0x87, 0x95, 0xe4, 0xd8, 0xaa, 0x49, 0x09, - 0xd1, 0xdb, 0xa7, 0x27, 0x0f, 0xdf, 0xa1, 0xbe, 0x49, 0x76, 0x3a, 0x99, 0x05, 0xbc, 0x2e, 0xb3, - 0x75, 0xcf, 0x71, 0x5f, 0x0e, 0x03, 0xb1, 0xf7, 0x5f, 0x36, 0x44, 0xd4, 0xad, 0xca, 0xcc, 0x0f, - 0x8c, 0xe3, 0x92, 0x1a, 0xab, 0xee, 0xab, 0x2e, 0x43, 0xe0, 0xee, 0xf0, 0x68, 0xa2, 0x19, 0xe8, - 0x27, 0xaa, 0x3d, 0xba, 0x49, 0xcb, 0x7e, 0x91, 0x17, 0xfc, 0x33, 0x64, 0x17, 0xd9, 0x6a, 0x7f, - 0x03, 0xd2, 0x46, 0x82, 0x28, 0x82, 0x69, 0x23, 0x79, 0x25, 0xca, 0xc2, 0x23, 0xc3, 0x52, 0x07, - 0xe2, 0xb3, 0xa8, 0x78, 0xc9, 0xd8, 0xad, 0x6e, 0x44, 0x33, 0xd1, 0x5e, 0xdd, 0x6c, 0x09, 0x7c, - 0x1f, 0x11, 0xa4, 0x30, 0x44, 0xc6, 0xbd, 0x1d, 0xec, 0xa9, 0x3f, 0x11, 0xd9, 0x78, 0x2e, 0x93, - 0xac, 0x8b, 0x6b, 0xa0, 0x3f, 0x5c, 0xaa, 0xe0, 0x10, 0x54, 0x39, 0x3d, 0x88, 0xab, 0x16, 0x8d, - 0x38, 0x22, 0xbf, 0x36, 0x19, 0x68, 0xf3, 0xac, 0x73, 0x94, 0x8a, 0x5c, 0x84, 0x7e, 0x23, 0x2e, - 0x6e, 0x86, 0xfe, 0xb3, 0x55, 0x67, 0xff, 0x81, 0xcf, 0xd6, 0xb2, 0x42, 0x91, 0xf4, 0x0e, 0x6a, - 0x59, 0x19, 0x6e, 0x19, 0xb7, 0x90, 0x15, 0xeb, 0x77, 0xbf, 0xc9, 0x18, 0x73, 0x40, 0xf0, 0x3a, - 0x25, 0xd3, 0x34, 0xa5, 0x16, 0x7e, 0xc4, 0x02, 0x58, 0x8b, 0xc7, 0x05, 0xc0, 0xd3, 0xd3, 0xee, - 0x3a, 0xf4, 0x05, 0xcd, 0x76, 0x1e, 0xf9, 0xbf, 0x63, 0xe2, 0xa7, 0x73, 0x68, 0x41, 0x33, 0x3e, - 0xda, 0x05, 0xde, 0x57, 0xaf, 0xcf, 0x41, 0x40, 0x09, 0x30, 0x8b, 0xc8, 0x25, 0x33, 0x5a, 0x42, - 0x8a, 0xbe, 0x80, 0xbd, 0x21, 0x09, 0x84, 0x02, 0x05, 0x2a, 0xf7, 0xad, 0x0d, 0xf1, 0xf7, 0xfd, - 0x0d, 0x67, 0x1d, 0xda, 0x4d, 0xe4, 0xd2, 0xe0, 0x3e, 0x38, 0xae, 0x53, 0x47, 0x0e, 0x2a, 0x02, - 0xfc, 0x99, 0x11, 0x86, 0x45, 0xe1, 0x5d, 0x54, 0xab, 0x70, 0xd7, 0x05, 0xd8, 0x6a, 0x23, 0xa2, - 0x43, 0x88, 0x4e, 0x67, 0xcf, 0x49, 0x28, 0x20, 0xba, 0xdb, 0x04, 0xbd, 0x9b, 0x0c, 0x63, 0x47, - 0xf8, 0x19, 0x02, 0x0a, 0xec, 0x6f, 0xce, 0x84, 0xb8, 0x30, 0x03, 0x34, 0x23, 0xd4, 0xe6, 0xe8, - 0xa7, 0x15, 0xdf, 0x32, 0x51, 0x33, 0x39, 0x4b, 0xb0, 0x4f, 0x7a, 0x02, 0x79, 0x1c, 0xff, 0x5d, - 0xf2, 0xc6, 0x90, 0x07, 0x75, 0x90, 0xff, 0xe9, 0x9b, 0xa0, 0xe3, 0x5c, 0x33, 0x1d, 0x69, 0x50, - 0x06, 0x99, 0xe3, 0x92, 0x9e, 0x8f, 0xd5, 0xd0, 0xb6, 0x6a, 0xfc, 0x6b, 0x92, 0x25, 0x59, 0xd3, - 0x03, 0x02, 0x59, 0x58, 0x57, 0x5d, 0x9e, 0x83, 0x2e, 0xd1, 0x1a, 0x20, 0x3e, 0xdd, 0x6c, 0xe1, - 0x6c, 0xb0, 0x71, 0xaa, 0x2c, 0xa2, 0x83, 0xdb, 0xa4, 0x50, 0x86, 0xd6, 0xcf, 0x01, 0xfa, 0xc4, - 0x5b, 0xb8, 0xec, 0x4a, 0x48, 0xf6, 0xac, 0xad, 0x7e, 0x2c, 0x7f, 0x05, 0x26, 0xb9, 0x1a, 0xcd, - 0xdd, 0x0a, 0x06, 0xa1, 0x45, 0x9f, 0x9b, 0x97, 0x07, 0x37, 0x26, 0xd9, 0x99, 0x5a, 0x4f, 0x93, - 0x9c, 0xdb, 0x19, 0xe4, 0x08, 0x4e, 0x7a, 0x1e, 0x16, 0x29, 0x71, 0x59, 0x0d, 0x2d, 0x15, 0x10, - 0xb6, 0x11, 0x7b, 0x01, 0x09, 0x7d, 0x36, 0x98, 0x7d, 0x68, 0xc4, 0xfa, 0x70, 0x64, 0x3f, 0xbc, - 0x6a, 0x27, 0x83, 0x41, 0x5a, 0x86, 0x75, 0xb6, 0x33, 0xb6, 0x17, 0x98, 0x0a, 0x6d, 0xb1, 0x65, - 0x31, 0xb0, 0x08, 0x35, 0x42, 0x68, 0x97, 0x9d, 0x0d, 0x07, 0xec, 0x00, 0x91, 0x43, 0x4b, 0x21, - 0xdb, 0xf8, 0x65, 0x81, 0x36, 0xc2, 0x7a, 0x17, 0xda, 0xb5, 0xc0, 0x67, 0x8a, 0xfa, 0x69, 0x8d, - 0x21, 0xc3, 0x0c, 0x57, 0x6a, 0x3d, 0x1b, 0xd3, 0xa2, 0x8d, 0x1d, 0x9f, 0xd4, 0x28, 0x07, 0xd4, - 0x04, 0x68, 0xbe, 0xf8, 0x35, 0x60, 0xab, 0x3c, 0xe4, 0x9c, 0x53, 0x0c, 0x02, 0x59, 0x0f, 0xee, - 0x98, 0x5e, 0x94, 0x7e, 0xed, 0x91, 0x20, 0xc4, 0xd4, 0x80, 0x9d, 0xe9, 0x05, 0xb9, 0x88, 0x4d, - 0x04, 0x6f, 0xe2, 0x0a, 0xad, 0x1e, 0x1f, 0x04, 0x21, 0x22, 0xce, 0x27, 0xc9, 0x0f, 0x9a, 0x50, - 0x41, 0x99, 0x2c, 0xfd, 0x6e, 0x33, 0xaf, 0x80, 0xd5, 0xee, 0xb9, 0x2b, 0x3d, 0xfd, 0x61, 0x35, - 0x30, 0x60, 0x07, 0x8a, 0x87, 0xeb, 0xff, 0x6a, 0x24, 0xc3, 0xde, 0x43, 0xaa, 0xe5, 0x3a, 0xcc, - 0xb7, 0xf1, 0x82, 0x63, 0xb6, 0xea, 0xac, 0x91, 0x4f, 0x77, 0x8e, 0xee, 0xec, 0xe1, 0xba, 0xf4, - 0x67, 0x35, 0xed, 0xb3, 0xfc, 0x63, 0xc9, 0x2e, 0xa4, 0x59, 0xc2, 0xca, 0x22, 0xd2, 0xb0, 0x7b, - 0xfc, 0x26, 0xad, 0xb3, 0x3e, 0x76, 0xbf, 0xc9, 0x3e, 0xf7, 0xb4, 0xbd, 0x8c, 0xe6, 0x8b, 0x2f, - 0xac, 0x77, 0x0c, 0xd5, 0x79, 0x03, 0xd8, 0xc6, 0x61, 0x28, 0xc4, 0xa3, 0x22, 0x52, 0x36, 0x1d, - 0x47, 0x70, 0x0a, 0xaa, 0xa8, 0x95, 0x8f, 0xe8, 0x82, 0xe8, 0x71, 0xbb, 0x93, 0x5b, 0x28, 0x70, - 0xbb, 0x38, 0xa6, 0x9a, 0x02, 0xe4, 0x91, 0x44, 0x3f, 0x32, 0x28, 0xb0, 0x5f, 0x74, 0xd2, 0x97, - 0x56, 0x53, 0x02, 0x60, 0x19, 0x8d, 0x1d, 0x8e, 0xa8, 0x73, 0x5a, 0xd5, 0x63, 0x2d, 0xba, 0x13, - 0x18, 0x29, 0xe5, 0xcb, 0xe2, 0xc8, 0x25, 0x3d, 0xd6, 0x66, 0x1d, 0x61, 0xef, 0x20, 0x44, 0xe7, - 0x8f, 0x98, 0xaa, 0x9d, 0x1d, 0x1e, 0x62, 0x93, 0x96, 0xb7, 0xf5, 0x7e, 0x6d, 0xb7, 0x8c, 0x1d, - 0x00, 0x1b, 0xf0, 0x62, 0x88, 0x2a, 0x3e, 0x43, 0xbc, 0xc9, 0x79, 0xf6, 0x63, 0xe5, 0xb7, 0x87, - 0x43, 0x88, 0x64, 0xe7, 0xa8, 0x00, 0xdb, 0xff, 0xac, 0x21, 0x79, 0x1d, 0x28, 0xae, 0xa5, 0x5e, - 0x2f, 0xb6, 0x0b, 0xc0, 0xa9, 0x94, 0xa4, 0x5a, 0x0e, 0x2b, 0x46, 0x68, 0xef, 0x56, 0x37, 0x96, - 0x4d, 0xa3, 0xc9, 0x9d, 0x1d, 0xc2, 0x05, 0x86, 0x06, 0x09, 0x4b, 0x80, 0x56, 0xb0, 0x49, 0xfe, - 0x74, 0x0c, 0xb9, 0x24, 0x31, 0xfb, 0xe1, 0xc3, 0x28, 0xc7, 0x26, 0xaa, 0x9b, 0x74, 0x68, 0x9b, - 0xb2, 0x9a, 0x8f, 0x00, 0xc2, 0xf1, 0x3b, 0x07, 0x13, 0x38, 0xef, 0x3b, 0xd5, 0x31, 0xfc, 0x93, - 0x54, 0xd1, 0xfc, 0x8e, 0x4d, 0x6a, 0x94, 0x6c, 0xfc, 0x4d, 0x3e, 0x60, 0x77, 0x3c, 0x27, 0xb0, - 0x73, 0xe0, 0x6e, 0xfc, 0xa1, 0xdb, 0x55, 0x1e, 0x40, 0x54, 0x87, 0x0f, 0x2e, 0xe6, 0xdc, 0xa6, - 0x26, 0xaa, 0xb0, 0x66, 0xc4, 0x0e, 0xc3, 0xdc, 0xf6, 0x0f, 0x05, 0x39, 0x2b, 0xfe, 0x5c, 0x1f, - 0x4e, 0xcc, 0xf6, 0x36, 0x20, 0x68, 0x70, 0x29, 0xc3, 0x27, 0x30, 0x00, 0x52, 0xf4, 0x48, 0x0d, - 0x86, 0x63, 0x22, 0x07, 0xcc, 0x90, 0x35, 0x86, 0xf0, 0x3c, 0x36, 0xdb, 0x43, 0xcd, 0x2d, 0x30, - 0x34, 0x94, 0x44, 0x3b, 0xc0, 0xd6, 0x19, 0x97, 0x97, 0x0d, 0x8e, 0x47, 0x97, 0xd4, 0x1b, 0xdb, - 0x0a, 0x65, 0xba, 0x76, 0x89, 0x33, 0x8d, 0xb1, 0x92, 0xac, 0xee, 0x50, 0x43, 0x86, 0x6f, 0x06, - 0x05, 0x8b, 0xcc, 0xa5, 0xd8, 0x1a, 0xcf, 0x87, 0xe3, 0x80, 0x97, 0xea, 0xb0, 0xe6, 0x03, 0x9e, - 0x1e, 0x56, 0x5f, 0xbc, 0x5c, 0x60, 0x8b, 0xfa, 0xf3, 0xdb, 0x0e, 0x54, 0xb1, 0xb1, 0xc1, 0x5f, - 0x12, 0x1e, 0xb5, 0xdf, 0xa6, 0xe4, 0xd5, 0xdb, 0x93, 0xaa, 0xb9, 0x4a, 0x75, 0x9a, 0x43, 0x8e, - 0xc8, 0xbe, 0x3e, 0x65, 0x91, 0x83, 0x5f, 0x51, 0x83, 0x2e, 0xe8, 0x8f, 0xcc, 0xe8, 0xf5, 0x7c, - 0x85, 0x90, 0xdc, 0x94, 0x61, 0xb1, 0x7c, 0x7f, 0x60, 0x14, 0x34, 0x47, 0xa5, 0x71, 0x02, 0xc9, - 0xfa, 0x44, 0x53, 0x57, 0x17, 0x10, 0xd9, 0xb0, 0x58, 0x9e, 0x11, 0xd7, 0x27, 0x5e, 0x59, 0x3e, - 0x55, 0x30, 0xff, 0x40, 0x67, 0x7d, 0x30, 0x92, 0xf1, 0x1c, 0x9e, 0xfa, 0x8b, 0x9e, 0x8b, 0xc5, - 0xc5, 0xcd, 0xea, 0x49, 0x37, 0x6b, 0xd3, 0x50, 0x71, 0x2c, 0xbb, 0x20, 0x39, 0xad, 0x2d, 0xea, - 0x11, 0xe9, 0x30, 0xe7, 0xd9, 0xe6, 0xca, 0x82, 0x00, 0x16, 0xc5, 0x76, 0x3a, 0xbb, 0xa5, 0x6f, - 0xd0, 0x83, 0xa6, 0x47, 0x07, 0xd2, 0xe7, 0xc7, 0x26, 0xce, 0x96, 0xb1, 0xf2, 0xb6, 0x34, 0xd0, - 0x1c, 0x6e, 0x6b, 0xdd, 0xc6, 0x72, 0x44, 0xef, 0xe3, 0x7e, 0xd7, 0x31, 0xa8, 0xe5, 0x5a, 0xec, - 0x02, 0x17, 0x72, 0xfb, 0x17, 0xe9, 0xfc, 0xc9, 0x4f, 0x81, 0x6f, 0xc1, 0x77, 0x71, 0x64, 0xee, - 0xb0, 0xe1, 0x3b, 0xf1, 0x4b, 0x6b, 0x14, 0x32, 0x6d, 0x9e, 0xd9, 0x33, 0xd5, 0x39, 0xf0, 0x7e, - 0xc3, 0x36, 0x0e, 0x30, 0x36, 0xdf, 0x66, 0x40, 0x9e, 0xae, 0xda, 0xf4, 0x96, 0x54, 0x9e, 0xf4, - 0xa2, 0x8b, 0x00, 0x02, 0x9a, 0x11, 0xfe, 0x91, 0x19, 0x96, 0x30, 0x4b, 0x28, 0x5a, 0x59, 0x36, - 0xdf, 0xe3, 0xae, 0xdb, 0xd2, 0x95, 0x5c, 0x2d, 0xe5, 0x61, 0x48, 0x6f, 0xcf, 0x96, 0x1e, 0x20, - 0x3f, 0xd4, 0x0a, 0x17, 0xf6, 0xf2, 0x71, 0x84, 0xde, 0x43, 0x7c, 0xd5, 0xfc, 0xb8, 0x8d, 0x88, - 0xa0, 0xdf, 0x09, 0xdb, 0x61, 0x28, 0x57, 0xa8, 0x92, 0x69, 0x45, 0xaf, 0x02, 0x55, 0x5a, 0xf8, - 0x62, 0xaf, 0xb1, 0xa8, 0x38, 0xc9, 0x2e, 0x74, 0x9e, 0x95, 0x45, 0x86, 0x1c, 0x7e, 0x41, 0xf0, - 0x53, 0x07, 0x7a, 0x33, 0x01, 0x4b, 0x6d, 0x86, 0xf2, 0x5e, 0x88, 0x7a, 0x15, 0x53, 0x2c, 0x39, - 0x8a, 0x21, 0x7f, 0x25, 0xd9, 0xea, 0x58, 0xce, 0x55, 0x0a, 0x4a, 0xb0, 0x44, 0x42, 0x4c, 0x9f, - 0xaf, 0xdc, 0xe9, 0xf6, 0x3c, 0xe6, 0x18, 0xee, 0xb9, 0x16, 0x31, 0xdf, 0xa6, 0x77, 0x7d, 0x3e, - 0xde, 0xc8, 0x38, 0xa1, 0xe6, 0x33, 0x8a, 0xd2, 0xde, 0xf1, 0x3a, 0xdb, 0xe4, 0x04, 0x11, 0x84, - 0x39, 0x27, 0xcf, 0x2b, 0x7c, 0xc7, 0x74, 0x09, 0x6a, 0xfc, 0x6d, 0x5e, 0xc8, 0x68, 0xff, 0x86, - 0xa0, 0x0e, 0xa4, 0xd1, 0xb0, 0x8f, 0xc5, 0xe3, 0xd0, 0x06, 0x03, 0xeb, 0xa0, 0xe5, 0x10, 0xd5, - 0xfe, 0xdb, 0x7d, 0x03, 0x69, 0xf8, 0x4f, 0xc2, 0x78, 0x46, 0xe0, 0xd7, 0x92, 0x9c, 0x01, 0x30, - 0x05, 0x65, 0xd9, 0xad, 0xc1, 0x81, 0x38, 0xf5, 0x59, 0xb9, 0x90, 0x62, 0xaa, 0x0c, 0x11, 0xdd, - 0x12, 0xf4, 0x8b, 0x80, 0xac, 0xa1, 0x8e, 0x52, 0x38, 0x0b, 0x62, 0x7a, 0x76, 0x64, 0xd5, 0x60, - 0x1a, 0xb1, 0x93, 0x37, 0xc0, 0x4c, 0x82, 0x19, 0xbf, 0xd6, 0x02, 0x89, 0x2a, 0x76, 0xe2, 0x52, - 0xd7, 0x31, 0x21, 0x06, 0xc4, 0xc0, 0xa8, 0xae, 0xfa, 0x2a, 0xb6, 0xc5, 0x1c, 0x52, 0xb3, 0xe2, - 0x70, 0x3a, 0x9b, 0x3d, 0xe4, 0x93, 0xaa, 0x47, 0x67, 0x09, 0x11, 0x38, 0x23, 0x88, 0x74, 0xd6, - 0xfd, 0xe6, 0xc6, 0xc0, 0x7e, 0xbc, 0x85, 0x4c, 0x6d, 0x84, 0x80, 0xfe, 0xbc, 0xa2, 0x92, 0x04, - 0x16, 0xf4, 0xbb, 0xab, 0xa3, 0x23, 0x4c, 0x56, 0x7d, 0x5d, 0xc4, 0x52, 0xea, 0x4d, 0x6b, 0xd7, - 0x1e, 0x9f, 0x1a, 0xd2, 0x60, 0x0f, 0xf7, 0x28, 0x50, 0x82, 0x4f, 0x6d, 0x5d, 0x89, 0xb6, 0x44, - 0x0c, 0xed, 0x51, 0x15, 0x4a, 0xeb, 0xf8, 0x09, 0x30, 0xff, 0xf3, 0x75, 0x26, 0x8c, 0x3b, 0xbe, - 0x95, 0x59, 0x98, 0x37, 0x22, 0x73, 0x54, 0xb4, 0x97, 0x1e, 0xcc, 0x86, 0xd9, 0x51, 0xda, 0x0e, - 0x7b, 0xc3, 0x3f, 0x70, 0x8f, 0x33, 0x78, 0xa8, 0x7e, 0x8d, 0xed, 0xd5, 0xe8, 0xc8, 0x9c, 0xec, - 0x71, 0x71, 0xee, 0x3b, 0x27, 0x09, 0x6a, 0xd7, 0x54, 0xdc, 0xfe, 0x58, 0x96, 0xc3, 0xec, 0xa1, - 0xd2, 0x67, 0xf3, 0x6c, 0xe4, 0x10, 0x2a, 0xb6, 0x8f, 0xe6, 0xf6, 0x6e, 0x56, 0xf1, 0x73, 0x3b, - 0x86, 0x06, 0x57, 0x12, 0xcf, 0xd6, 0x1d, 0x3b, 0x6b, 0xd9, 0x0a, 0xd4, 0xb2, 0x88, 0x63, 0xc7, - 0xcc, 0x8c, 0xf9, 0x08, 0x94, 0x16, 0xb8, 0x8f, 0x99, 0xc5, 0x9d, 0xbb, 0x66, 0x03, 0xa5, 0xdb, - 0x96, 0x86, 0x6e, 0x70, 0x13, 0x3d, 0x96, 0x1c, 0x45, 0x73, 0x25, 0x8b, 0xdf, 0xaa, 0x55, 0x64, - 0xc6, 0x93, 0x0f, 0x7a, 0x90, 0xc2, 0x41, 0x52, 0xae, 0xb2, 0xe6, 0xe0, 0xdc, 0x7d, 0xeb, 0xf8, - 0x92, 0x63, 0x2e, 0xa0, 0x36, 0x59, 0x51, 0xa4, 0x27, 0xac, 0x2e, 0x4c, 0x7c, 0x86, 0xe2, 0x70, - 0x41, 0x51, 0x82, 0x92, 0x77, 0xa4, 0x20, 0x9e, 0xee, 0x99, 0x25, 0x61, 0xbf, 0x16, 0x7f, 0xe3, - 0xa2, 0xd0, 0xb3, 0xc9, 0x82, 0xa0, 0xf0, 0x2f, 0xbc, 0xa1, 0x63, 0x4a, 0x42, 0x63, 0xc7, 0x3b, - 0xd5, 0xfc, 0x34, 0xbf, 0xe3, 0x06, 0x6f, 0x38, 0x7e, 0xc3, 0x2b, 0xf5, 0x7f, 0x3e, 0x84, 0x66, - 0x25, 0xb1, 0x03, 0x38, 0xce, 0x35, 0xd0, 0xef, 0xda, 0x13, 0xee, 0x4b, 0x97, 0x00, 0x79, 0xe6, - 0xb0, 0x7f, 0xf0, 0x54, 0xee, 0xd2, 0xce, 0x97, 0x9b, 0xec, 0x35, 0x35, 0x55, 0xe3, 0x3b, 0xdd, - 0xb6, 0x26, 0x45, 0xbe, 0x91, 0xa1, 0x08, 0xdf, 0x09, 0xcd, 0x6b, 0x16, 0x47, 0x11, 0x41, 0x51, - 0x2a, 0x8e, 0x24, 0xaa, 0x6a, 0x89, 0x42, 0xdc, 0xc8, 0xdb, 0xca, 0x74, 0x94, 0x25, 0xd6, 0x8c, - 0xd2, 0x3f, 0xcb, 0x87, 0x1e, 0x4a, 0x2d, 0xc9, 0x98, 0xbe, 0xd2, 0xd8, 0x80, 0x49, 0xcf, 0x15, - 0x49, 0xf1, 0xab, 0xf9, 0x90, 0x04, 0x06, 0xae, 0x5a, 0xe9, 0xeb, 0xa1, 0xef, 0x5a, 0x90, 0x09, - 0x2c, 0x72, 0x36, 0xb5, 0x4b, 0x49, 0xe2, 0xc9, 0xd4, 0x67, 0x69, 0x01, 0xda, 0xb7, 0xea, 0xce, - 0xa6, 0x41, 0x0e, 0x87, 0xdd, 0xdf, 0xc9, 0x17, 0x1a, 0xc5, 0x7d, 0x9f, 0x28, 0x3d, 0x90, 0xfe, - 0xb8, 0x62, 0x6a, 0xb0, 0x1f, 0xbd, 0x54, 0x59, 0x9b, 0x60, 0xe1, 0x3f, 0xca, 0xe7, 0xdb, 0x7d, - 0x76, 0xff, 0xae, 0x82, 0xe6, 0x68, 0xc2, 0x91, 0x34, 0x4b, 0x5f, 0xe4, 0x36, 0x2a, 0x25, 0x27, - 0x57, 0xb1, 0x84, 0xfd, 0x24, 0x80, 0x27, 0xc1, 0x8f, 0x69, 0x54, 0x03, 0x42, 0x67, 0xb1, 0xec, - 0x37, 0xc4, 0xb7, 0xc5, 0xae, 0x16, 0x42, 0x7c, 0x80, 0x4c, 0x81, 0xa8, 0x05, 0xa0, 0xb3, 0xd4, - 0xc7, 0x4a, 0x97, 0x48, 0x40, 0x8c, 0xb3, 0x32, 0x95, 0xac, 0x14, 0x7a, 0x4a, 0x0e, 0x4d, 0xfb, - 0xf1, 0x17, 0x59, 0x21, 0xc3, 0x11, 0x61, 0xbc, 0x2f, 0xb7, 0xc7, 0x3d, 0xa5, 0xd0, 0x08, 0xe7, - 0x1f, 0x45, 0xdd, 0xef, 0xfa, 0x1a, 0x96, 0x4a, 0x47, 0x8e, 0x2d, 0xdc, 0x90, 0x7d, 0xdf, 0x00, - 0x78, 0x60, 0x45, 0xff, 0x55, 0x03, 0xf2, 0x3d, 0xeb, 0x86, 0x87, 0x4f, 0xa6, 0x6f, 0xe9, 0x7e, - 0x5a, 0x48, 0xb7, 0x85, 0xae, 0x7b, 0x55, 0xab, 0xcd, 0x3d, 0x6f, 0x87, 0xec, 0x32, 0xa6, 0x59, - 0x05, 0x60, 0x3a, 0xb2, 0x96, 0x87, 0x50, 0x9f, 0x2d, 0xe6, 0xc5, 0x3b, 0xf6, 0x95, 0x72, 0x46, - 0xd2, 0x7f, 0x0b, 0x22, 0xb2, 0x64, 0xe8, 0xa8, 0x3f, 0xfa, 0x52, 0x2e, 0x10, 0x8b, 0xef, 0x21, - 0x51, 0xde, 0x14, 0xd5, 0x71, 0x22, 0x90, 0x5b, 0x7a, 0xef, 0x44, 0x9d, 0x33, 0xd2, 0xa0, 0x26, - 0x52, 0x34, 0xd4, 0x93, 0x9c, 0xbb, 0x4a, 0x9f, 0x36, 0x98, 0x55, 0x77, 0x0b, 0xc9, 0x1d, 0xa7, - 0x9e, 0xf7, 0x40, 0x26, 0xf2, 0x52, 0xc0, 0xab, 0x55, 0xa8, 0x9f, 0xcd, 0x23, 0x5f, 0xf9, 0x92, - 0x75, 0xc2, 0x26, 0x19, 0xc6, 0x01, 0x33, 0x33, 0xfd, 0x0f, 0x2b, 0xc8, 0xa6, 0x77, 0x62, 0x0a, - 0x20, 0xc6, 0x89, 0x01, 0x1c, 0x65, 0x49, 0x45, 0x2c, 0xfd, 0xdd, 0xa8, 0xf3, 0xb4, 0x23, 0x03, - 0x2a, 0x93, 0x4b, 0xc6, 0x34, 0x4a, 0xa4, 0x33, 0x0f, 0xa6, 0x94, 0xa4, 0xd1, 0xe7, 0xd4, 0x66, - 0x05, 0xc9, 0x01, 0xd1, 0xf1, 0x4f, 0xda, 0xf2, 0xb0, 0xff, 0x9d, 0xfa, 0xd0, 0x9c, 0xf0, 0xb9, - 0xf3, 0xcc, 0x42, 0xd4, 0x98, 0xe3, 0xd2, 0xa8, 0x03, 0x80, 0x9b, 0x28, 0xdf, 0x59, 0x0b, 0x6b, - 0xcc, 0x38, 0xf3, 0x88, 0x5f, 0x48, 0xbd, 0x1d, 0xa9, 0x6e, 0xa6, 0xb2, 0xfe, 0x90, 0x65, 0xed, - 0x5d, 0xa0, 0x6d, 0xb8, 0xde, 0xcf, 0x5c, 0xbe, 0x4f, 0xc5, 0xf6, 0x6c, 0x7a, 0x00, 0x44, 0x90, - 0x2a, 0xc0, 0x12, 0xb4, 0xfa, 0xc9, 0x43, 0xa6, 0x56, 0x26, 0x59, 0xbe, 0x33, 0xe2, 0xb7, 0x99, - 0x0c, 0xde, 0x13, 0x2e, 0x68, 0x4a, 0x05, 0xc7, 0x95, 0xce, 0xca, 0xe9, 0xeb, 0x1f, 0xd3, 0x72, - 0x28, 0xe6, 0xd4, 0x35, 0x81, 0x1f, 0xa6, 0xc2, 0xb3, 0x71, 0x44, 0xe4, 0x7f, 0x59, 0x08, 0x00, - 0xa6, 0xd0, 0x1b, 0xf3, 0x10, 0xb7, 0x92, 0xe0, 0x14, 0x2e, 0xee, 0x5a, 0x73, 0x56, 0x70, 0x4f, - 0xa3, 0xfb, 0xab, 0x34, 0xea, 0xd0, 0xb8, 0xdf, 0x5c, 0x0b, 0x84, 0x74, 0xfc, 0xc5, 0xcd, 0x89, - 0x85, 0x3c, 0xa3, 0x8d, 0x96, 0x73, 0xa8, 0x19, 0x69, 0x31, 0xee, 0x61, 0x87, 0x64, 0x3e, 0xce, - 0xe0, 0xd9, 0x51, 0xb7, 0xa2, 0x1f, 0xde, 0x09, 0x5e, 0x38, 0xf6, 0x7f, 0x67, 0x9e, 0x54, 0x05, - 0xb7, 0xdc, 0x0c, 0xd8, 0x94, 0xa0, 0x42, 0x5c, 0x7a, 0xbf, 0x96, 0x79, 0x20, 0x9e, 0xcf, 0x85, - 0x33, 0xa4, 0xa6, 0x77, 0x19, 0xda, 0xc3, 0x60, 0xa8, 0xcb, 0x7e, 0xc2, 0x67, 0xe2, 0xb2, 0x33, - 0xb8, 0xb6, 0x39, 0x97, 0x18, 0xb3, 0xe0, 0xcf, 0x6f, 0x94, 0x95, 0xb4, 0xf1, 0x71, 0x36, 0x61, - 0x5e, 0xfe, 0x7b, 0xba, 0x72, 0xd6, 0x0f, 0xc5, 0xf3, 0x02, 0x17, 0x79, 0x86, 0x74, 0x61, 0xc9, - 0x5a, 0x04, 0x21, 0x22, 0x7d, 0xe3, 0xe4, 0xb0, 0x48, 0xe2, 0x9a, 0xf4, 0xe6, 0xf1, 0x96, 0xc3, - 0xd3, 0xfd, 0xe3, 0x63, 0x3a, 0x7a, 0x3e, 0xb2, 0x81, 0x89, 0xbb, 0x91, 0x5a, 0x99, 0x98, 0x8c, - 0xc1, 0xd5, 0x94, 0xd0, 0xd1, 0xec, 0xbb, 0x03, 0xf1, 0x9e, 0x25, 0x02, 0x04, 0x2a, 0x5b, 0x98, - 0xf8, 0x46, 0xa9, 0xdb, 0x2e, 0x5b, 0x5d, 0x4d, 0x72, 0xfe, 0x01, 0xc5, 0x68, 0x6d, 0x68, 0x1e, - 0x3c, 0x2a, 0x6f, 0x98, 0x04, 0x4c, 0x3d, 0x72, 0x74, 0xe6, 0xe6, 0x64, 0x0e, 0xe4, 0x4d, 0x64, - 0xbd, 0x0f, 0x6c, 0xe1, 0x2a, 0xff, 0x35, 0x22, 0x25, 0x67, 0x8c, 0x71, 0x28, 0x16, 0x51, 0x8b, - 0x7b, 0x08, 0x30, 0xb0, 0x2d, 0xe4, 0xdb, 0xa6, 0xce, 0xdc, 0xc7, 0x83, 0xfa, 0x54, 0x10, 0x8e, - 0x67, 0x36, 0xcb, 0xee, 0x6d, 0xc1, 0x53, 0x69, 0xfe, 0xcb, 0xac, 0xa8, 0xfc, 0x27, 0xc3, 0x92, - 0xc8, 0x2a, 0xdc, 0xf7, 0x92, 0x7b, 0x7b, 0x3e, 0x60, 0xe0, 0x8e, 0xf3, 0xda, 0xb3, 0xab, 0xe1, - 0x41, 0x3d, 0x4c, 0xaa, 0x9a, 0x55, 0x07, 0x20, 0xe9, 0x8d, 0xa6, 0x82, 0xe2, 0x30, 0xee, 0xd1, - 0x51, 0x62, 0x63, 0xd7, 0x65, 0x5a, 0x29, 0x75, 0x68, 0xbe, 0x4d, 0x7a, 0x72, 0xc8, 0xb0, 0xc7, - 0xdf, 0xe9, 0xb3, 0xb4, 0xa5, 0xce, 0xc9, 0x3e, 0x83, 0xe4, 0x52, 0x35, 0xd9, 0x47, 0x63, 0xdc, - 0xba, 0xdd, 0x51, 0x44, 0x9d, 0xa9, 0xca, 0x1f, 0x60, 0x1a, 0x09, 0x2b, 0x88, 0xfa, 0xe2, 0x2e, - 0x36, 0xaf, 0x25, 0xb4, 0x89, 0x04, 0x24, 0xa7, 0x22, 0xe3, 0x3a, 0x8b, 0xa6, 0xb3, 0x2c, 0x02, - 0xa5, 0x0f, 0xf8, 0x5c, 0x6c, 0x41, 0x5a, 0x7b, 0x8d, 0x95, 0x02, 0x9e, 0x06, 0x84, 0xe2, 0x62, - 0x31, 0x20, 0xfd, 0xd8, 0x25, 0x32, 0xe8, 0x65, 0xac, 0xdd, 0x48, 0x7d, 0x99, 0x2c, 0x19, 0x89, - 0xc9, 0xbd, 0xef, 0x74, 0x15, 0xd9, 0xd6, 0x58, 0x98, 0x6e, 0x90, 0x99, 0x0b, 0x2d, 0xac, 0xf3, - 0x73, 0x83, 0xab, 0x1f, 0xe7, 0xb1, 0x6a, 0xe3, 0x61, 0x6e, 0x5b, 0x56, 0x25, 0xba, 0x2f, 0xea, - 0xeb, 0xc5, 0x02, 0xba, 0x7e, 0x60, 0xcb, 0x27, 0xc1, 0x64, 0x57, 0xf4, 0x6e, 0xbf, 0x66, 0x42, - 0xe1, 0xde, 0x47, 0x60, 0x2f, 0x4d, 0x2f, 0x48, 0x5b, 0x98, 0x44, 0xb0, 0xf2, 0x83, 0x06, 0x96, - 0x34, 0x01, 0xc5, 0xe5, 0x1c, 0x14, 0xb3, 0x23, 0x08, 0xa5, 0x4a, 0x99, 0x5c, 0xd7, 0x6c, 0x19, - 0xea, 0xe9, 0x04, 0xf5, 0xaf, 0x68, 0x42, 0x3b, 0x15, 0xe4, 0xdd, 0xe8, 0xab, 0x1e, 0x7e, 0xa0, - 0xed, 0xa2, 0xdd, 0x38, 0x81, 0x60, 0x59, 0x80, 0x96, 0x42, 0x37, 0x11, 0xe2, 0x91, 0x31, 0x49, - 0xae, 0x74, 0x9c, 0x04, 0x58, 0x77, 0x16, 0x4d, 0xac, 0xcd, 0xea, 0xf7, 0x25, 0xec, 0x66, 0xda, - 0x2c, 0x3d, 0xe6, 0xf3, 0x20, 0xab, 0x6b, 0x76, 0x82, 0x85, 0x57, 0x3e, 0x8d, 0xac, 0xdb, 0x93, - 0x59, 0x04, 0xbc, 0x3d, 0x7b, 0x87, 0x6e, 0x1e, 0xd3, 0x0b, 0xb9, 0x81, 0x6a, 0x64, 0x07, 0xac, - 0xc3, 0xc6, 0x69, 0xec, 0x94, 0xd2, 0xba, 0x8c, 0x74, 0xed, 0xc4, 0xa6, 0x0d, 0x08, 0xec, 0x1e, - 0x29, 0x4a, 0x22, 0x64, 0xa6, 0x45, 0x4b, 0xc1, 0xb6, 0x1c, 0x76, 0x80, 0x4c, 0x47, 0x1c, 0x70, - 0x17, 0x78, 0x1a, 0x19, 0x51, 0x52, 0x86, 0xac, 0xc2, 0xb3, 0x09, 0x2f, 0xb9, 0x3d, 0x73, 0xac, - 0x60, 0x3b, 0xff, 0x20, 0xc6, 0x14, 0x6e, 0x4e, 0x85, 0xd1, 0x29, 0xce, 0x7c, 0x2b, 0x7f, 0x90, - 0x93, 0xa8, 0xab, 0xc6, 0x8b, 0x53, 0xf0, 0xcc, 0x0d, 0xe4, 0x64, 0x9e, 0xef, 0xeb, 0x8d, 0x1d, - 0xf9, 0xc0, 0xeb, 0x32, 0xd5, 0x6e, 0x21, 0xf7, 0xa9, 0x07, 0xe6, 0x80, 0x61, 0x08, 0x04, 0xa5, - 0xf8, 0x23, 0x6c, 0x86, 0x7d, 0x39, 0x54, 0xaa, 0x29, 0xa5, 0xd1, 0xa9, 0xb3, 0x19, 0x55, 0xe1, - 0x72, 0x76, 0x16, 0x96, 0xcc, 0x9e, 0xb1, 0x92, 0x8d, 0x96, 0x7e, 0x86, 0x3d, 0x69, 0x3a, 0xc3, - 0x39, 0x28, 0x4d, 0x7e, 0xdb, 0x85, 0x19, 0xc9, 0x95, 0x3b, 0xd6, 0x43, 0x1c, 0x70, 0xa4, 0xeb, - 0xbb, 0x8a, 0x8d, 0xf0, 0x87, 0x4d, 0xf9, 0x22, 0x40, 0xc8, 0x58, 0x88, 0x31, 0xfb, 0xaa, 0xca, - 0x6e, 0x8a, 0x7e, 0xd9, 0x84, 0x17, 0x30, 0x45, 0x82, 0xa5, 0x63, 0x8b, 0xfa, 0x03, 0xe6, 0x7c, - 0xde, 0x39, 0xe6, 0xb6, 0x63, 0x94, 0xe0, 0x2f, 0x91, 0x32, 0x8a, 0x5e, 0x2c, 0xca, 0x95, 0x06, - 0xe5, 0xd7, 0xbe, 0xe5, 0x57, 0x63, 0x04, 0x68, 0x62, 0x58, 0x20, 0xb6, 0x4d, 0x55, 0x04, 0x77, - 0x6c, 0x3c, 0xde, 0x69, 0x69, 0x64, 0xfc, 0x6e, 0x9d, 0x8b, 0x7c, 0x57, 0xfa, 0x14, 0x63, 0x3f, - 0x04, 0xc7, 0xee, 0x1a, 0xba, 0x33, 0xea, 0x55, 0x59, 0x0e, 0x49, 0xbe, 0x36, 0x73, 0xfb, 0xd0, - 0xee, 0xa9, 0xc3, 0xee, 0xef, 0xe0, 0xad, 0x60, 0xc4, 0xaf, 0xc1, 0xe1, 0xc3, 0x98, 0xc8, 0x20, - 0x49, 0x23, 0x41, 0x9f, 0x3f, 0xc4, 0x3e, 0x09, 0x9f, 0xbd, 0xe9, 0xe1, 0xd2, 0x9e, 0x3c, 0x30, - 0x5b, 0x0d, 0x6d, 0x13, 0xab, 0xd0, 0xc5, 0x28, 0x1c, 0x86, 0x5c, 0xff, 0x11, 0x74, 0xba, 0x4b, - 0xbb, 0x4c, 0x58, 0x3d, 0x42, 0xa1, 0xac, 0x31, 0x20, 0xf8, 0x42, 0xc8, 0x0f, 0x98, 0xeb, 0x50, - 0x6c, 0xd3, 0xd0, 0x39, 0x16, 0x8e, 0x8c, 0x67, 0x57, 0x66, 0x04, 0x70, 0xf3, 0xbd, 0x5e, 0xa7, - 0xf2, 0x28, 0x54, 0x96, 0x91, 0xe7, 0x42, 0x8d, 0x4a, 0x14, 0x37, 0x58, 0x82, 0x5c, 0x55, 0xf7, - 0x47, 0x8a, 0x92, 0x26, 0x7d, 0x1b, 0xda, 0x2a, 0x5d, 0x48, 0x1d, 0xcc, 0x5a, 0xae, 0x7f, 0x33, - 0x99, 0x4a, 0xe2, 0x2c, 0x2d, 0x95, 0x37, 0x55, 0x90, 0xf7, 0x2e, 0x7d, 0x2f, 0xf0, 0xd1, 0x19, - 0x9c, 0xa3, 0x94, 0xf5, 0xc2, 0x97, 0x36, 0x8c, 0xf9, 0x01, 0xe6, 0xfc, 0x64, 0x73, 0xc6, 0x88, - 0x52, 0x45, 0x42, 0xaf, 0x7d, 0x81, 0x88, 0x6b, 0x8b, 0xdf, 0x20, 0x41, 0xac, 0xb6, 0x39, 0xcf, - 0x46, 0x1e, 0x7c, 0x23, 0x9f, 0x45, 0x45, 0xd0, 0x20, 0xd2, 0xa7, 0x2a, 0xcf, 0xf8, 0x54, 0xbe, - 0x25, 0xa2, 0xb7, 0xb9, 0xf3, 0x44, 0x50, 0xcd, 0xc4, 0xa9, 0x54, 0x64, 0x4b, 0x49, 0xba, 0xc8, - 0x85, 0xa8, 0xe7, 0xa5, 0xec, 0x24, 0x84, 0xbc, 0x56, 0xad, 0xf7, 0x21, 0x5b, 0x44, 0x4c, 0xcb, - 0x02, 0xf3, 0xe4, 0x7c, 0x54, 0x81, 0x20, 0xe8, 0xa0, 0xc5, 0x80, 0x45, 0x62, 0xa0, 0x21, 0xce, - 0x43, 0x7c, 0x26, 0x17, 0x1c, 0xa4, 0xa3, 0x8f, 0xa0, 0x91, 0x40, 0x3c, 0x41, 0x51, 0x0a, 0x11, - 0x21, 0xe3, 0xe6, 0x76, 0xb0, 0x74, 0x2d, 0x3a, 0x6a, 0x44, 0x3c, 0x1f, 0x33, 0x63, 0xc1, 0xc6, - 0xb8, 0xcd, 0xf6, 0x28, 0xe9, 0xaf, 0x50, 0xfd, 0xd0, 0x19, 0xb1, 0xa6, 0xf1, 0x4a, 0xc6, 0x31, - 0x46, 0xe2, 0x2f, 0x07, 0x13, 0xd9, 0x22, 0xda, 0x22, 0x66, 0x3c, 0x51, 0xbb, 0x57, 0xcb, 0x63, - 0x0e, 0xbe, 0x07, 0x7b, 0xef, 0x56, 0x9b, 0xeb, 0xef, 0x0b, 0x76, 0x1c, 0xe7, 0x3d, 0x6e, 0xba, - 0x12, 0xb4, 0x3d, 0x47, 0xd8, 0xa9, 0xf0, 0x9b, 0x3d, 0xd7, 0xe6, 0xd0, 0xbb, 0xaa, 0x39, 0x9e, - 0xd5, 0x5b, 0xd0, 0xff, 0x13, 0xd1, 0xbe, 0x48, 0x5b, 0xb9, 0x63, 0x5d, 0x25, 0xfe, 0xb2, 0x95, - 0xde, 0x9d, 0xa5, 0xf0, 0x3c, 0x96, 0x31, 0xf7, 0x66, 0xa3, 0xba, 0x14, 0x54, 0x2c, 0xde, 0x65, - 0xc4, 0x5a, 0xe4, 0x72, 0xd2, 0x93, 0x06, 0x25, 0x86, 0xb1, 0x3e, 0x9f, 0xd2, 0xab, 0xdc, 0xfd, - 0x13, 0x44, 0x7e, 0x42, 0xea, 0xb0, 0xe2, 0xdb, 0xd7, 0x6d, 0x82, 0xd5, 0x61, 0x65, 0x8e, 0xd7, - 0x4b, 0xd1, 0x2c, 0xf3, 0x13, 0x98, 0xed, 0xa0, 0xa0, 0x8f, 0xb6, 0x32, 0xeb, 0x49, 0xd4, 0x31, - 0xd4, 0xe2, 0xcc, 0x84, 0x6b, 0x84, 0xef, 0x45, 0xc7, 0x2f, 0x5e, 0xf8, 0xd0, 0x9f, 0x69, 0x0f, - 0x84, 0xd8, 0xe4, 0x20, 0x4b, 0xf4, 0x11, 0x76, 0xdf, 0x65, 0x93, 0x6e, 0x46, 0x0d, 0x55, 0xf1, - 0x44, 0x6d, 0xda, 0x35, 0x9e, 0xc5, 0xfc, 0x7d, 0x47, 0xc3, 0x42, 0x2e, 0xfe, 0x6c, 0x2d, 0xd8, - 0x84, 0x5e, 0x2c, 0x50, 0x56, 0x16, 0x86, 0xf5, 0xed, 0x63, 0x03, 0xaa, 0x14, 0x86, 0x11, 0x97, - 0xa4, 0x12, 0xf2, 0x76, 0xc1, 0x9f, 0xae, 0x16, 0x16, 0xd2, 0x38, 0xde, 0xc4, 0xeb, 0xc3, 0xbd, - 0xc4, 0xa3, 0x57, 0x40, 0xc4, 0x57, 0xc4, 0x13, 0x17, 0x88, 0x18, 0xfb, 0xa3, 0x27, 0xb4, 0xaa, - 0xd1, 0xa5, 0xfb, 0xbf, 0x68, 0x2d, 0x47, 0xa4, 0xcb, 0x0d, 0x69, 0x0a, 0x8f, 0x33, 0xa5, 0xed, - 0x95, 0x6e, 0x8c, 0xad, 0x53, 0xbb, 0xd7, 0x0b, 0x52, 0x86, 0x13, 0x21, 0x0c, 0xef, 0x4a, 0x9b, - 0x36, 0x70, 0x58, 0x48, 0x36, 0xb5, 0x56, 0x28, 0x6a, 0x7a, 0x62, 0xcd, 0xd1, 0xb3, 0x90, 0xd6, - 0x25, 0xc1, 0xef, 0xd9, 0xeb, 0x59, 0x93, 0xfb, 0xd3, 0x35, 0x73, 0x0d, 0x4f, 0x73, 0x7e, 0xcb, - 0xad, 0x15, 0xe2, 0x0f, 0x8e, 0x8b, 0x31, 0x13, 0x4d, 0x9a, 0x73, 0x15, 0x64, 0x71, 0x3d, 0xd5, - 0x1a, 0x23, 0x7d, 0x49, 0xbc, 0xe6, 0xb1, 0x78, 0x2a, 0x9c, 0x08, 0x59, 0x51, 0x09, 0x92, 0x2c, - 0x69, 0x48, 0x28, 0x6a, 0xc5, 0xcd, 0x3d, 0xf0, 0x79, 0xde, 0x07, 0xc4, 0x51, 0x9a, 0x96, 0xfb, - 0x14, 0x4b, 0x7e, 0x81, 0xe9, 0x5b, 0x33, 0xe6, 0x30, 0xc9, 0x61, 0xf7, 0x38, 0xa3, 0x8c, 0x5f, - 0xa8, 0xc7, 0xa2, 0x44, 0x28, 0x7b, 0xed, 0xd3, 0x81, 0x8b, 0xfd, 0x71, 0x2e, 0x5b, 0xa7, 0x8b, - 0xe8, 0x1a, 0xbe, 0xe5, 0xe9, 0xcb, 0x34, 0x6c, 0xfa, 0x9f, 0xf2, 0x3c, 0xc1, 0x0c, 0x7c, 0x33, - 0x4d, 0xf7, 0x15, 0x85, 0xad, 0xe7, 0xf8, 0x12, 0xbe, 0xb1, 0x73, 0x60, 0x83, 0x95, 0x9f, 0x92, - 0x71, 0x2c, 0xb8, 0x66, 0xc4, 0x14, 0xe2, 0xc2, 0x34, 0x18, 0xa9, 0x9d, 0xe6, 0xae, 0xef, 0xa9, - 0x05, 0x55, 0x1a, 0x2a, 0x8e, 0x1d, 0x1d, 0x39, 0x8f, 0x28, 0x0d, 0x3e, 0x42, 0xf3, 0x49, 0xe7, - 0x4e, 0x29, 0xed, 0xfb, 0xd5, 0x20, 0xb3, 0xc6, 0x70, 0x14, 0x6b, 0x18, 0xad, 0xbb, 0xcf, 0x9b, - 0x37, 0x06, 0x61, 0xb9, 0xd8, 0xb0, 0x3c, 0x42, 0x61, 0x3f, 0x97, 0xa9, 0x4a, 0xd1, 0x56, 0x06, - 0x93, 0x23, 0x07, 0xe6, 0x2f, 0xf6, 0x98, 0x1c, 0x8e, 0x41, 0x5e, 0xc2, 0xba, 0x7a, 0x09, 0x40, - 0x1d, 0xd4, 0xa8, 0xa4, 0xf6, 0x54, 0x03, 0xb2, 0x54, 0x79, 0xa1, 0x8e, 0xef, 0x30, 0x1c, 0x3d, - 0xad, 0xf1, 0x58, 0x49, 0x11, 0x5d, 0x09, 0x71, 0x90, 0xfd, 0x93, 0x91, 0xdd, 0xf6, 0xc9, 0xbb, - 0xcf, 0x17, 0xc3, 0xcc, 0xb0, 0x6c, 0x9f, 0xf2, 0x68, 0xf3, 0xa2, 0x90, 0x45, 0xb9, 0x3d, 0x1c, - 0xf2, 0xbf, 0x26, 0x1f, 0x96, 0x86, 0x98, 0x33, 0x2a, 0xe8, 0xb0, 0x67, 0xf8, 0x19, 0x88, 0x72, - 0xd5, 0xd7, 0xf2, 0x63, 0x85, 0xad, 0x49, 0x11, 0x77, 0x12, 0x1f, 0x23, 0x91, 0x76, 0xa8, 0x67, - 0x9a, 0x17, 0x56, 0x0d, 0x14, 0xc0, 0x2a, 0x94, 0x23, 0x9b, 0xa9, 0x68, 0xe6, 0x50, 0x85, 0x75, - 0x26, 0x86, 0x75, 0x32, 0x39, 0xd1, 0xac, 0xa5, 0x0d, 0x02, 0xca, 0xef, 0xe9, 0x8c, 0x4c, 0x87, - 0x52, 0x66, 0xae, 0x21, 0x37, 0xda, 0xe7, 0x3d, 0x88, 0x6f, 0x6a, 0x8c, 0x32, 0xe3, 0x0e, 0xae, - 0xb1, 0x95, 0x31, 0x89, 0x6a, 0xc1, 0x86, 0x71, 0xfd, 0xa2, 0x5e, 0xdb, 0x08, 0x5a, 0x6b, 0x3d, - 0x8c, 0x10, 0x9e, 0x26, 0xc1, 0xcc, 0xe9, 0xd1, 0x3c, 0xae, 0xb4, 0xf6, 0x0d, 0x86, 0xc8, 0xd8, - 0x8c, 0x34, 0x44, 0xe0, 0x9a, 0xc0, 0xff, 0xa6, 0x7e, 0x38, 0x21, 0x71, 0x9b, 0xa8, 0x02, 0x07, - 0xbf, 0xc9, 0x4e, 0xe2, 0xc9, 0x22, 0x3c, 0x69, 0xd1, 0xb8, 0xb2, 0xb5, 0xc6, 0xdb, 0x8f, 0x90, - 0x25, 0x73, 0x27, 0x1d, 0xe4, 0x43, 0x15, 0xb9, 0x6f, 0xa8, 0xd6, 0x6d, 0x75, 0x7b, 0x8a, 0x15, - 0x71, 0x01, 0xbe, 0x80, 0xb6, 0xc2, 0xe1, 0x9e, 0xfc, 0x68, 0x17, 0x08, 0xa2, 0x66, 0x1b, 0xcd, - 0x7e, 0x15, 0x62, 0x54, 0x57, 0xd6, 0x8c, 0x48, 0xc8, 0x67, 0xd4, 0xf2, 0x7d, 0x0b, 0x09, 0x1b, - 0x31, 0x20, 0xf7, 0x94, 0xe2, 0xc0, 0xcb, 0x5b, 0x7f, 0x23, 0xac, 0x3a, 0xc0, 0xa0, 0x1a, 0xad, - 0x12, 0x9d, 0xd4, 0x96, 0xa7, 0x46, 0x94, 0x1e, 0x56, 0x2a, 0x1f, 0x2a, 0x88, 0xa2, 0x50, 0x7f, - 0x60, 0xd8, 0xc0, 0xc9, 0x47, 0x26, 0x41, 0x3a, 0xfc, 0x3a, 0x14, 0x5a, 0x5a, 0xbe, 0xbb, 0x23, - 0xe4, 0xd4, 0x04, 0x3a, 0x02, 0x4c, 0x0c, 0x67, 0xa8, 0x71, 0x85, 0x09, 0x1f, 0x04, 0xbf, 0x81, - 0x26, 0xd3, 0x06, 0x54, 0xd1, 0xfc, 0xc5, 0x61, 0xc4, 0xd5, 0xfb, 0x97, 0x8f, 0x88, 0x1f, 0x62, - 0x2c, 0x91, 0x18, 0x78, 0x86, 0x73, 0x8b, 0xce, 0x4c, 0x37, 0x76, 0x61, 0xa0, 0xf7, 0x3c, 0x87, - 0x26, 0xcb, 0x15, 0x11, 0x83, 0x70, 0xe7, 0xcd, 0x3c, 0x1f, 0x28, 0x1c, 0x4a, 0xe3, 0x57, 0x87, - 0xbe, 0xc6, 0xf6, 0x55, 0x79, 0x1e, 0xa9, 0xff, 0x90, 0xa5, 0xf8, 0x07, 0x56, 0x5c, 0xac, 0x91, - 0xb2, 0x18, 0xc9, 0x27, 0x88, 0x5a, 0x49, 0xe5, 0x11, 0xe0, 0x06, 0xf2, 0xe0, 0xbe, 0xc3, 0xb2, - 0x58, 0xc2, 0xf1, 0x0e, 0x72, 0x6a, 0x8a, 0x7f, 0x60, 0xca, 0x97, 0x42, 0xf3, 0x15, 0xae, 0x6e, - 0xcb, 0x02, 0xc6, 0x36, 0x48, 0x92, 0xd5, 0xff, 0xad, 0x2f, 0x74, 0xe0, 0x8e, 0xa5, 0x01, 0xb5, - 0xbc, 0xfc, 0x83, 0x09, 0xd8, 0xe6, 0x8a, 0xa6, 0x48, 0xaa, 0xd3, 0xa4, 0x43, 0x04, 0x1d, 0x1f, - 0x63, 0x6b, 0x23, 0x10, 0x2e, 0x10, 0xca, 0xd3, 0x55, 0xde, 0x60, 0x59, 0xde, 0x1f, 0xab, 0x04, - 0xe7, 0x5a, 0x60, 0x39, 0x26, 0xee, 0x24, 0xf3, 0x61, 0x9e, 0x35, 0x2c, 0x8f, 0x63, 0x47, 0x2c, - 0x47, 0x5d, 0x16, 0x97, 0xdb, 0x0f, 0xc1, 0x0c, 0x03, 0xd1, 0x4b, 0x8c, 0xbb, 0xda, 0xd2, 0x9c, - 0x23, 0x5a, 0x3b, 0x89, 0xbd, 0x40, 0x8c, 0xb5, 0x38, 0x8c, 0xe6, 0xfe, 0x32, 0x4c, 0x17, 0x51, - 0x02, 0xbb, 0x36, 0x56, 0x7b, 0x33, 0xd2, 0xf7, 0xd6, 0xda, 0x3d, 0x2c, 0x62, 0x1f, 0xdc, 0xdb, - 0x94, 0x71, 0x0f, 0xc1, 0x3a, 0x76, 0x09, 0x49, 0x4b, 0xc6, 0xfd, 0xf7, 0x44, 0xce, 0xc3, 0xf2, - 0x5a, 0x7c, 0x14, 0xbf, 0x4d, 0x41, 0x60, 0xd8, 0xe8, 0xc4, 0x15, 0x9c, 0x9e, 0x93, 0x4a, 0x14, - 0xa1, 0x7a, 0xc4, 0x34, 0x0e, 0xdf, 0x47, 0xa7, 0xac, 0x47, 0x7b, 0x33, 0x5e, 0x0c, 0x94, 0x5c, - 0x83, 0x9d, 0x72, 0x8d, 0x45, 0xfa, 0xd4, 0xae, 0x1b, 0xc0, 0x06, 0x01, 0xb6, 0xf3, 0x50, 0x57, - 0x36, 0xf5, 0x67, 0xdc, 0x96, 0x23, 0xcb, 0x0c, 0xf0, 0x84, 0xed, 0xfb, 0x15, 0x33, 0x0a, 0x61, - 0x8b, 0xde, 0x12, 0xe1, 0x83, 0xb6, 0xab, 0xb9, 0xcc, 0xd7, 0x36, 0x4d, 0x8a, 0x1c, 0x0c, 0xcb, - 0x28, 0x38, 0x72, 0xe9, 0x3f, 0x9d, 0xbf, 0x72, 0xf1, 0x5c, 0x3e, 0xea, 0xe4, 0xc6, 0xd6, 0xfa, - 0xb9, 0xce, 0xb5, 0x53, 0xc8, 0x12, 0x2a, 0x8e, 0xa5, 0xe6, 0x63, 0x0e, 0xd8, 0x38, 0x50, 0xc0, - 0xc3, 0x9c, 0xab, 0x2d, 0xa2, 0x5a, 0xdb, 0x9a, 0x50, 0x77, 0x0c, 0x7c, 0xe9, 0x2f, 0x46, 0x42, - 0xf5, 0x65, 0xc0, 0x1e, 0x5e, 0x94, 0x7c, 0xa8, 0xf8, 0x1c, 0xcc, 0x9e, 0x60, 0xcf, 0x0d, 0xfb, - 0xfc, 0xf9, 0x14, 0x29, 0x77, 0xb0, 0x6c, 0x56, 0x22, 0xab, 0xde, 0xae, 0x38, 0x37, 0x78, 0x82, - 0x6f, 0x22, 0xca, 0x8f, 0x4d, 0x64, 0x1f, 0x03, 0x9e, 0xac, 0xa6, 0x9f, 0xd6, 0x5c, 0x87, 0xe2, - 0x47, 0x52, 0xa1, 0xdd, 0xd3, 0xd7, 0x27, 0x71, 0xb5, 0x6c, 0x3c, 0x44, 0x62, 0x3a, 0x91, 0x01, - 0xca, 0xac, 0x09, 0x28, 0x81, 0x8d, 0x28, 0x51, 0xe7, 0x19, 0xed, 0xd6, 0xea, 0x34, 0x56, 0x0f, - 0x6b, 0x29, 0xe7, 0x77, 0x4a, 0x85, 0x8e, 0x10, 0x22, 0xc1, 0xdb, 0x7c, 0x51, 0xeb, 0xf4, 0xbd, - 0x46, 0x70, 0x1e, 0x16, 0x32, 0x3e, 0xad, 0x80, 0x48, 0xa8, 0x23, 0xfd, 0x84, 0x51, 0xc2, 0xbd, - 0xf4, 0x87, 0x1f, 0xc6, 0x3b, 0xc3, 0xb1, 0x54, 0xb9, 0xbb, 0xa4, 0x58, 0xae, 0x0f, 0xaa, 0x3f, - 0x70, 0x51, 0x1f, 0x83, 0x36, 0xc4, 0xbc, 0x48, 0xc0, 0x00, 0x20, 0x5f, 0x85, 0x05, 0x75, 0xc8, - 0x6a, 0x76, 0xc0, 0xbb, 0x8e, 0xd5, 0xf0, 0x21, 0x88, 0x55, 0x00, 0x07, 0xbb, 0x10, 0xf3, 0xf2, - 0xc2, 0x21, 0x1d, 0x36, 0x9f, 0xd9, 0xa7, 0xeb, 0xb8, 0x8d, 0xfe, 0x1c, 0x7f, 0x91, 0xd4, 0x2a, - 0x41, 0x00, 0x00, 0x2a, 0x6c, 0x9b, 0xda, 0xe3, 0xcc, 0x76, 0x5b, 0xaf, 0x60, 0x72, 0x63, 0x0c, - 0x22, 0x6f, 0x01, 0x09, 0x1e, 0x47, 0x43, 0x2a, 0x50, 0xaf, 0xf0, 0x85, 0xe6, 0x29, 0x4d, 0xd7, - 0x84, 0xc0, 0xe2, 0x9a, 0xab, 0xf4, 0x4f, 0xed, 0x13, 0x3c, 0x6a, 0x22, 0xea, 0x9c, 0x36, 0xed, - 0x5e, 0x27, 0x51, 0x81, 0x64, 0x23, 0x78, 0xe4, 0xcc, 0xff, 0xef, 0x99, 0x3b, 0x81, 0xaa, 0xcb, - 0x2c, 0x98, 0xcf, 0x6f, 0x92, 0xc2, 0x44, 0x1f, 0xa0, 0x84, 0xb1, 0x98, 0x33, 0xf7, 0x45, 0x48, - 0xb2, 0x91, 0x72, 0xe7, 0xc5, 0xdc, 0xbf, 0x72, 0xc5, 0x5b, 0x6d, 0x6e, 0xac, 0x21, 0x2f, 0xda, - 0x9f, 0x80, 0x94, 0x5f, 0xd1, 0x73, 0x5a, 0xb4, 0xd5, 0x4a, 0x22, 0xd6, 0x1b, 0x4a, 0xd3, 0x53, - 0x63, 0x54, 0x1e, 0x9a, 0xd3, 0x79, 0x0a, 0x5b, 0xf8, 0x48, 0xf3, 0xeb, 0xca, 0xea, 0x63, 0x28, - 0xf2, 0xf9, 0xe2, 0x8b, 0x99, 0x8b, 0x5e, 0x64, 0x29, 0xda, 0x9d, 0xa6, 0x02, 0xf7, 0x26, 0xfb, - 0xcc, 0xb8, 0xc8, 0xab, 0x9e, 0xcd, 0x9d, 0x32, 0x03, 0xbc, 0x4b, 0x88, 0x85, 0xa0, 0xee, 0xbf, - 0xfc, 0x88, 0x28, 0xab, 0x4a, 0x23, 0x74, 0x27, 0x0d, 0x57, 0x49, 0xed, 0x67, 0xa9, 0x66, 0x0d, - 0x21, 0x42, 0xa6, 0xd5, 0x23, 0xd5, 0xfd, 0xf7, 0xd5, 0x40, 0x17, 0xe5, 0x4d, 0xaf, 0xa1, 0x99, - 0xd2, 0xcc, 0xbb, 0x54, 0x69, 0x6d, 0xa9, 0x0c, 0x27, 0x36, 0xaa, 0x7b, 0x48, 0xe0, 0x11, 0xeb, - 0x6f, 0xda, 0x1f, 0x02, 0x28, 0x0d, 0xa8, 0x2a, 0x8b, 0xac, 0x83, 0x0a, 0x98, 0x7c, 0x3a, 0xf2, - 0xc8, 0x6e, 0x7e, 0x5e, 0xd6, 0x2c, 0x14, 0x06, 0xd4, 0x22, 0x6f, 0x29, 0x21, 0x02, 0x70, 0x3a, - 0x3a, 0x3e, 0x00, 0xe3, 0xc0, 0x61, 0xdb, 0xd9, 0x62, 0xea, 0x2c, 0x9e, 0x4a, 0xc1, 0x0f, 0x0c, - 0xae, 0xb3, 0x7d, 0xe4, 0x6b, 0xd9, 0xc6, 0x2b, 0xb3, 0x03, 0x14, 0xd4, 0x3f, 0x6b, 0x92, 0x9d, - 0x56, 0xf8, 0x8b, 0x17, 0x46, 0xaf, 0x54, 0x86, 0xe5, 0x17, 0xb6, 0x80, 0x7e, 0xbb, 0xd0, 0x89, - 0xf0, 0xad, 0x3d, 0x3e, 0xff, 0x8d, 0xa4, 0x03, 0x15, 0x3c, 0x50, 0x35, 0xb0, 0x3d, 0x66, 0xa8, - 0xfa, 0x75, 0xf3, 0x26, 0x66, 0x65, 0x61, 0xa3, 0x8d, 0xc7, 0x4c, 0xde, 0x1e, 0x63, 0x57, 0x10, - 0xf2, 0x10, 0x80, 0xfc, 0xa4, 0x1c, 0xb0, 0x56, 0xbe, 0x08, 0x0c, 0xa3, 0x27, 0x11, 0x9f, 0x6c, - 0xcd, 0x14, 0x79, 0x02, 0x7f, 0xf3, 0x18, 0x23, 0x78, 0xad, 0x31, 0xfb, 0xb4, 0xa2, 0x7d, 0xe4, - 0x54, 0x02, 0x2d, 0x48, 0x56, 0xe5, 0xf5, 0xf0, 0x31, 0x00, 0xf5, 0x73, 0x90, 0xd4, 0xe4, 0xdf, - 0xee, 0x15, 0xf8, 0x60, 0xc9, 0x88, 0x47, 0x0f, 0xd8, 0xb6, 0x16, 0xb0, 0x78, 0x22, 0xf1, 0x80, - 0xb3, 0x44, 0xd4, 0x8d, 0x86, 0x40, 0x9e, 0x0a, 0x72, 0x38, 0xff, 0x77, 0x32, 0x13, 0x7b, 0xe2, - 0x04, 0x96, 0xe2, 0xbb, 0x2c, 0x52, 0xe7, 0x09, 0xa4, 0x20, 0xd6, 0x94, 0x9d, 0x3a, 0xdc, 0x8d, - 0x46, 0xf0, 0x42, 0xf7, 0xaf, 0xdd, 0x99, 0x8e, 0xb2, 0x03, 0x45, 0xe2, 0x8d, 0x99, 0xb5, 0x15, - 0xca, 0x4b, 0x86, 0xbc, 0x0a, 0x0f, 0x9c, 0xa0, 0xd9, 0x1b, 0x76, 0xa8, 0xb9, 0x53, 0x63, 0xb6, - 0xa2, 0xa3, 0x15, 0x0f, 0x91, 0x93, 0x4a, 0x97, 0xed, 0x33, 0xf3, 0x41, 0x38, 0x9f, 0x99, 0x8d, - 0xd9, 0x7a, 0x4c, 0x31, 0xcb, 0x98, 0x9d, 0x2d, 0xa2, 0x75, 0x70, 0x3d, 0x53, 0x70, 0xd7, 0x32, - 0x64, 0xe6, 0x76, 0x4a, 0x39, 0x01, 0x36, 0x01, 0x5a, 0x57, 0xa2, 0xd7, 0xae, 0x60, 0x87, 0xb4, - 0xfc, 0x90, 0x25, 0x06, 0x7a, 0x37, 0x69, 0x8c, 0xfa, 0xda, 0x4d, 0x55, 0xd4, 0x76, 0xaa, 0x99, - 0x09, 0xf6, 0xd5, 0xf4, 0x47, 0xe4, 0x09, 0x10, 0xa2, 0x1f, 0x9f, 0x8a, 0x13, 0x7c, 0x45, 0x8d, - 0xe6, 0x05, 0x0b, 0xee, 0xfd, 0x8c, 0x26, 0xcc, 0xb6, 0x5c, 0x14, 0x15, 0xb0, 0x75, 0x40, 0x72, - 0x23, 0xcd, 0xb2, 0xc5, 0x4f, 0x66, 0x7e, 0x93, 0x45, 0x38, 0xf5, 0xce, 0xdd, 0x14, 0xbd, 0x86, - 0xa2, 0xef, 0x39, 0xf5, 0x91, 0x5f, 0xc0, 0xf0, 0xf7, 0x2d, 0x4b, 0x5f, 0x0b, 0x20, 0x45, 0x76, - 0xac, 0x6c, 0x94, 0x34, 0xa0, 0x19, 0xb3, 0x5c, 0xdc, 0x31, 0x8d, 0x9e, 0xe5, 0x8e, 0xaa, 0x74, - 0x7d, 0x5c, 0xe9, 0x99, 0x7b, 0x61, 0xba, 0x25, 0x7d, 0xe2, 0xf2, 0x2d, 0x22, 0x88, 0xda, 0xe2, - 0x2c, 0xc6, 0xe6, 0xf9, 0x02, 0xbd, 0x6e, 0x67, 0x65, 0x11, 0xc5, 0x44, 0xf1, 0x07, 0x86, 0x5f, - 0xaf, 0x35, 0xc7, 0xb0, 0x38, 0x99, 0x31, 0xf8, 0x0a, 0xcb, 0xb2, 0xd6, 0x04, 0x88, 0xb7, 0x80, - 0x0c, 0xc2, 0x49, 0x9e, 0x8b, 0x16, 0xab, 0x7a, 0x1f, 0x86, 0xd3, 0x79, 0xa7, 0x51, 0x53, 0x6c, - 0xcd, 0x2e, 0x86, 0xf9, 0x44, 0x27, 0x9a, 0x5e, 0xc0, 0x68, 0xd9, 0x64, 0x2c, 0x15, 0x97, 0xcd, - 0x79, 0x4e, 0x32, 0x4e, 0xe6, 0x17, 0x33, 0xdc, 0x39, 0xd6, 0xb3, 0x83, 0xc8, 0x53, 0x12, 0x5f, - 0x02, 0x57, 0x4a, 0xae, 0x72, 0xd6, 0xaa, 0xb1, 0x5d, 0xa1, 0xcf, 0xb9, 0x7c, 0x7f, 0x62, 0xbc, - 0x0c, 0x26, 0x1c, 0xa7, 0xa0, 0xf2, 0x9b, 0xc7, 0xe4, 0x38, 0x05, 0x0d, 0x81, 0x46, 0x0e, 0xb5, - 0xd3, 0xe8, 0x4e, 0xbb, 0xd0, 0x5a, 0x69, 0x27, 0x17, 0x79, 0x34, 0x78, 0xb7, 0x6e, 0x44, 0x8d, - 0x06, 0xab, 0xdb, 0x2f, 0x5c, 0x33, 0x91, 0xc8, 0xbb, 0xc2, 0x35, 0xcd, 0xce, 0xe7, 0x0e, 0xee, - 0xd6, 0x02, 0xca, 0xf7, 0x81, 0x2a, 0xc8, 0x05, 0x1e, 0x2f, 0x69, 0x41, 0xf5, 0xec, 0x48, 0x95, - 0x73, 0x54, 0x9c, 0x7f, 0xc2, 0x2c, 0xad, 0x3e, 0x63, 0xd3, 0x2c, 0xb0, 0xb6, 0xc4, 0x2d, 0x8a, - 0x9c, 0x06, 0xbd, 0x82, 0x7f, 0x38, 0x4c, 0xc0, 0x51, 0x1d, 0x75, 0x02, 0xac, 0xeb, 0xf0, 0xdf, - 0x4c, 0xed, 0x9d, 0xee, 0xbd, 0x70, 0xf3, 0x02, 0x9e, 0x9f, 0xb9, 0xa4, 0x63, 0x9e, 0xbd, 0x34, - 0x28, 0x6d, 0x9c, 0x14, 0x25, 0x86, 0x91, 0xee, 0xf0, 0x5b, 0xa2, 0x48, 0x35, 0xf5, 0x08, 0x51, - 0x74, 0x0f, 0xb0, 0xa2, 0x26, 0x46, 0x80, 0x82, 0xee, 0x14, 0xeb, 0x1f, 0x3f, 0x5d, 0x67, 0xb3, - 0x41, 0x2c, 0x50, 0x12, 0x23, 0x77, 0x92, 0xef, 0x0c, 0xd8, 0x67, 0x04, 0x48, 0x33, 0x19, 0x11, - 0x93, 0x77, 0xcb, 0x3d, 0x8b, 0x63, 0x20, 0x27, 0x22, 0x98, 0xd8, 0x8f, 0xd1, 0x7b, 0x93, 0x78, - 0x17, 0x66, 0x60, 0xb0, 0xeb, 0x72, 0xdf, 0x64, 0x5a, 0x46, 0xc3, 0x9b, 0x66, 0x8c, 0x0f, 0xb9, - 0x08, 0xee, 0xac, 0x16, 0x60, 0x42, 0xbc, 0x0d, 0x6a, 0x9e, 0xa4, 0xd6, 0x37, 0x34, 0x37, 0x3c, - 0x0c, 0x4c, 0xae, 0x5a, 0x86, 0xe2, 0x91, 0xa6, 0x07, 0x67, 0xc7, 0x6f, 0xf3, 0x11, 0xc4, 0xc3, - 0xd6, 0x8b, 0x3f, 0x03, 0x2f, 0x63, 0x29, 0xcc, 0x7a, 0x9a, 0x48, 0x20, 0x8f, 0x91, 0x18, 0x03, - 0xaf, 0x27, 0xf9, 0xb8, 0xa3, 0xcb, 0xf6, 0x46, 0x91, 0x0b, 0x98, 0xdf, 0x5e, 0x42, 0x8f, 0xe0, - 0xb3, 0x8b, 0x35, 0xe3, 0x5f, 0xe7, 0xeb, 0xe7, 0x29, 0x9f, 0x83, 0xfd, 0x1e, 0x67, 0x50, 0x00, - 0xc0, 0x69, 0x85, 0xbb, 0x3e, 0xb7, 0xd9, 0x69, 0x15, 0x46, 0x54, 0x2a, 0x05, 0x95, 0x97, 0xbb, - 0xf2, 0x43, 0x77, 0x52, 0x17, 0x19, 0xc9, 0xcc, 0x72, 0x6d, 0x7b, 0x23, 0xa9, 0x83, 0x8b, 0x03, - 0x94, 0xdb, 0x47, 0x38, 0x0e, 0xde, 0x50, 0xa7, 0x83, 0x91, 0xd2, 0x91, 0xcd, 0xf8, 0xf4, 0xde, - 0xd7, 0xeb, 0x47, 0xd0, 0xbf, 0x12, 0x8d, 0x9f, 0x5f, 0xd5, 0x7f, 0x24, 0x04, 0xf3, 0xcf, 0x9b, - 0xa0, 0x66, 0x08, 0xae, 0xaa, 0x83, 0x53, 0xd7, 0x93, 0x8b, 0x0c, 0x12, 0x89, 0xf6, 0x10, 0xd7, - 0xe7, 0x42, 0xd3, 0xe2, 0xbe, 0x49, 0xe4, 0xb1, 0x56, 0xa2, 0xf8, 0xf4, 0x10, 0xbd, 0xc6, 0x04, - 0x56, 0x3f, 0x9a, 0xdb, 0x60, 0xdc, 0x82, 0xcc, 0x31, 0xa2, 0x72, 0x44, 0x8c, 0x86, 0xf5, 0x44, - 0xa3, 0x8b, 0x6e, 0xe2, 0x05, 0x86, 0xb0, 0x7c, 0x97, 0x04, 0x7a, 0xcd, 0xbd, 0xb7, 0x08, 0xff, - 0xdb, 0x3f, 0x07, 0x7c, 0xfa, 0x65, 0xf0, 0x0b, 0x6e, 0x53, 0x9a, 0x05, 0x79, 0x66, 0x98, 0xe9, - 0x94, 0x0a, 0xd4, 0xce, 0x52, 0xfc, 0x20, 0x65, 0x1d, 0xf3, 0xe9, 0x7a, 0x2c, 0xfe, 0x51, 0x89, - 0x81, 0x10, 0x7c, 0x81, 0x3f, 0x46, 0xe3, 0x8c, 0x8e, 0xa8, 0xed, 0xcb, 0x24, 0x67, 0xac, 0xd7, - 0xf4, 0x67, 0x0d, 0xef, 0x6f, 0x4c, 0xab, 0x6f, 0xc4, 0x5b, 0x88, 0x87, 0xf7, 0x64, 0x74, 0x29, - 0x8f, 0x8c, 0x06, 0x9f, 0xee, 0x4f, 0xb5, 0xff, 0x89, 0x72, 0xd6, 0x50, 0xaa, 0x51, 0x23, 0x90, - 0x30, 0xdb, 0x3e, 0xe4, 0x29, 0xc8, 0x62, 0x95, 0xb0, 0xde, 0x31, 0x42, 0x27, 0xb0, 0x53, 0x5a, - 0x47, 0x5c, 0x6b, 0x92, 0xab, 0xea, 0xab, 0x44, 0x82, 0xd3, 0xfe, 0xd1, 0xfe, 0x69, 0x94, 0x65, - 0x62, 0x2c, 0xba, 0x6f, 0xbf, 0xa2, 0x2c, 0x54, 0xe8, 0xa7, 0x35, 0xca, 0x3e, 0x20, 0x73, 0x42, - 0x8b, 0x5a, 0x13, 0x45, 0xf6, 0xf4, 0x63, 0x6d, 0x27, 0xf1, 0xfa, 0x13, 0x5c, 0x3f, 0x8f, 0xa9, - 0xbb, 0xbc, 0xf3, 0x93, 0x4f, 0x82, 0xdd, 0x53, 0x10, 0x41, 0x83, 0x49, 0x34, 0xf4, 0xf8, 0xc7, - 0x8b, 0x46, 0xd8, 0xb5, 0xab, 0xcb, 0x9d, 0xa4, 0x3c, 0x2b, 0x46, 0xa4, 0x39, 0xee, 0xc6, 0xaf, - 0x42, 0x57, 0xa0, 0xf7, 0x94, 0xac, 0x56, 0xec, 0xd3, 0x8e, 0xe5, 0x1d, 0xe3, 0x65, 0xe4, 0xb1, - 0xca, 0xef, 0x0e, 0xd4, 0xba, 0x13, 0xe9, 0xfc, 0x02, 0x69, 0x16, 0x8b, 0xce, 0xf0, 0x66, 0x19, - 0x4d, 0x1c, 0x71, 0xf4, 0x68, 0xb5, 0xa7, 0xd1, 0x26, 0x56, 0x32, 0x48, 0x20, 0xf1, 0x42, 0x53, - 0x31, 0xaf, 0x47, 0x00, 0xa3, 0xad, 0x6c, 0xb0, 0x94, 0x11, 0x6d, 0xd4, 0xc2, 0xe5, 0xbc, 0x14, - 0xca, 0x45, 0x84, 0x17, 0x87, 0x44, 0x7a, 0xd4, 0xd6, 0x2b, 0x1b, 0xbf, 0xe0, 0x48, 0x8f, 0x37, - 0x54, 0x9e, 0xc3, 0xe4, 0xd3, 0xcc, 0xeb, 0x17, 0x65, 0xb2, 0x48, 0xf7, 0x65, 0xc6, 0xea, 0x7e, - 0x21, 0x2c, 0x65, 0x7c, 0x40, 0xd3, 0x34, 0x96, 0x49, 0xb1, 0x2b, 0x8d, 0xb0, 0x0e, 0x8a, 0x1e, - 0x4a, 0x59, 0x60, 0xd7, 0x92, 0x63, 0xb7, 0xed, 0x50, 0xb4, 0xd3, 0xa6, 0xe4, 0x81, 0x0e, 0xfa, - 0xbf, 0xac, 0xeb, 0xdc, 0xcd, 0x9b, 0x85, 0x6d, 0x3e, 0xe4, 0xec, 0x80, 0x74, 0x9d, 0x61, 0x38, - 0x20, 0xf8, 0x4c, 0x44, 0xbc, 0xb1, 0x62, 0x7d, 0xb9, 0xd8, 0xac, 0xfc, 0xa0, 0xdc, 0x87, 0xb2, - 0xbf, 0x9b, 0x47, 0xf6, 0x89, 0xee, 0x0c, 0xf7, 0x77, 0x46, 0x95, 0xd6, 0x57, 0xbd, 0x55, 0x56, - 0xaf, 0xb2, 0x9e, 0x7d, 0x1f, 0x93, 0xf0, 0x4f, 0x6e, 0x0d, 0x9e, 0xe6, 0x96, 0xd3, 0x69, 0x73, - 0x8f, 0x90, 0xf6, 0x66, 0xce, 0xbf, 0x9e, 0x41, 0x78, 0x9b, 0x38, 0xb0, 0x12, 0xe9, 0x96, 0xa1, - 0xc3, 0xd1, 0xbc, 0xa2, 0x9d, 0x0c, 0xa9, 0x55, 0x7f, 0x99, 0x77, 0x12, 0x54, 0x04, 0xfa, 0xb8, - 0x4d, 0x16, 0xc6, 0x5f, 0x34, 0x7f, 0xf2, 0x35, 0xb9, 0xea, 0xb7, 0x31, 0x98, 0xd3, 0xfc, 0xa6, - 0xed, 0x48, 0xf1, 0x0c, 0xf1, 0xc9, 0x37, 0x6a, 0xe8, 0xc3, 0xe6, 0x5b, 0x34, 0x62, 0xd9, 0xa8, - 0xf3, 0x06, 0x98, 0xc0, 0x87, 0x90, 0x1e, 0x2c, 0xaa, 0x7b, 0x97, 0x29, 0xbe, 0x37, 0x50, 0x40, - 0x59, 0xaa, 0xce, 0x5b, 0x1c, 0x67, 0x31, 0xa8, 0x13, 0xe8, 0xea, 0x69, 0xbb, 0xd3, 0x29, 0xb9, - 0x31, 0x03, 0xeb, 0x4a, 0x81, 0x27, 0x8c, 0x1c, 0x62, 0x8b, 0x4f, 0x08, 0xe0, 0xa7, 0x64, 0x66, - 0xad, 0xe7, 0x32, 0xde, 0x72, 0x21, 0x2f, 0xaf, 0x93, 0x6a, 0xf0, 0xcd, 0x45, 0x11, 0xb7, 0xa8, - 0xd8, 0x4b, 0x93, 0x6c, 0x38, 0xbc, 0xa4, 0x7d, 0xd0, 0x56, 0x48, 0xde, 0xd2, 0x4b, 0x56, 0x66, - 0x83, 0x61, 0x5b, 0xb1, 0xd6, 0x1b, 0xae, 0x9e, 0xd3, 0xf5, 0xb0, 0xde, 0x3e, 0x29, 0x9d, 0xd4, - 0xf3, 0x45, 0x76, 0xb3, 0xb2, 0xd1, 0x4a, 0xca, 0xcb, 0xfb, 0x1b, 0x77, 0x8b, 0x37, 0x5d, 0x2c, - 0x2a, 0xbd, 0x64, 0x94, 0xff, 0xed, 0xad, 0xbf, 0x6c, 0x8d, 0xc5, 0xcc, 0x72, 0x6d, 0x02, 0x6d, - 0x3a, 0xcc, 0x32, 0x7c, 0x3c, 0x61, 0x73, 0xec, 0xfa, 0x8f, 0xe5, 0x13, 0x86, 0x1c, 0x79, 0x1d, - 0xd9, 0x01, 0x19, 0x4a, 0x8b, 0x05, 0x9e, 0x1f, 0x6e, 0xab, 0x9e, 0xb9, 0x3e, 0xe6, 0x9c, 0xae, - 0x36, 0x60, 0x82, 0x4a, 0xaf, 0xe1, 0x22, 0x5b, 0x64, 0x52, 0xad, 0xca, 0x00, 0x68, 0x6a, 0xf0, - 0xd9, 0xd8, 0x01, 0xdc, 0x40, 0xb7, 0xd5, 0xb8, 0x1e, 0x50, 0xfb, 0xe3, 0x72, 0xee, 0x89, 0x3d, - 0x94, 0xbe, 0x78, 0x32, 0xa9, 0xb7, 0x50, 0x67, 0xd9, 0xc0, 0xa6, 0x35, 0x60, 0x79, 0xbf, 0x09, - 0x3e, 0x2f, 0x59, 0xa1, 0xd1, 0x58, 0x44, 0x91, 0xc3, 0x00, 0x9c, 0xcf, 0xc5, 0x19, 0xe9, 0x7e, - 0xb6, 0xb0, 0xfc, 0x92, 0x81, 0x83, 0xaa, 0xec, 0x71, 0x89, 0x1e, 0x49, 0x34, 0xe2, 0x9e, 0x75, - 0x9c, 0x0a, 0xef, 0xd1, 0x9c, 0x96, 0xb4, 0x79, 0xb0, 0x07, 0x46, 0x9c, 0x53, 0x25, 0x09, 0x41, - 0xbb, 0xfa, 0x82, 0xe1, 0xcb, 0xf5, 0xf9, 0xcb, 0x38, 0x61, 0x33, 0x71, 0x2e, 0x8d, 0x3a, 0x92, - 0x5a, 0x3e, 0x52, 0xc8, 0x72, 0xb2, 0x1c, 0x94, 0xeb, 0x87, 0x94, 0x5f, 0x60, 0x50, 0xe4, 0xfc, - 0x87, 0x7e, 0xad, 0x1d, 0x59, 0xef, 0x7c, 0xb7, 0x44, 0xf7, 0x27, 0x1d, 0x0c, 0x4e, 0x6f, 0xd6, - 0x11, 0xc6, 0x79, 0xe2, 0x97, 0xe5, 0x42, 0xc4, 0x3c, 0x6a, 0xc2, 0x23, 0xce, 0x39, 0xe6, 0x46, - 0xfb, 0x6c, 0xca, 0x99, 0x79, 0x5e, 0x72, 0x13, 0x95, 0x2e, 0x8d, 0x58, 0x79, 0xba, 0x28, 0x75, - 0x2c, 0x49, 0xbc, 0x01, 0x05, 0x97, 0x95, 0xad, 0xda, 0x4c, 0x5c, 0x9a, 0x55, 0x5f, 0xf4, 0xd6, - 0xd2, 0x7e, 0xfc, 0xbb, 0x38, 0x19, 0x64, 0xc9, 0x32, 0xac, 0xa6, 0x9f, 0x63, 0x92, 0xea, 0x81, - 0x42, 0xcf, 0x06, 0x99, 0x46, 0xa1, 0xf5, 0x5d, 0xbf, 0x08, 0x28, 0xac, 0x78, 0x00, 0xd4, 0xd4, - 0x8c, 0x1f, 0x13, 0xcb, 0x2e, 0xf4, 0xff, 0x17, 0x4a, 0x8d, 0x4a, 0xc0, 0x54, 0xd3, 0x41, 0x22, - 0x2a, 0x07, 0x62, 0x61, 0x90, 0x00, 0x3f, 0xf6, 0x03, 0x4f, 0xff, 0xbe, 0x7a, 0x56, 0x29, 0x1f, - 0xf2, 0xe8, 0x47, 0xda, 0x8b, 0xbd, 0x03, 0x3f, 0xc8, 0x46, 0x71, 0xc4, 0x03, 0xd7, 0x55, 0x68, - 0xa0, 0xca, 0xe6, 0x43, 0x7d, 0xcb, 0x90, 0xae, 0x11, 0x66, 0x1f, 0x33, 0xb6, 0xdc, 0xb8, 0x72, - 0xd0, 0x89, 0x31, 0xa9, 0xd8, 0x93, 0xcf, 0x15, 0xdf, 0x6b, 0x76, 0x75, 0x9b, 0xc6, 0x12, 0xd7, - 0xce, 0x7d, 0x4d, 0xb4, 0x4e, 0x9d, 0xf7, 0xc0, 0xa2, 0xc8, 0x7b, 0x1e, 0x36, 0x11, 0xe8, 0xfb, - 0x8e, 0x7e, 0xd0, 0x0c, 0x1e, 0x76, 0x43, 0x8e, 0x3f, 0x4d, 0xce, 0x5b, 0xc6, 0xab, 0x9c, 0x88, - 0x87, 0xe5, 0x7f, 0xc0, 0x12, 0x0c, 0x3b, 0xf9, 0x65, 0x56, 0xec, 0xa2, 0x60, 0x80, 0x66, 0x1b, - 0x80, 0xd7, 0x00, 0x7e, 0x26, 0x42, 0x5f, 0x16, 0x91, 0xda, 0xc6, 0xce, 0x99, 0xe0, 0x97, 0xa7, - 0xde, 0x39, 0xbc, 0xcd, 0xf6, 0x2d, 0x23, 0x88, 0x84, 0x53, 0xbd, 0x3a, 0x03, 0xdb, 0x74, 0x1e, - 0xd4, 0xff, 0x51, 0x5e, 0x42, 0xce, 0xd7, 0x0d, 0x51, 0x69, 0x42, 0xba, 0x25, 0xba, 0x09, 0x91, - 0xd5, 0x9f, 0x13, 0xb5, 0xf8, 0x21, 0xba, 0x7c, 0x15, 0x30, 0x6f, 0xee, 0x2e, 0x60, 0xe2, 0x63, - 0x1e, 0xfe, 0x65, 0x9b, 0x8f, 0x41, 0x71, 0xd4, 0x5d, 0x6c, 0xba, 0x21, 0xaf, 0xce, 0x96, 0x83, - 0x01, 0x36, 0x2f, 0xcf, 0x0a, 0xdb, 0x69, 0xa7, 0x50, 0x2d, 0xdb, 0x8c, 0xf4, 0x1a, 0x7d, 0x65, - 0xf4, 0x2f, 0x82, 0x6a, 0xf1, 0x78, 0x88, 0x77, 0xb9, 0xf7, 0xc8, 0x3a, 0xbe, 0x16, 0xc1, 0x23, - 0x18, 0x78, 0x4a, 0xf8, 0xc5, 0xb5, 0xf8, 0x2a, 0x3b, 0x58, 0x35, 0xe5, 0x7b, 0xe7, 0x9d, 0xf5, - 0x65, 0x97, 0x42, 0xc9, 0x4c, 0x0f, 0x45, 0x47, 0x95, 0xd6, 0x6a, 0x34, 0x50, 0xed, 0x56, 0x8a, - 0xcd, 0x6b, 0x25, 0xbb, 0xb0, 0xdf, 0x49, 0xd9, 0x1f, 0xd0, 0xe4, 0x71, 0x00, 0x90, 0x75, 0x1b, - 0x11, 0xbf, 0x9c, 0x00, 0xcc, 0x96, 0x24, 0xea, 0xb4, 0x5c, 0x9d, 0x45, 0x27, 0x4c, 0x7d, 0xf8, - 0x60, 0xd9, 0x8c, 0xf9, 0xd8, 0x27, 0x11, 0xc5, 0xce, 0x64, 0x0b, 0x7d, 0x5e, 0x75, 0x3e, 0x2a, - 0x27, 0x79, 0x91, 0xab, 0x7c, 0x3a, 0x5d, 0x2b, 0x14, 0x8c, 0x01, 0x9a, 0x7e, 0x9e, 0xb9, 0x96, - 0x13, 0x9a, 0x4e, 0x34, 0xd4, 0x1f, 0x93, 0x06, 0xbe, 0xfe, 0x85, 0x5a, 0x96, 0xef, 0x4d, 0xc5, - 0xc4, 0x94, 0x5c, 0x21, 0x39, 0xba, 0xa6, 0x42, 0xed, 0x5b, 0x70, 0xeb, 0xa2, 0xae, 0x64, 0x7c, - 0x5c, 0x94, 0xf3, 0x10, 0xa9, 0x52, 0xfe, 0xcc, 0x2d, 0xc5, 0xa1, 0x33, 0x07, 0x31, 0xf7, 0x19, - 0xfc, 0x79, 0x92, 0x6f, 0xb2, 0xf8, 0x39, 0x5c, 0x13, 0x9d, 0xa8, 0x0a, 0xe0, 0x8e, 0x02, 0x7b, - 0x7c, 0x18, 0xe2, 0xb4, 0x6e, 0x6b, 0x36, 0x08, 0xe4, 0x8f, 0x37, 0xd1, 0x3a, 0xff, 0x7a, 0xe1, - 0x14, 0x72, 0xb1, 0xa3, 0x88, 0xf1, 0xda, 0x4f, 0x64, 0x00, 0x27, 0x07, 0x6f, 0x50, 0x3c, 0x50, - 0x65, 0xb9, 0x66, 0x41, 0x66, 0xb4, 0x24, 0x09, 0xab, 0xea, 0x95, 0x01, 0x47, 0xca, 0xec, 0x86, - 0x7f, 0x38, 0x03, 0x83, 0x88, 0x3d, 0x75, 0xeb, 0x97, 0x4f, 0x0c, 0x3f, 0x01, 0xee, 0x2b, 0x3c, - 0x65, 0x38, 0x3c, 0x7a, 0xd5, 0x60, 0x6d, 0x0e, 0xba, 0xc4, 0x17, 0xce, 0xc3, 0xda, 0x12, 0x39, - 0xf0, 0x81, 0xe0, 0xc9, 0x39, 0xbb, 0x9d, 0x93, 0xdc, 0x01, 0xac, 0xe7, 0xa5, 0x14, 0xde, 0xfb, - 0xfb, 0xf2, 0x82, 0xb8, 0xd5, 0x48, 0xf4, 0x6b, 0x4a, 0xf9, 0xcc, 0xfc, 0x2c, 0xe4, 0x3c, 0x6e, - 0x7e, 0xfc, 0x92, 0x66, 0xcb, 0xbb, 0xd1, 0x1d, 0x00, 0x9c, 0xf7, 0x4d, 0xee, 0xb4, 0x57, 0x35, - 0x2c, 0x79, 0x62, 0x73, 0xcb, 0x38, 0xa9, 0x15, 0xf8, 0x3d, 0x2a, 0x90, 0xcd, 0x9c, 0x57, 0x8e, - 0x63, 0xb0, 0x3a, 0x29, 0x53, 0x90, 0x1b, 0x56, 0x73, 0xf7, 0x95, 0xd6, 0x0c, 0x4a, 0x5f, 0x83, - 0x56, 0xd1, 0x30, 0xca, 0x1b, 0x88, 0x96, 0x49, 0x66, 0x44, 0xeb, 0x9e, 0x6a, 0x9c, 0xca, 0x5c, - 0x42, 0x3a, 0xab, 0x34, 0x48, 0x7a, 0xec, 0x85, 0xf0, 0x5b, 0x30, 0xb6, 0x1e, 0x5b, 0xae, 0x2e, - 0x40, 0x16, 0x8b, 0x3a, 0x61, 0xb3, 0x2f, 0xb2, 0xde, 0x93, 0x89, 0xd3, 0x5b, 0xf8, 0xd4, 0xf0, - 0xc3, 0xfb, 0xb4, 0x9d, 0x12, 0xd8, 0xe0, 0x81, 0x91, 0x1d, 0x1d, 0x12, 0xce, 0x06, 0x7f, 0xc5, - 0x55, 0x5a, 0x65, 0xbe, 0x76, 0xdd, 0x49, 0x54, 0xf7, 0xa7, 0xe0, 0xcd, 0x36, 0x31, 0x79, 0x50, - 0x8c, 0x6e, 0xac, 0xb1, 0x19, 0xe6, 0x6e, 0xc5, 0x00, 0xd3, 0xf2, 0xe5, 0x8c, 0x31, 0xe0, 0x77, - 0x09, 0x91, 0xe8, 0xc9, 0x47, 0x55, 0xf0, 0x41, 0xf3, 0x1a, 0xbf, 0xcb, 0xa3, 0x4c, 0x9e, 0x77, - 0xe6, 0x2a, 0xa8, 0xee, 0xbf, 0x24, 0x07, 0x0e, 0xc3, 0xe6, 0xd2, 0xc5, 0x24, 0x99, 0xa4, 0xdc, - 0x07, 0x36, 0x32, 0x73, 0xeb, 0x23, 0x2d, 0x3d, 0x02, 0x54, 0x81, 0xc2, 0x5f, 0x80, 0xf4, 0x36, - 0x76, 0x1d, 0x17, 0x54, 0x09, 0x29, 0x11, 0xd8, 0x4f, 0x8d, 0x4e, 0x5d, 0xab, 0x93, 0x56, 0xa4, - 0x85, 0xba, 0xaf, 0x02, 0x0b, 0x98, 0xc8, 0xe7, 0x16, 0xd5, 0x28, 0xbc, 0x37, 0x34, 0x31, 0x72, - 0x22, 0x7f, 0x73, 0x98, 0x07, 0xd4, 0x9e, 0x63, 0x81, 0x02, 0x87, 0xf5, 0xf1, 0x18, 0x4b, 0x47, - 0x6d, 0xbe, 0x04, 0xaa, 0xba, 0x09, 0xc0, 0x6e, 0x8f, 0x69, 0xf7, 0xc6, 0xc7, 0xb8, 0xc7, 0x95, - 0xa6, 0xb8, 0x67, 0xae, 0x35, 0x4e, 0x94, 0x97, 0xc5, 0x50, 0x00, 0x08, 0x38, 0xc7, 0x59, 0x1f, - 0x90, 0x5a, 0x2d, 0x7b, 0x59, 0xa3, 0xf9, 0xdc, 0x37, 0x33, 0x31, 0x3c, 0x97, 0x0f, 0xa4, 0xe7, - 0x22, 0x45, 0x9d, 0x38, 0x56, 0xbe, 0xb0, 0x4b, 0xb7, 0xd0, 0x0c, 0x2c, 0x30, 0x68, 0x32, 0x24, - 0x14, 0xab, 0x1f, 0xda, 0x4b, 0x73, 0xee, 0xd1, 0xf6, 0xab, 0xda, 0xbe, 0x8c, 0x70, 0xe3, 0x49, - 0x7d, 0x8d, 0xde, 0x98, 0xe8, 0xb3, 0x96, 0xc8, 0xf5, 0x03, 0x4d, 0xc9, 0x92, 0x1f, 0xc3, 0xe9, - 0x6d, 0x3e, 0xd3, 0x6c, 0xb9, 0x06, 0x02, 0xe4, 0xd9, 0x52, 0x78, 0x30, 0x72, 0xbe, 0x65, 0xea, - 0xb7, 0x08, 0x0c, 0x44, 0x22, 0x71, 0x60, 0xa9, 0x49, 0xa5, 0xfa, 0x50, 0x86, 0x43, 0x7d, 0xff, - 0xd1, 0x37, 0x0f, 0xcd, 0x2d, 0x5d, 0x31, 0x7b, 0x08, 0x4c, 0x3b, 0x9c, 0xf6, 0x63, 0x17, 0x44, - 0x4f, 0xf1, 0x74, 0x4b, 0x06, 0xa5, 0x47, 0xaa, 0x36, 0x7f, 0x30, 0x4d, 0xa4, 0xe3, 0x3b, 0x73, - 0x34, 0xd1, 0x79, 0x84, 0x99, 0x1f, 0xb4, 0x40, 0x25, 0x37, 0x10, 0xca, 0x2f, 0x92, 0x87, 0xab, - 0x04, 0xe4, 0xe3, 0xd0, 0x5e, 0x6c, 0x60, 0xad, 0xdb, 0x7a, 0xac, 0xb8, 0xf7, 0x4d, 0xee, 0x15, - 0x78, 0xf9, 0x02, 0x43, 0x6d, 0x46, 0x5c, 0x7b, 0x64, 0x9e, 0x8e, 0x3b, 0xa0, 0x71, 0x49, 0x56, - 0x4b, 0xb9, 0xd9, 0x1a, 0x67, 0x35, 0x50, 0x8f, 0xb1, 0xd4, 0x1a, 0x18, 0xcd, 0x7b, 0xb2, 0xf6, - 0xc2, 0xd5, 0xc0, 0xaf, 0x19, 0xc2, 0xca, 0xf4, 0xb8, 0xc8, 0x78, 0x95, 0x1b, 0xd1, 0xfd, 0x1b, - 0x5d, 0xb5, 0x0a, 0xa4, 0x27, 0xaf, 0x05, 0xde, 0x18, 0x6c, 0x1f, 0xb2, 0x7c, 0xde, 0x71, 0xb5, - 0x5e, 0x34, 0x6c, 0xc8, 0xb4, 0x3e, 0x91, 0xa7, 0xd5, 0xa0, 0x2c, 0x94, 0x4e, 0x49, 0x25, 0xb9, - 0x75, 0x8d, 0x0c, 0x3b, 0xce, 0x70, 0x52, 0xfd, 0x69, 0x06, 0x30, 0x2a, 0x51, 0x85, 0xcd, 0xde, - 0x26, 0xa4, 0x74, 0x12, 0x15, 0xa9, 0x9b, 0x92, 0x17, 0x9c, 0x83, 0x1c, 0xca, 0xf9, 0xd6, 0xa0, - 0x0f, 0x44, 0x0d, 0x6f, 0x54, 0x0b, 0xd8, 0x89, 0x33, 0x28, 0xd9, 0xa7, 0xe2, 0xd1, 0x56, 0x78, - 0xc8, 0x1f, 0xe9, 0x8e, 0xc5, 0xd9, 0x1f, 0x3a, 0x68, 0xe6, 0x11, 0xaf, 0x74, 0xf5, 0xfd, 0xfa, - 0x9c, 0xef, 0xd3, 0x06, 0x5d, 0x53, 0xa4, 0x8e, 0x52, 0xdf, 0x0f, 0x03, 0x07, 0xa2, 0xbe, 0x09, - 0xa4, 0xda, 0x8c, 0x17, 0x8f, 0x01, 0xf8, 0x88, 0x23, 0x85, 0x60, 0x88, 0x58, 0x25, 0xfd, 0xb1, - 0xcd, 0xf2, 0x7c, 0x0e, 0x15, 0x5a, 0x4e, 0x63, 0x9c, 0xa0, 0x54, 0xb8, 0xbe, 0x1a, 0x70, 0x9f, - 0x74, 0xfb, 0x0c, 0x6b, 0x70, 0xb8, 0x8c, 0xc4, 0x35, 0xca, 0xa6, 0x37, 0x28, 0x0a, 0xe7, 0xa6, - 0xc6, 0xe5, 0x39, 0xaa, 0x0d, 0x7a, 0xc4, 0xeb, 0xac, 0xac, 0x44, 0x37, 0xe1, 0x95, 0xf9, 0xb1, - 0xc1, 0x3a, 0x2e, 0x2f, 0x41, 0x5a, 0x52, 0xee, 0x4e, 0x5a, 0xaf, 0x11, 0x7e, 0x5b, 0x67, 0x0b, - 0xa7, 0xd6, 0xef, 0xa1, 0xfc, 0xfc, 0x10, 0xa8, 0xf5, 0x47, 0xe6, 0xf6, 0x04, 0xea, 0x46, 0x78, - 0x03, 0x2d, 0x72, 0x19, 0x1e, 0x01, 0x0e, 0x33, 0xc2, 0x22, 0xde, 0xb2, 0xe3, 0x15, 0xa9, 0x0a, - 0x14, 0xf5, 0xe8, 0x87, 0xfb, 0xd1, 0x77, 0xe7, 0xd9, 0xde, 0x18, 0xa5, 0x07, 0x1f, 0x44, 0x6f, - 0x18, 0x0e, 0xab, 0xae, 0x99, 0xd2, 0x1f, 0xe8, 0x8a, 0x93, 0xa3, 0x68, 0xf4, 0x53, 0xc7, 0x03, - 0x3b, 0x53, 0x76, 0xfa, 0xf9, 0x33, 0x5b, 0xbc, 0x34, 0x7a, 0xbc, 0x1c, 0xd6, 0x7a, 0xc7, 0xb9, - 0xc1, 0xa0, 0x19, 0xa9, 0x17, 0x12, 0x14, 0xd9, 0x9f, 0xbe, 0x76, 0x75, 0xa9, 0xb6, 0xd7, 0x4e, - 0xcf, 0x75, 0x4a, 0x24, 0xc6, 0x4f, 0x8d, 0xcf, 0x6a, 0x2f, 0x75, 0x25, 0xf8, 0x63, 0x68, 0x9b, - 0x44, 0x39, 0xf5, 0x81, 0xfb, 0x4c, 0xd7, 0xbd, 0x81, 0x8f, 0x2a, 0xb6, 0x0d, 0x09, 0xb3, 0x8a, - 0xab, 0x94, 0xf2, 0x90, 0xa6, 0xd5, 0xa0, 0xbd, 0xe7, 0x8a, 0x0d, 0xee, 0xc0, 0x48, 0x52, 0x90, - 0x17, 0x4c, 0x9e, 0x88, 0x44, 0xcc, 0x00, 0xb4, 0x19, 0x68, 0x84, 0x81, 0x13, 0xdf, 0x76, 0xb7, - 0xe2, 0x27, 0x73, 0x67, 0xe5, 0x41, 0x95, 0x33, 0x95, 0x50, 0x3a, 0x7a, 0x4a, 0x48, 0x27, 0x5a, - 0x92, 0x56, 0x98, 0xf3, 0xbd, 0xac, 0x04, 0x45, 0x18, 0xc2, 0xd3, 0x63, 0x14, 0x10, 0xe2, 0x7c, - 0x38, 0x83, 0x90, 0x3e, 0x97, 0x25, 0x41, 0x12, 0x6f, 0xa6, 0x7b, 0xca, 0xec, 0xe4, 0x47, 0x7a, - 0xdc, 0x05, 0xdb, 0xfa, 0xf7, 0xe5, 0xb3, 0x23, 0xb1, 0xa0, 0xf5, 0x07, 0xff, 0xeb, 0xb6, 0x7a, - 0xaa, 0xaa, 0xc5, 0xdb, 0x92, 0x12, 0xf1, 0x0e, 0x3f, 0x7d, 0xf1, 0x0b, 0x3a, 0x9e, 0x73, 0x2b, - 0xdf, 0x83, 0xa9, 0x56, 0x7c, 0x8c, 0x0d, 0xa5, 0x4e, 0xed, 0x03, 0x79, 0xa0, 0xda, 0x30, 0xfd, - 0x7a, 0x04, 0x21, 0x1c, 0x26, 0x43, 0x0d, 0x3c, 0x41, 0x5e, 0x19, 0x04, 0x25, 0x21, 0xcd, 0xf2, - 0x10, 0x80, 0x01, 0x12, 0x37, 0x27, 0x3f, 0x0a, 0x64, 0x93, 0x81, 0x01, 0x72, 0x16, 0x74, 0xc8, - 0x35, 0xa0, 0x6d, 0xa9, 0xc7, 0x73, 0x5b, 0x6b, 0xe3, 0x86, 0xe5, 0x3a, 0xc7, 0x3b, 0xaf, 0x52, - 0x1d, 0x8a, 0x74, 0xfd, 0xa3, 0xfe, 0xc1, 0xa3, 0xc1, 0xea, 0x2a, 0x35, 0x36, 0x85, 0x41, 0x7e, - 0x91, 0x44, 0x6b, 0x6e, 0x36, 0x80, 0xc5, 0x58, 0x9b, 0x79, 0x20, 0x14, 0x66, 0x70, 0xd1, 0x10, - 0x7e, 0xb4, 0x8c, 0xb4, 0x8a, 0x8c, 0x38, 0xa7, 0x37, 0x55, 0xb0, 0xde, 0x64, 0xc5, 0x32, 0xe0, - 0x65, 0x5e, 0x5c, 0x59, 0x33, 0x0b, 0x75, 0xbe, 0x9f, 0x96, 0xc7, 0x23, 0xe7, 0x8d, 0xf0, 0xa2, - 0x2a, 0xc7, 0xa8, 0xa4, 0xd9, 0x8b, 0x57, 0x25, 0x32, 0xa5, 0x38, 0x7d, 0x99, 0x29, 0xa7, 0x45, - 0xca, 0x4c, 0x0b, 0x05, 0x5d, 0xa0, 0x7d, 0xa6, 0x7d, 0xb4, 0x0b, 0xf1, 0x10, 0x75, 0xea, 0x27, - 0x6e, 0xa1, 0xae, 0xf2, 0x84, 0xe6, 0x58, 0x87, 0x8d, 0xbf, 0xcc, 0x00, 0x92, 0xc1, 0xdf, 0x85, - 0xba, 0x6f, 0x76, 0xe1, 0xc0, 0x5e, 0x76, 0x8c, 0x28, 0x3b, 0xcf, 0x01, 0x9c, 0x37, 0xed, 0x89, - 0xcb, 0x18, 0x48, 0x23, 0xa6, 0xcd, 0xe2, 0xef, 0x97, 0x00, 0xa2, 0x28, 0xcf, 0x06, 0x96, 0xdb, - 0x02, 0x33, 0xf8, 0x0c, 0xcd, 0x02, 0x4f, 0xea, 0xf0, 0xde, 0xd7, 0xaf, 0xb1, 0xaf, 0x3a, 0x10, - 0xde, 0xbe, 0xdc, 0xc0, 0x06, 0xda, 0x44, 0x1a, 0x62, 0x5f, 0xa7, 0xb7, 0x94, 0xf6, 0xcf, 0x9b, - 0x66, 0x87, 0x77, 0xb0, 0x6f, 0xed, 0xde, 0x6c, 0x87, 0x8c, 0x15, 0xcb, 0x2d, 0x0d, 0xce, 0xba, - 0x23, 0x34, 0xaf, 0x66, 0xcd, 0xd3, 0x74, 0x5a, 0x73, 0xf4, 0x6b, 0xea, 0xef, 0xe5, 0x0d, 0x81, - 0x27, 0x86, 0x2d, 0x58, 0xf1, 0x8f, 0x82, 0x80, 0x0e, 0x10, 0x77, 0xd1, 0x23, 0x36, 0xdf, 0xfd, - 0xd3, 0xf5, 0x62, 0x0f, 0xdc, 0x4e, 0x62, 0x1f, 0xab, 0x43, 0x16, 0x22, 0xee, 0x65, 0x13, 0xf8, - 0x20, 0xc7, 0xbc, 0x0e, 0x4b, 0xcc, 0xdc, 0x63, 0x10, 0xc1, 0x34, 0x58, 0xa4, 0x1f, 0x94, 0xbd, - 0xd9, 0xe1, 0x4a, 0xaa, 0xcc, 0xeb, 0x48, 0xac, 0xb9, 0x62, 0x07, 0x8c, 0xbc, 0xaa, 0x5f, 0x5f, - 0x5d, 0xbc, 0x29, 0xac, 0x55, 0xe9, 0x32, 0xab, 0x7e, 0xf8, 0x93, 0x9a, 0x1b, 0x35, 0x11, 0x49, - 0x86, 0x02, 0x2e, 0xd6, 0x39, 0xe0, 0x12, 0x11, 0x1c, 0xba, 0x23, 0x5b, 0x36, 0xfb, 0xc2, 0x29, - 0xa9, 0xbb, 0x99, 0xf9, 0x59, 0xc0, 0xa2, 0x86, 0xeb, 0x48, 0xc6, 0x41, 0x12, 0x2e, 0xc1, 0x96, - 0xca, 0xd8, 0x2c, 0x09, 0x7b, 0x71, 0xdd, 0x6f, 0xee, 0xc1, 0xca, 0xf9, 0xa8, 0xf5, 0xf5, 0x19, - 0x2c, 0xdf, 0x4a, 0x07, 0x70, 0xa8, 0x2e, 0x30, 0x2c, 0xcf, 0xa0, 0x5f, 0xa5, 0xbe, 0x83, 0xed, - 0x58, 0x5f, 0xaf, 0x15, 0x7e, 0xe5, 0xc4, 0xd2, 0x0c, 0xd7, 0x8f, 0x23, 0xc5, 0xc9, 0x01, 0x42, - 0xf9, 0xf3, 0xcd, 0x8f, 0xf1, 0x1d, 0x78, 0xff, 0xe0, 0x2d, 0x4c, 0xaa, 0x02, 0xbb, 0xc2, 0xb1, - 0x5a, 0x81, 0x75, 0x45, 0xe4, 0xde, 0xe9, 0xec, 0x84, 0x96, 0xa6, 0x4f, 0xbc, 0x85, 0x81, 0x76, - 0x61, 0xc6, 0x21, 0xa6, 0x69, 0xea, 0x41, 0x79, 0x8d, 0x87, 0xef, 0x45, 0x42, 0x01, 0xae, 0x90, - 0x87, 0x92, 0xf3, 0x76, 0xe0, 0x87, 0x02, 0x3a, 0xa9, 0xec, 0xa8, 0x06, 0x36, 0x8b, 0x54, 0xb9, - 0xba, 0x87, 0x5b, 0x16, 0x93, 0xf2, 0x3f, 0x2c, 0xfc, 0xa7, 0xb0, 0x0c, 0xde, 0x97, 0x8a, 0xae, - 0x52, 0x29, 0xe7, 0xcd, 0x7c, 0xca, 0x9d, 0xc6, 0xc9, 0x80, 0xab, 0xe9, 0x79, 0xba, 0x26, 0xf3, - 0x82, 0xbe, 0x6d, 0x3b, 0xac, 0xd7, 0x20, 0xb7, 0x5a, 0x62, 0x97, 0x25, 0x3a, 0x46, 0x63, 0xd5, - 0xc7, 0x29, 0x11, 0x83, 0x8d, 0xc5, 0x98, 0x34, 0xca, 0x68, 0xa1, 0x40, 0xb8, 0x78, 0xbb, 0xee, - 0x25, 0x3d, 0x95, 0x7b, 0x70, 0x6a, 0x73, 0xed, 0x0c, 0x18, 0x7f, 0x00, 0xcd, 0x30, 0x2f, 0xa0, - 0x87, 0x2e, 0x8b, 0xdc, 0x54, 0xf5, 0x36, 0x08, 0xa1, 0xba, 0x01, 0x0b, 0xaf, 0x18, 0x2c, 0x66, - 0x05, 0xff, 0x18, 0xcb, 0x36, 0x91, 0x8e, 0x03, 0xff, 0x81, 0x2a, 0x99, 0x68, 0xcd, 0x77, 0x0a, - 0xff, 0x6b, 0x25, 0xe6, 0x1b, 0x78, 0xf8, 0x0c, 0x49, 0x14, 0x67, 0xcd, 0xca, 0x50, 0xe1, 0x12, - 0x83, 0xac, 0xba, 0x24, 0x7f, 0x92, 0x5c, 0xdb, 0x80, 0x0b, 0xab, 0x7f, 0x1c, 0x9f, 0x53, 0x6d, - 0xfb, 0xa2, 0xb4, 0xc6, 0x6d, 0xc4, 0xa2, 0x84, 0xa9, 0x80, 0xc6, 0x3e, 0x36, 0xaf, 0x17, 0x28, - 0x9a, 0x9c, 0x3e, 0x30, 0x7a, 0x54, 0x92, 0x07, 0xe3, 0x65, 0xfc, 0x56, 0x32, 0x3a, 0x09, 0xad, - 0xf9, 0x37, 0xe1, 0x7a, 0x79, 0x04, 0x21, 0x3f, 0x4c, 0x2e, 0x68, 0xcd, 0xbb, 0x5e, 0x73, 0xb1, - 0xd3, 0x50, 0xbd, 0xba, 0x11, 0xb4, 0x7b, 0xbe, 0xf4, 0xb2, 0x1a, 0x4a, 0x64, 0xbf, 0xa9, 0xa7, - 0xd0, 0x5e, 0x45, 0xb4, 0x41, 0xf4, 0x34, 0xb2, 0x0c, 0x19, 0xe5, 0x48, 0x4d, 0x08, 0x46, 0xea, - 0x32, 0xfa, 0x59, 0xf8, 0x12, 0x97, 0x40, 0xaf, 0xff, 0xb8, 0xcc, 0xca, 0xa3, 0x9c, 0x7c, 0x7f, - 0x1e, 0x29, 0x48, 0xa6, 0x7c, 0xe9, 0x8b, 0x61, 0xac, 0xc0, 0xa3, 0x0d, 0x67, 0xac, 0xf2, 0x56, - 0xd8, 0x46, 0xec, 0x55, 0xd2, 0xae, 0xd9, 0x39, 0xc2, 0xd3, 0xbe, 0x58, 0x9b, 0x67, 0xc5, 0x75, - 0xd6, 0xdb, 0x86, 0x20, 0xec, 0xcd, 0xc3, 0x84, 0x07, 0xab, 0xbc, 0x98, 0xf6, 0x07, 0xe5, 0xae, - 0x5c, 0x7d, 0xa6, 0x73, 0xcc, 0xde, 0x94, 0xbc, 0x99, 0x61, 0x9e, 0x59, 0x5b, 0xae, 0xb5, 0x1f, - 0xe2, 0xa3, 0x33, 0x85, 0xa8, 0x7c, 0x76, 0x69, 0x54, 0x88, 0x53, 0xe2, 0xb8, 0x6d, 0xf6, 0x8a, - 0xc4, 0x4b, 0xb5, 0x09, 0xfb, 0x53, 0xd6, 0x2c, 0x90, 0x1b, 0x5a, 0x30, 0x95, 0xd5, 0x1e, 0x9a, - 0xcc, 0x02, 0xd8, 0x39, 0x65, 0x15, 0x61, 0xd9, 0xc3, 0x6e, 0xf1, 0x85, 0x9c, 0x82, 0xa4, 0xf8, - 0x7a, 0x20, 0x6e, 0x98, 0x8a, 0x8c, 0x2a, 0x8c, 0x3d, 0xc0, 0x33, 0x26, 0x81, 0x06, 0x40, 0x45, - 0x14, 0xaf, 0xe3, 0xf3, 0x7f, 0xbc, 0x27, 0x46, 0x80, 0xe6, 0x07, 0xf9, 0x5b, 0x08, 0x22, 0xcc, - 0xd5, 0xa9, 0x41, 0x18, 0x73, 0x84, 0xc5, 0xe9, 0xfc, 0x01, 0x0a, 0x33, 0x2e, 0xd5, 0x00, 0xd4, - 0x4b, 0xb0, 0x27, 0xfa, 0x9e, 0x95, 0x8b, 0x6c, 0xf3, 0xa5, 0x99, 0x7a, 0x15, 0x0d, 0x0a, 0xaf, - 0x64, 0xe2, 0x01, 0xe6, 0x35, 0xec, 0x9b, 0x39, 0xd0, 0x52, 0xd4, 0xac, 0x6f, 0x0b, 0x46, 0xd6, - 0xa7, 0x5c, 0x9c, 0x2a, 0xd8, 0x27, 0x67, 0x52, 0x72, 0xb6, 0x44, 0xeb, 0x5c, 0x9d, 0x9b, 0xe4, - 0xab, 0x4e, 0x91, 0x36, 0xd9, 0xc1, 0xbb, 0x8b, 0x64, 0xf4, 0x21, 0xc4, 0x5c, 0xce, 0x1b, 0x02, - 0x69, 0xc7, 0x6d, 0x11, 0x4d, 0x27, 0x71, 0x36, 0x02, 0x2a, 0xc9, 0xfd, 0xb2, 0xc9, 0x5a, 0xd9, - 0x5d, 0x15, 0x34, 0xbb, 0x18, 0x13, 0x8f, 0xe5, 0x71, 0x83, 0x98, 0xb4, 0x9f, 0x83, 0x7a, 0xce, - 0x4b, 0x33, 0x47, 0x65, 0x07, 0x65, 0x57, 0x89, 0x9c, 0x2b, 0xa6, 0x21, 0x35, 0xe1, 0x4d, 0x25, - 0xe4, 0x23, 0x5f, 0xea, 0x6b, 0xea, 0xd8, 0x1d, 0x3f, 0x3b, 0x7e, 0xb7, 0xde, 0x93, 0x5b, 0x9b, - 0x0c, 0x26, 0xb6, 0x15, 0x25, 0x76, 0xa0, 0x81, 0x97, 0x71, 0x43, 0x9d, 0xa7, 0x87, 0x1d, 0x00, - 0x2e, 0xcf, 0x75, 0x73, 0x33, 0x78, 0x1c, 0xf2, 0xee, 0xb7, 0x4b, 0x1d, 0x5f, 0x15, 0x76, 0x6f, - 0x7b, 0x13, 0x41, 0x8f, 0xc4, 0x60, 0x4d, 0x38, 0xeb, 0x2b, 0xa7, 0xce, 0x58, 0x90, 0x75, 0xf8, - 0x50, 0xe9, 0xf5, 0xc5, 0xc2, 0xf3, 0xb8, 0x9d, 0x6d, 0x89, 0xef, 0xae, 0x75, 0x30, 0xdd, 0xdc, - 0x7a, 0x2e, 0x2d, 0x8c, 0x22, 0xf3, 0xdd, 0xfc, 0x3a, 0xab, 0xfa, 0x7d, 0x67, 0xc5, 0x03, 0xfb, - 0xbd, 0x4c, 0x4b, 0xe5, 0x1c, 0xd7, 0x4a, 0xdd, 0x3c, 0x54, 0xdc, 0xc3, 0xb1, 0x7b, 0x60, 0x78, - 0x5f, 0x84, 0xb6, 0xc0, 0x3b, 0x68, 0x67, 0xdb, 0x0c, 0x15, 0x03, 0x96, 0xcb, 0x57, 0x5d, 0xba, - 0x75, 0x80, 0x6a, 0x47, 0x2e, 0x27, 0x24, 0xa0, 0x74, 0x86, 0x4b, 0x1f, 0x1a, 0x8e, 0x75, 0xef, - 0xc0, 0x80, 0x1e, 0xed, 0x93, 0x87, 0xed, 0x57, 0x0d, 0x3b, 0xe5, 0x58, 0xe4, 0x04, 0xba, 0x3b, - 0x52, 0x62, 0x6e, 0xd4, 0xa7, 0x12, 0x7b, 0x99, 0x77, 0x08, 0x06, 0x30, 0x98, 0x53, 0x46, 0x60, - 0x1a, 0x3c, 0x36, 0x88, 0x3b, 0x02, 0x44, 0x79, 0xda, 0xfa, 0x6b, 0x62, 0x87, 0xc1, 0x5f, 0xe2, - 0x49, 0x19, 0xdd, 0x42, 0xda, 0x3e, 0x1f, 0x47, 0x59, 0xa8, 0x26, 0x90, 0x24, 0xa0, 0x42, 0xb8, - 0x78, 0xd6, 0x4c, 0x66, 0xe1, 0x43, 0x01, 0x44, 0xbf, 0xce, 0xf1, 0xf1, 0xdf, 0x49, 0xbf, 0x7d, - 0x15, 0x5d, 0x98, 0x60, 0xc2, 0x6c, 0x63, 0xf1, 0xcf, 0x88, 0x4c, 0xf6, 0xd4, 0xae, 0x32, 0x8c, - 0xb7, 0x5b, 0xba, 0x55, 0x68, 0x0b, 0x36, 0x54, 0x60, 0xaa, 0xf2, 0x51, 0x5b, 0xae, 0xca, 0x1b, - 0x81, 0x38, 0xd5, 0xc7, 0x3a, 0xe5, 0x8c, 0xae, 0xcb, 0xb2, 0xf6, 0x75, 0xb6, 0x5f, 0x59, 0x7d, - 0x39, 0x5d, 0x32, 0x42, 0x74, 0x35, 0x39, 0x02, 0x2a, 0x8b, 0xec, 0x93, 0xb9, 0x17, 0xbe, 0x79, - 0x9e, 0x53, 0x92, 0xea, 0x47, 0xff, 0x1e, 0xc7, 0xf8, 0x90, 0x12, 0x8c, 0x38, 0xbc, 0x73, 0x1f, - 0x2b, 0x18, 0x16, 0x40, 0x9b, 0x8b, 0xa5, 0x79, 0xaf, 0x34, 0xc2, 0x3e, 0x5f, 0xb2, 0xa3, 0xab, - 0x24, 0x74, 0x73, 0x4e, 0x9c, 0xfb, 0x98, 0x2a, 0x16, 0x76, 0x3f, 0x3f, 0x2f, 0xe7, 0x02, 0x32, - 0x40, 0xea, 0x22, 0x53, 0x4f, 0x2b, 0xc1, 0x63, 0x8d, 0xa4, 0xd7, 0x16, 0x42, 0x90, 0xc6, 0x66, - 0x8c, 0x36, 0x8c, 0x75, 0x2a, 0x4b, 0x0e, 0x7f, 0xcc, 0x57, 0x55, 0xff, 0x33, 0x45, 0x94, 0xc4, - 0x5f, 0xf2, 0x94, 0x29, 0x2f, 0x40, 0x6d, 0x2b, 0x0a, 0x5e, 0xcb, 0x61, 0xc1, 0x3e, 0xbc, 0xc9, - 0x93, 0x9e, 0x0d, 0x5c, 0x08, 0x71, 0x03, 0x40, 0x26, 0x82, 0xab, 0xa9, 0x72, 0x82, 0x63, 0xcb, - 0x37, 0xdf, 0xee, 0x7f, 0x00, 0xdc, 0x01, 0x03, 0x74, 0x4e, 0x7b, 0x59, 0x44, 0xf8, 0x27, 0x7e, - 0xd6, 0xa1, 0xd2, 0x7c, 0x48, 0x71, 0x67, 0x97, 0xdd, 0xe3, 0xb9, 0x8d, 0xd7, 0x7e, 0x37, 0x4d, - 0x6b, 0x16, 0x35, 0xb7, 0x63, 0x69, 0xb6, 0x6f, 0x65, 0x63, 0x49, 0xe3, 0x89, 0x63, 0x82, 0x54, - 0xaa, 0x9b, 0x14, 0x20, 0x93, 0xe4, 0x23, 0xc9, 0xfb, 0x7f, 0xfb, 0xc4, 0x9e, 0x33, 0xf9, 0x1a, - 0x2a, 0xe6, 0xef, 0x93, 0x9f, 0x57, 0xdf, 0x48, 0x57, 0x7f, 0xfe, 0x19, 0xe2, 0xfb, 0x1a, 0x6c, - 0xee, 0x9d, 0x0e, 0x1a, 0x60, 0x4a, 0xcd, 0xe1, 0xac, 0xd2, 0x07, 0xc0, 0x2e, 0xe4, 0x0c, 0x68, - 0xc7, 0x83, 0x7f, 0xc5, 0x29, 0xd0, 0x87, 0xef, 0xfe, 0x09, 0x12, 0x95, 0xbe, 0x6c, 0xeb, 0x3c, - 0x0a, 0xe7, 0xf0, 0xfc, 0xbd, 0x21, 0xfb, 0xe5, 0xd2, 0x48, 0xc8, 0xb6, 0x6c, 0xe4, 0x0c, 0xc7, - 0xaa, 0xf6, 0xb7, 0xee, 0x20, 0x78, 0xba, 0x43, 0xa3, 0x9d, 0x4d, 0x9a, 0x4d, 0x27, 0x09, 0x10, - 0xcb, 0x7a, 0x4e, 0xc7, 0x0c, 0xf9, 0x9e, 0x69, 0x85, 0x5a, 0x11, 0xcb, 0xd0, 0xfe, 0x2f, 0xb0, - 0xc2, 0x6d, 0xa6, 0xda, 0x4b, 0x71, 0x98, 0x1a, 0x03, 0x9f, 0x82, 0x65, 0xa3, 0x25, 0x2c, 0x0d, - 0x25, 0x21, 0xec, 0x74, 0x1e, 0x0d, 0x7b, 0x4a, 0x01, 0x0d, 0xd7, 0x2e, 0xc0, 0x41, 0x81, 0x3f, - 0x8d, 0x9b, 0x03, 0x24, 0xe8, 0x26, 0x64, 0x81, 0xb9, 0x47, 0x97, 0x19, 0xa0, 0x2d, 0xbc, 0x7f, - 0xaf, 0x21, 0xf7, 0x8f, 0x71, 0x41, 0xc5, 0xc8, 0xf9, 0x8d, 0x99, 0xd2, 0xe8, 0x5b, 0xd6, 0xe4, - 0x6a, 0xda, 0x8e, 0xac, 0x3e, 0x6f, 0xed, 0x1f, 0xa4, 0x44, 0x04, 0xf7, 0x73, 0x3e, 0x72, 0xf1, - 0x85, 0x86, 0xf8, 0x96, 0x09, 0xd6, 0x52, 0x06, 0xb6, 0xd3, 0xfe, 0x3b, 0x50, 0xe1, 0x65, 0xff, - 0xac, 0x0c, 0x70, 0xc0, 0x10, 0xf1, 0xf6, 0x52, 0x4b, 0x99, 0xf6, 0x68, 0xb2, 0x4f, 0x2d, 0x66, - 0x0c, 0xf4, 0x33, 0x22, 0xb4, 0x98, 0x4a, 0xea, 0x59, 0xd6, 0x67, 0xa2, 0x83, 0x8e, 0xb9, 0x90, - 0x63, 0x48, 0x32, 0x5d, 0xdd, 0x1c, 0x80, 0x36, 0x9d, 0xd8, 0x60, 0xe0, 0x9e, 0x9b, 0x4e, 0xac, - 0xa3, 0x7f, 0xeb, 0x88, 0xf1, 0x2d, 0xa7, 0x92, 0x92, 0x01, 0xfc, 0x7e, 0x9b, 0x75, 0xe4, 0xe9, - 0xa3, 0x32, 0x5e, 0x00, 0x61, 0x39, 0x0a, 0x5d, 0x3d, 0x8f, 0x33, 0x8d, 0x02, 0x00, 0xb3, 0x7c, - 0x7b, 0xb6, 0x3b, 0x77, 0x0e, 0x0f, 0xca, 0xe8, 0x7d, 0x7f, 0x1f, 0x2f, 0xef, 0x6d, 0x46, 0x86, - 0xa4, 0x3a, 0x86, 0x8f, 0x8d, 0x4b, 0x17, 0x1e, 0x72, 0xe4, 0xfb, 0x24, 0xe0, 0x30, 0x5b, 0x10, - 0x6b, 0x1d, 0x39, 0x5e, 0x06, 0x56, 0xd0, 0xd8, 0x78, 0x45, 0x75, 0x8e, 0x18, 0xca, 0x65, 0x3d, - 0x5a, 0xbd, 0xff, 0x03, 0xb6, 0xf7, 0x00, 0x75, 0x1c, 0x88, 0x3e, 0x5f, 0x16, 0xbe, 0xf0, 0x9c, - 0xda, 0xbe, 0xe1, 0x5c, 0xb8, 0xf1, 0x69, 0x53, 0x1a, 0xf7, 0x4e, 0xc0, 0xff, 0x5f, 0x5c, 0x67, - 0x3b, 0x31, 0x18, 0x6b, 0xd7, 0xb3, 0xbb, 0x51, 0xca, 0x3d, 0xea, 0x10, 0x8e, 0xf0, 0x0f, 0xb5, - 0xf4, 0x72, 0xf9, 0xf3, 0x8e, 0xef, 0x4c, 0x34, 0x84, 0xc5, 0x36, 0xc2, 0xb0, 0xc9, 0x3a, 0xcf, - 0x2f, 0xd4, 0x0a, 0x07, 0x38, 0x80, 0x0f, 0x5b, 0xe4, 0xaa, 0x2b, 0xb1, 0x0a, 0x54, 0xa5, 0xc1, - 0xd3, 0xc3, 0x87, 0xf9, 0x4a, 0x44, 0xa4, 0xc6, 0xa4, 0xde, 0xd5, 0xa7, 0x57, 0xfe, 0x39, 0xb3, - 0xef, 0x0d, 0x52, 0x97, 0x59, 0x75, 0xc7, 0x7c, 0xba, 0xf1, 0xa8, 0x9d, 0x5c, 0x3f, 0xba, 0xc7, - 0xb3, 0x5c, 0x24, 0x53, 0xde, 0xcb, 0x96, 0x41, 0x3d, 0x71, 0xc7, 0xdc, 0xaf, 0x36, 0xf2, 0xcf, - 0x9d, 0xd0, 0x0d, 0x55, 0x7f, 0x72, 0x1c, 0x45, 0xcc, 0x6c, 0x24, 0x02, 0xc7, 0xdf, 0x62, 0x79, - 0xd8, 0x49, 0xb1, 0x8d, 0x18, 0xac, 0x2d, 0xc2, 0x38, 0x56, 0x2d, 0xd7, 0x3c, 0x9b, 0x50, 0xaa, - 0x07, 0x1a, 0x63, 0x87, 0xa5, 0x0b, 0xaf, 0xbf, 0x81, 0xc1, 0x1f, 0x26, 0x42, 0x4e, 0x29, 0xb1, - 0x2f, 0x19, 0x00, 0xab, 0xc0, 0xc2, 0xed, 0x4e, 0x76, 0x51, 0x99, 0xda, 0x28, 0x5b, 0xa7, 0x08, - 0x92, 0xf8, 0xae, 0xed, 0x94, 0x3e, 0x47, 0x68, 0x55, 0x0b, 0xdc, 0xdf, 0x50, 0x4b, 0x8c, 0xc9, - 0x2b, 0xaa, 0xf2, 0x95, 0xfd, 0x0b, 0x8d, 0x4f, 0x22, 0xb6, 0x2b, 0xc1, 0x52, 0xb4, 0x83, 0xab, - 0x5b, 0x65, 0x0e, 0x98, 0xd5, 0x55, 0xb7, 0xfd, 0x0b, 0xe0, 0xc6, 0xa1, 0xd9, 0x6e, 0xdf, 0xd9, - 0xab, 0xcd, 0xa2, 0x9d, 0xf9, 0x51, 0x10, 0x7e, 0x5e, 0x25, 0x60, 0x6b, 0x28, 0x85, 0x95, 0x06, - 0x30, 0xac, 0x57, 0xf8, 0x9b, 0xa7, 0x54, 0xea, 0xc0, 0x41, 0x61, 0xc8, 0x23, 0x49, 0xfe, 0x83, - 0x4a, 0x83, 0x0b, 0x78, 0xa4, 0x29, 0x73, 0x4a, 0xad, 0x04, 0x8f, 0x1d, 0x4e, 0x1d, 0xba, 0xee, - 0xe8, 0xee, 0xe5, 0x0a, 0x9c, 0x3f, 0x0f, 0xba, 0xf2, 0x34, 0xa1, 0x73, 0xbb, 0x95, 0xea, 0x8d, - 0xf3, 0x2e, 0xb6, 0xea, 0x5c, 0x9e, 0xa7, 0x55, 0x8f, 0x79, 0x00, 0x6d, 0x6c, 0x13, 0xa7, 0xc5, - 0x27, 0xbc, 0x1e, 0x96, 0xa0, 0xd8, 0x2e, 0x39, 0xa8, 0x44, 0x6d, 0x9b, 0xe0, 0xca, 0x7d, 0x61, - 0xf0, 0xdd, 0x87, 0x30, 0x11, 0x0c, 0x38, 0x15, 0x8f, 0x82, 0x52, 0x0c, 0x8d, 0xea, 0x72, 0x29, - 0x1e, 0xfc, 0xe9, 0x96, 0x84, 0x90, 0x1d, 0xc2, 0x1d, 0x4e, 0xfc, 0x85, 0x19, 0xe5, 0xb0, 0x9b, - 0x70, 0x26, 0x4f, 0xd5, 0xc6, 0x82, 0x28, 0x8c, 0x0d, 0x55, 0xc9, 0xcd, 0x00, 0x98, 0x92, 0xa9, - 0x28, 0x80, 0xb0, 0xc8, 0xfb, 0xda, 0xd9, 0x33, 0xe0, 0xb1, 0xcd, 0xd2, 0x4c, 0x80, 0x43, 0x3d, - 0xbb, 0xa8, 0x9f, 0xb4, 0x10, 0x9f, 0x99, 0x42, 0xe6, 0x06, 0x58, 0x4b, 0xd3, 0xce, 0xc1, 0x19, - 0xca, 0x9b, 0x5f, 0x0c, 0x99, 0x7c, 0xfa, 0x5f, 0x00, 0xf8, 0x18, 0x66, 0x76, 0x1a, 0x98, 0x54, - 0xfb, 0x0f, 0xf1, 0x51, 0xdc, 0x0d, 0xeb, 0xaa, 0xa8, 0xeb, 0x26, 0x19, 0xc6, 0x83, 0x1f, 0xc9, - 0xdf, 0x2a, 0xe0, 0x1e, 0xfe, 0x02, 0xdd, 0x05, 0xab, 0x26, 0xf2, 0x1a, 0x75, 0x27, 0xb9, 0x0b, - 0xdd, 0xe5, 0xd8, 0x9d, 0xb4, 0x4f, 0xf4, 0xa5, 0xc2, 0xc9, 0xf0, 0xcf, 0xce, 0x67, 0x6a, 0x38, - 0x64, 0x3c, 0xf9, 0xfa, 0x80, 0x9a, 0xe2, 0x7f, 0x5e, 0xc6, 0x83, 0x54, 0x51, 0x94, 0x6f, 0xcd, - 0x4b, 0xaa, 0xcc, 0x9a, 0x30, 0xa6, 0xe1, 0x7d, 0x7c, 0x95, 0x03, 0xb3, 0xdd, 0x89, 0xbc, 0xc6, - 0x39, 0xcf, 0x79, 0x1a, 0xcf, 0x59, 0xd3, 0xe3, 0xae, 0xbc, 0xc9, 0xfe, 0x1a, 0x66, 0x3a, 0xfc, - 0x9f, 0xad, 0x4c, 0x32, 0x2f, 0x04, 0xc3, 0xde, 0x59, 0xe8, 0x5f, 0x7b, 0xff, 0x31, 0x17, 0x15, - 0xa3, 0x02, 0x65, 0x51, 0xa0, 0x40, 0xe2, 0x20, 0x6a, 0xc5, 0x39, 0x99, 0xc1, 0x0c, 0xea, 0x2d, - 0x0a, 0xab, 0x3c, 0x56, 0x82, 0xe6, 0xeb, 0x74, 0xca, 0xf6, 0x89, 0x53, 0x56, 0x53, 0x61, 0xef, - 0x93, 0x97, 0xcf, 0xac, 0x98, 0xe6, 0x2a, 0x44, 0x80, 0xa0, 0x3b, 0xdb, 0x25, 0x86, 0x30, 0x35, - 0x87, 0xc7, 0x7e, 0x86, 0xd8, 0x3e, 0x42, 0x91, 0xcf, 0x41, 0x8e, 0xd1, 0xa5, 0x1b, 0x6d, 0xe1, - 0x93, 0x22, 0x0b, 0xb7, 0x5c, 0xad, 0xe5, 0xaa, 0x6d, 0x32, 0x63, 0x1c, 0x5c, 0xd0, 0x49, 0x25, - 0xae, 0xbd, 0x2f, 0x38, 0xee, 0x89, 0x75, 0x42, 0x68, 0xf6, 0x5c, 0x0e, 0x10, 0xbb, 0xfd, 0xec, - 0xca, 0xae, 0x09, 0xc8, 0x8e, 0x4e, 0x50, 0x83, 0x2b, 0x06, 0x8e, 0x31, 0x32, 0x52, 0xcc, 0xfd, - 0xab, 0xe3, 0xb8, 0x68, 0x4b, 0x5d, 0x43, 0xe8, 0x62, 0x08, 0xad, 0x31, 0xa1, 0x86, 0xd3, 0xed, - 0x4e, 0x96, 0x14, 0xcf, 0x31, 0x81, 0x79, 0x63, 0x1e, 0xfd, 0x95, 0xe5, 0xce, 0xf2, 0x18, 0x0d, - 0x8f, 0xb4, 0x49, 0xb6, 0xab, 0xb4, 0x17, 0xf4, 0x9b, 0x3a, 0xbd, 0xbb, 0x28, 0xbb, 0x6c, 0x6d, - 0x09, 0x19, 0xc5, 0x23, 0xaa, 0x2d, 0x62, 0x20, 0x41, 0x28, 0xee, 0x70, 0x60, 0x6d, 0xee, 0x3e, - 0x66, 0x88, 0x48, 0xc7, 0x39, 0x7d, 0x1b, 0xa4, 0x42, 0x02, 0x9e, 0x14, 0x0a, 0xe6, 0xe2, 0x80, - 0xf6, 0x41, 0xfc, 0x25, 0xb7, 0x91, 0x2d, 0x59, 0x66, 0x05, 0x55, 0x9c, 0xe8, 0xae, 0xe0, 0xd0, - 0x72, 0xb2, 0x87, 0x93, 0xa4, 0x73, 0x09, 0xac, 0xed, 0x8b, 0xec, 0xd1, 0x21, 0xd9, 0x3d, 0x5f, - 0x90, 0x14, 0xf4, 0xad, 0xc2, 0xc1, 0x30, 0x59, 0xb9, 0x8d, 0x36, 0x94, 0x82, 0x6d, 0x9e, 0x44, - 0xb7, 0x16, 0xe7, 0xc1, 0x2b, 0x86, 0xfe, 0x27, 0x21, 0x42, 0x43, 0xea, 0x80, 0x58, 0x85, 0x4a, - 0x3a, 0x36, 0x9e, 0x89, 0x85, 0x8f, 0xa8, 0xa9, 0x42, 0xec, 0x56, 0x46, 0x06, 0x10, 0x7c, 0x7b, - 0x8e, 0x3e, 0xff, 0xfa, 0x68, 0x48, 0xb5, 0x5a, 0xc2, 0xb2, 0x52, 0x40, 0xf5, 0x8c, 0x56, 0x71, - 0xd4, 0x1a, 0xe2, 0xb7, 0x3a, 0x13, 0xf5, 0xc7, 0xe6, 0x37, 0x0c, 0xf9, 0x18, 0x59, 0x1e, 0x74, - 0x47, 0x4c, 0x44, 0xc2, 0x1b, 0x3b, 0x31, 0x1d, 0x08, 0xe6, 0xa4, 0xe2, 0xae, 0x18, 0x73, 0xea, - 0x18, 0x8a, 0x1c, 0xfd, 0xc1, 0x9d, 0x8f, 0xa2, 0x74, 0xe7, 0x10, 0x2f, 0x6d, 0x08, 0x2f, 0x47, - 0x5d, 0xde, 0x09, 0x55, 0x79, 0xc5, 0xda, 0x33, 0x40, 0x6c, 0x20, 0x67, 0x20, 0x03, 0xd2, 0x0e, - 0x10, 0x05, 0xcb, 0xcb, 0x79, 0x04, 0x7d, 0xb4, 0xac, 0x2a, 0xab, 0xe9, 0x11, 0x82, 0x3e, 0x96, - 0x51, 0x2d, 0x40, 0xe9, 0xb3, 0x8f, 0xa8, 0xf2, 0x3e, 0x98, 0x95, 0x0c, 0xc9, 0xd1, 0x6a, 0xe1, - 0x7d, 0xbf, 0xc7, 0xfd, 0x85, 0x19, 0x0b, 0x0a, 0x49, 0xb8, 0x15, 0x0d, 0xc8, 0x83, 0xe8, 0x02, - 0xc0, 0x11, 0xf5, 0xe1, 0x2a, 0xe8, 0x49, 0xac, 0x82, 0x28, 0x30, 0x03, 0xd5, 0xb6, 0x53, 0x4e, - 0x4f, 0xfc, 0x84, 0x5a, 0xd7, 0xd6, 0x58, 0x3a, 0xef, 0xb3, 0x7c, 0x89, 0x89, 0x69, 0xe7, 0xad, - 0x57, 0x85, 0x53, 0xb4, 0xba, 0xe6, 0xbc, 0xdc, 0xa0, 0x39, 0x76, 0xe5, 0x5d, 0x1a, 0x61, 0x34, - 0x0e, 0xfb, 0x1a, 0xf9, 0x66, 0x1f, 0x86, 0x0d, 0x7a, 0x90, 0xec, 0x88, 0x49, 0x50, 0x87, 0xce, - 0x58, 0xd9, 0x96, 0x13, 0x28, 0xd7, 0x76, 0x9b, 0xab, 0xf2, 0xf4, 0xaf, 0x06, 0x28, 0x57, 0xd0, - 0xbe, 0xad, 0xc4, 0x27, 0x37, 0x12, 0xe4, 0xb9, 0xcf, 0xaa, 0xc9, 0xd5, 0x34, 0x1a, 0xfc, 0xa2, - 0x67, 0xce, 0x98, 0x14, 0x0c, 0xc4, 0xae, 0x02, 0xf9, 0xf3, 0x21, 0x36, 0xdb, 0xd3, 0x7d, 0x2c, - 0xa2, 0x7d, 0x20, 0x5b, 0x71, 0xc9, 0x7c, 0xfd, 0x8d, 0x9c, 0x70, 0xb9, 0x9a, 0xc0, 0x53, 0xb8, - 0xf6, 0x70, 0xf2, 0xe5, 0xab, 0x7d, 0x61, 0x3c, 0xbe, 0x6d, 0x39, 0x60, 0x04, 0x09, 0xdd, 0x32, - 0x80, 0xf1, 0x24, 0x93, 0x9f, 0x71, 0xaa, 0xf0, 0xd7, 0xc6, 0xb0, 0x0b, 0x3a, 0x76, 0x3a, 0xb0, - 0xed, 0x5a, 0x4a, 0x57, 0x5c, 0xd9, 0x70, 0x4d, 0xfa, 0xb8, 0xdb, 0x07, 0xdf, 0xae, 0x6e, 0x41, - 0x15, 0x8c, 0x59, 0x79, 0x18, 0x58, 0x4d, 0xfe, 0x0b, 0xb6, 0x6a, 0xae, 0x08, 0x3a, 0x1c, 0x09, - 0xa5, 0x5e, 0x47, 0x19, 0x93, 0xe6, 0x6f, 0x8b, 0x10, 0x53, 0xcb, 0x95, 0x6d, 0x83, 0xe8, 0x7b, - 0xbc, 0x07, 0x0b, 0x70, 0xff, 0xa6, 0x2a, 0x75, 0x02, 0xcf, 0xd2, 0x7e, 0x19, 0x77, 0xfc, 0xe2, - 0x43, 0x0d, 0x99, 0x70, 0x0f, 0xb6, 0x61, 0x63, 0x83, 0x96, 0xfb, 0xb7, 0x2e, 0xe3, 0x79, 0x32, - 0x93, 0x1f, 0x6d, 0x9f, 0x21, 0x5c, 0x03, 0xf4, 0x6c, 0xbb, 0xce, 0x84, 0xf8, 0x5f, 0x02, 0xf7, - 0xd6, 0xe7, 0x17, 0x52, 0xc8, 0xa0, 0x20, 0x8f, 0x20, 0x10, 0x55, 0x79, 0x7e, 0xf1, 0x46, 0x8f, - 0x62, 0x21, 0x63, 0xef, 0xc9, 0x59, 0x0b, 0xb0, 0x58, 0xc3, 0x25, 0xfb, 0xef, 0x50, 0xb9, 0x46, - 0xb5, 0xd7, 0xab, 0x61, 0xc8, 0xbe, 0x8d, 0x98, 0x31, 0x08, 0x4b, 0x3e, 0x05, 0x03, 0xc0, 0xd9, - 0x3c, 0x26, 0x36, 0x33, 0x50, 0xe4, 0xe4, 0xc9, 0x99, 0xf0, 0x06, 0xc7, 0xb6, 0x57, 0x3a, 0xe8, - 0xb1, 0x2f, 0x17, 0xeb, 0xc9, 0x96, 0x8f, 0xf1, 0x13, 0x06, 0x56, 0x5f, 0xab, 0x4e, 0x23, 0x0a, - 0x15, 0xd1, 0xe9, 0x81, 0xc7, 0x11, 0x78, 0xed, 0xcb, 0x03, 0x80, 0x8f, 0x5f, 0x59, 0xbb, 0x4b, - 0x06, 0x63, 0x70, 0xef, 0x51, 0x8e, 0x94, 0x9f, 0x72, 0x8a, 0x11, 0xfc, 0xd6, 0x6f, 0xbe, 0x55, - 0x99, 0xc8, 0x86, 0x23, 0xbe, 0xa5, 0xdc, 0x4a, 0x49, 0x03, 0xd1, 0x75, 0x77, 0xd5, 0xe3, 0x0e, - 0x3f, 0x60, 0x06, 0xd3, 0xb8, 0x23, 0x47, 0xac, 0x22, 0x41, 0x89, 0x0c, 0x7d, 0x7e, 0xcb, 0x41, - 0x16, 0xa8, 0xad, 0x90, 0xb7, 0x05, 0x28, 0xf1, 0xac, 0x02, 0x23, 0xe2, 0x54, 0x20, 0xd3, 0x29, - 0x89, 0x3e, 0x43, 0xe0, 0x03, 0x6a, 0x00, 0x8f, 0xae, 0x6f, 0x51, 0x23, 0x73, 0xac, 0xa7, 0xd8, - 0x81, 0xf2, 0x8d, 0xaa, 0x77, 0x50, 0x26, 0xa5, 0x08, 0xe8, 0x8c, 0x71, 0x43, 0xa1, 0x4f, 0x60, - 0x0e, 0xca, 0x11, 0x18, 0xae, 0x9a, 0x16, 0x28, 0x6d, 0x47, 0x48, 0xe9, 0xb4, 0x94, 0xaf, 0x3c, - 0x3c, 0x9b, 0x10, 0x5c, 0x67, 0x58, 0xe4, 0x20, 0x64, 0xdc, 0x95, 0x06, 0x30, 0x7a, 0x79, 0x7a, - 0x1d, 0x9a, 0x29, 0x56, 0xce, 0x25, 0xfc, 0x4b, 0xa6, 0x92, 0xa6, 0x4c, 0xb5, 0x39, 0x34, 0x89, - 0x11, 0x05, 0x46, 0xdc, 0x6e, 0x73, 0xab, 0xb6, 0x1d, 0xf6, 0x21, 0xd6, 0x77, 0x2e, 0x3b, 0x3b, - 0xbb, 0xae, 0x40, 0x43, 0x7c, 0x99, 0xda, 0xfe, 0x03, 0x13, 0x39, 0xcc, 0x63, 0x3b, 0x62, 0x32, - 0x71, 0x4d, 0x36, 0xb1, 0x8d, 0x17, 0x23, 0x19, 0x9f, 0xa0, 0xc0, 0x7e, 0x22, 0x2b, 0xc6, 0xfc, - 0xf4, 0x69, 0x8d, 0xed, 0xc9, 0x79, 0x1a, 0x8e, 0x8b, 0xee, 0xdc, 0xbf, 0x49, 0x0b, 0x6e, 0xf0, - 0xc4, 0xbe, 0x09, 0xac, 0x74, 0xd2, 0xbb, 0xf5, 0xc1, 0xed, 0x25, 0x1c, 0x94, 0xa9, 0x9e, 0x9d, - 0xf8, 0x59, 0xb8, 0xe6, 0xb0, 0xf6, 0xca, 0xbf, 0x59, 0xc7, 0x41, 0x79, 0x95, 0x7b, 0xa3, 0x21, - 0x80, 0xdb, 0xbc, 0xc4, 0x4b, 0x2f, 0xc9, 0x95, 0x01, 0xc3, 0x5d, 0x85, 0x7a, 0xc5, 0x5b, 0xd4, - 0x5e, 0x88, 0x0c, 0xdb, 0x76, 0x9a, 0x26, 0x6f, 0x3c, 0x55, 0xa1, 0x59, 0x73, 0x5a, 0xfa, 0x4c, - 0xd9, 0xc1, 0xa6, 0xd5, 0x73, 0xc3, 0xcd, 0x8e, 0xcd, 0x9c, 0x24, 0xc3, 0x85, 0x24, 0x1f, 0xba, - 0xe7, 0xa3, 0xd7, 0x07, 0xcd, 0x21, 0xc1, 0xde, 0x31, 0x83, 0x3c, 0x35, 0xc1, 0x3f, 0xd0, 0x0c, - 0xb0, 0xc6, 0xa8, 0x6f, 0xfb, 0x6b, 0xe7, 0x25, 0x8f, 0xfc, 0xf0, 0x08, 0x27, 0x92, 0xfe, 0x1e, - 0xa1, 0x2d, 0x4f, 0x5f, 0xcf, 0x48, 0x45, 0x15, 0xf6, 0x64, 0x88, 0x5c, 0xb5, 0xec, 0x01, 0xc0, - 0xf7, 0xed, 0xc7, 0x7e, 0xce, 0xd3, 0xcb, 0x08, 0x04, 0xe9, 0xdc, 0x5a, 0x99, 0x5a, 0x1c, 0xc0, - 0x1a, 0xf6, 0xd6, 0x92, 0x30, 0x35, 0xd8, 0x11, 0xe4, 0x24, 0xcc, 0xf5, 0xbf, 0xe1, 0x15, 0xe2, - 0xdc, 0x9c, 0xe4, 0x28, 0x7e, 0x1b, 0xb1, 0x42, 0x77, 0xb3, 0xf3, 0x10, 0x38, 0x34, 0x4e, 0xe8, - 0xcf, 0xd0, 0x50, 0x76, 0x44, 0xf2, 0x75, 0x61, 0x8b, 0xb9, 0x2d, 0x94, 0xac, 0x6f, 0xed, 0x0c, - 0xf6, 0x79, 0xc1, 0x8e, 0x2c, 0xe9, 0x3d, 0x5b, 0x24, 0x75, 0x18, 0x0c, 0x6e, 0x16, 0x4b, 0x83, - 0x85, 0xe8, 0xf8, 0x12, 0xa5, 0x9b, 0xb2, 0x92, 0xc3, 0x75, 0xc9, 0x44, 0x3f, 0xa3, 0xea, 0xf3, - 0xe2, 0xd4, 0xda, 0x99, 0x2f, 0x7b, 0x3b, 0xd0, 0xad, 0x16, 0xc7, 0xd0, 0xd0, 0x9f, 0x29, 0xa8, - 0xa6, 0xa2, 0x81, 0x59, 0xc5, 0xc7, 0x47, 0x9c, 0xc2, 0x96, 0x2d, 0x34, 0x10, 0x8a, 0x33, 0x97, - 0x09, 0x17, 0x61, 0x04, 0xb8, 0x0c, 0xca, 0x12, 0x02, 0x6a, 0x15, 0xf8, 0x14, 0x0f, 0xd1, 0x95, - 0x42, 0x88, 0x59, 0xbb, 0x0a, 0x78, 0x33, 0xf5, 0x74, 0x1d, 0xec, 0x50, 0x5f, 0xb6, 0xa0, 0x3e, - 0xd9, 0x40, 0x83, 0x10, 0x9b, 0x01, 0x3c, 0x69, 0xfb, 0xd4, 0x4c, 0xe7, 0x11, 0x1f, 0x1e, 0x95, - 0x18, 0x48, 0xb4, 0x89, 0xde, 0xba, 0x56, 0x40, 0xfc, 0x10, 0xbf, 0x66, 0x55, 0xd0, 0xc7, 0xc8, - 0x96, 0x36, 0x53, 0x64, 0xa4, 0xb5, 0x36, 0x3b, 0x82, 0x74, 0xbd, 0x6e, 0x87, 0xfe, 0xe6, 0xfd, - 0x86, 0xd5, 0x47, 0x4e, 0x5e, 0x8c, 0x0b, 0x29, 0x07, 0xa3, 0x55, 0xfd, 0x2d, 0xd3, 0xe2, 0xba, - 0x17, 0x28, 0x9c, 0x73, 0xb4, 0x94, 0xdc, 0x3c, 0xe6, 0x7f, 0xc6, 0x40, 0x28, 0xa9, 0xe5, 0x03, - 0xba, 0xdb, 0xa3, 0x11, 0x31, 0xe2, 0xb6, 0xda, 0x19, 0x90, 0x72, 0x29, 0x67, 0x48, 0x96, 0xac, - 0xab, 0x23, 0xc3, 0x7d, 0x37, 0xf9, 0x0b, 0x28, 0xf8, 0x53, 0x5f, 0x6d, 0x45, 0x90, 0xf0, 0x6d, - 0xdc, 0x2b, 0xb7, 0x0b, 0xa1, 0x69, 0x4a, 0x7e, 0xc3, 0xa9, 0xc0, 0x91, 0x13, 0x90, 0xd6, 0xf6, - 0xa7, 0xd1, 0x36, 0xfc, 0xa7, 0xcd, 0x7c, 0xe4, 0xe5, 0x06, 0x8c, 0x1e, 0xd0, 0xf5, 0x6d, 0xd2, - 0xc0, 0x90, 0x82, 0x7f, 0x77, 0xc6, 0x70, 0xeb, 0x5a, 0x7b, 0xbe, 0xe9, 0x7e, 0x67, 0x6c, 0x4d, - 0x8b, 0x0e, 0x8f, 0x76, 0x0d, 0xc9, 0x67, 0x5a, 0x81, 0xa2, 0x9e, 0x81, 0x7e, 0xd2, 0xaa, 0x21, - 0xb4, 0xcb, 0xd6, 0x51, 0x16, 0xcc, 0x4c, 0xc9, 0x9e, 0xcc, 0x84, 0x27, 0xca, 0x96, 0x27, 0x06, - 0xfe, 0xb0, 0x88, 0xf4, 0xb6, 0x79, 0x1d, 0xd6, 0x99, 0x3a, 0x27, 0x65, 0x3f, 0x5a, 0xcd, 0x2a, - 0x1a, 0x6b, 0xfb, 0x50, 0xa7, 0x1b, 0xc9, 0x8f, 0xf4, 0xa0, 0x9c, 0x84, 0x09, 0xf9, 0x34, 0xea, - 0xd9, 0xee, 0x61, 0x43, 0xc6, 0xd5, 0x1b, 0x2f, 0xd6, 0x57, 0xe4, 0x1e, 0xae, 0xdc, 0x55, 0x6a, - 0x46, 0xf7, 0x1f, 0x3a, 0xf3, 0x38, 0x6f, 0xbc, 0xe2, 0x85, 0xa2, 0xed, 0x35, 0x33, 0x02, 0xdb, - 0x70, 0xed, 0xb8, 0x95, 0xae, 0xa8, 0xdd, 0xb4, 0xc5, 0xf6, 0x0e, 0x7d, 0xe0, 0x2d, 0x55, 0x29, - 0x2f, 0x0b, 0x29, 0x88, 0x06, 0x63, 0x9e, 0x37, 0xc4, 0x3b, 0x31, 0x62, 0x39, 0xa1, 0xff, 0xe7, - 0x93, 0x71, 0x34, 0x2d, 0x7b, 0x8c, 0x2f, 0xcf, 0x6e, 0xd2, 0x27, 0xd0, 0x00, 0xe1, 0x75, 0xfc, - 0x99, 0x04, 0xcb, 0x88, 0x83, 0xea, 0x1c, 0x84, 0xa6, 0x63, 0x46, 0xfb, 0x4a, 0x7f, 0x8f, 0x1c, - 0xc4, 0x6a, 0xf8, 0x9a, 0x3b, 0x19, 0x5f, 0xc5, 0x83, 0x59, 0x81, 0x92, 0xb3, 0x07, 0x34, 0xae, - 0x08, 0x5d, 0xad, 0xa1, 0xb8, 0x97, 0x7e, 0x07, 0xc5, 0x30, 0x2d, 0xba, 0x85, 0xf8, 0x47, 0x7f, - 0x7e, 0x2b, 0x6c, 0xa5, 0x50, 0x9d, 0xd8, 0xdf, 0xb0, 0xf0, 0xea, 0x42, 0x8e, 0x30, 0x2e, 0xf3, - 0xb6, 0x67, 0xdb, 0x2a, 0xb5, 0xd1, 0x78, 0x32, 0x96, 0x37, 0x65, 0x30, 0xb1, 0x33, 0x3d, 0xb9, - 0x10, 0xeb, 0xe9, 0xce, 0x68, 0x95, 0xbd, 0x7e, 0x8b, 0x9f, 0x41, 0xab, 0xdd, 0x0c, 0xeb, 0x6b, - 0xaa, 0x8e, 0x1d, 0x99, 0x8b, 0x1c, 0x4e, 0x41, 0x79, 0x78, 0x9c, 0x5e, 0x91, 0x58, 0xdd, 0x2c, - 0xfe, 0x75, 0x30, 0x03, 0x15, 0x3c, 0xe6, 0xb4, 0x51, 0x3f, 0x55, 0x1d, 0xa6, 0x17, 0xc8, 0xdb, - 0xef, 0x95, 0x41, 0xca, 0x53, 0x8f, 0xe8, 0xfc, 0x0d, 0xb3, 0xfc, 0xec, 0x7e, 0x87, 0xc5, 0xd8, - 0xb9, 0x9a, 0x19, 0x93, 0xa5, 0xee, 0xf7, 0x12, 0xde, 0xc6, 0x18, 0x05, 0x3c, 0x82, 0xcb, 0x33, - 0x9c, 0xdb, 0x40, 0xcc, 0x0a, 0xab, 0xa8, 0xf5, 0x48, 0x0a, 0xf4, 0xd5, 0x1b, 0xc1, 0x48, 0x0d, - 0x83, 0x83, 0xd4, 0xe4, 0x03, 0x10, 0xfa, 0xab, 0xf7, 0x24, 0xdf, 0x4f, 0x5d, 0xe9, 0xec, 0x8f, - 0xef, 0xe2, 0x7e, 0xc6, 0x29, 0x4c, 0x6c, 0x14, 0x9f, 0x36, 0xef, 0x28, 0xb1, 0xb1, 0x07, 0x60, - 0x9c, 0xad, 0xf4, 0x50, 0x93, 0x2d, 0xc1, 0x2d, 0x49, 0x19, 0x1b, 0x1a, 0x60, 0x02, 0x00, 0xd4, - 0x86, 0x43, 0xe4, 0x6b, 0xcc, 0xac, 0xbb, 0xeb, 0x3c, 0xfc, 0xf9, 0x71, 0x06, 0x9b, 0xe7, 0xcd, - 0x0f, 0xa5, 0x09, 0xaf, 0x21, 0x77, 0xe9, 0x4e, 0x67, 0xa2, 0x45, 0x92, 0x9c, 0x01, 0x14, 0x2e, - 0x9a, 0xbb, 0x86, 0x46, 0xbf, 0x66, 0xe5, 0xc6, 0x8d, 0x68, 0xb4, 0x25, 0x0c, 0x5e, 0xc2, 0x15, - 0x12, 0x11, 0x9a, 0x9d, 0x40, 0xed, 0x9d, 0xcb, 0xca, 0x66, 0x12, 0x21, 0x74, 0xd2, 0x25, 0xb2, - 0x53, 0xc2, 0x9d, 0x7c, 0x39, 0x22, 0xfc, 0x8b, 0xf5, 0xcd, 0xbd, 0x94, 0x9b, 0x25, 0x34, 0xbf, - 0x0a, 0xc0, 0xb9, 0x0e, 0x53, 0xd7, 0x0c, 0x0a, 0x70, 0xc8, 0x22, 0xa3, 0xc0, 0xd9, 0x0e, 0xba, - 0x39, 0x67, 0x3a, 0x7b, 0x02, 0x60, 0x36, 0xec, 0xba, 0x34, 0xb2, 0x45, 0xaa, 0x6f, 0xb8, 0xd3, - 0xad, 0xfa, 0xe4, 0xfe, 0x3c, 0x41, 0xb0, 0x72, 0x20, 0xa5, 0x8d, 0xbd, 0x65, 0x17, 0x88, 0x4f, - 0x12, 0x02, 0x46, 0x84, 0xed, 0xd8, 0xd9, 0x94, 0x9f, 0x04, 0x83, 0x0d, 0xf6, 0xac, 0x3b, 0xdf, - 0x2a, 0x64, 0x6c, 0xe2, 0xf8, 0x22, 0x00, 0x8e, 0xac, 0x26, 0x2d, 0x59, 0xf2, 0x03, 0xc5, 0x30, - 0xea, 0x98, 0x08, 0xff, 0x63, 0x68, 0x19, 0x23, 0x41, 0x47, 0x4b, 0x6d, 0x3e, 0x47, 0xb5, 0x11, - 0x63, 0x19, 0x57, 0x58, 0xba, 0x68, 0x07, 0x0b, 0x96, 0xea, 0x24, 0xe0, 0x04, 0xfc, 0x43, 0x39, - 0xf6, 0x35, 0x86, 0xbe, 0x63, 0x3d, 0xab, 0x04, 0xca, 0x03, 0xa6, 0x10, 0xc4, 0x51, 0xad, 0x16, - 0x4e, 0x7a, 0x8d, 0xd5, 0x09, 0x34, 0x54, 0x03, 0x34, 0xb5, 0x1c, 0xb8, 0xf0, 0xe1, 0x58, 0xde, - 0xeb, 0x0d, 0xbf, 0x82, 0x87, 0xf2, 0x5c, 0x9e, 0xbe, 0xec, 0x29, 0x33, 0xa4, 0x1f, 0x2b, 0x4c, - 0x44, 0xea, 0xc9, 0x68, 0x8e, 0x1c, 0xe6, 0x2c, 0x5f, 0x95, 0x34, 0xf9, 0xb0, 0x52, 0x10, 0x08, - 0x94, 0xc2, 0xd7, 0x7c, 0x26, 0xf3, 0xb5, 0x92, 0x4c, 0xf6, 0x23, 0xe9, 0x39, 0x28, 0xf4, 0x1e, - 0xbf, 0xd6, 0x3f, 0x8c, 0x8a, 0x6e, 0x3d, 0x4c, 0xfd, 0xed, 0x30, 0x30, 0x5b, 0x47, 0xc7, 0xfe, - 0x44, 0xac, 0xa3, 0xf3, 0x6c, 0xba, 0x99, 0xd8, 0x90, 0x5e, 0x34, 0xb8, 0x03, 0xbf, 0x43, 0x0c, - 0x76, 0x54, 0x05, 0xff, 0x47, 0xd2, 0x4b, 0xe0, 0x65, 0x41, 0x50, 0x23, 0xc3, 0xbc, 0xc2, 0xcf, - 0x83, 0x37, 0xa8, 0xdd, 0x4f, 0x81, 0xa9, 0xce, 0xec, 0x1e, 0x7c, 0x25, 0x56, 0x02, 0x77, 0x60, - 0x52, 0x2c, 0x5a, 0x91, 0x4e, 0x1a, 0x35, 0x87, 0x98, 0x76, 0xa5, 0x6b, 0x2b, 0xd0, 0xa3, 0xbe, - 0xf2, 0xd9, 0x7a, 0x56, 0x09, 0xa4, 0x2e, 0x69, 0x0f, 0x86, 0x15, 0xf7, 0x7f, 0x31, 0x0b, 0xea, - 0x94, 0x78, 0x41, 0x9f, 0xbe, 0xa0, 0x6f, 0x56, 0x98, 0x68, 0xd1, 0x12, 0xf4, 0xdc, 0x00, 0x3d, - 0x23, 0x19, 0x53, 0x28, 0xba, 0x53, 0xb4, 0x6f, 0x45, 0x14, 0x0d, 0x03, 0x9d, 0x32, 0xb6, 0xcc, - 0x02, 0xe4, 0xac, 0x88, 0x69, 0xcd, 0xc8, 0xf8, 0x6f, 0xd7, 0x9c, 0x5e, 0x0b, 0x74, 0xc5, 0xb5, - 0x5f, 0x60, 0x84, 0x1a, 0x93, 0x64, 0x21, 0x32, 0x92, 0x17, 0x9f, 0xcd, 0x3f, 0x50, 0x4b, 0x05, - 0x33, 0x33, 0xd6, 0xb9, 0x55, 0x0a, 0x89, 0xdd, 0x0c, 0x6e, 0x6e, 0x5b, 0x5f, 0x4e, 0xd8, 0x27, - 0xf0, 0x42, 0xd8, 0xe6, 0xb6, 0xaa, 0xc8, 0xe4, 0x51, 0x84, 0xd4, 0xac, 0x53, 0xcd, 0xb8, 0xe5, - 0x17, 0xd9, 0x76, 0xef, 0x3b, 0x71, 0xe0, 0x94, 0x7d, 0xe6, 0x19, 0x46, 0x38, 0x20, 0x9e, 0x52, - 0xf9, 0xe8, 0xdd, 0xbe, 0xf4, 0xbb, 0x6f, 0x4f, 0x76, 0x71, 0x34, 0xcd, 0x38, 0x5d, 0x92, 0xd8, - 0x95, 0xbc, 0x58, 0x9e, 0x3d, 0x6e, 0x30, 0x34, 0xf1, 0x31, 0xbf, 0xff, 0x35, 0xa5, 0x7c, 0xd5, - 0x49, 0x23, 0x12, 0xbf, 0x9f, 0x77, 0xe5, 0x00, 0x25, 0x69, 0xb8, 0x26, 0x33, 0x17, 0x2f, 0x4e, - 0x1a, 0xbe, 0x57, 0xd9, 0x3f, 0xb2, 0x82, 0xe5, 0xe1, 0x35, 0xc8, 0xe1, 0x1d, 0x08, 0x47, 0x85, - 0x36, 0x78, 0x4f, 0x93, 0x8d, 0x22, 0x14, 0xb7, 0x8c, 0x8c, 0x2a, 0xc8, 0x42, 0x84, 0x9e, 0x44, - 0x1f, 0x55, 0xa7, 0x6c, 0x3f, 0x66, 0xd9, 0xa7, 0xd2, 0xfd, 0x7b, 0x73, 0x1e, 0x17, 0x05, 0x86, - 0x7f, 0xfa, 0x48, 0xb4, 0x97, 0xd2, 0x09, 0x95, 0x3f, 0xba, 0x5a, 0x0d, 0xb9, 0xe9, 0x3d, 0xfd, - 0xc1, 0xee, 0xa7, 0xbb, 0x33, 0x92, 0xfa, 0x9b, 0x6a, 0x5e, 0xf7, 0xca, 0x1a, 0x02, 0xa3, 0xd9, - 0x49, 0x3e, 0xe7, 0x04, 0xe1, 0x37, 0x82, 0x68, 0xd1, 0xe9, 0xdd, 0xfb, 0xc1, 0xe6, 0x62, 0x24, - 0x6f, 0xe7, 0x17, 0xdf, 0x90, 0xad, 0x45, 0x04, 0x71, 0x93, 0x34, 0xf8, 0x18, 0xf6, 0x9e, 0x5c, - 0xbb, 0x05, 0xf2, 0x8a, 0xbc, 0xac, 0xa2, 0x2f, 0x75, 0xd8, 0xf8, 0x80, 0x65, 0x85, 0x1c, 0xbc, - 0xf4, 0x45, 0xd1, 0x4c, 0xec, 0x35, 0x80, 0x1c, 0xf7, 0x0c, 0xb9, 0x80, 0x11, 0x3b, 0x06, 0x19, - 0xe9, 0x56, 0xd7, 0xdc, 0xd2, 0x86, 0xec, 0x37, 0x65, 0xf4, 0xd4, 0x9e, 0x83, 0x21, 0xfa, 0xe8, - 0x03, 0x27, 0x8b, 0x3b, 0x40, 0x8d, 0x5d, 0x39, 0xe6, 0xdc, 0x15, 0x40, 0x23, 0x70, 0xf8, 0x21, - 0xa5, 0xcc, 0xa0, 0xc9, 0xfb, 0x29, 0xd8, 0x95, 0x7d, 0x87, 0x9a, 0x31, 0xcf, 0xe6, 0xb2, 0xeb, - 0xa3, 0x9f, 0x40, 0xe3, 0xff, 0xe7, 0xfe, 0x17, 0xc0, 0xa3, 0xad, 0x5e, 0x2b, 0x6c, 0xe0, 0xbc, - 0xad, 0x73, 0xce, 0xc8, 0x11, 0x5c, 0xcd, 0x41, 0xec, 0x5d, 0xbd, 0x37, 0x7d, 0x46, 0x42, 0x25, - 0x99, 0xff, 0x00, 0xa3, 0x32, 0xc5, 0x51, 0xb6, 0x0b, 0xf8, 0xff, 0x25, 0x64, 0x86, 0x8a, 0x4b, - 0xe4, 0x59, 0x18, 0x5c, 0xaa, 0xa9, 0x9c, 0xf3, 0x58, 0xe9, 0xb2, 0x7e, 0xa8, 0x08, 0xd2, 0xe9, - 0xa3, 0xa1, 0x23, 0x61, 0xfc, 0xe9, 0xad, 0x97, 0xcf, 0x64, 0x91, 0x03, 0x9d, 0x08, 0xf3, 0x7d, - 0xe4, 0x6c, 0x5c, 0xaf, 0x4f, 0xb7, 0x11, 0xa6, 0xd8, 0x6f, 0xbb, 0x3d, 0x62, 0xad, 0xb6, 0x18, - 0x81, 0xa6, 0x24, 0x64, 0xbb, 0xe5, 0x3b, 0x2a, 0x02, 0x68, 0xf7, 0x3f, 0xe8, 0xf2, 0xba, 0xbd, - 0xd2, 0xf0, 0x8d, 0xf0, 0xf0, 0x7a, 0xef, 0x9c, 0xe5, 0x4e, 0x94, 0x84, 0x4f, 0x63, 0x09, 0x3a, - 0x86, 0xb4, 0x4b, 0xff, 0x81, 0x03, 0x6a, 0x1f, 0x20, 0xa3, 0x30, 0x22, 0x39, 0x2a, 0x7f, 0xef, - 0x3f, 0x73, 0xc6, 0xf6, 0xcd, 0xe7, 0x00, 0x88, 0x25, 0x1d, 0x29, 0x6f, 0xe0, 0xe5, 0xec, 0xcd, - 0x33, 0xae, 0x18, 0x9f, 0xff, 0x60, 0x72, 0xfc, 0x2e, 0xf5, 0x18, 0x46, 0x05, 0x05, 0x7f, 0xbd, - 0x18, 0x79, 0x63, 0xaf, 0xd0, 0xbc, 0xf4, 0xdf, 0x12, 0xfd, 0x64, 0xd9, 0xb4, 0xfa, 0x7e, 0xcc, - 0x28, 0x3c, 0x73, 0x4b, 0x5a, 0x80, 0x4f, 0xe2, 0x0a, 0x95, 0xad, 0x4e, 0xd3, 0x22, 0x89, 0x66, - 0xef, 0x36, 0xa1, 0xdf, 0x37, 0x74, 0x2e, 0x50, 0x0e, 0x86, 0x32, 0x3f, 0x18, 0xd3, 0x78, 0xd0, - 0x0d, 0x11, 0xc8, 0xbc, 0xa7, 0x43, 0x43, 0x5d, 0x3f, 0x91, 0xa8, 0x7a, 0x49, 0x88, 0xf0, 0x60, - 0xed, 0x9d, 0x96, 0xe3, 0x9b, 0xb7, 0x62, 0x45, 0x4d, 0x3f, 0x0d, 0x9c, 0xde, 0xc5, 0xa3, 0xfa, - 0x87, 0x65, 0xfe, 0xce, 0x4d, 0x1d, 0x9d, 0xb4, 0x1c, 0x31, 0x05, 0xd0, 0x64, 0x5c, 0xe4, 0x4c, - 0xe6, 0x1f, 0x42, 0x7a, 0x98, 0xc3, 0x54, 0x01, 0x6c, 0x7f, 0xe9, 0x4b, 0xe4, 0xa6, 0x8d, 0xb0, - 0xa5, 0x8d, 0x61, 0x0e, 0x67, 0x4e, 0xf6, 0x59, 0x69, 0x6c, 0x68, 0xf3, 0xd2, 0x1b, 0x02, 0xab, - 0x20, 0x48, 0x39, 0x92, 0x20, 0x40, 0x0d, 0xf4, 0xc4, 0x4b, 0xc8, 0x95, 0x3d, 0x48, 0x0a, 0x7e, - 0x7a, 0x1a, 0x93, 0x89, 0xcd, 0x4a, 0x13, 0x78, 0xd1, 0xbc, 0x20, 0xd2, 0x77, 0xc5, 0x1f, 0x6f, - 0xe6, 0x38, 0xbc, 0xe8, 0xc4, 0xe1, 0x7b, 0x6b, 0x95, 0x48, 0xf5, 0xa5, 0x8f, 0x78, 0xc7, 0x1b, - 0xe4, 0x4c, 0x49, 0x2f, 0x66, 0xbd, 0x76, 0xd9, 0x05, 0x72, 0x16, 0xf0, 0xe0, 0x62, 0xb8, 0x77, - 0xd8, 0xa2, 0xe2, 0x70, 0xe4, 0x38, 0x76, 0x1b, 0x58, 0x79, 0x18, 0x97, 0xce, 0xc8, 0x01, 0xd8, - 0x5f, 0x28, 0x69, 0xf1, 0xa4, 0xab, 0x83, 0x36, 0x18, 0x65, 0x68, 0x28, 0xf7, 0x46, 0xb4, 0x2a, - 0xe9, 0x63, 0x44, 0x88, 0x73, 0x17, 0x31, 0x2b, 0x96, 0xc7, 0xd9, 0x04, 0xf0, 0x7a, 0x6e, 0x71, - 0xc4, 0x23, 0x0a, 0x90, 0x1a, 0x80, 0xc3, 0x18, 0xc8, 0xc5, 0x66, 0xec, 0x81, 0xa2, 0x0b, 0xc6, - 0x0d, 0xba, 0x44, 0x86, 0x6e, 0x69, 0x71, 0x63, 0xca, 0x7d, 0x10, 0x26, 0x43, 0x81, 0x40, 0x17, - 0x43, 0xa0, 0xda, 0x51, 0x15, 0xd3, 0xd1, 0xab, 0xcb, 0x26, 0x87, 0xbf, 0x74, 0x08, 0x53, 0x2d, - 0x21, 0xcb, 0xdd, 0x0b, 0xe0, 0x02, 0x36, 0xf9, 0x73, 0xe6, 0xdd, 0x9b, 0xe0, 0xbf, 0xcd, 0x46, - 0x55, 0x60, 0xb3, 0x8f, 0xbe, 0x06, 0xdf, 0xd0, 0xa4, 0x32, 0xb4, 0xc0, 0x6f, 0x59, 0x5b, 0x0a, - 0xa3, 0x63, 0x91, 0x15, 0x69, 0x74, 0xd3, 0xc9, 0x8a, 0xf7, 0x09, 0x6e, 0xc4, 0xe6, 0xcb, 0x89, - 0x42, 0x4d, 0x15, 0x38, 0x43, 0x34, 0x86, 0xd0, 0x54, 0xa5, 0xac, 0x30, 0x0e, 0xe2, 0xba, 0x86, - 0x5b, 0x5d, 0x29, 0xa1, 0x18, 0x4c, 0x33, 0xa2, 0x8a, 0x01, 0x3e, 0x73, 0x7f, 0x18, 0xcf, 0x64, - 0x85, 0xc5, 0xaa, 0x63, 0x2e, 0x96, 0xd7, 0x61, 0x31, 0x22, 0x51, 0x87, 0xbd, 0xed, 0x11, 0x19, - 0x6c, 0x71, 0x55, 0x04, 0x15, 0xae, 0xd0, 0x17, 0x87, 0x15, 0x44, 0xb3, 0xa1, 0x59, 0x99, 0xff, - 0xbd, 0x48, 0xb7, 0xb9, 0xc9, 0xce, 0x3f, 0x6e, 0x41, 0x84, 0x7f, 0xca, 0x73, 0x6e, 0xe1, 0x86, - 0x2c, 0xbf, 0x8d, 0x6a, 0xca, 0x37, 0x44, 0xb2, 0x97, 0x9c, 0x07, 0x1a, 0x66, 0x97, 0x14, 0x22, - 0xc7, 0x3e, 0xd9, 0x29, 0x83, 0xb8, 0xbd, 0xf2, 0xef, 0xf3, 0xdf, 0x22, 0x33, 0x0e, 0xd6, 0x26, - 0xa5, 0xd4, 0x0b, 0x91, 0x39, 0x7d, 0x6f, 0xfb, 0x17, 0xd2, 0x02, 0xe0, 0x01, 0xd3, 0xa4, 0x96, - 0x66, 0x2d, 0xff, 0x1a, 0xfa, 0x41, 0xc9, 0xe7, 0x34, 0x45, 0x41, 0x46, 0x13, 0xbb, 0xa5, 0xff, - 0xc4, 0x74, 0x50, 0xe8, 0xb6, 0x2e, 0x25, 0x77, 0x15, 0x08, 0x94, 0x2d, 0x7c, 0x7b, 0x05, 0xf2, - 0x75, 0x16, 0x36, 0x22, 0xaf, 0x3d, 0x01, 0x21, 0xcc, 0xb9, 0x6b, 0x96, 0x2e, 0x4b, 0x17, 0x7a, - 0x71, 0xc4, 0xdc, 0x0f, 0x77, 0xd4, 0x94, 0x4b, 0xf4, 0xd9, 0xac, 0x0c, 0xa2, 0xb8, 0xd0, 0x21, - 0xa1, 0x6a, 0x2b, 0x78, 0xfa, 0x8d, 0x27, 0xb7, 0x02, 0x89, 0x81, 0x46, 0x28, 0xd8, 0x5e, 0x5c, - 0xce, 0x77, 0x58, 0x05, 0xc6, 0xdf, 0xea, 0x4d, 0x2d, 0x9a, 0x24, 0x68, 0x44, 0xc9, 0xce, 0xc3, - 0xe1, 0x56, 0x71, 0xdb, 0xfd, 0x6e, 0xa6, 0x50, 0xb1, 0xdd, 0xfa, 0x6f, 0x45, 0x14, 0x6d, 0xa5, - 0x49, 0x7d, 0xcc, 0x3d, 0x4c, 0x63, 0x14, 0x09, 0xe2, 0xf2, 0x8f, 0x48, 0x23, 0x39, 0x48, 0x73, - 0xd0, 0x38, 0x4c, 0xa3, 0x49, 0x19, 0xa7, 0x96, 0x09, 0x4c, 0x90, 0xae, 0xca, 0x6b, 0xa1, 0xe8, - 0x4a, 0x64, 0xba, 0xef, 0x49, 0xb5, 0x50, 0x41, 0xb0, 0x1c, 0x4b, 0x3b, 0x87, 0x15, 0xff, 0xf9, - 0x81, 0xb4, 0xeb, 0x73, 0x41, 0xba, 0x05, 0xf0, 0x3b, 0x5a, 0xd8, 0x44, 0x55, 0x55, 0x92, 0x5d, - 0x02, 0xe7, 0x9c, 0xd6, 0x97, 0x8d, 0xde, 0x5b, 0x5c, 0x17, 0xa5, 0x8e, 0xe9, 0xeb, 0x54, 0xb8, - 0xcf, 0x8a, 0x9e, 0x0a, 0xf0, 0x0e, 0xcb, 0x38, 0x74, 0x72, 0xbf, 0xb5, 0xaa, 0xb4, 0xb1, 0xd0, - 0x5e, 0x70, 0xa7, 0x1a, 0x5d, 0xc0, 0xc9, 0x74, 0xc6, 0x38, 0xe5, 0xb7, 0x4a, 0x76, 0xfa, 0x4e, - 0xc9, 0x98, 0x5f, 0x61, 0x1f, 0x26, 0xfa, 0x29, 0x6b, 0xa8, 0xed, 0xe3, 0xaf, 0x16, 0xc7, 0xb7, - 0x0a, 0xda, 0xe3, 0x0f, 0xb3, 0x5e, 0xe2, 0x75, 0x8b, 0x04, 0x0f, 0x61, 0x20, 0x51, 0x4c, 0x0f, - 0x90, 0xb5, 0x12, 0x26, 0x54, 0x7b, 0x98, 0xa9, 0xbf, 0x62, 0x37, 0xf2, 0x4d, 0x1b, 0xb2, 0xf4, - 0x81, 0x95, 0x20, 0x45, 0x92, 0xc3, 0xd2, 0x78, 0xe7, 0x03, 0xcd, 0xc8, 0xb1, 0x90, 0xb6, 0xff, - 0x70, 0xc8, 0x4f, 0x93, 0x61, 0x6c, 0x6a, 0x23, 0x7b, 0xd7, 0x99, 0x67, 0x93, 0xb1, 0x5a, 0xdb, - 0x3a, 0xcc, 0xbd, 0x4b, 0x29, 0x59, 0x93, 0x8f, 0x3f, 0x97, 0x2b, 0x4e, 0x26, 0x1a, 0x38, 0x89, - 0x27, 0x92, 0x8c, 0x25, 0x35, 0x38, 0x73, 0x41, 0x1c, 0x8e, 0x4c, 0xde, 0x42, 0x7b, 0x7f, 0x4b, - 0xd6, 0xfd, 0x7b, 0x11, 0x4f, 0x92, 0x90, 0x98, 0x19, 0xa0, 0x42, 0x93, 0x63, 0xa3, 0x91, 0x25, - 0x89, 0x71, 0x0e, 0xae, 0xf5, 0x99, 0xa1, 0x2c, 0x22, 0xfb, 0x45, 0x7d, 0x3e, 0xd6, 0x06, 0x74, - 0xbb, 0xb7, 0x71, 0x3e, 0x67, 0x86, 0xc9, 0x88, 0x9c, 0xec, 0x31, 0x92, 0xe5, 0xc9, 0xb5, 0x63, - 0xe2, 0xf6, 0xcf, 0x3a, 0x43, 0x3a, 0x02, 0x61, 0x11, 0xf2, 0x2b, 0x25, 0x57, 0x89, 0x1e, 0x3b, - 0x65, 0x67, 0xa4, 0x70, 0xc6, 0x0e, 0x74, 0x55, 0x08, 0x3b, 0x5a, 0xaa, 0xb1, 0xbf, 0x0e, 0x38, - 0xd3, 0xb4, 0x91, 0x36, 0x9a, 0x39, 0xf3, 0xb5, 0x5d, 0x1f, 0x26, 0x79, 0xa1, 0xfa, 0x66, 0x7e, - 0x1f, 0xea, 0xca, 0x17, 0x4f, 0xcc, 0x6d, 0xec, 0x6e, 0xdc, 0x5e, 0x52, 0x58, 0x35, 0x56, 0xc7, - 0x9f, 0x8e, 0x51, 0xfa, 0xf7, 0xd9, 0x37, 0x65, 0xf0, 0x1a, 0x6f, 0xbe, 0x92, 0x31, 0x2c, 0x23, - 0x39, 0x25, 0xc4, 0xd8, 0xc6, 0x99, 0x22, 0xdb, 0xcd, 0x2a, 0xa2, 0x8a, 0xc9, 0x3d, 0x1e, 0xb3, - 0x1e, 0x3e, 0x20, 0x8a, 0xfd, 0x71, 0x7c, 0x18, 0xa6, 0x62, 0x31, 0x45, 0xa0, 0xd3, 0x5c, 0x00, - 0x47, 0xa5, 0x39, 0x2d, 0x16, 0x98, 0x9b, 0x47, 0x9b, 0x74, 0xee, 0x83, 0x50, 0xf1, 0x3f, 0xc4, - 0x9a, 0xce, 0x5c, 0xe7, 0x7d, 0x2d, 0xc8, 0x87, 0x68, 0xe8, 0xb0, 0x4f, 0x10, 0x11, 0xb4, 0x21, - 0x72, 0xda, 0x36, 0x8e, 0xbb, 0x39, 0xf3, 0x4e, 0x0b, 0xbc, 0x0f, 0x30, 0x32, 0x6e, 0xdf, 0xa8, - 0x7a, 0x3b, 0xba, 0x9b, 0xff, 0x20, 0x4a, 0x0f, 0x0d, 0xb1, 0x81, 0xd8, 0x4f, 0x2f, 0x93, 0x44, - 0xc9, 0xb4, 0xda, 0x3b, 0xa6, 0x80, 0x92, 0xb7, 0x2a, 0x8b, 0x66, 0xf1, 0xac, 0xdd, 0x19, 0x8a, - 0x90, 0x6f, 0x8b, 0x98, 0xe5, 0x45, 0x3c, 0x26, 0x82, 0x76, 0x09, 0x45, 0xec, 0x26, 0xae, 0xca, - 0x9b, 0x2c, 0x60, 0x8a, 0xc8, 0x79, 0x2a, 0x2c, 0x59, 0x5e, 0x9c, 0x09, 0x65, 0xe3, 0xf9, 0x9a, - 0x3f, 0xf8, 0x2e, 0x80, 0x91, 0xdf, 0xf4, 0xf0, 0x5e, 0xf0, 0xee, 0xf0, 0x9e, 0x26, 0x5f, 0xa0, - 0x39, 0xa8, 0x4d, 0x4c, 0x56, 0xf0, 0x33, 0xac, 0xc8, 0x1f, 0xad, 0x54, 0xbd, 0xb3, 0xc1, 0xf1, - 0x45, 0x16, 0x2f, 0x2a, 0xc0, 0x0b, 0x82, 0x31, 0xe3, 0x98, 0x24, 0x6f, 0x89, 0x0e, 0xb7, 0x93, - 0xad, 0xb1, 0xc9, 0x95, 0x69, 0xf6, 0xac, 0x2e, 0xa8, 0x9c, 0xd3, 0xd5, 0x7a, 0x8d, 0x89, 0xf1, - 0x10, 0xc6, 0x20, 0x70, 0x8e, 0x45, 0x15, 0x90, 0x78, 0x5d, 0x2d, 0x93, 0xec, 0x61, 0x06, 0x5d, - 0x27, 0xe9, 0x77, 0x4a, 0x4c, 0x75, 0x85, 0x93, 0x18, 0xfe, 0xda, 0x1d, 0x93, 0xb5, 0x05, 0xba, - 0x3f, 0xf7, 0x6f, 0xa7, 0x2f, 0x89, 0x9a, 0x08, 0xf8, 0x12, 0x72, 0xe5, 0x5c, 0x1e, 0xb6, 0xbf, - 0x58, 0x3c, 0xce, 0xbc, 0x96, 0xde, 0xac, 0xc2, 0xaa, 0x9f, 0x24, 0xa1, 0xfa, 0x11, 0x14, 0xe4, - 0x41, 0x58, 0x35, 0x80, 0x28, 0xaa, 0xcd, 0xcc, 0x3f, 0x21, 0xaf, 0x9d, 0x67, 0x18, 0xe7, 0x59, - 0x01, 0xe1, 0x31, 0xbe, 0x16, 0xdd, 0xba, 0x0d, 0x0c, 0x70, 0xb0, 0xb9, 0x64, 0xfc, 0x9a, 0xe1, - 0x4d, 0xa8, 0x24, 0x05, 0x78, 0x85, 0x1e, 0x55, 0x1e, 0xa5, 0x2d, 0x4a, 0x7d, 0x13, 0xa2, 0xd8, - 0xbd, 0xfe, 0x43, 0x7e, 0x92, 0x77, 0x41, 0x72, 0xa5, 0xa4, 0xbf, 0x72, 0x08, 0xe0, 0x19, 0x3c, - 0x8b, 0x6a, 0xc6, 0x9b, 0x28, 0x1f, 0xf8, 0xf0, 0x84, 0x25, 0x42, 0x63, 0x4b, 0xe2, 0x8b, 0x02, - 0x3f, 0x7b, 0x15, 0x6e, 0xd9, 0x55, 0x1d, 0x9d, 0xee, 0xf9, 0xbb, 0xc0, 0xd3, 0x1d, 0x22, 0x07, - 0x33, 0x01, 0xb3, 0x58, 0xae, 0x0b, 0x8c, 0xb5, 0x41, 0x76, 0x27, 0x85, 0x46, 0xb6, 0xc4, 0x3f, - 0xfc, 0x98, 0xf9, 0x26, 0x1c, 0x3f, 0x5a, 0x1b, 0x28, 0x44, 0xed, 0xac, 0x5d, 0x0b, 0xdb, 0x78, - 0x05, 0xea, 0xa4, 0x62, 0xd3, 0x9d, 0x9d, 0xd7, 0x5c, 0xe2, 0xf6, 0x9b, 0x3c, 0x0d, 0x18, 0xe7, - 0x5d, 0x64, 0xd3, 0x97, 0x36, 0x14, 0x68, 0xaf, 0x1a, 0xba, 0xba, 0x72, 0xb9, 0xd8, 0x6a, 0xf4, - 0x7d, 0x02, 0x52, 0xd9, 0x86, 0x6a, 0x5e, 0xa3, 0x0d, 0xda, 0xe4, 0x23, 0x3b, 0x11, 0x3e, 0xd2, - 0x5c, 0x2f, 0x8a, 0x1d, 0xc1, 0x90, 0xfe, 0x41, 0x13, 0xc7, 0x90, 0x2c, 0xa6, 0x41, 0x59, 0xa7, - 0xbb, 0x72, 0x12, 0xdc, 0x82, 0xdd, 0x7d, 0xdb, 0xbe, 0x84, 0x7d, 0x81, 0xc6, 0x09, 0x9a, 0xea, - 0x98, 0x74, 0xd6, 0xda, 0x99, 0xf0, 0x04, 0x8b, 0x3d, 0x07, 0x93, 0xb8, 0x3b, 0xb3, 0x0c, 0x21, - 0xbe, 0x04, 0xf7, 0xc3, 0x7b, 0x65, 0xa8, 0x1a, 0x4c, 0xce, 0xfb, 0xbf, 0x5e, 0x73, 0x18, 0x65, - 0xf4, 0xae, 0x58, 0x3f, 0x0a, 0x92, 0xd8, 0xbd, 0x59, 0x28, 0xc1, 0x98, 0x45, 0xf4, 0x9e, 0x14, - 0x88, 0x36, 0xd5, 0x45, 0x12, 0x9d, 0x76, 0xdc, 0x5b, 0xf4, 0x81, 0x88, 0xdf, 0xe6, 0xd8, 0xdc, - 0xab, 0xb2, 0x59, 0xd7, 0x26, 0x9f, 0x0c, 0x24, 0x70, 0xa4, 0xc9, 0x5a, 0xd7, 0xb1, 0x78, 0x15, - 0x9d, 0xd9, 0xf4, 0xfe, 0x6b, 0xfb, 0x2f, 0x55, 0x4d, 0x15, 0xaa, 0x82, 0xbd, 0x15, 0xde, 0x8f, - 0x5d, 0xd6, 0x8a, 0x64, 0xe5, 0xea, 0x6e, 0xd4, 0x26, 0x5b, 0x36, 0x26, 0x45, 0x69, 0x97, 0x7d, - 0x64, 0xbc, 0x98, 0xe3, 0xe6, 0x66, 0x5a, 0xb3, 0x3b, 0xaf, 0x16, 0xed, 0x0f, 0x96, 0x5a, 0xcc, - 0xed, 0x67, 0xf8, 0xa3, 0x96, 0x80, 0x02, 0x53, 0x84, 0x6c, 0xbc, 0xed, 0x1e, 0x75, 0xc4, 0x8d, - 0x93, 0xb4, 0xd9, 0xc6, 0x69, 0xe4, 0x37, 0xc0, 0xc0, 0x55, 0x00, 0x89, 0x68, 0x2b, 0x4c, 0x4f, - 0x44, 0xa5, 0xb1, 0x56, 0x15, 0xfd, 0x6b, 0xfd, 0xff, 0x90, 0xa3, 0x82, 0x4d, 0x14, 0x1a, 0x24, - 0x7b, 0x45, 0xa0, 0x65, 0x59, 0xd4, 0x78, 0x4f, 0x61, 0x4e, 0xea, 0xf4, 0x74, 0x56, 0xb0, 0x78, - 0xa9, 0xd4, 0xb8, 0x4a, 0x55, 0x55, 0x12, 0xfa, 0xb9, 0x45, 0x6f, 0xfd, 0xba, 0x25, 0x44, 0x6a, - 0x48, 0x71, 0xb1, 0x92, 0x85, 0xcc, 0x94, 0xd6, 0xb0, 0x5d, 0xd6, 0x1d, 0x32, 0x1c, 0xa8, 0xd9, - 0x87, 0x81, 0x17, 0x54, 0xd6, 0xe6, 0xed, 0xf3, 0x20, 0xa1, 0x4a, 0x10, 0x1c, 0x1a, 0xbf, 0x99, - 0x66, 0xec, 0x96, 0x73, 0xe0, 0xed, 0xae, 0xf1, 0xca, 0x17, 0x08, 0xba, 0x1f, 0xc8, 0x06, 0xe5, - 0xa0, 0xbd, 0x1f, 0xc1, 0x75, 0xa4, 0xb8, 0xab, 0x5e, 0x6e, 0x2e, 0xa3, 0xc9, 0xb2, 0x79, 0x37, - 0x30, 0xdc, 0x7b, 0x9c, 0xa9, 0xef, 0x64, 0x07, 0x59, 0x61, 0x8e, 0x2c, 0x2e, 0x46, 0xfc, 0x1a, - 0x1e, 0x8b, 0x3a, 0x83, 0x39, 0x12, 0xaa, 0xbd, 0x36, 0x1f, 0x01, 0xd6, 0x7c, 0x7c, 0xe5, 0xb3, - 0xa1, 0x3d, 0x4f, 0xa8, 0x93, 0x06, 0xd2, 0x25, 0x00, 0x66, 0x37, 0x1b, 0xcd, 0x15, 0x7a, 0xe6, - 0x3f, 0x30, 0xe0, 0x04, 0x3c, 0xf7, 0x2f, 0x27, 0x97, 0xfa, 0xdd, 0x4a, 0x09, 0xd0, 0xd7, 0x75, - 0xb5, 0xb1, 0xe6, 0x54, 0x49, 0x50, 0xb7, 0xaa, 0xd4, 0x82, 0x1b, 0x1b, 0x4e, 0x0b, 0x49, 0x04, - 0x29, 0x01, 0xe9, 0x09, 0xaa, 0x94, 0x98, 0xd5, 0x3b, 0x56, 0x82, 0x3d, 0x55, 0x7e, 0x0d, 0xd0, - 0x00, 0xe5, 0x2f, 0x9d, 0x75, 0x2c, 0xd8, 0x5a, 0x6a, 0xea, 0x2b, 0xc1, 0x26, 0x06, 0xea, 0xc4, - 0x3e, 0xd7, 0x80, 0x67, 0x7e, 0x37, 0xc0, 0x03, 0x68, 0xef, 0x6c, 0xb0, 0x0a, 0xca, 0xa8, 0x47, - 0x80, 0xe6, 0x7e, 0x8f, 0x32, 0xb7, 0xa6, 0x21, 0xf9, 0x99, 0x7b, 0xf6, 0x23, 0xe3, 0x2d, 0x59, - 0x60, 0x2e, 0xec, 0x38, 0x07, 0xfb, 0x2f, 0x66, 0x70, 0xa6, 0x4b, 0x4a, 0x88, 0x54, 0xf9, 0xd9, - 0xfb, 0x84, 0x07, 0xfe, 0xab, 0xd0, 0x8a, 0x83, 0xb3, 0x76, 0xf5, 0x9d, 0x7b, 0xa0, 0x3c, 0x19, - 0x11, 0x09, 0x94, 0xeb, 0x34, 0xff, 0x7b, 0x06, 0xa2, 0x94, 0x03, 0x9d, 0x01, 0xc3, 0x7e, 0x2d, - 0xd6, 0xdb, 0x79, 0x42, 0x3d, 0xe8, 0x28, 0xa6, 0x59, 0xfa, 0xd3, 0x46, 0xff, 0xb4, 0x73, 0x54, - 0x5f, 0xcc, 0x36, 0x1d, 0x76, 0xb2, 0x1b, 0xd3, 0xeb, 0xca, 0x02, 0x69, 0xdf, 0xe7, 0x25, 0xd4, - 0xf4, 0xad, 0xe9, 0x5f, 0x83, 0x49, 0xa9, 0x6f, 0xfc, 0xc1, 0xe0, 0xae, 0x8b, 0x3d, 0xda, 0x5c, - 0x15, 0x75, 0x7e, 0xf3, 0x0b, 0x04, 0xde, 0x24, 0xf9, 0xfe, 0x58, 0x30, 0xea, 0x9b, 0x51, 0xf7, - 0x5f, 0x15, 0xdc, 0x0f, 0xfa, 0x15, 0x22, 0xc1, 0x0b, 0x79, 0x09, 0x04, 0xbd, 0x39, 0x98, 0x00, - 0xe5, 0x6d, 0xfd, 0x30, 0xad, 0xae, 0x86, 0x78, 0xb0, 0xce, 0x97, 0xbc, 0x8d, 0xd7, 0xb1, 0x58, - 0xde, 0x20, 0x1a, 0x49, 0x36, 0xc5, 0x3e, 0xb5, 0xd1, 0x59, 0x29, 0x94, 0xf1, 0x9d, 0x3e, 0xff, - 0x42, 0x1f, 0x91, 0xf0, 0x1c, 0x7c, 0x6c, 0xee, 0xa6, 0x16, 0x83, 0xcd, 0x7c, 0x17, 0x08, 0xb8, - 0x7f, 0xa9, 0xd1, 0x03, 0x29, 0x7d, 0x3f, 0x3f, 0x43, 0x0d, 0xba, 0x88, 0x3f, 0x4b, 0xf0, 0x57, - 0xab, 0x61, 0xa6, 0xd2, 0x8a, 0x60, 0xd6, 0xd1, 0xe1, 0x1b, 0xbd, 0xa4, 0x5c, 0x15, 0xd5, 0xef, - 0xdf, 0x39, 0xcb, 0x8a, 0x3a, 0x4d, 0x47, 0xc0, 0xd5, 0x2f, 0xa5, 0x5d, 0x94, 0xd8, 0x4f, 0x5f, - 0xe5, 0x8d, 0x0b, 0xe0, 0xa9, 0xcf, 0x2a, 0xdb, 0x4e, 0x1b, 0x3c, 0xd9, 0x8e, 0x4a, 0x6a, 0x4b, - 0xa8, 0xbe, 0x34, 0xfd, 0x7e, 0x84, 0xe9, 0xc5, 0xc9, 0x79, 0x19, 0x59, 0x57, 0x82, 0x4e, 0xcf, - 0xc0, 0x19, 0x5c, 0x06, 0xfb, 0x5e, 0xb9, 0x78, 0x13, 0xf9, 0x68, 0xca, 0x76, 0x70, 0x3d, 0xdc, - 0x18, 0xcd, 0xcc, 0xc3, 0xc1, 0x9e, 0xdd, 0x6d, 0x8e, 0xc5, 0xef, 0x24, 0x92, 0xf7, 0xf0, 0x08, - 0xf9, 0xf9, 0x8d, 0xfa, 0x03, 0xdb, 0x55, 0x73, 0xb3, 0x8a, 0xd8, 0xf4, 0xef, 0x11, 0xa9, 0xc5, - 0x1e, 0x38, 0xeb, 0x40, 0x3d, 0x93, 0x91, 0x6e, 0xaa, 0xc8, 0x04, 0x39, 0x34, 0x55, 0x56, 0x3f, - 0x48, 0x82, 0x40, 0xc3, 0x51, 0x4a, 0x9c, 0xd6, 0xe7, 0x4e, 0x81, 0x9b, 0x43, 0x4b, 0x6d, 0xbd, - 0x8a, 0xe6, 0x4a, 0x99, 0x77, 0xd3, 0x27, 0x0d, 0xd0, 0x9a, 0x90, 0x33, 0xf8, 0x4b, 0x5b, 0xd6, - 0x7a, 0x04, 0xf5, 0xaa, 0x72, 0x44, 0x7e, 0xb2, 0x77, 0xb5, 0x43, 0x54, 0x22, 0x44, 0xf0, 0xb0, - 0x7f, 0x7d, 0x02, 0x30, 0x57, 0xbf, 0xe9, 0x80, 0xe8, 0xe3, 0xf3, 0x42, 0x86, 0xee, 0xda, 0x62, - 0xd4, 0x92, 0x49, 0x53, 0x6a, 0x8b, 0xd4, 0x4a, 0x24, 0x9a, 0x73, 0x89, 0x89, 0x1e, 0xbf, 0x57, - 0xd7, 0x10, 0x3d, 0xba, 0x31, 0x6f, 0xbc, 0x55, 0x35, 0xc8, 0x90, 0xd0, 0x22, 0x57, 0x25, 0xb7, - 0x37, 0xc4, 0x83, 0x69, 0x49, 0xf1, 0x28, 0x23, 0x90, 0x70, 0x87, 0x39, 0x5a, 0xec, 0xae, 0x90, - 0xa8, 0x46, 0x13, 0x23, 0x50, 0x86, 0xba, 0x13, 0x71, 0xe9, 0xfc, 0xed, 0x97, 0xdc, 0x68, 0xaa, - 0x5c, 0x3b, 0xe4, 0x68, 0x4e, 0x72, 0x4e, 0xc6, 0x6c, 0x8a, 0xc1, 0x5d, 0x33, 0xe9, 0x0b, 0xb9, - 0x1b, 0x0a, 0xfd, 0x1b, 0xec, 0x77, 0x73, 0xf7, 0x41, 0x6b, 0xd3, 0xa5, 0x3d, 0x2d, 0xdc, 0x8e, - 0xed, 0xe3, 0xfc, 0x2d, 0x37, 0xaf, 0x0f, 0x98, 0xe9, 0x68, 0x73, 0x30, 0x3a, 0x8f, 0x2b, 0x29, - 0xce, 0x62, 0xaa, 0x11, 0x71, 0xcc, 0x82, 0xa7, 0x06, 0xd8, 0xed, 0xbb, 0x5a, 0xc2, 0x1e, 0x52, - 0xd5, 0xaf, 0x32, 0x65, 0xde, 0x7a, 0xbb, 0x8d, 0xd0, 0xfa, 0x86, 0x11, 0x0e, 0xab, 0x0a, 0xea, - 0xd4, 0xc6, 0x70, 0x32, 0x14, 0x1c, 0x60, 0xfd, 0xa4, 0x28, 0x98, 0x62, 0xbe, 0xe0, 0x37, 0x5a, - 0x56, 0x59, 0xce, 0xdd, 0x1a, 0xfe, 0x68, 0xdf, 0x75, 0x0f, 0xd8, 0xfa, 0x26, 0xbe, 0xfc, 0xdc, - 0xf2, 0x4b, 0xb6, 0x69, 0xff, 0x1b, 0xf0, 0x69, 0x9e, 0x22, 0x80, 0x48, 0xcb, 0x8d, 0xd4, 0x6e, - 0x1d, 0x54, 0xac, 0x6e, 0xa2, 0x07, 0xeb, 0xdf, 0xf0, 0x83, 0x19, 0x7c, 0xc7, 0x7a, 0x95, 0xce, - 0xfb, 0x9d, 0xa4, 0xc1, 0xd9, 0xb5, 0x5c, 0x54, 0xa6, 0x8a, 0x10, 0x73, 0xdf, 0xa5, 0x89, 0x49, - 0x04, 0xcc, 0xaf, 0x52, 0x84, 0x58, 0x4d, 0x0b, 0x63, 0x5c, 0x05, 0xc7, 0xe9, 0x1b, 0x1f, 0xcf, - 0x37, 0x1f, 0xcf, 0x8a, 0x53, 0xba, 0xf4, 0x47, 0xea, 0x78, 0x30, 0x8c, 0x54, 0xa8, 0x71, 0x1b, - 0xcb, 0x4f, 0xb5, 0xf7, 0x56, 0x98, 0x9d, 0xb3, 0x49, 0x4e, 0xf3, 0xa8, 0x0d, 0x35, 0xe2, 0xe5, - 0xe1, 0x8d, 0xeb, 0x7d, 0x23, 0x8d, 0x7d, 0x12, 0x08, 0x4f, 0x44, 0x3f, 0xdf, 0x3f, 0xc6, 0xba, - 0xf5, 0xc0, 0xd9, 0x6f, 0xec, 0x04, 0x71, 0xe0, 0xf8, 0xfb, 0xfe, 0x43, 0xd9, 0x67, 0x55, 0xd9, - 0x57, 0xd6, 0x1f, 0xbc, 0x9e, 0x1f, 0x95, 0xc3, 0x74, 0xd8, 0x69, 0xb6, 0x18, 0x0f, 0xa7, 0xef, - 0x44, 0xf8, 0xa4, 0x83, 0xf6, 0xd2, 0xe3, 0x3c, 0xff, 0xcb, 0x64, 0x58, 0x54, 0xb8, 0x6f, 0xe7, - 0x4c, 0x40, 0x3f, 0xbc, 0x75, 0xa4, 0x95, 0xec, 0xca, 0x18, 0x72, 0xd7, 0x50, 0xd6, 0x08, 0x23, - 0xa0, 0xbd, 0x70, 0x12, 0x09, 0x2e, 0x64, 0x7c, 0x21, 0x78, 0x04, 0x64, 0xb2, 0x71, 0x24, 0x65, - 0x92, 0x7d, 0xc7, 0x37, 0x45, 0xbe, 0xba, 0x08, 0x95, 0x28, 0x08, 0x79, 0x48, 0x4e, 0xa9, 0x96, - 0x0a, 0x55, 0xe5, 0xe4, 0xff, 0x5a, 0x7f, 0xd4, 0x4b, 0xe6, 0xaf, 0x12, 0x90, 0x12, 0xbb, 0x47, - 0x53, 0x51, 0x99, 0x21, 0x05, 0x53, 0xed, 0xf9, 0x89, 0x48, 0xdf, 0x45, 0x5d, 0xc9, 0x40, 0x03, - 0x08, 0x20, 0xb5, 0xfa, 0x85, 0x25, 0x41, 0xb8, 0x1d, 0x70, 0xd6, 0x2d, 0xe7, 0xea, 0xfb, 0x52, - 0xcb, 0x3f, 0xd9, 0x1c, 0x86, 0x11, 0xdf, 0xc3, 0x59, 0x7c, 0xd0, 0x7b, 0xcc, 0xff, 0xb3, 0xfa, - 0x0b, 0x1c, 0xa1, 0xf4, 0x94, 0xd8, 0xab, 0xde, 0x05, 0x7c, 0x0c, 0x72, 0xd3, 0xac, 0x2f, 0xf4, - 0x0f, 0x6d, 0x35, 0xd8, 0x69, 0x8c, 0x62, 0x78, 0x11, 0x31, 0x00, 0x42, 0x18, 0x16, 0xc6, 0x1a, - 0xa8, 0x07, 0x2d, 0x9b, 0xb4, 0x43, 0x4f, 0x7c, 0xae, 0xa6, 0xf7, 0x1f, 0xb2, 0xf6, 0x85, 0x51, - 0xc3, 0xf8, 0xef, 0xa0, 0x0d, 0x4a, 0xdc, 0xe9, 0x0f, 0xee, 0xdd, 0x66, 0x12, 0x4f, 0x76, 0x82, - 0x4d, 0xfe, 0x35, 0x95, 0x3f, 0xc2, 0xac, 0xa4, 0x76, 0xea, 0xb6, 0x66, 0x08, 0xa9, 0x6d, 0xf7, - 0x6c, 0xa5, 0x65, 0x40, 0x82, 0xa7, 0x07, 0xbe, 0x74, 0x40, 0x71, 0x1d, 0xbb, 0xd2, 0x29, 0x9a, - 0xe0, 0xf1, 0xcb, 0xb1, 0x4e, 0xd5, 0xe3, 0xa9, 0x2f, 0xaf, 0x3c, 0xe6, 0x65, 0x7e, 0xcd, 0xe0, - 0x9a, 0x8b, 0x2a, 0x96, 0xca, 0x0e, 0xa8, 0x15, 0x40, 0xeb, 0xfa, 0x77, 0x1c, 0x80, 0xec, 0x15, - 0x90, 0x5e, 0xef, 0x26, 0x6f, 0xb6, 0x6f, 0x33, 0xc6, 0xb5, 0x9c, 0xe0, 0x06, 0xb9, 0x5a, 0xaa, - 0x14, 0x5c, 0x07, 0x18, 0x32, 0x1c, 0xbb, 0x73, 0xe1, 0x61, 0x64, 0xce, 0x6f, 0xb1, 0x3f, 0x71, - 0x68, 0xe7, 0x7b, 0x4e, 0x9d, 0xed, 0x16, 0x3d, 0x62, 0x03, 0xb3, 0x99, 0x46, 0xd9, 0x67, 0x25, - 0xc5, 0x95, 0x53, 0x2b, 0xca, 0x47, 0x18, 0x6e, 0xe9, 0xe2, 0xe9, 0x16, 0xae, 0x1e, 0xba, 0x3b, - 0x22, 0xdf, 0xa5, 0x7f, 0x3b, 0x8d, 0x0d, 0xfa, 0xc2, 0x35, 0x08, 0x6b, 0x29, 0xec, 0xa9, 0x06, - 0x4a, 0x7b, 0xb9, 0x86, 0x45, 0x5f, 0xc5, 0x79, 0x79, 0x15, 0xf8, 0x13, 0xbb, 0xa7, 0x79, 0xea, - 0x6e, 0x28, 0xfa, 0xc3, 0xfe, 0x27, 0x6a, 0x59, 0x61, 0xde, 0xa9, 0xc2, 0xeb, 0xdc, 0x68, 0x65, - 0x5a, 0xb1, 0xdb, 0x6b, 0x10, 0xa5, 0x9c, 0x4c, 0x2e, 0x8d, 0x31, 0x13, 0x62, 0xb1, 0x6c, 0x1a, - 0x04, 0x00, 0x7a, 0x4b, 0x1b, 0x04, 0x6e, 0xb5, 0x3b, 0x5d, 0x36, 0x12, 0x4f, 0x83, 0xb2, 0xbc, - 0x3c, 0xec, 0xd6, 0x47, 0x16, 0x48, 0x2b, 0xfc, 0xb7, 0x4f, 0x77, 0xa8, 0xe8, 0x4f, 0x09, 0x1c, - 0x2e, 0x6e, 0x87, 0xa3, 0x36, 0xd9, 0xa5, 0x8f, 0x21, 0xf4, 0xbb, 0x86, 0x1f, 0x14, 0xdc, 0xdb, - 0x0b, 0x3c, 0xed, 0x30, 0x77, 0xc3, 0x83, 0x17, 0x2a, 0xac, 0xf0, 0x42, 0xd2, 0xd5, 0xd2, 0x58, - 0xd0, 0x26, 0xa5, 0x6b, 0xdc, 0x7b, 0xb9, 0x74, 0x76, 0x84, 0x26, 0x73, 0xe7, 0xac, 0x65, 0x36, - 0x88, 0x0d, 0x0c, 0x42, 0x10, 0xb3, 0x8d, 0xa5, 0x77, 0xca, 0x02, 0x2c, 0x5f, 0xfc, 0x80, 0x61, - 0x3f, 0x63, 0x77, 0x02, 0xe9, 0xcb, 0x6c, 0x2e, 0x59, 0xcd, 0x43, 0x91, 0xcb, 0x6b, 0x16, 0x3b, - 0xa8, 0xa7, 0xa2, 0x7e, 0x59, 0x8a, 0x21, 0x8b, 0x77, 0x3f, 0x90, 0x2a, 0x9a, 0x23, 0xc2, 0xf3, - 0x4f, 0x41, 0x85, 0x2d, 0x64, 0x5e, 0xd3, 0x5e, 0xe3, 0x9e, 0xca, 0xee, 0x1e, 0x5d, 0xd7, 0x22, - 0x46, 0x06, 0x2e, 0x9c, 0x44, 0x89, 0xbd, 0x30, 0x32, 0x15, 0xe5, 0x6a, 0x7e, 0x46, 0xa4, 0xb4, - 0xef, 0x22, 0xb1, 0xc3, 0x9a, 0x06, 0x4c, 0xbc, 0x38, 0x2f, 0x29, 0xe8, 0xa3, 0xdf, 0x1d, 0xad, - 0x8b, 0x74, 0xc9, 0x8f, 0xc9, 0x47, 0xbd, 0x5a, 0xc5, 0x98, 0xdd, 0xd7, 0xc5, 0xb4, 0x7b, 0x06, - 0x02, 0x78, 0x7d, 0x3c, 0xb7, 0x07, 0x85, 0xb5, 0x1f, 0xef, 0xa3, 0x95, 0xee, 0xa1, 0xd5, 0x19, - 0x84, 0x05, 0x60, 0x4c, 0xdb, 0xf4, 0x52, 0x0d, 0x89, 0x3c, 0x30, 0x3e, 0x03, 0xc1, 0x28, 0x59, - 0x02, 0x8f, 0x49, 0x05, 0xda, 0x67, 0x0e, 0xda, 0x6d, 0xad, 0x44, 0x82, 0x24, 0xb5, 0x13, 0x15, - 0x50, 0xea, 0x00, 0x26, 0xf3, 0x4f, 0xae, 0x45, 0x7e, 0xce, 0xdf, 0x68, 0x1f, 0x99, 0x60, 0x62, - 0x16, 0x2f, 0x85, 0xfb, 0xec, 0xa4, 0xab, 0x12, 0x0e, 0xae, 0x29, 0x50, 0xe0, 0xf8, 0x5b, 0x35, - 0x41, 0x6c, 0x21, 0x81, 0x33, 0xd6, 0x94, 0x55, 0x1f, 0x17, 0x9b, 0x50, 0x95, 0xb9, 0xbc, 0xea, - 0x21, 0xbc, 0xa0, 0xed, 0x22, 0x61, 0x7c, 0xa9, 0xea, 0x0d, 0x21, 0x30, 0xd1, 0x36, 0x33, 0x92, - 0xf2, 0x4a, 0xe3, 0xf9, 0x7b, 0xf2, 0xfb, 0x4e, 0x6c, 0x21, 0x25, 0x70, 0x62, 0xdf, 0x00, 0x06, - 0xc9, 0x7d, 0x28, 0xd9, 0x59, 0x07, 0xf0, 0x60, 0x14, 0xda, 0xdf, 0x10, 0x8c, 0x1f, 0xa7, 0x39, - 0xc0, 0x4d, 0x82, 0xfa, 0x2e, 0x6b, 0x4c, 0x33, 0x99, 0x64, 0x3f, 0x98, 0xdf, 0x79, 0x72, 0x14, - 0x9d, 0xe9, 0x0a, 0xa1, 0x88, 0x7b, 0x38, 0xe2, 0xe8, 0x72, 0x92, 0x74, 0xbe, 0x74, 0x5f, 0xfa, - 0x5a, 0x30, 0xb8, 0xc1, 0x50, 0xcb, 0x13, 0x22, 0x80, 0xd0, 0x45, 0xa4, 0x3d, 0xf8, 0xf8, 0x90, - 0xb9, 0xef, 0x21, 0x87, 0xe1, 0xd6, 0x5e, 0x46, 0xc7, 0xb9, 0x19, 0xd8, 0xe0, 0x25, 0xb7, 0x03, - 0xa6, 0xe4, 0x23, 0xc0, 0x0e, 0xbb, 0xc0, 0x7d, 0x5e, 0x33, 0x80, 0xe7, 0x97, 0x63, 0xc7, 0x3c, - 0x08, 0x4e, 0xc7, 0x1e, 0xef, 0x70, 0x6f, 0xf9, 0x31, 0xdb, 0xc3, 0x6a, 0x89, 0x9e, 0xd4, 0xee, - 0x18, 0xb3, 0x60, 0x4c, 0x5d, 0x5b, 0x05, 0x4f, 0x2b, 0x40, 0xc6, 0xc2, 0x1c, 0xc3, 0x61, 0x1d, - 0xe7, 0x5d, 0x4b, 0x5f, 0x8d, 0xd9, 0xb6, 0xa3, 0xb8, 0xf2, 0xab, 0xf2, 0x8a, 0xcf, 0xa9, 0x85, - 0xec, 0x40, 0x73, 0x09, 0xd6, 0x04, 0xdb, 0x31, 0xa5, 0xab, 0x29, 0x89, 0xf7, 0x47, 0x39, 0x90, - 0x16, 0x76, 0x9c, 0x56, 0xd8, 0x5f, 0xba, 0x45, 0x8f, 0x72, 0xb7, 0xe7, 0x4f, 0xec, 0xb0, 0xa1, - 0xf7, 0x08, 0x9e, 0xc1, 0xb3, 0x44, 0x51, 0x6a, 0x8e, 0x30, 0x64, 0x17, 0x2a, 0x97, 0xb7, 0x9c, - 0x98, 0xdb, 0x36, 0xa0, 0x6c, 0x19, 0x2a, 0x08, 0xab, 0x5f, 0x29, 0x67, 0x0d, 0xf4, 0x04, 0xcc, - 0xdc, 0xe8, 0xd0, 0xbd, 0xba, 0x0c, 0x98, 0x62, 0xbe, 0x51, 0xbe, 0xdb, 0x89, 0x9b, 0xf2, 0xdc, - 0x47, 0x02, 0x64, 0x21, 0x8a, 0x91, 0x64, 0x07, 0x47, 0x63, 0x53, 0x1d, 0x98, 0xad, 0x2a, 0x3b, - 0x84, 0x7b, 0xbc, 0x6c, 0x8b, 0xcf, 0xe8, 0x69, 0x73, 0xbe, 0xfb, 0xf5, 0x8d, 0x13, 0xbd, 0xc8, - 0x9a, 0xd2, 0x29, 0x15, 0x1e, 0x98, 0x64, 0xa8, 0xdc, 0xb4, 0x7d, 0x00, 0x78, 0xcd, 0x21, 0xe8, - 0x30, 0xc0, 0x4e, 0x43, 0x14, 0x66, 0xdd, 0x40, 0x89, 0x33, 0x31, 0xd5, 0x09, 0xc2, 0x43, 0x62, - 0xb1, 0xfa, 0x92, 0x93, 0xcd, 0x98, 0xb1, 0x77, 0xd4, 0x58, 0x7c, 0xa4, 0xe3, 0x9a, 0xe3, 0x45, - 0xf5, 0x1f, 0x6b, 0x67, 0x43, 0x00, 0xc6, 0xf9, 0xa4, 0x3b, 0x08, 0xda, 0x38, 0xbd, 0x63, 0xd5, - 0x67, 0xb7, 0x8c, 0x66, 0x79, 0xdf, 0xb5, 0x02, 0x2d, 0xe4, 0x9f, 0x8f, 0x3f, 0x8c, 0xbc, 0x6e, - 0xeb, 0xeb, 0x9a, 0x93, 0x4d, 0x50, 0xa9, 0x78, 0x08, 0xaf, 0x61, 0x37, 0x8c, 0x7a, 0x05, 0xda, - 0x4b, 0x3b, 0x61, 0x37, 0xa6, 0x71, 0xc6, 0xf9, 0x1b, 0x1a, 0x8e, 0xe3, 0x01, 0x2f, 0xfc, 0x27, - 0x3d, 0x08, 0xa9, 0x00, 0xa1, 0x13, 0x09, 0xee, 0x5a, 0xaa, 0xf3, 0xfe, 0xf8, 0xbb, 0xf5, 0x31, - 0x42, 0x9a, 0xa5, 0xfe, 0x82, 0xa5, 0xe3, 0x89, 0x1f, 0x3f, 0x59, 0xad, 0x1a, 0x12, 0x48, 0xf2, - 0x38, 0x35, 0x74, 0xed, 0x3c, 0xf6, 0x23, 0x53, 0x04, 0x2c, 0x0e, 0xf3, 0xbc, 0x6b, 0x69, 0x7d, - 0x52, 0x05, 0x54, 0x45, 0x0e, 0xd4, 0x03, 0xad, 0x5c, 0x07, 0xe9, 0x75, 0x76, 0xea, 0xe4, 0x43, - 0x53, 0x00, 0xe4, 0xe7, 0xde, 0x63, 0xea, 0x90, 0x41, 0x39, 0x1c, 0xac, 0xc4, 0x3b, 0x38, 0x72, - 0x1c, 0x00, 0x9f, 0x63, 0xe8, 0xb1, 0xe1, 0xb2, 0xed, 0xc5, 0x7c, 0x29, 0xb8, 0x21, 0xdf, 0x72, - 0x4d, 0x92, 0x9d, 0xfe, 0x8d, 0x8d, 0x4b, 0x5e, 0x4e, 0xb2, 0x59, 0xa8, 0x41, 0xaf, 0xee, 0x42, - 0xce, 0x35, 0xf0, 0xc7, 0x2e, 0x46, 0x63, 0x7d, 0xd4, 0x5e, 0x6f, 0xb6, 0x63, 0xf8, 0x60, 0xeb, - 0xd4, 0x09, 0x97, 0xe9, 0x29, 0xe6, 0x1e, 0x97, 0x44, 0x15, 0xff, 0x30, 0x7b, 0x0d, 0x6e, 0x78, - 0xa8, 0xbe, 0x4a, 0xeb, 0x37, 0xae, 0x5e, 0xd2, 0x95, 0xd1, 0x6e, 0x44, 0xea, 0xf8, 0x2a, 0x92, - 0x7d, 0x91, 0x02, 0xd0, 0xc3, 0x1a, 0x17, 0x83, 0x8f, 0x93, 0x15, 0x05, 0x7f, 0xea, 0xe5, 0x61, - 0x4d, 0x5f, 0x0f, 0xbc, 0x1c, 0x0b, 0xb1, 0x23, 0xbf, 0x11, 0x37, 0x4c, 0x46, 0x33, 0xeb, 0xbf, - 0xa7, 0x46, 0xf2, 0x9e, 0x19, 0x55, 0x42, 0x08, 0x9e, 0xbe, 0xb3, 0x25, 0x6e, 0xa0, 0x3b, 0x50, - 0xf7, 0x2b, 0xdb, 0x09, 0x26, 0x2e, 0x7e, 0xca, 0x8e, 0x4a, 0x00, 0x02, 0x03, 0xc7, 0x14, 0xd2, - 0x52, 0xb7, 0x7e, 0xd3, 0x6b, 0x4c, 0x12, 0xf6, 0x20, 0x70, 0xcb, 0xca, 0x48, 0x21, 0x8b, 0x56, - 0x9d, 0xe8, 0x63, 0xb7, 0x1d, 0x91, 0x75, 0xd7, 0x85, 0xe9, 0xd2, 0x41, 0xa7, 0x26, 0xa5, 0x9d, - 0x9b, 0x1d, 0xe4, 0xef, 0x33, 0x90, 0x53, 0x1d, 0xb6, 0xa5, 0xbc, 0xa8, 0xaf, 0xba, 0xa0, 0x5e, - 0x52, 0x20, 0x09, 0x1d, 0x7d, 0x29, 0xf6, 0x62, 0xe4, 0x87, 0x66, 0xf6, 0x98, 0x99, 0xb0, 0x6a, - 0x3a, 0x4e, 0x42, 0x01, 0x1a, 0xed, 0x13, 0x87, 0x0b, 0x04, 0xbe, 0xad, 0xd0, 0x47, 0xa1, 0x2c, - 0x35, 0x08, 0x27, 0xd9, 0xed, 0x75, 0x24, 0xeb, 0x71, 0x6a, 0x1c, 0x17, 0x3d, 0xcc, 0xbb, 0xf6, - 0x96, 0x50, 0x13, 0x00, 0x9c, 0x17, 0x25, 0x6f, 0x14, 0x46, 0x2b, 0xf5, 0x6b, 0x5c, 0xf4, 0xf3, - 0x0c, 0x8d, 0x5f, 0x8d, 0x43, 0xd0, 0x2b, 0x6b, 0x65, 0x5c, 0xbf, 0xbb, 0x60, 0x69, 0x72, 0x0c, - 0xac, 0x4d, 0x1d, 0x28, 0xd6, 0x6e, 0x1f, 0x05, 0xcd, 0x0c, 0xf3, 0x33, 0x6b, 0x4e, 0x1e, 0xa5, - 0x06, 0xd6, 0xc7, 0x95, 0xd1, 0x7f, 0x96, 0x53, 0xcb, 0xec, 0x7e, 0xb6, 0x40, 0x78, 0x6a, 0xb5, - 0xc2, 0x07, 0x01, 0x01, 0x06, 0xf8, 0x76, 0xbb, 0xba, 0x8f, 0x6f, 0x54, 0x2a, 0x53, 0x44, 0x5c, - 0xf8, 0x2c, 0x82, 0x28, 0xc4, 0x3e, 0x3e, 0xc1, 0x73, 0xd6, 0xdd, 0x3e, 0xe5, 0x08, 0xd4, 0x45, - 0x82, 0x16, 0xa1, 0xe9, 0x51, 0xb8, 0xcb, 0x40, 0xba, 0xa4, 0x90, 0x7b, 0x10, 0x11, 0xcf, 0xff, - 0xc1, 0xb2, 0x24, 0x7a, 0x1d, 0x27, 0x92, 0x38, 0x69, 0x8b, 0x68, 0xe0, 0x52, 0xc9, 0x8a, 0x52, - 0xcc, 0xa9, 0x00, 0x95, 0xce, 0xf5, 0x55, 0xf5, 0x1f, 0x7a, 0x2a, 0xac, 0x18, 0x32, 0x4f, 0x68, - 0xbf, 0xb5, 0x08, 0x9b, 0x8c, 0xa7, 0x45, 0xfa, 0x39, 0x5b, 0x0d, 0xaa, 0xf2, 0x4b, 0x84, 0x1c, - 0xa8, 0x0b, 0xc9, 0x09, 0x13, 0x6c, 0x2f, 0x28, 0x68, 0xa7, 0x95, 0xa5, 0xce, 0x85, 0x7a, 0x3f, - 0x48, 0xd1, 0x19, 0x93, 0x55, 0x3f, 0xdf, 0x53, 0xfc, 0x4a, 0x2f, 0xbe, 0x00, 0xe9, 0xdf, 0x48, - 0x54, 0xd2, 0x0f, 0x12, 0xb0, 0x53, 0xde, 0x01, 0x75, 0x30, 0xd2, 0x94, 0x47, 0xdf, 0xae, 0xc3, - 0xf0, 0x24, 0xbf, 0x5b, 0x18, 0x76, 0xca, 0xfc, 0x12, 0x3a, 0xa3, 0xd0, 0xae, 0xfc, 0x8c, 0xe1, - 0xe8, 0xb3, 0x3f, 0x0f, 0xf1, 0x90, 0x3a, 0x04, 0xd6, 0x17, 0x8e, 0xe3, 0xdf, 0xaf, 0x19, 0xa6, - 0x72, 0xda, 0x30, 0x98, 0x7c, 0x18, 0x00, 0xcf, 0xe0, 0x1f, 0xeb, 0x8b, 0x36, 0x92, 0xb2, 0x25, - 0x97, 0xa6, 0xec, 0xa8, 0xa4, 0xd8, 0xd7, 0x9b, 0x5e, 0x93, 0x5d, 0x93, 0x68, 0x36, 0xa5, 0x14, - 0x5b, 0xd7, 0xba, 0x8c, 0x9e, 0xb9, 0xfd, 0x68, 0x54, 0x51, 0x0d, 0xe8, 0x5b, 0x93, 0x3c, 0x9d, - 0xf1, 0x8e, 0xd8, 0x9b, 0xe0, 0xbb, 0xee, 0x8a, 0x6f, 0x35, 0xfe, 0xcf, 0x3b, 0xa6, 0x33, 0xc0, - 0x5d, 0xbc, 0x07, 0xcf, 0x89, 0x61, 0x63, 0x57, 0x42, 0xe1, 0x4c, 0x7c, 0x7b, 0x88, 0x26, 0x63, - 0x0d, 0xc0, 0xe7, 0x77, 0x9c, 0x39, 0xed, 0x23, 0x15, 0x5f, 0xb2, 0x7c, 0x18, 0x0e, 0x78, 0x3b, - 0xa1, 0x92, 0x6a, 0x39, 0x5b, 0xf0, 0x67, 0xbe, 0x30, 0xd6, 0xb5, 0xf7, 0x9e, 0xbf, 0x5e, 0x38, - 0x8c, 0x24, 0x2e, 0xe7, 0x77, 0xf4, 0xf6, 0xc5, 0x47, 0xca, 0xbc, 0xff, 0xce, 0x10, 0x30, 0xbc, - 0x1c, 0xc8, 0x9f, 0x72, 0x65, 0xc8, 0x94, 0x97, 0xe7, 0x20, 0x5c, 0xa7, 0x87, 0x4f, 0xd0, 0x33, - 0x4b, 0xd4, 0x43, 0x07, 0xa4, 0xc8, 0x56, 0x5c, 0x62, 0x7e, 0x53, 0x05, 0x1d, 0xa1, 0xf3, 0x89, - 0x51, 0x1b, 0xe5, 0x82, 0x26, 0xd2, 0xbe, 0xcf, 0x12, 0xe0, 0x01, 0x3b, 0x86, 0xac, 0x7f, 0x20, - 0x4e, 0xaa, 0x27, 0xb9, 0x75, 0x4a, 0xbf, 0x75, 0x1e, 0xf9, 0x9c, 0x84, 0x51, 0xeb, 0xc9, 0x82, - 0x54, 0x6d, 0xd3, 0x03, 0xf3, 0xe4, 0x51, 0x54, 0xbb, 0x67, 0x89, 0xed, 0x33, 0x0d, 0x5a, 0xe4, - 0x4f, 0xe3, 0x32, 0x28, 0xb5, 0x02, 0x03, 0x99, 0xc3, 0x17, 0x15, 0x17, 0xb9, 0x05, 0xa6, 0xd4, - 0x8d, 0xa0, 0xb0, 0xd0, 0x83, 0x44, 0xe1, 0x02, 0x73, 0x4e, 0x0d, 0x4b, 0xfe, 0x46, 0xcf, 0xfd, - 0x50, 0x4a, 0x03, 0x56, 0x83, 0x26, 0xb4, 0x92, 0x51, 0xdf, 0xe3, 0xfd, 0xc3, 0xa6, 0xe8, 0x8f, - 0xeb, 0xd4, 0xbf, 0x40, 0x32, 0x01, 0x96, 0xb0, 0xe0, 0xb4, 0x41, 0xb3, 0x7a, 0xd8, 0xe3, 0x04, - 0x1d, 0x52, 0x8c, 0x6f, 0xec, 0xbb, 0xde, 0xcf, 0x3d, 0x98, 0xfd, 0x04, 0x6b, 0x7b, 0x45, 0xef, - 0x08, 0xd0, 0x6b, 0x3e, 0x14, 0x77, 0xb8, 0x43, 0x37, 0x39, 0xab, 0x23, 0x1a, 0x58, 0x93, 0x15, - 0x13, 0xe6, 0x08, 0x91, 0x3a, 0x91, 0xe0, 0x1e, 0x60, 0xb4, 0x05, 0x9e, 0xf7, 0x1c, 0xe9, 0xf6, - 0xfe, 0x95, 0x10, 0x4e, 0x38, 0x7c, 0xc4, 0x3e, 0xe7, 0x92, 0x73, 0x4a, 0x40, 0x98, 0xe1, 0xbc, - 0xe6, 0x9b, 0x74, 0x3a, 0x21, 0x9c, 0x95, 0x07, 0xe0, 0xde, 0xe3, 0x20, 0x8a, 0x34, 0x01, 0x9b, - 0x8f, 0x81, 0xa1, 0xae, 0xde, 0xbb, 0x7e, 0xb0, 0xdc, 0xa6, 0xb0, 0x31, 0x86, 0x66, 0x95, 0x1b, - 0x41, 0x64, 0x7c, 0x33, 0x78, 0xaa, 0xa1, 0xb9, 0x65, 0xaf, 0x31, 0x8f, 0x0b, 0x30, 0xbf, 0xaf, - 0x0c, 0xbb, 0x2d, 0x3a, 0x58, 0x64, 0x6c, 0xa7, 0x41, 0xe8, 0xac, 0x8f, 0x94, 0x18, 0xf6, 0xfc, - 0x42, 0x74, 0x39, 0x3b, 0xe8, 0xbf, 0x3f, 0x83, 0x99, 0x9b, 0x07, 0xfb, 0xc0, 0x95, 0xb1, 0xc4, - 0xd2, 0x6d, 0xa9, 0xaa, 0xd4, 0xd2, 0x05, 0x04, 0x1b, 0xcc, 0x5a, 0xf7, 0xa2, 0xaa, 0x10, 0x95, - 0x56, 0x09, 0xba, 0xbf, 0x42, 0xfa, 0x0b, 0xad, 0xe7, 0xe7, 0x25, 0x59, 0xab, 0xe8, 0x78, 0xa9, - 0xb3, 0xa3, 0xdc, 0xe8, 0x2c, 0xae, 0x44, 0x3e, 0x06, 0x2a, 0x85, 0x67, 0x61, 0x6d, 0xad, 0xf5, - 0xa1, 0xa9, 0x2a, 0xbb, 0x30, 0x10, 0x6a, 0xba, 0xb2, 0x11, 0xa7, 0x8b, 0xd6, 0x0e, 0x28, 0x6e, - 0x43, 0xfa, 0x10, 0x44, 0xd3, 0x52, 0x6b, 0x49, 0xa3, 0xeb, 0xa8, 0xe4, 0x43, 0x9c, 0x70, 0x4a, - 0x00, 0x3b, 0x3a, 0x4e, 0x95, 0xa1, 0xf9, 0xc0, 0xa5, 0xca, 0x44, 0x33, 0x53, 0x50, 0xdb, 0xd1, - 0x86, 0x4a, 0x8d, 0x60, 0x6c, 0xe6, 0x5d, 0xa3, 0x12, 0xe4, 0xb3, 0xe7, 0xe9, 0x2d, 0x0e, 0x28, - 0x99, 0x02, 0x5a, 0x80, 0xe7, 0x87, 0x9e, 0xd9, 0xe6, 0x91, 0xc5, 0x13, 0xc7, 0x21, 0x91, 0xa7, - 0xfb, 0xc1, 0x0f, 0xa8, 0xa1, 0x67, 0x16, 0xe0, 0x69, 0xf7, 0x61, 0x03, 0xc3, 0xc3, 0x81, 0xd9, - 0x91, 0x09, 0x26, 0xed, 0x37, 0xb2, 0xca, 0x2c, 0x4b, 0xc7, 0x1c, 0xb6, 0x8c, 0x82, 0x73, 0x8d, - 0xed, 0x23, 0x38, 0x4b, 0xc3, 0x23, 0x01, 0x8d, 0x71, 0x01, 0xe8, 0x0a, 0x90, 0x76, 0xcf, 0xb3, - 0x10, 0xa6, 0xd8, 0xa8, 0x10, 0x7c, 0x81, 0xb0, 0x6a, 0xb6, 0xf3, 0x66, 0x6b, 0x3a, 0xb2, 0xd6, - 0xb4, 0x7f, 0x4e, 0x34, 0xcb, 0xb6, 0x43, 0x6b, 0x18, 0x4d, 0xd2, 0x3a, 0xb8, 0xce, 0x34, 0x99, - 0x9c, 0x3a, 0x3a, 0xb5, 0x81, 0x81, 0x2d, 0x9c, 0x77, 0xc1, 0xe9, 0x76, 0x14, 0x2d, 0x39, 0xa3, - 0x9c, 0x9e, 0x1a, 0x71, 0xae, 0xff, 0x81, 0x31, 0x39, 0x7a, 0x91, 0x4b, 0xad, 0x5e, 0x0a, 0x8e, - 0xe2, 0x83, 0x51, 0x89, 0x2f, 0x65, 0xcb, 0x08, 0x48, 0x29, 0xe3, 0xe7, 0xaa, 0xfc, 0xb6, 0x3e, - 0xd0, 0x94, 0xd4, 0xec, 0x41, 0xed, 0xe3, 0x2d, 0xc0, 0x52, 0x15, 0xf6, 0x17, 0xb6, 0xe2, 0x10, - 0x1f, 0xe3, 0x05, 0xeb, 0x01, 0x48, 0x56, 0x38, 0xf1, 0x1e, 0xb2, 0xe9, 0x58, 0xe7, 0x4c, 0x81, - 0x7f, 0x9d, 0xc2, 0x3a, 0x83, 0xbc, 0x9d, 0xaa, 0x70, 0xef, 0x7d, 0x04, 0x8f, 0x3a, 0x84, 0x2c, - 0xd0, 0x48, 0xdf, 0x38, 0xcd, 0xb0, 0x95, 0x04, 0x36, 0x2d, 0x47, 0x86, 0xca, 0x85, 0x85, 0xd6, - 0x82, 0x98, 0x2f, 0x27, 0x4d, 0x8b, 0xdf, 0x0f, 0x3d, 0xff, 0x21, 0x5f, 0xbe, 0xa6, 0x23, 0x59, - 0x3a, 0x92, 0x6b, 0xab, 0x0e, 0x65, 0x77, 0x23, 0x8d, 0x07, 0x3d, 0x15, 0xb4, 0x97, 0x85, 0x1f, - 0xe4, 0x20, 0x1d, 0x4d, 0x38, 0x68, 0x5b, 0x71, 0x0b, 0xe3, 0xfb, 0xf7, 0xec, 0xac, 0x65, 0xae, - 0xca, 0xd2, 0x28, 0xde, 0xfd, 0x7c, 0x9f, 0x37, 0xa5, 0xc7, 0x36, 0xa6, 0xe9, 0xe6, 0xfd, 0x8e, - 0xa7, 0x9c, 0x8d, 0x13, 0x7b, 0xf9, 0x55, 0xf7, 0x0c, 0x50, 0x91, 0x42, 0x48, 0x3b, 0x72, 0x34, - 0x7c, 0x14, 0x6f, 0x83, 0x6f, 0x0b, 0x75, 0xac, 0x0d, 0xb9, 0x23, 0x54, 0x62, 0xeb, 0xfe, 0xde, - 0xfd, 0x2f, 0xb3, 0xb3, 0x80, 0xe6, 0xbe, 0xde, 0x8a, 0x77, 0xe2, 0xcb, 0xf5, 0x0b, 0x7b, 0xef, - 0x08, 0xc7, 0x3b, 0xf7, 0x66, 0xd8, 0x33, 0x70, 0xf3, 0xdd, 0xf9, 0x12, 0xe0, 0xa8, 0x9c, 0xc3, - 0xbd, 0x82, 0xf1, 0xf2, 0x17, 0xd5, 0x00, 0xb3, 0x80, 0x88, 0xcf, 0x30, 0xa5, 0xd3, 0xbd, 0x28, - 0x98, 0x3f, 0x90, 0xc6, 0x6c, 0x31, 0x20, 0x4c, 0x07, 0x2d, 0x9d, 0xb5, 0x16, 0x7f, 0xd9, 0x61, - 0xf8, 0x1b, 0x68, 0x00, 0xc7, 0xa3, 0x11, 0x62, 0x74, 0x8e, 0x3a, 0xd3, 0x8e, 0x67, 0x96, 0x8b, - 0x66, 0x56, 0x33, 0x9a, 0x87, 0x6e, 0xa1, 0x7d, 0x0c, 0xc3, 0xee, 0x63, 0x5e, 0x33, 0x37, 0x94, - 0xc9, 0x2e, 0x21, 0x7e, 0x1e, 0x30, 0x13, 0x17, 0x3a, 0xde, 0xfd, 0x06, 0x4d, 0x3c, 0x76, 0x5a, - 0x09, 0x08, 0x9f, 0x77, 0xb6, 0x9f, 0x47, 0xd2, 0xbd, 0x8b, 0x99, 0x51, 0x2d, 0xc6, 0x70, 0xe0, - 0x3b, 0x8d, 0x0a, 0xf0, 0x3b, 0xbb, 0x9d, 0xc5, 0x56, 0x2d, 0x27, 0x44, 0x49, 0x84, 0x22, 0xd4, - 0xd8, 0x1a, 0x70, 0xc9, 0x8f, 0x47, 0x0c, 0x45, 0x23, 0x00, 0x89, 0xdf, 0x49, 0x00, 0xeb, 0xee, - 0xed, 0xf3, 0xdf, 0xd8, 0xe0, 0x54, 0xf4, 0xbc, 0xe8, 0x2c, 0x49, 0x9f, 0xdd, 0xd1, 0x9d, 0x94, - 0x2b, 0x05, 0xff, 0x60, 0x77, 0x3a, 0x07, 0x1c, 0x83, 0xdb, 0x47, 0xb3, 0x9e, 0xdc, 0xda, 0x1a, - 0xc8, 0x8a, 0xd6, 0xe4, 0x00, 0x81, 0x41, 0xb3, 0x58, 0x7d, 0xc1, 0xb4, 0x24, 0xbc, 0x9e, 0x5e, - 0xe7, 0x2a, 0x7d, 0xfb, 0xc0, 0x70, 0xbc, 0x26, 0x6d, 0x6b, 0x73, 0x66, 0xd5, 0xbf, 0x57, 0xe2, - 0xbd, 0xd9, 0x7d, 0x90, 0xc9, 0xaf, 0xe8, 0x1f, 0xb9, 0x75, 0xea, 0x93, 0xb0, 0x73, 0x2c, 0x02, - 0xad, 0xc4, 0x9b, 0xda, 0x88, 0xcf, 0x43, 0x35, 0x18, 0x92, 0x71, 0x52, 0x39, 0x49, 0x36, 0x3b, - 0xdf, 0x1e, 0x68, 0x94, 0xbe, 0x6e, 0xc1, 0x63, 0x78, 0x85, 0x12, 0x7f, 0x56, 0x0b, 0xbd, 0x14, - 0xa6, 0x84, 0xc4, 0x0b, 0xf3, 0x25, 0xcb, 0xfa, 0xb7, 0x3e, 0xf2, 0x61, 0xf3, 0xe6, 0x28, 0x4d, - 0xbf, 0x93, 0x16, 0x22, 0xdb, 0x82, 0x18, 0xbc, 0x84, 0xdb, 0x69, 0x4a, 0xf4, 0x9a, 0xcc, 0x75, - 0x5f, 0xc2, 0x0d, 0x0a, 0xa3, 0xec, 0x2c, 0xac, 0xe9, 0x8e, 0xb0, 0xfc, 0xc7, 0xe9, 0x55, 0xd2, - 0x9e, 0x0d, 0x57, 0x5d, 0x44, 0xcc, 0x96, 0xba, 0x44, 0xf7, 0xf4, 0x4c, 0xe0, 0x20, 0xf0, 0xfd, - 0x7e, 0x6a, 0xc7, 0x6b, 0xa2, 0x0b, 0xfa, 0x01, 0x9a, 0xbe, 0x62, 0x10, 0xc9, 0x9d, 0x42, 0xf0, - 0x9f, 0x8d, 0x8d, 0x37, 0x56, 0xba, 0x2d, 0x0a, 0xbb, 0xc1, 0xe6, 0x9d, 0x24, 0x33, 0x90, 0x11, - 0x09, 0xd6, 0xbc, 0x39, 0x2b, 0xbc, 0xb1, 0xfb, 0x21, 0xba, 0x54, 0x06, 0x88, 0xc3, 0x57, 0x7a, - 0xd7, 0x47, 0x2a, 0xe9, 0xd1, 0xb9, 0xce, 0x1b, 0x26, 0xc7, 0x35, 0x46, 0x3b, 0xab, 0xdd, 0x66, - 0x96, 0xa1, 0x27, 0x90, 0x39, 0xed, 0x40, 0xd3, 0xba, 0xdb, 0x78, 0xde, 0x12, 0xbb, 0xdb, 0xc1, - 0x8f, 0x41, 0xc8, 0x75, 0xf2, 0xf0, 0x91, 0x57, 0x61, 0xe1, 0xe3, 0x5f, 0x02, 0x9b, 0xed, 0x60, - 0x5b, 0x57, 0xfd, 0x50, 0xcc, 0xab, 0x04, 0xc6, 0xeb, 0x30, 0x0f, 0xb5, 0xf0, 0xd4, 0xbe, 0xf1, - 0x61, 0x59, 0x80, 0x65, 0x87, 0x23, 0x65, 0x06, 0x4c, 0x53, 0xc5, 0x94, 0x7f, 0xf8, 0x7e, 0x90, - 0x24, 0x51, 0xba, 0xf7, 0xbc, 0xc8, 0x44, 0x89, 0xdb, 0x0a, 0x2f, 0xfc, 0xfc, 0x66, 0x0a, 0x6c, - 0x80, 0x35, 0x1d, 0xba, 0x01, 0x17, 0x97, 0xb2, 0xfd, 0x5c, 0x1f, 0x83, 0x3f, 0x61, 0x84, 0x9b, - 0xfa, 0xe9, 0x30, 0xd5, 0x8a, 0x1b, 0x3c, 0xeb, 0x8b, 0xb7, 0xcf, 0x00, 0x99, 0x40, 0x6a, 0x60, - 0xab, 0xaa, 0xe5, 0x10, 0x2a, 0x1d, 0x62, 0xf2, 0x83, 0x85, 0x9a, 0x16, 0xd6, 0x42, 0xb7, 0x06, - 0x8d, 0x1b, 0xec, 0xc0, 0x61, 0xc6, 0x60, 0x4c, 0xde, 0x24, 0x3d, 0x48, 0x8a, 0x95, 0xd2, 0x30, - 0x61, 0x79, 0xfa, 0x2d, 0x89, 0xfb, 0x77, 0xdf, 0x8f, 0x73, 0x8e, 0x81, 0x92, 0x89, 0x7a, 0x6e, - 0xaf, 0x91, 0x52, 0x5f, 0x11, 0xed, 0x0a, 0xd5, 0xbf, 0x55, 0x6f, 0xcd, 0xd2, 0x50, 0x36, 0x6f, - 0xd2, 0x2c, 0xfa, 0x19, 0x14, 0x4b, 0x91, 0x3a, 0x91, 0xb5, 0xcc, 0x44, 0xe5, 0xa1, 0xf2, 0x27, - 0x69, 0xf9, 0x22, 0x52, 0x0a, 0x8d, 0xfe, 0x1b, 0x5e, 0xed, 0x26, 0xca, 0x39, 0x07, 0x2f, 0xbf, - 0xd1, 0x3d, 0xac, 0x1c, 0xfa, 0x6d, 0x78, 0x90, 0x55, 0xaf, 0x8a, 0x34, 0xf0, 0x2d, 0x30, 0x07, - 0xfb, 0xcc, 0x68, 0xe2, 0x21, 0x77, 0x7e, 0xde, 0x44, 0x2b, 0x7c, 0x1a, 0x2e, 0xad, 0x22, 0x38, - 0x86, 0x9c, 0xf9, 0x62, 0x50, 0x80, 0x84, 0x08, 0xc3, 0x6b, 0xec, 0xb1, 0x73, 0xe3, 0xe7, 0x32, - 0xd0, 0x9d, 0x53, 0x3a, 0x87, 0xfd, 0x64, 0x6c, 0x3f, 0x63, 0xf2, 0xcc, 0x78, 0xfc, 0xee, 0xea, - 0xfb, 0x53, 0x94, 0x4f, 0x30, 0x7a, 0xae, 0x8b, 0xe5, 0xb6, 0x52, 0xa0, 0x83, 0x45, 0x3b, 0x4b, - 0x58, 0xa0, 0x2a, 0x12, 0x37, 0xcd, 0x1f, 0xb6, 0x7b, 0xe9, 0x92, 0x37, 0x2e, 0x21, 0xb7, 0x70, - 0x4a, 0xd3, 0x6c, 0x8f, 0x0a, 0x62, 0x80, 0xd6, 0x2b, 0x73, 0x02, 0xa1, 0x86, 0xa5, 0xd8, 0x78, - 0xf2, 0xfc, 0x10, 0xac, 0xe8, 0x92, 0x84, 0x05, 0x63, 0x95, 0x93, 0x5d, 0x75, 0x91, 0xdd, 0x24, - 0x23, 0x84, 0x0c, 0xf5, 0x3d, 0xb7, 0x44, 0x03, 0xc5, 0x41, 0x77, 0xbd, 0xe2, 0xb9, 0x59, 0x33, - 0xb2, 0x22, 0x8b, 0x14, 0x7d, 0xb9, 0x88, 0xef, 0x4e, 0xee, 0xf7, 0xd8, 0xc4, 0x18, 0xcd, 0x0e, - 0xda, 0x87, 0x3c, 0x03, 0x15, 0xcb, 0xa7, 0xea, 0x85, 0xcd, 0x68, 0x7d, 0xdd, 0x0f, 0x93, 0xc3, - 0xeb, 0x57, 0xaa, 0x7b, 0x32, 0xff, 0xe3, 0xb4, 0xae, 0x67, 0xe3, 0x34, 0x62, 0xdc, 0x2b, 0xae, - 0x83, 0x72, 0xdc, 0x68, 0x0b, 0x72, 0x56, 0x09, 0xa4, 0x05, 0x42, 0x35, 0xb0, 0x08, 0x13, 0xe6, - 0x26, 0xbd, 0xce, 0x46, 0x0f, 0xc3, 0x7f, 0x37, 0x15, 0x53, 0x06, 0x0e, 0x01, 0x51, 0xe2, 0xfe, - 0x10, 0xdf, 0xd3, 0x87, 0xb0, 0x19, 0x85, 0x02, 0xf8, 0x62, 0xeb, 0x09, 0x9e, 0x6a, 0x82, 0x22, - 0xb0, 0xe3, 0xbc, 0xb6, 0xe3, 0x75, 0x54, 0xb4, 0x98, 0x1e, 0xbd, 0x8e, 0xbf, 0x59, 0x71, 0x64, - 0x93, 0x70, 0xdc, 0x0d, 0x92, 0xbb, 0xf5, 0x0c, 0x28, 0xd3, 0xe9, 0x9b, 0x6f, 0x66, 0x44, 0xd8, - 0x9c, 0xc3, 0xbc, 0xf6, 0x2e, 0xf5, 0x0b, 0x2b, 0xb7, 0x8c, 0xbf, 0x9c, 0x32, 0xf8, 0x28, 0x68, - 0x6a, 0xc7, 0x03, 0xd8, 0xd2, 0xd8, 0x34, 0x37, 0x77, 0x4e, 0xfd, 0x10, 0x2e, 0x11, 0xa1, 0xb8, - 0x5f, 0x30, 0x38, 0xaf, 0x75, 0x26, 0x13, 0x57, 0xf3, 0xfa, 0x95, 0xba, 0x5f, 0x99, 0x3c, 0xb0, - 0x36, 0x60, 0x49, 0xf1, 0x50, 0x68, 0x1e, 0x14, 0x66, 0xe8, 0xbf, 0xdc, 0x94, 0x86, 0xa3, 0x30, - 0x5f, 0x2a, 0xc3, 0xb7, 0x50, 0x68, 0x1e, 0x06, 0x9d, 0xca, 0x64, 0xa0, 0xb8, 0x5c, 0xf3, 0x16, - 0x4e, 0xb9, 0xe8, 0x48, 0x92, 0x1b, 0x62, 0x3c, 0x7a, 0xb4, 0xd7, 0x34, 0xbc, 0x59, 0xb8, 0xa0, - 0xf1, 0x72, 0x2b, 0x8d, 0x40, 0x38, 0x98, 0xaf, 0x49, 0x7e, 0x2b, 0xdc, 0xb3, 0xcc, 0xff, 0x08, - 0x21, 0xc6, 0x1a, 0x92, 0xa6, 0x1c, 0x51, 0xd9, 0x91, 0x68, 0x3f, 0xe5, 0xbf, 0x0c, 0x8f, 0x3e, - 0x81, 0xcb, 0x8b, 0x5e, 0xed, 0x6f, 0xef, 0x11, 0xc1, 0x7c, 0xdb, 0x86, 0xf9, 0x8f, 0xf6, 0x90, - 0x86, 0x0f, 0xf9, 0x38, 0x6f, 0x70, 0x02, 0xd1, 0x01, 0x76, 0x47, 0x19, 0x07, 0x88, 0xb9, 0xf7, - 0x36, 0x36, 0xa7, 0xc1, 0x27, 0x1c, 0x19, 0x0a, 0x9c, 0x12, 0x64, 0xb0, 0x7e, 0x00, 0x6d, 0xd2, - 0xff, 0x6e, 0xc9, 0x74, 0x0b, 0xfd, 0xe1, 0x6f, 0xb7, 0xf8, 0x8d, 0xf0, 0x72, 0x50, 0x55, 0xf7, - 0xa2, 0xe1, 0xbf, 0xe8, 0xc8, 0xcf, 0xea, 0x02, 0xb4, 0x58, 0x7c, 0x37, 0x47, 0x67, 0x29, 0xa7, - 0xbe, 0x6e, 0x0c, 0x7a, 0xf1, 0x11, 0xf5, 0x61, 0xdd, 0xad, 0x99, 0x32, 0x83, 0x2f, 0x37, 0x92, - 0x7a, 0x4e, 0x67, 0x1b, 0x34, 0xb4, 0x7d, 0x1d, 0xcb, 0x9b, 0x82, 0x13, 0x7d, 0x8e, 0x0a, 0xcc, - 0x6d, 0xe6, 0x17, 0xee, 0xa3, 0xc9, 0xf2, 0x32, 0x2e, 0x25, 0x64, 0x2e, 0x07, 0xc7, 0xd3, 0x7f, - 0xa8, 0x5b, 0xf5, 0xac, 0x32, 0xab, 0xc1, 0xcd, 0x30, 0x29, 0x1d, 0xdf, 0xb8, 0x4c, 0x9f, 0xc9, - 0xa0, 0xe4, 0x90, 0xa5, 0x60, 0xad, 0x73, 0x22, 0x55, 0xbd, 0x93, 0x8e, 0x22, 0xf3, 0xff, 0xdb, - 0xa7, 0x41, 0x69, 0xdc, 0x1c, 0x03, 0xd6, 0xfa, 0x76, 0xfa, 0xaf, 0x63, 0x34, 0x9f, 0x77, 0x01, - 0xc6, 0xe5, 0x71, 0x1b, 0x41, 0x7c, 0x88, 0xa8, 0x25, 0xb0, 0x98, 0x5e, 0xa1, 0x8e, 0x96, 0x18, - 0xf8, 0xc4, 0x19, 0x81, 0xa1, 0x4d, 0x4b, 0x97, 0xc2, 0x00, 0xed, 0xd9, 0x41, 0x37, 0x30, 0x21, - 0xfe, 0x2a, 0x1c, 0x9e, 0x9d, 0x8a, 0xd9, 0x8a, 0x7d, 0x46, 0x87, 0xdb, 0x7b, 0x67, 0xe9, 0x35, - 0x4b, 0x2a, 0xf6, 0x56, 0xaf, 0x47, 0x53, 0xb2, 0x25, 0x33, 0xbe, 0x0f, 0x62, 0x6a, 0x33, 0x7b, - 0x92, 0x6e, 0xd7, 0xd1, 0x0e, 0x7f, 0x32, 0x58, 0x3f, 0xfb, 0x78, 0xaa, 0xce, 0x55, 0x89, 0xad, - 0x58, 0x8c, 0x9e, 0x88, 0xfb, 0x86, 0x12, 0xa7, 0xc2, 0x3d, 0x6b, 0xab, 0xb7, 0xf5, 0xf1, 0x27, - 0x69, 0xb4, 0xf4, 0x82, 0x8f, 0x86, 0x4b, 0x88, 0x0b, 0xf7, 0xad, 0x29, 0x51, 0xe5, 0x3c, 0xc2, - 0x03, 0xf3, 0x03, 0xe8, 0x59, 0xc2, 0xc0, 0x78, 0xd9, 0x7c, 0x52, 0xbd, 0x7e, 0x24, 0xba, 0x9f, - 0x3b, 0xae, 0x5f, 0x00, 0x8e, 0x5e, 0x81, 0x19, 0x3f, 0x39, 0x3a, 0x68, 0x3e, 0x93, 0xf4, 0x12, - 0xdc, 0x3e, 0x20, 0x5b, 0xe9, 0x9e, 0x7e, 0xc4, 0x42, 0x3b, 0x0f, 0x56, 0xa8, 0x98, 0xd7, 0x30, - 0x72, 0x1f, 0x7f, 0xde, 0x3a, 0xd6, 0xab, 0x23, 0x76, 0x17, 0xa4, 0x06, 0x6e, 0xb2, 0x8b, 0x8c, - 0xa6, 0x48, 0xf8, 0xe5, 0x0f, 0x2a, 0x93, 0x5c, 0x2b, 0xa7, 0x1a, 0x32, 0xbc, 0x45, 0xc7, 0x26, - 0xc9, 0x52, 0xa4, 0x2f, 0xb9, 0x86, 0x9e, 0x91, 0xda, 0xd4, 0xe9, 0xa1, 0x10, 0xf7, 0x4d, 0x04, - 0x3b, 0x02, 0xa0, 0xaa, 0x6d, 0x83, 0x48, 0x7c, 0xfa, 0xa3, 0xac, 0x19, 0x84, 0x1f, 0x14, 0xa2, - 0xa1, 0x9b, 0xae, 0xb0, 0x2e, 0x8f, 0x72, 0x76, 0xf5, 0x08, 0xa3, 0x05, 0x97, 0xba, 0x9e, 0x21, - 0x07, 0x1a, 0x0b, 0x09, 0x0c, 0x3c, 0xf5, 0x9f, 0xa8, 0x5b, 0x53, 0x43, 0x05, 0x14, 0xe3, 0xf9, - 0xb2, 0xfe, 0x5c, 0x3b, 0x0c, 0x78, 0x82, 0x06, 0xa1, 0x18, 0x4f, 0x7c, 0x3d, 0x57, 0xff, 0x78, - 0xa7, 0x2a, 0xe4, 0x91, 0x12, 0x0d, 0xfc, 0x9d, 0x74, 0xcd, 0xa8, 0x05, 0x4b, 0xfd, 0xbc, 0xe3, - 0x4f, 0x4e, 0x03, 0xdb, 0xbf, 0x2e, 0xcc, 0x1f, 0x37, 0x9c, 0x9f, 0xe8, 0x80, 0xd9, 0xfd, 0x2e, - 0x44, 0xa8, 0x34, 0xb3, 0x10, 0xe2, 0x7a, 0x27, 0x69, 0x1c, 0x83, 0x39, 0x83, 0x83, 0xee, 0x36, - 0x24, 0x73, 0x15, 0xac, 0x7e, 0xa6, 0xc1, 0xee, 0x12, 0x0a, 0x06, 0xce, 0x65, 0x1d, 0x8e, 0xb2, - 0x15, 0x86, 0x99, 0x68, 0x25, 0x3e, 0x9e, 0xd7, 0x8c, 0xc2, 0xc7, 0x4d, 0x53, 0x26, 0x1a, 0x2e, - 0x7a, 0xbe, 0x33, 0x2b, 0xfd, 0x13, 0xa0, 0x32, 0x76, 0x23, 0xb5, 0x85, 0xe0, 0x14, 0x7c, 0xce, - 0x1f, 0x78, 0xe9, 0x88, 0xcd, 0xa5, 0xa4, 0x69, 0x46, 0xb2, 0x16, 0x4b, 0xf5, 0x67, 0x4d, 0x34, - 0x18, 0xd2, 0x2e, 0x0b, 0xcd, 0xfe, 0x08, 0x73, 0xde, 0xa3, 0x09, 0x4e, 0x1b, 0x46, 0xa0, 0x3c, - 0x84, 0x0a, 0xa0, 0x9f, 0x73, 0x16, 0x32, 0x58, 0x2e, 0x25, 0x49, 0x5f, 0x1a, 0x79, 0x12, 0x19, - 0x70, 0x0f, 0xff, 0x01, 0xb5, 0x34, 0x34, 0xfd, 0x8d, 0xb0, 0xd5, 0xed, 0x61, 0xdd, 0x36, 0x5c, - 0x38, 0x5a, 0x94, 0xbe, 0x8d, 0x0d, 0xfb, 0x24, 0xaf, 0xc8, 0xa7, 0x11, 0xf3, 0x90, 0xfc, 0xb0, - 0xf4, 0xbc, 0x7c, 0x43, 0x0a, 0x22, 0xca, 0xdc, 0x5b, 0x07, 0x30, 0x92, 0xf6, 0xdf, 0xf7, 0x82, - 0x06, 0xff, 0x90, 0x50, 0x1a, 0x2b, 0x48, 0x39, 0x84, 0x30, 0x41, 0x0f, 0x4e, 0x13, 0x83, 0xcc, - 0xbb, 0x7a, 0xe9, 0x2f, 0xfc, 0xdb, 0x76, 0x28, 0x99, 0x48, 0x0c, 0xce, 0x5b, 0xd0, 0x5d, 0xc6, - 0x45, 0x5c, 0x40, 0x87, 0xec, 0x66, 0xa0, 0xce, 0x13, 0x3b, 0x27, 0x27, 0xf5, 0x5c, 0xfd, 0x42, - 0xfc, 0xc5, 0x01, 0x72, 0x5d, 0xa4, 0x92, 0xa8, 0xe2, 0xc2, 0xfb, 0x1e, 0x95, 0x67, 0x7f, 0x6f, - 0x66, 0x82, 0x97, 0x25, 0xe0, 0x65, 0x84, 0x94, 0x0f, 0xc6, 0xdb, 0x2b, 0x07, 0x04, 0xd6, 0x58, - 0xea, 0x94, 0x85, 0x8c, 0xab, 0x76, 0xd0, 0x58, 0x67, 0x5a, 0xc4, 0x1d, 0x7b, 0x5e, 0x3b, 0x1f, - 0xf5, 0x64, 0x15, 0x6c, 0x87, 0x88, 0x72, 0x66, 0xa0, 0x8b, 0xf3, 0xd4, 0xb5, 0xe7, 0xc3, 0x0c, - 0x25, 0x78, 0xfe, 0xbf, 0x3a, 0xc5, 0xb2, 0x7d, 0x38, 0xc9, 0x9a, 0x5d, 0x01, 0x47, 0xd8, 0x8b, - 0x26, 0xd5, 0x69, 0xfe, 0xe7, 0x2e, 0x20, 0x81, 0x46, 0xfb, 0x92, 0xff, 0x00, 0xf0, 0xfc, 0x54, - 0x54, 0x5a, 0xd4, 0x8b, 0xfa, 0x1c, 0xb4, 0x7a, 0x75, 0x79, 0x2f, 0x6b, 0x1b, 0xf4, 0xd7, 0x0d, - 0x3d, 0x74, 0x9c, 0x1e, 0x4b, 0x25, 0x66, 0xb1, 0x98, 0xe2, 0xb6, 0x96, 0x50, 0x86, 0x1d, 0x23, - 0x13, 0x7b, 0xe2, 0xb4, 0xff, 0xac, 0x15, 0x3b, 0x9c, 0x71, 0xe1, 0x2d, 0x2a, 0xd4, 0x0a, 0x94, - 0xb5, 0x37, 0x94, 0xb5, 0x77, 0xca, 0x02, 0xf1, 0xd5, 0x1e, 0x36, 0xca, 0xa6, 0x3e, 0xc0, 0x57, - 0xc1, 0x0a, 0xe9, 0x91, 0x79, 0x75, 0xcd, 0x42, 0xaf, 0x9b, 0x35, 0xfb, 0xe0, 0x9e, 0x4b, 0xc3, - 0x2f, 0x15, 0xdf, 0x33, 0x7d, 0x02, 0x14, 0xe6, 0xaf, 0x21, 0xdb, 0xdc, 0x30, 0x59, 0x9c, 0xbd, - 0x14, 0x17, 0xca, 0xa6, 0xc0, 0x8b, 0x93, 0xb2, 0x7c, 0xb6, 0x23, 0x7e, 0x2d, 0xc0, 0x85, 0x5c, - 0xfa, 0xf2, 0xbe, 0x29, 0x94, 0x32, 0xc4, 0x3c, 0x91, 0x38, 0x68, 0x4d, 0x20, 0xb7, 0xd1, 0xb5, - 0xf9, 0x7f, 0x6e, 0x15, 0x8a, 0x76, 0x96, 0x3e, 0xfe, 0x22, 0xa8, 0x5b, 0x67, 0xaf, 0x1b, 0xb7, - 0xf8, 0x48, 0xd4, 0x82, 0xf1, 0x16, 0x78, 0x2a, 0x2f, 0x6e, 0x40, 0xe0, 0x91, 0xd0, 0x02, 0xd0, - 0x0a, 0xdf, 0x10, 0x5b, 0x22, 0x72, 0xad, 0xef, 0xc2, 0x02, 0xa8, 0xde, 0x26, 0x11, 0x21, 0x02, - 0xfa, 0x40, 0x61, 0xef, 0x0e, 0x6e, 0x41, 0x96, 0x7e, 0x94, 0x6a, 0x42, 0x60, 0x41, 0xc1, 0xe8, - 0xe1, 0xe1, 0x38, 0x0d, 0x2a, 0x62, 0x79, 0xd8, 0x51, 0x83, 0x22, 0x6a, 0x65, 0x1a, 0x96, 0x5b, - 0x04, 0xc0, 0xa2, 0x11, 0xf9, 0xfb, 0x60, 0xb0, 0x48, 0x11, 0x4e, 0xed, 0xcc, 0xc0, 0x67, 0xff, - 0x8a, 0x66, 0x75, 0x8f, 0x6c, 0x0d, 0xb3, 0x14, 0x2f, 0x0f, 0xc0, 0xdb, 0x8e, 0x57, 0x2a, 0x86, - 0x7e, 0x96, 0xe1, 0xf7, 0xd2, 0x84, 0x2d, 0x4b, 0xad, 0x31, 0x69, 0xe0, 0x66, 0xc5, 0x1c, 0x81, - 0x99, 0xe3, 0x59, 0xdf, 0xf4, 0x1f, 0xe4, 0x1f, 0xc1, 0x2b, 0x1f, 0x54, 0x74, 0x0d, 0xb3, 0x20, - 0x52, 0xa7, 0xe5, 0x12, 0x3f, 0xd3, 0xff, 0x49, 0xc8, 0x9b, 0xc6, 0x64, 0x09, 0x84, 0x78, 0x2d, - 0x8e, 0x9c, 0x60, 0xee, 0xe3, 0xa1, 0x04, 0x7d, 0xed, 0xf1, 0x25, 0xcb, 0x06, 0xea, 0x20, 0xf1, - 0x21, 0x1e, 0x5d, 0x63, 0xf6, 0x65, 0xfa, 0x28, 0x0e, 0xd3, 0xdb, 0x79, 0x6b, 0x60, 0x93, 0xd8, - 0xc5, 0x8e, 0x08, 0xdc, 0x9f, 0xc1, 0x7d, 0x2b, 0x4d, 0x02, 0x29, 0x55, 0xf5, 0xe9, 0xa0, 0xb3, - 0xe3, 0x6d, 0xa0, 0xa8, 0x6e, 0xaf, 0x67, 0x3f, 0x90, 0x55, 0x8d, 0x0b, 0xf4, 0xc3, 0xb0, 0xef, - 0x96, 0x6d, 0xa1, 0x2c, 0x14, 0x07, 0xb8, 0x57, 0x4c, 0xc1, 0x23, 0x87, 0xd3, 0x07, 0xa9, 0x54, - 0x52, 0x0f, 0xdc, 0x22, 0x7c, 0x9b, 0xe0, 0x80, 0x32, 0xc1, 0x20, 0x1a, 0x94, 0x3c, 0x5a, 0xd2, - 0xc8, 0x3b, 0xe4, 0x3a, 0xbc, 0x96, 0x81, 0x96, 0x24, 0x8a, 0xb1, 0xd8, 0xdf, 0xdf, 0xcf, 0x2b, - 0x42, 0x20, 0x16, 0x0d, 0x25, 0xec, 0x5e, 0x8c, 0x6c, 0x1b, 0xe5, 0xc5, 0x94, 0xad, 0x93, 0x7b, - 0xee, 0x38, 0x23, 0xa1, 0x67, 0x64, 0x0f, 0xb3, 0xff, 0x56, 0x7b, 0xea, 0x83, 0x1d, 0xf7, 0x59, - 0x08, 0x80, 0x9b, 0xda, 0x63, 0x50, 0x93, 0x19, 0x6a, 0x9e, 0xa8, 0xaa, 0x98, 0x58, 0xe6, 0x1a, - 0x2f, 0x16, 0x12, 0xf4, 0x2b, 0x8a, 0x85, 0x84, 0xcf, 0x2a, 0x62, 0x84, 0xb7, 0x8f, 0x81, 0x3d, - 0x9b, 0x9a, 0x78, 0xa3, 0x09, 0x8f, 0x74, 0x99, 0x5b, 0x60, 0xf2, 0x29, 0x0c, 0xe6, 0x03, 0xd3, - 0xc9, 0xe0, 0x32, 0x4a, 0xa6, 0x51, 0x54, 0xcc, 0xb1, 0xc9, 0xb5, 0x17, 0x39, 0x12, 0x6e, 0x88, - 0x31, 0x6c, 0xa8, 0x69, 0x38, 0x94, 0x7c, 0xb2, 0x00, 0x37, 0x35, 0x14, 0x57, 0xe5, 0xee, 0x2e, - 0x63, 0x4b, 0x55, 0x3a, 0x09, 0x5d, 0x99, 0x7f, 0xb4, 0xe8, 0x85, 0x73, 0xcc, 0x44, 0x7c, 0x26, - 0xc5, 0x54, 0x62, 0x99, 0xae, 0xce, 0x8a, 0x3f, 0x80, 0xb6, 0xdd, 0xc4, 0x09, 0x86, 0x38, 0xa4, - 0x83, 0xad, 0xa4, 0x59, 0xeb, 0xf3, 0xf5, 0x8f, 0xfb, 0xb8, 0x5e, 0xcc, 0xdd, 0x54, 0xdc, 0xb8, - 0x9c, 0x16, 0x19, 0xd9, 0x40, 0x94, 0x93, 0x68, 0xae, 0xe3, 0x80, 0x34, 0xb5, 0x7a, 0x1e, 0x41, - 0x68, 0xbe, 0xbb, 0x39, 0x92, 0x01, 0x71, 0x12, 0xe7, 0x5c, 0x6a, 0x46, 0x17, 0x66, 0xab, 0x12, - 0x6b, 0xc1, 0x88, 0xa9, 0x4f, 0xa7, 0xb8, 0xd0, 0x10, 0x6c, 0x43, 0x0f, 0x83, 0xb9, 0x05, 0x37, - 0xb8, 0x94, 0xa1, 0x39, 0xf4, 0x09, 0x96, 0xef, 0x83, 0x7f, 0x67, 0x8c, 0x06, 0x99, 0x36, 0x6c, - 0x79, 0x91, 0x48, 0x50, 0xf9, 0x2b, 0xc3, 0x13, 0xd0, 0xbe, 0xac, 0xf5, 0x5c, 0xbd, 0x8f, 0xa7, - 0xb5, 0x2c, 0x63, 0xc7, 0xb7, 0x5f, 0xa1, 0x32, 0x1c, 0x89, 0x69, 0x43, 0xa2, 0x85, 0xcf, 0xfd, - 0xa7, 0x0d, 0x3e, 0x28, 0x7a, 0xee, 0x84, 0xe8, 0x3f, 0xc8, 0xc6, 0xc9, 0x3e, 0xe9, 0xac, 0x7f, - 0x95, 0x7c, 0x00, 0x66, 0x4a, 0x11, 0xfc, 0xa9, 0xbe, 0x7f, 0xb6, 0x5a, 0x59, 0x27, 0x83, 0x2c, - 0xa9, 0xfa, 0x5c, 0x13, 0xd7, 0xa6, 0xb4, 0x00, 0x86, 0x5f, 0xf8, 0x27, 0x1b, 0x18, 0x52, 0xbc, - 0x1b, 0x03, 0x52, 0x5c, 0x20, 0xd0, 0x58, 0xda, 0x2a, 0xa7, 0x7b, 0xb4, 0x36, 0xe6, 0x60, 0x6b, - 0x0d, 0x4e, 0x5b, 0xc6, 0xda, 0x42, 0xfc, 0x38, 0xd6, 0x88, 0x1e, 0xa7, 0xe2, 0xdb, 0x87, 0xef, - 0xcb, 0x38, 0x1d, 0xd0, 0x3d, 0xbe, 0x6d, 0x00, 0xa8, 0x22, 0x9c, 0x8d, 0xa1, 0xbd, 0xa9, 0xc0, - 0x35, 0x1c, 0x65, 0x51, 0xc6, 0x33, 0x21, 0x9c, 0x50, 0x88, 0x64, 0x25, 0x99, 0x57, 0xdc, 0x14, - 0x35, 0x95, 0x56, 0x6d, 0x2d, 0xd4, 0x80, 0x96, 0xd6, 0xc8, 0x37, 0xda, 0xa0, 0xb7, 0x62, 0xf0, - 0xb1, 0x52, 0xff, 0xe9, 0x3c, 0x92, 0x2a, 0x16, 0xf7, 0x97, 0x46, 0x85, 0x68, 0x24, 0xc9, 0x9e, - 0x16, 0x1e, 0xa6, 0x9a, 0xf1, 0xcb, 0xac, 0x70, 0xb1, 0x88, 0xfa, 0x2c, 0x3d, 0xb8, 0x5c, 0xb5, - 0x2b, 0x82, 0x89, 0xdf, 0x48, 0x7e, 0x39, 0x67, 0x94, 0x14, 0xa5, 0xfc, 0x6e, 0xd1, 0x38, 0x13, - 0x68, 0x5f, 0x32, 0x40, 0x65, 0x51, 0x6b, 0x0c, 0x4b, 0xfd, 0x28, 0x0c, 0x7d, 0x86, 0xde, 0x0f, - 0x13, 0x18, 0x0c, 0x1c, 0x08, 0x28, 0xbe, 0xda, 0xe1, 0x30, 0x50, 0x58, 0x58, 0x21, 0x03, 0x6b, - 0x82, 0x24, 0x78, 0xa8, 0x37, 0xc5, 0x57, 0x66, 0x1d, 0x86, 0xd3, 0xfd, 0x60, 0x66, 0x1e, 0xc7, - 0xe5, 0x08, 0x18, 0x3a, 0x6b, 0x88, 0x41, 0x7e, 0x10, 0x1e, 0x0c, 0x7b, 0xfc, 0x60, 0x13, 0xeb, - 0x6a, 0xcf, 0x41, 0x76, 0x25, 0x93, 0xa6, 0xa4, 0x37, 0x51, 0x15, 0x4d, 0xf0, 0x6e, 0x16, 0xe2, - 0xaa, 0x2c, 0xb1, 0xcb, 0xcf, 0xb6, 0xa3, 0x2e, 0xe6, 0xc3, 0x41, 0x33, 0xcd, 0x83, 0xf1, 0x11, - 0xbe, 0x6e, 0x70, 0x81, 0x72, 0x03, 0xb2, 0x5b, 0x0b, 0x9a, 0xdd, 0xb2, 0xa8, 0x8b, 0xee, 0x02, - 0x69, 0x70, 0x33, 0xe1, 0x12, 0x3a, 0x49, 0x4d, 0x6e, 0x51, 0xc2, 0xfb, 0x73, 0xf0, 0x6a, 0x0a, - 0x1b, 0x92, 0x3b, 0x30, 0x52, 0x4b, 0x86, 0x28, 0x4d, 0x23, 0x91, 0x50, 0x24, 0x74, 0x82, 0xe7, - 0x61, 0x45, 0xd6, 0x72, 0x22, 0xab, 0x41, 0x67, 0xf3, 0x73, 0x6f, 0x66, 0xde, 0x1a, 0xce, 0xe6, - 0x0a, 0xc2, 0x86, 0x19, 0x65, 0xc0, 0x90, 0x4b, 0x28, 0x46, 0x0a, 0x07, 0x35, 0xa0, 0x40, 0x99, - 0x77, 0xa3, 0xa1, 0xd2, 0x67, 0x44, 0xe3, 0xdc, 0xec, 0x16, 0x45, 0x7c, 0xed, 0x79, 0x2a, 0x2f, - 0x51, 0x97, 0x13, 0xf1, 0x17, 0x4a, 0x25, 0xe4, 0xbf, 0xcf, 0xf1, 0x6e, 0xd3, 0x6e, 0x4f, 0x7d, - 0x93, 0xf3, 0x5c, 0x05, 0xfd, 0x11, 0x13, 0x69, 0xd9, 0x72, 0x99, 0x38, 0xcd, 0xd3, 0x54, 0xb8, - 0x21, 0xcd, 0xd4, 0xc9, 0xfa, 0x59, 0xe9, 0xb1, 0x69, 0x70, 0x0d, 0x04, 0xef, 0x52, 0xcd, 0x61, - 0xc6, 0x4b, 0xe5, 0xf6, 0x56, 0x88, 0x90, 0x52, 0x7c, 0xab, 0x48, 0x4d, 0x2d, 0xfa, 0x7e, 0x3d, - 0x9e, 0x4d, 0xed, 0x52, 0x60, 0xd1, 0x65, 0xc7, 0x49, 0xca, 0x6e, 0xb3, 0xdd, 0x16, 0x1e, 0xc7, - 0x4b, 0xd2, 0xa1, 0xbd, 0xef, 0x4b, 0x93, 0xef, 0x4d, 0x86, 0x98, 0xbb, 0x1b, 0xda, 0x1a, 0xb7, - 0xfa, 0x26, 0xdd, 0x31, 0x2f, 0x9d, 0x10, 0x61, 0x51, 0x45, 0x7b, 0x86, 0x88, 0x1e, 0xf5, 0x95, - 0xdc, 0x0d, 0xa5, 0x47, 0xd2, 0x31, 0xaa, 0x96, 0xcb, 0xec, 0xce, 0xb1, 0x7f, 0x92, 0xae, 0x8e, - 0x60, 0x27, 0x93, 0x43, 0x6b, 0xc1, 0xd9, 0x93, 0x86, 0x76, 0xa0, 0x1a, 0x12, 0x2c, 0x52, 0xc7, - 0xc7, 0xb2, 0xfc, 0x78, 0x51, 0x26, 0x35, 0x24, 0xe6, 0x9e, 0x9f, 0x09, 0x93, 0x7c, 0x96, 0x17, - 0x02, 0x21, 0x99, 0x0f, 0x28, 0x1d, 0x82, 0x82, 0x32, 0xae, 0xbe, 0xd0, 0xe4, 0x76, 0x4c, 0x2c, - 0xc0, 0x73, 0x3b, 0x28, 0xdf, 0x47, 0x7d, 0x23, 0x3e, 0x8f, 0xd3, 0x89, 0x3a, 0x0a, 0x39, 0x3e, - 0x61, 0xe9, 0x2c, 0x5a, 0x8d, 0x88, 0x55, 0x43, 0xba, 0x5b, 0x00, 0x3e, 0x14, 0x1c, 0x15, 0x5b, - 0xbb, 0x20, 0x95, 0xaa, 0x03, 0x96, 0x7d, 0x9e, 0xf1, 0x21, 0xd1, 0xe7, 0x5b, 0xc1, 0x93, 0x83, - 0xad, 0x79, 0x73, 0xc6, 0xb0, 0x36, 0xb0, 0x5a, 0xb2, 0x0a, 0x96, 0x98, 0xcc, 0x01, 0x52, 0x5c, - 0x95, 0xd9, 0xa6, 0x68, 0x6a, 0xb1, 0x4c, 0xc9, 0x2d, 0x8d, 0x25, 0x87, 0x21, 0x1e, 0x26, 0xcd, - 0xaa, 0xf6, 0x3b, 0x89, 0xdd, 0x86, 0x73, 0x7f, 0x58, 0xed, 0x5a, 0x73, 0x1e, 0xc4, 0x29, 0xce, - 0x93, 0xc8, 0xd0, 0x1f, 0x21, 0x64, 0x22, 0x03, 0x3b, 0x8a, 0x00, 0xa0, 0xe8, 0x49, 0x3e, 0xfa, - 0x56, 0x55, 0x28, 0x80, 0xf0, 0xb5, 0x39, 0x63, 0x89, 0x21, 0x3f, 0x1d, 0xbe, 0xe3, 0x68, 0x74, - 0x67, 0xdf, 0x2e, 0x12, 0xe1, 0x84, 0x2c, 0x05, 0xad, 0x54, 0x61, 0x7f, 0x73, 0x5c, 0xb2, 0xa8, - 0x34, 0x8b, 0x46, 0xc3, 0x71, 0x94, 0x9b, 0x13, 0x45, 0xb8, 0xae, 0x17, 0x9b, 0xb5, 0x7c, 0xdc, - 0xaa, 0x55, 0xc5, 0x1b, 0xf8, 0x4e, 0x5d, 0x3c, 0xc6, 0x20, 0x80, 0xf8, 0xdf, 0x51, 0x5c, 0xe8, - 0xad, 0x7e, 0x7a, 0xd8, 0x6d, 0xbc, 0xb6, 0x74, 0x6b, 0x48, 0x00, 0x34, 0x7a, 0x27, 0x66, 0xcd, - 0x72, 0xc5, 0xda, 0x2e, 0x33, 0x9a, 0x35, 0xeb, 0x3b, 0x5e, 0xd6, 0x6f, 0x52, 0xf6, 0x1b, 0x93, - 0x20, 0x90, 0x7a, 0x12, 0x24, 0x59, 0x24, 0x74, 0x30, 0x6b, 0xfa, 0x1d, 0x9f, 0xab, 0x80, 0x7e, - 0x45, 0x78, 0xb6, 0x4b, 0x23, 0xc0, 0x59, 0x62, 0x33, 0x9a, 0xbf, 0x24, 0xd0, 0x90, 0x54, 0x64, - 0xba, 0xc2, 0xc7, 0x81, 0x74, 0xe7, 0xfe, 0xb1, 0x7c, 0xae, 0x4f, 0xe8, 0x2b, 0x4a, 0x38, 0x3d, - 0x61, 0x17, 0xfd, 0xba, 0x99, 0xe0, 0xfd, 0x4d, 0xbe, 0xf9, 0xb6, 0x8c, 0x39, 0x25, 0x8b, 0x9d, - 0xaf, 0xe8, 0x02, 0xd5, 0xbe, 0x31, 0x60, 0xea, 0xb8, 0xb0, 0xab, 0x6b, 0x8d, 0x25, 0x62, 0xc5, - 0x88, 0xfb, 0xd6, 0xfe, 0x1f, 0x0b, 0x37, 0xdd, 0x00, 0x23, 0xf4, 0x0d, 0x07, 0x9b, 0x71, 0x83, - 0x28, 0x82, 0x3d, 0x5f, 0x99, 0xa5, 0x38, 0x7f, 0x15, 0x93, 0x29, 0xfe, 0x0e, 0x0c, 0xb4, 0x5d, - 0x2a, 0x8d, 0x3f, 0xbe, 0xbf, 0x7d, 0x21, 0x86, 0xea, 0x3e, 0x7f, 0x7c, 0x6d, 0x7e, 0x38, 0x8e, - 0x1a, 0x6d, 0x59, 0x27, 0xad, 0x11, 0x94, 0xba, 0xa4, 0x1d, 0x7a, 0x64, 0xca, 0x47, 0x82, 0xa2, - 0x12, 0xb1, 0x73, 0x21, 0x3c, 0xf8, 0x95, 0x27, 0x1b, 0xfb, 0x2a, 0x0e, 0xcb, 0x7c, 0x9a, 0xd8, - 0x23, 0xa1, 0x4c, 0xac, 0x7b, 0x28, 0xbc, 0xd0, 0xf3, 0xf5, 0x35, 0xa8, 0x9e, 0x33, 0xe1, 0x41, - 0x05, 0x36, 0xc3, 0xf0, 0xf6, 0x54, 0xa8, 0x50, 0xd6, 0x38, 0x65, 0x8b, 0x0d, 0xfd, 0x06, 0x25, - 0x70, 0x76, 0xfb, 0x4c, 0xdd, 0x52, 0xb7, 0x11, 0xc1, 0xb4, 0xad, 0xc0, 0x90, 0xda, 0x70, 0x6c, - 0xaa, 0x1b, 0x08, 0x96, 0xf6, 0xfe, 0xc1, 0xa7, 0x82, 0x6a, 0x05, 0x14, 0xe8, 0x03, 0x6f, 0x2e, - 0xc8, 0x54, 0x9c, 0x93, 0xc7, 0x0f, 0xb4, 0x93, 0xfc, 0x13, 0x2d, 0x5b, 0xbc, 0x92, 0xc7, 0x01, - 0x2a, 0xa4, 0xa1, 0xae, 0xc5, 0x79, 0x41, 0x9a, 0xda, 0x63, 0x77, 0x77, 0xa9, 0xf0, 0xe0, 0x1e, - 0x66, 0x8c, 0xe2, 0x5d, 0x79, 0xbd, 0x3e, 0xbf, 0xc7, 0x68, 0x2f, 0x47, 0xeb, 0xa6, 0x46, 0xf8, - 0x30, 0x7f, 0x72, 0xa2, 0x4a, 0x4f, 0xf7, 0x83, 0x81, 0xee, 0x1e, 0x06, 0x0c, 0x11, 0x30, 0x17, - 0xab, 0xd9, 0xe6, 0xe3, 0x63, 0x0d, 0xaf, 0x81, 0xad, 0x02, 0x07, 0x6e, 0x0f, 0xc9, 0x14, 0x03, - 0xd7, 0x8d, 0x37, 0xc4, 0xa1, 0xf3, 0xd7, 0x3c, 0x3e, 0xec, 0x55, 0x17, 0x3f, 0x49, 0x30, 0x23, - 0x2d, 0x48, 0x81, 0x3e, 0x60, 0x7d, 0x29, 0x1a, 0xb0, 0xf3, 0xcc, 0xcf, 0xbf, 0x28, 0x09, 0x39, - 0x25, 0xc8, 0xea, 0x5b, 0x74, 0x43, 0x70, 0xce, 0xaa, 0x65, 0x62, 0x2e, 0xb5, 0x51, 0x6a, 0x38, - 0x7a, 0xe4, 0xb2, 0x91, 0xa0, 0x01, 0xc3, 0x63, 0x71, 0x1c, 0x21, 0xe3, 0x29, 0xe0, 0x59, 0x34, - 0xdc, 0xa5, 0x1a, 0x5c, 0xf5, 0xff, 0xc6, 0x1f, 0x9a, 0x20, 0x0d, 0xe6, 0xc7, 0x72, 0x6c, 0xdf, - 0xe8, 0xb9, 0x04, 0x55, 0x9e, 0x58, 0xd8, 0xc9, 0x76, 0x8c, 0x1e, 0x21, 0xa9, 0x09, 0x88, 0xd3, - 0xb1, 0x63, 0x9f, 0x90, 0xd7, 0x27, 0x4c, 0xce, 0xac, 0x5b, 0xfb, 0x7b, 0xe9, 0x25, 0x2c, 0x98, - 0x71, 0x2e, 0x0c, 0x53, 0x7d, 0xc7, 0x6e, 0x7b, 0x54, 0x04, 0x96, 0xf9, 0xaa, 0x96, 0x41, 0xd6, - 0x9b, 0x8b, 0x45, 0x39, 0x51, 0x75, 0x93, 0xc0, 0xe6, 0x4c, 0x27, 0xf4, 0x9d, 0x9b, 0x30, 0x3c, - 0xb4, 0x79, 0x72, 0x5a, 0x3b, 0x9d, 0xf0, 0x65, 0x7c, 0xd4, 0x48, 0x13, 0xce, 0x23, 0x1a, 0xf0, - 0x72, 0xab, 0x0c, 0x2b, 0x28, 0x19, 0xd9, 0x8f, 0x3d, 0x1c, 0xd6, 0x26, 0xec, 0x64, 0xe5, 0x27, - 0x9e, 0x6a, 0xc3, 0x5f, 0xaf, 0xe3, 0x3a, 0xd5, 0x22, 0x01, 0x39, 0x47, 0xde, 0x09, 0x09, 0x18, - 0x2a, 0xfc, 0xe6, 0x28, 0x45, 0xf6, 0x39, 0x69, 0x98, 0x8d, 0xd0, 0x89, 0x94, 0x37, 0xdc, 0x85, - 0xa7, 0xea, 0xb5, 0xe6, 0x2f, 0x6c, 0x6a, 0x47, 0x4b, 0x8a, 0x02, 0xf8, 0x92, 0x2e, 0x78, 0xdd, - 0xee, 0xff, 0x4a, 0x9a, 0xac, 0x9c, 0x94, 0x3e, 0x2c, 0xcc, 0x4a, 0xc8, 0xb4, 0x45, 0xb4, 0x85, - 0x7a, 0xa3, 0x5c, 0x15, 0x70, 0x7a, 0xc3, 0xe6, 0xc3, 0x0c, 0x53, 0x4b, 0x45, 0xbe, 0x83, 0x55, - 0xab, 0x00, 0x77, 0xef, 0xf3, 0xc0, 0x25, 0x90, 0x95, 0x12, 0xee, 0xb1, 0xf7, 0x88, 0xc3, 0xfe, - 0xcd, 0xdc, 0x6a, 0xd5, 0x66, 0x12, 0xf8, 0x40, 0x20, 0x84, 0xd4, 0x6d, 0x15, 0x84, 0x35, 0xbe, - 0x3b, 0xf7, 0x91, 0x77, 0xe1, 0x8c, 0x89, 0xd9, 0x32, 0xf2, 0x28, 0xc1, 0x8e, 0x78, 0x45, 0x84, - 0xf6, 0x1f, 0x10, 0x39, 0x3a, 0xa9, 0x6e, 0x07, 0xb0, 0x01, 0xea, 0x6f, 0x18, 0x17, 0x95, 0xf4, - 0x3e, 0x44, 0xe1, 0xe4, 0x44, 0xdb, 0x69, 0x3c, 0x3c, 0xd0, 0x58, 0x4f, 0x40, 0x5f, 0xff, 0x1d, - 0xe7, 0xa6, 0x45, 0xfe, 0xa3, 0x40, 0xd5, 0x96, 0x32, 0xf8, 0xc6, 0xf5, 0xf3, 0xb5, 0xc8, 0xe2, - 0x3c, 0xc6, 0xe5, 0x50, 0xd0, 0x10, 0x52, 0x91, 0x91, 0xe5, 0x41, 0x0d, 0xae, 0x2a, 0x67, 0x80, - 0xae, 0x71, 0x07, 0x58, 0xd3, 0x4b, 0x09, 0x1e, 0x65, 0x96, 0x44, 0xc3, 0x2c, 0xd9, 0x10, 0x0e, - 0x75, 0xd4, 0x2d, 0x89, 0x15, 0x0d, 0xa7, 0xd0, 0x88, 0x83, 0xb6, 0xa7, 0xc7, 0xc9, 0x17, 0x59, - 0x45, 0x34, 0x1d, 0xeb, 0x2c, 0x15, 0xf4, 0x01, 0x14, 0x15, 0x06, 0x81, 0x09, 0xe8, 0xa6, 0xd6, - 0xd0, 0xa6, 0x8a, 0xed, 0x5f, 0x18, 0xcd, 0x4c, 0xe8, 0xfb, 0xab, 0x84, 0xee, 0xc6, 0xe0, 0x99, - 0x1d, 0x04, 0x46, 0x56, 0x96, 0x96, 0x55, 0x08, 0x79, 0xaf, 0x18, 0x6e, 0x91, 0x6f, 0xf4, 0x78, - 0xd1, 0x67, 0xb5, 0x39, 0x19, 0xab, 0x92, 0xc7, 0xf5, 0x48, 0x23, 0xa2, 0x65, 0xe9, 0xd8, 0x46, - 0x73, 0xaf, 0xff, 0x08, 0xbf, 0xcb, 0x1e, 0x3c, 0x4b, 0x0f, 0xd6, 0x94, 0x11, 0xae, 0xfc, 0x49, - 0x38, 0x6f, 0x09, 0xfd, 0x5b, 0xc1, 0xb9, 0x0b, 0xbc, 0x63, 0x13, 0x61, 0xfe, 0xaa, 0xbf, 0x6a, - 0xd8, 0xa8, 0x0a, 0x23, 0x16, 0xbd, 0x2e, 0x72, 0xf7, 0x55, 0xed, 0xba, 0xb2, 0xfe, 0x5a, 0xef, - 0x28, 0x89, 0x3f, 0x70, 0x39, 0xe0, 0x35, 0x11, 0x70, 0x81, 0x3f, 0x15, 0x1c, 0xdb, 0x81, 0xfc, - 0xc0, 0x6f, 0x67, 0x0f, 0x9e, 0xd1, 0x2f, 0xea, 0x45, 0xbe, 0x4e, 0x7c, 0x8f, 0x43, 0xa7, 0xdd, - 0xf3, 0x30, 0x35, 0x22, 0x80, 0x23, 0x17, 0x51, 0x9c, 0xc0, 0xcb, 0xe3, 0xd0, 0xfd, 0x79, 0x96, - 0x03, 0x77, 0xf9, 0x62, 0x6f, 0x49, 0x9a, 0x19, 0x55, 0x34, 0x90, 0x82, 0xd4, 0x64, 0xb5, 0x54, - 0x28, 0x53, 0x36, 0x9f, 0x9e, 0xa4, 0x56, 0xbe, 0x31, 0x3f, 0xb5, 0x0f, 0xc0, 0xab, 0x94, 0x0b, - 0x84, 0x46, 0xaf, 0x48, 0x83, 0xe8, 0x35, 0xc5, 0xf8, 0xd0, 0x1a, 0x6e, 0x4a, 0x3b, 0xad, 0x01, - 0xf5, 0x6b, 0xfe, 0x23, 0x1a, 0xd5, 0x8b, 0x1c, 0x23, 0x16, 0xba, 0xfe, 0xd2, 0x24, 0xf4, 0x18, - 0xa5, 0x27, 0x48, 0xaa, 0xf2, 0x03, 0x46, 0x88, 0x0b, 0xc3, 0xa4, 0x50, 0x24, 0x25, 0xaf, 0x00, - 0xc5, 0xe2, 0x62, 0x8a, 0x3f, 0xb9, 0xa3, 0xf3, 0xd9, 0x1c, 0x6a, 0x40, 0xb9, 0x14, 0x94, 0x7e, - 0xf1, 0xa2, 0x35, 0x1c, 0x9e, 0xd5, 0xe1, 0x2b, 0xd0, 0x63, 0xfe, 0x94, 0x54, 0x84, 0xe8, 0x2e, - 0x18, 0xba, 0xad, 0x24, 0x6c, 0x02, 0x2f, 0x32, 0xff, 0x69, 0x6f, 0x6d, 0x46, 0x07, 0x74, 0x56, - 0x16, 0xbc, 0xeb, 0x78, 0x9a, 0x95, 0xf7, 0x66, 0x06, 0x37, 0x4c, 0x0f, 0xde, 0x78, 0xb5, 0x39, - 0xcc, 0x78, 0x21, 0x14, 0x5e, 0x55, 0x50, 0x61, 0xb1, 0x07, 0xf8, 0xdf, 0xaa, 0x7d, 0x3c, 0x5c, - 0x98, 0xc0, 0xc4, 0xc2, 0xef, 0x75, 0x6c, 0x77, 0x75, 0xe6, 0x80, 0x25, 0xf9, 0x2c, 0x13, 0xe9, - 0x0e, 0x42, 0x72, 0x29, 0x76, 0x8a, 0x74, 0x67, 0x01, 0x17, 0xc2, 0xfb, 0x4a, 0x56, 0x00, 0x02, - 0x1b, 0x4f, 0xba, 0x5a, 0xce, 0x87, 0x57, 0x3c, 0xdf, 0x77, 0x44, 0x74, 0x78, 0x9d, 0x18, 0x97, - 0x32, 0xe3, 0x47, 0x2f, 0xb9, 0x8b, 0x5f, 0x08, 0x9f, 0x73, 0x8a, 0x60, 0x84, 0x6f, 0x6d, 0xed, - 0xe2, 0x95, 0x53, 0xa4, 0xb9, 0x4f, 0x3a, 0x69, 0x45, 0x25, 0x5e, 0xfa, 0x43, 0xbf, 0x6e, 0xbd, - 0xa1, 0xb1, 0x21, 0x57, 0x25, 0x92, 0x48, 0x54, 0x74, 0x6e, 0x49, 0x76, 0xcb, 0x5f, 0xc8, 0xc9, - 0x39, 0x4f, 0x1b, 0x36, 0x6f, 0x72, 0x20, 0x17, 0xe3, 0x5e, 0xf6, 0x6d, 0x52, 0x05, 0xfa, 0xee, - 0xb8, 0xdb, 0x88, 0x47, 0x5e, 0x14, 0x04, 0x5d, 0x61, 0x4e, 0xbb, 0x68, 0x8c, 0xd7, 0x32, 0xcc, - 0xcd, 0x36, 0xb6, 0x4f, 0x80, 0xeb, 0xa9, 0xc8, 0x9f, 0xa3, 0xb3, 0xcd, 0x1c, 0xba, 0xae, 0x01, - 0x76, 0xc9, 0x70, 0x7b, 0x4d, 0xc6, 0x94, 0x60, 0x2b, 0x09, 0x69, 0x38, 0x1d, 0xa3, 0x4b, 0x39, - 0x1c, 0x27, 0x63, 0x37, 0x5b, 0xf6, 0x3c, 0xfa, 0x7a, 0xf7, 0x8e, 0xb0, 0xcd, 0xa8, 0xe2, 0xd4, - 0x84, 0x55, 0x9c, 0xbb, 0x61, 0xdd, 0xa7, 0x9b, 0x1e, 0xb8, 0x00, 0xff, 0x5f, 0xc2, 0xf9, 0x42, - 0xc4, 0x88, 0xaf, 0x69, 0xe0, 0x74, 0xa6, 0x91, 0xd5, 0xe0, 0x8c, 0xff, 0xfc, 0xb2, 0x28, 0xa3, - 0x17, 0xfb, 0x50, 0x38, 0x56, 0x55, 0x91, 0x9d, 0xbc, 0xbb, 0x7a, 0x0b, 0x9e, 0x9a, 0x75, 0x48, - 0xd4, 0x21, 0xd2, 0x93, 0x8c, 0xca, 0x26, 0x72, 0x22, 0x1c, 0xed, 0x22, 0x09, 0xd3, 0xb1, 0xdb, - 0x35, 0x1d, 0x35, 0x96, 0xc8, 0x6c, 0x46, 0xa6, 0x47, 0x0b, 0xca, 0x90, 0x55, 0xf7, 0x83, 0x4c, - 0xed, 0xa1, 0xdb, 0x53, 0x39, 0xa9, 0x26, 0xbe, 0x6a, 0x2a, 0x5a, 0x42, 0xe3, 0xcb, 0x3a, 0xe7, - 0x27, 0xe7, 0x96, 0xca, 0xed, 0xdb, 0xb2, 0xd8, 0x43, 0x73, 0x96, 0x06, 0xf7, 0xf5, 0xd3, 0x03, - 0xdb, 0xc7, 0x44, 0x2e, 0x11, 0x44, 0xa8, 0xe5, 0xfc, 0x50, 0xa7, 0xf8, 0x16, 0xa7, 0x2f, 0xf9, - 0x89, 0x2e, 0x3c, 0x21, 0x18, 0x6e, 0x2e, 0x03, 0xa9, 0x0e, 0x0c, 0x55, 0x64, 0x09, 0x91, 0x64, - 0xc7, 0x05, 0x9d, 0xe7, 0xba, 0x05, 0x12, 0x0b, 0x33, 0x6a, 0x1b, 0x77, 0xf5, 0x75, 0xc6, 0xc8, - 0x58, 0xc2, 0xcb, 0xa4, 0xd3, 0x87, 0x2b, 0xc3, 0x78, 0xfe, 0xac, 0x6b, 0xca, 0x4a, 0x9e, 0x07, - 0x53, 0xfe, 0x2f, 0x47, 0x72, 0x72, 0x6e, 0x53, 0xf4, 0xdb, 0xd7, 0xe2, 0x9d, 0x61, 0x12, 0x6f, - 0xdd, 0x3b, 0x06, 0x66, 0x5e, 0x81, 0x38, 0x59, 0xec, 0x9f, 0xc9, 0x1a, 0x5d, 0x3f, 0x67, 0xb0, - 0xa0, 0x62, 0x1b, 0x2b, 0xf7, 0xbb, 0x39, 0x2e, 0x93, 0xd5, 0x76, 0x28, 0x93, 0x68, 0x8e, 0x53, - 0xd9, 0xe8, 0x08, 0x22, 0xfa, 0xe5, 0xc7, 0x8d, 0x39, 0x04, 0xcf, 0xfe, 0x6d, 0x91, 0xd4, 0x22, - 0x99, 0x0a, 0xe7, 0xd9, 0x4e, 0xdd, 0x72, 0x29, 0x8d, 0xbb, 0x1f, 0x9a, 0xd7, 0x88, 0xf7, 0x85, - 0xce, 0x0d, 0x73, 0xf6, 0x06, 0x9a, 0x76, 0x13, 0x1e, 0x89, 0x54, 0xe4, 0x5e, 0x84, 0xf6, 0x39, - 0xfd, 0x15, 0x03, 0xa3, 0x2b, 0xc5, 0xfe, 0x77, 0x2c, 0x51, 0x61, 0xfe, 0x4d, 0xd1, 0xcf, 0xe8, - 0x43, 0x5a, 0x37, 0x06, 0x00, 0xcf, 0xbd, 0x91, 0xdd, 0x8a, 0x39, 0x70, 0xa5, 0xbb, 0x85, 0xb0, - 0x86, 0xb4, 0x10, 0x0e, 0x71, 0xee, 0xfb, 0x54, 0xa7, 0x8f, 0x27, 0x04, 0xfe, 0x8f, 0x04, 0x1b, - 0x53, 0xf1, 0xdb, 0x40, 0x64, 0xde, 0xd9, 0x8e, 0xe3, 0xf9, 0x06, 0x00, 0xb2, 0x59, 0x6b, 0x83, - 0xb2, 0x56, 0x34, 0xc5, 0xd4, 0x49, 0x2d, 0x6c, 0x78, 0x4f, 0xd5, 0x0f, 0xf9, 0x37, 0xc2, 0x56, - 0xae, 0xf6, 0x3f, 0x9d, 0xb7, 0x4a, 0x40, 0xae, 0x89, 0xda, 0xa9, 0x88, 0x10, 0xf8, 0x93, 0x4a, - 0xbd, 0x59, 0x12, 0x40, 0x9c, 0x2b, 0xdd, 0x44, 0xb7, 0x8b, 0x18, 0xfc, 0x3d, 0x9f, 0xd1, 0x2e, - 0xa9, 0x64, 0x1e, 0x1f, 0x49, 0xfb, 0x19, 0xbe, 0x68, 0x8f, 0x6c, 0x2f, 0x59, 0xd3, 0x2a, 0x4a, - 0x85, 0x1a, 0x1c, 0xd2, 0x79, 0xfa, 0xd4, 0xab, 0x36, 0xa9, 0xd9, 0xb2, 0xa8, 0x63, 0xb4, 0x31, - 0xfd, 0xc1, 0x3d, 0x0f, 0x00, 0x02, 0x8d, 0xb7, 0xa9, 0x25, 0x60, 0x89, 0xf5, 0x86, 0xfd, 0x99, - 0x08, 0x20, 0x8a, 0x34, 0xdd, 0xd3, 0x5f, 0x17, 0x4f, 0x13, 0x9c, 0xae, 0x28, 0xd6, 0x8e, 0x09, - 0x1c, 0x88, 0x1f, 0x40, 0x0a, 0x7f, 0x2b, 0x98, 0xe8, 0x92, 0x19, 0x27, 0x79, 0xd6, 0xe3, 0x91, - 0xc7, 0xb5, 0xf7, 0x89, 0x9a, 0xd9, 0x13, 0x8a, 0x25, 0xe2, 0x5b, 0x69, 0xdc, 0xa9, 0xbe, 0x8f, - 0xca, 0x66, 0x7f, 0x53, 0x95, 0xac, 0xe8, 0xa2, 0x19, 0x86, 0x86, 0x26, 0x9e, 0x66, 0xc6, 0x6b, - 0x4d, 0x0a, 0x14, 0x45, 0xe9, 0x3c, 0x3d, 0x96, 0xe9, 0xdc, 0x28, 0xba, 0x16, 0x90, 0x0c, 0x5f, - 0x48, 0xaf, 0x62, 0x1e, 0x7b, 0x8f, 0x21, 0x30, 0x51, 0xe8, 0x03, 0x78, 0xf7, 0x4d, 0x28, 0x97, - 0xd2, 0x62, 0x8b, 0x34, 0x52, 0x2e, 0x08, 0xe4, 0xd8, 0x61, 0x78, 0x9a, 0xbf, 0x39, 0xed, 0x93, - 0x10, 0x13, 0x30, 0xac, 0xba, 0x04, 0xd3, 0xb7, 0xe3, 0xb3, 0x77, 0xe9, 0x89, 0x7e, 0x54, 0x98, - 0x76, 0x63, 0x7b, 0x59, 0xf2, 0xfa, 0xd8, 0xea, 0xe0, 0xfe, 0xe6, 0x3b, 0x67, 0xd8, 0x68, 0xaf, - 0x00, 0x0a, 0xbc, 0x4a, 0x41, 0xf7, 0x1b, 0xd7, 0xef, 0xda, 0xc8, 0x28, 0x5b, 0x41, 0xda, 0x51, - 0xfa, 0x6f, 0x7b, 0xc8, 0x65, 0xf2, 0x1e, 0x19, 0x29, 0x6f, 0x0b, 0xea, 0x58, 0x67, 0xa8, 0x17, - 0x06, 0xdd, 0x00, 0x23, 0xcd, 0x17, 0x1b, 0x62, 0x37, 0x84, 0x07, 0x4f, 0x9c, 0x84, 0x1b, 0x31, - 0x60, 0xf1, 0x8b, 0x65, 0xb6, 0xdf, 0xd7, 0x74, 0x53, 0xf2, 0x0b, 0xac, 0x3e, 0x29, 0x2f, 0x44, - 0x5b, 0x74, 0x5d, 0xd6, 0xf4, 0x75, 0xfd, 0x77, 0xf5, 0x59, 0xd8, 0x14, 0x8d, 0xd5, 0xde, 0x90, - 0xa3, 0x2e, 0xf3, 0xad, 0xf5, 0xb4, 0xe6, 0x6e, 0x62, 0xe9, 0xc7, 0xf3, 0xb1, 0xae, 0x79, 0x32, - 0xc1, 0xd6, 0x8e, 0x10, 0x8d, 0xb1, 0x68, 0x92, 0xe0, 0xf9, 0x3a, 0x48, 0x09, 0xfb, 0x08, 0x3f, - 0x8c, 0x32, 0xb8, 0xb1, 0x3b, 0x05, 0xa3, 0x59, 0xb2, 0x14, 0x6a, 0x7f, 0xf9, 0x5a, 0x64, 0xc0, - 0x60, 0x06, 0x78, 0xc0, 0x21, 0xa4, 0x46, 0x51, 0x66, 0x03, 0xe0, 0x39, 0x09, 0x45, 0x46, 0xe4, - 0xfe, 0xeb, 0x7f, 0x66, 0x74, 0xb2, 0x53, 0xf4, 0x01, 0xf3, 0xfa, 0xc9, 0xba, 0x75, 0x0f, 0x8c, - 0x17, 0x1f, 0x57, 0x37, 0x6d, 0xe7, 0xf7, 0x58, 0xc8, 0x51, 0x08, 0x23, 0xc1, 0x1b, 0xec, 0xf9, - 0x96, 0x61, 0x5e, 0xfb, 0xb1, 0x12, 0x85, 0xa9, 0x77, 0xb2, 0x3c, 0x7b, 0x79, 0x81, 0x95, 0xda, - 0x0a, 0x31, 0xfe, 0x66, 0xc0, 0x03, 0xe4, 0xcf, 0xfd, 0xb6, 0x82, 0x34, 0xbe, 0x8f, 0xb6, 0xab, - 0x41, 0xce, 0x9e, 0x4c, 0xce, 0x60, 0x4c, 0x77, 0x8c, 0xf2, 0xf6, 0x31, 0xa6, 0xbf, 0xac, 0x28, - 0xa1, 0x45, 0x38, 0xae, 0x6e, 0x6f, 0x10, 0x0c, 0x2f, 0x91, 0x14, 0x13, 0xfe, 0xb0, 0x39, 0xfb, - 0xac, 0x39, 0x9f, 0xc6, 0x0c, 0xca, 0x77, 0xdc, 0x5c, 0xc1, 0x3d, 0xb1, 0x7e, 0x53, 0x5a, 0x17, - 0xf8, 0x55, 0x3f, 0x5f, 0x9f, 0x69, 0x94, 0x4d, 0x44, 0xaf, 0x8f, 0xa2, 0x9b, 0xd9, 0x05, 0x7c, - 0x1e, 0xad, 0xe8, 0xa4, 0x46, 0x61, 0xb1, 0x4f, 0xa3, 0xef, 0x1c, 0xb3, 0x49, 0xfd, 0x9e, 0x62, - 0xd2, 0x58, 0x99, 0xf8, 0xd9, 0x17, 0xe2, 0x83, 0x87, 0x36, 0xe5, 0xe0, 0xf3, 0x9f, 0x17, 0xda, - 0xe7, 0x57, 0xf4, 0xa2, 0xd0, 0xcb, 0x30, 0x4b, 0x70, 0x4f, 0xaf, 0x6c, 0x50, 0x76, 0xc6, 0x76, - 0xfe, 0x25, 0x11, 0xad, 0xff, 0x35, 0xcb, 0x05, 0x5a, 0x87, 0xf9, 0x3c, 0x31, 0x07, 0xc3, 0x5b, - 0x66, 0xed, 0x3c, 0x14, 0x00, 0x88, 0x0b, 0x04, 0x54, 0x15, 0x42, 0x99, 0x50, 0x5e, 0x87, 0x9a, - 0x9b, 0x8d, 0xcf, 0xfd, 0x42, 0xc0, 0xfa, 0x17, 0xd2, 0xe8, 0x58, 0xb5, 0xc9, 0x08, 0x89, 0x05, - 0x62, 0xcc, 0x0a, 0x92, 0x83, 0xd7, 0x26, 0xdc, 0xba, 0x8d, 0xf8, 0xcc, 0x1a, 0x13, 0x7e, 0x83, - 0x5a, 0xf7, 0xb8, 0xc1, 0x19, 0x6e, 0xc1, 0x8d, 0x37, 0xb3, 0xbc, 0x91, 0x31, 0xd1, 0x64, 0x5a, - 0xc7, 0x84, 0xb5, 0xe6, 0x60, 0x8d, 0xbc, 0x04, 0xc9, 0x24, 0x10, 0xbf, 0xa0, 0x52, 0x8b, 0xb2, - 0x95, 0x9a, 0x9c, 0xf0, 0xb8, 0xff, 0x54, 0x89, 0xd8, 0x9b, 0x04, 0x9d, 0x8d, 0x87, 0x8a, 0x0b, - 0xa9, 0xf7, 0x77, 0x11, 0xa8, 0x6a, 0x7e, 0x82, 0x38, 0x10, 0xe6, 0x03, 0x91, 0x36, 0x19, 0x7f, - 0xa8, 0x9e, 0xb1, 0x03, 0xb9, 0xf4, 0x13, 0x11, 0xfd, 0x15, 0x04, 0xac, 0x9b, 0xd4, 0xe1, 0x30, - 0xa3, 0xa5, 0xe1, 0xb1, 0x88, 0x1f, 0x93, 0xbd, 0xb5, 0xbe, 0x2e, 0x1b, 0x1f, 0x2f, 0xab, 0xc9, - 0x85, 0x8e, 0x04, 0xe7, 0x43, 0x9d, 0x95, 0x3d, 0x9b, 0xe8, 0x4d, 0x1e, 0xc0, 0x4b, 0xe6, 0x79, - 0x2f, 0xbe, 0x2c, 0x7c, 0x38, 0x5c, 0xc2, 0x9f, 0xe4, 0x1a, 0x9e, 0x71, 0xe8, 0xd4, 0xb4, 0xdd, - 0x29, 0x48, 0x9b, 0xa9, 0x35, 0xe5, 0x0e, 0xd0, 0xa5, 0xa2, 0xc5, 0x98, 0x17, 0x02, 0x55, 0xd0, - 0xcb, 0xb6, 0x63, 0x43, 0xfb, 0x33, 0x5b, 0xe9, 0x7a, 0x95, 0x7b, 0xb8, 0xb2, 0x2c, 0x8f, 0x54, - 0xd8, 0x07, 0xb5, 0x1b, 0x81, 0x8e, 0xff, 0x5d, 0xec, 0xb5, 0xa4, 0x32, 0x43, 0x8a, 0xc1, 0xac, - 0x16, 0xf5, 0xf5, 0xcb, 0x4f, 0x18, 0x4e, 0xb0, 0xea, 0x24, 0x15, 0x6c, 0xa4, 0xd9, 0x20, 0x7a, - 0x11, 0x1e, 0x30, 0x35, 0x72, 0x74, 0xf7, 0x11, 0x85, 0xd3, 0x36, 0xd5, 0x3d, 0xf7, 0x1b, 0xb6, - 0x8d, 0xef, 0x34, 0x7f, 0xd1, 0x3b, 0x0c, 0xbd, 0xaa, 0x41, 0x78, 0x5f, 0x51, 0x44, 0x33, 0xe9, - 0x8d, 0x56, 0xfa, 0xbb, 0x5c, 0x3f, 0x0b, 0x05, 0x8a, 0x0f, 0x56, 0x92, 0x01, 0x08, 0xc8, 0xd6, - 0xd3, 0x22, 0xd2, 0x62, 0xb0, 0x43, 0xac, 0xb7, 0xcd, 0x09, 0x8d, 0x92, 0xe4, 0xb7, 0x8d, 0x6c, - 0xa0, 0x21, 0x89, 0x95, 0x9b, 0x20, 0x44, 0x16, 0x38, 0xa5, 0x37, 0x4f, 0xac, 0x32, 0x25, 0x06, - 0x67, 0x8d, 0xfa, 0xba, 0x5d, 0x74, 0xd4, 0xd4, 0x35, 0xd4, 0xe2, 0xcd, 0xc5, 0x10, 0x75, 0xa4, - 0x33, 0x38, 0x49, 0x94, 0xc4, 0x57, 0x9c, 0xdc, 0x9b, 0x86, 0x80, 0x08, 0x4e, 0x56, 0x28, 0x8a, - 0x5e, 0xf7, 0x90, 0x4b, 0x15, 0xae, 0x4f, 0x95, 0xe4, 0x3d, 0xee, 0xda, 0x02, 0x63, 0x09, 0x91, - 0xcf, 0xb1, 0xa2, 0x4e, 0x4d, 0x25, 0x45, 0x74, 0xce, 0x31, 0x5c, 0x2e, 0xb2, 0xc8, 0x6d, 0xec, - 0x72, 0xa0, 0x61, 0x79, 0xfc, 0xf9, 0x6c, 0x9e, 0xd0, 0xa0, 0x2f, 0x69, 0x01, 0xef, 0x28, 0x34, - 0xa3, 0xe9, 0x9a, 0x36, 0x75, 0xd5, 0xec, 0x51, 0xf2, 0x93, 0x7b, 0x9c, 0x48, 0x90, 0xbf, 0x61, - 0x0b, 0xc3, 0x7b, 0x1f, 0xe1, 0x07, 0x34, 0x08, 0x8b, 0xa5, 0xf9, 0x5c, 0xfb, 0x38, 0x0f, 0x24, - 0x69, 0xa1, 0xc3, 0xde, 0xd4, 0xf1, 0xac, 0xd3, 0x06, 0x5e, 0xf6, 0x5e, 0x4f, 0x45, 0x55, 0xe9, - 0x90, 0x9d, 0xd7, 0xf7, 0x4f, 0x7f, 0x63, 0x02, 0x79, 0xc4, 0xa7, 0xec, 0x42, 0x56, 0x16, 0xd4, - 0x9c, 0x7a, 0x32, 0xb1, 0x53, 0x4b, 0x50, 0xae, 0x84, 0x9b, 0xea, 0x9c, 0x3c, 0xb1, 0xf2, 0xbb, - 0x68, 0x06, 0x29, 0x19, 0xf5, 0xad, 0x3c, 0x28, 0x10, 0x00, 0xf7, 0x12, 0x61, 0xed, 0x9f, 0x1c, - 0x1c, 0xbe, 0x96, 0x74, 0x94, 0xee, 0x52, 0x2f, 0xa9, 0x73, 0x32, 0xf9, 0x91, 0xea, 0x2e, 0x40, - 0x4b, 0xf9, 0x48, 0xe1, 0x6e, 0x38, 0x10, 0x3e, 0xd8, 0xd7, 0x10, 0xb3, 0x18, 0x4a, 0x6d, 0x70, - 0xc1, 0xe0, 0x53, 0xc0, 0x39, 0xf1, 0xf8, 0x08, 0x76, 0x68, 0xd4, 0xf4, 0x21, 0xae, 0x3c, 0xad, - 0x13, 0xd0, 0x5b, 0x7a, 0xb8, 0x12, 0xe3, 0x43, 0xb1, 0x83, 0x56, 0x79, 0x36, 0xe5, 0x98, 0x04, - 0xd5, 0xba, 0xca, 0xce, 0xd1, 0xb7, 0xd7, 0x63, 0xed, 0x5a, 0x86, 0x3d, 0x0c, 0x5b, 0x39, 0xd2, - 0x2b, 0x37, 0xa0, 0x21, 0x04, 0x73, 0xcd, 0x76, 0x65, 0x1c, 0x55, 0x4c, 0x99, 0x93, 0x1f, 0xac, - 0x6b, 0x41, 0xe2, 0x99, 0x5d, 0xbc, 0xc3, 0x33, 0x73, 0x6a, 0xfc, 0x08, 0xc6, 0x8f, 0x77, 0x5f, - 0x21, 0x5e, 0x02, 0x97, 0x1c, 0x95, 0x61, 0x63, 0x76, 0xfe, 0x04, 0x7a, 0xc6, 0xf3, 0x41, 0x7e, - 0xbb, 0x01, 0x86, 0xea, 0x06, 0x87, 0xf9, 0x99, 0x12, 0x64, 0x40, 0xce, 0x60, 0x6b, 0x18, 0xc1, - 0xad, 0xf8, 0x91, 0xb0, 0x90, 0x99, 0xf8, 0x12, 0xa7, 0x95, 0xf6, 0xdf, 0x0e, 0x60, 0x88, 0xcb, - 0x9a, 0x4a, 0x5f, 0xda, 0x45, 0x65, 0xed, 0x39, 0x2b, 0x62, 0x40, 0x0f, 0x29, 0x90, 0x02, 0x97, - 0xaf, 0x08, 0x30, 0x08, 0xd2, 0xb9, 0xaf, 0xe8, 0x92, 0x85, 0x55, 0x70, 0xaf, 0x24, 0xda, 0x0a, - 0xff, 0x50, 0x3c, 0xba, 0x39, 0x47, 0x88, 0x3a, 0xc7, 0x33, 0x05, 0xda, 0xff, 0x33, 0x83, 0xd7, - 0x38, 0x77, 0x00, 0xd2, 0x64, 0xb8, 0x24, 0x8b, 0xac, 0xc0, 0x32, 0xec, 0x30, 0x2f, 0x4f, 0x52, - 0xcf, 0xaa, 0x4a, 0xec, 0x6b, 0xf5, 0xcb, 0xf5, 0x70, 0x6a, 0xd3, 0xed, 0x2d, 0x55, 0x85, 0x6a, - 0x0e, 0xea, 0x3b, 0x1d, 0x77, 0x76, 0xf5, 0x7f, 0x35, 0x99, 0xb4, 0xba, 0x9a, 0xb0, 0xe0, 0xfe, - 0x95, 0xc3, 0x06, 0x2a, 0x6d, 0xc0, 0x00, 0xb1, 0xfb, 0xa2, 0x62, 0xc6, 0x47, 0x0e, 0xc9, 0x29, - 0x92, 0x61, 0x98, 0x8d, 0xf2, 0xba, 0x3c, 0x24, 0xb5, 0x5d, 0x8f, 0x44, 0x54, 0x00, 0xb7, 0x18, - 0xd7, 0xff, 0x74, 0x95, 0xb1, 0x0d, 0xde, 0x95, 0xdc, 0x6c, 0x9b, 0x29, 0xba, 0xa2, 0x7c, 0x11, - 0xe2, 0x33, 0xb6, 0x35, 0x3d, 0xc6, 0xf0, 0x5e, 0x3d, 0x99, 0x02, 0x21, 0x0f, 0xa4, 0x30, 0x86, - 0x88, 0x97, 0x79, 0x99, 0x7f, 0xf4, 0xf5, 0x18, 0x58, 0xd5, 0xbd, 0x86, 0x19, 0xb6, 0xec, 0xd7, - 0x0b, 0xc1, 0x6f, 0x43, 0x43, 0x58, 0xbc, 0xd6, 0x6e, 0x1e, 0x74, 0x4c, 0x97, 0xb7, 0xeb, 0x59, - 0xe8, 0xc1, 0xe8, 0xbc, 0xc2, 0x65, 0x49, 0x87, 0x6d, 0xd7, 0x50, 0x15, 0xc9, 0x65, 0x07, 0x99, - 0x67, 0xf1, 0x2b, 0x16, 0x86, 0x20, 0x12, 0x4b, 0xa8, 0x12, 0xb9, 0x0e, 0xb2, 0xe6, 0xee, 0x1b, - 0x8c, 0x77, 0x82, 0x99, 0x95, 0xf2, 0xbe, 0x67, 0xff, 0x0a, 0x0d, 0x21, 0x34, 0xd8, 0xb4, 0x8d, - 0x54, 0xae, 0xd8, 0x2a, 0x7c, 0x97, 0xbd, 0xbe, 0x85, 0xc2, 0x63, 0xdd, 0x92, 0x6d, 0x0f, 0x2b, - 0x74, 0xf2, 0x96, 0x2e, 0x53, 0x63, 0xe7, 0x6e, 0x53, 0x2c, 0x30, 0x4f, 0xfd, 0x37, 0xd8, 0x96, - 0x21, 0x97, 0x91, 0x9d, 0x4a, 0xd2, 0xf6, 0xa9, 0xdf, 0x0e, 0xa9, 0x5e, 0xa4, 0xb5, 0x84, 0xdf, - 0x8c, 0xc4, 0xe0, 0x58, 0x9f, 0x67, 0xe1, 0x86, 0x3d, 0x52, 0xa7, 0xac, 0x12, 0xcd, 0xe8, 0x16, - 0xa2, 0x80, 0xf9, 0xd6, 0x4a, 0x1f, 0xb2, 0xd7, 0x09, 0xad, 0xea, 0x7b, 0xbf, 0xf2, 0x61, 0xd6, - 0x55, 0xb9, 0x92, 0x7c, 0xec, 0xfb, 0xd3, 0x37, 0xbc, 0x2e, 0x85, 0xdc, 0x9f, 0xe4, 0x66, 0x44, - 0x9d, 0xd5, 0xd0, 0x12, 0x85, 0xe9, 0x0c, 0x93, 0x6e, 0xa3, 0x69, 0x3e, 0xc6, 0x20, 0x89, 0xbd, - 0xda, 0x27, 0x8a, 0x26, 0x36, 0xa6, 0x29, 0x70, 0x60, 0xf5, 0x15, 0x38, 0x55, 0x2c, 0x6b, 0x60, - 0x2c, 0x52, 0xde, 0x69, 0x0c, 0x89, 0x7e, 0x09, 0x6e, 0x04, 0x9e, 0xfd, 0x93, 0x28, 0x9c, 0x52, - 0xc8, 0x8e, 0x00, 0xe7, 0xa7, 0xd1, 0xfe, 0xa2, 0x8c, 0x9d, 0x00, 0x41, 0xf7, 0x23, 0xe6, 0x66, - 0x22, 0x32, 0x9a, 0x31, 0xa8, 0x02, 0x63, 0xa6, 0x35, 0x57, 0xcf, 0x36, 0x91, 0x38, 0x62, 0x16, - 0xc3, 0x01, 0x70, 0xc6, 0x26, 0xb6, 0x6b, 0xe1, 0x52, 0x67, 0x2b, 0x6e, 0xe1, 0x4f, 0x83, 0x5c, - 0x20, 0x21, 0x74, 0x81, 0x94, 0xaa, 0xc7, 0xad, 0xa2, 0x2a, 0x6f, 0x25, 0xea, 0x38, 0x6e, 0xdc, - 0x6b, 0x3c, 0x60, 0xfd, 0xd6, 0xb4, 0x70, 0x69, 0x38, 0xa9, 0x06, 0x6d, 0xc5, 0x05, 0x93, 0xf5, - 0x34, 0x1d, 0xb7, 0x22, 0x7b, 0xcb, 0xd2, 0xc0, 0x07, 0x1e, 0xb3, 0xf4, 0x1c, 0xba, 0xe7, 0x61, - 0xba, 0x12, 0xca, 0x20, 0x2d, 0xf3, 0xa3, 0xfa, 0x89, 0xa9, 0x08, 0x40, 0x58, 0xd2, 0x4d, 0x5e, - 0xbc, 0x6c, 0x54, 0xad, 0xd3, 0xb6, 0x3f, 0x85, 0x51, 0xa5, 0x59, 0xf3, 0xc0, 0x3d, 0x09, 0x97, - 0x87, 0x8c, 0xc6, 0xa8, 0x91, 0xd5, 0x91, 0x64, 0x1f, 0x37, 0x28, 0xc4, 0x79, 0xb1, 0xf0, 0x82, - 0x5f, 0xd9, 0xd0, 0xd0, 0x7b, 0x1b, 0xa7, 0x91, 0x27, 0x43, 0xf1, 0xe0, 0x83, 0x2c, 0xe7, 0xa4, - 0xc1, 0xea, 0x1c, 0x40, 0x02, 0x88, 0x19, 0x31, 0x97, 0xef, 0x8e, 0x6d, 0x4a, 0xdc, 0xa0, 0xd3, - 0xdc, 0x33, 0xc3, 0x0c, 0xaf, 0xfb, 0xb5, 0x69, 0x6a, 0x5d, 0x7a, 0x0b, 0x54, 0xfd, 0xed, 0x7b, - 0xc2, 0xfe, 0x67, 0xc5, 0x16, 0xba, 0xbf, 0xc2, 0x25, 0xb4, 0xcb, 0xf9, 0x69, 0x9e, 0xf8, 0x07, - 0x30, 0x1c, 0x59, 0x0c, 0x36, 0x67, 0x5e, 0x57, 0x98, 0x40, 0xc4, 0x25, 0xab, 0xc3, 0x7c, 0x34, - 0xc9, 0x49, 0x14, 0xf9, 0xd6, 0x91, 0x3f, 0xf3, 0xae, 0xae, 0xb9, 0xe8, 0x5f, 0x88, 0x17, 0xad, - 0x44, 0x64, 0x01, 0x04, 0x0b, 0xdb, 0x3a, 0x9e, 0x81, 0xe8, 0x9a, 0x1a, 0x8b, 0xd7, 0xa6, 0xf0, - 0x5a, 0xab, 0x57, 0xb1, 0xb3, 0x62, 0x98, 0x2e, 0x84, 0x00, 0x2f, 0x7a, 0x9c, 0xed, 0x68, 0xe0, - 0x66, 0x19, 0x68, 0x98, 0x7b, 0x48, 0xd3, 0x3e, 0xe8, 0x58, 0x77, 0xc5, 0xea, 0xf5, 0xb1, 0xa4, - 0x57, 0x4d, 0xcd, 0x82, 0xb0, 0x80, 0x60, 0x41, 0x3c, 0x68, 0x4b, 0xe0, 0x00, 0x52, 0x23, 0xa4, - 0xef, 0xa5, 0xc0, 0xa6, 0x39, 0x6a, 0xfe, 0x69, 0x16, 0x87, 0x7a, 0x7d, 0x88, 0x10, 0x07, 0x3d, - 0x60, 0x12, 0xd3, 0x84, 0x00, 0x39, 0x34, 0x44, 0xca, 0xe3, 0xdf, 0xbd, 0x1e, 0x19, 0x2b, 0x03, - 0x82, 0xa1, 0x13, 0x05, 0xe8, 0x43, 0xe3, 0x6f, 0x7b, 0x9e, 0x54, 0xd2, 0x9e, 0xce, 0x12, 0x6f, - 0xc3, 0x97, 0x7d, 0x97, 0x8b, 0xfc, 0x16, 0x22, 0x4a, 0x9f, 0x6a, 0x3f, 0xee, 0xbb, 0x1c, 0x54, - 0xd9, 0xad, 0xac, 0xb6, 0xff, 0x66, 0xb7, 0x61, 0x63, 0x17, 0x67, 0x8e, 0x61, 0x79, 0x11, 0x4b, - 0x9d, 0x42, 0x4a, 0x97, 0xea, 0x0a, 0x90, 0x13, 0x0c, 0xae, 0x8d, 0x8d, 0x8a, 0x65, 0x68, 0x69, - 0x62, 0x81, 0x67, 0x3b, 0x42, 0xee, 0xc4, 0x7f, 0xe0, 0x1d, 0x4f, 0xfe, 0x9c, 0x77, 0xbd, 0x40, - 0x54, 0x1c, 0x68, 0xeb, 0x37, 0x29, 0xb3, 0x69, 0x3d, 0xbb, 0x90, 0xaa, 0x7b, 0xf0, 0xd8, 0x55, - 0xd3, 0x75, 0xe0, 0xd0, 0x9a, 0x6f, 0x1f, 0x1d, 0xfa, 0xdc, 0x7e, 0x7b, 0x18, 0xb5, 0x64, 0x29, - 0x1e, 0x1d, 0x15, 0x46, 0xd7, 0xa9, 0x76, 0xf6, 0xfe, 0x2e, 0x18, 0x34, 0xce, 0xba, 0xd7, 0x91, - 0xe4, 0x78, 0x25, 0xa6, 0x63, 0x82, 0x52, 0x5b, 0xee, 0xfa, 0x1a, 0xad, 0x6f, 0x43, 0xba, 0x64, - 0x29, 0x06, 0xe0, 0xd4, 0xe7, 0x4c, 0xfa, 0x13, 0xe9, 0xf4, 0x5c, 0x59, 0xef, 0x66, 0x23, 0x78, - 0x39, 0x09, 0x94, 0x60, 0x3d, 0xc6, 0x4c, 0xba, 0x85, 0x63, 0x9b, 0x22, 0x42, 0xc5, 0x51, 0x19, - 0xd1, 0xcc, 0x30, 0x49, 0x87, 0xe1, 0x2b, 0x4a, 0x39, 0xca, 0xbb, 0x2f, 0x7d, 0x99, 0x03, 0x2a, - 0x1d, 0xa0, 0x47, 0x36, 0x73, 0x4c, 0x6c, 0x66, 0x1a, 0xaa, 0x61, 0x97, 0xe3, 0x5b, 0x79, 0xde, - 0xb1, 0x96, 0x3a, 0x69, 0x10, 0x6f, 0xf0, 0xd1, 0x84, 0xb7, 0x36, 0x8b, 0x53, 0x78, 0x5f, 0x62, - 0xbb, 0x18, 0x08, 0xfd, 0x18, 0x90, 0x80, 0x2e, 0xc6, 0x91, 0x76, 0x87, 0x31, 0xa3, 0xc4, 0x91, - 0x1b, 0x72, 0x3c, 0xf9, 0x3b, 0x2a, 0x9e, 0x58, 0x73, 0x4b, 0xa7, 0xb3, 0xe7, 0x47, 0x8c, 0x25, - 0x91, 0x97, 0xc7, 0x95, 0x80, 0x5a, 0x1f, 0xee, 0xf4, 0xe2, 0x5f, 0x2c, 0xcd, 0xcf, 0xb1, 0x02, - 0x94, 0x40, 0x0c, 0xae, 0xd0, 0xd5, 0xc6, 0x62, 0x56, 0x01, 0xaa, 0x4d, 0x5d, 0xe8, 0xb5, 0xdb, - 0x16, 0x07, 0x98, 0x62, 0xf2, 0xf7, 0x27, 0xc7, 0xd7, 0x23, 0xff, 0x8b, 0x42, 0x3f, 0xbc, 0x2f, - 0x54, 0xcc, 0x63, 0x8c, 0x66, 0x80, 0xc2, 0x5c, 0x92, 0x54, 0x27, 0x1f, 0x6c, 0xb4, 0x09, 0x76, - 0x27, 0x54, 0x8a, 0xb9, 0xac, 0x36, 0x5f, 0x70, 0x16, 0xdd, 0x5e, 0x96, 0x4c, 0x17, 0x8f, 0x1a, - 0x5b, 0x58, 0x99, 0x7c, 0x0e, 0xad, 0x25, 0x2c, 0x9f, 0x1a, 0xf8, 0xa7, 0x93, 0x61, 0x09, 0x11, - 0xcd, 0x11, 0x03, 0xf7, 0x08, 0x76, 0xfe, 0xa6, 0x3c, 0xe7, 0x97, 0x21, 0x1e, 0x0a, 0x35, 0xf7, - 0xf0, 0x7e, 0x0f, 0xfb, 0xe4, 0x9a, 0x9c, 0xb3, 0xe2, 0xaf, 0xd9, 0xf4, 0x0e, 0x29, 0x02, 0xbb, - 0xd6, 0xa6, 0x72, 0x14, 0x77, 0x54, 0x18, 0xee, 0x21, 0xe7, 0xc9, 0x66, 0x80, 0x65, 0x2b, 0xb2, - 0x24, 0xde, 0xda, 0x77, 0x3a, 0x19, 0xef, 0x42, 0x30, 0x6c, 0x85, 0x8a, 0x32, 0x2f, 0xfd, 0x80, - 0x08, 0x14, 0x95, 0xb7, 0x98, 0x74, 0x3d, 0xeb, 0x14, 0x87, 0xfe, 0xc0, 0x30, 0x52, 0x0b, 0x86, - 0x25, 0x56, 0xd5, 0x2d, 0xe1, 0x21, 0x79, 0x48, 0xa2, 0x7f, 0xa9, 0x3b, 0x70, 0x17, 0x1c, 0xad, - 0x02, 0xbe, 0x4d, 0x9e, 0xe6, 0x85, 0xc9, 0x2e, 0xe0, 0x3e, 0xac, 0x1c, 0x90, 0x46, 0x40, 0x87, - 0x22, 0x62, 0x2f, 0xb6, 0x3d, 0xb4, 0xaf, 0x01, 0xc3, 0x96, 0xf3, 0xc9, 0xdd, 0x04, 0x54, 0xed, - 0x16, 0x69, 0x76, 0xeb, 0xdd, 0x2d, 0x93, 0xe4, 0xa5, 0xe5, 0xbb, 0x2d, 0x23, 0x8a, 0x13, 0xe2, - 0x7a, 0xb1, 0x48, 0x4b, 0x30, 0x76, 0xa7, 0x63, 0x7d, 0x06, 0xa7, 0x6b, 0xfa, 0xde, 0x5f, 0x4e, - 0x3d, 0xcf, 0xd8, 0x21, 0xba, 0xaf, 0xbb, 0x55, 0xea, 0x5b, 0xb1, 0xbc, 0x4d, 0xab, 0x4b, 0xe9, - 0x5d, 0x8b, 0xca, 0x86, 0x4c, 0x06, 0xed, 0x53, 0x00, 0x41, 0x4b, 0x92, 0xd4, 0xaa, 0xd7, 0x12, - 0xc4, 0x7a, 0x3f, 0x44, 0x5e, 0x99, 0x1f, 0xa8, 0x61, 0x62, 0x2a, 0x53, 0x35, 0xad, 0x1b, 0x38, - 0x13, 0xa7, 0x1c, 0x50, 0x7f, 0x81, 0x76, 0xda, 0xc8, 0x28, 0x26, 0x69, 0x68, 0x60, 0x52, 0x81, - 0xef, 0x57, 0xdf, 0xc2, 0x51, 0xa6, 0x28, 0x9b, 0x8a, 0x2c, 0x79, 0x1f, 0x64, 0xdc, 0xb5, 0x4f, - 0x7a, 0xab, 0x7d, 0xed, 0xd0, 0x89, 0x6c, 0xdd, 0xe1, 0xca, 0x76, 0xa4, 0x9b, 0xd7, 0xea, 0x42, - 0xd3, 0xfc, 0x18, 0x71, 0x89, 0xf9, 0x84, 0x7d, 0xaa, 0x6f, 0x3d, 0x5a, 0x02, 0xf5, 0xe0, 0x01, - 0x54, 0x09, 0x4e, 0x40, 0x0a, 0x06, 0xd2, 0x2c, 0x4a, 0x74, 0x17, 0x27, 0x38, 0x23, 0x45, 0xe6, - 0xcf, 0x26, 0x70, 0xf2, 0xd0, 0xa8, 0xbd, 0x38, 0x7b, 0x29, 0x60, 0x85, 0x69, 0x96, 0x22, 0x35, - 0xca, 0x33, 0x4f, 0x4a, 0x5a, 0x18, 0x0b, 0xf6, 0xd3, 0xf8, 0xe6, 0xf8, 0x02, 0xd6, 0x6f, 0x7f, - 0x8c, 0x6e, 0xed, 0xf6, 0xe2, 0x6e, 0xf0, 0xcf, 0x28, 0x7b, 0x57, 0x5f, 0xec, 0xa7, 0x88, 0xa7, - 0xf1, 0x3f, 0x72, 0x2a, 0x9a, 0x57, 0xe5, 0x93, 0xc3, 0x80, 0xf2, 0xdc, 0x1e, 0x31, 0x96, 0x8a, - 0xd5, 0xc1, 0x5d, 0x12, 0x7d, 0x8d, 0x54, 0x68, 0xc2, 0xa4, 0xc3, 0x14, 0x17, 0x05, 0x20, 0xa3, - 0x1b, 0x30, 0x4b, 0xfb, 0xba, 0x44, 0xa0, 0x0c, 0xbb, 0x0c, 0x9c, 0xc4, 0x48, 0xd8, 0xe2, 0x09, - 0x69, 0x11, 0x15, 0xb4, 0xeb, 0xfd, 0x07, 0xc4, 0x3c, 0x4d, 0x4c, 0x6f, 0xe4, 0xe6, 0x6f, 0x75, - 0xe6, 0x20, 0xfb, 0xed, 0xa5, 0xd5, 0x51, 0xa8, 0x71, 0xfe, 0xb7, 0xfb, 0xe3, 0xca, 0x30, 0x42, - 0xce, 0x11, 0x19, 0xfa, 0x76, 0x09, 0xc5, 0xf8, 0x90, 0x28, 0xb1, 0xbf, 0xb3, 0x2e, 0x2f, 0x6f, - 0x84, 0x9a, 0x24, 0x88, 0x5d, 0xf6, 0x02, 0xfd, 0xe3, 0x58, 0x88, 0x3b, 0x40, 0x2d, 0xf0, 0x7a, - 0x3a, 0xd5, 0xe3, 0x33, 0x4c, 0xa3, 0xde, 0x0c, 0xe1, 0xe4, 0xf5, 0xdf, 0x14, 0x42, 0x74, 0x50, - 0x18, 0x6d, 0x19, 0x7c, 0x35, 0x4d, 0x80, 0xc3, 0xbf, 0xf4, 0xd2, 0xfe, 0x55, 0xc8, 0xd5, 0x4e, - 0x10, 0xc1, 0x62, 0x7c, 0x10, 0x93, 0x3d, 0x7d, 0x4c, 0x5b, 0x93, 0x12, 0x03, 0x7d, 0x43, 0x97, - 0x8b, 0xa1, 0x8e, 0x10, 0x0f, 0x4c, 0x25, 0x46, 0xd1, 0x40, 0x72, 0x04, 0x00, 0xc8, 0xf5, 0xae, - 0x8f, 0xae, 0xb1, 0xed, 0x48, 0xf1, 0x2a, 0xd2, 0xa3, 0x57, 0x32, 0x8b, 0x0d, 0xf6, 0x8e, 0x9c, - 0x6a, 0xbc, 0xa4, 0x1f, 0xbf, 0x8d, 0xfd, 0xaf, 0x7e, 0x01, 0x8b, 0xd9, 0xc0, 0x54, 0xd7, 0x9d, - 0x39, 0x1d, 0x5c, 0x4d, 0x87, 0xa3, 0x6a, 0x14, 0x56, 0xef, 0xa5, 0x16, 0xba, 0xcd, 0x91, 0x51, - 0x55, 0x27, 0x27, 0x54, 0x6f, 0xdb, 0xd8, 0x26, 0x62, 0xb3, 0xb4, 0xad, 0xf4, 0x17, 0xec, 0x3d, - 0x68, 0xc2, 0x49, 0x1b, 0x0f, 0x67, 0x44, 0x30, 0xc9, 0xbd, 0xe0, 0xd7, 0x4d, 0x0d, 0xc5, 0xb4, - 0xc3, 0x80, 0x06, 0xc2, 0x9b, 0xbc, 0x29, 0xcd, 0xc2, 0x42, 0x04, 0x16, 0xf2, 0x87, 0x24, 0x3d, - 0x3a, 0xe8, 0x4d, 0x63, 0x55, 0x89, 0x81, 0x85, 0xa7, 0x97, 0x70, 0x9e, 0xdd, 0x0e, 0x41, 0x78, - 0x68, 0x30, 0x08, 0xef, 0x13, 0xc3, 0x20, 0x74, 0x72, 0x46, 0x92, 0xe2, 0xcf, 0x80, 0xfb, 0xd0, - 0x2d, 0xa6, 0x7f, 0x79, 0x6b, 0x96, 0x26, 0x70, 0x64, 0x80, 0x56, 0x23, 0x87, 0x49, 0x8b, 0x55, - 0xec, 0x4a, 0x73, 0x64, 0x55, 0x25, 0x9e, 0x56, 0x34, 0xab, 0xbd, 0x88, 0x90, 0x05, 0x5b, 0xa2, - 0x9e, 0xe7, 0xdc, 0x5f, 0x5e, 0x2e, 0xb1, 0x77, 0x44, 0x82, 0x06, 0xf0, 0xe5, 0xbc, 0x50, 0x50, - 0xd3, 0x22, 0xb5, 0x38, 0xec, 0x83, 0x44, 0x63, 0x09, 0x10, 0xd0, 0xd5, 0x4d, 0xd0, 0x9e, 0x2d, - 0xb5, 0x5a, 0xff, 0xe5, 0x22, 0xbd, 0x27, 0x23, 0x06, 0x43, 0xac, 0x9e, 0x1a, 0xdd, 0x92, 0x4e, - 0x91, 0x1a, 0x83, 0x80, 0x5e, 0x15, 0xee, 0x1c, 0x8f, 0xbd, 0xa9, 0xd9, 0x04, 0x84, 0x94, 0x8f, - 0xc8, 0x79, 0x84, 0xf0, 0xbc, 0xf5, 0x45, 0x8e, 0x06, 0xa3, 0x05, 0x25, 0x56, 0x0c, 0x04, 0x59, - 0x54, 0x1b, 0x64, 0x0d, 0x95, 0x25, 0xb5, 0x10, 0x5e, 0x90, 0x80, 0xf5, 0x1c, 0x35, 0xf0, 0x3e, - 0xc4, 0x4a, 0xc8, 0x59, 0xe4, 0xd9, 0x26, 0x7a, 0x46, 0xc5, 0x08, 0x5f, 0xd7, 0x42, 0x83, 0x97, - 0xe7, 0xc5, 0x47, 0xe6, 0x21, 0x5c, 0x50, 0xd5, 0xdc, 0x9d, 0x7e, 0xd6, 0xe1, 0x54, 0xaf, 0x47, - 0x57, 0x44, 0x02, 0x35, 0x2b, 0xb7, 0x1f, 0x67, 0x88, 0xa9, 0x59, 0x50, 0xea, 0xc4, 0x49, 0xc2, - 0x6a, 0x67, 0x48, 0x83, 0x50, 0x0d, 0xd8, 0x68, 0xbd, 0x39, 0x53, 0x0f, 0xc6, 0x56, 0xf1, 0xc4, - 0x53, 0xf4, 0x58, 0xdd, 0xb2, 0x4b, 0x8e, 0xa4, 0xa1, 0x88, 0xd1, 0x40, 0xfa, 0xe0, 0xb7, 0xb7, - 0x10, 0xf7, 0xdd, 0x9a, 0xc5, 0x27, 0x98, 0xc7, 0x21, 0x35, 0x4c, 0x0a, 0x1d, 0x76, 0x59, 0xe7, - 0x42, 0xf7, 0x16, 0xdf, 0x95, 0x5b, 0xc7, 0x70, 0xd4, 0x97, 0x33, 0x43, 0x2a, 0x3a, 0x41, 0x8b, - 0x2f, 0xf9, 0x97, 0x26, 0x29, 0x84, 0x30, 0x94, 0xc1, 0x51, 0x2a, 0xed, 0xf9, 0x6c, 0xf1, 0xdf, - 0x05, 0xfd, 0x24, 0x5f, 0x0c, 0x9d, 0x69, 0x37, 0xf6, 0x23, 0xfa, 0xf0, 0x6a, 0x4d, 0x67, 0x8b, - 0x08, 0x94, 0xd9, 0x23, 0x6c, 0xee, 0x3f, 0x50, 0xa6, 0x86, 0x29, 0x16, 0xc6, 0xdd, 0xce, 0xde, - 0x03, 0x8d, 0x0b, 0xcc, 0xef, 0xa1, 0x7c, 0xaa, 0xd5, 0x95, 0xb4, 0xe4, 0x03, 0xaf, 0x94, 0x3d, - 0xe5, 0x98, 0xfe, 0x4f, 0x39, 0x71, 0x47, 0x7b, 0x6b, 0x21, 0x09, 0x55, 0x62, 0x5f, 0x0c, 0x90, - 0xae, 0x39, 0xd1, 0xc9, 0xc8, 0x0b, 0x9e, 0x88, 0x07, 0x74, 0xa3, 0x81, 0x6a, 0x6c, 0xd2, 0x4b, - 0x60, 0xe0, 0x1a, 0x27, 0x08, 0xc5, 0x65, 0x31, 0x9d, 0x6b, 0x13, 0x63, 0x6e, 0xce, 0x53, 0x28, - 0x6f, 0xe8, 0x6f, 0x77, 0x74, 0x75, 0xb3, 0xba, 0x82, 0xe1, 0x73, 0xed, 0x30, 0x3b, 0x32, 0xb9, - 0xe5, 0x23, 0xa1, 0xc5, 0x08, 0x3f, 0xa2, 0x25, 0xf6, 0xdc, 0xf3, 0xdb, 0xdf, 0x48, 0x5f, 0xab, - 0x40, 0x00, 0x54, 0xc2, 0xe1, 0x70, 0xc4, 0xdb, 0x6a, 0xbe, 0x02, 0xb3, 0x9b, 0x56, 0x65, 0x33, - 0x09, 0x14, 0x36, 0xaa, 0x29, 0xf5, 0x39, 0x09, 0xf2, 0xed, 0x06, 0xa6, 0x40, 0xfb, 0xbe, 0xfa, - 0x9c, 0x50, 0xa6, 0xa7, 0x24, 0x97, 0x01, 0x40, 0x38, 0x61, 0x0c, 0x45, 0xda, 0x09, 0x42, 0x48, - 0xf0, 0x11, 0x14, 0x49, 0x1e, 0x9e, 0x74, 0xb3, 0xd7, 0x9f, 0x15, 0x61, 0x96, 0x6e, 0xdc, 0xcf, - 0x50, 0x1c, 0x26, 0xbb, 0x62, 0xdf, 0xbf, 0xc8, 0x50, 0x08, 0xc1, 0xe5, 0x93, 0xd6, 0x4e, 0xae, - 0x29, 0xb6, 0xd9, 0xf3, 0x07, 0xfc, 0xbf, 0x29, 0xe8, 0xdb, 0x67, 0x13, 0x93, 0x51, 0x37, 0xac, - 0x91, 0xa0, 0x3e, 0x2e, 0x2e, 0x24, 0xf1, 0x05, 0x66, 0x9e, 0x7f, 0xc1, 0x75, 0x72, 0x71, 0xa8, - 0x43, 0x55, 0x30, 0x5b, 0xa6, 0x8b, 0x2c, 0x08, 0x69, 0xa9, 0x44, 0xfb, 0xab, 0x03, 0xe4, 0x2a, - 0x70, 0x7c, 0x57, 0xeb, 0x16, 0x3f, 0xcb, 0x7b, 0x4a, 0xa6, 0x5c, 0xbf, 0x9e, 0x96, 0x9d, 0xe4, - 0x70, 0x7e, 0xf2, 0x53, 0x69, 0xcd, 0x8c, 0x99, 0xe9, 0x64, 0x3b, 0x0e, 0x63, 0xa7, 0xd7, 0xfd, - 0xeb, 0xce, 0xaf, 0x02, 0x6d, 0x69, 0xf3, 0x7b, 0x79, 0x38, 0x96, 0xd8, 0x4c, 0xee, 0xc6, 0xd8, - 0x25, 0x32, 0x2f, 0x28, 0x79, 0xf4, 0x88, 0x80, 0x9b, 0xa1, 0x1e, 0x2e, 0xf1, 0xa1, 0x20, 0x31, - 0xf2, 0x81, 0x12, 0x2a, 0x5f, 0x7a, 0xa9, 0xbf, 0x5f, 0x8a, 0x3f, 0xf5, 0x2d, 0xb4, 0x85, 0xc8, - 0xbd, 0xeb, 0x14, 0xde, 0x7d, 0xda, 0x0c, 0x15, 0xc0, 0x41, 0x68, 0xe9, 0xf9, 0xa3, 0xa2, 0x48, - 0xef, 0xc3, 0x79, 0x81, 0x68, 0xfa, 0xa8, 0x71, 0xe9, 0x0c, 0xa2, 0x94, 0x9d, 0xa3, 0x26, 0xeb, - 0xab, 0xb9, 0xca, 0xef, 0x7e, 0x36, 0xe4, 0x52, 0x5c, 0x0f, 0x4f, 0xf1, 0x53, 0xc2, 0xd9, 0xcc, - 0xc7, 0x4e, 0xe1, 0xce, 0xb7, 0xd8, 0x55, 0x2c, 0xcd, 0x06, 0xa1, 0xc2, 0x66, 0x2c, 0xf7, 0x3a, - 0x17, 0x5d, 0x0a, 0xfa, 0x1d, 0x55, 0xb5, 0x6d, 0x5f, 0xdd, 0xdd, 0xa1, 0x4b, 0xd6, 0x7b, 0x33, - 0xc4, 0x2e, 0xe4, 0x9a, 0x74, 0xa0, 0xfd, 0x22, 0x57, 0xc8, 0xaf, 0xc8, 0x65, 0x85, 0xae, 0x69, - 0xa6, 0xe2, 0x26, 0x97, 0x2b, 0x0c, 0xb5, 0x5c, 0x96, 0xf1, 0x24, 0x5c, 0x57, 0x64, 0xd3, 0x96, - 0x5c, 0x02, 0x66, 0xef, 0x3e, 0xe2, 0x7d, 0x04, 0x58, 0xe0, 0x2d, 0xc1, 0x28, 0x11, 0x5b, 0x84, - 0x55, 0xb6, 0x5e, 0x67, 0x03, 0x7b, 0x75, 0xc9, 0xb1, 0x91, 0x95, 0xf8, 0x15, 0xac, 0x1f, 0xad, - 0x58, 0x72, 0xf3, 0x6e, 0xe1, 0xf1, 0x85, 0xeb, 0x9b, 0x81, 0x8f, 0x73, 0xcb, 0x4a, 0x96, 0xbc, - 0xc4, 0x48, 0xb0, 0x6c, 0x91, 0xa4, 0x8e, 0x49, 0xf1, 0x5a, 0x10, 0x8e, 0xc4, 0x2f, 0xc0, 0x30, - 0xdf, 0x9a, 0xad, 0xf4, 0x91, 0x4b, 0x6c, 0x9e, 0x5f, 0xef, 0x8e, 0x0a, 0x34, 0xbc, 0x22, 0xbf, - 0xc4, 0x09, 0x1d, 0xa5, 0x40, 0x6b, 0x0b, 0x02, 0x10, 0x9d, 0xf8, 0x27, 0x82, 0xf1, 0x4a, 0x35, - 0x80, 0x25, 0x49, 0x78, 0xc6, 0x8b, 0x7f, 0x21, 0x4f, 0x74, 0xbc, 0x30, 0x5d, 0xab, 0x1b, 0x51, - 0x86, 0x41, 0x45, 0x5a, 0x65, 0x2a, 0x66, 0x11, 0xe4, 0xe0, 0x77, 0x72, 0x00, 0xc5, 0x52, 0x31, - 0xb8, 0x1f, 0x7b, 0x9b, 0x38, 0x55, 0x49, 0x9a, 0x45, 0x49, 0xda, 0x9f, 0xd3, 0x60, 0xc4, 0x1d, - 0xcd, 0xa3, 0x95, 0x16, 0x1d, 0x0c, 0xe4, 0x71, 0x16, 0x47, 0xcc, 0x23, 0xb6, 0xc8, 0x86, 0x92, - 0x87, 0xf1, 0xd6, 0x34, 0xa2, 0x91, 0xbc, 0x0f, 0x9c, 0x5d, 0x5e, 0x29, 0x18, 0xb2, 0xf8, 0x53, - 0xe4, 0x9a, 0x53, 0x98, 0x39, 0x0a, 0x80, 0x2a, 0x2b, 0xe9, 0xa6, 0xcb, 0x5d, 0xdc, 0x2b, 0x4a, - 0x75, 0xd8, 0x02, 0xc8, 0xac, 0x72, 0x68, 0x2b, 0xec, 0xe1, 0x59, 0xb4, 0x7d, 0x4d, 0x30, 0x61, - 0xbb, 0x68, 0x99, 0xa9, 0xd6, 0x08, 0x15, 0x71, 0x2b, 0x19, 0x06, 0x8f, 0xdc, 0xab, 0x32, 0x63, - 0x9c, 0x24, 0x86, 0xa1, 0xc2, 0x05, 0x20, 0xe0, 0xb7, 0xe1, 0xc2, 0x45, 0xb7, 0xf1, 0x04, 0x86, - 0x5e, 0xa3, 0x81, 0x35, 0xf9, 0xc5, 0x74, 0x37, 0x4d, 0x08, 0xd7, 0x3f, 0xdd, 0x36, 0x66, 0x39, - 0x6b, 0xaa, 0xdc, 0x97, 0x04, 0xd7, 0x6a, 0xc2, 0xd9, 0xfd, 0xd5, 0x78, 0x76, 0x64, 0xe6, 0x47, - 0xe0, 0xa0, 0x3b, 0x0d, 0xec, 0x22, 0xb1, 0xb8, 0xe9, 0x8a, 0x13, 0x95, 0x84, 0x58, 0x35, 0xe9, - 0x6e, 0x34, 0xb4, 0x2f, 0x16, 0xa8, 0xed, 0x48, 0x57, 0x2e, 0x01, 0x5a, 0xda, 0xd3, 0x88, 0x18, - 0x63, 0x85, 0x9f, 0xac, 0xb8, 0x3e, 0x2c, 0x0b, 0xcf, 0x2f, 0x8f, 0x20, 0xfd, 0x7b, 0xde, 0xd6, - 0xb4, 0xc9, 0x5e, 0x91, 0x4c, 0xb5, 0x73, 0x25, 0x03, 0xd5, 0x80, 0x0a, 0x27, 0x32, 0xd0, 0x41, - 0x2f, 0x0a, 0x31, 0x76, 0x7a, 0x53, 0x4e, 0xba, 0xe1, 0x69, 0x68, 0xda, 0x93, 0x06, 0x5c, 0x9d, - 0xfa, 0x37, 0xbc, 0x03, 0xd9, 0x00, 0x02, 0xa8, 0x3d, 0x1b, 0x7a, 0x66, 0x3e, 0x68, 0x3d, 0x34, - 0x3e, 0x74, 0x82, 0x25, 0x4c, 0x08, 0x79, 0xc8, 0xdc, 0x9a, 0x7e, 0x68, 0x5c, 0x08, 0xfe, 0x55, - 0x69, 0xc7, 0x04, 0x2c, 0x7c, 0x97, 0xb6, 0xe9, 0x0a, 0xf2, 0x3e, 0x43, 0xc4, 0x35, 0xce, 0x24, - 0x8a, 0x34, 0x4d, 0x96, 0x20, 0x72, 0xcb, 0x9e, 0x45, 0x3b, 0xb5, 0x62, 0x7b, 0x52, 0xa5, 0x3b, - 0xa8, 0x97, 0xd1, 0xd2, 0x35, 0xbc, 0x18, 0x6c, 0x3a, 0x55, 0x6b, 0x42, 0x3d, 0x5d, 0xa6, 0x19, - 0x05, 0xa3, 0xfc, 0xe9, 0x80, 0x28, 0xfd, 0x3b, 0x83, 0x2d, 0x49, 0x4f, 0xbe, 0x7e, 0xa4, 0xb8, - 0xae, 0xa1, 0x63, 0x6c, 0xe8, 0x72, 0x92, 0x7b, 0xf0, 0x78, 0x81, 0xfa, 0x51, 0x88, 0x51, 0x92, - 0x20, 0x71, 0x71, 0xf3, 0xcf, 0x40, 0xec, 0x7d, 0x09, 0x43, 0x88, 0x53, 0x27, 0x17, 0x72, 0x1b, - 0xed, 0xd9, 0x8b, 0x59, 0xf0, 0xc2, 0x20, 0x21, 0xea, 0x04, 0xcc, 0xf5, 0x77, 0x91, 0xf8, 0x4c, - 0x7c, 0xb2, 0xb6, 0xae, 0xbb, 0xaf, 0x0e, 0xef, 0xdc, 0x86, 0xd2, 0x48, 0x75, 0xd3, 0x91, 0xa0, - 0xb9, 0xbc, 0xe1, 0x98, 0xbf, 0x1b, 0x2f, 0x83, 0x6c, 0x72, 0xd9, 0xa4, 0x9f, 0xee, 0x9e, 0x49, - 0xc0, 0x69, 0x94, 0x67, 0x35, 0x95, 0xdc, 0x93, 0xcc, 0x62, 0x3c, 0x21, 0xab, 0x15, 0x0e, 0x36, - 0xb6, 0x9f, 0xdb, 0xe7, 0xf1, 0x90, 0x01, 0xcf, 0xab, 0xc0, 0x23, 0x19, 0xb4, 0x5a, 0x38, 0x24, - 0x8f, 0x64, 0x47, 0xdf, 0x09, 0xfe, 0x90, 0x4b, 0xe5, 0x48, 0x6f, 0xc4, 0x14, 0xda, 0xb5, 0x98, - 0xa2, 0x48, 0xee, 0x9b, 0xc6, 0x44, 0x91, 0x6e, 0x49, 0x31, 0xf5, 0x88, 0x90, 0xcb, 0x38, 0x29, - 0x2f, 0x3b, 0x5b, 0xa2, 0xe0, 0x4d, 0xea, 0x6d, 0xed, 0xa2, 0x9a, 0xca, 0x39, 0x51, 0x0c, 0x1f, - 0x2d, 0xb6, 0x20, 0x6a, 0x60, 0x97, 0xdb, 0x8f, 0xb2, 0x81, 0x30, 0xb1, 0xb0, 0x71, 0xd3, 0x22, - 0xca, 0xf1, 0x8f, 0xfb, 0x1c, 0x3d, 0x28, 0xb7, 0x1e, 0x8d, 0x9f, 0xf2, 0x34, 0xd1, 0x96, 0xf3, - 0x3d, 0xf7, 0x5b, 0xe0, 0xf0, 0x97, 0xdb, 0x41, 0xce, 0x82, 0x90, 0x83, 0x51, 0x21, 0x14, 0x96, - 0xe9, 0x20, 0x2d, 0xc2, 0x50, 0x6f, 0x0f, 0xa1, 0xc0, 0x50, 0x51, 0xda, 0xe1, 0xc1, 0x0b, 0x5e, - 0xe9, 0x01, 0xdb, 0x49, 0x75, 0x35, 0xf1, 0x26, 0x02, 0x77, 0x5d, 0x49, 0xb3, 0x2e, 0x0e, 0x3c, - 0x34, 0x0e, 0xb4, 0xdf, 0x2d, 0xda, 0xe6, 0x87, 0x74, 0xb6, 0x4f, 0xf5, 0xca, 0x80, 0x8b, 0x34, - 0x1e, 0x4a, 0x00, 0x28, 0xf4, 0x2b, 0x60, 0xdc, 0xac, 0xc5, 0xdd, 0xfa, 0x49, 0x26, 0x0b, 0x40, - 0x39, 0x1f, 0x2c, 0xd1, 0x0e, 0x73, 0x47, 0x4a, 0xea, 0x9a, 0xa4, 0x49, 0xae, 0x76, 0x9f, 0xa0, - 0xfd, 0x88, 0x99, 0x0b, 0x10, 0x69, 0xd7, 0x1a, 0xb7, 0xbd, 0xfc, 0xf4, 0x18, 0xef, 0xf8, 0xd8, - 0xcb, 0x67, 0x1e, 0xe8, 0x2c, 0x04, 0x35, 0xb0, 0x29, 0x44, 0x00, 0x25, 0x7b, 0xd4, 0xf3, 0x44, - 0x62, 0xb1, 0xc3, 0xb6, 0xbf, 0xe1, 0xd1, 0xa0, 0x3d, 0x8a, 0x41, 0xb6, 0x3c, 0xdb, 0xb6, 0xc2, - 0x90, 0x11, 0xdb, 0x01, 0x92, 0xcc, 0x97, 0xfc, 0x11, 0xa8, 0xb3, 0xc3, 0x1b, 0x7f, 0xef, 0x63, - 0xf9, 0xa1, 0x84, 0x4c, 0xf1, 0xb3, 0xc6, 0x86, 0x2a, 0xdd, 0x4b, 0x15, 0x59, 0x7a, 0x6c, 0xbe, - 0xa1, 0xa2, 0x15, 0x37, 0xbd, 0x64, 0x0d, 0x4e, 0xfb, 0xc8, 0x69, 0xca, 0x3f, 0x4f, 0x4e, 0x2d, - 0xf9, 0x98, 0xf1, 0xd1, 0xfb, 0xbe, 0x56, 0x52, 0x54, 0x5d, 0x45, 0x2e, 0xf0, 0x97, 0xfd, 0xae, - 0x40, 0x25, 0xcf, 0x4b, 0x6e, 0xe7, 0xbf, 0x67, 0xd5, 0xfd, 0xc3, 0x86, 0x06, 0xf5, 0x79, 0x39, - 0xc6, 0x5b, 0x03, 0x2b, 0xb5, 0x96, 0xd2, 0xb3, 0xb4, 0xfd, 0x36, 0x42, 0x76, 0x44, 0x2a, 0x50, - 0x81, 0xf0, 0xc7, 0xbe, 0x79, 0xe3, 0xf0, 0xe6, 0x18, 0xec, 0x6e, 0xc8, 0x0c, 0x48, 0xba, 0xf8, - 0x09, 0x50, 0xf1, 0x78, 0x99, 0x76, 0xc5, 0x93, 0x58, 0x97, 0xa7, 0x47, 0x29, 0x8b, 0xc4, 0x66, - 0xfe, 0xbf, 0xe3, 0x35, 0x3b, 0x8e, 0x67, 0x82, 0xfc, 0xc0, 0x60, 0xe9, 0xfb, 0x70, 0x29, 0xba, - 0x76, 0x8a, 0x7d, 0x68, 0x3c, 0x39, 0x74, 0x09, 0x2f, 0x32, 0xae, 0xf6, 0x49, 0x40, 0xf2, 0x84, - 0xff, 0x01, 0x52, 0xde, 0x77, 0x41, 0x11, 0x57, 0x9e, 0x90, 0x40, 0x60, 0x14, 0xfc, 0xfe, 0x53, - 0x79, 0x51, 0xf5, 0x32, 0x98, 0x50, 0x33, 0x54, 0xd3, 0x41, 0xff, 0x9f, 0x00, 0x7e, 0xbb, 0x74, - 0x51, 0x4c, 0x2a, 0x65, 0xab, 0xf1, 0x9b, 0xe6, 0xfe, 0x30, 0x1b, 0xcd, 0xf7, 0xd9, 0x92, 0x9c, - 0x4e, 0x5b, 0x42, 0xdb, 0xac, 0x62, 0x03, 0x52, 0xc6, 0x5a, 0xe2, 0x14, 0x1f, 0x11, 0xd9, 0xa0, - 0x2a, 0xd7, 0x4e, 0x22, 0x2c, 0xa6, 0x04, 0x97, 0x74, 0xd4, 0x76, 0x70, 0x60, 0xa7, 0xbc, 0x39, - 0xcd, 0xc9, 0xf4, 0xef, 0x65, 0xe7, 0x39, 0xe4, 0x39, 0x3d, 0x81, 0x11, 0xf1, 0xca, 0x14, 0x13, - 0x9c, 0xfb, 0x95, 0x40, 0xc8, 0x7e, 0xd5, 0x3d, 0x79, 0xcd, 0x10, 0xf7, 0xef, 0x4a, 0x38, 0x12, - 0xd2, 0xa3, 0x2f, 0x00, 0x84, 0x8a, 0x2c, 0x3c, 0x36, 0xf1, 0xcf, 0xc0, 0xd7, 0xdd, 0x8b, 0x68, - 0x0b, 0xbd, 0xc1, 0x71, 0x3b, 0x9a, 0x64, 0x9c, 0x67, 0x49, 0x04, 0x83, 0x26, 0xfa, 0x6c, 0x9b, - 0xf1, 0x6d, 0x1d, 0x10, 0x9c, 0x0d, 0x97, 0x2e, 0x26, 0xb3, 0x81, 0xf1, 0xea, 0x37, 0xef, 0x5a, - 0xb6, 0xa4, 0x27, 0x51, 0x09, 0x60, 0xc4, 0xed, 0x15, 0xbc, 0x01, 0xd2, 0x75, 0xa5, 0x14, 0x33, - 0x01, 0x6c, 0x33, 0x90, 0x32, 0x6a, 0x94, 0x1b, 0xfa, 0xa2, 0x55, 0x29, 0xb5, 0xf3, 0x43, 0x5d, - 0xf3, 0xd6, 0xb4, 0xc9, 0x24, 0x9e, 0xec, 0x87, 0x36, 0x51, 0x91, 0xeb, 0xab, 0x49, 0x06, 0x12, - 0x9d, 0xe0, 0xd2, 0xdc, 0xd4, 0xc7, 0xea, 0x19, 0x0d, 0x3e, 0xd6, 0xf9, 0xc5, 0x07, 0x57, 0xfe, - 0x45, 0x40, 0xce, 0x55, 0x20, 0xa7, 0x9b, 0xb9, 0x59, 0x4f, 0x77, 0xe5, 0x76, 0x53, 0xba, 0xe8, - 0xc0, 0x63, 0x51, 0xa0, 0xdd, 0xea, 0xd8, 0x5e, 0x54, 0x22, 0x83, 0x4c, 0x80, 0x7d, 0x68, 0x8b, - 0x5e, 0xa5, 0x41, 0xb1, 0xee, 0xc0, 0x49, 0xc9, 0xc0, 0x97, 0x2c, 0xc7, 0x70, 0x0c, 0x04, 0xd2, - 0x8b, 0x28, 0xf8, 0x7a, 0x4d, 0x23, 0x65, 0x0f, 0xf4, 0xae, 0xb2, 0x1c, 0x8f, 0x9e, 0x91, 0xbb, - 0xea, 0xab, 0x12, 0xb6, 0xe0, 0x95, 0x8a, 0xc2, 0x9b, 0x2d, 0xd9, 0x28, 0x5f, 0x69, 0xbb, 0x03, - 0x32, 0x44, 0x99, 0x5e, 0x01, 0xc8, 0xfd, 0x89, 0x32, 0x94, 0x68, 0x2b, 0x2e, 0xe7, 0x1d, 0x4b, - 0xdc, 0xef, 0xaf, 0x81, 0x87, 0x7b, 0x5d, 0xfe, 0xc6, 0xb8, 0xb9, 0x5b, 0xf8, 0x5f, 0x65, 0x46, - 0xf7, 0x4e, 0xca, 0x82, 0xe1, 0x5a, 0x9a, 0xb3, 0x02, 0x0c, 0xb9, 0x60, 0x3e, 0x5f, 0x2c, 0xd2, - 0xe5, 0xdb, 0xe5, 0xfe, 0xed, 0xf1, 0x33, 0xf0, 0xf6, 0x1b, 0x69, 0xc5, 0x9e, 0xca, 0xf3, 0x8f, - 0x36, 0x74, 0xc2, 0xa7, 0x35, 0x9b, 0xb0, 0x4e, 0xa3, 0x69, 0x20, 0xde, 0xca, 0x0e, 0x87, 0xd3, - 0x81, 0x3a, 0x04, 0x3c, 0xaf, 0x97, 0x03, 0xdb, 0x16, 0xa4, 0x33, 0xba, 0xa6, 0x57, 0x24, 0x34, - 0x82, 0xbb, 0xca, 0x15, 0x29, 0x83, 0x05, 0xde, 0xb6, 0xa0, 0x3f, 0x8e, 0x29, 0xf9, 0x00, 0xdb, - 0xd6, 0xac, 0xd2, 0x73, 0xc7, 0xdc, 0xf7, 0xa5, 0x3f, 0x92, 0xb1, 0xf8, 0x41, 0x72, 0xc0, 0x62, - 0x6f, 0x81, 0x75, 0x1a, 0x55, 0xe1, 0x26, 0x06, 0xbf, 0x34, 0x9d, 0x1f, 0x98, 0x1b, 0x05, 0x57, - 0xdf, 0x09, 0x87, 0x02, 0xb5, 0xe2, 0x6c, 0xf6, 0xdd, 0x3e, 0xd7, 0xdf, 0xd5, 0xc8, 0xa2, 0x4f, - 0x22, 0x87, 0x36, 0x64, 0x04, 0xc7, 0xe6, 0x7f, 0xdd, 0x48, 0xd6, 0x55, 0xa2, 0xed, 0x81, 0x6b, - 0xa5, 0xab, 0x5f, 0x04, 0xe3, 0x2b, 0xef, 0x5e, 0xff, 0x22, 0xb9, 0x1c, 0xa0, 0x79, 0x8e, 0x33, - 0x89, 0x98, 0x1d, 0x1c, 0x46, 0x04, 0x27, 0x5a, 0xad, 0xbb, 0x16, 0xb4, 0xe1, 0x08, 0xab, 0x80, - 0x03, 0x47, 0x8e, 0x8c, 0x2d, 0xa0, 0x87, 0x07, 0xb3, 0xb9, 0x0f, 0x96, 0xfb, 0x47, 0xf9, 0x0a, - 0xfe, 0xef, 0x4c, 0xc6, 0xfd, 0x27, 0x95, 0x84, 0x21, 0xac, 0x2d, 0x30, 0x5e, 0x1c, 0x80, 0xc8, - 0xee, 0x89, 0xf9, 0x8b, 0x40, 0xe1, 0xad, 0x79, 0xa0, 0xe4, 0xb7, 0x91, 0x53, 0x52, 0x7c, 0x5f, - 0x05, 0x7e, 0xd6, 0x5d, 0x6f, 0xdc, 0xd8, 0x53, 0x5a, 0x2a, 0x84, 0x31, 0x72, 0x71, 0xb6, 0x12, - 0x97, 0x35, 0x07, 0xcf, 0x48, 0x03, 0x39, 0x86, 0x24, 0xad, 0x91, 0x29, 0x6f, 0x9e, 0x5c, 0x65, - 0x38, 0xc9, 0x8b, 0xce, 0xfd, 0xc8, 0x74, 0x25, 0x6a, 0xe2, 0xf7, 0x95, 0x77, 0xf1, 0xb1, 0x65, - 0x4c, 0xb8, 0x09, 0xe4, 0x75, 0xb2, 0x61, 0xc4, 0xef, 0x61, 0xf4, 0xe9, 0x44, 0x06, 0xdb, 0x91, - 0x46, 0xf1, 0x04, 0xf1, 0x5e, 0x72, 0x73, 0xeb, 0xf4, 0xe9, 0x87, 0x85, 0xad, 0x85, 0xb2, 0x01, - 0xd3, 0x3b, 0x78, 0x1c, 0x78, 0xab, 0xdf, 0x17, 0x94, 0xe8, 0x54, 0xb4, 0x7f, 0x50, 0x4c, 0x61, - 0x7a, 0xb1, 0x92, 0xf5, 0x48, 0xe1, 0x58, 0x1a, 0x37, 0xfd, 0x46, 0xba, 0xf2, 0x8f, 0x9f, 0x18, - 0x55, 0x35, 0xf8, 0x95, 0x49, 0xb7, 0xca, 0xde, 0x4d, 0xb4, 0x67, 0x78, 0x92, 0x59, 0xb9, 0x79, - 0xf3, 0xfb, 0xb9, 0x0c, 0x8e, 0xe5, 0xa0, 0x45, 0xe6, 0xe5, 0x05, 0x2c, 0xa2, 0x31, 0xda, 0x87, - 0xbe, 0x60, 0xb9, 0x8f, 0x2d, 0x31, 0x88, 0xd4, 0x60, 0x0a, 0xef, 0x12, 0x13, 0x34, 0x22, 0xa0, - 0x19, 0x2d, 0x68, 0x29, 0xd6, 0x97, 0x9e, 0x76, 0xf2, 0x86, 0xcc, 0xbc, 0x1a, 0x18, 0xa8, 0x7c, - 0x96, 0x5f, 0x60, 0x59, 0xc1, 0xdb, 0xd9, 0x6b, 0x96, 0x4e, 0x03, 0xbe, 0xd5, 0x16, 0xeb, 0x60, - 0x68, 0x11, 0xe3, 0x5d, 0x48, 0x2a, 0xff, 0xab, 0x80, 0x30, 0x6d, 0x63, 0x96, 0x9d, 0xa2, 0xf2, - 0x45, 0x69, 0xaa, 0xb4, 0x18, 0xe8, 0xc4, 0xfc, 0xc3, 0x54, 0x32, 0x71, 0x3a, 0x1b, 0x41, 0x0f, - 0x77, 0xcb, 0xf0, 0xf6, 0x6d, 0x5c, 0x84, 0x02, 0x51, 0xeb, 0x68, 0xae, 0xe3, 0xee, 0xea, 0xc4, - 0x79, 0x24, 0x7c, 0x01, 0x9b, 0x19, 0x3e, 0x59, 0xc7, 0xe9, 0x2d, 0x61, 0xf3, 0x19, 0x5e, 0x73, - 0x9d, 0x17, 0x69, 0x6a, 0x4d, 0xcb, 0x54, 0xf4, 0x6a, 0x3a, 0xe3, 0x99, 0xe0, 0x96, 0x82, 0xc1, - 0xab, 0xe4, 0xed, 0x0f, 0x11, 0xa7, 0xe3, 0x45, 0x63, 0x00, 0x5c, 0xd0, 0x50, 0xaa, 0xeb, 0xe4, - 0x5e, 0xae, 0xe2, 0x1b, 0x43, 0xe9, 0xec, 0x2e, 0x71, 0xc7, 0x81, 0xee, 0x5f, 0xda, 0x8e, 0x90, - 0x0d, 0xb5, 0xd4, 0xdb, 0x9b, 0x5f, 0x8c, 0xa1, 0x0e, 0x98, 0xb5, 0xaf, 0x42, 0x4f, 0x2a, 0x1b, - 0x28, 0x19, 0x9c, 0x39, 0x37, 0x4e, 0x76, 0x0c, 0x9c, 0x09, 0x5f, 0x80, 0x2e, 0xe4, 0x38, 0x06, - 0x7b, 0x47, 0xcb, 0xe1, 0xdb, 0x65, 0xa6, 0xc2, 0x7e, 0xc2, 0xe6, 0x2a, 0xb2, 0x0c, 0xad, 0x02, - 0xfa, 0x91, 0xf1, 0xcd, 0xe6, 0x3a, 0x5c, 0xab, 0x55, 0x39, 0x49, 0x5f, 0x0c, 0xed, 0x1d, 0xd9, - 0x2c, 0x85, 0xa2, 0xc1, 0x40, 0xb7, 0xbc, 0xa4, 0x84, 0xc7, 0x43, 0xc6, 0xf8, 0x59, 0xc3, 0x28, - 0x89, 0x4c, 0x8a, 0x81, 0x1a, 0x29, 0x07, 0xfd, 0x08, 0xc5, 0x21, 0x35, 0xae, 0xc6, 0x59, 0xa4, - 0xfe, 0x90, 0x27, 0x4f, 0xc4, 0xb2, 0x1d, 0x75, 0x26, 0xd8, 0xa0, 0x40, 0x60, 0x50, 0x62, 0xf5, - 0x65, 0x31, 0x5f, 0x80, 0x4a, 0x84, 0x43, 0x9a, 0x06, 0x97, 0x75, 0x69, 0x6f, 0xe7, 0x27, 0x40, - 0x5a, 0x0a, 0x7f, 0x4f, 0xf4, 0x73, 0x7a, 0x23, 0x30, 0x57, 0xac, 0x7a, 0x44, 0x0f, 0x9a, 0x1d, - 0x23, 0x68, 0x8a, 0x81, 0xd2, 0x51, 0xe5, 0x16, 0x0f, 0xcd, 0x58, 0x1a, 0xfe, 0x59, 0xef, 0xe7, - 0x55, 0xf8, 0x0c, 0x1f, 0x96, 0xbe, 0xad, 0x56, 0x10, 0xca, 0xfe, 0x6b, 0xad, 0x25, 0x75, 0xe2, - 0x2f, 0x67, 0xe7, 0x6a, 0xf3, 0xae, 0x03, 0x28, 0xac, 0x7e, 0x62, 0xd9, 0xbe, 0xb3, 0xe7, 0xe7, - 0xd6, 0x0c, 0x22, 0x14, 0xa5, 0xe4, 0xd0, 0x61, 0x78, 0xcf, 0x67, 0x6a, 0x86, 0xf6, 0x46, 0x2c, - 0xa5, 0xc7, 0x9a, 0x2d, 0x44, 0x74, 0x12, 0xc3, 0x9c, 0x5a, 0xb2, 0x26, 0x8a, 0xfb, 0x8e, 0x68, - 0xe0, 0x58, 0x16, 0x8f, 0xb2, 0x2e, 0xfd, 0xbe, 0x52, 0x3b, 0x6a, 0x15, 0x01, 0x8a, 0xaf, 0x93, - 0xcc, 0x77, 0x0a, 0xd6, 0xb6, 0x83, 0x28, 0xb7, 0x0b, 0x74, 0x13, 0xa9, 0xf2, 0xb0, 0xab, 0x05, - 0xa2, 0x17, 0xc0, 0x6e, 0xe3, 0x05, 0xed, 0xcf, 0xf4, 0xc3, 0x66, 0x4f, 0x30, 0x4a, 0x75, 0xb2, - 0x25, 0x38, 0xde, 0x1b, 0x6b, 0x3d, 0x66, 0x55, 0x30, 0x41, 0x36, 0x72, 0x9d, 0x2a, 0x19, 0xa8, - 0x3b, 0xef, 0xee, 0x8f, 0x73, 0x1a, 0xec, 0x52, 0xdf, 0x39, 0x9c, 0xe2, 0x81, 0x5e, 0xb4, 0xb1, - 0x89, 0x51, 0xa0, 0x93, 0x48, 0x6d, 0x60, 0x7c, 0x01, 0x16, 0x37, 0xc7, 0xd3, 0xa2, 0xe2, 0xfc, - 0xe8, 0x67, 0x46, 0x01, 0xe2, 0x0f, 0x86, 0x56, 0x4b, 0xe4, 0x41, 0x25, 0x6c, 0x15, 0xad, 0x8a, - 0x4f, 0xde, 0xbf, 0xbb, 0x43, 0xc2, 0x07, 0xd0, 0xa3, 0xa7, 0x20, 0xb3, 0x24, 0x5e, 0x21, 0x6a, - 0x97, 0xb1, 0x4f, 0x3b, 0xd2, 0xa6, 0x14, 0x24, 0x7b, 0x25, 0x69, 0x82, 0x54, 0x7c, 0x2d, 0xb6, - 0xdf, 0x13, 0xd3, 0x9c, 0x26, 0x05, 0xf6, 0xea, 0x83, 0x5c, 0x5c, 0x79, 0xaf, 0xc6, 0x73, 0x0b, - 0x13, 0x2e, 0x9d, 0x4b, 0x90, 0x75, 0x6b, 0x56, 0x88, 0x63, 0x45, 0x8c, 0x66, 0x3a, 0x84, 0xa7, - 0xd3, 0x1a, 0x0d, 0x78, 0x68, 0x29, 0x5f, 0x79, 0x4a, 0x89, 0x41, 0x22, 0x11, 0xd0, 0x59, 0x91, - 0x1a, 0x65, 0xda, 0xe2, 0x7b, 0xb9, 0x4f, 0x72, 0x51, 0x8f, 0x52, 0xe2, 0x5d, 0x65, 0xd5, 0xfb, - 0x6d, 0xa5, 0x36, 0x81, 0x90, 0xb3, 0x25, 0x64, 0xcb, 0x30, 0x57, 0xaa, 0xfa, 0x51, 0x91, 0x75, - 0xa0, 0x29, 0x15, 0x1c, 0x4b, 0xde, 0x53, 0xc8, 0x69, 0xb6, 0xdd, 0xc9, 0x3b, 0xdc, 0xdf, 0xeb, - 0xe6, 0x75, 0x43, 0x72, 0x5c, 0x33, 0x61, 0x96, 0x26, 0xb6, 0xad, 0xeb, 0x4e, 0x2d, 0x15, 0x3f, - 0x99, 0x6d, 0x8b, 0x3d, 0x25, 0x36, 0xc9, 0x64, 0xe9, 0x2f, 0xc2, 0x7a, 0xe9, 0x72, 0x0c, 0x11, - 0xd3, 0xed, 0x55, 0x4f, 0xe7, 0x9a, 0x24, 0xe5, 0xae, 0x39, 0x8b, 0xcc, 0x3f, 0x5d, 0x98, 0xf7, - 0xcf, 0xd0, 0x33, 0x33, 0x20, 0x81, 0x02, 0x8a, 0x75, 0x54, 0x46, 0x34, 0x96, 0x6a, 0x55, 0x8e, - 0xdb, 0xbc, 0x84, 0x5e, 0xfb, 0xd3, 0xe2, 0xed, 0xac, 0x12, 0xa6, 0x3e, 0xc6, 0x2d, 0xb8, 0x13, - 0x12, 0xc2, 0xd4, 0x70, 0x81, 0x44, 0x3e, 0x40, 0x85, 0xcd, 0xc9, 0x93, 0x20, 0xad, 0x30, 0x8e, - 0xb3, 0x2f, 0xdb, 0xbc, 0x3d, 0x3f, 0x33, 0xf9, 0xf4, 0xfd, 0x21, 0xcf, 0x31, 0x95, 0x66, 0x42, - 0xf0, 0xb0, 0x7e, 0x9a, 0xe3, 0xd8, 0x4a, 0x52, 0x78, 0x6b, 0x96, 0x61, 0x0d, 0x9b, 0x95, 0x68, - 0x07, 0x8f, 0x2e, 0xaf, 0xdc, 0xfe, 0xe4, 0x63, 0xf2, 0x63, 0xea, 0x5c, 0xc5, 0xea, 0xdf, 0xb0, - 0x92, 0x40, 0x0a, 0x86, 0x94, 0x65, 0xf0, 0x3e, 0xc7, 0x12, 0x9c, 0xeb, 0xb9, 0xc9, 0x57, 0xb1, - 0xff, 0x1e, 0xad, 0x81, 0x5a, 0x8d, 0x1f, 0x09, 0x21, 0x15, 0x63, 0x2e, 0xef, 0x54, 0x22, 0x36, - 0x50, 0x55, 0x00, 0x65, 0xa8, 0x6b, 0x3a, 0xa0, 0x21, 0x3b, 0x10, 0x38, 0x02, 0xf2, 0xa7, 0x37, - 0x5f, 0x0b, 0x9e, 0xa7, 0x44, 0xfd, 0x2f, 0x48, 0xc5, 0xf0, 0x9f, 0x12, 0x91, 0xf6, 0xc3, 0xef, - 0x43, 0x9d, 0x16, 0xad, 0x50, 0xd2, 0x1c, 0x28, 0xb4, 0x22, 0xac, 0x7f, 0x85, 0xa1, 0x46, 0x0a, - 0x9b, 0x9b, 0x32, 0x3f, 0xc8, 0x10, 0xb9, 0x64, 0x8d, 0xdd, 0x5a, 0xf2, 0x65, 0x66, 0xee, 0xd3, - 0xc2, 0x06, 0x5d, 0x29, 0xe6, 0x29, 0xe3, 0xf9, 0x77, 0x0f, 0x32, 0x67, 0x10, 0x17, 0x0a, 0xe6, - 0x11, 0x41, 0x2d, 0x54, 0x7e, 0x0e, 0x30, 0xb4, 0x42, 0x89, 0xda, 0x77, 0xd5, 0x27, 0xcc, 0xed, - 0xea, 0x1a, 0x10, 0xb9, 0xc4, 0xce, 0x06, 0xc0, 0x4f, 0xe6, 0x36, 0x6b, 0x09, 0x8b, 0x9e, 0x70, - 0x8e, 0xf1, 0x5d, 0xe1, 0xb6, 0xe5, 0x8e, 0x5f, 0x0f, 0x9b, 0x9c, 0xb0, 0xf9, 0x87, 0x72, 0xa5, - 0x3f, 0x18, 0xc0, 0x6d, 0x99, 0xcf, 0xd8, 0xfd, 0xdc, 0x78, 0xf8, 0xff, 0xce, 0xd1, 0x44, 0x21, - 0xae, 0x63, 0xfb, 0xdb, 0x42, 0x71, 0x81, 0x31, 0xb1, 0xdf, 0x62, 0x9a, 0xd4, 0xe2, 0x2d, 0x35, - 0xa1, 0xe7, 0x77, 0x55, 0x43, 0x9b, 0x44, 0xf1, 0x5d, 0xc4, 0x44, 0x65, 0xb4, 0xbc, 0xe7, 0xac, - 0x39, 0x56, 0xbf, 0x49, 0x10, 0xba, 0x86, 0x51, 0xb9, 0xae, 0xf2, 0x9d, 0x3f, 0x91, 0x81, 0x55, - 0xac, 0x4c, 0x3e, 0x0d, 0x7a, 0x61, 0x2f, 0xae, 0x3a, 0x7b, 0xdf, 0xb5, 0x27, 0x73, 0x5f, 0xd6, - 0x29, 0x79, 0x8a, 0x7d, 0xea, 0x01, 0xf1, 0x49, 0x96, 0xba, 0xe9, 0xc3, 0x10, 0xba, 0x31, 0xd5, - 0x0c, 0x92, 0x12, 0xde, 0x35, 0x57, 0xd2, 0xa1, 0xef, 0x62, 0x49, 0xb6, 0xf4, 0xed, 0x33, 0x43, - 0x07, 0x6b, 0xb4, 0xcc, 0x9b, 0x7c, 0x50, 0x22, 0x0b, 0x02, 0xe7, 0xb4, 0xc7, 0x83, 0x1b, 0x78, - 0xeb, 0xa2, 0x1c, 0x0a, 0xb7, 0x9a, 0xe3, 0xf5, 0xa1, 0xe2, 0x24, 0x42, 0x7c, 0x4a, 0xb0, 0xb3, - 0x03, 0xab, 0x5e, 0x43, 0x72, 0x32, 0x29, 0xe6, 0x69, 0x9c, 0xb0, 0x13, 0x34, 0xff, 0xd5, 0x1b, - 0xb4, 0x4f, 0x59, 0x46, 0x7d, 0x5a, 0xfe, 0xe9, 0x3e, 0xb9, 0x72, 0xd0, 0x89, 0xd6, 0xee, 0x38, - 0xa4, 0x3e, 0xc7, 0x8d, 0xe9, 0x90, 0x39, 0x4c, 0xb6, 0x9f, 0xd8, 0x5e, 0x1a, 0x85, 0x8f, 0x32, - 0x01, 0x75, 0xdd, 0x93, 0x85, 0xc2, 0xbb, 0x7d, 0xb4, 0xea, 0x8e, 0xeb, 0xa0, 0xee, 0x1b, 0xde, - 0xf2, 0x61, 0xc9, 0x64, 0x63, 0xf4, 0xca, 0x21, 0x38, 0x13, 0x9a, 0x20, 0x73, 0xea, 0xb1, 0x74, - 0x79, 0xb8, 0x78, 0x25, 0x07, 0xc1, 0xb4, 0x99, 0xaa, 0x9c, 0xe4, 0x12, 0xd3, 0xf1, 0x97, 0x98, - 0x35, 0x62, 0xfa, 0x1b, 0xd5, 0xc2, 0xaa, 0x36, 0x41, 0xc2, 0x6c, 0x63, 0x78, 0x8a, 0x2c, 0x8b, - 0x29, 0xb8, 0xe4, 0x60, 0x9b, 0x8e, 0x64, 0xf1, 0x3c, 0x76, 0x3b, 0x9c, 0x3a, 0x45, 0x75, 0xd8, - 0x8e, 0xea, 0x7d, 0x9f, 0x24, 0x5c, 0x47, 0x1d, 0x24, 0x69, 0xea, 0x27, 0xd4, 0xdd, 0x9c, 0xfe, - 0x86, 0x8b, 0xc4, 0x3e, 0x3e, 0x76, 0xe1, 0x76, 0x22, 0xa3, 0xae, 0xe2, 0x9d, 0x96, 0x1a, 0xe9, - 0x54, 0xd6, 0x75, 0xa2, 0xd3, 0xb7, 0xef, 0xdd, 0x9f, 0x08, 0xc5, 0x60, 0xbc, 0x72, 0x0e, 0x97, - 0xcf, 0xb6, 0x5d, 0x28, 0xce, 0x58, 0xb9, 0x2b, 0xed, 0xf7, 0x8a, 0x20, 0x5e, 0x39, 0x35, 0x4b, - 0xb5, 0x8f, 0xac, 0x77, 0xbe, 0x5b, 0x46, 0x5a, 0xf0, 0xb2, 0x0c, 0x3c, 0xe7, 0x3f, 0x1c, 0xc5, - 0xc0, 0x5f, 0xc0, 0x43, 0xaf, 0xd2, 0xc1, 0x90, 0xb3, 0x33, 0xe8, 0xeb, 0x16, 0x50, 0x9f, 0xd6, - 0x64, 0xa3, 0xa7, 0x55, 0x7c, 0x67, 0xc0, 0x07, 0xd6, 0xa4, 0x17, 0xdd, 0xca, 0x4b, 0xff, 0x64, - 0xaf, 0xa3, 0xf0, 0xd7, 0x7c, 0xe2, 0xb6, 0x44, 0x82, 0xf7, 0xf4, 0xc5, 0xd0, 0xbb, 0x7a, 0x59, - 0x15, 0xa5, 0x6d, 0xb1, 0x3f, 0x68, 0x48, 0x0d, 0xc8, 0x81, 0x12, 0x05, 0x3b, 0xe7, 0x50, 0xd9, - 0xbe, 0xa7, 0x14, 0x80, 0x9b, 0x74, 0x7a, 0xfa, 0x85, 0x71, 0xe9, 0x02, 0xb4, 0xa6, 0x35, 0x36, - 0x0d, 0xef, 0x79, 0xde, 0x94, 0x38, 0xdb, 0x64, 0x4e, 0x95, 0xaf, 0xf9, 0xe4, 0xf7, 0xd2, 0xc0, - 0x93, 0x20, 0x8b, 0x50, 0xfa, 0x08, 0x7e, 0xa9, 0x06, 0xed, 0x77, 0x21, 0xf6, 0x21, 0x2e, 0x4c, - 0xe8, 0xed, 0xb9, 0x84, 0x44, 0xd6, 0x40, 0x0e, 0xcf, 0xbd, 0xaa, 0x88, 0xe7, 0x79, 0x24, 0x4d, - 0x3e, 0xe7, 0x24, 0x56, 0xdc, 0xbe, 0xa9, 0xba, 0x92, 0xd3, 0xc1, 0xc7, 0x0b, 0x20, 0xe8, 0xaa, - 0xeb, 0x16, 0xa7, 0x7b, 0x6e, 0x9c, 0x32, 0xa6, 0xab, 0x58, 0x53, 0xb5, 0x24, 0x00, 0x43, 0x58, - 0x69, 0x21, 0xe5, 0x7a, 0xe7, 0x03, 0x6c, 0x44, 0x02, 0xce, 0x5d, 0xe9, 0x39, 0x4f, 0xa8, 0xf4, - 0xa4, 0xae, 0xcd, 0x02, 0x66, 0x8e, 0xd9, 0xea, 0x9a, 0xb9, 0x36, 0x89, 0x3b, 0xc2, 0x19, 0xcc, - 0x81, 0xfc, 0xca, 0x0d, 0x4a, 0x1b, 0xd9, 0xfc, 0x83, 0x52, 0xa1, 0xa3, 0x3f, 0xfb, 0x73, 0x40, - 0x74, 0xb3, 0x91, 0x70, 0xac, 0xad, 0xf5, 0x1e, 0xb1, 0xfc, 0xbf, 0x5f, 0x5b, 0x0d, 0x23, 0x8d, - 0x93, 0x76, 0xe0, 0x2a, 0x8d, 0xdf, 0x93, 0x0e, 0xe9, 0xd7, 0x08, 0xc7, 0xa6, 0x3d, 0x63, 0xc5, - 0x5c, 0x51, 0x35, 0xd3, 0x87, 0xe9, 0xc4, 0x33, 0x5b, 0x8f, 0x12, 0x94, 0x0c, 0x90, 0xf5, 0xd6, - 0x6f, 0x13, 0x90, 0x7b, 0xb0, 0x9e, 0xf1, 0xeb, 0x11, 0x6d, 0x9d, 0x03, 0xcc, 0x92, 0x73, 0x8e, - 0xaa, 0xb2, 0xf0, 0x06, 0x19, 0xc7, 0x0d, 0x32, 0x83, 0xef, 0x01, 0x26, 0x53, 0x00, 0x13, 0x85, - 0x94, 0xf1, 0x7f, 0x1d, 0xb3, 0x03, 0xde, 0x16, 0x0b, 0x4b, 0x5a, 0xb9, 0x09, 0xac, 0x82, 0x58, - 0xa0, 0x07, 0xf7, 0xdc, 0xe6, 0xaa, 0xb1, 0xa4, 0x72, 0x19, 0x52, 0x9b, 0xb2, 0xbb, 0x07, 0x27, - 0xb4, 0x81, 0xe8, 0x07, 0x91, 0x4f, 0xa3, 0x6e, 0x97, 0xc1, 0xdd, 0x34, 0xbf, 0x52, 0x5c, 0xd2, - 0x90, 0xf4, 0x66, 0xb8, 0x69, 0xaa, 0xb8, 0x88, 0xd0, 0x6f, 0x01, 0xf7, 0x54, 0x18, 0xad, 0x54, - 0x4c, 0xfe, 0xa2, 0x25, 0x55, 0x3c, 0x73, 0xf3, 0xd1, 0x61, 0x7f, 0x4e, 0x34, 0xee, 0x87, 0x23, - 0x92, 0xac, 0x83, 0xae, 0x2b, 0x5c, 0xd4, 0x9a, 0x79, 0x18, 0x6d, 0xcd, 0xc2, 0x92, 0x17, 0x06, - 0xf7, 0xb1, 0x97, 0x94, 0xf2, 0x31, 0x88, 0x20, 0xf7, 0x90, 0x8d, 0xa5, 0x4b, 0xf2, 0xa4, 0x88, - 0x76, 0xaa, 0x16, 0xfe, 0x1b, 0x55, 0x01, 0xd1, 0xe8, 0x2f, 0x16, 0x67, 0x5d, 0xb3, 0xbc, 0x2e, - 0x3d, 0xbc, 0x8f, 0xba, 0x50, 0x3a, 0xec, 0xa4, 0xf3, 0xa5, 0xf0, 0x5d, 0x22, 0x4a, 0x3c, 0x1f, - 0xf7, 0x5b, 0xe7, 0xeb, 0xa4, 0x70, 0xdb, 0x64, 0x4a, 0xa5, 0x4c, 0xbe, 0xeb, 0x06, 0xee, 0x5d, - 0x74, 0x5f, 0x85, 0x72, 0xd9, 0x80, 0x2d, 0x24, 0x00, 0xdb, 0x9b, 0x50, 0x04, 0x9b, 0x28, 0xa6, - 0x24, 0xf6, 0xd8, 0x95, 0xfe, 0x69, 0x1c, 0x2f, 0x2f, 0x44, 0x31, 0x79, 0xe2, 0x2c, 0xe0, 0xf1, - 0xb5, 0x4e, 0xfc, 0xf6, 0x85, 0x04, 0x8b, 0x9d, 0x4e, 0xe5, 0xb6, 0xf0, 0x8e, 0x15, 0x7e, 0x8d, - 0x5f, 0xbe, 0xcc, 0xff, 0xa1, 0x70, 0xe5, 0x42, 0x40, 0x9f, 0x7d, 0x81, 0xb5, 0xce, 0xae, 0xf8, - 0xd6, 0x67, 0x04, 0x79, 0x90, 0xa3, 0xe7, 0x5a, 0x5b, 0x0f, 0xe0, 0xff, 0x5d, 0x05, 0x29, 0x3d, - 0xf2, 0x08, 0x9b, 0x38, 0x7d, 0x3f, 0xbd, 0x64, 0x30, 0x9c, 0x1d, 0xea, 0xd7, 0xf3, 0xc5, 0x60, - 0x1e, 0x57, 0xf3, 0xcb, 0x09, 0x87, 0x26, 0x9e, 0xa8, 0x98, 0x46, 0xe2, 0x54, 0x51, 0xb3, 0xf0, - 0x76, 0x3c, 0x66, 0x86, 0xaf, 0x9a, 0xf3, 0x16, 0x86, 0xb8, 0x3d, 0x33, 0xd1, 0x02, 0x44, 0xc8, - 0x9f, 0x20, 0xcd, 0x13, 0xb3, 0x3e, 0x9e, 0xab, 0x36, 0xcd, 0xaf, 0x2f, 0x45, 0x17, 0xf4, 0x7a, - 0xd7, 0x14, 0xbc, 0xb8, 0xa5, 0xc6, 0x7c, 0x7e, 0x6d, 0x0d, 0xd3, 0x2a, 0xc6, 0x54, 0xf1, 0xea, - 0xcb, 0x8b, 0x83, 0xa2, 0x65, 0x38, 0xf2, 0xb7, 0xc3, 0x12, 0x75, 0x9f, 0x4f, 0x10, 0x99, 0x53, - 0xc6, 0xd1, 0x9c, 0xbc, 0x98, 0xee, 0x97, 0xd7, 0x3c, 0x6c, 0x6e, 0x71, 0x35, 0x24, 0xbe, 0x9c, - 0x91, 0xec, 0xd6, 0xe3, 0x22, 0xac, 0x5e, 0x0e, 0xb0, 0x55, 0xdc, 0x35, 0x6d, 0x1e, 0x8a, 0x21, - 0x27, 0x28, 0xd2, 0xac, 0x97, 0x8b, 0xe8, 0x8e, 0x43, 0x2c, 0xb9, 0x21, 0xcc, 0x3c, 0x2d, 0x1f, - 0xba, 0x47, 0xf5, 0x3c, 0x89, 0xd7, 0x12, 0x6c, 0x18, 0x21, 0xb3, 0xe0, 0x29, 0xb9, 0xd7, 0xe9, - 0x2d, 0x15, 0xf3, 0x5c, 0x7c, 0xe4, 0x36, 0x4a, 0x68, 0x1f, 0xf8, 0xb5, 0xfd, 0xe0, 0x01, 0xb5, - 0x8d, 0x5e, 0x1c, 0x60, 0x9f, 0xcc, 0x14, 0xd5, 0xf5, 0xdd, 0x6f, 0x49, 0xea, 0xd8, 0x72, 0xb8, - 0x49, 0xaf, 0x71, 0xe0, 0xee, 0xb7, 0xc3, 0x90, 0x7c, 0xed, 0xce, 0x36, 0xb7, 0x63, 0xac, 0xc7, - 0x02, 0xa1, 0x66, 0x98, 0xb0, 0x0c, 0xe1, 0xd2, 0x2a, 0x2b, 0xce, 0xb2, 0xc8, 0x7c, 0xbc, 0x56, - 0xff, 0x91, 0x65, 0xfa, 0x75, 0x73, 0xe4, 0xe4, 0xdd, 0x32, 0x07, 0x97, 0x2e, 0x9c, 0x75, 0x37, - 0x31, 0xe4, 0xd0, 0x80, 0x98, 0x59, 0x90, 0x7c, 0x02, 0x56, 0x08, 0xb5, 0xbf, 0x02, 0xfd, 0x9b, - 0xd6, 0x2a, 0xdd, 0x4a, 0x1b, 0x59, 0x87, 0x45, 0x66, 0x09, 0xee, 0x3c, 0x46, 0xac, 0x11, 0xe2, - 0x81, 0xf9, 0xa0, 0xd5, 0x82, 0xdb, 0x20, 0x13, 0xd5, 0x1d, 0x17, 0x77, 0x93, 0xca, 0xbc, 0xc2, - 0x25, 0xf5, 0x8e, 0x8b, 0x96, 0x37, 0x35, 0xc2, 0xfe, 0xaf, 0x69, 0x87, 0xe4, 0x7b, 0xef, 0xba, - 0xd9, 0xed, 0xe9, 0xd4, 0x8b, 0x90, 0x6d, 0x3b, 0x9c, 0x9b, 0x3b, 0x99, 0x5e, 0xff, 0x0e, 0xa0, - 0x00, 0x3a, 0xd3, 0x93, 0xcd, 0x29, 0xd0, 0x85, 0x61, 0xec, 0xbf, 0xb6, 0x72, 0xb3, 0x3d, 0xbc, - 0x8a, 0x1a, 0xfe, 0x92, 0xdc, 0x4d, 0x20, 0xbf, 0xca, 0xf2, 0x0d, 0xcb, 0xd3, 0x6c, 0x73, 0x94, - 0x42, 0x11, 0x96, 0xbb, 0x8d, 0xfd, 0x82, 0x2c, 0x23, 0x46, 0xd7, 0xe8, 0x48, 0xce, 0xa0, 0x55, - 0x2d, 0xb5, 0x62, 0xe6, 0xa6, 0xa4, 0x4f, 0xcd, 0xf6, 0x50, 0x19, 0xdd, 0xea, 0xd5, 0x51, 0x24, - 0x9f, 0xf7, 0x4b, 0xcb, 0x45, 0x25, 0x5e, 0x22, 0xc5, 0x02, 0xe9, 0x34, 0x5e, 0xbf, 0x68, 0x3d, - 0x2f, 0x5d, 0xdf, 0x5b, 0x38, 0xe2, 0x18, 0x95, 0xe7, 0x02, 0xf9, 0x6b, 0x75, 0x81, 0x08, 0x36, - 0x2d, 0xe3, 0xfe, 0xc9, 0xa3, 0x4a, 0x33, 0x65, 0x62, 0x52, 0xa0, 0x4e, 0x16, 0x80, 0x50, 0xaa, - 0xe1, 0x46, 0x5c, 0xdb, 0x40, 0xcf, 0xdf, 0x1a, 0xc1, 0x82, 0x97, 0x54, 0x16, 0x13, 0x89, 0x75, - 0xb7, 0x4d, 0x80, 0xbb, 0x43, 0x44, 0x4d, 0xbb, 0xd8, 0xdd, 0x1f, 0xec, 0x1f, 0x4e, 0x0a, 0xbd, - 0xb5, 0xd6, 0xd1, 0x7b, 0xc6, 0x1d, 0x95, 0x56, 0x48, 0x15, 0x62, 0x5b, 0xfd, 0xb0, 0x62, 0x6d, - 0x30, 0x83, 0x28, 0x88, 0x59, 0xed, 0x68, 0xbc, 0xe2, 0xe4, 0xe5, 0x38, 0x9c, 0xbb, 0x5c, 0xfd, - 0xf8, 0xd0, 0x05, 0xc0, 0x78, 0x58, 0x01, 0xa6, 0x1a, 0x7e, 0xac, 0xae, 0xa0, 0x54, 0xcf, 0x81, - 0x8d, 0x5f, 0x63, 0x60, 0x4f, 0x35, 0x07, 0x98, 0xe6, 0x80, 0x73, 0xb3, 0x6c, 0xe6, 0x5d, 0xac, - 0xf3, 0xd5, 0xf1, 0x0f, 0xd2, 0x05, 0x0e, 0x8b, 0xf0, 0x47, 0xa8, 0xfc, 0xd5, 0x73, 0x2f, 0x8c, - 0xb9, 0x63, 0x4a, 0x18, 0xa1, 0x79, 0x69, 0x22, 0x15, 0x0b, 0xd3, 0xdd, 0xb0, 0x77, 0x20, 0x2d, - 0x6e, 0xde, 0xb2, 0x73, 0x8c, 0x36, 0x6b, 0x7f, 0x69, 0x26, 0x97, 0xf7, 0x4e, 0x54, 0xc6, 0x7a, - 0x97, 0x78, 0xc8, 0x82, 0x3a, 0xbc, 0xa1, 0x38, 0x4a, 0x42, 0x79, 0xec, 0x16, 0xab, 0x6a, 0xf1, - 0x0b, 0xf1, 0x70, 0x48, 0x0b, 0x84, 0xc9, 0x99, 0x8d, 0x83, 0xa5, 0xa0, 0x0c, 0x92, 0xaa, 0xdd, - 0x12, 0xf6, 0xa2, 0x92, 0x4b, 0xa2, 0xe5, 0x46, 0x86, 0x08, 0x87, 0x15, 0x9d, 0x0b, 0xbf, 0xe9, - 0x40, 0x57, 0xf4, 0x9d, 0x14, 0x0c, 0xa5, 0x03, 0x30, 0xa4, 0x53, 0x8f, 0xda, 0xb8, 0xe7, 0x98, - 0xfd, 0xd8, 0x5a, 0xc3, 0x49, 0x2d, 0xcc, 0x17, 0xbd, 0x39, 0x63, 0x88, 0xfc, 0xb4, 0xfa, 0x02, - 0xcb, 0x7c, 0x45, 0x38, 0x6d, 0x4d, 0xec, 0x75, 0xcf, 0x70, 0xf7, 0x0f, 0x84, 0xca, 0x69, 0xf4, - 0xca, 0x3c, 0xa8, 0x6f, 0x69, 0x7a, 0xeb, 0xb2, 0x5e, 0x9a, 0x3c, 0x00, 0xe2, 0x75, 0x4d, 0xe2, - 0x62, 0xce, 0x41, 0xdd, 0x3f, 0xf1, 0x96, 0xb5, 0xef, 0xeb, 0xc9, 0xaa, 0x79, 0xe3, 0x26, 0x2e, - 0x7e, 0xad, 0x4f, 0xdb, 0x61, 0x0a, 0xe4, 0x4d, 0xfd, 0x1c, 0x34, 0x6b, 0xab, 0xd1, 0x56, 0x20, - 0x3c, 0x56, 0xe0, 0x02, 0x3a, 0xef, 0xd4, 0xe1, 0x1d, 0x06, 0xe6, 0xa4, 0x83, 0xe7, 0xee, 0x71, - 0x13, 0x50, 0xd2, 0x0b, 0x0a, 0x1c, 0x11, 0x6e, 0x38, 0x5d, 0x69, 0x40, 0x5c, 0xaa, 0xec, 0x55, - 0x6c, 0xfe, 0x5e, 0x02, 0x6b, 0x8e, 0x08, 0xb2, 0x16, 0x38, 0xb4, 0xd5, 0xe9, 0xda, 0xa6, 0xd0, - 0x89, 0x55, 0xa8, 0x5f, 0xfc, 0xbf, 0xb3, 0x1a, 0x30, 0xde, 0x91, 0xf4, 0xe1, 0x5a, 0x95, 0x95, - 0xcf, 0x3b, 0x1e, 0x32, 0x2b, 0xd6, 0x0d, 0x54, 0x0a, 0x59, 0x28, 0x15, 0x0c, 0x0f, 0xf8, 0x32, - 0x90, 0x3e, 0x2d, 0x96, 0x9a, 0xa9, 0x93, 0xbd, 0x2e, 0x0a, 0x80, 0x00, 0x8d, 0x5e, 0x7d, 0x6a, - 0x51, 0x48, 0xd4, 0x1e, 0x6f, 0x6c, 0xdd, 0xf4, 0xe2, 0xa2, 0xcd, 0xa1, 0x3e, 0x1d, 0x19, 0xdd, - 0xd7, 0xa3, 0x48, 0xc6, 0xb6, 0x2a, 0x97, 0x41, 0x10, 0xaa, 0xcb, 0x7f, 0xa1, 0xaf, 0x6b, 0xbb, - 0x20, 0x5d, 0x34, 0xe1, 0x0f, 0xd7, 0x80, 0xe5, 0x13, 0x22, 0x4b, 0xe7, 0x27, 0x68, 0x04, 0xcc, - 0xeb, 0x2c, 0xe3, 0xd7, 0x1f, 0xf5, 0x62, 0xeb, 0x28, 0x2d, 0x3b, 0x7c, 0xb1, 0x04, 0x71, 0xc3, - 0xbe, 0xc0, 0xa6, 0xbe, 0x28, 0x8e, 0x99, 0x0c, 0x22, 0x0e, 0xb8, 0xf4, 0x09, 0xf4, 0x69, 0x14, - 0x35, 0x0d, 0xbb, 0x0d, 0xfd, 0x66, 0x0e, 0x34, 0x94, 0x71, 0x0e, 0x8f, 0x40, 0x50, 0xbe, 0xfd, - 0xf7, 0x11, 0x17, 0xd9, 0x9d, 0x36, 0x2b, 0x08, 0x7b, 0x40, 0x2a, 0x2d, 0x6f, 0x67, 0xf7, 0x06, - 0xe2, 0xfc, 0x86, 0x08, 0xea, 0x92, 0x52, 0x42, 0xac, 0x28, 0x60, 0x95, 0x13, 0xe9, 0xd4, 0x89, - 0xc2, 0x6e, 0xd3, 0xe6, 0xa3, 0xc4, 0xab, 0x77, 0x5a, 0x5f, 0x4b, 0xc2, 0x7f, 0x43, 0xdb, 0xe3, - 0xc8, 0x09, 0x82, 0xa4, 0xd1, 0x29, 0xa7, 0xa0, 0xd6, 0xe5, 0xdc, 0x88, 0xaf, 0x3d, 0xd0, 0x2f, - 0xb7, 0x58, 0x7e, 0xf3, 0x95, 0xb0, 0xc3, 0x56, 0xd9, 0x9b, 0x9d, 0x3c, 0xa7, 0xf2, 0x0c, 0xf4, - 0x7d, 0xab, 0x3c, 0xd6, 0x71, 0x0c, 0x67, 0x8e, 0x18, 0x15, 0x31, 0xe6, 0x3f, 0x85, 0xfb, 0x3b, - 0x23, 0x49, 0xa4, 0x1a, 0x19, 0xbb, 0xa8, 0xfa, 0xf8, 0x0a, 0x6f, 0xf4, 0x7b, 0xab, 0x4b, 0xb2, - 0xf1, 0x34, 0x2d, 0xf1, 0xc6, 0x8b, 0x76, 0xc8, 0x09, 0x10, 0x63, 0xee, 0x43, 0x7f, 0x57, 0x4e, - 0x08, 0x60, 0x5f, 0x64, 0x8b, 0xca, 0x91, 0x31, 0x17, 0xec, 0x10, 0xf7, 0x7f, 0x53, 0x1b, 0x6d, - 0x31, 0xf4, 0x0b, 0xa4, 0x8b, 0xf9, 0xd1, 0x79, 0x9b, 0x8e, 0xcf, 0x0f, 0x5d, 0x46, 0xff, 0xa0, - 0xca, 0x60, 0xbf, 0x9d, 0x52, 0x3b, 0x55, 0xea, 0xac, 0x2a, 0x72, 0x61, 0xe4, 0x24, 0x76, 0x37, - 0x89, 0x0f, 0x6b, 0x91, 0x9e, 0x6a, 0x69, 0x95, 0xd8, 0xd3, 0xc5, 0x5b, 0xa9, 0xee, 0xcf, 0x74, - 0x7d, 0xae, 0xf1, 0xaf, 0xc2, 0x9e, 0x85, 0x36, 0x55, 0x90, 0xc9, 0xc5, 0x77, 0xbc, 0xbf, 0xac, - 0x9c, 0xa7, 0xc0, 0x84, 0x85, 0x88, 0x0f, 0xd7, 0x58, 0xfc, 0x45, 0xb6, 0x6d, 0x59, 0xb5, 0xf9, - 0x3c, 0xd6, 0x7d, 0x74, 0x9a, 0x86, 0x05, 0x2a, 0x48, 0x6e, 0xe4, 0x18, 0x97, 0x08, 0x06, 0x41, - 0x73, 0xea, 0x4b, 0x22, 0x0e, 0x00, 0x93, 0x86, 0x56, 0x06, 0x65, 0xea, 0x8f, 0xf2, 0xcc, 0xc3, - 0xc1, 0x44, 0x4d, 0xb8, 0x21, 0x7f, 0x12, 0x35, 0x1f, 0x3b, 0xbe, 0x14, 0x78, 0xab, 0xfd, 0x7c, - 0x87, 0x59, 0xba, 0xc0, 0x03, 0x41, 0x01, 0xbb, 0xc5, 0xc3, 0xa1, 0xbf, 0xd1, 0x58, 0xb7, 0xf7, - 0xb4, 0x69, 0xe8, 0x28, 0xeb, 0x7b, 0x5a, 0xdf, 0x8d, 0x2a, 0x9a, 0x88, 0xf7, 0x77, 0x2a, 0x54, - 0xfd, 0x18, 0x2b, 0xf9, 0xe3, 0x29, 0x12, 0xd5, 0x47, 0xb4, 0x14, 0x88, 0xb7, 0xd5, 0x5f, 0xe1, - 0x84, 0x65, 0x2e, 0x2a, 0x45, 0x95, 0x4e, 0x80, 0x49, 0x1e, 0x1f, 0x57, 0x50, 0x61, 0xe3, 0x50, - 0x3b, 0x9f, 0x2f, 0x28, 0xc0, 0xb6, 0xf9, 0xb4, 0x95, 0x8b, 0xbb, 0xce, 0x31, 0xba, 0x21, 0xec, - 0x81, 0x5f, 0xbd, 0x8f, 0xc3, 0x4e, 0x47, 0x21, 0xc7, 0x64, 0x32, 0x9b, 0xdd, 0x3f, 0x92, 0x2a, - 0xdc, 0x4e, 0xd5, 0x32, 0x2b, 0x61, 0x66, 0x57, 0x73, 0xf8, 0x2c, 0x0c, 0x20, 0x1f, 0x4c, 0x10, - 0x03, 0x9e, 0x99, 0xfe, 0x4e, 0x49, 0x3a, 0x0e, 0xaa, 0xb2, 0x8a, 0xe0, 0xbb, 0x04, 0x75, 0xbb, - 0x8d, 0x6d, 0x1d, 0xee, 0x8e, 0x16, 0x0d, 0x4c, 0x33, 0xff, 0xfa, 0x89, 0x13, 0xc3, 0xd7, 0xee, - 0x45, 0x53, 0x05, 0x78, 0xff, 0x1f, 0x41, 0x0f, 0xd2, 0x08, 0x66, 0xe3, 0x9a, 0x31, 0x25, 0x1b, - 0xc6, 0x00, 0x8f, 0x07, 0x13, 0xb1, 0x7a, 0x9f, 0x5f, 0x49, 0xe7, 0x9b, 0xc0, 0xbd, 0x5c, 0xa4, - 0xc6, 0xf9, 0xc7, 0xda, 0x1f, 0xfa, 0xb2, 0x7a, 0x0b, 0xed, 0x68, 0xe4, 0x5f, 0xd5, 0x79, 0x65, - 0xb1, 0x7f, 0xf0, 0x84, 0xa6, 0x11, 0x94, 0xd4, 0x23, 0x2c, 0x05, 0x76, 0x5b, 0x22, 0xac, 0x6a, - 0x76, 0x36, 0xf1, 0x3c, 0xd3, 0x0d, 0xd9, 0xae, 0xed, 0xb3, 0x21, 0x75, 0xb6, 0x22, 0x05, 0x17, - 0x7d, 0x40, 0x1a, 0xd3, 0x81, 0x1f, 0x43, 0x50, 0x42, 0xc0, 0x1a, 0x45, 0x00, 0xae, 0x8d, 0x9c, - 0x61, 0xd4, 0xe6, 0xe1, 0x78, 0xf7, 0x17, 0xed, 0x4e, 0x3d, 0x20, 0x1e, 0x2a, 0x26, 0x89, 0x07, - 0x5a, 0x97, 0x44, 0x6f, 0x7b, 0xe8, 0xff, 0x73, 0xb4, 0x20, 0x22, 0xcb, 0xd5, 0xe3, 0xd8, 0xaf, - 0x6b, 0x86, 0xa9, 0xff, 0x04, 0xbe, 0x2b, 0xbf, 0xc8, 0x0d, 0x81, 0x00, 0xf0, 0x7f, 0x79, 0xf7, - 0xbb, 0x0c, 0xa9, 0x69, 0x36, 0x7c, 0x9a, 0xdf, 0x20, 0xcc, 0x29, 0x55, 0x64, 0x66, 0x52, 0x0f, - 0x57, 0x22, 0x57, 0x80, 0x55, 0x96, 0x33, 0xe0, 0x71, 0x73, 0x28, 0x35, 0x06, 0xd1, 0xff, 0xe7, - 0x42, 0x7b, 0x02, 0x6a, 0xa4, 0x94, 0xb9, 0x29, 0x86, 0xef, 0x59, 0x06, 0x14, 0xb0, 0x16, 0x0b, - 0x0b, 0x4a, 0x63, 0x88, 0x14, 0x40, 0x62, 0xd1, 0xcd, 0xcf, 0xf0, 0x64, 0x60, 0xb7, 0x1c, 0x7e, - 0x4b, 0xfc, 0xa2, 0x90, 0x87, 0xb3, 0x75, 0xff, 0xd5, 0x30, 0x09, 0x84, 0x62, 0x7a, 0xe0, 0x9d, - 0x32, 0xa2, 0x33, 0xb5, 0x00, 0x88, 0xb7, 0xc7, 0xe9, 0xbf, 0xdd, 0x97, 0xf4, 0x87, 0x4b, 0x06, - 0xa3, 0x76, 0x4e, 0xaf, 0x8a, 0xe0, 0x1b, 0x02, 0x3e, 0xbf, 0xc2, 0xc3, 0xce, 0x51, 0x2c, 0x47, - 0xfd, 0xf4, 0x37, 0x5e, 0x18, 0xe6, 0xdc, 0xa5, 0x2c, 0x30, 0x54, 0xc2, 0x32, 0x2c, 0xe6, 0x56, - 0xd8, 0x8a, 0x7f, 0x29, 0xbd, 0xba, 0x8b, 0x9a, 0x63, 0x1a, 0x1a, 0x23, 0x27, 0xb0, 0x2a, 0x03, - 0xff, 0xca, 0xf9, 0x0e, 0x50, 0x3d, 0x44, 0xe9, 0xfc, 0x7a, 0x2b, 0xa1, 0xfb, 0x7a, 0x3e, 0x9b, - 0x16, 0xce, 0x3c, 0x06, 0x5e, 0x91, 0x28, 0xfc, 0x5f, 0xfa, 0x69, 0xe0, 0xd6, 0x2c, 0x21, 0x5f, - 0x4a, 0x84, 0xc8, 0x3c, 0xf6, 0x5e, 0x4d, 0x30, 0xc1, 0x45, 0x00, 0xc0, 0x35, 0x70, 0x70, 0xdb, - 0x63, 0x59, 0x39, 0x69, 0xcc, 0x05, 0x6a, 0xdb, 0xda, 0xbf, 0xdd, 0x2f, 0x41, 0xe8, 0xf3, 0xc9, - 0xc0, 0x99, 0xde, 0xfe, 0xc0, 0x48, 0x73, 0xa6, 0x1e, 0x45, 0xe5, 0x2c, 0x48, 0x30, 0x79, 0x5f, - 0x93, 0xdd, 0xb6, 0x45, 0xf4, 0xb5, 0xe9, 0xe4, 0x30, 0x59, 0xf4, 0xb5, 0x11, 0xc8, 0xc6, 0x67, - 0x5c, 0x14, 0x9e, 0x02, 0x46, 0x8f, 0x45, 0x8e, 0xbd, 0xfe, 0xf4, 0x32, 0x36, 0x82, 0xd7, 0xb3, - 0xb0, 0xca, 0xd2, 0x95, 0x51, 0x1f, 0xef, 0xb9, 0x41, 0xca, 0x50, 0xbf, 0x9e, 0x68, 0xd9, 0xa5, - 0x11, 0x69, 0xc5, 0x2b, 0x73, 0x35, 0x78, 0xb3, 0x89, 0x9f, 0xe2, 0x7b, 0xe0, 0x66, 0xa6, 0xeb, - 0xf3, 0x2d, 0xf4, 0x40, 0xe5, 0xec, 0x88, 0x12, 0xa8, 0xd2, 0x3c, 0x04, 0x56, 0xa7, 0x40, 0x6e, - 0xe6, 0xad, 0xc5, 0xc1, 0xb2, 0xd6, 0x90, 0xa3, 0xfd, 0x51, 0xef, 0x94, 0x54, 0x17, 0xa3, 0x7f, - 0x47, 0x6d, 0x73, 0x49, 0xb8, 0x19, 0x62, 0x56, 0x66, 0x4a, 0x51, 0xc5, 0x94, 0x0d, 0x16, 0x84, - 0x20, 0x1b, 0x31, 0xcc, 0x37, 0xbb, 0xe4, 0xa9, 0xf1, 0xc9, 0xe0, 0x51, 0xf7, 0xbb, 0xa4, 0xc8, - 0x1b, 0x0a, 0x21, 0x53, 0x8b, 0xaf, 0x11, 0x1d, 0x0e, 0x20, 0xc6, 0xcf, 0xbf, 0x12, 0x8b, 0x49, - 0xb9, 0xf9, 0xa9, 0x09, 0xe2, 0x67, 0x28, 0xfe, 0xbd, 0xd8, 0xa1, 0x48, 0xbe, 0xb9, 0x7c, 0xd8, - 0xc3, 0xbe, 0xa1, 0x48, 0x7a, 0x86, 0x22, 0x70, 0x4d, 0x38, 0xd3, 0xc1, 0x6e, 0xb9, 0x14, 0x26, - 0x3e, 0x2d, 0xb3, 0xdb, 0xa4, 0x61, 0xda, 0x1b, 0x6a, 0xf8, 0xde, 0x8f, 0x9a, 0x3f, 0x9d, 0x44, - 0xa2, 0xda, 0x24, 0x08, 0x6f, 0xf0, 0x0b, 0x7a, 0x05, 0xa0, 0xec, 0x0c, 0x25, 0xea, 0x67, 0x29, - 0x3f, 0x6d, 0xf0, 0x8b, 0xfb, 0xc9, 0x4c, 0x78, 0x28, 0xb7, 0xe9, 0x07, 0xe5, 0xf5, 0x32, 0x94, - 0x44, 0x77, 0x51, 0x6f, 0x45, 0x54, 0x4e, 0x28, 0x76, 0x42, 0x64, 0xe3, 0x6e, 0x1a, 0x1e, 0x0d, - 0x46, 0x62, 0xd4, 0xaf, 0x1a, 0x67, 0x8f, 0xdd, 0xb3, 0x4b, 0xf9, 0x28, 0xb7, 0xf9, 0xdf, 0x0c, - 0x17, 0x14, 0x10, 0x26, 0x5a, 0x41, 0x3e, 0x2a, 0xd1, 0xdb, 0xf4, 0x6c, 0x39, 0x08, 0x77, 0xc7, - 0xc2, 0x87, 0x0c, 0xb8, 0xbe, 0x5e, 0x88, 0xcb, 0x41, 0xcc, 0x83, 0x6b, 0x34, 0x92, 0x63, 0xdc, - 0x5c, 0xa9, 0xb2, 0xf0, 0xdd, 0xf1, 0xbf, 0xa9, 0x04, 0x86, 0xb1, 0xaa, 0xde, 0xe8, 0xc0, 0x34, - 0x66, 0xfc, 0xcf, 0x90, 0xc4, 0x23, 0xdd, 0xe2, 0x7d, 0x39, 0x7b, 0xa7, 0x02, 0x07, 0xab, 0x1a, - 0xb9, 0xfb, 0x91, 0xca, 0xd9, 0x5c, 0x36, 0xac, 0x0f, 0xcc, 0xaf, 0x7b, 0x5f, 0x69, 0x66, 0x18, - 0x93, 0xcd, 0x0e, 0x76, 0xce, 0x26, 0x38, 0x39, 0x32, 0xdb, 0x0a, 0x8b, 0x87, 0xbc, 0xd1, 0x15, - 0xe2, 0x8f, 0x68, 0xb0, 0x5b, 0x06, 0x25, 0xf9, 0x4e, 0x38, 0x98, 0x61, 0x4b, 0x87, 0x53, 0xd1, - 0xe5, 0xfa, 0x9c, 0x83, 0x43, 0xc2, 0x73, 0x68, 0x1d, 0x43, 0x4a, 0x55, 0xf0, 0x81, 0x1b, 0x39, - 0x65, 0x57, 0x3b, 0x22, 0xe8, 0x7a, 0xc2, 0x3c, 0x93, 0xd3, 0xe2, 0xfb, 0xae, 0x52, 0xd9, 0x96, - 0xee, 0x45, 0x9b, 0xa9, 0x7b, 0x10, 0x23, 0x73, 0xb6, 0xd3, 0x43, 0x61, 0x0f, 0xff, 0x9b, 0x7e, - 0x11, 0x5b, 0x4b, 0x2e, 0x0c, 0x3e, 0xa1, 0x19, 0x4d, 0xdf, 0xd6, 0x4d, 0x69, 0x38, 0xdb, 0x52, - 0x63, 0xfd, 0xcd, 0xf2, 0x55, 0xe7, 0x86, 0xc1, 0x1e, 0x1d, 0x50, 0x4a, 0x43, 0xaa, 0x06, 0xfc, - 0xac, 0x95, 0x0d, 0xde, 0x50, 0x80, 0xb0, 0x66, 0x31, 0x9f, 0xc0, 0xc0, 0x8e, 0x65, 0x61, 0x27, - 0x32, 0x1c, 0x32, 0xc8, 0xc1, 0x47, 0x84, 0x62, 0x02, 0xc2, 0xa3, 0x10, 0x59, 0x78, 0x42, 0x9a, - 0x02, 0xb9, 0x11, 0x9f, 0x73, 0x44, 0xed, 0xd5, 0xc3, 0x44, 0xa6, 0x8b, 0x6a, 0xa8, 0xc2, 0x27, - 0x33, 0x60, 0x47, 0x41, 0x09, 0xf5, 0x61, 0xb0, 0xfa, 0x4c, 0x23, 0x7f, 0xb1, 0xd2, 0x59, 0x73, - 0x66, 0xee, 0x4f, 0xb6, 0xd7, 0x07, 0x92, 0x43, 0x26, 0xa7, 0x1c, 0x03, 0x99, 0x5f, 0x80, 0x7d, - 0x6b, 0x0b, 0xdd, 0x39, 0x13, 0xcd, 0x41, 0x5f, 0x27, 0xed, 0xcd, 0xd4, 0x94, 0xd8, 0x6a, 0x46, - 0x28, 0x9a, 0x06, 0x68, 0x8e, 0x91, 0x76, 0x18, 0x47, 0x61, 0xd4, 0x38, 0x13, 0x60, 0x18, 0x46, - 0x62, 0x93, 0x0f, 0xfb, 0x1d, 0x90, 0xce, 0x1b, 0xee, 0xe5, 0x99, 0xad, 0x3d, 0xaf, 0x84, 0x50, - 0x0f, 0x95, 0x41, 0x8f, 0x1c, 0x77, 0x4e, 0xa2, 0xa4, 0x15, 0x16, 0xda, 0x8c, 0x4d, 0x6b, 0xef, - 0x19, 0x07, 0xb0, 0x7a, 0x3e, 0x86, 0x08, 0x0d, 0x6b, 0x7e, 0xeb, 0x42, 0x0a, 0x15, 0xb4, 0xd4, - 0x13, 0x26, 0x9c, 0x71, 0xe7, 0xdc, 0xef, 0xc7, 0x92, 0xf9, 0x39, 0xe0, 0x4f, 0xff, 0xb7, 0x65, - 0x22, 0xed, 0x03, 0xb9, 0x42, 0xb9, 0xdc, 0xae, 0xcc, 0x72, 0x2c, 0xa8, 0xe5, 0x1e, 0x51, 0x39, - 0xdd, 0x7e, 0x63, 0x52, 0x81, 0xa3, 0xb6, 0x05, 0xe9, 0x69, 0xda, 0x3e, 0x47, 0xf9, 0x11, 0x4e, - 0x49, 0x8b, 0xf4, 0x58, 0x2c, 0x8e, 0x6a, 0xdb, 0x5d, 0x18, 0xcf, 0x9f, 0xf2, 0x87, 0xf3, 0xfe, - 0x13, 0x09, 0x77, 0x8e, 0x6d, 0x09, 0xc4, 0xdc, 0x8e, 0x9d, 0x01, 0x9e, 0x37, 0x69, 0xfb, 0x7b, - 0x75, 0x5c, 0xbb, 0x5e, 0x88, 0x82, 0xab, 0x50, 0x38, 0xd9, 0xe9, 0x44, 0xd2, 0x42, 0xc4, 0x48, - 0x98, 0x6f, 0xb5, 0x80, 0xf9, 0xe5, 0xb6, 0x83, 0x95, 0x67, 0x86, 0x15, 0x82, 0x97, 0x16, 0x3e, - 0x93, 0xbf, 0x3b, 0xc0, 0x8f, 0x39, 0xb0, 0x3b, 0x9f, 0xdb, 0xe5, 0xeb, 0xc7, 0xb6, 0x52, 0x28, - 0x0c, 0x2e, 0xc0, 0xf1, 0x2a, 0x9f, 0x38, 0x98, 0x9d, 0xb5, 0xf1, 0xe5, 0x31, 0xad, 0x5d, 0x71, - 0x68, 0xde, 0xc6, 0x69, 0x5f, 0x4b, 0x02, 0xec, 0xf7, 0x12, 0x66, 0x02, 0x05, 0xd0, 0x1d, 0xee, - 0xdd, 0x2e, 0xe7, 0x5b, 0x41, 0xa8, 0x09, 0x72, 0x8c, 0x6d, 0x66, 0x23, 0x7c, 0x93, 0x50, 0x62, - 0x98, 0xd4, 0xdb, 0x38, 0x84, 0xad, 0x60, 0x66, 0x0b, 0x1d, 0xdd, 0x02, 0x3d, 0x5c, 0x3d, 0x2d, - 0x5c, 0x76, 0xe0, 0x26, 0x60, 0x06, 0x0e, 0x14, 0x41, 0x81, 0x22, 0x82, 0x08, 0xc6, 0x04, 0x0e, - 0x12, 0xee, 0xae, 0x04, 0x02, 0x8c, 0x7d, 0x8d, 0xf0, 0x69, 0xaf, 0x73, 0xbc, 0x20, 0xb4, 0xf3, - 0x7b, 0xeb, 0x83, 0xa8, 0xbf, 0x67, 0xf6, 0x7d, 0x8e, 0xe6, 0xf2, 0x04, 0x40, 0x6a, 0x55, 0x6f, - 0xb6, 0x8c, 0x3f, 0x4c, 0x79, 0x93, 0x37, 0xd7, 0x8e, 0xe4, 0x96, 0xa5, 0xab, 0xed, 0x1c, 0x7a, - 0x3a, 0x1e, 0x9d, 0xb9, 0x5e, 0x0a, 0x66, 0x95, 0xe0, 0xa7, 0x64, 0x35, 0x24, 0x0e, 0x53, 0x2f, - 0x5f, 0x23, 0xc6, 0x82, 0x5d, 0xb4, 0xcd, 0x08, 0xef, 0x7b, 0x36, 0x78, 0x35, 0x66, 0xb1, 0xc4, - 0x5f, 0xc2, 0xc2, 0xb3, 0xf8, 0xcc, 0xfd, 0x58, 0x36, 0xcd, 0xa2, 0x63, 0xb5, 0xd5, 0xf3, 0x11, - 0xf7, 0xf2, 0x16, 0xd0, 0xd8, 0x37, 0xf1, 0x5d, 0x0d, 0x30, 0x5c, 0xe3, 0xe1, 0x5b, 0x8b, 0xcc, - 0x3d, 0x31, 0xf7, 0x4d, 0xf3, 0x34, 0xc5, 0xbc, 0x3b, 0xed, 0x7a, 0xf0, 0x25, 0x6a, 0x3c, 0xd8, - 0x18, 0xb9, 0xcb, 0x71, 0x7d, 0x2b, 0x77, 0x7f, 0x7a, 0x2c, 0x11, 0x5f, 0x73, 0x2a, 0x16, 0xda, - 0xf0, 0x47, 0x1f, 0xa9, 0x28, 0x9c, 0x67, 0x3b, 0x09, 0xc3, 0xf4, 0xe4, 0xdb, 0x14, 0xc9, 0x10, - 0x1e, 0x19, 0xd9, 0x75, 0x17, 0xd7, 0x75, 0xf1, 0x3e, 0x96, 0x22, 0x27, 0x92, 0x93, 0x0c, 0xdc, - 0xd2, 0x1c, 0x26, 0xef, 0x95, 0x9e, 0x2d, 0x17, 0xd4, 0x96, 0xc8, 0x5b, 0x6f, 0xeb, 0x1f, 0x12, - 0x96, 0x18, 0x40, 0x25, 0x85, 0x4d, 0x4a, 0x3c, 0x7e, 0x2e, 0x36, 0xac, 0x06, 0xd8, 0x06, 0x3d, - 0xd7, 0xa9, 0xa3, 0xf9, 0x9c, 0x6e, 0x8c, 0xad, 0x60, 0x5d, 0xab, 0xd1, 0x8a, 0x07, 0x70, 0x7d, - 0x0c, 0x94, 0xe5, 0xc4, 0xc1, 0x33, 0x54, 0x74, 0xf5, 0x99, 0xea, 0x42, 0xa8, 0x27, 0x24, 0x63, - 0x19, 0x8b, 0x17, 0x8b, 0x52, 0xe6, 0xf1, 0x94, 0x8b, 0x61, 0x94, 0x3a, 0xbc, 0xfe, 0x52, 0x5c, - 0xba, 0xda, 0x33, 0xf3, 0x8f, 0xaa, 0xc1, 0x65, 0x0c, 0x8b, 0xbf, 0x66, 0x56, 0x93, 0x58, 0xdb, - 0x6d, 0x00, 0x00, 0x0f, 0xb1, 0xdd, 0x7d, 0x3f, 0x30, 0x2e, 0x42, 0xa8, 0x52, 0xf0, 0xc6, 0xe1, - 0xa6, 0x8a, 0x02, 0xe8, 0xf9, 0x96, 0x8d, 0x48, 0x4b, 0x33, 0x07, 0xee, 0x5e, 0x46, 0xb0, 0x20, - 0x87, 0xe1, 0x09, 0x87, 0x63, 0x46, 0x06, 0x8d, 0xde, 0xd2, 0xc3, 0xa5, 0x47, 0x32, 0xd6, 0xc6, - 0x2e, 0x46, 0xba, 0x85, 0x78, 0x7e, 0xb7, 0x66, 0x47, 0x83, 0x0f, 0xe2, 0xdc, 0xf1, 0x4e, 0x4c, - 0x52, 0xcf, 0x90, 0x70, 0xe6, 0xc7, 0x94, 0x23, 0xa7, 0xca, 0x9c, 0xb3, 0x96, 0xf7, 0xb4, 0xbc, - 0x37, 0x14, 0x50, 0xad, 0x36, 0xba, 0xf4, 0x59, 0x39, 0x32, 0xf3, 0x44, 0xe2, 0x0f, 0x88, 0x24, - 0xc9, 0xf4, 0xca, 0x52, 0xbf, 0xc8, 0x14, 0xa1, 0x9b, 0xa7, 0xdd, 0xf8, 0x5e, 0x1f, 0x9e, 0xd7, - 0x24, 0x96, 0x4f, 0xca, 0xa8, 0xd9, 0x7d, 0x6d, 0x2f, 0x61, 0x08, 0x85, 0x4a, 0xa1, 0x74, 0x43, - 0xa6, 0xf3, 0x3a, 0xfe, 0x2e, 0xdc, 0x89, 0xb3, 0xe9, 0x62, 0xf7, 0x81, 0xb3, 0x58, 0x8a, 0x1e, - 0x3d, 0xa0, 0x87, 0xd3, 0x32, 0x5b, 0x15, 0x08, 0xe5, 0x73, 0xaa, 0xcc, 0xdb, 0x91, 0x29, 0x24, - 0xe7, 0x4c, 0x83, 0x64, 0xd1, 0x99, 0x5c, 0xaf, 0x56, 0x70, 0x9c, 0xde, 0x7a, 0x29, 0xf3, 0x5b, - 0x9d, 0xd7, 0x92, 0x6c, 0x56, 0x2c, 0xcc, 0x47, 0x4d, 0x5a, 0xd4, 0x72, 0xb3, 0x30, 0x2e, 0x06, - 0x0d, 0xbb, 0x8f, 0x53, 0xbe, 0x5c, 0xea, 0x0e, 0x5d, 0x29, 0xcb, 0xc9, 0x07, 0x91, 0x08, 0x62, - 0x0e, 0x8c, 0x46, 0xe4, 0x38, 0xed, 0x91, 0xaa, 0x14, 0x99, 0xc7, 0x5c, 0x44, 0xc3, 0x52, 0xa7, - 0xf3, 0x42, 0x18, 0xa3, 0x7d, 0x38, 0x72, 0x4f, 0x08, 0xba, 0xb2, 0xb9, 0x66, 0x61, 0x00, 0xa3, - 0x6e, 0x64, 0x12, 0x3e, 0x79, 0xc6, 0x38, 0x36, 0x81, 0x77, 0x2a, 0x00, 0x69, 0xe5, 0xa5, 0xb7, - 0x28, 0x06, 0x72, 0xc4, 0x86, 0xd0, 0xc9, 0x27, 0x96, 0xf9, 0xe4, 0xfa, 0xa0, 0xaa, 0x48, 0x6c, - 0x4c, 0xe9, 0xaf, 0x8e, 0xa3, 0x62, 0x9f, 0x64, 0x1d, 0x6d, 0xae, 0x64, 0x49, 0x31, 0x5c, 0xb8, - 0x2f, 0x35, 0x85, 0x18, 0x3d, 0x6b, 0xf1, 0x6a, 0xf3, 0x05, 0x57, 0xb0, 0x96, 0x5b, 0x31, 0xc7, - 0x04, 0xac, 0x67, 0x97, 0xff, 0x1b, 0x0e, 0x73, 0x39, 0x8e, 0xa6, 0xcb, 0x7e, 0x94, 0xdc, 0xc5, - 0xcf, 0xcd, 0x82, 0xd5, 0x0e, 0xff, 0xf3, 0x30, 0xf7, 0x63, 0xb0, 0x1f, 0xf1, 0x20, 0x66, 0xf0, - 0x10, 0x65, 0x6a, 0xfe, 0xb6, 0xd7, 0xca, 0x91, 0x63, 0x55, 0x22, 0x2f, 0x53, 0xf1, 0x02, 0x30, - 0xfd, 0x83, 0x37, 0x98, 0x90, 0x9c, 0x28, 0x4a, 0x0f, 0x5e, 0x12, 0x89, 0x9f, 0x9e, 0xe7, 0x02, - 0xb7, 0xaa, 0x89, 0xe6, 0xf4, 0x08, 0xb8, 0x82, 0xff, 0xd5, 0xbc, 0x8d, 0x39, 0x11, 0xd0, 0x01, - 0xd6, 0x84, 0x9b, 0x92, 0x81, 0x73, 0xf5, 0x1b, 0x52, 0x4e, 0xba, 0x91, 0x10, 0xfa, 0xe8, 0x7a, - 0x25, 0x5e, 0xc1, 0x06, 0xcd, 0x38, 0x2e, 0xe6, 0x54, 0x91, 0x69, 0x97, 0x16, 0xdc, 0xa1, 0x7e, - 0xe7, 0x67, 0x09, 0x60, 0x8b, 0x26, 0x71, 0x9a, 0xae, 0x97, 0xf2, 0x29, 0x7d, 0x52, 0x4d, 0x69, - 0x2d, 0xe1, 0x94, 0xf8, 0xb0, 0x50, 0xee, 0xa6, 0x83, 0xc8, 0x78, 0xd6, 0xce, 0x69, 0x9d, 0xee, - 0xd5, 0xab, 0x45, 0xc7, 0xfe, 0x40, 0xba, 0x1f, 0xfe, 0x05, 0x85, 0x1b, 0x17, 0xb6, 0x06, 0x02, - 0xcc, 0x23, 0x21, 0xa9, 0x02, 0xfd, 0x6c, 0x23, 0xe0, 0xe4, 0xa0, 0xa1, 0x99, 0x4b, 0xbd, 0x8d, - 0xff, 0xfc, 0x1a, 0xea, 0x90, 0x23, 0x14, 0x11, 0x32, 0xfe, 0x53, 0x8e, 0x2b, 0xe1, 0xab, 0x08, - 0xfc, 0xfb, 0xb6, 0x59, 0x9c, 0x94, 0x18, 0xf8, 0x8b, 0xe1, 0xa2, 0xb5, 0x22, 0xc4, 0x45, 0xa8, - 0x98, 0x83, 0x63, 0x55, 0x4b, 0x59, 0xfd, 0x4e, 0x3f, 0x9a, 0x73, 0xc3, 0x86, 0x71, 0xf8, 0xbb, - 0x8d, 0x07, 0x0f, 0xe4, 0xd3, 0xaf, 0xa8, 0x91, 0xd5, 0x36, 0xb2, 0xfb, 0x3d, 0x0c, 0x87, 0xff, - 0x84, 0xfa, 0x2c, 0xf8, 0x2c, 0x65, 0xf3, 0xc0, 0x22, 0xfe, 0x9e, 0x13, 0x15, 0x98, 0x5d, 0xe7, - 0x45, 0x91, 0x54, 0xd8, 0x6f, 0x10, 0x9f, 0x31, 0xbb, 0x30, 0x15, 0xad, 0xbe, 0x75, 0xc8, 0xfe, - 0x38, 0x8d, 0x28, 0x13, 0xa5, 0xa2, 0x85, 0x22, 0x19, 0x97, 0x87, 0x88, 0x7e, 0x68, 0x2a, 0xf3, - 0xab, 0x32, 0x6b, 0xbf, 0xf9, 0xf1, 0x82, 0xe9, 0x77, 0x38, 0x4a, 0xda, 0x94, 0x7d, 0x79, 0xd7, - 0xb6, 0xf1, 0x76, 0xe2, 0xbe, 0xff, 0xa0, 0x68, 0x7a, 0x2b, 0x96, 0x5c, 0x05, 0x3b, 0x02, 0xf0, - 0xf1, 0x79, 0xbe, 0xc8, 0xd4, 0x55, 0x64, 0xd6, 0xb9, 0x9b, 0x7a, 0x72, 0x2b, 0xc1, 0xd2, 0x7d, - 0x3c, 0x35, 0x5d, 0x21, 0xa4, 0xb5, 0x16, 0x5d, 0x8d, 0xcc, 0x31, 0x45, 0x62, 0x51, 0x2e, 0x52, - 0x59, 0x96, 0x40, 0x4e, 0x2f, 0x64, 0x4a, 0x57, 0xdf, 0xc9, 0x32, 0x31, 0xe9, 0xae, 0xad, 0x2b, - 0x28, 0x44, 0x9b, 0xff, 0x70, 0x5d, 0xf1, 0xe7, 0xd3, 0x61, 0x27, 0x08, 0x72, 0xb0, 0x85, 0x54, - 0xf4, 0x27, 0x78, 0x62, 0xfb, 0x46, 0xa2, 0x1d, 0x2e, 0x45, 0x13, 0x1f, 0xb0, 0x53, 0x04, 0x70, - 0x0d, 0x22, 0xb6, 0x27, 0x5f, 0xf4, 0xc3, 0x18, 0xbc, 0x50, 0x4b, 0xf3, 0x42, 0x84, 0xd0, 0x63, - 0x55, 0x9e, 0x7b, 0xf1, 0x49, 0x4d, 0x0d, 0x39, 0x9c, 0xf6, 0xb7, 0x94, 0x7f, 0xd0, 0x2e, 0x93, - 0xe8, 0xb4, 0x3d, 0x88, 0xe9, 0xeb, 0xa1, 0x13, 0xe9, 0x0b, 0x09, 0x21, 0xbc, 0xc1, 0x5e, 0xd1, - 0x8d, 0x76, 0x10, 0x4a, 0xc1, 0x18, 0x71, 0x43, 0xaa, 0x27, 0x43, 0x5a, 0xd0, 0x25, 0x18, 0xd5, - 0x91, 0x7f, 0x64, 0x12, 0xd0, 0xf9, 0x54, 0x73, 0xb7, 0x86, 0xf8, 0xed, 0x93, 0xc7, 0xa8, 0xc2, - 0x75, 0x0c, 0x39, 0xd4, 0x39, 0x30, 0x77, 0x3f, 0xe2, 0x0f, 0xdb, 0xcb, 0xbc, 0xcd, 0xdf, 0xa1, - 0x97, 0x44, 0x92, 0x9f, 0x55, 0xda, 0x6b, 0x3a, 0x82, 0x28, 0xad, 0x36, 0xe4, 0x6a, 0x87, 0xf6, - 0x9f, 0xef, 0xf9, 0xa8, 0x09, 0xed, 0xfe, 0x38, 0xe2, 0x04, 0x12, 0xbb, 0xae, 0xf8, 0xcf, 0xb9, - 0x74, 0x38, 0x33, 0x75, 0x98, 0x6c, 0x05, 0x6d, 0xa9, 0x83, 0x57, 0x65, 0x31, 0x4b, 0x0f, 0xb0, - 0x68, 0xa1, 0x0f, 0x40, 0xbb, 0x42, 0xe3, 0xc1, 0x60, 0x5f, 0xe9, 0xac, 0x76, 0x13, 0x59, 0x94, - 0xd0, 0x94, 0x8f, 0xf1, 0x2d, 0x63, 0xe8, 0x6b, 0xfb, 0x1d, 0x31, 0x36, 0x10, 0xdd, 0xbd, 0x3f, - 0x17, 0x12, 0x7c, 0x50, 0xe0, 0xd4, 0x86, 0x13, 0x23, 0xa6, 0xdb, 0xe3, 0xe5, 0x51, 0x7d, 0x33, - 0xf3, 0x8c, 0x72, 0xe3, 0xd1, 0x22, 0x50, 0x0e, 0xce, 0xd7, 0x5e, 0x29, 0x32, 0xfe, 0xa3, 0x14, - 0x59, 0xcc, 0xdc, 0x9b, 0xb9, 0xab, 0x26, 0x9d, 0x69, 0x7d, 0xf5, 0xb6, 0x7e, 0xb2, 0x6b, 0x69, - 0x94, 0xe8, 0xe8, 0x61, 0x00, 0x57, 0x4c, 0xf5, 0x7a, 0x92, 0x3b, 0x91, 0x93, 0x9b, 0xb2, 0x1a, - 0x08, 0x47, 0x41, 0x91, 0xc4, 0x1f, 0xea, 0x90, 0xf9, 0xf7, 0x4c, 0x19, 0xf0, 0x7a, 0xbc, 0xab, - 0x01, 0x05, 0xfb, 0x26, 0x28, 0x20, 0x1c, 0x0e, 0x0e, 0x5e, 0x6e, 0x8a, 0x53, 0x88, 0xf5, 0x60, - 0xd9, 0x22, 0xcf, 0x47, 0x9f, 0xa0, 0x1e, 0x69, 0x4a, 0x51, 0xaf, 0x6c, 0x77, 0x68, 0x2e, 0xce, - 0x36, 0xdd, 0xdc, 0x0b, 0x95, 0x97, 0xfc, 0x30, 0xe1, 0xb9, 0xd7, 0xc6, 0x02, 0x43, 0x63, 0x29, - 0x79, 0x9f, 0x69, 0xf1, 0xdd, 0x18, 0x99, 0x67, 0xea, 0x60, 0x3c, 0x3e, 0x59, 0x3c, 0x92, 0xbf, - 0x7f, 0xcf, 0x4f, 0xcd, 0x58, 0x43, 0x84, 0x82, 0x7d, 0x0e, 0x83, 0xd5, 0xf3, 0xd2, 0x5e, 0xf2, - 0xbd, 0x27, 0xea, 0xfa, 0x9b, 0xaf, 0x56, 0x69, 0x94, 0x9c, 0x1d, 0x39, 0xb8, 0xc4, 0x83, 0x6d, - 0x2b, 0x43, 0x0b, 0x14, 0x24, 0x7d, 0x9d, 0xa6, 0x48, 0x6e, 0x13, 0xe1, 0x5a, 0x8e, 0xcf, 0xd4, - 0x1b, 0xd1, 0xd7, 0x3c, 0x23, 0x2f, 0x36, 0x8d, 0xa2, 0xc1, 0x95, 0x02, 0x79, 0x0d, 0xae, 0x6d, - 0x52, 0xbf, 0xc4, 0xb9, 0x12, 0x69, 0xcc, 0x43, 0x8f, 0xd9, 0xeb, 0xec, 0x36, 0x3f, 0x38, 0x66, - 0x7c, 0x29, 0x33, 0x3c, 0x65, 0x40, 0xbb, 0x78, 0x02, 0x8d, 0xb7, 0x88, 0x64, 0xe3, 0xc7, 0x0c, - 0xb6, 0x96, 0x23, 0xcc, 0x33, 0xb1, 0x77, 0x07, 0x38, 0x28, 0xfa, 0x68, 0x86, 0x1d, 0xa7, 0x0d, - 0xa6, 0x92, 0x8c, 0x0e, 0xd8, 0x68, 0x5a, 0x69, 0xd4, 0xc6, 0xe5, 0x39, 0x94, 0x9c, 0x48, 0xb5, - 0xd2, 0xf3, 0x5d, 0x9a, 0x98, 0xcd, 0x40, 0x27, 0xa7, 0xb9, 0x3d, 0x50, 0x11, 0x7f, 0xd3, 0xd2, - 0xb6, 0x55, 0x6b, 0xee, 0x45, 0xe7, 0x9a, 0xb0, 0xb5, 0x12, 0x44, 0x14, 0x1c, 0xc9, 0xb2, 0x73, - 0x5d, 0x11, 0xac, 0xb8, 0x77, 0xf7, 0x28, 0x09, 0x9d, 0x83, 0x50, 0x81, 0xe5, 0x1d, 0x47, 0x28, - 0x15, 0x64, 0x55, 0x21, 0x9b, 0xd0, 0x23, 0xd9, 0xf4, 0x83, 0x43, 0x2f, 0xa2, 0x50, 0x83, 0x0c, - 0x90, 0x77, 0xc7, 0x36, 0xf2, 0x59, 0x20, 0x3a, 0x09, 0xc9, 0xa4, 0x0a, 0xe0, 0xe6, 0x1b, 0xd2, - 0x0c, 0xc2, 0xb7, 0x3f, 0xd4, 0x69, 0x5c, 0x06, 0xd1, 0x2c, 0x2d, 0xb0, 0x29, 0xbe, 0xdb, 0x71, - 0x52, 0x29, 0x94, 0x67, 0xf2, 0x7a, 0xcc, 0x54, 0x37, 0x96, 0x77, 0x16, 0xc1, 0x14, 0x46, 0x00, - 0xa3, 0x71, 0x8f, 0xe0, 0xe5, 0x88, 0xbc, 0xea, 0xfa, 0x99, 0x27, 0x56, 0xdd, 0x3c, 0xa8, 0xda, - 0x96, 0x1e, 0x50, 0x1e, 0xb0, 0x3c, 0xa8, 0x85, 0x47, 0x48, 0xe5, 0xab, 0xdc, 0x27, 0x1a, 0x28, - 0xb2, 0x39, 0xf7, 0x16, 0xc0, 0x93, 0xed, 0xfa, 0x7f, 0xa0, 0x8e, 0x8a, 0xf6, 0x28, 0x4a, 0xa9, - 0x29, 0x72, 0xee, 0xb5, 0xab, 0xdc, 0x1e, 0xa4, 0x3d, 0xcc, 0x9e, 0xc1, 0xbe, 0x3e, 0xcb, 0x21, - 0x85, 0x5d, 0xb4, 0xd7, 0x31, 0x59, 0xfb, 0xca, 0x01, 0x3d, 0x34, 0x07, 0x1f, 0xea, 0x82, 0xa1, - 0x71, 0x3e, 0x4e, 0x89, 0xfe, 0x53, 0xe9, 0x2d, 0x4c, 0x57, 0x79, 0x74, 0xbb, 0xff, 0xc1, 0x05, - 0xc9, 0xb3, 0x27, 0xb0, 0xad, 0x51, 0x52, 0x97, 0xe6, 0x49, 0x43, 0x04, 0x39, 0x77, 0x9a, 0x7a, - 0x3b, 0xf9, 0x09, 0x0b, 0x9f, 0xa1, 0x88, 0x2d, 0x75, 0xec, 0x9f, 0xea, 0xf7, 0x99, 0x8d, 0x5b, - 0x2e, 0x1f, 0x5f, 0xb6, 0xa6, 0xb9, 0x93, 0xb0, 0x96, 0x6e, 0xb1, 0xdf, 0x0e, 0x48, 0x4d, 0xad, - 0x0a, 0xb4, 0x93, 0x30, 0x5e, 0x0a, 0xae, 0x05, 0xe1, 0x14, 0x3d, 0x68, 0x4f, 0x0d, 0x94, 0xcf, - 0x25, 0xe4, 0xa6, 0x95, 0x12, 0xe5, 0xf2, 0x56, 0xeb, 0x67, 0x7c, 0x3e, 0xb2, 0xc2, 0xb5, 0xd0, - 0x4a, 0x78, 0x64, 0x41, 0x1d, 0xdb, 0x08, 0x6e, 0x43, 0x2e, 0x7c, 0x17, 0x7f, 0x5c, 0x34, 0x82, - 0x73, 0x46, 0x7e, 0xb6, 0xe3, 0x3d, 0x73, 0x5a, 0xba, 0x48, 0x5c, 0xf2, 0x72, 0xfc, 0x6d, 0x36, - 0x3a, 0x98, 0x2f, 0x49, 0xce, 0x20, 0xc3, 0xfa, 0x85, 0x9d, 0x72, 0x0e, 0x0a, 0xf4, 0x6f, 0x0a, - 0xf6, 0xaf, 0xd8, 0x93, 0x1f, 0x83, 0xa5, 0x70, 0x8a, 0x0f, 0x46, 0xfd, 0xe1, 0xb9, 0xe3, 0xc9, - 0x7b, 0x6b, 0x7d, 0x34, 0x26, 0x77, 0x8e, 0x85, 0x32, 0xc1, 0x35, 0x8e, 0x11, 0x73, 0xb1, 0x87, - 0x28, 0x99, 0x18, 0x10, 0x26, 0xcd, 0xf6, 0x51, 0x14, 0x9b, 0x9d, 0x37, 0x02, 0xc7, 0x02, 0x06, - 0xc4, 0xfd, 0x2d, 0xec, 0x28, 0x00, 0x10, 0x8d, 0x6e, 0x12, 0x4a, 0x29, 0x13, 0x86, 0xb8, 0x33, - 0xf3, 0xd1, 0xf7, 0x96, 0xa1, 0x47, 0x73, 0xdc, 0x0e, 0xab, 0x6c, 0xa9, 0x34, 0xcd, 0x2b, 0x9d, - 0xeb, 0x74, 0x90, 0x7e, 0x67, 0x98, 0x11, 0x7c, 0x52, 0x3d, 0xae, 0x49, 0x8e, 0x64, 0x2b, 0x9c, - 0x85, 0xc4, 0x71, 0xc6, 0x59, 0x37, 0x6b, 0xaf, 0x0e, 0x77, 0xec, 0x17, 0x58, 0x51, 0x7e, 0x46, - 0x76, 0x2e, 0x7f, 0x4d, 0x8c, 0x73, 0x57, 0x36, 0xba, 0x86, 0x70, 0xa7, 0xd9, 0xe5, 0xd6, 0xf6, - 0xfc, 0xcd, 0x77, 0x89, 0xb9, 0x4b, 0x19, 0x9f, 0xe0, 0x53, 0x91, 0x66, 0x87, 0x3a, 0x7a, 0xa9, - 0x79, 0x56, 0x99, 0x62, 0xbc, 0x27, 0xb6, 0x29, 0x06, 0x4d, 0xa0, 0xd3, 0xb5, 0x22, 0x02, 0x73, - 0xed, 0x26, 0x57, 0x00, 0x74, 0x42, 0xc0, 0x13, 0x8f, 0x4f, 0x05, 0x68, 0x63, 0x84, 0x33, 0x85, - 0x13, 0x21, 0x4b, 0x2b, 0xae, 0x78, 0x11, 0xa5, 0x2a, 0xa5, 0xde, 0x1a, 0x6b, 0x89, 0xe9, 0x43, - 0x38, 0xdf, 0x6d, 0x7e, 0x2b, 0x4f, 0x65, 0x70, 0xf3, 0x30, 0xc1, 0x2e, 0x60, 0x3d, 0x76, 0x0f, - 0xd6, 0xc2, 0xf0, 0xeb, 0x21, 0x61, 0xb0, 0x51, 0x44, 0xcb, 0x50, 0x88, 0xc4, 0xbb, 0x6a, 0x5f, - 0x22, 0xdc, 0xd1, 0x30, 0x5e, 0x7a, 0x2b, 0x9d, 0x9b, 0x9f, 0x54, 0x84, 0xd0, 0x8c, 0x66, 0x1a, - 0x42, 0x2e, 0x31, 0x44, 0xa6, 0x94, 0x8b, 0x83, 0xb5, 0xcc, 0x4f, 0x41, 0x26, 0x8a, 0xa4, 0xad, - 0x60, 0xda, 0xa3, 0x3a, 0xf6, 0x9f, 0xce, 0xce, 0x91, 0x31, 0x8d, 0x8b, 0x97, 0x1d, 0x6d, 0x7b, - 0xe2, 0x7c, 0x76, 0xc0, 0x65, 0x35, 0x17, 0x2f, 0xc6, 0x13, 0x8e, 0x2c, 0x93, 0x48, 0xcc, 0xfa, - 0x6e, 0x80, 0xfd, 0xd5, 0xfa, 0x35, 0x05, 0x22, 0x53, 0xee, 0x2c, 0xbf, 0x95, 0xde, 0x86, 0xcb, - 0x9e, 0x49, 0x94, 0x28, 0x60, 0x6a, 0xae, 0x28, 0xac, 0x6b, 0x0c, 0x14, 0x95, 0x4c, 0xa1, 0xb9, - 0xdf, 0x49, 0xa2, 0xa9, 0x18, 0x99, 0x5e, 0x63, 0x16, 0x8a, 0x07, 0xd7, 0xd0, 0x7f, 0x7e, 0xd0, - 0x55, 0x10, 0x9d, 0xc9, 0x4e, 0x7d, 0xa3, 0x2d, 0xe1, 0x98, 0x10, 0x1f, 0xde, 0xc1, 0xd1, 0x5a, - 0x8e, 0x4d, 0x14, 0x29, 0xaa, 0xfa, 0x88, 0x26, 0x15, 0x8f, 0x81, 0xb1, 0xe2, 0x1d, 0xd4, 0x07, - 0x62, 0xef, 0x6a, 0xc8, 0xcd, 0xd2, 0x92, 0x6d, 0xb3, 0x92, 0x46, 0x9a, 0xed, 0x63, 0x25, 0x9a, - 0x23, 0x43, 0x6c, 0x58, 0x63, 0x85, 0xca, 0xe8, 0xb2, 0xdd, 0xd8, 0x89, 0x3e, 0x0a, 0x55, 0x15, - 0xcd, 0x84, 0x4a, 0xc8, 0xd0, 0x01, 0x61, 0x3e, 0xe0, 0x36, 0x8e, 0x72, 0x98, 0xad, 0xda, 0x6d, - 0xc3, 0x63, 0x0e, 0x57, 0xf6, 0x3d, 0x6b, 0xbd, 0xfe, 0x70, 0x39, 0xfb, 0xc6, 0x3b, 0x51, 0x15, - 0xe3, 0x9e, 0xaf, 0xab, 0x9a, 0x3b, 0x38, 0x50, 0xe6, 0x86, 0x67, 0xb0, 0xef, 0x6d, 0x60, 0x1d, - 0x43, 0x69, 0x74, 0x5e, 0xa5, 0x02, 0xa0, 0x7e, 0xf2, 0x97, 0xb7, 0x32, 0xb9, 0x91, 0xd1, 0x3f, - 0xb0, 0x6d, 0x21, 0x42, 0x9d, 0xdc, 0xca, 0x0e, 0x3d, 0x3b, 0xd4, 0x32, 0x30, 0x12, 0xc4, 0xc5, - 0xdd, 0x65, 0x19, 0x7c, 0xe0, 0x52, 0xd0, 0x7b, 0x1e, 0x8f, 0xdd, 0x8b, 0x8d, 0x57, 0x4d, 0x87, - 0xf9, 0x6d, 0x60, 0x2d, 0x93, 0x0a, 0x42, 0x23, 0x94, 0x54, 0x77, 0x96, 0x55, 0xb1, 0x7c, 0x0a, - 0xd5, 0xfd, 0x0f, 0xc6, 0x0d, 0xb9, 0xdc, 0x25, 0x06, 0xbc, 0x40, 0x45, 0x5d, 0xe3, 0xbb, 0xea, - 0x10, 0x7d, 0x9d, 0x60, 0x72, 0x4f, 0x61, 0x6b, 0x08, 0x76, 0x30, 0x33, 0x63, 0xe1, 0xb9, 0x9e, - 0x21, 0xe7, 0x28, 0xc4, 0x32, 0x36, 0x19, 0xf6, 0x62, 0x27, 0x56, 0x34, 0xa9, 0x78, 0x02, 0x8a, - 0xf8, 0x37, 0x6c, 0xd2, 0x7e, 0x8b, 0x70, 0xe5, 0xdf, 0x67, 0xaf, 0x0c, 0x42, 0x99, 0xcc, 0x8f, - 0x9d, 0xf5, 0xb6, 0xd2, 0xdf, 0xa5, 0xf3, 0x7a, 0xea, 0x59, 0xde, 0x6e, 0x7d, 0xa1, 0x50, 0xe7, - 0xf4, 0xef, 0x6f, 0xb3, 0x89, 0x04, 0x79, 0xff, 0x9e, 0xd1, 0xee, 0xc3, 0x6c, 0x8c, 0x68, 0xc0, - 0xa5, 0x41, 0xe7, 0xda, 0xf9, 0xfb, 0x11, 0x81, 0xef, 0x40, 0xb4, 0x8e, 0x93, 0x93, 0xbe, 0x97, - 0x4f, 0x86, 0x59, 0x1e, 0x3d, 0xca, 0x9f, 0xc7, 0x0c, 0x9c, 0x47, 0x4e, 0xea, 0xe4, 0x07, 0x81, - 0xe9, 0x87, 0x31, 0xba, 0xe1, 0xc6, 0x02, 0x17, 0x76, 0x83, 0x11, 0x8c, 0xe3, 0xd0, 0xc7, 0xcb, - 0x13, 0x22, 0x5f, 0x43, 0xc0, 0x8b, 0xf9, 0x5e, 0x5b, 0x4a, 0x5e, 0x7b, 0x16, 0xd4, 0x1f, 0x67, - 0x7b, 0x43, 0xf1, 0x67, 0x1b, 0x64, 0xd4, 0xb9, 0x14, 0x5e, 0x28, 0xaf, 0x4a, 0x62, 0x4d, 0xb3, - 0x64, 0xa0, 0x97, 0x6f, 0x90, 0x9b, 0xf3, 0x44, 0x13, 0x90, 0x50, 0xbf, 0x59, 0xb6, 0x25, 0x8f, - 0x84, 0xee, 0x8c, 0x4f, 0x3f, 0xa6, 0x8d, 0xce, 0x43, 0xae, 0x62, 0xeb, 0x6e, 0xc2, 0x24, 0xed, - 0x0f, 0x7a, 0xed, 0x09, 0x5e, 0x99, 0x80, 0x8c, 0x33, 0xfe, 0x92, 0x76, 0x3e, 0xda, 0x44, 0x4a, - 0x2f, 0xd4, 0xc5, 0x9a, 0xd2, 0x53, 0x20, 0x8a, 0x73, 0x5e, 0x5b, 0x63, 0x70, 0xab, 0x56, 0x52, - 0x5b, 0x8a, 0x2e, 0xff, 0xf1, 0x38, 0x87, 0xa5, 0x61, 0xbc, 0x3a, 0xcc, 0x51, 0xdf, 0x74, 0x82, - 0x10, 0x82, 0x4f, 0xf8, 0xb4, 0x79, 0x55, 0x9e, 0x2d, 0x6f, 0xcb, 0x8a, 0x53, 0x56, 0xd5, 0xd4, - 0x85, 0x54, 0x0a, 0x50, 0xfa, 0x17, 0x7d, 0x24, 0xd0, 0x9a, 0xbe, 0xba, 0x0e, 0xbf, 0xce, 0xc4, - 0x7f, 0x6e, 0x40, 0xc1, 0x49, 0x09, 0xb1, 0xaf, 0x08, 0xd6, 0x34, 0x9c, 0x7d, 0xc1, 0xc4, 0x3f, - 0x0b, 0x9a, 0x70, 0x43, 0x88, 0x39, 0xd9, 0xc6, 0x2b, 0xc0, 0x2e, 0xd4, 0x29, 0xfe, 0x0e, 0x02, - 0x51, 0x3d, 0x78, 0x63, 0x66, 0x86, 0x8a, 0x54, 0x4d, 0xa2, 0x3c, 0xd2, 0x6a, 0xd6, 0xae, 0xe4, - 0xe7, 0x2a, 0xc2, 0xff, 0xa6, 0xf5, 0xe6, 0x05, 0x63, 0xcb, 0x94, 0xc9, 0xb1, 0xea, 0xb5, 0x5f, - 0xb0, 0x8d, 0xe2, 0x6d, 0xe0, 0x2e, 0x00, 0xcb, 0xb2, 0x38, 0x2e, 0x81, 0x4c, 0x20, 0x59, 0x80, - 0xc9, 0x4c, 0x94, 0x58, 0xee, 0x08, 0xe0, 0x11, 0xa9, 0xae, 0xa0, 0x93, 0x77, 0xf5, 0xe1, 0x5b, - 0x16, 0xa5, 0x96, 0xd1, 0x4e, 0x73, 0x33, 0x37, 0xd0, 0x2d, 0x62, 0xa7, 0x24, 0x85, 0x48, 0x9c, - 0xf6, 0x4d, 0x9e, 0x7b, 0xb0, 0xf9, 0x6e, 0x85, 0xe3, 0x10, 0x14, 0x36, 0xad, 0xd6, 0x34, 0x26, - 0x82, 0xd6, 0xdf, 0x9a, 0x1b, 0xfe, 0x33, 0xb7, 0xad, 0x49, 0x10, 0xaf, 0x94, 0x18, 0xcd, 0x42, - 0xd6, 0x58, 0xf8, 0x4f, 0x53, 0x55, 0xdf, 0x7c, 0xcb, 0x4e, 0x51, 0xd0, 0x94, 0xcc, 0xfd, 0x28, - 0x59, 0xd7, 0x9c, 0x8b, 0xe9, 0xf4, 0x97, 0x54, 0xe2, 0x71, 0x3a, 0x38, 0xb2, 0x9f, 0x81, 0x1e, - 0xd3, 0x82, 0x17, 0x32, 0xa1, 0x66, 0x89, 0xa5, 0x48, 0x38, 0xdc, 0x08, 0x39, 0xce, 0x7f, 0x66, - 0x2d, 0x64, 0x39, 0xcc, 0x87, 0xd9, 0xfb, 0x02, 0xe9, 0x24, 0x09, 0xca, 0xf7, 0x96, 0x53, 0x40, - 0x7b, 0x76, 0x73, 0x3e, 0x72, 0x19, 0x8a, 0x1f, 0xdb, 0x61, 0x3b, 0x9f, 0xc6, 0xa5, 0x70, 0x89, - 0xd7, 0x7a, 0x7f, 0xe0, 0x04, 0x19, 0x30, 0xc8, 0x10, 0xe0, 0x18, 0x50, 0xd8, 0x85, 0x94, 0x1f, - 0xc7, 0x02, 0x66, 0x6b, 0x3d, 0x61, 0xd9, 0xe2, 0xb6, 0x4d, 0x9e, 0x8b, 0xcb, 0xb9, 0x51, 0x48, - 0x20, 0x8d, 0xf6, 0xe3, 0xf4, 0x69, 0x0b, 0xfe, 0x9e, 0x22, 0x4e, 0xf0, 0xe9, 0xd9, 0xac, 0x25, - 0xd0, 0x9c, 0xb7, 0xa9, 0xc5, 0xf9, 0x3b, 0xcc, 0x56, 0x0e, 0xce, 0x32, 0x03, 0x09, 0x6e, 0x22, - 0x15, 0xb9, 0x29, 0x0f, 0x4b, 0x18, 0xbd, 0x40, 0xd9, 0x53, 0x19, 0x67, 0xd9, 0x5d, 0x1f, 0x80, - 0x01, 0x33, 0x69, 0xb0, 0xf0, 0x44, 0x98, 0x2f, 0x0b, 0x10, 0x49, 0xb0, 0xce, 0x3e, 0x67, 0x53, - 0xae, 0x4a, 0x89, 0x8b, 0xa9, 0x1c, 0x66, 0x62, 0x71, 0x46, 0x17, 0x29, 0x09, 0x52, 0xd3, 0xab, - 0x5e, 0xdf, 0xf3, 0x8d, 0xc5, 0x56, 0x3d, 0x1b, 0x14, 0x12, 0xd7, 0x98, 0xd0, 0xff, 0x6a, 0xbc, - 0xef, 0x03, 0x74, 0x76, 0xbb, 0xb3, 0x4d, 0xb8, 0xf4, 0xcc, 0x2f, 0x53, 0x34, 0xb5, 0x7d, 0xb7, - 0x0f, 0xc1, 0xc3, 0xba, 0x4e, 0x20, 0x99, 0xc5, 0xed, 0xc4, 0xa7, 0x31, 0x85, 0xe3, 0x73, 0x15, - 0xea, 0x29, 0x4d, 0xd4, 0xf1, 0xca, 0x19, 0x2e, 0x59, 0xa0, 0x0b, 0x7b, 0xfa, 0x01, 0x64, 0x47, - 0xbc, 0x49, 0xaf, 0x2f, 0xe5, 0x51, 0x57, 0x94, 0xe1, 0x58, 0x80, 0xa6, 0xb1, 0xb2, 0x2e, 0x07, - 0x06, 0x93, 0xac, 0x61, 0xe4, 0xd9, 0x55, 0xc3, 0xa3, 0xc4, 0x9a, 0x2f, 0x8e, 0xd5, 0xd5, 0x2a, - 0x38, 0x33, 0x4a, 0xa0, 0x33, 0xb5, 0x8b, 0x64, 0xea, 0x79, 0xd7, 0x5e, 0xa5, 0xf2, 0x3d, 0x36, - 0x05, 0x09, 0x94, 0xe9, 0xc2, 0xfb, 0xc5, 0x97, 0x73, 0x92, 0xf9, 0x5b, 0x85, 0x4a, 0x02, 0x8b, - 0xc2, 0xde, 0x14, 0x68, 0x9b, 0x89, 0xb2, 0x75, 0xd9, 0x6e, 0x69, 0x69, 0x8c, 0x03, 0xa2, 0xcf, - 0x92, 0x99, 0x34, 0x2b, 0x81, 0xb5, 0xad, 0xde, 0x8a, 0x62, 0xc6, 0xd9, 0x50, 0x5a, 0xe7, 0x61, - 0x73, 0x5f, 0xc8, 0x00, 0xf0, 0x2b, 0x32, 0xf3, 0xd2, 0xed, 0x01, 0xcc, 0xc9, 0x98, 0x42, 0xa8, - 0xa3, 0xa8, 0xcf, 0xde, 0x9f, 0xcc, 0xdb, 0x14, 0xe2, 0x08, 0xa8, 0x63, 0xbe, 0x93, 0xd5, 0x75, - 0x76, 0xb7, 0x70, 0xa0, 0xb2, 0x6f, 0x67, 0x63, 0x71, 0xff, 0x0a, 0xd8, 0x71, 0x2d, 0x0b, 0x5e, - 0x4a, 0x2e, 0x9a, 0x17, 0xc2, 0x68, 0x25, 0xef, 0xd5, 0xed, 0xf4, 0x15, 0xd5, 0x14, 0x55, 0xca, - 0xd0, 0x67, 0x5e, 0x84, 0x9f, 0xa8, 0xda, 0xc3, 0x2f, 0x8b, 0x78, 0x22, 0x43, 0xf4, 0x50, 0x07, - 0xfc, 0x7d, 0x16, 0x92, 0x8b, 0xe4, 0xbc, 0xfc, 0x06, 0x9a, 0x0b, 0x6b, 0xaf, 0x1f, 0x24, 0x21, - 0xb1, 0xe8, 0xa1, 0x45, 0x20, 0xe4, 0x16, 0x1e, 0x0f, 0x6d, 0x88, 0xcb, 0xc3, 0x10, 0xc6, 0x92, - 0xcb, 0x3c, 0x3f, 0x62, 0xed, 0x67, 0xae, 0x42, 0x5a, 0x5c, 0xab, 0xc7, 0x42, 0x75, 0x82, 0x86, - 0x28, 0x78, 0x2b, 0x4e, 0xbe, 0x71, 0xd7, 0x31, 0x00, 0x61, 0xcd, 0xe7, 0x9f, 0x45, 0xf4, 0x18, - 0x39, 0x58, 0x63, 0xa5, 0x43, 0x97, 0xeb, 0x47, 0x47, 0x74, 0xf3, 0x85, 0x02, 0x05, 0xfe, 0x23, - 0x0f, 0xe5, 0xf6, 0x37, 0xee, 0x88, 0xc3, 0x1e, 0x51, 0xbd, 0xcc, 0xd9, 0xb2, 0x7a, 0x2f, 0x4f, - 0xe5, 0xb6, 0x64, 0x27, 0xa3, 0xf1, 0xe6, 0x65, 0x3e, 0x21, 0x72, 0x9f, 0x76, 0x21, 0xa5, 0xf3, - 0xfe, 0x30, 0x29, 0x8d, 0xaa, 0x8e, 0xbf, 0x53, 0xdf, 0x1c, 0x06, 0x6c, 0x37, 0x69, 0x25, 0x28, - 0xfe, 0x36, 0x24, 0xa9, 0xb6, 0xbe, 0xfc, 0xef, 0xbb, 0x1c, 0x3d, 0x1a, 0xe9, 0x37, 0xd0, 0x96, - 0xbb, 0xfc, 0x28, 0xd9, 0xf1, 0x41, 0xec, 0xc3, 0x95, 0x4e, 0x98, 0x05, 0x0f, 0xe7, 0x06, 0xc2, - 0xfe, 0xfb, 0x10, 0xe4, 0xe6, 0x13, 0x34, 0xf8, 0xd3, 0xbc, 0xc8, 0xfc, 0xf3, 0xa2, 0x6d, 0xa7, - 0x5b, 0x51, 0x42, 0xdf, 0xfd, 0x77, 0xd8, 0x7c, 0x55, 0x60, 0xc6, 0x7d, 0x98, 0x26, 0x41, 0x96, - 0xf2, 0x55, 0xa8, 0x2f, 0x5a, 0xd3, 0x9f, 0xad, 0xdb, 0x9a, 0xa5, 0xe4, 0x6f, 0x5e, 0xbf, 0xf0, - 0x17, 0xbd, 0xcf, 0x00, 0x41, 0x9b, 0xa5, 0xd0, 0xa4, 0x5f, 0x25, 0x92, 0xd1, 0x3f, 0x68, 0x77, - 0x40, 0x5c, 0x18, 0x40, 0xe6, 0xe9, 0xe6, 0xea, 0x63, 0x4e, 0xb2, 0x7e, 0xe6, 0x91, 0x22, 0x3f, - 0x25, 0xb2, 0x49, 0x71, 0xab, 0x76, 0x09, 0x6e, 0xca, 0xdc, 0x26, 0x2d, 0x01, 0x81, 0xac, 0x04, - 0x9d, 0xba, 0x0b, 0x16, 0x9e, 0x68, 0x5d, 0x94, 0xae, 0x29, 0x88, 0x2b, 0xcd, 0x0f, 0x66, 0x9c, - 0x41, 0x43, 0xa4, 0xfd, 0xf8, 0x03, 0x52, 0xb9, 0x97, 0xd8, 0xd2, 0x40, 0xc7, 0x10, 0x42, 0x0c, - 0x1e, 0xb8, 0x41, 0xea, 0x86, 0x28, 0xa0, 0xda, 0xa2, 0xcb, 0x37, 0x4f, 0x7c, 0xe2, 0x3a, 0x50, - 0x56, 0x9a, 0x4b, 0xbe, 0xc4, 0xdb, 0x5d, 0x89, 0xdc, 0xb1, 0x03, 0xa0, 0x26, 0x76, 0x5c, 0x81, - 0x2d, 0x13, 0xce, 0x68, 0xfc, 0xf7, 0x13, 0xf6, 0x1b, 0x17, 0x8d, 0xe1, 0x06, 0x72, 0xcd, 0x58, - 0xd1, 0x77, 0x66, 0x8b, 0xc9, 0x04, 0x76, 0x19, 0x82, 0x86, 0xe7, 0x75, 0x08, 0xa2, 0x4b, 0xa6, - 0x00, 0xc6, 0xf2, 0x14, 0xb2, 0xd0, 0x77, 0x4d, 0xae, 0xa6, 0x4a, 0x6c, 0x5c, 0x86, 0xcf, 0x7c, - 0x2c, 0xfd, 0x6a, 0x16, 0x51, 0x65, 0xc4, 0x96, 0x58, 0x87, 0xd5, 0x82, 0x7f, 0xb8, 0x2e, 0xe2, - 0xcb, 0x7b, 0x1d, 0xe0, 0x2f, 0xc7, 0x06, 0x0f, 0xb4, 0x50, 0x8e, 0xae, 0x4f, 0x40, 0x99, 0x2b, - 0x46, 0x23, 0x88, 0xdc, 0x42, 0xc8, 0xa4, 0x2a, 0xf0, 0x6c, 0x23, 0xe8, 0x44, 0xc8, 0x90, 0xce, - 0xa0, 0x4b, 0xd4, 0xdf, 0x8e, 0x47, 0x1a, 0x2f, 0xb5, 0x9c, 0x79, 0xe1, 0x36, 0xe4, 0x6c, 0x98, - 0xe5, 0xa0, 0x52, 0xe2, 0x6c, 0x7c, 0xa1, 0xea, 0x30, 0x9e, 0x05, 0x42, 0xb4, 0x9d, 0xef, 0xef, - 0x06, 0xc1, 0x71, 0x65, 0x04, 0xea, 0xf3, 0x52, 0xd3, 0xca, 0x4b, 0x66, 0x84, 0x23, 0xf5, 0xc6, - 0x43, 0x6c, 0x50, 0x72, 0x3a, 0x6f, 0x5f, 0xc0, 0x00, 0x02, 0x47, 0xef, 0x1c, 0x6a, 0xb2, 0x6c, - 0xb8, 0x9f, 0x9b, 0xb0, 0x64, 0xd8, 0xa6, 0xe9, 0xe0, 0x46, 0x16, 0x30, 0x0d, 0x6d, 0x6a, 0xa6, - 0x46, 0x85, 0x9f, 0xfa, 0x6f, 0xbe, 0x05, 0x56, 0x0b, 0x99, 0x30, 0x68, 0x3f, 0xa3, 0xed, 0x8b, - 0xba, 0xdc, 0x40, 0xd9, 0x09, 0x42, 0x75, 0x65, 0xf8, 0xe6, 0x94, 0xa6, 0x3a, 0xe1, 0xa6, 0x9e, - 0x01, 0xf8, 0x80, 0x11, 0xcd, 0xf4, 0x2c, 0x96, 0xfa, 0xb8, 0xc3, 0x99, 0xad, 0xa2, 0xf0, 0x2c, - 0x2c, 0xb4, 0x1e, 0x4d, 0xbd, 0x12, 0x80, 0x89, 0xcb, 0x1e, 0xbb, 0xeb, 0x66, 0x29, 0xa5, 0x8b, - 0x2a, 0x3b, 0x32, 0xeb, 0xa2, 0xdf, 0xf3, 0x08, 0x92, 0xc7, 0xef, 0x19, 0x4f, 0x29, 0x93, 0x22, - 0x61, 0xe4, 0x19, 0x20, 0x97, 0x13, 0x88, 0x63, 0x65, 0x03, 0xd8, 0x50, 0xdd, 0xa1, 0xd0, 0x25, - 0x9b, 0x27, 0x39, 0xac, 0x94, 0x88, 0x49, 0xf7, 0xb7, 0xce, 0xc1, 0x53, 0x5f, 0xf6, 0x13, 0x58, - 0x78, 0x1f, 0xed, 0xe0, 0xa2, 0x59, 0xf8, 0x14, 0x32, 0xc5, 0x66, 0xad, 0x89, 0x74, 0x65, 0x41, - 0x5d, 0x13, 0x3c, 0xc3, 0x66, 0xa3, 0xc5, 0x94, 0xab, 0xed, 0x55, 0x23, 0x80, 0xfd, 0xe7, 0xda, - 0x00, 0x14, 0x23, 0x62, 0xc1, 0xe7, 0x8c, 0x13, 0x6a, 0x95, 0xdf, 0x3a, 0x43, 0x6f, 0x5a, 0xa2, - 0x66, 0x65, 0xcc, 0xa0, 0xb6, 0x53, 0x0b, 0xce, 0x90, 0x78, 0xe3, 0x94, 0x1e, 0x0e, 0x4a, 0xa0, - 0x8e, 0x5d, 0x01, 0xaf, 0xeb, 0xd4, 0x96, 0x96, 0xfb, 0x29, 0x73, 0x59, 0x5d, 0x1a, 0x68, 0x11, - 0xe8, 0x9b, 0xd3, 0x16, 0x84, 0x64, 0x38, 0x1a, 0x70, 0x90, 0x48, 0x4c, 0x4c, 0x6a, 0x2f, 0x0d, - 0xbd, 0x3f, 0x6d, 0x29, 0xbd, 0x69, 0x8b, 0xee, 0x47, 0x07, 0xec, 0xd1, 0x0f, 0xec, 0x3b, 0x45, - 0x59, 0xf6, 0x87, 0xf2, 0xd5, 0x92, 0x04, 0x85, 0x30, 0xc4, 0xf1, 0x0a, 0x18, 0xcd, 0x4b, 0x08, - 0x24, 0xa5, 0xdf, 0xe8, 0xdd, 0x30, 0x8d, 0x55, 0x11, 0xa6, 0xe5, 0x96, 0xc8, 0x5d, 0x69, 0x12, - 0x25, 0xbe, 0xc6, 0x21, 0x93, 0x09, 0x33, 0x8c, 0x76, 0x44, 0x04, 0x61, 0xbc, 0x2d, 0x3a, 0x4f, - 0x8b, 0x07, 0xee, 0xdd, 0xe3, 0x0d, 0xc7, 0xc1, 0xaa, 0x27, 0xdc, 0xdc, 0x08, 0xe8, 0x34, 0xa0, - 0x0f, 0xb6, 0xd5, 0xfd, 0xc8, 0xb0, 0x36, 0x44, 0x2e, 0x17, 0x0f, 0xb6, 0x8a, 0x61, 0x8c, 0x77, - 0x42, 0x58, 0x1b, 0x59, 0x8b, 0x26, 0xd1, 0x04, 0xe1, 0xff, 0x35, 0xcd, 0x46, 0x14, 0xe5, 0x4c, - 0x42, 0xde, 0x43, 0x25, 0x83, 0xf6, 0xa2, 0x19, 0x6d, 0xa2, 0x3a, 0xef, 0x0f, 0x6e, 0x1d, 0x6d, - 0x0d, 0xca, 0x7a, 0xc9, 0x3a, 0x14, 0x53, 0xba, 0x11, 0x28, 0x4c, 0x29, 0xa9, 0x12, 0xb9, 0x59, - 0x39, 0x3b, 0x2b, 0xe8, 0xb2, 0xd5, 0x18, 0xc3, 0xa5, 0xf4, 0xed, 0x1a, 0x8b, 0x2c, 0x0b, 0x7e, - 0x4f, 0xb5, 0xc4, 0xc8, 0xd2, 0xf1, 0xbf, 0x3d, 0x78, 0x28, 0xf2, 0x38, 0x85, 0xb8, 0x5d, 0xd2, - 0xac, 0x4d, 0xf9, 0xae, 0xb9, 0x12, 0x5b, 0xba, 0x70, 0xb7, 0x86, 0x80, 0xa4, 0x80, 0x59, 0xfd, - 0x3f, 0x05, 0x7b, 0x58, 0xa6, 0xf2, 0x3c, 0xd2, 0x0a, 0x36, 0x33, 0xb3, 0xa4, 0xca, 0x18, 0x70, - 0xb3, 0xfb, 0xab, 0xa4, 0xb8, 0x01, 0xc7, 0x56, 0xfb, 0x66, 0x26, 0xda, 0x2c, 0xa1, 0x56, 0xec, - 0x00, 0xdc, 0xa7, 0xe2, 0xb5, 0x6f, 0xf7, 0xd6, 0xc3, 0xe7, 0x08, 0xc7, 0xe7, 0x44, 0xfc, 0x80, - 0x21, 0xe4, 0xc6, 0x99, 0x1d, 0xab, 0x47, 0xf9, 0xf4, 0x12, 0x91, 0xd4, 0xe6, 0xf2, 0x99, 0x7c, - 0x32, 0x8d, 0x56, 0x63, 0x8e, 0x4f, 0xa6, 0x5f, 0x78, 0xe2, 0x19, 0xfb, 0xa2, 0xaf, 0x3e, 0xbb, - 0xae, 0x4f, 0x06, 0xcb, 0x7d, 0xba, 0x43, 0x38, 0x48, 0xd4, 0xc1, 0x19, 0xa9, 0x96, 0x64, 0x8d, - 0xaa, 0x4e, 0x06, 0x2e, 0x8e, 0x6f, 0x89, 0xf8, 0x1a, 0xf4, 0xb0, 0x5f, 0xd7, 0x24, 0x08, 0x89, - 0x70, 0x72, 0xa6, 0xf2, 0x18, 0x66, 0x8a, 0x99, 0x50, 0xa3, 0xe7, 0x30, 0x96, 0xd9, 0x25, 0x3f, - 0x38, 0x3b, 0x71, 0x60, 0xfc, 0x6b, 0x89, 0xb1, 0xc1, 0xd0, 0xe3, 0xe5, 0x3b, 0x18, 0xff, 0x37, - 0xe4, 0x90, 0x1d, 0x0f, 0xa8, 0xb5, 0x3f, 0x22, 0xc3, 0x44, 0x70, 0x94, 0x35, 0xc0, 0xa1, 0x5c, - 0xac, 0x75, 0x94, 0xa1, 0x25, 0x8f, 0x59, 0x84, 0xb3, 0x16, 0x72, 0x11, 0xbe, 0x11, 0x96, 0xfb, - 0x57, 0x7e, 0xb8, 0xbf, 0xda, 0x4a, 0x29, 0x97, 0x6b, 0x62, 0x00, 0xa9, 0xe1, 0x5d, 0x2f, 0xb6, - 0x3d, 0xd5, 0xf8, 0x34, 0x74, 0xa0, 0xda, 0x24, 0x87, 0x9d, 0xd4, 0x18, 0x95, 0x6b, 0x40, 0xbc, - 0xab, 0x5e, 0x0d, 0x23, 0xd7, 0xa3, 0xf5, 0x52, 0x46, 0x6b, 0xf4, 0x18, 0x4e, 0x3e, 0x7a, 0x9d, - 0x3f, 0x09, 0x9b, 0x9f, 0xde, 0x06, 0xf7, 0xbc, 0x63, 0xd3, 0xd8, 0xde, 0xc0, 0xcf, 0x06, 0x41, - 0x63, 0x19, 0x7d, 0xd1, 0x06, 0xc5, 0x57, 0xdb, 0x6f, 0x45, 0xc1, 0xa3, 0x1b, 0x12, 0x4a, 0x97, - 0xe0, 0x6c, 0x81, 0xd0, 0x16, 0x5b, 0xee, 0xac, 0x71, 0x7b, 0xd5, 0x0d, 0x3a, 0x8b, 0xdf, 0xcc, - 0xb8, 0x5c, 0x9b, 0x08, 0xd5, 0x58, 0x1e, 0x34, 0x21, 0x53, 0x5d, 0x01, 0xa7, 0x8f, 0xab, 0xd2, - 0x6d, 0x0a, 0xba, 0xe2, 0xcb, 0x11, 0x20, 0xed, 0xf2, 0x73, 0xee, 0xdd, 0xb7, 0xf2, 0x59, 0x94, - 0xc5, 0x34, 0x67, 0xdb, 0x76, 0x4f, 0xf9, 0x42, 0x7b, 0x8e, 0xa1, 0x88, 0x7b, 0xaa, 0x69, 0x02, - 0x96, 0x90, 0xd8, 0xd0, 0xae, 0x16, 0xd4, 0x1a, 0x91, 0xaa, 0xa9, 0x3b, 0x20, 0x5b, 0x6b, 0x5d, - 0x69, 0x6d, 0x95, 0x6b, 0x39, 0x8d, 0x8f, 0x0e, 0x09, 0xbd, 0x02, 0xf1, 0x96, 0x4d, 0x43, 0x9a, - 0x73, 0x42, 0x60, 0x62, 0x6c, 0x65, 0x9d, 0x98, 0xf6, 0x16, 0x15, 0x80, 0xd7, 0x03, 0x8f, 0xaa, - 0x43, 0x18, 0x82, 0xe3, 0x58, 0x8d, 0x75, 0x94, 0x58, 0x08, 0x79, 0x4f, 0xb2, 0x14, 0x45, 0x02, - 0x1e, 0xdf, 0xbc, 0x9b, 0x13, 0x55, 0x00, 0x03, 0x27, 0xe2, 0xc6, 0xa2, 0x8a, 0x6c, 0x09, 0xb1, - 0x7f, 0x55, 0x37, 0xd1, 0x3d, 0x9a, 0xe6, 0x0a, 0x79, 0x6e, 0x2d, 0xe1, 0x92, 0x12, 0xa0, 0xf5, - 0x25, 0x19, 0x20, 0x01, 0xb5, 0x8b, 0x76, 0x15, 0x1a, 0x37, 0xad, 0x8c, 0xea, 0x10, 0xc1, 0x33, - 0x12, 0xe5, 0xa1, 0x3e, 0x00, 0x68, 0x54, 0x39, 0x9e, 0x1a, 0xb8, 0x59, 0x51, 0x1c, 0xf4, 0xbd, - 0x4e, 0x0d, 0x4c, 0x54, 0xd0, 0x70, 0x1d, 0x8a, 0x05, 0x16, 0xac, 0x99, 0xc2, 0x6a, 0xbe, 0x41, - 0x1a, 0xf5, 0x8d, 0xd9, 0xb1, 0x65, 0xfe, 0x28, 0x03, 0x8a, 0x76, 0xbd, 0xe3, 0x59, 0x78, 0x63, - 0x63, 0xf4, 0x3a, 0x97, 0xf8, 0x32, 0x24, 0x88, 0xc1, 0xd0, 0xe1, 0x85, 0xce, 0x05, 0xe5, 0x67, - 0x98, 0xd4, 0x08, 0x93, 0x13, 0x0c, 0xa2, 0x98, 0x21, 0xfc, 0x1d, 0xec, 0x90, 0x6e, 0xcf, 0xea, - 0x80, 0x37, 0xab, 0x8a, 0xd2, 0xd1, 0xbf, 0xe1, 0xe6, 0x0b, 0xe6, 0x4d, 0x14, 0xfd, 0xe3, 0x1e, - 0x66, 0x86, 0x3f, 0xf3, 0xbe, 0xb6, 0x87, 0xcb, 0xf1, 0xb3, 0x4f, 0x2a, 0x4c, 0xf0, 0x48, 0xea, - 0xb6, 0xf0, 0xb2, 0xef, 0x7b, 0x1b, 0x02, 0xd2, 0xec, 0x5c, 0xac, 0x92, 0x57, 0x46, 0x2b, 0xaf, - 0x88, 0xb2, 0xe0, 0x1a, 0xf6, 0xbc, 0xec, 0xfd, 0x2f, 0x12, 0x55, 0x3f, 0x23, 0x31, 0x47, 0x6c, - 0xac, 0xc4, 0x3a, 0xf1, 0xde, 0x5b, 0xdd, 0x4f, 0x08, 0x3d, 0x7f, 0xda, 0xbc, 0xc9, 0xf5, 0x9a, - 0x50, 0xdb, 0xd3, 0x25, 0xae, 0xce, 0xc0, 0xb3, 0x52, 0x9a, 0xf0, 0xad, 0xe6, 0xd2, 0x9a, 0x6a, - 0x2e, 0xdc, 0xf5, 0x96, 0xaf, 0x97, 0xb7, 0xcb, 0x58, 0x79, 0x00, 0xa6, 0xcb, 0x5a, 0xbf, 0x4d, - 0xc8, 0xb6, 0x09, 0xad, 0x9e, 0x9e, 0x5d, 0x18, 0x29, 0x46, 0xa1, 0xe5, 0x75, 0x71, 0x5c, 0xe4, - 0xbc, 0x97, 0xb3, 0x14, 0x5b, 0xcd, 0x6a, 0xc5, 0xb5, 0x5f, 0x45, 0x52, 0x42, 0x97, 0x53, 0xb7, - 0xb3, 0x44, 0x4c, 0x0e, 0x46, 0xb6, 0xc7, 0xb5, 0xc6, 0x3f, 0x1d, 0x04, 0xcb, 0x09, 0xa2, 0x01, - 0xc7, 0x28, 0xd0, 0x9f, 0x06, 0x7f, 0x72, 0x48, 0x8e, 0x41, 0x3b, 0xd0, 0x18, 0x36, 0x63, 0x40, - 0xc7, 0x45, 0xc0, 0x58, 0x8d, 0xb4, 0x5a, 0x52, 0x2c, 0x19, 0x9e, 0x43, 0xa9, 0x34, 0x5d, 0x78, - 0x73, 0xd4, 0x25, 0xc4, 0xec, 0x16, 0xb1, 0xab, 0xb9, 0x41, 0x79, 0xe7, 0xe5, 0x91, 0x7b, 0xea, - 0x24, 0x7b, 0x49, 0xec, 0x80, 0xd4, 0x25, 0x01, 0x1e, 0xec, 0x42, 0xd3, 0xbb, 0x00, 0xbc, 0x48, - 0x06, 0x37, 0xf0, 0x19, 0xb2, 0xd7, 0x49, 0xb0, 0xeb, 0xf8, 0xf1, 0x59, 0x9e, 0x08, 0x0b, 0x2f, - 0xcf, 0x01, 0xba, 0xc2, 0xd8, 0x0c, 0x27, 0xdc, 0xb4, 0xc9, 0x5a, 0xda, 0x3e, 0x15, 0x97, 0x4f, - 0x0d, 0x55, 0xc0, 0xca, 0x7d, 0xca, 0xc4, 0x8c, 0x2a, 0xc5, 0x40, 0xf0, 0x5d, 0x8c, 0x05, 0xa9, - 0x4b, 0xdf, 0xc4, 0xb8, 0xa5, 0xa0, 0xd1, 0x41, 0x2d, 0xe3, 0x56, 0xfe, 0x3f, 0xb3, 0x96, 0xf3, - 0x81, 0x68, 0x4c, 0xa2, 0xa5, 0xf1, 0x0e, 0xf8, 0x29, 0xbb, 0x85, 0x0d, 0xac, 0xa5, 0x78, 0x32, - 0x2b, 0xb3, 0x81, 0x1a, 0xab, 0x1e, 0x0d, 0x31, 0xeb, 0x0d, 0xe7, 0x69, 0xb1, 0xf7, 0xfb, 0x97, - 0x83, 0x8f, 0x83, 0xd0, 0x83, 0x8e, 0x9a, 0x44, 0x33, 0xda, 0xdb, 0x7b, 0xc4, 0x19, 0xaf, 0xc6, - 0x14, 0xd9, 0xea, 0x5c, 0x95, 0xd5, 0xb7, 0xd9, 0x61, 0xbc, 0x74, 0x44, 0xdf, 0xc3, 0x30, 0xd6, - 0x36, 0x72, 0x50, 0xb4, 0x89, 0x2e, 0xc0, 0x96, 0x7a, 0x14, 0xde, 0xfa, 0x71, 0x41, 0xb5, 0x95, - 0x70, 0x80, 0x80, 0xad, 0x67, 0xcb, 0x16, 0x2d, 0xe8, 0x30, 0x9b, 0x61, 0x6d, 0x47, 0xa9, 0xbd, - 0x4d, 0x96, 0xcd, 0x93, 0x23, 0xaf, 0x9b, 0x94, 0x79, 0x1d, 0xf9, 0xb2, 0xb9, 0x27, 0x49, 0xa3, - 0x8e, 0xcb, 0x53, 0xba, 0x30, 0xeb, 0xb9, 0xf5, 0x1c, 0x32, 0x1e, 0xb7, 0x16, 0x69, 0xa6, 0xb4, - 0x76, 0xd3, 0xde, 0x00, 0xcf, 0x89, 0xb6, 0x30, 0xab, 0x34, 0x93, 0x12, 0x02, 0xa3, 0xce, 0xd3, - 0x0c, 0xfd, 0x52, 0x82, 0x09, 0x67, 0x75, 0x52, 0xe8, 0xf6, 0x91, 0xfb, 0x6e, 0xed, 0xdd, 0x90, - 0x37, 0x42, 0x71, 0xa2, 0x83, 0x2a, 0xf4, 0x56, 0xf5, 0xde, 0x61, 0xde, 0xa1, 0x57, 0x7c, 0x8b, - 0x3b, 0x72, 0xd7, 0x9d, 0x21, 0x98, 0x09, 0x02, 0x32, 0xfe, 0x54, 0x95, 0xab, 0x0b, 0xed, 0xaa, - 0x1a, 0x73, 0x86, 0xee, 0x96, 0xe0, 0x08, 0xf6, 0xa7, 0xec, 0xcf, 0x12, 0x04, 0x4b, 0x29, 0xbd, - 0x0f, 0x8d, 0x3c, 0x6f, 0x00, 0x7b, 0xbe, 0xc4, 0x39, 0xaf, 0xb3, 0xba, 0x57, 0x24, 0x9d, 0x9d, - 0xde, 0xbf, 0x45, 0x53, 0xd3, 0x37, 0x05, 0xf3, 0xf9, 0xa4, 0xd6, 0xa7, 0x6d, 0x4f, 0x01, 0x3e, - 0xd8, 0xf8, 0x92, 0xdc, 0x43, 0x0e, 0xb6, 0x98, 0x97, 0x43, 0xa4, 0xcc, 0x6a, 0xd3, 0x89, 0x9b, - 0x00, 0x86, 0x12, 0x52, 0x5e, 0x7f, 0xfb, 0xf0, 0x67, 0x74, 0x62, 0x20, 0xf0, 0xfb, 0xc1, 0xd7, - 0xc3, 0x53, 0x19, 0x2f, 0x45, 0xa3, 0x16, 0xa2, 0xde, 0x75, 0xbd, 0x35, 0xf6, 0x3c, 0x61, 0x6f, - 0x07, 0x2f, 0x74, 0xea, 0xbd, 0xbd, 0x1a, 0xd3, 0x93, 0x4c, 0x31, 0x91, 0x49, 0x5a, 0x2e, 0x08, - 0x34, 0x03, 0x17, 0x1c, 0x0e, 0x49, 0x03, 0xe0, 0x6d, 0x70, 0x4b, 0xcd, 0x7c, 0xcc, 0x86, 0x5b, - 0xf2, 0xa6, 0x2b, 0x18, 0x64, 0x25, 0x7d, 0x47, 0x43, 0x2c, 0xe7, 0xa4, 0x1a, 0x8e, 0x6d, 0x61, - 0x8b, 0x4f, 0xa0, 0x6f, 0x97, 0xa5, 0x66, 0x99, 0x1e, 0x87, 0xef, 0xd2, 0x2b, 0x26, 0x8b, 0xf5, - 0x36, 0x5d, 0xe0, 0xe2, 0x1a, 0x24, 0xec, 0xa8, 0x5c, 0x59, 0xef, 0x21, 0x32, 0x8c, 0x57, 0x08, - 0xd5, 0x86, 0xea, 0xcb, 0xf6, 0xd1, 0x36, 0x8b, 0x0a, 0x1c, 0xb4, 0x57, 0x39, 0xe8, 0x53, 0x42, - 0xe9, 0x48, 0xa6, 0x5e, 0x09, 0xa3, 0xfa, 0xb5, 0xc0, 0x90, 0x79, 0xca, 0x0f, 0x9a, 0x1f, 0x22, - 0x77, 0xa4, 0xfc, 0x74, 0x46, 0x9c, 0xba, 0x0e, 0x3a, 0x39, 0x49, 0xd7, 0x24, 0x93, 0x70, 0xad, - 0x9b, 0x84, 0xa7, 0x87, 0x7b, 0xec, 0x98, 0x7b, 0xcc, 0xf7, 0x3d, 0x99, 0xc2, 0x23, 0xf9, 0x36, - 0x97, 0xe9, 0x6c, 0xb7, 0xab, 0xcc, 0x8b, 0x5c, 0x23, 0x85, 0x1c, 0x53, 0x5b, 0x06, 0x66, 0x91, - 0x83, 0x57, 0x28, 0x0e, 0x66, 0x73, 0x43, 0xb9, 0xb1, 0xc1, 0x5d, 0xae, 0xec, 0x3c, 0x56, 0xe4, - 0x8f, 0xb4, 0x1b, 0x2f, 0x07, 0x3a, 0x88, 0x38, 0x77, 0x84, 0xe1, 0xd0, 0xa6, 0xf6, 0x17, 0xfc, - 0x22, 0xc9, 0x45, 0xfb, 0x1c, 0xe8, 0xf5, 0xb0, 0x08, 0xcd, 0x7a, 0x26, 0x95, 0xde, 0x68, 0x4e, - 0x4a, 0x61, 0x38, 0x6f, 0xfa, 0x9d, 0x4a, 0x18, 0xde, 0x66, 0x20, 0xba, 0x09, 0x6c, 0x98, 0xf0, - 0xd7, 0x18, 0xaf, 0xfa, 0x25, 0x4b, 0x7f, 0x52, 0x39, 0x0c, 0x1a, 0x82, 0x78, 0x54, 0x74, 0xc4, - 0x77, 0x8e, 0x8f, 0x2a, 0xdb, 0x11, 0x66, 0xc3, 0x2a, 0x6e, 0x20, 0xab, 0x45, 0x39, 0xcb, 0xe1, - 0x26, 0x26, 0x9f, 0x59, 0x10, 0x01, 0xb3, 0xd5, 0x21, 0x5a, 0x85, 0x18, 0x54, 0x0c, 0x88, 0x14, - 0x74, 0x69, 0x62, 0xd8, 0x76, 0x10, 0x22, 0x07, 0x9f, 0x0c, 0x66, 0xaa, 0x89, 0x21, 0x49, 0xbf, - 0xa3, 0x9f, 0x11, 0x02, 0xef, 0xee, 0x3f, 0xc6, 0xef, 0x36, 0xe8, 0xa9, 0x67, 0x71, 0xc3, 0x21, - 0x3e, 0x4d, 0x50, 0x15, 0x0b, 0x72, 0x13, 0x28, 0x83, 0xc8, 0x3b, 0x0e, 0x60, 0x16, 0xd6, 0xec, - 0x09, 0xed, 0x39, 0x6a, 0x32, 0xb7, 0xe2, 0xae, 0x27, 0x51, 0x2c, 0x14, 0xd5, 0x78, 0x8c, 0xa1, - 0x86, 0x10, 0x2e, 0xdb, 0x17, 0xcd, 0x54, 0x70, 0x19, 0x7f, 0x79, 0x6a, 0xb0, 0x9f, 0x6a, 0x89, - 0x21, 0xf3, 0x30, 0xd6, 0xd9, 0x76, 0x69, 0xdc, 0x56, 0xaa, 0xb3, 0xca, 0x72, 0xda, 0x2f, 0x33, - 0x49, 0x3a, 0xbe, 0x56, 0xa8, 0x46, 0xf9, 0x6e, 0x6e, 0x20, 0xe7, 0x9f, 0xf6, 0xb6, 0xa8, 0xe1, - 0x14, 0x61, 0xd9, 0x73, 0xaa, 0x6e, 0x6a, 0x29, 0x7e, 0x1e, 0x2f, 0x4d, 0xea, 0xde, 0x28, 0x16, - 0xb1, 0xfd, 0x82, 0x8f, 0xf3, 0xb3, 0x06, 0x71, 0x95, 0x24, 0xe2, 0xa1, 0xbd, 0x31, 0x55, 0xa8, - 0xe2, 0x81, 0x63, 0xf5, 0xd5, 0x46, 0xf7, 0x5b, 0x32, 0xb5, 0xfc, 0xec, 0x2a, 0x08, 0x10, 0xd7, - 0x9c, 0x20, 0x3e, 0x38, 0x2f, 0x8f, 0x85, 0x4a, 0x35, 0xca, 0xa4, 0xf5, 0x66, 0x8e, 0x2b, 0x77, - 0x15, 0x34, 0xbc, 0x9d, 0xc4, 0x89, 0xf3, 0x2f, 0x1a, 0x27, 0xed, 0x38, 0xcc, 0x76, 0xbc, 0xd6, - 0xc0, 0xb7, 0xd9, 0x28, 0x49, 0x5a, 0x08, 0x32, 0xf9, 0xae, 0x61, 0x9c, 0x16, 0x65, 0x7f, 0x1f, - 0xe0, 0x51, 0x2c, 0x9b, 0xdc, 0x4f, 0x9f, 0xc9, 0x0a, 0xa6, 0x3f, 0x40, 0x07, 0x34, 0x3e, 0x41, - 0x00, 0x5b, 0xbb, 0x42, 0x09, 0x77, 0x66, 0xf5, 0x47, 0xd6, 0x32, 0xff, 0xcb, 0x50, 0x81, 0x0d, - 0x2e, 0xf4, 0x3c, 0x0e, 0x9f, 0x39, 0x94, 0x26, 0x67, 0xc7, 0x10, 0x39, 0x14, 0x78, 0x5f, 0xaa, - 0x5b, 0xbd, 0x0b, 0x06, 0xe5, 0x09, 0x51, 0x08, 0xb6, 0x1e, 0x60, 0x80, 0x84, 0xa9, 0xf0, 0xb4, - 0xe1, 0x34, 0x19, 0x6e, 0xf5, 0xbd, 0xac, 0x7a, 0x90, 0xbf, 0x4c, 0xa4, 0x79, 0xa6, 0xeb, 0x4f, - 0x99, 0x70, 0xfe, 0x47, 0xbc, 0x49, 0xf4, 0x27, 0xbb, 0x43, 0x70, 0x6a, 0x36, 0x1f, 0xb0, 0xf8, - 0x29, 0x92, 0xb5, 0xb0, 0x9e, 0x95, 0x46, 0x8d, 0xe1, 0x3d, 0x41, 0xfa, 0xb2, 0xc6, 0x80, 0xe1, - 0x3f, 0x8c, 0xfd, 0x09, 0x85, 0xe4, 0x0e, 0xc9, 0x15, 0x2f, 0xcb, 0x9b, 0xdd, 0xe7, 0x31, 0x69, - 0x82, 0x88, 0x55, 0x8b, 0xd3, 0xd2, 0x51, 0x72, 0x88, 0x4f, 0x43, 0x0b, 0xa7, 0x10, 0x40, 0x31, - 0x8d, 0x78, 0xe3, 0x7b, 0x09, 0x84, 0xc0, 0x4a, 0xd4, 0x4e, 0xe7, 0x3b, 0x26, 0x07, 0xcd, 0x5c, - 0x8c, 0xcf, 0x89, 0x89, 0xe8, 0x2d, 0x54, 0x9f, 0xa2, 0x35, 0xdb, 0x7d, 0xb8, 0xe2, 0xf4, 0xfc, - 0xc5, 0x45, 0x18, 0xfe, 0xb4, 0x4a, 0xd1, 0xbd, 0x75, 0x17, 0xc8, 0x79, 0xdf, 0x59, 0x44, 0xc7, - 0x90, 0xd5, 0x5b, 0xe5, 0x7b, 0x14, 0x98, 0x87, 0xd4, 0x05, 0x2f, 0x77, 0x25, 0x01, 0x0c, 0x06, - 0x37, 0xb2, 0xd4, 0x48, 0x2a, 0xbf, 0x67, 0xb1, 0xcc, 0x8e, 0xa4, 0x4f, 0x05, 0x61, 0xec, 0x9a, - 0xf4, 0x72, 0xdd, 0xa0, 0x99, 0x79, 0x3c, 0x3f, 0xd9, 0x14, 0xb6, 0x3e, 0x77, 0xd3, 0x47, 0x74, - 0xf5, 0xab, 0x8d, 0x08, 0xa6, 0x7d, 0xd8, 0x95, 0x4d, 0x33, 0xb4, 0xcd, 0x49, 0xcb, 0x48, 0x79, - 0x02, 0xf4, 0x3c, 0xe8, 0x4d, 0xe6, 0x51, 0x30, 0x5a, 0x70, 0x9b, 0x97, 0x16, 0xaa, 0x70, 0x40, - 0xc9, 0x4b, 0x3d, 0x30, 0xf5, 0x24, 0x8c, 0x74, 0x0f, 0x1c, 0x36, 0xe2, 0x95, 0xe8, 0x1f, 0x70, - 0x65, 0x1e, 0x18, 0x2e, 0x84, 0x50, 0x9e, 0x6e, 0xbe, 0xb4, 0xff, 0x0c, 0x76, 0x18, 0x8a, 0xf9, - 0xec, 0x32, 0xe7, 0x7a, 0xff, 0xf3, 0xde, 0xbf, 0x4e, 0x25, 0x89, 0x9f, 0xa5, 0x9e, 0x6e, 0x91, - 0xfc, 0x12, 0x5b, 0xb4, 0x29, 0x13, 0xa8, 0x9c, 0xd7, 0x8c, 0x38, 0xe6, 0x98, 0x30, 0x42, 0x77, - 0x1b, 0x89, 0xb8, 0x9a, 0x0a, 0x6b, 0x14, 0x8a, 0x3d, 0xd3, 0xb1, 0x2e, 0x21, 0xbe, 0x92, 0x6f, - 0x98, 0xe7, 0xed, 0xd5, 0x0c, 0x3d, 0x24, 0xbe, 0xd6, 0x8e, 0x35, 0xae, 0xa3, 0x8f, 0x63, 0x8d, - 0x75, 0x69, 0xa8, 0x39, 0x8b, 0x66, 0xfc, 0x6d, 0x98, 0x4f, 0xf7, 0x34, 0x04, 0x0b, 0x8f, 0x79, - 0x5a, 0xa0, 0xac, 0x9c, 0x57, 0x39, 0x1f, 0xa0, 0x44, 0xa0, 0x38, 0x2b, 0x9f, 0x0d, 0xd9, 0xde, - 0x82, 0x8b, 0xe4, 0xa3, 0xaa, 0x85, 0x3a, 0x0b, 0xbe, 0x17, 0xb1, 0x37, 0xce, 0x74, 0xfc, 0x74, - 0x69, 0x88, 0xbd, 0xdf, 0x77, 0x0d, 0x86, 0x7a, 0x39, 0x21, 0x12, 0xe4, 0x43, 0x96, 0x4e, 0x83, - 0xff, 0x2c, 0x89, 0x10, 0x00, 0x26, 0x20, 0x53, 0xa5, 0x4d, 0xa1, 0x7e, 0x55, 0x1f, 0x34, 0xbe, - 0x28, 0xd9, 0x25, 0xfb, 0xb5, 0x25, 0x5b, 0xb1, 0x8a, 0x83, 0xcb, 0x03, 0xc0, 0xdd, 0xb7, 0x1b, - 0xf5, 0xbc, 0x00, 0xa4, 0x95, 0x6b, 0xde, 0x21, 0x85, 0xcb, 0x1e, 0x83, 0x20, 0xc9, 0x8c, 0x48, - 0xb3, 0xc3, 0x77, 0xae, 0xde, 0x35, 0xbf, 0xa2, 0x56, 0xad, 0x11, 0x6f, 0x55, 0x0c, 0x2e, 0xbc, - 0xe0, 0xbe, 0xd1, 0x1f, 0x92, 0x1b, 0xd8, 0x4c, 0xb2, 0x13, 0x9c, 0x20, 0x1e, 0x3b, 0xfe, 0xf9, - 0xf1, 0x96, 0x27, 0x4e, 0xb0, 0xff, 0x51, 0xe3, 0xfc, 0xfd, 0x20, 0x8a, 0xba, 0xdc, 0x53, 0x21, - 0x26, 0xfc, 0x9b, 0x4c, 0xc4, 0xa7, 0x47, 0x64, 0x1f, 0x74, 0xf8, 0x3d, 0x0c, 0x7d, 0x3b, 0x42, - 0x4d, 0x1a, 0x35, 0x9f, 0x12, 0xe7, 0x18, 0x1a, 0x83, 0x82, 0xda, 0x7d, 0x33, 0xac, 0xc8, 0x16, - 0x8a, 0xef, 0xee, 0x6c, 0x79, 0x80, 0x4c, 0x33, 0x43, 0x13, 0xc2, 0xad, 0xe7, 0x3e, 0x8b, 0xe5, - 0x5b, 0x64, 0x39, 0xa5, 0xcd, 0x37, 0x71, 0xc6, 0x0e, 0x6b, 0x24, 0xb6, 0xbc, 0x84, 0x0f, 0x90, - 0xd5, 0xff, 0x1c, 0xce, 0x24, 0x9a, 0x54, 0xd4, 0xc2, 0x24, 0x70, 0x32, 0x40, 0x69, 0xd2, 0xe3, - 0x9c, 0xde, 0xd6, 0xc9, 0x94, 0xe1, 0xa5, 0xe7, 0x7c, 0x11, 0x28, 0x78, 0xc9, 0x93, 0xa8, 0x68, - 0xf9, 0xd1, 0x12, 0x8c, 0x9b, 0x0b, 0xfd, 0x98, 0x94, 0xc2, 0x98, 0x05, 0x49, 0x9a, 0x54, 0xa3, - 0xc0, 0x68, 0xbc, 0x8e, 0x51, 0x31, 0x32, 0x0e, 0xf7, 0x16, 0xf7, 0xfa, 0x80, 0x24, 0x2c, 0xff, - 0x3c, 0xaf, 0x6c, 0xf5, 0x0f, 0x14, 0xaf, 0xf4, 0x77, 0xbd, 0x17, 0xf5, 0x6f, 0x77, 0xd6, 0x2a, - 0xee, 0xb1, 0x22, 0x86, 0xbd, 0xcb, 0x16, 0x11, 0x3f, 0x7a, 0x70, 0x49, 0x29, 0xe1, 0xb7, 0x70, - 0x6b, 0x74, 0xf7, 0x71, 0xd0, 0x59, 0x7c, 0x73, 0x9e, 0x4c, 0xe1, 0xb4, 0x4b, 0x54, 0x8a, 0x71, - 0x0a, 0x20, 0x62, 0xfb, 0x71, 0x54, 0xd4, 0x5a, 0xb7, 0xe3, 0xca, 0xd4, 0xa5, 0x59, 0xbc, 0x56, - 0x43, 0x00, 0xbb, 0x51, 0xa9, 0x97, 0x0f, 0xea, 0xb3, 0xe8, 0x88, 0x5a, 0xe1, 0x84, 0x71, 0x73, - 0x12, 0x1e, 0x5d, 0x2c, 0x22, 0x2a, 0xd3, 0x67, 0xab, 0xdb, 0xa9, 0xab, 0xc2, 0xa0, 0x5e, 0x4c, - 0x19, 0xc5, 0x7f, 0x69, 0xf3, 0xca, 0xf3, 0x20, 0xd5, 0xfb, 0x4b, 0x1a, 0x2e, 0x03, 0x98, 0x6e, - 0x05, 0xc9, 0x82, 0x8a, 0x72, 0xd2, 0xa8, 0xa7, 0xf8, 0x4d, 0x90, 0x05, 0x19, 0xb9, 0x19, 0x97, - 0x82, 0xe5, 0xa5, 0x70, 0x4d, 0x7f, 0x8c, 0xe3, 0xda, 0x15, 0x4a, 0x5e, 0x29, 0xc8, 0x3a, 0x7c, - 0x1a, 0x14, 0x39, 0xdb, 0x10, 0xd4, 0xd3, 0x11, 0x95, 0x6e, 0x31, 0xb9, 0xf0, 0x86, 0x5f, 0x64, - 0x19, 0xcc, 0x33, 0xf0, 0x57, 0x54, 0x4d, 0xf1, 0x85, 0x2d, 0x73, 0x7c, 0xca, 0x7b, 0x3e, 0xec, - 0xec, 0xfe, 0xac, 0x33, 0xc3, 0x37, 0x8a, 0x90, 0xcc, 0xb7, 0x8c, 0xec, 0xbe, 0xc3, 0xf6, 0x92, - 0x5a, 0xc4, 0x40, 0x77, 0xad, 0x99, 0x34, 0x03, 0x5f, 0x1c, 0x80, 0x41, 0xf9, 0xad, 0x2c, 0x20, - 0xf9, 0x03, 0xf6, 0x4c, 0x80, 0x45, 0xec, 0x1c, 0xe9, 0x77, 0x3f, 0xa7, 0x6c, 0x92, 0x5c, 0x42, - 0xc3, 0xbd, 0xee, 0x23, 0xa7, 0xde, 0x34, 0x0a, 0xa3, 0xf5, 0xae, 0x49, 0x9d, 0x49, 0x03, 0x85, - 0x95, 0x58, 0xd8, 0xcf, 0x6d, 0xc9, 0x57, 0x99, 0xe7, 0x8b, 0xfe, 0x4b, 0x73, 0x58, 0x38, 0xc6, - 0xd6, 0x03, 0x39, 0x2c, 0x80, 0xea, 0x56, 0x11, 0x26, 0x2e, 0xd3, 0x10, 0x34, 0x00, 0x74, 0x5a, - 0xc0, 0x84, 0x99, 0x35, 0x82, 0x99, 0xbf, 0xb4, 0x16, 0x60, 0x0e, 0x13, 0xa1, 0xaf, 0x20, 0xcb, - 0xb8, 0x71, 0x3f, 0x7e, 0x1f, 0x6b, 0x6b, 0xe5, 0xc8, 0xfe, 0x9b, 0xb6, 0x95, 0xa4, 0xd9, 0x1f, - 0xb1, 0xd4, 0x69, 0xf0, 0x01, 0x81, 0xab, 0x36, 0xb9, 0x35, 0x59, 0x5b, 0x8f, 0x08, 0x98, 0x96, - 0xe3, 0x00, 0x54, 0x88, 0x3e, 0xbe, 0x69, 0xb1, 0x7b, 0x50, 0xda, 0x5e, 0xc7, 0xd2, 0x4e, 0x03, - 0xa0, 0x7b, 0x2c, 0x87, 0xee, 0x67, 0x39, 0x2c, 0xc4, 0x51, 0x63, 0x43, 0x8f, 0x9c, 0x26, 0x21, - 0xfd, 0x27, 0x57, 0x3d, 0x6f, 0xa4, 0x0f, 0xc0, 0x5f, 0x64, 0x27, 0xc4, 0xe5, 0xf4, 0x9a, 0xb0, - 0xf1, 0xa0, 0x98, 0x3e, 0x53, 0x22, 0x54, 0x71, 0x09, 0x63, 0x61, 0x4d, 0xa1, 0x90, 0x15, 0xab, - 0x81, 0x44, 0xcf, 0x76, 0x65, 0x41, 0x11, 0x9a, 0xd1, 0x12, 0x1d, 0x1f, 0xf2, 0x1a, 0x08, 0x17, - 0x69, 0x66, 0x48, 0x04, 0xf9, 0xc4, 0x17, 0xf3, 0xf0, 0x7d, 0xc8, 0x9d, 0x77, 0x8c, 0x92, 0x15, - 0x61, 0xb4, 0xcf, 0x13, 0xbb, 0x24, 0x2d, 0xed, 0x80, 0x4a, 0x27, 0xd2, 0xda, 0x4e, 0x49, 0xf2, - 0x16, 0x0d, 0x7c, 0x60, 0x47, 0xe0, 0x37, 0xad, 0xaa, 0x29, 0x38, 0xc6, 0x3c, 0x6f, 0xef, 0xf0, - 0xa3, 0x35, 0x43, 0x85, 0xe2, 0xd9, 0x19, 0x36, 0x5f, 0x4f, 0x7d, 0x6c, 0xfc, 0x43, 0x5f, 0xfd, - 0xe4, 0x0e, 0xd3, 0xa2, 0x89, 0x4f, 0xd4, 0x0e, 0x41, 0x42, 0xa9, 0x99, 0x1c, 0xe7, 0x96, 0x0d, - 0xb6, 0xbe, 0xe0, 0xf4, 0xb8, 0xc6, 0x4e, 0x42, 0xcc, 0xae, 0xf8, 0x76, 0xdc, 0xe5, 0x7c, 0x6a, - 0x65, 0xdd, 0x4d, 0x19, 0x31, 0x01, 0x2c, 0x99, 0x4f, 0x60, 0x83, 0x81, 0x05, 0xf1, 0x57, 0x8e, - 0x5f, 0xbd, 0xaa, 0x3f, 0x13, 0x5c, 0x8c, 0x76, 0x6b, 0xc7, 0x26, 0x3e, 0xa8, 0x59, 0xf4, 0x4d, - 0xee, 0x6c, 0xeb, 0x47, 0x51, 0x0d, 0x9b, 0x4d, 0x49, 0xff, 0x50, 0x43, 0x3f, 0x5a, 0xcf, 0xba, - 0x3a, 0xe6, 0xee, 0x25, 0x7e, 0x09, 0xb8, 0x4f, 0xf9, 0x8a, 0x02, 0xdb, 0xf5, 0xe6, 0x74, 0x86, - 0xbd, 0xe1, 0x1e, 0x91, 0xe5, 0xdf, 0x43, 0x8c, 0x99, 0x84, 0x21, 0xc4, 0x6b, 0xe7, 0x14, 0x63, - 0x15, 0xba, 0xae, 0x33, 0x02, 0x15, 0x89, 0x73, 0x6d, 0x8a, 0x25, 0xf4, 0x2f, 0x08, 0x72, 0x2d, - 0x91, 0xa3, 0xc4, 0xdf, 0x87, 0x02, 0xf4, 0xf1, 0xba, 0x94, 0xcb, 0x61, 0xb3, 0x19, 0x37, 0x18, - 0x7c, 0xeb, 0x3d, 0x1b, 0x15, 0x2d, 0xc0, 0xbf, 0xf4, 0xb0, 0x41, 0x79, 0xc8, 0xab, 0xbd, 0x77, - 0xe8, 0x77, 0xde, 0xa4, 0x40, 0x83, 0xc5, 0x74, 0x37, 0x09, 0xad, 0x73, 0x87, 0x16, 0x97, 0x22, - 0x94, 0x90, 0x81, 0x89, 0x2d, 0x9d, 0x28, 0x7a, 0x23, 0xa5, 0x25, 0xa0, 0x49, 0xe3, 0xce, 0x96, - 0x63, 0x87, 0xb4, 0x90, 0x64, 0xa6, 0xbc, 0x91, 0x60, 0x9e, 0x5e, 0xf1, 0x76, 0x43, 0x20, 0x00, - 0x6e, 0xb8, 0xd3, 0x9b, 0xea, 0xcc, 0x8a, 0x6c, 0x64, 0xe7, 0x97, 0x75, 0xf5, 0xdd, 0x2d, 0xb6, - 0x7e, 0x55, 0x74, 0x91, 0x0e, 0xa1, 0xe9, 0x29, 0xb2, 0x7e, 0x77, 0x51, 0x22, 0xfc, 0x0a, 0x57, - 0x3b, 0x01, 0x3e, 0x0a, 0x81, 0xf9, 0xc8, 0xfd, 0x29, 0x46, 0xdc, 0x12, 0x0a, 0x15, 0xc0, 0x2b, - 0x72, 0x67, 0xbf, 0x1d, 0xf2, 0x3a, 0x4a, 0x88, 0x7a, 0xb3, 0x75, 0x65, 0xd2, 0x32, 0x66, 0x15, - 0xbf, 0x1d, 0xfa, 0xe9, 0x16, 0xd0, 0x22, 0xbc, 0x41, 0xdc, 0x89, 0xe8, 0x53, 0xa3, 0x5b, 0xe9, - 0x6f, 0x96, 0xef, 0x33, 0xdb, 0x19, 0x06, 0x0e, 0xd8, 0x20, 0x78, 0x60, 0xf9, 0xbe, 0x89, 0x59, - 0x19, 0x62, 0x6f, 0x5c, 0x89, 0xbc, 0x87, 0xd1, 0xb5, 0xa3, 0x34, 0xfc, 0x49, 0xfd, 0xe5, 0x03, - 0x69, 0xa7, 0xd6, 0xff, 0x9a, 0x41, 0xc9, 0x0c, 0xa0, 0xff, 0xf9, 0xe6, 0x5d, 0xa4, 0x9a, 0x28, - 0x0d, 0xc7, 0xdc, 0xdc, 0x48, 0xc5, 0xde, 0x10, 0x47, 0xf4, 0xb8, 0x76, 0xb6, 0x50, 0xf4, 0x91, - 0x77, 0x3c, 0xb9, 0x88, 0x8c, 0xff, 0x75, 0x6d, 0xc6, 0x8e, 0x3b, 0x4b, 0x92, 0x5d, 0x90, 0x14, - 0xdd, 0x8c, 0x77, 0xe8, 0x77, 0xe6, 0xa7, 0x4e, 0x0f, 0x3d, 0xf4, 0x33, 0x55, 0x40, 0x82, 0x34, - 0x8c, 0xf4, 0xf6, 0x47, 0x8f, 0x77, 0x6d, 0x67, 0x5c, 0x58, 0x7f, 0x4f, 0x03, 0x8b, 0x13, 0x6a, - 0x91, 0x3e, 0x09, 0x3d, 0xa4, 0x04, 0xae, 0x2a, 0x29, 0xc2, 0xbc, 0x11, 0xce, 0x50, 0x7f, 0xe3, - 0xf7, 0x4d, 0x02, 0x9f, 0x78, 0x68, 0x6e, 0xb5, 0x81, 0x6e, 0xd2, 0xb3, 0xfd, 0xa7, 0xf1, 0xaa, - 0xcb, 0x66, 0x79, 0xa8, 0x6d, 0xa9, 0xcc, 0xef, 0x7d, 0x56, 0x70, 0x11, 0xf7, 0x4c, 0x2b, 0xc6, - 0x08, 0x9f, 0x46, 0x1c, 0x80, 0x34, 0x16, 0xf2, 0x63, 0x63, 0xff, 0x93, 0xfe, 0xc0, 0x30, 0x4a, - 0xa5, 0x8e, 0x13, 0xf4, 0xd6, 0x53, 0x57, 0x12, 0x78, 0xa0, 0xa8, 0x3a, 0x87, 0x04, 0x07, 0xb5, - 0x35, 0x3a, 0x22, 0x98, 0x1c, 0xac, 0xb5, 0x58, 0x23, 0xfc, 0x70, 0x8d, 0xb8, 0x82, 0xe9, 0xc5, - 0xb9, 0x35, 0x03, 0x6b, 0x2a, 0xd6, 0x78, 0x71, 0xa9, 0xf4, 0x42, 0x81, 0xc0, 0x87, 0x0d, 0xcb, - 0x18, 0xed, 0xd3, 0xda, 0x91, 0x86, 0xdf, 0x0c, 0x27, 0x12, 0x9b, 0x0e, 0xa8, 0x49, 0xbc, 0x89, - 0xfd, 0x21, 0x84, 0x99, 0x32, 0xc9, 0x68, 0x41, 0x1f, 0xe8, 0x09, 0x78, 0xa6, 0xfa, 0x5c, 0x23, - 0x9e, 0x0b, 0xc1, 0x86, 0x82, 0x69, 0x87, 0x4f, 0xa8, 0xa6, 0xab, 0x66, 0x09, 0xbe, 0xed, 0x92, - 0x8c, 0xbb, 0x2d, 0xc6, 0x46, 0x63, 0x41, 0x38, 0x00, 0xec, 0x82, 0x10, 0x47, 0xa2, 0xe0, 0x12, - 0x44, 0xca, 0x1b, 0x77, 0xb6, 0xb2, 0x73, 0x6d, 0x36, 0xe4, 0x69, 0xcf, 0xdb, 0x3a, 0x7c, 0xa3, - 0xb2, 0x8b, 0xd0, 0x92, 0x36, 0xa0, 0x8a, 0x54, 0x0e, 0x35, 0x6c, 0x6d, 0x9c, 0x53, 0x4e, 0x1b, - 0x7e, 0x42, 0xcb, 0x3d, 0xe5, 0x24, 0xed, 0x52, 0xf0, 0x48, 0x13, 0xfa, 0xce, 0xd9, 0xe1, 0xe8, - 0xbc, 0x2a, 0xaa, 0x87, 0xa6, 0xd4, 0x2c, 0x5e, 0x19, 0xcb, 0x64, 0x85, 0xda, 0xe2, 0x82, 0x73, - 0x46, 0x9c, 0x99, 0x0d, 0x34, 0x7c, 0xec, 0x32, 0xe5, 0x1d, 0xc3, 0x99, 0x97, 0x1b, 0xb3, 0x3f, - 0xdb, 0xff, 0x69, 0x94, 0xef, 0xdf, 0x69, 0x84, 0x07, 0xf0, 0x26, 0x64, 0x60, 0xec, 0x8f, 0x14, - 0x1a, 0x3a, 0x64, 0x31, 0x4e, 0x3c, 0x55, 0xe1, 0x7c, 0x47, 0xad, 0xbf, 0xb9, 0x33, 0x7c, 0x0c, - 0x48, 0x10, 0x42, 0xe4, 0x04, 0xfa, 0xf3, 0xbd, 0x6e, 0x4e, 0x28, 0x19, 0xaf, 0x13, 0xc0, 0xaa, - 0x99, 0x2b, 0x39, 0xf6, 0x33, 0xc8, 0x35, 0x2a, 0x51, 0x52, 0xd8, 0x6a, 0xa6, 0xb2, 0x63, 0x49, - 0x76, 0xde, 0xf8, 0x23, 0xc0, 0x53, 0xb7, 0x4d, 0x32, 0x20, 0x5e, 0x18, 0x90, 0x7d, 0x0d, 0x07, - 0x82, 0x5f, 0x8f, 0xfc, 0xee, 0x47, 0xed, 0xa8, 0x52, 0xc7, 0x9e, 0xa5, 0x0e, 0xb7, 0x6e, 0xe3, - 0x67, 0x98, 0x9e, 0x82, 0x5f, 0x39, 0xbb, 0xca, 0x27, 0x11, 0xc3, 0xd7, 0xe9, 0xcc, 0x28, 0x51, - 0xfa, 0x6a, 0xdd, 0xb3, 0x75, 0xa2, 0x45, 0x09, 0x82, 0xf8, 0x34, 0x32, 0x64, 0xa2, 0x97, 0xd5, - 0x3b, 0x8d, 0x33, 0x88, 0x0a, 0x51, 0xe3, 0x61, 0xd6, 0xee, 0xc6, 0x0d, 0x4a, 0xe9, 0x07, 0xfc, - 0x34, 0x09, 0xf6, 0xc1, 0xf2, 0xba, 0x95, 0x43, 0x79, 0x53, 0xa3, 0x9d, 0xe0, 0x1e, 0xdb, 0x52, - 0x17, 0xf9, 0xec, 0x9d, 0xaa, 0xfe, 0xbf, 0x41, 0x7d, 0xaf, 0xdb, 0x76, 0xec, 0xe5, 0xb1, 0x4f, - 0x8c, 0x6f, 0x80, 0x73, 0xb1, 0x89, 0x10, 0xbe, 0x91, 0x1b, 0xe8, 0xc1, 0x96, 0x58, 0x26, 0x4f, - 0x82, 0xce, 0x72, 0x5a, 0xe7, 0x2c, 0x5f, 0xaa, 0xdb, 0xd2, 0xae, 0x4f, 0xca, 0x8b, 0xe8, 0x9b, - 0x25, 0x13, 0x97, 0xbf, 0xec, 0x4c, 0x90, 0xe1, 0xb0, 0x7f, 0xb4, 0xa9, 0x6a, 0xa2, 0x56, 0xf6, - 0xe5, 0x46, 0x15, 0x6f, 0x9e, 0x9a, 0x0f, 0x78, 0x24, 0x31, 0x18, 0x49, 0x76, 0x79, 0x58, 0x12, - 0x2c, 0x5e, 0x4a, 0xbd, 0x68, 0x80, 0x96, 0xdf, 0xff, 0x76, 0x1a, 0x23, 0x2c, 0xe2, 0x9f, 0x1e, - 0x63, 0xa1, 0x2d, 0xbb, 0x14, 0x57, 0x68, 0xb6, 0x03, 0x32, 0x8f, 0x35, 0x79, 0x16, 0xa3, 0x71, - 0x64, 0xcd, 0x98, 0x0e, 0x0e, 0x9f, 0x88, 0xce, 0x6a, 0x22, 0x10, 0x66, 0x4a, 0x12, 0x76, 0x3a, - 0x49, 0x4a, 0xe3, 0x84, 0x47, 0x65, 0x3f, 0x48, 0x0e, 0xd0, 0xee, 0x4a, 0xc0, 0x2d, 0xc7, 0x3c, - 0x94, 0x83, 0x42, 0x36, 0x10, 0x25, 0xd5, 0x08, 0xbe, 0xde, 0x3a, 0x18, 0xad, 0x75, 0x8d, 0x49, - 0xe7, 0x75, 0x0d, 0x97, 0x45, 0xc8, 0x2c, 0x0d, 0xc0, 0x0a, 0xa4, 0x34, 0x3d, 0x57, 0xd9, 0x37, - 0x60, 0x5f, 0xab, 0x6f, 0xab, 0xe7, 0x82, 0xd4, 0x88, 0x1e, 0xd2, 0xce, 0x20, 0x27, 0x61, 0xa6, - 0xfb, 0xde, 0xfa, 0x69, 0xa7, 0x1c, 0xe2, 0x2d, 0x50, 0x50, 0x3a, 0xf5, 0x74, 0xd4, 0x1d, 0x09, - 0x36, 0xaf, 0xa2, 0x46, 0x56, 0x08, 0xd7, 0x48, 0xcd, 0x79, 0x91, 0x21, 0x5a, 0x06, 0x30, 0xd9, - 0xf4, 0x2f, 0x8d, 0x81, 0xee, 0xdd, 0x2b, 0xcd, 0xd0, 0xb2, 0xec, 0x14, 0xcb, 0xfb, 0x3d, 0xa5, - 0x07, 0x99, 0x26, 0xed, 0xff, 0x14, 0x11, 0xbe, 0x14, 0x69, 0xad, 0xe0, 0x5e, 0xeb, 0x87, 0xd8, - 0xf9, 0x99, 0x39, 0x6d, 0x20, 0xc7, 0xe0, 0xec, 0x1a, 0x70, 0xce, 0x55, 0x3d, 0xc2, 0x64, 0xd4, - 0x67, 0x4c, 0xb2, 0xe4, 0x1a, 0x5d, 0x00, 0xed, 0xce, 0xc8, 0x74, 0x35, 0x96, 0x1b, 0xa4, 0x59, - 0x99, 0x71, 0x34, 0x40, 0x74, 0xe3, 0x5f, 0xf9, 0x29, 0xea, 0x07, 0xce, 0x0d, 0xf9, 0x59, 0xe9, - 0x78, 0xa9, 0x9f, 0x30, 0x20, 0xa4, 0x59, 0x6c, 0x7f, 0x5b, 0x59, 0x89, 0x49, 0xd1, 0x86, 0xdc, - 0xca, 0x45, 0x1a, 0xd4, 0xed, 0xb7, 0x63, 0xb3, 0x65, 0xd3, 0x85, 0x2d, 0x65, 0x10, 0x90, 0xba, - 0x41, 0x52, 0x1f, 0x43, 0xb0, 0xcc, 0x8a, 0x20, 0x02, 0xb0, 0xb3, 0x78, 0xb5, 0x99, 0x7d, 0xe0, - 0x52, 0xdc, 0x3b, 0x73, 0xf7, 0x65, 0xf3, 0x70, 0x14, 0x85, 0x08, 0x57, 0x45, 0x6d, 0x72, 0x90, - 0x8c, 0xe3, 0x36, 0x49, 0x1a, 0x2a, 0x19, 0x6b, 0xfa, 0x39, 0x07, 0x84, 0xd1, 0x06, 0x5b, 0x26, - 0x37, 0x67, 0xc5, 0xf3, 0xf9, 0x2f, 0xc0, 0x76, 0x6e, 0xaa, 0xee, 0xaa, 0x41, 0xee, 0xad, 0xad, - 0x79, 0x02, 0x66, 0xdb, 0x70, 0x36, 0x9b, 0x70, 0xdd, 0x00, 0xc2, 0x9b, 0x5a, 0x03, 0xfc, 0x4e, - 0x4e, 0x94, 0x13, 0xf1, 0xbd, 0xad, 0x0e, 0x14, 0xfe, 0x14, 0x2c, 0xd2, 0x5b, 0xc2, 0xd4, 0xfd, - 0x47, 0x8d, 0xf5, 0xf5, 0x22, 0x96, 0x70, 0x30, 0x52, 0xf4, 0xe6, 0x95, 0x53, 0x35, 0xcb, 0xbe, - 0x62, 0x1c, 0x05, 0xfc, 0x4f, 0x6b, 0xa2, 0x69, 0x03, 0x6a, 0xcc, 0xe4, 0x02, 0x50, 0x15, 0xab, - 0x39, 0x26, 0xff, 0x6e, 0xd3, 0xf3, 0x16, 0x7a, 0x77, 0xb4, 0xb2, 0x87, 0xe5, 0x95, 0x21, 0xec, - 0xde, 0xa7, 0xc9, 0xda, 0x7a, 0x67, 0xbf, 0x1f, 0x00, 0x1c, 0x45, 0xbb, 0x96, 0x6a, 0x7c, 0x88, - 0xf7, 0xbd, 0xa7, 0xd9, 0x0c, 0x11, 0xf2, 0xc7, 0x47, 0x51, 0xf3, 0x6b, 0x92, 0x44, 0x9e, 0x0f, - 0x7a, 0xb6, 0x64, 0x4b, 0xa7, 0x71, 0x56, 0xf4, 0xf0, 0x72, 0xff, 0xa6, 0x2a, 0x64, 0xca, 0xdf, - 0x81, 0x65, 0x95, 0xaf, 0x3f, 0x09, 0x78, 0x2b, 0x97, 0x85, 0xeb, 0xe0, 0xc6, 0x49, 0xc5, 0x6c, - 0x50, 0x60, 0x9b, 0x4a, 0x8a, 0x9d, 0x3b, 0xca, 0xc7, 0x88, 0x6d, 0x98, 0x76, 0xdd, 0x03, 0x8d, - 0x7b, 0x31, 0x87, 0x16, 0x78, 0xb1, 0x5a, 0x83, 0x84, 0x65, 0x9e, 0xaf, 0x3f, 0xbc, 0x04, 0x56, - 0xc7, 0x89, 0x0c, 0x38, 0xe1, 0xc3, 0xf3, 0x4d, 0xbe, 0xd2, 0x22, 0xbb, 0x5d, 0x39, 0x1f, 0x5a, - 0xcb, 0xf8, 0x1a, 0xb2, 0xd7, 0x92, 0x44, 0x62, 0x5b, 0x4c, 0x0b, 0x90, 0xfb, 0x33, 0x20, 0xac, - 0xf1, 0x24, 0xf2, 0x3e, 0x9e, 0x80, 0x06, 0x4c, 0x6b, 0xe6, 0x1f, 0x00, 0x36, 0x9d, 0xd0, 0xe3, - 0xe7, 0x53, 0x52, 0xdd, 0x49, 0xe2, 0x75, 0xeb, 0x31, 0xaf, 0x0c, 0x69, 0x5a, 0x10, 0xe3, 0xa7, - 0x39, 0xbd, 0x7a, 0xa5, 0x6a, 0x6c, 0xc9, 0x3b, 0xd5, 0x8e, 0x49, 0x9a, 0xb8, 0xfb, 0x5f, 0xf1, - 0x06, 0x47, 0x4a, 0xf7, 0xcd, 0xb0, 0xe0, 0x25, 0xe9, 0xad, 0xca, 0xc5, 0xaa, 0x9e, 0xa3, 0x9a, - 0xe6, 0xef, 0x7b, 0xd3, 0xd4, 0x34, 0x60, 0x9b, 0x37, 0x0a, 0xfb, 0x9f, 0x92, 0xbe, 0xcf, 0x69, - 0x36, 0x04, 0x6b, 0xc5, 0x1b, 0x1e, 0x16, 0x30, 0x60, 0x57, 0xcc, 0xf4, 0xe1, 0x81, 0x93, 0x61, - 0x88, 0xb6, 0x5c, 0xe2, 0x3a, 0xb6, 0xc5, 0x76, 0x98, 0x2b, 0x38, 0x68, 0x4f, 0xf8, 0x64, 0x0c, - 0x7c, 0x6a, 0x53, 0x92, 0xd2, 0x86, 0x7d, 0x82, 0x03, 0xe1, 0x14, 0xf2, 0xa8, 0x3a, 0xe0, 0xdb, - 0x06, 0x8e, 0xde, 0x6b, 0x51, 0xb7, 0xda, 0x94, 0xbe, 0xec, 0x3d, 0x1f, 0x93, 0x5f, 0x79, 0x33, - 0xb1, 0xee, 0xc8, 0x89, 0x59, 0xe0, 0xf7, 0x81, 0x2b, 0x7f, 0xa1, 0x7c, 0x83, 0x37, 0xe8, 0xcc, - 0x1e, 0xc0, 0x20, 0x8f, 0x54, 0xd6, 0xe0, 0x45, 0x15, 0x1a, 0x99, 0x33, 0x31, 0x08, 0x9a, 0x00, - 0x33, 0x7c, 0x41, 0xed, 0x95, 0x17, 0x33, 0x44, 0x4d, 0x68, 0x62, 0x28, 0xab, 0x7b, 0x97, 0xe5, - 0x59, 0xe1, 0x61, 0x57, 0x0e, 0x86, 0xa3, 0x97, 0x74, 0xa7, 0xf5, 0xc9, 0xd1, 0xea, 0xf5, 0xcf, - 0xac, 0xb7, 0xcf, 0x28, 0x14, 0x9c, 0x1c, 0x03, 0xd8, 0x19, 0xc5, 0x4d, 0xe4, 0xfc, 0x93, 0xbe, - 0xfc, 0xd4, 0x7e, 0x54, 0x03, 0x52, 0x85, 0x65, 0x4d, 0xc6, 0x97, 0x03, 0xde, 0xc5, 0xd6, 0x69, - 0x3f, 0xf2, 0x67, 0xd1, 0x78, 0xe7, 0x4d, 0x95, 0xef, 0x93, 0x85, 0xb8, 0x14, 0x37, 0xe7, 0x25, - 0x86, 0x83, 0x91, 0x94, 0xc0, 0xcf, 0xe5, 0x5f, 0x56, 0x6a, 0xd4, 0x77, 0x23, 0x2a, 0xd8, 0x57, - 0xde, 0x8c, 0x5b, 0xb2, 0x57, 0xa7, 0xf4, 0xa7, 0x33, 0x5c, 0xe3, 0xcf, 0x13, 0x42, 0xac, 0xe2, - 0x40, 0x2d, 0x5a, 0xc5, 0xb7, 0xfb, 0x4b, 0x64, 0x88, 0x51, 0xa9, 0x84, 0x76, 0x01, 0xde, 0x8c, - 0xae, 0x89, 0x12, 0xe3, 0xb6, 0xf3, 0x29, 0x3c, 0x6e, 0x52, 0x68, 0x89, 0xb3, 0x3d, 0x02, 0xc7, - 0x89, 0xe3, 0x22, 0xd1, 0x4c, 0x46, 0xec, 0xa7, 0x50, 0xa0, 0x2b, 0x35, 0x1c, 0x1e, 0xd4, 0xee, - 0x6e, 0x2e, 0x1a, 0x29, 0xa4, 0xe3, 0xcf, 0x1c, 0xc1, 0x9a, 0xef, 0x38, 0x92, 0xaf, 0xf6, 0x21, - 0x8b, 0x81, 0xb1, 0x20, 0x81, 0xcb, 0x1b, 0xf6, 0x52, 0x5e, 0xfa, 0x92, 0x86, 0x6b, 0xfe, 0x8e, - 0x98, 0x17, 0xbc, 0xba, 0xa5, 0xdf, 0x00, 0xc7, 0x6c, 0x2d, 0x52, 0xcd, 0x7b, 0x79, 0x08, 0x00, - 0x43, 0x06, 0x63, 0x60, 0xc1, 0x42, 0x33, 0x76, 0xff, 0x4e, 0x7d, 0xdd, 0xe6, 0x99, 0x50, 0xf3, - 0xc8, 0xf9, 0xc5, 0xe6, 0x2d, 0xc5, 0xaf, 0x5e, 0xc7, 0xf7, 0x7d, 0xae, 0x1e, 0x37, 0xbb, 0x35, - 0x7f, 0x44, 0xfa, 0x94, 0xa7, 0xb4, 0xe2, 0xed, 0xac, 0x66, 0x73, 0xba, 0x9c, 0x16, 0xcf, 0xd1, - 0x3c, 0xe3, 0x0b, 0xf8, 0xb5, 0x73, 0x15, 0x0e, 0x6b, 0xb6, 0xfa, 0xed, 0x2a, 0xb2, 0xed, 0xc8, - 0x44, 0x07, 0x5e, 0xfd, 0x61, 0x70, 0x03, 0xe3, 0xa2, 0x8c, 0x01, 0x3b, 0x77, 0x1c, 0xa3, 0x56, - 0xa7, 0x3a, 0xde, 0xbb, 0xca, 0xa2, 0xb6, 0xab, 0x41, 0x98, 0x5d, 0x80, 0x32, 0x0c, 0xd0, 0xdf, - 0x08, 0x51, 0x8e, 0x9d, 0x1f, 0x85, 0x17, 0x1d, 0x72, 0xaf, 0xb9, 0x44, 0xe6, 0x77, 0x17, 0xf6, - 0x7c, 0x77, 0x22, 0x41, 0xeb, 0xdc, 0x4a, 0x4c, 0xf0, 0x10, 0x95, 0x59, 0x78, 0x03, 0x8a, 0xec, - 0xc8, 0xa9, 0xb8, 0xda, 0x59, 0x23, 0xd4, 0x94, 0xba, 0x2e, 0xe5, 0x21, 0x26, 0xc5, 0x8f, 0x43, - 0x84, 0xe5, 0xa0, 0x60, 0xe2, 0x08, 0xef, 0xab, 0x68, 0x1b, 0xdc, 0xe6, 0x55, 0x47, 0x06, 0xb4, - 0xb8, 0x3c, 0x2b, 0x6d, 0x5a, 0x10, 0xe7, 0xfb, 0x58, 0xf6, 0x5d, 0x27, 0x96, 0xa6, 0xf7, 0x2b, - 0x8e, 0x5e, 0x11, 0x34, 0x55, 0xf0, 0x2d, 0x9d, 0xe8, 0xcf, 0xe4, 0xd3, 0x58, 0x42, 0x9e, 0x4a, - 0x2c, 0x98, 0x94, 0x4d, 0x90, 0x5e, 0xe3, 0x6c, 0xb8, 0xad, 0xe6, 0x12, 0xc4, 0x9a, 0xa8, 0x95, - 0x1f, 0x00, 0x51, 0x4b, 0x0a, 0xd1, 0xcf, 0x57, 0x1f, 0xbf, 0xb1, 0x91, 0xd2, 0x42, 0xfa, 0x55, - 0xbc, 0xe8, 0x38, 0x25, 0xd0, 0x6d, 0xa0, 0xe9, 0x57, 0x75, 0x39, 0x39, 0xf6, 0xa3, 0xf4, 0xb3, - 0xf0, 0x5f, 0x54, 0xf6, 0x18, 0x43, 0xe0, 0x5c, 0x95, 0x09, 0xbb, 0x86, 0xce, 0x68, 0x00, 0x34, - 0x69, 0x17, 0x55, 0x0f, 0x05, 0x2e, 0x0b, 0xff, 0xf7, 0xf6, 0xec, 0xc5, 0x16, 0xcf, 0xe0, 0x8a, - 0xb1, 0x0c, 0x1f, 0x12, 0xfd, 0x34, 0xc3, 0x9f, 0xcc, 0xad, 0x53, 0xc3, 0x9c, 0x82, 0x25, 0xa1, - 0x90, 0x10, 0x58, 0x3c, 0xf8, 0x24, 0x07, 0x34, 0x23, 0xad, 0xda, 0xf8, 0xeb, 0x9c, 0x6b, 0x02, - 0xd9, 0xe4, 0xb3, 0xe6, 0x16, 0xc9, 0x1e, 0x7f, 0x24, 0x1d, 0x08, 0x4e, 0x3a, 0xc2, 0x76, 0x0f, - 0x0f, 0x93, 0xb6, 0xc9, 0x92, 0x37, 0xf2, 0x0e, 0x4a, 0xa9, 0xf9, 0x41, 0xc3, 0xaa, 0xb2, 0x1e, - 0xb9, 0xf3, 0x3b, 0xe7, 0xba, 0x72, 0x02, 0x72, 0x77, 0x8a, 0x94, 0x6c, 0x92, 0x5b, 0xa9, 0x9a, - 0x99, 0xbd, 0xc5, 0x0d, 0xda, 0xbf, 0x65, 0x99, 0xc1, 0xef, 0x00, 0xe4, 0xad, 0x28, 0x94, 0x75, - 0x81, 0x71, 0xc7, 0x53, 0xc5, 0xa5, 0x93, 0x3c, 0xa3, 0x60, 0x9c, 0x71, 0x03, 0x60, 0xee, 0x2e, - 0x13, 0xb8, 0x6a, 0x0a, 0xf8, 0xb4, 0x22, 0xc3, 0xe0, 0x8d, 0xfa, 0x5b, 0x45, 0x72, 0x7c, 0x33, - 0x26, 0x25, 0xcb, 0xe2, 0x4b, 0x4a, 0xa7, 0xe7, 0xcc, 0x00, 0x75, 0xa4, 0x6b, 0x54, 0x62, 0x52, - 0x16, 0x0f, 0xf8, 0xf2, 0x96, 0xf7, 0x44, 0x69, 0xd8, 0xb3, 0xfe, 0x44, 0x90, 0x93, 0x34, 0xa8, - 0x0e, 0xc4, 0xdd, 0x66, 0xe4, 0x6b, 0x51, 0x14, 0xd3, 0xaf, 0x9b, 0x04, 0x38, 0x7a, 0xde, 0xbb, - 0x6a, 0x98, 0xcd, 0xcc, 0xee, 0x42, 0x44, 0xed, 0x62, 0x63, 0x43, 0x47, 0xf2, 0x11, 0xee, 0x9b, - 0x60, 0x51, 0x6a, 0x76, 0xa7, 0x97, 0x63, 0x6a, 0x8e, 0x3c, 0x53, 0xfa, 0xc9, 0x6f, 0x75, 0x6f, - 0x99, 0xd7, 0x3e, 0xa2, 0x99, 0xb6, 0x31, 0xeb, 0xc4, 0x7a, 0x86, 0xa7, 0x14, 0x0f, 0xd3, 0xce, - 0xad, 0x11, 0xc5, 0xa0, 0xf0, 0xf3, 0x22, 0x92, 0xb4, 0x62, 0x8e, 0x88, 0x90, 0xa4, 0x40, 0x41, - 0x92, 0xca, 0x2d, 0x13, 0x9f, 0xbe, 0x29, 0xa7, 0xf6, 0x1f, 0xd1, 0x5d, 0xf3, 0x6c, 0x2a, 0x95, - 0xc9, 0x5c, 0xeb, 0x30, 0x9d, 0x58, 0x50, 0x5b, 0xb2, 0xa8, 0xf4, 0x46, 0xf2, 0x3e, 0x07, 0x79, - 0x01, 0x3a, 0xae, 0x4f, 0x96, 0xfc, 0x6b, 0x54, 0x8c, 0x3d, 0xd8, 0x71, 0x37, 0xaa, 0xab, 0x6f, - 0x6b, 0x4f, 0x24, 0x23, 0xc7, 0x08, 0x4a, 0xa6, 0xfc, 0x4c, 0xfc, 0x43, 0xf3, 0x19, 0x73, 0x19, - 0x6d, 0xee, 0x8d, 0x2d, 0x0f, 0xa0, 0x90, 0xd0, 0x66, 0xf4, 0x99, 0x47, 0x03, 0x20, 0x2b, 0x80, - 0x94, 0xa5, 0xfd, 0x11, 0x75, 0x9b, 0x9d, 0x41, 0x58, 0x1f, 0x20, 0xc1, 0x90, 0xcc, 0x71, 0xe8, - 0xf6, 0x0a, 0x45, 0x11, 0x35, 0xad, 0x0e, 0x50, 0x18, 0x89, 0x61, 0x87, 0xd8, 0x53, 0x35, 0xf5, - 0x5a, 0xf3, 0x47, 0xb1, 0x23, 0xd8, 0xa9, 0xe0, 0x1a, 0x40, 0x1b, 0x5d, 0xfe, 0x60, 0x85, 0xd6, - 0xc4, 0x7d, 0x65, 0x15, 0x69, 0x07, 0x8f, 0x65, 0xf4, 0x9c, 0xa0, 0x76, 0x56, 0xf6, 0x40, 0xb4, - 0x9b, 0xc5, 0xc7, 0x9b, 0x60, 0x03, 0x07, 0x16, 0xee, 0xaa, 0x79, 0x45, 0xf8, 0x62, 0x2d, 0xe4, - 0xf9, 0x42, 0xd6, 0x99, 0x31, 0x67, 0x95, 0x3b, 0x0d, 0x7b, 0x3a, 0x62, 0x18, 0xaf, 0xc6, 0x6d, - 0xa3, 0x68, 0x7c, 0xd3, 0x44, 0x09, 0xf7, 0xe6, 0x4b, 0x0d, 0x8f, 0x53, 0x4a, 0xa9, 0xf3, 0xe0, - 0x06, 0x05, 0xfc, 0xc2, 0x32, 0x05, 0x0b, 0x1a, 0x3a, 0x48, 0xca, 0x9c, 0x33, 0x56, 0x55, 0xb3, - 0x6f, 0x04, 0xbe, 0xe1, 0x2f, 0xab, 0x0f, 0x02, 0xd2, 0x68, 0xef, 0xd1, 0xc0, 0xa9, 0x22, 0x47, - 0x31, 0x69, 0x1a, 0x7d, 0x7c, 0xc2, 0x46, 0x9f, 0x29, 0x7d, 0x78, 0xf4, 0x1e, 0x33, 0x99, 0x1e, - 0xff, 0x7b, 0x0a, 0xa5, 0x14, 0xda, 0xd7, 0x4a, 0xd5, 0x2d, 0x20, 0xd4, 0xa6, 0xa5, 0x64, 0x0b, - 0x7c, 0x7e, 0xf7, 0x73, 0x72, 0x8c, 0x5b, 0x58, 0x96, 0xca, 0xaa, 0x8e, 0x38, 0xf4, 0x0b, 0x91, - 0xfb, 0x06, 0x1b, 0x27, 0x96, 0x93, 0x90, 0x51, 0xc8, 0x68, 0x3b, 0x16, 0x3c, 0x95, 0x8a, 0x4d, - 0x26, 0x54, 0x73, 0x34, 0x45, 0x22, 0x79, 0x1d, 0x20, 0x99, 0x8f, 0xbe, 0x1c, 0xe5, 0x3f, 0xa4, - 0x83, 0xec, 0xc4, 0x2d, 0xea, 0x57, 0xdb, 0x5a, 0x3d, 0x04, 0x0a, 0x5a, 0x74, 0x9e, 0xf6, 0xc8, - 0x31, 0x38, 0x90, 0xc6, 0xa9, 0x38, 0xa8, 0x9d, 0x70, 0x1c, 0x46, 0x98, 0x4d, 0xa4, 0xda, 0xb6, - 0xd7, 0x0d, 0xcd, 0xa6, 0x49, 0x70, 0xb3, 0xe9, 0x31, 0x53, 0x06, 0xb8, 0xe3, 0xaf, 0xb7, 0xb5, - 0x52, 0xb9, 0x6d, 0xca, 0xb1, 0x3e, 0x1c, 0x7c, 0x45, 0x53, 0xa8, 0x6e, 0xd0, 0x0e, 0x9f, 0xe0, - 0xbb, 0x1c, 0xec, 0x63, 0x30, 0x3d, 0xc6, 0x34, 0xf0, 0x82, 0xe1, 0x4b, 0x75, 0x5e, 0x2e, 0x58, - 0xbb, 0xde, 0xcb, 0xbd, 0x0a, 0x1f, 0xde, 0x6f, 0xb5, 0xa2, 0xab, 0x9c, 0x98, 0x3e, 0x45, 0x6e, - 0xd7, 0x72, 0x98, 0xcb, 0xb6, 0x8d, 0x56, 0x3c, 0xf8, 0xd4, 0x88, 0x68, 0x1b, 0xb6, 0x00, 0x66, - 0x3c, 0x73, 0xae, 0x39, 0xe6, 0xcb, 0x4e, 0x84, 0x50, 0xbe, 0xf3, 0xe4, 0xb9, 0x19, 0xf0, 0xa7, - 0xb9, 0xcf, 0xbc, 0xdc, 0x82, 0xa6, 0x8a, 0xe2, 0x63, 0x88, 0x81, 0x46, 0x49, 0x51, 0xf1, 0x95, - 0x42, 0x84, 0x8a, 0xd9, 0x87, 0xf4, 0x2f, 0x0e, 0x0e, 0xf8, 0x69, 0x93, 0x1f, 0xa5, 0x99, 0x8c, - 0x75, 0x6e, 0x30, 0xdc, 0xea, 0x5d, 0x2a, 0x3a, 0xf2, 0x2b, 0xaa, 0xc1, 0xea, 0xfe, 0xc5, 0xd3, - 0x1e, 0x77, 0x59, 0x2e, 0x96, 0x3f, 0xfa, 0x4a, 0x56, 0x5d, 0xad, 0xed, 0x8a, 0xa8, 0x9b, 0x47, - 0xd7, 0xc1, 0x0f, 0x33, 0x76, 0x27, 0xea, 0x8e, 0x33, 0x11, 0x63, 0x2b, 0xfc, 0xd8, 0x38, 0x6b, - 0x77, 0x07, 0x9e, 0x3a, 0xcd, 0x5f, 0x07, 0xaa, 0xb1, 0x3c, 0xd3, 0x38, 0x8f, 0x7e, 0xf2, 0xab, - 0xed, 0x3b, 0x54, 0xed, 0xd4, 0xbd, 0xc6, 0x3a, 0x0e, 0xd9, 0x65, 0xa4, 0x94, 0x51, 0x4d, 0xe7, - 0x61, 0x48, 0xa8, 0x39, 0xbf, 0x86, 0x21, 0x2b, 0x11, 0xf6, 0x8a, 0x09, 0x94, 0x66, 0xce, 0xb2, - 0x56, 0x3d, 0xde, 0xa0, 0xcd, 0xbc, 0x25, 0x6a, 0xe3, 0xe3, 0x06, 0xd1, 0x51, 0xe0, 0x91, 0xaf, - 0x89, 0x3b, 0x45, 0x8e, 0x86, 0xb2, 0x65, 0x43, 0x7c, 0x6b, 0xa7, 0x59, 0xf9, 0x6f, 0xf5, 0x9f, - 0x67, 0x74, 0xe9, 0x0e, 0x7f, 0x50, 0x37, 0x01, 0xf1, 0x13, 0x6a, 0x07, 0x04, 0xe2, 0x12, 0xc4, - 0x41, 0x0d, 0x09, 0xd8, 0xa2, 0x28, 0xff, 0xf0, 0x43, 0x34, 0x3d, 0x0d, 0x9f, 0xb4, 0xf0, 0xd7, - 0xcb, 0xc9, 0x60, 0xf6, 0xff, 0xeb, 0xae, 0xf2, 0xfb, 0x18, 0xa6, 0xa6, 0x09, 0xab, 0x23, 0x34, - 0x28, 0x6d, 0x40, 0xcb, 0x30, 0x84, 0x56, 0xf8, 0x86, 0x17, 0x86, 0x08, 0xb7, 0x79, 0xf9, 0x44, - 0x44, 0xfa, 0x10, 0xc4, 0x96, 0xe5, 0x7a, 0xfa, 0x27, 0x02, 0x50, 0xa8, 0x1b, 0xc1, 0x86, 0xc6, - 0x33, 0x49, 0xc2, 0xf5, 0x20, 0xe8, 0x7b, 0x33, 0xe1, 0xc5, 0xf2, 0x0a, 0x33, 0xad, 0xc7, 0x2a, - 0x02, 0x34, 0xe5, 0x8f, 0x17, 0x08, 0x20, 0x58, 0x54, 0x92, 0x82, 0xe1, 0x67, 0xb7, 0x49, 0xe3, - 0x64, 0xd8, 0x65, 0x87, 0x51, 0x06, 0x3e, 0x54, 0xd9, 0x9d, 0x1b, 0x2f, 0x1c, 0x9a, 0x83, 0x23, - 0x92, 0x88, 0xec, 0xdb, 0x47, 0xb4, 0xca, 0xf8, 0xd6, 0x8c, 0x77, 0xfc, 0xce, 0x92, 0xf3, 0x84, - 0x8c, 0x16, 0x0f, 0xb8, 0xcd, 0xe9, 0x7c, 0xcf, 0xfb, 0x74, 0x43, 0xe3, 0xe2, 0x41, 0x3a, 0x3d, - 0x25, 0x72, 0x2e, 0x76, 0x2e, 0x28, 0xca, 0x26, 0x97, 0x14, 0x23, 0x2c, 0x7d, 0xb1, 0xf9, 0xc4, - 0x45, 0x3d, 0x97, 0x10, 0x4f, 0xa6, 0x08, 0x07, 0x7e, 0xcc, 0xc7, 0x40, 0xdc, 0x17, 0x6f, 0x8b, - 0x93, 0x8b, 0xec, 0x1e, 0x01, 0xc3, 0xae, 0xe0, 0x51, 0x6a, 0xa8, 0x1d, 0xd8, 0x64, 0xf6, 0x8f, - 0xee, 0xc3, 0xaa, 0x7c, 0xdd, 0x8f, 0x57, 0x36, 0x47, 0xae, 0xc6, 0x3c, 0x9e, 0xad, 0x77, 0x14, - 0x14, 0xa7, 0x82, 0x40, 0x37, 0xbc, 0xa9, 0x24, 0xe4, 0xf2, 0x69, 0x39, 0xe3, 0x98, 0xe4, 0xb2, - 0x89, 0xd0, 0x6d, 0x84, 0x4e, 0x9a, 0xce, 0x53, 0x39, 0xd0, 0xc4, 0xc1, 0x60, 0xb6, 0x04, 0xd7, - 0x19, 0xe9, 0x0a, 0xd6, 0x01, 0x5f, 0xb7, 0x78, 0x5d, 0x47, 0x37, 0x37, 0x66, 0x72, 0x62, 0x64, - 0xfb, 0xd9, 0xaf, 0x97, 0xbc, 0x0e, 0xe3, 0xca, 0xd3, 0xc3, 0x1c, 0xb7, 0x06, 0x03, 0x32, 0xfe, - 0xed, 0x75, 0xc6, 0xea, 0x19, 0xd6, 0x19, 0xf0, 0xc8, 0x19, 0xe9, 0x96, 0x47, 0x84, 0xcf, 0x1c, - 0x9c, 0xcd, 0xb0, 0x3a, 0xde, 0xaa, 0x80, 0x90, 0x87, 0x96, 0x22, 0x39, 0xc7, 0x44, 0x36, 0xde, - 0x47, 0x31, 0xf4, 0xba, 0xa9, 0x96, 0xac, 0xb0, 0x28, 0x58, 0x3c, 0x75, 0xee, 0xf0, 0xa6, 0x55, - 0x01, 0x55, 0x2e, 0xe8, 0xad, 0x37, 0x25, 0xd6, 0xe4, 0x7a, 0x76, 0x02, 0xa6, 0xba, 0x82, 0x8b, - 0x57, 0xec, 0x59, 0x5c, 0xb0, 0x71, 0x69, 0x28, 0x39, 0xe4, 0xa3, 0xd2, 0x27, 0xc8, 0x91, 0xa4, - 0x24, 0xb0, 0xd9, 0x2c, 0x1c, 0xf2, 0x24, 0x3b, 0x15, 0x82, 0x41, 0x81, 0x12, 0xde, 0x6e, 0xd8, - 0xb0, 0x1d, 0xad, 0x6b, 0xfb, 0xf6, 0x82, 0xf6, 0xd1, 0x06, 0x68, 0x02, 0xf5, 0x31, 0x6a, 0xe3, - 0x1b, 0x97, 0x76, 0x18, 0x76, 0xb6, 0xd7, 0x39, 0xe7, 0xea, 0xd8, 0x16, 0xb5, 0x2d, 0x71, 0xe0, - 0x77, 0x0e, 0x8d, 0xbf, 0x26, 0xf5, 0x62, 0x9e, 0x33, 0x35, 0x1e, 0x6e, 0x97, 0x48, 0xe3, 0x0e, - 0x44, 0xee, 0x09, 0x1b, 0xe9, 0x6c, 0xab, 0xce, 0x2b, 0x95, 0xbf, 0x39, 0x93, 0xaf, 0x25, 0x30, - 0xe0, 0x9c, 0x10, 0x8a, 0xa8, 0x91, 0xe7, 0x3b, 0x81, 0xa1, 0xc5, 0x41, 0xbe, 0x62, 0x1b, 0x32, - 0xab, 0x50, 0x88, 0x18, 0x94, 0x5f, 0xe0, 0x82, 0xf7, 0xc4, 0x9a, 0xcd, 0xcb, 0x68, 0x2f, 0xad, - 0xd4, 0x5e, 0xfa, 0x83, 0x6f, 0x02, 0x52, 0x5d, 0x99, 0x01, 0x04, 0x95, 0xe5, 0xa0, 0xd5, 0xae, - 0x7b, 0x07, 0x8e, 0xdb, 0xea, 0x4d, 0x0b, 0x4d, 0x24, 0x1f, 0xc0, 0x12, 0xba, 0x20, 0x24, 0x60, - 0x0d, 0x5f, 0x85, 0x08, 0xc8, 0x00, 0x60, 0xc8, 0x4b, 0x05, 0x5f, 0x41, 0x0a, 0x8a, 0x1b, 0x50, - 0x48, 0xa0, 0x55, 0x35, 0x82, 0xa8, 0x0a, 0x93, 0xa0, 0x79, 0x81, 0xa4, 0xec, 0x99, 0x9e, 0x28, - 0x9d, 0x8b, 0xbb, 0xe1, 0x66, 0x93, 0x23, 0xdc, 0x0d, 0xf3, 0x96, 0xc2, 0x6c, 0x0e, 0xe9, 0x82, - 0x3f, 0xbd, 0x0b, 0xe4, 0x77, 0x47, 0xfd, 0xcd, 0xa1, 0x39, 0x22, 0x81, 0xed, 0x0a, 0x6d, 0x5a, - 0x22, 0xa3, 0x23, 0xb9, 0x2d, 0x6e, 0xbf, 0x9d, 0x81, 0x57, 0x9a, 0x0f, 0xa6, 0x88, 0xf3, 0x23, - 0x31, 0x78, 0xf5, 0x49, 0xa0, 0xa0, 0x4d, 0xf3, 0x7b, 0xe2, 0x89, 0x70, 0x56, 0x2b, 0x3d, 0x5a, - 0xba, 0x35, 0xc0, 0x3b, 0x05, 0xe0, 0x26, 0x05, 0xb7, 0x7d, 0xac, 0x06, 0x01, 0xf2, 0xd5, 0x56, - 0x4a, 0x1f, 0x3b, 0xad, 0x55, 0xd7, 0x22, 0x80, 0xd5, 0x91, 0xc7, 0x5c, 0xe9, 0x28, 0xec, 0x97, - 0x5e, 0xa3, 0xb5, 0xe5, 0x55, 0x86, 0xc2, 0x24, 0x66, 0xa3, 0xb8, 0x49, 0xcb, 0x64, 0xd1, 0x59, - 0x65, 0x28, 0xe6, 0x60, 0x08, 0x35, 0x1b, 0xe9, 0x6a, 0x3d, 0xc5, 0xc8, 0x00, 0x82, 0xfe, 0x3a, - 0x42, 0x82, 0xf4, 0x00, 0x07, 0xb6, 0x79, 0x3a, 0x0d, 0x49, 0x3c, 0xab, 0xb4, 0xd2, 0x6f, 0x5d, - 0x2e, 0x51, 0x14, 0x3c, 0x98, 0xf0, 0x22, 0x68, 0x73, 0x48, 0x5e, 0x5a, 0xc8, 0x26, 0x7a, 0x20, - 0x31, 0x55, 0x33, 0xd5, 0x1e, 0x0a, 0x26, 0xd7, 0x50, 0xe1, 0x64, 0x8a, 0x43, 0x13, 0x01, 0x1a, - 0xd2, 0xe0, 0xb8, 0x75, 0x35, 0x4d, 0x8a, 0xe1, 0x96, 0x59, 0xb2, 0x3e, 0x7b, 0xc5, 0x27, 0x30, - 0x3f, 0x03, 0x74, 0xa9, 0x5a, 0xb8, 0x37, 0xf3, 0xb1, 0x0a, 0xf0, 0x15, 0x36, 0x8c, 0x15, 0x01, - 0xc5, 0xb0, 0xa4, 0x01, 0xc2, 0x0a, 0x9b, 0x0a, 0x34, 0x7d, 0x8c, 0xec, 0xe0, 0x18, 0xe9, 0x37, - 0x44, 0xb6, 0xb6, 0xb4, 0xe8, 0x49, 0x12, 0x3b, 0x0f, 0xc8, 0x60, 0x78, 0x3a, 0x21, 0x4f, 0xa2, - 0x8a, 0x64, 0x99, 0x61, 0xa4, 0x74, 0xba, 0x07, 0x2f, 0x1e, 0x59, 0x91, 0x1a, 0x3a, 0x4d, 0x11, - 0x66, 0xa9, 0xe1, 0x20, 0xff, 0x8a, 0xda, 0x91, 0x3d, 0x4a, 0x0a, 0x56, 0xc0, 0xd1, 0x9e, 0x98, - 0x31, 0xc5, 0x48, 0x9c, 0xbb, 0x05, 0x0b, 0x63, 0xc8, 0xf8, 0x95, 0x39, 0x11, 0xee, 0x34, 0x73, - 0x72, 0xb6, 0x51, 0x9e, 0xa3, 0xc6, 0xd9, 0x73, 0x80, 0xde, 0x56, 0x3e, 0x7b, 0xd3, 0xef, 0x10, - 0xa4, 0x2f, 0x2b, 0xaf, 0x41, 0xd7, 0x96, 0x4b, 0x6b, 0xc1, 0x51, 0x4b, 0xd7, 0x4a, 0x48, 0x3c, - 0x25, 0xe8, 0x1e, 0xb6, 0x3f, 0xbe, 0xb6, 0x12, 0xeb, 0x55, 0xd2, 0x8d, 0x57, 0xcb, 0x3b, 0xfb, - 0xb0, 0xb6, 0x5e, 0xd0, 0x0d, 0x6e, 0x0f, 0xb1, 0xe1, 0x73, 0xb7, 0x1e, 0xe6, 0x0c, 0x50, 0xea, - 0x5b, 0x97, 0x3b, 0x48, 0xea, 0xe2, 0xc1, 0x0b, 0x0d, 0x60, 0x5b, 0x88, 0x92, 0xbd, 0x65, 0x25, - 0xe2, 0x7f, 0xe2, 0x27, 0x3c, 0x1c, 0xcb, 0x52, 0x4e, 0x81, 0x0b, 0x41, 0xdf, 0x86, 0x69, 0x72, - 0x3c, 0x84, 0x66, 0xcb, 0x26, 0xa6, 0x1a, 0xb8, 0x7d, 0xc0, 0x2b, 0x0c, 0xc1, 0xeb, 0xf1, 0x0f, - 0x2d, 0x89, 0xd9, 0xe4, 0xc6, 0xae, 0xd8, 0xd4, 0xe4, 0x4a, 0x44, 0x9b, 0x9f, 0xf1, 0x1c, 0xd1, - 0x96, 0xf9, 0xfa, 0x39, 0x6f, 0x1a, 0x78, 0x4f, 0xf6, 0x1c, 0xdc, 0x7b, 0x54, 0x5e, 0xb5, 0x25, - 0x8f, 0x50, 0xd3, 0x40, 0xd6, 0x1e, 0x93, 0x63, 0x8a, 0x88, 0x95, 0xbf, 0x00, 0xb4, 0x53, 0xe2, - 0xfb, 0x73, 0x42, 0x1d, 0x2f, 0xb9, 0x61, 0xa5, 0x30, 0x7d, 0xa3, 0xf4, 0x15, 0x41, 0x93, 0x15, - 0x4e, 0x14, 0x02, 0x36, 0xc6, 0xd7, 0x65, 0x9b, 0x3c, 0xfc, 0x51, 0xb1, 0xb4, 0x83, 0x59, 0x84, - 0x6c, 0x3d, 0xc7, 0x27, 0xf9, 0xf2, 0x5a, 0x09, 0xd7, 0xec, 0x1a, 0x1e, 0xd4, 0x8a, 0xb1, 0x70, - 0xf2, 0x6a, 0x34, 0xdc, 0x64, 0x79, 0xce, 0xfd, 0x23, 0x0e, 0x4e, 0xb7, 0x18, 0x9d, 0x38, 0x8f, - 0x85, 0x74, 0xd7, 0x96, 0x56, 0x78, 0x38, 0xc5, 0x17, 0x64, 0x96, 0x39, 0xa4, 0x46, 0x86, 0xc8, - 0x0b, 0xee, 0x1a, 0xfc, 0xb8, 0xeb, 0x63, 0x87, 0x41, 0xc5, 0xad, 0xff, 0xae, 0x96, 0x46, 0xed, - 0x8a, 0x5e, 0x60, 0x1d, 0x45, 0x13, 0x00, 0xb4, 0xc9, 0xf4, 0xba, 0xdc, 0xac, 0x56, 0x0b, 0x72, - 0x6c, 0x62, 0x87, 0xa1, 0x17, 0xaf, 0x78, 0x50, 0xa1, 0xab, 0xee, 0x63, 0x45, 0x69, 0x34, 0x97, - 0xf4, 0x96, 0xfc, 0x4b, 0xb1, 0x62, 0xc7, 0x7f, 0xa8, 0xdb, 0xb2, 0xe9, 0x07, 0x8d, 0xdf, 0x98, - 0xea, 0x02, 0xbf, 0x1c, 0x60, 0x19, 0x3b, 0x89, 0x91, 0xee, 0x4b, 0x00, 0xb6, 0x57, 0xd5, 0x21, - 0x01, 0xa9, 0x8e, 0xb5, 0xa5, 0x93, 0x6c, 0x72, 0x27, 0xb8, 0xe0, 0x7d, 0x36, 0xe7, 0x7d, 0x17, - 0xdd, 0xd0, 0xa5, 0x0a, 0x7d, 0xa9, 0x31, 0x7d, 0x8f, 0xf2, 0x5f, 0x6b, 0x49, 0x96, 0xa4, 0x77, - 0x81, 0xfd, 0x4a, 0x43, 0xc9, 0xf2, 0xaf, 0xc3, 0x45, 0x35, 0x60, 0xb1, 0xf5, 0x2f, 0x22, 0x7a, - 0x94, 0xe9, 0x85, 0x95, 0xe5, 0x4f, 0x8b, 0x2f, 0x0c, 0x44, 0x56, 0x1d, 0x4a, 0x0d, 0x8c, 0x88, - 0x78, 0x31, 0xd2, 0xb1, 0x54, 0xe8, 0xd2, 0xd4, 0x6e, 0xaa, 0xf5, 0xa0, 0x49, 0x35, 0xd4, 0x26, - 0x43, 0xeb, 0x34, 0x64, 0xef, 0xff, 0x63, 0x8f, 0x98, 0x9c, 0x95, 0x41, 0xd1, 0x8c, 0x9e, 0x0e, - 0x5a, 0x76, 0x97, 0xd3, 0xe2, 0xb9, 0x09, 0xa8, 0x4b, 0x42, 0x5f, 0x00, 0x0a, 0x1a, 0xb7, 0x93, - 0x83, 0x72, 0x91, 0x4d, 0x44, 0xd2, 0x15, 0x8f, 0xf5, 0x59, 0x7d, 0x19, 0x37, 0x1d, 0xce, 0xcd, - 0x70, 0x9e, 0x32, 0x89, 0xae, 0x16, 0xfb, 0xa5, 0x38, 0xfe, 0xed, 0xc8, 0x0d, 0x6a, 0xc6, 0x75, - 0xb8, 0x19, 0x55, 0xd1, 0xef, 0x7d, 0x71, 0x91, 0xa5, 0x30, 0xe6, 0x44, 0xcf, 0xd8, 0xab, 0x88, - 0xf8, 0xbc, 0x0f, 0x03, 0xb9, 0xf3, 0x6e, 0x64, 0xd5, 0x05, 0x94, 0xba, 0x4d, 0x52, 0x94, 0xe8, - 0x06, 0xa4, 0x92, 0x5d, 0xad, 0x3f, 0x41, 0x9c, 0x4e, 0xd2, 0x96, 0x65, 0xaf, 0x63, 0xb1, 0x73, - 0x29, 0x8e, 0xca, 0xbd, 0x03, 0x6c, 0x3e, 0x28, 0xb6, 0x59, 0x43, 0x3d, 0x4a, 0xb4, 0x47, 0x9e, - 0x79, 0x85, 0x7d, 0xfe, 0xcb, 0x88, 0xa7, 0xc4, 0x0f, 0xc3, 0xde, 0x34, 0xba, 0x3d, 0x55, 0xf9, - 0xb6, 0xab, 0xdb, 0x2a, 0x6d, 0xea, 0xaf, 0xa9, 0x95, 0x7d, 0xc2, 0xbd, 0x87, 0xa8, 0xa4, 0xc4, - 0x4a, 0xcf, 0x54, 0x44, 0x28, 0x76, 0x73, 0xd6, 0x19, 0x5f, 0x01, 0x48, 0xf3, 0x1a, 0x02, 0x28, - 0x33, 0x3c, 0xad, 0xe0, 0x73, 0x3a, 0x30, 0x6f, 0x96, 0x46, 0x4c, 0x8b, 0x12, 0xb5, 0xbf, 0xd2, - 0xb5, 0xc7, 0x13, 0x4c, 0xd4, 0x91, 0x37, 0x91, 0x81, 0x2b, 0x54, 0xb2, 0x28, 0xce, 0xb9, 0x71, - 0x91, 0x9b, 0x15, 0xfd, 0x95, 0x59, 0x16, 0x07, 0xca, 0xd2, 0x2a, 0x53, 0x4f, 0xcb, 0x96, 0xee, - 0x2d, 0x22, 0xfb, 0xc9, 0x3b, 0xa2, 0x51, 0x20, 0xe3, 0x1a, 0xd0, 0x13, 0x19, 0xc9, 0x12, 0xc2, - 0x9b, 0x11, 0xd1, 0x0d, 0xb9, 0x69, 0xc4, 0xbb, 0x99, 0x11, 0x7f, 0xa5, 0xc1, 0x7a, 0x45, 0x31, - 0xbb, 0x6f, 0x81, 0x80, 0x4d, 0xab, 0x2e, 0x50, 0x4a, 0x08, 0x8a, 0xad, 0x98, 0x86, 0x6d, 0x64, - 0x45, 0x37, 0x85, 0x80, 0xaa, 0x35, 0x0d, 0xad, 0xc7, 0xb7, 0xde, 0xa6, 0x08, 0xc8, 0x46, 0x1c, - 0xf1, 0x9a, 0x93, 0x2d, 0x7e, 0x40, 0x29, 0x9c, 0x1d, 0xe7, 0xcc, 0x6b, 0x08, 0x91, 0x38, 0x0c, - 0xd0, 0x98, 0xf3, 0x22, 0x3d, 0x4d, 0xe9, 0x39, 0x1a, 0x09, 0x05, 0x00, 0xc9, 0x8f, 0x33, 0x95, - 0xe6, 0x81, 0x08, 0x2f, 0x35, 0x85, 0x93, 0xf8, 0x8e, 0x04, 0x80, 0xb9, 0xe8, 0x23, 0xd5, 0x8c, - 0xab, 0x7a, 0x36, 0x4a, 0xe4, 0x40, 0x02, 0xd5, 0x0a, 0x61, 0xcc, 0xc0, 0xaa, 0x75, 0x03, 0x3a, - 0x79, 0xe3, 0xa9, 0x65, 0x3a, 0xff, 0x75, 0x0b, 0x8d, 0x9a, 0x41, 0x3b, 0xb0, 0x1b, 0x8f, 0x7a, - 0x6b, 0xe1, 0xc2, 0x8d, 0xa6, 0x53, 0x96, 0x62, 0x6a, 0xc5, 0x7c, 0x09, 0xe9, 0x56, 0xcc, 0x95, - 0x91, 0xb6, 0xed, 0x67, 0xa0, 0x20, 0x22, 0xca, 0x83, 0xda, 0x14, 0x1e, 0xa8, 0xf8, 0x1d, 0x90, - 0x4a, 0x27, 0x8e, 0xc5, 0x40, 0x85, 0x96, 0xc0, 0x59, 0xf2, 0x47, 0xf4, 0x7a, 0xaa, 0x66, 0x04, - 0x89, 0x93, 0x44, 0xba, 0xe9, 0x97, 0x23, 0x19, 0x45, 0xe2, 0x5a, 0xf7, 0xd5, 0x10, 0xd8, 0x60, - 0xc3, 0xc5, 0x15, 0xb1, 0x1d, 0xd8, 0x5a, 0xe0, 0x88, 0xad, 0x17, 0x74, 0xc7, 0x83, 0xe7, 0xe0, - 0x7a, 0xfc, 0x5e, 0xc3, 0xc2, 0xa9, 0x9c, 0x3b, 0x77, 0x59, 0xa0, 0xc2, 0x3e, 0x39, 0xfe, 0x97, - 0xa9, 0x5e, 0x36, 0x25, 0x1f, 0x65, 0x2a, 0x6e, 0x76, 0xba, 0xe2, 0x8c, 0x1f, 0x42, 0xcf, 0xa7, - 0x2b, 0x4a, 0x7f, 0x0b, 0xb9, 0x01, 0xeb, 0xcd, 0xe6, 0xe6, 0x6f, 0x7f, 0x34, 0x18, 0xc4, 0xfd, - 0x72, 0x84, 0x39, 0x13, 0xc2, 0xda, 0xc0, 0x01, 0xa9, 0xca, 0xb8, 0xeb, 0x98, 0xc6, 0xd7, 0x3f, - 0x7d, 0x13, 0xd6, 0xc6, 0x17, 0x18, 0x30, 0x4a, 0xfc, 0x4f, 0x0a, 0xf5, 0x73, 0x01, 0x1b, 0x00, - 0xa6, 0x88, 0xd5, 0x4e, 0x6c, 0x35, 0x9b, 0x2c, 0xbf, 0x46, 0xca, 0xe0, 0x4f, 0x91, 0xf7, 0x2f, - 0xef, 0xd4, 0xdf, 0x07, 0xfc, 0xec, 0x05, 0x30, 0x4e, 0xee, 0x10, 0xb4, 0x4e, 0xf9, 0x31, 0x4b, - 0xcf, 0x1b, 0x8a, 0x34, 0x0c, 0xc5, 0x4e, 0xeb, 0x1c, 0x30, 0xeb, 0x4c, 0xd8, 0x87, 0x87, 0x81, - 0x94, 0xa8, 0x06, 0x2c, 0xf7, 0xed, 0xf1, 0x5c, 0x8b, 0xbf, 0x4d, 0x29, 0x78, 0x86, 0x05, 0x6c, - 0x77, 0xa7, 0x94, 0x2a, 0xac, 0xf8, 0x11, 0x62, 0xab, 0x6f, 0x1d, 0x6e, 0xa0, 0x5c, 0x0c, 0x19, - 0xcb, 0x6a, 0x15, 0xfc, 0xb2, 0x84, 0xdc, 0x05, 0xf6, 0x61, 0xf1, 0x2c, 0x57, 0xf5, 0x42, 0xe1, - 0x9d, 0x18, 0x2a, 0x8d, 0x9d, 0xb9, 0x28, 0x2d, 0xcc, 0x95, 0x18, 0x38, 0xee, 0x37, 0x26, 0x78, - 0x80, 0x4c, 0xd2, 0xae, 0xf7, 0x95, 0x45, 0x4d, 0xab, 0x65, 0x4b, 0xa6, 0x14, 0xf3, 0xe0, 0x8d, - 0x07, 0x10, 0x99, 0xe9, 0x9e, 0x49, 0x22, 0x80, 0xb4, 0xb7, 0xaf, 0x2f, 0x5f, 0xc8, 0x52, 0xe6, - 0xd5, 0xc1, 0x34, 0xa3, 0xf8, 0xc9, 0x36, 0xe2, 0x72, 0x73, 0x5e, 0x66, 0x78, 0x63, 0x70, 0x75, - 0x5d, 0xef, 0xac, 0xd0, 0x9a, 0xaa, 0xee, 0xaa, 0x3e, 0x27, 0x9f, 0x6b, 0x5e, 0x7e, 0x85, 0x8d, - 0x81, 0xec, 0x2f, 0xc3, 0xfe, 0x81, 0xdc, 0xf8, 0x87, 0xb9, 0xe7, 0xe8, 0x50, 0x33, 0xc5, 0xac, - 0x5d, 0x98, 0x91, 0x87, 0x42, 0xa4, 0x33, 0x0c, 0x73, 0x87, 0xcf, 0xee, 0x34, 0x59, 0xb6, 0x4d, - 0x4e, 0x3c, 0x00, 0xb0, 0x3c, 0x11, 0x5e, 0x33, 0x6f, 0x4a, 0x31, 0x50, 0x12, 0xc4, 0x9e, 0xca, - 0x4d, 0x6e, 0x2b, 0x1b, 0x5e, 0x30, 0xf8, 0xaa, 0x54, 0x84, 0x12, 0x3c, 0xe7, 0xa7, 0x7b, 0x0c, - 0x30, 0x29, 0xb3, 0x56, 0x99, 0xc5, 0x7a, 0x2d, 0x4a, 0x0b, 0xa2, 0x8c, 0x65, 0x6d, 0x49, 0x31, - 0x3e, 0x95, 0x6a, 0x95, 0xdc, 0x06, 0x78, 0xbf, 0x8e, 0x61, 0xf6, 0x3c, 0x58, 0xd2, 0x04, 0xe6, - 0xe3, 0x65, 0x17, 0x29, 0x7e, 0x0b, 0xfb, 0xca, 0x9d, 0x96, 0x43, 0x6a, 0xf9, 0x13, 0x7f, 0x6e, - 0x60, 0xf2, 0x78, 0x1d, 0xb0, 0xe8, 0x65, 0xb8, 0x22, 0xe8, 0x33, 0x25, 0x5d, 0x83, 0x19, 0xf7, - 0x69, 0x81, 0xf8, 0xa5, 0x7a, 0x65, 0x2d, 0x7d, 0x22, 0x10, 0xce, 0x2f, 0xa1, 0xdc, 0xfd, 0xcc, - 0xbc, 0x44, 0x6d, 0x8f, 0x68, 0xfd, 0xee, 0x6b, 0xe2, 0x4f, 0xc8, 0x31, 0x26, 0x91, 0x2e, 0x1b, - 0xff, 0xd7, 0x3e, 0x06, 0x9c, 0xd0, 0x05, 0x7b, 0x99, 0xac, 0xe3, 0xe9, 0xac, 0x46, 0x59, 0xe9, - 0xf5, 0xad, 0xf1, 0x1b, 0x62, 0x76, 0xd5, 0x36, 0x26, 0x52, 0x70, 0x81, 0xc1, 0x9e, 0x75, 0x58, - 0x17, 0xff, 0x53, 0x88, 0x69, 0xd3, 0x88, 0xd6, 0xed, 0x7f, 0xe7, 0x7b, 0x68, 0xf4, 0x88, 0x0b, - 0x0d, 0x34, 0x32, 0xec, 0x88, 0x89, 0x83, 0x16, 0x9d, 0xc5, 0x14, 0xdc, 0x84, 0x6a, 0xe4, 0x8e, - 0x13, 0xe1, 0x62, 0xf2, 0xab, 0xfc, 0x1c, 0x3d, 0x90, 0x59, 0x3e, 0xb3, 0x0d, 0xa8, 0xaf, 0x66, - 0x56, 0x03, 0xdc, 0x39, 0xea, 0xbc, 0xb2, 0xff, 0xe9, 0xf1, 0xfb, 0xa8, 0xcf, 0x7c, 0xf3, 0xe1, - 0x9d, 0x0e, 0xe7, 0x62, 0x09, 0xb8, 0x35, 0xe6, 0x6c, 0x6f, 0xee, 0xc8, 0xc9, 0xc1, 0x0a, 0xcc, - 0xbb, 0xb6, 0x5a, 0xd1, 0xb4, 0x6b, 0xc6, 0x8b, 0x54, 0xd8, 0x95, 0xfc, 0xce, 0x0a, 0x94, 0x69, - 0x9e, 0x92, 0x8e, 0x7b, 0x94, 0x01, 0x94, 0xb1, 0x54, 0x39, 0x14, 0x4f, 0x5b, 0xc1, 0x91, 0xee, - 0x01, 0xdc, 0x2d, 0x34, 0x32, 0x82, 0x97, 0x32, 0x71, 0x9f, 0xdf, 0x9f, 0xe0, 0x7a, 0x66, 0x20, - 0x56, 0x18, 0xc5, 0x13, 0x3f, 0x9d, 0xbe, 0x41, 0xbb, 0xa4, 0x6d, 0xcd, 0xa3, 0xb7, 0xc1, 0xb1, - 0x8f, 0xeb, 0xea, 0xa0, 0x5a, 0xf6, 0x79, 0x97, 0x6c, 0x8a, 0xa1, 0x56, 0x7d, 0x10, 0x46, 0x35, - 0x2d, 0xe6, 0x20, 0x78, 0x2d, 0x02, 0xe4, 0x14, 0xc3, 0x02, 0xef, 0xea, 0xeb, 0xe3, 0xa9, 0x67, - 0xf8, 0xca, 0xdb, 0x94, 0xe9, 0x45, 0xb6, 0xa0, 0xd5, 0x20, 0x8c, 0x63, 0x7f, 0xe0, 0xf9, 0x69, - 0x4b, 0xa1, 0x56, 0x79, 0xcf, 0xd5, 0x7c, 0xcc, 0xd2, 0x54, 0x6e, 0x74, 0xad, 0x6b, 0xac, 0x6b, - 0x10, 0x46, 0x5a, 0xf8, 0x56, 0x88, 0x7a, 0xc2, 0xcb, 0xc5, 0x99, 0xb0, 0x0f, 0x4f, 0xaf, 0xcb, - 0xf9, 0x51, 0xa5, 0x1c, 0xe0, 0x6c, 0x94, 0x9f, 0x00, 0x77, 0x34, 0x6e, 0x2f, 0x65, 0x3d, 0x88, - 0x79, 0xfd, 0xa9, 0x43, 0x7b, 0x78, 0xac, 0x81, 0x09, 0xac, 0xa5, 0x1f, 0x3a, 0x5c, 0xff, 0x90, - 0x4f, 0x8d, 0x50, 0xb2, 0xd7, 0x1d, 0x62, 0x40, 0x1b, 0x2d, 0x52, 0x1b, 0x01, 0xbc, 0x37, 0x9f, - 0x25, 0xe2, 0x1e, 0x84, 0xc3, 0xbf, 0x0e, 0x8e, 0x86, 0x63, 0x31, 0x50, 0x26, 0x80, 0x56, 0xab, - 0x2f, 0x4e, 0xf2, 0x04, 0x9d, 0x79, 0x4e, 0x7e, 0xb6, 0x6a, 0x06, 0x37, 0x99, 0x5f, 0x30, 0x4e, - 0x3d, 0x93, 0xc9, 0x47, 0xf9, 0xd7, 0x0f, 0x94, 0x7d, 0x9a, 0x9b, 0xe9, 0xc5, 0x27, 0xe9, 0x02, - 0x32, 0x0a, 0x4f, 0x50, 0x57, 0x2d, 0x0a, 0x38, 0xe3, 0xbf, 0x48, 0x74, 0xad, 0xe6, 0x4a, 0xb5, - 0xf6, 0xf3, 0xf6, 0xc3, 0xc4, 0x38, 0x42, 0xad, 0x49, 0x5e, 0x48, 0x4e, 0xcf, 0x80, 0xfc, 0x89, - 0xea, 0xd0, 0xf2, 0x47, 0x92, 0x02, 0x05, 0x19, 0xbf, 0x1d, 0xce, 0x64, 0x95, 0x01, 0x99, 0xda, - 0x0d, 0xaa, 0x04, 0x9c, 0x31, 0x06, 0x96, 0x7b, 0x2d, 0xe0, 0xc8, 0x91, 0x3c, 0x19, 0xb4, 0xa9, - 0xa5, 0xeb, 0x63, 0x04, 0x09, 0xc7, 0xf8, 0x0b, 0x87, 0x8b, 0x91, 0x84, 0x9e, 0x6e, 0x13, 0xd5, - 0x27, 0xa2, 0x2c, 0x36, 0xe2, 0x37, 0x4e, 0x20, 0x4e, 0x02, 0xc0, 0xbf, 0x68, 0x21, 0xf8, 0x8b, - 0x1a, 0x90, 0x0e, 0x9d, 0x11, 0x68, 0x3e, 0x40, 0xf7, 0x4e, 0x09, 0x0d, 0x3d, 0x48, 0x30, 0x53, - 0x22, 0x25, 0x42, 0x15, 0x8a, 0x8d, 0x00, 0xdb, 0x74, 0x75, 0xda, 0x81, 0x6f, 0x2e, 0xfa, 0x96, - 0xb6, 0x16, 0x06, 0xb8, 0x2e, 0x07, 0x2c, 0xc2, 0x5f, 0xa5, 0x6f, 0xac, 0x67, 0xbb, 0xae, 0xc1, - 0x06, 0xab, 0xba, 0x10, 0xbb, 0x11, 0x23, 0x4d, 0xdf, 0xeb, 0x5a, 0x7e, 0x0d, 0x0f, 0x0a, 0x2b, - 0xf3, 0x17, 0x8b, 0xa2, 0x17, 0xb9, 0xb1, 0xd5, 0x64, 0x73, 0xa5, 0xd3, 0xcd, 0xc4, 0xe3, 0x0f, - 0xab, 0x9c, 0xa6, 0x1e, 0x5f, 0x2d, 0x17, 0x8d, 0xad, 0x11, 0x0f, 0x8b, 0xb6, 0x5a, 0xc3, 0x54, - 0x79, 0x94, 0x18, 0x63, 0x3e, 0x7e, 0x86, 0x89, 0x91, 0xf0, 0xaf, 0xfe, 0xdc, 0xaa, 0xcb, 0x40, - 0xff, 0x4d, 0x95, 0x1f, 0xfc, 0x3c, 0x46, 0x74, 0x96, 0xb9, 0xb2, 0xe9, 0x4b, 0xc6, 0x48, 0xc6, - 0xe9, 0xdf, 0x3b, 0x10, 0x64, 0x1b, 0x93, 0xda, 0x16, 0xeb, 0x2d, 0xd6, 0x5b, 0xa7, 0x5f, 0x39, - 0xab, 0xcc, 0x54, 0x32, 0x61, 0xe7, 0x9e, 0x6b, 0x85, 0x78, 0xe3, 0xbc, 0xda, 0x0f, 0x73, 0x8e, - 0xf7, 0x47, 0xce, 0x4e, 0x3b, 0xfe, 0xb1, 0x62, 0xa9, 0x5d, 0x98, 0x33, 0x57, 0xca, 0x33, 0xb9, - 0x8a, 0xde, 0x4b, 0x45, 0xa1, 0xf4, 0xc8, 0xf9, 0x8d, 0x54, 0x30, 0xf4, 0xcc, 0x6b, 0xef, 0xa7, - 0xd1, 0x30, 0xe2, 0xd1, 0x8c, 0x90, 0x46, 0x14, 0x6f, 0xab, 0x27, 0x30, 0xb1, 0x72, 0xe5, 0xbf, - 0x8c, 0xc8, 0x3b, 0xe7, 0xf1, 0x68, 0x34, 0x15, 0xab, 0x4f, 0xa1, 0xb4, 0x4f, 0xac, 0x7e, 0xbb, - 0x11, 0x07, 0xf9, 0xf5, 0x6f, 0x9b, 0x61, 0x5a, 0x16, 0xf0, 0x7a, 0xbd, 0x93, 0x9a, 0xd0, 0x28, - 0xcf, 0xe6, 0xd6, 0xf0, 0x90, 0xe1, 0xe5, 0x99, 0xf8, 0x9a, 0x34, 0xdd, 0x14, 0x36, 0x77, 0x50, - 0x1a, 0x45, 0x2d, 0xea, 0x38, 0xa7, 0x40, 0x4f, 0x67, 0x93, 0x75, 0x1a, 0x72, 0xe2, 0x3b, 0x61, - 0x28, 0x6b, 0x9f, 0x80, 0xb8, 0x8e, 0x8b, 0x2b, 0xd7, 0x50, 0x65, 0x47, 0xe5, 0xd9, 0x89, 0x79, - 0x3a, 0xca, 0x59, 0x42, 0xc4, 0x17, 0xcd, 0xf1, 0x95, 0xee, 0x39, 0x56, 0x90, 0x26, 0xc8, 0x00, - 0x24, 0x5e, 0x7e, 0x06, 0x45, 0x52, 0xa6, 0xf9, 0xbf, 0x43, 0x87, 0x72, 0x6a, 0xce, 0x3a, 0x71, - 0x6f, 0x41, 0xb5, 0x4e, 0xe0, 0x30, 0x0c, 0x43, 0xe6, 0x7e, 0xc1, 0xe3, 0xf6, 0xe4, 0xe4, 0x41, - 0x90, 0x10, 0xe6, 0x1b, 0xf6, 0x7e, 0x43, 0x49, 0x25, 0x9b, 0x6f, 0x06, 0x0c, 0xbc, 0xa2, 0x2d, - 0x2e, 0xd6, 0xca, 0x80, 0x79, 0x4b, 0xde, 0x44, 0x13, 0x60, 0xab, 0xa3, 0x6a, 0xd3, 0xe3, 0xbf, - 0xf9, 0xe1, 0x5f, 0x46, 0x07, 0x85, 0xa7, 0x30, 0x4f, 0x9e, 0xb7, 0xca, 0xe9, 0x6d, 0xfe, 0xf0, - 0xcd, 0xd8, 0x4d, 0xda, 0x46, 0xd0, 0xc8, 0xff, 0x5e, 0x2c, 0x24, 0xc2, 0x94, 0xea, 0xdf, 0x6e, - 0xe1, 0xa5, 0x74, 0xf7, 0x2b, 0xa0, 0x43, 0xce, 0x85, 0xc0, 0x26, 0x0c, 0xf7, 0x99, 0x3d, 0x59, - 0x4e, 0xd9, 0xce, 0xa4, 0x8d, 0x1b, 0x7b, 0xcf, 0x4c, 0xb2, 0xf6, 0x45, 0xb2, 0x4c, 0x77, 0x3d, - 0x6d, 0x57, 0xdd, 0x4c, 0x5e, 0x04, 0x82, 0xb8, 0x39, 0x3d, 0xc2, 0x10, 0x28, 0xa2, 0xe6, 0x73, - 0xfa, 0x12, 0x8b, 0x9e, 0x48, 0x37, 0x4a, 0x06, 0x65, 0xfa, 0x2a, 0x04, 0xbc, 0x22, 0x10, 0xd2, - 0x1b, 0x0d, 0xe3, 0x15, 0x30, 0xba, 0x3c, 0xc2, 0xd8, 0xb0, 0x3d, 0x2c, 0x2f, 0x9c, 0x61, 0x12, - 0xff, 0xef, 0x5f, 0xf6, 0xfb, 0x58, 0x33, 0xb2, 0xac, 0xf0, 0x4d, 0x96, 0xf9, 0x8d, 0xf0, 0x63, - 0x00, 0x4f, 0x93, 0x03, 0xbd, 0xe4, 0xeb, 0x6f, 0x84, 0x0c, 0x3a, 0x2c, 0xeb, 0x98, 0x00, 0x98, - 0x85, 0xaa, 0xd8, 0xb6, 0xf5, 0x7d, 0xb3, 0x0e, 0x84, 0x72, 0x30, 0x27, 0xe6, 0x47, 0xc2, 0x40, - 0x8d, 0x49, 0xc8, 0x53, 0x8a, 0x4c, 0x27, 0x3e, 0x88, 0x7a, 0x72, 0x05, 0xe5, 0x09, 0x33, 0xbb, - 0xa5, 0xd9, 0xbe, 0x89, 0x76, 0xa6, 0xc5, 0x1b, 0xde, 0x0d, 0x16, 0x66, 0xa6, 0x2c, 0xea, 0x90, - 0xfc, 0xf5, 0x02, 0x5e, 0xfc, 0x84, 0xe7, 0x90, 0x94, 0x8a, 0x8d, 0xb5, 0xc7, 0xc6, 0x71, 0x49, - 0xb4, 0x8c, 0x2e, 0x95, 0xfa, 0x82, 0xfd, 0x71, 0xf7, 0xc1, 0xb5, 0x13, 0x5b, 0x64, 0x36, 0xea, - 0x0d, 0xe6, 0xe7, 0x3f, 0xd2, 0xb5, 0x6f, 0x6d, 0xea, 0x81, 0x3f, 0x4e, 0xf5, 0x34, 0xcb, 0x03, - 0x39, 0x79, 0x91, 0xba, 0x92, 0xba, 0x5a, 0xad, 0x8e, 0x5b, 0xd2, 0xe0, 0x74, 0xeb, 0x4f, 0xc8, - 0xe7, 0x76, 0xf1, 0xe1, 0x35, 0xfa, 0x69, 0xef, 0xb5, 0xfd, 0xb7, 0x08, 0xb1, 0x0c, 0x16, 0x01, - 0x0c, 0x88, 0xaf, 0x4c, 0xf9, 0xee, 0xa4, 0x8a, 0xc7, 0x8a, 0xa3, 0x47, 0xd0, 0xa2, 0x1a, 0x44, - 0x65, 0x66, 0xf3, 0xc6, 0xaa, 0x63, 0xa4, 0x3c, 0x66, 0xd1, 0x09, 0x1e, 0x36, 0xcf, 0xc8, 0x56, - 0x41, 0x13, 0xe7, 0x4d, 0xe1, 0x84, 0xd4, 0xe6, 0x52, 0xe8, 0xbc, 0x28, 0x58, 0x3d, 0x86, 0x71, - 0x3d, 0xd6, 0xee, 0x75, 0x23, 0x81, 0x39, 0x7f, 0x96, 0xca, 0x22, 0x6b, 0xfe, 0xb8, 0x50, 0x9d, - 0xc2, 0x48, 0x7c, 0xd1, 0x9c, 0x87, 0xf4, 0x24, 0x4d, 0xde, 0xa6, 0xb2, 0x97, 0x49, 0xa9, 0x19, - 0x63, 0xb4, 0xc4, 0xec, 0xd7, 0x3d, 0xc4, 0xd9, 0x5f, 0x4d, 0xf8, 0xde, 0xe8, 0x8a, 0x11, 0x64, - 0x03, 0xbf, 0x4c, 0x54, 0x74, 0xff, 0xde, 0xb0, 0x02, 0xa1, 0x61, 0x8b, 0xdb, 0x66, 0xd7, 0x11, - 0x9c, 0x61, 0x52, 0x50, 0xd1, 0x1f, 0x3e, 0x0f, 0x8d, 0xac, 0x9f, 0xe7, 0x74, 0x1b, 0xa0, 0x7c, - 0x7e, 0xdf, 0xa5, 0x14, 0xbe, 0xa5, 0x90, 0x0d, 0xa4, 0xe5, 0xf5, 0x42, 0x52, 0x94, 0xcd, 0xad, - 0x0a, 0xb0, 0x4d, 0xfc, 0x37, 0x32, 0xd1, 0x98, 0x60, 0xc0, 0x2e, 0xd1, 0x6d, 0x3e, 0xbd, 0x20, - 0x1f, 0x79, 0xf0, 0x21, 0xad, 0xb1, 0x74, 0x0c, 0xcb, 0x7e, 0x28, 0x43, 0xa0, 0xee, 0x3e, 0xa7, - 0x56, 0x67, 0xe2, 0xf4, 0x7a, 0x1e, 0x77, 0x6f, 0x74, 0x94, 0x4d, 0x93, 0x15, 0x8d, 0x98, 0xa0, - 0xb9, 0xb1, 0x03, 0x22, 0x0f, 0x39, 0xca, 0x7d, 0x4b, 0xff, 0x0a, 0x2b, 0xda, 0xe9, 0x28, 0x31, - 0x81, 0x59, 0xc2, 0x92, 0x03, 0xac, 0xf4, 0x06, 0x51, 0x9f, 0x38, 0xc1, 0x55, 0x56, 0x31, 0x61, - 0x26, 0x40, 0xf3, 0xbe, 0x71, 0x02, 0x12, 0x7b, 0x9c, 0x7c, 0x9e, 0x7c, 0x06, 0xca, 0x80, 0xee, - 0x3b, 0xbb, 0x6c, 0xcb, 0x0c, 0xcd, 0x43, 0x05, 0xa8, 0x56, 0x8c, 0x55, 0x3a, 0x07, 0x61, 0x89, - 0x11, 0x40, 0x72, 0x01, 0xac, 0xae, 0x59, 0x2d, 0xe1, 0x58, 0xc1, 0xdd, 0x31, 0x27, 0x07, 0x2c, - 0x80, 0xa7, 0xf1, 0x6e, 0x9f, 0x9e, 0x3c, 0xd0, 0xd1, 0xf6, 0xec, 0xaa, 0xb7, 0xdd, 0xb3, 0x74, - 0xaa, 0x0e, 0x72, 0xe9, 0x3b, 0x72, 0x66, 0x21, 0x53, 0x66, 0x0c, 0xf8, 0x73, 0xfb, 0x1d, 0xac, - 0xae, 0xb8, 0xde, 0x79, 0x62, 0x0b, 0xfd, 0x80, 0x62, 0x5f, 0xa3, 0x19, 0x6f, 0x1d, 0xd5, 0x0a, - 0x3d, 0x74, 0xe4, 0x93, 0xfb, 0x6a, 0xc2, 0xeb, 0xba, 0x90, 0x0e, 0xed, 0x6d, 0x1f, 0xf1, 0xa0, - 0x11, 0x13, 0x99, 0xfc, 0x65, 0x55, 0x5f, 0xf9, 0xff, 0x11, 0x50, 0x63, 0xd7, 0xd5, 0x16, 0xf2, - 0x39, 0x23, 0xdb, 0x96, 0xa2, 0x3d, 0xb8, 0x25, 0x95, 0x59, 0x7f, 0x1b, 0x5b, 0x1d, 0x5f, 0x08, - 0xa2, 0xba, 0x4b, 0x6e, 0x40, 0x7c, 0x84, 0x9f, 0x05, 0x41, 0x18, 0x92, 0x94, 0xb8, 0xc0, 0xac, - 0x6c, 0x09, 0x57, 0x41, 0x0a, 0x6d, 0x65, 0x2b, 0xd2, 0x78, 0xe8, 0xef, 0xda, 0x5c, 0xa5, 0xee, - 0x94, 0x61, 0x25, 0xf2, 0xb4, 0xd3, 0x36, 0x27, 0xb9, 0x37, 0xf7, 0xa0, 0xa5, 0x60, 0x42, 0x5b, - 0xbe, 0x6c, 0x6f, 0x96, 0x14, 0x02, 0x5c, 0x56, 0x65, 0x7e, 0x20, 0x58, 0xf8, 0x3a, 0xb7, 0x55, - 0xa9, 0x28, 0xb2, 0xa5, 0xe8, 0xe6, 0x88, 0x26, 0x15, 0x7b, 0x69, 0xf3, 0x59, 0xe7, 0xef, 0x45, - 0x78, 0xc1, 0x45, 0x9e, 0x94, 0x94, 0xc8, 0x63, 0x89, 0x09, 0x58, 0x32, 0xa2, 0x11, 0x05, 0xcb, - 0x0e, 0xa6, 0x32, 0x48, 0xa0, 0x4d, 0x94, 0x46, 0xea, 0x8b, 0x1a, 0x0f, 0xcd, 0x49, 0xc8, 0x1f, - 0x58, 0x96, 0x8f, 0xf9, 0x9b, 0xdb, 0xf2, 0xb0, 0x73, 0x54, 0xcb, 0x76, 0x2f, 0xed, 0xd7, 0xc6, - 0xb8, 0x44, 0x4a, 0x04, 0x09, 0x02, 0xec, 0x6f, 0xc6, 0x2f, 0x44, 0x76, 0xf5, 0x72, 0xa8, 0x5a, - 0x88, 0x65, 0xa9, 0x7b, 0xcf, 0xc0, 0xde, 0x4d, 0xa0, 0x3b, 0x34, 0x14, 0x90, 0xb3, 0x29, 0x5f, - 0x91, 0x98, 0x1c, 0xa5, 0x7c, 0xba, 0x2f, 0x92, 0x21, 0xfd, 0x72, 0x65, 0x0f, 0xf6, 0xba, 0x20, - 0xc6, 0x78, 0x00, 0xd2, 0xcb, 0x92, 0x9b, 0xd8, 0xc8, 0xc0, 0x1c, 0x08, 0x8d, 0x3b, 0x12, 0x4a, - 0x6b, 0x63, 0x27, 0xbd, 0x67, 0x9d, 0x88, 0xb8, 0x35, 0x1e, 0xd9, 0x71, 0xb5, 0x05, 0xd4, 0xbb, - 0x51, 0xda, 0x90, 0x2e, 0xf0, 0xf2, 0x36, 0x79, 0x29, 0x02, 0x00, 0xaf, 0xe4, 0xed, 0x81, 0x03, - 0xae, 0x97, 0x8a, 0x12, 0x21, 0x61, 0x5f, 0x2f, 0xf2, 0x56, 0xca, 0xca, 0x9b, 0x7e, 0x93, 0x45, - 0x04, 0xcc, 0xa4, 0x9e, 0xec, 0x2f, 0x2c, 0x7d, 0xcf, 0xb3, 0x4d, 0x50, 0x90, 0xe6, 0x60, 0xa7, - 0x40, 0xfd, 0x63, 0x40, 0x24, 0x8d, 0x2d, 0x96, 0x6e, 0xfb, 0xa2, 0x4c, 0x6b, 0xc7, 0xa7, 0x5d, - 0xdc, 0x0d, 0x23, 0x29, 0x94, 0xcb, 0x71, 0x17, 0x69, 0x29, 0x7e, 0xfd, 0xfa, 0x9f, 0x9c, 0xd0, - 0x32, 0x9f, 0x79, 0xbd, 0x2c, 0x01, 0x63, 0x25, 0x7d, 0x64, 0xf2, 0x3e, 0xa0, 0x85, 0x22, 0xab, - 0x11, 0xbb, 0xbf, 0x54, 0x40, 0x0e, 0x2c, 0x76, 0x20, 0xf8, 0x49, 0x16, 0x29, 0x37, 0xff, 0x48, - 0xd1, 0x07, 0x21, 0x24, 0x4a, 0xd5, 0x62, 0x94, 0xc7, 0x26, 0x8a, 0x73, 0xec, 0x7e, 0x8d, 0x06, - 0xbe, 0xa5, 0x8e, 0x25, 0xb0, 0x7a, 0x3d, 0x21, 0x1a, 0xd6, 0x68, 0x82, 0xad, 0x67, 0xdc, 0x35, - 0xe6, 0xe7, 0x5e, 0xb5, 0x37, 0x15, 0xc1, 0xf6, 0xca, 0x91, 0xb9, 0xdf, 0xb9, 0xd1, 0x23, 0xfa, - 0x21, 0x86, 0x37, 0x5b, 0xb1, 0x5b, 0xf9, 0xc6, 0x7a, 0x8a, 0x0d, 0x81, 0x62, 0x51, 0x4b, 0x95, - 0xa4, 0x9a, 0x07, 0x94, 0xcb, 0x0c, 0xe0, 0xd1, 0xbf, 0x21, 0xad, 0x38, 0xc3, 0x4c, 0xb5, 0xdb, - 0x6f, 0x27, 0x71, 0xb0, 0x8f, 0xc5, 0x70, 0xe1, 0x79, 0x0b, 0x80, 0x9e, 0x94, 0x3b, 0x7c, 0x28, - 0xcd, 0x52, 0x33, 0xc2, 0xa6, 0x2d, 0xdd, 0x53, 0x64, 0xbe, 0xec, 0xda, 0x6b, 0x7c, 0xa3, 0x04, - 0xbf, 0xd6, 0x1d, 0x4d, 0x8e, 0x46, 0xd4, 0xba, 0xf2, 0x73, 0x21, 0xa3, 0x03, 0x8f, 0xcf, 0x33, - 0x79, 0x77, 0x73, 0x68, 0xd5, 0x77, 0x49, 0x2e, 0xeb, 0x8c, 0xe2, 0x0a, 0x4c, 0x26, 0x39, 0x27, - 0xc6, 0xf0, 0x56, 0xd0, 0x9c, 0xb1, 0x84, 0x68, 0x0c, 0x46, 0x64, 0xf8, 0xb1, 0xf9, 0xa9, 0x98, - 0x15, 0xd5, 0x78, 0x09, 0x63, 0x81, 0x5c, 0xea, 0xad, 0x9e, 0x7b, 0x87, 0x10, 0xa1, 0x20, 0x90, - 0x56, 0x90, 0x57, 0x49, 0x70, 0x05, 0xaf, 0xc5, 0x58, 0x5c, 0x9f, 0x97, 0xde, 0x15, 0xdc, 0x55, - 0x4c, 0x1d, 0x77, 0x5c, 0x54, 0xcd, 0xa3, 0x52, 0xd8, 0x21, 0xae, 0x05, 0x8d, 0x75, 0x09, 0x3d, - 0x31, 0x81, 0xc7, 0x8b, 0x49, 0x72, 0x77, 0x39, 0x39, 0x4d, 0xa1, 0xfd, 0x83, 0x9b, 0x83, 0x7a, - 0x4a, 0x34, 0xc8, 0xde, 0x2e, 0xaf, 0xca, 0xa9, 0xc3, 0x9e, 0xc1, 0x7f, 0xb9, 0x2f, 0x6f, 0x50, - 0xb0, 0x73, 0x47, 0xdc, 0x6c, 0x06, 0x3e, 0xf7, 0xfe, 0x8c, 0x52, 0x39, 0x02, 0x0b, 0xdd, 0x38, - 0xff, 0x66, 0x02, 0x73, 0xc5, 0x17, 0x11, 0x85, 0x10, 0x3f, 0x9e, 0xfe, 0x9d, 0x11, 0x0b, 0x81, - 0x53, 0x41, 0xbc, 0x5b, 0x3b, 0x91, 0xae, 0x23, 0x8b, 0xc2, 0x0a, 0x94, 0x37, 0x91, 0x00, 0xf4, - 0x0a, 0xb0, 0x3d, 0x2f, 0xdd, 0xe2, 0x8f, 0x49, 0x7f, 0xec, 0x03, 0x39, 0x92, 0x6b, 0x89, 0x3d, - 0x12, 0xfd, 0x59, 0xae, 0xa6, 0xed, 0xba, 0xe1, 0xc7, 0xb2, 0xed, 0x24, 0x39, 0x4f, 0x1e, 0x12, - 0xd3, 0xc9, 0x88, 0x94, 0x9f, 0x4f, 0x8d, 0xcd, 0x88, 0xc3, 0xc3, 0x89, 0xe4, 0x8e, 0x03, 0x23, - 0xe7, 0xa4, 0x98, 0x07, 0x6c, 0x1f, 0x1f, 0x66, 0x38, 0x90, 0x9b, 0x24, 0xf5, 0x5d, 0x8f, 0xa1, - 0xa3, 0xd5, 0x08, 0xd3, 0xcc, 0x6a, 0x37, 0x69, 0x19, 0x5e, 0x8e, 0x4c, 0x43, 0x39, 0x00, 0xb0, - 0xa8, 0xee, 0x69, 0x6e, 0xdc, 0x29, 0x31, 0xd3, 0xbb, 0xbc, 0x4b, 0xc7, 0x24, 0xde, 0x87, 0x7b, - 0x45, 0x38, 0xd2, 0x96, 0x15, 0xe0, 0xdf, 0x39, 0xbc, 0x5c, 0xcc, 0x93, 0x67, 0x9c, 0x4e, 0x36, - 0x31, 0xda, 0xdb, 0x96, 0x26, 0x44, 0x7d, 0x35, 0x53, 0xd7, 0x03, 0xff, 0x70, 0x94, 0x60, 0xd9, - 0xa1, 0x2d, 0xa4, 0xd8, 0x12, 0x7c, 0xc8, 0x21, 0x61, 0x42, 0x87, 0xc7, 0x98, 0x9a, 0x91, 0x04, - 0xf6, 0x1d, 0x8b, 0xc2, 0xbf, 0xbd, 0x62, 0x1b, 0xc1, 0xfa, 0x1b, 0xc0, 0xb6, 0x45, 0xc1, 0xec, - 0x46, 0x1d, 0x2b, 0x7b, 0x12, 0x1f, 0xb4, 0x50, 0x05, 0xe2, 0xac, 0x85, 0xb7, 0x6a, 0xda, 0xfa, - 0x43, 0x9d, 0x6a, 0xbb, 0x22, 0x12, 0x3a, 0xf5, 0x19, 0x72, 0x49, 0x94, 0xfa, 0xdc, 0x81, 0xf1, - 0x79, 0x81, 0xaf, 0x3f, 0x06, 0x11, 0x29, 0x66, 0xa1, 0x97, 0x26, 0x86, 0x2b, 0x84, 0xa8, 0x72, - 0x59, 0x3d, 0xa2, 0x28, 0x53, 0x04, 0x91, 0x6b, 0xc0, 0x79, 0xce, 0x28, 0x2c, 0x61, 0x02, 0xf4, - 0x94, 0x8c, 0x3b, 0xc4, 0xfe, 0xed, 0x2c, 0x1e, 0xbb, 0xb7, 0x65, 0x9e, 0xeb, 0x9a, 0xdb, 0xa1, - 0x44, 0x4a, 0x76, 0x40, 0xbb, 0xa3, 0x8c, 0xe1, 0xea, 0xe3, 0xe9, 0x75, 0x54, 0xa6, 0x81, 0x51, - 0xf2, 0x61, 0x98, 0xb9, 0x13, 0x9f, 0xdd, 0x62, 0x12, 0x98, 0x38, 0x4b, 0xe9, 0x35, 0xe7, 0x90, - 0xcd, 0x79, 0x1e, 0x16, 0x18, 0x65, 0x39, 0xcb, 0x25, 0xae, 0xdf, 0x72, 0xfa, 0x2c, 0x8a, 0xb5, - 0x46, 0x72, 0x58, 0xac, 0x77, 0xeb, 0x0d, 0xea, 0x79, 0x61, 0xd7, 0xa5, 0x37, 0xf6, 0xf6, 0x7c, - 0xa9, 0x5f, 0x6b, 0xc5, 0x35, 0x21, 0x76, 0x6c, 0x99, 0x36, 0x6e, 0x9a, 0xbd, 0xfd, 0xfa, 0x25, - 0xb5, 0xbe, 0xe6, 0x1c, 0x5b, 0x38, 0x21, 0xd4, 0xe7, 0xc2, 0x9e, 0x6c, 0x7a, 0x20, 0xbb, 0x75, - 0x69, 0x2c, 0xf8, 0x7f, 0xf1, 0x8f, 0x13, 0xa6, 0xf5, 0x53, 0x7a, 0x15, 0x7b, 0x84, 0xa2, 0x93, - 0x65, 0xc0, 0x88, 0x6c, 0x1f, 0x41, 0x16, 0xee, 0x57, 0x65, 0xc3, 0x4b, 0xf3, 0xf5, 0x1c, 0x6b, - 0x32, 0x10, 0xc9, 0x74, 0x0b, 0xa8, 0xee, 0x84, 0xe8, 0x55, 0x3a, 0x1a, 0xf4, 0x9e, 0xa3, 0x3e, - 0x2c, 0x6e, 0x2e, 0xca, 0x76, 0xed, 0x5d, 0x6a, 0x2e, 0x11, 0xf3, 0x30, 0x2f, 0x53, 0x5f, 0x8f, - 0x3a, 0xb5, 0xb6, 0x58, 0x5c, 0xe4, 0x30, 0xec, 0xaf, 0x02, 0x62, 0x23, 0x96, 0xd7, 0xe8, 0x27, - 0x61, 0xd1, 0x6c, 0x49, 0x8a, 0x7d, 0xc9, 0xb7, 0x94, 0x36, 0xa0, 0x41, 0xda, 0x0c, 0x42, 0xb7, - 0x28, 0x16, 0x9d, 0x54, 0x26, 0xee, 0xa1, 0x58, 0xe7, 0xc4, 0x89, 0x14, 0x94, 0x8f, 0xa8, 0x60, - 0xd0, 0x14, 0x9d, 0x99, 0x70, 0x8e, 0x8c, 0x00, 0x5b, 0xd6, 0x10, 0x03, 0x92, 0x5c, 0x7b, 0xc3, - 0xf8, 0x2c, 0x45, 0xf9, 0x76, 0x58, 0x63, 0xbf, 0xb3, 0xef, 0x39, 0xe0, 0xcf, 0xc1, 0x63, 0x8f, - 0xdd, 0xf0, 0x95, 0x35, 0x65, 0xc8, 0xf7, 0xb1, 0xab, 0x28, 0x02, 0x62, 0x93, 0x03, 0x6d, 0xb7, - 0xb3, 0x8a, 0xb5, 0x40, 0x7c, 0xc7, 0x7f, 0x9b, 0x8b, 0xee, 0x1e, 0xeb, 0xae, 0xc3, 0x9f, 0x07, - 0xf6, 0x0b, 0xb4, 0xe3, 0x5d, 0x5d, 0x16, 0x7b, 0xfb, 0xda, 0xf5, 0x05, 0xf9, 0xfa, 0xcc, 0xdc, - 0x93, 0x20, 0xba, 0x0f, 0xe2, 0xee, 0x42, 0xfb, 0xc9, 0x1e, 0x72, 0x7e, 0xef, 0x17, 0x63, 0xbb, - 0xda, 0xcd, 0x63, 0xc8, 0x91, 0xdf, 0x7d, 0xb0, 0x12, 0xc5, 0x91, 0xbe, 0xba, 0x5c, 0xc5, 0x97, - 0x13, 0x15, 0xd7, 0xa7, 0x91, 0x0d, 0x90, 0x1e, 0xc4, 0x26, 0xf7, 0x80, 0xaf, 0xe8, 0xd3, 0x27, - 0x04, 0x09, 0xbe, 0x06, 0x7c, 0xb2, 0x7d, 0x00, 0xe1, 0x99, 0xdd, 0x99, 0x90, 0x70, 0x33, 0x53, - 0x9d, 0x07, 0x67, 0x7d, 0x1e, 0xd6, 0xda, 0xda, 0x68, 0x32, 0xd9, 0x43, 0xd9, 0xf8, 0xe3, 0x06, - 0x20, 0xe9, 0xdd, 0xac, 0x99, 0x2b, 0xea, 0x13, 0x15, 0x1c, 0x25, 0x87, 0x53, 0x83, 0xa6, 0x16, - 0xe3, 0xe0, 0x2a, 0x14, 0x31, 0xdd, 0x14, 0xfb, 0x4d, 0x6d, 0xbc, 0xf2, 0xf0, 0xb9, 0x31, 0xc7, - 0xfa, 0x9a, 0x08, 0x01, 0xcc, 0x9c, 0x4b, 0x3c, 0x33, 0x42, 0xac, 0x4a, 0x81, 0xf4, 0x8b, 0xdb, - 0x49, 0xd1, 0xfa, 0xc3, 0xc9, 0x57, 0x9b, 0xff, 0xf9, 0x7c, 0xf5, 0x4e, 0x41, 0x21, 0x73, 0x23, - 0xb9, 0x72, 0x88, 0xd4, 0x6f, 0x68, 0x67, 0xf2, 0xc1, 0x46, 0x96, 0xc7, 0xf0, 0x1c, 0x7b, 0x5d, - 0xfd, 0x60, 0x22, 0x28, 0xf3, 0xe9, 0x12, 0x89, 0x67, 0x36, 0x57, 0x86, 0xb9, 0x8a, 0x73, 0x17, - 0xce, 0x83, 0x89, 0x7c, 0x28, 0xe4, 0x79, 0x31, 0x86, 0x57, 0x66, 0xb5, 0xd0, 0x2c, 0xd3, 0xfc, - 0xe8, 0x48, 0x5d, 0xb3, 0xff, 0x79, 0x93, 0x59, 0xcb, 0x39, 0xc6, 0xd4, 0x60, 0x25, 0xc1, 0xb2, - 0x00, 0x6a, 0xc2, 0x42, 0x6d, 0x16, 0x88, 0xed, 0xba, 0x06, 0x13, 0x9f, 0xe4, 0x29, 0xd9, 0x94, - 0x65, 0x36, 0x32, 0x39, 0xbc, 0xd6, 0x1c, 0xc3, 0x89, 0x39, 0xfb, 0xb9, 0xa6, 0x6e, 0x87, 0x87, - 0x65, 0x55, 0x3f, 0x96, 0x08, 0x5a, 0x0e, 0xb8, 0x51, 0xa9, 0xfc, 0x59, 0xe2, 0xc9, 0xae, 0x55, - 0xb0, 0x68, 0xd4, 0xf9, 0x13, 0xb3, 0x7f, 0x2c, 0xe5, 0x4f, 0xe3, 0x84, 0xf9, 0xa6, 0xd3, 0x60, - 0x32, 0x1d, 0x40, 0x5c, 0x48, 0x7a, 0xd9, 0xaf, 0xae, 0xd8, 0x10, 0x8e, 0x41, 0x3d, 0xa0, 0x2d, - 0xd4, 0x70, 0x1e, 0x6b, 0xde, 0xea, 0x19, 0xbf, 0x5f, 0x34, 0xbd, 0x81, 0x9c, 0x6f, 0xc4, 0x09, - 0x5c, 0x68, 0xdb, 0xb9, 0xd4, 0xb7, 0x36, 0xfc, 0xad, 0x3f, 0x9d, 0x21, 0x2c, 0x21, 0x58, 0xd4, - 0x2d, 0x13, 0x29, 0x03, 0x5c, 0x1b, 0x76, 0x19, 0xfc, 0x33, 0xc0, 0x19, 0xc1, 0x4a, 0xad, 0x3a, - 0x6d, 0xfa, 0x2b, 0xbe, 0x26, 0x2a, 0x38, 0x9a, 0x2d, 0x12, 0x0f, 0xa8, 0x2b, 0x05, 0x63, 0x5b, - 0xd8, 0x6f, 0x86, 0xc5, 0x76, 0x75, 0xde, 0xb5, 0x09, 0x5f, 0x16, 0x2f, 0x13, 0x93, 0xcb, 0x6a, - 0xb8, 0x52, 0x86, 0x44, 0xe1, 0x96, 0xfd, 0x61, 0xc6, 0x91, 0x7b, 0xc1, 0xb9, 0x21, 0x8e, 0x7c, - 0x3d, 0xbc, 0x7b, 0x7d, 0xe2, 0xeb, 0x99, 0xd8, 0x97, 0x60, 0x30, 0xf2, 0x70, 0x55, 0x03, 0x6f, - 0x1d, 0x8c, 0x6c, 0xba, 0xcf, 0x64, 0x76, 0x2f, 0x99, 0x22, 0x01, 0xe1, 0x01, 0xa4, 0x41, 0x40, - 0xd2, 0xcf, 0xb6, 0x7d, 0x2d, 0x46, 0xe0, 0x90, 0x6a, 0x06, 0xf0, 0x64, 0xb3, 0xd5, 0x84, 0x7b, - 0x3a, 0xa7, 0x1e, 0x52, 0xf0, 0xd1, 0xf1, 0xa7, 0x78, 0x6f, 0xf1, 0xe7, 0xe5, 0x9e, 0xd7, 0xbb, - 0xdf, 0x35, 0x51, 0xc0, 0xb3, 0x00, 0xba, 0xbf, 0x5f, 0xc1, 0xfd, 0x30, 0x6a, 0xc3, 0x41, 0x99, - 0x8b, 0xc7, 0x31, 0xcf, 0xe5, 0xb3, 0x1a, 0x89, 0x74, 0x5f, 0x41, 0x82, 0x04, 0x47, 0x95, 0x19, - 0xc2, 0x85, 0xa3, 0x26, 0x85, 0x5c, 0x56, 0x67, 0x87, 0xe4, 0x82, 0x10, 0x53, 0x89, 0xc3, 0xa0, - 0x0c, 0xf2, 0x3e, 0xda, 0x53, 0x5f, 0x09, 0xaf, 0xd8, 0x5f, 0x3a, 0x56, 0x2a, 0x0a, 0x30, 0x5e, - 0x00, 0x31, 0x0d, 0xe4, 0x6d, 0xe2, 0x95, 0xd2, 0x87, 0xe1, 0xb0, 0xc4, 0xc0, 0x8e, 0x8f, 0x52, - 0x19, 0x1e, 0xb6, 0x09, 0xc9, 0xf2, 0x79, 0xba, 0xe7, 0x0b, 0xf1, 0x7e, 0xa8, 0x6a, 0xc5, 0x23, - 0x41, 0xe9, 0x89, 0x22, 0xb6, 0xbc, 0x71, 0x2b, 0x2a, 0x29, 0xb1, 0x85, 0x2d, 0xcf, 0x38, 0x73, - 0x23, 0xb3, 0x7a, 0x02, 0xd9, 0xff, 0x65, 0x0d, 0x19, 0xe6, 0x1b, 0xfc, 0x1e, 0xe4, 0xd0, 0x1d, - 0xe6, 0xb0, 0x1f, 0xb1, 0x50, 0x53, 0x9b, 0x17, 0xf0, 0xc7, 0x30, 0x8e, 0x45, 0x18, 0x12, 0xbf, - 0x2e, 0xa3, 0x69, 0xb7, 0xde, 0x50, 0xb6, 0xaa, 0xeb, 0x95, 0x47, 0x7c, 0x36, 0xb3, 0x6c, 0xcf, - 0x1d, 0x41, 0x24, 0x0a, 0x8e, 0x8d, 0xdd, 0xc8, 0x1a, 0xba, 0xd4, 0x79, 0xd5, 0x7b, 0x72, 0xc4, - 0xda, 0x39, 0x7d, 0x5d, 0x47, 0xb2, 0x25, 0x46, 0x86, 0x88, 0x9c, 0x59, 0xd3, 0xfd, 0xbb, 0x4f, - 0x4d, 0xe4, 0x08, 0xf6, 0x83, 0x0d, 0xa1, 0xb8, 0x19, 0xb7, 0x10, 0xbc, 0xf2, 0x0b, 0xf3, 0xe6, - 0x5a, 0xe6, 0x0a, 0xf1, 0x0d, 0x4a, 0x9b, 0x6a, 0x71, 0x2d, 0x1b, 0x89, 0xc3, 0x4c, 0xef, 0xf7, - 0xb8, 0xe7, 0x3e, 0x0e, 0xf3, 0x1b, 0x94, 0x9f, 0x28, 0x3f, 0x40, 0xa7, 0xfe, 0xf8, 0x72, 0x5b, - 0x05, 0xf8, 0xdc, 0xba, 0xc6, 0x31, 0x3a, 0xc4, 0x65, 0x6a, 0xd5, 0x8e, 0x99, 0xd1, 0x6a, 0xcb, - 0x40, 0x85, 0x8b, 0x63, 0x9a, 0xc3, 0x03, 0x0b, 0x97, 0x89, 0x2e, 0x3b, 0xd7, 0x5e, 0xd4, 0x2d, - 0x9c, 0x37, 0x1d, 0xe2, 0x2c, 0xf7, 0xd9, 0xa7, 0xe8, 0xc2, 0x66, 0x6a, 0x89, 0x86, 0x34, 0x2a, - 0xba, 0xb9, 0x44, 0x12, 0x6a, 0xdf, 0xde, 0x25, 0xf1, 0xda, 0x6a, 0x41, 0x7e, 0xfe, 0x8f, 0xc7, - 0x87, 0x33, 0x50, 0x82, 0x31, 0xba, 0x8e, 0x23, 0xa6, 0xfd, 0xbf, 0xa7, 0x8e, 0x3d, 0x10, 0x89, - 0x0a, 0xa6, 0xce, 0xb9, 0xfa, 0x32, 0x4a, 0x2a, 0xae, 0x7a, 0x98, 0x8f, 0x48, 0x38, 0x2f, 0x79, - 0x90, 0x7c, 0xa6, 0xda, 0x05, 0xec, 0xea, 0xdd, 0x46, 0xbe, 0xc3, 0xf6, 0xf7, 0xe9, 0xb4, 0xcf, - 0x8e, 0x13, 0x5d, 0x33, 0x97, 0xb8, 0x1c, 0x32, 0xd3, 0x04, 0x9c, 0x3b, 0xb9, 0x81, 0xa0, 0xd4, - 0x65, 0xe5, 0x94, 0x07, 0xa9, 0xae, 0x83, 0x7a, 0x4d, 0xb7, 0x7e, 0x45, 0x60, 0x48, 0xad, 0xd2, - 0x2e, 0xb0, 0xe8, 0x91, 0x06, 0x80, 0xce, 0x37, 0xeb, 0x77, 0xe5, 0xf3, 0x5f, 0xdc, 0x57, 0x46, - 0x38, 0xc7, 0xbc, 0xbd, 0x1b, 0xf4, 0xe1, 0x3a, 0x77, 0xb4, 0xd5, 0xa0, 0xec, 0x50, 0xb2, 0x3e, - 0xbe, 0x75, 0x8c, 0x33, 0xa4, 0x23, 0x8b, 0x4c, 0x99, 0x85, 0xe7, 0x7c, 0x6f, 0x20, 0x07, 0xb8, - 0x24, 0x7c, 0xc3, 0xba, 0x82, 0x49, 0xe9, 0x10, 0x0d, 0xeb, 0x4f, 0xa4, 0x3d, 0xcb, 0x45, 0xc8, - 0x92, 0x07, 0x03, 0x8b, 0xba, 0x1c, 0x0a, 0xc8, 0xcc, 0x77, 0xbf, 0xa4, 0x82, 0xbf, 0xe0, 0x81, - 0xf5, 0x95, 0x43, 0x75, 0x43, 0x2d, 0x77, 0x39, 0xf3, 0x46, 0x9b, 0x2b, 0x23, 0x1a, 0x3d, 0x27, - 0x32, 0x54, 0x32, 0x54, 0x32, 0x54, 0x32, 0x54, 0xda, 0x00, 0xf5, 0xf0, 0xfa, 0xff, 0xf1, 0xfe, - 0x6e, 0xd6, 0xc8, 0xdc, 0x7c, 0xdc, 0x96, 0x51, 0x65, 0xfc, 0x5f, 0x4a, 0xee, 0xb2, 0x88, 0x0e, - 0x52, 0x7e, 0xa9, 0xc6, 0x51, 0x73, 0xab, 0x0d, 0xb5, 0x0f, 0x00, 0x43, 0xe7, 0x6e, 0x3a, 0xd3, - 0xbf, 0xda, 0x80, 0x96, 0xec, 0xab, 0x2f, 0xbd, 0x28, 0xf7, 0x71, 0x52, 0x4f, 0x18, 0xc7, 0xa6, - 0xef, 0x0b, 0x91, 0x33, 0xa5, 0x7b, 0x16, 0xc0, 0x15, 0x49, 0xd4, 0x74, 0x5d, 0x02, 0xe0, 0x49, - 0x09, 0x00, 0x2d, 0xeb, 0xcb, 0xed, 0xcb, 0xed, 0x32, 0x54, 0x32, 0x54, 0xbf, 0xa8, 0x00, 0x00, - 0xba, 0xff, 0xee, 0xdd, 0xa1, 0xd3, 0x5e, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/system/STM32WBxx/Include/BLE/ble_bufsize.h b/system/STM32WBxx/Include/BLE/ble_bufsize.h index 75bbb10..4269fa4 100644 --- a/system/STM32WBxx/Include/BLE/ble_bufsize.h +++ b/system/STM32WBxx/Include/BLE/ble_bufsize.h @@ -77,47 +77,47 @@ /* * BLE_FIXED_BUFFER_SIZE_BYTES: - * A part of the RAM, is dinamically allocated by initilizing all the pointers + * A part of the RAM, is dynamically allocated by initializing all the pointers * defined in a global context variable "mem_alloc_ctx_p". * This initialization is made in the Dynamic_allocator functions, which - * assing a portion of RAM given by the external application to the above + * assign a portion of RAM given by the external application to the above * mentioned "global pointers". * * The size of this Dynamic RAM is made of 2 main components: * - a part that is parameters-dependent (num of links, GATT buffers, ...), - * and which value is explicited by the following macro; + * and which value is made explicit by the following macro; * - a part, that may be considered "fixed", i.e. independent from the above * mentioned parameters. */ #if (BEACON_ONLY != 0) -#define BLE_FIXED_BUFFER_SIZE_BYTES 4076 /* Beacon only */ +#define BLE_FIXED_BUFFER_SIZE_BYTES 4092 /* Beacon only */ #elif (LL_ONLY_BASIC != 0) -#define BLE_FIXED_BUFFER_SIZE_BYTES 5692 /* LL only Basic*/ +#define BLE_FIXED_BUFFER_SIZE_BYTES 5788 /* LL only Basic*/ #elif (LL_ONLY != 0) -#define BLE_FIXED_BUFFER_SIZE_BYTES 5940 /* LL only Full */ +#define BLE_FIXED_BUFFER_SIZE_BYTES 6036 /* LL only Full */ #elif (SLAVE_ONLY != 0) -#define BLE_FIXED_BUFFER_SIZE_BYTES 6204 /* Peripheral only */ +#define BLE_FIXED_BUFFER_SIZE_BYTES 6292 /* Peripheral only */ #elif (BASIC_FEATURES != 0) -#define BLE_FIXED_BUFFER_SIZE_BYTES 6532 /* Basic Features */ +#define BLE_FIXED_BUFFER_SIZE_BYTES 6624 /* Basic Features */ #else -#define BLE_FIXED_BUFFER_SIZE_BYTES 7056 /* Full stack */ +#define BLE_FIXED_BUFFER_SIZE_BYTES 7144 /* Full stack */ #endif /* * BLE_PER_LINK_SIZE_BYTES: additional memory size used per link */ #if (BEACON_ONLY != 0) -#define BLE_PER_LINK_SIZE_BYTES 128 /* Beacon only */ +#define BLE_PER_LINK_SIZE_BYTES 112 /* Beacon only */ #elif (LL_ONLY_BASIC != 0) -#define BLE_PER_LINK_SIZE_BYTES 260 /* LL only Basic */ +#define BLE_PER_LINK_SIZE_BYTES 244 /* LL only Basic */ #elif (LL_ONLY != 0) -#define BLE_PER_LINK_SIZE_BYTES 260 /* LL only Full */ +#define BLE_PER_LINK_SIZE_BYTES 244 /* LL only Full */ #elif (SLAVE_ONLY != 0) -#define BLE_PER_LINK_SIZE_BYTES 392 /* Peripheral only */ +#define BLE_PER_LINK_SIZE_BYTES 336 /* Peripheral only */ #elif (BASIC_FEATURES != 0) -#define BLE_PER_LINK_SIZE_BYTES 440 /* Basic Features */ +#define BLE_PER_LINK_SIZE_BYTES 412 /* Basic Features */ #else -#define BLE_PER_LINK_SIZE_BYTES 444 /* Full stack */ +#define BLE_PER_LINK_SIZE_BYTES 424 /* Full stack */ #endif /* @@ -148,7 +148,7 @@ * Valid values are from 31 to 1650. */ #define BLE_EXT_ADV_BUFFER_SIZE(set_nbr, data_len) \ - (2304 + ((892 + (DIVC(data_len, 207) * 244)) * (set_nbr))) + (2512 + ((892 + (DIVC(data_len, 207) * 244)) * (set_nbr))) /* * BLE_TOTAL_BUFFER_SIZE_GATT: this macro returns the amount of memory, diff --git a/system/STM32WBxx/Include/BLE/ble_const.h b/system/STM32WBxx/Include/BLE/ble_const.h index ff5c84f..c707103 100644 --- a/system/STM32WBxx/Include/BLE/ble_const.h +++ b/system/STM32WBxx/Include/BLE/ble_const.h @@ -159,6 +159,13 @@ extern int hci_send_req( struct hci_request* req, bool async ); #define DIVC( x, y ) (((x)+(y)-1)/(y)) #endif +#ifndef __PACKED_STRUCT +#define __PACKED_STRUCT PACKED(struct) +#endif + +#ifndef __PACKED_UNION +#define __PACKED_UNION PACKED(union) +#endif #ifndef __WEAK #define __WEAK __attribute__((weak)) diff --git a/system/STM32WBxx/Include/BLE/ble_defs.h b/system/STM32WBxx/Include/BLE/ble_defs.h index b33e379..88408c0 100644 --- a/system/STM32WBxx/Include/BLE/ble_defs.h +++ b/system/STM32WBxx/Include/BLE/ble_defs.h @@ -20,68 +20,66 @@ /* ------------------------------------------------------------------------- */ -#define ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP 0xFD82 - /* HCI commands */ -#define HCI_DISCONNECT 0x0406 +#define HCI_DISCONNECT 0x0406 #define HCI_READ_REMOTE_VERSION_INFORMATION 0x041D -#define HCI_SET_EVENT_MASK 0x0C01 -#define HCI_RESET 0x0C03 -#define HCI_READ_TRANSMIT_POWER_LEVEL 0x0C2D +#define HCI_SET_EVENT_MASK 0x0C01 +#define HCI_RESET 0x0C03 +#define HCI_READ_TRANSMIT_POWER_LEVEL 0x0C2D #define HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 0x0C31 -#define HCI_HOST_BUFFER_SIZE 0x0C33 +#define HCI_HOST_BUFFER_SIZE 0x0C33 #define HCI_HOST_NUMBER_OF_COMPLETED_PACKETS 0x0C35 #define HCI_READ_LOCAL_VERSION_INFORMATION 0x1001 #define HCI_READ_LOCAL_SUPPORTED_COMMANDS 0x1002 #define HCI_READ_LOCAL_SUPPORTED_FEATURES 0x1003 -#define HCI_READ_BD_ADDR 0x1009 -#define HCI_READ_RSSI 0x1405 +#define HCI_READ_BD_ADDR 0x1009 +#define HCI_READ_RSSI 0x1405 /* HCI LE commands */ -#define HCI_LE_SET_EVENT_MASK 0x2001 -#define HCI_LE_READ_BUFFER_SIZE 0x2002 +#define HCI_LE_SET_EVENT_MASK 0x2001 +#define HCI_LE_READ_BUFFER_SIZE 0x2002 #define HCI_LE_READ_LOCAL_SUPPORTED_FEATURES 0x2003 -#define HCI_LE_SET_RANDOM_ADDRESS 0x2005 +#define HCI_LE_SET_RANDOM_ADDRESS 0x2005 #define HCI_LE_SET_ADVERTISING_PARAMETERS 0x2006 -#define HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER 0x2007 -#define HCI_LE_SET_ADVERTISING_DATA 0x2008 -#define HCI_LE_SET_SCAN_RESPONSE_DATA 0x2009 -#define HCI_LE_SET_ADVERTISING_ENABLE 0x200A -#define HCI_LE_SET_SCAN_PARAMETERS 0x200B -#define HCI_LE_SET_SCAN_ENABLE 0x200C -#define HCI_LE_CREATE_CONNECTION 0x200D -#define HCI_LE_CREATE_CONNECTION_CANCEL 0x200E +#define HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER 0x2007 +#define HCI_LE_SET_ADVERTISING_DATA 0x2008 +#define HCI_LE_SET_SCAN_RESPONSE_DATA 0x2009 +#define HCI_LE_SET_ADVERTISING_ENABLE 0x200A +#define HCI_LE_SET_SCAN_PARAMETERS 0x200B +#define HCI_LE_SET_SCAN_ENABLE 0x200C +#define HCI_LE_CREATE_CONNECTION 0x200D +#define HCI_LE_CREATE_CONNECTION_CANCEL 0x200E #define HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE 0x200F -#define HCI_LE_CLEAR_FILTER_ACCEPT_LIST 0x2010 +#define HCI_LE_CLEAR_FILTER_ACCEPT_LIST 0x2010 #define HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST 0x2011 #define HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST 0x2012 -#define HCI_LE_CONNECTION_UPDATE 0x2013 +#define HCI_LE_CONNECTION_UPDATE 0x2013 #define HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION 0x2014 -#define HCI_LE_READ_CHANNEL_MAP 0x2015 -#define HCI_LE_READ_REMOTE_FEATURES 0x2016 -#define HCI_LE_ENCRYPT 0x2017 -#define HCI_LE_RAND 0x2018 -#define HCI_LE_ENABLE_ENCRYPTION 0x2019 +#define HCI_LE_READ_CHANNEL_MAP 0x2015 +#define HCI_LE_READ_REMOTE_FEATURES 0x2016 +#define HCI_LE_ENCRYPT 0x2017 +#define HCI_LE_RAND 0x2018 +#define HCI_LE_ENABLE_ENCRYPTION 0x2019 #define HCI_LE_LONG_TERM_KEY_REQUEST_REPLY 0x201A #define HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY 0x201B -#define HCI_LE_READ_SUPPORTED_STATES 0x201C -#define HCI_LE_SET_DATA_LENGTH 0x2022 +#define HCI_LE_READ_SUPPORTED_STATES 0x201C +#define HCI_LE_SET_DATA_LENGTH 0x2022 #define HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH 0x2023 #define HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH 0x2024 #define HCI_LE_READ_LOCAL_P256_PUBLIC_KEY 0x2025 -#define HCI_LE_GENERATE_DHKEY 0x2026 +#define HCI_LE_GENERATE_DHKEY 0x2026 #define HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST 0x2027 #define HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST 0x2028 -#define HCI_LE_CLEAR_RESOLVING_LIST 0x2029 -#define HCI_LE_READ_RESOLVING_LIST_SIZE 0x202A +#define HCI_LE_CLEAR_RESOLVING_LIST 0x2029 +#define HCI_LE_READ_RESOLVING_LIST_SIZE 0x202A #define HCI_LE_READ_PEER_RESOLVABLE_ADDRESS 0x202B #define HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS 0x202C #define HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE 0x202D #define HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT 0x202E -#define HCI_LE_READ_MAXIMUM_DATA_LENGTH 0x202F -#define HCI_LE_READ_PHY 0x2030 -#define HCI_LE_SET_DEFAULT_PHY 0x2031 -#define HCI_LE_SET_PHY 0x2032 +#define HCI_LE_READ_MAXIMUM_DATA_LENGTH 0x202F +#define HCI_LE_READ_PHY 0x2030 +#define HCI_LE_SET_DEFAULT_PHY 0x2031 +#define HCI_LE_SET_PHY 0x2032 #define HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS 0x2035 #define HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS 0x2036 #define HCI_LE_SET_EXTENDED_ADVERTISING_DATA 0x2037 @@ -89,163 +87,167 @@ #define HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE 0x2039 #define HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH 0x203A #define HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS 0x203B -#define HCI_LE_REMOVE_ADVERTISING_SET 0x203C -#define HCI_LE_CLEAR_ADVERTISING_SETS 0x203D +#define HCI_LE_REMOVE_ADVERTISING_SET 0x203C +#define HCI_LE_CLEAR_ADVERTISING_SETS 0x203D #define HCI_LE_SET_EXTENDED_SCAN_PARAMETERS 0x2041 -#define HCI_LE_SET_EXTENDED_SCAN_ENABLE 0x2042 +#define HCI_LE_SET_EXTENDED_SCAN_ENABLE 0x2042 #define HCI_LE_EXTENDED_CREATE_CONNECTION 0x2043 -#define HCI_LE_READ_TRANSMIT_POWER 0x204B +#define HCI_LE_READ_TRANSMIT_POWER 0x204B #define HCI_LE_READ_RF_PATH_COMPENSATION 0x204C #define HCI_LE_WRITE_RF_PATH_COMPENSATION 0x204D -#define HCI_LE_SET_PRIVACY_MODE 0x204E -#define HCI_LE_RECEIVER_TEST 0x201D -#define HCI_LE_TRANSMITTER_TEST 0x201E -#define HCI_LE_TEST_END 0x201F -#define HCI_LE_RECEIVER_TEST_V2 0x2033 -#define HCI_LE_TRANSMITTER_TEST_V2 0x2034 +#define HCI_LE_SET_PRIVACY_MODE 0x204E +#define HCI_LE_RECEIVER_TEST 0x201D +#define HCI_LE_TRANSMITTER_TEST 0x201E +#define HCI_LE_TEST_END 0x201F +#define HCI_LE_RECEIVER_TEST_V2 0x2033 +#define HCI_LE_TRANSMITTER_TEST_V2 0x2034 /* ACI HAL commands */ -#define ACI_HAL_GET_FW_BUILD_NUMBER 0xFC00 -#define ACI_HAL_WRITE_CONFIG_DATA 0xFC0C -#define ACI_HAL_READ_CONFIG_DATA 0xFC0D -#define ACI_HAL_SET_TX_POWER_LEVEL 0xFC0F +#define ACI_HAL_GET_FW_BUILD_NUMBER 0xFC00 +#define ACI_HAL_WRITE_CONFIG_DATA 0xFC0C +#define ACI_HAL_READ_CONFIG_DATA 0xFC0D +#define ACI_HAL_SET_TX_POWER_LEVEL 0xFC0F #define ACI_HAL_LE_TX_TEST_PACKET_NUMBER 0xFC14 -#define ACI_HAL_TONE_START 0xFC15 -#define ACI_HAL_TONE_STOP 0xFC16 -#define ACI_HAL_GET_LINK_STATUS 0xFC17 -#define ACI_HAL_SET_RADIO_ACTIVITY_MASK 0xFC18 -#define ACI_HAL_GET_ANCHOR_PERIOD 0xFC19 -#define ACI_HAL_SET_EVENT_MASK 0xFC1A -#define ACI_HAL_GET_PM_DEBUG_INFO 0xFC1C -#define ACI_HAL_SET_SLAVE_LATENCY 0xFC20 -#define ACI_HAL_READ_RADIO_REG 0xFC30 -#define ACI_HAL_WRITE_RADIO_REG 0xFC31 -#define ACI_HAL_READ_RAW_RSSI 0xFC32 -#define ACI_HAL_RX_START 0xFC33 -#define ACI_HAL_RX_STOP 0xFC34 -#define ACI_HAL_STACK_RESET 0xFC3B +#define ACI_HAL_TONE_START 0xFC15 +#define ACI_HAL_TONE_STOP 0xFC16 +#define ACI_HAL_GET_LINK_STATUS 0xFC17 +#define ACI_HAL_SET_RADIO_ACTIVITY_MASK 0xFC18 +#define ACI_HAL_GET_ANCHOR_PERIOD 0xFC19 +#define ACI_HAL_SET_EVENT_MASK 0xFC1A +#define ACI_HAL_GET_PM_DEBUG_INFO 0xFC1C +#define ACI_HAL_SET_SLAVE_LATENCY 0xFC20 +#define ACI_HAL_READ_RSSI 0xFC22 +#define ACI_HAL_READ_RADIO_REG 0xFC30 +#define ACI_HAL_WRITE_RADIO_REG 0xFC31 +#define ACI_HAL_READ_RAW_RSSI 0xFC32 +#define ACI_HAL_RX_START 0xFC33 +#define ACI_HAL_RX_STOP 0xFC34 +#define ACI_HAL_STACK_RESET 0xFC3B /* ACI GAP commands */ -#define ACI_GAP_SET_NON_DISCOVERABLE 0xFC81 +#define ACI_GAP_SET_NON_DISCOVERABLE 0xFC81 #define ACI_GAP_SET_LIMITED_DISCOVERABLE 0xFC82 -#define ACI_GAP_SET_DISCOVERABLE 0xFC83 -#define ACI_GAP_SET_DIRECT_CONNECTABLE 0xFC84 -#define ACI_GAP_SET_IO_CAPABILITY 0xFC85 +#define ACI_GAP_SET_DISCOVERABLE 0xFC83 +#define ACI_GAP_SET_DIRECT_CONNECTABLE 0xFC84 +#define ACI_GAP_SET_IO_CAPABILITY 0xFC85 #define ACI_GAP_SET_AUTHENTICATION_REQUIREMENT 0xFC86 #define ACI_GAP_SET_AUTHORIZATION_REQUIREMENT 0xFC87 -#define ACI_GAP_PASS_KEY_RESP 0xFC88 -#define ACI_GAP_AUTHORIZATION_RESP 0xFC89 -#define ACI_GAP_INIT 0xFC8A -#define ACI_GAP_SET_NON_CONNECTABLE 0xFC8B +#define ACI_GAP_PASS_KEY_RESP 0xFC88 +#define ACI_GAP_AUTHORIZATION_RESP 0xFC89 +#define ACI_GAP_INIT 0xFC8A +#define ACI_GAP_SET_NON_CONNECTABLE 0xFC8B #define ACI_GAP_SET_UNDIRECTED_CONNECTABLE 0xFC8C -#define ACI_GAP_SLAVE_SECURITY_REQ 0xFC8D -#define ACI_GAP_UPDATE_ADV_DATA 0xFC8E -#define ACI_GAP_DELETE_AD_TYPE 0xFC8F -#define ACI_GAP_GET_SECURITY_LEVEL 0xFC90 -#define ACI_GAP_SET_EVENT_MASK 0xFC91 -#define ACI_GAP_CONFIGURE_WHITELIST 0xFC92 -#define ACI_GAP_TERMINATE 0xFC93 -#define ACI_GAP_CLEAR_SECURITY_DB 0xFC94 -#define ACI_GAP_ALLOW_REBOND 0xFC95 +#define ACI_GAP_SLAVE_SECURITY_REQ 0xFC8D +#define ACI_GAP_UPDATE_ADV_DATA 0xFC8E +#define ACI_GAP_DELETE_AD_TYPE 0xFC8F +#define ACI_GAP_GET_SECURITY_LEVEL 0xFC90 +#define ACI_GAP_SET_EVENT_MASK 0xFC91 +#define ACI_GAP_CONFIGURE_WHITELIST 0xFC92 +#define ACI_GAP_TERMINATE 0xFC93 +#define ACI_GAP_CLEAR_SECURITY_DB 0xFC94 +#define ACI_GAP_ALLOW_REBOND 0xFC95 #define ACI_GAP_START_LIMITED_DISCOVERY_PROC 0xFC96 #define ACI_GAP_START_GENERAL_DISCOVERY_PROC 0xFC97 #define ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC 0xFC99 #define ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC 0xFC9A #define ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC 0xFC9B -#define ACI_GAP_CREATE_CONNECTION 0xFC9C -#define ACI_GAP_TERMINATE_GAP_PROC 0xFC9D -#define ACI_GAP_START_CONNECTION_UPDATE 0xFC9E -#define ACI_GAP_SEND_PAIRING_REQ 0xFC9F -#define ACI_GAP_RESOLVE_PRIVATE_ADDR 0xFCA0 -#define ACI_GAP_SET_BROADCAST_MODE 0xFCA1 -#define ACI_GAP_START_OBSERVATION_PROC 0xFCA2 -#define ACI_GAP_GET_BONDED_DEVICES 0xFCA3 -#define ACI_GAP_IS_DEVICE_BONDED 0xFCA4 +#define ACI_GAP_CREATE_CONNECTION 0xFC9C +#define ACI_GAP_TERMINATE_GAP_PROC 0xFC9D +#define ACI_GAP_START_CONNECTION_UPDATE 0xFC9E +#define ACI_GAP_SEND_PAIRING_REQ 0xFC9F +#define ACI_GAP_RESOLVE_PRIVATE_ADDR 0xFCA0 +#define ACI_GAP_SET_BROADCAST_MODE 0xFCA1 +#define ACI_GAP_START_OBSERVATION_PROC 0xFCA2 +#define ACI_GAP_GET_BONDED_DEVICES 0xFCA3 +#define ACI_GAP_IS_DEVICE_BONDED 0xFCA4 #define ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO 0xFCA5 -#define ACI_GAP_PASSKEY_INPUT 0xFCA6 -#define ACI_GAP_GET_OOB_DATA 0xFCA7 -#define ACI_GAP_SET_OOB_DATA 0xFCA8 +#define ACI_GAP_PASSKEY_INPUT 0xFCA6 +#define ACI_GAP_GET_OOB_DATA 0xFCA7 +#define ACI_GAP_SET_OOB_DATA 0xFCA8 #define ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST 0xFCA9 -#define ACI_GAP_REMOVE_BONDED_DEVICE 0xFCAA -#define ACI_GAP_ADD_DEVICES_TO_LIST 0xFCAB -#define ACI_GAP_ADDITIONAL_BEACON_START 0xFCB0 -#define ACI_GAP_ADDITIONAL_BEACON_STOP 0xFCB1 +#define ACI_GAP_REMOVE_BONDED_DEVICE 0xFCAA +#define ACI_GAP_ADD_DEVICES_TO_LIST 0xFCAB +#define ACI_GAP_ADDITIONAL_BEACON_START 0xFCB0 +#define ACI_GAP_ADDITIONAL_BEACON_STOP 0xFCB1 #define ACI_GAP_ADDITIONAL_BEACON_SET_DATA 0xFCB2 -#define ACI_GAP_ADV_SET_CONFIGURATION 0xFCC0 -#define ACI_GAP_ADV_SET_ENABLE 0xFCC1 -#define ACI_GAP_ADV_SET_ADV_DATA 0xFCC2 -#define ACI_GAP_ADV_SET_SCAN_RESP_DATA 0xFCC3 -#define ACI_GAP_ADV_REMOVE_SET 0xFCC4 -#define ACI_GAP_ADV_CLEAR_SETS 0xFCC5 -#define ACI_GAP_ADV_SET_RANDOM_ADDRESS 0xFCC6 +#define ACI_GAP_ADV_SET_CONFIGURATION 0xFCC0 +#define ACI_GAP_ADV_SET_ENABLE 0xFCC1 +#define ACI_GAP_ADV_SET_ADV_DATA 0xFCC2 +#define ACI_GAP_ADV_SET_SCAN_RESP_DATA 0xFCC3 +#define ACI_GAP_ADV_REMOVE_SET 0xFCC4 +#define ACI_GAP_ADV_CLEAR_SETS 0xFCC5 +#define ACI_GAP_ADV_SET_RANDOM_ADDRESS 0xFCC6 /* ACI GATT/ATT commands */ -#define ACI_GATT_INIT 0xFD01 -#define ACI_GATT_ADD_SERVICE 0xFD02 -#define ACI_GATT_INCLUDE_SERVICE 0xFD03 -#define ACI_GATT_ADD_CHAR 0xFD04 -#define ACI_GATT_ADD_CHAR_DESC 0xFD05 -#define ACI_GATT_UPDATE_CHAR_VALUE 0xFD06 -#define ACI_GATT_DEL_CHAR 0xFD07 -#define ACI_GATT_DEL_SERVICE 0xFD08 -#define ACI_GATT_DEL_INCLUDE_SERVICE 0xFD09 -#define ACI_GATT_SET_EVENT_MASK 0xFD0A -#define ACI_GATT_EXCHANGE_CONFIG 0xFD0B -#define ACI_ATT_FIND_INFO_REQ 0xFD0C -#define ACI_ATT_FIND_BY_TYPE_VALUE_REQ 0xFD0D -#define ACI_ATT_READ_BY_TYPE_REQ 0xFD0E -#define ACI_ATT_READ_BY_GROUP_TYPE_REQ 0xFD0F -#define ACI_ATT_PREPARE_WRITE_REQ 0xFD10 -#define ACI_ATT_EXECUTE_WRITE_REQ 0xFD11 +#define ACI_GATT_INIT 0xFD01 +#define ACI_GATT_ADD_SERVICE 0xFD02 +#define ACI_GATT_INCLUDE_SERVICE 0xFD03 +#define ACI_GATT_ADD_CHAR 0xFD04 +#define ACI_GATT_ADD_CHAR_DESC 0xFD05 +#define ACI_GATT_UPDATE_CHAR_VALUE 0xFD06 +#define ACI_GATT_DEL_CHAR 0xFD07 +#define ACI_GATT_DEL_SERVICE 0xFD08 +#define ACI_GATT_DEL_INCLUDE_SERVICE 0xFD09 +#define ACI_GATT_SET_EVENT_MASK 0xFD0A +#define ACI_GATT_EXCHANGE_CONFIG 0xFD0B +#define ACI_ATT_FIND_INFO_REQ 0xFD0C +#define ACI_ATT_FIND_BY_TYPE_VALUE_REQ 0xFD0D +#define ACI_ATT_READ_BY_TYPE_REQ 0xFD0E +#define ACI_ATT_READ_BY_GROUP_TYPE_REQ 0xFD0F +#define ACI_ATT_PREPARE_WRITE_REQ 0xFD10 +#define ACI_ATT_EXECUTE_WRITE_REQ 0xFD11 #define ACI_GATT_DISC_ALL_PRIMARY_SERVICES 0xFD12 #define ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID 0xFD13 -#define ACI_GATT_FIND_INCLUDED_SERVICES 0xFD14 +#define ACI_GATT_FIND_INCLUDED_SERVICES 0xFD14 #define ACI_GATT_DISC_ALL_CHAR_OF_SERVICE 0xFD15 -#define ACI_GATT_DISC_CHAR_BY_UUID 0xFD16 -#define ACI_GATT_DISC_ALL_CHAR_DESC 0xFD17 -#define ACI_GATT_READ_CHAR_VALUE 0xFD18 -#define ACI_GATT_READ_USING_CHAR_UUID 0xFD19 -#define ACI_GATT_READ_LONG_CHAR_VALUE 0xFD1A +#define ACI_GATT_DISC_CHAR_BY_UUID 0xFD16 +#define ACI_GATT_DISC_ALL_CHAR_DESC 0xFD17 +#define ACI_GATT_READ_CHAR_VALUE 0xFD18 +#define ACI_GATT_READ_USING_CHAR_UUID 0xFD19 +#define ACI_GATT_READ_LONG_CHAR_VALUE 0xFD1A #define ACI_GATT_READ_MULTIPLE_CHAR_VALUE 0xFD1B -#define ACI_GATT_WRITE_CHAR_VALUE 0xFD1C -#define ACI_GATT_WRITE_LONG_CHAR_VALUE 0xFD1D -#define ACI_GATT_WRITE_CHAR_RELIABLE 0xFD1E -#define ACI_GATT_WRITE_LONG_CHAR_DESC 0xFD1F -#define ACI_GATT_READ_LONG_CHAR_DESC 0xFD20 -#define ACI_GATT_WRITE_CHAR_DESC 0xFD21 -#define ACI_GATT_READ_CHAR_DESC 0xFD22 -#define ACI_GATT_WRITE_WITHOUT_RESP 0xFD23 +#define ACI_GATT_WRITE_CHAR_VALUE 0xFD1C +#define ACI_GATT_WRITE_LONG_CHAR_VALUE 0xFD1D +#define ACI_GATT_WRITE_CHAR_RELIABLE 0xFD1E +#define ACI_GATT_WRITE_LONG_CHAR_DESC 0xFD1F +#define ACI_GATT_READ_LONG_CHAR_DESC 0xFD20 +#define ACI_GATT_WRITE_CHAR_DESC 0xFD21 +#define ACI_GATT_READ_CHAR_DESC 0xFD22 +#define ACI_GATT_WRITE_WITHOUT_RESP 0xFD23 #define ACI_GATT_SIGNED_WRITE_WITHOUT_RESP 0xFD24 -#define ACI_GATT_CONFIRM_INDICATION 0xFD25 -#define ACI_GATT_WRITE_RESP 0xFD26 -#define ACI_GATT_ALLOW_READ 0xFD27 +#define ACI_GATT_CONFIRM_INDICATION 0xFD25 +#define ACI_GATT_WRITE_RESP 0xFD26 +#define ACI_GATT_ALLOW_READ 0xFD27 #define ACI_GATT_SET_SECURITY_PERMISSION 0xFD28 -#define ACI_GATT_SET_DESC_VALUE 0xFD29 -#define ACI_GATT_READ_HANDLE_VALUE 0xFD2A -#define ACI_GATT_UPDATE_CHAR_VALUE_EXT 0xFD2C -#define ACI_GATT_DENY_READ 0xFD2D -#define ACI_GATT_SET_ACCESS_PERMISSION 0xFD2E +#define ACI_GATT_SET_DESC_VALUE 0xFD29 +#define ACI_GATT_READ_HANDLE_VALUE 0xFD2A +#define ACI_GATT_UPDATE_CHAR_VALUE_EXT 0xFD2C +#define ACI_GATT_DENY_READ 0xFD2D +#define ACI_GATT_SET_ACCESS_PERMISSION 0xFD2E +#define ACI_GATT_STORE_DB 0xFD30 +#define ACI_GATT_SEND_MULT_NOTIFICATION 0xFD31 +#define ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE 0xFD32 /* ACI L2CAP commands */ #define ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ 0xFD81 #define ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP 0xFD82 -#define ACI_L2CAP_COC_CONNECT 0xFD88 -#define ACI_L2CAP_COC_CONNECT_CONFIRM 0xFD89 -#define ACI_L2CAP_COC_RECONF 0xFD8A -#define ACI_L2CAP_COC_RECONF_CONFIRM 0xFD8B -#define ACI_L2CAP_COC_DISCONNECT 0xFD8C -#define ACI_L2CAP_COC_FLOW_CONTROL 0xFD8D -#define ACI_L2CAP_COC_TX_DATA 0xFD8E +#define ACI_L2CAP_COC_CONNECT 0xFD88 +#define ACI_L2CAP_COC_CONNECT_CONFIRM 0xFD89 +#define ACI_L2CAP_COC_RECONF 0xFD8A +#define ACI_L2CAP_COC_RECONF_CONFIRM 0xFD8B +#define ACI_L2CAP_COC_DISCONNECT 0xFD8C +#define ACI_L2CAP_COC_FLOW_CONTROL 0xFD8D +#define ACI_L2CAP_COC_TX_DATA 0xFD8E /* ------------------------------------------------------------------------- */ /* HCI events */ #define HCI_DISCONNECTION_COMPLETE_EVENT 0x05 -#define HCI_ENCRYPTION_CHANGE_EVENT 0x08 +#define HCI_ENCRYPTION_CHANGE_EVENT 0x08 #define HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVENT 0x0C -#define HCI_COMMAND_COMPLETE_EVENT 0x0E -#define HCI_COMMAND_STATUS_EVENT 0x0F -#define HCI_HARDWARE_ERROR_EVENT 0x10 +#define HCI_COMMAND_COMPLETE_EVENT 0x0E +#define HCI_COMMAND_STATUS_EVENT 0x0F +#define HCI_HARDWARE_ERROR_EVENT 0x10 #define HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT 0x13 #define HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVENT 0x30 #define HCI_LE_META_EVENT 0x3E @@ -253,80 +255,82 @@ /* HCI LE events */ #define HCI_LE_CONNECTION_COMPLETE_EVENT 0x01 -#define HCI_LE_ADVERTISING_REPORT_EVENT 0x02 +#define HCI_LE_ADVERTISING_REPORT_EVENT 0x02 #define HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT 0x03 #define HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT 0x04 #define HCI_LE_LONG_TERM_KEY_REQUEST_EVENT 0x05 -#define HCI_LE_DATA_LENGTH_CHANGE_EVENT 0x07 +#define HCI_LE_DATA_LENGTH_CHANGE_EVENT 0x07 #define HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT 0x08 #define HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT 0x09 #define HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT 0x0A -#define HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT 0x0B +#define HCI_LE_DIRECTED_ADVERTISING_REPORT_EVENT 0x0B #define HCI_LE_PHY_UPDATE_COMPLETE_EVENT 0x0C #define HCI_LE_EXTENDED_ADVERTISING_REPORT_EVENT 0x0D -#define HCI_LE_SCAN_TIMEOUT_EVENT 0x11 +#define HCI_LE_SCAN_TIMEOUT_EVENT 0x11 #define HCI_LE_ADVERTISING_SET_TERMINATED_EVENT 0x12 #define HCI_LE_SCAN_REQUEST_RECEIVED_EVENT 0x13 #define HCI_LE_CHANNEL_SELECTION_ALGORITHM_EVENT 0x14 /* ACI HAL events */ #define ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT 0x0004 -#define ACI_HAL_SCAN_REQ_REPORT_EVENT 0x0005 -#define ACI_HAL_FW_ERROR_EVENT 0x0006 +#define ACI_HAL_SCAN_REQ_REPORT_EVENT 0x0005 +#define ACI_HAL_FW_ERROR_EVENT 0x0006 /* ACI GAP events */ #define ACI_GAP_LIMITED_DISCOVERABLE_EVENT 0x0400 -#define ACI_GAP_PAIRING_COMPLETE_EVENT 0x0401 -#define ACI_GAP_PASS_KEY_REQ_EVENT 0x0402 -#define ACI_GAP_AUTHORIZATION_REQ_EVENT 0x0403 +#define ACI_GAP_PAIRING_COMPLETE_EVENT 0x0401 +#define ACI_GAP_PASS_KEY_REQ_EVENT 0x0402 +#define ACI_GAP_AUTHORIZATION_REQ_EVENT 0x0403 #define ACI_GAP_SLAVE_SECURITY_INITIATED_EVENT 0x0404 -#define ACI_GAP_BOND_LOST_EVENT 0x0405 -#define ACI_GAP_PROC_COMPLETE_EVENT 0x0407 -#define ACI_GAP_ADDR_NOT_RESOLVED_EVENT 0x0408 +#define ACI_GAP_BOND_LOST_EVENT 0x0405 +#define ACI_GAP_PROC_COMPLETE_EVENT 0x0407 +#define ACI_GAP_ADDR_NOT_RESOLVED_EVENT 0x0408 #define ACI_GAP_NUMERIC_COMPARISON_VALUE_EVENT 0x0409 #define ACI_GAP_KEYPRESS_NOTIFICATION_EVENT 0x040A /* ACI L2CAP events */ #define ACI_L2CAP_CONNECTION_UPDATE_RESP_EVENT 0x0800 -#define ACI_L2CAP_PROC_TIMEOUT_EVENT 0x0801 +#define ACI_L2CAP_PROC_TIMEOUT_EVENT 0x0801 #define ACI_L2CAP_CONNECTION_UPDATE_REQ_EVENT 0x0802 -#define ACI_L2CAP_COMMAND_REJECT_EVENT 0x080A -#define ACI_L2CAP_COC_CONNECT_EVENT 0x0810 +#define ACI_L2CAP_COMMAND_REJECT_EVENT 0x080A +#define ACI_L2CAP_COC_CONNECT_EVENT 0x0810 #define ACI_L2CAP_COC_CONNECT_CONFIRM_EVENT 0x0811 -#define ACI_L2CAP_COC_RECONF_EVENT 0x0812 +#define ACI_L2CAP_COC_RECONF_EVENT 0x0812 #define ACI_L2CAP_COC_RECONF_CONFIRM_EVENT 0x0813 -#define ACI_L2CAP_COC_DISCONNECT_EVENT 0x0814 +#define ACI_L2CAP_COC_DISCONNECT_EVENT 0x0814 #define ACI_L2CAP_COC_FLOW_CONTROL_EVENT 0x0815 -#define ACI_L2CAP_COC_RX_DATA_EVENT 0x0816 +#define ACI_L2CAP_COC_RX_DATA_EVENT 0x0816 #define ACI_L2CAP_COC_TX_POOL_AVAILABLE_EVENT 0x0817 /* ACI GATT/ATT events */ #define ACI_GATT_ATTRIBUTE_MODIFIED_EVENT 0x0C01 -#define ACI_GATT_PROC_TIMEOUT_EVENT 0x0C02 -#define ACI_ATT_EXCHANGE_MTU_RESP_EVENT 0x0C03 -#define ACI_ATT_FIND_INFO_RESP_EVENT 0x0C04 +#define ACI_GATT_PROC_TIMEOUT_EVENT 0x0C02 +#define ACI_ATT_EXCHANGE_MTU_RESP_EVENT 0x0C03 +#define ACI_ATT_FIND_INFO_RESP_EVENT 0x0C04 #define ACI_ATT_FIND_BY_TYPE_VALUE_RESP_EVENT 0x0C05 -#define ACI_ATT_READ_BY_TYPE_RESP_EVENT 0x0C06 -#define ACI_ATT_READ_RESP_EVENT 0x0C07 -#define ACI_ATT_READ_BLOB_RESP_EVENT 0x0C08 +#define ACI_ATT_READ_BY_TYPE_RESP_EVENT 0x0C06 +#define ACI_ATT_READ_RESP_EVENT 0x0C07 +#define ACI_ATT_READ_BLOB_RESP_EVENT 0x0C08 #define ACI_ATT_READ_MULTIPLE_RESP_EVENT 0x0C09 #define ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT 0x0C0A #define ACI_ATT_PREPARE_WRITE_RESP_EVENT 0x0C0C -#define ACI_ATT_EXEC_WRITE_RESP_EVENT 0x0C0D -#define ACI_GATT_INDICATION_EVENT 0x0C0E -#define ACI_GATT_NOTIFICATION_EVENT 0x0C0F -#define ACI_GATT_PROC_COMPLETE_EVENT 0x0C10 -#define ACI_GATT_ERROR_RESP_EVENT 0x0C11 +#define ACI_ATT_EXEC_WRITE_RESP_EVENT 0x0C0D +#define ACI_GATT_INDICATION_EVENT 0x0C0E +#define ACI_GATT_NOTIFICATION_EVENT 0x0C0F +#define ACI_GATT_PROC_COMPLETE_EVENT 0x0C10 +#define ACI_GATT_ERROR_RESP_EVENT 0x0C11 #define ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT 0x0C12 -#define ACI_GATT_WRITE_PERMIT_REQ_EVENT 0x0C13 -#define ACI_GATT_READ_PERMIT_REQ_EVENT 0x0C14 +#define ACI_GATT_WRITE_PERMIT_REQ_EVENT 0x0C13 +#define ACI_GATT_READ_PERMIT_REQ_EVENT 0x0C14 #define ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT 0x0C15 #define ACI_GATT_TX_POOL_AVAILABLE_EVENT 0x0C16 #define ACI_GATT_SERVER_CONFIRMATION_EVENT 0x0C17 #define ACI_GATT_PREPARE_WRITE_PERMIT_REQ_EVENT 0x0C18 -#define ACI_GATT_READ_EXT_EVENT 0x0C1D -#define ACI_GATT_INDICATION_EXT_EVENT 0x0C1E -#define ACI_GATT_NOTIFICATION_EXT_EVENT 0x0C1F +#define ACI_GATT_EATT_BEARER_EVENT 0x0C19 +#define ACI_GATT_MULT_NOTIFICATION_EVENT 0x0C1A +#define ACI_GATT_READ_EXT_EVENT 0x0C1D +#define ACI_GATT_INDICATION_EXT_EVENT 0x0C1E +#define ACI_GATT_NOTIFICATION_EXT_EVENT 0x0C1F /* ------------------------------------------------------------------------- */ @@ -879,6 +883,7 @@ /* GATT UUIDs */ +#define GATT_SERVICE_UUID 0x1801U #define PRIMARY_SERVICE_UUID 0x2800U #define SECONDARY_SERVICE_UUID 0x2801U #define INCLUDE_SERVICE_UUID 0x2802U @@ -889,8 +894,10 @@ #define CHAR_SERVER_CONFIG_DESC_UUID 0x2903U #define CHAR_FORMAT_DESC_UUID 0x2904U #define CHAR_AGGR_FMT_DESC_UUID 0x2905U -#define GATT_SERVICE_UUID 0x1801U #define SERVICE_CHANGED_UUID 0x2A05U +#define CLIENT_SUPPORTED_FEATURES_UUID 0X2B29U +#define DATABASE_HASH_UUID 0X2B2AU +#define SERVER_SUPPORTED_FEATURES_UUID 0X2B3AU /* GAP UUIDs */ @@ -1003,6 +1010,7 @@ #define CONFIG_DATA_IR_OFFSET 0x18U #define CONFIG_DATA_RANDOM_ADDRESS_OFFSET 0x2EU #define CONFIG_DATA_SMP_MODE_OFFSET 0xB0U +#define CONFIG_DATA_LL_SCAN_CHAN_MAP_OFFSET 0xC0U /* Length for configuration values (see ACI_HAL_WRITE_CONFIG_DATA) */ @@ -1011,6 +1019,7 @@ #define CONFIG_DATA_IR_LEN 16 #define CONFIG_DATA_RANDOM_ADDRESS_LEN 6 #define CONFIG_DATA_SMP_MODE_LEN 1 +#define CONFIG_DATA_LL_SCAN_CHAN_MAP_LEN 1 /* ------------------------------------------------------------------------- */ diff --git a/system/STM32WBxx/Include/BLE/ble_events.h b/system/STM32WBxx/Include/BLE/ble_events.h index e4b681a..2cb66e0 100644 --- a/system/STM32WBxx/Include/BLE/ble_events.h +++ b/system/STM32WBxx/Include/BLE/ble_events.h @@ -24,7 +24,7 @@ #define HCI_EVENT_TABLE_SIZE 6 #define HCI_LE_EVENT_TABLE_SIZE 16 -#define HCI_VS_EVENT_TABLE_SIZE 51 +#define HCI_VS_EVENT_TABLE_SIZE 53 typedef struct { @@ -513,7 +513,7 @@ void hci_le_enhanced_connection_complete_event( uint8_t Status, uint8_t Master_Clock_Accuracy ); /** - * @brief HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT + * @brief HCI_LE_DIRECTED_ADVERTISING_REPORT_EVENT * This event indicates that directed advertisements have been received where * the advertiser is using a resolvable private address for the InitA field in * the ADV_DIRECT_IND PDU and the Scanning_Filter_Policy is equal to 0x02 or @@ -529,8 +529,8 @@ void hci_le_enhanced_connection_complete_event( uint8_t Status, * @param Direct_Advertising_Report See @ref Direct_Advertising_Report_t * @return None */ -void hci_le_direct_advertising_report_event( uint8_t Num_Reports, - const Direct_Advertising_Report_t* Direct_Advertising_Report ); +void hci_le_directed_advertising_report_event( uint8_t Num_Reports, + const Direct_Advertising_Report_t* Direct_Advertising_Report ); /** * @brief HCI_LE_PHY_UPDATE_COMPLETE_EVENT @@ -596,10 +596,10 @@ void hci_le_phy_update_complete_event( uint8_t Status, * @param Address Public Device Address, Random Device Address, Public Identity * Address, or Random (static) Identity Address of the advertising * device. - * @param Primary_PHY Primary advetising PHY. + * @param Primary_PHY Primary advertising PHY. * Values: * - 0x01: Advertiser PHY is LE 1M - * @param Secondary_PHY Secondary advetising PHY. + * @param Secondary_PHY Secondary advertising PHY. * Values: * - 0x00: No packets on the secondary advertising physical channel * - 0x01: Advertiser PHY is LE 1M @@ -893,7 +893,7 @@ void aci_gap_numeric_comparison_value_event( uint16_t Connection_Handle, /** * @brief ACI_GAP_KEYPRESS_NOTIFICATION_EVENT * This event is sent only during SC Pairing, when Keypress Notifications are - * supported, in order to show the input type signalled by the peer device, + * supported, in order to show the input type signaled by the peer device, * having Keyboard only I/O capabilities. When this event is received, no * action is required to the User. * @@ -920,9 +920,13 @@ void aci_gap_keypress_notification_event( uint16_t Connection_Handle, * - write long characteristic value * - reliable write. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the attribute that was modified. * @param Offset Bits 14-0: offset from which the write has been performed by * the peer device. Bit 15 is used as flag: when set to 1 it indicates @@ -946,14 +950,18 @@ void aci_gatt_attribute_modified_event( uint16_t Connection_Handle, * disruption in the communication link or a mistake in the application which * does not provide a reply to GATT procedures. After this event, the GATT * channel is closed and no more GATT communication can be performed. The - * applications is exptected to issue an ACI_GAP_TERMINATE to disconnect from - * the peer device. It is important to leave an 100 ms blank window before - * sending the ACI_GAP_TERMINATE, since immediately after this event, system - * could save important information in non volatile memory. + * application is expected to issue an ACI_GAP_TERMINATE to disconnect from the + * peer device. It is important to leave a 100 ms blank window before sending + * the ACI_GAP_TERMINATE, since immediately after this event, system could save + * important information in non-volatile memory. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @return None */ void aci_gatt_proc_timeout_event( uint16_t Connection_Handle ); @@ -978,9 +986,13 @@ void aci_att_exchange_mtu_resp_event( uint16_t Connection_Handle, * ACI_ATT_FIND_INFO_REQ and Find Information Response in Bluetooth Core spec. * This event is also generated in response to ACI_GATT_DISC_ALL_CHAR_DESC * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Format Format of the hanndle-uuid pairs * @param Event_Data_Length Length of Handle_UUID_Pair in octets * @param Handle_UUID_Pair A sequence of handle-uuid pairs. if format=1, each @@ -997,9 +1009,13 @@ void aci_att_find_info_resp_event( uint16_t Connection_Handle, * @brief ACI_ATT_FIND_BY_TYPE_VALUE_RESP_EVENT * This event is generated in response to a ACI_ATT_FIND_BY_TYPE_VALUE_REQ * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Num_of_Handle_Pair Number of attribute, group handle pairs * @param Attribute_Group_Handle_Pair See @ref Attribute_Group_Handle_Pair_t * @return None @@ -1013,9 +1029,13 @@ void aci_att_find_by_type_value_resp_event( uint16_t Connection_Handle, * This event is generated in response to a ACI_ATT_READ_BY_TYPE_REQ. See * ACI_GATT_FIND_INCLUDED_SERVICES and ACI_GATT_DISC_ALL_CHAR_DESC. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Handle_Value_Pair_Length The size of each attribute handle-value pair * @param Data_Length Length of Handle_Value_Pair_Data in octets * @param Handle_Value_Pair_Data Attribute Data List as defined in Bluetooth @@ -1033,9 +1053,13 @@ void aci_att_read_by_type_resp_event( uint16_t Connection_Handle, * This event is generated in response to a Read Request. See * ACI_GATT_READ_CHAR_VALUE. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Event_Data_Length Length of following data * @param Attribute_Value The value of the attribute. * @return None @@ -1049,9 +1073,13 @@ void aci_att_read_resp_event( uint16_t Connection_Handle, * This event can be generated during a read long characteristic value * procedure. See ACI_GATT_READ_LONG_CHAR_VALUE. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Event_Data_Length Length of following data * @param Attribute_Value Part of the attribute value. * @return None @@ -1062,11 +1090,16 @@ void aci_att_read_blob_resp_event( uint16_t Connection_Handle, /** * @brief ACI_ATT_READ_MULTIPLE_RESP_EVENT - * This event is generated in response to a Read Multiple Request. + * This event is generated in response to a Read Multiple Characteristic Values + * Request or a Read Multiple Variable Length Characteristic Values Request. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Event_Data_Length Length of following data * @param Set_Of_Values A set of two or more values. * A concatenation of attribute values for each of the attribute handles @@ -1082,9 +1115,13 @@ void aci_att_read_multiple_resp_event( uint16_t Connection_Handle, * This event is generated in response to a Read By Group Type Request. See * ACI_GATT_DISC_ALL_PRIMARY_SERVICES. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attribute_Data_Length The size of each attribute data * @param Data_Length Length of Attribute_Data_List in octets * @param Attribute_Data_List Attribute Data List as defined in Bluetooth Core @@ -1102,9 +1139,13 @@ void aci_att_read_by_group_type_resp_event( uint16_t Connection_Handle, * @brief ACI_ATT_PREPARE_WRITE_RESP_EVENT * This event is generated in response to a ACI_ATT_PREPARE_WRITE_REQ. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attribute_Handle The handle of the attribute to be written * @param Offset The offset of the first octet to be written. * @param Part_Attribute_Value_Length Length of Part_Attribute_Value in octets @@ -1121,9 +1162,13 @@ void aci_att_prepare_write_resp_event( uint16_t Connection_Handle, * @brief ACI_ATT_EXEC_WRITE_RESP_EVENT * This event is generated in response to an Execute Write Request. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @return None */ void aci_att_exec_write_resp_event( uint16_t Connection_Handle ); @@ -1167,9 +1212,13 @@ void aci_gatt_notification_event( uint16_t Connection_Handle, * This event is generated when a GATT client procedure completes either with * error or successfully. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Error_Code Indicates whether the procedure completed with an error or * was successful (see "Status error codes" section) * @return None @@ -1184,9 +1233,13 @@ void aci_gatt_proc_complete_event( uint16_t Connection_Handle, * discovery procedures. This does not mean that the procedure ended with an * error, but this error event is part of the procedure itself. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Req_Opcode The request that generated this error response * @param Attribute_Handle The attribute handle that generated this error * response @@ -1226,9 +1279,13 @@ void aci_gatt_error_resp_event( uint16_t Connection_Handle, * UUID" has been started. It will be the value of the Characteristic if a* * "Read using Characteristic UUID" has been performed. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attribute_Handle The handle of the attribute * @param Attribute_Value_Length Length of Attribute_Value in octets * @param Attribute_Value The attribute value will be a service declaration as @@ -1261,9 +1318,13 @@ void aci_gatt_disc_read_char_by_uuid_resp_event( uint16_t Connection_Handle, * In case of write/signed write commands, no response is sent to the client * but the attribute is not modified. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attribute_Handle The handle of the attribute * @param Data_Length Length of Data field * @param Data The data that the client has requested to write @@ -1284,9 +1345,13 @@ void aci_gatt_write_permit_req_event( uint16_t Connection_Handle, * if it desires and when done, it must send the ACI_GATT_ALLOW_READ command to * indicate to the stack that it can send the response to the client. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attribute_Handle The handle of the attribute * @param Offset Contains the offset from which the read has been requested * @return None @@ -1306,9 +1371,13 @@ void aci_gatt_read_permit_req_event( uint16_t Connection_Handle, * command to indicate to the stack that it can send the response to the * client. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Handle_Item See @ref Handle_Item_t * @return None */ @@ -1323,10 +1392,8 @@ void aci_gatt_read_multi_permit_req_event( uint16_t Connection_Handle, * there are at least two buffers available for notifications or write * commands. * - * @param Connection_Handle Connection handle for which the event applies. - * Values: - * - 0x0000 ... 0x0EFF - * @param Available_Buffers Number of buffers available + * @param Connection_Handle Not used. + * @param Available_Buffers Number of buffers available. * @return None */ void aci_gatt_tx_pool_available_event( uint16_t Connection_Handle, @@ -1358,9 +1425,13 @@ void aci_gatt_server_confirmation_event( uint16_t Connection_Handle ); * will not be modified and an error response will be sent to the client, with * the error code as specified by the application. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attribute_Handle The handle of the attribute * @param Offset The offset from which the prepare write has been requested * @param Data_Length Length of Data field @@ -1373,6 +1444,49 @@ void aci_gatt_prepare_write_permit_req_event( uint16_t Connection_Handle, uint8_t Data_Length, const uint8_t* Data ); +/** + * @brief ACI_GATT_EATT_BEARER_EVENT + * This event informs the application of a change in status of the Enhanced ATT + * bearer handled by the specified L2CAP channel. + * + * @param Channel_Index Index of the connection-oriented channel for which the + * primitive applies. + * @param EAB_State Enhanced ATT bearer state. + * Values: + * - 0x00: Enhanced ATT bearer created + * - 0x01: Enhanced ATT bearer terminated + * @param Status Status error code. + * @return None + */ +void aci_gatt_eatt_bearer_event( uint8_t Channel_Index, + uint8_t EAB_State, + uint8_t Status ); + +/** + * @brief ACI_GATT_MULT_NOTIFICATION_EVENT + * This event is generated when a Multiple Handle Value notification is + * received from the server. + * + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. + * Values: + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) + * @param Offset Bits 14-0: offset in octets from which Attribute_Value data + * starts. Bit 15 is used as flag: when set to 1 it indicates that more + * data are to come (fragmented event in case of long attribute data). + * @param Data_Length Length of Data in bytes + * @param Data List of "Handle Length Value" tuples as defined in Bluetooth + * Core specification + * @return None + */ +void aci_gatt_mult_notification_event( uint16_t Connection_Handle, + uint16_t Offset, + uint16_t Data_Length, + const uint8_t* Data ); + /** * @brief ACI_GATT_READ_EXT_EVENT * When it is enabled with ACI_GATT_SET_EVENT_MASK, this event is generated @@ -1382,9 +1496,13 @@ void aci_gatt_prepare_write_permit_req_event( uint16_t Connection_Handle, * (BLE_EVT_MAX_PARAM_LEN - 4) i.e. ATT_MTU > 251 for BLE_EVT_MAX_PARAM_LEN * default value. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Offset Bits 14-0: offset in octets from which Attribute_Value data * starts. Bit 15 is used as flag: when set to 1 it indicates that more * data are to come (fragmented event in case of long attribute data). @@ -1432,9 +1550,13 @@ void aci_gatt_indication_ext_event( uint16_t Connection_Handle, * ATT_MTU > (BLE_EVT_MAX_PARAM_LEN - 4) i.e. ATT_MTU > 251 for * BLE_EVT_MAX_PARAM_LEN default value. * - * @param Connection_Handle Connection handle for which the event applies. + * @param Connection_Handle Specifies the ATT bearer for which the event + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attribute_Handle The handle of the attribute * @param Offset Bits 14-0: offset in octets from which Attribute_Value data * starts. Bit 15 is used as flag: when set to 1 it indicates that more @@ -1737,7 +1859,7 @@ void aci_l2cap_coc_tx_pool_available_event( void ); * Information provided includes type of radio activity and absolute time in * system ticks when a new radio activity is schedule, if any. Application can * use this information to schedule user activities synchronous to selected - * radio activitities. A command ACI_HAL_SET_RADIO_ACTIVITY_MASK is provided to + * radio activities. A command ACI_HAL_SET_RADIO_ACTIVITY_MASK is provided to * enable radio activity events of user interests, by default no events are * enabled. * User should take into account that enabling radio events in application with @@ -1746,33 +1868,41 @@ void aci_l2cap_coc_tx_pool_available_event( void ); * interval, switching antenna at the end of advertising or performing flash * erase operation while radio is idle. * - * @param Last_State Completed radio events + * @param Last_State Completed radio event * Values: * - 0x00: Idle * - 0x01: Advertising - * - 0x02: Connection event slave + * - 0x02: Connection slave * - 0x03: Scanning - * - 0x04: Connection request - * - 0x05: Connection event slave + * - 0x05: Connection master * - 0x06: TX test mode * - 0x07: RX test mode - * @param Next_State Incoming radio events + * @param Next_State Incoming radio event * Values: * - 0x00: Idle * - 0x01: Advertising - * - 0x02: Connection event slave + * - 0x02: Connection slave * - 0x03: Scanning - * - 0x04: Connection request - * - 0x05: Connection event slave + * - 0x05: Connection master * - 0x06: TX test mode * - 0x07: RX test mode * @param Next_State_SysTime 32bit absolute current time expressed in internal * time units. + * @param Last_State_Slot Slot number of completed radio event + * Values: + * - 0xFF: Idle + * - 0x00 ... 0x07 + * @param Next_State_Slot Slot number of incoming radio event + * Values: + * - 0xFF: Idle + * - 0x00 ... 0x07 * @return None */ void aci_hal_end_of_radio_activity_event( uint8_t Last_State, uint8_t Next_State, - uint32_t Next_State_SysTime ); + uint32_t Next_State_SysTime, + uint8_t Last_State_Slot, + uint8_t Next_State_Slot ); /** * @brief ACI_HAL_SCAN_REQ_REPORT_EVENT diff --git a/system/STM32WBxx/Include/BLE/ble_gap_aci.h b/system/STM32WBxx/Include/BLE/ble_gap_aci.h index cb6a295..2708238 100644 --- a/system/STM32WBxx/Include/BLE/ble_gap_aci.h +++ b/system/STM32WBxx/Include/BLE/ble_gap_aci.h @@ -26,6 +26,7 @@ * @brief ACI_GAP_SET_NON_DISCOVERABLE * Put the device in non-discoverable mode. This command disables the LL * advertising. + * Note: this command only supports legacy advertising. * * @return Value indicating success or error code. */ @@ -53,6 +54,7 @@ tBleStatus aci_gap_set_non_discoverable( void ); * - Power Level * When advertising timeout happens (i.e. limited discovery period has * elapsed), controller generates ACI_GAP_LIMITED_DISCOVERABLE_EVENT event. + * Note: this command only supports legacy advertising. * * @param Advertising_Type Advertising type * Values: @@ -148,6 +150,7 @@ tBleStatus aci_gap_set_limited_discoverable( uint8_t Advertising_Type, * standard AD types: * - AD Flags * - TX Power Level + * Note: this command only supports legacy advertising. * * @param Advertising_Type Advertising type * Values: @@ -228,7 +231,7 @@ tBleStatus aci_gap_set_discoverable( uint8_t Advertising_Type, * used. * If the privacy is enabled, the Type parameter in reconnection address is * used for advertising, otherwise the address of the type specified in - * OwnAddrType is used. + * Own_Address_Type is used. * The device stays in directed connectable mode only for 1.28 seconds. If no * connection is established within this duration, the device enters non * discoverable mode and advertising has to be again enabled explicitly. @@ -236,6 +239,7 @@ tBleStatus aci_gap_set_discoverable( uint8_t Advertising_Type, * status set to HCI_ADVERTISING_TIMEOUT_ERR_CODE if the connection was not * established and BLE_STATUS_SUCCESS (0x00) if the connection was successfully * established. + * Note: this command only supports legacy advertising. * * @param Own_Address_Type Own address type: if Privacy is disabled, the * address can be public or static random; otherwise, it can be a @@ -374,7 +378,7 @@ tBleStatus aci_gap_set_authorization_requirement( uint16_t Connection_Handle, /** * @brief ACI_GAP_PASS_KEY_RESP - * This command should be send by the host in response to + * This command should be sent by the host in response to * ACI_GAP_PASS_KEY_REQ_EVENT event. The command parameter contains the pass * key which will be used during the pairing process. * @@ -392,7 +396,7 @@ tBleStatus aci_gap_pass_key_resp( uint16_t Connection_Handle, /** * @brief ACI_GAP_AUTHORIZATION_RESP - * Authorize a device to access attributes. This command should be send by the + * Authorize a device to access attributes. This command should be sent by the * host in response to ACI_GAP_AUTHORIZATION_REQ_EVENT event. * * @param Connection_Handle Connection handle for which the command applies. @@ -417,7 +421,7 @@ tBleStatus aci_gap_authorization_resp( uint16_t Connection_Handle, * Note that if the Peripheral Preferred Connection Parameters characteristic * is added, its handle is equal to the Appearance characteristic handle plus * 2. - * Note also that if privacy is enabled, this comamnd automatically unmasks the + * Note also that if privacy is enabled, this command automatically unmasks the * HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT event. * * @param Role Bitmap of allowed roles. @@ -426,7 +430,7 @@ tBleStatus aci_gap_authorization_resp( uint16_t Connection_Handle, * - 0x02: Broadcaster * - 0x04: Central * - 0x08: Observer - * @param privacy_enabled This paremeter specifies if Privacy is enabled or + * @param privacy_enabled This parameter specifies if Privacy is enabled or * not. N.B.: only Controller Privacy is supported. * Values: * - 0x00: Privacy disabled @@ -473,7 +477,8 @@ tBleStatus aci_gap_set_non_connectable( uint8_t Advertising_Event_Type, * Put the device into undirected connectable mode. * If privacy is enabled in the device, a resolvable private address is * generated and used as the advertiser's address. If not, the address of the - * type specified in own_addr_type is used for advertising. + * type specified in Own_Address_Type is used for advertising. + * Note: this command only supports legacy advertising. * * @param Advertising_Interval_Min Minimum advertising interval. * Time = N * 0.625 ms. @@ -708,13 +713,19 @@ tBleStatus aci_gap_start_limited_discovery_proc( uint16_t LE_Scan_Interval, * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param LE_Scan_Window Amount of time for the duration of the LE scan. * LE_Scan_Window shall be less than or equal to LE_Scan_Interval. * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param Own_Address_Type Own address type: if Privacy is disabled, the * address can be public or static random; otherwise, it can be a * resolvable private address or a non-resolvable private address. @@ -758,13 +769,19 @@ tBleStatus aci_gap_start_general_discovery_proc( uint16_t LE_Scan_Interval, * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param LE_Scan_Window Amount of time for the duration of the LE scan. * LE_Scan_Window shall be less than or equal to LE_Scan_Interval. * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param Own_Address_Type Own address type: if Privacy is disabled, the * address can be public or static random; otherwise, it can be a * resolvable private address. @@ -825,7 +842,7 @@ tBleStatus aci_gap_start_auto_connection_establish_proc( uint16_t LE_Scan_Interv * to the upper layer using the event LE_Advertising_Report. The upper layer * then has to select one of the devices to which it wants to connect by * issuing the command ACI_GAP_CREATE_CONNECTION. If privacy is enabled, then - * either a private resolvable address or a non resolvable address, based on + * either a private resolvable address or a non-resolvable address, based on * the address type specified in the command is set as the scanner address but * the gap create connection always uses a private resolvable address if the * general connection establishment procedure is active. @@ -849,13 +866,19 @@ tBleStatus aci_gap_start_auto_connection_establish_proc( uint16_t LE_Scan_Interv * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param LE_Scan_Window Amount of time for the duration of the LE scan. * LE_Scan_Window shall be less than or equal to LE_Scan_Interval. * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param Own_Address_Type Own address type: if Privacy is disabled, the * address can be public or static random; otherwise, it can be a * resolvable private address or a non-resolvable private address. @@ -865,17 +888,17 @@ tBleStatus aci_gap_start_auto_connection_establish_proc( uint16_t LE_Scan_Interv * - 0x02: Resolvable private address * - 0x03: Non-resolvable private address * @param Scanning_Filter_Policy Scanning filter policy: - * - 0x00 Accept all advertisement packets.Directed advertising packets - * which are not addressed for this device shall be ignored. + * - 0x00 Accept all advertisement packets. Directed advertising + * packets which are not addressed for this device shall be ignored. * - 0x01 Ignore advertisement packets from devices not in the White - * List Only.Directed advertising packets which are not addressed for + * List Only. Directed advertising packets which are not addressed for * this device shall be ignored. * - 0x02 Accept all undirected advertisement packets (it is allowed * only if privacy is enabled). Directed advertisement packets where - * initiator address is a RPA and Directed advertisement packets + * initiator address is an RPA and Directed advertisement packets * addressed to this device shall be accepted. * - 0x03 Accept all undirected advertisement packets from devices that - * are in the White List.Directed advertisement packets where initiator + * are in the White List. Directed advertisement packets where initiator * address is RPA and Directed advertisement packets addressed to this * device shall be accepted. * - NOTE: if privacy is enabled Scanning_Filter_Policy can only assume @@ -929,13 +952,19 @@ tBleStatus aci_gap_start_general_connection_establish_proc( uint8_t LE_Scan_Type * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param LE_Scan_Window Amount of time for the duration of the LE scan. * LE_Scan_Window shall be less than or equal to LE_Scan_Interval. * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param Own_Address_Type Own address type: if Privacy is disabled, the * address can be public or static random; otherwise, it can be a * resolvable private address or a non-resolvable private address. @@ -945,17 +974,17 @@ tBleStatus aci_gap_start_general_connection_establish_proc( uint8_t LE_Scan_Type * - 0x02: Resolvable private address * - 0x03: Non-resolvable private address * @param Scanning_Filter_Policy Scanning filter policy: - * - 0x00 Accept all advertisement packets.Directed advertising packets - * which are not addressed for this device shall be ignored. + * - 0x00 Accept all advertisement packets. Directed advertising + * packets which are not addressed for this device shall be ignored. * - 0x01 Ignore advertisement packets from devices not in the White - * List Only.Directed advertising packets which are not addressed for + * List Only. Directed advertising packets which are not addressed for * this device shall be ignored. * - 0x02 Accept all undirected advertisement packets (it is allowed * only if privacy is enabled). Directed advertisement packets where - * initiator address is a RPA and Directed advertisement packets + * initiator address is an RPA and Directed advertisement packets * addressed to this device shall be accepted. * - 0x03 Accept all undirected advertisement packets from devices that - * are in the White List.Directed advertisement packets where initiator + * are in the White List. Directed advertisement packets where initiator * address is RPA and Directed advertisement packets addressed to this * device shall be accepted. * - NOTE: if privacy is enabled Scanning_Filter_Policy can only assume @@ -1006,13 +1035,19 @@ tBleStatus aci_gap_start_selective_connection_establish_proc( uint8_t LE_Scan_Ty * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param LE_Scan_Window Amount of time for the duration of the LE scan. * LE_Scan_Window shall be less than or equal to LE_Scan_Interval. * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param Peer_Address_Type The address type of the peer device. * Values: * - 0x00: Public Device Address @@ -1177,7 +1212,8 @@ tBleStatus aci_gap_resolve_private_addr( const uint8_t* Address, * @brief ACI_GAP_SET_BROADCAST_MODE * This command puts the device into broadcast mode. A privacy enabled device * uses either a resolvable private address or a non-resolvable private address - * as specified in the Own_Addr_Type parameter of the command. + * as specified in the Own_Address_Type parameter of the command. + * Note: this command only supports legacy advertising. * * @param Advertising_Interval_Min Minimum advertising interval. * Time = N * 0.625 ms. @@ -1218,7 +1254,7 @@ tBleStatus aci_gap_set_broadcast_mode( uint16_t Advertising_Interval_Min, /** * @brief ACI_GAP_START_OBSERVATION_PROC - * Starts an Observation procedure, when the device is in Observer Role. The + * Starts an Observation procedure when the device is in Observer Role. The * host enables scanning in the controller. The advertising reports are sent to * the upper layer using standard LE Advertising Report Event. * If privacy is enabled and the peer device (advertiser) is in the resolving @@ -1231,13 +1267,19 @@ tBleStatus aci_gap_set_broadcast_mode( uint16_t Advertising_Interval_Min, * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param LE_Scan_Window Amount of time for the duration of the LE scan. * LE_Scan_Window shall be less than or equal to LE_Scan_Interval. * Time = N * 0.625 ms. * Values: * - 0x0004 (2.500 ms) ... 0x4000 (10240.000 ms) : legacy advertising + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : extended advertising + * with STM32WB * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : extended advertising + * with STM32WBA * @param LE_Scan_Type Passive or active scanning. With passive scanning, no * scan request PDUs are sent. * Values: @@ -1264,7 +1306,7 @@ tBleStatus aci_gap_set_broadcast_mode( uint16_t Advertising_Interval_Min, * this device shall be ignored. * - 0x02 Accept all undirected advertisement packets (it is allowed * only if privacy is enabled). Directed advertisement packets where - * initiator address is a RPA and Directed advertisement packets + * initiator address is an RPA and Directed advertisement packets * addressed to this device shall be accepted. * - 0x03 Accept all undirected advertisement packets from devices that * are in the White List. Directed advertisement packets where initiator @@ -1558,7 +1600,7 @@ tBleStatus aci_gap_additional_beacon_set_data( uint8_t Adv_Data_Length, /** * @brief ACI_GAP_ADV_SET_CONFIGURATION - * This command is used to set the extended advertising configration for one + * This command is used to set the extended advertising configuration for one * advertising set. * This command, in association with ACI_GAP_ADV_SET_SCAN_RESP_DATA, * ACI_GAP_ADV_SET_ADV_DATA and ACI_GAP_ADV_SET_ENABLE, enables to start diff --git a/system/STM32WBxx/Include/BLE/ble_gatt_aci.h b/system/STM32WBxx/Include/BLE/ble_gatt_aci.h index 2a63e91..a6d6d2a 100644 --- a/system/STM32WBxx/Include/BLE/ble_gatt_aci.h +++ b/system/STM32WBxx/Include/BLE/ble_gatt_aci.h @@ -24,7 +24,7 @@ /** * @brief ACI_GATT_INIT - * Initialize the GATT layer for server and client roles. It adds also the GATT + * Initialize the GATT layer for server and client roles. It also adds the GATT * service with Service Changed Characteristic. * Until this command is issued the GATT channel does not process any commands * even if the connection is opened. This command has to be given before using @@ -98,6 +98,19 @@ tBleStatus aci_gatt_include_service( uint16_t Service_Handle, /** * @brief ACI_GATT_ADD_CHAR * Add a characteristic to a service. + * The command returns the handle of the declaration attribute. The attribute + * that holds the Characteristic Value is always allocated at the next handle + * (Char_Handle + 1). The Characteristic Value is immediately followed, in + * order, by: + * - the Server Characteristic Configuration descriptor if CHAR_PROP_BROADCAST + * is selected; + * - the Client Characteristic Configuration descriptor if CHAR_PROP_NOTIFY or + * CHAR_PROP_INDICATE properties is selected; + * - the Characteristic Extended Properties descriptor if CHAR_PROP_EXT is + * selected. + * For instance, if CHAR_PROP_NOTIFY is selected but not CHAR_PROP_BROADCAST + * nor CHAR_PROP_EXT, then the Client Characteristic Configuration attribute + * handle is Char_Handle + 2. * * @param Service_Handle Handle of the Service to which the characteristic will * be added @@ -143,10 +156,6 @@ tBleStatus aci_gatt_include_service( uint16_t Service_Handle, * - 0x01: Variable length * @param[out] Char_Handle Handle of the characteristic that has been added (it * is the handle of the characteristic declaration). - * The attribute that holds the characteristic value is allocated at the - * next handle, followed by the Client Characteristic Configuration - * descriptor if the characteristic has CHAR_PROP_NOTIFY or - * CHAR_PROP_INDICATE properties. * @return Value indicating success or error code. */ tBleStatus aci_gatt_add_char( uint16_t Service_Handle, @@ -240,6 +249,8 @@ tBleStatus aci_gatt_add_char_desc( uint16_t Service_Handle, * want to lose notifications because STM32WB buffer becomes full, it must * retry again till the function returns BLE_STATUS_SUCCESS or any other error * code. + * Note that the characteristic is updated only if the command returns + * BLE_STATUS_SUCCESS. * * @param Service_Handle Handle of service to which the characteristic belongs * @param Char_Handle Handle of the characteristic declaration @@ -490,9 +501,13 @@ tBleStatus aci_att_execute_write_req( uint16_t Connection_Handle, * The responses of the procedure are given through the * ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @return Value indicating success or error code. */ tBleStatus aci_gatt_disc_all_primary_services( uint16_t Connection_Handle ); @@ -506,9 +521,13 @@ tBleStatus aci_gatt_disc_all_primary_services( uint16_t Connection_Handle ); * The end of the procedure is indicated by a ACI_GATT_PROC_COMPLETE_EVENT * event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param UUID_Type UUID type: 0x01 = 16 bits UUID while 0x02 = 128 bits UUID * @param UUID See @ref UUID_t * @return Value indicating success or error code. @@ -525,9 +544,13 @@ tBleStatus aci_gatt_disc_primary_service_by_uuid( uint16_t Connection_Handle, * The end of the procedure is indicated by a ACI_GATT_PROC_COMPLETE_EVENT * event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Start_Handle Start attribute handle of the service * @param End_Handle End attribute handle of the service * @return Value indicating success or error code. @@ -543,9 +566,13 @@ tBleStatus aci_gatt_find_included_services( uint16_t Connection_Handle, * generated. Before procedure completion the response packets are given * through ACI_ATT_READ_BY_TYPE_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Start_Handle Start attribute handle of the service * @param End_Handle End attribute handle of the service * @return Value indicating success or error code. @@ -561,9 +588,13 @@ tBleStatus aci_gatt_disc_all_char_of_service( uint16_t Connection_Handle, * generated. Before procedure completion the response packets are given * through ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Start_Handle Start attribute handle of the service * @param End_Handle End attribute handle of the service * @param UUID_Type UUID type: 0x01 = 16 bits UUID while 0x02 = 128 bits UUID @@ -584,9 +615,13 @@ tBleStatus aci_gatt_disc_char_by_uuid( uint16_t Connection_Handle, * generated. Before procedure completion the response packets are given * through ACI_ATT_FIND_INFO_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Char_Handle Handle of the characteristic value * @param End_Handle End handle of the characteristic * @return Value indicating success or error code. @@ -602,9 +637,13 @@ tBleStatus aci_gatt_disc_all_char_desc( uint16_t Connection_Handle, * generated. Before procedure completion the response packet is given through * ACI_ATT_READ_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the characteristic value to be read * @return Value indicating success or error code. */ @@ -619,13 +658,17 @@ tBleStatus aci_gatt_read_char_value( uint16_t Connection_Handle, * generated. Before procedure completion, the response packet is given through * one ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT event per reported attribute. * Note: the number of bytes of a value reported by - * ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT event can not exceed + * ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT event cannot exceed * BLE_EVT_MAX_PARAM_LEN - 7 i.e. 248 bytes for default value of * BLE_EVT_MAX_PARAM_LEN. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Start_Handle Starting handle of the range to be searched * @param End_Handle End handle of the range to be searched * @param UUID_Type UUID type: 0x01 = 16 bits UUID while 0x02 = 128 bits UUID @@ -645,9 +688,13 @@ tBleStatus aci_gatt_read_using_char_uuid( uint16_t Connection_Handle, * generated. Before procedure completion the response packets are given * through ACI_ATT_READ_BLOB_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the characteristic value to be read * @param Val_Offset Offset from which the value needs to be read * @return Value indicating success or error code. @@ -659,17 +706,22 @@ tBleStatus aci_gatt_read_long_char_value( uint16_t Connection_Handle, /** * @brief ACI_GATT_READ_MULTIPLE_CHAR_VALUE * Start a procedure to read multiple characteristic values from a server. - * This sub-procedure is used to read multiple Characteristic Values from a - * server when the client knows the Characteristic Value Handles. + * The command must specify the handles of the characteristic values to be + * read. * When the procedure is completed, a ACI_GATT_PROC_COMPLETE_EVENT event is * generated. Before procedure completion the response packets are given * through ACI_ATT_READ_MULTIPLE_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF - * @param Number_of_Handles The number of handles for which the value has to be - * read + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) + * @param Number_of_Handles Number of handles in the following table + * Values: + * - 0x02 ... 0x7E * @param Handle_Entry See @ref Handle_Entry_t * @return Value indicating success or error code. */ @@ -683,9 +735,13 @@ tBleStatus aci_gatt_read_multiple_char_value( uint16_t Connection_Handle, * When the procedure is completed, a ACI_GATT_PROC_COMPLETE_EVENT event is * generated. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the characteristic value to be written * @param Attribute_Val_Length Length of the value to be written * @param Attribute_Val Value to be written @@ -703,9 +759,13 @@ tBleStatus aci_gatt_write_char_value( uint16_t Connection_Handle, * generated. During the procedure, ACI_ATT_PREPARE_WRITE_RESP_EVENT and * ACI_ATT_EXEC_WRITE_RESP_EVENT events are raised. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the characteristic value to be written * @param Val_Offset Offset at which the attribute has to be written * @param Attribute_Val_Length Length of the value to be written @@ -725,9 +785,13 @@ tBleStatus aci_gatt_write_long_char_value( uint16_t Connection_Handle, * generated. During the procedure, ACI_ATT_PREPARE_WRITE_RESP_EVENT and * ACI_ATT_EXEC_WRITE_RESP_EVENT events are raised. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the attribute to be written * @param Val_Offset Offset at which the attribute has to be written * @param Attribute_Val_Length Length of the value to be written @@ -747,9 +811,13 @@ tBleStatus aci_gatt_write_char_reliable( uint16_t Connection_Handle, * generated. During the procedure, ACI_ATT_PREPARE_WRITE_RESP_EVENT and * ACI_ATT_EXEC_WRITE_RESP_EVENT events are raised. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the attribute to be written * @param Val_Offset Offset at which the attribute has to be written * @param Attribute_Val_Length Length of the value to be written @@ -769,9 +837,13 @@ tBleStatus aci_gatt_write_long_char_desc( uint16_t Connection_Handle, * generated. Before procedure completion the response packets are given * through ACI_ATT_READ_BLOB_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the characteristic descriptor * @param Val_Offset Offset from which the value needs to be read * @return Value indicating success or error code. @@ -786,9 +858,13 @@ tBleStatus aci_gatt_read_long_char_desc( uint16_t Connection_Handle, * When the procedure is completed, a ACI_GATT_PROC_COMPLETE_EVENT event is * generated. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the attribute to be written * @param Attribute_Val_Length Length of the value to be written * @param Attribute_Val Value to be written @@ -807,9 +883,13 @@ tBleStatus aci_gatt_write_char_desc( uint16_t Connection_Handle, * Before procedure completion the response packet is given through * ACI_ATT_READ_RESP_EVENT event. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the descriptor to be read * @return Value indicating success or error code. */ @@ -824,9 +904,13 @@ tBleStatus aci_gatt_read_char_desc( uint16_t Connection_Handle, * 3); it must also not exceed (BLE_EVT_MAX_PARAM_LEN - 5) i.e. 250 for * BLE_EVT_MAX_PARAM_LEN default value. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the characteristic value to be written * @param Attribute_Val_Length Length of the value to be written * @param Attribute_Val Value to be written @@ -876,13 +960,17 @@ tBleStatus aci_gatt_confirm_indication( uint16_t Connection_Handle ); * Allow or reject a write request from a client. * This command has to be sent by the application when it receives the * ACI_GATT_WRITE_PERMIT_REQ_EVENT. If the write can be allowed, then the - * status and error code has to be set to 0. If the write cannot be allowed, + * status and error code have to be set to 0. If the write cannot be allowed, * then the status has to be set to 1 and the error code has to be set to the * error code that has to be passed to the client. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Attr_Handle Handle of the attribute that was passed in the event * ACI_GATT_WRITE_PERMIT_REQ_EVENT * @param Write_status If the value can be written or not. @@ -918,9 +1006,13 @@ tBleStatus aci_gatt_write_resp( uint16_t Connection_Handle, * should perform the required operations within 30 seconds. Otherwise the GATT * procedure will be timeout. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @return Value indicating success or error code. */ tBleStatus aci_gatt_allow_read( uint16_t Connection_Handle ); @@ -952,7 +1044,7 @@ tBleStatus aci_gatt_set_security_permission( uint16_t Serv_Handle, /** * @brief ACI_GATT_SET_DESC_VALUE - * This command sets the value of the descriptor specified by charDescHandle. + * This command sets the value of the descriptor specified by Char_Desc_Handle. * * @param Serv_Handle Handle of the service which contains the characteristic * descriptor @@ -1041,9 +1133,13 @@ tBleStatus aci_gatt_update_char_value_ext( uint16_t Conn_Handle_To_Notify, * ACI_GATT_READ_PERMIT_REQ_EVENT or ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT * events; otherwise the GATT procedure issues a timeout. * - * @param Connection_Handle Connection handle for which the command applies. + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. * Values: - * - 0x0000 ... 0x0EFF + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) * @param Error_Code Error code for the command * Values: * - 0x08: Insufficient Authorization @@ -1074,5 +1170,65 @@ tBleStatus aci_gatt_set_access_permission( uint16_t Serv_Handle, uint16_t Attr_Handle, uint8_t Access_Permissions ); +/** + * @brief ACI_GATT_STORE_DB + * This command forces the saving of the GATT database for all active + * connections. Note that, by default, the GATT database is saved per active + * connection at the time of disconnection. + * + * @return Value indicating success or error code. + */ +tBleStatus aci_gatt_store_db( void ); + +/** + * @brief ACI_GATT_SEND_MULT_NOTIFICATION + * This command sends a Multiple Handle Value Notification over the ATT bearer + * specified in parameter. The handles provided as parameters must be the + * handles of the characteristic declarations. + * + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. + * Values: + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) + * @param Number_of_Handles Number of handles in the following table + * Values: + * - 0x02 ... 0x7E + * @param Handle_Entry See @ref Handle_Entry_t + * @return Value indicating success or error code. + */ +tBleStatus aci_gatt_send_mult_notification( uint16_t Connection_Handle, + uint8_t Number_of_Handles, + const Handle_Entry_t* Handle_Entry ); + +/** + * @brief ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE + * Start a procedure to read multiple variable length characteristic values + * from a server. + * The command must specify the handles of the characteristic values to be + * read. + * When the procedure is completed, a ACI_GATT_PROC_COMPLETE_EVENT event is + * generated. Before procedure completion the response packets are given + * through ACI_ATT_READ_MULTIPLE_RESP_EVENT event. + * + * @param Connection_Handle Specifies the ATT bearer for which the command + * applies. + * Values: + * - 0x0000 ... 0x0EFF: Unenhanced ATT bearer (the parameter is the + * connection handle) + * - 0xEA00 ... 0xEA1F: Enhanced ATT bearer (the LSB-byte of the + * parameter is the connection-oriented channel index) + * @param Number_of_Handles Number of handles in the following table + * Values: + * - 0x02 ... 0x7E + * @param Handle_Entry See @ref Handle_Entry_t + * @return Value indicating success or error code. + */ +tBleStatus aci_gatt_read_multiple_var_char_value( uint16_t Connection_Handle, + uint8_t Number_of_Handles, + const Handle_Entry_t* Handle_Entry ); + #endif /* BLE_GATT_ACI_H__ */ diff --git a/system/STM32WBxx/Include/BLE/ble_hal_aci.h b/system/STM32WBxx/Include/BLE/ble_hal_aci.h index 8579b22..74c355e 100644 --- a/system/STM32WBxx/Include/BLE/ble_hal_aci.h +++ b/system/STM32WBxx/Include/BLE/ble_hal_aci.h @@ -51,7 +51,10 @@ tBleStatus aci_hal_get_fw_build_number( uint16_t* Build_Number ); * - 0x2E: CONFIG_DATA_RANDOM_ADDRESS_OFFSET; * Static Random Address; 6 bytes * - 0xB0: CONFIG_DATA_SMP_MODE_OFFSET; - * SMP mode (0: normal, 1:bypass); 1 byte + * SMP mode (0: "normal", 1: "bypass", 2: "no blacklist"); 1 byte + * - 0xC0: CONFIG_DATA_LL_SCAN_CHAN_MAP_OFFSET; + * LL scan channel map (same format as Primary_Adv_Channel_Map); 1 + * byte * @param Length Length of data to be written * @param Value Data to be written * @return Value indicating success or error code. @@ -171,8 +174,8 @@ tBleStatus aci_hal_le_tx_test_packet_number( uint32_t* Number_Of_Packets ); * ongoing. * The tone should be stopped by ACI_HAL_TONE_STOP command. * - * @param RF_Channel BLE Channel ID, from 0x00 to 0x27 meaning (2.402 + 2*0xXX) - * GHz + * @param RF_Channel BLE Channel ID, from 0x00 to 0x27 meaning (2.402 + + * 0.002*0xXX) GHz * Device will continuously emit 0s, that means that the tone * will be at the channel center frequency less the maximum * frequency deviation (250kHz). @@ -211,8 +214,9 @@ tBleStatus aci_hal_tone_stop( void ); * - 0x05: Connected in master role * - 0x06: TX test mode * - 0x07: RX test mode + * - 0x81: Advertising with Additional Beacon (only for STM32WB) * @param[out] Link_Connection_Handle Array of connection handles (2 bytes) for - * 8 links. + * 8 links. Valid only if the link status is "connected" (0x02 or 0x05) * @return Value indicating success or error code. */ tBleStatus aci_hal_get_link_status( uint8_t* Link_Status, @@ -229,10 +233,9 @@ tBleStatus aci_hal_get_link_status( uint8_t* Link_Status, * Flags: * - 0x0001: Idle * - 0x0002: Advertising - * - 0x0004: Connection event slave + * - 0x0004: Connection slave * - 0x0008: Scanning - * - 0x0010: Connection request - * - 0x0020: Connection event master + * - 0x0020: Connection master * - 0x0040: TX test mode * - 0x0080: RX test mode * @return Value indicating success or error code. @@ -294,6 +297,19 @@ tBleStatus aci_hal_get_pm_debug_info( uint8_t* Allocated_For_TX, */ tBleStatus aci_hal_set_slave_latency( uint8_t Enable ); +/** + * @brief ACI_HAL_READ_RSSI + * This command returns the value of the RSSI. + * + * @param[out] RSSI RSSI (signed integer). + * Units: dBm. + * Values: + * - 127: RSSI not available + * - -127 ... 20 + * @return Value indicating success or error code. + */ +tBleStatus aci_hal_read_rssi( uint8_t* RSSI ); + /** * @brief ACI_HAL_READ_RADIO_REG * This command Reads Register value from the RF module. @@ -329,8 +345,8 @@ tBleStatus aci_hal_read_raw_rssi( uint8_t* Value ); * @brief ACI_HAL_RX_START * This command does set up the RF to listen to a specific RF channel. * - * @param RF_Channel BLE Channel ID, from 0x00 to 0x27 meaning (2.402 + 2*0xXX) - * GHz + * @param RF_Channel BLE Channel ID, from 0x00 to 0x27 meaning (2.402 + + * 0.002*0xXX) GHz * Device will continuously emit 0s, that means that the tone * will be at the channel center frequency less the maximum * frequency deviation (250kHz). @@ -342,7 +358,7 @@ tBleStatus aci_hal_rx_start( uint8_t RF_Channel ); /** * @brief ACI_HAL_RX_STOP - * This command stop a previous ACI_HAL_RX_START command. + * This command stops a previous ACI_HAL_RX_START command. * * @return Value indicating success or error code. */ diff --git a/system/STM32WBxx/Include/BLE/ble_hci_le.h b/system/STM32WBxx/Include/BLE/ble_hci_le.h index c25d5b5..b3aa988 100644 --- a/system/STM32WBxx/Include/BLE/ble_hci_le.h +++ b/system/STM32WBxx/Include/BLE/ble_hci_le.h @@ -73,13 +73,15 @@ tBleStatus hci_read_remote_version_information( uint16_t Connection_Handle ); * event mask allows the Host to control how much it is interrupted. * See Bluetooth spec. v.5.3 [Vol 4, Part E, 7.3.1]. * - * @param Event_Mask Event mask. Default: 0x20001FFFFFFFFFFF + * @param Event_Mask Event mask. Default: 0x2000FFFFFFFFFFFF * Flags: * - 0x0000000000000000: No events specified * - 0x0000000000000010: Disconnection Complete Event * - 0x0000000000000080: Encryption Change Event * - 0x0000000000000800: Read Remote Version Information Complete Event * - 0x0000000000008000: Hardware Error Event + * - 0x0000000002000000: Data Buffer Overflow Event (not supported on + * STM32WB) * - 0x0000800000000000: Encryption Key Refresh Complete Event * - 0x2000000000000000: LE Meta-Event * @return Value indicating success or error code. @@ -202,15 +204,18 @@ tBleStatus hci_set_controller_to_host_flow_control( uint8_t Flow_Control_Enable * * @param Host_ACL_Data_Packet_Length Maximum length (in octets) of the data * portion of each HCI ACL Data Packet that the Host is able to accept. - * Must be greater or equal to 251 bytes + * Values: + * - 251 ... 65535 * @param Host_Synchronous_Data_Packet_Length Maximum length (in octets) of the * data portion of each HCI synchronous Data Packet that the Host is - * able to accept. + * able to accept. Not used. * @param Host_Total_Num_ACL_Data_Packets Total number of HCI ACL Data Packets * that can be stored in the data buffers of the Host. + * Values: + * - 1 ... 65535 * @param Host_Total_Num_Synchronous_Data_Packets Total number of HCI * synchronous Data Packets that can be stored in the data buffers of - * the Host. + * the Host. Not used. * @return Value indicating success or error code. */ tBleStatus hci_host_buffer_size( uint16_t Host_ACL_Data_Packet_Length, @@ -389,7 +394,7 @@ tBleStatus hci_read_rssi( uint16_t Connection_Handle, * - 0x0000000000002000: LE Periodic Advertising Sync Established Event * - 0x0000000000004000: LE Periodic Advertising Report Event * - 0x0000000000008000: LE Periodic Advertising Sync Lost Event - * - 0x0000000000010000: LE Extended Scan Timeouout Event + * - 0x0000000000010000: LE Extended Scan Timeout Event * - 0x0000000000020000: LE Extended Advertising Set Terminated Event * - 0x0000000000040000: LE Scan Request Received Event * - 0x0000000000080000: LE Channel Selection Algorithm Event @@ -675,10 +680,10 @@ tBleStatus hci_le_set_advertising_enable( uint8_t Advertising_Enable ); * Only. Directed advertising packets which are not addressed for this * device shall be ignored * 0x02 Accept all undirected advertisement packets. Directed - * advertisement packets where initiator address is a RPA and Directed + * advertisement packets where initiator address is an RPA and Directed * advertisement packets addressed to this device shall be accepted. * 0x03 Accept all undirected advertisement packets from devices that - * are in the White List.Directed advertisement packets where initiator + * are in the White List. Directed advertisement packets where initiator * address is RPA and Directed advertisement packets addressed to this * device shall be accepted. * Values: @@ -1307,8 +1312,8 @@ tBleStatus hci_le_read_local_p256_public_key( void ); * See Bluetooth spec. v.5.3 [Vol 4, Part E, 7.8.37]. * * @param Remote_P256_Public_Key The remote P-256 public key in X, Y format: - * Octets 31-0: X co-ordinate - * Octets 63-32: Y co-ordinate + * Octets 31-0: X coordinate + * Octets 63-32: Y coordinate * Little Endian Format * @return Value indicating success or error code. */ diff --git a/system/STM32WBxx/Include/BLE/ble_legacy.h b/system/STM32WBxx/Include/BLE/ble_legacy.h index 5ca0723..e26ef68 100644 --- a/system/STM32WBxx/Include/BLE/ble_legacy.h +++ b/system/STM32WBxx/Include/BLE/ble_legacy.h @@ -291,6 +291,13 @@ typedef uint8_t tBDAddr[6]; hci_le_add_device_to_filter_accept_list #define hci_le_remove_device_from_white_list \ hci_le_remove_device_from_filter_accept_list +#define hci_le_direct_advertising_report_event \ + hci_le_directed_advertising_report_event +#define hci_le_direct_advertising_report_event_rp0 \ + hci_le_directed_advertising_report_event_rp0 + +#define HCI_LE_DIRECT_ADVERTISING_REPORT_SUBEVT_CODE \ + HCI_LE_DIRECTED_ADVERTISING_REPORT_SUBEVT_CODE /* ------------------------------------------------------------------------- */ diff --git a/system/STM32WBxx/Include/BLE/ble_std.h b/system/STM32WBxx/Include/BLE/ble_std.h index 0818f83..9abd288 100644 --- a/system/STM32WBxx/Include/BLE/ble_std.h +++ b/system/STM32WBxx/Include/BLE/ble_std.h @@ -72,7 +72,7 @@ #define HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_SUBEVT_CODE 0x08U #define HCI_LE_GENERATE_DHKEY_COMPLETE_SUBEVT_CODE 0x09U #define HCI_LE_ENHANCED_CONNECTION_COMPLETE_SUBEVT_CODE 0x0AU -#define HCI_LE_DIRECT_ADVERTISING_REPORT_SUBEVT_CODE 0x0BU +#define HCI_LE_DIRECTED_ADVERTISING_REPORT_SUBEVT_CODE 0x0BU #define HCI_LE_PHY_UPDATE_COMPLETE_SUBEVT_CODE 0x0CU #define HCI_LE_EXTENDED_ADVERTISING_REPORT_SUBEVT_CODE 0x0DU #define HCI_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHED_SUBEVT_CODE 0x0EU diff --git a/system/STM32WBxx/Include/BLE/ble_types.h b/system/STM32WBxx/Include/BLE/ble_types.h index 98f02f2..c0b0656 100644 --- a/system/STM32WBxx/Include/BLE/ble_types.h +++ b/system/STM32WBxx/Include/BLE/ble_types.h @@ -27,7 +27,7 @@ typedef uint8_t tBleStatus; /* Definition of Host_Nb_Of_Completed_Pkt_Pair_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Connection_Handle[i] @@ -46,7 +46,7 @@ typedef PACKED(struct) } Host_Nb_Of_Completed_Pkt_Pair_t; /* Definition of Adv_Set_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Used to identify an advertising set. @@ -74,7 +74,7 @@ typedef PACKED(struct) } Adv_Set_t; /* Definition of Scan_Param_Phy_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Passive or active scanning. With passive scanning, no scan request PDUs @@ -89,34 +89,38 @@ typedef PACKED(struct) * begins the subsequent scan on the primary advertising physical channel. * Time = N * 0.625 ms. * Values: - * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : STM32WB + * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : STM32WBA */ uint16_t Scan_Interval; /** * Duration of the scan on the primary advertising physical channel. * Time = N * 0.625 ms. * Values: - * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : STM32WB + * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : STM32WBA */ uint16_t Scan_Window; } Scan_Param_Phy_t; /* Definition of Init_Param_Phy_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Time interval from when the Controller started its last scan until it * begins the subsequent scan on the primary advertising physical channel. * Time = N * 0.625 ms. * Values: - * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : STM32WB + * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : STM32WBA */ uint16_t Scan_Interval; /** * Duration of the scan on the primary advertising physical channel. * Time = N * 0.625 ms. * Values: - * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) + * - 0x0004 (2.500 ms) ... 0x5DC0 (15000.000 ms) : STM32WB + * - 0x0004 (2.500 ms) ... 0xFFFF (40959.375 ms) : STM32WBA */ uint16_t Scan_Window; /** @@ -168,7 +172,7 @@ typedef PACKED(struct) } Init_Param_Phy_t; /* Definition of Whitelist_Entry_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Address type. @@ -184,7 +188,7 @@ typedef PACKED(struct) } Whitelist_Entry_t; /* Definition of Bonded_Device_Entry_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Address type. @@ -200,7 +204,7 @@ typedef PACKED(struct) } Bonded_Device_Entry_t; /* Definition of Whitelist_Identity_Entry_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Identity address type. @@ -216,7 +220,7 @@ typedef PACKED(struct) } Whitelist_Identity_Entry_t; /* Definition of List_Entry_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Address type. @@ -232,7 +236,7 @@ typedef PACKED(struct) } List_Entry_t; /* Definition of Service_UUID_t */ -typedef PACKED(union) +typedef __PACKED_UNION { /** * 16-bit UUID @@ -245,7 +249,7 @@ typedef PACKED(union) } Service_UUID_t; /* Definition of Include_UUID_t */ -typedef PACKED(union) +typedef __PACKED_UNION { /** * 16-bit UUID @@ -258,7 +262,7 @@ typedef PACKED(union) } Include_UUID_t; /* Definition of Char_UUID_t */ -typedef PACKED(union) +typedef __PACKED_UNION { /** * 16-bit UUID @@ -271,7 +275,7 @@ typedef PACKED(union) } Char_UUID_t; /* Definition of Char_Desc_Uuid_t */ -typedef PACKED(union) +typedef __PACKED_UNION { /** * 16-bit UUID @@ -284,7 +288,7 @@ typedef PACKED(union) } Char_Desc_Uuid_t; /* Definition of UUID_t */ -typedef PACKED(union) +typedef __PACKED_UNION { /** * 16-bit UUID @@ -297,16 +301,16 @@ typedef PACKED(union) } UUID_t; /* Definition of Handle_Entry_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** - * The handles for which the attribute value has to be read + * Attribute handle */ uint16_t Handle; } Handle_Entry_t; /* Definition of Handle_Packets_Pair_Entry_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Connection handle @@ -321,7 +325,7 @@ typedef PACKED(struct) } Handle_Packets_Pair_Entry_t; /* Definition of Advertising_Report_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Type of advertising report event: @@ -379,7 +383,7 @@ typedef PACKED(struct) } Advertising_Report_t; /* Definition of Direct_Advertising_Report_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Advertising type @@ -427,7 +431,7 @@ typedef PACKED(struct) } Direct_Advertising_Report_t; /* Definition of Attribute_Group_Handle_Pair_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { /** * Found Attribute handle @@ -440,73 +444,73 @@ typedef PACKED(struct) } Attribute_Group_Handle_Pair_t; /* Definition of Handle_Item_t */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Handle; } Handle_Item_t; /* Internal types used by process functions */ -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Reason; } hci_disconnect_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_disconnect_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } hci_read_remote_version_information_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_read_remote_version_information_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Event_Mask[8]; } hci_set_event_mask_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_set_event_mask_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_reset_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Type; } hci_read_transmit_power_level_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; uint8_t Transmit_Power_Level; } hci_read_transmit_power_level_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Flow_Control_Enable; } hci_set_controller_to_host_flow_control_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_set_controller_to_host_flow_control_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Host_ACL_Data_Packet_Length; uint8_t Host_Synchronous_Data_Packet_Length; @@ -514,23 +518,23 @@ typedef PACKED(struct) uint16_t Host_Total_Num_Synchronous_Data_Packets; } hci_host_buffer_size_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_host_buffer_size_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Number_Of_Handles; Host_Nb_Of_Completed_Pkt_Pair_t Host_Nb_Of_Completed_Pkt_Pair[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(Host_Nb_Of_Completed_Pkt_Pair_t)]; } hci_host_number_of_completed_packets_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_host_number_of_completed_packets_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t HCI_Version; @@ -540,70 +544,70 @@ typedef PACKED(struct) uint16_t LMP_PAL_Subversion; } hci_read_local_version_information_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Supported_Commands[64]; } hci_read_local_supported_commands_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t LMP_Features[8]; } hci_read_local_supported_features_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t BD_ADDR[6]; } hci_read_bd_addr_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } hci_read_rssi_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; uint8_t RSSI; } hci_read_rssi_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t LE_Event_Mask[8]; } hci_le_set_event_mask_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_event_mask_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t HC_LE_ACL_Data_Packet_Length; uint8_t HC_Total_Num_LE_ACL_Data_Packets; } hci_le_read_buffer_size_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t LE_Features[8]; } hci_le_read_local_supported_features_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Random_Address[6]; } hci_le_set_random_address_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_random_address_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Advertising_Interval_Min; uint16_t Advertising_Interval_Max; @@ -615,50 +619,50 @@ typedef PACKED(struct) uint8_t Advertising_Filter_Policy; } hci_le_set_advertising_parameters_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_advertising_parameters_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Transmit_Power_Level; } hci_le_read_advertising_physical_channel_tx_power_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Data_Length; uint8_t Advertising_Data[31]; } hci_le_set_advertising_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_advertising_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Scan_Response_Data_Length; uint8_t Scan_Response_Data[31]; } hci_le_set_scan_response_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_scan_response_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Enable; } hci_le_set_advertising_enable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_advertising_enable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t LE_Scan_Type; uint16_t LE_Scan_Interval; @@ -667,23 +671,23 @@ typedef PACKED(struct) uint8_t Scanning_Filter_Policy; } hci_le_set_scan_parameters_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_scan_parameters_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t LE_Scan_Enable; uint8_t Filter_Duplicates; } hci_le_set_scan_enable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_scan_enable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t LE_Scan_Interval; uint16_t LE_Scan_Window; @@ -699,50 +703,50 @@ typedef PACKED(struct) uint16_t Maximum_CE_Length; } hci_le_create_connection_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_create_connection_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_create_connection_cancel_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t White_List_Size; } hci_le_read_filter_accept_list_size_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_clear_filter_accept_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Address_Type; uint8_t Address[6]; } hci_le_add_device_to_filter_accept_list_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_add_device_to_filter_accept_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Address_Type; uint8_t Address[6]; } hci_le_remove_device_from_filter_accept_list_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_remove_device_from_filter_accept_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Conn_Interval_Min; @@ -753,62 +757,62 @@ typedef PACKED(struct) uint16_t Maximum_CE_Length; } hci_le_connection_update_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_connection_update_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t LE_Channel_Map[5]; } hci_le_set_host_channel_classification_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_host_channel_classification_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } hci_le_read_channel_map_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; uint8_t LE_Channel_Map[5]; } hci_le_read_channel_map_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } hci_le_read_remote_features_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_read_remote_features_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Key[16]; uint8_t Plaintext_Data[16]; } hci_le_encrypt_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Encrypted_Data[16]; } hci_le_encrypt_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Random_Number[8]; } hci_le_rand_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Random_Number[8]; @@ -816,115 +820,115 @@ typedef PACKED(struct) uint8_t Long_Term_Key[16]; } hci_le_enable_encryption_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_enable_encryption_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Long_Term_Key[16]; } hci_le_long_term_key_request_reply_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; } hci_le_long_term_key_request_reply_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } hci_le_long_term_key_request_negative_reply_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; } hci_le_long_term_key_request_negative_reply_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t LE_States[8]; } hci_le_read_supported_states_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t RX_Frequency; } hci_le_receiver_test_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_receiver_test_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t TX_Frequency; uint8_t Length_Of_Test_Data; uint8_t Packet_Payload; } hci_le_transmitter_test_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_transmitter_test_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Number_Of_Packets; } hci_le_test_end_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t TxOctets; uint16_t TxTime; } hci_le_set_data_length_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; } hci_le_set_data_length_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t SuggestedMaxTxOctets; uint16_t SuggestedMaxTxTime; } hci_le_read_suggested_default_data_length_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t SuggestedMaxTxOctets; uint16_t SuggestedMaxTxTime; } hci_le_write_suggested_default_data_length_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_write_suggested_default_data_length_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_read_local_p256_public_key_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Remote_P256_Public_Key[64]; } hci_le_generate_dhkey_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_generate_dhkey_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Peer_Identity_Address_Type; uint8_t Peer_Identity_Address[6]; @@ -932,78 +936,78 @@ typedef PACKED(struct) uint8_t Local_IRK[16]; } hci_le_add_device_to_resolving_list_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_add_device_to_resolving_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Peer_Identity_Address_Type; uint8_t Peer_Identity_Address[6]; } hci_le_remove_device_from_resolving_list_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_remove_device_from_resolving_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_clear_resolving_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Resolving_List_Size; } hci_le_read_resolving_list_size_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Peer_Identity_Address_Type; uint8_t Peer_Identity_Address[6]; } hci_le_read_peer_resolvable_address_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Peer_Resolvable_Address[6]; } hci_le_read_peer_resolvable_address_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Peer_Identity_Address_Type; uint8_t Peer_Identity_Address[6]; } hci_le_read_local_resolvable_address_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Local_Resolvable_Address[6]; } hci_le_read_local_resolvable_address_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Address_Resolution_Enable; } hci_le_set_address_resolution_enable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_address_resolution_enable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t RPA_Timeout; } hci_le_set_resolvable_private_address_timeout_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_resolvable_private_address_timeout_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t supportedMaxTxOctets; @@ -1012,12 +1016,12 @@ typedef PACKED(struct) uint16_t supportedMaxRxTime; } hci_le_read_maximum_data_length_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } hci_le_read_phy_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; @@ -1025,19 +1029,19 @@ typedef PACKED(struct) uint8_t RX_PHY; } hci_le_read_phy_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t ALL_PHYS; uint8_t TX_PHYS; uint8_t RX_PHYS; } hci_le_set_default_phy_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_default_phy_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t ALL_PHYS; @@ -1046,24 +1050,24 @@ typedef PACKED(struct) uint16_t PHY_options; } hci_le_set_phy_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_phy_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t RX_Frequency; uint8_t PHY; uint8_t Modulation_Index; } hci_le_receiver_test_v2_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_receiver_test_v2_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t TX_Frequency; uint8_t Length_Of_Test_Data; @@ -1071,23 +1075,23 @@ typedef PACKED(struct) uint8_t PHY; } hci_le_transmitter_test_v2_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_transmitter_test_v2_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint8_t Random_Address[6]; } hci_le_set_advertising_set_random_address_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_advertising_set_random_address_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint16_t Adv_Event_Properties; @@ -1106,13 +1110,13 @@ typedef PACKED(struct) uint8_t Scan_Req_Notification_Enable; } hci_le_set_extended_advertising_parameters_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Selected_TX_Power; } hci_le_set_extended_advertising_parameters_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint8_t Operation; @@ -1121,12 +1125,12 @@ typedef PACKED(struct) uint8_t Advertising_Data[BLE_CMD_MAX_PARAM_LEN - 4]; } hci_le_set_extended_advertising_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_extended_advertising_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint8_t Operation; @@ -1135,51 +1139,51 @@ typedef PACKED(struct) uint8_t Scan_Response_Data[BLE_CMD_MAX_PARAM_LEN - 4]; } hci_le_set_extended_scan_response_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_extended_scan_response_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Enable; uint8_t Num_Sets; Adv_Set_t Adv_Set[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(Adv_Set_t)]; } hci_le_set_extended_advertising_enable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_extended_advertising_enable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Max_Advertising_Data_Length; } hci_le_read_maximum_advertising_data_length_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Num_Supported_Advertising_Sets; } hci_le_read_number_of_supported_advertising_sets_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; } hci_le_remove_advertising_set_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_remove_advertising_set_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_clear_advertising_sets_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Own_Address_Type; uint8_t Scanning_Filter_Policy; @@ -1187,12 +1191,12 @@ typedef PACKED(struct) Scan_Param_Phy_t Scan_Param_Phy[2]; } hci_le_set_extended_scan_parameters_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_extended_scan_parameters_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Enable; uint8_t Filter_Duplicates; @@ -1200,12 +1204,12 @@ typedef PACKED(struct) uint16_t Period; } hci_le_set_extended_scan_enable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_extended_scan_enable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Initiator_Filter_Policy; uint8_t Own_Address_Type; @@ -1215,146 +1219,146 @@ typedef PACKED(struct) Init_Param_Phy_t Init_Param_Phy[3]; } hci_le_extended_create_connection_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_extended_create_connection_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Min_TX_Power; uint8_t Max_TX_Power; } hci_le_read_transmit_power_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t RF_TX_Path_Compensation; uint16_t RF_RX_Path_Compensation; } hci_le_read_rf_path_compensation_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t RF_TX_Path_Compensation; uint16_t RF_RX_Path_Compensation; } hci_le_write_rf_path_compensation_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_write_rf_path_compensation_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Peer_Identity_Address_Type; uint8_t Peer_Identity_Address[6]; uint8_t Privacy_Mode; } hci_le_set_privacy_mode_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } hci_le_set_privacy_mode_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Build_Number; } aci_hal_get_fw_build_number_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Offset; uint8_t Length; uint8_t Value[BLE_CMD_MAX_PARAM_LEN - 2]; } aci_hal_write_config_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_write_config_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Offset; } aci_hal_read_config_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Data_Length; uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 3) - 2]; } aci_hal_read_config_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t En_High_Power; uint8_t PA_Level; } aci_hal_set_tx_power_level_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_set_tx_power_level_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint32_t Number_Of_Packets; } aci_hal_le_tx_test_packet_number_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t RF_Channel; uint8_t Freq_offset; } aci_hal_tone_start_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_tone_start_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_tone_stop_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Link_Status[8]; uint16_t Link_Connection_Handle[8]; } aci_hal_get_link_status_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Radio_Activity_Mask; } aci_hal_set_radio_activity_mask_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_set_radio_activity_mask_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint32_t Anchor_Period; uint32_t Max_Free_Slot; } aci_hal_get_anchor_period_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint32_t Event_Mask; } aci_hal_set_event_mask_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_set_event_mask_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Allocated_For_TX; @@ -1362,70 +1366,76 @@ typedef PACKED(struct) uint8_t Allocated_MBlocks; } aci_hal_get_pm_debug_info_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Enable; } aci_hal_set_slave_latency_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_set_slave_latency_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT +{ + uint8_t Status; + uint8_t RSSI; +} aci_hal_read_rssi_rp0; + +typedef __PACKED_STRUCT { uint8_t Register_Address; } aci_hal_read_radio_reg_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t reg_val; } aci_hal_read_radio_reg_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Register_Address; uint8_t Register_Value; } aci_hal_write_radio_reg_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_write_radio_reg_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Value[3]; } aci_hal_read_raw_rssi_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t RF_Channel; } aci_hal_rx_start_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_rx_start_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_rx_stop_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_hal_stack_reset_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_non_discoverable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Type; uint16_t Advertising_Interval_Min; @@ -1436,24 +1446,24 @@ typedef PACKED(struct) uint8_t Local_Name[BLE_CMD_MAX_PARAM_LEN - 13]; } aci_gap_set_limited_discoverable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Service_Uuid_length; uint8_t Service_Uuid_List[BLE_CMD_MAX_PARAM_LEN - 13]; } aci_gap_set_limited_discoverable_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Slave_Conn_Interval_Min; uint16_t Slave_Conn_Interval_Max; } aci_gap_set_limited_discoverable_cp2; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_limited_discoverable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Type; uint16_t Advertising_Interval_Min; @@ -1464,24 +1474,24 @@ typedef PACKED(struct) uint8_t Local_Name[BLE_CMD_MAX_PARAM_LEN - 13]; } aci_gap_set_discoverable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Service_Uuid_length; uint8_t Service_Uuid_List[BLE_CMD_MAX_PARAM_LEN - 13]; } aci_gap_set_discoverable_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Slave_Conn_Interval_Min; uint16_t Slave_Conn_Interval_Max; } aci_gap_set_discoverable_cp2; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_discoverable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Own_Address_Type; uint8_t Directed_Advertising_Type; @@ -1491,22 +1501,22 @@ typedef PACKED(struct) uint16_t Advertising_Interval_Max; } aci_gap_set_direct_connectable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_direct_connectable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t IO_Capability; } aci_gap_set_io_capability_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_io_capability_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Bonding_Mode; uint8_t MITM_Mode; @@ -1519,52 +1529,52 @@ typedef PACKED(struct) uint8_t Identity_Address_Type; } aci_gap_set_authentication_requirement_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_authentication_requirement_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Authorization_Enable; } aci_gap_set_authorization_requirement_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_authorization_requirement_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint32_t Pass_Key; } aci_gap_pass_key_resp_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_pass_key_resp_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Authorize; } aci_gap_authorization_resp_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_authorization_resp_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Role; uint8_t privacy_enabled; uint8_t device_name_char_len; } aci_gap_init_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Service_Handle; @@ -1572,18 +1582,18 @@ typedef PACKED(struct) uint16_t Appearance_Char_Handle; } aci_gap_init_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Event_Type; uint8_t Own_Address_Type; } aci_gap_set_non_connectable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_non_connectable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Advertising_Interval_Min; uint16_t Advertising_Interval_Max; @@ -1591,96 +1601,96 @@ typedef PACKED(struct) uint8_t Adv_Filter_Policy; } aci_gap_set_undirected_connectable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_undirected_connectable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gap_slave_security_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_slave_security_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t AdvDataLen; uint8_t AdvData[BLE_CMD_MAX_PARAM_LEN - 1]; } aci_gap_update_adv_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_update_adv_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t ADType; } aci_gap_delete_ad_type_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_delete_ad_type_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gap_get_security_level_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Security_Mode; uint8_t Security_Level; } aci_gap_get_security_level_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t GAP_Evt_Mask; } aci_gap_set_event_mask_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_event_mask_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_configure_whitelist_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Reason; } aci_gap_terminate_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_terminate_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_clear_security_db_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gap_allow_rebond_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_allow_rebond_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t LE_Scan_Interval; uint16_t LE_Scan_Window; @@ -1688,12 +1698,12 @@ typedef PACKED(struct) uint8_t Filter_Duplicates; } aci_gap_start_limited_discovery_proc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_start_limited_discovery_proc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t LE_Scan_Interval; uint16_t LE_Scan_Window; @@ -1701,12 +1711,12 @@ typedef PACKED(struct) uint8_t Filter_Duplicates; } aci_gap_start_general_discovery_proc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_start_general_discovery_proc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t LE_Scan_Interval; uint16_t LE_Scan_Window; @@ -1721,12 +1731,12 @@ typedef PACKED(struct) Whitelist_Entry_t Whitelist_Entry[(BLE_CMD_MAX_PARAM_LEN - 18)/sizeof(Whitelist_Entry_t)]; } aci_gap_start_auto_connection_establish_proc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_start_auto_connection_establish_proc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t LE_Scan_Type; uint16_t LE_Scan_Interval; @@ -1736,12 +1746,12 @@ typedef PACKED(struct) uint8_t Filter_Duplicates; } aci_gap_start_general_connection_establish_proc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_start_general_connection_establish_proc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t LE_Scan_Type; uint16_t LE_Scan_Interval; @@ -1753,12 +1763,12 @@ typedef PACKED(struct) Whitelist_Entry_t Whitelist_Entry[(BLE_CMD_MAX_PARAM_LEN - 9)/sizeof(Whitelist_Entry_t)]; } aci_gap_start_selective_connection_establish_proc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_start_selective_connection_establish_proc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t LE_Scan_Interval; uint16_t LE_Scan_Window; @@ -1773,22 +1783,22 @@ typedef PACKED(struct) uint16_t Maximum_CE_Length; } aci_gap_create_connection_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_create_connection_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Procedure_Code; } aci_gap_terminate_gap_proc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_terminate_gap_proc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Conn_Interval_Min; @@ -1799,34 +1809,34 @@ typedef PACKED(struct) uint16_t Maximum_CE_Length; } aci_gap_start_connection_update_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_start_connection_update_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Force_Rebond; } aci_gap_send_pairing_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_send_pairing_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Address[6]; } aci_gap_resolve_private_addr_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Actual_Address[6]; } aci_gap_resolve_private_addr_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Advertising_Interval_Min; uint16_t Advertising_Interval_Max; @@ -1836,18 +1846,18 @@ typedef PACKED(struct) uint8_t Adv_Data[BLE_CMD_MAX_PARAM_LEN - 8]; } aci_gap_set_broadcast_mode_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Num_of_Whitelist_Entries; Whitelist_Entry_t Whitelist_Entry[(BLE_CMD_MAX_PARAM_LEN - 8)/sizeof(Whitelist_Entry_t)]; } aci_gap_set_broadcast_mode_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_broadcast_mode_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t LE_Scan_Interval; uint16_t LE_Scan_Window; @@ -1857,57 +1867,57 @@ typedef PACKED(struct) uint8_t Scanning_Filter_Policy; } aci_gap_start_observation_proc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_start_observation_proc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Num_of_Addresses; Bonded_Device_Entry_t Bonded_Device_Entry[((BLE_EVT_MAX_PARAM_LEN - 3) - 2)/sizeof(Bonded_Device_Entry_t)]; } aci_gap_get_bonded_devices_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Peer_Address_Type; uint8_t Peer_Address[6]; } aci_gap_is_device_bonded_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_is_device_bonded_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Confirm_Yes_No; } aci_gap_numeric_comparison_value_confirm_yesno_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_numeric_comparison_value_confirm_yesno_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Input_Type; } aci_gap_passkey_input_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_passkey_input_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t OOB_Data_Type; } aci_gap_get_oob_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Address_Type; @@ -1917,7 +1927,7 @@ typedef PACKED(struct) uint8_t OOB_Data[16]; } aci_gap_get_oob_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Device_Type; uint8_t Address_Type; @@ -1927,55 +1937,55 @@ typedef PACKED(struct) uint8_t OOB_Data[16]; } aci_gap_set_oob_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_set_oob_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Num_of_Resolving_list_Entries; Whitelist_Identity_Entry_t Whitelist_Identity_Entry[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(Whitelist_Identity_Entry_t)]; } aci_gap_add_devices_to_resolving_list_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Clear_Resolving_List; } aci_gap_add_devices_to_resolving_list_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_add_devices_to_resolving_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Peer_Identity_Address_Type; uint8_t Peer_Identity_Address[6]; } aci_gap_remove_bonded_device_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_remove_bonded_device_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Num_of_List_Entries; List_Entry_t List_Entry[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(List_Entry_t)]; } aci_gap_add_devices_to_list_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Mode; } aci_gap_add_devices_to_list_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_add_devices_to_list_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Adv_Interval_Min; uint16_t Adv_Interval_Max; @@ -1985,28 +1995,28 @@ typedef PACKED(struct) uint8_t PA_Level; } aci_gap_additional_beacon_start_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_additional_beacon_start_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_additional_beacon_stop_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Adv_Data_Length; uint8_t Adv_Data[BLE_CMD_MAX_PARAM_LEN - 1]; } aci_gap_additional_beacon_set_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_additional_beacon_set_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Adv_Mode; uint8_t Advertising_Handle; @@ -2025,24 +2035,24 @@ typedef PACKED(struct) uint8_t Scan_Req_Notification_Enable; } aci_gap_adv_set_configuration_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_adv_set_configuration_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Enable; uint8_t Num_Sets; Adv_Set_t Adv_Set[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(Adv_Set_t)]; } aci_gap_adv_set_enable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_adv_set_enable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint8_t Operation; @@ -2051,12 +2061,12 @@ typedef PACKED(struct) uint8_t Advertising_Data[BLE_CMD_MAX_PARAM_LEN - 4]; } aci_gap_adv_set_adv_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_adv_set_adv_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint8_t Operation; @@ -2065,61 +2075,61 @@ typedef PACKED(struct) uint8_t Scan_Response_Data[BLE_CMD_MAX_PARAM_LEN - 4]; } aci_gap_adv_set_scan_resp_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_adv_set_scan_resp_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; } aci_gap_adv_remove_set_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_adv_remove_set_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_adv_clear_sets_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint8_t Random_Address[6]; } aci_gap_adv_set_random_address_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gap_adv_set_random_address_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_init_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Service_UUID_Type; Service_UUID_t Service_UUID; } aci_gatt_add_service_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Service_Type; uint8_t Max_Attribute_Records; } aci_gatt_add_service_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Service_Handle; } aci_gatt_add_service_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Service_Handle; uint16_t Include_Start_Handle; @@ -2128,20 +2138,20 @@ typedef PACKED(struct) Include_UUID_t Include_UUID; } aci_gatt_include_service_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Include_Handle; } aci_gatt_include_service_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Service_Handle; uint8_t Char_UUID_Type; Char_UUID_t Char_UUID; } aci_gatt_add_char_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Char_Value_Length; uint8_t Char_Properties; @@ -2151,13 +2161,13 @@ typedef PACKED(struct) uint8_t Is_Variable; } aci_gatt_add_char_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Char_Handle; } aci_gatt_add_char_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Service_Handle; uint16_t Char_Handle; @@ -2165,14 +2175,14 @@ typedef PACKED(struct) Char_Desc_Uuid_t Char_Desc_Uuid; } aci_gatt_add_char_desc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Char_Desc_Value_Max_Len; uint8_t Char_Desc_Value_Length; uint8_t Char_Desc_Value[BLE_CMD_MAX_PARAM_LEN - 12]; } aci_gatt_add_char_desc_cp1; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Security_Permissions; uint8_t Access_Permissions; @@ -2181,13 +2191,13 @@ typedef PACKED(struct) uint8_t Is_Variable; } aci_gatt_add_char_desc_cp2; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Char_Desc_Handle; } aci_gatt_add_char_desc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Service_Handle; uint16_t Char_Handle; @@ -2196,76 +2206,76 @@ typedef PACKED(struct) uint8_t Char_Value[BLE_CMD_MAX_PARAM_LEN - 6]; } aci_gatt_update_char_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_update_char_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Serv_Handle; uint16_t Char_Handle; } aci_gatt_del_char_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_del_char_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Serv_Handle; } aci_gatt_del_service_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_del_service_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Serv_Handle; uint16_t Include_Handle; } aci_gatt_del_include_service_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_del_include_service_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint32_t GATT_Evt_Mask; } aci_gatt_set_event_mask_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_set_event_mask_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gatt_exchange_config_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_exchange_config_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; uint16_t End_Handle; } aci_att_find_info_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_att_find_info_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; @@ -2275,12 +2285,12 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 9]; } aci_att_find_by_type_value_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_att_find_by_type_value_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; @@ -2289,12 +2299,12 @@ typedef PACKED(struct) UUID_t UUID; } aci_att_read_by_type_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_att_read_by_type_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; @@ -2303,12 +2313,12 @@ typedef PACKED(struct) UUID_t UUID; } aci_att_read_by_group_type_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_att_read_by_group_type_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2317,69 +2327,69 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7]; } aci_att_prepare_write_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_att_prepare_write_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Execute; } aci_att_execute_write_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_att_execute_write_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gatt_disc_all_primary_services_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_disc_all_primary_services_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t UUID_Type; UUID_t UUID; } aci_gatt_disc_primary_service_by_uuid_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_disc_primary_service_by_uuid_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; uint16_t End_Handle; } aci_gatt_find_included_services_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_find_included_services_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; uint16_t End_Handle; } aci_gatt_disc_all_char_of_service_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_disc_all_char_of_service_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; @@ -2388,35 +2398,35 @@ typedef PACKED(struct) UUID_t UUID; } aci_gatt_disc_char_by_uuid_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_disc_char_by_uuid_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Char_Handle; uint16_t End_Handle; } aci_gatt_disc_all_char_desc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_disc_all_char_desc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; } aci_gatt_read_char_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_read_char_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Start_Handle; @@ -2425,36 +2435,36 @@ typedef PACKED(struct) UUID_t UUID; } aci_gatt_read_using_char_uuid_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_read_using_char_uuid_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; uint16_t Val_Offset; } aci_gatt_read_long_char_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_read_long_char_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Number_of_Handles; Handle_Entry_t Handle_Entry[(BLE_CMD_MAX_PARAM_LEN - 3)/sizeof(Handle_Entry_t)]; } aci_gatt_read_multiple_char_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_read_multiple_char_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2462,12 +2472,12 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5]; } aci_gatt_write_char_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_write_char_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2476,12 +2486,12 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7]; } aci_gatt_write_long_char_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_write_long_char_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2490,12 +2500,12 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7]; } aci_gatt_write_char_reliable_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_write_char_reliable_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2504,24 +2514,24 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7]; } aci_gatt_write_long_char_desc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_write_long_char_desc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; uint16_t Val_Offset; } aci_gatt_read_long_char_desc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_read_long_char_desc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2529,23 +2539,23 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5]; } aci_gatt_write_char_desc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_write_char_desc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; } aci_gatt_read_char_desc_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_read_char_desc_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2553,12 +2563,12 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5]; } aci_gatt_write_without_resp_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_write_without_resp_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2566,22 +2576,22 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5]; } aci_gatt_signed_write_without_resp_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_signed_write_without_resp_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gatt_confirm_indication_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_confirm_indication_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -2591,34 +2601,34 @@ typedef PACKED(struct) uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7]; } aci_gatt_write_resp_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_write_resp_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gatt_allow_read_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_allow_read_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Serv_Handle; uint16_t Attr_Handle; uint8_t Security_Permissions; } aci_gatt_set_security_permission_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_set_security_permission_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Serv_Handle; uint16_t Char_Handle; @@ -2628,19 +2638,19 @@ typedef PACKED(struct) uint8_t Char_Desc_Value[BLE_CMD_MAX_PARAM_LEN - 9]; } aci_gatt_set_desc_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_set_desc_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Attr_Handle; uint16_t Offset; uint16_t Value_Length_Requested; } aci_gatt_read_handle_value_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Length; @@ -2648,7 +2658,7 @@ typedef PACKED(struct) uint8_t Value[(BLE_EVT_MAX_PARAM_LEN - 3) - 5]; } aci_gatt_read_handle_value_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Conn_Handle_To_Notify; uint16_t Service_Handle; @@ -2660,35 +2670,64 @@ typedef PACKED(struct) uint8_t Value[BLE_CMD_MAX_PARAM_LEN - 12]; } aci_gatt_update_char_value_ext_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_update_char_value_ext_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Error_Code; } aci_gatt_deny_read_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_deny_read_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Serv_Handle; uint16_t Attr_Handle; uint8_t Access_Permissions; } aci_gatt_set_access_permission_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_gatt_set_access_permission_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT +{ + uint8_t Status; +} aci_gatt_store_db_rp0; + +typedef __PACKED_STRUCT +{ + uint16_t Connection_Handle; + uint8_t Number_of_Handles; + Handle_Entry_t Handle_Entry[(BLE_CMD_MAX_PARAM_LEN - 3)/sizeof(Handle_Entry_t)]; +} aci_gatt_send_mult_notification_cp0; + +typedef __PACKED_STRUCT +{ + uint8_t Status; +} aci_gatt_send_mult_notification_rp0; + +typedef __PACKED_STRUCT +{ + uint16_t Connection_Handle; + uint8_t Number_of_Handles; + Handle_Entry_t Handle_Entry[(BLE_CMD_MAX_PARAM_LEN - 3)/sizeof(Handle_Entry_t)]; +} aci_gatt_read_multiple_var_char_value_cp0; + +typedef __PACKED_STRUCT +{ + uint8_t Status; +} aci_gatt_read_multiple_var_char_value_rp0; + +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Conn_Interval_Min; @@ -2697,12 +2736,12 @@ typedef PACKED(struct) uint16_t Timeout_Multiplier; } aci_l2cap_connection_parameter_update_req_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_connection_parameter_update_req_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Conn_Interval_Min; @@ -2715,12 +2754,12 @@ typedef PACKED(struct) uint8_t Accept; } aci_l2cap_connection_parameter_update_resp_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_connection_parameter_update_resp_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t SPSM; @@ -2730,12 +2769,12 @@ typedef PACKED(struct) uint8_t Channel_Number; } aci_l2cap_coc_connect_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_coc_connect_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t MTU; @@ -2744,14 +2783,14 @@ typedef PACKED(struct) uint16_t Result; } aci_l2cap_coc_connect_confirm_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Channel_Number; uint8_t Channel_Index_List[(BLE_EVT_MAX_PARAM_LEN - 3) - 2]; } aci_l2cap_coc_connect_confirm_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t MTU; @@ -2760,70 +2799,70 @@ typedef PACKED(struct) uint8_t Channel_Index_List[BLE_CMD_MAX_PARAM_LEN - 7]; } aci_l2cap_coc_reconf_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_coc_reconf_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Result; } aci_l2cap_coc_reconf_confirm_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_coc_reconf_confirm_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Channel_Index; } aci_l2cap_coc_disconnect_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_coc_disconnect_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Channel_Index; uint16_t Credits; } aci_l2cap_coc_flow_control_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_coc_flow_control_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Channel_Index; uint16_t Length; uint8_t Data[BLE_CMD_MAX_PARAM_LEN - 3]; } aci_l2cap_coc_tx_data_cp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; } aci_l2cap_coc_tx_data_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; uint8_t Reason; } hci_disconnection_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; uint8_t Encryption_Enabled; } hci_encryption_change_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; @@ -2832,24 +2871,24 @@ typedef PACKED(struct) uint16_t Subversion; } hci_read_remote_version_information_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Hardware_Code; } hci_hardware_error_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Number_of_Handles; Handle_Packets_Pair_Entry_t Handle_Packets_Pair_Entry[(BLE_EVT_MAX_PARAM_LEN - 1)/sizeof(Handle_Packets_Pair_Entry_t)]; } hci_number_of_completed_packets_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; } hci_encryption_key_refresh_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; @@ -2862,13 +2901,13 @@ typedef PACKED(struct) uint8_t Master_Clock_Accuracy; } hci_le_connection_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Num_Reports; Advertising_Report_t Advertising_Report[((BLE_EVT_MAX_PARAM_LEN - 1) - 1)/sizeof(Advertising_Report_t)]; } hci_le_advertising_report_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; @@ -2877,21 +2916,21 @@ typedef PACKED(struct) uint16_t Supervision_Timeout; } hci_le_connection_update_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; uint8_t LE_Features[8]; } hci_le_read_remote_features_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Random_Number[8]; uint16_t Encrypted_Diversifier; } hci_le_long_term_key_request_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t MaxTxOctets; @@ -2900,19 +2939,19 @@ typedef PACKED(struct) uint16_t MaxRxTime; } hci_le_data_length_change_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Local_P256_Public_Key[64]; } hci_le_read_local_p256_public_key_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t DHKey[32]; } hci_le_generate_dhkey_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; @@ -2927,13 +2966,13 @@ typedef PACKED(struct) uint8_t Master_Clock_Accuracy; } hci_le_enhanced_connection_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Num_Reports; Direct_Advertising_Report_t Direct_Advertising_Report[((BLE_EVT_MAX_PARAM_LEN - 1) - 1)/sizeof(Direct_Advertising_Report_t)]; -} hci_le_direct_advertising_report_event_rp0; +} hci_le_directed_advertising_report_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint16_t Connection_Handle; @@ -2941,7 +2980,7 @@ typedef PACKED(struct) uint8_t RX_PHY; } hci_le_phy_update_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Num_Reports; uint16_t Event_Type; @@ -2959,7 +2998,7 @@ typedef PACKED(struct) uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 1) - 25]; } hci_le_extended_advertising_report_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Status; uint8_t Advertising_Handle; @@ -2967,58 +3006,60 @@ typedef PACKED(struct) uint8_t Num_Completed_Ext_Adv_Events; } hci_le_advertising_set_terminated_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Advertising_Handle; uint8_t Scanner_Address_Type; uint8_t Scanner_Address[6]; } hci_le_scan_request_received_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Channel_Selection_Algorithm; } hci_le_channel_selection_algorithm_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Last_State; uint8_t Next_State; uint32_t Next_State_SysTime; + uint8_t Last_State_Slot; + uint8_t Next_State_Slot; } aci_hal_end_of_radio_activity_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t RSSI; uint8_t Peer_Address_Type; uint8_t Peer_Address[6]; } aci_hal_scan_req_report_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t FW_Error_Type; uint8_t Data_Length; uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 2]; } aci_hal_fw_error_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Status; uint8_t Reason; } aci_gap_pairing_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gap_pass_key_req_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gap_authorization_req_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Procedure_Code; uint8_t Status; @@ -3026,37 +3067,37 @@ typedef PACKED(struct) uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 3]; } aci_gap_proc_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gap_addr_not_resolved_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint32_t Numeric_Value; } aci_gap_numeric_comparison_value_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Notification_Type; } aci_gap_keypress_notification_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Result; } aci_l2cap_connection_update_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Data_Length; uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 3]; } aci_l2cap_proc_timeout_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Identifier; @@ -3067,7 +3108,7 @@ typedef PACKED(struct) uint16_t Timeout_Multiplier; } aci_l2cap_connection_update_req_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Identifier; @@ -3076,7 +3117,7 @@ typedef PACKED(struct) uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 6]; } aci_l2cap_command_reject_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t SPSM; @@ -3086,7 +3127,7 @@ typedef PACKED(struct) uint8_t Channel_Number; } aci_l2cap_coc_connect_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t MTU; @@ -3097,7 +3138,7 @@ typedef PACKED(struct) uint8_t Channel_Index_List[(BLE_EVT_MAX_PARAM_LEN - 2) - 11]; } aci_l2cap_coc_connect_confirm_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t MTU; @@ -3106,31 +3147,31 @@ typedef PACKED(struct) uint8_t Channel_Index_List[(BLE_EVT_MAX_PARAM_LEN - 2) - 7]; } aci_l2cap_coc_reconf_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Result; } aci_l2cap_coc_reconf_confirm_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Channel_Index; } aci_l2cap_coc_disconnect_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Channel_Index; uint16_t Credits; } aci_l2cap_coc_flow_control_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint8_t Channel_Index; uint16_t Length; uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 3]; } aci_l2cap_coc_rx_data_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attr_Handle; @@ -3139,18 +3180,18 @@ typedef PACKED(struct) uint8_t Attr_Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 8]; } aci_gatt_attribute_modified_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gatt_proc_timeout_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Server_RX_MTU; } aci_att_exchange_mtu_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Format; @@ -3158,14 +3199,14 @@ typedef PACKED(struct) uint8_t Handle_UUID_Pair[(BLE_EVT_MAX_PARAM_LEN - 2) - 4]; } aci_att_find_info_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Num_of_Handle_Pair; Attribute_Group_Handle_Pair_t Attribute_Group_Handle_Pair[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(Attribute_Group_Handle_Pair_t)]; } aci_att_find_by_type_value_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Handle_Value_Pair_Length; @@ -3173,28 +3214,28 @@ typedef PACKED(struct) uint8_t Handle_Value_Pair_Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 4]; } aci_att_read_by_type_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Event_Data_Length; uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 3]; } aci_att_read_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Event_Data_Length; uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 3]; } aci_att_read_blob_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Event_Data_Length; uint8_t Set_Of_Values[(BLE_EVT_MAX_PARAM_LEN - 2) - 3]; } aci_att_read_multiple_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Attribute_Data_Length; @@ -3202,7 +3243,7 @@ typedef PACKED(struct) uint8_t Attribute_Data_List[(BLE_EVT_MAX_PARAM_LEN - 2) - 4]; } aci_att_read_by_group_type_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; @@ -3211,12 +3252,12 @@ typedef PACKED(struct) uint8_t Part_Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 7]; } aci_att_prepare_write_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_att_exec_write_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; @@ -3224,7 +3265,7 @@ typedef PACKED(struct) uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 5]; } aci_gatt_indication_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; @@ -3232,13 +3273,13 @@ typedef PACKED(struct) uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 5]; } aci_gatt_notification_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Error_Code; } aci_gatt_proc_complete_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Req_Opcode; @@ -3246,7 +3287,7 @@ typedef PACKED(struct) uint8_t Error_Code; } aci_gatt_error_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; @@ -3254,7 +3295,7 @@ typedef PACKED(struct) uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 5]; } aci_gatt_disc_read_char_by_uuid_resp_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; @@ -3262,32 +3303,32 @@ typedef PACKED(struct) uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 5]; } aci_gatt_write_permit_req_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; uint16_t Offset; } aci_gatt_read_permit_req_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint8_t Number_of_Handles; Handle_Item_t Handle_Item[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(Handle_Item_t)]; } aci_gatt_read_multi_permit_req_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Available_Buffers; } aci_gatt_tx_pool_available_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; } aci_gatt_server_confirmation_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; @@ -3296,7 +3337,22 @@ typedef PACKED(struct) uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 7]; } aci_gatt_prepare_write_permit_req_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT +{ + uint8_t Channel_Index; + uint8_t EAB_State; + uint8_t Status; +} aci_gatt_eatt_bearer_event_rp0; + +typedef __PACKED_STRUCT +{ + uint16_t Connection_Handle; + uint16_t Offset; + uint16_t Data_Length; + uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 6]; +} aci_gatt_mult_notification_event_rp0; + +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Offset; @@ -3304,7 +3360,7 @@ typedef PACKED(struct) uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 6]; } aci_gatt_read_ext_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; @@ -3313,7 +3369,7 @@ typedef PACKED(struct) uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 8]; } aci_gatt_indication_ext_event_rp0; -typedef PACKED(struct) +typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t Attribute_Handle; diff --git a/system/STM32WBxx/Include/armv7m.h b/system/STM32WBxx/Include/armv7m.h index 21994dc..a3b850a 100644 --- a/system/STM32WBxx/Include/armv7m.h +++ b/system/STM32WBxx/Include/armv7m.h @@ -40,6 +40,7 @@ #include "armv7m_atomic.h" #include "armv7m_core.h" #include "armv7m_pendsv.h" +#include "armv7m_rtos.h" #include "armv7m_rtt.h" #include "armv7m_svcall.h" #include "armv7m_systick.h" diff --git a/system/STM32WBxx/Include/armv7m_atomic.h b/system/STM32WBxx/Include/armv7m_atomic.h index d2a25d7..7a69ccb 100644 --- a/system/STM32WBxx/Include/armv7m_atomic.h +++ b/system/STM32WBxx/Include/armv7m_atomic.h @@ -747,57 +747,25 @@ static inline __attribute__((optimize("O3"),always_inline)) uint32_t __armv7m_at return data_return; } -extern uint32_t armv7m_atomic_add(volatile uint32_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_sub(volatile uint32_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_and(volatile uint32_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_or(volatile uint32_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_xor(volatile uint32_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_inc(volatile uint32_t *p_data, uint32_t data_limit); -extern uint32_t armv7m_atomic_dec(volatile uint32_t *p_data); -extern uint32_t armv7m_atomic_swap(volatile uint32_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_cas(volatile uint32_t *p_data, uint32_t data_expected, uint32_t data); - -extern uint32_t armv7m_atomic_addh(volatile uint16_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_subh(volatile uint16_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_andh(volatile uint16_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_orh(volatile uint16_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_inch(volatile uint16_t *p_data, uint32_t data_limit); -extern uint32_t armv7m_atomic_dech(volatile uint16_t *p_data); -extern uint32_t armv7m_atomic_swaph(volatile uint16_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_cash(volatile uint16_t *p_data, uint32_t data_expected, uint32_t data); - -extern uint32_t armv7m_atomic_addb(volatile uint8_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_subb(volatile uint8_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_andb(volatile uint8_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_orb(volatile uint8_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_decb(volatile uint8_t *p_data); -extern uint32_t armv7m_atomic_incb(volatile uint8_t *p_data); -extern uint32_t armv7m_atomic_swapb(volatile uint8_t *p_data, uint32_t data); -extern uint32_t armv7m_atomic_casb(volatile uint8_t *p_data, uint32_t data_expected, uint32_t data); - -/* *p_data = (*p_data & ~mask) ^ data */ -extern uint32_t armv7m_atomic_modify(volatile uint32_t *p_data, uint32_t mask, uint32_t data); - -/* The nested conditional updates below work, because ARMV7M has a single address range monitor. - * Hence if either *p_data or *p_zero get changed the CPU will fail the update to *p_data - * and force a retry. +/* CM0+ has restartable LDM/STM, CM4/CM7 have continuable LDM/STM ... However LDRD/STRD are atomic. + * + * Hence 2 sets of functions. One that is fully atomic (non-interruptible), and one that just guarantees restart semantics (i.e. multiple accesses) */ -/* *p_data = (*p_zero == 0) ? (*p_data & mask) : *p_data */ -extern uint32_t armv7m_atomic_andz(volatile uint32_t *p_data, uint32_t data, volatile uint32_t *p_zero); -extern uint32_t armv7m_atomic_andzb(volatile uint32_t *p_data, uint32_t data, volatile uint8_t *p_zero); -extern uint32_t armv7m_atomic_andhz(volatile uint16_t *p_data, uint32_t data, volatile uint32_t *p_zero); -extern uint32_t armv7m_atomic_andhzb(volatile uint16_t *p_data, uint32_t data, volatile uint8_t *p_zero); +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_load_2(volatile uint32_t *p_data, uint32_t *p_data_0, uint32_t *p_data_1) +{ + uint32_t data_0, data_1; -/* *p_data = (*p_zero == 0) ? (*p_data | mask) : *p_data */ -extern uint32_t armv7m_atomic_orz(volatile uint32_t *p_data, uint32_t data, volatile uint32_t *p_zero); -extern uint32_t armv7m_atomic_orzb(volatile uint32_t *p_data, uint32_t data, volatile uint8_t *p_zero); -extern uint32_t armv7m_atomic_orhz(volatile uint16_t *p_data, uint32_t data, volatile uint32_t *p_zero); -extern uint32_t armv7m_atomic_orhzb(volatile uint16_t *p_data, uint32_t data, volatile uint8_t *p_zero); + __asm__ volatile ("ldrd %0, %1, %2" + : "=&r" (data_0), "=&r" (data_1) + :"Qo" (*p_data) + : "memory"); + + *p_data_0 = data_0; + *p_data_1 = data_1; +} -/* CM0+ has restartable LDM/STM, CM4/CM7 have continuable LDM/STM ... However LDRD/STRD are restarted. - */ -static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_store_2_restart(volatile uint32_t *p_data, uint32_t data_0, uint32_t data_1) +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_store_2(volatile uint32_t *p_data, uint32_t data_0, uint32_t data_1) { __asm__ volatile ("strd %0, %1, %2" : @@ -805,30 +773,7 @@ static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_s : "memory"); } -static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_store_3_restart(volatile uint32_t *p_data, uint32_t data_0, uint32_t data_1, uint32_t data_2) -{ - do - { - p_data[0] = data_0; - p_data[1] = data_1; - p_data[2] = data_2; - } - while ((p_data[0] != data_0) || (p_data[1] != data_1) || (p_data[2] != data_2)); -} - -static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_store_4_restart(volatile uint32_t *p_data, uint32_t data_0, uint32_t data_1, uint32_t data_2, uint32_t data_3) -{ - do - { - p_data[0] = data_0; - p_data[1] = data_1; - p_data[2] = data_2; - p_data[3] = data_3; - } - while ((p_data[0] != data_0) || (p_data[1] != data_1) || (p_data[2] != data_2) || (p_data[3] != data_3)); -} - -static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_load_2_restart(volatile uint32_t *p_data, uint32_t *p_data_0, uint32_t *p_data_1) +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_load_2_restart(volatile uint32_t *p_data, uint32_t *p_data_0, uint32_t *p_data_1) { uint32_t data_0, data_1; @@ -841,7 +786,7 @@ static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_l *p_data_1 = data_1; } -static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_load_3_restart(volatile uint32_t *p_data, uint32_t *p_data_0, uint32_t *p_data_1, uint32_t *p_data_2) +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_load_3_restart(volatile uint32_t *p_data, uint32_t *p_data_0, uint32_t *p_data_1, uint32_t *p_data_2) { uint32_t data_0, data_1, data_2; @@ -858,7 +803,7 @@ static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_l *p_data_2 = data_2; } -static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_load_4_restart(volatile uint32_t *p_data, uint32_t *p_data_0, uint32_t *p_data_1, uint32_t *p_data_2, uint32_t *p_data_3) +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_load_4_restart(volatile uint32_t *p_data, uint32_t *p_data_0, uint32_t *p_data_1, uint32_t *p_data_2, uint32_t *p_data_3) { uint32_t data_0, data_1, data_2, data_3; @@ -877,6 +822,85 @@ static inline __attribute__((optimize("O3"),always_inline)) void armv7m_atomic_l *p_data_3 = data_3; } +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_store_2_restart(volatile uint32_t *p_data, uint32_t data_0, uint32_t data_1) +{ + __asm__ volatile ("strd %0, %1, %2" + : + : "r" (data_0), "r" (data_1), "Qo" (*p_data) + : "memory"); +} + +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_store_3_restart(volatile uint32_t *p_data, uint32_t data_0, uint32_t data_1, uint32_t data_2) +{ + do + { + p_data[0] = data_0; + p_data[1] = data_1; + p_data[2] = data_2; + } + while ((p_data[0] != data_0) || (p_data[1] != data_1) || (p_data[2] != data_2)); +} + +static inline __attribute__((optimize("O3"),always_inline)) void __armv7m_atomic_store_4_restart(volatile uint32_t *p_data, uint32_t data_0, uint32_t data_1, uint32_t data_2, uint32_t data_3) +{ + do + { + p_data[0] = data_0; + p_data[1] = data_1; + p_data[2] = data_2; + p_data[3] = data_3; + } + while ((p_data[0] != data_0) || (p_data[1] != data_1) || (p_data[2] != data_2) || (p_data[3] != data_3)); +} + +extern uint32_t armv7m_atomic_add(volatile uint32_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_sub(volatile uint32_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_and(volatile uint32_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_or(volatile uint32_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_xor(volatile uint32_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_inc(volatile uint32_t *p_data, uint32_t data_limit); +extern uint32_t armv7m_atomic_dec(volatile uint32_t *p_data); +extern uint32_t armv7m_atomic_swap(volatile uint32_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_cas(volatile uint32_t *p_data, uint32_t data_expected, uint32_t data); + +extern uint32_t armv7m_atomic_addh(volatile uint16_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_subh(volatile uint16_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_andh(volatile uint16_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_orh(volatile uint16_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_inch(volatile uint16_t *p_data, uint32_t data_limit); +extern uint32_t armv7m_atomic_dech(volatile uint16_t *p_data); +extern uint32_t armv7m_atomic_swaph(volatile uint16_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_cash(volatile uint16_t *p_data, uint32_t data_expected, uint32_t data); + +extern uint32_t armv7m_atomic_addb(volatile uint8_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_subb(volatile uint8_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_andb(volatile uint8_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_orb(volatile uint8_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_decb(volatile uint8_t *p_data); +extern uint32_t armv7m_atomic_incb(volatile uint8_t *p_data); +extern uint32_t armv7m_atomic_swapb(volatile uint8_t *p_data, uint32_t data); +extern uint32_t armv7m_atomic_casb(volatile uint8_t *p_data, uint32_t data_expected, uint32_t data); + +/* *p_data = (*p_data & ~mask) ^ data */ +extern uint32_t armv7m_atomic_modify(volatile uint32_t *p_data, uint32_t mask, uint32_t data); + +/* The nested conditional updates below work, because ARMV7M has a single address range monitor. + * Hence if either *p_data or *p_zero get changed the CPU will fail the update to *p_data + * and force a retry. + */ + +/* *p_data = (*p_zero == 0) ? (*p_data & mask) : *p_data */ +extern uint32_t armv7m_atomic_andz(volatile uint32_t *p_data, uint32_t data, volatile uint32_t *p_zero); +extern uint32_t armv7m_atomic_andzb(volatile uint32_t *p_data, uint32_t data, volatile uint8_t *p_zero); +extern uint32_t armv7m_atomic_andhz(volatile uint16_t *p_data, uint32_t data, volatile uint32_t *p_zero); +extern uint32_t armv7m_atomic_andhzb(volatile uint16_t *p_data, uint32_t data, volatile uint8_t *p_zero); + +/* *p_data = (*p_zero == 0) ? (*p_data | mask) : *p_data */ +extern uint32_t armv7m_atomic_orz(volatile uint32_t *p_data, uint32_t data, volatile uint32_t *p_zero); +extern uint32_t armv7m_atomic_orzb(volatile uint32_t *p_data, uint32_t data, volatile uint8_t *p_zero); +extern uint32_t armv7m_atomic_orhz(volatile uint16_t *p_data, uint32_t data, volatile uint32_t *p_zero); +extern uint32_t armv7m_atomic_orhzb(volatile uint16_t *p_data, uint32_t data, volatile uint8_t *p_zero); + #ifdef __cplusplus } #endif diff --git a/system/STM32WBxx/Include/armv7m_pendsv.h b/system/STM32WBxx/Include/armv7m_pendsv.h index 63bc6ac..398f0c5 100644 --- a/system/STM32WBxx/Include/armv7m_pendsv.h +++ b/system/STM32WBxx/Include/armv7m_pendsv.h @@ -77,41 +77,35 @@ extern void SWI31_SWIHandler(void); #define ARMV7M_PENDSV_SWI_RADIO (1ul << 0) #define ARMV7M_PENDSV_SWI_EXTI (1ul << 1) -#define ARMV7M_PENDSV_SWI_SYSTICK (1ul << 2) -#define ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT (1ul << 3) -#define ARMV7M_PENDSV_SWI_SERVO (1ul << 4) -#define ARMV7M_PENDSV_SWI_RTC_SYNC (1ul << 5) -#define ARMV7M_PENDSV_SWI_RTC_ALARM (1ul << 6) -#define ARMV7M_PENDSV_SWI_USBD_PVM1 (1ul << 7) -#define ARMV7M_PENDSV_SWI_USBD_DCD (1ul << 8) -#define ARMV7M_PENDSV_SWI_RNG (1ul << 9) -#define ARMV7M_PENDSV_SWI_EEPROM (1ul << 10) -#define ARMV7M_PENDSV_SWI_FLASH (1ul << 11) -#define ARMV7M_PENDSV_SWI_RTOS_ALARM (1ul << 12) -#define ARMV7M_PENDSV_SWI_RTOS_WORK (1ul << 13) -#define ARMV7M_PENDSV_SWI_RTOS_TASK_RESUME (1ul << 14) -#define ARMV7M_PENDSV_SWI_RTOS_TASK_WAKEUP (1ul << 15) -#define ARMV7M_PENDSV_SWI_RTOS_EVENT_SEND (1ul << 16) -#define ARMV7M_PENDSV_SWI_RTOS_SEM_RELEASE (1ul << 17) +#define ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT (1ul << 2) +#define ARMV7M_PENDSV_SWI_SERVO (1ul << 3) +#define ARMV7M_PENDSV_SWI_RTC_SYNC (1ul << 4) +#define ARMV7M_PENDSV_SWI_RTC_ALARM (1ul << 5) +#define ARMV7M_PENDSV_SWI_USBD_PVM1 (1ul << 6) +#define ARMV7M_PENDSV_SWI_USBD_DCD (1ul << 7) +#define ARMV7M_PENDSV_SWI_RNG (1ul << 8) +#define ARMV7M_PENDSV_SWI_EEPROM (1ul << 9) +#define ARMV7M_PENDSV_SWI_FLASH (1ul << 10) +#define ARMV7M_PENDSV_SWI_RTOS_ALARM (1ul << 11) +#define ARMV7M_PENDSV_SWI_RTOS_WORK (1ul << 12) +#define ARMV7M_PENDSV_SWI_RTOS_TASK_RESUME (1ul << 13) +#define ARMV7M_PENDSV_SWI_RTOS_TASK_RELEASE (1ul << 14) #define RADIO_SWIHandler SWI0_SWIHandler #define EXTI_SWIHandler SWI1_SWIHandler -#define SYSTICK_SWIHandler SWI2_SWIHandler -#define LPTIM_TIMEOUT_SWIHandler SWI3_SWIHandler -#define SERVO_SWIHandler SWI4_SWIHandler -#define RTC_SYNC_SWIHandler SWI5_SWIHandler -#define RTC_ALARM_SWIHandler SWI6_SWIHandler -#define USBD_PVM1_SWIHandler SWI7_SWIHandler -#define USBD_DCD_SWIHandler SWI8_SWIHandler -#define RNG_SWIHandler SWI9_SWIHandler -#define EEPROM_SWIHandler SWI10_SWIHandler -#define FLASH_SWIHandler SWI11_SWIHandler -#define RTOS_ALARM_SWIHandler SWI12_SWIHandler -#define RTOS_WORK_SWIHandler SWI13_SWIHandler -#define RTOS_TASK_RESUME_SWIHandler SWI14_SWIHandler -#define RTOS_TASK_WAKEUP_SWIHandler SWI15_SWIHandler -#define RTOS_EVENT_SEND_SWIHandler SWI16_SWIHandler -#define RTOS_SEM_RELEASE_SWIHandler SWI17_SWIHandler +#define LPTIM_TIMEOUT_SWIHandler SWI2_SWIHandler +#define SERVO_SWIHandler SWI3_SWIHandler +#define RTC_SYNC_SWIHandler SWI4_SWIHandler +#define RTC_ALARM_SWIHandler SWI5_SWIHandler +#define USBD_PVM1_SWIHandler SWI6_SWIHandler +#define USBD_DCD_SWIHandler SWI7_SWIHandler +#define RNG_SWIHandler SWI8_SWIHandler +#define EEPROM_SWIHandler SWI9_SWIHandler +#define FLASH_SWIHandler SWI10_SWIHandler +#define RTOS_ALARM_SWIHandler SWI11_SWIHandler +#define RTOS_WORK_SWIHandler SWI12_SWIHandler +#define RTOS_TASK_RESUME_SWIHandler SWI13_SWIHandler +#define RTOS_TASK_RELEASE_SWIHandler SWI14_SWIHandler #ifdef __cplusplus } diff --git a/system/STM32WBxx/Include/rtos_api.h b/system/STM32WBxx/Include/armv7m_rtos.h similarity index 81% rename from system/STM32WBxx/Include/rtos_api.h rename to system/STM32WBxx/Include/armv7m_rtos.h index f0e97a5..e3fe666 100644 --- a/system/STM32WBxx/Include/rtos_api.h +++ b/system/STM32WBxx/Include/armv7m_rtos.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. + * Copyright (c) 2019-2023 Thomas Roell. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -26,15 +26,78 @@ * WITH THE SOFTWARE. */ -#if !defined(_RTOS_API_H) -#define _RTOS_API_H +#if !defined(_ARMV7M_RTOS_H) +#define _ARMV7M_RTOS_H #ifdef __cplusplus extern "C" { #endif + +#define ARMV7M_RTOS_MPU_SUPPORTED 1 +#define ARMV7M_RTOS_HOOK_SUPPORTED 0 +#define ARMV7M_RTOS_DEBUG_SUPPORTED 1 + +typedef struct _armv7m_context_t { + uint32_t r4; + uint32_t r5; + uint32_t r6; + uint32_t r7; + uint32_t r8; + uint32_t r9; + uint32_t r10; + uint32_t r11; + uint32_t r0; + uint32_t r1; + uint32_t r2; + uint32_t r3; + uint32_t r12; + uint32_t lr; + uint32_t pc; + uint32_t xpsr; +} armv7m_context_t; + +#if (__FPU_PRESENT == 1) + +typedef struct _armv7m_context_fpu_t { + uint64_t d8; + uint64_t d9; + uint64_t d10; + uint64_t d11; + uint64_t d12; + uint64_t d13; + uint64_t d14; + uint64_t d15; + uint32_t r4; + uint32_t r5; + uint32_t r6; + uint32_t r7; + uint32_t r8; + uint32_t r9; + uint32_t r10; + uint32_t r11; + uint32_t r0; + uint32_t r1; + uint32_t r2; + uint32_t r3; + uint32_t r12; + uint32_t lr; + uint32_t pc; + uint32_t xpsr; + uint64_t d0; + uint64_t d1; + uint64_t d2; + uint64_t d3; + uint64_t d4; + uint64_t d5; + uint64_t d6; + uint64_t d7; + uint32_t fpscr; + uint32_t reserved; +} armv7m_context_fpu_t; + +#endif /* __FPU_PRESENT == 1 */ typedef struct _k_task_t k_task_t; -typedef struct _k_event_t k_event_t; typedef struct _k_sem_t k_sem_t; typedef struct _k_mutex_t k_mutex_t; typedef struct _k_work_t k_work_t; @@ -62,7 +125,7 @@ struct _k_task_t { k_task_t *join; k_mutex_t *mutex; k_task_t * volatile resume; - k_task_t * volatile wakeup; + k_task_t * volatile release; struct { k_task_t *next; @@ -76,9 +139,8 @@ struct _k_task_t { k_task_t *task; } join; struct { - k_event_t *event; - uint32_t mask; - uint32_t *p_mask_return; + uint32_t events; + uint32_t *p_events_return; } event; struct { k_sem_t *sem; @@ -88,18 +150,15 @@ struct _k_task_t { } mutex; } wait; }; - -struct _k_event_t { - volatile uint32_t mask; - k_event_t * volatile send; - k_task_t *waiting; -}; - + struct _k_sem_t { volatile uint16_t count; uint16_t limit; - k_sem_t * volatile release; - k_task_t *waiting; + struct { + k_task_t *head; + k_task_t *tail; + k_task_t * volatile release; + } waiting; }; struct _k_mutex_t { @@ -131,8 +190,7 @@ struct _k_alarm_t { k_alarm_t * volatile modify; volatile uint32_t clock_l; volatile uint32_t clock_h; - volatile uint32_t ticks; - volatile uint32_t delta; + volatile uint32_t period; }; #define K_NO_ERROR 0 @@ -186,11 +244,9 @@ struct _k_alarm_t { #define K_WAIT_NONE 0 #define K_WAIT_JOIN 1 -#define K_WAIT_DELAY 2 -#define K_WAIT_SLEEP 3 -#define K_WAIT_EVENT 4 -#define K_WAIT_SEM 5 -#define K_WAIT_MUTEX 6 +#define K_WAIT_EVENT 2 +#define K_WAIT_SEM 3 +#define K_WAIT_MUTEX 4 #define K_EVENT_ANY 0x00000000 #define K_EVENT_ALL 0x00000001 @@ -203,21 +259,19 @@ struct _k_alarm_t { #define K_MUTEX_PRIORITY_INHERIT 0x00000002 #define K_MUTEX_PRIORITY_PROTECT 0x00000004 -#define K_SYSTEM_TICKS_PER_SECOND 32768 - typedef struct _k_task_info_t { const char *name; uint8_t priority; uint8_t bpriority; uint8_t state; uint8_t wait; + uint32_t events; } k_task_info_t; typedef void (*k_task_create_hook_t)(k_task_t *task, const char *name, uint32_t priority, void *stack_base, uint32_t stack_size); typedef void (*k_task_destroy_hook_t)(k_task_t *task); typedef void (*k_task_exit_hook_t)(void); typedef void (*k_task_terminate_hook_t)(k_task_t *task); -typedef void (*k_task_stack_hook_t)(k_task_t *task, void *stack_base, uint32_t stack_size); typedef void (*k_task_block_hook_t)(k_task_t *task, uint32_t cause); typedef void (*k_task_ready_hook_t)(k_task_t *task); typedef void (*k_task_run_hook_t)(k_task_t *task); @@ -263,31 +317,17 @@ extern int k_task_set_priority(k_task_t *task, uint32_t priority, uint32_t *p_pr extern int k_task_get_priority(k_task_t *task, uint32_t *p_priority_return); extern int k_task_delay(uint32_t ticks); extern int k_task_delay_until(uint64_t clock); -extern int k_task_sleep(uint32_t timeout); -extern int k_task_wakeup(k_task_t *task); extern int k_task_yield(void); -#define K_EVENT_INIT() \ -(k_event_t) \ -{ \ - .mask = 0, \ - .send = NULL, \ - .waiting = NULL \ -} - -extern int k_event_init(k_event_t *event); -extern int k_event_deinit(k_event_t *event); -extern int k_event_send(k_event_t *event, uint32_t mask); -extern int k_event_receive(k_event_t *event, uint32_t mask, uint32_t mode, uint32_t timeout, uint32_t *p_mask_return); -extern uint32_t k_event_mask(k_event_t *event); +extern int k_event_send(k_task_t *task, uint32_t events); +extern int k_event_receive(uint32_t events, uint32_t mode, uint32_t timeout, uint32_t *p_events_return); #define K_SEM_INIT(_count, _limit) \ (k_sem_t) \ { \ .count = (uint16_t)(_count), \ .limit = (uint16_t)(_limit), \ - .release = NULL, \ - .waiting = NULL \ + .waiting = { NULL, NULL, NULL } \ } extern int k_sem_init(k_sem_t *sem, uint32_t count, uint32_t limit); @@ -339,8 +379,7 @@ extern bool k_work_is_in_progress(void); .modify = NULL, \ .clock_l = 0, \ .clock_h = 0, \ - .ticks = 0, \ - .delta = 0 \ + .period = 0 \ } extern int k_alarm_init(k_alarm_t *alarm, k_alarm_routine_t routine, void *context); @@ -354,4 +393,4 @@ extern bool k_alarm_is_active(k_alarm_t *alarm); } #endif -#endif /* _RTOS_API_H */ +#endif /* _ARMV7M_RTOS_H */ diff --git a/system/STM32WBxx/Include/armv7m_systick.h b/system/STM32WBxx/Include/armv7m_systick.h index 5b85fa0..caff174 100644 --- a/system/STM32WBxx/Include/armv7m_systick.h +++ b/system/STM32WBxx/Include/armv7m_systick.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2021 Thomas Roell. All rights reserved. + * Copyright (c) 2017-2022 Thomas Roell. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -34,9 +34,8 @@ extern "C" { #endif extern void __armv7m_systick_initialize(void); -extern void __armv7m_systick_calibrate(void); -extern void armv7m_systick_configure(uint32_t clock); +extern void armv7m_systick_configure(void); extern void armv7m_systick_enable(void); extern void armv7m_systick_disable(void); extern uint64_t armv7m_systick_clock(void); diff --git a/system/STM32WBxx/Include/rtos_core.h b/system/STM32WBxx/Include/rtos_core.h deleted file mode 100644 index 781bb47..0000000 --- a/system/STM32WBxx/Include/rtos_core.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#if !defined(RTOS_CORE_H) -#define _RTOS_CORE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define ARMV7M_RTOS_MPU_SUPPORTED 1 -#define ARMV7M_RTOS_HOOK_SUPPORTED 0 -#define ARMV7M_RTOS_DEBUG_SUPPORTED 1 - -typedef struct _armv7m_context_t { - uint32_t r4; - uint32_t r5; - uint32_t r6; - uint32_t r7; - uint32_t r8; - uint32_t r9; - uint32_t r10; - uint32_t r11; - uint32_t r0; - uint32_t r1; - uint32_t r2; - uint32_t r3; - uint32_t r12; - uint32_t lr; - uint32_t pc; - uint32_t xpsr; -} armv7m_context_t; - -#if (__FPU_PRESENT == 1) - -typedef struct _armv7m_context_fpu_t { - uint64_t d8; - uint64_t d9; - uint64_t d10; - uint64_t d11; - uint64_t d12; - uint64_t d13; - uint64_t d14; - uint64_t d15; - uint32_t r4; - uint32_t r5; - uint32_t r6; - uint32_t r7; - uint32_t r8; - uint32_t r9; - uint32_t r10; - uint32_t r11; - uint32_t r0; - uint32_t r1; - uint32_t r2; - uint32_t r3; - uint32_t r12; - uint32_t lr; - uint32_t pc; - uint32_t xpsr; - uint64_t d0; - uint64_t d1; - uint64_t d2; - uint64_t d3; - uint64_t d4; - uint64_t d5; - uint64_t d6; - uint64_t d7; - uint32_t fpscr; - uint32_t reserved; -} armv7m_context_fpu_t; - -#endif /* __FPU_PRESENT == 1 */ - -typedef struct armv7m_rtos_control_t { - k_task_t *task_self; - k_task_t *task_next; - k_task_t *task_ready; - k_task_t *task_default; - k_task_t *task_link; - k_task_t * volatile task_resume; - k_task_t * volatile task_wakeup; - k_task_t *task_timeout; - uint64_t task_clock; - stm32wb_lptim_timeout_t task_timer; - k_event_t * volatile event_send; - k_sem_t * volatile sem_release; - k_work_t * work_self; - k_work_t * work_head; - k_work_t * work_tail; - k_work_t * volatile work_submit; - k_alarm_t *alarm_queue; - k_alarm_t * volatile alarm_modify; - uint64_t alarm_clock; - stm32wb_lptim_timeout_t alarm_timer; - volatile uint8_t system_state; - volatile uint8_t system_policy; - void *heap_current; -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - const k_hook_table_t *hook_table; -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ -} armv7m_rtos_control_t; - -extern armv7m_rtos_control_t armv7m_rtos_control; - -#define K_TASK_STATE_WAIT_MASK 0x000f -#define K_TASK_STATE_WAIT_NONE 0x0000 -#define K_TASK_STATE_WAIT_JOIN 0x0001 -#define K_TASK_STATE_WAIT_DELAY 0x0002 -#define K_TASK_STATE_WAIT_SLEEP 0x0003 -#define K_TASK_STATE_WAIT_EVENT 0x0004 -#define K_TASK_STATE_WAIT_SEM 0x0005 -#define K_TASK_STATE_WAIT_MUTEX 0x0006 -#define K_TASK_STATE_TIMEOUT 0x0010 -#define K_TASK_STATE_SUSPENDED 0x0020 -#define K_TASK_STATE_TERMINATED 0x0040 -#define K_TASK_STATE_READY 0x0080 -#define K_TASK_STATE_JOINABLE 0x0100 -#define K_TASK_STATE_WAKEUP 0x0200 -#define K_TASK_STATE_EVENT_ALL 0x0400 -#define K_TASK_STATE_EVENT_CLEAR 0x0800 -#define K_TASK_STATE_AFFINITY_MASK 0xf000 -#define K_TASK_STATE_AFFINITY_SHIFT 12 - -#define K_TASK_STATE_CAUSE_MASK 0x007f - -/* Magic TASK values. Idea is that NULL means really "no task", i.e. the - * "idle routine". However there is some special value required to separate - * a switch from a terminated task to another task (including the idle routine. - * Hence if K_TASK_NONE / K_TASK_TERMINATED get switched out, then no context - * needs to be saved. Hence a transition from K_TASK_NONE to K_TASK_NONE is - * like any other "no context switch required" case. Tricky part is that - * armv7m_rtos_task_schedule() cannot switch from K_TASK_NONE to another - * task. That case is handled in armv7m_rtos_idle_routine. This way the - * idle routine can clean up the stack after itself. - */ - -#define K_TASK_NONE ((k_task_t*)0x00000000) -#define K_TASK_TERMINATED ((k_task_t*)0x00000001) -#define K_TASK_WORK ((k_task_t*)0xf0000000) - -#define K_TASK_SENTINEL ((k_task_t*)0x00000001) -#define K_EVENT_SENTINEL ((k_event_t*)0x00000001) -#define K_SEM_SENTINEL ((k_sem_t*)0x00000001) -#define K_WORK_SENTINEL ((k_work_t*)0x00000001) -#define K_ALARM_SENTINEL ((k_alarm_t*)0x00000001) - -extern void armv7m_rtos_pendsv_epilogue(void); - -extern void armv7m_rtos_task_queue_insert(k_task_t **p_task_head, k_task_t *task); -extern void armv7m_rtos_task_queue_remove(k_task_t **p_task_head, k_task_t *task); -extern void armv7m_rtos_task_ready_insert(k_task_t *task); -extern void armv7m_rtos_task_ready_remove(k_task_t *task); - -extern void armv7m_rtos_task_start(k_task_t *task, k_task_routine_t routine, void *context); -extern void armv7m_rtos_task_exit(void) __attribute__((noreturn)); -extern void armv7m_rtos_task_create(k_task_t *task, const char *name, uint32_t priority, void *stack_base, uint32_t stack_size, uint32_t options); -extern void armv7m_rtos_task_destroy(k_task_t *task); -extern void armv7m_rtos_task_schedule(void); -extern void armv7m_rtos_task_priority(k_task_t *task); -extern void armv7m_rtos_task_release(k_task_t *task); -extern void armv7m_rtos_task_unblock(k_task_t *task, uint32_t status); - -extern void armv7m_rtos_task_timeout_remove(k_task_t *task); -extern void armv7m_rtos_task_timeout_absolute(k_task_t *task, uint64_t clock); -extern void armv7m_rtos_task_timeout_relative(k_task_t *task, uint32_t delay); -extern void armv7m_rtos_task_timeout_schedule(void); - -extern void armv7m_rtos_join_release(k_task_t *task); - -extern void armv7m_rtos_join_unblock(k_task_t *task); -extern void armv7m_rtos_delay_unblock(k_task_t *task); -extern void armv7m_rtos_sleep_unblock(k_task_t *task); -extern void armv7m_rtos_event_unblock(k_task_t *task); -extern void armv7m_rtos_sem_unblock(k_task_t *task); -extern void armv7m_rtos_mutex_unblock(k_task_t *task); - -extern k_task_t * armv7m_rtos_mutex_priority(k_task_t *task); -extern void armv7m_rtos_mutex_destroy(k_task_t *task); - -extern int armv7m_rtos_work_deinit(k_work_t *work); -extern int armv7m_rtos_work_submit(k_work_t *work); -extern void armv7m_rtos_work_return(void); -extern void armv7m_rtos_work_schedule(void); - -#ifdef __cplusplus -} -#endif - -#endif /* _RTOS_CORE_H */ diff --git a/system/STM32WBxx/Include/stm32wb_ipcc.h b/system/STM32WBxx/Include/stm32wb_ipcc.h index 4c8a857..f294b19 100644 --- a/system/STM32WBxx/Include/stm32wb_ipcc.h +++ b/system/STM32WBxx/Include/stm32wb_ipcc.h @@ -42,6 +42,7 @@ extern "C" { #define STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE 0xfc52 #define STM32WB_IPCC_SYS_OPCODE_FUS_FW_UPGRADE 0xfc54 #define STM32WB_IPCC_SYS_OPCODE_FUS_FW_DELETE 0xfc55 +#define STM32WB_IPCC_SYS_OPCODE_FUS_START_WS 0xfc5a #define STM32WB_IPCC_SYS_OPCODE_BLE_INIT 0xfc66 #define STM32WB_IPCC_SYS_OPCODE_FLASH_ERASE_ACTIVITY 0xfc69 #define STM32WB_IPCC_SYS_OPCODE_SET_FLASH_ACTIVITY_CONTROL 0xfc73 @@ -49,11 +50,13 @@ extern "C" { #define STM32WB_IPCC_SYS_FUS_STATUS_SUCCESS 0 #define STM32WB_IPCC_SYS_FUS_STATUS_FAILURE 1 -#define STM32WB_IPCC_SYS_FUS_STATE_MASK 0xf0 #define STM32WB_IPCC_SYS_FUS_STATE_IDLE 0x00 -#define STM32WB_IPCC_SYS_FUS_STATE_FW_UPGRD_ONGOING 0x10 -#define STM32WB_IPCC_SYS_FUS_STATE_FUS_UPGRD_ONGOING 0x20 -#define STM32WB_IPCC_SYS_FUS_STATE_SERVICE_ONGOING 0x30 +#define STM32WB_IPCC_SYS_FUS_STATE_FW_UPGRD_ONGOING_START 0x10 +#define STM32WB_IPCC_SYS_FUS_STATE_FW_UPGRD_ONGOING_END 0x1f +#define STM32WB_IPCC_SYS_FUS_STATE_FUS_UPGRD_ONGOING_START 0x20 +#define STM32WB_IPCC_SYS_FUS_STATE_FUS_UPGRD_ONGOING_END 0x2f +#define STM32WB_IPCC_SYS_FUS_STATE_SERVICE_ONGOING_START 0x30 +#define STM32WB_IPCC_SYS_FUS_STATE_SERVICE_ONGOING_END 0x3f #define STM32WB_IPCC_SYS_FUS_STATE_ERROR 0xff #define STM32WB_IPCC_SYS_FUS_ERROR_CODE_NO_ERROR 0x00 @@ -176,6 +179,9 @@ typedef struct __attribute__((packed)) _stm32wb_ipcc_ble_init_params_t { uint16_t MaxAdvDataLen; int16_t TxPathCompensation; int16_t RxPathCompensation; +#if 0 + uint8_t BleCoreVersion; +#endif } stm32wb_ipcc_ble_init_params_t; typedef void (*stm32wb_ipcc_ble_event_callback_t)(void *context); diff --git a/system/STM32WBxx/Include/stm32wb_lptim.h b/system/STM32WBxx/Include/stm32wb_lptim.h index 22856ca..e9c60c5 100644 --- a/system/STM32WBxx/Include/stm32wb_lptim.h +++ b/system/STM32WBxx/Include/stm32wb_lptim.h @@ -72,20 +72,14 @@ typedef struct _stm32wb_lptim_timeout_t { struct _stm32wb_lptim_timeout_t *next; struct _stm32wb_lptim_timeout_t *previous; struct _stm32wb_lptim_timeout_t * volatile modify; - volatile uint32_t clock_l; - volatile uint32_t clock_h; + volatile uint32_t clock; volatile stm32wb_lptim_timeout_callback_t callback; void * volatile context; } stm32wb_lptim_timeout_t; -extern void __stm32wb_lptim_timeout_initialize(void); -extern void __stm32wb_lptim_timeout_stop_leave(void); - -extern uint64_t stm32wb_lptim_timeout_clock(void); -extern void stm32wb_lptim_timeout_absolute(stm32wb_lptim_timeout_t *timeout, uint64_t clock, stm32wb_lptim_timeout_callback_t callback, void *context); -extern void stm32wb_lptim_timeout_relative(stm32wb_lptim_timeout_t *timeout, uint32_t ticks, stm32wb_lptim_timeout_callback_t callback, void *context); -extern void stm32wb_lptim_timeout_cancel(stm32wb_lptim_timeout_t *timeout); -extern bool stm32wb_lptim_timeout_is_active(stm32wb_lptim_timeout_t *timeout); +extern bool stm32wb_lptim_timeout_start(stm32wb_lptim_timeout_t *timeout, uint32_t ticks, stm32wb_lptim_timeout_callback_t callback, void *context); +extern void stm32wb_lptim_timeout_stop(stm32wb_lptim_timeout_t *timeout); +extern bool stm32wb_lptim_timeout_is_pending(stm32wb_lptim_timeout_t *timeout); #define STM32WB_LPTIM_TIMEOUT_INIT() \ (stm32wb_lptim_timeout_t) \ @@ -93,8 +87,7 @@ extern bool stm32wb_lptim_timeout_is_active(stm32wb_lptim_timeout_t *timeout); .next = NULL, \ .previous = NULL, \ .modify = NULL, \ - .clock_l = 0, \ - .clock_h = 0, \ + .clock = 0, \ .callback = NULL, \ .context = NULL, \ } diff --git a/system/STM32WBxx/Include/stm32wb_rtc.h b/system/STM32WBxx/Include/stm32wb_rtc.h index 7b22fe5..de33426 100644 --- a/system/STM32WBxx/Include/stm32wb_rtc.h +++ b/system/STM32WBxx/Include/stm32wb_rtc.h @@ -63,9 +63,19 @@ struct _stm32wb_rtc_tod_t { typedef void (*stm32wb_rtc_event_callback_t)(void *context, uint32_t events); -typedef void (*stm32wb_rtc_alarm_callback_t)(void *context); +typedef void (*stm32wb_rtc_alarm_callback_t)(void *context, uint64_t clock); typedef void (*stm32wb_rtc_tamp_callback_t)(void *context); + +typedef struct _stm32wb_rtc_alarm_t { + struct _stm32wb_rtc_alarm_t *next; + struct _stm32wb_rtc_alarm_t *previous; + struct _stm32wb_rtc_alarm_t * volatile modify; + volatile uint32_t clock_l; + volatile uint32_t clock_h; + volatile stm32wb_rtc_alarm_callback_t callback; + void * volatile context; +} stm32wb_rtc_alarm_t; #define STM32WB_RTC_IRQ_PRIORITY ARMV7M_IRQ_PRIORITY_RTC @@ -88,10 +98,10 @@ typedef void (*stm32wb_rtc_tamp_callback_t)(void *context); #define STM32WB_RTC_TAMP_CONTROL_EDGE_FALLING 0x00000004 #define STM32WB_RTC_TAMP_CONTROL_EDGE_RISING 0x00000008 -#define STM32WB_RTC_PREDIV_S 1024 -#define STM32WB_RTC_PREDIV_A 32 +#define STM32WB_RTC_PREDIV_S 2048 +#define STM32WB_RTC_PREDIV_A 16 -#define STM32WB_RTC_ALRMSSR_MASKSS (RTC_ALRMBSSR_MASKSS_3 | RTC_ALRMBSSR_MASKSS_1) +#define STM32WB_RTC_ALRMSSR_MASKSS (RTC_ALRMBSSR_MASKSS_3 | RTC_ALRMBSSR_MASKSS_1 | RTC_ALRMBSSR_MASKSS_0) #define STM32WB_RTC_CLOCK_TICKS_PER_SECOND STM32WB_RTC_PREDIV_S @@ -101,7 +111,7 @@ typedef void (*stm32wb_rtc_tamp_callback_t)(void *context); #define STM32WB_RTC_BKP16R_NOT_DATA_SHIFT 16 #define STM32WB_RTC_BKP16R_REVISION_MASK 0x000000ff #define STM32WB_RTC_BKP16R_REVISION_SHIFT 0 -#define STM32WB_RTC_BKP16R_REVISION_CURRENT 0x00000002 +#define STM32WB_RTC_BKP16R_REVISION_CURRENT 0x00000003 #define STM32WB_RTC_BKP16R_FATAL_MASK 0x00000100 #define STM32WB_RTC_BKP16R_FATAL_SHIFT 8 #define STM32WB_RTC_BKP16R_FATAL STM32WB_RTC_BKP16R_FATAL_MASK @@ -119,17 +129,22 @@ typedef void (*stm32wb_rtc_tamp_callback_t)(void *context); #define STM32WB_RTC_BKP18R_SECONDS_OFFSET_MASK 0xffffffff #define STM32WB_RTC_BKP18R_SECONDS_OFFSET_SHIFT 0 -#define STM32WB_RTC_BKP19R_TICKS_OFFSET_MASK 0x000003ff +#define STM32WB_RTC_BKP19R_TICKS_OFFSET_MASK 0x000007ff #define STM32WB_RTC_BKP19R_TICKS_OFFSET_SHIFT 0 -#define STM32WB_RTC_BKP19R_ZONE_MASK 0x0003fc00 -#define STM32WB_RTC_BKP19R_ZONE_SHIFT 10 -#define STM32WB_RTC_BKP19R_ZONE_SIZE 8 +#define STM32WB_RTC_BKP19R_ZONE_MASK 0x0003f800 +#define STM32WB_RTC_BKP19R_ZONE_SHIFT 11 +#define STM32WB_RTC_BKP19R_ZONE_SIZE 7 +#define STM32WB_RTC_BKP19R_ZONE_BIAS (12 * 3600) +#define STM32WB_RTC_BKP19R_ZONE_SCALE 900 #define STM32WB_RTC_BKP19R_DST_MASK 0x000c0000 #define STM32WB_RTC_BKP19R_DST_SHIFT 18 #define STM32WB_RTC_BKP19R_DST_SIZE 2 +#define STM32WB_RTC_BKP19R_DST_BIAS 0 +#define STM32WB_RTC_BKP19R_DST_SCALE 3600 #define STM32WB_RTC_BKP19R_LEAP_SECONDS_MASK 0x0ff00000 #define STM32WB_RTC_BKP19R_LEAP_SECONDS_SHIFT 20 #define STM32WB_RTC_BKP19R_LEAP_SECONDS_SIZE 8 +#define STM32WB_RTC_BKP19R_LEAP_SECONDS_BIAS 128 #define STM32WB_RTC_BKP19R_TIME_WRITTEN_MASK 0x10000000 #define STM32WB_RTC_BKP19R_TIME_WRITTEN_SHIFT 28 #define STM32WB_RTC_BKP19R_TIME_WRITTEN STM32WB_RTC_BKP19R_TIME_WRITTEN_MASK @@ -160,8 +175,6 @@ extern uint64_t stm32wb_rtc_time_to_clock(uint32_t seconds, uint32_t ticks); extern void stm32wb_rtc_time_read(uint32_t *p_seconds, uint32_t *p_ticks); extern void stm32wb_rtc_time_write(uint32_t seconds); extern void stm32wb_rtc_time_adjust(int32_t ticks); -extern int32_t stm32wb_rtc_time_to_leap_seconds(uint32_t seconds); -extern int32_t stm32wb_rtc_utc_to_leap_seconds(uint32_t seconds); extern int32_t stm32wb_rtc_get_leap_seconds(void); extern void stm32wb_rtc_set_leap_seconds(int32_t leap_seconds); extern int32_t stm32wb_rtc_get_zone(void); @@ -171,15 +184,26 @@ extern void stm32wb_rtc_set_dst(uint32_t dst); extern void stm32wb_rtc_time_to_tod(uint32_t seconds, uint32_t ticks, stm32wb_rtc_tod_t *p_tod); extern void stm32wb_rtc_tod_to_time(const stm32wb_rtc_tod_t *tod, uint32_t *p_seconds, uint32_t *p_ticks); + +#define STM32WB_RTC_ALARM_INIT() \ +(stm32wb_rtc_alarm_t) \ +{ \ + .next = NULL, \ + .previous = NULL, \ + .modify = NULL, \ + .clock_l = 0, \ + .clock_h = 0, \ + .callback = NULL, \ + .context = NULL, \ +} -extern void stm32wb_rtc_alarm_start(uint32_t seconds, uint32_t ticks, stm32wb_rtc_alarm_callback_t callback, void *context); -extern void stm32wb_rtc_alarm_stop(); -extern bool stm32wb_rtc_alarm_busy(); +extern bool stm32wb_rtc_alarm_start(stm32wb_rtc_alarm_t *alarm, uint64_t clock, stm32wb_rtc_alarm_callback_t callback, void *context); +extern void stm32wb_rtc_alarm_stop(stm32wb_rtc_alarm_t *alarm); +extern bool stm32wb_rtc_alarm_is_pending(stm32wb_rtc_alarm_t *alarm); extern bool stm32wb_rtc_tamp_catch(uint16_t pin, uint32_t control, stm32wb_rtc_tamp_callback_t callback, void *context); -extern void stm32wb_rtc_standby_enter(uint32_t timeout); -extern uint32_t stm32wb_rtc_standby_leave(uint32_t wakeup); +extern void stm32wb_rtc_standby(uint32_t timeout); extern void stm32wb_rtc_reset(void); #ifdef __cplusplus diff --git a/system/STM32WBxx/Include/stm32wb_system.h b/system/STM32WBxx/Include/stm32wb_system.h index ff0a828..128c2be 100644 --- a/system/STM32WBxx/Include/stm32wb_system.h +++ b/system/STM32WBxx/Include/stm32wb_system.h @@ -185,9 +185,8 @@ typedef struct _stm32wb_system_notify_t { #define STM32WB_SYSTEM_WAKEUP_PIN_4 0000000008 #define STM32WB_SYSTEM_WAKEUP_PIN_5 0x00000010 #define STM32WB_SYSTEM_WAKEUP_TIMEOUT 0x00000100 -#define STM32WB_SYSTEM_WAKEUP_ALARM 0x00000200 -#define STM32WB_SYSTEM_WAKEUP_WATCHDOG 0x00000400 -#define STM32WB_SYSTEM_WAKEUP_RESET 0x00000800 +#define STM32WB_SYSTEM_WAKEUP_WATCHDOG 0x00000200 +#define STM32WB_SYSTEM_WAKEUP_RESET 0x00000400 #define STM32WB_SYSTEM_POLICY_RUN 1 #define STM32WB_SYSTEM_POLICY_SLEEP 2 @@ -220,8 +219,6 @@ extern bool stm32wb_system_pvm1_disable(void); extern bool stm32wb_system_pvm1_sense(void); extern bool stm32wb_system_clk48_enable(void); extern bool stm32wb_system_clk48_disable(void); -extern void stm32wb_system_lsi_enable(void); -extern void stm32wb_system_lsi_disable(void); extern void stm32wb_system_hsi16_enable(void); extern void stm32wb_system_hsi16_disable(void); extern uint32_t stm32wb_system_reset_cause(void); diff --git a/system/STM32WBxx/LinkScripts/STM32WB55xx_FLASH.ld b/system/STM32WBxx/LdScripts/STM32WB55xx_FLASH.ld similarity index 96% rename from system/STM32WBxx/LinkScripts/STM32WB55xx_FLASH.ld rename to system/STM32WBxx/LdScripts/STM32WB55xx_FLASH.ld index fec4ae2..f6ef09a 100644 --- a/system/STM32WBxx/LinkScripts/STM32WB55xx_FLASH.ld +++ b/system/STM32WBxx/LdScripts/STM32WB55xx_FLASH.ld @@ -276,11 +276,11 @@ SECTIONS .info : { - __rtc_info__ = .; - LONG (DEFINED(__RTC_EPOCH__) ? __RTC_EPOCH__ : 0) - LONG (DEFINED(__RTC_ZONE__) ? __RTC_ZONE__ : 0) - SHORT (DEFINED(__RTC_DST__) ? __RTC_DST__ : 0) - SHORT (DEFINED(__RTC_LEAP_SECONDS__) ? __RTC_LEAP_SECONDS__ : 18) + __stm32wb_rtc_info__ = .; + LONG (DEFINED(__RTC_EPOCH__) ? __RTC_EPOCH__ : 0) + SHORT (((DEFINED(__RTC_ZONE__) ? __RTC_ZONE__ : 0) + 43200) / 900) + BYTE ((DEFINED(__RTC_DST__) ? __RTC_DST__ : 0) / 3600) + BYTE ((DEFINED(__RTC_LEAP_SECONDS__) ? __RTC_LEAP_SECONDS__ : 18) + 128) __copy_table_start__ = .; LONG (LOADADDR(.data)) diff --git a/system/STM32WBxx/Lib/libstm32wb55xx.a b/system/STM32WBxx/Lib/libstm32wb55xx.a index 0a0e009dfa7949b9cfd1dffcc91aeb63e0e34722..08b49626019347a9a0d44a1bdaaaedf8d105c681 100644 GIT binary patch delta 738247 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

vC7~#KvzY#2&W2 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

nU>KNSe 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⪼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 z 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%0DA;@NSB_(_Qdb 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 delta 652083 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 diff --git a/system/STM32WBxx/Source/BLE/ble_events.c b/system/STM32WBxx/Source/BLE/ble_events.c index 44388b3..1e274ae 100644 --- a/system/STM32WBxx/Source/BLE/ble_events.c +++ b/system/STM32WBxx/Source/BLE/ble_events.c @@ -34,7 +34,7 @@ static void hci_le_data_length_change_event_process( const uint8_t* in ); static void hci_le_read_local_p256_public_key_complete_event_process( const uint8_t* in ); static void hci_le_generate_dhkey_complete_event_process( const uint8_t* in ); static void hci_le_enhanced_connection_complete_event_process( const uint8_t* in ); -static void hci_le_direct_advertising_report_event_process( const uint8_t* in ); +static void hci_le_directed_advertising_report_event_process( const uint8_t* in ); static void hci_le_phy_update_complete_event_process( const uint8_t* in ); static void hci_le_extended_advertising_report_event_process( const uint8_t* in ); static void hci_le_scan_timeout_event_process( const uint8_t* in ); @@ -89,6 +89,8 @@ static void aci_gatt_read_multi_permit_req_event_process( const uint8_t* in ); static void aci_gatt_tx_pool_available_event_process( const uint8_t* in ); static void aci_gatt_server_confirmation_event_process( const uint8_t* in ); static void aci_gatt_prepare_write_permit_req_event_process( const uint8_t* in ); +static void aci_gatt_eatt_bearer_event_process( const uint8_t* in ); +static void aci_gatt_mult_notification_event_process( const uint8_t* in ); static void aci_gatt_read_ext_event_process( const uint8_t* in ); static void aci_gatt_indication_ext_event_process( const uint8_t* in ); static void aci_gatt_notification_ext_event_process( const uint8_t* in ); @@ -116,7 +118,7 @@ const hci_event_table_t hci_le_event_table[HCI_LE_EVENT_TABLE_SIZE] = { 0x0008U, hci_le_read_local_p256_public_key_complete_event_process }, { 0x0009U, hci_le_generate_dhkey_complete_event_process }, { 0x000AU, hci_le_enhanced_connection_complete_event_process }, - { 0x000BU, hci_le_direct_advertising_report_event_process }, + { 0x000BU, hci_le_directed_advertising_report_event_process }, { 0x000CU, hci_le_phy_update_complete_event_process }, { 0x000DU, hci_le_extended_advertising_report_event_process }, { 0x0011U, hci_le_scan_timeout_event_process }, @@ -176,6 +178,8 @@ const hci_event_table_t hci_vs_event_table[HCI_VS_EVENT_TABLE_SIZE] = { 0x0C16U, aci_gatt_tx_pool_available_event_process }, { 0x0C17U, aci_gatt_server_confirmation_event_process }, { 0x0C18U, aci_gatt_prepare_write_permit_req_event_process }, + { 0x0C19U, aci_gatt_eatt_bearer_event_process }, + { 0x0C1AU, aci_gatt_mult_notification_event_process }, { 0x0C1DU, aci_gatt_read_ext_event_process }, { 0x0C1EU, aci_gatt_indication_ext_event_process }, { 0x0C1FU, aci_gatt_notification_ext_event_process }, @@ -456,18 +460,18 @@ static void hci_le_enhanced_connection_complete_event_process( const uint8_t* in rp0->Master_Clock_Accuracy ); } -/* HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT callback function */ -__WEAK void hci_le_direct_advertising_report_event( uint8_t Num_Reports, - const Direct_Advertising_Report_t* Direct_Advertising_Report ) +/* HCI_LE_DIRECTED_ADVERTISING_REPORT_EVENT callback function */ +__WEAK void hci_le_directed_advertising_report_event( uint8_t Num_Reports, + const Direct_Advertising_Report_t* Direct_Advertising_Report ) { } -/* HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT process function */ -static void hci_le_direct_advertising_report_event_process( const uint8_t* in ) +/* HCI_LE_DIRECTED_ADVERTISING_REPORT_EVENT process function */ +static void hci_le_directed_advertising_report_event_process( const uint8_t* in ) { - hci_le_direct_advertising_report_event_rp0 *rp0 = (void*)in; - hci_le_direct_advertising_report_event( rp0->Num_Reports, - rp0->Direct_Advertising_Report ); + hci_le_directed_advertising_report_event_rp0 *rp0 = (void*)in; + hci_le_directed_advertising_report_event( rp0->Num_Reports, + rp0->Direct_Advertising_Report ); } /* HCI_LE_PHY_UPDATE_COMPLETE_EVENT callback function */ @@ -588,7 +592,9 @@ static void hci_le_channel_selection_algorithm_event_process( const uint8_t* in /* ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT callback function */ __WEAK void aci_hal_end_of_radio_activity_event( uint8_t Last_State, uint8_t Next_State, - uint32_t Next_State_SysTime ) + uint32_t Next_State_SysTime, + uint8_t Last_State_Slot, + uint8_t Next_State_Slot ) { } @@ -598,7 +604,9 @@ static void aci_hal_end_of_radio_activity_event_process( const uint8_t* in ) aci_hal_end_of_radio_activity_event_rp0 *rp0 = (void*)in; aci_hal_end_of_radio_activity_event( rp0->Last_State, rp0->Next_State, - rp0->Next_State_SysTime ); + rp0->Next_State_SysTime, + rp0->Last_State_Slot, + rp0->Next_State_Slot ); } /* ACI_HAL_SCAN_REQ_REPORT_EVENT callback function */ @@ -1349,6 +1357,40 @@ static void aci_gatt_prepare_write_permit_req_event_process( const uint8_t* in ) rp0->Data ); } +/* ACI_GATT_EATT_BEARER_EVENT callback function */ +__WEAK void aci_gatt_eatt_bearer_event( uint8_t Channel_Index, + uint8_t EAB_State, + uint8_t Status ) +{ +} + +/* ACI_GATT_EATT_BEARER_EVENT process function */ +static void aci_gatt_eatt_bearer_event_process( const uint8_t* in ) +{ + aci_gatt_eatt_bearer_event_rp0 *rp0 = (void*)in; + aci_gatt_eatt_bearer_event( rp0->Channel_Index, + rp0->EAB_State, + rp0->Status ); +} + +/* ACI_GATT_MULT_NOTIFICATION_EVENT callback function */ +__WEAK void aci_gatt_mult_notification_event( uint16_t Connection_Handle, + uint16_t Offset, + uint16_t Data_Length, + const uint8_t* Data ) +{ +} + +/* ACI_GATT_MULT_NOTIFICATION_EVENT process function */ +static void aci_gatt_mult_notification_event_process( const uint8_t* in ) +{ + aci_gatt_mult_notification_event_rp0 *rp0 = (void*)in; + aci_gatt_mult_notification_event( rp0->Connection_Handle, + rp0->Offset, + rp0->Data_Length, + rp0->Data ); +} + /* ACI_GATT_READ_EXT_EVENT callback function */ __WEAK void aci_gatt_read_ext_event( uint16_t Connection_Handle, uint16_t Offset, diff --git a/system/STM32WBxx/Source/BLE/ble_gatt_aci.c b/system/STM32WBxx/Source/BLE/ble_gatt_aci.c index 4397b07..b673df3 100644 --- a/system/STM32WBxx/Source/BLE/ble_gatt_aci.c +++ b/system/STM32WBxx/Source/BLE/ble_gatt_aci.c @@ -1451,3 +1451,72 @@ tBleStatus aci_gatt_set_access_permission( uint16_t Serv_Handle, return status; } +tBleStatus aci_gatt_store_db( void ) +{ + struct hci_request rq; + tBleStatus status = 0; + Osal_MemSet( &rq, 0, sizeof(rq) ); + rq.ogf = 0x3f; + rq.ocf = 0x130; + rq.rparam = &status; + rq.rlen = 1; + if ( hci_send_req(&rq, FALSE) < 0 ) + return BLE_STATUS_TIMEOUT; + return status; +} + +tBleStatus aci_gatt_send_mult_notification( uint16_t Connection_Handle, + uint8_t Number_of_Handles, + const Handle_Entry_t* Handle_Entry ) +{ + struct hci_request rq; + uint8_t cmd_buffer[BLE_CMD_MAX_PARAM_LEN]; + aci_gatt_send_mult_notification_cp0 *cp0 = (aci_gatt_send_mult_notification_cp0*)(cmd_buffer); + tBleStatus status = 0; + int index_input = 0; + cp0->Connection_Handle = Connection_Handle; + index_input += 2; + cp0->Number_of_Handles = Number_of_Handles; + index_input += 1; + Osal_MemCpy( (void*)&cp0->Handle_Entry, (const void*)Handle_Entry, Number_of_Handles * (sizeof(Handle_Entry_t)) ); + index_input += Number_of_Handles * (sizeof(Handle_Entry_t)); + Osal_MemSet( &rq, 0, sizeof(rq) ); + rq.ogf = 0x3f; + rq.ocf = 0x131; + rq.cparam = cmd_buffer; + rq.clen = index_input; + rq.rparam = &status; + rq.rlen = 1; + if ( hci_send_req(&rq, FALSE) < 0 ) + return BLE_STATUS_TIMEOUT; + return status; +} + +tBleStatus aci_gatt_read_multiple_var_char_value( uint16_t Connection_Handle, + uint8_t Number_of_Handles, + const Handle_Entry_t* Handle_Entry ) +{ + struct hci_request rq; + uint8_t cmd_buffer[BLE_CMD_MAX_PARAM_LEN]; + aci_gatt_read_multiple_var_char_value_cp0 *cp0 = (aci_gatt_read_multiple_var_char_value_cp0*)(cmd_buffer); + tBleStatus status = 0; + int index_input = 0; + cp0->Connection_Handle = Connection_Handle; + index_input += 2; + cp0->Number_of_Handles = Number_of_Handles; + index_input += 1; + Osal_MemCpy( (void*)&cp0->Handle_Entry, (const void*)Handle_Entry, Number_of_Handles * (sizeof(Handle_Entry_t)) ); + index_input += Number_of_Handles * (sizeof(Handle_Entry_t)); + Osal_MemSet( &rq, 0, sizeof(rq) ); + rq.ogf = 0x3f; + rq.ocf = 0x132; + rq.event = 0x0F; + rq.cparam = cmd_buffer; + rq.clen = index_input; + rq.rparam = &status; + rq.rlen = 1; + if ( hci_send_req(&rq, FALSE) < 0 ) + return BLE_STATUS_TIMEOUT; + return status; +} + diff --git a/system/STM32WBxx/Source/BLE/ble_hal_aci.c b/system/STM32WBxx/Source/BLE/ble_hal_aci.c index 7a992cc..ee70c87 100644 --- a/system/STM32WBxx/Source/BLE/ble_hal_aci.c +++ b/system/STM32WBxx/Source/BLE/ble_hal_aci.c @@ -296,6 +296,24 @@ tBleStatus aci_hal_set_slave_latency( uint8_t Enable ) return status; } +tBleStatus aci_hal_read_rssi( uint8_t* RSSI ) +{ + struct hci_request rq; + aci_hal_read_rssi_rp0 resp; + Osal_MemSet( &resp, 0, sizeof(resp) ); + Osal_MemSet( &rq, 0, sizeof(rq) ); + rq.ogf = 0x3f; + rq.ocf = 0x022; + rq.rparam = &resp; + rq.rlen = sizeof(resp); + if ( hci_send_req(&rq, FALSE) < 0 ) + return BLE_STATUS_TIMEOUT; + if ( resp.Status ) + return resp.Status; + *RSSI = resp.RSSI; + return BLE_STATUS_SUCCESS; +} + tBleStatus aci_hal_read_radio_reg( uint8_t Register_Address, uint8_t* reg_val ) { diff --git a/system/STM32WBxx/Source/Makefile b/system/STM32WBxx/Source/Makefile index 44c8efd..09f0f92 100644 --- a/system/STM32WBxx/Source/Makefile +++ b/system/STM32WBxx/Source/Makefile @@ -8,6 +8,7 @@ AS = $(TOOLS)/bin/arm-none-eabi-as AR = $(TOOLS)/bin/arm-none-eabi-ar LD = $(TOOLS)/bin/arm-none-eabi-ld CFLAGS = -c -g -Os $(WARNINGS) -std=gnu11 -ffast-math -ffunction-sections -fdata-sections -nostdlib -MMD $(EXTRAS) $(DEFINES) $(INCLUDES) +#CFLAGS = -c -g3 -Og $(WARNINGS) -std=gnu11 -ffast-math -ffunction-sections -fdata-sections -nostdlib -MMD $(EXTRAS) $(DEFINES) $(INCLUDES) CXXFLAGS = -c -g -Os $(WARNINGS) -std=gnu++11 -ffast-math -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -MMD $(EXTRAS) $(DEFINES) $(INCLUDES) ASFLAGS = -c -g -x assembler-with-cpp $(EXTRAS) $(DEFINES) $(INCLUDES) WARNINGS = -Wall -Wextra -Wno-unused-parameter @@ -30,6 +31,7 @@ SRCS = \ armv7m_pdm.S \ armv7m_pendsv.c \ armv7m_rtlib.S \ + armv7m_rtos.c \ armv7m_rtt.c \ armv7m_svcall.c \ armv7m_systick.c \ @@ -37,13 +39,6 @@ SRCS = \ dosfs_device.c \ dosfs_sflash.c \ dosfs_storage.c \ - rtos_alarm.c \ - rtos_core.c \ - rtos_event.c \ - rtos_mutex.c \ - rtos_sem.c \ - rtos_task.c \ - rtos_work.c \ stm32wb_adc.c \ stm32wb_dma.c \ stm32wb_eeprom.c \ diff --git a/system/STM32WBxx/Source/armv7m_rtos.c b/system/STM32WBxx/Source/armv7m_rtos.c new file mode 100644 index 0000000..adf723b --- /dev/null +++ b/system/STM32WBxx/Source/armv7m_rtos.c @@ -0,0 +1,4284 @@ +/* + * Copyright (c) 2019-2023 Thomas Roell. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal with the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimers. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimers in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Thomas Roell, nor the names of its contributors + * may be used to endorse or promote products derived from this Software + * without specific prior written permission. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * WITH THE SOFTWARE. + */ + +#include "armv7m.h" +#include "stm32wb_system.h" +#include "stm32wb_rtc.h" + +extern uint32_t __HeapBase[]; +extern uint32_t __HeapLimit[]; +extern uint32_t __StackTop[]; +extern uint32_t __StackLimit[]; + + +#define K_TASK_STATE_WAIT_MASK 0x0007 +#define K_TASK_STATE_WAIT_NONE 0x0000 +#define K_TASK_STATE_WAIT_JOIN 0x0001 +#define K_TASK_STATE_WAIT_EVENT 0x0002 +#define K_TASK_STATE_WAIT_SEM 0x0003 +#define K_TASK_STATE_WAIT_MUTEX 0x0004 +#define K_TASK_STATE_TIMEOUT 0x0008 +#define K_TASK_STATE_SUSPENDED 0x0010 +#define K_TASK_STATE_TERMINATED 0x0020 +#define K_TASK_STATE_JOINABLE 0x0040 +#define K_TASK_STATE_READY 0x0080 +#define K_TASK_STATE_EVENT_ALL 0x0400 +#define K_TASK_STATE_EVENT_CLEAR 0x0800 +#define K_TASK_STATE_AFFINITY_MASK 0xf000 +#define K_TASK_STATE_AFFINITY_SHIFT 12 + +#define K_TASK_STATE_CAUSE_MASK 0x003f + +/* Magic TASK values. Idea is that NULL means really "no task", i.e. the + * "idle routine". However there is some special value required to separate + * a switch from a terminated task to another task (including the idle routine. + * Hence if K_TASK_NONE / K_TASK_TERMINATED get switched out, then no context + * needs to be saved. Hence a transition from K_TASK_NONE to K_TASK_NONE is + * like any other "no context switch required" case. Tricky part is that + * armv7m_rtos_task_schedule() cannot switch from K_TASK_NONE to another + * task. That case is handled in armv7m_rtos_idle_routine. This way the + * idle routine can clean up the stack after itself. + */ + +#define K_TASK_NONE ((k_task_t*)0x00000000) +#define K_TASK_TERMINATED ((k_task_t*)0x00000001) + +#define K_TASK_SENTINEL ((k_task_t*)0x00000001) +#define K_WORK_SENTINEL ((k_work_t*)0x00000001) +#define K_ALARM_SENTINEL ((k_alarm_t*)0x00000001) + +typedef void (*armv7m_rtos_wait_release_routine_t)(k_task_t *task); +typedef void (*armv7m_rtos_wait_unblock_routine_t)(k_task_t *task); + +typedef struct _armv7m_rtos_wait_entry_t { + armv7m_rtos_wait_release_routine_t release; + armv7m_rtos_wait_unblock_routine_t unblock; +} armv7m_rtos_wait_entry_t; + +typedef void (*armv7m_rtos_task_alarm_routine_t)(void); +typedef void (*armv7m_rtos_task_resume_routine_t)(void); +typedef void (*armv7m_rtos_task_release_routine_t)(void); + +static const armv7m_rtos_wait_entry_t armv7m_rtos_join_wait_entry; +static const armv7m_rtos_wait_entry_t armv7m_rtos_event_wait_entry; +static const armv7m_rtos_wait_entry_t armv7m_rtos_sem_wait_entry; +static const armv7m_rtos_wait_entry_t armv7m_rtos_mutex_wait_entry; + +typedef struct armv7m_rtos_control_t { + k_task_t *task_self; + k_task_t *task_next; + k_task_t *task_ready; + k_task_t *task_default; + k_task_t *task_link; + k_task_t * volatile task_resume; + k_task_t * volatile task_release; + k_task_t *task_timeout; + uint64_t task_clock; + stm32wb_rtc_alarm_t task_timer; + k_work_t * work_self; + k_work_t * work_head; + k_work_t * work_tail; + k_work_t * volatile work_submit; + k_alarm_t *alarm_queue; + k_alarm_t * volatile alarm_modify; + uint64_t alarm_clock; + stm32wb_rtc_alarm_t alarm_timer; + volatile uint8_t system_state; + volatile uint8_t system_policy; + void *heap_current; +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + const k_hook_table_t *hook_table; +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + const armv7m_rtos_wait_entry_t *wait_table[K_TASK_STATE_WAIT_MUTEX - K_TASK_STATE_WAIT_JOIN + 1]; + armv7m_rtos_task_alarm_routine_t alarm_routine; + armv7m_rtos_task_resume_routine_t resume_routine; + armv7m_rtos_task_release_routine_t release_routine; +} armv7m_rtos_control_t; + +static armv7m_rtos_control_t armv7m_rtos_control = +{ + .task_self = NULL, + .task_next = NULL, + .task_ready = NULL, + .task_default = NULL, + .task_link = K_TASK_SENTINEL, + .task_resume = K_TASK_SENTINEL, + .task_release = K_TASK_SENTINEL, + .task_timeout = NULL, + .task_clock = 0, + .task_timer = STM32WB_RTC_ALARM_INIT(), + .work_self = NULL, + .work_head = K_WORK_SENTINEL, + .work_tail = K_WORK_SENTINEL, + .work_submit = K_WORK_SENTINEL, + .alarm_queue = NULL, + .alarm_modify = K_ALARM_SENTINEL, + .alarm_clock = 0, + .alarm_timer = STM32WB_RTC_ALARM_INIT(), + .system_state = K_STATE_INACTIVE, + .system_policy = K_POLICY_SLEEP, + .heap_current = (void*)&__HeapBase[0], +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + .hook_table = NULL, +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + .wait_table = { NULL, NULL, NULL, NULL }, + .alarm_routine = NULL, + .resume_routine = NULL, + .release_routine = NULL, +}; + +static k_task_t armv7m_rtos_task_default; + +typedef struct _k_task_params_t { + const char *name; + k_task_routine_t routine; + void *context; + uint32_t priority; + void *stack_base; + uint32_t stack_size; + uint32_t options; +} k_task_params_t; + +static void armv7m_rtos_pendsv_epilogue(void); + +static void armv7m_rtos_system_initialize(const k_hook_table_t *hook_table); +static void armv7m_rtos_system_start(k_task_routine_t routine, void *context) __attribute__((noreturn)); + +static uint32_t armv7m_rtos_task_state(k_task_t *task); +static void armv7m_rtos_task_status(k_task_t *task, uint32_t status); +static void armv7m_rtos_task_start(k_task_t *task, k_task_routine_t routine, void *context); +static void armv7m_rtos_task_return(void); +static void armv7m_rtos_task_exit(void); + +static void armv7m_rtos_task_queue_insert(k_task_t **p_task_head, k_task_t *task); +static void armv7m_rtos_task_queue_remove(k_task_t **p_task_head, k_task_t *task); +static void armv7m_rtos_task_ready_insert(k_task_t *task); +static void armv7m_rtos_task_ready_remove(k_task_t *task); + +static void armv7m_rtos_task_create(k_task_t *task, const char *name, uint32_t priority, void *stack_base, uint32_t stack_size, uint32_t options); +static void armv7m_rtos_task_destroy(k_task_t *task); +static void armv7m_rtos_task_priority(k_task_t *task); + +static void armv7m_rtos_task_resume_process(k_task_t *task); +static void armv7m_rtos_task_resume_dequeue(void); +static bool armv7m_rtos_task_resume_enqueue(k_task_t *task); + +static void armv7m_rtos_task_release_process(k_task_t *task); +static void armv7m_rtos_task_release_dequeue(void); +static bool armv7m_rtos_task_release_enqueue(k_task_t *task); + +static bool armv7m_rtos_task_unblock(k_task_t *task, uint32_t status); +static void armv7m_rtos_task_schedule(void); + +static uint64_t armv7m_rtos_clock_convert(uint64_t clock); +static uint64_t armv7m_rtos_clock_offset(uint64_t reference, uint32_t delay); + +static void armv7m_rtos_timeout_insert(k_task_t *task, uint64_t clock); +static void armv7m_rtos_timeout_remove(k_task_t *task); +static void armv7m_rtos_timeout_absolute(k_task_t *task, uint64_t clock); +static void armv7m_rtos_timeout_relative(k_task_t *task, uint32_t delay); +static void armv7m_rtos_timeout_callback(void *context, uint64_t reference); +static void armv7m_rtos_timeout_schedule(void); + +static void armv7m_rtos_join_release(k_task_t *task); +static void armv7m_rtos_join_unblock(k_task_t *task); + +static void armv7m_rtos_event_release(k_task_t *task); +static void armv7m_rtos_event_unblock(k_task_t *task); + +static void armv7m_rtos_sem_wait_insert(k_sem_t *sem, k_task_t *task); +static void armv7m_rtos_sem_wait_remove(k_sem_t *sem, k_task_t *task); +static k_task_t* armv7m_rtos_sem_wait_release(k_sem_t *sem); +static void armv7m_rtos_sem_wait_acquire(k_sem_t *sem); +static void armv7m_rtos_sem_release(k_task_t *task); +static void armv7m_rtos_sem_unblock(k_task_t *task); + +static void armv7m_rtos_mutex_queue_insert(k_mutex_t **p_mutex_head, k_mutex_t *mutex); +static void armv7m_rtos_mutex_queue_remove(k_mutex_t **p_mutex_head, k_mutex_t *mutex); +static void armv7m_rtos_mutex_owner_insert(k_mutex_t *mutex, k_task_t *task); +static void armv7m_rtos_mutex_owner_remove(k_mutex_t *mutex, k_task_t *task); +static void armv7m_rtos_mutex_owner_attach(k_mutex_t *mutex, k_task_t *task); +static void armv7m_rtos_mutex_owner_detach(k_mutex_t *mutex, k_task_t *task); +static void armv7m_rtos_mutex_wait_insert(k_mutex_t *mutex, k_task_t *task); +static void armv7m_rtos_mutex_wait_remove(k_mutex_t *mutex, k_task_t *task); +static k_task_t * armv7m_rtos_mutex_priority(k_task_t *task); +static void armv7m_rtos_mutex_destroy(k_task_t *task); +static void armv7m_rtos_mutex_release(k_task_t *task); +static void armv7m_rtos_mutex_unblock(k_task_t *task); + +static int armv7m_rtos_work_deinit(k_work_t *work); +static int armv7m_rtos_work_submit(k_work_t *work); +static void armv7m_rtos_work_return(void); +static void armv7m_rtos_work_schedule(void); +static void armv7m_rtos_work_routine(void); + + +static void armv7m_rtos_alarm_insert(k_alarm_t *alarm, uint64_t clock); +static void armv7m_rtos_alarm_remove(k_alarm_t *alarm); +static void armv7m_rtos_alarm_routine(void); +static void armv7m_rtos_alarm_schedule(void); +static void armv7m_rtos_alarm_callback(void *context, uint64_t reference); +static void armv7m_rtos_alarm_modify(k_alarm_t *alarm, uint64_t clock, uint32_t period); + +/******************************************************************************************************************************/ + +static void * __svc_armv7m_rtos_heap_allocate(uint32_t size); + +static void __svc_armv7m_rtos_system_start(k_task_routine_t routine, void *context); +static bool __svc_armv7m_rtos_system_lock(void); +static void __svc_armv7m_rtos_system_unlock(void); +static int __svc_armv7m_rtos_system_set_policy(uint32_t policy, uint32_t *p_policy_return); + +static int __svc_armv7m_rtos_task_create(k_task_t *task, const k_task_params_t *params); + void __svc_armv7m_rtos_task_return(void); + void __svc_armv7m_rtos_task_exit(void); +static int __svc_armv7m_rtos_task_terminate(k_task_t *task); +static int __svc_armv7m_rtos_task_detach(k_task_t *task); +static int __svc_armv7m_rtos_task_join(k_task_t *task); +static int __svc_armv7m_rtos_task_enumerate(uint32_t *p_count_return, k_task_t **p_task_return, uint32_t count); +static int __svc_armv7m_rtos_task_info(k_task_t *task, k_task_info_t *p_task_info_return); +static int __svc_armv7m_rtos_task_stack(k_task_t *task, uint32_t *p_stack_base_return, uint32_t *p_stack_size_return, uint32_t *p_stack_space_return); +static int __svc_armv7m_rtos_task_unblock(k_task_t *task); +static int __svc_armv7m_rtos_task_suspend(k_task_t *task); +static int __svc_armv7m_rtos_task_resume(k_task_t *task); +static int __svc_armv7m_rtos_task_set_priority(k_task_t *task, uint32_t priority, uint32_t *p_priority_return); +static int __svc_armv7m_rtos_task_get_priority(k_task_t *task, uint32_t *p_priority_return); +static int __svc_armv7m_rtos_task_delay(uint32_t delay); +static int __svc_armv7m_rtos_task_delay_until(uint32_t clock_l, uint32_t clock_h); +static int __svc_armv7m_rtos_task_yield(void); + +static int __svc_armv7m_rtos_event_send(k_task_t *task, uint32_t events); +static int __svc_armv7m_rtos_event_receive(uint32_t events, uint32_t mode, uint32_t timeout, uint32_t *p_events_return); + +static int __svc_armv7m_rtos_sem_init(k_sem_t *sem, uint32_t count, uint32_t limit); +static int __svc_armv7m_rtos_sem_deinit(k_sem_t *sem); +static int __svc_armv7m_rtos_sem_acquire(k_sem_t *sem, uint32_t timeout); +static int __svc_armv7m_rtos_sem_release(k_sem_t *sem); + +static int __svc_armv7m_rtos_mutex_init(k_mutex_t *mutex, uint32_t priority, uint32_t options); +static int __svc_armv7m_rtos_mutex_deinit(k_mutex_t *mutex); +static int __svc_armv7m_rtos_mutex_set_priority(k_mutex_t *mutex, uint32_t priority, uint32_t *p_priority_return); +static int __svc_armv7m_rtos_mutex_lock(k_mutex_t *mutex, uint32_t timeout); +static int __svc_armv7m_rtos_mutex_unlock(k_mutex_t *mutex); + +static int __svc_armv7m_rtos_work_init(k_work_t *work, k_work_routine_t routine, void *context); +static int __svc_armv7m_rtos_work_deinit(k_work_t *work); + +static int __svc_armv7m_rtos_alarm_init(k_alarm_t *alarm, k_alarm_routine_t routine, void *context); +static int __svc_armv7m_rtos_alarm_deinit(k_alarm_t *alarm); +static int __svc_armv7m_rtos_alarm_absolute(k_alarm_t *alarm, uint32_t clock_l, uint32_t clock_h, uint32_t period); +static int __svc_armv7m_rtos_alarm_relative(k_alarm_t *alarm, uint32_t delay, uint32_t period); +static int __svc_armv7m_rtos_alarm_cancel(k_alarm_t *alarm); + +/******************************************************************************************************************************/ + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + +/* + * RTT/SYSVIEW notes: + * + * - task_run(NULL) means switch to idle + * - work_enter(work) means a switch to the WORK task (first one), work_exit() means switch back to current task + * + * name/priority are just used for the GUI, to associate the "task" address with something readable, and to + * order things on screen. + * + * "stack_base" is displayed in HEX, while "stack_size" is displayed in dedcimal. So "stack_size" could be the total + * size, or the used size, or the free size. So ideally it would be the maximum used size. + * + * So somewhere in the idle routine we'd want to go throu the list of stacks and check. + */ + +static void armv7m_rtos_hook_task_create(k_task_t *task, const char *name, uint32_t priority, void *stack_base, uint32_t stack_size) +{ +} + +static void armv7m_rtos_hook_task_destroy(k_task_t *task) +{ +} + +static void armv7m_rtos_hook_task_exit(void) +{ +} + +static void armv7m_rtos_hook_task_terminate(k_task_t *task) +{ +} + +static void armv7m_rtos_hook_task_block(k_task_t *task, uint32_t cause) +{ +} + +static void armv7m_rtos_hook_task_ready(k_task_t *task) +{ +} + +static void armv7m_rtos_hook_task_run(k_task_t *task) +{ +} + +static const k_hook_table_t armv7m_rtos_hook_table = +{ + .task_create = armv7m_rtos_hook_task_create, + .task_destroy = armv7m_rtos_hook_task_destroy, + .task_exit = armv7m_rtos_hook_task_exit, + .task_terminate = armv7m_rtos_hook_task_terminate, + .task_block = armv7m_rtos_hook_task_block, + .task_ready = armv7m_rtos_hook_task_ready, + .task_run = armv7m_rtos_hook_task_run, +}; + +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + +/******************************************************************************************************************************/ + +static const armv7m_rtos_wait_entry_t armv7m_rtos_join_wait_entry = { + .release = armv7m_rtos_join_release, + .unblock = armv7m_rtos_join_unblock +}; + +static const armv7m_rtos_wait_entry_t armv7m_rtos_event_wait_entry = { + .release = armv7m_rtos_event_release, + .unblock = armv7m_rtos_event_unblock +}; + +static const armv7m_rtos_wait_entry_t armv7m_rtos_sem_wait_entry = { + .release = armv7m_rtos_sem_release, + .unblock = armv7m_rtos_sem_unblock +}; + +static const armv7m_rtos_wait_entry_t armv7m_rtos_mutex_wait_entry = { + .release = armv7m_rtos_mutex_release, + .unblock = armv7m_rtos_mutex_unblock +}; + +/******************************************************************************************************************************/ + +static void __attribute__((naked, noreturn)) armv7m_rtos_pendsv_epilogue(void) +{ + __asm__( + "1: movw r3, #:lower16:armv7m_rtos_control \n" + " movt r3, #:upper16:armv7m_rtos_control \n" + " ldr r0, [r3, %[offset_CONTROL_WORK_SELF]] \n" + " cbz.n r0, 4f \n" + " push { r7, lr } \n" + " ldr r1, [r0, %[offset_WORK_ROUTINE]] \n" + " bic r1, r1, #1 \n" + " ldr r2, [r0, %[offset_WORK_CONTEXT]] \n" + " mov r3, #0x01000000 \n" + " mov lr, #0xfffffff9 \n" + " adr r7, 2f \n" + " orr r7, r7, #1 \n" + " sub sp, #0x20 \n" + " str r2, [sp, #0x00] \n" + " str r7, [sp, #0x14] \n" + " str r1, [sp, #0x18] \n" + " str r3, [sp, #0x1c] \n" + " dsb \n" + " bx lr \n" + " .align 2 \n" + "2: cpsie i \n" + " adr r7, 3f \n" + " add r7, #1 \n" +#if (__FPU_PRESENT == 1) + " mrs r0, CONTROL \n" + " bic r0, #0x04 \n" // clear FPCA + " msr CONTROL, r0 \n" +#endif /* __FPU_PRESENT == 1 */ + " svc 0 \n" + " .align 2 \n" + "3: add sp, #0x28 \n" // 32 bytes for the exception stack, 8 bytes for SVCALL frame + " bl armv7m_rtos_work_return \n" + " pop { r7, lr } \n" + " b.n 1b \n" + " .align 2 \n" + "4: ldr r0, [r3, %[offset_CONTROL_TASK_NEXT]] \n" + " ldr r1, [r3, %[offset_CONTROL_TASK_SELF]] \n" + " cmp r0, r1 \n" + " bne.n 5f \n" + " dsb \n" + " bx lr \n" + "5: cmp r1, %[const_TASK_TERMINATED] \n" + " bls.n 6f \n" + " tst lr, #0x00000004 \n" // bit 2 is SPSEL + " itte eq \n" + " moveq r2, sp \n" +#if (__FPU_PRESENT == 1) + " subeq sp, sp, #0x60 \n" +#else /* __FPU_PRESENT == 1 */ + " subeq sp, sp, #0x20 \n" +#endif /* __FPU_PRESENT == 1 */ + " mrsne r2, PSP \n" + " stmdb r2!, { r4-r11 } \n" +#if (__FPU_PRESENT == 1) + " tst lr, #0x00000010 \n" // bit 4 is nFPCA + " it eq \n" + " vstmdbeq r2!, { d8-d15 } \n" +#endif /* __FPU_PRESENT == 1 */ + " tst lr, #0x00000004 \n" // bit 2 is SPSEL + " it eq \n" + " moveq sp, r2 \n" + " str lr, [r1, %[offset_TASK_EXC_RETURN]] \n" + " str r2, [r1, %[offset_TASK_STACK_TOP]] \n" + "6: str r0, [r3, %[offset_CONTROL_TASK_SELF]] \n" + " cbz.n r0, 7f \n" + " ldr lr, [r0, %[offset_TASK_EXC_RETURN]] \n" + " ldr r2, [r0, %[offset_TASK_STACK_TOP]] \n" +#if (__FPU_PRESENT == 1) + " tst lr, #0x00000010 \n" // bit 4 is nFPCA + " it eq \n" + " vldmiaeq r2!, { d8-d15 } \n" +#endif /* __FPU_PRESENT == 1 */ + " ldmia r2!, { r4-r11 } \n" + " tst lr, #0x00000004 \n" // bit 2 is SPSEL + " ite eq \n" + " moveq sp, r2 \n" + " msrne PSP, r2 \n" +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + " ldr r3, [r3, %[offset_CONTROL_HOOK_TABLE]] \n" + " ldr r3, [r3, %[offset_HOOK_TABLE_TASK_RUN]] \n" + " bx r3 \n" +#else /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + " dsb \n" + " bx lr \n" +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + " .align 2 \n" + "7: movw r1, #:lower16:armv7m_rtos_system_idle \n" + " movt r1, #:upper16:armv7m_rtos_system_idle \n" + " mov r2, #0x01000000 \n" + " mov lr, #0xfffffff9 \n" + " sub sp, #0x20 \n" + " str r1, [sp, #0x18] \n" + " str r2, [sp, #0x1c] \n" +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + " ldr r3, [r3, %[offset_CONTROL_HOOK_TABLE]] \n" + " ldr r3, [r3, %[offset_HOOK_TABLE_TASK_RUN]] \n" + " bx r3 \n" +#else /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + " dsb \n" + " bx lr \n" +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + : + : [offset_CONTROL_WORK_SELF] "I" (offsetof(armv7m_rtos_control_t, work_self)), + [offset_CONTROL_TASK_SELF] "I" (offsetof(armv7m_rtos_control_t, task_self)), + [offset_CONTROL_TASK_NEXT] "I" (offsetof(armv7m_rtos_control_t, task_next)), +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + [offset_CONTROL_HOOK_TABLE] "I" (offsetof(armv7m_rtos_control_t, hook_table)), + [offset_HOOK_TABLE_TASK_RUN] "I" (offsetof(k_hook_table_t, task_run)), +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + [offset_TASK_EXC_RETURN] "I" (offsetof(k_task_t, exc_return)), + [offset_TASK_STACK_TOP] "I" (offsetof(k_task_t, stack_top)), + [offset_TASK_STACK_LIMIT] "I" (offsetof(k_task_t, stack_limit)), + [offset_WORK_ROUTINE] "I" (offsetof(k_work_t, routine)), + [offset_WORK_CONTEXT] "I" (offsetof(k_work_t, context)), + [const_TASK_TERMINATED] "I" (K_TASK_TERMINATED), + [const_WORK_SENTINEL] "I" (K_WORK_SENTINEL) + ); +} + +static void __attribute__((naked, used, noreturn)) armv7m_rtos_system_idle(void) +{ + __asm__( + " movw r3, #:lower16:armv7m_rtos_control \n" + " movt r3, #:upper16:armv7m_rtos_control \n" + " ldrb r0, [r3, %[offset_CONTROL_SYSTEM_POLICY]] \n" + " bl stm32wb_system_sleep \n" + " adr r7, 1f \n" + " add r7, #1 \n" + " svc 0 \n" + " .align 2 \n" + "1: add sp, #0x28 \n" // 32 bytes for the exception stack, 8 bytes for SVCALL frame + " movw r3, #:lower16:armv7m_rtos_control \n" + " movt r3, #:upper16:armv7m_rtos_control \n" + " ldr r0, [r3, %[offset_CONTROL_TASK_READY]] \n" + " str r0, [r3, %[offset_CONTROL_TASK_NEXT]] \n" + " mov r0, %[const_TASK_TERMINATED] \n" + " str r0, [r3, %[offset_CONTROL_TASK_SELF]] \n" + " b armv7m_rtos_pendsv_epilogue \n" + : + : [offset_CONTROL_SYSTEM_POLICY] "I" (offsetof(armv7m_rtos_control_t, system_policy)), + [offset_CONTROL_TASK_SELF] "I" (offsetof(armv7m_rtos_control_t, task_self)), + [offset_CONTROL_TASK_NEXT] "I" (offsetof(armv7m_rtos_control_t, task_next)), + [offset_CONTROL_TASK_READY] "I" (offsetof(armv7m_rtos_control_t, task_ready)), + [const_TASK_TERMINATED] "I" (K_TASK_TERMINATED) + ); +} + +static void armv7m_rtos_system_initialize(const k_hook_table_t *hook_table) +{ + k_task_t *task; + void *stack_base, *stack_limit; + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + armv7m_rtos_control.hook_table = hook_table ? hook_table : &armv7m_rtos_hook_table; +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + stack_base = (void*)&__StackTop[0]; + stack_limit = (void*)(((uint32_t)armv7m_rtos_control.heap_current + 31) & ~31); + + if (stack_limit < (void*)&__HeapLimit[0]) + { + stack_limit = (void*)&__HeapLimit[0]; + } + + stack_limit += 32; + +#if (ARMV7M_RTOS_MPU_SUPPORTED == 1) + MPU->RBAR = (((uint32_t)stack_limit - 32) & 0xffffff00) | MPU_RBAR_VALID_Msk | (7 << MPU_RBAR_REGION_Pos); + MPU->RASR = (MPU_RASR_SRD_Msk ^ ((1 << MPU_RASR_SRD_Pos) << ((((uint32_t)stack_limit - 32) & 0x000000ff) >> 5))) | (7 << MPU_RASR_SIZE_Pos) | MPU_RASR_ENABLE_Msk; + MPU->CTRL = (MPU_CTRL_PRIVDEFENA_Msk | MPU_CTRL_HFNMIENA_Msk | MPU_CTRL_ENABLE_Msk); + + __DSB(); + __ISB(); +#endif /* ARMV7M_RTOS_MPU_SUPPORTED == 1 */ + + task = &armv7m_rtos_task_default; + + armv7m_rtos_control.task_default = task; + + armv7m_rtos_task_create(task, "DEFAULT", K_PRIORITY_MIN, stack_limit, (stack_base - stack_limit), K_TASK_JOINABLE); + + armv7m_rtos_control.system_state = K_STATE_READY; +} + +static void __attribute__((naked, noreturn)) armv7m_rtos_system_start(k_task_routine_t routine, void *context) +{ + __asm__( + " cpsie i \n" + " adr r7, 1f \n" + " add r7, #1 \n" +#if (__FPU_PRESENT == 1) + " mrs r2, CONTROL \n" + " bic r2, #0x04 \n" // clear FPCA + " msr CONTROL, r2 \n" +#endif /* __FPU_PRESENT == 1 */ + " svc 0 \n" + " .align 2 \n" + "1: sub sp, #0x18 \n" // 0x20 from exception, 0x08 from SVCALL frame, so 0x18 needed + " bl __svc_armv7m_rtos_system_start \n" + " movw r3, #:lower16:armv7m_rtos_control \n" + " movt r3, #:upper16:armv7m_rtos_control \n" + " ldr r0, [r3, %[offset_CONTROL_TASK_DEFAULT]] \n" + " ldr r2, [r0, %[offset_TASK_STACK_TOP]] \n" + " mov sp, r2 \n" + " b armv7m_rtos_pendsv_epilogue \n" + : + : [offset_CONTROL_TASK_DEFAULT] "I" (offsetof(armv7m_rtos_control_t, task_default)), + [offset_TASK_STACK_TOP] "I" (offsetof(k_task_t, stack_top)) + ); +} + +static uint32_t armv7m_rtos_task_state(k_task_t *task) +{ + return ((task->state & K_TASK_STATE_TERMINATED) + ? K_STATE_TERMINATED + : ((task->state & K_TASK_STATE_SUSPENDED) + ? K_STATE_SUSPENDED + : ((task->state & (K_TASK_STATE_TIMEOUT | K_TASK_STATE_WAIT_MASK)) + ? K_STATE_BLOCKED + : ((task->state & K_TASK_STATE_READY) + ? ((task != armv7m_rtos_control.task_self) ? K_STATE_READY : K_STATE_RUNNING) + : K_STATE_INACTIVE)))); +} + +static void armv7m_rtos_task_status(k_task_t *task, uint32_t status) +{ +#if (__FPU_PRESENT == 1) + if (!(task->exc_return & 0x00000010)) + { + ((armv7m_context_fpu_t*)task->stack_top)->r0 = status; + } + else +#endif /* __FPU_PRESENT == 1 */ + { + ((armv7m_context_t*)task->stack_top)->r0 = status; + } +} + +static void armv7m_rtos_task_start(k_task_t *task, k_task_routine_t routine, void *context) +{ + armv7m_context_t *stack; + + stack = (armv7m_context_t*)((uint32_t)task->stack_top - sizeof(armv7m_context_t)); + stack->r0 = (uint32_t)context; +#if (ARMV7M_RTOS_DEBUG_SUPPORTED == 1) + stack->r1 = 0x00000000; + stack->r2 = 0x00000000; + stack->r3 = 0x00000000; + stack->r4 = 0x00000000; + stack->r5 = 0x00000000; + stack->r6 = 0x00000000; + stack->r7 = 0x00000000; + stack->r8 = 0x00000000; + stack->r9 = 0x00000000; + stack->r10 = 0x00000000; + stack->r11 = 0x00000000; +#endif /* (ARMV7M_RTOS_DEBUG_SUPPORTED == 1) */ + stack->lr = (uint32_t)armv7m_rtos_task_return; + stack->pc = (uint32_t)routine & ~1; + stack->xpsr = 0x01000000; + + task->exc_return = ((task == armv7m_rtos_control.task_default) ? 0xfffffff9 : 0xfffffffd); + task->stack_top = (void*)stack; + task->stack_end = (void*)stack; + + if (!(task->state & K_TASK_STATE_SUSPENDED)) + { + armv7m_rtos_task_ready_insert(task); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_ready)(task); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } +} + +static void __attribute__((naked, noreturn)) armv7m_rtos_task_return(void) +{ + __asm__( + " cpsie i \n" + " adr r7, 1f \n" + " add r7, #1 \n" +#if (__FPU_PRESENT == 1) + " mrs r2, CONTROL \n" + " bic r2, #0x04 \n" // clear FPCA + " msr CONTROL, r2 \n" +#endif /* __FPU_PRESENT == 1 */ + " svc 0 \n" + " .align 2 \n" + "1: add sp, #0x08 \n" // 8 bytes for SVCALL frame + " bl __svc_armv7m_rtos_task_return \n" + " b armv7m_rtos_pendsv_epilogue \n" + : + : + ); +} + +static void __attribute__((naked, noreturn)) armv7m_rtos_task_exit(void) +{ + __asm__( + " cpsie i \n" + " adr r7, 1f \n" + " add r7, #1 \n" +#if (__FPU_PRESENT == 1) + " mrs r2, CONTROL \n" + " bic r2, #0x04 \n" // clear FPCA + " msr CONTROL, r2 \n" +#endif /* __FPU_PRESENT == 1 */ + " svc 0 \n" + " .align 2 \n" + "1: add sp, #0x08 \n" // 8 bytes for SVCALL frame + " bl __svc_armv7m_rtos_task_exit \n" + " b armv7m_rtos_pendsv_epilogue \n" + : + : + ); +} + +/******************************************************************************************************************************/ + +static void __attribute__((optimize("O3"), noinline)) armv7m_rtos_task_queue_insert(k_task_t **p_task_head, k_task_t *task) +{ + k_task_t *element; + + if (*p_task_head == NULL) + { + *p_task_head = task; + + task->next = task; + task->previous = task; + } + else + { + element = *p_task_head; + + do + { + if (task->priority < element->priority) + { + if (*p_task_head == element) + { + *p_task_head = task; + } + + break; + } + + element = element->next; + } + while (*p_task_head != element); + + task->next = element; + task->previous = element->previous; + + task->previous->next = task; + task->next->previous = task; + } +} + +static void __attribute__((optimize("O3"), noinline)) armv7m_rtos_task_queue_remove(k_task_t **p_task_head, k_task_t *task) +{ + if (task->next == task) + { + *p_task_head = NULL; + } + else + { + if (*p_task_head == task) + { + *p_task_head = task->next; + } + + task->next->previous = task->previous; + task->previous->next = task->next; + } + + task->next = NULL; + task->previous = NULL; +} + +static void armv7m_rtos_task_ready_insert(k_task_t *task) +{ + task->state |= K_TASK_STATE_READY; + + armv7m_rtos_task_queue_insert(&armv7m_rtos_control.task_ready, task); +} + +static void armv7m_rtos_task_ready_remove(k_task_t *task) +{ + task->state &= ~K_TASK_STATE_READY; + + armv7m_rtos_task_queue_remove(&armv7m_rtos_control.task_ready, task); +} + +static void armv7m_rtos_task_create(k_task_t *task, const char *name, uint32_t priority, void *stack_base, uint32_t stack_size, uint32_t options) +{ + uint32_t *stack, *stack_e; + + task->next = NULL; + task->previous = NULL; + task->priority = priority; + task->bpriority = priority; + task->state = 0; + task->events = 0; + task->name = name; + task->link = armv7m_rtos_control.task_link; + task->exc_return = 0; + task->stack_top = stack_base + stack_size; + task->stack_end = stack_base + stack_size; + task->stack_base = stack_base + stack_size; + task->stack_limit = stack_base; + task->join = NULL; + task->mutex = NULL; + task->resume = NULL; + task->release = NULL; + task->timeout.next = NULL; + task->timeout.previous = NULL; + task->timeout.clock_l = 0; + task->timeout.clock_h = 0; + + armv7m_rtos_control.task_link = task; + + if (options & K_TASK_JOINABLE) + { + task->state |= K_TASK_STATE_JOINABLE; + } + + if (options & K_TASK_SUSPENDED) + { + task->state |= K_TASK_STATE_SUSPENDED; + } + + if (task == armv7m_rtos_control.task_default) + { + stack_e = (uint32_t*)((uint32_t)__builtin_frame_address(0) & ~31) - 32; + } + else + { + stack_e = (uint32_t*)task->stack_end; + } + + for (stack = (uint32_t*)task->stack_limit; stack < stack_e; stack += 2) + { + stack[0] = 0xaaaaaaaa; + stack[1] = 0x77777777; + } + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_create)(task, task->name, task->priority, task->stack_limit, (task->stack_base - task->stack_limit)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + if (task->state & K_TASK_STATE_SUSPENDED) + { +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(task, K_TASK_STATE_SUSPENDED); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } +} + +static void armv7m_rtos_task_destroy(k_task_t *task) +{ + k_task_t **p_task_previous, *task_link; + + for (p_task_previous = &armv7m_rtos_control.task_link, task_link = armv7m_rtos_control.task_link; task_link != K_TASK_SENTINEL; p_task_previous = &task_link->link, task_link = task_link->link) + { + if (task_link == task) + { + *p_task_previous = task->link; + + break; + } + } + + task->state = 0; + task->link = NULL; + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_destroy)(task); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ +} + +static void armv7m_rtos_task_priority(k_task_t *task) +{ + k_task_t *task_next; + k_mutex_t *mutex; + uint32_t priority; + + do + { + task_next = NULL; + + priority = task->bpriority; + + mutex = task->mutex; + + if (mutex) + { + if (mutex->options & (K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) + { + if (priority > mutex->priority) + { + priority = mutex->priority; + } + } + } + + if (task->priority != priority) + { + task->priority = priority; + + if (task->state & K_TASK_STATE_READY) + { + armv7m_rtos_task_ready_remove(task); + armv7m_rtos_task_ready_insert(task); + } + + task_next = armv7m_rtos_mutex_priority(task); + } + + task = task_next; + } + while (task); +} + +static void armv7m_rtos_task_resume_process(k_task_t *task) +{ + k_task_t *task_resume; + + do + { + task_resume = task->resume; + + task->state &= ~K_TASK_STATE_SUSPENDED; + + task->resume = NULL; + + if (task->link && !(task->state & K_TASK_STATE_TERMINATED)) + { + if (!(task->state & (K_TASK_STATE_TIMEOUT | K_TASK_STATE_WAIT_MASK))) + { + armv7m_rtos_task_ready_insert(task); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_ready)(task); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } + else + { +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(task, (task->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } + } + + task = task_resume; + } + while (task != K_TASK_SENTINEL); + + armv7m_rtos_task_schedule(); +} + +static void armv7m_rtos_task_resume_dequeue(void) +{ + k_task_t *task_resume, *task_previous, *task_next; + + task_resume = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_resume, (uint32_t)K_TASK_SENTINEL); + + if (task_resume != K_TASK_SENTINEL) + { + if (task_resume->resume != K_TASK_SENTINEL) + { + for (task_previous = K_TASK_SENTINEL; task_resume != K_TASK_SENTINEL; task_resume = task_next) + { + task_next = task_resume->resume; + + task_resume->resume = task_previous; + + task_previous = task_resume; + } + + task_resume = task_previous; + } + + armv7m_rtos_task_resume_process(task_resume); + } +} + +static bool armv7m_rtos_task_resume_enqueue(k_task_t *task) +{ + k_task_t *task_resume; + + if (__armv7m_atomic_cas((volatile uint32_t*)&task->resume, (uint32_t)NULL, (uint32_t)K_TASK_SENTINEL) != (uint32_t)NULL) + { + return false; + } + + if (armv7m_core_is_in_svcall_or_pendsv()) + { + armv7m_rtos_task_resume_process(task); + } + else + { + armv7m_rtos_control.resume_routine = armv7m_rtos_task_resume_dequeue; + + task_resume = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_resume, (uint32_t)task); + + task->resume = task_resume; + + if (task_resume == K_TASK_SENTINEL) + { + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_TASK_RESUME); + } + } + + return true; +} + +static void armv7m_rtos_task_release_process(k_task_t *task) +{ + k_task_t *task_release, *task_timeout; + + task_timeout = armv7m_rtos_control.task_timeout; + + do + { + task_release = task->release; + + if (task->state & K_TASK_STATE_TIMEOUT) + { + armv7m_rtos_timeout_remove(task); + } + + if (task->state & K_TASK_STATE_WAIT_MASK) + { + (*armv7m_rtos_control.wait_table[(task->state & K_TASK_STATE_WAIT_MASK) - K_TASK_STATE_WAIT_JOIN]->release)(task); + } + + task->state &= ~(K_TASK_STATE_EVENT_ALL | K_TASK_STATE_EVENT_CLEAR | K_TASK_STATE_WAIT_MASK); + + task->release = NULL; + + if (task->link && !(task->state & K_TASK_STATE_TERMINATED)) + { + if (!(task->state & K_TASK_STATE_SUSPENDED)) + { + armv7m_rtos_task_ready_insert(task); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_ready)(task); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } + else + { +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(task, (task->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } + } + + task = task_release; + } + while (task != K_TASK_SENTINEL); + + if (task_timeout != armv7m_rtos_control.task_timeout) + { + armv7m_rtos_timeout_schedule(); + } + + armv7m_rtos_task_schedule(); +} + +static void armv7m_rtos_task_release_dequeue(void) +{ + k_task_t *task_release, *task_previous, *task_next; + + task_release = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_release, (uint32_t)K_TASK_SENTINEL); + + if (task_release != K_TASK_SENTINEL) + { + if (task_release->release != K_TASK_SENTINEL) + { + for (task_previous = K_TASK_SENTINEL; task_release != K_TASK_SENTINEL; task_release = task_next) + { + task_next = task_release->release; + + task_release->release = task_previous; + + task_previous = task_release; + } + + task_release = task_previous; + } + + armv7m_rtos_task_release_process(task_release); + } +} + +static bool armv7m_rtos_task_release_enqueue(k_task_t *task) +{ + k_task_t *task_release; + + if (__armv7m_atomic_cas((volatile uint32_t*)&task->release, (uint32_t)NULL, (uint32_t)K_TASK_SENTINEL) != (uint32_t)NULL) + { + return false; + } + + if (armv7m_core_is_in_svcall_or_pendsv()) + { + armv7m_rtos_task_release_process(task); + } + else + { + armv7m_rtos_control.release_routine = armv7m_rtos_task_release_dequeue; + + task_release = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_release, (uint32_t)task); + + task->release = task_release; + + if (task_release == K_TASK_SENTINEL) + { + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_TASK_RELEASE); + } + } + + return true; +} + +static bool armv7m_rtos_task_unblock(k_task_t *task, uint32_t status) +{ + if (__armv7m_atomic_cas((volatile uint32_t*)&task->release, (uint32_t)NULL, (uint32_t)K_TASK_SENTINEL) != (uint32_t)NULL) + { + return false; + } + + armv7m_rtos_task_status(task, status); + + if (task->state & K_TASK_STATE_TIMEOUT) + { + armv7m_rtos_timeout_remove(task); + } + + if (task->state & K_TASK_STATE_WAIT_MASK) + { + (*armv7m_rtos_control.wait_table[(task->state & K_TASK_STATE_WAIT_MASK) - K_TASK_STATE_WAIT_JOIN]->unblock)(task); + } + + task->state &= ~(K_TASK_STATE_EVENT_ALL | K_TASK_STATE_EVENT_CLEAR | K_TASK_STATE_WAIT_MASK); + + task->release = NULL; + + if (task->link && !(task->state & K_TASK_STATE_TERMINATED)) + { + if (!(task->state & K_TASK_STATE_SUSPENDED)) + { + armv7m_rtos_task_ready_insert(task); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_ready)(task); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } + } + + return true; +} + +static void armv7m_rtos_task_schedule(void) +{ + if (armv7m_rtos_control.system_state == K_STATE_RUNNING) + { + if (armv7m_rtos_control.task_next != armv7m_rtos_control.task_ready) + { + /* Do not switch away from the idle_routine. That is handled within the idle + * reoutine. + */ + + if (armv7m_rtos_control.task_self) + { + armv7m_rtos_control.task_next = armv7m_rtos_control.task_ready; + + if (armv7m_rtos_control.task_self != armv7m_rtos_control.task_next) + { + if (!armv7m_rtos_control.work_self) + { + armv7m_pendsv_hook(armv7m_rtos_pendsv_epilogue); + } + } + } + else + { + stm32wb_system_wakeup(); + } + } + } +} + +static uint64_t armv7m_rtos_clock_convert(uint64_t clock) +{ + uint32_t seconds, millis; + + seconds = clock / 1000; + millis = clock - seconds * 1000; + + clock = (((uint64_t)seconds * (uint64_t)STM32WB_RTC_CLOCK_TICKS_PER_SECOND) + ((millis * STM32WB_RTC_CLOCK_TICKS_PER_SECOND + 999) / 1000)); + + return clock; +} + +static uint64_t armv7m_rtos_clock_offset(uint64_t reference, uint32_t delay) +{ + uint64_t clock; + uint32_t ticks, seconds, millis; + + seconds = delay / 1000; + millis = delay - seconds * 1000; + + ticks = reference & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND -1); + clock = reference & ~(STM32WB_RTC_CLOCK_TICKS_PER_SECOND -1); + + millis += ((ticks * 1000) / STM32WB_RTC_CLOCK_TICKS_PER_SECOND); + + clock += (((uint64_t)seconds * (uint64_t)STM32WB_RTC_CLOCK_TICKS_PER_SECOND) + ((millis * STM32WB_RTC_CLOCK_TICKS_PER_SECOND + 999) / 1000)); + + return clock; +} + + +static void armv7m_rtos_timeout_insert(k_task_t *task, uint64_t clock) +{ + k_task_t *task_timeout; + uint64_t timeout_clock; + + if (armv7m_rtos_control.task_timeout == NULL) + { + armv7m_rtos_control.task_timeout = task; + + task->timeout.next = task; + task->timeout.previous = task; + } + else + { + task_timeout = armv7m_rtos_control.task_timeout; + + do + { + timeout_clock = (((uint64_t)task_timeout->timeout.clock_l << 0) | ((uint64_t)task_timeout->timeout.clock_h << 32)); + + if (clock < timeout_clock) + { + if (task_timeout == armv7m_rtos_control.task_timeout) + { + armv7m_rtos_control.task_timeout = task; + } + break; + } + + task_timeout = task_timeout->timeout.next; + } + while (task_timeout != armv7m_rtos_control.task_timeout); + + task->timeout.previous = task_timeout->timeout.previous; + task->timeout.next = task_timeout; + + task->timeout.previous->timeout.next = task; + task->timeout.next->timeout.previous = task; + } + + task->timeout.clock_l = (uint32_t)(clock >> 0); + task->timeout.clock_h = (uint32_t)(clock >> 32); + + task->state |= K_TASK_STATE_TIMEOUT; +} + +static void armv7m_rtos_timeout_remove(k_task_t *task) +{ + task->state &= ~K_TASK_STATE_TIMEOUT; + + if (task->timeout.next == task) + { + armv7m_rtos_control.task_timeout = NULL; + } + else + { + if (armv7m_rtos_control.task_timeout == task) + { + armv7m_rtos_control.task_timeout = task->timeout.next; + } + + task->timeout.next->timeout.previous = task->timeout.previous; + task->timeout.previous->timeout.next = task->timeout.next; + } + + task->timeout.next = NULL; + task->timeout.previous = NULL; +} + +static void armv7m_rtos_timeout_absolute(k_task_t *task, uint64_t clock) +{ + armv7m_rtos_timeout_insert(task, armv7m_rtos_clock_convert(clock)); + + armv7m_rtos_timeout_schedule(); +} + +static void armv7m_rtos_timeout_relative(k_task_t *task, uint32_t delay) +{ + armv7m_rtos_timeout_insert(task, armv7m_rtos_clock_offset(stm32wb_rtc_clock_read(), delay)); + + armv7m_rtos_timeout_schedule(); +} + +static void armv7m_rtos_timeout_callback(void *context, uint64_t reference) +{ + k_task_t *task; + uint64_t clock; + + task = armv7m_rtos_control.task_timeout; + + if (task) + { + do + { + clock = (((uint64_t)task->timeout.clock_l << 0) | ((uint64_t)task->timeout.clock_h << 32)); + + if (clock > reference) + { + break; + } + + armv7m_rtos_task_unblock(task, (((task->state & K_TASK_STATE_WAIT_MASK) == K_TASK_STATE_WAIT_NONE) ? K_NO_ERROR : K_ERR_TIMEOUT)); + + task = armv7m_rtos_control.task_timeout; + } + while (task); + + armv7m_rtos_timeout_schedule(); + + armv7m_rtos_task_schedule(); + } +} + +static void armv7m_rtos_timeout_schedule(void) +{ + k_task_t *task; + uint64_t clock; + + task = armv7m_rtos_control.task_timeout; + + if (task) + { + clock = (((uint64_t)task->timeout.clock_l << 0) | ((uint64_t)task->timeout.clock_h << 32)); + + if (armv7m_rtos_control.task_clock != clock) + { + armv7m_rtos_control.task_clock = clock; + + stm32wb_rtc_alarm_start(&armv7m_rtos_control.task_timer, clock, armv7m_rtos_timeout_callback, NULL); + } + } + else + { + if (armv7m_rtos_control.task_clock) + { + armv7m_rtos_control.task_clock = 0; + + stm32wb_rtc_alarm_stop(&armv7m_rtos_control.task_timer); + } + } +} + +static void armv7m_rtos_join_release(k_task_t *task) +{ + armv7m_rtos_task_destroy(task->wait.join.task); +} + +static void armv7m_rtos_join_unblock(k_task_t *task) +{ + task->wait.join.task->join = NULL; +} + +static void armv7m_rtos_event_release(k_task_t *task) +{ + uint32_t events_return, *p_events_return; + + events_return = task->events & task->wait.event.events; + + if (task->state & K_TASK_STATE_EVENT_CLEAR) + { + armv7m_atomic_and(&task->events, ~events_return); + } + + p_events_return = task->wait.event.p_events_return; + + if (p_events_return) + { + *p_events_return = events_return; + } +} + +static void armv7m_rtos_event_unblock(k_task_t *task) +{ +} + + +static void armv7m_rtos_sem_wait_insert(k_sem_t *sem, k_task_t *task) +{ + if (sem->waiting.head == NULL) + { + sem->waiting.head = task; + } + else + { + task->previous = sem->waiting.tail; + task->previous->next = task; + } + + sem->waiting.tail = task; + + armv7m_atomic_cas((volatile uint32_t*)&sem->waiting.release, (uint32_t)NULL, (uint32_t)task); +} + +static void armv7m_rtos_sem_wait_remove(k_sem_t *sem, k_task_t *task) +{ + if (sem->waiting.head == task) + { + if (task->next == NULL) + { + sem->waiting.head = NULL; + sem->waiting.tail = NULL; + } + else + { + task->next->previous = NULL; + + sem->waiting.head = task->next; + } + } + else + { + if (task->next == NULL) + { + task->previous->next = NULL; + + sem->waiting.tail = task->previous; + } + else + { + task->next->previous = task->previous; + task->previous->next = task->next; + } + } + + armv7m_atomic_cas((volatile uint32_t*)&sem->waiting.release, (uint32_t)task, (uint32_t)task->next); + + task->next = NULL; + task->previous = NULL; +} + +static k_task_t* armv7m_rtos_sem_wait_release(k_sem_t *sem) +{ + k_task_t *task; + + task = sem->waiting.release; + + if (task) + { + do + { + if (armv7m_atomic_cas((volatile uint32_t*)&sem->waiting.release, (uint32_t)task, (uint32_t)task->next) == (uint32_t)task) + { + if (!task->release) + { + break; + } + } + + task = sem->waiting.release; + } + while (task); + } + + return task; +} + +static void armv7m_rtos_sem_wait_acquire(k_sem_t *sem) +{ + k_task_t *task; + + task = sem->waiting.head; + + if (task->next == NULL) + { + sem->waiting.head = NULL; + sem->waiting.tail = NULL; + } + else + { + task->next->previous = NULL; + + sem->waiting.head = task->next; + } + + task->next = NULL; + task->previous = NULL; +} + +static void armv7m_rtos_sem_release(k_task_t *task) +{ + /* This is tricky here. The code to remove the + * head of a semphore wait list is called out of + * order. So here we just need to remove one task from + * the waiting list for evry task task_release had + * be called. + * + * If the reference in wait.sem.sem is gone means + * that k_sem_deinit() is doing the cleanup. + */ + + if (task->wait.sem.sem) + { + armv7m_rtos_sem_wait_acquire(task->wait.sem.sem); + } +} + +static void armv7m_rtos_sem_unblock(k_task_t *task) +{ + /* We can always remove this task, because the async sem release logic + * skips tasks with a non-NULL task->release. + */ + + armv7m_rtos_sem_wait_remove(task->wait.sem.sem, task); +} + + +static void __attribute__((optimize("O3"), noinline)) armv7m_rtos_mutex_queue_insert(k_mutex_t **p_mutex_head, k_mutex_t *mutex) +{ + k_mutex_t *element; + + if (*p_mutex_head == NULL) + { + *p_mutex_head = mutex; + + mutex->next = mutex; + mutex->previous = mutex; + } + else + { + element = *p_mutex_head; + + do + { + if (mutex->priority < element->priority) + { + if (*p_mutex_head == element) + { + *p_mutex_head = mutex; + } + + break; + } + + element = element->next; + } + while (*p_mutex_head != element); + + mutex->next = element; + mutex->previous = element->previous; + + mutex->previous->next = mutex; + mutex->next->previous = mutex; + } +} + +static void __attribute__((optimize("O3"), noinline)) armv7m_rtos_mutex_queue_remove(k_mutex_t **p_mutex_head, k_mutex_t *mutex) +{ + if (mutex->next == mutex) + { + *p_mutex_head = NULL; + } + else + { + if (*p_mutex_head == mutex) + { + *p_mutex_head = mutex->next; + } + + mutex->next->previous = mutex->previous; + mutex->previous->next = mutex->next; + } + + mutex->next = NULL; + mutex->previous = NULL; +} + +static inline void armv7m_rtos_mutex_owner_insert(k_mutex_t *mutex, k_task_t *task) +{ + armv7m_rtos_mutex_queue_insert(&task->mutex, mutex); +} + +static inline void armv7m_rtos_mutex_owner_remove(k_mutex_t *mutex, k_task_t *task) +{ + armv7m_rtos_mutex_queue_remove(&task->mutex, mutex); +} + +static void armv7m_rtos_mutex_owner_attach(k_mutex_t *mutex, k_task_t *task) +{ + armv7m_rtos_mutex_queue_insert(&task->mutex, mutex); + + mutex->owner = task; + mutex->level = 1; +} + +static void armv7m_rtos_mutex_owner_detach(k_mutex_t *mutex, k_task_t *task) +{ + mutex->level = 0; + mutex->owner = NULL; + + armv7m_rtos_mutex_queue_remove(&task->mutex, mutex); +} + +static inline void armv7m_rtos_mutex_wait_insert(k_mutex_t *mutex, k_task_t *task) +{ + armv7m_rtos_task_queue_insert(&mutex->waiting, task); +} + +static inline void armv7m_rtos_mutex_wait_remove(k_mutex_t *mutex, k_task_t *task) +{ + armv7m_rtos_task_queue_remove(&mutex->waiting, task); +} + +static k_task_t * armv7m_rtos_mutex_priority(k_task_t *task) +{ + k_task_t *owner; + k_mutex_t *mutex; + + owner = NULL; + + if ((task->state & K_TASK_STATE_WAIT_MASK) == K_TASK_STATE_WAIT_MUTEX) + { + mutex = task->wait.mutex.mutex; + + armv7m_rtos_mutex_wait_remove(mutex, task); + armv7m_rtos_mutex_wait_insert(mutex, task); + + if (mutex->options & K_MUTEX_PRIORITY_INHERIT) + { + if (mutex->priority != mutex->waiting->priority) + { + mutex->priority = mutex->waiting->priority; + + owner = mutex->owner; + + armv7m_rtos_mutex_owner_remove(mutex, owner); + armv7m_rtos_mutex_owner_insert(mutex, owner); + } + } + } + + return owner; +} + +static void armv7m_rtos_mutex_destroy(k_task_t *task) +{ + k_mutex_t *mutex; + + mutex = task->mutex; + + if (mutex) + { + do + { + armv7m_rtos_mutex_owner_detach(mutex, task); + + if (mutex->waiting) + { + armv7m_rtos_task_release_enqueue(mutex->waiting); + } + + mutex = task->mutex; + } + while (mutex); + } +} + +static void armv7m_rtos_mutex_unblock(k_task_t *task) +{ + k_task_t *owner; + k_mutex_t *mutex; + uint32_t priority; + + mutex = task->wait.mutex.mutex; + + armv7m_rtos_mutex_wait_remove(mutex, task); + + if (mutex->options & K_MUTEX_PRIORITY_INHERIT) + { + priority = (mutex->waiting ? mutex->waiting->priority : K_PRIORITY_MIN); + + if (mutex->priority != priority) + { + mutex->priority = priority; + + owner = mutex->owner; + + armv7m_rtos_mutex_owner_remove(mutex, owner); + armv7m_rtos_mutex_owner_insert(mutex, owner); + + armv7m_rtos_task_priority(owner); + } + } +} + +static void armv7m_rtos_mutex_release(k_task_t *task) +{ + k_mutex_t *mutex; + + mutex = task->wait.mutex.mutex; + + armv7m_rtos_mutex_wait_remove(mutex, task); + + if (mutex->options & K_MUTEX_PRIORITY_INHERIT) + { + mutex->priority = (mutex->waiting ? mutex->waiting->priority : K_PRIORITY_MIN); + } + + armv7m_rtos_mutex_owner_attach(mutex, task); + + if (mutex->options & (K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) + { + armv7m_rtos_task_priority(task); + } +} + + +static int armv7m_rtos_work_deinit(k_work_t *work) +{ + k_work_t * volatile *work_previous; + k_work_t *work_submit; + + __armv7m_atomic_store_2_restart((volatile uint32_t*)&work->routine, 0, 0); + + if (work->next) + { + if (__armv7m_atomic_cas((volatile uint32_t*)&armv7m_rtos_control.work_submit, (uint32_t)work, (uint32_t)work->next) != (uint32_t)work) + { + for (work_previous = &armv7m_rtos_control.work_submit, work_submit = *work_previous; work_submit != K_WORK_SENTINEL; work_previous = &work_submit->next, work_submit = *work_previous) + { + if (work_submit == work) + { + *work_previous = work->next; + + work->next = NULL; + + break; + } + } + } + } + + return K_NO_ERROR; +} + +static int __attribute__((optimize("O3"))) armv7m_rtos_work_submit(k_work_t *work) +{ + k_work_t *work_submit; + + if (__armv7m_atomic_cas((volatile uint32_t*)&work->next, (uint32_t)NULL, (uint32_t)K_WORK_SENTINEL) != (uint32_t)NULL) + { + return K_ERR_WORK_ALREADY_SUBMITTED; + } + + do + { + work_submit = armv7m_rtos_control.work_submit; + + work->next = work_submit; + } + while ((k_work_t*)__armv7m_atomic_cas((volatile uint32_t*)&armv7m_rtos_control.work_submit, (uint32_t)work_submit, (uint32_t)work) != work_submit); + + if (work_submit == K_WORK_SENTINEL) + { + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_WORK); + } + + return K_NO_ERROR; +} + +static void __attribute__((optimize("O3"), used)) armv7m_rtos_work_return(void) +{ + k_work_t *work; + + armv7m_rtos_control.work_self = NULL; + + work = armv7m_rtos_control.work_head; + + if (work != K_WORK_SENTINEL) + { + if (work == armv7m_rtos_control.work_tail) + { + armv7m_rtos_control.work_head = K_WORK_SENTINEL; + armv7m_rtos_control.work_tail = K_WORK_SENTINEL; + } + else + { + armv7m_rtos_control.work_head = work->next; + } + + armv7m_rtos_control.work_self = work; + + work->next = NULL; + } + else + { +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + if (armv7m_rtos_control.task_self == armv7m_rtos_control.task_next) + { + (*armv7m_rtos_control.hook_table->task_run)(armv7m_rtos_control.task_self); + } +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } +} + +static void __attribute__((optimize("O3"))) armv7m_rtos_work_schedule(void) +{ + k_work_t *work; + + if (armv7m_rtos_control.system_state == K_STATE_RUNNING) + { + work = armv7m_rtos_control.work_head; + + if (work != K_WORK_SENTINEL) + { + if (!armv7m_rtos_control.work_self) + { + if (work == armv7m_rtos_control.work_tail) + { + armv7m_rtos_control.work_head = K_WORK_SENTINEL; + armv7m_rtos_control.work_tail = K_WORK_SENTINEL; + } + else + { + armv7m_rtos_control.work_head = work->next; + } + + armv7m_rtos_control.work_self = work; + + work->next = NULL; + + armv7m_pendsv_hook(armv7m_rtos_pendsv_epilogue); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_run)(K_TASK_WORK); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + } + } + } +} + +static void __attribute__((optimize("O3"))) armv7m_rtos_work_routine(void) +{ + k_work_t *work_submit, *work_next, *work_head, *work_tail; + + if (armv7m_rtos_control.work_submit != K_WORK_SENTINEL) + { + work_submit = (k_work_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.work_submit, (uint32_t)K_WORK_SENTINEL); + + for (work_head = K_WORK_SENTINEL, work_tail = work_submit; work_submit != K_WORK_SENTINEL; work_submit = work_next) + { + work_next = work_submit->next; + + work_submit->next = work_head; + + work_head = work_submit; + } + + if (armv7m_rtos_control.work_head == K_WORK_SENTINEL) + { + armv7m_rtos_control.work_head = work_head; + } + else + { + armv7m_rtos_control.work_tail->next = work_head; + } + + armv7m_rtos_control.work_tail = work_tail; + + armv7m_rtos_work_schedule(); + } +} + + +static void armv7m_rtos_alarm_insert(k_alarm_t *alarm, uint64_t clock) +{ + k_alarm_t *alarm_element, *alarm_next; + uint64_t element_clock; + + if (armv7m_rtos_control.alarm_queue == NULL) + { + armv7m_rtos_control.alarm_queue = alarm; + + alarm->next = alarm; + alarm->previous = alarm; + } + else + { + alarm_element = armv7m_rtos_control.alarm_queue; + + do + { + alarm_next = alarm_element->next; + + element_clock = (((uint64_t)alarm_element->clock_l << 0) | ((uint64_t)alarm_element->clock_h << 32)); + + if (!alarm_element->modify) + { + if (clock < element_clock) + { + if (alarm_element == armv7m_rtos_control.alarm_queue) + { + armv7m_rtos_control.alarm_queue = alarm; + } + break; + } + } + else + { + armv7m_rtos_alarm_remove(alarm_element); + } + + alarm_element = alarm_next; + } + while (alarm_element != armv7m_rtos_control.alarm_queue); + + if (armv7m_rtos_control.alarm_queue == NULL) + { + armv7m_rtos_control.alarm_queue = alarm; + + alarm->next = alarm; + alarm->previous = alarm; + } + else + { + alarm->previous = alarm_element->previous; + alarm->next = alarm_element; + + alarm->previous->next = alarm; + alarm->next->previous = alarm; + } + } +} + +static void armv7m_rtos_alarm_remove(k_alarm_t *alarm) +{ + if (alarm->next == alarm) + { + armv7m_rtos_control.alarm_queue = NULL; + } + else + { + if (alarm == armv7m_rtos_control.alarm_queue) + { + armv7m_rtos_control.alarm_queue = alarm->next; + } + + alarm->next->previous = alarm->previous; + alarm->previous->next = alarm->next; + } + + alarm->next = NULL; + alarm->previous = NULL; +} + +static void armv7m_rtos_alarm_schedule(void) +{ + k_alarm_t *alarm; + uint64_t clock; + + alarm = armv7m_rtos_control.alarm_queue; + + if (alarm) + { + clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); + + if (armv7m_rtos_control.alarm_clock != clock) + { + armv7m_rtos_control.alarm_clock = clock; + + stm32wb_rtc_alarm_start(&armv7m_rtos_control.alarm_timer, clock, armv7m_rtos_alarm_callback, NULL); + } + } + else + { + if (armv7m_rtos_control.alarm_clock) + { + armv7m_rtos_control.alarm_clock = 0; + + stm32wb_rtc_alarm_stop(&armv7m_rtos_control.alarm_timer); + } + } +} + +static void armv7m_rtos_alarm_routine(void) +{ + k_alarm_t *alarm, *alarm_next, *alarm_previous; + uint64_t clock; + + alarm = (k_alarm_t*)armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.alarm_modify, (uint32_t)K_ALARM_SENTINEL); + + if (alarm != K_ALARM_SENTINEL) + { + /* Revert the modify queue, and process it. + */ + for (alarm_previous = K_ALARM_SENTINEL; alarm != K_ALARM_SENTINEL; alarm = alarm_next) + { + alarm_next = alarm->modify; + + alarm->modify = alarm_previous; + + alarm_previous = alarm; + } + + alarm = alarm_previous; + + while (alarm != K_ALARM_SENTINEL) + { + alarm_next = alarm->modify; + + if (alarm->next) + { + armv7m_rtos_alarm_remove(alarm); + } + + clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); + + alarm->modify = NULL; + + if (!alarm->modify) + { + if (clock) + { + armv7m_rtos_alarm_insert(alarm, clock); + } + } + + alarm = alarm_next; + } + + armv7m_rtos_alarm_schedule(); + } +} + +static void armv7m_rtos_alarm_callback(void *context, uint64_t reference) +{ + k_alarm_t *alarm; + uint64_t clock; + uint32_t clock_l, clock_h, ticks, period, seconds, millis; + + alarm = armv7m_rtos_control.alarm_queue; + + if (alarm) + { + do + { + clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); + period = alarm->period; + + if (!alarm->modify) + { + if (clock > reference) + { + break; + } + + armv7m_rtos_alarm_remove(alarm); + + armv7m_rtos_work_submit(&alarm->work); + + if (period) + { + seconds = period / 1000; + millis = period - seconds * 1000; + + ticks = clock & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND -1); + clock = clock & ~(STM32WB_RTC_CLOCK_TICKS_PER_SECOND -1); + + millis += ((ticks * 1000) / STM32WB_RTC_CLOCK_TICKS_PER_SECOND); + + clock += (((uint64_t)seconds * (uint64_t)STM32WB_RTC_CLOCK_TICKS_PER_SECOND) + ((millis * STM32WB_RTC_CLOCK_TICKS_PER_SECOND + 999) / 1000)); + + clock_l = (uint32_t)(clock >> 0); + clock_h = (uint32_t)(clock >> 32); + + if (!alarm->modify) + { + __armv7m_atomic_store_3_restart((volatile uint32_t*)&alarm->clock_l, clock_l, clock_h, period); + + armv7m_rtos_alarm_insert(alarm, clock); + } + } + } + else + { + armv7m_rtos_alarm_remove(alarm); + } + + alarm = armv7m_rtos_control.alarm_queue; + } + while (alarm); + + armv7m_rtos_alarm_schedule(); + } +} + +static void armv7m_rtos_alarm_modify(k_alarm_t *alarm, uint64_t clock, uint32_t period) +{ + k_alarm_t *alarm_modify; + uint32_t clock_l, clock_h; + + clock_l = (uint32_t)(clock >> 0); + clock_h = (uint32_t)(clock >> 32); + + __armv7m_atomic_store_3_restart((volatile uint32_t*)&alarm->clock_l, clock_l, clock_h, period); + + if (armv7m_atomic_cas((volatile uint32_t*)&alarm->modify, (uint32_t)NULL, (uint32_t)K_ALARM_SENTINEL) == (uint32_t)NULL) + { + armv7m_rtos_control.alarm_routine = armv7m_rtos_alarm_routine; + + alarm_modify = (k_alarm_t*)armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.alarm_modify, (uint32_t)alarm); + + alarm->modify = alarm_modify; + + if (alarm_modify == K_ALARM_SENTINEL) + { + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_ALARM); + } + } +} + +/******************************************************************************************************************************/ + +static void * __attribute__((noinline)) __svc_armv7m_rtos_heap_allocate(uint32_t size) +{ + k_task_t *task; + void *heap_current, *heap_limit, *stack_limit; + + // armv7m_rtt_printf("k_heap_allocate(size=%d)\n", size); + + heap_current = armv7m_rtos_control.heap_current; + heap_limit = &__StackLimit[0]; + + if (size > (uint32_t)(heap_limit - heap_current)) + { + return NULL; + } + + task = armv7m_rtos_control.task_default; + + if (task) + { + stack_limit = (void*)(((uint32_t)(heap_current + size) + 31) & ~31) + 32; + + if (task->stack_limit < stack_limit) + { + if ((((uint32_t*)stack_limit)[-8] != 0xaaaaaaaa) || + (((uint32_t*)stack_limit)[-7] != 0x77777777) || + (((uint32_t*)stack_limit)[-6] != 0xaaaaaaaa) || + (((uint32_t*)stack_limit)[-5] != 0x77777777) || + (((uint32_t*)stack_limit)[-4] != 0xaaaaaaaa) || + (((uint32_t*)stack_limit)[-3] != 0x77777777) || + (((uint32_t*)stack_limit)[-2] != 0xaaaaaaaa) || + (((uint32_t*)stack_limit)[-1] != 0x77777777)) + { + return NULL; + } + + task->stack_limit = stack_limit; + +#if (ARMV7M_RTOS_MPU_SUPPORTED == 1) + MPU->RBAR = (((uint32_t)stack_limit - 32) & 0xffffff00) | MPU_RBAR_VALID_Msk | (7 << MPU_RBAR_REGION_Pos); + MPU->RASR = (MPU_RASR_SRD_Msk ^ ((1 << MPU_RASR_SRD_Pos) << ((((uint32_t)stack_limit - 32) & 0x000000ff) >> 5))) | (7 << MPU_RASR_SIZE_Pos) | MPU_RASR_ENABLE_Msk; +#endif /* ARMV7M_RTOS_MPU_SUPPORTED == 1 */ + } + } + + armv7m_rtos_control.heap_current += size; + + return heap_current; +} + +static void __attribute__((noinline, used)) __svc_armv7m_rtos_system_start(k_task_routine_t routine, void *context) +{ + if (routine) + { + armv7m_rtos_task_start(armv7m_rtos_control.task_default, routine, context); + } + + armv7m_rtos_control.system_state = K_STATE_RUNNING; + + /* No special dispatch needed, as this case is handled via armv7m_rtos_system_start. + * That code on the tail end call armv7m_rtos_pendsv_callback, to avoid cycling + * throu PENDSV and possibly fetching a bad exception frame off the stack. + */ + + armv7m_rtos_control.task_self = K_TASK_TERMINATED; + armv7m_rtos_control.task_next = armv7m_rtos_control.task_ready; + + armv7m_rtos_work_schedule(); +} + +static bool __attribute__((noinline)) __svc_armv7m_rtos_system_lock(void) +{ + uint8_t system_state; + + system_state = armv7m_rtos_control.system_state; + + if (!armv7m_rtos_control.work_self) + { + if (system_state == K_STATE_RUNNING) + { + armv7m_rtos_control.system_state = K_STATE_LOCKED; + } + } + + return (system_state == K_STATE_LOCKED); +} + +static void __attribute__((noinline)) __svc_armv7m_rtos_system_unlock(void) +{ + if (!armv7m_rtos_control.work_self) + { + if (armv7m_rtos_control.system_state == K_STATE_LOCKED) + { + armv7m_rtos_control.system_state = K_STATE_RUNNING; + + armv7m_rtos_task_schedule(); + + armv7m_rtos_work_schedule(); + } + } +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_system_set_policy(uint32_t policy, uint32_t *p_policy_return) +{ + uint32_t policy_previous; + + if (policy > K_POLICY_STOP) + { + return K_ERR_INVALID_PARAMETER; + } + + if (policy == K_POLICY_CURRENT) + { + policy_previous = armv7m_rtos_control.system_policy; + } + else + { + policy_previous = __armv7m_atomic_swapb(&armv7m_rtos_control.system_policy, policy); + } + + if (p_policy_return) + { + *p_policy_return = policy_previous; + } + + return K_NO_ERROR; +} + + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_create(k_task_t *task, const k_task_params_t *params) +{ + // armv7m_rtt_printf("k_task_create(task=%08x, name=\"%s\", routine=%08x, context=%0x, priority=%d, stack_base=%08x, stack_size=%d, options=%08x)\n", task, params->name, params->routine, params->context, params->priority, params->stack_base, params->stack_size, params->options); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!task) + { + return K_ERR_INVALID_OBJECT; + } + + if (!params->routine) + { + return K_ERR_INVALID_PARAMETER; + } + + if ((params->priority < K_PRIORITY_MAX) || (params->priority > K_PRIORITY_MIN)) + { + return K_ERR_INVALID_PARAMETER; + } + + if ((uint32_t)params->stack_base & 7) + { + return K_ERR_INVALID_PARAMETER; + } + + if ((params->stack_size & 7) || (params->stack_size < K_STACK_SIZE_MIN)) + { + return K_ERR_INVALID_PARAMETER; + } + + if (params->options & ~(K_TASK_SUSPENDED | K_TASK_JOINABLE)) + { + return K_ERR_INVALID_PARAMETER; + } + + armv7m_rtos_task_create(task, params->name, params->priority, params->stack_base, params->stack_size, params->options); + + armv7m_rtos_task_start(task, params->routine, params->context); + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +/* static */ void __attribute__((noinline)) __svc_armv7m_rtos_task_return(void) +{ + k_task_t *self; + + // armv7m_rtt_printf("k_task_return()\n"); + + self = armv7m_rtos_control.task_self; + + armv7m_rtos_task_ready_remove(self); + + /* No special dispatch needed, as this case is handled via armv7m_rtos_task_exit. + * That code on the tail end call armv7m_rtos_pendsv_callback, to avoid cycling + * throu PENDSV and possibly fetching a bad exception frame off the stack. + */ + + armv7m_rtos_control.task_self = K_TASK_TERMINATED; + armv7m_rtos_control.task_next = armv7m_rtos_control.task_ready; + + if (armv7m_rtos_control.system_state == K_STATE_LOCKED) + { + armv7m_rtos_control.system_state = K_STATE_RUNNING; + + armv7m_rtos_work_schedule(); + } +} + +/* static */ void __attribute__((noinline)) __svc_armv7m_rtos_task_exit(void) +{ + k_task_t *self; + + // armv7m_rtt_printf("k_task_exit()\n"); + + self = armv7m_rtos_control.task_self; + + self->state |= K_TASK_STATE_TERMINATED; + + armv7m_rtos_task_ready_remove(self); + + if (self->join) + { + armv7m_rtos_task_release_enqueue(self->join); + } + + armv7m_rtos_mutex_destroy(self); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_exit)(); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + if (!(self->state & K_TASK_STATE_JOINABLE)) + { + armv7m_rtos_task_destroy(self); + } + + /* No special dispatch needed, as this case is handled via armv7m_rtos_task_exit. + * That code on the tail end call armv7m_rtos_pendsv_callback, to avoid cycling + * throu PENDSV and possibly fetching a bad exception frame off the stack. + */ + + armv7m_rtos_control.task_self = K_TASK_TERMINATED; + armv7m_rtos_control.task_next = armv7m_rtos_control.task_ready; + + if (armv7m_rtos_control.system_state == K_STATE_LOCKED) + { + armv7m_rtos_control.system_state = K_STATE_RUNNING; + + armv7m_rtos_work_schedule(); + } +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_terminate(k_task_t *task) +{ + // armv7m_rtt_printf("k_task_terminate(task=%08x)\n", task); + + /* No need to check for K_STATE_LOCKED here. Because we do + * not allow task_self to be terminated, there is not way + * to switch the current task out and end up with a locked up + * system. + */ + + if (task == armv7m_rtos_control.task_self) + { + return K_ERR_ILLEGAL_USE; + } + + if (task == armv7m_rtos_control.task_default) + { + return K_ERR_ILLEGAL_USE; + } + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + task->state |= K_TASK_STATE_TERMINATED; + + if (task->state & (K_TASK_STATE_TIMEOUT | K_TASK_STATE_WAIT_MASK)) + { + armv7m_rtos_task_unblock(task, K_ERR_UNSATISFIED); + } + + if (task->state & K_TASK_STATE_SUSPENDED) + { + armv7m_rtos_task_resume_enqueue(task); + } + + // Resolve all the deferred resume/resolve logic + armv7m_rtos_task_resume_dequeue(); + armv7m_rtos_task_release_dequeue(); + + if (task->state & K_TASK_STATE_READY) + { + armv7m_rtos_task_ready_remove(task); + } + + if (task->join) + { + armv7m_rtos_task_release_enqueue(task->join); + } + + armv7m_rtos_mutex_destroy(task); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_terminate)(task); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + if (!(task->state & K_TASK_STATE_JOINABLE)) + { + armv7m_rtos_task_destroy(task); + } + + armv7m_rtos_timeout_schedule(); + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_detach(k_task_t *task) +{ + // armv7m_rtt_printf("k_task_detach(task=%08x)\n", task); + + if (!task || !task->link) + { + return K_ERR_INVALID_OBJECT; + } + + if (task == armv7m_rtos_control.task_default) + { + return K_ERR_ILLEGAL_USE; + } + + if (!(task->state & K_TASK_STATE_JOINABLE)) + { + return K_ERR_TASK_ALREADY_DETACHED; + } + + if (task->join) + { + return K_ERR_TASK_ALREADY_JOINED; + } + + task->state &= ~K_TASK_STATE_JOINABLE; + + if (task->state & K_TASK_STATE_TERMINATED) + { + armv7m_rtos_task_destroy(task); + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_join(k_task_t *task) +{ + k_task_t *self; + + // armv7m_rtt_printf("k_task_join(task=%08x)\n", task); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + return K_ERR_ILLEGAL_USE; + } + + if (task == armv7m_rtos_control.task_default) + { + return K_ERR_ILLEGAL_USE; + } + + if (!task || !task->link) + { + return K_ERR_INVALID_OBJECT; + } + + if (!(task->state & K_TASK_STATE_JOINABLE)) + { + return K_ERR_TASK_NOT_JOINABLE; + } + + if (task->join) + { + return K_ERR_TASK_ALREADY_JOINED; + } + + armv7m_rtos_control.wait_table[K_TASK_STATE_WAIT_JOIN - K_TASK_STATE_WAIT_JOIN] = &armv7m_rtos_join_wait_entry; + + if (task->state & K_TASK_STATE_TERMINATED) + { + armv7m_rtos_task_destroy(task); + } + else + { + self = armv7m_rtos_control.task_self; + + task->join = self; + + armv7m_rtos_task_ready_remove(self); + + self->wait.join.task = task; + + self->state |= K_TASK_STATE_WAIT_JOIN; + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + armv7m_rtos_task_schedule(); + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_enumerate(uint32_t *p_count_return, k_task_t **p_task_return, uint32_t count) +{ + k_task_t *task; + uint32_t index; + + // armv7m_rtt_printf("k_task_enumerate(p_count_return=%08x, p_task_return=%08x, count=%d)\n", p_count_return, p_task_return, count); + + for (task = armv7m_rtos_control.task_link, index = 0; task != K_TASK_SENTINEL; task = task->link, index++) + { + if (p_task_return) + { + if (index < count) + { + p_task_return[index] = task; + } + } + } + + if (p_count_return) + { + *p_count_return = index; + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_info(k_task_t *task, k_task_info_t *p_task_info_return) +{ + // armv7m_rtt_printf("k_task_info(task=%08x, p_task_info_return=%08x)\n", task, p_task_info_return); + + if (!task || !task->link) + { + return K_ERR_INVALID_OBJECT; + } + + if (p_task_info_return) + { + p_task_info_return->name = task->name; + p_task_info_return->priority = task->priority; + p_task_info_return->bpriority = task->bpriority; + p_task_info_return->state = armv7m_rtos_task_state(task); + p_task_info_return->wait = (task->state & K_TASK_STATE_WAIT_MASK); + p_task_info_return->events = task->events; + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_stack(k_task_t *task, uint32_t *p_stack_base_return, uint32_t *p_stack_size_return, uint32_t *p_stack_space_return) +{ + uint32_t *stack_end; + + // armv7m_rtt_printf("k_task_stack(task=%08x, p_stack_base_return=%08x, p_stack_size_return=%08x, p_stack_space_return=%08x)\n", task, p_stack_base_return, p_stack_size_return, p_stack_space_return); + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + if (p_stack_base_return) + { + *p_stack_base_return = (uint32_t)task->stack_limit; + } + + if (p_stack_size_return) + { + *p_stack_size_return = (uint32_t)task->stack_base - (uint32_t)task->stack_limit; + } + + if (p_stack_space_return) + { + if (task->stack_end > task->stack_top) + { + task->stack_end = task->stack_top; + } + + for (stack_end = (uint32_t*)task->stack_limit; stack_end < (uint32_t*)task->stack_end; stack_end += 2) + { + if ((stack_end[0] != 0xaaaaaaaa) || (stack_end[1] != 0x77777777)) + { + break; + } + } + + task->stack_end = stack_end; + + *p_stack_space_return = (uint32_t)task->stack_end - (uint32_t)task->stack_limit; + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_unblock(k_task_t *task) +{ + // armv7m_rtt_printf("k_task_unblock(task=%08x)\n", task); + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + if (!(task->state & K_TASK_STATE_WAIT_MASK)) + { + return K_ERR_TASK_NOT_BLOCKED; + } + + armv7m_rtos_task_unblock(task, K_ERR_UNSATISFIED); + + armv7m_rtos_timeout_schedule(); + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_suspend(k_task_t *task) +{ + // armv7m_rtt_printf("k_task_suspend(task=%08x)\n", task); + + if (task == armv7m_rtos_control.task_self) + { + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + return K_ERR_ILLEGAL_USE; + } + } + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + if (task->state & K_TASK_STATE_SUSPENDED) + { + return K_ERR_TASK_ALREADY_SUSPENDED; + } + + if (task->state & K_TASK_STATE_READY) + { + armv7m_rtos_task_ready_remove(task); + } + + task->state |= K_TASK_STATE_SUSPENDED; + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(task, (task->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_resume(k_task_t *task) +{ + // armv7m_rtt_printf("k_task_resume(task=%08x)\n", task); + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + if (!(task->state & K_TASK_STATE_SUSPENDED)) + { + return K_ERR_TASK_NOT_SUSPENDED; + } + + if (!armv7m_rtos_task_resume_enqueue(task)) + { + return K_ERR_TASK_NOT_SUSPENDED; + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_set_priority(k_task_t *task, uint32_t priority, uint32_t *p_priority_return) +{ + uint32_t priority_previous; + + // armv7m_rtt_printf("k_task_set_priority(task=%08x, priority=%d, p_priority_return=%08x)\n", task, priority, p_priority_return); + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + if (priority > K_PRIORITY_MIN) + { + return K_ERR_INVALID_PARAMETER; + } + + priority_previous = task->bpriority; + + if (priority != K_PRIORITY_CURRENT) + { + if (task->bpriority != priority) + { + task->bpriority = priority; + + armv7m_rtos_task_priority(task); + + armv7m_rtos_task_schedule(); + } + } + + if (p_priority_return) + { + *p_priority_return = priority_previous; + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_get_priority(k_task_t *task, uint32_t *p_priority_return) +{ + // armv7m_rtt_printf("k_task_get_priority(task=%08x, p_priority_return=%08x)\n", task, p_priority_return); + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + if (p_priority_return) + { + *p_priority_return = task->priority; + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_delay(uint32_t delay) +{ + k_task_t *self; + + // armv7m_rtt_printf("k_task_delay(delay=%d)\n", delay); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + return K_ERR_ILLEGAL_USE; + } + + if (!delay) + { + return K_ERR_INVALID_PARAMETER; + } + + self = armv7m_rtos_control.task_self; + + armv7m_rtos_task_ready_remove(self); + + armv7m_rtos_timeout_relative(self, delay); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_delay_until(uint32_t clock_l, uint32_t clock_h) +{ + k_task_t *self; + uint64_t clock; + + // armv7m_rtt_printf("k_task_delay_until(clock=%08x%08x)\n", clock_h, clock_l); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + return K_ERR_ILLEGAL_USE; + } + + if (!clock_l && !clock_h) + { + return K_ERR_INVALID_PARAMETER; + } + + clock = (((uint64_t)clock_l << 0) | ((uint64_t)clock_h << 32)); + + self = armv7m_rtos_control.task_self; + + armv7m_rtos_task_ready_remove(self); + + armv7m_rtos_timeout_absolute(self, clock); + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_task_yield(void) +{ + k_task_t *self; + + // armv7m_rtt_printf("k_task_yield()\n"); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + return K_ERR_ILLEGAL_USE; + } + + self = armv7m_rtos_control.task_self; + + armv7m_rtos_task_ready_remove(self); + armv7m_rtos_task_ready_insert(self); + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + + +static int __attribute__((noinline)) __svc_armv7m_rtos_event_send(k_task_t *task, uint32_t events) +{ + uint32_t events_return; + + // armv7m_rtt_printf("k_event_send(task=%08x, events=%08x)\n", task, events); + + if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) + { + return K_ERR_INVALID_OBJECT; + } + + armv7m_atomic_or(&task->events, events); + + if ((task->state & K_TASK_STATE_WAIT_MASK) == K_TASK_STATE_WAIT_EVENT) + { + events_return = task->events & task->wait.event.events; + + if (task->state & K_TASK_STATE_EVENT_ALL) + { + if (events_return != task->wait.event.events) + { + events_return = 0; + } + } + + if (events_return) + { + armv7m_rtos_task_release_enqueue(task); + } + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_event_receive(uint32_t events, uint32_t mode, uint32_t timeout, uint32_t *p_events_return) +{ + k_task_t *self; + uint32_t events_return; + + // armv7m_rtt_printf("k_event_receive(events=%08x, mode=%08x, timeout=%d, p_events_return=%08x)\n", events, mode, timeout, p_events_return); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + self = armv7m_rtos_control.task_self; + + if (!self) + { + return K_ERR_ILLEGAL_USE; + } + + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + if (timeout != K_TIMEOUT_NONE) + { + return K_ERR_INVALID_PARAMETER; + } + } + + armv7m_rtos_control.wait_table[K_TASK_STATE_WAIT_EVENT - K_TASK_STATE_WAIT_JOIN] = &armv7m_rtos_event_wait_entry; + + events_return = self->events & events; + + if (mode & K_EVENT_ALL) + { + if (events_return != events) + { + events_return = 0; + } + } + + if (events_return) + { + if (mode & K_EVENT_CLEAR) + { + armv7m_atomic_and(&self->events, ~events_return); + } + + if (p_events_return) + { + *p_events_return = events_return; + } + + return K_NO_ERROR; + } + + if (timeout == K_TIMEOUT_NONE) + { + return K_ERR_UNSATISFIED; + } + + armv7m_rtos_task_ready_remove(self); + + self->wait.event.events = events; + self->wait.event.p_events_return = p_events_return; + + self->state |= (K_TASK_STATE_WAIT_EVENT | ((mode & K_EVENT_ALL) ? K_TASK_STATE_EVENT_ALL : 0) | ((mode & K_EVENT_CLEAR) ? K_TASK_STATE_EVENT_CLEAR : 0)); + + if (timeout != K_TIMEOUT_FOREVER) + { + armv7m_rtos_timeout_relative(self, timeout); + } + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + armv7m_rtos_task_schedule(); + + events_return = self->events & events; + + if (mode & K_EVENT_ALL) + { + if (events_return != events) + { + events_return = 0; + } + } + + if (events_return) + { + armv7m_rtos_task_release_enqueue(self); + } + + return K_NO_ERROR; +} + + + +static int __attribute__((noinline)) __svc_armv7m_rtos_sem_init(k_sem_t *sem, uint32_t count, uint32_t limit) +{ + // armv7m_rtt_printf("k_sem_init(sem=%08x, count=%d, limit=%d)\n", sem, count, limit); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!sem) + { + return K_ERR_INVALID_OBJECT; + } + + if ((count > 0xffff) || (limit > 0xffff)) + { + return K_ERR_INVALID_PARAMETER; + } + + *sem = K_SEM_INIT(count, limit); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_sem_deinit(k_sem_t *sem) +{ + k_task_t *task; + + // armv7m_rtt_printf("k_sem_deinit(sem=%08x)\n", sem); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!sem) + { + return K_ERR_INVALID_OBJECT; + } + + task = sem->waiting.head; + + if (task) + { + sem->waiting.release = NULL; + + do + { + if (!armv7m_rtos_task_unblock(task, K_ERR_UNSATISFIED)) + { + /* Means the task got already released, so just remove + * it from the waiting list, and let the release logic + * handle the rest. + */ + armv7m_rtos_sem_wait_remove(sem, task); + + task->wait.sem.sem = NULL; + } + + task = sem->waiting.head; + } + while (task); + + armv7m_rtos_timeout_schedule(); + + armv7m_rtos_task_schedule(); + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_sem_acquire(k_sem_t *sem, uint32_t timeout) +{ + uint32_t count; + k_task_t *self, *task; + + // armv7m_rtt_printf("k_sem_acquire(sem=%08x, timeout=%d)\n", sem, timeout); + + if (!sem) + { + return K_ERR_INVALID_OBJECT; + } + + if (armv7m_rtos_control.work_self) + { + if (timeout != K_TIMEOUT_NONE) + { + return K_ERR_INVALID_PARAMETER; + } + } + else + { + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + if (timeout != K_TIMEOUT_NONE) + { + return K_ERR_INVALID_PARAMETER; + } + } + } + + armv7m_rtos_control.wait_table[K_TASK_STATE_WAIT_SEM - K_TASK_STATE_WAIT_JOIN] = &armv7m_rtos_sem_wait_entry; + + count = armv7m_atomic_dech(&sem->count); + + if (count) + { + return K_NO_ERROR; + } + + if (timeout == K_TIMEOUT_NONE) + { + return K_ERR_UNSATISFIED; + } + + self = armv7m_rtos_control.task_self; + + armv7m_rtos_task_ready_remove(self); + + self->wait.sem.sem = sem; + + self->state |= K_TASK_STATE_WAIT_SEM; + + if (timeout != K_TIMEOUT_FOREVER) + { + armv7m_rtos_timeout_relative(self, timeout); + } + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + armv7m_rtos_task_schedule(); + + armv7m_rtos_sem_wait_insert(sem, self); + + count = armv7m_atomic_dech(&sem->count); + + if (count) + { + task = armv7m_rtos_sem_wait_release(sem); + + if (task) + { + armv7m_rtos_task_release_enqueue(task); + } + else + { + if (armv7m_atomic_inch(&sem->count, sem->limit) == sem->limit) + { + return K_ERR_SEM_OVERFLOW; + } + } + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_sem_release(k_sem_t *sem) +{ + k_task_t *task; + + // armv7m_rtt_printf("k_sem_release(sem=%08x)\n", sem); + + if (!sem) + { + return K_ERR_INVALID_OBJECT; + } + + task = armv7m_rtos_sem_wait_release(sem); + + if (task) + { + armv7m_rtos_task_release_enqueue(task); + } + else + { + if (armv7m_atomic_inch(&sem->count, sem->limit) == sem->limit) + { + return K_ERR_SEM_OVERFLOW; + } + } + + return K_NO_ERROR; +} + + +static int __attribute__((noinline)) __svc_armv7m_rtos_mutex_init(k_mutex_t *mutex, uint32_t priority, uint32_t options) +{ + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!mutex) + { + return K_ERR_INVALID_OBJECT; + } + + if (options & ~(K_MUTEX_RECURSIVE | K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) + { + return K_ERR_INVALID_PARAMETER; + } + + if (options & K_MUTEX_PRIORITY_PROTECT) + { + if ((priority < K_PRIORITY_MAX) || (priority > K_PRIORITY_MIN)) + { + return K_ERR_INVALID_PARAMETER; + } + } + else + { + priority = K_PRIORITY_MIN; + } + + *mutex = K_MUTEX_INIT(priority, options); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_mutex_deinit(k_mutex_t *mutex) +{ + k_task_t *owner; + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!mutex) + { + return K_ERR_INVALID_OBJECT; + } + + owner = mutex->owner; + + if (owner) + { + armv7m_rtos_mutex_owner_detach(mutex, owner); + + if (mutex->options & K_MUTEX_PRIORITY_INHERIT) + { + armv7m_rtos_task_priority(owner); + } + } + + if (mutex->waiting) + { + while (mutex->waiting) + { + armv7m_rtos_task_unblock(mutex->waiting, K_ERR_UNSATISFIED); + } + + armv7m_rtos_timeout_schedule(); + } + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_mutex_set_priority(k_mutex_t *mutex, uint32_t priority, uint32_t *p_priority_return) +{ + uint32_t priority_previous; + + // armv7m_rtt_printf("k_mutex_set_priority(mutex=%08x, priority=%d, p_priority_return=%08x)\n", mutex, priority, p_priority_return); + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!mutex || !(mutex->options & K_MUTEX_PRIORITY_PROTECT)) + { + return K_ERR_INVALID_OBJECT; + } + + if (priority > K_PRIORITY_MIN) + { + return K_ERR_INVALID_PARAMETER; + } + + if (mutex->owner) + { + return K_ERR_MUTEX_ALREADY_LOCKED; + } + + priority_previous = mutex->priority; + + if (priority != K_PRIORITY_CURRENT) + { + mutex->priority = priority; + } + + if (p_priority_return) + { + *p_priority_return = priority_previous; + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline, optimize("O3"))) __svc_armv7m_rtos_mutex_lock(k_mutex_t *mutex, uint32_t timeout) +{ + k_task_t *self, *owner; + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + self = armv7m_rtos_control.task_self; + + if (!self) + { + return K_ERR_ILLEGAL_USE; + } + + if (!mutex) + { + return K_ERR_INVALID_OBJECT; + } + + if (armv7m_rtos_control.system_state != K_STATE_RUNNING) + { + if (timeout != K_TIMEOUT_NONE) + { + return K_ERR_INVALID_PARAMETER; + } + } + + if (mutex->owner == self) + { + if (mutex->options & K_MUTEX_RECURSIVE) + { + if (mutex->level == 0xffff) + { + return K_ERR_MUTEX_OVERFLOW; + } + + mutex->level++; + + return K_NO_ERROR; + } + else + { + return K_ERR_MUTEX_ALREADY_LOCKED; + } + } + + armv7m_rtos_control.wait_table[K_TASK_STATE_WAIT_MUTEX - K_TASK_STATE_WAIT_JOIN] = &armv7m_rtos_mutex_wait_entry; + + if (!mutex->owner) + { + if (mutex->options & K_MUTEX_PRIORITY_INHERIT) + { + mutex->priority = self->priority; + } + + armv7m_rtos_mutex_owner_attach(mutex, self); + + if (mutex->options & K_MUTEX_PRIORITY_PROTECT) + { + armv7m_rtos_task_priority(self); + } + + return K_NO_ERROR; + } + + if (timeout == K_TIMEOUT_NONE) + { + return K_ERR_UNSATISFIED; + } + + armv7m_rtos_task_ready_remove(self); + + self->wait.mutex.mutex = mutex; + + self->state |= K_TASK_STATE_WAIT_MUTEX; + + if (timeout != K_TIMEOUT_FOREVER) + { + armv7m_rtos_timeout_relative(self, timeout); + } + +#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) + (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); +#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ + + armv7m_rtos_mutex_wait_insert(mutex, self); + + if (mutex->options & K_MUTEX_PRIORITY_INHERIT) + { + if (mutex->priority != mutex->waiting->priority) + { + mutex->priority = mutex->waiting->priority; + + owner = mutex->owner; + + armv7m_rtos_mutex_owner_remove(mutex, owner); + armv7m_rtos_mutex_owner_insert(mutex, owner); + + armv7m_rtos_task_priority(owner); + } + } + + armv7m_rtos_task_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_mutex_unlock(k_mutex_t *mutex) +{ + k_task_t *self; + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + self = armv7m_rtos_control.task_self; + + if (!self) + { + return K_ERR_ILLEGAL_USE; + } + + if (!mutex) + { + return K_ERR_INVALID_OBJECT; + } + + if (mutex->owner != self) + { + return K_ERR_NOT_OWNER_OF_MUTEX; + } + + if (mutex->options & K_MUTEX_RECURSIVE) + { + if (mutex->level != 1) + { + mutex->level--; + + return K_NO_ERROR; + } + } + + armv7m_rtos_mutex_owner_detach(mutex, self); + + if (mutex->waiting) + { + armv7m_rtos_task_release_enqueue(mutex->waiting); + } + + if (mutex->options & (K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) + { + armv7m_rtos_task_priority(self); + + armv7m_rtos_task_schedule(); + } + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_work_init(k_work_t *work, k_work_routine_t routine, void *context) +{ + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!work) + { + return K_ERR_INVALID_OBJECT; + } + + *work = K_WORK_INIT(routine, context); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_work_deinit(k_work_t *work) +{ + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!work || !work->routine) + { + return K_ERR_INVALID_OBJECT; + } + + return armv7m_rtos_work_deinit(work); +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_alarm_init(k_alarm_t *alarm, k_alarm_routine_t routine, void *context) +{ + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!alarm) + { + return K_ERR_INVALID_OBJECT; + } + + if (!routine) + { + return K_ERR_INVALID_PARAMETER; + } + + *alarm = K_ALARM_INIT(routine, context); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_alarm_deinit(k_alarm_t *alarm) +{ + k_alarm_t * volatile *alarm_previous; + k_alarm_t *alarm_modify; + + if (armv7m_rtos_control.work_self) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (!alarm || !alarm->work.routine) + { + return K_ERR_INVALID_OBJECT; + } + + armv7m_rtos_work_deinit(&alarm->work); + + __armv7m_atomic_store_2_restart((volatile uint32_t*)&alarm->clock_l, 0, 0); + + if (alarm->modify) + { + if (armv7m_atomic_cas((volatile uint32_t*)&armv7m_rtos_control.alarm_modify, (uint32_t)alarm, (uint32_t)alarm->modify) != (uint32_t)alarm) + { + for (alarm_previous = &armv7m_rtos_control.alarm_modify, alarm_modify = *alarm_previous; alarm_modify != K_ALARM_SENTINEL; alarm_previous = &alarm_modify->modify, alarm_modify = *alarm_previous) + { + if (alarm_modify == alarm) + { + *alarm_previous = alarm->modify; + + alarm->modify = NULL; + + break; + } + } + } + } + + if (alarm->next) + { + armv7m_rtos_alarm_remove(alarm); + } + + armv7m_rtos_alarm_schedule(); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_alarm_absolute(k_alarm_t *alarm, uint32_t clock_l, uint32_t clock_h, uint32_t period) +{ + uint64_t clock; + + if (!alarm || !alarm->work.routine) + { + return K_ERR_INVALID_OBJECT; + } + + if (!clock_l && !clock_h) + { + return K_ERR_INVALID_PARAMETER; + } + + clock = (((uint64_t)clock_l << 0) | ((uint64_t)clock_h << 32)); + + armv7m_rtos_alarm_modify(alarm, armv7m_rtos_clock_convert(clock), period); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_alarm_relative(k_alarm_t *alarm, uint32_t delay, uint32_t period) +{ + if (!alarm || !alarm->work.routine) + { + return K_ERR_INVALID_OBJECT; + } + + if (!delay) + { + return K_ERR_INVALID_PARAMETER; + } + + armv7m_rtos_alarm_modify(alarm, armv7m_rtos_clock_offset(stm32wb_rtc_clock_read(), delay), period); + + return K_NO_ERROR; +} + +static int __attribute__((noinline)) __svc_armv7m_rtos_alarm_cancel(k_alarm_t *alarm) +{ + k_alarm_t *alarm_previous, *alarm_modify; + uint32_t clock_l, clock_h; + + if (!alarm || !alarm->work.routine) + { + return K_ERR_INVALID_OBJECT; + } + + __armv7m_atomic_load_4_restart((volatile uint32_t*)&alarm->previous, (uint32_t*)&alarm_previous, (uint32_t*)&alarm_modify, &clock_l, &clock_h); + + if (!(alarm_modify ? ((clock_l | clock_h) != 0) : (alarm_previous != NULL))) + { + return K_ERR_ALARM_NOT_ACTIVE; + } + + armv7m_rtos_alarm_modify(alarm, 0, 0); + + return K_NO_ERROR; +} + +/******************************************************************************************************************************/ + +void* k_heap_allocate(uint32_t size) +{ + + if (armv7m_core_is_in_svcall_or_pendsv()) + { + return __svc_armv7m_rtos_heap_allocate(size); + } + + if (!armv7m_core_is_in_interrupt()) + { + return (void*)armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_heap_allocate, (uint32_t)size); + } + + return NULL; +} + +uint64_t k_system_clock(void) +{ + uint64_t clock; + uint32_t seconds, ticks; + + clock = stm32wb_rtc_clock_read(); + + seconds = clock / STM32WB_RTC_CLOCK_TICKS_PER_SECOND; + ticks = clock & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND -1); + + return ((uint64_t)(seconds * 1000) + ((ticks * 1000) / STM32WB_RTC_CLOCK_TICKS_PER_SECOND)); +} + +uint32_t k_system_state(void) +{ + return armv7m_rtos_control.system_state; +} + +int k_system_initialize(const k_hook_table_t *hook_table) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (armv7m_rtos_control.system_state != K_STATE_INACTIVE) + { + return K_ERR_ILLEGAL_USE; + } + + armv7m_rtos_system_initialize(hook_table); + + return K_NO_ERROR; +} + +int k_system_start(k_task_routine_t routine, void *context) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if (armv7m_rtos_control.system_state != K_STATE_READY) + { + return K_ERR_ILLEGAL_USE; + } + + armv7m_rtos_system_start(routine, context); +} + +bool k_system_lock(void) +{ + if (!armv7m_core_is_in_thread()) + { + return (armv7m_rtos_control.system_state == K_STATE_LOCKED); + } + + if (armv7m_core_is_in_interrupt()) + { + return __svc_armv7m_rtos_system_lock(); + } + else + { + return armv7m_svcall_0((uint32_t)&__svc_armv7m_rtos_system_lock); + } +} + +void k_system_unlock(void) +{ + if (!armv7m_core_is_in_thread()) + { + return; + } + + if (armv7m_core_is_in_interrupt()) + { + __svc_armv7m_rtos_system_unlock(); + } + else + { + armv7m_svcall_0((uint32_t)&__svc_armv7m_rtos_system_unlock); + } +} + +bool k_system_is_locked(void) +{ + return (armv7m_rtos_control.system_state == K_STATE_LOCKED); +} + +int k_system_set_policy(uint32_t policy, uint32_t *p_policy_return) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_system_set_policy, (uint32_t)policy, (uint32_t)p_policy_return); +} + + +int k_task_create(k_task_t *task, const char *name, k_task_routine_t routine, void *context, uint32_t priority, void *stack_base, uint32_t stack_size, uint32_t options) +{ + k_task_params_t params; + + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + params.name = name; + params.routine = routine; + params.context = context; + params.priority = priority; + params.stack_base = stack_base; + params.stack_size = stack_size; + params.options = options; + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_create, (uint32_t)task, (uint32_t)¶ms); +} + +void k_task_exit(void) +{ + if (!armv7m_core_is_in_thread()) + { + return; + } + + if (armv7m_rtos_control.work_self) + { + return; + } + + armv7m_rtos_task_exit(); +} + +int k_task_terminate(k_task_t *task) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + if ((task == armv7m_rtos_control.task_self) && !armv7m_rtos_control.work_self) + { + armv7m_rtos_task_exit(); + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_terminate, (uint32_t)task); +} + +int k_task_detach(k_task_t *task) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_detach, (uint32_t)task); +} + +int k_task_join(k_task_t *task) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_join, (uint32_t)task); +} + +bool k_task_is_joinable(k_task_t *task) +{ + return (task && task->link && (task->state & K_TASK_STATE_JOINABLE)); +} + +k_task_t * __attribute__((optimize("O3"))) k_task_self(void) +{ + return armv7m_rtos_control.task_self; +} + +k_task_t * __attribute__((optimize("O3"))) k_task_default(void) +{ + return armv7m_rtos_control.task_default; +} + +bool __attribute__((optimize("O3"))) k_task_is_in_progress(void) +{ + return (armv7m_core_is_in_thread() && !armv7m_rtos_control.work_self); +} + +int k_task_enumerate(uint32_t *p_count_return, k_task_t **p_task_return, uint32_t count) +{ + if (armv7m_core_is_in_interrupt()) + { + if (!armv7m_core_is_in_pendsv()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return __svc_armv7m_rtos_task_enumerate(p_count_return, p_task_return, count); + } + + return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_task_enumerate, (uint32_t)p_count_return, (uint32_t)p_task_return, (uint32_t)count); +} + +int k_task_info(k_task_t *task, k_task_info_t *p_task_info_return) +{ + if (armv7m_core_is_in_interrupt()) + { + if (!armv7m_core_is_in_pendsv()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return __svc_armv7m_rtos_task_info(task, p_task_info_return); + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_info, (uint32_t)task, (uint32_t)p_task_info_return); +} + +int k_task_stack(k_task_t *task, uint32_t *p_stack_base_return, uint32_t *p_stack_size_return, uint32_t *p_stack_space_return) +{ + if (armv7m_core_is_in_interrupt()) + { + if (!armv7m_core_is_in_pendsv()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return __svc_armv7m_rtos_task_stack(task, p_stack_base_return, p_stack_size_return, p_stack_space_return); + } + + return armv7m_svcall_4((uint32_t)&__svc_armv7m_rtos_task_stack, (uint32_t)task, (uint32_t)p_stack_base_return, (uint32_t)p_stack_size_return, (uint32_t)p_stack_space_return); +} + +int k_task_unblock(k_task_t *task) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_unblock, (uint32_t)task); +} + +int k_task_suspend(k_task_t *task) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_suspend, (uint32_t)task); +} + +int k_task_resume(k_task_t *task) +{ + if (armv7m_core_is_in_interrupt()) + { + return __svc_armv7m_rtos_task_resume(task); + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_resume, (uint32_t)task); +} + +bool k_task_is_suspended(k_task_t *task) +{ + return (task && task->link && (task->state & K_TASK_STATE_SUSPENDED) && !task->resume); +} + +int k_task_set_priority(k_task_t *task, uint32_t priority, uint32_t *p_priority_return) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_task_set_priority, (uint32_t)task, (uint32_t)priority, (uint32_t)p_priority_return); +} + +int k_task_get_priority(k_task_t *task, uint32_t *p_priority_return) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_get_priority, (uint32_t)task, (uint32_t)p_priority_return); +} + +int k_task_delay(uint32_t delay) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_delay, (uint32_t)delay); +} + +int k_task_delay_until(uint64_t clock) +{ + uint32_t clock_l, clock_h; + + clock_l = (uint32_t)(clock >> 0); + clock_h = (uint32_t)(clock >> 32); + + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_delay_until, (uint32_t)clock_l, (uint32_t)clock_h); +} + +int k_task_yield(void) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_0((uint32_t)&__svc_armv7m_rtos_task_yield); +} + + +int k_event_send(k_task_t *task, uint32_t events) +{ + if (armv7m_core_is_in_interrupt()) + { + return __svc_armv7m_rtos_event_send(task, events); + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_event_send, (uint32_t)task, (uint32_t)events); +} + +int k_event_receive(uint32_t events, uint32_t mode, uint32_t timeout, uint32_t *p_events_return) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_4((uint32_t)&__svc_armv7m_rtos_event_receive, (uint32_t)events, (uint32_t)mode, (uint32_t)timeout, (uint32_t)p_events_return); +} + + +int k_sem_init(k_sem_t *sem, uint32_t count, uint32_t limit) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_sem_init, (uint32_t)sem, count, limit); +} + +int k_sem_deinit(k_sem_t *sem) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_sem_deinit, (uint32_t)sem); +} + +int k_sem_acquire(k_sem_t *sem, uint32_t timeout) +{ + uint32_t count; + + if (armv7m_core_is_in_interrupt()) + { + if (!sem) + { + return K_ERR_INVALID_OBJECT; + } + + if (timeout != K_TIMEOUT_NONE) + { + return K_ERR_INVALID_PARAMETER; + } + + count = armv7m_atomic_dech(&sem->count); + + if (count) + { + return K_NO_ERROR; + } + + return K_ERR_TIMEOUT; + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_sem_acquire, (uint32_t)sem, (uint32_t)timeout); +} + +int k_sem_release(k_sem_t *sem) +{ + if (armv7m_core_is_in_interrupt()) + { + return __svc_armv7m_rtos_sem_release(sem); + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_sem_release, (uint32_t)sem); +} + +uint32_t k_sem_count(k_sem_t *sem) +{ + if (!sem) + { + return 0; + } + + return sem->count; +} + + +int k_mutex_init(k_mutex_t *mutex, uint32_t priority, uint32_t options) +{ + // armv7m_rtt_printf("k_mutex_init(mutex=%08x, priority=%d, options=%08x)\n", mutex, priority, options); + + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_mutex_init, (uint32_t)mutex, (uint32_t)options); +} + +int k_mutex_deinit(k_mutex_t *mutex) +{ + // armv7m_rtt_printf("k_mutex_deinit(mutex=%08x)\n", mutex); + + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_mutex_deinit, (uint32_t)mutex); +} + +int k_mutex_set_priority(k_mutex_t *mutex, uint32_t priority, uint32_t *p_priority_return) +{ + // armv7m_rtt_printf("k_mutex_set_priority(mutex=%08x, priority=%d, p_priority_return=%08x)\n", mutex, priority, p_priority_return); + + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_mutex_set_priority, (uint32_t)mutex, (uint32_t)priority, (uint32_t)p_priority_return); +} + +int k_mutex_lock(k_mutex_t *mutex, uint32_t timeout) +{ + // armv7m_rtt_printf("k_mutex_lock(mutex=%08x, timeout=%d)\n", mutex, timeout); + + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_mutex_lock, (uint32_t)mutex, (uint32_t)timeout); +} + +int k_mutex_unlock(k_mutex_t *mutex) +{ + // armv7m_rtt_printf("k_mutex_unlock(mutex=%08x)\n", mutex); + + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_mutex_unlock, (uint32_t)mutex); +} + +uint32_t k_mutex_level(k_mutex_t *mutex) +{ + if (!mutex) + { + return 0; + } + + return mutex->level; +} + +k_task_t* k_mutex_owner(k_mutex_t *mutex) +{ + if (!mutex) + { + return NULL; + } + + return mutex->owner; +} + + + +int k_work_init(k_work_t *work, k_work_routine_t routine, void *context) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_work_init, (uint32_t)work, (uint32_t)routine, (uint32_t)context); +} + +int k_work_deinit(k_work_t *work) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_work_deinit, (uint32_t)work); +} + +int __attribute__((optimize("O3"))) k_work_submit(k_work_t *work) +{ + if (!work || !work->routine) + { + return K_ERR_INVALID_OBJECT; + } + + return armv7m_rtos_work_submit(work); +} + +k_work_t * __attribute__((optimize("O3"))) k_work_self(void) +{ + return armv7m_rtos_control.work_self; + +} + +bool __attribute__((optimize("O3"))) k_work_is_in_progress(void) +{ + return (armv7m_core_is_in_thread() && armv7m_rtos_control.work_self); +} + + +int k_alarm_init(k_alarm_t *alarm, k_alarm_routine_t routine, void *context) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_alarm_init, (uint32_t)alarm, (uint32_t)routine, (uint32_t)context); +} + +int k_alarm_deinit(k_alarm_t *alarm) +{ + if (armv7m_core_is_in_interrupt()) + { + return K_ERR_ILLEGAL_CONTEXT; + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_alarm_deinit, (uint32_t)alarm); +} + +int k_alarm_absolute(k_alarm_t *alarm, uint64_t clock, uint32_t period) +{ + uint32_t clock_l, clock_h; + + clock_l = (uint32_t)(clock >> 0); + clock_h = (uint32_t)(clock >> 32); + + if (armv7m_core_is_in_interrupt()) + { + return __svc_armv7m_rtos_alarm_absolute(alarm, clock_l, clock_h, period); + } + + return armv7m_svcall_4((uint32_t)&__svc_armv7m_rtos_alarm_absolute, (uint32_t)alarm, (uint32_t)clock_l, (uint32_t)clock_h, (uint32_t)period); +} + +int k_alarm_relative(k_alarm_t *alarm, uint32_t delay, uint32_t period) +{ + if (armv7m_core_is_in_interrupt()) + { + return __svc_armv7m_rtos_alarm_relative(alarm, delay, period); + } + + return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_alarm_relative, (uint32_t)alarm, (uint32_t)delay, (uint32_t)period); +} + +int k_alarm_cancel(k_alarm_t *alarm) +{ + if (armv7m_core_is_in_interrupt()) + { + return __svc_armv7m_rtos_alarm_cancel(alarm); + } + + return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_alarm_cancel, (uint32_t)alarm); +} + +bool k_alarm_is_active(k_alarm_t *alarm) +{ + k_alarm_t *alarm_previous, *alarm_modify; + uint32_t clock_l, clock_h; + + if (!alarm || !alarm->work.routine) + { + return false; + } + + __armv7m_atomic_load_4_restart((volatile uint32_t*)&alarm->previous, (uint32_t*)&alarm_previous, (uint32_t*)&alarm_modify, &clock_l, &clock_h); + + return (alarm_modify ? ((clock_l | clock_h) != 0) : (alarm_previous != NULL)); +} + +/******************************************************************************************************************************/ + +void RTOS_ALARM_SWIHandler(void) +{ + if (armv7m_rtos_control.alarm_routine) + { + (*armv7m_rtos_control.alarm_routine)(); + } +} + +void RTOS_WORK_SWIHandler(void) +{ + armv7m_rtos_work_routine(); +} + +void RTOS_TASK_RESUME_SWIHandler(void) +{ + if (armv7m_rtos_control.resume_routine) + { + (*armv7m_rtos_control.resume_routine)(); + } +} + +void RTOS_TASK_RELEASE_SWIHandler(void) +{ + if (armv7m_rtos_control.release_routine) + { + (*armv7m_rtos_control.release_routine)(); + } +} + +/******************************************************************************************************************************/ diff --git a/system/STM32WBxx/Source/armv7m_rtt.c b/system/STM32WBxx/Source/armv7m_rtt.c index 6e1c18d..2d83e5e 100644 --- a/system/STM32WBxx/Source/armv7m_rtt.c +++ b/system/STM32WBxx/Source/armv7m_rtt.c @@ -27,7 +27,6 @@ */ #include "armv7m.h" -#include "rtos_api.h" #include #include diff --git a/system/STM32WBxx/Source/armv7m_systick.c b/system/STM32WBxx/Source/armv7m_systick.c index 82ce911..19fd584 100644 --- a/system/STM32WBxx/Source/armv7m_systick.c +++ b/system/STM32WBxx/Source/armv7m_systick.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2021 Thomas Roell. All rights reserved. + * Copyright (c) 2017-2022 Thomas Roell. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -35,11 +35,7 @@ typedef struct _armv7m_systick_control_t { volatile uint32_t millis; uint32_t cycle; uint32_t scale[2]; - uint32_t params[6]; - volatile uint32_t calib[5]; - volatile uint8_t index; - volatile uint8_t sync; - volatile uint8_t state; + uint32_t step[3]; } armv7m_systick_control_t; static __attribute__((section(".noinit"))) armv7m_systick_control_t armv7m_systick_control; @@ -47,136 +43,38 @@ static __attribute__((section(".noinit"))) armv7m_systick_control_t armv7m_syst void __armv7m_systick_initialize(void) { NVIC_SetPriority(SysTick_IRQn, ARMV7M_IRQ_PRIORITY_SYSTICK); - - armv7m_systick_control.index = 0; - armv7m_systick_control.sync = 0; - armv7m_systick_control.state = 0; -} - -static void armv7m_systick_params(void) -{ - armv7m_systick_control.params[3] = ((armv7m_systick_control.calib[0] + armv7m_systick_control.calib[1] + armv7m_systick_control.calib[2] + armv7m_systick_control.calib[3] + 32) / 64) -1; - - /* micros = 125000 * (count / coeff) - * micros = (125000 / coeff) * count - * micros = (((125000 * (2^32)) / coeff) * count) / (2^32) - * micros = ((125000 / (coeff * (2 ^ 32)) * count) / (2^32) - */ - - armv7m_systick_control.params[4] = ((uint64_t)125000ull * 0x100000000ull) / (uint32_t)(armv7m_systick_control.params[3]); - armv7m_systick_control.params[5] = ((uint64_t)125ull * 0x100000000ull) / (uint32_t)(armv7m_systick_control.params[3]); } -void armv7m_systick_configure(uint32_t clock) +void armv7m_systick_configure(void) { - SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk; + armv7m_systick_control.clock = 0; + armv7m_systick_control.micros = 0; + armv7m_systick_control.millis = 0; - armv7m_systick_control.calib[0] = clock * 2; - armv7m_systick_control.calib[1] = clock * 2; - armv7m_systick_control.calib[2] = clock * 2; - armv7m_systick_control.calib[3] = clock * 2; + armv7m_systick_control.cycle = (SystemCoreClock / 8) -1; + armv7m_systick_control.scale[0] = ((uint64_t)125000ull * 0x100000000ull) / SystemCoreClock; + armv7m_systick_control.scale[1] = ((uint64_t)125ull * 0x100000000ull) / SystemCoreClock; - armv7m_systick_params(); -} - -void __armv7m_systick_calibrate(void) -{ - uint32_t clock, clock_previous, count; - - if (armv7m_systick_control.state != 0) - { - clock = (uint32_t)armv7m_systick_control.clock; - - if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) - { - clock += (armv7m_systick_control.cycle +1); - } - - do - { - clock_previous = clock; - - count = (armv7m_systick_control.cycle - SysTick->VAL); - - clock = (uint32_t)armv7m_systick_control.clock; - - if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) - { - clock += (armv7m_systick_control.cycle +1); - } - } - while (clock != clock_previous); - - clock += count; - - if (armv7m_systick_control.state == 1) - { - armv7m_systick_control.state = 2; - - armv7m_systick_control.calib[4] = clock; - } - else - { - armv7m_systick_control.state = 3; - - armv7m_systick_control.calib[armv7m_systick_control.index] = clock - armv7m_systick_control.calib[4]; - armv7m_systick_control.calib[4] = clock; - - armv7m_systick_control.index = (armv7m_systick_control.index +1) & 3; - - } + armv7m_systick_control.step[0] = SystemCoreClock / 8; + armv7m_systick_control.step[1] = 125000; + armv7m_systick_control.step[2] = 125; + + SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk; - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_SYSTICK); - } + SysTick->VAL = armv7m_systick_control.cycle; + SysTick->LOAD = armv7m_systick_control.cycle; } __attribute__((optimize("O3"))) void armv7m_systick_enable(void) { - uint64_t clock; - uint32_t frequency, seconds, ticks, count; - - frequency = (armv7m_systick_control.calib[0] + armv7m_systick_control.calib[1] + armv7m_systick_control.calib[2] + armv7m_systick_control.calib[3] + 4) / 8; - - armv7m_systick_control.params[0] = armv7m_systick_control.params[3]; - armv7m_systick_control.params[1] = armv7m_systick_control.params[4]; - armv7m_systick_control.params[2] = armv7m_systick_control.params[5]; - - armv7m_systick_control.cycle = armv7m_systick_control.params[0]; - armv7m_systick_control.scale[0] = armv7m_systick_control.params[1]; - armv7m_systick_control.scale[1] = armv7m_systick_control.params[2]; - - clock = stm32wb_lptim_timeout_clock(); - ticks = clock >> 12; - - armv7m_systick_control.micros = 125000 * ticks; - armv7m_systick_control.millis = 125 * ticks; - - ticks = clock & 4095; - - /* 2 partial products to avoid a long multiplication - */ - count = (((armv7m_systick_control.cycle & 4095) * ticks) >> 12) + ((armv7m_systick_control.cycle >> 12) * ticks); - - seconds = clock / 32768; - ticks = clock & 32767; - - armv7m_systick_control.clock = ((uint64_t)seconds * (uint64_t)frequency) + (((uint64_t)ticks * (uint64_t)frequency) / 32768) - count; - - SysTick->VAL = armv7m_systick_control.cycle - count; - SysTick->LOAD = armv7m_systick_control.cycle; - SysTick->CTRL |= (SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk); SysTick->CTRL; - armv7m_systick_control.state = 1; - __DSB(); } __attribute__((optimize("O3"))) void armv7m_systick_disable(void) { - armv7m_systick_control.state = 0; - SysTick->CTRL &= ~(SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk); SysTick->CTRL; @@ -194,7 +92,7 @@ __attribute__((optimize("O3"))) uint64_t armv7m_systick_clock(void) if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) { - clock += (armv7m_systick_control.cycle +1); + clock += armv7m_systick_control.step[0]; } do @@ -207,7 +105,7 @@ __attribute__((optimize("O3"))) uint64_t armv7m_systick_clock(void) if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) { - clock += (armv7m_systick_control.cycle +1); + clock += armv7m_systick_control.step[0]; } } while (clock != clock_previous); @@ -223,7 +121,7 @@ __attribute__((optimize("O3"))) uint32_t armv7m_systick_micros(void) if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) { - micros += 125000; + micros += armv7m_systick_control.step[1]; } do @@ -236,7 +134,7 @@ __attribute__((optimize("O3"))) uint32_t armv7m_systick_micros(void) if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) { - micros += 125000; + micros += armv7m_systick_control.step[1]; } } while (micros != micros_previous); @@ -252,7 +150,7 @@ __attribute__((optimize("O3"))) uint32_t armv7m_systick_millis(void) if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) { - millis += 125; + millis += armv7m_systick_control.step[2]; } do @@ -265,7 +163,7 @@ __attribute__((optimize("O3"))) uint32_t armv7m_systick_millis(void) if (SCB->ICSR & SCB_ICSR_PENDSTSET_Msk) { - millis += 125; + millis += armv7m_systick_control.step[2]; } } while (millis != millis_previous); @@ -277,24 +175,9 @@ __attribute__((optimize("O3"))) void SysTick_Handler(void) { if (SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk) { - armv7m_systick_control.clock += (armv7m_systick_control.cycle +1); - armv7m_systick_control.micros += 125000; - armv7m_systick_control.millis += 125; - - armv7m_systick_control.cycle = armv7m_systick_control.params[0]; - armv7m_systick_control.scale[0] = armv7m_systick_control.params[1]; - armv7m_systick_control.scale[1] = armv7m_systick_control.params[2]; - - if (armv7m_systick_control.sync) - { - armv7m_systick_control.sync = 0; - - armv7m_systick_control.params[0] = armv7m_systick_control.params[3]; - armv7m_systick_control.params[1] = armv7m_systick_control.params[4]; - armv7m_systick_control.params[2] = armv7m_systick_control.params[5]; - - SysTick->LOAD = armv7m_systick_control.params[0]; - } + armv7m_systick_control.clock += armv7m_systick_control.step[0]; + armv7m_systick_control.micros += armv7m_systick_control.step[1]; + armv7m_systick_control.millis += armv7m_systick_control.step[2]; } __DSB(); @@ -312,15 +195,3 @@ void armv7m_systick_udelay(uint32_t udelay) } while ((end - start) < udelay); } - -void SYSTICK_SWIHandler(void) -{ - if (armv7m_systick_control.state == 3) - { - armv7m_systick_control.sync = 0; - - armv7m_systick_params(); - - armv7m_systick_control.sync = 1; - } -} diff --git a/system/STM32WBxx/Source/dosfs_core.c b/system/STM32WBxx/Source/dosfs_core.c index 3c51548..44179ad 100644 --- a/system/STM32WBxx/Source/dosfs_core.c +++ b/system/STM32WBxx/Source/dosfs_core.c @@ -189,7 +189,7 @@ static void stm32wb_rtc_timedate(uint16_t *p_time, uint16_t *p_date) stm32wb_rtc_time_read(&seconds, &ticks); - leap_seconds = stm32wb_rtc_time_to_leap_seconds(seconds); + leap_seconds = stm32wb_rtc_get_leap_seconds(); seconds -= Y2K_TO_GPS_OFFSET; diff --git a/system/STM32WBxx/Source/rtos_alarm.c b/system/STM32WBxx/Source/rtos_alarm.c deleted file mode 100644 index 01d8655..0000000 --- a/system/STM32WBxx/Source/rtos_alarm.c +++ /dev/null @@ -1,570 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include "armv7m.h" -#include "stm32wb_system.h" -#include "stm32wb_lptim.h" - -#include "rtos_api.h" -#include "rtos_core.h" - -/******************************************************************************************************************************/ - -static void armv7m_rtos_alarm_insert(k_alarm_t *alarm, uint64_t clock); -static void armv7m_rtos_alarm_remove(k_alarm_t *alarm); -static void armv7m_rtos_alarm_routine(void); -static void armv7m_rtos_alarm_schedule(void); -static void armv7m_rtos_alarm_callback(void *context); -static void armv7m_rtos_alarm_modify(k_alarm_t *alarm, uint64_t clock, uint32_t seconds, uint32_t millis, uint32_t period); - -static int __svc_armv7m_rtos_alarm_init(k_alarm_t *alarm, k_alarm_routine_t routine, void *context); -static int __svc_armv7m_rtos_alarm_deinit(k_alarm_t *alarm); -static int __svc_armv7m_rtos_alarm_absolute(k_alarm_t *alarm, uint32_t clock_l, uint32_t clock_h, uint32_t period); -static int __svc_armv7m_rtos_alarm_relative(k_alarm_t *alarm, uint32_t ticks, uint32_t period); -static int __svc_armv7m_rtos_alarm_cancel(k_alarm_t *alarm); - -/******************************************************************************************************************************/ - -static void armv7m_rtos_alarm_insert(k_alarm_t *alarm, uint64_t clock) -{ - k_alarm_t *alarm_element, *alarm_next; - uint64_t element_clock; - - if (armv7m_rtos_control.alarm_queue == NULL) - { - armv7m_rtos_control.alarm_queue = alarm; - - alarm->next = alarm; - alarm->previous = alarm; - } - else - { - alarm_element = armv7m_rtos_control.alarm_queue; - - do - { - alarm_next = alarm_element->next; - - element_clock = (((uint64_t)alarm_element->clock_l << 0) | ((uint64_t)alarm_element->clock_h << 32)); - - if (!alarm_element->modify) - { - if (clock < element_clock) - { - if (alarm_element == armv7m_rtos_control.alarm_queue) - { - armv7m_rtos_control.alarm_queue = alarm; - } - break; - } - } - else - { - armv7m_rtos_alarm_remove(alarm_element); - } - - alarm_element = alarm_next; - } - while (alarm_element != armv7m_rtos_control.alarm_queue); - - if (armv7m_rtos_control.alarm_queue == NULL) - { - armv7m_rtos_control.alarm_queue = alarm; - - alarm->next = alarm; - alarm->previous = alarm; - } - else - { - alarm->previous = alarm_element->previous; - alarm->next = alarm_element; - - alarm->previous->next = alarm; - alarm->next->previous = alarm; - } - } -} - -static void armv7m_rtos_alarm_remove(k_alarm_t *alarm) -{ - if (alarm->next == alarm) - { - armv7m_rtos_control.alarm_queue = NULL; - } - else - { - if (alarm == armv7m_rtos_control.alarm_queue) - { - armv7m_rtos_control.alarm_queue = alarm->next; - } - - alarm->next->previous = alarm->previous; - alarm->previous->next = alarm->next; - } - - alarm->next = NULL; - alarm->previous = NULL; -} - -static void armv7m_rtos_alarm_schedule(void) -{ - k_alarm_t *alarm; - uint64_t clock; - - alarm = armv7m_rtos_control.alarm_queue; - - if (alarm) - { - clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); - - if (armv7m_rtos_control.alarm_clock != clock) - { - armv7m_rtos_control.alarm_clock = clock; - - stm32wb_lptim_timeout_absolute(&armv7m_rtos_control.alarm_timer, clock, armv7m_rtos_alarm_callback, NULL); - } - } - else - { - if (armv7m_rtos_control.alarm_clock) - { - armv7m_rtos_control.alarm_clock = 0; - - stm32wb_lptim_timeout_cancel(&armv7m_rtos_control.alarm_timer); - } - } -} - -static void armv7m_rtos_alarm_routine(void) -{ - k_alarm_t *alarm, *alarm_next, *alarm_previous; - uint64_t clock; - - alarm = (k_alarm_t*)armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.alarm_modify, (uint32_t)K_ALARM_SENTINEL); - - if (alarm != K_ALARM_SENTINEL) - { - /* Revert the modify queue, and process it. - */ - for (alarm_previous = K_ALARM_SENTINEL; alarm != K_ALARM_SENTINEL; alarm = alarm_next) - { - alarm_next = alarm->modify; - - alarm->modify = alarm_previous; - - alarm_previous = alarm; - } - - alarm = alarm_previous; - - while (alarm != K_ALARM_SENTINEL) - { - alarm_next = alarm->modify; - - if (alarm->next) - { - armv7m_rtos_alarm_remove(alarm); - } - - clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); - - alarm->modify = NULL; - - if (!alarm->modify) - { - if (clock) - { - armv7m_rtos_alarm_insert(alarm, clock); - } - } - - alarm = alarm_next; - } - - armv7m_rtos_alarm_schedule(); - } -} - -static void armv7m_rtos_alarm_callback(void *context) -{ - k_alarm_t *alarm; - uint64_t clock, reference; - uint32_t clock_l, clock_h, ticks, delta, accum, error; - - alarm = armv7m_rtos_control.alarm_queue; - - if (alarm) - { - reference = stm32wb_lptim_timeout_clock(); - - do - { - clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); - ticks = alarm->ticks; - delta = alarm->delta; - - if (!alarm->modify) - { - if (clock > reference) - { - break; - } - - armv7m_rtos_alarm_remove(alarm); - - armv7m_rtos_work_submit(&alarm->work); - - if (ticks) - { - clock += ticks; - - accum = (delta >> 16); - error = (delta & 0xffff); - - accum += error; - - if (accum >= 1000) { - accum -= 1000; - - clock -= 1; - } - - clock_l = (uint32_t)(clock >> 0); - clock_h = (uint32_t)(clock >> 32); - delta = ((accum << 16) | error); - - armv7m_atomic_store_4_restart((volatile uint32_t*)&alarm->clock_l, clock_l, clock_h, ticks, delta); - - if (!alarm->modify) - { - armv7m_rtos_alarm_insert(alarm, clock); - } - } - else - { - armv7m_atomic_store_2_restart((volatile uint32_t*)&alarm->clock_l, 0, 0); - } - } - else - { - armv7m_rtos_alarm_remove(alarm); - } - - alarm = armv7m_rtos_control.alarm_queue; - } - while (alarm); - - armv7m_rtos_alarm_schedule(); - } -} - -static void armv7m_rtos_alarm_modify(k_alarm_t *alarm, uint64_t clock, uint32_t seconds, uint32_t millis, uint32_t period) -{ - k_alarm_t *alarm_modify; - uint32_t clock_l, clock_h, ticks, delta, accum, error; - - if (period) - { - ticks = (millis * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) / 1000; - error = (millis * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) - (ticks * 1000); - accum = 0; - - if (error) { ticks += 1; accum = 1000 - error; } - - clock += ((uint64_t)(seconds * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) + ticks); - - seconds = period / 1000; - millis = period - (seconds * 1000); - - ticks = (millis * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) / 1000; - error = (millis * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) - (ticks * 1000); - - if (error) { ticks += 1; error = 1000 - error; } - - if (seconds > (0xffffffff / STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND)) { - seconds = 0xffffffff / STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND; - } - - ticks += (seconds * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND); - } - else - { - ticks = (millis * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND + 999) / 1000; - - clock += ((uint64_t)(seconds * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) + ticks); - - ticks = 0; - accum = 0; - error = 0; - } - - clock_l = (uint32_t)(clock >> 0); - clock_h = (uint32_t)(clock >> 32); - delta = (accum << 16) | (error << 0); - - armv7m_atomic_store_4_restart((volatile uint32_t*)&alarm->clock_l, clock_l, clock_h, ticks, delta); - - if (armv7m_atomic_cas((volatile uint32_t*)&alarm->modify, (uint32_t)NULL, (uint32_t)K_ALARM_SENTINEL) == (uint32_t)NULL) - { - alarm_modify = (k_alarm_t*)armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.alarm_modify, (uint32_t)alarm); - - alarm->modify = alarm_modify; - - if (alarm_modify == K_ALARM_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_ALARM); - } - } -} - -/******************************************************************************************************************************/ - -static int __svc_armv7m_rtos_alarm_init(k_alarm_t *alarm, k_alarm_routine_t routine, void *context) -{ - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!alarm) - { - return K_ERR_INVALID_OBJECT; - } - - if (!routine) - { - return K_ERR_INVALID_PARAMETER; - } - - *alarm = K_ALARM_INIT(routine, context); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_alarm_deinit(k_alarm_t *alarm) -{ - k_alarm_t * volatile *alarm_previous; - k_alarm_t *alarm_modify; - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!alarm || !alarm->work.routine) - { - return K_ERR_INVALID_OBJECT; - } - - armv7m_rtos_work_deinit(&alarm->work); - - armv7m_atomic_store_2_restart((volatile uint32_t*)&alarm->clock_l, 0, 0); - - if (alarm->modify) - { - if (armv7m_atomic_cas((volatile uint32_t*)&armv7m_rtos_control.alarm_modify, (uint32_t)alarm, (uint32_t)alarm->modify) != (uint32_t)alarm) - { - for (alarm_previous = &armv7m_rtos_control.alarm_modify, alarm_modify = *alarm_previous; alarm_modify != K_ALARM_SENTINEL; alarm_previous = &alarm_modify->modify, alarm_modify = *alarm_previous) - { - if (alarm_modify == alarm) - { - *alarm_previous = alarm->modify; - - alarm->modify = NULL; - - break; - } - } - } - } - - if (alarm->next) - { - armv7m_rtos_alarm_remove(alarm); - } - - armv7m_rtos_alarm_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_alarm_absolute(k_alarm_t *alarm, uint32_t clock_l, uint32_t clock_h, uint32_t period) -{ - uint64_t clock; - uint32_t seconds, millis; - - if (!alarm || !alarm->work.routine) - { - return K_ERR_INVALID_OBJECT; - } - - if (!clock_l && !clock_h) - { - return K_ERR_INVALID_PARAMETER; - } - - clock = (((uint64_t)clock_l << 0) | ((uint64_t)clock_h << 32)); - - seconds = clock / 1000; - millis = clock - (uint64_t)(seconds * 1000); - - armv7m_rtos_alarm_modify(alarm, 0, seconds, millis, period); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_alarm_relative(k_alarm_t *alarm, uint32_t delay, uint32_t period) -{ - uint32_t seconds, millis; - - if (!alarm || !alarm->work.routine) - { - return K_ERR_INVALID_OBJECT; - } - - if (!delay) - { - return K_ERR_INVALID_PARAMETER; - } - - seconds = delay / 1000; - millis = delay - (seconds * 1000); - - armv7m_rtos_alarm_modify(alarm, stm32wb_lptim_timeout_clock(), seconds, millis, period); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_alarm_cancel(k_alarm_t *alarm) -{ - k_alarm_t *alarm_modify; - uint32_t clock_l, clock_h; - - if (!alarm || !alarm->work.routine) - { - return K_ERR_INVALID_OBJECT; - } - - armv7m_atomic_load_2_restart(&alarm->clock_l, &clock_l, &clock_h); - - if (!(clock_l | clock_h)) - { - return K_ERR_ALARM_NOT_ACTIVE; - } - - armv7m_atomic_store_2_restart((volatile uint32_t*)&alarm->clock_l, 0, 0); - - if (armv7m_atomic_cas((volatile uint32_t*)&alarm->modify, (uint32_t)NULL, (uint32_t)K_ALARM_SENTINEL) == (uint32_t)NULL) - { - alarm_modify = (k_alarm_t*)armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.alarm_modify, (uint32_t)alarm); - - alarm->modify = alarm_modify; - - if (alarm_modify == K_ALARM_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_ALARM); - } - } - - return K_NO_ERROR; -} - -/******************************************************************************************************************************/ - -int k_alarm_init(k_alarm_t *alarm, k_alarm_routine_t routine, void *context) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_alarm_init, (uint32_t)alarm, (uint32_t)routine, (uint32_t)context); -} - -int k_alarm_deinit(k_alarm_t *alarm) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_alarm_deinit, (uint32_t)alarm); -} - -int k_alarm_absolute(k_alarm_t *alarm, uint64_t clock, uint32_t period) -{ - uint32_t clock_l, clock_h; - - clock_l = (uint32_t)(clock >> 0); - clock_h = (uint32_t)(clock >> 32); - - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_alarm_absolute(alarm, clock_l, clock_h, period); - } - - return armv7m_svcall_4((uint32_t)&__svc_armv7m_rtos_alarm_absolute, (uint32_t)alarm, (uint32_t)clock_l, (uint32_t)clock_h, (uint32_t)period); -} - -int k_alarm_relative(k_alarm_t *alarm, uint32_t delay, uint32_t period) -{ - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_alarm_relative(alarm, delay, period); - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_alarm_relative, (uint32_t)alarm, (uint32_t)delay, (uint32_t)period); -} - -int k_alarm_cancel(k_alarm_t *alarm) -{ - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_alarm_cancel(alarm); - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_alarm_cancel, (uint32_t)alarm); -} - -bool k_alarm_is_active(k_alarm_t *alarm) -{ - uint32_t clock_l, clock_h; - - armv7m_atomic_load_2_restart(&alarm->clock_l, &clock_l, &clock_h); - - return !!(clock_l | clock_h); -} - -/******************************************************************************************************************************/ - -void RTOS_ALARM_SWIHandler(void) -{ - armv7m_rtos_alarm_routine(); -} - -/******************************************************************************************************************************/ diff --git a/system/STM32WBxx/Source/rtos_core.c b/system/STM32WBxx/Source/rtos_core.c deleted file mode 100644 index 4a4f193..0000000 --- a/system/STM32WBxx/Source/rtos_core.c +++ /dev/null @@ -1,1244 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include "armv7m.h" -#include "stm32wb_system.h" -#include "stm32wb_lptim.h" - -#include "rtos_api.h" -#include "rtos_core.h" - -extern uint32_t __HeapBase[]; -extern uint32_t __HeapLimit[]; -extern uint32_t __StackTop[]; -extern uint32_t __StackLimit[]; - -armv7m_rtos_control_t armv7m_rtos_control = -{ - .task_self = NULL, - .task_next = NULL, - .task_ready = NULL, - .task_default = NULL, - .task_link = K_TASK_SENTINEL, - .task_resume = K_TASK_SENTINEL, - .task_wakeup = K_TASK_SENTINEL, - .task_timeout = NULL, - .task_clock = 0, - .task_timer = STM32WB_LPTIM_TIMEOUT_INIT(), - .event_send = K_EVENT_SENTINEL, - .sem_release = K_SEM_SENTINEL, - .work_self = NULL, - .work_head = K_WORK_SENTINEL, - .work_tail = K_WORK_SENTINEL, - .work_submit = K_WORK_SENTINEL, - .alarm_queue = NULL, - .alarm_modify = K_ALARM_SENTINEL, - .alarm_clock = 0, - .alarm_timer = STM32WB_LPTIM_TIMEOUT_INIT(), - .system_state = K_STATE_INACTIVE, - .system_policy = K_POLICY_SLEEP, - .heap_current = (void*)&__HeapBase[0] -}; - -static k_task_t armv7m_rtos_task_default; - -typedef struct _k_task_params_t { - const char *name; - k_task_routine_t routine; - void *context; - uint32_t priority; - void *stack_base; - uint32_t stack_size; - uint32_t options; -} k_task_params_t; - -static void armv7m_rtos_system_initialize(const k_hook_table_t *hook_table); -static void armv7m_rtos_system_start(k_task_routine_t routine, void *context) __attribute__((noreturn)); - -static void armv7m_rtos_task_timeout_insert(k_task_t *task, uint64_t clock); -static void armv7m_rtos_task_timeout_callback(void *context); - -static void * __svc_armv7m_rtos_heap_allocate(uint32_t size); - -static void __svc_armv7m_rtos_system_start(k_task_routine_t routine, void *context); -static bool __svc_armv7m_rtos_system_lock(void); -static void __svc_armv7m_rtos_system_unlock(void); -static int __svc_armv7m_rtos_system_set_policy(uint32_t policy, uint32_t *p_policy_return); - - void __svc_armv7m_rtos_task_exit(void); - -/******************************************************************************************************************************/ - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - -/* - * RTT/SYSVIEW notes: - * - * - task_run(NULL) means switch to idle - * - work_enter(work) means a switch to the WORK task (first one), work_exit() means switch back to current task - * - * name/priority are just used for the GUI, to associate the "task" address with something readable, and to - * order things on screen. - * - * "stack_base" is displayed in HEX, while "stack_size" is displayed in dedcimal. So "stack_size" could be the total - * size, or the used size, or the free size. So ideally it would be the maximum used size. - * - * So somewhere in the idle routine we'd want to go throu the list of stacks and check. - */ - -static void armv7m_rtos_hook_task_create(k_task_t *task, const char *name, uint32_t priority, void *stack_base, uint32_t stack_size) -{ -} - -static void armv7m_rtos_hook_task_destroy(k_task_t *task) -{ -} - -static void armv7m_rtos_hook_task_exit(void) -{ -} - -static void armv7m_rtos_hook_task_terminate(k_task_t *task) -{ -} - -static void armv7m_rtos_hook_task_block(k_task_t *task, uint32_t cause) -{ -} - -static void armv7m_rtos_hook_task_ready(k_task_t *task) -{ -} - -static void armv7m_rtos_hook_task_run(k_task_t *task) -{ -} - -static const k_hook_table_t armv7m_rtos_hook_table = -{ - .task_create = armv7m_rtos_hook_task_create, - .task_destroy = armv7m_rtos_hook_task_destroy, - .task_exit = armv7m_rtos_hook_task_exit, - .task_terminate = armv7m_rtos_hook_task_terminate, - .task_block = armv7m_rtos_hook_task_block, - .task_ready = armv7m_rtos_hook_task_ready, - .task_run = armv7m_rtos_hook_task_run, -}; - -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - -void __attribute__((naked, noreturn)) armv7m_rtos_pendsv_epilogue(void) -{ - __asm__( - "1: movw r3, #:lower16:armv7m_rtos_control \n" - " movt r3, #:upper16:armv7m_rtos_control \n" - " ldr r0, [r3, %[offset_CONTROL_WORK_SELF]] \n" - " cbz.n r0, 4f \n" - " push { r7, lr } \n" - " ldr r1, [r0, %[offset_WORK_ROUTINE]] \n" - " bic r1, r1, #1 \n" - " ldr r2, [r0, %[offset_WORK_CONTEXT]] \n" - " mov r3, #0x01000000 \n" - " mov lr, #0xfffffff9 \n" - " adr r7, 2f \n" - " orr r7, r7, #1 \n" - " sub sp, #0x20 \n" - " str r2, [sp, #0x00] \n" - " str r7, [sp, #0x14] \n" - " str r1, [sp, #0x18] \n" - " str r3, [sp, #0x1c] \n" - " dsb \n" - " bx lr \n" - " .align 2 \n" - "2: cpsie i \n" - " adr r7, 3f \n" - " add r7, #1 \n" -#if (__FPU_PRESENT == 1) - " mrs r0, CONTROL \n" - " bic r0, #0x04 \n" // clear FPCA - " msr CONTROL, r0 \n" -#endif /* __FPU_PRESENT == 1 */ - " svc 0 \n" - " .align 2 \n" - "3: add sp, #0x28 \n" // 32 bytes for the exception stack, 8 bytes for SVCALL frame - " bl armv7m_rtos_work_return \n" - " pop { r7, lr } \n" - " b.n 1b \n" - " .align 2 \n" - "4: ldr r0, [r3, %[offset_CONTROL_TASK_NEXT]] \n" - " ldr r1, [r3, %[offset_CONTROL_TASK_SELF]] \n" - " cmp r0, r1 \n" - " bne.n 5f \n" - " dsb \n" - " bx lr \n" - "5: cmp r1, %[const_TASK_TERMINATED] \n" - " bls.n 6f \n" - " tst lr, #0x00000004 \n" // bit 2 is SPSEL - " itte eq \n" - " moveq r2, sp \n" -#if (__FPU_PRESENT == 1) - " subeq sp, sp, #0x60 \n" -#else /* __FPU_PRESENT == 1 */ - " subeq sp, sp, #0x20 \n" -#endif /* __FPU_PRESENT == 1 */ - " mrsne r2, PSP \n" - " stmdb r2!, { r4-r11 } \n" -#if (__FPU_PRESENT == 1) - " tst lr, #0x00000010 \n" // bit 4 is nFPCA - " it eq \n" - " vstmdbeq r2!, { d8-d15 } \n" -#endif /* __FPU_PRESENT == 1 */ - " tst lr, #0x00000004 \n" // bit 2 is SPSEL - " it eq \n" - " moveq sp, r2 \n" - " str lr, [r1, %[offset_TASK_EXC_RETURN]] \n" - " str r2, [r1, %[offset_TASK_STACK_TOP]] \n" - "6: str r0, [r3, %[offset_CONTROL_TASK_SELF]] \n" - " cbz.n r0, 7f \n" - " ldr lr, [r0, %[offset_TASK_EXC_RETURN]] \n" - " ldr r2, [r0, %[offset_TASK_STACK_TOP]] \n" -#if (__FPU_PRESENT == 1) - " tst lr, #0x00000010 \n" // bit 4 is nFPCA - " it eq \n" - " vldmiaeq r2!, { d8-d15 } \n" -#endif /* __FPU_PRESENT == 1 */ - " ldmia r2!, { r4-r11 } \n" - " tst lr, #0x00000004 \n" // bit 2 is SPSEL - " ite eq \n" - " moveq sp, r2 \n" - " msrne PSP, r2 \n" -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - " ldr r3, [r3, %[offset_CONTROL_HOOK_TABLE]] \n" - " ldr r3, [r3, %[offset_HOOK_TABLE_TASK_RUN]] \n" - " bx r3 \n" -#else /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - " dsb \n" - " bx lr \n" -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - " .align 2 \n" - "7: movw r1, #:lower16:armv7m_rtos_idle_routine \n" - " movt r1, #:upper16:armv7m_rtos_idle_routine \n" - " mov r2, #0x01000000 \n" - " mov lr, #0xfffffff9 \n" - " sub sp, #0x20 \n" - " str r1, [sp, #0x18] \n" - " str r2, [sp, #0x1c] \n" -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - " ldr r3, [r3, %[offset_CONTROL_HOOK_TABLE]] \n" - " ldr r3, [r3, %[offset_HOOK_TABLE_TASK_RUN]] \n" - " bx r3 \n" -#else /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - " dsb \n" - " bx lr \n" -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - : - : [offset_CONTROL_WORK_SELF] "I" (offsetof(armv7m_rtos_control_t, work_self)), - [offset_CONTROL_TASK_SELF] "I" (offsetof(armv7m_rtos_control_t, task_self)), - [offset_CONTROL_TASK_NEXT] "I" (offsetof(armv7m_rtos_control_t, task_next)), -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - [offset_CONTROL_HOOK_TABLE] "I" (offsetof(armv7m_rtos_control_t, hook_table)), - [offset_HOOK_TABLE_TASK_RUN] "I" (offsetof(k_hook_table_t, task_run)), -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - [offset_TASK_EXC_RETURN] "I" (offsetof(k_task_t, exc_return)), - [offset_TASK_STACK_TOP] "I" (offsetof(k_task_t, stack_top)), - [offset_TASK_STACK_LIMIT] "I" (offsetof(k_task_t, stack_limit)), - [offset_WORK_ROUTINE] "I" (offsetof(k_work_t, routine)), - [offset_WORK_CONTEXT] "I" (offsetof(k_work_t, context)), - [const_TASK_TERMINATED] "I" (K_TASK_TERMINATED), - [const_WORK_SENTINEL] "I" (K_WORK_SENTINEL) - ); -} - -static void __attribute__((naked, used, noreturn)) armv7m_rtos_idle_routine(void) -{ - __asm__( - " movw r3, #:lower16:armv7m_rtos_control \n" - " movt r3, #:upper16:armv7m_rtos_control \n" - " ldrb r0, [r3, %[offset_CONTROL_SYSTEM_POLICY]] \n" - " bl stm32wb_system_sleep \n" - " adr r7, 1f \n" - " add r7, #1 \n" - " svc 0 \n" - " .align 2 \n" - "1: add sp, #0x28 \n" // 32 bytes for the exception stack, 8 bytes for SVCALL frame - " movw r3, #:lower16:armv7m_rtos_control \n" - " movt r3, #:upper16:armv7m_rtos_control \n" - " ldr r0, [r3, %[offset_CONTROL_TASK_READY]] \n" - " str r0, [r3, %[offset_CONTROL_TASK_NEXT]] \n" - " mov r0, %[const_TASK_TERMINATED] \n" - " str r0, [r3, %[offset_CONTROL_TASK_SELF]] \n" - " b armv7m_rtos_pendsv_epilogue \n" - : - : [offset_CONTROL_SYSTEM_POLICY] "I" (offsetof(armv7m_rtos_control_t, system_policy)), - [offset_CONTROL_TASK_SELF] "I" (offsetof(armv7m_rtos_control_t, task_self)), - [offset_CONTROL_TASK_NEXT] "I" (offsetof(armv7m_rtos_control_t, task_next)), - [offset_CONTROL_TASK_READY] "I" (offsetof(armv7m_rtos_control_t, task_ready)), - [const_TASK_TERMINATED] "I" (K_TASK_TERMINATED) - ); -} - -static void armv7m_rtos_system_initialize(const k_hook_table_t *hook_table) -{ - k_task_t *task; - void *stack_base, *stack_limit; - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - armv7m_rtos_control.hook_table = hook_table ? hook_table : &armv7m_rtos_hook_table; -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - stack_base = (void*)&__StackTop[0]; - stack_limit = (void*)(((uint32_t)armv7m_rtos_control.heap_current + 31) & ~31); - - if (stack_limit < (void*)&__HeapLimit[0]) - { - stack_limit = (void*)&__HeapLimit[0]; - } - - stack_limit += 32; - -#if (ARMV7M_RTOS_MPU_SUPPORTED == 1) - MPU->RBAR = (((uint32_t)stack_limit - 32) & 0xffffff00) | MPU_RBAR_VALID_Msk | (7 << MPU_RBAR_REGION_Pos); - MPU->RASR = (MPU_RASR_SRD_Msk ^ ((1 << MPU_RASR_SRD_Pos) << ((((uint32_t)stack_limit - 32) & 0x000000ff) >> 5))) | (7 << MPU_RASR_SIZE_Pos) | MPU_RASR_ENABLE_Msk; - MPU->CTRL = (MPU_CTRL_PRIVDEFENA_Msk | MPU_CTRL_HFNMIENA_Msk | MPU_CTRL_ENABLE_Msk); - - __DSB(); - __ISB(); -#endif /* ARMV7M_RTOS_MPU_SUPPORTED == 1 */ - - task = &armv7m_rtos_task_default; - - armv7m_rtos_control.task_default = task; - - armv7m_rtos_task_create(task, "DEFAULT", K_PRIORITY_MIN, stack_limit, (stack_base - stack_limit), K_TASK_JOINABLE); - - armv7m_rtos_control.system_state = K_STATE_READY; -} - -static void __attribute__((naked, noreturn)) armv7m_rtos_system_start(k_task_routine_t routine, void *context) -{ - __asm__( - " cpsie i \n" - " adr r7, 1f \n" - " add r7, #1 \n" -#if (__FPU_PRESENT == 1) - " mrs r2, CONTROL \n" - " bic r2, #0x04 \n" // clear FPCA - " msr CONTROL, r2 \n" -#endif /* __FPU_PRESENT == 1 */ - " svc 0 \n" - " .align 2 \n" - "1: sub sp, #0x18 \n" // 0x20 from exception, 0x08 from SVCALL frame, so 0x18 needed - " bl __svc_armv7m_rtos_system_start \n" - " movw r3, #:lower16:armv7m_rtos_control \n" - " movt r3, #:upper16:armv7m_rtos_control \n" - " ldr r0, [r3, %[offset_CONTROL_TASK_DEFAULT]] \n" - " ldr r2, [r0, %[offset_TASK_STACK_TOP]] \n" - " mov sp, r2 \n" - " b armv7m_rtos_pendsv_epilogue \n" - : - : [offset_CONTROL_TASK_DEFAULT] "I" (offsetof(armv7m_rtos_control_t, task_default)), - [offset_TASK_STACK_TOP] "I" (offsetof(k_task_t, stack_top)) - ); -} - -void __attribute__((naked, noreturn)) armv7m_rtos_task_exit(void) -{ - __asm__( - " cpsie i \n" - " adr r7, 1f \n" - " add r7, #1 \n" -#if (__FPU_PRESENT == 1) - " mrs r2, CONTROL \n" - " bic r2, #0x04 \n" // clear FPCA - " msr CONTROL, r2 \n" -#endif /* __FPU_PRESENT == 1 */ - " svc 0 \n" - " .align 2 \n" - "1: add sp, #0x08 \n" // 8 bytes for SVCALL frame - " bl __svc_armv7m_rtos_task_exit \n" - " b armv7m_rtos_pendsv_epilogue \n" - : - : - ); -} - -static void armv7m_rtos_task_status(k_task_t *task, uint32_t status) -{ -#if (__FPU_PRESENT == 1) - if (!(task->exc_return & 0x00000010)) - { - ((armv7m_context_fpu_t*)task->stack_top)->r0 = status; - } - else -#endif /* __FPU_PRESENT == 1 */ - { - ((armv7m_context_t*)task->stack_top)->r0 = status; - } -} - -/******************************************************************************************************************************/ - -void __attribute__((optimize("O3"), noinline)) armv7m_rtos_task_queue_insert(k_task_t **p_task_head, k_task_t *task) -{ - k_task_t *element; - - if (*p_task_head == NULL) - { - *p_task_head = task; - - task->next = task; - task->previous = task; - } - else - { - element = *p_task_head; - - do - { - if (task->priority < element->priority) - { - if (*p_task_head == element) - { - *p_task_head = task; - } - - break; - } - - element = element->next; - } - while (*p_task_head != element); - - task->next = element; - task->previous = element->previous; - - task->previous->next = task; - task->next->previous = task; - } -} - -void __attribute__((optimize("O3"), noinline)) armv7m_rtos_task_queue_remove(k_task_t **p_task_head, k_task_t *task) -{ - if (task->next == task) - { - *p_task_head = NULL; - } - else - { - if (*p_task_head == task) - { - *p_task_head = task->next; - } - - task->next->previous = task->previous; - task->previous->next = task->next; - } - - task->next = NULL; - task->previous = NULL; -} - -void armv7m_rtos_task_ready_insert(k_task_t *task) -{ - task->state |= K_TASK_STATE_READY; - - armv7m_rtos_task_queue_insert(&armv7m_rtos_control.task_ready, task); -} - -void armv7m_rtos_task_ready_remove(k_task_t *task) -{ - task->state &= ~K_TASK_STATE_READY; - - armv7m_rtos_task_queue_remove(&armv7m_rtos_control.task_ready, task); -} - -void armv7m_rtos_task_start(k_task_t *task, k_task_routine_t routine, void *context) -{ - armv7m_context_t *stack; - - stack = (armv7m_context_t*)((uint32_t)task->stack_top - sizeof(armv7m_context_t)); - stack->r0 = (uint32_t)context; -#if (ARMV7M_RTOS_DEBUG_SUPPORTED == 1) - stack->r1 = 0x00000000; - stack->r2 = 0x00000000; - stack->r3 = 0x00000000; - stack->r4 = 0x00000000; - stack->r5 = 0x00000000; - stack->r6 = 0x00000000; - stack->r7 = 0x00000000; - stack->r8 = 0x00000000; - stack->r9 = 0x00000000; - stack->r10 = 0x00000000; - stack->r11 = 0x00000000; -#endif /* (ARMV7M_RTOS_DEBUG_SUPPORTED == 1) */ - stack->lr = (uint32_t)armv7m_rtos_task_exit; - stack->pc = (uint32_t)routine & ~1; - stack->xpsr = 0x01000000; - - task->exc_return = ((task == armv7m_rtos_control.task_default) ? 0xfffffff9 : 0xfffffffd); - task->stack_top = (void*)stack; - task->stack_end = (void*)stack; - - if (!(task->state & K_TASK_STATE_SUSPENDED)) - { - armv7m_rtos_task_ready_insert(task); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_ready)(task); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } -} - -void armv7m_rtos_task_create(k_task_t *task, const char *name, uint32_t priority, void *stack_base, uint32_t stack_size, uint32_t options) -{ - uint32_t *stack, *stack_e; - - task->next = NULL; - task->previous = NULL; - task->priority = priority; - task->bpriority = priority; - task->state = 0; - task->events = 0; - task->name = name; - task->link = armv7m_rtos_control.task_link; - task->exc_return = 0; - task->stack_top = stack_base + stack_size; - task->stack_end = stack_base + stack_size; - task->stack_base = stack_base + stack_size; - task->stack_limit = stack_base; - task->join = NULL; - task->mutex = NULL; - task->resume = NULL; - task->wakeup = NULL; - task->timeout.next = NULL; - task->timeout.previous = NULL; - task->timeout.clock_l = 0; - task->timeout.clock_h = 0; - - armv7m_rtos_control.task_link = task; - - if (options & K_TASK_JOINABLE) - { - task->state |= K_TASK_STATE_JOINABLE; - } - - if (options & K_TASK_SUSPENDED) - { - task->state |= K_TASK_STATE_SUSPENDED; - } - - if (task == armv7m_rtos_control.task_default) - { - stack_e = (uint32_t*)((uint32_t)__builtin_frame_address(0) & ~31) - 32; - } - else - { - stack_e = (uint32_t*)task->stack_end; - } - - for (stack = (uint32_t*)task->stack_limit; stack < stack_e; stack += 2) - { - stack[0] = 0xaaaaaaaa; - stack[1] = 0x77777777; - } - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_create)(task, task->name, task->priority, task->stack_limit, (task->stack_base - task->stack_limit)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - if (task->state & K_TASK_STATE_SUSPENDED) - { -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(task, K_TASK_STATE_SUSPENDED); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } -} - -void armv7m_rtos_task_destroy(k_task_t *task) -{ - k_task_t **p_task_previous, *task_link; - - for (p_task_previous = &armv7m_rtos_control.task_link, task_link = armv7m_rtos_control.task_link; task_link != K_TASK_SENTINEL; p_task_previous = &task_link->link, task_link = task_link->link) - { - if (task_link == task) - { - *p_task_previous = task->link; - - break; - } - } - - task->state = 0; - task->link = NULL; - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_destroy)(task); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ -} - -void armv7m_rtos_task_release(k_task_t *task) -{ - if (task->state & K_TASK_STATE_TIMEOUT) - { - armv7m_rtos_task_timeout_remove(task); - } - - task->state &= ~(K_TASK_STATE_EVENT_ALL | K_TASK_STATE_EVENT_CLEAR | K_TASK_STATE_WAIT_MASK); - - if (!(task->state & K_TASK_STATE_TERMINATED)) - { - if (!(task->state & K_TASK_STATE_SUSPENDED)) - { - armv7m_rtos_task_ready_insert(task); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_ready)(task); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } - } -} - -void armv7m_rtos_task_unblock(k_task_t *task, uint32_t status) -{ - armv7m_rtos_task_status(task, status); - - switch (task->state & K_TASK_STATE_WAIT_MASK) { - case K_TASK_STATE_WAIT_NONE: - break; - - case K_TASK_STATE_WAIT_JOIN: - armv7m_rtos_join_unblock(task); - break; - - case K_TASK_STATE_WAIT_DELAY: - armv7m_rtos_delay_unblock(task); - break; - - case K_TASK_STATE_WAIT_SLEEP: - armv7m_rtos_sleep_unblock(task); - break; - - case K_TASK_STATE_WAIT_EVENT: - armv7m_rtos_event_unblock(task); - break; - - case K_TASK_STATE_WAIT_SEM: - armv7m_rtos_sem_unblock(task); - break; - - case K_TASK_STATE_WAIT_MUTEX: - armv7m_rtos_mutex_unblock(task); - break; - - default: - break; - } - - armv7m_rtos_task_release(task); -} - -void armv7m_rtos_task_priority(k_task_t *task) -{ - k_task_t *task_next; - k_mutex_t *mutex; - uint32_t priority; - - do - { - task_next = NULL; - - priority = task->bpriority; - - mutex = task->mutex; - - if (mutex) - { - if (mutex->options & (K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) - { - if (priority > mutex->priority) - { - priority = mutex->priority; - } - } - } - - if (task->priority != priority) - { - task->priority = priority; - - if (task->state & K_TASK_STATE_READY) - { - armv7m_rtos_task_ready_remove(task); - armv7m_rtos_task_ready_insert(task); - } - - task_next = armv7m_rtos_mutex_priority(task); - } - - task = task_next; - } - while (task); -} - -void armv7m_rtos_task_schedule(void) -{ - if (armv7m_rtos_control.system_state == K_STATE_RUNNING) - { - if (armv7m_rtos_control.task_next != armv7m_rtos_control.task_ready) - { - /* Do not switch away from the idle_routine. That is handled within the idle - * reoutine. - */ - - if (armv7m_rtos_control.task_self) - { - armv7m_rtos_control.task_next = armv7m_rtos_control.task_ready; - - if (armv7m_rtos_control.task_self != armv7m_rtos_control.task_next) - { - if (!armv7m_rtos_control.work_self) - { - armv7m_pendsv_hook(armv7m_rtos_pendsv_epilogue); - } - } - } - else - { - stm32wb_system_wakeup(); - } - } - } -} - -static void armv7m_rtos_task_timeout_insert(k_task_t *task, uint64_t clock) -{ - k_task_t *task_timeout; - uint64_t timeout_clock; - - if (armv7m_rtos_control.task_timeout == NULL) - { - armv7m_rtos_control.task_timeout = task; - - task->timeout.next = task; - task->timeout.previous = task; - } - else - { - task_timeout = armv7m_rtos_control.task_timeout; - - do - { - timeout_clock = (((uint64_t)task_timeout->timeout.clock_l << 0) | ((uint64_t)task_timeout->timeout.clock_h << 32)); - - if (clock < timeout_clock) - { - if (task_timeout == armv7m_rtos_control.task_timeout) - { - armv7m_rtos_control.task_timeout = task; - } - break; - } - - task_timeout = task_timeout->timeout.next; - } - while (task_timeout != armv7m_rtos_control.task_timeout); - - task->timeout.previous = task_timeout->timeout.previous; - task->timeout.next = task_timeout; - - task->timeout.previous->timeout.next = task; - task->timeout.next->timeout.previous = task; - } - - task->timeout.clock_l = (uint32_t)(clock >> 0); - task->timeout.clock_h = (uint32_t)(clock >> 32); - - task->state |= K_TASK_STATE_TIMEOUT; -} - -void armv7m_rtos_task_timeout_remove(k_task_t *task) -{ - task->state &= ~K_TASK_STATE_TIMEOUT; - - if (task->timeout.next == task) - { - armv7m_rtos_control.task_timeout = NULL; - } - else - { - if (armv7m_rtos_control.task_timeout == task) - { - armv7m_rtos_control.task_timeout = task->timeout.next; - } - - task->timeout.next->timeout.previous = task->timeout.previous; - task->timeout.previous->timeout.next = task->timeout.next; - } - - task->timeout.next = NULL; - task->timeout.previous = NULL; -} - -void armv7m_rtos_task_timeout_absolute(k_task_t *task, uint64_t clock) -{ - uint32_t seconds, millis; - - seconds = clock / 1000; - millis = clock - seconds * 1000; - - clock = (((uint64_t)seconds * (uint64_t)STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) + ((millis * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND + 999) / 1000)); - - armv7m_rtos_task_timeout_insert(task, clock); - - armv7m_rtos_task_timeout_schedule(); -} - -static void armv7m_rtos_task_timeout_callback(void *context) -{ - k_task_t *task; - uint64_t clock, reference; - - task = armv7m_rtos_control.task_timeout; - - if (task) - { - reference = stm32wb_lptim_timeout_clock(); - - do - { - clock = (((uint64_t)task->timeout.clock_l << 0) | ((uint64_t)task->timeout.clock_h << 32)); - - if (clock > reference) - { - break; - } - - armv7m_rtos_task_unblock(task, (((task->state & K_TASK_STATE_WAIT_MASK) == K_TASK_STATE_WAIT_DELAY) ? K_NO_ERROR : K_ERR_TIMEOUT)); - - task = armv7m_rtos_control.task_timeout; - } - while (task); - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); - } -} - -void armv7m_rtos_task_timeout_relative(k_task_t *task, uint32_t delay) -{ - uint64_t clock; - uint32_t seconds, millis; - - clock = stm32wb_lptim_timeout_clock(); - - if (delay <= ((0xffffffff - 999) / STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND)) - { - clock += ((delay * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND + 999) / 1000); - } - else - { - seconds = delay / 1000; - millis = delay - seconds * 1000; - - clock += (((uint64_t)seconds * (uint64_t)STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND) + ((millis * STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND + 999) / 1000)); - } - - armv7m_rtos_task_timeout_insert(task, clock); - - armv7m_rtos_task_timeout_schedule(); -} - -void armv7m_rtos_task_timeout_schedule(void) -{ - k_task_t *task; - uint64_t clock; - - task = armv7m_rtos_control.task_timeout; - - if (task) - { - clock = (((uint64_t)task->timeout.clock_l << 0) | ((uint64_t)task->timeout.clock_h << 32)); - - if (armv7m_rtos_control.task_clock != clock) - { - armv7m_rtos_control.task_clock = clock; - - stm32wb_lptim_timeout_absolute(&armv7m_rtos_control.task_timer, clock, armv7m_rtos_task_timeout_callback, NULL); - } - } - else - { - if (armv7m_rtos_control.task_clock) - { - armv7m_rtos_control.task_clock = 0; - - stm32wb_lptim_timeout_cancel(&armv7m_rtos_control.task_timer); - } - } -} - -/******************************************************************************************************************************/ - -static void * __svc_armv7m_rtos_heap_allocate(uint32_t size) -{ - k_task_t *task; - void *heap_current, *heap_limit, *stack_limit; - - // armv7m_rtt_printf("k_heap_allocate(size=%d)\n", size); - - heap_current = armv7m_rtos_control.heap_current; - heap_limit = &__StackLimit[0]; - - if (size > (uint32_t)(heap_limit - heap_current)) - { - return NULL; - } - - task = armv7m_rtos_control.task_default; - - if (task) - { - stack_limit = (void*)(((uint32_t)(heap_current + size) + 31) & ~31) + 32; - - if (task->stack_limit < stack_limit) - { - if ((((uint32_t*)stack_limit)[-8] != 0xaaaaaaaa) || - (((uint32_t*)stack_limit)[-7] != 0x77777777) || - (((uint32_t*)stack_limit)[-6] != 0xaaaaaaaa) || - (((uint32_t*)stack_limit)[-5] != 0x77777777) || - (((uint32_t*)stack_limit)[-4] != 0xaaaaaaaa) || - (((uint32_t*)stack_limit)[-3] != 0x77777777) || - (((uint32_t*)stack_limit)[-2] != 0xaaaaaaaa) || - (((uint32_t*)stack_limit)[-1] != 0x77777777)) - { - return NULL; - } - - task->stack_limit = stack_limit; - -#if (ARMV7M_RTOS_MPU_SUPPORTED == 1) - MPU->RBAR = (((uint32_t)stack_limit - 32) & 0xffffff00) | MPU_RBAR_VALID_Msk | (7 << MPU_RBAR_REGION_Pos); - MPU->RASR = (MPU_RASR_SRD_Msk ^ ((1 << MPU_RASR_SRD_Pos) << ((((uint32_t)stack_limit - 32) & 0x000000ff) >> 5))) | (7 << MPU_RASR_SIZE_Pos) | MPU_RASR_ENABLE_Msk; -#endif /* ARMV7M_RTOS_MPU_SUPPORTED == 1 */ - } - } - - armv7m_rtos_control.heap_current += size; - - return heap_current; -} - -static void __attribute__((used)) __svc_armv7m_rtos_system_start(k_task_routine_t routine, void *context) -{ - if (routine) - { - armv7m_rtos_task_start(armv7m_rtos_control.task_default, routine, context); - } - - armv7m_rtos_control.system_state = K_STATE_RUNNING; - - /* No special dispatch needed, as this case is handled via armv7m_rtos_system_start. - * That code on the tail end call armv7m_rtos_pendsv_callback, to avoid cycling - * throu PENDSV and possibly fetching a bad exception frame off the stack. - */ - - armv7m_rtos_control.task_self = K_TASK_TERMINATED; - armv7m_rtos_control.task_next = armv7m_rtos_control.task_ready; - - armv7m_rtos_work_schedule(); -} - -static bool __svc_armv7m_rtos_system_lock(void) -{ - uint8_t system_state; - - system_state = armv7m_rtos_control.system_state; - - if (!armv7m_rtos_control.work_self) - { - if (system_state == K_STATE_RUNNING) - { - armv7m_rtos_control.system_state = K_STATE_LOCKED; - } - } - - return (system_state == K_STATE_LOCKED); -} - -static void __svc_armv7m_rtos_system_unlock(void) -{ - if (!armv7m_rtos_control.work_self) - { - if (armv7m_rtos_control.system_state == K_STATE_LOCKED) - { - armv7m_rtos_control.system_state = K_STATE_RUNNING; - - armv7m_rtos_task_schedule(); - - armv7m_rtos_work_schedule(); - } - } -} - -static int __svc_armv7m_rtos_system_set_policy(uint32_t policy, uint32_t *p_policy_return) -{ - uint32_t policy_previous; - - if (policy > K_POLICY_STOP) - { - return K_ERR_INVALID_PARAMETER; - } - - if (policy == K_POLICY_CURRENT) - { - policy_previous = armv7m_rtos_control.system_policy; - } - else - { - policy_previous = __armv7m_atomic_swapb(&armv7m_rtos_control.system_policy, policy); - } - - if (p_policy_return) - { - *p_policy_return = policy_previous; - } - - return K_NO_ERROR; -} - -/* static */ void __svc_armv7m_rtos_task_exit(void) -{ - k_task_t *self; - - // armv7m_rtt_printf("k_task_exit()\n"); - - self = armv7m_rtos_control.task_self; - - self->state |= K_TASK_STATE_TERMINATED; - - armv7m_rtos_task_ready_remove(self); - - if (self->join) - { - armv7m_rtos_join_release(self->join); - } - - armv7m_rtos_mutex_destroy(self); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_exit)(); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - if (!(self->state & K_TASK_STATE_JOINABLE)) - { - armv7m_rtos_task_destroy(self); - } - - /* No special dispatch needed, as this case is handled via armv7m_rtos_task_exit. - * That code on the tail end call armv7m_rtos_pendsv_callback, to avoid cycling - * throu PENDSV and possibly fetching a bad exception frame off the stack. - */ - - armv7m_rtos_control.task_self = K_TASK_TERMINATED; - armv7m_rtos_control.task_next = armv7m_rtos_control.task_ready; - - if (armv7m_rtos_control.system_state == K_STATE_LOCKED) - { - armv7m_rtos_control.system_state = K_STATE_RUNNING; - - armv7m_rtos_work_schedule(); - } -} - -/******************************************************************************************************************************/ - -void* k_heap_allocate(uint32_t size) -{ - - if (armv7m_core_is_in_svcall_or_pendsv()) - { - return __svc_armv7m_rtos_heap_allocate(size); - } - - if (!armv7m_core_is_in_interrupt()) - { - return (void*)armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_heap_allocate, (uint32_t)size); - } - - return NULL; -} - -uint64_t k_system_clock(void) -{ - uint64_t clock; - uint32_t seconds, ticks; - - clock = stm32wb_lptim_timeout_clock(); - - seconds = clock / STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND; - ticks = clock & (STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND -1); - - return ((uint64_t)(seconds * 1000) + ((ticks * 1000) / STM32WB_LPTIM_TIMEOUT_TICKS_PER_SECOND)); -} - -uint32_t k_system_state(void) -{ - return armv7m_rtos_control.system_state; -} - -int k_system_initialize(const k_hook_table_t *hook_table) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (armv7m_rtos_control.system_state != K_STATE_INACTIVE) - { - return K_ERR_ILLEGAL_USE; - } - - armv7m_rtos_system_initialize(hook_table); - - return K_NO_ERROR; -} - -int k_system_start(k_task_routine_t routine, void *context) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (armv7m_rtos_control.system_state != K_STATE_READY) - { - return K_ERR_ILLEGAL_USE; - } - - armv7m_rtos_system_start(routine, context); -} - -bool k_system_lock(void) -{ - if (!armv7m_core_is_in_thread()) - { - return (armv7m_rtos_control.system_state == K_STATE_LOCKED); - } - - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_system_lock(); - } - else - { - return armv7m_svcall_0((uint32_t)&__svc_armv7m_rtos_system_lock); - } -} - -void k_system_unlock(void) -{ - if (!armv7m_core_is_in_thread()) - { - return; - } - - if (armv7m_core_is_in_interrupt()) - { - __svc_armv7m_rtos_system_unlock(); - } - else - { - armv7m_svcall_0((uint32_t)&__svc_armv7m_rtos_system_unlock); - } -} - -bool k_system_is_locked(void) -{ - return (armv7m_rtos_control.system_state == K_STATE_LOCKED); -} - -int k_system_set_policy(uint32_t policy, uint32_t *p_policy_return) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_system_set_policy, (uint32_t)policy, (uint32_t)p_policy_return); -} - -/******************************************************************************************************************************/ - -void __attribute__((weak)) armv7m_rtos_join_release(k_task_t *task) -{ -} - -void __attribute__((weak)) armv7m_rtos_join_unblock(k_task_t *task) -{ -} - -void __attribute__((weak)) armv7m_rtos_delay_unblock(k_task_t *task) -{ -} - -void __attribute__((weak)) armv7m_rtos_sleep_unblock(k_task_t *task) -{ -} - -void __attribute__((weak)) armv7m_rtos_event_unblock(k_task_t *task) -{ -} - -void __attribute__((weak)) armv7m_rtos_sem_unblock(k_task_t *task) -{ -} - -k_task_t * __attribute__((weak)) armv7m_rtos_mutex_priority(k_task_t *task) -{ - return NULL; -} - -void __attribute__((weak)) armv7m_rtos_mutex_unblock(k_task_t *task) -{ -} - -void __attribute__((weak)) armv7m_rtos_mutex_destroy(k_task_t *task) -{ -} - -void __attribute__((weak)) armv7m_rtos_work_return(void) -{ -} - -void __attribute__((weak)) armv7m_rtos_work_schedule(void) -{ -} - -/******************************************************************************************************************************/ diff --git a/system/STM32WBxx/Source/rtos_event.c b/system/STM32WBxx/Source/rtos_event.c deleted file mode 100644 index fce2089..0000000 --- a/system/STM32WBxx/Source/rtos_event.c +++ /dev/null @@ -1,431 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include "armv7m.h" -#include "stm32wb_system.h" -#include "stm32wb_lptim.h" - -#include "rtos_api.h" -#include "rtos_core.h" - -typedef struct _k_event_receive_params_t { - uint32_t mask; - uint32_t mode; - uint32_t timeout; - uint32_t *p_mask_return; -} k_event_receive_params_t; - -static void armv7m_rtos_event_send_process(k_event_t *event); -static void armv7m_rtos_event_send_routine(void); - -static int __svc_armv7m_rtos_event_init(k_event_t *event); -static int __svc_armv7m_rtos_event_deinit(k_event_t *event); -static int __svc_armv7m_rtos_event_send(k_event_t *event, uint32_t mask); -static int __svc_armv7m_rtos_event_receive(k_event_t *event, const k_event_receive_params_t *params); - -/******************************************************************************************************************************/ - -void armv7m_rtos_event_unblock(k_task_t *task) -{ - k_event_t *event; - - event = task->wait.event.event; - - armv7m_rtos_task_queue_remove(&event->waiting, task); -} - -static void armv7m_rtos_event_send_process(k_event_t *event) -{ - k_task_t *task, *task_next, *task_head, *task_tail; - k_event_t *event_send; - uint32_t mask, mask_reset, mask_return; - - do - { - event_send = event->send; - - event->send = NULL; - - mask = event->mask; - mask_reset = 0; - - task_head = event->waiting; - - if (task_head) - { - task_tail = task_head->previous; - task_next = task_head; - - do - { - task = task_next; - task_next = task->next; - - mask_return = mask & task->wait.event.mask; - - if (task->state & K_TASK_STATE_EVENT_ALL) - { - if (mask_return != task->wait.event.mask) - { - mask_return = 0; - } - } - - if (mask_return) - { - if (task->state & K_TASK_STATE_EVENT_CLEAR) - { - mask_reset |= mask_return; - } - - if (task->wait.event.p_mask_return) - { - *task->wait.event.p_mask_return = mask_return; - } - - armv7m_rtos_task_queue_remove(&event->waiting, task); - - armv7m_rtos_task_release(task); - } - } - while (task != task_tail); - - armv7m_atomic_and(&event->mask, ~mask_reset); - } - - event = event_send; - } - while (event != K_EVENT_SENTINEL); - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); -} - -static void armv7m_rtos_event_send_routine(void) -{ - k_event_t *event_send, *event_previous, *event_next; - - event_send = (k_event_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.event_send, (uint32_t)K_EVENT_SENTINEL); - - if (event_send != K_EVENT_SENTINEL) - { - if (event_send->send != K_EVENT_SENTINEL) - { - for (event_previous = K_EVENT_SENTINEL; event_send != K_EVENT_SENTINEL; event_send = event_next) - { - event_next = event_send->send; - - event_send->send = event_previous; - - event_previous = event_send; - } - - event_send = event_previous; - } - - armv7m_rtos_event_send_process(event_send); - } -} - -/******************************************************************************************************************************/ - -static int __svc_armv7m_rtos_event_init(k_event_t *event) -{ - // armv7m_rtt_printf("k_eventinit(event%08x)\n", event); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!event) - { - return K_ERR_INVALID_OBJECT; - } - - *event = K_EVENT_INIT(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_event_deinit(k_event_t *event) -{ - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!event) - { - return K_ERR_INVALID_OBJECT; - } - - if (event->waiting) - { - do - { - armv7m_rtos_task_unblock(event->waiting, K_ERR_UNSATISFIED); - } - while (event->waiting); - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_event_send(k_event_t *event, uint32_t mask) -{ - k_event_t *event_send; - - // armv7m_rtt_printf("k_event_send(event=%08x, mask=%08x)\n", event, mask); - - if (!event) - { - return K_ERR_INVALID_OBJECT; - } - - armv7m_atomic_or(&event->mask, mask); - - if (__armv7m_atomic_cas((volatile uint32_t*)&event->send, (uint32_t)NULL, (uint32_t)K_EVENT_SENTINEL) == (uint32_t)NULL) - { - if (armv7m_core_is_in_svcall_or_pendsv()) - { - armv7m_rtos_event_send_process(event); - } - else - { - event_send = (k_event_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.event_send, (uint32_t)event); - - event->send = event_send; - - if (event_send == K_EVENT_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_EVENT_SEND); - } - } - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_event_receive(k_event_t *event, const k_event_receive_params_t *params) -{ - k_task_t *self; - uint32_t mask, mask_return; - - // armv7m_rtt_printf("k_event_receive(event=%08x, mask=%08x, mode=%08x, timeout=%d, p_mask_return=%08x)\n", event, params->mask, params->mode, params->timeout, params->p_mask_return); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - self = armv7m_rtos_control.task_self; - - if (!self) - { - return K_ERR_ILLEGAL_USE; - } - - if (!event) - { - return K_ERR_INVALID_OBJECT; - } - - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - if (params->timeout != K_TIMEOUT_NONE) - { - return K_ERR_INVALID_PARAMETER; - } - } - - mask = event->mask; - mask_return = params->mask & mask; - - if (params->mode & K_EVENT_ALL) - { - if (mask_return != mask) - { - mask_return = 0; - } - } - - if (mask_return) - { - if (params->mode & K_EVENT_CLEAR) - { - armv7m_atomic_and(&event->mask, ~mask_return); - } - - if (params->p_mask_return) - { - *params->p_mask_return = mask_return; - } - - return K_NO_ERROR; - } - - if (params->timeout == K_TIMEOUT_NONE) - { - return K_ERR_UNSATISFIED; - } - - armv7m_rtos_task_ready_remove(self); - - self->wait.event.event = event; - self->wait.event.mask = params->mask; - self->wait.event.p_mask_return = params->p_mask_return; - - armv7m_rtos_task_queue_insert(&event->waiting, self); - - self->state |= (K_TASK_STATE_WAIT_EVENT | ((params->mode & K_EVENT_ALL) ? K_TASK_STATE_EVENT_ALL : 0) | ((params->mode & K_EVENT_CLEAR) ? K_TASK_STATE_EVENT_CLEAR : 0)); - - if (params->timeout != K_TIMEOUT_FOREVER) - { - armv7m_rtos_task_timeout_relative(self, params->timeout); - } - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -/******************************************************************************************************************************/ - -int k_event_init(k_event_t *event) -{ - // armv7m_rtt_printf("k_event_init(event=%08x)\n", event); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_event_init, (uint32_t)event); -} - -int k_event_deinit(k_event_t *event) -{ - // armv7m_rtt_printf("k_event_deinit(event=%08x)\n", event); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_event_deinit, (uint32_t)event); -} - -int k_event_send(k_event_t *event, uint32_t mask) -{ - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_event_send(event, mask); - } - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_event_send, (uint32_t)event, (uint32_t)mask); -} - -int k_event_receive(k_event_t *event, uint32_t mask, uint32_t mode, uint32_t timeout, uint32_t *p_mask_return) -{ - k_event_receive_params_t params; - uint32_t mask_return; - - if (armv7m_core_is_in_interrupt()) - { - if (!event) - { - return K_ERR_INVALID_OBJECT; - } - - if (timeout != K_TIMEOUT_NONE) - { - return K_ERR_INVALID_PARAMETER; - } - - mask_return = event->mask & mask; - - if (mode & K_EVENT_ALL) - { - if (mask_return != mask) - { - mask_return = 0; - } - } - - if (mask_return) - { - if (mode & K_EVENT_CLEAR) - { - armv7m_atomic_and(&event->mask, ~mask_return); - } - - if (p_mask_return) - { - *p_mask_return = mask_return; - } - - return K_NO_ERROR; - } - - return K_ERR_UNSATISFIED; - } - - params.mask = mask; - params.mode = mode; - params.timeout = timeout; - params.p_mask_return = p_mask_return; - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_event_receive, (uint32_t)event, (uint32_t)¶ms); -} - -uint32_t k_event_mask(k_event_t *event) -{ - if (!event) - { - return 0; - } - - return event->mask; -} - -/******************************************************************************************************************************/ - -void RTOS_EVENT_SEND_SWIHandler(void) -{ - armv7m_rtos_event_send_routine(); -} diff --git a/system/STM32WBxx/Source/rtos_mutex.c b/system/STM32WBxx/Source/rtos_mutex.c deleted file mode 100644 index f8b987a..0000000 --- a/system/STM32WBxx/Source/rtos_mutex.c +++ /dev/null @@ -1,619 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include "armv7m.h" -#include "stm32wb_system.h" -#include "stm32wb_lptim.h" - -#include "rtos_api.h" -#include "rtos_core.h" - -static void armv7m_rtos_mutex_queue_insert(k_mutex_t **p_mutex_head, k_mutex_t *mutex); -static void armv7m_rtos_mutex_queue_remove(k_mutex_t **p_mutex_head, k_mutex_t *mutex); -static void armv7m_rtos_mutex_owner_insert(k_mutex_t *mutex, k_task_t *task); -static void armv7m_rtos_mutex_owner_remove(k_mutex_t *mutex, k_task_t *task); -static void armv7m_rtos_mutex_owner_attach(k_mutex_t *mutex, k_task_t *task); -static void armv7m_rtos_mutex_owner_detach(k_mutex_t *mutex, k_task_t *task); -static void armv7m_rtos_mutex_wait_insert(k_mutex_t *mutex, k_task_t *task); -static void armv7m_rtos_mutex_wait_remove(k_mutex_t *mutex, k_task_t *task); - -static void armv7m_rtos_mutex_release(k_task_t *task); - -static int __svc_armv7m_rtos_mutex_init(k_mutex_t *mutex, uint32_t priority, uint32_t options); -static int __svc_armv7m_rtos_mutex_deinit(k_mutex_t *mutex); -static int __svc_armv7m_rtos_mutex_set_priority(k_mutex_t *mutex, uint32_t priority, uint32_t *p_priority_return); -static int __svc_armv7m_rtos_mutex_lock(k_mutex_t *mutex, uint32_t timeout); -static int __svc_armv7m_rtos_mutex_unlock(k_mutex_t *mutex); - -/******************************************************************************************************************************/ - -static void __attribute__((optimize("O3"), noinline)) armv7m_rtos_mutex_queue_insert(k_mutex_t **p_mutex_head, k_mutex_t *mutex) -{ - k_mutex_t *element; - - if (*p_mutex_head == NULL) - { - *p_mutex_head = mutex; - - mutex->next = mutex; - mutex->previous = mutex; - } - else - { - element = *p_mutex_head; - - do - { - if (mutex->priority < element->priority) - { - if (*p_mutex_head == element) - { - *p_mutex_head = mutex; - } - - break; - } - - element = element->next; - } - while (*p_mutex_head != element); - - mutex->next = element; - mutex->previous = element->previous; - - mutex->previous->next = mutex; - mutex->next->previous = mutex; - } -} - -static void __attribute__((optimize("O3"), noinline)) armv7m_rtos_mutex_queue_remove(k_mutex_t **p_mutex_head, k_mutex_t *mutex) -{ - if (mutex->next == mutex) - { - *p_mutex_head = NULL; - } - else - { - if (*p_mutex_head == mutex) - { - *p_mutex_head = mutex->next; - } - - mutex->next->previous = mutex->previous; - mutex->previous->next = mutex->next; - } - - mutex->next = NULL; - mutex->previous = NULL; -} - -static inline void armv7m_rtos_mutex_owner_insert(k_mutex_t *mutex, k_task_t *task) -{ - armv7m_rtos_mutex_queue_insert(&task->mutex, mutex); -} - -static inline void armv7m_rtos_mutex_owner_remove(k_mutex_t *mutex, k_task_t *task) -{ - armv7m_rtos_mutex_queue_remove(&task->mutex, mutex); -} - -static void armv7m_rtos_mutex_owner_attach(k_mutex_t *mutex, k_task_t *task) -{ - armv7m_rtos_mutex_queue_insert(&task->mutex, mutex); - - mutex->owner = task; - mutex->level = 1; -} - -static void armv7m_rtos_mutex_owner_detach(k_mutex_t *mutex, k_task_t *task) -{ - mutex->level = 0; - mutex->owner = NULL; - - armv7m_rtos_mutex_queue_remove(&task->mutex, mutex); -} - -static inline void armv7m_rtos_mutex_wait_insert(k_mutex_t *mutex, k_task_t *task) -{ - armv7m_rtos_task_queue_insert(&mutex->waiting, task); -} - -static inline void armv7m_rtos_mutex_wait_remove(k_mutex_t *mutex, k_task_t *task) -{ - armv7m_rtos_task_queue_remove(&mutex->waiting, task); -} - -k_task_t * armv7m_rtos_mutex_priority(k_task_t *task) -{ - k_task_t *owner; - k_mutex_t *mutex; - - owner = NULL; - - if ((task->state & K_TASK_STATE_WAIT_MASK) == K_TASK_STATE_WAIT_MUTEX) - { - mutex = task->wait.mutex.mutex; - - armv7m_rtos_mutex_wait_remove(mutex, task); - armv7m_rtos_mutex_wait_insert(mutex, task); - - if (mutex->options & K_MUTEX_PRIORITY_INHERIT) - { - if (mutex->priority != mutex->waiting->priority) - { - mutex->priority = mutex->waiting->priority; - - owner = mutex->owner; - - armv7m_rtos_mutex_owner_remove(mutex, owner); - armv7m_rtos_mutex_owner_insert(mutex, owner); - } - } - } - - return owner; -} - -void armv7m_rtos_mutex_unblock(k_task_t *task) -{ - k_task_t *owner; - k_mutex_t *mutex; - uint32_t priority; - - mutex = task->wait.mutex.mutex; - - armv7m_rtos_mutex_wait_remove(mutex, task); - - if (mutex->options & K_MUTEX_PRIORITY_INHERIT) - { - priority = (mutex->waiting ? mutex->waiting->priority : K_PRIORITY_MIN); - - if (mutex->priority != priority) - { - mutex->priority = priority; - - owner = mutex->owner; - - armv7m_rtos_mutex_owner_remove(mutex, owner); - armv7m_rtos_mutex_owner_insert(mutex, owner); - - armv7m_rtos_task_priority(owner); - } - } -} - -static void armv7m_rtos_mutex_release(k_task_t *task) -{ - k_mutex_t *mutex; - - mutex = task->wait.mutex.mutex; - - armv7m_rtos_mutex_wait_remove(mutex, task); - - if (mutex->options & K_MUTEX_PRIORITY_INHERIT) - { - mutex->priority = (mutex->waiting ? mutex->waiting->priority : K_PRIORITY_MIN); - } - - armv7m_rtos_mutex_owner_attach(mutex, task); - - if (mutex->options & (K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) - { - armv7m_rtos_task_priority(task); - } - - armv7m_rtos_task_release(task); -} - -void armv7m_rtos_mutex_destroy(k_task_t *task) -{ - k_mutex_t *mutex; - - mutex = task->mutex; - - if (mutex) - { - do - { - armv7m_rtos_mutex_owner_detach(mutex, task); - - if (mutex->waiting) - { - armv7m_rtos_mutex_release(mutex->waiting); - } - - mutex = task->mutex; - } - while (mutex); - } -} - -/******************************************************************************************************************************/ - -static int __svc_armv7m_rtos_mutex_init(k_mutex_t *mutex, uint32_t priority, uint32_t options) -{ - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!mutex) - { - return K_ERR_INVALID_OBJECT; - } - - if (options & ~(K_MUTEX_RECURSIVE | K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) - { - return K_ERR_INVALID_PARAMETER; - } - - if (options & K_MUTEX_PRIORITY_PROTECT) - { - if ((priority < K_PRIORITY_MAX) || (priority > K_PRIORITY_MIN)) - { - return K_ERR_INVALID_PARAMETER; - } - } - else - { - priority = K_PRIORITY_MIN; - } - - *mutex = K_MUTEX_INIT(priority, options); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_mutex_deinit(k_mutex_t *mutex) -{ - k_task_t *owner; - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!mutex) - { - return K_ERR_INVALID_OBJECT; - } - - owner = mutex->owner; - - if (owner) - { - armv7m_rtos_mutex_owner_detach(mutex, owner); - - if (mutex->options & K_MUTEX_PRIORITY_INHERIT) - { - armv7m_rtos_task_priority(owner); - } - } - - if (mutex->waiting) - { - do - { - armv7m_rtos_task_unblock(mutex->waiting, K_ERR_UNSATISFIED); - } - while (mutex->waiting); - } - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_mutex_set_priority(k_mutex_t *mutex, uint32_t priority, uint32_t *p_priority_return) -{ - uint32_t priority_previous; - - // armv7m_rtt_printf("k_mutex_set_priority(mutex=%08x, priority=%d, p_priority_return=%08x)\n", mutex, priority, p_priority_return); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!mutex || !(mutex->options & K_MUTEX_PRIORITY_PROTECT)) - { - return K_ERR_INVALID_OBJECT; - } - - if (priority > K_PRIORITY_MIN) - { - return K_ERR_INVALID_PARAMETER; - } - - if (mutex->owner) - { - return K_ERR_MUTEX_ALREADY_LOCKED; - } - - priority_previous = mutex->priority; - - if (priority != K_PRIORITY_CURRENT) - { - mutex->priority = priority; - } - - if (p_priority_return) - { - *p_priority_return = priority_previous; - } - - return K_NO_ERROR; -} - -static int __attribute__((optimize("O3"))) __svc_armv7m_rtos_mutex_lock(k_mutex_t *mutex, uint32_t timeout) -{ - k_task_t *self, *owner; - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - self = armv7m_rtos_control.task_self; - - if (!self) - { - return K_ERR_ILLEGAL_USE; - } - - if (!mutex) - { - return K_ERR_INVALID_OBJECT; - } - - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - if (timeout != K_TIMEOUT_NONE) - { - return K_ERR_INVALID_PARAMETER; - } - } - - if (mutex->owner == self) - { - if (mutex->options & K_MUTEX_RECURSIVE) - { - if (mutex->level == 0xffff) - { - return K_ERR_MUTEX_OVERFLOW; - } - - mutex->level++; - - return K_NO_ERROR; - } - else - { - return K_ERR_MUTEX_ALREADY_LOCKED; - } - } - - if (!mutex->owner) - { - if (mutex->options & K_MUTEX_PRIORITY_INHERIT) - { - mutex->priority = self->priority; - } - - armv7m_rtos_mutex_owner_attach(mutex, self); - - if (mutex->options & K_MUTEX_PRIORITY_PROTECT) - { - armv7m_rtos_task_priority(self); - } - - return K_NO_ERROR; - } - - if (timeout == K_TIMEOUT_NONE) - { - return K_ERR_UNSATISFIED; - } - - armv7m_rtos_task_ready_remove(self); - - self->wait.mutex.mutex = mutex; - - self->state |= K_TASK_STATE_WAIT_MUTEX; - - if (timeout != K_TIMEOUT_FOREVER) - { - armv7m_rtos_task_timeout_relative(self, timeout); - } - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_mutex_wait_insert(mutex, self); - - if (mutex->options & K_MUTEX_PRIORITY_INHERIT) - { - if (mutex->priority != mutex->waiting->priority) - { - mutex->priority = mutex->waiting->priority; - - owner = mutex->owner; - - armv7m_rtos_mutex_owner_remove(mutex, owner); - armv7m_rtos_mutex_owner_insert(mutex, owner); - - armv7m_rtos_task_priority(owner); - } - } - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_mutex_unlock(k_mutex_t *mutex) -{ - k_task_t *self; - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - self = armv7m_rtos_control.task_self; - - if (!self) - { - return K_ERR_ILLEGAL_USE; - } - - if (!mutex) - { - return K_ERR_INVALID_OBJECT; - } - - if (mutex->owner != self) - { - return K_ERR_NOT_OWNER_OF_MUTEX; - } - - if (mutex->options & K_MUTEX_RECURSIVE) - { - if (mutex->level != 1) - { - mutex->level--; - - return K_NO_ERROR; - } - } - - armv7m_rtos_mutex_owner_detach(mutex, self); - - if (mutex->waiting) - { - armv7m_rtos_mutex_release(mutex->waiting); - } - - if (mutex->options & (K_MUTEX_PRIORITY_INHERIT | K_MUTEX_PRIORITY_PROTECT)) - { - armv7m_rtos_task_priority(self); - } - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -/******************************************************************************************************************************/ - -int k_mutex_init(k_mutex_t *mutex, uint32_t priority, uint32_t options) -{ - // armv7m_rtt_printf("k_mutex_init(mutex=%08x, priority=%d, options=%08x)\n", mutex, priority, options); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_mutex_init, (uint32_t)mutex, (uint32_t)priority, (uint32_t)options); -} - -int k_mutex_deinit(k_mutex_t *mutex) -{ - // armv7m_rtt_printf("k_mutex_deinit(mutex=%08x)\n", mutex); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_mutex_deinit, (uint32_t)mutex); -} - -int k_mutex_set_priority(k_mutex_t *mutex, uint32_t priority, uint32_t *p_priority_return) -{ - // armv7m_rtt_printf("k_mutex_set_priority(mutex=%08x, priority=%d, p_priority_return=%08x)\n", mutex, priority, p_priority_return); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_mutex_set_priority, (uint32_t)mutex, (uint32_t)priority, (uint32_t)p_priority_return); -} - -int k_mutex_lock(k_mutex_t *mutex, uint32_t timeout) -{ - // armv7m_rtt_printf("k_mutex_lock(mutex=%08x, timeout=%d)\n", mutex, timeout); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_mutex_lock, (uint32_t)mutex, (uint32_t)timeout); -} - -int k_mutex_unlock(k_mutex_t *mutex) -{ - // armv7m_rtt_printf("k_mutex_unlock(mutex=%08x)\n", mutex); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_mutex_unlock, (uint32_t)mutex); -} - -uint32_t k_mutex_level(k_mutex_t *mutex) -{ - if (!mutex) - { - return 0; - } - - return mutex->level; -} - -k_task_t* k_mutex_owner(k_mutex_t *mutex) -{ - if (!mutex) - { - return NULL; - } - - return mutex->owner; -} - -/******************************************************************************************************************************/ diff --git a/system/STM32WBxx/Source/rtos_sem.c b/system/STM32WBxx/Source/rtos_sem.c deleted file mode 100644 index 88faa7b..0000000 --- a/system/STM32WBxx/Source/rtos_sem.c +++ /dev/null @@ -1,360 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include "armv7m.h" -#include "stm32wb_system.h" -#include "stm32wb_lptim.h" - -#include "rtos_api.h" -#include "rtos_core.h" - -static void armv7m_rtos_sem_release_process(k_sem_t *sem); -static void armv7m_rtos_sem_release_routine(void); - -static int __svc_armv7m_rtos_sem_init(k_sem_t *sem, uint32_t count, uint32_t limit); -static int __svc_armv7m_rtos_sem_deinit(k_sem_t *sem); -static int __svc_armv7m_rtos_sem_acquire(k_sem_t *sem, uint32_t timeout); -static int __svc_armv7m_rtos_sem_release(k_sem_t *sem); - -/******************************************************************************************************************************/ - -void armv7m_rtos_sem_unblock(k_task_t *task) -{ - k_sem_t *sem; - - sem = task->wait.sem.sem; - - armv7m_rtos_task_queue_remove(&sem->waiting, task); -} - -static void armv7m_rtos_sem_release_process(k_sem_t *sem) -{ - k_task_t *task, *task_next, *task_head, *task_tail; - k_sem_t *sem_release; - - do - { - sem_release = sem->release; - - sem->release = NULL; - - task_head = sem->waiting; - - if (task_head) - { - task_tail = task_head->previous; - task_next = task_head; - - do - { - task = task_next; - task_next = task->next; - - if (armv7m_atomic_dech(&sem->count)) - { - armv7m_rtos_task_queue_remove(&sem->waiting, task); - - armv7m_rtos_task_release(task); - } - else - { - break; - } - } - while (task != task_tail); - } - - sem = sem_release; - } - while (sem != K_SEM_SENTINEL); - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); -} - -static void armv7m_rtos_sem_release_routine(void) -{ - k_sem_t *sem_release, *sem_previous, *sem_next; - - sem_release = (k_sem_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.sem_release, (uint32_t)K_SEM_SENTINEL); - - if (sem_release != K_SEM_SENTINEL) - { - if (sem_release->release != K_SEM_SENTINEL) - { - for (sem_previous = K_SEM_SENTINEL; sem_release != K_SEM_SENTINEL; sem_release = sem_next) - { - sem_next = sem_release->release; - - sem_release->release = sem_previous; - - sem_previous = sem_release; - } - - sem_release = sem_previous; - } - - armv7m_rtos_sem_release_process(sem_release); - } -} - -/******************************************************************************************************************************/ - -static int __svc_armv7m_rtos_sem_init(k_sem_t *sem, uint32_t count, uint32_t limit) -{ - // armv7m_rtt_printf("k_sem_init(sem=%08x, count=%d, limit=%d)\n", sem, count, limit); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!sem) - { - return K_ERR_INVALID_OBJECT; - } - - if ((count > 0xffff) || (limit > 0xffff)) - { - return K_ERR_INVALID_PARAMETER; - } - - *sem = K_SEM_INIT(count, limit); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_sem_deinit(k_sem_t *sem) -{ - // armv7m_rtt_printf("k_sem_deinit(sem=%08x)\n", sem); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!sem) - { - return K_ERR_INVALID_OBJECT; - } - - if (sem->waiting) - { - do - { - armv7m_rtos_task_unblock(sem->waiting, K_ERR_UNSATISFIED); - } - while (sem->waiting); - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_sem_acquire(k_sem_t *sem, uint32_t timeout) -{ - k_task_t *self; - - // armv7m_rtt_printf("k_sem_acquire(sem=%08x, timeout=%d)\n", sem, timeout); - - if (!sem) - { - return K_ERR_INVALID_OBJECT; - } - - if (armv7m_rtos_control.work_self) - { - if (timeout != K_TIMEOUT_NONE) - { - return K_ERR_INVALID_PARAMETER; - } - } - else - { - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - if (timeout != K_TIMEOUT_NONE) - { - return K_ERR_INVALID_PARAMETER; - } - } - } - - if (armv7m_atomic_dech(&sem->count)) - { - return K_NO_ERROR; - } - - if (timeout == K_TIMEOUT_NONE) - { - return K_ERR_UNSATISFIED; - } - - self = armv7m_rtos_control.task_self; - - armv7m_rtos_task_ready_remove(self); - - self->wait.sem.sem = sem; - - armv7m_rtos_task_queue_insert(&sem->waiting, self); - - self->state |= K_TASK_STATE_WAIT_SEM; - - if (timeout != K_TIMEOUT_FOREVER) - { - armv7m_rtos_task_timeout_relative(self, timeout); - } - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_sem_release(k_sem_t *sem) -{ - k_sem_t *sem_release; - - // armv7m_rtt_printf("k_sem_release(sem=%08x)\n", sem); - - if (!sem) - { - return K_ERR_INVALID_OBJECT; - } - - if (armv7m_atomic_inch(&sem->count, sem->limit) == sem->limit) - { - return K_ERR_SEM_OVERFLOW; - } - - if (__armv7m_atomic_cas((volatile uint32_t*)&sem->release, (uint32_t)NULL, (uint32_t)K_SEM_SENTINEL) == (uint32_t)NULL) - { - if (armv7m_core_is_in_svcall_or_pendsv()) - { - armv7m_rtos_sem_release_process(sem); - } - else - { - sem_release = (k_sem_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.sem_release, (uint32_t)sem); - - sem->release = sem_release; - - if (sem_release == K_SEM_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_SEM_RELEASE); - } - } - } - - return K_NO_ERROR; -} - -/******************************************************************************************************************************/ - -int k_sem_init(k_sem_t *sem, uint32_t count, uint32_t limit) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_sem_init, (uint32_t)sem, count, limit); -} - -int k_sem_deinit(k_sem_t *sem) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_sem_deinit, (uint32_t)sem); -} - -int k_sem_acquire(k_sem_t *sem, uint32_t timeout) -{ - uint32_t count; - - if (armv7m_core_is_in_interrupt()) - { - if (!sem) - { - return K_ERR_INVALID_OBJECT; - } - - if (timeout != K_TIMEOUT_NONE) - { - return K_ERR_INVALID_PARAMETER; - } - - count = armv7m_atomic_dech(&sem->count); - - if (count) - { - return K_NO_ERROR; - } - - return K_ERR_TIMEOUT; - } - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_sem_acquire, (uint32_t)sem, (uint32_t)timeout); -} - -int k_sem_release(k_sem_t *sem) -{ - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_sem_release(sem); - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_sem_release, (uint32_t)sem); -} - -uint32_t k_sem_count(k_sem_t *sem) -{ - if (!sem) - { - return 0; - } - - return sem->count; -} - -/******************************************************************************************************************************/ - -void RTOS_SEM_RELEASE_SWIHandler(void) -{ - armv7m_rtos_sem_release_routine(); -} diff --git a/system/STM32WBxx/Source/rtos_task.c b/system/STM32WBxx/Source/rtos_task.c deleted file mode 100644 index 41a1403..0000000 --- a/system/STM32WBxx/Source/rtos_task.c +++ /dev/null @@ -1,1164 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include "armv7m.h" -#include "stm32wb_system.h" -#include "stm32wb_lptim.h" -#include "stm32wb_gpio.h" - -#include "rtos_api.h" -#include "rtos_core.h" - -typedef struct _k_task_params_t { - const char *name; - k_task_routine_t routine; - void *context; - uint32_t priority; - void *stack_base; - uint32_t stack_size; - uint32_t options; -} k_task_params_t; - -static uint32_t armv7m_rtos_task_state(k_task_t *task); - -static void armv7m_rtos_task_resume_process(k_task_t *task); -static void armv7m_rtos_task_resume_routine(void); - -static void armv7m_rtos_task_wakeup_process(k_task_t *task); -static void armv7m_rtos_task_wakeup_routine(void); - -static int __svc_armv7m_rtos_task_create(k_task_t *task, const k_task_params_t *params); -static int __svc_armv7m_rtos_task_terminate(k_task_t *task); -static int __svc_armv7m_rtos_task_detach(k_task_t *task); -static int __svc_armv7m_rtos_task_join(k_task_t *task); -static int __svc_armv7m_rtos_task_enumerate(uint32_t *p_count_return, k_task_t **p_task_return, uint32_t count); -static int __svc_armv7m_rtos_task_info(k_task_t *task, k_task_info_t *p_task_info_return); -static int __svc_armv7m_rtos_task_stack(k_task_t *task, uint32_t *p_stack_base_return, uint32_t *p_stack_size_return, uint32_t *p_stack_space_return); -static int __svc_armv7m_rtos_task_unblock(k_task_t *task); -static int __svc_armv7m_rtos_task_suspend(k_task_t *task); -static int __svc_armv7m_rtos_task_resume(k_task_t *task); -static int __svc_armv7m_rtos_task_set_priority(k_task_t *task, uint32_t priority, uint32_t *p_priority_return); -static int __svc_armv7m_rtos_task_get_priority(k_task_t *task, uint32_t *p_priority_return); -static int __svc_armv7m_rtos_task_delay(uint32_t delay); -static int __svc_armv7m_rtos_task_delay_until(uint32_t clock_l, uint32_t clock_h); -static int __svc_armv7m_rtos_task_sleep(uint32_t timeout); -static int __svc_armv7m_rtos_task_wakeup(k_task_t *task); -static int __svc_armv7m_rtos_task_yield(void); - -/******************************************************************************************************************************/ - -static uint32_t armv7m_rtos_task_state(k_task_t *task) -{ - return ((task->state & K_TASK_STATE_TERMINATED) - ? K_STATE_TERMINATED - : ((task->state & K_TASK_STATE_SUSPENDED) - ? K_STATE_SUSPENDED - : ((task->state & K_TASK_STATE_WAIT_MASK) - ? K_STATE_BLOCKED - : ((task->state & K_TASK_STATE_READY) - ? ((task != armv7m_rtos_control.task_self) ? K_STATE_READY : K_STATE_RUNNING) - : K_STATE_INACTIVE)))); -} - -void armv7m_rtos_join_release(k_task_t *task) -{ - armv7m_rtos_task_destroy(task->wait.join.task); - - task->state &= ~K_TASK_STATE_WAIT_MASK; - - if (!(task->state & K_TASK_STATE_SUSPENDED)) - { - armv7m_rtos_task_ready_insert(task); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_ready)(task); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } - else - { -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(task, (task->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } -} - -void armv7m_rtos_join_unblock(k_task_t *task) -{ - task->wait.join.task->join = NULL; -} - -void armv7m_rtos_delay_unblock(k_task_t *task) -{ -} - -void armv7m_rtos_sleep_unblock(k_task_t *task) -{ -} - -static void armv7m_rtos_task_resume_process(k_task_t *task) -{ - k_task_t *task_resume; - - do - { - task_resume = task->resume; - - task->state &= ~K_TASK_STATE_SUSPENDED; - - if (!(task->state & K_TASK_STATE_TERMINATED)) - { - if (!(task->state & K_TASK_STATE_WAIT_MASK)) - { - armv7m_rtos_task_ready_insert(task); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_ready)(task); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } - else - { -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(task, (task->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } - } - - task->resume = NULL; - - task = task_resume; - } - while (task != K_TASK_SENTINEL); - - armv7m_rtos_task_schedule(); -} - -static void armv7m_rtos_task_resume_routine(void) -{ - k_task_t *task_resume, *task_previous, *task_next; - - task_resume = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_resume, (uint32_t)K_TASK_SENTINEL); - - if (task_resume != K_TASK_SENTINEL) - { - if (task_resume->resume != K_TASK_SENTINEL) - { - for (task_previous = K_TASK_SENTINEL; task_resume != K_TASK_SENTINEL; task_resume = task_next) - { - task_next = task_resume->resume; - - task_resume->resume = task_previous; - - task_previous = task_resume; - } - - task_resume = task_previous; - } - - armv7m_rtos_task_resume_process(task_resume); - } -} - -static void armv7m_rtos_task_wakeup_process(k_task_t *task) -{ - k_task_t *task_wakeup; - - do - { - task_wakeup = task->wakeup; - - task->state |= K_TASK_STATE_WAKEUP; - - if ((task->state & K_TASK_STATE_WAIT_MASK) == K_TASK_STATE_WAIT_SLEEP) - { - task->state &= ~K_TASK_STATE_WAKEUP; - - armv7m_rtos_task_release(task); - } - - task->wakeup = NULL; - - task = task_wakeup; - } - while (task != K_TASK_SENTINEL); - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); -} - -static void armv7m_rtos_task_wakeup_routine(void) -{ - k_task_t *task_wakeup, *task_previous, *task_next; - - task_wakeup = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_wakeup, (uint32_t)K_TASK_SENTINEL); - - if (task_wakeup != K_TASK_SENTINEL) - { - if (task_wakeup->wakeup != K_TASK_SENTINEL) - { - for (task_previous = K_TASK_SENTINEL; task_wakeup != K_TASK_SENTINEL; task_wakeup = task_next) - { - task_next = task_wakeup->wakeup; - - task_wakeup->wakeup = task_previous; - - task_previous = task_wakeup; - } - - task_wakeup = task_previous; - } - - armv7m_rtos_task_wakeup_process(task_wakeup); - } -} - -/******************************************************************************************************************************/ - -static int __svc_armv7m_rtos_task_create(k_task_t *task, const k_task_params_t *params) -{ - // armv7m_rtt_printf("k_task_create(task=%08x, name=\"%s\", routine=%08x, context=%0x, priority=%d, stack_base=%08x, stack_size=%d, options=%08x)\n", task, params->name, params->routine, params->context, params->priority, params->stack_base, params->stack_size, params->options); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!task) - { - return K_ERR_INVALID_OBJECT; - } - - if (!params->routine) - { - return K_ERR_INVALID_PARAMETER; - } - - if ((params->priority < K_PRIORITY_MAX) || (params->priority > K_PRIORITY_MIN)) - { - return K_ERR_INVALID_PARAMETER; - } - - if ((uint32_t)params->stack_base & 7) - { - return K_ERR_INVALID_PARAMETER; - } - - if ((params->stack_size & 7) || (params->stack_size < K_STACK_SIZE_MIN)) - { - return K_ERR_INVALID_PARAMETER; - } - - if (params->options & ~(K_TASK_SUSPENDED | K_TASK_JOINABLE)) - { - return K_ERR_INVALID_PARAMETER; - } - - armv7m_rtos_task_create(task, params->name, params->priority, params->stack_base, params->stack_size, params->options); - - armv7m_rtos_task_start(task, params->routine, params->context); - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_terminate(k_task_t *task) -{ - // armv7m_rtt_printf("k_task_terminate(task=%08x)\n", task); - - /* No need to check for K_STATE_LOCKED here. Because we do - * not allow task_self to be terminated, there is not way - * to switch the current task out and end up with a locked up - * system. - */ - - if (task == armv7m_rtos_control.task_self) - { - return K_ERR_ILLEGAL_USE; - } - - if (task == armv7m_rtos_control.task_default) - { - return K_ERR_ILLEGAL_USE; - } - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - task->state |= K_TASK_STATE_TERMINATED; - - if (task->state & K_TASK_STATE_SUSPENDED) - { - if (armv7m_atomic_cas((volatile uint32_t*)&task->resume, (uint32_t)NULL, (uint32_t)K_TASK_SENTINEL) != (uint32_t)NULL) - { - armv7m_rtos_task_resume_routine(); - } - } - - if (task->state & K_TASK_STATE_WAIT_MASK) - { - if ((task->state & K_TASK_STATE_WAIT_MASK) == K_TASK_STATE_WAIT_SLEEP) - { - if (armv7m_atomic_cas((volatile uint32_t*)&task->wakeup, (uint32_t)NULL, (uint32_t)K_TASK_SENTINEL) != (uint32_t)NULL) - { - armv7m_rtos_task_wakeup_routine(); - } - } - else - { - armv7m_rtos_task_unblock(task, K_ERR_UNSATISFIED); - } - } - - if (task->state & K_TASK_STATE_READY) - { - armv7m_rtos_task_ready_remove(task); - } - - if (task->join) - { - armv7m_rtos_join_release(task->join); - } - - armv7m_rtos_mutex_destroy(task); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_terminate)(task); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - if (!(task->state & K_TASK_STATE_JOINABLE)) - { - armv7m_rtos_task_destroy(task); - } - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_detach(k_task_t *task) -{ - // armv7m_rtt_printf("k_task_detach(task=%08x)\n", task); - - if (!task || !task->link) - { - return K_ERR_INVALID_OBJECT; - } - - if (task == armv7m_rtos_control.task_default) - { - return K_ERR_ILLEGAL_USE; - } - - if (!(task->state & K_TASK_STATE_JOINABLE)) - { - return K_ERR_TASK_ALREADY_DETACHED; - } - - if (task->join) - { - return K_ERR_TASK_ALREADY_JOINED; - } - - task->state &= ~K_TASK_STATE_JOINABLE; - - if (task->state & K_TASK_STATE_TERMINATED) - { - armv7m_rtos_task_destroy(task); - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_join(k_task_t *task) -{ - k_task_t *self; - - // armv7m_rtt_printf("k_task_join(task=%08x)\n", task); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - return K_ERR_ILLEGAL_USE; - } - - if (task == armv7m_rtos_control.task_default) - { - return K_ERR_ILLEGAL_USE; - } - - if (!task || !task->link) - { - return K_ERR_INVALID_OBJECT; - } - - if (!(task->state & K_TASK_STATE_JOINABLE)) - { - return K_ERR_TASK_NOT_JOINABLE; - } - - if (task->join) - { - return K_ERR_TASK_ALREADY_JOINED; - } - - if (task->state & K_TASK_STATE_TERMINATED) - { - armv7m_rtos_task_destroy(task); - } - else - { - self = armv7m_rtos_control.task_self; - - task->join = self; - - armv7m_rtos_task_ready_remove(self); - - self->wait.join.task = task; - - self->state |= K_TASK_STATE_WAIT_JOIN; - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_task_schedule(); - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_enumerate(uint32_t *p_count_return, k_task_t **p_task_return, uint32_t count) -{ - k_task_t *task; - uint32_t index; - - // armv7m_rtt_printf("k_task_enumerate(p_count_return=%08x, p_task_return=%08x, count=%d)\n", p_count_return, p_task_return, count); - - for (task = armv7m_rtos_control.task_link, index = 0; task != K_TASK_SENTINEL; task = task->link, index++) - { - if (p_task_return) - { - if (index < count) - { - p_task_return[index] = task; - } - } - } - - if (p_count_return) - { - *p_count_return = index; - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_info(k_task_t *task, k_task_info_t *p_task_info_return) -{ - // armv7m_rtt_printf("k_task_info(task=%08x, p_task_info_return=%08x)\n", task, p_task_info_return); - - if (!task || !task->link) - { - return K_ERR_INVALID_OBJECT; - } - - if (p_task_info_return) - { - p_task_info_return->name = task->name; - p_task_info_return->priority = task->priority; - p_task_info_return->bpriority = task->bpriority; - p_task_info_return->state = armv7m_rtos_task_state(task); - p_task_info_return->wait = (task->state & K_TASK_STATE_WAIT_MASK); - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_stack(k_task_t *task, uint32_t *p_stack_base_return, uint32_t *p_stack_size_return, uint32_t *p_stack_space_return) -{ - uint32_t *stack_end; - - // armv7m_rtt_printf("k_task_stack(task=%08x, p_stack_base_return=%08x, p_stack_size_return=%08x, p_stack_space_return=%08x)\n", task, p_stack_base_return, p_stack_size_return, p_stack_space_return); - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - if (p_stack_base_return) - { - *p_stack_base_return = (uint32_t)task->stack_limit; - } - - if (p_stack_size_return) - { - *p_stack_size_return = (uint32_t)task->stack_base - (uint32_t)task->stack_limit; - } - - if (p_stack_space_return) - { - if (task->stack_end > task->stack_top) - { - task->stack_end = task->stack_top; - } - - for (stack_end = (uint32_t*)task->stack_limit; stack_end < (uint32_t*)task->stack_end; stack_end += 2) - { - if ((stack_end[0] != 0xaaaaaaaa) || (stack_end[1] != 0x77777777)) - { - break; - } - } - - task->stack_end = stack_end; - - *p_stack_space_return = (uint32_t)task->stack_end - (uint32_t)task->stack_limit; - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_unblock(k_task_t *task) -{ - // armv7m_rtt_printf("k_task_unblock(task=%08x)\n", task); - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - if (!(task->state & K_TASK_STATE_WAIT_MASK)) - { - return K_ERR_TASK_NOT_BLOCKED; - } - - armv7m_rtos_task_unblock(task, K_ERR_UNSATISFIED); - - armv7m_rtos_task_timeout_schedule(); - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_suspend(k_task_t *task) -{ - // armv7m_rtt_printf("k_task_suspend(task=%08x)\n", task); - - if (task == armv7m_rtos_control.task_self) - { - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - return K_ERR_ILLEGAL_USE; - } - } - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - if (task->state & K_TASK_STATE_SUSPENDED) - { - return K_ERR_TASK_ALREADY_SUSPENDED; - } - - if (task->state & K_TASK_STATE_READY) - { - armv7m_rtos_task_ready_remove(task); - } - - task->state |= K_TASK_STATE_SUSPENDED; - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(task, (task->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_resume(k_task_t *task) -{ - k_task_t *task_resume; - - // armv7m_rtt_printf("k_task_resume(task=%08x)\n", task); - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - if (!(task->state & K_TASK_STATE_SUSPENDED)) - { - return K_ERR_TASK_NOT_SUSPENDED; - } - - if (__armv7m_atomic_cas((volatile uint32_t*)&task->resume, (uint32_t)NULL, (uint32_t)K_TASK_SENTINEL) != (uint32_t)NULL) - { - return K_ERR_TASK_NOT_SUSPENDED; - } - - if (armv7m_core_is_in_svcall_or_pendsv()) - { - armv7m_rtos_task_resume_process(task); - } - else - { - task_resume = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_resume, (uint32_t)task); - - task->resume = task_resume; - - if (task_resume == K_TASK_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_TASK_RESUME); - } - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_set_priority(k_task_t *task, uint32_t priority, uint32_t *p_priority_return) -{ - uint32_t priority_previous; - - // armv7m_rtt_printf("k_task_set_priority(task=%08x, priority=%d, p_priority_return=%08x)\n", task, priority, p_priority_return); - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - if (priority > K_PRIORITY_MIN) - { - return K_ERR_INVALID_PARAMETER; - } - - priority_previous = task->bpriority; - - if (priority != K_PRIORITY_CURRENT) - { - if (task->bpriority != priority) - { - task->bpriority = priority; - - armv7m_rtos_task_priority(task); - - armv7m_rtos_task_schedule(); - } - } - - if (p_priority_return) - { - *p_priority_return = priority_previous; - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_get_priority(k_task_t *task, uint32_t *p_priority_return) -{ - // armv7m_rtt_printf("k_task_get_priority(task=%08x, p_priority_return=%08x)\n", task, p_priority_return); - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - if (p_priority_return) - { - *p_priority_return = task->priority; - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_delay(uint32_t delay) -{ - k_task_t *self; - - // armv7m_rtt_printf("k_task_delay(delay=%d)\n", delay); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - return K_ERR_ILLEGAL_USE; - } - - if (!delay) - { - return K_ERR_INVALID_PARAMETER; - } - - self = armv7m_rtos_control.task_self; - - armv7m_rtos_task_ready_remove(self); - - self->state |= K_TASK_STATE_WAIT_DELAY; - - armv7m_rtos_task_timeout_relative(self, delay); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_delay_until(uint32_t clock_l, uint32_t clock_h) -{ - k_task_t *self; - uint64_t clock; - - // armv7m_rtt_printf("k_task_delay_until(clock=%08x%08x)\n", clock_h, clock_l); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - return K_ERR_ILLEGAL_USE; - } - - if (!clock_l && !clock_h) - { - return K_ERR_INVALID_PARAMETER; - } - - clock = (((uint64_t)clock_l << 0) | ((uint64_t)clock_h << 32)); - - self = armv7m_rtos_control.task_self; - - armv7m_rtos_task_ready_remove(self); - - self->state |= K_TASK_STATE_WAIT_DELAY; - - armv7m_rtos_task_timeout_absolute(self, clock); - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_sleep(uint32_t timeout) -{ - k_task_t *self; - - // armv7m_rtt_printf("k_task_sleep(timeout=%d)\n", timeout); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - self = armv7m_rtos_control.task_self; - - if (!self) - { - return K_ERR_ILLEGAL_USE; - } - - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - if (timeout != K_TIMEOUT_NONE) - { - return K_ERR_INVALID_PARAMETER; - } - } - - if (self->state & K_TASK_STATE_WAKEUP) - { - self->state &= ~K_TASK_STATE_WAKEUP; - - return K_NO_ERROR; - } - - if (timeout == K_TIMEOUT_NONE) - { - return K_ERR_UNSATISFIED; - } - - armv7m_rtos_task_ready_remove(self); - - self->state |= K_TASK_STATE_WAIT_SLEEP; - - if (timeout != K_TIMEOUT_FOREVER) - { - armv7m_rtos_task_timeout_relative(self, timeout); - } - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_block)(self, (self->state & K_TASK_STATE_CAUSE_MASK)); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_wakeup(k_task_t *task) -{ - k_task_t *task_wakeup; - - // armv7m_rtt_printf("k_task_wakeup(task=%08x)\n", task); - - if (!task || !task->link || (task->state & K_TASK_STATE_TERMINATED)) - { - return K_ERR_INVALID_OBJECT; - } - - if (__armv7m_atomic_cas((volatile uint32_t*)&task->wakeup, (uint32_t)NULL, (uint32_t)K_TASK_SENTINEL) != (uint32_t)NULL) - { - return K_NO_ERROR; - } - - if (armv7m_core_is_in_svcall_or_pendsv()) - { - armv7m_rtos_task_wakeup_process(task); - } - else - { - task_wakeup = (k_task_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.task_wakeup, (uint32_t)task); - - task->wakeup = task_wakeup; - - if (task_wakeup == K_TASK_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_TASK_WAKEUP); - } - } - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_task_yield(void) -{ - k_task_t *self; - - // armv7m_rtt_printf("k_task_yield()\n"); - - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (armv7m_rtos_control.system_state != K_STATE_RUNNING) - { - return K_ERR_ILLEGAL_USE; - } - - self = armv7m_rtos_control.task_self; - - armv7m_rtos_task_ready_remove(self); - armv7m_rtos_task_ready_insert(self); - - armv7m_rtos_task_schedule(); - - return K_NO_ERROR; -} - -/******************************************************************************************************************************/ - -int k_task_create(k_task_t *task, const char *name, k_task_routine_t routine, void *context, uint32_t priority, void *stack_base, uint32_t stack_size, uint32_t options) -{ - k_task_params_t params; - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - params.name = name; - params.routine = routine; - params.context = context; - params.priority = priority; - params.stack_base = stack_base; - params.stack_size = stack_size; - params.options = options; - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_create, (uint32_t)task, (uint32_t)¶ms); -} - -void k_task_exit(void) -{ - if (!armv7m_core_is_in_thread()) - { - return; - } - - if (armv7m_rtos_control.work_self) - { - return; - } - - armv7m_rtos_task_exit(); -} - -int k_task_terminate(k_task_t *task) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if ((task == armv7m_rtos_control.task_self) && !armv7m_rtos_control.work_self) - { - armv7m_rtos_task_exit(); - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_terminate, (uint32_t)task); -} - -int k_task_detach(k_task_t *task) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_detach, (uint32_t)task); -} - -int k_task_join(k_task_t *task) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_join, (uint32_t)task); -} - -bool k_task_is_joinable(k_task_t *task) -{ - return (task && task->link && (task->state & K_TASK_STATE_JOINABLE)); -} - -k_task_t * __attribute__((optimize("O3"))) k_task_self(void) -{ - return armv7m_rtos_control.task_self; -} - -k_task_t * __attribute__((optimize("O3"))) k_task_default(void) -{ - return armv7m_rtos_control.task_default; -} - -bool __attribute__((optimize("O3"))) k_task_is_in_progress(void) -{ - return (armv7m_core_is_in_thread() && !armv7m_rtos_control.work_self); -} - -int k_task_enumerate(uint32_t *p_count_return, k_task_t **p_task_return, uint32_t count) -{ - if (armv7m_core_is_in_interrupt()) - { - if (!armv7m_core_is_in_pendsv()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return __svc_armv7m_rtos_task_enumerate(p_count_return, p_task_return, count); - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_task_enumerate, (uint32_t)p_count_return, (uint32_t)p_task_return, (uint32_t)count); -} - -int k_task_info(k_task_t *task, k_task_info_t *p_task_info_return) -{ - if (armv7m_core_is_in_interrupt()) - { - if (!armv7m_core_is_in_pendsv()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return __svc_armv7m_rtos_task_info(task, p_task_info_return); - } - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_info, (uint32_t)task, (uint32_t)p_task_info_return); -} - -int k_task_stack(k_task_t *task, uint32_t *p_stack_base_return, uint32_t *p_stack_size_return, uint32_t *p_stack_space_return) -{ - if (armv7m_core_is_in_interrupt()) - { - if (!armv7m_core_is_in_pendsv()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return __svc_armv7m_rtos_task_stack(task, p_stack_base_return, p_stack_size_return, p_stack_space_return); - } - - return armv7m_svcall_4((uint32_t)&__svc_armv7m_rtos_task_stack, (uint32_t)task, (uint32_t)p_stack_base_return, (uint32_t)p_stack_size_return, (uint32_t)p_stack_space_return); -} - -int k_task_unblock(k_task_t *task) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_unblock, (uint32_t)task); -} - -int k_task_suspend(k_task_t *task) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_suspend, (uint32_t)task); -} - -int k_task_resume(k_task_t *task) -{ - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_task_resume(task); - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_resume, (uint32_t)task); -} - -bool k_task_is_suspended(k_task_t *task) -{ - return (task && task->link && (task->state & K_TASK_STATE_SUSPENDED) && !task->resume); -} - -int k_task_set_priority(k_task_t *task, uint32_t priority, uint32_t *p_priority_return) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_task_set_priority, (uint32_t)task, (uint32_t)priority, (uint32_t)p_priority_return); -} - -int k_task_get_priority(k_task_t *task, uint32_t *p_priority_return) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_get_priority, (uint32_t)task, (uint32_t)p_priority_return); -} - -int k_task_delay(uint32_t delay) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_delay, (uint32_t)delay); -} - -int k_task_delay_until(uint64_t clock) -{ - uint32_t clock_l, clock_h; - - clock_l = (uint32_t)(clock >> 0); - clock_h = (uint32_t)(clock >> 32); - - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_2((uint32_t)&__svc_armv7m_rtos_task_delay_until, (uint32_t)clock_l, (uint32_t)clock_h); -} - -int k_task_sleep(uint32_t timeout) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_sleep, (uint32_t)timeout); -} - -int k_task_wakeup(k_task_t *task) -{ - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_task_wakeup(task); - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_task_wakeup, (uint32_t)task); -} - -int k_task_yield(void) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_0((uint32_t)&__svc_armv7m_rtos_task_yield); -} - -/******************************************************************************************************************************/ - -void RTOS_TASK_RESUME_SWIHandler(void) -{ - armv7m_rtos_task_resume_routine(); -} - -void RTOS_TASK_WAKEUP_SWIHandler(void) -{ - armv7m_rtos_task_wakeup_routine(); -} diff --git a/system/STM32WBxx/Source/rtos_work.c b/system/STM32WBxx/Source/rtos_work.c deleted file mode 100644 index ce9e177..0000000 --- a/system/STM32WBxx/Source/rtos_work.c +++ /dev/null @@ -1,288 +0,0 @@ -/* - * Copyright (c) 2019-2022 Thomas Roell. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal with the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimers. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimers in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Thomas Roell, nor the names of its contributors - * may be used to endorse or promote products derived from this Software - * without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * WITH THE SOFTWARE. - */ - -#include "armv7m.h" -#include "stm32wb_system.h" -#include "stm32wb_lptim.h" - -#include "rtos_api.h" -#include "rtos_core.h" - -static void armv7m_rtos_work_routine(void); - -static int __svc_armv7m_rtos_work_init(k_work_t *work, k_work_routine_t routine, void *context); -static int __svc_armv7m_rtos_work_deinit(k_work_t *work); -static int __svc_armv7m_rtos_work_submit(k_work_t *work); - -/******************************************************************************************************************************/ - -int armv7m_rtos_work_deinit(k_work_t *work) -{ - k_work_t * volatile *work_previous; - k_work_t *work_submit; - - armv7m_atomic_store_2_restart((volatile uint32_t*)&work->routine, 0, 0); - - if (work->next) - { - if (__armv7m_atomic_cas((volatile uint32_t*)&armv7m_rtos_control.work_submit, (uint32_t)work, (uint32_t)work->next) != (uint32_t)work) - { - for (work_previous = &armv7m_rtos_control.work_submit, work_submit = *work_previous; work_submit != K_WORK_SENTINEL; work_previous = &work_submit->next, work_submit = *work_previous) - { - if (work_submit == work) - { - *work_previous = work->next; - - work->next = NULL; - - break; - } - } - } - } - - return K_NO_ERROR; -} - -int __attribute__((optimize("O3"))) armv7m_rtos_work_submit(k_work_t *work) -{ - k_work_t *work_submit; - - if (__armv7m_atomic_cas((volatile uint32_t*)&work->next, (uint32_t)NULL, (uint32_t)K_WORK_SENTINEL) != (uint32_t)NULL) - { - return K_ERR_WORK_ALREADY_SUBMITTED; - } - - work_submit = (k_work_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.work_submit, (uint32_t)work); - - work->next = work_submit; - - if (work_submit == K_WORK_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTOS_WORK); - } - - return K_NO_ERROR; -} - -void __attribute__((optimize("O3"), used)) armv7m_rtos_work_return(void) -{ - k_work_t *work; - - armv7m_rtos_control.work_self = NULL; - - work = armv7m_rtos_control.work_head; - - if (work != K_WORK_SENTINEL) - { - if (work == armv7m_rtos_control.work_tail) - { - armv7m_rtos_control.work_head = K_WORK_SENTINEL; - armv7m_rtos_control.work_tail = K_WORK_SENTINEL; - } - else - { - armv7m_rtos_control.work_head = work->next; - } - - armv7m_rtos_control.work_self = work; - - work->next = NULL; - } - else - { -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - if (armv7m_rtos_control.task_self == armv7m_rtos_control.task_next) - { - (*armv7m_rtos_control.hook_table->task_run)(armv7m_rtos_control.task_self); - } -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - } -} - -void __attribute__((optimize("O3"))) armv7m_rtos_work_schedule(void) -{ - k_work_t *work; - - if (armv7m_rtos_control.system_state == K_STATE_RUNNING) - { - work = armv7m_rtos_control.work_head; - - if (work != K_WORK_SENTINEL) - { - if (!armv7m_rtos_control.work_self) - { - if (work == armv7m_rtos_control.work_tail) - { - armv7m_rtos_control.work_head = K_WORK_SENTINEL; - armv7m_rtos_control.work_tail = K_WORK_SENTINEL; - } - else - { - armv7m_rtos_control.work_head = work->next; - } - - armv7m_rtos_control.work_self = work; - - work->next = NULL; - -#if (ARMV7M_RTOS_HOOK_SUPPORTED == 1) - (*armv7m_rtos_control.hook_table->task_run)(K_TASK_WORK); -#endif /* ARMV7M_RTOS_HOOK_SUPPORTED == 1 */ - - armv7m_pendsv_hook(armv7m_rtos_pendsv_epilogue); - } - } - } -} - -static void __attribute__((optimize("O3"))) armv7m_rtos_work_routine(void) -{ - k_work_t *work_submit, *work_next, *work_head, *work_tail; - - if (armv7m_rtos_control.work_submit != K_WORK_SENTINEL) - { - work_submit = (k_work_t*)__armv7m_atomic_swap((volatile uint32_t*)&armv7m_rtos_control.work_submit, (uint32_t)K_WORK_SENTINEL); - - for (work_head = K_WORK_SENTINEL, work_tail = work_submit; work_submit != K_WORK_SENTINEL; work_submit = work_next) - { - work_next = work_submit->next; - - work_submit->next = work_head; - - work_head = work_submit; - } - - if (armv7m_rtos_control.work_head == K_WORK_SENTINEL) - { - armv7m_rtos_control.work_head = work_head; - } - else - { - armv7m_rtos_control.work_tail->next = work_head; - } - - armv7m_rtos_control.work_tail = work_tail; - - armv7m_rtos_work_schedule(); - } -} - -/******************************************************************************************************************************/ - -static int __svc_armv7m_rtos_work_init(k_work_t *work, k_work_routine_t routine, void *context) -{ - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!work) - { - return K_ERR_INVALID_OBJECT; - } - - *work = K_WORK_INIT(routine, context); - - return K_NO_ERROR; -} - -static int __svc_armv7m_rtos_work_deinit(k_work_t *work) -{ - if (armv7m_rtos_control.work_self) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - if (!work || !work->routine) - { - return K_ERR_INVALID_OBJECT; - } - - return armv7m_rtos_work_deinit(work); -} - -static int __svc_armv7m_rtos_work_submit(k_work_t *work) -{ - if (!work || !work->routine) - { - return K_ERR_INVALID_OBJECT; - } - - return armv7m_rtos_work_submit(work); -} - -/******************************************************************************************************************************/ - -int k_work_init(k_work_t *work, k_work_routine_t routine, void *context) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_3((uint32_t)&__svc_armv7m_rtos_work_init, (uint32_t)work, (uint32_t)routine, (uint32_t)context); -} - -int k_work_deinit(k_work_t *work) -{ - if (armv7m_core_is_in_interrupt()) - { - return K_ERR_ILLEGAL_CONTEXT; - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_work_deinit, (uint32_t)work); -} - -int __attribute__((optimize("O3"))) k_work_submit(k_work_t *work) -{ - if (armv7m_core_is_in_interrupt()) - { - return __svc_armv7m_rtos_work_submit(work); - } - - return armv7m_svcall_1((uint32_t)&__svc_armv7m_rtos_work_submit, (uint32_t)work); -} - -k_work_t * __attribute__((optimize("O3"))) k_work_self(void) -{ - return armv7m_rtos_control.work_self; - -} - -bool __attribute__((optimize("O3"))) k_work_is_in_progress(void) -{ - return (armv7m_core_is_in_thread() && armv7m_rtos_control.work_self); -} - -/******************************************************************************************************************************/ - -void RTOS_WORK_SWIHandler(void) -{ - armv7m_rtos_work_routine(); -} diff --git a/system/STM32WBxx/Source/stm32wb_dma.c b/system/STM32WBxx/Source/stm32wb_dma.c index 2b3d07e..30bcb82 100644 --- a/system/STM32WBxx/Source/stm32wb_dma.c +++ b/system/STM32WBxx/Source/stm32wb_dma.c @@ -108,7 +108,7 @@ static inline void stm32wb_dma1_interrupt(stm32wb_dma_t *dma, DMA_Channel_TypeDe { DMA1->IFCR = (15 << shift); - armv7m_atomic_load_2_restart((volatile uint32_t*)&dma->callback, (uint32_t*)&callback, (uint32_t*)&context); + __armv7m_atomic_load_2_restart((volatile uint32_t*)&dma->callback, (uint32_t*)&callback, (uint32_t*)&context); if (callback) { @@ -129,7 +129,7 @@ static inline void stm32wb_dma2_interrupt(stm32wb_dma_t *dma, DMA_Channel_TypeDe { DMA2->IFCR = (15 << shift); - armv7m_atomic_load_2_restart((volatile uint32_t*)&dma->callback, (uint32_t*)&callback, (uint32_t*)&context); + __armv7m_atomic_load_2_restart((volatile uint32_t*)&dma->callback, (uint32_t*)&callback, (uint32_t*)&context); if (callback) { diff --git a/system/STM32WBxx/Source/stm32wb_gpio.c b/system/STM32WBxx/Source/stm32wb_gpio.c index 59267c0..29ae118 100644 --- a/system/STM32WBxx/Source/stm32wb_gpio.c +++ b/system/STM32WBxx/Source/stm32wb_gpio.c @@ -41,13 +41,9 @@ static stm32wb_gpio_device_t stm32wb_gpio_device; void __stm32wb_gpio_initialize(void) { - RCC->AHB2ENR |= (RCC_AHB2ENR_GPIOAEN | RCC_AHB2ENR_GPIOBEN); - RCC->AHB2ENR; - - GPIOA->MODER &= ~0xc0000000; // PA15 - GPIOB->MODER &= ~0x000003c0; // PB3 / PB4 - - RCC->AHB2ENR &= ~(RCC_AHB2ENR_GPIOAEN | RCC_AHB2ENR_GPIOBEN); + stm32wb_gpio_pin_configure(STM32WB_GPIO_PIN_PA15, STM32WB_GPIO_MODE_ANALOG); + stm32wb_gpio_pin_configure(STM32WB_GPIO_PIN_PB3, STM32WB_GPIO_MODE_ANALOG); + stm32wb_gpio_pin_configure(STM32WB_GPIO_PIN_PB4, STM32WB_GPIO_MODE_ANALOG); } void __stm32wb_gpio_swd_enable(void) diff --git a/system/STM32WBxx/Source/stm32wb_ipcc.c b/system/STM32WBxx/Source/stm32wb_ipcc.c index ad749b9..412a4e2 100644 --- a/system/STM32WBxx/Source/stm32wb_ipcc.c +++ b/system/STM32WBxx/Source/stm32wb_ipcc.c @@ -93,6 +93,9 @@ const stm32wb_hci_command_table_t hci_command_table[] = { { 0x201a, "HCI_LE_LONG_TERM_KEY_REQUEST_REPLY" }, { 0x201b, "HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY" }, { 0x201c, "HCI_LE_READ_SUPPORTED_STATES" }, + { 0x201d, "HCI_LE_RECEIVER_TEST" }, + { 0x201e, "HCI_LE_TRANSMITTER_TEST" }, + { 0x201f, "HCI_LE_TEST_END" }, { 0x2022, "HCI_LE_SET_DATA_LENGTH" }, { 0x2023, "HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH" }, { 0x2024, "HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH" }, @@ -110,6 +113,8 @@ const stm32wb_hci_command_table_t hci_command_table[] = { { 0x2030, "HCI_LE_READ_PHY" }, { 0x2031, "HCI_LE_SET_DEFAULT_PHY" }, { 0x2032, "HCI_LE_SET_PHY" }, + { 0x2033, "HCI_LE_RECEIVER_TEST_V2" }, + { 0x2034, "HCI_LE_TRANSMITTER_TEST_V2" }, { 0x2035, "HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS" }, { 0x2036, "HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS" }, { 0x2037, "HCI_LE_SET_EXTENDED_ADVERTISING_DATA" }, @@ -126,11 +131,6 @@ const stm32wb_hci_command_table_t hci_command_table[] = { { 0x204c, "HCI_LE_READ_RF_PATH_COMPENSATION" }, { 0x204d, "HCI_LE_WRITE_RF_PATH_COMPENSATION" }, { 0x204e, "HCI_LE_SET_PRIVACY_MODE" }, - { 0x201d, "HCI_LE_RECEIVER_TEST" }, - { 0x201e, "HCI_LE_TRANSMITTER_TEST" }, - { 0x201f, "HCI_LE_TEST_END" }, - { 0x2033, "HCI_LE_RECEIVER_TEST_V2" }, - { 0x2034, "HCI_LE_TRANSMITTER_TEST_V2" }, { 0xfc00, "ACI_HAL_GET_FW_BUILD_NUMBER" }, { 0xfc0c, "ACI_HAL_WRITE_CONFIG_DATA" }, { 0xfc0d, "ACI_HAL_READ_CONFIG_DATA" }, @@ -144,6 +144,7 @@ const stm32wb_hci_command_table_t hci_command_table[] = { { 0xfc1a, "ACI_HAL_SET_EVENT_MASK" }, { 0xfc1c, "ACI_HAL_GET_PM_DEBUG_INFO" }, { 0xfc20, "ACI_HAL_SET_SLAVE_LATENCY" }, + { 0xfc22, "ACI_HAL_READ_RSSI" }, { 0xfc30, "ACI_HAL_READ_RADIO_REG" }, { 0xfc31, "ACI_HAL_WRITE_RADIO_REG" }, { 0xfc32, "ACI_HAL_READ_RAW_RSSI" }, @@ -247,6 +248,9 @@ const stm32wb_hci_command_table_t hci_command_table[] = { { 0xfd2c, "ACI_GATT_UPDATE_CHAR_VALUE_EXT" }, { 0xfd2d, "ACI_GATT_DENY_READ" }, { 0xfd2e, "ACI_GATT_SET_ACCESS_PERMISSION" }, + { 0xfd30, "ACI_GATT_STORE_DB" }, + { 0xfd31, "ACI_GATT_SEND_MULT_NOTIFICATION" }, + { 0xfd32, "ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE" }, { 0xfd81, "ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ" }, { 0xfd82, "ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP" }, { 0xfd88, "ACI_L2CAP_COC_CONNECT" }, @@ -279,7 +283,7 @@ const stm32wb_hci_event_table_t hci_le_event_table[] = { { 0x0008, "HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT" }, { 0x0009, "HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT" }, { 0x000a, "HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT" }, - { 0x000b, "HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT" }, + { 0x000b, "HCI_LE_DIRECTED_ADVERTISING_REPORT_EVENT" }, { 0x000c, "HCI_LE_PHY_UPDATE_COMPLETE_EVENT" }, { 0x000d, "HCI_LE_EXTENDED_ADVERTISING_REPORT_EVENT" }, { 0x0011, "HCI_LE_SCAN_TIMEOUT_EVENT" }, @@ -337,12 +341,13 @@ const stm32wb_hci_event_table_t hci_vs_event_table[] = { { 0x0c16, "ACI_GATT_TX_POOL_AVAILABLE_EVENT" }, { 0x0c17, "ACI_GATT_SERVER_CONFIRMATION_EVENT" }, { 0x0c18, "ACI_GATT_PREPARE_WRITE_PERMIT_REQ_EVENT" }, + { 0x0c19, "ACI_GATT_EATT_BEARER_EVENT" }, + { 0x0c1a, "ACI_GATT_MULT_NOTIFICATION_EVENT" }, { 0x0c1d, "ACI_GATT_READ_EXT_EVENT" }, { 0x0c1e, "ACI_GATT_INDICATION_EXT_EVENT" }, { 0x0c1f, "ACI_GATT_NOTIFICATION_EXT_EVENT" }, }; - #endif #define HCI_COMMAND_DATA_PACKET 0x01 @@ -780,17 +785,37 @@ bool stm32wb_ipcc_sys_command(stm32wb_ipcc_sys_command_t *command) return true; } +static uint32_t stm32wb_ipcc_sys_fus_command(uint16_t opcode) +{ + stm32wb_ipcc_sys_command_t command; + uint8_t status; + + command.next = NULL; + command.opcode = opcode; + command.cparam = NULL; + command.clen = 0; + command.rparam = &status; + command.rsize = sizeof(status); + command.callback = NULL; + command.context = NULL; + + stm32wb_ipcc_sys_command(&command); + + while (command.status == STM32WB_IPCC_SYS_COMMAND_STATUS_BUSY) + { + } + + return status; +} + bool stm32wb_ipcc_sys_firmware(uint32_t version, uint32_t type, uint32_t address, const uint8_t *image, uint32_t size, const uint8_t *fus, const uint8_t *fus_for_0_5_3, uint32_t *p_code_return) { static uint8_t firmware_data[1024]; const uint8_t *firmware_image; uint32_t firmware_address, firmware_size, firmware_offset, firmware_chunk, firmware_index; - uint8_t fus_status; + uint8_t state, status; stm32wb_ipcc_sys_info_t sys_info; - stm32wb_ipcc_sys_fus_state_t fus_state; - stm32wb_ipcc_sys_command_t command; stm32wb_flash_request_t request; - bool success = true; if (!stm32wb_ipcc_sys_info(&sys_info)) { @@ -806,11 +831,6 @@ bool stm32wb_ipcc_sys_firmware(uint32_t version, uint32_t type, uint32_t address return false; } - command.next = NULL; - command.event = 0; - command.callback = NULL; - command.context = NULL; - request.next = NULL; request.callback = NULL; request.context = NULL; @@ -823,186 +843,173 @@ bool stm32wb_ipcc_sys_firmware(uint32_t version, uint32_t type, uint32_t address { if (stm32wb_ipcc_sys_state() == STM32WB_IPCC_SYS_STATE_WIRELESS) { - command.opcode = STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE; - command.cparam = NULL; - command.clen = 0; - command.rparam = &fus_state; - command.rsize = sizeof(fus_state); - - stm32wb_ipcc_sys_command(&command); - - while (command.status == STM32WB_IPCC_SYS_COMMAND_STATUS_BUSY) { __WFE(); } - - command.opcode = STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE; - command.cparam = NULL; - command.clen = 0; - command.rparam = &fus_state; - command.rsize = sizeof(fus_state); + stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE); + stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE); - stm32wb_ipcc_sys_command(&command); - - while (command.status == STM32WB_IPCC_SYS_COMMAND_STATUS_BUSY) { __WFE(); } - - while (1) { __WFE(); } + while (1) + { + } } - command.opcode = STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE; - command.cparam = NULL; - command.clen = 0; - command.rparam = &fus_state; - command.rsize = sizeof(fus_state); - - stm32wb_ipcc_sys_command(&command); - - while (command.status == STM32WB_IPCC_SYS_COMMAND_STATUS_BUSY) { __WFE(); } - - while ((fus_state.state != STM32WB_IPCC_SYS_FUS_STATE_IDLE) && (fus_state.error_code == STM32WB_IPCC_SYS_FUS_ERROR_CODE_NO_ERROR)) + do { - armv7m_core_udelay(250000); - - command.opcode = STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE; - command.cparam = NULL; - command.clen = 0; - command.rparam = &fus_state; - command.rsize = sizeof(fus_state); - - stm32wb_ipcc_sys_command(&command); + state = stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE); - while (command.status == STM32WB_IPCC_SYS_COMMAND_STATUS_BUSY) { __WFE(); } - } - - if (fus_state.state != STM32WB_IPCC_SYS_FUS_STATE_IDLE) - { - if ((fus_state.state == STM32WB_IPCC_SYS_FUS_STATE_ERROR) && (fus_state.error_code >= 0xf0)) + if (state != STM32WB_IPCC_SYS_FUS_STATE_IDLE) { - stm32wb_system_reset(); + if ((state >= STM32WB_IPCC_SYS_FUS_STATE_FW_UPGRD_ONGOING_START) && (state <= STM32WB_IPCC_SYS_FUS_STATE_SERVICE_ONGOING_END)) + { + armv7m_core_udelay(100000); + } + else + { + stm32wb_system_reset(); + } } - - *p_code_return = (STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE << 16) | (fus_state.state << 8) | (fus_state.error_code << 0); - - success = false; } - else + while (state != STM32WB_IPCC_SYS_FUS_STATE_IDLE); + + if (sys_info.WirelessStackMemorySize) { - if (sys_info.WirelessStackMemorySize) - { - command.opcode = STM32WB_IPCC_SYS_OPCODE_FUS_FW_DELETE; - command.cparam = NULL; - command.clen = 0; - command.rparam = &fus_status; - command.rsize = sizeof(fus_status); + status = stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_FW_DELETE); - stm32wb_ipcc_sys_command(&command); - - while (command.status == STM32WB_IPCC_SYS_COMMAND_STATUS_BUSY) { __WFE(); } - - if (fus_status == STM32WB_IPCC_SYS_FUS_STATUS_SUCCESS) - { - while (1) { __WFE(); } - } - - *p_code_return = (STM32WB_IPCC_SYS_OPCODE_FUS_FW_DELETE << 16) | fus_status; + if (status != STM32WB_IPCC_SYS_FUS_STATUS_SUCCESS) + { + *p_code_return = (STM32WB_IPCC_SYS_OPCODE_FUS_FW_DELETE << 16) | status; - success = false; + return false; } - else + + while (1) { - if ((sys_info.FusVersion & 0xffff0000) < 0x01020000) - { - if ((sys_info.FusVersion & 0xff000000) != 0x00000000) - { - firmware_image = fus; - } - else - { - firmware_image = fus_for_0_5_3; - } + state = stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE); - firmware_address = 0x080ec000; - firmware_size = 24496; + if ((state >= STM32WB_IPCC_SYS_FUS_STATE_FW_UPGRD_ONGOING_START) && (state <= STM32WB_IPCC_SYS_FUS_STATE_SERVICE_ONGOING_END)) + { + armv7m_core_udelay(100000); } else { - firmware_address = address; - firmware_image = (const uint8_t*)image; - firmware_size = size; + stm32wb_system_reset(); } - - request.control = STM32WB_FLASH_CONTROL_ERASE | STM32WB_FLASH_CONTROL_FLUSH; - request.address = firmware_address; - request.count = ((FLASH_BASE + ((FLASH->SFR & FLASH_SFR_SFSA) * 4096)) - firmware_address); - request.data = NULL; + } + } - stm32wb_flash_request(&request); + if ((sys_info.FusVersion & 0xffff0000) < 0x01020000) + { + if ((sys_info.FusVersion & 0xff000000) != 0x00000000) + { + firmware_image = fus; + } + else + { + firmware_image = fus_for_0_5_3; + } + + firmware_address = 0x080ec000; + firmware_size = 24496; + } + else + { + firmware_address = address; + firmware_image = (const uint8_t*)image; + firmware_size = size; + } + + request.control = STM32WB_FLASH_CONTROL_ERASE | STM32WB_FLASH_CONTROL_FLUSH; + request.address = firmware_address; + request.count = ((FLASH_BASE + ((FLASH->SFR & FLASH_SFR_SFSA) * 4096)) - firmware_address); + request.data = NULL; + + stm32wb_flash_request(&request); - while (request.status == STM32WB_FLASH_STATUS_BUSY) { __WFE(); } + while (request.status == STM32WB_FLASH_STATUS_BUSY) + { + } - if (request.status != STM32WB_FLASH_STATUS_SUCCESS) - { - *p_code_return = 0xffff0002; + if (request.status != STM32WB_FLASH_STATUS_SUCCESS) + { + *p_code_return = 0xffff0002; - success = false; - } - else - { - for (firmware_offset = 0; firmware_offset < firmware_size; firmware_offset += firmware_chunk) - { - firmware_chunk = firmware_size - firmware_offset; - - if (firmware_chunk > sizeof(firmware_data)) { - firmware_chunk = sizeof(firmware_data); - } - - for (firmware_index = 0; firmware_index < firmware_chunk; firmware_index++) { - firmware_data[firmware_index] = firmware_image[firmware_offset + firmware_index] ^ 0xff; - } + return false; + } + + for (firmware_offset = 0; firmware_offset < firmware_size; firmware_offset += firmware_chunk) + { + firmware_chunk = firmware_size - firmware_offset; + + if (firmware_chunk > sizeof(firmware_data)) + { + firmware_chunk = sizeof(firmware_data); + } - request.control = STM32WB_FLASH_CONTROL_PROGRAM | STM32WB_FLASH_CONTROL_FLUSH; - request.address = firmware_address + firmware_offset; - request.count = firmware_chunk; - request.data = (const uint8_t*)&firmware_data[0]; - - stm32wb_flash_request(&request); - - while (request.status == STM32WB_FLASH_STATUS_BUSY) { __WFE(); } - - if (request.status != STM32WB_FLASH_STATUS_SUCCESS) - { - *p_code_return = 0xffff0003; + for (firmware_index = 0; firmware_index < firmware_chunk; firmware_index++) + { + firmware_data[firmware_index] = firmware_image[firmware_offset + firmware_index] ^ 0xff; + } + + request.control = STM32WB_FLASH_CONTROL_PROGRAM | STM32WB_FLASH_CONTROL_FLUSH; + request.address = firmware_address + firmware_offset; + request.count = firmware_chunk; + request.data = (const uint8_t*)&firmware_data[0]; + + stm32wb_flash_request(&request); + + while (request.status == STM32WB_FLASH_STATUS_BUSY) + { + } + + if (request.status != STM32WB_FLASH_STATUS_SUCCESS) + { + *p_code_return = 0xffff0003; - success = false; + return false; + } + } + + status = stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_FW_UPGRADE); + + if (status != STM32WB_IPCC_SYS_FUS_STATUS_SUCCESS) + { + *p_code_return = (STM32WB_IPCC_SYS_OPCODE_FUS_FW_UPGRADE << 16) | status; - break; - } - } + return false; + } - if (success) - { - command.opcode = STM32WB_IPCC_SYS_OPCODE_FUS_FW_UPGRADE; - command.cparam = NULL; - command.clen = 0; - command.rparam = &fus_status; - command.rsize = sizeof(fus_status); + while (1) + { + state = stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_GET_STATE); - stm32wb_ipcc_sys_command(&command); + if ((state >= STM32WB_IPCC_SYS_FUS_STATE_FW_UPGRD_ONGOING_START) && (state <= STM32WB_IPCC_SYS_FUS_STATE_SERVICE_ONGOING_END)) + { + armv7m_core_udelay(100000); + } + else + { + stm32wb_system_reset(); + } + } + } + else + { + if (stm32wb_ipcc_sys_state() != STM32WB_IPCC_SYS_STATE_WIRELESS) + { + status = stm32wb_ipcc_sys_fus_command(STM32WB_IPCC_SYS_OPCODE_FUS_START_WS); - while (command.status == STM32WB_IPCC_SYS_COMMAND_STATUS_BUSY) { __WFE(); } - - if (fus_status == STM32WB_IPCC_SYS_FUS_STATUS_SUCCESS) - { - while (1) { __WFE(); } - } + if (status != STM32WB_IPCC_SYS_FUS_STATUS_SUCCESS) + { + *p_code_return = (STM32WB_IPCC_SYS_OPCODE_FUS_START_WS << 16) | status; - *p_code_return = (STM32WB_IPCC_SYS_OPCODE_FUS_FW_UPGRADE << 16) | fus_status; + return false; + } - success = false; - } - } + while (1) + { } } } - return success; + return true; } bool stm32wb_ipcc_ble_enable(const stm32wb_ipcc_ble_init_params_t *params, stm32wb_ipcc_ble_event_callback_t callback, void *context) diff --git a/system/STM32WBxx/Source/stm32wb_lptim.c b/system/STM32WBxx/Source/stm32wb_lptim.c index b817c52..c3b017b 100644 --- a/system/STM32WBxx/Source/stm32wb_lptim.c +++ b/system/STM32WBxx/Source/stm32wb_lptim.c @@ -45,8 +45,9 @@ typedef struct _stm32wb_lptim_device_t { volatile uint8_t timeout_busy; volatile uint8_t timeout_sync; volatile uint16_t timeout_compare[2]; - volatile uint64_t timeout_epoch; - volatile uint64_t timeout_clock; + volatile uint32_t timeout_epoch; + volatile uint32_t timeout_clock; + volatile uint32_t timeout_reference; stm32wb_lptim_timeout_t *timeout_queue; stm32wb_lptim_timeout_t * volatile timeout_modify; } stm32wb_lptim_device_t; @@ -69,29 +70,16 @@ void __stm32wb_lptim_initialize(void) stm32wb_lptim_device.event_lock = 0; stm32wb_lptim_device.event_active = 0; - stm32wb_lptim_device.timeout_busy = 0; - stm32wb_lptim_device.timeout_sync = 1; - stm32wb_lptim_device.timeout_compare[0] = 0xffff; - stm32wb_lptim_device.timeout_compare[1] = 0xffff; + stm32wb_lptim_device.timeout_busy = false; + stm32wb_lptim_device.timeout_sync = false; stm32wb_lptim_device.timeout_epoch = 0; + stm32wb_lptim_device.timeout_clock = 0; + stm32wb_lptim_device.timeout_reference = 0; stm32wb_lptim_device.timeout_queue = NULL; stm32wb_lptim_device.timeout_modify = STM32WB_LPTIM_TIMEOUT_SENTINEL; - stm32wb_system_periph_enable(STM32WB_SYSTEM_PERIPH_LPTIM1); - armv7m_atomic_or(&EXTI->IMR1, EXTI_IMR1_IM29); - LPTIM1->IER = LPTIM_IER_CMPOKIE | LPTIM_IER_ARRMIE; - LPTIM1->CFGR = 0; - - LPTIM1->CR = LPTIM_CR_ENABLE; - LPTIM1->CMP = 0xffff; - LPTIM1->ARR = 0xffff; - LPTIM1->CR = LPTIM_CR_CNTSTRT | LPTIM_CR_ENABLE; - - stm32wb_system_lock(STM32WB_SYSTEM_LOCK_SLEEP); - stm32wb_system_lock(STM32WB_SYSTEM_LOCK_STOP_2); - NVIC_SetPriority(LPTIM1_IRQn, STM32WB_LPTIM1_IRQ_PRIORITY); NVIC_EnableIRQ(LPTIM1_IRQn); } @@ -235,15 +223,63 @@ bool stm32wb_lptim_event_compare(uint32_t compare) return true; } -static void stm32wb_lptim_timeout_remove(stm32wb_lptim_timeout_t *timeout); -static void stm32wb_lptim_timeout_insert(stm32wb_lptim_timeout_t *timeout, uint64_t clock); -static void stm32wb_lptim_timeout_routine(void); +static inline uint32_t __attribute__((optimize("O3"),always_inline)) stm32wb_lptim_timeout_clock(void) +{ + uint32_t clock, clock_previous; + + if (!stm32wb_lptim_device.timeout_busy) + { + return 0; + } + + clock = stm32wb_lptim_device.timeout_epoch + (LPTIM1->CNT & 0xffff); -static void stm32wb_lptim_timeout_insert(stm32wb_lptim_timeout_t *timeout, uint64_t clock) + do + { + clock_previous = clock; + + clock = stm32wb_lptim_device.timeout_epoch + (LPTIM1->CNT & 0xffff); + } + while (clock != clock_previous); + + return clock; +} + +uint32_t __stm32wb_lptim_timeout_clock(void) +{ + return stm32wb_lptim_timeout_clock(); +} + +static void stm32wb_lptim_timeout_remove(stm32wb_lptim_timeout_t *timeout) +{ + if (timeout->next == timeout) + { + stm32wb_lptim_device.timeout_queue = NULL; + } + else + { + if (timeout == stm32wb_lptim_device.timeout_queue) + { + stm32wb_lptim_device.timeout_queue = timeout->next; + } + + timeout->next->previous = timeout->previous; + timeout->previous->next = timeout->next; + } + + timeout->next = NULL; + timeout->previous = NULL; +} + +static void stm32wb_lptim_timeout_insert(stm32wb_lptim_timeout_t *timeout, uint32_t reference, uint32_t ticks) { stm32wb_lptim_timeout_t *timeout_element, *timeout_next; - uint64_t element_clock; + uint32_t clock, element_clock; + + clock = ticks + reference; + reference = stm32wb_lptim_device.timeout_reference; + if (stm32wb_lptim_device.timeout_queue == NULL) { stm32wb_lptim_device.timeout_queue = timeout; @@ -259,16 +295,17 @@ static void stm32wb_lptim_timeout_insert(stm32wb_lptim_timeout_t *timeout, uint6 { timeout_next = timeout_element->next; - element_clock = (((uint64_t)timeout_element->clock_l << 0) | ((uint64_t)timeout_element->clock_h << 32)); + element_clock = timeout_element->clock; if (!timeout_element->modify) { - if (clock < element_clock) + if ((clock - reference) < (element_clock - reference)) { if (timeout_element == stm32wb_lptim_device.timeout_queue) { stm32wb_lptim_device.timeout_queue = timeout; } + break; } } @@ -297,27 +334,8 @@ static void stm32wb_lptim_timeout_insert(stm32wb_lptim_timeout_t *timeout, uint6 timeout->next->previous = timeout; } } -} -static void stm32wb_lptim_timeout_remove(stm32wb_lptim_timeout_t *timeout) -{ - if (timeout->next == timeout) - { - stm32wb_lptim_device.timeout_queue = NULL; - } - else - { - if (timeout == stm32wb_lptim_device.timeout_queue) - { - stm32wb_lptim_device.timeout_queue = timeout->next; - } - - timeout->next->previous = timeout->previous; - timeout->previous->next = timeout->next; - } - - timeout->next = NULL; - timeout->previous = NULL; + armv7m_atomic_cas((volatile uint32_t*)&timeout->clock, ticks, clock); } static void __attribute__((optimize("O3"))) stm32wb_lptim_timeout_routine(void) @@ -325,10 +343,11 @@ static void __attribute__((optimize("O3"))) stm32wb_lptim_timeout_routine(void) stm32wb_lptim_timeout_t *timeout, *timeout_next, *timeout_previous; stm32wb_lptim_timeout_callback_t callback; void *context; - uint64_t clock, reference; - uint32_t clock_l, clock_h; + uint32_t clock, reference, ticks; uint16_t compare; - + + reference = stm32wb_lptim_timeout_clock(); + if (stm32wb_lptim_device.timeout_modify != STM32WB_LPTIM_TIMEOUT_SENTINEL) { timeout = (stm32wb_lptim_timeout_t*)armv7m_atomic_swap((volatile uint32_t*)&stm32wb_lptim_device.timeout_modify, (uint32_t)STM32WB_LPTIM_TIMEOUT_SENTINEL); @@ -355,40 +374,37 @@ static void __attribute__((optimize("O3"))) stm32wb_lptim_timeout_routine(void) stm32wb_lptim_timeout_remove(timeout); } - clock = (((uint64_t)timeout->clock_l << 0) | ((uint64_t)timeout->clock_h << 32)); - + ticks = timeout->clock; + timeout->modify = NULL; if (!timeout->modify) { - if (clock) + if (ticks) { - stm32wb_lptim_timeout_insert(timeout, clock); + stm32wb_lptim_timeout_insert(timeout, reference, ticks); } } timeout = timeout_next; } } - + + ticks = reference - stm32wb_lptim_device.timeout_reference; + timeout = stm32wb_lptim_device.timeout_queue; if (timeout) { - reference = stm32wb_lptim_timeout_clock(); - do { - clock_l = timeout->clock_l; - clock_h = timeout->clock_h; + clock = timeout->clock; callback = timeout->callback; context = timeout->context; if (!timeout->modify) { - clock = (((uint64_t)clock_l << 0) | ((uint64_t)clock_h << 32)); - - if (clock > reference) + if (ticks < (clock - stm32wb_lptim_device.timeout_reference)) { break; } @@ -407,41 +423,61 @@ static void __attribute__((optimize("O3"))) stm32wb_lptim_timeout_routine(void) while (timeout); } + stm32wb_lptim_device.timeout_reference = reference; + if (!armv7m_pendsv_is_pending(ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT)) { timeout = stm32wb_lptim_device.timeout_queue; if (timeout) { - clock = (((uint64_t)timeout->clock_l << 0) | ((uint64_t)timeout->clock_h << 32)); + clock = timeout->clock; if (!timeout->modify) { if (stm32wb_lptim_device.timeout_clock != clock) { - stm32wb_lptim_device.timeout_busy = 0; - stm32wb_lptim_device.timeout_clock = clock; - - armv7m_atomic_and(&LPTIM1->IER, ~LPTIM_IER_CMPMIE); - - stm32wb_lptim_device.timeout_busy = 1; - compare = clock & 0xffff; - if (stm32wb_lptim_device.timeout_compare[1] != compare) + if (!stm32wb_lptim_device.timeout_busy) { + stm32wb_lptim_device.timeout_busy = true; + stm32wb_lptim_device.timeout_sync = true; + stm32wb_lptim_device.timeout_compare[0] = compare; stm32wb_lptim_device.timeout_compare[1] = compare; + stm32wb_lptim_device.timeout_epoch = 0; + + stm32wb_system_periph_enable(STM32WB_SYSTEM_PERIPH_LPTIM1); - if (!stm32wb_lptim_device.timeout_sync) + LPTIM1->IER = LPTIM_IER_CMPOKIE | LPTIM_IER_CMPMIE | LPTIM_IER_ARRMIE; + LPTIM1->CFGR = 0; + + LPTIM1->CR = LPTIM_CR_ENABLE; + LPTIM1->CMP = compare; + LPTIM1->ARR = 0xffff; + LPTIM1->CR = LPTIM_CR_CNTSTRT | LPTIM_CR_ENABLE; + + stm32wb_system_lock(STM32WB_SYSTEM_LOCK_SLEEP); + } + else + { + if (stm32wb_lptim_device.timeout_compare[1] != compare) { - stm32wb_lptim_device.timeout_sync = 1; - stm32wb_lptim_device.timeout_compare[0] = compare; - - stm32wb_system_lock(STM32WB_SYSTEM_LOCK_SLEEP); + stm32wb_lptim_device.timeout_compare[1] = compare; - LPTIM1->CMP = compare; + if (!stm32wb_lptim_device.timeout_sync) + { + stm32wb_lptim_device.timeout_sync = true; + stm32wb_lptim_device.timeout_compare[0] = compare; + + stm32wb_system_lock(STM32WB_SYSTEM_LOCK_SLEEP); + + LPTIM1->CMP = compare; + } } } + + stm32wb_lptim_device.timeout_clock = clock; } } } @@ -449,59 +485,23 @@ static void __attribute__((optimize("O3"))) stm32wb_lptim_timeout_routine(void) { if (stm32wb_lptim_device.timeout_busy) { - stm32wb_lptim_device.timeout_busy = 0; - stm32wb_lptim_device.timeout_clock = 0; + stm32wb_system_periph_reset(STM32WB_SYSTEM_PERIPH_LPTIM1); - armv7m_atomic_and(&LPTIM1->IER, ~LPTIM_IER_CMPMIE); + stm32wb_lptim_device.timeout_busy = false; + stm32wb_lptim_device.timeout_sync = false; + stm32wb_lptim_device.timeout_epoch = 0; + stm32wb_lptim_device.timeout_clock = 0; + stm32wb_lptim_device.timeout_reference = 0; } } } } -typedef struct _stm32wb_lptim_timeout_absolute_params_t { - uint32_t clock_l; - uint32_t clock_h; - stm32wb_lptim_timeout_callback_t callback; - void *context; -} stm32wb_lptim_timeout_absolute_params_t; - -static void __svc_stm32wb_lptim_timeout_absolute(stm32wb_lptim_timeout_t *timeout, const stm32wb_lptim_timeout_absolute_params_t *params) -{ - stm32wb_lptim_timeout_t *timeout_modify; - - armv7m_atomic_store_4_restart((volatile uint32_t*)&timeout->clock_l, params->clock_l, params->clock_h, (uint32_t)params->callback, (uint32_t)params->context); - - if (armv7m_atomic_cas((volatile uint32_t*)&timeout->modify, (uint32_t)NULL, (uint32_t)STM32WB_LPTIM_TIMEOUT_SENTINEL) == (uint32_t)NULL) - { - timeout_modify = (stm32wb_lptim_timeout_t*)armv7m_atomic_swap((volatile uint32_t*)&stm32wb_lptim_device.timeout_modify, (uint32_t)timeout); - - timeout->modify = timeout_modify; - - if (timeout_modify == STM32WB_LPTIM_TIMEOUT_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT); - } - } -} - -typedef struct _stm32wb_lptim_timeout_relative_params_t { - uint32_t ticks; - stm32wb_lptim_timeout_callback_t callback; - void *context; -} stm32wb_lptim_timeout_relative_params_t; - -static void __svc_stm32wb_lptim_timeout_relative(stm32wb_lptim_timeout_t *timeout, const stm32wb_lptim_timeout_relative_params_t *params) +static void __svc_stm32wb_lptim_timeout_modify(stm32wb_lptim_timeout_t *timeout, uint32_t ticks, stm32wb_lptim_timeout_callback_t callback, void *context) { stm32wb_lptim_timeout_t *timeout_modify; - uint64_t clock; - uint32_t clock_l, clock_h; - - clock = stm32wb_lptim_timeout_clock() + params->ticks; - - clock_l = (clock >> 0); - clock_h = (clock >> 32); - armv7m_atomic_store_4_restart((volatile uint32_t*)&timeout->clock_l, clock_l, clock_h, (uint32_t)params->callback, (uint32_t)params->context); + __armv7m_atomic_store_3_restart((volatile uint32_t*)&timeout->clock, ticks, (uint32_t)callback, (uint32_t)context); if (armv7m_atomic_cas((volatile uint32_t*)&timeout->modify, (uint32_t)NULL, (uint32_t)STM32WB_LPTIM_TIMEOUT_SENTINEL) == (uint32_t)NULL) { @@ -516,177 +516,53 @@ static void __svc_stm32wb_lptim_timeout_relative(stm32wb_lptim_timeout_t *timeou } } -static void __svc_stm32wb_lptim_timeout_cancel(stm32wb_lptim_timeout_t *timeout) +bool stm32wb_lptim_timeout_start(stm32wb_lptim_timeout_t *timeout, uint32_t ticks, stm32wb_lptim_timeout_callback_t callback, void *context) { - stm32wb_lptim_timeout_t *timeout_modify; - - armv7m_atomic_store_2_restart((volatile uint32_t*)&timeout->clock_l, 0, 0); - - if (armv7m_atomic_cas((volatile uint32_t*)&timeout->modify, (uint32_t)NULL, (uint32_t)STM32WB_LPTIM_TIMEOUT_SENTINEL) == (uint32_t)NULL) + if (!ticks) { - timeout_modify = (stm32wb_lptim_timeout_t*)armv7m_atomic_swap((volatile uint32_t*)&stm32wb_lptim_device.timeout_modify, (uint32_t)timeout); - - timeout->modify = timeout_modify; - - if (timeout_modify == STM32WB_LPTIM_TIMEOUT_SENTINEL) - { - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT); - } + return false; } -} - -__attribute__((optimize("O3"))) uint64_t stm32wb_lptim_timeout_clock() -{ - uint64_t epoch, epoch_previous, count; - uint32_t epoch_l, epoch_h; - - armv7m_atomic_load_2_restart((volatile uint32_t*)&stm32wb_lptim_device.timeout_epoch, (uint32_t*)&epoch_l, (uint32_t*)&epoch_h); - - epoch = (((uint64_t)epoch_l << 0) | ((uint64_t)epoch_h << 32)); - - if (LPTIM2->ISR & LPTIM_ISR_ARRM) - { - epoch += 0x0000000000010000ull; - } - - do - { - epoch_previous = epoch; - - count = (LPTIM1->CNT & 0xffff); - - armv7m_atomic_load_2_restart((volatile uint32_t*)&stm32wb_lptim_device.timeout_epoch, (uint32_t*)&epoch_l, (uint32_t*)&epoch_h); - - epoch = (((uint64_t)epoch_l << 0) | ((uint64_t)epoch_h << 32)); - - if (LPTIM2->ISR & LPTIM_ISR_ARRM) - { - epoch += 0x0000000000010000ull; - } - } - while (epoch != epoch_previous); - - return (epoch + count); -} - -void stm32wb_lptim_timeout_absolute(stm32wb_lptim_timeout_t *timeout, uint64_t clock, stm32wb_lptim_timeout_callback_t callback, void *context) -{ - stm32wb_lptim_timeout_absolute_params_t params; - - params.clock_l = (clock >> 0); - params.clock_h = (clock >> 32); - params.callback = callback; - params.context = context; - if (!armv7m_core_is_in_interrupt()) + if (!armv7m_core_is_in_thread()) { - armv7m_svcall_2((uint32_t)&__svc_stm32wb_lptim_timeout_absolute, (uint32_t)timeout, (uint32_t)¶ms); + __svc_stm32wb_lptim_timeout_modify(timeout, ticks, callback, context); } else { - __svc_stm32wb_lptim_timeout_absolute(timeout, ¶ms); + armv7m_svcall_4((uint32_t)&__svc_stm32wb_lptim_timeout_modify, (uint32_t)timeout, ticks, (uint32_t)callback, (uint32_t)context); } -} -void stm32wb_lptim_timeout_relative(stm32wb_lptim_timeout_t *timeout, uint32_t ticks, stm32wb_lptim_timeout_callback_t callback, void *context) -{ - stm32wb_lptim_timeout_relative_params_t params; - - params.ticks = ticks; - params.callback = callback; - params.context = context; - - if (!armv7m_core_is_in_interrupt()) - { - armv7m_svcall_2((uint32_t)&__svc_stm32wb_lptim_timeout_relative, (uint32_t)timeout, (uint32_t)¶ms); - } - else - { - __svc_stm32wb_lptim_timeout_relative(timeout, ¶ms); - } + return true; } -void stm32wb_lptim_timeout_cancel(stm32wb_lptim_timeout_t *timeout) +void stm32wb_lptim_timeout_stop(stm32wb_lptim_timeout_t *timeout) { - if (!armv7m_core_is_in_interrupt()) + if (!armv7m_core_is_in_thread()) { - armv7m_svcall_1((uint32_t)&__svc_stm32wb_lptim_timeout_cancel, (uint32_t)timeout); + __svc_stm32wb_lptim_timeout_modify(timeout, 0, NULL, NULL); } else { - __svc_stm32wb_lptim_timeout_cancel(timeout); + armv7m_svcall_4((uint32_t)&__svc_stm32wb_lptim_timeout_modify, (uint32_t)timeout, 0, (uint32_t)NULL, (uint32_t)NULL); } } -void __stm32wb_lptim_timeout_stop_leave(void) +bool stm32wb_lptim_timeout_is_pending(stm32wb_lptim_timeout_t *timeout) { - uint64_t clock, epoch; - uint32_t lptim_isr; + stm32wb_lptim_timeout_t *previous, *modify; + uint32_t clock; - lptim_isr = LPTIM1->ISR; + __armv7m_atomic_load_3_restart((volatile uint32_t*)&timeout->previous, (uint32_t*)&previous, (uint32_t*)&modify, &clock); - if (lptim_isr & (LPTIM_ISR_ARRM | LPTIM_ISR_CMPM)) - { - do - { - if (lptim_isr & LPTIM_ISR_ARRM) - { - LPTIM1->ICR = LPTIM_ICR_ARRMCF; - - stm32wb_lptim_device.timeout_epoch += 0x00010000; - } - - if (lptim_isr & LPTIM_ISR_CMPM) - { - LPTIM1->ICR = LPTIM_ICR_CMPMCF; - } - - if (stm32wb_lptim_device.timeout_busy) - { - clock = stm32wb_lptim_device.timeout_clock; - epoch = stm32wb_lptim_device.timeout_epoch; - - if (clock <= (epoch + (LPTIM1->CNT & 0xffff))) - { - LPTIM1->IER &= ~LPTIM_IER_CMPMIE; - - stm32wb_lptim_device.timeout_busy = 0; - - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT); - } - else - { - if (!((clock ^ epoch) & 0xffffffffffff0000ull)) - { - LPTIM1->IER |= LPTIM_IER_CMPMIE; - } - } - } - - NVIC_ClearPendingIRQ(LPTIM1_IRQn); - - lptim_isr = LPTIM1->ISR; - } - while (lptim_isr & (LPTIM_ISR_ARRM | LPTIM_ISR_CMPM)); - } + return ((modify != NULL) ? (clock != 0) : (previous != NULL)); } __attribute__((optimize("O3"))) void LPTIM1_IRQHandler(void) { - uint64_t clock, epoch; - uint32_t lptim_isr; + uint32_t lptim_isr, clock; uint16_t compare; lptim_isr = LPTIM1->ISR; - - if (lptim_isr & LPTIM_ISR_ARRM) - { - LPTIM1->ICR = LPTIM_ICR_ARRMCF; - - stm32wb_lptim_device.timeout_epoch += 0x00010000; - - __armv7m_systick_calibrate(); - } if (lptim_isr & LPTIM_ISR_CMPOK) { @@ -713,26 +589,18 @@ __attribute__((optimize("O3"))) void LPTIM1_IRQHandler(void) LPTIM1->ICR = LPTIM_ICR_CMPMCF; } - if (stm32wb_lptim_device.timeout_busy) + if (lptim_isr & LPTIM_ISR_ARRM) { - clock = stm32wb_lptim_device.timeout_clock; - epoch = stm32wb_lptim_device.timeout_epoch; + LPTIM1->ICR = LPTIM_ICR_ARRMCF; - if (clock <= (epoch + (LPTIM1->CNT & 0xffff))) - { - LPTIM1->IER &= ~LPTIM_IER_CMPMIE; - - stm32wb_lptim_device.timeout_busy = 0; - - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT); - } - else - { - if (!((clock ^ epoch) & 0xffffffffffff0000ull)) - { - LPTIM1->IER |= LPTIM_IER_CMPMIE; - } - } + stm32wb_lptim_device.timeout_epoch += 0x00010000; + } + + clock = stm32wb_lptim_timeout_clock(); + + if ((clock - stm32wb_lptim_device.timeout_reference) >= (stm32wb_lptim_device.timeout_clock - stm32wb_lptim_device.timeout_reference)) + { + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_LPTIM_TIMEOUT); } __DSB(); @@ -752,7 +620,7 @@ __attribute__((optimize("O3"))) void LPTIM2_IRQHandler(void) { LPTIM2->ICR = LPTIM_ICR_ARRMCF; - stm32wb_lptim_device.event_epoch += 0x0000000000010000ull; + stm32wb_lptim_device.event_epoch += 0x00010000u; if (stm32wb_lptim_device.event_mask & STM32WB_LPTIM_EVENT_PERIOD) { diff --git a/system/STM32WBxx/Source/stm32wb_rtc.c b/system/STM32WBxx/Source/stm32wb_rtc.c index 63fbb51..4e9b530 100644 --- a/system/STM32WBxx/Source/stm32wb_rtc.c +++ b/system/STM32WBxx/Source/stm32wb_rtc.c @@ -49,27 +49,25 @@ typedef struct _stm32wb_rtc_device_t { void * volatile event_context; volatile uint32_t events; volatile uint8_t alarm_busy; - volatile uint8_t alarm_modify; - volatile uint8_t alarm_event; - volatile uint64_t alarm_clock; - volatile stm32wb_rtc_alarm_callback_t alarm_callback; - void * volatile alarm_context; + uint64_t alarm_clock; + stm32wb_rtc_alarm_t *alarm_queue; + stm32wb_rtc_alarm_t * volatile alarm_modify; volatile stm32wb_rtc_sync_routine_t sync_routine; volatile stm32wb_rtc_alarm_routine_t alarm_routine; } stm32wb_rtc_device_t; +#define STM32WB_RTC_ALARM_SENTINEL ((stm32wb_rtc_alarm_t*)0x00000001) + static stm32wb_rtc_device_t stm32wb_rtc_device; typedef struct _stm32wb_rtc_info_t { uint32_t epoch; - int32_t zone; - uint16_t dst; - int16_t leap_seconds; + uint16_t zone; + uint8_t dst; + uint8_t leap_seconds; } stm32wb_rtc_info_t; -extern const stm32wb_rtc_info_t __rtc_info__; - -static uint64_t __attribute__((section(".noinit2"))) __stm32wb_rtc_alarm_clock; +extern const stm32wb_rtc_info_t __stm32wb_rtc_info__; static void stm32wb_rtc_sync_routine(); static void stm32wb_rtc_alarm_routine(); @@ -128,40 +126,6 @@ static const uint8_t stm32wb_rtc_days_in_month[4][16] = { { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0, 0, 0 }, }; - -/* - * https://github.com/eggert/tz/blob/master/leap-seconds.list - * - * GPS Time 0 in terms of TAI: 2524521600 + 432000 - */ - -static const uint32_t stm32wb_rtc_leap_seconds_table[] = { - 0, // [ 0] 1 Jan 1980 - 46828800, // [ 1] 1 Jul 1981 - 78364801, // [ 2] 1 Jul 1982 - 109900802, // [ 3] 1 Jul 1983 - 173059203, // [ 4] 1 Jul 1985 - 252028804, // [ 5] 1 Jan 1988 - 315187205, // [ 6] 1 Jan 1990 - 346723206, // [ 7] 1 Jan 1991 - 393984007, // [ 8] 1 Jul 1992 - 425520008, // [ 9] 1 Jul 1993 - 457056009, // [10] 1 Jul 1994 - 504489610, // [11] 1 Jan 1996 - 551750411, // [12] 1 Jul 1997 - 599184012, // [13] 1 Jan 1999 - 820108813, // [14] 1 Jan 2006 - 914803214, // [15] 1 Jan 2009 - 1025136015, // [16] 1 Jul 2012 - 1119744016, // [17] 1 Jul 2015 - 1167264017, // [18] 1 Jan 2017 -}; - -#define STM32WB_RTC_SECONDS_OFFSET_DEFAULT 1167264018 // 1 Jan 2017 00:00:00 in GPS TIME -#define STM32WB_RTC_TICKS_OFFSET_DEFAULT 0 -#define STM32WB_RTC_LEAP_SECONDS_DEFAULT 18 -#define STM32WB_RTC_LEAP_SECONDS_EXPIRATION 1293494417 // 31 Dec 2020 23:59:59 in GPS TIME - void __stm32wb_rtc_initialize(void) { uint32_t lseclk, hseclk; @@ -196,10 +160,10 @@ void __stm32wb_rtc_initialize(void) RTC->BKP16R = (STM32WB_RTC_BKP16R_NOT_DATA_MASK & ~(STM32WB_RTC_BKP16R_REVISION_CURRENT << STM32WB_RTC_BKP16R_NOT_DATA_SHIFT)) | STM32WB_RTC_BKP16R_REVISION_CURRENT; RTC->BKP17R = hseclk ? STM32WB_RTC_BKP17R_HSECLK : 0; - RTC->BKP18R = __rtc_info__.epoch ? (__rtc_info__.epoch - 315964800 + __rtc_info__.leap_seconds) : 0; - RTC->BKP19R = ((((__rtc_info__.zone / 900) << STM32WB_RTC_BKP19R_ZONE_SHIFT) & STM32WB_RTC_BKP19R_ZONE_MASK) | - (((__rtc_info__.dst / 3600) << STM32WB_RTC_BKP19R_DST_SHIFT) & STM32WB_RTC_BKP19R_DST_MASK) | - ((__rtc_info__.leap_seconds << STM32WB_RTC_BKP19R_LEAP_SECONDS_SHIFT) & STM32WB_RTC_BKP19R_LEAP_SECONDS_MASK)); + RTC->BKP18R = __stm32wb_rtc_info__.epoch ? (__stm32wb_rtc_info__.epoch - 315964800 + (__stm32wb_rtc_info__.leap_seconds - STM32WB_RTC_BKP19R_LEAP_SECONDS_BIAS)) : 0; + RTC->BKP19R = (((__stm32wb_rtc_info__.zone << STM32WB_RTC_BKP19R_ZONE_SHIFT) & STM32WB_RTC_BKP19R_ZONE_MASK) | + ((__stm32wb_rtc_info__.dst << STM32WB_RTC_BKP19R_DST_SHIFT) & STM32WB_RTC_BKP19R_DST_MASK) | + ((__stm32wb_rtc_info__.leap_seconds << STM32WB_RTC_BKP19R_LEAP_SECONDS_SHIFT) & STM32WB_RTC_BKP19R_LEAP_SECONDS_MASK)); if (lseclk) { @@ -229,6 +193,11 @@ void __stm32wb_rtc_initialize(void) { RTC->WPR = 0xca; RTC->WPR = 0x53; + + RTC->CR &= ~(RTC_CR_TSIE | RTC_CR_WUTIE | RTC_CR_ALRBIE | RTC_CR_ALRAIE | RTC_CR_TSE | RTC_CR_WUTE | RTC_CR_ALRBE | RTC_CR_ALRAE); + RTC->TAMPCR &= ~(RTC_TAMPCR_TAMP1IE | RTC_TAMPCR_TAMP1E | RTC_TAMPCR_TAMP2IE | RTC_TAMPCR_TAMP2E | RTC_TAMPCR_TAMP3IE | RTC_TAMPCR_TAMP3E); + + RTC->ISR = ~RTC_ISR_INIT; } EXTI->IMR1 &= ~(EXTI_IMR1_IM17 | EXTI_IMR1_IM18 | EXTI_IMR1_IM19); @@ -244,137 +213,27 @@ void __stm32wb_rtc_initialize(void) NVIC_EnableIRQ(RTC_Alarm_IRQn); stm32wb_rtc_clock_capture(&capture); + stm32wb_rtc_device.clock_offset = stm32wb_rtc_clock_convert(&capture); stm32wb_rtc_device.time_offset = ((uint64_t)RTC->BKP18R * STM32WB_RTC_CLOCK_TICKS_PER_SECOND) + ((RTC->BKP19R & STM32WB_RTC_BKP19R_TICKS_OFFSET_MASK) >> STM32WB_RTC_BKP19R_TICKS_OFFSET_SHIFT); - stm32wb_rtc_device.zone = ((int32_t)(RTC->BKP19R << (32 - STM32WB_RTC_BKP19R_ZONE_SHIFT - STM32WB_RTC_BKP19R_ZONE_SIZE)) >> (32 - STM32WB_RTC_BKP19R_ZONE_SIZE)) * 900; - stm32wb_rtc_device.dst = ((RTC->BKP19R & STM32WB_RTC_BKP19R_DST_MASK) >> STM32WB_RTC_BKP19R_DST_SHIFT) * 3600; - stm32wb_rtc_device.leap_seconds = (int32_t)(RTC->BKP19R << (32 - STM32WB_RTC_BKP19R_LEAP_SECONDS_SHIFT - STM32WB_RTC_BKP19R_LEAP_SECONDS_SIZE)) >> (32 - STM32WB_RTC_BKP19R_LEAP_SECONDS_SIZE); + stm32wb_rtc_device.zone = (((RTC->BKP19R & STM32WB_RTC_BKP19R_ZONE_MASK) >> STM32WB_RTC_BKP19R_ZONE_SHIFT) * STM32WB_RTC_BKP19R_ZONE_SCALE) - STM32WB_RTC_BKP19R_ZONE_BIAS; + stm32wb_rtc_device.dst = (((RTC->BKP19R & STM32WB_RTC_BKP19R_DST_MASK) >> STM32WB_RTC_BKP19R_DST_SHIFT) * STM32WB_RTC_BKP19R_DST_SCALE) - STM32WB_RTC_BKP19R_DST_BIAS; + stm32wb_rtc_device.leap_seconds = ((RTC->BKP19R & STM32WB_RTC_BKP19R_LEAP_SECONDS_MASK) >> STM32WB_RTC_BKP19R_LEAP_SECONDS_SHIFT) - STM32WB_RTC_BKP19R_LEAP_SECONDS_BIAS; stm32wb_rtc_device.status = (((RTC->BKP19R & STM32WB_RTC_BKP19R_TIME_WRITTEN) ? STM32WB_RTC_STATUS_TIME_WRITTEN : 0) | ((RTC->BKP19R & STM32WB_RTC_BKP19R_ZONE_WRITTEN) ? STM32WB_RTC_STATUS_ZONE_WRITTEN : 0) | ((RTC->BKP19R & STM32WB_RTC_BKP19R_DST_WRITTEN) ? STM32WB_RTC_STATUS_DST_WRITTEN : 0) | ((RTC->BKP19R & STM32WB_RTC_BKP19R_LEAP_SECONDS_WRITTEN) ? STM32WB_RTC_STATUS_LEAP_SECONDS_WRITTEN : 0)); - RTC->CR = (RTC->CR & ~RTC_CR_WUCKSEL); - + stm32wb_rtc_device.alarm_busy = false; + stm32wb_rtc_device.alarm_clock = 0; + stm32wb_rtc_device.alarm_queue = NULL; + stm32wb_rtc_device.alarm_modify = STM32WB_RTC_ALARM_SENTINEL; + EXTI->RTSR1 |= (EXTI_RTSR1_RT17 | EXTI_RTSR1_RT18 | EXTI_RTSR1_RT19); EXTI->IMR1 |= (EXTI_IMR1_IM17 | EXTI_IMR1_IM18 | EXTI_IMR1_IM19); } -uint32_t stm32wb_rtc_status(void) -{ - return stm32wb_rtc_device.status; -} - -void stm32wb_rtc_notify(stm32wb_rtc_event_callback_t callback, void *context) -{ - stm32wb_rtc_device.event_callback = NULL; - stm32wb_rtc_device.event_context = context; - stm32wb_rtc_device.event_callback = callback; -} - -int32_t stm32wb_rtc_get_calibration(void) -{ - if (RTC->CALR & RTC_CALR_CALP) - { - return 512 - ((int32_t)((RTC->CALR & RTC_CALR_CALM_Msk) >> RTC_CALR_CALM_Pos)); - } - else - { - return - ((int32_t)((RTC->CALR & RTC_CALR_CALM_Msk) >> RTC_CALR_CALM_Pos)); - } -} - -void stm32wb_rtc_set_calibration(int32_t calibration) -{ - if (calibration > 0) - { - if (calibration > 512) - { - calibration = 512; - } - - RTC->CALR = RTC_CALR_CALP | ((uint32_t)(512 - calibration) << RTC_CALR_CALM_Pos); - } - else - { - if (calibration < -511) - { - calibration = -511; - } - - RTC->CALR = ((uint32_t)(-calibration) << RTC_CALR_CALM_Pos); - } - - while (RTC->ISR & RTC_ISR_RECALPF) - { - __NOP(); - __NOP(); - __NOP(); - __NOP(); - } -} - -static void stm32wb_rtc_sync_routine(void) -{ - stm32wb_rtc_event_callback_t callback; - void *context; - uint32_t events; - uint64_t time_offset, time_offset_previous; - int32_t zone, zone_previous; - uint16_t dst, dst_previous; - int8_t leap_seconds, leap_seconds_previous; - uint8_t status, status_previous; - - events = armv7m_atomic_swap(&stm32wb_rtc_device.events, 0); - - armv7m_atomic_orb(&stm32wb_rtc_device.status, events); - - time_offset = stm32wb_rtc_device.time_offset; - zone = stm32wb_rtc_device.zone; - dst = stm32wb_rtc_device.dst; - leap_seconds = stm32wb_rtc_device.leap_seconds; - status = stm32wb_rtc_device.status; - - do - { - time_offset_previous = time_offset; - zone_previous = zone; - dst_previous = dst; - leap_seconds_previous = leap_seconds; - status_previous = status; - - time_offset = stm32wb_rtc_device.time_offset; - zone = stm32wb_rtc_device.zone; - dst = stm32wb_rtc_device.dst; - leap_seconds = stm32wb_rtc_device.leap_seconds; - status = stm32wb_rtc_device.status; - } - while ((time_offset != time_offset_previous) || - (zone != zone_previous) || - (dst != dst_previous) || - (leap_seconds != leap_seconds_previous) || - (status != status_previous)); - - RTC->BKP18R = (uint32_t)(time_offset / STM32WB_RTC_CLOCK_TICKS_PER_SECOND); - RTC->BKP19R = ((((time_offset & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND - 1)) << STM32WB_RTC_BKP19R_TICKS_OFFSET_SHIFT) & STM32WB_RTC_BKP19R_TICKS_OFFSET_MASK) | - (((zone / 900) << STM32WB_RTC_BKP19R_ZONE_SHIFT) & STM32WB_RTC_BKP19R_ZONE_MASK) | - (((dst / 3600) << STM32WB_RTC_BKP19R_DST_SHIFT) & STM32WB_RTC_BKP19R_DST_MASK) | - ((leap_seconds << STM32WB_RTC_BKP19R_LEAP_SECONDS_SHIFT) & STM32WB_RTC_BKP19R_LEAP_SECONDS_MASK) | - ((status & STM32WB_RTC_STATUS_TIME_WRITTEN) ? STM32WB_RTC_BKP19R_TIME_WRITTEN : 0) | - ((status & STM32WB_RTC_STATUS_ZONE_WRITTEN) ? STM32WB_RTC_BKP19R_ZONE_WRITTEN : 0) | - ((status & STM32WB_RTC_STATUS_DST_WRITTEN) ? STM32WB_RTC_BKP19R_DST_WRITTEN : 0) | - ((status & STM32WB_RTC_STATUS_LEAP_SECONDS_WRITTEN) ? STM32WB_RTC_BKP19R_LEAP_SECONDS_WRITTEN : 0)); - - callback = stm32wb_rtc_device.event_callback; - context = stm32wb_rtc_device.event_context; - - if (callback) - { - (*callback)(context, events); - } -} - -static inline __attribute__((optimize("O3"),always_inline)) void __stm32wb_rtc_clock_capture(stm32wb_rtc_capture_t *p_capture) +static inline void __attribute__((optimize("O3"))) __stm32wb_rtc_clock_capture(stm32wb_rtc_capture_t *p_capture) { uint32_t rtc_ssr_previous, rtc_tr_previous, rtc_dr_previous, rtc_ssr, rtc_tr, rtc_dr; @@ -399,7 +258,7 @@ static inline __attribute__((optimize("O3"),always_inline)) void __stm32wb_rtc_c p_capture->ssr = rtc_ssr; } -static inline __attribute__((optimize("O3"),always_inline)) uint64_t __stm32wb_rtc_clock_convert(const stm32wb_rtc_capture_t *capture, stm32wb_rtc_tod_t *p_tod) +static inline uint64_t __attribute__((optimize("O3"))) __stm32wb_rtc_clock_convert(const stm32wb_rtc_capture_t *capture, stm32wb_rtc_tod_t *p_tod) { uint32_t year, month, day, hours, minutes, seconds, ticks; @@ -428,7 +287,7 @@ static inline __attribute__((optimize("O3"),always_inline)) uint64_t __stm32wb_r + seconds) * STM32WB_RTC_CLOCK_TICKS_PER_SECOND) | ticks; } -static void __attribute__((optimize("O3"))) __stm32wb_rtc_clock_offset(stm32wb_rtc_tod_t *tod, uint32_t seconds, uint32_t ticks) +static inline void __attribute__((optimize("O3"))) __stm32wb_rtc_clock_offset(stm32wb_rtc_tod_t *tod, uint32_t seconds, uint32_t ticks) { uint32_t days, hours, minutes; @@ -483,83 +342,70 @@ static void __attribute__((optimize("O3"))) __stm32wb_rtc_clock_offset(stm32wb_r } } -void __attribute__((optimize("O3"))) stm32wb_rtc_clock_capture(stm32wb_rtc_capture_t *p_capture) -{ - __stm32wb_rtc_clock_capture(p_capture); -} - -uint64_t __attribute__((optimize("O3"))) stm32wb_rtc_clock_convert(const stm32wb_rtc_capture_t *capture) -{ - return __stm32wb_rtc_clock_convert(capture, NULL) - stm32wb_rtc_device.clock_offset; -} - -uint64_t __attribute__((optimize("O3"))) stm32wb_rtc_clock_read() -{ - stm32wb_rtc_capture_t capture; - - __stm32wb_rtc_clock_capture(&capture); - - return __stm32wb_rtc_clock_convert(&capture, NULL) - stm32wb_rtc_device.clock_offset; -} - -void stm32wb_rtc_clock_to_time(uint64_t clock, uint32_t *p_seconds, uint32_t *p_ticks) -{ - uint64_t time_offset; - uint32_t seconds, ticks, time_offset_l, time_offset_h; - - armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); - - time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); - - clock += (stm32wb_rtc_device.clock_offset + time_offset); - - seconds = clock / STM32WB_RTC_CLOCK_TICKS_PER_SECOND; - ticks = clock & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND - 1); - - *p_seconds = seconds; - *p_ticks = ticks; -} - -uint64_t stm32wb_rtc_time_to_clock(uint32_t seconds, uint32_t ticks) +static void stm32wb_rtc_sync_routine(void) { - uint64_t clock, time_offset; - uint32_t time_offset_l, time_offset_h; - - clock = ((uint64_t)seconds * STM32WB_RTC_CLOCK_TICKS_PER_SECOND) + ticks; + stm32wb_rtc_event_callback_t callback; + void *context; + uint32_t events; + uint64_t time_offset, time_offset_previous; + int32_t zone, zone_previous; + uint16_t dst, dst_previous; + int8_t leap_seconds, leap_seconds_previous; + uint8_t status; - armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); + events = armv7m_atomic_swap(&stm32wb_rtc_device.events, 0); - time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); - - clock -= (stm32wb_rtc_device.clock_offset + time_offset); + if (events & (STM32WB_RTC_EVENT_TIME_WRITTEN | STM32WB_RTC_EVENT_ZONE_WRITTEN | STM32WB_RTC_EVENT_DST_WRITTEN | STM32WB_RTC_EVENT_LEAP_SECONDS_WRITTEN)) + { + status = stm32wb_rtc_device.status; - return clock; -} + status |= (events & (STM32WB_RTC_EVENT_TIME_WRITTEN | STM32WB_RTC_EVENT_ZONE_WRITTEN | STM32WB_RTC_EVENT_DST_WRITTEN | STM32WB_RTC_EVENT_LEAP_SECONDS_WRITTEN)); -void stm32wb_rtc_time_read(uint32_t *p_seconds, uint32_t *p_ticks) -{ - stm32wb_rtc_capture_t capture; - uint64_t clock, time_offset; - uint32_t seconds, ticks, time_offset_l, time_offset_h; + stm32wb_rtc_device.status = status; + + time_offset = stm32wb_rtc_device.time_offset; + zone = stm32wb_rtc_device.zone; + dst = stm32wb_rtc_device.dst; + leap_seconds = stm32wb_rtc_device.leap_seconds; + + do + { + time_offset_previous = time_offset; + zone_previous = zone; + dst_previous = dst; + leap_seconds_previous = leap_seconds; + + time_offset = stm32wb_rtc_device.time_offset; + zone = stm32wb_rtc_device.zone; + dst = stm32wb_rtc_device.dst; + leap_seconds = stm32wb_rtc_device.leap_seconds; + } + while ((time_offset != time_offset_previous) || + (zone != zone_previous) || + (dst != dst_previous) || + (leap_seconds != leap_seconds_previous)); + + RTC->BKP18R = (uint32_t)(time_offset / STM32WB_RTC_CLOCK_TICKS_PER_SECOND); + RTC->BKP19R = ((((time_offset & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND - 1)) << STM32WB_RTC_BKP19R_TICKS_OFFSET_SHIFT) & STM32WB_RTC_BKP19R_TICKS_OFFSET_MASK) | + ((((zone + STM32WB_RTC_BKP19R_ZONE_BIAS) / STM32WB_RTC_BKP19R_ZONE_SCALE) << STM32WB_RTC_BKP19R_ZONE_SHIFT) & STM32WB_RTC_BKP19R_ZONE_MASK) | + ((((dst + STM32WB_RTC_BKP19R_DST_BIAS) / STM32WB_RTC_BKP19R_DST_SCALE) << STM32WB_RTC_BKP19R_DST_SHIFT) & STM32WB_RTC_BKP19R_DST_MASK) | + (((leap_seconds + STM32WB_RTC_BKP19R_LEAP_SECONDS_BIAS) << STM32WB_RTC_BKP19R_LEAP_SECONDS_SHIFT) & STM32WB_RTC_BKP19R_LEAP_SECONDS_MASK) | + ((status & STM32WB_RTC_STATUS_TIME_WRITTEN) ? STM32WB_RTC_BKP19R_TIME_WRITTEN : 0) | + ((status & STM32WB_RTC_STATUS_ZONE_WRITTEN) ? STM32WB_RTC_BKP19R_ZONE_WRITTEN : 0) | + ((status & STM32WB_RTC_STATUS_DST_WRITTEN) ? STM32WB_RTC_BKP19R_DST_WRITTEN : 0) | + ((status & STM32WB_RTC_STATUS_LEAP_SECONDS_WRITTEN) ? STM32WB_RTC_BKP19R_LEAP_SECONDS_WRITTEN : 0)); + } - __stm32wb_rtc_clock_capture(&capture); - - clock = __stm32wb_rtc_clock_convert(&capture, NULL); - - armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); + callback = stm32wb_rtc_device.event_callback; + context = stm32wb_rtc_device.event_context; - time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); - - clock += time_offset; - - seconds = clock / STM32WB_RTC_CLOCK_TICKS_PER_SECOND; - ticks = clock & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND -1); - - *p_seconds = seconds; - *p_ticks = ticks; + if (callback) + { + (*callback)(context, events); + } } -static void __svc_stm32wb_rtc_time_write(uint32_t seconds) +static void __attribute__((noinline)) __svc_stm32wb_rtc_time_write(uint32_t seconds) { stm32wb_rtc_capture_t capture; uint64_t o_clock, n_clock, time_offset; @@ -571,7 +417,7 @@ static void __svc_stm32wb_rtc_time_write(uint32_t seconds) o_clock = __stm32wb_rtc_clock_convert(&capture, NULL); - armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); + __armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); @@ -586,33 +432,21 @@ static void __svc_stm32wb_rtc_time_write(uint32_t seconds) time_offset_l = (time_offset >> 0); time_offset_h = (time_offset >> 32); - armv7m_atomic_store_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, time_offset_l, time_offset_h); + __armv7m_atomic_store_2((volatile uint32_t *)&stm32wb_rtc_device.time_offset, time_offset_l, time_offset_h); armv7m_atomic_or(&stm32wb_rtc_device.events, STM32WB_RTC_EVENT_TIME_WRITTEN); armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_SYNC); } -void stm32wb_rtc_time_write(uint32_t seconds) -{ - if (armv7m_core_is_in_thread()) - { - armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_time_write, seconds); - } - else - { - __svc_stm32wb_rtc_time_write(seconds); - } -} - -static void __svc_stm32wb_rtc_time_adjust(int32_t ticks) +static void __attribute__((noinline)) __svc_stm32wb_rtc_time_adjust(int32_t ticks) { uint64_t time_offset; uint32_t time_offset_l, time_offset_h; stm32wb_rtc_device.sync_routine = stm32wb_rtc_sync_routine; - armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); + __armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); @@ -621,71 +455,36 @@ static void __svc_stm32wb_rtc_time_adjust(int32_t ticks) time_offset_l = (time_offset >> 0); time_offset_h = (time_offset >> 32); - armv7m_atomic_store_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, time_offset_l, time_offset_h); + __armv7m_atomic_store_2((volatile uint32_t *)&stm32wb_rtc_device.time_offset, time_offset_l, time_offset_h); armv7m_atomic_or(&stm32wb_rtc_device.events, STM32WB_RTC_EVENT_TIME_WRITTEN); - + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_SYNC); } -void stm32wb_rtc_time_adjust(int32_t ticks) +static void __attribute__((noinline)) __svc_stm32wb_rtc_set_zone(int32_t zone) { - if (armv7m_core_is_in_thread()) - { - armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_time_adjust, (uint32_t)ticks); - } - else - { - __svc_stm32wb_rtc_time_adjust(ticks); - } -} + stm32wb_rtc_device.sync_routine = stm32wb_rtc_sync_routine; -int32_t stm32wb_rtc_time_to_leap_seconds(uint32_t seconds) -{ - int32_t leap_seconds; - - if (seconds > STM32WB_RTC_LEAP_SECONDS_EXPIRATION) - { - return stm32wb_rtc_device.leap_seconds; - } + stm32wb_rtc_device.zone = zone; - for (leap_seconds = STM32WB_RTC_LEAP_SECONDS_DEFAULT; leap_seconds >= 0; leap_seconds--) - { - if (seconds >= stm32wb_rtc_leap_seconds_table[leap_seconds]) - { - break; - } - } + armv7m_atomic_or(&stm32wb_rtc_device.events, STM32WB_RTC_EVENT_ZONE_WRITTEN); - return leap_seconds; + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_SYNC); } -int32_t stm32wb_rtc_utc_to_leap_seconds(uint32_t seconds) +static void __attribute__((noinline)) __svc_stm32wb_rtc_set_dst(uint32_t dst) { - int32_t leap_seconds; - - if ((seconds + STM32WB_RTC_LEAP_SECONDS_DEFAULT) > STM32WB_RTC_LEAP_SECONDS_EXPIRATION) - { - return stm32wb_rtc_device.leap_seconds; - } + stm32wb_rtc_device.sync_routine = stm32wb_rtc_sync_routine; - for (leap_seconds = STM32WB_RTC_LEAP_SECONDS_DEFAULT; leap_seconds >= 0; leap_seconds--) - { - if ((seconds + leap_seconds) >= stm32wb_rtc_leap_seconds_table[leap_seconds]) - { - break; - } - } + stm32wb_rtc_device.dst = dst; - return leap_seconds; -} + armv7m_atomic_or(&stm32wb_rtc_device.events, STM32WB_RTC_EVENT_DST_WRITTEN); -int32_t stm32wb_rtc_get_leap_seconds(void) -{ - return stm32wb_rtc_device.leap_seconds; + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_SYNC); } -static void __svc_stm32wb_rtc_set_leap_seconds(int32_t leap_seconds) +static void __attribute__((noinline)) __svc_stm32wb_rtc_set_leap_seconds(int32_t leap_seconds) { stm32wb_rtc_device.sync_routine = stm32wb_rtc_sync_routine; @@ -696,71 +495,208 @@ static void __svc_stm32wb_rtc_set_leap_seconds(int32_t leap_seconds) armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_SYNC); } -void stm32wb_rtc_set_leap_seconds(int32_t leap_seconds) +uint32_t stm32wb_rtc_status(void) { - if (armv7m_core_is_in_thread()) - { - armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_set_leap_seconds, (uint32_t)leap_seconds); - } - else - { - __svc_stm32wb_rtc_set_leap_seconds(leap_seconds); - } + return stm32wb_rtc_device.status; } -int32_t stm32wb_rtc_get_zone(void) +void stm32wb_rtc_notify(stm32wb_rtc_event_callback_t callback, void *context) { - return stm32wb_rtc_device.zone; + stm32wb_rtc_device.event_callback = NULL; + stm32wb_rtc_device.event_context = context; + stm32wb_rtc_device.event_callback = callback; } -static void __svc_stm32wb_rtc_set_zone(int32_t zone) +int32_t stm32wb_rtc_get_calibration(void) { - stm32wb_rtc_device.sync_routine = stm32wb_rtc_sync_routine; + if (RTC->CALR & RTC_CALR_CALP) + { + return 512 - ((int32_t)((RTC->CALR & RTC_CALR_CALM_Msk) >> RTC_CALR_CALM_Pos)); + } + else + { + return - ((int32_t)((RTC->CALR & RTC_CALR_CALM_Msk) >> RTC_CALR_CALM_Pos)); + } +} - stm32wb_rtc_device.zone = zone; +void stm32wb_rtc_set_calibration(int32_t calibration) +{ + if (calibration > 0) + { + if (calibration > 512) + { + calibration = 512; + } - armv7m_atomic_or(&stm32wb_rtc_device.events, STM32WB_RTC_EVENT_ZONE_WRITTEN); + RTC->CALR = RTC_CALR_CALP | ((uint32_t)(512 - calibration) << RTC_CALR_CALM_Pos); + } + else + { + if (calibration < -511) + { + calibration = -511; + } + + RTC->CALR = ((uint32_t)(-calibration) << RTC_CALR_CALM_Pos); + } + + while (RTC->ISR & RTC_ISR_RECALPF) + { + __NOP(); + __NOP(); + __NOP(); + __NOP(); + } +} + +void __attribute__((optimize("O3"))) stm32wb_rtc_clock_capture(stm32wb_rtc_capture_t *p_capture) +{ + __stm32wb_rtc_clock_capture(p_capture); +} + +uint64_t __attribute__((optimize("O3"))) stm32wb_rtc_clock_convert(const stm32wb_rtc_capture_t *capture) +{ + return __stm32wb_rtc_clock_convert(capture, NULL) - stm32wb_rtc_device.clock_offset; +} + +uint64_t __attribute__((optimize("O3"))) stm32wb_rtc_clock_read() +{ + stm32wb_rtc_capture_t capture; + + __stm32wb_rtc_clock_capture(&capture); + + return __stm32wb_rtc_clock_convert(&capture, NULL) - stm32wb_rtc_device.clock_offset; +} + +void stm32wb_rtc_clock_to_time(uint64_t clock, uint32_t *p_seconds, uint32_t *p_ticks) +{ + uint64_t time_offset; + uint32_t seconds, ticks, time_offset_l, time_offset_h; + + __armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); + + time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); + + clock += (stm32wb_rtc_device.clock_offset + time_offset); + + seconds = clock / STM32WB_RTC_CLOCK_TICKS_PER_SECOND; + ticks = clock & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND - 1); + + *p_seconds = seconds; + *p_ticks = ticks; +} + +uint64_t stm32wb_rtc_time_to_clock(uint32_t seconds, uint32_t ticks) +{ + uint64_t clock, time_offset; + uint32_t time_offset_l, time_offset_h; + + clock = ((uint64_t)seconds * STM32WB_RTC_CLOCK_TICKS_PER_SECOND) + ticks; + + __armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); + + time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_SYNC); + clock -= (stm32wb_rtc_device.clock_offset + time_offset); + + return clock; } -void stm32wb_rtc_set_zone(int32_t zone) +void stm32wb_rtc_time_read(uint32_t *p_seconds, uint32_t *p_ticks) +{ + stm32wb_rtc_capture_t capture; + uint64_t clock, time_offset; + uint32_t seconds, ticks, time_offset_l, time_offset_h; + + __stm32wb_rtc_clock_capture(&capture); + + clock = __stm32wb_rtc_clock_convert(&capture, NULL); + + __armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); + + time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); + + clock += time_offset; + + seconds = clock / STM32WB_RTC_CLOCK_TICKS_PER_SECOND; + ticks = clock & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND -1); + + *p_seconds = seconds; + *p_ticks = ticks; +} + +void stm32wb_rtc_time_write(uint32_t seconds) { - if (armv7m_core_is_in_thread()) + if (!armv7m_core_is_in_thread()) { - armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_set_zone, (uint32_t)zone); + __svc_stm32wb_rtc_time_write(seconds); } else { - __svc_stm32wb_rtc_set_zone(zone); + armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_time_write, seconds); } } -uint32_t stm32wb_rtc_get_dst(void) +void stm32wb_rtc_time_adjust(int32_t ticks) { - return stm32wb_rtc_device.dst; + if (!armv7m_core_is_in_thread()) + { + __svc_stm32wb_rtc_time_adjust(ticks); + } + else + { + armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_time_adjust, (uint32_t)ticks); + } } -static void __svc_stm32wb_rtc_set_dst(uint32_t dst) +int32_t stm32wb_rtc_get_zone(void) { - stm32wb_rtc_device.sync_routine = stm32wb_rtc_sync_routine; - - stm32wb_rtc_device.dst = dst; + return stm32wb_rtc_device.zone; +} - armv7m_atomic_or(&stm32wb_rtc_device.events, STM32WB_RTC_EVENT_DST_WRITTEN); +void stm32wb_rtc_set_zone(int32_t zone) +{ + if (!armv7m_core_is_in_thread()) + { + __svc_stm32wb_rtc_set_zone(zone); + } + else + { + armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_set_zone, (uint32_t)zone); + } +} - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_SYNC); +uint32_t stm32wb_rtc_get_dst(void) +{ + return stm32wb_rtc_device.dst; } void stm32wb_rtc_set_dst(uint32_t dst) { - if (armv7m_core_is_in_thread()) + if (!armv7m_core_is_in_thread()) + { + __svc_stm32wb_rtc_set_dst(dst); + } + else { armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_set_dst, (uint32_t)dst); } +} + +int32_t stm32wb_rtc_get_leap_seconds(void) +{ + return stm32wb_rtc_device.leap_seconds; +} + +void stm32wb_rtc_set_leap_seconds(int32_t leap_seconds) +{ + if (!armv7m_core_is_in_thread()) + { + __svc_stm32wb_rtc_set_leap_seconds(leap_seconds); + } else { - __svc_stm32wb_rtc_set_dst(dst); + armv7m_svcall_1((uint32_t)&__svc_stm32wb_rtc_set_leap_seconds, (uint32_t)leap_seconds); } } @@ -807,228 +743,362 @@ void stm32wb_rtc_tod_to_time(const stm32wb_rtc_tod_t *tod, uint32_t *p_seconds, *p_ticks = tod->ticks; } +static void stm32wb_rtc_alarm_remove(stm32wb_rtc_alarm_t *alarm) +{ + if (alarm->next == alarm) + { + stm32wb_rtc_device.alarm_queue = NULL; + } + else + { + if (alarm == stm32wb_rtc_device.alarm_queue) + { + stm32wb_rtc_device.alarm_queue = alarm->next; + } + + alarm->next->previous = alarm->previous; + alarm->previous->next = alarm->next; + } + + alarm->next = NULL; + alarm->previous = NULL; +} + +static void stm32wb_rtc_alarm_insert(stm32wb_rtc_alarm_t *alarm, uint64_t clock) +{ + stm32wb_rtc_alarm_t *alarm_element, *alarm_next; + uint64_t element_clock; + + if (stm32wb_rtc_device.alarm_queue == NULL) + { + stm32wb_rtc_device.alarm_queue = alarm; + + alarm->next = alarm; + alarm->previous = alarm; + } + else + { + alarm_element = stm32wb_rtc_device.alarm_queue; + + do + { + alarm_next = alarm_element->next; + + element_clock = (((uint64_t)alarm_element->clock_l << 0) | ((uint64_t)alarm_element->clock_h << 32)); + + if (!alarm_element->modify) + { + if (clock < element_clock) + { + if (alarm_element == stm32wb_rtc_device.alarm_queue) + { + stm32wb_rtc_device.alarm_queue = alarm; + } + break; + } + } + else + { + stm32wb_rtc_alarm_remove(alarm_element); + } + + alarm_element = alarm_next; + } + while (alarm_element != stm32wb_rtc_device.alarm_queue); + + if (stm32wb_rtc_device.alarm_queue == NULL) + { + stm32wb_rtc_device.alarm_queue = alarm; + + alarm->next = alarm; + alarm->previous = alarm; + } + else + { + alarm->previous = alarm_element->previous; + alarm->next = alarm_element; + + alarm->previous->next = alarm; + alarm->next->previous = alarm; + } + } +} + static void __attribute__((optimize("O3"))) stm32wb_rtc_alarm_routine(void) { + stm32wb_rtc_alarm_t *alarm, *alarm_previous, *alarm_next; stm32wb_rtc_capture_t capture; stm32wb_rtc_tod_t tod; stm32wb_rtc_alarm_callback_t callback; void *context; uint64_t clock, reference, timeout; - uint32_t seconds, ticks, alrmr, alrmssr; - - if (stm32wb_rtc_device.alarm_modify) + uint32_t clock_l, clock_h, seconds, ticks, alrmr, alrmssr; + + if (stm32wb_rtc_device.alarm_modify != STM32WB_RTC_ALARM_SENTINEL) { - if (stm32wb_rtc_device.alarm_busy) - { - armv7m_atomic_and(&RTC->CR, ~(RTC_CR_ALRAIE | RTC_CR_ALRAE)); - - RTC->ISR = ~(RTC_ISR_ALRAF | RTC_ISR_INIT); - - stm32wb_rtc_device.alarm_busy = false; - stm32wb_rtc_device.alarm_event = false; - } + alarm = (stm32wb_rtc_alarm_t*)armv7m_atomic_swap((volatile uint32_t*)&stm32wb_rtc_device.alarm_modify, (uint32_t)STM32WB_RTC_ALARM_SENTINEL); - stm32wb_rtc_device.alarm_modify = false; + /* Revert the modify queue, and process it. + */ + for (alarm_previous = STM32WB_RTC_ALARM_SENTINEL; alarm != STM32WB_RTC_ALARM_SENTINEL; alarm = alarm_next) + { + alarm_next = alarm->modify; + + alarm->modify = alarm_previous; + + alarm_previous = alarm; + } - clock = stm32wb_rtc_device.alarm_clock; + alarm = alarm_previous; + + while (alarm != STM32WB_RTC_ALARM_SENTINEL) + { + alarm_next = alarm->modify; + + if (alarm->next) + { + stm32wb_rtc_alarm_remove(alarm); + } + + clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); + + alarm->modify = NULL; + + if (!alarm->modify) + { + if (clock) + { + stm32wb_rtc_alarm_insert(alarm, clock); + } + } + + alarm = alarm_next; + } + } - if (!stm32wb_rtc_device.alarm_modify) - { - __stm32wb_rtc_alarm_clock = clock; + __stm32wb_rtc_clock_capture(&capture); + + reference = __stm32wb_rtc_clock_convert(&capture, &tod); + + alarm = stm32wb_rtc_device.alarm_queue; - if (clock) + if (alarm) + { + do + { + clock_l = alarm->clock_l; + clock_h = alarm->clock_h; + callback = alarm->callback; + context = alarm->context; + + if (!alarm->modify) + { + clock = (((uint64_t)clock_l << 0) | ((uint64_t)clock_h << 32)); + + if (clock > reference) + { + break; + } + + stm32wb_rtc_alarm_remove(alarm); + + (*callback)(context, clock - stm32wb_rtc_device.clock_offset); + } + else + { + stm32wb_rtc_alarm_remove(alarm); + } + + alarm = stm32wb_rtc_device.alarm_queue; + } + while (alarm); + } + + if (!armv7m_pendsv_is_pending(ARMV7M_PENDSV_SWI_RTC_ALARM)) + { + alarm = stm32wb_rtc_device.alarm_queue; + + if (alarm) + { + clock = (((uint64_t)alarm->clock_l << 0) | ((uint64_t)alarm->clock_h << 32)); + + if (!alarm->modify) { - __stm32wb_rtc_clock_capture(&capture); + timeout = clock - reference; - reference = __stm32wb_rtc_clock_convert(&capture, &tod); + if (timeout > (2419200u * STM32WB_RTC_CLOCK_TICKS_PER_SECOND)) + { + ticks = (2419200u * STM32WB_RTC_CLOCK_TICKS_PER_SECOND); + } + else + { + ticks = timeout; + + if (ticks <= 2) + { + ticks = 2; + } + } - if (clock <= reference) - { - stm32wb_rtc_device.alarm_event = true; - } - else + clock = ticks + reference; + + if (clock != stm32wb_rtc_device.alarm_clock) { - timeout = clock - reference; - - if (timeout < 2) + if (stm32wb_rtc_device.alarm_busy) { - timeout = 2; + armv7m_atomic_and(&RTC->CR, ~(RTC_CR_ALRAIE | RTC_CR_ALRAE)); + + RTC->ISR = ~(RTC_ISR_ALRAF | RTC_ISR_INIT); + + stm32wb_rtc_device.alarm_busy = false; + stm32wb_rtc_device.alarm_clock = 0; } - - clock = reference + timeout; - seconds = timeout / STM32WB_RTC_CLOCK_TICKS_PER_SECOND; - ticks = timeout & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND - 1); + stm32wb_rtc_device.alarm_clock = clock; - __stm32wb_rtc_clock_offset(&tod, seconds, ticks); + seconds = ticks / STM32WB_RTC_CLOCK_TICKS_PER_SECOND; + ticks = ticks & (STM32WB_RTC_CLOCK_TICKS_PER_SECOND - 1); - alrmr = ((stm32wb_rtc_int_to_bcd[tod.seconds] << RTC_ALRMAR_SU_Pos) | - (stm32wb_rtc_int_to_bcd[tod.minutes] << RTC_ALRMAR_MNU_Pos) | - (stm32wb_rtc_int_to_bcd[tod.hours] << RTC_ALRMAR_HU_Pos) | - (stm32wb_rtc_int_to_bcd[tod.day] << RTC_ALRMAR_DU_Pos)); + __stm32wb_rtc_clock_offset(&tod, seconds, ticks); - alrmssr = ((STM32WB_RTC_PREDIV_S - 1) - tod.ticks) | STM32WB_RTC_ALRMSSR_MASKSS; - - while (!(RTC->ISR & RTC_ISR_ALRAWF)) - { - __NOP(); - __NOP(); - __NOP(); - __NOP(); - } + alrmr = ((stm32wb_rtc_int_to_bcd[tod.seconds] << RTC_ALRMAR_SU_Pos) | + (stm32wb_rtc_int_to_bcd[tod.minutes] << RTC_ALRMAR_MNU_Pos) | + (stm32wb_rtc_int_to_bcd[tod.hours] << RTC_ALRMAR_HU_Pos) | + (stm32wb_rtc_int_to_bcd[tod.day] << RTC_ALRMAR_DU_Pos)); - RTC->ALRMAR = alrmr; - RTC->ALRMASSR = alrmssr; + alrmssr = ((STM32WB_RTC_PREDIV_S - 1) - tod.ticks) | STM32WB_RTC_ALRMSSR_MASKSS; - stm32wb_rtc_device.alarm_busy = true; - - armv7m_atomic_or(&RTC->CR, (RTC_CR_ALRAIE | RTC_CR_ALRAE)); - - if (!stm32wb_rtc_device.alarm_event) - { - __stm32wb_rtc_clock_capture(&capture); + while (!(RTC->ISR & RTC_ISR_ALRAWF)) + { + __NOP(); + __NOP(); + __NOP(); + __NOP(); + } + + RTC->ALRMAR = alrmr; + RTC->ALRMASSR = alrmssr; + + stm32wb_rtc_device.alarm_busy = true; + + armv7m_atomic_or(&RTC->CR, (RTC_CR_ALRAIE | RTC_CR_ALRAE)); + + if (stm32wb_rtc_device.alarm_busy) + { + __stm32wb_rtc_clock_capture(&capture); - if (!stm32wb_rtc_device.alarm_event) - { - reference = __stm32wb_rtc_clock_convert(&capture, NULL); + if (stm32wb_rtc_device.alarm_busy) + { + reference = __stm32wb_rtc_clock_convert(&capture, NULL); - if (clock <= (reference + 1)) - { - if (!stm32wb_rtc_device.alarm_event) - { - armv7m_atomic_and(&RTC->CR, ~(RTC_CR_ALRAIE | RTC_CR_ALRAE)); - - RTC->ISR = ~(RTC_ISR_ALRAF | RTC_ISR_INIT); - - stm32wb_rtc_device.alarm_busy = false; - stm32wb_rtc_device.alarm_event = false; - - // retry - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_ALARM); - } - } - } - } - } - } + if (clock <= (reference + 1)) + { + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_ALARM); + } + } + } + } + } } - } - - if (stm32wb_rtc_device.alarm_event) - { - stm32wb_rtc_device.alarm_event = false; - - clock = stm32wb_rtc_device.alarm_clock; - callback = stm32wb_rtc_device.alarm_callback; - context = stm32wb_rtc_device.alarm_context; - - if (!stm32wb_rtc_device.alarm_modify) + else { - __stm32wb_rtc_clock_capture(&capture); - - reference = __stm32wb_rtc_clock_convert(&capture, NULL); - - if (clock <= reference) + stm32wb_rtc_device.alarm_clock = 0; + + if (stm32wb_rtc_device.alarm_busy) { armv7m_atomic_and(&RTC->CR, ~(RTC_CR_ALRAIE | RTC_CR_ALRAE)); RTC->ISR = ~(RTC_ISR_ALRAF | RTC_ISR_INIT); stm32wb_rtc_device.alarm_busy = false; - stm32wb_rtc_device.alarm_event = false; - - __stm32wb_rtc_alarm_clock = 0; - - if (callback) - { - (*callback)(context); - } } } } } -static void __svc_stm32wb_rtc_alarm_start(uint32_t seconds, uint32_t ticks, stm32wb_rtc_alarm_callback_t callback, void *context) -{ - uint64_t clock, time_offset; - uint32_t clock_l, clock_h, time_offset_l, time_offset_h; - - if (stm32wb_rtc_device.alarm_busy) - { - armv7m_atomic_and(&RTC->CR, ~(RTC_CR_ALRAIE | RTC_CR_ALRAE)); - - RTC->ISR = ~(RTC_ISR_ALRAF | RTC_ISR_INIT); - - stm32wb_rtc_device.alarm_busy = false; - stm32wb_rtc_device.alarm_event = false; - } - - armv7m_atomic_load_2_restart((volatile uint32_t *)&stm32wb_rtc_device.time_offset, &time_offset_l, &time_offset_h); - - time_offset = (((uint64_t)time_offset_l << 0) | ((uint64_t)time_offset_h << 32)); - - clock = (((uint64_t)seconds * STM32WB_RTC_CLOCK_TICKS_PER_SECOND) + (uint64_t)ticks) - time_offset; - - clock_l = (uint32_t)(clock >> 0); - clock_h = (uint32_t)(clock >> 32); +typedef struct _stm32wb_rtc_alarm_modify_params_t { + uint32_t clock_l; + uint32_t clock_h; + stm32wb_rtc_alarm_callback_t callback; + void *context; +} stm32wb_rtc_alarm_modify_params_t; - stm32wb_rtc_device.alarm_modify = true; +static void __svc_stm32wb_rtc_alarm_modify(stm32wb_rtc_alarm_t *alarm, const stm32wb_rtc_alarm_modify_params_t *params) +{ + stm32wb_rtc_alarm_t *alarm_modify; - armv7m_atomic_store_4_restart((volatile uint32_t *)&stm32wb_rtc_device.alarm_clock, clock_l, clock_h, (uint32_t)callback, (uint32_t)context); - stm32wb_rtc_device.alarm_routine = stm32wb_rtc_alarm_routine; - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_ALARM); -} - -static void __svc_stm32wb_rtc_alarm_stop(void) -{ - if (stm32wb_rtc_device.alarm_busy) + if (params) { - armv7m_atomic_and(&RTC->CR, ~(RTC_CR_ALRAIE | RTC_CR_ALRAE)); - - RTC->ISR = ~(RTC_ISR_ALRAF | RTC_ISR_INIT); - - stm32wb_rtc_device.alarm_busy = false; - stm32wb_rtc_device.alarm_event = false; + __armv7m_atomic_store_4_restart((volatile uint32_t*)&alarm->clock_l, params->clock_l, params->clock_h, (uint32_t)params->callback, (uint32_t)params->context); + } + else + { + __armv7m_atomic_store_2_restart((volatile uint32_t*)&alarm->clock_l, 0, 0); } - - stm32wb_rtc_device.alarm_modify = true; - - armv7m_atomic_store_2_restart((volatile uint32_t *)&stm32wb_rtc_device.alarm_clock, 0, 0); - stm32wb_rtc_device.alarm_routine = stm32wb_rtc_alarm_routine; + if (armv7m_atomic_cas((volatile uint32_t*)&alarm->modify, (uint32_t)NULL, (uint32_t)STM32WB_RTC_ALARM_SENTINEL) == (uint32_t)NULL) + { + alarm_modify = (stm32wb_rtc_alarm_t*)armv7m_atomic_swap((volatile uint32_t*)&stm32wb_rtc_device.alarm_modify, (uint32_t)alarm); - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_ALARM); + alarm->modify = alarm_modify; + + if (alarm_modify == STM32WB_RTC_ALARM_SENTINEL) + { + armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_ALARM); + } + } } -void stm32wb_rtc_alarm_start(uint32_t seconds, uint32_t ticks, stm32wb_rtc_alarm_callback_t callback, void *context) +bool stm32wb_rtc_alarm_start(stm32wb_rtc_alarm_t *alarm, uint64_t clock, stm32wb_rtc_alarm_callback_t callback, void *context) { - if (armv7m_core_is_in_thread()) + stm32wb_rtc_alarm_modify_params_t params; + + if (!clock) + { + return false; + } + + clock += stm32wb_rtc_device.clock_offset; + + params.clock_l = (clock >> 0); + params.clock_h = (clock >> 32); + params.callback = callback; + params.context = context; + + if (!armv7m_core_is_in_thread()) { - armv7m_svcall_4((uint32_t)&__svc_stm32wb_rtc_alarm_start, seconds, ticks, (uint32_t)callback, (uint32_t)context); + __svc_stm32wb_rtc_alarm_modify(alarm, ¶ms); } else { - __svc_stm32wb_rtc_alarm_start(seconds, ticks, callback, context); + armv7m_svcall_2((uint32_t)&__svc_stm32wb_rtc_alarm_modify, (uint32_t)alarm, (uint32_t)¶ms); } + + return true; } -void stm32wb_rtc_alarm_stop(void) +void stm32wb_rtc_alarm_stop(stm32wb_rtc_alarm_t *alarm) { - if (armv7m_core_is_in_thread()) + if (!armv7m_core_is_in_thread()) { - armv7m_svcall_0((uint32_t)&__svc_stm32wb_rtc_alarm_stop); + __svc_stm32wb_rtc_alarm_modify(alarm, NULL); } else { - __svc_stm32wb_rtc_alarm_stop(); + armv7m_svcall_2((uint32_t)&__svc_stm32wb_rtc_alarm_modify, (uint32_t)alarm, (uint32_t)NULL); } } -bool stm32wb_rtc_alarm_busy(void) +bool stm32wb_rtc_alarm_is_pending(stm32wb_rtc_alarm_t *alarm) { - return stm32wb_rtc_device.alarm_busy; + stm32wb_rtc_alarm_t *previous, *modify; + uint32_t clock_l, clock_h; + + __armv7m_atomic_load_4_restart((volatile uint32_t*)&alarm->previous, (uint32_t*)&previous, (uint32_t*)&modify, &clock_l, &clock_h); + + return (modify ? ((clock_l | clock_h) != 0) : (previous != NULL)); } bool stm32wb_rtc_tamp_catch(uint16_t pin, uint32_t control, stm32wb_rtc_tamp_callback_t callback, void *context) @@ -1086,7 +1156,7 @@ bool stm32wb_rtc_tamp_catch(uint16_t pin, uint32_t control, stm32wb_rtc_tamp_cal return false; } -void stm32wb_rtc_standby_enter(uint32_t timeout) +void stm32wb_rtc_standby(uint32_t timeout) { stm32wb_rtc_capture_t capture; stm32wb_rtc_tod_t tod; @@ -1095,15 +1165,17 @@ void stm32wb_rtc_standby_enter(uint32_t timeout) /* Called with interrupts disabled. */ - RTC->CR &= ~(RTC_CR_TSIE | RTC_CR_WUTIE | RTC_CR_ALRBIE | RTC_CR_TSE | RTC_CR_WUTE | RTC_CR_ALRBE); + RTC->CR &= ~(RTC_CR_TSIE | RTC_CR_WUTIE | RTC_CR_ALRBIE | RTC_CR_ALRAIE | RTC_CR_TSE | RTC_CR_WUTE | RTC_CR_ALRBE | RTC_CR_ALRAE); RTC->TAMPCR &= ~(RTC_TAMPCR_TAMP1IE | RTC_TAMPCR_TAMP1E | RTC_TAMPCR_TAMP2IE | RTC_TAMPCR_TAMP2E | RTC_TAMPCR_TAMP3IE | RTC_TAMPCR_TAMP3E); RTC->ISR = 0; + + EXTI->PR1 = EXTI_PR1_PIF17 | EXTI_PR1_PIF18 | EXTI_PR1_PIF19; if (timeout != 0xffffffff) { if (timeout > 2419200000) { - seconds = 2419200000; + timeout = 2419200000; } seconds = timeout / 1000; @@ -1113,7 +1185,7 @@ void stm32wb_rtc_standby_enter(uint32_t timeout) __stm32wb_rtc_clock_convert(&capture, &tod); __stm32wb_rtc_clock_offset(&tod, seconds, ticks); - while (!(RTC->ISR & RTC_ISR_ALRBWF)) + while (!(RTC->ISR & RTC_ISR_ALRAWF)) { __NOP(); __NOP(); @@ -1121,58 +1193,20 @@ void stm32wb_rtc_standby_enter(uint32_t timeout) __NOP(); } - RTC->ALRMBR = ((stm32wb_rtc_int_to_bcd[tod.seconds] << RTC_ALRMAR_SU_Pos) | + RTC->ALRMAR = ((stm32wb_rtc_int_to_bcd[tod.seconds] << RTC_ALRMAR_SU_Pos) | (stm32wb_rtc_int_to_bcd[tod.minutes] << RTC_ALRMAR_MNU_Pos) | (stm32wb_rtc_int_to_bcd[tod.hours] << RTC_ALRMAR_HU_Pos) | (stm32wb_rtc_int_to_bcd[tod.day] << RTC_ALRMAR_DU_Pos)); - RTC->ALRMBSSR = ((STM32WB_RTC_PREDIV_S - 1) - tod.ticks) | STM32WB_RTC_ALRMSSR_MASKSS; + RTC->ALRMASSR = ((STM32WB_RTC_PREDIV_S - 1) - tod.ticks) | STM32WB_RTC_ALRMSSR_MASKSS; - RTC->CR |= (RTC_CR_ALRBIE | RTC_CR_ALRBE); + RTC->CR |= (RTC_CR_ALRAIE | RTC_CR_ALRAE); } - - EXTI->PR1 = EXTI_PR1_PIF18 | EXTI_PR1_PIF19; /* Lock RTC throu reset */ RTC->WPR = 0x00; } -uint32_t stm32wb_rtc_standby_leave(uint32_t wakeup) -{ - stm32wb_rtc_capture_t capture; - uint64_t reference; - - if (RTC->ISR & RTC_ISR_ALRAF) - { - __stm32wb_rtc_clock_capture(&capture); - - reference = __stm32wb_rtc_clock_convert(&capture, NULL); - - if (__stm32wb_rtc_alarm_clock <= reference) - { - wakeup |= STM32WB_SYSTEM_WAKEUP_ALARM; - } - } - - if (RTC->ISR & RTC_ISR_ALRBF) - { - wakeup |= STM32WB_SYSTEM_WAKEUP_TIMEOUT; - } - - if (wakeup) - { - RTC->WPR = 0xca; - RTC->WPR = 0x53; - - RTC->CR &= ~(RTC_CR_ALRBIE | RTC_CR_ALRAIE | RTC_CR_ALRBE | RTC_CR_ALRAE); - RTC->ISR = 0; - - RTC->WPR = 0x00; - } - - return wakeup; -} - void stm32wb_rtc_reset(void) { /* Called with interrupts disabled. @@ -1198,10 +1232,12 @@ void RTC_Alarm_IRQHandler(void) if (RTC->ISR & RTC_ISR_ALRAF) { + armv7m_atomic_and(&RTC->CR, ~(RTC_CR_ALRAIE | RTC_CR_ALRAE)); + RTC->ISR = ~(RTC_ISR_ALRAF | RTC_ISR_INIT); + + stm32wb_rtc_device.alarm_busy = false; - stm32wb_rtc_device.alarm_event = 1; - armv7m_pendsv_raise(ARMV7M_PENDSV_SWI_RTC_ALARM); } } diff --git a/system/STM32WBxx/Source/stm32wb_system.c b/system/STM32WBxx/Source/stm32wb_system.c index e4056ee..b29aa14 100644 --- a/system/STM32WBxx/Source/stm32wb_system.c +++ b/system/STM32WBxx/Source/stm32wb_system.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2021 Thomas Roell. All rights reserved. + * Copyright (c) 2016-2023 Thomas Roell. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -202,7 +202,6 @@ typedef struct _stm32wb_system_device_t { uint8_t palevel; uint32_t msirange; uint32_t c2hpre; - uint32_t hsecalib; stm32wb_system_pvm1_callback_t pvm1_callback; void *pvm1_context; stm32wb_system_notify_t *notify; @@ -335,7 +334,7 @@ void SystemInit(void) uint32_t flash_acr; volatile uint32_t *ccvectors, *ccvectors_e, *cctext, *cctext_e; const uint32_t *ccvectors_f, *cctext_f; - + RCC->CIER = 0x00000000; RCC->APB1ENR1 |= RCC_APB1ENR1_RTCAPBEN; @@ -392,20 +391,9 @@ void SystemInit(void) if (RCC->BDCR & RCC_BDCR_RTCEN) { - __stm32wb_system_wakeup = stm32wb_rtc_standby_leave(__stm32wb_system_wakeup); - } - - if (!__stm32wb_system_wakeup) - { - SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; - __DSB(); - - __SEV(); - __WFE(); - __WFE(); - - while (1) + if (RTC->ISR & RTC_ISR_ALRAF) { + __stm32wb_system_wakeup |= STM32WB_SYSTEM_WAKEUP_TIMEOUT; } } } @@ -471,6 +459,17 @@ void SystemInit(void) PWR->SCR = (PWR_SCR_CWUF5 | PWR_SCR_CWUF4 | PWR_SCR_CWUF3 | PWR_SCR_CWUF2 | PWR_SCR_CWUF1); PWR->EXTSCR = PWR_EXTSCR_C1CSSF; + if (RCC->BDCR & RCC_BDCR_RTCEN) + { + RTC->WPR = 0xca; + RTC->WPR = 0x53; + + RTC->BKP16R = ((RTC->BKP16R & ~(STM32WB_SYSTEM_RESET_FATAL | STM32WB_RTC_BKP16R_DFU | STM32WB_SYSTEM_RESET_OTA)) | + ((STM32WB_SYSTEM_RESET_FATAL | STM32WB_RTC_BKP16R_DFU | STM32WB_SYSTEM_RESET_OTA) << STM32WB_RTC_BKP16R_NOT_DATA_SHIFT)); + + RTC->WPR = 0x00; + } + if (__stm32wb_system_reset != STM32WB_SYSTEM_RESET_FATAL) { armv7m_core_fatal_info.signature = 0x00000000; @@ -480,13 +479,6 @@ void SystemInit(void) if (__stm32wb_system_reset == STM32WB_SYSTEM_RESET_DFU) { - RTC->WPR = 0xca; - RTC->WPR = 0x53; - - RTC->BKP16R = (RTC->BKP16R & ~STM32WB_RTC_BKP16R_DFU) | (STM32WB_RTC_BKP16R_DFU << STM32WB_RTC_BKP16R_NOT_DATA_SHIFT); - - RTC->WPR = 0x00; - SYSCFG->MEMRMP = SYSCFG_MEMRMP_MEM_MODE_0; FLASH->ACR = (flash_acr & ~(FLASH_ACR_ICEN | FLASH_ACR_DCEN)) | (FLASH_ACR_ICRST | FLASH_ACR_DCRST); @@ -657,87 +649,12 @@ void stm32wb_system_initialize(uint32_t sysclk, uint32_t hclk, uint32_t pclk1, u if (++count >= 200000) { hseclk = 0; + break; } } } } - - if (lseclk && hseclk) - { - uint32_t hsecalib, tc0, tc1; - - hsecalib = 0; - - RCC->CR |= RCC_CR_HSEPRE; - - RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSE; - - while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSE) - { - } - - RCC->APB2ENR |= RCC_APB2ENR_TIM16EN; - RCC->APB2ENR; - - TIM16->CR1 = TIM_CR1_URS; - TIM16->CR2 = 0; - TIM16->DIER = 0; - TIM16->PSC = 0; - TIM16->ARR = 0xffff; - TIM16->OR = TIM16_OR_TI1_RMP_1; /* Select LSE as TI1 */ - TIM16->EGR = TIM_EGR_UG; - TIM16->CR1 |= TIM_CR1_CEN; - - TIM16->CCER = 0; - TIM16->CCMR1 = TIM_CCMR1_CC1S_0 | TIM_CCMR1_IC1PSC_1 | TIM_CCMR1_IC1PSC_0; /* Count every 8th pulse */ - TIM16->CCER = TIM_CCER_CC1E; - - TIM16->SR = 0; - - while (!(TIM16->SR & TIM_SR_CC1IF)) - { - } - - TIM16->SR = 0; - - tc0 = TIM16->CCR1; - - for (count = 0; count < (1024 / 8); count++) - { - while (!(TIM16->SR & TIM_SR_CC1IF)) - { - } - - TIM16->SR = 0; - - tc1 = TIM16->CCR1; - - if (tc1 < tc0) - { - hsecalib += ((65536 + tc1) - tc0); - } - else - { - hsecalib += (tc1 - tc0); - } - - tc0 = tc1; - } - - RCC->APB2ENR &= ~RCC_APB2ENR_TIM16EN; - RCC->APB2ENR; - - RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSI; - - while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI) - { - } - - RCC->CR &= ~RCC_CR_HSEPRE; - - stm32wb_system_device.hsecalib = hsecalib * 64; - } RCC->CR &= ~RCC_CR_HSEON; } @@ -933,7 +850,7 @@ static void stm32wb_system_sysclk_ext_compute(uint32_t sysclk, uint32_t hclk, ui if (stm32wb_system_device.reference & STM32WB_SYSTEM_REFERENCE_WIRELESS) { hclk2 = 32000000; } else if (stm32wb_system_device.reference & STM32WB_SYSTEM_REFERENCE_CPU2) { hclk2 = 16000000; } - else { hclk2 = 2000000; } + else { hclk2 = 0; } if (hclk2 >= (sysclk / 1)) { hclk2 = sysclk / 1; c2hpre = RCC_EXTCFGR_C2HPRE_DIV1; } else if (hclk2 >= (sysclk / 2)) { hclk2 = sysclk / 2; c2hpre = RCC_EXTCFGR_C2HPRE_DIV2; } @@ -980,37 +897,36 @@ static void stm32wb_system_sysclk_ext_compute(uint32_t sysclk, uint32_t hclk, ui static void stm32wb_system_sysclk_ext_configure(uint32_t sysclk, uint32_t hclk) { - uint32_t latency, c2hpre, shdhpre; + uint32_t primask, latency, c2hpre, shdhpre; stm32wb_system_sysclk_ext_compute(sysclk, hclk, &latency, &c2hpre, &shdhpre); - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE)) - { - } - - FLASH->ACR = FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE); - + primask = __get_PRIMASK(); + + __disable_irq(); + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) { + __set_PRIMASK(primask); + + __disable_irq(); } + FLASH->ACR = FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; + FLASH->ACR; + RCC->EXTCFGR = (RCC->EXTCFGR & ~(RCC_EXTCFGR_SHDHPRE | RCC_EXTCFGR_C2HPRE | RCC_EXTCFGR_SHDHPREF | RCC_EXTCFGR_C2HPREF)) | shdhpre | c2hpre; while ((RCC->EXTCFGR & (RCC_EXTCFGR_SHDHPREF | RCC_EXTCFGR_C2HPREF)) != (RCC_EXTCFGR_SHDHPREF | RCC_EXTCFGR_C2HPREF)) { } - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); - - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE)) - { - } - + FLASH->ACR = FLASH_ACR_ICEN | FLASH_ACR_DCEN | latency; + FLASH->ACR; - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE); + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); stm32wb_system_device.latency = latency; stm32wb_system_device.c2hpre = c2hpre; @@ -1018,7 +934,7 @@ static void stm32wb_system_sysclk_ext_configure(uint32_t sysclk, uint32_t hclk) static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk, uint32_t pclk1, uint32_t pclk2) { - uint32_t tclk, primask, pllcfg, msirange, hpre, ppre1, ppre2, c2hpre, shdhpre, latency, smpsvos; + uint32_t primask, pllcfg, msirange, hpre, ppre1, ppre2, c2hpre, shdhpre, latency, smpsvos; bool hse, pllsys, smps; if (!sysclk) @@ -1034,8 +950,7 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk if (sysclk >= 64000000) { - sysclk = tclk = 64000000; - tclk = 2 * stm32wb_system_device.hsecalib; + sysclk = 64000000; msirange = RCC_CR_MSIRANGE_8; @@ -1045,8 +960,7 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk } else { - sysclk = tclk = 32000000; - tclk = stm32wb_system_device.hsecalib; + sysclk = 32000000; msirange = RCC_CR_MSIRANGE_10; @@ -1064,7 +978,6 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk if (sysclk >= 64000000) { sysclk = 64000000; - tclk = 4 * (488 * 32768); msirange = RCC_CR_MSIRANGE_8; @@ -1074,24 +987,24 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk } else { - if (sysclk >= 32000000) { sysclk = 32000000; tclk = 977 * 32768; msirange = RCC_CR_MSIRANGE_10; pllcfg = (((8-1) << RCC_PLLCFGR_PLLM_Pos) | RCC_PLLCFGR_PLLSRC_MSI); } - else if (sysclk >= 16000000) { sysclk = 16000000; tclk = 488 * 32768; msirange = RCC_CR_MSIRANGE_8; pllcfg = (((4-1) << RCC_PLLCFGR_PLLM_Pos) | RCC_PLLCFGR_PLLSRC_MSI); } - else { sysclk = 2000000; tclk = 61 * 32768; msirange = RCC_CR_MSIRANGE_5; pllcfg = RCC_PLLCFGR_PLLSRC_NONE; } + if (sysclk >= 32000000) { sysclk = 32000000; msirange = RCC_CR_MSIRANGE_10; pllcfg = (((8-1) << RCC_PLLCFGR_PLLM_Pos) | RCC_PLLCFGR_PLLSRC_MSI); } + else if (sysclk >= 16000000) { sysclk = 16000000; msirange = RCC_CR_MSIRANGE_8; pllcfg = (((4-1) << RCC_PLLCFGR_PLLM_Pos) | RCC_PLLCFGR_PLLSRC_MSI); } + else { sysclk = 2000000; msirange = RCC_CR_MSIRANGE_5; pllcfg = RCC_PLLCFGR_PLLSRC_NONE; } pllsys = false; } } - if (hclk >= (sysclk / 1)) { hclk = sysclk / 1; tclk = tclk / 1; hpre = RCC_CFGR_HPRE_DIV1; } - else if (hclk >= (sysclk / 2)) { hclk = sysclk / 2; tclk = tclk / 2; hpre = RCC_CFGR_HPRE_DIV2; } - else if (hclk >= (sysclk / 4)) { hclk = sysclk / 4; tclk = tclk / 4; hpre = RCC_CFGR_HPRE_DIV4; } - else if (hclk >= (sysclk / 8)) { hclk = sysclk / 8; tclk = tclk / 8; hpre = RCC_CFGR_HPRE_DIV8; } - else if (hclk >= (sysclk / 16)) { hclk = sysclk / 16; tclk = tclk / 16; hpre = RCC_CFGR_HPRE_DIV16; } - else if (hclk >= (sysclk / 32)) { hclk = sysclk / 32; tclk = tclk / 32; hpre = RCC_CFGR_HPRE_DIV32; } - else if (hclk >= (sysclk / 64)) { hclk = sysclk / 64; tclk = tclk / 64; hpre = RCC_CFGR_HPRE_DIV64; } - else if (hclk >= (sysclk / 128)) { hclk = sysclk / 128; tclk = tclk / 128; hpre = RCC_CFGR_HPRE_DIV128; } - else if (hclk >= (sysclk / 256)) { hclk = sysclk / 256; tclk = tclk / 256; hpre = RCC_CFGR_HPRE_DIV256; } - else { hclk = sysclk / 512; tclk = tclk / 512; hpre = RCC_CFGR_HPRE_DIV512; } + if (hclk >= (sysclk / 1)) { hclk = sysclk / 1; hpre = RCC_CFGR_HPRE_DIV1; } + else if (hclk >= (sysclk / 2)) { hclk = sysclk / 2; hpre = RCC_CFGR_HPRE_DIV2; } + else if (hclk >= (sysclk / 4)) { hclk = sysclk / 4; hpre = RCC_CFGR_HPRE_DIV4; } + else if (hclk >= (sysclk / 8)) { hclk = sysclk / 8; hpre = RCC_CFGR_HPRE_DIV8; } + else if (hclk >= (sysclk / 16)) { hclk = sysclk / 16; hpre = RCC_CFGR_HPRE_DIV16; } + else if (hclk >= (sysclk / 32)) { hclk = sysclk / 32; hpre = RCC_CFGR_HPRE_DIV32; } + else if (hclk >= (sysclk / 64)) { hclk = sysclk / 64; hpre = RCC_CFGR_HPRE_DIV64; } + else if (hclk >= (sysclk / 128)) { hclk = sysclk / 128; hpre = RCC_CFGR_HPRE_DIV128; } + else if (hclk >= (sysclk / 256)) { hclk = sysclk / 256; hpre = RCC_CFGR_HPRE_DIV256; } + else { hclk = sysclk / 512; hpre = RCC_CFGR_HPRE_DIV512; } if (pclk1) { @@ -1211,22 +1124,12 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk PWR->CR5 = (PWR->CR5 & ~(PWR_CR5_SMPSEN | PWR_CR5_BORHC | PWR_CR5_SMPSVOS)) | (8 << PWR_CR5_SMPSVOS_Pos); } - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE)) + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) { } FLASH->ACR = FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE); - - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) - { - } - - if (stm32wb_system_device.smps && !smps) - { - PWR->CR5 = (PWR->CR5 & ~(PWR_CR5_SMPSEN | PWR_CR5_BORHC | PWR_CR5_SMPSVOS)) | (8 << PWR_CR5_SMPSVOS_Pos); - } + FLASH->ACR; if (stm32wb_system_device.sysclk != sysclk) { @@ -1244,7 +1147,7 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk if (stm32wb_system_device.pllsys) { - if (!(RCC->CR & RCC_CR_HSION)) + if (!stm32wb_system_device.hsi16) { RCC->CR |= RCC_CR_HSION; @@ -1260,10 +1163,7 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk } RCC->CR &= ~RCC_CR_PLLON; - - while (RCC->CR & RCC_CR_PLLRDY) - { - } + RCC->CR; } if (hse) @@ -1271,10 +1171,16 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk if (!stm32wb_system_device.hse) { RCC->CR |= RCC_CR_HSEON; + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); while (!(RCC->CR & RCC_CR_HSERDY)) { } + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + } } RCC->SMPSCR = (RCC->SMPSCR & ~RCC_SMPSCR_SMPSSEL) | RCC_SMPSCR_SMPSSEL_HSE; @@ -1288,6 +1194,9 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk else { RCC->CR = (RCC->CR & ~(RCC_CR_MSIRANGE | RCC_CR_MSIPLLEN)) | msirange | RCC_CR_MSION; + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + __DSB(); __NOP(); __NOP(); @@ -1309,6 +1218,10 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk while (!(RCC->CR & RCC_CR_MSIRDY)) { } + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + } if (stm32wb_system_device.lseclk) { @@ -1319,7 +1232,7 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk /* Here HSI16 is selected as wakeup clock to allow CSS at some point. */ - + /* HSI16 is wakeup clock */ RCC->CFGR |= RCC_CFGR_STOPWUCK; @@ -1332,11 +1245,17 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk if (pllsys) { RCC->CR |= RCC_CR_PLLON; + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); while (!(RCC->CR & RCC_CR_PLLRDY)) { } - + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + } + RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL; while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) @@ -1390,16 +1309,11 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk { RCC->CR &= ~RCC_CR_HSEON; } - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); - - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE)) - { - } FLASH->ACR = FLASH_ACR_ICEN | FLASH_ACR_DCEN | latency; - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_FLASH, STM32WB_HSEM_PROCID_NONE); + FLASH->ACR; + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); if (smps) { @@ -1435,7 +1349,7 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk stm32wb_system_device.c2hpre = c2hpre; armv7m_core_configure(); - armv7m_systick_configure(tclk); + armv7m_systick_configure(); armv7m_systick_enable(); @@ -1446,6 +1360,30 @@ static bool __svc_stm32wb_system_sysclk_configure(uint32_t sysclk, uint32_t hclk return true; } +static void stm32wb_system_lsi_enable(void) +{ + stm32wb_system_device.lsi++; + + if (stm32wb_system_device.lsi == 1) + { + RCC->CSR |= RCC_CSR_LSI1ON; + + while (!(RCC->CSR & RCC_CSR_LSI1RDY)) + { + } + } +} + +static void stm32wb_system_lsi_disable(void) +{ + if (stm32wb_system_device.lsi == 1) + { + RCC->CSR &= ~RCC_CSR_LSI1ON; + } + + stm32wb_system_device.lsi--; +} + static void stm32wb_system_voltage_increase(void) { /* Leave LPrun */ @@ -1495,6 +1433,19 @@ static void stm32wb_system_voltage_decrease(void) static void stm32wb_system_wireless_enter(void) { + uint32_t primask; + + primask = __get_PRIMASK(); + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); + + __disable_irq(); + } + RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSE; while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSE) @@ -1504,18 +1455,28 @@ static void stm32wb_system_wireless_enter(void) if (stm32wb_system_device.pllsys) { RCC->CR &= ~RCC_CR_PLLON; - - while (RCC->CR & RCC_CR_PLLRDY) - { - } + RCC->CR; RCC->PLLCFGR = ((1 << RCC_PLLCFGR_PLLR_Pos) | (64000000 / (4000000 / 2)) << RCC_PLLCFGR_PLLN_Pos) | (((8-1) << RCC_PLLCFGR_PLLM_Pos) | RCC_PLLCFGR_PLLREN | RCC_PLLCFGR_PLLSRC_HSE); RCC->CR |= RCC_CR_PLLON; + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); while (!(RCC->CR & RCC_CR_PLLRDY)) { } + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); + + __disable_irq(); + } RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL; @@ -1536,11 +1497,33 @@ static void stm32wb_system_wireless_enter(void) { RCC->CR &= ~(RCC_CR_MSIPLLEN | RCC_CR_MSION); } + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); } static void stm32wb_system_wireless_leave(void) { + uint32_t primask; + + primask = __get_PRIMASK(); + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); + + __disable_irq(); + } + RCC->CR = (RCC->CR & ~(RCC_CR_MSIRANGE | RCC_CR_MSIPLLEN)) | stm32wb_system_device.msirange | RCC_CR_MSION; + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); + __DSB(); __NOP(); __NOP(); @@ -1562,6 +1545,15 @@ static void stm32wb_system_wireless_leave(void) while (!(RCC->CR & RCC_CR_MSIRDY)) { } + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); + + __disable_irq(); + } if (stm32wb_system_device.lseclk) { @@ -1577,18 +1569,28 @@ static void stm32wb_system_wireless_leave(void) if (stm32wb_system_device.pllsys) { RCC->CR &= ~RCC_CR_PLLON; - - while (RCC->CR & RCC_CR_PLLRDY) - { - } + RCC->CR; RCC->PLLCFGR = ((1 << RCC_PLLCFGR_PLLR_Pos) | (64000000 / (4000000 / 2)) << RCC_PLLCFGR_PLLN_Pos) | (((4-1) << RCC_PLLCFGR_PLLM_Pos) | RCC_PLLCFGR_PLLREN | RCC_PLLCFGR_PLLSRC_MSI); RCC->CR |= RCC_CR_PLLON; - + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); + while (!(RCC->CR & RCC_CR_PLLRDY)) { } + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); + + __disable_irq(); + } RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL; @@ -1610,130 +1612,150 @@ static void stm32wb_system_wireless_leave(void) { RCC->CR &= ~RCC_CR_HSEON; } + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); } static bool __svc_stm32wb_system_saiclk_configure(uint32_t saiclk) { - uint32_t reference, pllcfg; + uint32_t primask, reference, pllcfg; - if (stm32wb_system_device.saiclk != saiclk) + reference = 0; + pllcfg = 0; + + if (saiclk != STM32WB_SYSTEM_SAICLK_NONE) { - stm32wb_system_unreference(STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_1 | STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_2); - - if (saiclk != STM32WB_SYSTEM_SAICLK_NONE) + if (stm32wb_system_device.sysclk <= STM32WB_SYSTEM_FREQUENCY_RANGE_2) { - if (stm32wb_system_device.sysclk <= STM32WB_SYSTEM_FREQUENCY_RANGE_2) - { - /* 4MHz PLL input */ - switch (saiclk) { - case STM32WB_SYSTEM_SAICLK_11289600: - reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_2; - pllcfg = (((11 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (31 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); - break; - - case STM32WB_SYSTEM_SAICLK_24576000: - reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_2; - pllcfg = (((5 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (31 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); - break; - - default: - return false; - } + /* 4MHz PLL input */ + switch (saiclk) { + case STM32WB_SYSTEM_SAICLK_11289600: + reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_2; + pllcfg = (((11 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (31 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); + break; + + case STM32WB_SYSTEM_SAICLK_24576000: + reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_2; + pllcfg = (((5 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (31 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); + break; + + default: + return false; } - else - { - /* 4MHz PLL input */ - switch (saiclk) { - case STM32WB_SYSTEM_SAICLK_11289600: - reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_1; - pllcfg = (((17 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (48 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); - break; + } + else + { + /* 4MHz PLL input */ + switch (saiclk) { + case STM32WB_SYSTEM_SAICLK_11289600: + reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_1; + pllcfg = (((17 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (48 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); + break; - case STM32WB_SYSTEM_SAICLK_24576000: - reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_1; - pllcfg = (((7 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (43 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); - break; + case STM32WB_SYSTEM_SAICLK_24576000: + reference = STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_1; + pllcfg = (((7 -1) << RCC_PLLSAI1CFGR_PLLP_Pos) | (43 << RCC_PLLSAI1CFGR_PLLN_Pos) | RCC_PLLSAI1CFGR_PLLPEN); + break; - default: - return false; - } + default: + return false; } + } - stm32wb_system_reference(reference); + } - if (stm32wb_system_device.saiclk < saiclk) - { - stm32wb_system_voltage_increase(); - } + stm32wb_system_unreference(STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_1 | STM32WB_SYSTEM_REFERENCE_SAICLK_RANGE_2); + + if (reference) + { + stm32wb_system_reference(reference); + } + + primask = __get_PRIMASK(); - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) - { - } + __disable_irq(); - RCC->CR &= ~RCC_CR_PLLSAI1ON; - - while (RCC->CR & RCC_CR_PLLSAI1RDY) - { - } - - RCC->PLLSAI1CFGR = pllcfg; - - RCC->CR |= RCC_CR_PLLSAI1ON; + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); - while (!(RCC->CR & RCC_CR_PLLSAI1RDY)) - { - } - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + __disable_irq(); + } + + RCC->CR &= ~RCC_CR_PLLSAI1ON; + RCC->CR; + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); + + if (stm32wb_system_device.reference & STM32WB_SYSTEM_REFERENCE_WIRELESS) + { + if (stm32wb_system_device.msi & 0x80) + { + stm32wb_system_wireless_enter(); + } + } + else + { + if (stm32wb_system_device.hse & 0x80) + { + stm32wb_system_wireless_leave(); + } + } - if (stm32wb_system_device.saiclk > saiclk) - { - stm32wb_system_voltage_decrease(); - } + if (saiclk != STM32WB_SYSTEM_SAICLK_NONE) + { + if (stm32wb_system_device.saiclk < saiclk) + { + stm32wb_system_voltage_increase(); } - else + + primask = __get_PRIMASK(); + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) { - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) - { - } + __set_PRIMASK(primask); + + __disable_irq(); + } - RCC->CR &= ~RCC_CR_PLLSAI1ON; + RCC->PLLSAI1CFGR = pllcfg; - while (RCC->CR & RCC_CR_PLLSAI1RDY) - { - } + RCC->CR |= RCC_CR_PLLSAI1ON; - if (stm32wb_system_device.reference & STM32WB_SYSTEM_REFERENCE_WIRELESS) - { - if (stm32wb_system_device.msi & 0x80) - { - stm32wb_system_wireless_enter(); - } - } - else - { - if (stm32wb_system_device.hse & 0x80) - { - stm32wb_system_wireless_leave(); - } - } + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + while (!(RCC->CR & RCC_CR_PLLSAI1RDY)) + { + } + if (stm32wb_system_device.saiclk > saiclk) + { stm32wb_system_voltage_decrease(); } - - stm32wb_system_device.saiclk = saiclk; } + else + { + stm32wb_system_voltage_decrease(); + } + + stm32wb_system_device.saiclk = saiclk; return true; } static bool __svc_stm32wb_system_mco_configure(uint32_t mco) { - uint32_t mcosel, mcopre; + uint32_t primask, mcosel, mcopre; - switch (stm32wb_system_device.mco & STM32WB_SYSTEM_MCO_SOURCE_MASK) { + switch (mco & STM32WB_SYSTEM_MCO_SOURCE_MASK) { case STM32WB_SYSTEM_MCO_SOURCE_NONE: case STM32WB_SYSTEM_MCO_SOURCE_SYSCLK: case STM32WB_SYSTEM_MCO_SOURCE_MSI: @@ -1744,17 +1766,35 @@ static bool __svc_stm32wb_system_mco_configure(uint32_t mco) break; case STM32WB_SYSTEM_MCO_SOURCE_LSI: - stm32wb_system_lsi_disable(); + stm32wb_system_lsi_enable(); break; case STM32WB_SYSTEM_MCO_SOURCE_HSI16: - stm32wb_system_hsi16_disable(); + stm32wb_system_hsi16_enable(); break; } + + mcosel = (mco & STM32WB_SYSTEM_MCO_SOURCE_MASK) >> STM32WB_SYSTEM_MCO_SOURCE_SHIFT; + mcopre = (mco & STM32WB_SYSTEM_MCO_DIVIDE_MASK) >> STM32WB_SYSTEM_MCO_DIVIDE_SHIFT; + + primask = __get_PRIMASK(); + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); + + __disable_irq(); + } + + RCC->CFGR = (RCC->CFGR & ~(RCC_CFGR_MCOSEL | RCC_CFGR_MCOPRE)) | (((mcosel << RCC_CFGR_MCOSEL_Pos) | (mcopre << RCC_CFGR_MCOPRE_Pos))); + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); - stm32wb_system_device.mco = mco; - - switch (mco & STM32WB_SYSTEM_MCO_SOURCE_MASK) { + switch (stm32wb_system_device.mco & STM32WB_SYSTEM_MCO_SOURCE_MASK) { case STM32WB_SYSTEM_MCO_SOURCE_NONE: case STM32WB_SYSTEM_MCO_SOURCE_SYSCLK: case STM32WB_SYSTEM_MCO_SOURCE_MSI: @@ -1765,24 +1805,15 @@ static bool __svc_stm32wb_system_mco_configure(uint32_t mco) break; case STM32WB_SYSTEM_MCO_SOURCE_LSI: - stm32wb_system_lsi_enable(); + stm32wb_system_lsi_disable(); break; case STM32WB_SYSTEM_MCO_SOURCE_HSI16: - stm32wb_system_hsi16_enable(); + stm32wb_system_hsi16_disable(); break; } - - mcosel = (mco & STM32WB_SYSTEM_MCO_SOURCE_MASK) >> STM32WB_SYSTEM_MCO_SOURCE_SHIFT; - mcopre = (mco & STM32WB_SYSTEM_MCO_DIVIDE_MASK) >> STM32WB_SYSTEM_MCO_DIVIDE_SHIFT; - - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) - { - } - - RCC->CFGR = (RCC->CFGR & ~(RCC_CFGR_MCOSEL | RCC_CFGR_MCOPRE)) | (((mcosel << RCC_CFGR_MCOSEL_Pos) | (mcopre << RCC_CFGR_MCOPRE_Pos))); - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + stm32wb_system_device.mco = mco; return true; } @@ -1800,11 +1831,6 @@ static bool __svc_stm32wb_system_lsco_configure(uint32_t lsco) } else { - if (stm32wb_system_device.lsco == STM32WB_SYSTEM_LSCO_SOURCE_LSI) - { - stm32wb_system_lsi_disable(); - } - if (lsco == STM32WB_SYSTEM_LSCO_SOURCE_LSE) { RCC->BDCR = (RCC->BDCR & ~(RCC_BDCR_LSCOEN | RCC_BDCR_LSCOSEL)) | (RCC_BDCR_LSCOEN); @@ -1813,6 +1839,11 @@ static bool __svc_stm32wb_system_lsco_configure(uint32_t lsco) { RCC->BDCR = (RCC->BDCR & ~(RCC_BDCR_LSCOEN | RCC_BDCR_LSCOSEL)); } + + if (stm32wb_system_device.lsco == STM32WB_SYSTEM_LSCO_SOURCE_LSI) + { + stm32wb_system_lsi_disable(); + } } stm32wb_system_device.lsco = lsco; @@ -1860,13 +1891,14 @@ static bool __svc_stm32wb_system_cpu2_boot(void) PWR->C2CR1 &= ~PWR_C2CR1_LPMS; PWR->CR4 |= PWR_CR4_C2BOOT; + PWR->CR4; return true; } static bool __svc_stm32wb_system_wireless_enable(void) { - uint32_t smpsvos; + uint32_t primask, smpsvos; if (!stm32wb_system_device.lseclk || !stm32wb_system_device.hseclk || (stm32wb_system_device.sysclk < 32000000)) { @@ -1898,8 +1930,23 @@ static bool __svc_stm32wb_system_wireless_enable(void) if (!stm32wb_system_device.hse) { + primask = __get_PRIMASK(); + + __disable_irq(); + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + __set_PRIMASK(primask); + + __disable_irq(); + } + RCC->CR |= RCC_CR_HSEON; - + + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); + while (!(RCC->CR & RCC_CR_HSERDY)) { } @@ -1950,6 +1997,7 @@ static bool __svc_stm32wb_system_wireless_disable(void) static bool __svc_stm32wb_system_pvm1_enable(stm32wb_system_pvm1_callback_t callback, void *context) { armv7m_atomic_and(&EXTI->IMR1, ~EXTI_IMR1_IM31); + EXTI->PR1 = EXTI_PR1_PIF31; PWR->CR2 |= PWR_CR2_PVME1; @@ -1970,6 +2018,7 @@ static bool __svc_stm32wb_system_pvm1_enable(stm32wb_system_pvm1_callback_t call static bool __svc_stm32wb_system_pvm1_disable(void) { armv7m_atomic_and(&EXTI->IMR1, ~EXTI_IMR1_IM31); + EXTI->PR1 = EXTI_PR1_PIF31; PWR->CR2 &= ~PWR_CR2_PVME1; @@ -2211,63 +2260,64 @@ bool stm32wb_system_clk48_disable(void) return false; } -void stm32wb_system_lsi_enable(void) -{ - armv7m_atomic_incb(&stm32wb_system_device.lsi); - - if (!(stm32wb_system_device.lsi & 0x80)) - { - armv7m_atomic_or(&RCC->CSR, RCC_CSR_LSI1ON); - - while (!(RCC->CSR & RCC_CSR_LSI1RDY)) - { - } - } -} - -void stm32wb_system_lsi_disable(void) -{ - armv7m_atomic_decb(&stm32wb_system_device.lsi); - - if (!(stm32wb_system_device.lsi & 0x80)) - { - armv7m_atomic_andzb(&RCC->CSR, ~RCC_CSR_LSI1ON, &stm32wb_system_device.lsi); - } -} - void stm32wb_system_hsi16_enable(void) { - armv7m_atomic_incb(&stm32wb_system_device.hsi16); + uint32_t primask; + armv7m_atomic_incb(&stm32wb_system_device.hsi16); + if (!(stm32wb_system_device.hsi16 & 0x80)) { + primask = __get_PRIMASK(); + + __disable_irq(); + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) { + __set_PRIMASK(primask); + + __disable_irq(); } - armv7m_atomic_or(&RCC->CR, RCC_CR_HSION); + RCC->CR |= RCC_CR_HSION; + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); + while (!(RCC->CR & RCC_CR_HSIRDY)) { } - - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); } } void stm32wb_system_hsi16_disable(void) { - armv7m_atomic_decb(&stm32wb_system_device.hsi16); + uint32_t primask; + armv7m_atomic_incb(&stm32wb_system_device.hsi16); + if (!(stm32wb_system_device.hsi16 & 0x80)) { + primask = __get_PRIMASK(); + + __disable_irq(); + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) { + __set_PRIMASK(primask); + + __disable_irq(); } - armv7m_atomic_andzb(&RCC->CR, ~RCC_CR_HSION, &stm32wb_system_device.hsi16); - + if (!stm32wb_system_device.hsi16) + { + RCC->CR &= ~RCC_CR_HSION; + } + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + __set_PRIMASK(primask); } } @@ -2556,80 +2606,94 @@ void stm32wb_system_sleep(uint32_t policy) { } - do + if (stm32wb_system_device.reference & STM32WB_SYSTEM_REFERENCE_WIRELESS) { - if (stm32wb_system_device.reference & STM32WB_SYSTEM_REFERENCE_WIRELESS) - { - hsi16 = !stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_DEEPSLEEP, STM32WB_HSEM_PROCID_NONE); - } - else - { - hsi16 = true; - } + hsi16 = !stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_DEEPSLEEP, STM32WB_HSEM_PROCID_NONE); + } + else + { + hsi16 = true; + } - if (hsi16) + if (hsi16) + { + if ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI) { - if ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI) + if (!(RCC->CR & RCC_CR_HSION)) { - if (!stm32wb_system_device.hsi16) - { - RCC->CR |= RCC_CR_HSION; + RCC->CR |= RCC_CR_HSION; - while (!(RCC->CR & RCC_CR_HSIRDY)) - { - } + while (!(RCC->CR & RCC_CR_HSIRDY)) + { } + } - RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSI; + RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSI; - while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI) - { - } + while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI) + { + } - RCC->SMPSCR = (RCC->SMPSCR & ~RCC_SMPSCR_SMPSSEL) | RCC_SMPSCR_SMPSSEL_HSI; + RCC->SMPSCR = (RCC->SMPSCR & ~RCC_SMPSCR_SMPSSEL) | RCC_SMPSCR_SMPSSEL_HSI; - FLASH->ACR = FLASH->ACR & ~FLASH_ACR_LATENCY; - } + FLASH->ACR = FLASH->ACR & ~FLASH_ACR_LATENCY; } + } -#if 0 - if (stm32wb_system_device.msi) - { - RCC->CR &= ~RCC_CR_MSIPLLEN; - } -#endif + if (stm32wb_system_device.msi) + { + RCC->CR &= ~RCC_CR_MSIPLLEN; + } - if (lpms == PWR_CR1_LPMS_STOP0) - { - RCC->CR |= RCC_CR_HSIKERON; + if (lpms == PWR_CR1_LPMS_STOP0) + { + RCC->CR |= RCC_CR_HSIKERON; - while (!(RCC->CR & RCC_CR_HSIKERDY)) - { - } + while (!(RCC->CR & RCC_CR_HSIKERDY)) + { } + } - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); - __DSB(); - __WFI(); - __NOP(); - __NOP(); - __NOP(); - __NOP(); + __DSB(); + __WFI(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); - stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_DEEPSLEEP, STM32WB_HSEM_PROCID_NONE); + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_DEEPSLEEP, STM32WB_HSEM_PROCID_NONE); - while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) + { + } + + FLASH->ACR = (FLASH->ACR & ~FLASH_ACR_LATENCY) | stm32wb_system_device.latency; + + if (stm32wb_system_device.hse) + { + if (!(RCC->CR & RCC_CR_HSEON)) { + RCC->CR |= RCC_CR_HSEON; + + while (!(RCC->CR & RCC_CR_HSERDY)) + { + } } - PWR->EXTSCR = PWR_EXTSCR_C1CSSF; - - __stm32wb_lptim_timeout_stop_leave(); + if ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSE) + { + RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSE; + + while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSE) + { + } + } + + RCC->SMPSCR = (RCC->SMPSCR & ~RCC_SMPSCR_SMPSSEL) | RCC_SMPSCR_SMPSSEL_HSE; } - while (!(SCB->ICSR & SCB_ICSR_VECTPENDING_Msk)); - - if (stm32wb_system_device.msi) + else { if (!(RCC->CR & RCC_CR_MSION)) { @@ -2638,79 +2702,60 @@ void stm32wb_system_sleep(uint32_t policy) while (!(RCC->CR & RCC_CR_MSIRDY)) { } + } - if (stm32wb_system_device.lseclk) - { - RCC->CR |= RCC_CR_MSIPLLEN; - } + if (stm32wb_system_device.lseclk) + { + RCC->CR |= RCC_CR_MSIPLLEN; } - } - - if (stm32wb_system_device.hse) - { - if (!(RCC->CR & RCC_CR_HSEON)) + + if ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_MSI) { - RCC->CR |= RCC_CR_HSEON; - - while (!(RCC->CR & RCC_CR_HSERDY)) + RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_MSI; + + while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_MSI) { } } + + RCC->SMPSCR = (RCC->SMPSCR & ~RCC_SMPSCR_SMPSSEL) | RCC_SMPSCR_SMPSSEL_MSI; } - + if (stm32wb_system_device.pllsys) { RCC->CR |= RCC_CR_PLLON; - - while (!(RCC->CR & RCC_CR_PLLRDY)) - { - } } - if (stm32wb_system_device.hse) + stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + /* Give CM0+ a chance to deal with radio activity with the minimal HSE wakeup time. + */ + + if (stm32wb_system_device.pllsys) { - RCC->SMPSCR = (RCC->SMPSCR & ~RCC_SMPSCR_SMPSSEL) | RCC_SMPSCR_SMPSSEL_HSE; + while (!(RCC->CR & RCC_CR_PLLRDY)) + { + } } - else + + while (!stm32wb_hsem_trylock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE)) { - RCC->SMPSCR = (RCC->SMPSCR & ~RCC_SMPSCR_SMPSSEL) | RCC_SMPSCR_SMPSSEL_MSI; } - + RCC->EXTCFGR = (RCC->EXTCFGR & ~(RCC_EXTCFGR_C2HPRE | RCC_EXTCFGR_C2HPREF)) | stm32wb_system_device.c2hpre; - + while ((RCC->EXTCFGR & RCC_EXTCFGR_C2HPREF) != RCC_EXTCFGR_C2HPREF) { } - - FLASH->ACR = (FLASH->ACR & ~FLASH_ACR_LATENCY) | stm32wb_system_device.latency; - + if (stm32wb_system_device.pllsys) { RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL; - + while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) { } } - else - { - if (stm32wb_system_device.hse) - { - RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSE; - - while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSE) - { - } - } - else - { - RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_MSI; - - while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_MSI) - { - } - } - } if (lpms == PWR_CR1_LPMS_STOP0) { @@ -2723,6 +2768,8 @@ void stm32wb_system_sleep(uint32_t policy) } stm32wb_hsem_unlock(STM32WB_HSEM_INDEX_RCC, STM32WB_HSEM_PROCID_NONE); + + PWR->EXTSCR = PWR_EXTSCR_C1CSSF; } SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk; @@ -2835,7 +2882,7 @@ void stm32wb_system_standby(uint32_t wakeup, uint32_t timeout) stm32wb_system_notify(STM32WB_SYSTEM_NOTIFY_STANDBY); - stm32wb_rtc_standby_enter(timeout); + stm32wb_rtc_standby(timeout); stm32wb_system_halt(wakeup, false); } @@ -2937,6 +2984,7 @@ void PVD_PVM_IRQHandler(void) static void __empty() { } +void __stm32wb_dma_initialize(void) __attribute__ ((weak, alias("__empty"))); void __stm32wb_lptim_initialize(void) __attribute__ ((weak, alias("__empty"))); void __stm32wb_ipcc_initialize(void) __attribute__ ((weak, alias("__empty"))); @@ -2945,15 +2993,6 @@ void __stm32wb_eeprom_initialize(void) __attribute__ ((weak, alias("__empty"))); void __stm32wb_random_initialize(void) __attribute__ ((weak, alias("__empty"))); void __stm32wb_usbd_initialize(void) __attribute__ ((weak, alias("__empty"))); -void __attribute__ ((weak))USBD_DCD_HSEMHandler(void) -{ -} - -void __attribute__((weak)) RNG_HSEMHandler(void) -{ - USBD_DCD_HSEMHandler(); -} - static __attribute__((naked)) void Default_IRQHandler(void) { __asm__( diff --git a/system/STM32WBxx/Source/stm32wb_usbd.c b/system/STM32WBxx/Source/stm32wb_usbd.c index bd97e35..278ef42 100644 --- a/system/STM32WBxx/Source/stm32wb_usbd.c +++ b/system/STM32WBxx/Source/stm32wb_usbd.c @@ -164,12 +164,12 @@ static void stm32wb_usbd_vbus_changed(void) { if (!vbus_status_previous) { - stm32wb_lptim_timeout_relative(&stm32wb_usbd_control.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(40), (stm32wb_lptim_timeout_callback_t)stm32wb_usbd_vbus_timeout, NULL); + stm32wb_lptim_timeout_start(&stm32wb_usbd_control.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(40), (stm32wb_lptim_timeout_callback_t)stm32wb_usbd_vbus_timeout, NULL); } } else { - stm32wb_lptim_timeout_cancel(&stm32wb_usbd_control.timeout); + stm32wb_lptim_timeout_stop(&stm32wb_usbd_control.timeout); if (vbus_status_previous) { @@ -843,7 +843,7 @@ static void stm32wb_usbd_event_callback(void *context, uint32_t events) if (events & STM32WB_USBD_DCD_EVENT_EP0_SETUP) { - armv7m_atomic_load_2_restart((volatile uint32_t*)&stm32wb_usbd_control.ep0_setup, &(((uint32_t*)&stm32wb_usbd_control.ep0_request)[0]), &(((uint32_t*)&stm32wb_usbd_control.ep0_request)[1])); + __armv7m_atomic_load_2_restart((volatile uint32_t*)&stm32wb_usbd_control.ep0_setup, &(((uint32_t*)&stm32wb_usbd_control.ep0_request)[0]), &(((uint32_t*)&stm32wb_usbd_control.ep0_request)[1])); stm32wb_usbd_control.ep0_status_routine = NULL; stm32wb_usbd_control.ep0_out_data = stm32wb_usbd_control.info->ep0_data; @@ -1099,7 +1099,7 @@ static bool __svc_stm32wb_usbd_enable(stm32wb_usbd_event_callback_t callback, vo if (stm32wb_usbd_control.vbus_status) { - stm32wb_lptim_timeout_relative(&stm32wb_usbd_control.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(40), (stm32wb_lptim_timeout_callback_t)stm32wb_usbd_vbus_timeout, NULL); /* 40ms */ + stm32wb_lptim_timeout_start(&stm32wb_usbd_control.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(40), (stm32wb_lptim_timeout_callback_t)stm32wb_usbd_vbus_timeout, NULL); /* 40ms */ } } else diff --git a/system/STM32WBxx/Source/stm32wb_usbd_dcd.c b/system/STM32WBxx/Source/stm32wb_usbd_dcd.c index 685a18d..34ffc95 100644 --- a/system/STM32WBxx/Source/stm32wb_usbd_dcd.c +++ b/system/STM32WBxx/Source/stm32wb_usbd_dcd.c @@ -491,7 +491,7 @@ bool stm32wb_usbd_dcd_disconnect(void) } #if (STM32WB_USBD_DCD_REMOTE_WAKEUP_SUPPORTED == 1) - stm32wb_lptim_timeout_cancel(&stm32wb_usbd_dcd_device.timeout); + stm32wb_lptim_timeout_stop(&stm32wb_usbd_dcd_device.timeout); #endif /* STM32WB_USBD_DCD_REMOTE_WAKEUP_SUPPORTED == 1 */ NVIC_DisableIRQ(CRS_IRQn); @@ -655,7 +655,7 @@ static void stm32wb_usbd_dcd_wakeup_routine(void *context) stm32wb_usbd_dcd_device.unset_resume = 1; - stm32wb_lptim_timeout_relative(&stm32wb_usbd_dcd_device.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(5), stm32wb_usbd_dcd_wakeup_routine, NULL); + stm32wb_lptim_timeout_start(&stm32wb_usbd_dcd_device.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(5), stm32wb_usbd_dcd_wakeup_routine, NULL); } if (stm32wb_usbd_dcd_device.unset_resume) @@ -710,7 +710,7 @@ bool stm32wb_usbd_dcd_wakeup(void) stm32wb_usbd_dcd_device.set_resume = 1; stm32wb_usbd_dcd_device.unset_resume = 0; - stm32wb_lptim_timeout_relative(&stm32wb_usbd_dcd_device.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(2), stm32wb_usbd_dcd_wakeup_routine, NULL); + stm32wb_lptim_timeout_start(&stm32wb_usbd_dcd_device.timeout, STM32WB_LPTIM_TIMEOUT_MILLIS_TO_TICKS(2), stm32wb_usbd_dcd_wakeup_routine, NULL); } } @@ -2669,7 +2669,7 @@ static void __attribute__((optimize("O3"))) stm32wb_usbd_dcd_interrupt() } #if (STM32WB_USBD_DCD_REMOTE_WAKEUP_SUPPORTED == 1) - stm32wb_lptim_timeout_cancel(&stm32wb_usbd_dcd_device.timeout); + stm32wb_lptim_timeout_stop(&stm32wb_usbd_dcd_device.timeout); #endif /* STM32WB_USBD_DCD_REMOTE_WAKEUP_SUPPORTED == 1 */ events |= STM32WB_USBD_DCD_EVENT_RESET; diff --git a/system/STM32WBxx/Source/stm32wb_usbd_msc.c b/system/STM32WBxx/Source/stm32wb_usbd_msc.c index 8fd943b..2a4238e 100644 --- a/system/STM32WBxx/Source/stm32wb_usbd_msc.c +++ b/system/STM32WBxx/Source/stm32wb_usbd_msc.c @@ -28,7 +28,6 @@ #include "armv7m.h" -#include "rtos_api.h" #include "stm32wb_usbd.h" #include "stm32wb_usbd_dcd.h" #include "stm32wb_usbd_msc.h" @@ -251,8 +250,6 @@ typedef struct _stm32wb_usbd_msc_control_t { static stm32wb_usbd_msc_control_t stm32wb_usbd_msc_control; -static k_event_t stm32wb_usbd_msc_event = K_EVENT_INIT(); - static k_task_t stm32wb_usbd_msc_task; static __attribute__((aligned(8))) uint8_t stm32wb_usbd_msc_stack[1024]; @@ -1207,7 +1204,7 @@ static void SCSI_ProcessWrite(void) static void MSC_BOT_Event(uint32_t events) { - k_event_send(&stm32wb_usbd_msc_event, events); + k_event_send(&stm32wb_usbd_msc_task, events); } static __attribute__((noreturn)) void MSC_BOT_Routine(void *context) @@ -1216,7 +1213,7 @@ static __attribute__((noreturn)) void MSC_BOT_Routine(void *context) while (1) { - k_event_receive(&stm32wb_usbd_msc_event, ~0, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, &events); + k_event_receive(~0, (K_EVENT_ANY | K_EVENT_CLEAR), K_TIMEOUT_FOREVER, &events); if (events & MSC_BOT_EVENT_CONFIGURE) {