From ccd5ae694bb75cbad2016d6959901706b27d340b Mon Sep 17 00:00:00 2001 From: KubaPro010 Date: Thu, 8 Jan 2026 21:43:59 +0100 Subject: [PATCH] c with classes and also remove useless drivers in tft_espi --- include/TEF6686.h | 22 +- include/change_detector.h | 68 +- include/globals.h | 20 +- lib/TFT_eSPI/TFT_Drivers/GC9A01_Defines.h | 40 - lib/TFT_eSPI/TFT_Drivers/GC9A01_Init.h | 232 --- lib/TFT_eSPI/TFT_Drivers/GC9A01_Rotation.h | 56 - lib/TFT_eSPI/TFT_Drivers/HX8357B_Defines.h | 52 - lib/TFT_eSPI/TFT_Drivers/HX8357B_Init.h | 76 - lib/TFT_eSPI/TFT_Drivers/HX8357B_Rotation.h | 47 - lib/TFT_eSPI/TFT_Drivers/HX8357C_Defines.h | 52 - lib/TFT_eSPI/TFT_Drivers/HX8357C_Init.h | 116 -- lib/TFT_eSPI/TFT_Drivers/HX8357C_Rotation.h | 47 - lib/TFT_eSPI/TFT_Drivers/HX8357D_Defines.h | 96 - lib/TFT_eSPI/TFT_Drivers/HX8357D_Init.h | 118 -- lib/TFT_eSPI/TFT_Drivers/HX8357D_Rotation.h | 26 - lib/TFT_eSPI/TFT_Drivers/ILI9163_Defines.h | 65 - lib/TFT_eSPI/TFT_Drivers/ILI9163_Init.h | 41 - lib/TFT_eSPI/TFT_Drivers/ILI9163_Rotation.h | 44 - lib/TFT_eSPI/TFT_Drivers/ILI9225_Defines.h | 84 - lib/TFT_eSPI/TFT_Drivers/ILI9225_Init.h | 105 -- lib/TFT_eSPI/TFT_Drivers/ILI9225_Rotation.h | 39 - lib/TFT_eSPI/TFT_Drivers/ILI9486_Defines.h | 64 - lib/TFT_eSPI/TFT_Drivers/ILI9486_Init.h | 84 - lib/TFT_eSPI/TFT_Drivers/ILI9486_Rotation.h | 47 - lib/TFT_eSPI/TFT_Drivers/ILI9488_Defines.h | 42 - lib/TFT_eSPI/TFT_Drivers/ILI9488_Init.h | 99 - lib/TFT_eSPI/TFT_Drivers/ILI9488_Rotation.h | 27 - lib/TFT_eSPI/TFT_Drivers/R61581_Defines.h | 42 - lib/TFT_eSPI/TFT_Drivers/R61581_Init.h | 80 - lib/TFT_eSPI/TFT_Drivers/R61581_Rotation.h | 27 - lib/TFT_eSPI/TFT_Drivers/RM68120_Defines.h | 52 - lib/TFT_eSPI/TFT_Drivers/RM68120_Init.h | 269 --- lib/TFT_eSPI/TFT_Drivers/RM68120_Rotation.h | 29 - lib/TFT_eSPI/TFT_Drivers/RM68140_Defines.h | 42 - lib/TFT_eSPI/TFT_Drivers/RM68140_Init.h | 77 - lib/TFT_eSPI/TFT_Drivers/RM68140_Rotation.h | 44 - lib/TFT_eSPI/TFT_Drivers/S6D02A1_Defines.h | 58 - lib/TFT_eSPI/TFT_Drivers/S6D02A1_Init.h | 47 - lib/TFT_eSPI/TFT_Drivers/S6D02A1_Rotation.h | 28 - lib/TFT_eSPI/TFT_Drivers/SSD1351_Defines.h | 20 - lib/TFT_eSPI/TFT_Drivers/SSD1351_Init.h | 35 - lib/TFT_eSPI/TFT_Drivers/SSD1351_Rotation.h | 34 - lib/TFT_eSPI/TFT_Drivers/SSD1963_Defines.h | 59 - lib/TFT_eSPI/TFT_Drivers/SSD1963_Init.h | 398 ----- lib/TFT_eSPI/TFT_Drivers/SSD1963_Rotation.h | 29 - lib/TFT_eSPI/TFT_Drivers/ST7735_Defines.h | 179 -- lib/TFT_eSPI/TFT_Drivers/ST7735_Init.h | 218 --- lib/TFT_eSPI/TFT_Drivers/ST7735_Rotation.h | 132 -- lib/TFT_eSPI/TFT_Drivers/ST7789_2_Defines.h | 178 -- lib/TFT_eSPI/TFT_Drivers/ST7789_2_Init.h | 22 - lib/TFT_eSPI/TFT_Drivers/ST7789_2_Rotation.h | 140 -- lib/TFT_eSPI/TFT_Drivers/ST7789_Defines.h | 175 -- lib/TFT_eSPI/TFT_Drivers/ST7789_Init.h | 238 --- lib/TFT_eSPI/TFT_Drivers/ST7789_Rotation.h | 140 -- lib/TFT_eSPI/TFT_Drivers/ST7796_Defines.h | 107 -- lib/TFT_eSPI/TFT_Drivers/ST7796_Init.h | 107 -- lib/TFT_eSPI/TFT_Drivers/ST7796_Rotation.h | 78 - .../Create_font/Create_font.pde | 570 ------ .../Create_font/FontFiles/Final-Frontier28.h | 1588 ----------------- .../Create_font/data/Final-Frontier.ttf | Bin 19800 -> 0 bytes .../Screenshot_client/Screenshot_client.pde | 525 ------ lib/TFT_eSPI/Tools/bmp2array4bit/README.md | 26 - .../Tools/bmp2array4bit/bmp2array4bit.py | 251 --- lib/TFT_eSPI/Tools/bmp2array4bit/star.bmp | Bin 12986 -> 0 bytes lib/TFT_eSPI/User_Setup.h | 2 + lib/TFT_eSPI/User_Setup_Select.h | 263 +-- .../Setup100_RP2040_ILI9488_parallel.h | 54 - .../Setup101_RP2040_ILI9481_parallel.h | 54 - .../Setup102_RP2040_ILI9341_parallel.h | 54 - .../Setup103_RP2040_ILI9486_parallel.h | 54 - .../Setup104_RP2040_ST7796_parallel.h | 54 - .../Setup105_RP2040_ST7796_16bit_parallel.h | 60 - .../Setup106_RP2040_ILI9481_16bit_parallel.h | 77 - .../Setup107_RP2040_ILI9341_16bit_parallel.h | 65 - .../User_Setups/Setup108_RP2040_ST7735.h | 44 - .../User_Setups/Setup10_RPi_touch_ILI9486.h | 33 - .../User_Setups/Setup11_RPi_touch_ILI9486.h | 32 - .../User_Setups/Setup12_M5Stack_Basic_Core.h | 33 - lib/TFT_eSPI/User_Setups/Setup135_ST7789.h | 57 - .../User_Setups/Setup136_LilyGo_TTV.h | 35 - .../Setup137_LilyGo_TDisplay_RP2040.h | 33 - ...etup138_Pico_Explorer_Base_RP2040_ST7789.h | 32 - .../User_Setups/Setup13_ILI9481_Parallel.h | 36 - .../User_Setups/Setup14_ILI9341_Parallel.h | 36 - lib/TFT_eSPI/User_Setups/Setup15_HX8357D.h | 36 - .../User_Setups/Setup16_ILI9488_Parallel.h | 36 - lib/TFT_eSPI/User_Setups/Setup17_ePaper.h | 16 - lib/TFT_eSPI/User_Setups/Setup18_ST7789.h | 45 - .../User_Setups/Setup19_RM68140_Parallel.h | 36 - lib/TFT_eSPI/User_Setups/Setup200_GC9A01.h | 32 - lib/TFT_eSPI/User_Setups/Setup201_WT32_SC01.h | 49 - .../User_Setups/Setup202_SSD1351_128.h | 52 - lib/TFT_eSPI/User_Setups/Setup203_ST7789.h | 57 - .../User_Setups/Setup204_ESP32_TouchDown.h | 32 - .../User_Setups/Setup205_ESP32_TouchDown_S3.h | 36 - .../Setup206_LilyGo_T_Display_S3.h | 47 - .../User_Setups/Setup207_LilyGo_T_HMI.h | 48 - .../User_Setups/Setup209_LilyGo_T_Dongle_S3.h | 52 - lib/TFT_eSPI/User_Setups/Setup20_ILI9488.h | 33 - .../User_Setups/Setup210_LilyGo_T_Embed_S3.h | 43 - .../User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h | 45 - .../User_Setups/Setup212_LilyGo_T_PicoPro.h | 45 - .../Setup213_LilyGo_T_Beam_Shield.h | 36 - lib/TFT_eSPI/User_Setups/Setup21_ILI9488.h | 35 - lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4.h | 36 - .../User_Setups/Setup22_TTGO_T4_v1.3.h | 34 - lib/TFT_eSPI/User_Setups/Setup23_TTGO_TM.h | 43 - lib/TFT_eSPI/User_Setups/Setup24_ST7789.h | 55 - .../User_Setups/Setup250_ESP32_S3_Box_Lite.h | 32 - .../User_Setups/Setup251_ESP32_S3_Box.h | 28 - .../User_Setups/Setup25_TTGO_T_Display.h | 40 - .../User_Setups/Setup26_TTGO_T_Wristband.h | 37 - .../User_Setups/Setup27_RPi_ST7796_ESP32.h | 102 -- .../User_Setups/Setup28_RPi_ST7796_ESP8266.h | 106 -- lib/TFT_eSPI/User_Setups/Setup2_ST7735.h | 45 - .../User_Setups/Setup301_BW16_ST7735.h | 47 - .../Setup302_Waveshare_ESP32S3_GC9A01.h | 33 - .../Setup31_ST7796_Parallel_STM32.h | 52 - .../User_Setups/Setup33_RPi_ILI9486_STM32.h | 67 - .../Setup34_ILI9481_Parallel_STM32.h | 51 - .../User_Setups/Setup36_RPi_touch_ST7796.h | 32 - lib/TFT_eSPI/User_Setups/Setup3_ILI9163.h | 37 - lib/TFT_eSPI/User_Setups/Setup43_ST7735.h | 52 - .../User_Setups/Setup44_TTGO_CameraPlus.h | 32 - .../User_Setups/Setup45_TTGO_T_Watch.h | 32 - .../User_Setups/Setup46_GC9A01_ESP32.h | 29 - lib/TFT_eSPI/User_Setups/Setup47_ST7735.h | 52 - lib/TFT_eSPI/User_Setups/Setup4_S6D02A1.h | 33 - .../User_Setups/Setup50_SSD1963_Parallel.h | 95 - .../User_Setups/Setup51_LilyPi_ILI9481.h | 27 - .../User_Setups/Setup52_LilyPi_ST7796.h | 28 - lib/TFT_eSPI/User_Setups/Setup5_RPi_ILI9486.h | 30 - .../User_Setups/Setup60_RP2040_ILI9341.h | 187 -- .../User_Setups/Setup60_RP2040_RPI_MHS.h | 29 - .../Setup61_RP2040_ILI9341_PIO_SPI.h | 44 - .../Setup62_RP2040_Nano_Connect_ILI9341.h | 198 -- .../User_Setups/Setup66_Seeed_XIAO_Round.h | 29 - .../User_Setups/Setup6_RPi_Wr_ILI9486.h | 32 - .../User_Setups/Setup70_ESP32_S2_ILI9341.h | 37 - .../User_Setups/Setup70b_ESP32_S3_ILI9341.h | 37 - .../User_Setups/Setup70c_ESP32_C3_ILI9341.h | 56 - .../Setup70d_ILI9488_S3_Parallel.h | 36 - .../User_Setups/Setup70f_ESP32_S2_ST7735.h | 44 - .../User_Setups/Setup70h_ESP32_S3_GC9A01.h | 31 - .../User_Setups/Setup71_ESP32_S2_ST7789.h | 29 - .../Setup72_ESP32_ST7789_172x320.h | 31 - .../User_Setups/Setup7_ST7735_128x128.h | 45 - .../User_Setups/Setup8_ILI9163_128x128.h | 36 - .../User_Setups/Setup9_ST7735_Overlap.h | 56 - lib/TFT_eSPI/User_Setups/SetupX_Template.h | 366 ---- lib/TFT_eSPI/docs/ESP-IDF/Using ESP-IDF.txt | 70 - .../ESP32 UNO board mod.jpg | Bin 138373 -> 0 bytes .../ESP32 UNO board pinout.jpg | Bin 129500 -> 0 bytes .../docs/PlatformIO/Configuring options.txt | 52 - lib/TFT_eSPI/docs/PlatformIO/rp2040.txt | 63 - .../RPi_TFT_Connections.png | Bin 390583 -> 0 bytes .../docs/RPi_TFT_connections/RPi_TFT_mod.png | Bin 16035 -> 0 bytes src/TEF6686.cpp | 530 +++--- src/comms.cpp | 19 +- src/globals.cpp | 20 +- src/gui.cpp | 9 +- src/logbook.cpp | 10 +- src/rds.cpp | 54 +- 163 files changed, 387 insertions(+), 12822 deletions(-) delete mode 100644 lib/TFT_eSPI/TFT_Drivers/GC9A01_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/GC9A01_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/GC9A01_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357B_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357B_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357B_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357C_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357C_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357C_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357D_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357D_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/HX8357D_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9163_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9163_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9163_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9225_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9225_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9225_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9486_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9486_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9486_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9488_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9488_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ILI9488_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/R61581_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/R61581_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/R61581_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/RM68120_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/RM68120_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/RM68120_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/RM68140_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/RM68140_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/RM68140_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/S6D02A1_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/S6D02A1_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/S6D02A1_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/SSD1351_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/SSD1351_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/SSD1351_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/SSD1963_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/SSD1963_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/SSD1963_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7735_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7735_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7735_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7789_2_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7789_2_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7789_2_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7789_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7789_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7789_Rotation.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7796_Defines.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7796_Init.h delete mode 100644 lib/TFT_eSPI/TFT_Drivers/ST7796_Rotation.h delete mode 100644 lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/Create_font.pde delete mode 100644 lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/FontFiles/Final-Frontier28.h delete mode 100644 lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/data/Final-Frontier.ttf delete mode 100644 lib/TFT_eSPI/Tools/Screenshot_client/Screenshot_client.pde delete mode 100644 lib/TFT_eSPI/Tools/bmp2array4bit/README.md delete mode 100644 lib/TFT_eSPI/Tools/bmp2array4bit/bmp2array4bit.py delete mode 100644 lib/TFT_eSPI/Tools/bmp2array4bit/star.bmp delete mode 100644 lib/TFT_eSPI/User_Setups/Setup100_RP2040_ILI9488_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup101_RP2040_ILI9481_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup102_RP2040_ILI9341_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup103_RP2040_ILI9486_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup104_RP2040_ST7796_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup105_RP2040_ST7796_16bit_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup106_RP2040_ILI9481_16bit_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup107_RP2040_ILI9341_16bit_parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup108_RP2040_ST7735.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup10_RPi_touch_ILI9486.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup11_RPi_touch_ILI9486.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup12_M5Stack_Basic_Core.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup135_ST7789.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup136_LilyGo_TTV.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup137_LilyGo_TDisplay_RP2040.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup138_Pico_Explorer_Base_RP2040_ST7789.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup13_ILI9481_Parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup14_ILI9341_Parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup15_HX8357D.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup16_ILI9488_Parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup17_ePaper.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup18_ST7789.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup19_RM68140_Parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup200_GC9A01.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup201_WT32_SC01.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup202_SSD1351_128.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup203_ST7789.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup204_ESP32_TouchDown.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup205_ESP32_TouchDown_S3.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup206_LilyGo_T_Display_S3.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup207_LilyGo_T_HMI.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup209_LilyGo_T_Dongle_S3.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup20_ILI9488.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup210_LilyGo_T_Embed_S3.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup212_LilyGo_T_PicoPro.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup213_LilyGo_T_Beam_Shield.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup21_ILI9488.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4_v1.3.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup23_TTGO_TM.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup24_ST7789.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup250_ESP32_S3_Box_Lite.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup251_ESP32_S3_Box.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup25_TTGO_T_Display.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup26_TTGO_T_Wristband.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup27_RPi_ST7796_ESP32.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup28_RPi_ST7796_ESP8266.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup2_ST7735.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup301_BW16_ST7735.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup302_Waveshare_ESP32S3_GC9A01.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup31_ST7796_Parallel_STM32.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup33_RPi_ILI9486_STM32.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup34_ILI9481_Parallel_STM32.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup36_RPi_touch_ST7796.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup3_ILI9163.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup43_ST7735.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup44_TTGO_CameraPlus.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup45_TTGO_T_Watch.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup46_GC9A01_ESP32.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup47_ST7735.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup4_S6D02A1.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup50_SSD1963_Parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup51_LilyPi_ILI9481.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup52_LilyPi_ST7796.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup5_RPi_ILI9486.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup60_RP2040_ILI9341.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup60_RP2040_RPI_MHS.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup61_RP2040_ILI9341_PIO_SPI.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup62_RP2040_Nano_Connect_ILI9341.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup66_Seeed_XIAO_Round.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup6_RPi_Wr_ILI9486.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup70_ESP32_S2_ILI9341.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup70b_ESP32_S3_ILI9341.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup70c_ESP32_C3_ILI9341.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup70d_ILI9488_S3_Parallel.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup70f_ESP32_S2_ST7735.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup70h_ESP32_S3_GC9A01.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup71_ESP32_S2_ST7789.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup72_ESP32_ST7789_172x320.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup7_ST7735_128x128.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup8_ILI9163_128x128.h delete mode 100644 lib/TFT_eSPI/User_Setups/Setup9_ST7735_Overlap.h delete mode 100644 lib/TFT_eSPI/User_Setups/SetupX_Template.h delete mode 100644 lib/TFT_eSPI/docs/ESP-IDF/Using ESP-IDF.txt delete mode 100644 lib/TFT_eSPI/docs/ESP32 UNO board mod/ESP32 UNO board mod.jpg delete mode 100644 lib/TFT_eSPI/docs/ESP32 UNO board mod/ESP32 UNO board pinout.jpg delete mode 100644 lib/TFT_eSPI/docs/PlatformIO/Configuring options.txt delete mode 100644 lib/TFT_eSPI/docs/PlatformIO/rp2040.txt delete mode 100644 lib/TFT_eSPI/docs/RPi_TFT_connections/RPi_TFT_Connections.png delete mode 100644 lib/TFT_eSPI/docs/RPi_TFT_connections/RPi_TFT_mod.png diff --git a/include/TEF6686.h b/include/TEF6686.h index b02361f..b6236d0 100644 --- a/include/TEF6686.h +++ b/include/TEF6686.h @@ -440,7 +440,7 @@ typedef struct _rds_ { String stationText32; String RTContent1; String RTContent2; - String PTYN; + Detector PTYN{""}; String ECCtext; String stationIDtext; String stationNameLong; @@ -466,23 +466,23 @@ typedef struct _rds_ { bool rdsBerror; bool rdsCerror; bool rdsDerror; - bool hasArtificialhead; - bool hasCompressed; + Detector hasArtificialhead{false}; + Detector hasCompressed{false}; bool hasDynamicPTY; - bool hasStereo; + Detector hasStereo{false}; bool hasRDS; bool hasECC; bool hasDABAF; bool hasLongPS; bool hasRT; bool hasEnhancedRT; - bool TP; - bool hasTA; + Detector TP{false}; + Detector TA{false}; Detector hasEON{false}; bool hasAID; Detector hasTMC{false}; bool hasAF; - bool hasCT; + Detector hasCT{false}; bool hasPTYN; bool rtAB; bool rtAB32; @@ -507,10 +507,10 @@ typedef struct _af_ { } af_; typedef struct _eon_ { - uint16_t mappedfreq; - uint16_t mappedfreq2; - uint16_t mappedfreq3; - uint16_t pi; + uint16_t mappedfreq; + uint16_t mappedfreq2; + uint16_t mappedfreq3; + uint16_t pi; char picode[6]; String ps; bool ta; diff --git a/include/change_detector.h b/include/change_detector.h index f291d40..39533e1 100644 --- a/include/change_detector.h +++ b/include/change_detector.h @@ -4,20 +4,23 @@ template class Detector { public: - explicit Detector(T initial) : value(initial) { + explicit Detector(T initial) : value(initial), prev(initial) { for (size_t i = 0; i < MaxObservers; ++i) seen[i] = false; } void set(const T& v) { if (v == value) return; - + prev = value; value = v; for (size_t i = 0; i < MaxObservers; ++i) seen[i] = false; } + void amend(const T& v) { + value = v; + } + bool changed(size_t id) { if (id >= MaxObservers) return false; - if (!seen[id]) { seen[id] = true; return true; @@ -25,11 +28,68 @@ public: return false; } - const T& get() const { + const T& get() const { return value; } + const T& getPrev() const { return prev; } + + template + Detector& operator+=(const U& d) { set(value + d); return *this; } + + template + Detector& operator-=(const U& d) { set(value - d); return *this; } + + template + Detector& operator*=(const U& d) { set(value * d); return *this; } + + template + Detector& operator/=(const U& d) { set(value / d); return *this; } + + template + Detector& operator%=(const U& d) { set(value % d); return *this; } + + template + T operator+(const U& d) const { return value + d; } + + template + T operator-(const U& d) const { return value - d; } + + template + T operator*(const U& d) const { return value * d; } + + template + T operator/(const U& d) const { return value / d; } + + template + T operator%(const U& d) const { return value % d; } + + template + bool operator==(const U& v) const { return value == v; } + + template + bool operator!=(const U& v) const { return value != v; } + + template + bool operator<(const U& v) const { return value < v; } + + template + bool operator>(const U& v) const { return value > v; } + + template + bool operator<=(const U& v) const { return value <= v; } + + template + bool operator>=(const U& v) const { return value >= v; } + + Detector& operator=(const T& v) { + set(v); + return *this; + } + + operator const T&() const { return value; } private: T value; + T prev; bool seen[MaxObservers]; }; diff --git a/include/globals.h b/include/globals.h index 3e166cb..95c9f97 100644 --- a/include/globals.h +++ b/include/globals.h @@ -37,18 +37,18 @@ extern TFT_eSPI tft; extern bool dynamicspi; extern bool Data_Accelerator; extern bool advancedRDS, afmethodBold, afpage; -extern bool afscreen, aftest, artheadold; +extern bool afscreen, aftest; extern bool autoDST, autolog, autologged; extern bool autosquelch, batterydetect, beepresetstart; extern bool beepresetstop, BWreset, bwtouchtune; extern bool BWtune, change, clockampm; -extern bool compressedold, direction, dropout; +extern bool direction, dropout; extern bool dynamicPTYold, edgebeep, externaltune; extern bool findMemoryAF; extern bool firstTouchHandled; extern bool flashing; extern bool fmsi, fullsearchrds; -extern bool hasafold, hasCTold, haseonold; +extern bool hasafold, haseonold; extern bool initdxscan, invertdisplay, leave; extern bool LowLevelInit; extern bool memorystore; @@ -62,7 +62,6 @@ extern bool rdsflagreset; extern bool rdsreset; extern bool rdsstatscreen; extern bool RDSSPYTCP, RDSSPYUSB; -extern bool rdsstereoold; extern bool rotaryaccelerate; extern bool rtcset; extern bool scandxmode; @@ -85,7 +84,6 @@ extern bool SQ; extern bool Stereostatusold; extern bool StereoToggle; extern bool store; -extern bool TAold, TPold; extern bool touchrepeat; extern bool touch_detect; extern bool tuned; @@ -243,7 +241,6 @@ extern int SStatusold; extern int Stereostatus; extern int volume; extern int XDRBWset; -extern int XDRBWsetold; extern int xPos; extern int xPos2; extern int16_t OStatus; @@ -272,7 +269,6 @@ extern String ECCString; extern String eonpsold[20]; extern String PIold; extern String PSold; -extern String ptynold; extern String PTYold; extern String rds_clock; extern String rds_clockold; @@ -290,8 +286,7 @@ extern String StereoStatusCommandold; extern String SWMIBandstring; extern String SWMIBandstringold; extern String XDRGTK_key; -extern String XDRGTKRDS; -extern String XDRGTKRDSold; +extern Detector XDRGTKRDS; extern uint16_t BW; extern uint16_t MStatus; extern uint16_t SWMIBandPos; @@ -302,7 +297,7 @@ extern uint16_t WAM; extern uint8_t buff_pos; extern unsigned int ConverterSet; extern unsigned int freq_scan; -extern unsigned int frequency; +extern Detector frequency; extern unsigned int frequency_OIRT; extern unsigned int frequency_AM; extern unsigned int frequency_LW; @@ -323,7 +318,6 @@ extern unsigned int frequency_MIBand_75M; extern unsigned int frequency_MIBand_90M; extern unsigned int frequency_MW; extern unsigned int frequency_SW; -extern unsigned int frequencyold; extern unsigned int HighEdgeOIRTSet; extern unsigned int HighEdgeSet; extern unsigned int LowEdgeOIRTSet; @@ -348,8 +342,6 @@ extern unsigned long aftickerhold; extern unsigned long aftimer; extern unsigned long autosquelchtimer; extern unsigned long blockcounterold[33]; -extern unsigned long eccticker; -extern unsigned long ecctickerhold; extern unsigned long eonticker; extern unsigned long eontickerhold; extern unsigned long flashingtimer; @@ -363,8 +355,6 @@ extern unsigned long peakholdmillis; extern unsigned long processed_rdsblocksold[33]; extern unsigned long pslongticker; extern unsigned long pslongtickerhold; -extern unsigned long rtplusticker; -extern unsigned long rtplustickerhold; extern unsigned long rtticker; extern unsigned long rttickerhold; extern unsigned long rotarytimer; diff --git a/lib/TFT_eSPI/TFT_Drivers/GC9A01_Defines.h b/lib/TFT_eSPI/TFT_Drivers/GC9A01_Defines.h deleted file mode 100644 index 4cb1095..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/GC9A01_Defines.h +++ /dev/null @@ -1,40 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#ifndef TFT_WIDTH - #define TFT_WIDTH 240 -#endif -#ifndef TFT_HEIGHT - #define TFT_HEIGHT 240 -#endif - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E -#define TFT_IDXRD 0x00 //0xDD // ILI9341 only, indexed control register read - -#define TFT_MADCTL 0x36 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_RGB 0x00 diff --git a/lib/TFT_eSPI/TFT_Drivers/GC9A01_Init.h b/lib/TFT_eSPI/TFT_Drivers/GC9A01_Init.h deleted file mode 100644 index 947d37d..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/GC9A01_Init.h +++ /dev/null @@ -1,232 +0,0 @@ - -// This is the command sequence that initialises the GC9A01 driver - -{ - writecommand(0xEF); - writecommand(0xEB); - writedata(0x14); - - writecommand(0xFE); - writecommand(0xEF); - - writecommand(0xEB); - writedata(0x14); - - writecommand(0x84); - writedata(0x40); - - writecommand(0x85); - writedata(0xFF); - - writecommand(0x86); - writedata(0xFF); - - writecommand(0x87); - writedata(0xFF); - - writecommand(0x88); - writedata(0x0A); - - writecommand(0x89); - writedata(0x21); - - writecommand(0x8A); - writedata(0x00); - - writecommand(0x8B); - writedata(0x80); - - writecommand(0x8C); - writedata(0x01); - - writecommand(0x8D); - writedata(0x01); - - writecommand(0x8E); - writedata(0xFF); - - writecommand(0x8F); - writedata(0xFF); - - writecommand(0xB6); - writedata(0x00); - writedata(0x20); - - writecommand(0x3A); - writedata(0x05); - - writecommand(0x90); - writedata(0x08); - writedata(0x08); - writedata(0x08); - writedata(0x08); - - writecommand(0xBD); - writedata(0x06); - - writecommand(0xBC); - writedata(0x00); - - writecommand(0xFF); - writedata(0x60); - writedata(0x01); - writedata(0x04); - - writecommand(0xC3); - writedata(0x13); - writecommand(0xC4); - writedata(0x13); - - writecommand(0xC9); - writedata(0x22); - - writecommand(0xBE); - writedata(0x11); - - writecommand(0xE1); - writedata(0x10); - writedata(0x0E); - - writecommand(0xDF); - writedata(0x21); - writedata(0x0c); - writedata(0x02); - - writecommand(0xF0); - writedata(0x45); - writedata(0x09); - writedata(0x08); - writedata(0x08); - writedata(0x26); - writedata(0x2A); - - writecommand(0xF1); - writedata(0x43); - writedata(0x70); - writedata(0x72); - writedata(0x36); - writedata(0x37); - writedata(0x6F); - - writecommand(0xF2); - writedata(0x45); - writedata(0x09); - writedata(0x08); - writedata(0x08); - writedata(0x26); - writedata(0x2A); - - writecommand(0xF3); - writedata(0x43); - writedata(0x70); - writedata(0x72); - writedata(0x36); - writedata(0x37); - writedata(0x6F); - - writecommand(0xED); - writedata(0x1B); - writedata(0x0B); - - writecommand(0xAE); - writedata(0x77); - - writecommand(0xCD); - writedata(0x63); - - writecommand(0x70); - writedata(0x07); - writedata(0x07); - writedata(0x04); - writedata(0x0E); - writedata(0x0F); - writedata(0x09); - writedata(0x07); - writedata(0x08); - writedata(0x03); - - writecommand(0xE8); - writedata(0x34); - - writecommand(0x62); - writedata(0x18); - writedata(0x0D); - writedata(0x71); - writedata(0xED); - writedata(0x70); - writedata(0x70); - writedata(0x18); - writedata(0x0F); - writedata(0x71); - writedata(0xEF); - writedata(0x70); - writedata(0x70); - - writecommand(0x63); - writedata(0x18); - writedata(0x11); - writedata(0x71); - writedata(0xF1); - writedata(0x70); - writedata(0x70); - writedata(0x18); - writedata(0x13); - writedata(0x71); - writedata(0xF3); - writedata(0x70); - writedata(0x70); - - writecommand(0x64); - writedata(0x28); - writedata(0x29); - writedata(0xF1); - writedata(0x01); - writedata(0xF1); - writedata(0x00); - writedata(0x07); - - writecommand(0x66); - writedata(0x3C); - writedata(0x00); - writedata(0xCD); - writedata(0x67); - writedata(0x45); - writedata(0x45); - writedata(0x10); - writedata(0x00); - writedata(0x00); - writedata(0x00); - - writecommand(0x67); - writedata(0x00); - writedata(0x3C); - writedata(0x00); - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0x54); - writedata(0x10); - writedata(0x32); - writedata(0x98); - - writecommand(0x74); - writedata(0x10); - writedata(0x85); - writedata(0x80); - writedata(0x00); - writedata(0x00); - writedata(0x4E); - writedata(0x00); - - writecommand(0x98); - writedata(0x3e); - writedata(0x07); - - writecommand(0x35); - writecommand(0x21); - - writecommand(0x11); - delay(120); - writecommand(0x29); - delay(20); -} diff --git a/lib/TFT_eSPI/TFT_Drivers/GC9A01_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/GC9A01_Rotation.h deleted file mode 100644 index 48724e7..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/GC9A01_Rotation.h +++ /dev/null @@ -1,56 +0,0 @@ - -// This is the command sequence that rotates the GC9A01 driver coordinate frame - - rotation = m % 4; - - writecommand(TFT_MADCTL); - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_BGR); - _width = _init_width; - _height = _init_height; -#ifdef CGRAM_OFFSET - if (_init_width == 128) - { - colstart = 2; - rowstart = 1; - } -#endif - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); - _width = _init_height; - _height = _init_width; -#ifdef CGRAM_OFFSET - if (_init_width == 128) - { - colstart = 1; - rowstart = 2; - } -#endif - break; - case 2: // Inverter portrait - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); - _width = _init_width; - _height = _init_height; -#ifdef CGRAM_OFFSET - if (_init_width == 128) - { - colstart = 2; - rowstart = 1; - } -#endif - break; - case 3: // Inverted landscape - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); - _width = _init_height; - _height = _init_width; -#ifdef CGRAM_OFFSET - if (_init_width == 128) - { - colstart = 1; - rowstart = 2; - } -#endif - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357B_Defines.h b/lib/TFT_eSPI/TFT_Drivers/HX8357B_Defines.h deleted file mode 100644 index d2f3cf9..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357B_Defines.h +++ /dev/null @@ -1,52 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 320 -#define TFT_HEIGHT 480 - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPar.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E - -#define TFT_MADCTL 0x36 - -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR -#endif - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357B_Init.h b/lib/TFT_eSPI/TFT_Drivers/HX8357B_Init.h deleted file mode 100644 index 7ca937c..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357B_Init.h +++ /dev/null @@ -1,76 +0,0 @@ - -// This is the command sequence that initialises the HX8357B driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - - -// Configure HX8357-B display - writecommand(0x11); - delay(20); - writecommand(0xD0); - writedata(0x07); - writedata(0x42); - writedata(0x18); - - writecommand(0xD1); - writedata(0x00); - writedata(0x07); - writedata(0x10); - - writecommand(0xD2); - writedata(0x01); - writedata(0x02); - - writecommand(0xC0); - writedata(0x10); - writedata(0x3B); - writedata(0x00); - writedata(0x02); - writedata(0x11); - - writecommand(0xC5); - writedata(0x08); - - writecommand(0xC8); - writedata(0x00); - writedata(0x32); - writedata(0x36); - writedata(0x45); - writedata(0x06); - writedata(0x16); - writedata(0x37); - writedata(0x75); - writedata(0x77); - writedata(0x54); - writedata(0x0C); - writedata(0x00); - - writecommand(0x36); - writedata(0x0a); - - writecommand(0x3A); - writedata(0x55); - - writecommand(0x2A); - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0x3F); - - writecommand(0x2B); - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0xDF); - - delay(120); - writecommand(0x29); - - delay(25); - -// End of HX8357B display configuration - - - diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357B_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/HX8357B_Rotation.h deleted file mode 100644 index d3644f8..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357B_Rotation.h +++ /dev/null @@ -1,47 +0,0 @@ - // This is the command sequence that rotates the HX8357C driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 8; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MX); - _width = _init_width; - _height = _init_height; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV); - _width = _init_height; - _height = _init_width; - break; - case 2: // Inverter portrait - writedata( TFT_MAD_COLOR_ORDER | TFT_MAD_MY); - _width = _init_width; - _height = _init_height; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_MY); - _width = _init_height; - _height = _init_width; - break; - case 4: // Portrait - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MX | TFT_MAD_MY); - _width = _init_width; - _height = _init_height; - break; - case 5: // Landscape (Portrait + 90) - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV | TFT_MAD_MX); - _width = _init_height; - _height = _init_width; - break; - case 6: // Inverter portrait - writedata( TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 7: // Inverted landscape - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV | TFT_MAD_MY); - _width = _init_height; - _height = _init_width; - break; - } - \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357C_Defines.h b/lib/TFT_eSPI/TFT_Drivers/HX8357C_Defines.h deleted file mode 100644 index d2f3cf9..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357C_Defines.h +++ /dev/null @@ -1,52 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 320 -#define TFT_HEIGHT 480 - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPar.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E - -#define TFT_MADCTL 0x36 - -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR -#endif - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357C_Init.h b/lib/TFT_eSPI/TFT_Drivers/HX8357C_Init.h deleted file mode 100644 index 807cadb..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357C_Init.h +++ /dev/null @@ -1,116 +0,0 @@ - -// This is the command sequence that initialises the HX8357C driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - - -// Configure HX8357C display - - writecommand(0xB9); // Enable extension command - writedata(0xFF); - writedata(0x83); - writedata(0x57); - delay(50); - - writecommand(0xB6); //Set VCOM voltage - writedata(0x2C); //0x52 for HSD 3.0" - - writecommand(0x11); // Sleep off - delay(200); - - writecommand(0x35); // Tearing effect on - writedata(0x00); // Added parameter - - writecommand(0x3A); // Interface pixel format - writedata(0x55); // 16 bits per pixel - - //writecommand(0xCC); // Set panel characteristic - //writedata(0x09); // S960>S1, G1>G480, R-G-B, normally black - - //writecommand(0xB3); // RGB interface - //writedata(0x43); - //writedata(0x00); - //writedata(0x06); - //writedata(0x06); - - writecommand(0xB1); // Power control - writedata(0x00); - writedata(0x15); - writedata(0x0D); - writedata(0x0D); - writedata(0x83); - writedata(0x48); - - - writecommand(0xC0); // Does this do anything? - writedata(0x24); - writedata(0x24); - writedata(0x01); - writedata(0x3C); - writedata(0xC8); - writedata(0x08); - - writecommand(0xB4); // Display cycle - writedata(0x02); - writedata(0x40); - writedata(0x00); - writedata(0x2A); - writedata(0x2A); - writedata(0x0D); - writedata(0x4F); - - writecommand(0xE0); // Gamma curve - writedata(0x00); - writedata(0x15); - writedata(0x1D); - writedata(0x2A); - writedata(0x31); - writedata(0x42); - writedata(0x4C); - writedata(0x53); - writedata(0x45); - writedata(0x40); - writedata(0x3B); - writedata(0x32); - writedata(0x2E); - writedata(0x28); - - writedata(0x24); - writedata(0x03); - writedata(0x00); - writedata(0x15); - writedata(0x1D); - writedata(0x2A); - writedata(0x31); - writedata(0x42); - writedata(0x4C); - writedata(0x53); - writedata(0x45); - writedata(0x40); - writedata(0x3B); - writedata(0x32); - - writedata(0x2E); - writedata(0x28); - writedata(0x24); - writedata(0x03); - writedata(0x00); - writedata(0x01); - - writecommand(0x36); // MADCTL Memory access control - writedata(0x48); - delay(20); - - writecommand(0x21); //Display inversion on - delay(20); - - writecommand(0x29); // Display on - - delay(120); - -// End of HX8357C display configuration - - - diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357C_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/HX8357C_Rotation.h deleted file mode 100644 index d3644f8..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357C_Rotation.h +++ /dev/null @@ -1,47 +0,0 @@ - // This is the command sequence that rotates the HX8357C driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 8; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MX); - _width = _init_width; - _height = _init_height; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV); - _width = _init_height; - _height = _init_width; - break; - case 2: // Inverter portrait - writedata( TFT_MAD_COLOR_ORDER | TFT_MAD_MY); - _width = _init_width; - _height = _init_height; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_MY); - _width = _init_height; - _height = _init_width; - break; - case 4: // Portrait - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MX | TFT_MAD_MY); - _width = _init_width; - _height = _init_height; - break; - case 5: // Landscape (Portrait + 90) - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV | TFT_MAD_MX); - _width = _init_height; - _height = _init_width; - break; - case 6: // Inverter portrait - writedata( TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 7: // Inverted landscape - writedata(TFT_MAD_COLOR_ORDER | TFT_MAD_MV | TFT_MAD_MY); - _width = _init_height; - _height = _init_width; - break; - } - \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357D_Defines.h b/lib/TFT_eSPI/TFT_Drivers/HX8357D_Defines.h deleted file mode 100644 index b3def6c..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357D_Defines.h +++ /dev/null @@ -1,96 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 320 -#define TFT_HEIGHT 480 - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPar.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E - -#define TFT_MADCTL 0x36 - -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB -#endif - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read - - -#define HX8357_NOP 0x00 -#define HX8357_SWRESET 0x01 -#define HX8357_RDDID 0x04 -#define HX8357_RDDST 0x09 - -#define HX8357_RDPOWMODE 0x0A -#define HX8357_RDMADCTL 0x0B -#define HX8357_RDCOLMOD 0x0C -#define HX8357_RDDIM 0x0D -#define HX8357_RDDSDR 0x0F - -#define HX8357_SLPIN 0x10 -#define HX8357_SLPOUT 0x11 - -#define HX8357_INVOFF 0x20 -#define HX8357_INVON 0x21 -#define HX8357_DISPOFF 0x28 -#define HX8357_DISPON 0x29 - -#define HX8357_CASET 0x2A -#define HX8357_PASET 0x2B -#define HX8357_RAMWR 0x2C -#define HX8357_RAMRD 0x2E - -#define HX8357_TEON 0x35 -#define HX8357_TEARLINE 0x44 -#define HX8357_MADCTL 0x36 -#define HX8357_COLMOD 0x3A - -#define HX8357_SETOSC 0xB0 -#define HX8357_SETPWR1 0xB1 -#define HX8357_SETRGB 0xB3 -#define HX8357D_SETCOM 0xB6 - -#define HX8357D_SETCYC 0xB4 -#define HX8357D_SETC 0xB9 - -#define HX8357D_SETSTBA 0xC0 - -#define HX8357_SETPANEL 0xCC - -#define HX8357D_SETGAMMA 0xE0 diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357D_Init.h b/lib/TFT_eSPI/TFT_Drivers/HX8357D_Init.h deleted file mode 100644 index 0e49d3f..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357D_Init.h +++ /dev/null @@ -1,118 +0,0 @@ - -// This is the command sequence that initialises the HX8357D driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - - -// Configure HX8357D display - - // setextc - writecommand(HX8357D_SETC); - writedata(0xFF); - writedata(0x83); - writedata(0x57); - delay(300); - - // setRGB which also enables SDO - writecommand(HX8357_SETRGB); - writedata(0x80); //enable SDO pin! -// writedata(0x00); //disable SDO pin! - writedata(0x0); - writedata(0x06); - writedata(0x06); - - writecommand(HX8357D_SETCOM); - writedata(0x25); // -1.52V - - writecommand(HX8357_SETOSC); - writedata(0x68); // Normal mode 70Hz, Idle mode 55 Hz - - writecommand(HX8357_SETPANEL); //Set Panel - writedata(0x05); // BGR, Gate direction swapped - - writecommand(HX8357_SETPWR1); - writedata(0x00); // Not deep standby - writedata(0x15); //BT - writedata(0x1C); //VSPR - writedata(0x1C); //VSNR - writedata(0x83); //AP - writedata(0xAA); //FS - - writecommand(HX8357D_SETSTBA); - writedata(0x50); //OPON normal - writedata(0x50); //OPON idle - writedata(0x01); //STBA - writedata(0x3C); //STBA - writedata(0x1E); //STBA - writedata(0x08); //GEN - - writecommand(HX8357D_SETCYC); - writedata(0x02); //NW 0x02 - writedata(0x40); //RTN - writedata(0x00); //DIV - writedata(0x2A); //DUM - writedata(0x2A); //DUM - writedata(0x0D); //GDON - writedata(0x78); //GDOFF - - writecommand(HX8357D_SETGAMMA); - writedata(0x02); - writedata(0x0A); - writedata(0x11); - writedata(0x1d); - writedata(0x23); - writedata(0x35); - writedata(0x41); - writedata(0x4b); - writedata(0x4b); - writedata(0x42); - writedata(0x3A); - writedata(0x27); - writedata(0x1B); - writedata(0x08); - writedata(0x09); - writedata(0x03); - writedata(0x02); - writedata(0x0A); - writedata(0x11); - writedata(0x1d); - writedata(0x23); - writedata(0x35); - writedata(0x41); - writedata(0x4b); - writedata(0x4b); - writedata(0x42); - writedata(0x3A); - writedata(0x27); - writedata(0x1B); - writedata(0x08); - writedata(0x09); - writedata(0x03); - writedata(0x00); - writedata(0x01); - - writecommand(HX8357_COLMOD); - writedata(0x55); // 16-bit - - writecommand(HX8357_MADCTL); - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - - writecommand(HX8357_TEON); // TE off - writedata(0x00); - - writecommand(HX8357_TEARLINE); // tear line - writedata(0x00); - writedata(0x02); - - writecommand(HX8357_SLPOUT); //Exit Sleep - delay(150); - - writecommand(HX8357_DISPON); // display on - delay(50); - -// End of HX8357D display configuration - - - diff --git a/lib/TFT_eSPI/TFT_Drivers/HX8357D_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/HX8357D_Rotation.h deleted file mode 100644 index f54eaef..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/HX8357D_Rotation.h +++ /dev/null @@ -1,26 +0,0 @@ - // This is the command sequence that rotates the HX8357D driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 4; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; - break; - case 2: // Inverter portrait - writedata(TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9163_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ILI9163_Defines.h deleted file mode 100644 index f1c6339..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9163_Defines.h +++ /dev/null @@ -1,65 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#ifndef TFT_WIDTH - #define TFT_WIDTH 128 -#endif -#ifndef TFT_HEIGHT - #define TFT_HEIGHT 160 -#endif - -#if (TFT_HEIGHT == 128) && (TFT_WIDTH == 128) - #define CGRAM_OFFSET -#endif - -// Color definitions for backwards compatibility with old sketches -// use colour definitions like TFT_BLACK to make sketches more portable -#define ILI9163_BLACK 0x0000 /* 0, 0, 0 */ -#define ILI9163_NAVY 0x000F /* 0, 0, 128 */ -#define ILI9163_DARKGREEN 0x03E0 /* 0, 128, 0 */ -#define ILI9163_DARKCYAN 0x03EF /* 0, 128, 128 */ -#define ILI9163_MAROON 0x7800 /* 128, 0, 0 */ -#define ILI9163_PURPLE 0x780F /* 128, 0, 128 */ -#define ILI9163_OLIVE 0x7BE0 /* 128, 128, 0 */ -#define ILI9163_LIGHTGREY 0xC618 /* 192, 192, 192 */ -#define ILI9163_DARKGREY 0x7BEF /* 128, 128, 128 */ -#define ILI9163_BLUE 0x001F /* 0, 0, 255 */ -#define ILI9163_GREEN 0x07E0 /* 0, 255, 0 */ -#define ILI9163_CYAN 0x07FF /* 0, 255, 255 */ -#define ILI9163_RED 0xF800 /* 255, 0, 0 */ -#define ILI9163_MAGENTA 0xF81F /* 255, 0, 255 */ -#define ILI9163_YELLOW 0xFFE0 /* 255, 255, 0 */ -#define ILI9163_WHITE 0xFFFF /* 255, 255, 255 */ -#define ILI9163_ORANGE 0xFD20 /* 255, 165, 0 */ -#define ILI9163_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ -#define ILI9163_PINK 0xF81F - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E -#define TFT_IDXRD 0x00 //0xDD // ILI9341 only, indexed control register read - -#define TFT_MADCTL 0x36 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_RGB 0x00 diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9163_Init.h b/lib/TFT_eSPI/TFT_Drivers/ILI9163_Init.h deleted file mode 100644 index 0f2702c..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9163_Init.h +++ /dev/null @@ -1,41 +0,0 @@ - -// This is the command sequence that initialises the ILI9163 driver -// -// This setup information is in a format accecpted by the commandList() function -// which reduces FLASH space, but on an ESP8266 there is plenty available! -// -// See ILI9341_Setup.h file for an alternative simpler format - -{ - // Initialization commands for ILI9163 screens - static const uint8_t ILI9163_cmds[] PROGMEM = - { - 17, // 17 commands follow - 0x01, 0 + TFT_INIT_DELAY, 120, // Software reset - 0x11, 0 + TFT_INIT_DELAY, 5, // Exit sleep mode - 0x3A, 1, 0x05, // Set pixel format - 0x26, 1, 0x04, // Set Gamma curve 3 - 0xF2, 1, 0x01, // Gamma adjustment enabled - 0xE0, 15, 0x3F, 0x25, 0x1C, 0x1E, 0x20, 0x12, 0x2A, 0x90, - 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, // Positive Gamma - 0xE1, 15, 0x20, 0x20, 0x20, 0x20, 0x05, 0x00, 0x15,0xA7, - 0x3D, 0x18, 0x25, 0x2A, 0x2B, 0x2B, 0x3A, // Negative Gamma - 0xB1, 2, 0x08, 0x08, // Frame rate control 1 - 0xB4, 1, 0x07, // Display inversion - 0xC0, 2, 0x0A, 0x02, // Power control 1 - 0xC1, 1, 0x02, // Power control 2 - 0xC5, 2, 0x50, 0x5B, // Vcom control 1 - 0xC7, 1, 0x40, // Vcom offset - 0x2A, 4, 0x00, 0x00, 0x00, 0x7F, // Set column address - 0x2B, 4 + TFT_INIT_DELAY, 0x00, 0x00, 0x00, 0x9F, 250, // Set page address - 0x36, 1, 0xC8, // Set address mode - 0x29, 0, // Set display on - }; - - commandList(ILI9163_cmds); - - #ifdef CGRAM_OFFSET - colstart = 0; - rowstart = 0; - #endif -} \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9163_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ILI9163_Rotation.h deleted file mode 100644 index 3323169..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9163_Rotation.h +++ /dev/null @@ -1,44 +0,0 @@ - -// This is the command sequence that rotates the ILI9163 driver coordinate frame - - rotation = m % 4; - - writecommand(TFT_MADCTL); - switch (rotation) { - case 0: - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); - _width = _init_width; - _height = _init_height; - #ifdef CGRAM_OFFSET - colstart = 0; - rowstart = 0; - #endif - break; - case 1: - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); - _width = _init_height; - _height = _init_width; - #ifdef CGRAM_OFFSET - colstart = 0; - rowstart = 0; - #endif - break; - case 2: - writedata(TFT_MAD_BGR); - _width = _init_width; - _height = _init_height; - #ifdef CGRAM_OFFSET - colstart = 0; - rowstart = 32; - #endif - break; - case 3: - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); - _width = _init_height; - _height = _init_width; - #ifdef CGRAM_OFFSET - colstart = 32; - rowstart = 0; - #endif - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9225_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ILI9225_Defines.h deleted file mode 100644 index 1a083e0..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9225_Defines.h +++ /dev/null @@ -1,84 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 176 -#define TFT_HEIGHT 220 - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x28 - -#define TFT_CASET 0 -#define TFT_PASET 0 - -#define TFT_CASET1 ILI9225_HORIZONTAL_WINDOW_ADDR2 -#define TFT_CASET2 ILI9225_HORIZONTAL_WINDOW_ADDR1 - -#define TFT_PASET1 ILI9225_VERTICAL_WINDOW_ADDR2 -#define TFT_PASET2 ILI9225_VERTICAL_WINDOW_ADDR1 - -#define TFT_RAM_ADDR1 ILI9225_RAM_ADDR_SET1 -#define TFT_RAM_ADDR2 ILI9225_RAM_ADDR_SET2 - -#define TFT_RAMWR ILI9225_GRAM_DATA_REG - -#define TFT_MAD_BGR 0x10 -#define TFT_MAD_RGB 0x00 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR -#endif - -// Not used -#define TFT_INVOFF 0x00 -#define TFT_INVON 0x00 -#define TFT_RAMRD 0x00 -#define TFT_IDXRD 0x00 - -/* ILI9225 Registers */ -#define ILI9225_DRIVER_OUTPUT_CTRL 0x01 // Driver Output Control -#define ILI9225_LCD_AC_DRIVING_CTRL 0x02 // LCD AC Driving Control -#define ILI9225_ENTRY_MODE 0x03 // Entry Mode -#define ILI9225_DISP_CTRL1 0x07 // Display Control 1 -#define ILI9225_BLANK_PERIOD_CTRL1 0x08 // Blank Period Control -#define ILI9225_FRAME_CYCLE_CTRL 0x0B // Frame Cycle Control -#define ILI9225_INTERFACE_CTRL 0x0C // Interface Control -#define ILI9225_OSC_CTRL 0x0F // Osc Control -#define ILI9225_POWER_CTRL1 0x10 // Power Control 1 -#define ILI9225_POWER_CTRL2 0x11 // Power Control 2 -#define ILI9225_POWER_CTRL3 0x12 // Power Control 3 -#define ILI9225_POWER_CTRL4 0x13 // Power Control 4 -#define ILI9225_POWER_CTRL5 0x14 // Power Control 5 -#define ILI9225_VCI_RECYCLING 0x15 // VCI Recycling -#define ILI9225_RAM_ADDR_SET1 0x20 // Horizontal GRAM Address Set -#define ILI9225_RAM_ADDR_SET2 0x21 // Vertical GRAM Address Set -#define ILI9225_GRAM_DATA_REG 0x22 // GRAM Data Register -#define ILI9225_GATE_SCAN_CTRL 0x30 // Gate Scan Control Register -#define ILI9225_VERTICAL_SCROLL_CTRL1 0x31 // Vertical Scroll Control 1 Register -#define ILI9225_VERTICAL_SCROLL_CTRL2 0x32 // Vertical Scroll Control 2 Register -#define ILI9225_VERTICAL_SCROLL_CTRL3 0x33 // Vertical Scroll Control 3 Register -#define ILI9225_PARTIAL_DRIVING_POS1 0x34 // Partial Driving Position 1 Register -#define ILI9225_PARTIAL_DRIVING_POS2 0x35 // Partial Driving Position 2 Register -#define ILI9225_HORIZONTAL_WINDOW_ADDR1 0x36 // Horizontal Address Start Position -#define ILI9225_HORIZONTAL_WINDOW_ADDR2 0x37 // Horizontal Address End Position -#define ILI9225_VERTICAL_WINDOW_ADDR1 0x38 // Vertical Address Start Position -#define ILI9225_VERTICAL_WINDOW_ADDR2 0x39 // Vertical Address End Position -#define ILI9225_GAMMA_CTRL1 0x50 // Gamma Control 1 -#define ILI9225_GAMMA_CTRL2 0x51 // Gamma Control 2 -#define ILI9225_GAMMA_CTRL3 0x52 // Gamma Control 3 -#define ILI9225_GAMMA_CTRL4 0x53 // Gamma Control 4 -#define ILI9225_GAMMA_CTRL5 0x54 // Gamma Control 5 -#define ILI9225_GAMMA_CTRL6 0x55 // Gamma Control 6 -#define ILI9225_GAMMA_CTRL7 0x56 // Gamma Control 7 -#define ILI9225_GAMMA_CTRL8 0x57 // Gamma Control 8 -#define ILI9225_GAMMA_CTRL9 0x58 // Gamma Control 9 -#define ILI9225_GAMMA_CTRL10 0x59 // Gamma Control 10 - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x00 // Not used unless commandlist invoked - diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9225_Init.h b/lib/TFT_eSPI/TFT_Drivers/ILI9225_Init.h deleted file mode 100644 index 741be43..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9225_Init.h +++ /dev/null @@ -1,105 +0,0 @@ -// This is the command sequence that initialises the ILI9225 driver - -{ - writecommand(ILI9225_POWER_CTRL1); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_POWER_CTRL2); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_POWER_CTRL3); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_POWER_CTRL4); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_POWER_CTRL5); - writedata(0x00);writedata(0x00); - - delay(40); - - writecommand(ILI9225_POWER_CTRL2); - writedata(0x00);writedata(0x18); - writecommand(ILI9225_POWER_CTRL3); - writedata(0x61);writedata(0x21); - writecommand(ILI9225_POWER_CTRL4); - writedata(0x00);writedata(0x6F); - writecommand(ILI9225_POWER_CTRL5); - writedata(0x49);writedata(0x5F); - writecommand(ILI9225_POWER_CTRL1); - writedata(0x08);writedata(0x00); - - delay(10); - - writecommand(ILI9225_POWER_CTRL2); - writedata(0x10);writedata(0x3B); - - delay(50); - - writecommand(ILI9225_LCD_AC_DRIVING_CTRL); - writedata(0x01);writedata(0x00); - writecommand(ILI9225_DISP_CTRL1); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_BLANK_PERIOD_CTRL1); - writedata(0x08);writedata(0x08); - writecommand(ILI9225_FRAME_CYCLE_CTRL); - writedata(0x11);writedata(0x00); - writecommand(ILI9225_INTERFACE_CTRL); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_OSC_CTRL); - writedata(0x0D);writedata(0x01); - writecommand(ILI9225_VCI_RECYCLING); - writedata(0x00);writedata(0x20); - writecommand(ILI9225_RAM_ADDR_SET1); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_RAM_ADDR_SET2); - writedata(0x00);writedata(0x00); - - writecommand(ILI9225_GATE_SCAN_CTRL); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_VERTICAL_SCROLL_CTRL1); - writedata(0x00);writedata(0xDB); - writecommand(ILI9225_VERTICAL_SCROLL_CTRL2); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_VERTICAL_SCROLL_CTRL3); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_PARTIAL_DRIVING_POS1); - writedata(0x00);writedata(0xDB); - writecommand(ILI9225_PARTIAL_DRIVING_POS2); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_HORIZONTAL_WINDOW_ADDR1); - writedata(0x00);writedata(0xAF); - writecommand(ILI9225_HORIZONTAL_WINDOW_ADDR2); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_VERTICAL_WINDOW_ADDR1); - writedata(0x00);writedata(0xDB); - writecommand(ILI9225_VERTICAL_WINDOW_ADDR2); - writedata(0x00);writedata(0x00); - - /* Set GAMMA curve */ - writecommand(ILI9225_GAMMA_CTRL1); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_GAMMA_CTRL2); - writedata(0x08);writedata(0x08); - writecommand(ILI9225_GAMMA_CTRL3); - writedata(0x08);writedata(0x0A); - writecommand(ILI9225_GAMMA_CTRL4); - writedata(0x00);writedata(0x0A); - writecommand(ILI9225_GAMMA_CTRL5); - writedata(0x0A);writedata(0x08); - writecommand(ILI9225_GAMMA_CTRL6); - writedata(0x08);writedata(0x08); - writecommand(ILI9225_GAMMA_CTRL7); - writedata(0x00);writedata(0x00); - writecommand(ILI9225_GAMMA_CTRL8); - writedata(0x0A);writedata(0x00); - writecommand(ILI9225_GAMMA_CTRL9); - writedata(0x07);writedata(0x10); - writecommand(ILI9225_GAMMA_CTRL10); - writedata(0x07);writedata(0x10); - - writecommand(ILI9225_DISP_CTRL1); - writedata(0x00);writedata(0x12); - - delay(50); - - writecommand(ILI9225_DISP_CTRL1); - writedata(0x10);writedata(0x17); - -} \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9225_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ILI9225_Rotation.h deleted file mode 100644 index d7cef9a..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9225_Rotation.h +++ /dev/null @@ -1,39 +0,0 @@ - -// This is the command sequence that rotates the ILI9225 driver coordinate frame - - rotation = m % 4; // Limit the range of values to 0-3 - - switch (rotation) { - case 0: - writecommand(ILI9225_DRIVER_OUTPUT_CTRL); - writedata(0x01);writedata(0x1C); - writecommand(ILI9225_ENTRY_MODE); - writedata(TFT_MAD_COLOR_ORDER);writedata(0x30); - _width = _init_width; - _height = _init_height; - break; - case 1: - writecommand(ILI9225_DRIVER_OUTPUT_CTRL); - writedata(0x00);writedata(0x1C); - writecommand(ILI9225_ENTRY_MODE); - writedata(TFT_MAD_COLOR_ORDER);writedata(0x38); - _width = _init_height; - _height = _init_width; - break; - case 2: - writecommand(ILI9225_DRIVER_OUTPUT_CTRL); - writedata(0x02);writedata(0x1C); - writecommand(ILI9225_ENTRY_MODE); - writedata(TFT_MAD_COLOR_ORDER);writedata(0x30); - _width = _init_width; - _height = _init_height; - break; - case 3: - writecommand(ILI9225_DRIVER_OUTPUT_CTRL); - writedata(0x03);writedata(0x1C); - writecommand(ILI9225_ENTRY_MODE); - writedata(TFT_MAD_COLOR_ORDER);writedata(0x38); - _width = _init_height; - _height = _init_width; - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9486_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ILI9486_Defines.h deleted file mode 100644 index fcec0b8..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9486_Defines.h +++ /dev/null @@ -1,64 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 320 -#define TFT_HEIGHT 480 - -// For Raspberry Pi ILI9486 only with a modified board to add a write strobe: -#if defined (TFT_WR) && defined (RPI_ILI9486_DRIVER) - #define RPI_WRITE_STROBE -#endif - -// Color definitions for backwards compatibility with old sketches -// use colour definitions like TFT_BLACK to make sketches more portable -#define ILI9486_BLACK 0x0000 /* 0, 0, 0 */ -#define ILI9486_NAVY 0x000F /* 0, 0, 128 */ -#define ILI9486_DARKGREEN 0x03E0 /* 0, 128, 0 */ -#define ILI9486_DARKCYAN 0x03EF /* 0, 128, 128 */ -#define ILI9486_MAROON 0x7800 /* 128, 0, 0 */ -#define ILI9486_PURPLE 0x780F /* 128, 0, 128 */ -#define ILI9486_OLIVE 0x7BE0 /* 128, 128, 0 */ -#define ILI9486_LIGHTGREY 0xC618 /* 192, 192, 192 */ -#define ILI9486_DARKGREY 0x7BEF /* 128, 128, 128 */ -#define ILI9486_BLUE 0x001F /* 0, 0, 255 */ -#define ILI9486_GREEN 0x07E0 /* 0, 255, 0 */ -#define ILI9486_CYAN 0x07FF /* 0, 255, 255 */ -#define ILI9486_RED 0xF800 /* 255, 0, 0 */ -#define ILI9486_MAGENTA 0xF81F /* 255, 0, 255 */ -#define ILI9486_YELLOW 0xFFE0 /* 255, 255, 0 */ -#define ILI9486_WHITE 0xFFFF /* 255, 255, 255 */ -#define ILI9486_ORANGE 0xFD20 /* 255, 165, 0 */ -#define ILI9486_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ -#define ILI9486_PINK 0xF81F - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read - -#define TFT_MADCTL 0x36 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 -#define TFT_MAD_RGB 0x00 diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9486_Init.h b/lib/TFT_eSPI/TFT_Drivers/ILI9486_Init.h deleted file mode 100644 index db0f7aa..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9486_Init.h +++ /dev/null @@ -1,84 +0,0 @@ - -// This is the command sequence that initialises the ILI9486 driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - -{ -// From https://github.com/notro/fbtft/blob/master/fb_ili9486.c - - writecommand(0x01); // SW reset - delay(120); - - writecommand(0x11); // Sleep out, also SW reset - delay(120); - - writecommand(0x3A); - #if defined (TFT_PARALLEL_8_BIT) || defined (TFT_PARALLEL_16_BIT) || defined (RPI_DISPLAY_TYPE) - writedata(0x55); // 16-bit colour interface - #else - writedata(0x66); // 18-bit colour interface - #endif - - writecommand(0xC0); // 1100.0000 Power Control 1 - writedata(0x0E); // 0001.0111 ... VRH1 - writedata(0x0E); // 0001.0101 ... VRH2 - writecommand(0xC1); // 1100.0001 Power Control 2 - writedata(0x41); // 0100.0001 . SAP BT - writedata(0x00); // 0000.0000 ..... VC - writecommand(0xC2); // 1100.0010 Power Control 3 - writedata(0x55); // nb. was 0x44 0101.0101 . DCA1 . DCA0 - - writecommand(0xC5); - writedata(0x00); - writedata(0x00); - writedata(0x00); - writedata(0x00); - - writecommand(0xE0); - writedata(0x0F); - writedata(0x1F); - writedata(0x1C); - writedata(0x0C); - writedata(0x0F); - writedata(0x08); - writedata(0x48); - writedata(0x98); - writedata(0x37); - writedata(0x0A); - writedata(0x13); - writedata(0x04); - writedata(0x11); - writedata(0x0D); - writedata(0x00); - - writecommand(0xE1); - writedata(0x0F); - writedata(0x32); - writedata(0x2E); - writedata(0x0B); - writedata(0x0D); - writedata(0x05); - writedata(0x47); - writedata(0x75); - writedata(0x37); - writedata(0x06); - writedata(0x10); - writedata(0x03); - writedata(0x24); - writedata(0x20); - writedata(0x00); - - #if defined (TFT_PARALLEL_8_BIT) || defined (TFT_PARALLEL_16_BIT) || defined (RPI_DISPLAY_TYPE) - writecommand(TFT_INVOFF); - #else - writecommand(TFT_INVON); - #endif - - writecommand(0x36); - writedata(0x48); - - writecommand(0x29); // display on - delay(150); -} diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9486_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ILI9486_Rotation.h deleted file mode 100644 index 495d675..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9486_Rotation.h +++ /dev/null @@ -1,47 +0,0 @@ - // This is the command sequence that rotates the ILI9486 driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 8; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_BGR | TFT_MAD_MX); - _width = _init_width; - _height = _init_height; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_BGR | TFT_MAD_MV); - _width = _init_height; - _height = _init_width; - break; - case 2: // Inverter portrait - writedata( TFT_MAD_BGR | TFT_MAD_MY); - _width = _init_width; - _height = _init_height; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_MY); - _width = _init_height; - _height = _init_width; - break; - case 4: // Portrait - writedata(TFT_MAD_BGR | TFT_MAD_MX | TFT_MAD_MY); - _width = _init_width; - _height = _init_height; - break; - case 5: // Landscape (Portrait + 90) - writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MX); - _width = _init_height; - _height = _init_width; - break; - case 6: // Inverter portrait - writedata( TFT_MAD_BGR); - _width = _init_width; - _height = _init_height; - break; - case 7: // Inverted landscape - writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MY); - _width = _init_height; - _height = _init_width; - break; - } - diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9488_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ILI9488_Defines.h deleted file mode 100644 index bd5fb88..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9488_Defines.h +++ /dev/null @@ -1,42 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 320 -#define TFT_HEIGHT 480 - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E - -#define TFT_MADCTL 0x36 - -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9488_Init.h b/lib/TFT_eSPI/TFT_Drivers/ILI9488_Init.h deleted file mode 100644 index c1b20b6..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9488_Init.h +++ /dev/null @@ -1,99 +0,0 @@ - -// This is the command sequence that initialises the ILI9488 driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - - -// Configure ILI9488 display - - writecommand(0xE0); // Positive Gamma Control - writedata(0x00); - writedata(0x03); - writedata(0x09); - writedata(0x08); - writedata(0x16); - writedata(0x0A); - writedata(0x3F); - writedata(0x78); - writedata(0x4C); - writedata(0x09); - writedata(0x0A); - writedata(0x08); - writedata(0x16); - writedata(0x1A); - writedata(0x0F); - - writecommand(0XE1); // Negative Gamma Control - writedata(0x00); - writedata(0x16); - writedata(0x19); - writedata(0x03); - writedata(0x0F); - writedata(0x05); - writedata(0x32); - writedata(0x45); - writedata(0x46); - writedata(0x04); - writedata(0x0E); - writedata(0x0D); - writedata(0x35); - writedata(0x37); - writedata(0x0F); - - writecommand(0XC0); // Power Control 1 - writedata(0x17); - writedata(0x15); - - writecommand(0xC1); // Power Control 2 - writedata(0x41); - - writecommand(0xC5); // VCOM Control - writedata(0x00); - writedata(0x12); - writedata(0x80); - - writecommand(TFT_MADCTL); // Memory Access Control - writedata(0x48); // MX, BGR - - writecommand(0x3A); // Pixel Interface Format -#if defined (TFT_PARALLEL_8_BIT) || defined (TFT_PARALLEL_16_BIT) || defined (RPI_DISPLAY_TYPE) - writedata(0x55); // 16-bit colour for parallel -#else - writedata(0x66); // 18-bit colour for SPI -#endif - - writecommand(0xB0); // Interface Mode Control - writedata(0x00); - - writecommand(0xB1); // Frame Rate Control - writedata(0xA0); - - writecommand(0xB4); // Display Inversion Control - writedata(0x02); - - writecommand(0xB6); // Display Function Control - writedata(0x02); - writedata(0x02); - writedata(0x3B); - - writecommand(0xB7); // Entry Mode Set - writedata(0xC6); - - writecommand(0xF7); // Adjust Control 3 - writedata(0xA9); - writedata(0x51); - writedata(0x2C); - writedata(0x82); - - writecommand(TFT_SLPOUT); //Exit Sleep -delay(120); - - writecommand(TFT_DISPON); //Display on -delay(25); - -// End of ILI9488 display configuration - - - diff --git a/lib/TFT_eSPI/TFT_Drivers/ILI9488_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ILI9488_Rotation.h deleted file mode 100644 index 6ab17bd..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ILI9488_Rotation.h +++ /dev/null @@ -1,27 +0,0 @@ - // This is the command sequence that rotates the ILI9488 driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 4; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_MX | TFT_MAD_BGR); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_MV | TFT_MAD_BGR); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - case 2: // Inverter portrait - writedata(TFT_MAD_MY | TFT_MAD_BGR); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_BGR); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - } - \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/R61581_Defines.h b/lib/TFT_eSPI/TFT_Drivers/R61581_Defines.h deleted file mode 100644 index bd5fb88..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/R61581_Defines.h +++ /dev/null @@ -1,42 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 320 -#define TFT_HEIGHT 480 - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E - -#define TFT_MADCTL 0x36 - -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read diff --git a/lib/TFT_eSPI/TFT_Drivers/R61581_Init.h b/lib/TFT_eSPI/TFT_Drivers/R61581_Init.h deleted file mode 100644 index 1e9adee..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/R61581_Init.h +++ /dev/null @@ -1,80 +0,0 @@ - -// This is the command sequence that initialises the R61581 driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - - -// Configure R61581 display - - writecommand(TFT_SLPOUT); - delay(20); - - writecommand(0xB0); - writedata(0x00); - - writecommand(0xD0); - writedata(0x07); - writedata(0x42); - writedata(0x18); - - writecommand(0xD1); - writedata(0x00); - writedata(0x07); - writedata(0x10); - - writecommand(0xD2); - writedata(0x01); - writedata(0x02); - - writecommand(0xC0); - writedata(0x12); - writedata(0x3B); - writedata(0x00); - writedata(0x02); - writedata(0x11); - - writecommand(0xC5); - writedata(0x03); - - writecommand(0xC8); - writedata(0x00); - writedata(0x32); - writedata(0x36); - writedata(0x45); - writedata(0x06); - writedata(0x16); - writedata(0x37); - writedata(0x75); - writedata(0x77); - writedata(0x54); - writedata(0x0C); - writedata(0x00); - - writecommand(TFT_MADCTL); - writedata(0x0A); - - writecommand(0x3A); - writedata(0x55); - - writecommand(TFT_CASET); - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0x3F); - - writecommand(TFT_PASET); - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0xDF); - - delay(120); - writecommand(TFT_DISPON); - - delay(25); -// End of R61581 display configuration - - - diff --git a/lib/TFT_eSPI/TFT_Drivers/R61581_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/R61581_Rotation.h deleted file mode 100644 index 4d7dc61..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/R61581_Rotation.h +++ /dev/null @@ -1,27 +0,0 @@ - // This is the command sequence that rotates the R61581 driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 4; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_BGR | TFT_MAD_MX); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_MV | TFT_MAD_BGR); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - case 2: // Inverter portrait - writedata(TFT_MAD_BGR | TFT_MAD_GS); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_MV | TFT_MAD_BGR | TFT_MAD_MX | TFT_MAD_GS); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - } - \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/RM68120_Defines.h b/lib/TFT_eSPI/TFT_Drivers/RM68120_Defines.h deleted file mode 100644 index 50ed5a4..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/RM68120_Defines.h +++ /dev/null @@ -1,52 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -// RM68120_DRIVER - -#define TFT_WIDTH 480 -#define TFT_HEIGHT 800 - -//Set driver type common to all TBD initialisation options -#ifndef RM68120_DRIVER - #define RM68120_DRIVER -#endif - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x0000 -#define TFT_SWRST 0x0100 - -#define TFT_INVOFF 0x2000 -#define TFT_INVON 0x2100 - -#define TFT_DISPOFF 0x2800 -#define TFT_DISPON 0x2900 - -#define TFT_CASET 0x2A00 -#define TFT_PASET 0x2B00 -#define TFT_RAMWR 0x2C00 - -#define TFT_RAMRD 0x2E00 -#define TFT_IDXRD 0xDD00 // ILI9341 only, indexed control register read - -#define TFT_MADCTL 0x3600 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_H_FLIP 0x02 -#define TFT_MAD_V_FLIP 0x01 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB -#endif diff --git a/lib/TFT_eSPI/TFT_Drivers/RM68120_Init.h b/lib/TFT_eSPI/TFT_Drivers/RM68120_Init.h deleted file mode 100644 index 5b7e8f4..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/RM68120_Init.h +++ /dev/null @@ -1,269 +0,0 @@ -// Initialisation for RM68120 - -//ENABLE PAGE 1 -writeRegister8(0xF000, 0x55); -writeRegister8(0xF001, 0xAA); -writeRegister8(0xF002, 0x52); -writeRegister8(0xF003, 0x08); -writeRegister8(0xF004, 0x01); - -//GAMMA SETING RED -writeRegister8(0xD400, 0x00); -writeRegister8(0xD401, 0x00); -writeRegister8(0xD402, 0x1b); -writeRegister8(0xD403, 0x44); -writeRegister8(0xD404, 0x62); -writeRegister8(0xD405, 0x00); -writeRegister8(0xD406, 0x7b); -writeRegister8(0xD407, 0xa1); -writeRegister8(0xD408, 0xc0); -writeRegister8(0xD409, 0xee); -writeRegister8(0xD40A, 0x55); -writeRegister8(0xD40B, 0x10); -writeRegister8(0xD40C, 0x2c); -writeRegister8(0xD40D, 0x43); -writeRegister8(0xD40E, 0x57); -writeRegister8(0xD40F, 0x55); -writeRegister8(0xD410, 0x68); -writeRegister8(0xD411, 0x78); -writeRegister8(0xD412, 0x87); -writeRegister8(0xD413, 0x94); -writeRegister8(0xD414, 0x55); -writeRegister8(0xD415, 0xa0); -writeRegister8(0xD416, 0xac); -writeRegister8(0xD417, 0xb6); -writeRegister8(0xD418, 0xc1); -writeRegister8(0xD419, 0x55); -writeRegister8(0xD41A, 0xcb); -writeRegister8(0xD41B, 0xcd); -writeRegister8(0xD41C, 0xd6); -writeRegister8(0xD41D, 0xdf); -writeRegister8(0xD41E, 0x95); -writeRegister8(0xD41F, 0xe8); -writeRegister8(0xD420, 0xf1); -writeRegister8(0xD421, 0xfa); -writeRegister8(0xD422, 0x02); -writeRegister8(0xD423, 0xaa); -writeRegister8(0xD424, 0x0b); -writeRegister8(0xD425, 0x13); -writeRegister8(0xD426, 0x1d); -writeRegister8(0xD427, 0x26); -writeRegister8(0xD428, 0xaa); -writeRegister8(0xD429, 0x30); -writeRegister8(0xD42A, 0x3c); -writeRegister8(0xD42B, 0x4A); -writeRegister8(0xD42C, 0x63); -writeRegister8(0xD42D, 0xea); -writeRegister8(0xD42E, 0x79); -writeRegister8(0xD42F, 0xa6); -writeRegister8(0xD430, 0xd0); -writeRegister8(0xD431, 0x20); -writeRegister8(0xD432, 0x0f); -writeRegister8(0xD433, 0x8e); -writeRegister8(0xD434, 0xff); - -//GAMMA SETING GREEN -writeRegister8(0xD500, 0x00); -writeRegister8(0xD501, 0x00); -writeRegister8(0xD502, 0x1b); -writeRegister8(0xD503, 0x44); -writeRegister8(0xD504, 0x62); -writeRegister8(0xD505, 0x00); -writeRegister8(0xD506, 0x7b); -writeRegister8(0xD507, 0xa1); -writeRegister8(0xD508, 0xc0); -writeRegister8(0xD509, 0xee); -writeRegister8(0xD50A, 0x55); -writeRegister8(0xD50B, 0x10); -writeRegister8(0xD50C, 0x2c); -writeRegister8(0xD50D, 0x43); -writeRegister8(0xD50E, 0x57); -writeRegister8(0xD50F, 0x55); -writeRegister8(0xD510, 0x68); -writeRegister8(0xD511, 0x78); -writeRegister8(0xD512, 0x87); -writeRegister8(0xD513, 0x94); -writeRegister8(0xD514, 0x55); -writeRegister8(0xD515, 0xa0); -writeRegister8(0xD516, 0xac); -writeRegister8(0xD517, 0xb6); -writeRegister8(0xD518, 0xc1); -writeRegister8(0xD519, 0x55); -writeRegister8(0xD51A, 0xcb); -writeRegister8(0xD51B, 0xcd); -writeRegister8(0xD51C, 0xd6); -writeRegister8(0xD51D, 0xdf); -writeRegister8(0xD51E, 0x95); -writeRegister8(0xD51F, 0xe8); -writeRegister8(0xD520, 0xf1); -writeRegister8(0xD521, 0xfa); -writeRegister8(0xD522, 0x02); -writeRegister8(0xD523, 0xaa); -writeRegister8(0xD524, 0x0b); -writeRegister8(0xD525, 0x13); -writeRegister8(0xD526, 0x1d); -writeRegister8(0xD527, 0x26); -writeRegister8(0xD528, 0xaa); -writeRegister8(0xD529, 0x30); -writeRegister8(0xD52A, 0x3c); -writeRegister8(0xD52B, 0x4a); -writeRegister8(0xD52C, 0x63); -writeRegister8(0xD52D, 0xea); -writeRegister8(0xD52E, 0x79); -writeRegister8(0xD52F, 0xa6); -writeRegister8(0xD530, 0xd0); -writeRegister8(0xD531, 0x20); -writeRegister8(0xD532, 0x0f); -writeRegister8(0xD533, 0x8e); -writeRegister8(0xD534, 0xff); - -//GAMMA SETING BLUE -writeRegister8(0xD600, 0x00); -writeRegister8(0xD601, 0x00); -writeRegister8(0xD602, 0x1b); -writeRegister8(0xD603, 0x44); -writeRegister8(0xD604, 0x62); -writeRegister8(0xD605, 0x00); -writeRegister8(0xD606, 0x7b); -writeRegister8(0xD607, 0xa1); -writeRegister8(0xD608, 0xc0); -writeRegister8(0xD609, 0xee); -writeRegister8(0xD60A, 0x55); -writeRegister8(0xD60B, 0x10); -writeRegister8(0xD60C, 0x2c); -writeRegister8(0xD60D, 0x43); -writeRegister8(0xD60E, 0x57); -writeRegister8(0xD60F, 0x55); -writeRegister8(0xD610, 0x68); -writeRegister8(0xD611, 0x78); -writeRegister8(0xD612, 0x87); -writeRegister8(0xD613, 0x94); -writeRegister8(0xD614, 0x55); -writeRegister8(0xD615, 0xa0); -writeRegister8(0xD616, 0xac); -writeRegister8(0xD617, 0xb6); -writeRegister8(0xD618, 0xc1); -writeRegister8(0xD619, 0x55); -writeRegister8(0xD61A, 0xcb); -writeRegister8(0xD61B, 0xcd); -writeRegister8(0xD61C, 0xd6); -writeRegister8(0xD61D, 0xdf); -writeRegister8(0xD61E, 0x95); -writeRegister8(0xD61F, 0xe8); -writeRegister8(0xD620, 0xf1); -writeRegister8(0xD621, 0xfa); -writeRegister8(0xD622, 0x02); -writeRegister8(0xD623, 0xaa); -writeRegister8(0xD624, 0x0b); -writeRegister8(0xD625, 0x13); -writeRegister8(0xD626, 0x1d); -writeRegister8(0xD627, 0x26); -writeRegister8(0xD628, 0xaa); -writeRegister8(0xD629, 0x30); -writeRegister8(0xD62A, 0x3c); -writeRegister8(0xD62B, 0x4A); -writeRegister8(0xD62C, 0x63); -writeRegister8(0xD62D, 0xea); -writeRegister8(0xD62E, 0x79); -writeRegister8(0xD62F, 0xa6); -writeRegister8(0xD630, 0xd0); -writeRegister8(0xD631, 0x20); -writeRegister8(0xD632, 0x0f); -writeRegister8(0xD633, 0x8e); -writeRegister8(0xD634, 0xff); - -//AVDD VOLTAGE SETTING -writeRegister8(0xB000, 0x05); -writeRegister8(0xB001, 0x05); -writeRegister8(0xB002, 0x05); -//AVEE VOLTAGE SETTING -writeRegister8(0xB100, 0x05); -writeRegister8(0xB101, 0x05); -writeRegister8(0xB102, 0x05); - -//AVDD Boosting -writeRegister8(0xB600, 0x34); -writeRegister8(0xB601, 0x34); -writeRegister8(0xB603, 0x34); -//AVEE Boosting -writeRegister8(0xB700, 0x24); -writeRegister8(0xB701, 0x24); -writeRegister8(0xB702, 0x24); -//VCL Boosting -writeRegister8(0xB800, 0x24); -writeRegister8(0xB801, 0x24); -writeRegister8(0xB802, 0x24); -//VGLX VOLTAGE SETTING -writeRegister8(0xBA00, 0x14); -writeRegister8(0xBA01, 0x14); -writeRegister8(0xBA02, 0x14); -//VCL Boosting -writeRegister8(0xB900, 0x24); -writeRegister8(0xB901, 0x24); -writeRegister8(0xB902, 0x24); -//Gamma Voltage -writeRegister8(0xBc00, 0x00); -writeRegister8(0xBc01, 0xa0);//vgmp=5.0 -writeRegister8(0xBc02, 0x00); -writeRegister8(0xBd00, 0x00); -writeRegister8(0xBd01, 0xa0);//vgmn=5.0 -writeRegister8(0xBd02, 0x00); -//VCOM Setting -writeRegister8(0xBe01, 0x3d);//3 - -//ENABLE PAGE 0 -writeRegister8(0xF000, 0x55); -writeRegister8(0xF001, 0xAA); -writeRegister8(0xF002, 0x52); -writeRegister8(0xF003, 0x08); -writeRegister8(0xF004, 0x00); -//Vivid Color Function Control -writeRegister8(0xB400, 0x10); -//Z-INVERSION -writeRegister8(0xBC00, 0x05); -writeRegister8(0xBC01, 0x05); -writeRegister8(0xBC02, 0x05); -//*************** add on 20111021**********************// -writeRegister8(0xB700, 0x22);//GATE EQ CONTROL -writeRegister8(0xB701, 0x22);//GATE EQ CONTROL -writeRegister8(0xC80B, 0x2A);//DISPLAY TIMING CONTROL -writeRegister8(0xC80C, 0x2A);//DISPLAY TIMING CONTROL -writeRegister8(0xC80F, 0x2A);//DISPLAY TIMING CONTROL -writeRegister8(0xC810, 0x2A);//DISPLAY TIMING CONTROL -//*************** add on 20111021**********************// -//PWM_ENH_OE =1 -writeRegister8(0xd000, 0x01); -//DM_SEL =1 -writeRegister8(0xb300, 0x10); -//VBPDA=07h -writeRegister8(0xBd02, 0x07); -//VBPDb=07h -writeRegister8(0xBe02, 0x07); -//VBPDc=07h -writeRegister8(0xBf02, 0x07); - -//ENABLE PAGE 2 -writeRegister8(0xF000, 0x55); -writeRegister8(0xF001, 0xAA); -writeRegister8(0xF002, 0x52); -writeRegister8(0xF003, 0x08); -writeRegister8(0xF004, 0x02); -//SDREG0 =0 -writeRegister8(0xc301, 0xa9); -//DS=14 -writeRegister8(0xfe01, 0x94); -//OSC =60h -writeRegister8(0xf600, 0x60); -//TE ON -writeRegister8(0x3500, 0x00); -writeRegister8(0xFFFF, 0xFF); - -//SLEEP OUT -writecommand(0x1100); -delay(100); -//DISPLY ON -writecommand(0x2900); -delay(100); - -writeRegister16(0x3A00, 0x55); -writeRegister8(0x3600, TFT_MAD_COLOR_ORDER); diff --git a/lib/TFT_eSPI/TFT_Drivers/RM68120_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/RM68120_Rotation.h deleted file mode 100644 index 492493a..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/RM68120_Rotation.h +++ /dev/null @@ -1,29 +0,0 @@ - -// This is the command sequence that rotates the RM68120 driver coordinate frame - - rotation = m % 4; // Limit the range of values to 0-3 - uint8_t reg = 0; - - switch (rotation) { - case 0: - reg = TFT_MAD_COLOR_ORDER; - _width = _init_width; - _height = _init_height; - break; - case 1: - reg = TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_COLOR_ORDER; - _width = _init_height; - _height = _init_width; - break; - case 2: - reg = TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER; - _width = _init_width; - _height = _init_height; - break; - case 3: - reg = TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER; - _width = _init_height; - _height = _init_width; - break; - } - writeRegister16(TFT_MADCTL, reg); \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/RM68140_Defines.h b/lib/TFT_eSPI/TFT_Drivers/RM68140_Defines.h deleted file mode 100644 index bd5fb88..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/RM68140_Defines.h +++ /dev/null @@ -1,42 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 320 -#define TFT_HEIGHT 480 - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E - -#define TFT_MADCTL 0x36 - -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read diff --git a/lib/TFT_eSPI/TFT_Drivers/RM68140_Init.h b/lib/TFT_eSPI/TFT_Drivers/RM68140_Init.h deleted file mode 100644 index cc44719..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/RM68140_Init.h +++ /dev/null @@ -1,77 +0,0 @@ - -// This is the command sequence that initialises the RM68140 driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - - -// Configure RM68140 display - - writecommand(TFT_SLPOUT); - delay(20); - - writecommand(0xD0); - writedata(0x07); - writedata(0x42); - writedata(0x18); - - writecommand(0xD1); - writedata(0x00); - writedata(0x07); - writedata(0x10); - - writecommand(0xD2); - writedata(0x01); - writedata(0x02); - - writecommand(0xC0); - writedata(0x10); - writedata(0x3B); - writedata(0x00); - writedata(0x02); - writedata(0x11); - - writecommand(0xC5); - writedata(0x03); - - writecommand(0xC8); - writedata(0x00); - writedata(0x32); - writedata(0x36); - writedata(0x45); - writedata(0x06); - writedata(0x16); - writedata(0x37); - writedata(0x75); - writedata(0x77); - writedata(0x54); - writedata(0x0C); - writedata(0x00); - - writecommand(TFT_MADCTL); - writedata(0x0A); - - writecommand(0x3A); - writedata(0x55); - - writecommand(TFT_CASET); - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0x3F); - - writecommand(TFT_PASET); - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0xDF); - - delay(120); - writecommand(TFT_DISPON); - - delay(25); -// End of RM68140 display configuration - - - diff --git a/lib/TFT_eSPI/TFT_Drivers/RM68140_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/RM68140_Rotation.h deleted file mode 100644 index 2f83d61..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/RM68140_Rotation.h +++ /dev/null @@ -1,44 +0,0 @@ - // This is the command sequence that rotates the RM68140 driver coordinate frame - - - writecommand(TFT_MADCTL); - rotation = m % 4; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_BGR); - writecommand(0xB6); - writedata(0); - writedata(0x22); - writedata(0x3B); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_MV | TFT_MAD_BGR); - writecommand(0xB6); - writedata(0); - writedata(0x02); - writedata(0x3B); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - case 2: // Inverter portrait - writedata(TFT_MAD_BGR); - writecommand(0xB6); - writedata(0); - writedata(0x42); - writedata(0x3B); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_MV | TFT_MAD_BGR); - writecommand(0xB6); - writedata(0); - writedata(0x62); - writedata(0x3B); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - } - diff --git a/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Defines.h b/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Defines.h deleted file mode 100644 index 7806eb8..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Defines.h +++ /dev/null @@ -1,58 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#define TFT_WIDTH 128 -#define TFT_HEIGHT 160 - - -// Color definitions for backwards compatibility with old sketches -// use colour definitions like TFT_BLACK to make sketches more portable -#define S6D02A1_BLACK 0x0000 /* 0, 0, 0 */ -#define S6D02A1_NAVY 0x000F /* 0, 0, 128 */ -#define S6D02A1_DARKGREEN 0x03E0 /* 0, 128, 0 */ -#define S6D02A1_DARKCYAN 0x03EF /* 0, 128, 128 */ -#define S6D02A1_MAROON 0x7800 /* 128, 0, 0 */ -#define S6D02A1_PURPLE 0x780F /* 128, 0, 128 */ -#define S6D02A1_OLIVE 0x7BE0 /* 128, 128, 0 */ -#define S6D02A1_LIGHTGREY 0xC618 /* 192, 192, 192 */ -#define S6D02A1_DARKGREY 0x7BEF /* 128, 128, 128 */ -#define S6D02A1_BLUE 0x001F /* 0, 0, 255 */ -#define S6D02A1_GREEN 0x07E0 /* 0, 255, 0 */ -#define S6D02A1_CYAN 0x07FF /* 0, 255, 255 */ -#define S6D02A1_RED 0xF800 /* 255, 0, 0 */ -#define S6D02A1_MAGENTA 0xF81F /* 255, 0, 255 */ -#define S6D02A1_YELLOW 0xFFE0 /* 255, 255, 0 */ -#define S6D02A1_WHITE 0xFFFF /* 255, 255, 255 */ -#define S6D02A1_ORANGE 0xFD20 /* 255, 165, 0 */ -#define S6D02A1_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ -#define S6D02A1_PINK 0xF81F - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E -#define TFT_IDXRD 0x00 //0xDD // ILI9341 only, indexed control register read - -#define TFT_MADCTL 0x36 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_RGB 0x00 diff --git a/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Init.h b/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Init.h deleted file mode 100644 index 1986c3e..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Init.h +++ /dev/null @@ -1,47 +0,0 @@ - -// This is the command sequence that initialises the S6D02A1 driver -// -// This setup information is in a format accecpted by the commandList() function -// which reduces FLASH space, but on an ESP8266 there is plenty available! -// -// See ILI9341_Setup.h file for an alternative simpler format - -{ - // Initialization commands for S6D02A1 screens - static const uint8_t S6D02A1_cmds[] PROGMEM = - { - 29, - 0xf0, 2, 0x5a, 0x5a, // Excommand2 - 0xfc, 2, 0x5a, 0x5a, // Excommand3 - 0x26, 1, 0x01, // Gamma set - 0xfa, 15, 0x02, 0x1f, 0x00, 0x10, 0x22, 0x30, 0x38, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3d, 0x02, 0x01, // Positive gamma control - 0xfb, 15, 0x21, 0x00, 0x02, 0x04, 0x07, 0x0a, 0x0b, 0x0c, 0x0c, 0x16, 0x1e, 0x30, 0x3f, 0x01, 0x02, // Negative gamma control - 0xfd, 11, 0x00, 0x00, 0x00, 0x17, 0x10, 0x00, 0x01, 0x01, 0x00, 0x1f, 0x1f, // Analog parameter control - 0xf4, 15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x07, 0x00, 0x3C, 0x36, 0x00, 0x3C, 0x36, 0x00, // Power control - 0xf5, 13, 0x00, 0x70, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x66, 0x06, // VCOM control - 0xf6, 11, 0x02, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x01, 0x00, // Source control - 0xf2, 17, 0x00, 0x01, 0x03, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x08, 0x08, //Display control - 0xf8, 1, 0x11, // Gate control - 0xf7, 4, 0xc8, 0x20, 0x00, 0x00, // Interface control - 0xf3, 2, 0x00, 0x00, // Power sequence control - 0x11, TFT_INIT_DELAY, 50, // Wake - 0xf3, 2+TFT_INIT_DELAY, 0x00, 0x01, 50, // Power sequence control - 0xf3, 2+TFT_INIT_DELAY, 0x00, 0x03, 50, // Power sequence control - 0xf3, 2+TFT_INIT_DELAY, 0x00, 0x07, 50, // Power sequence control - 0xf3, 2+TFT_INIT_DELAY, 0x00, 0x0f, 50, // Power sequence control - 0xf4, 15+TFT_INIT_DELAY, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x07, 0x00, 0x3C, 0x36, 0x00, 0x3C, 0x36, 0x00, 50, // Power control - 0xf3, 2+TFT_INIT_DELAY, 0x00, 0x1f, 50, // Power sequence control - 0xf3, 2+TFT_INIT_DELAY, 0x00, 0x7f, 50, // Power sequence control - 0xf3, 2+TFT_INIT_DELAY, 0x00, 0xff, 50, // Power sequence control - 0xfd, 11, 0x00, 0x00, 0x00, 0x17, 0x10, 0x00, 0x00, 0x01, 0x00, 0x16, 0x16, // Analog parameter control - 0xf4, 15, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x07, 0x00, 0x3C, 0x36, 0x00, 0x3C, 0x36, 0x00, // Power control - 0x36, 1, 0xC8, // Memory access data control - 0x35, 1, 0x00, // Tearing effect line on - 0x3a, 1+TFT_INIT_DELAY, 0x05, 150, // Interface pixel control - 0x29, 0, // Display on - 0x2c, 0 // Memory write - }; - - commandList(S6D02A1_cmds); - -} diff --git a/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Rotation.h deleted file mode 100644 index 7fa6eec..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/S6D02A1_Rotation.h +++ /dev/null @@ -1,28 +0,0 @@ - -// This is the command sequence that rotates the S6D02A1 driver coordinate frame - - rotation = m % 4; - - writecommand(TFT_MADCTL); - switch (rotation) { - case 0: - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); - _width = _init_width; - _height = _init_height; - break; - case 1: - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); - _width = _init_height; - _height = _init_width; - break; - case 2: - writedata(TFT_MAD_BGR); - _width = _init_width; - _height = _init_height; - break; - case 3: - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); - _width = _init_height; - _height = _init_width; - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/SSD1351_Defines.h b/lib/TFT_eSPI/TFT_Drivers/SSD1351_Defines.h deleted file mode 100644 index c4b0f6c..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/SSD1351_Defines.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef TFT_WIDTH - #define TFT_WIDTH 128 -#endif -#ifndef TFT_HEIGHT - #define TFT_HEIGHT 128 -#endif - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST TFT_NOP -#define TFT_CASET 0x15 // SETCOLUMN -#define TFT_PASET 0x75 // SETROW -#define TFT_RAMWR 0x5C // WRITERAM -#define TFT_RAMRD 0x5D // READRAM -#define TFT_IDXRD TFT_NOP -#define TFT_INVOFF 0xA6 // NORMALDISPLAY -#define TFT_INVON 0xA7 // INVERTDISPLAY diff --git a/lib/TFT_eSPI/TFT_Drivers/SSD1351_Init.h b/lib/TFT_eSPI/TFT_Drivers/SSD1351_Init.h deleted file mode 100644 index 2b5cff7..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/SSD1351_Init.h +++ /dev/null @@ -1,35 +0,0 @@ -{ - writecommand(0xFD); // COMMANDLOCK - writedata(0x12); - writecommand(0xFD); // COMMANDLOCK - writedata(0xB1); - writecommand(0xAE); // DISPLAYOFF - writecommand(0xB3); // CLOCKDIV - writedata(0xF1); - writecommand(0xCA); // MUXRATIO - writedata(127); - writecommand(0xA2); // DISPLAYOFFSET - writedata(0x00); - writecommand(0xB5); // SETGPIO - writedata(0x00); - writecommand(0xAB); // FUNCTIONSELECT - writedata(0x01); - writecommand(0xB1); // PRECHARGE - writedata(0x32); - writecommand(0xBE); // VCOMH - writedata(0x05); - writecommand(0xA6); // NORMALDISPLAY - writecommand(0xC1); // CONTRASTABC - writedata(0xC8); - writedata(0x80); - writedata(0xC8); - writecommand(0xC7); // CONTRASTMASTER - writedata(0x0F); - writecommand(0xB4); // SETVSL - writedata(0xA0); - writedata(0xB5); - writedata(0x55); - writecommand(0xB6); // PRECHARGE2 - writedata(0x01); - writecommand(0xAF); // DISPLAYON -} diff --git a/lib/TFT_eSPI/TFT_Drivers/SSD1351_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/SSD1351_Rotation.h deleted file mode 100644 index f500f6d..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/SSD1351_Rotation.h +++ /dev/null @@ -1,34 +0,0 @@ - -// This is the command sequence that rotates the SSD1351 driver coordinate frame - - rotation = m % 4; // Limit the range of values to 0-3 - - uint8_t madctl = 0x64; - - switch (rotation) { - case 0: - madctl |= 0x10; - _width = _init_width; - _height = _init_height; - break; - case 1: - madctl |= 0x13; - _width = _init_height; - _height = _init_width; - break; - case 2: - madctl |= 0x02; - _width = _init_width; - _height = _init_height; - break; - case 3: - madctl |= 0x01; - _width = _init_height; - _height = _init_width; - break; - } - - writecommand(0xA0); // SETREMAP - writedata(madctl); - writecommand(0xA1); // STARTLINE - writedata(rotation < 2 ? TFT_HEIGHT : 0); diff --git a/lib/TFT_eSPI/TFT_Drivers/SSD1963_Defines.h b/lib/TFT_eSPI/TFT_Drivers/SSD1963_Defines.h deleted file mode 100644 index f3ca7d4..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/SSD1963_Defines.h +++ /dev/null @@ -1,59 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#if defined (SSD1963_480_DRIVER) - #define TFT_WIDTH 272 - #define TFT_HEIGHT 480 -#elif defined (SSD1963_800_DRIVER) - #define TFT_WIDTH 480 - #define TFT_HEIGHT 800 -#elif defined (SSD1963_800ALT_DRIVER) - #define TFT_WIDTH 480 - #define TFT_HEIGHT 800 -#elif defined (SSD1963_800BD_DRIVER) - #define TFT_WIDTH 480 - #define TFT_HEIGHT 800 -#endif - -//Set driver type common to all initialisation options -#ifndef SSD1963_DRIVER - #define SSD1963_DRIVER -#endif - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E -#define TFT_IDXRD 0xDD // ILI9341 only, indexed control register read - -#define TFT_MADCTL 0x36 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_RGB 0x00 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR -#endif diff --git a/lib/TFT_eSPI/TFT_Drivers/SSD1963_Init.h b/lib/TFT_eSPI/TFT_Drivers/SSD1963_Init.h deleted file mode 100644 index 87d4ee6..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/SSD1963_Init.h +++ /dev/null @@ -1,398 +0,0 @@ -#if defined (SSD1963_480_DRIVER) - - writecommand(0xE2); //PLL multiplier, set PLL clock to 120M - writedata(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal - writedata(0x02); - writedata(0x54); - writecommand(0xE0); // PLL enable - writedata(0x01); - - delay(10); - - writecommand(0xE0); - writedata(0x03); - - delay(10); - - writecommand(0x01); // software reset - - delay(100); - - writecommand(0xE6); //PLL setting for PCLK, depends on resolution - writedata(0x01); - writedata(0x1F); - writedata(0xFF); - - writecommand(0xB0); //LCD SPECIFICATION - writedata(0x20); - writedata(0x00); - writedata(0x01); //Set HDP 479 - writedata(0xDF); - writedata(0x01); //Set VDP 271 - writedata(0x0F); - writedata(0x00); - - writecommand(0xB4); //HSYNC - writedata(0x02); //Set HT 531 - writedata(0x13); - writedata(0x00); //Set HPS 8 - writedata(0x08); - writedata(0x2B); //Set HPW 43 - writedata(0x00); //Set LPS 2 - writedata(0x02); - writedata(0x00); - - writecommand(0xB6); //VSYNC - writedata(0x01); //Set VT 288 - writedata(0x20); - writedata(0x00); //Set VPS 4 - writedata(0x04); - writedata(0x0c); //Set VPW 12 - writedata(0x00); //Set FPS 2 - writedata(0x02); - - writecommand(0xBA); - writedata(0x0F); //GPIO[3:0] out 1 - - writecommand(0xB8); - writedata(0x07); //GPIO3=input, GPIO[2:0]=output - writedata(0x01); //GPIO0 normal - - writecommand(0x36); //rotation - writedata(0x21 | TFT_MAD_COLOR_ORDER); - - writecommand(0xF0); //pixel data interface - writedata(0x00); //8-bit bus - - delay(1); - - writecommand(0xB8); - writedata(0x0f); //GPIO is controlled by host GPIO[3:0]=output GPIO[0]=1 LCD ON GPIO[0]=1 LCD OFF - writedata(0x01); //GPIO0 normal - - writecommand(0xBA); - writedata(0x01); //GPIO[0] out 1 --- LCD display on/off control PIN - - writecommand(0x2A); - writedata(0); - writedata(0); - writedata((271 & 0xFF00)>>8); - writedata(271 & 0xFF); - - writecommand(0x2B); - writedata(0); - writedata(0); - writedata((479 & 0xFF00)>>8); - writedata(479 & 0xFF); - - writecommand(0x2C); - - writecommand(0x29); //display on - - writecommand(0xBE); //set PWM for B/L - writedata(0x06); - writedata(0xf0); - writedata(0x01); - writedata(0xf0); - writedata(0x00); - writedata(0x00); - - writecommand(0xd0); - writedata(0x0d); - - writecommand(0x2C); - -#elif defined (SSD1963_800_DRIVER) - - writecommand(0xE2); //PLL multiplier, set PLL clock to 120M - writedata(0x1E); //N=0x36 for 6.5M, 0x23 for 10M crystal - writedata(0x02); - writedata(0x54); - writecommand(0xE0); // PLL enable - writedata(0x01); - - delay(10); - - writecommand(0xE0); - writedata(0x03); - - delay(10); - - writecommand(0x01); // software reset - - delay(100); - - writecommand(0xE6); //PLL setting for PCLK, depends on resolution - writedata(0x03); - writedata(0xFF); - writedata(0xFF); - - writecommand(0xB0); //LCD SPECIFICATION - writedata(0x20); - writedata(0x00); - writedata(0x03); //Set HDP 799 - writedata(0x1F); - writedata(0x01); //Set VDP 479 - writedata(0xDF); - writedata(0x00); - - writecommand(0xB4); //HSYNC - writedata(0x03); //Set HT 928 - writedata(0xA0); - writedata(0x00); //Set HPS 46 - writedata(0x2E); - writedata(0x30); //Set HPW 48 - writedata(0x00); //Set LPS 15 - writedata(0x0F); - writedata(0x00); - - writecommand(0xB6); //VSYNC - writedata(0x02); //Set VT 525 - writedata(0x0D); - writedata(0x00); //Set VPS 16 - writedata(0x10); - writedata(0x10); //Set VPW 16 - writedata(0x00); //Set FPS 8 - writedata(0x08); - - writecommand(0xBA); - writedata(0x0F); //GPIO[3:0] out 1 - - writecommand(0xB8); - writedata(0x07); //GPIO3=input, GPIO[2:0]=output - writedata(0x01); //GPIO0 normal - - writecommand(0x36); //rotation - writedata(0x21 | TFT_MAD_COLOR_ORDER); - - writecommand(0xF0); //pixel data interface - writedata(0x00); //8-bit bus - - delay(1); - - writecommand(0xB8); - writedata(0x0f); //GPIO is controlled by host GPIO[3:0]=output GPIO[0]=1 LCD ON GPIO[0]=1 LCD OFF - writedata(0x01); //GPIO0 normal - - writecommand(0xBA); - writedata(0x01); //GPIO[0] out 1 --- LCD display on/off control PIN - - writecommand(0x2A); - writedata(0); - writedata(0); - writedata((479 & 0xFF00)>>8); - writedata(479 & 0xFF); - - writecommand(0x2B); - writedata(0); - writedata(0); - writedata((799 & 0xFF00)>>8); - writedata(799 & 0xFF); - - writecommand(0x2C); - - writecommand(0x29); //display on - - writecommand(0xBE); //set PWM for B/L - writedata(0x06); - writedata(0xf0); - writedata(0x01); - writedata(0xf0); - writedata(0x00); - writedata(0x00); - - writecommand(0xd0); - writedata(0x0d); - - writecommand(0x2C); - -#elif defined (SSD1963_800ALT_DRIVER) - - writecommand(0xE2); //PLL multiplier, set PLL clock to 120M - writedata(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal - writedata(0x02); - writedata(0x04); - writecommand(0xE0); // PLL enable - writedata(0x01); - - delay(10); - - writecommand(0xE0); - writedata(0x03); - - delay(10); - - writecommand(0x01); // software reset - - delay(100); - - writecommand(0xE6); //PLL setting for PCLK, depends on resolution - writedata(0x04); - writedata(0x93); - writedata(0xE0); - - writecommand(0xB0); //LCD SPECIFICATION - writedata(0x00); // 0x24 - writedata(0x00); - writedata(0x03); //Set HDP 799 - writedata(0x1F); - writedata(0x01); //Set VDP 479 - writedata(0xDF); - writedata(0x00); - - writecommand(0xB4); //HSYNC - writedata(0x03); //Set HT 928 - writedata(0xA0); - writedata(0x00); //Set HPS 46 - writedata(0x2E); - writedata(0x30); //Set HPW 48 - writedata(0x00); //Set LPS 15 - writedata(0x0F); - writedata(0x00); - - writecommand(0xB6); //VSYNC - writedata(0x02); //Set VT 525 - writedata(0x0D); - writedata(0x00); //Set VPS 16 - writedata(0x10); - writedata(0x10); //Set VPW 16 - writedata(0x00); //Set FPS 8 - writedata(0x08); - - writecommand(0xBA); - writedata(0x05); //GPIO[3:0] out 1 - - writecommand(0xB8); - writedata(0x07); //GPIO3=input, GPIO[2:0]=output - writedata(0x01); //GPIO0 normal - - writecommand(0x36); //rotation - writedata(0x21 | TFT_MAD_COLOR_ORDER); // -- Set rotation - - writecommand(0xF0); //pixel data interface - writedata(0x00); //8-bit bus - - delay(10); - - writecommand(0x2A); - writedata(0); - writedata(0); - writedata((479 & 0xFF00)>>8); - writedata(479 & 0xFF); - - writecommand(0x2B); - writedata(0); - writedata(0); - writedata((799 & 0xFF00)>>8); - writedata(799 & 0xFF); - - writecommand(0x2C); - - writecommand(0x29); //display on - - writecommand(0xBE); //set PWM for B/L - writedata(0x06); - writedata(0xF0); - writedata(0x01); - writedata(0xF0); - writedata(0x00); - writedata(0x00); - - writecommand(0xD0); - writedata(0x0D); - - writecommand(0x2C); - -#elif defined (SSD1963_800BD_DRIVER) // Copied from Buy Display code - - writecommand(0xE2); //PLL multiplier, set PLL clock to 120M - writedata(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal - writedata(0x02); - writedata(0x54); - - writecommand(0xE0); // PLL enable - writedata(0x01); - - delay(10); - - writecommand(0xE0); - writedata(0x03); - - delay(10); - - writecommand(0x01); // software reset - - delay(100); - - writecommand(0xE6); //PLL setting for PCLK, depends on resolution - writedata(0x03); - writedata(0x33); - writedata(0x33); - - writecommand(0xB0); //LCD SPECIFICATION - writedata(0x20); - writedata(0x00); - writedata(799 >> 8); //Set HDP 799 - writedata(799 & 0xFF); - writedata(479 >> 8); //Set VDP 479 - writedata(479 & 0xFF); - writedata(0x00); - - writecommand(0xB4); //HSYNC - writedata(0x04); //Set HT - writedata(0x1F); - writedata(0x00); //Set HPS - writedata(0xD2); - writedata(0x00); //Set HPW - writedata(0x00); //Set LPS - writedata(0x00); - writedata(0x00); - - writecommand(0xB6); //VSYNC - writedata(0x02); //Set VT - writedata(0x0C); - writedata(0x00); //Set VPS - writedata(0x22); - writedata(0x00); //Set VPW - writedata(0x00); //Set FPS - writedata(0x00); - - writecommand(0xB8); - writedata(0x0F); //GPIO3=input, GPIO[2:0]=output - writedata(0x01); //GPIO0 normal - - writecommand(0xBA); - writedata(0x01); //GPIO[0] out 1 --- LCD display on/off control PIN - - writecommand(0x36); //rotation - writedata(0x21 | TFT_MAD_COLOR_ORDER); //set to rotate - - //writecommand(0x003A); //Set the current pixel format for RGB image data - //writedata(0x0050); //16-bit/pixel - - writecommand(0xF0); //pixel data interface - writedata(0x00); //000 = 8-bit bus, 011 = 16-bit, 110 = 9-bit - - writecommand(0xBC); - writedata(0x40); //contrast value - writedata(0x80); //brightness value - writedata(0x40); //saturation value - writedata(0x01); //Post Processor Enable - - - delay(10); - - writecommand(0x29); //display on - - writecommand(0xBE); //set PWM for B/L - writedata(0x06); - writedata(0x80); - writedata(0x01); - writedata(0xF0); - writedata(0x00); - writedata(0x00); - - writecommand(0xD0); - writedata(0x0D); - -#endif \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/SSD1963_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/SSD1963_Rotation.h deleted file mode 100644 index 6e61171..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/SSD1963_Rotation.h +++ /dev/null @@ -1,29 +0,0 @@ - -// This is the command sequence that rotates the SSD1963 driver coordinate frame - - rotation = m % 4; // Limit the range of values to 0-3 - - writecommand(TFT_MADCTL); - switch (rotation) { - case 0: - writedata(0x21 | TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 1: - writedata(0x00 | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; - break; - case 2: - writedata(0x22 | TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 3: - writedata(0x03 | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; - break; - - } diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7735_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ST7735_Defines.h deleted file mode 100644 index b02ee15..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7735_Defines.h +++ /dev/null @@ -1,179 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#ifndef TFT_WIDTH - #define TFT_WIDTH 128 -#endif -#ifndef TFT_HEIGHT - #define TFT_HEIGHT 160 -#endif - - -// Enumerate the different configurations -#define INITR_GREENTAB 0x0 -#define INITR_REDTAB 0x1 -#define INITR_BLACKTAB 0x2 // Display with no offsets -#define INITR_GREENTAB2 0x3 // Use if you get random pixels on two edges of green tab display -#define INITR_GREENTAB3 0x4 // Use if you get random pixels on edge(s) of 128x128 screen -#define INITR_GREENTAB128 0x5 // Use if you only get part of 128x128 screen in rotation 0 & 1 -#define INITR_GREENTAB160x80 0x6 // Use if you only get part of 128x128 screen in rotation 0 & 1 -#define INITR_REDTAB160x80 0x7 // Added for https://www.aliexpress.com/item/ShengYang-1pcs-IPS-0-96-inch-7P-SPI-HD-65K-Full-Color-OLED-Module-ST7735-Drive/32918394604.html -#define INITR_ROBOTLCD 0x8 -#define INITB 0xB - - -// Setup the tab color that will be used by the library setRotation() and setup command list -#if defined (ST7735_INITB) - #define TAB_COLOUR INITB - -#elif defined (ST7735_GREENTAB) - #define TAB_COLOUR INITR_GREENTAB - #define CGRAM_OFFSET - -#elif defined (ST7735_GREENTAB2) - #define TAB_COLOUR INITR_GREENTAB2 - #define CGRAM_OFFSET - -#elif defined (ST7735_GREENTAB3) - #define TAB_COLOUR INITR_GREENTAB3 - #define CGRAM_OFFSET - -#elif defined (ST7735_GREENTAB128) - #define TAB_COLOUR INITR_GREENTAB128 - #define CGRAM_OFFSET - -#elif defined (ST7735_GREENTAB160x80) - #define TAB_COLOUR INITR_GREENTAB160x80 - #define CGRAM_OFFSET - -#elif defined (ST7735_ROBOTLCD) - #define TAB_COLOUR INITR_ROBOTLCD - #define CGRAM_OFFSET - -#elif defined (ST7735_REDTAB160x80) - #define TAB_COLOUR INITR_REDTAB160x80 - #define CGRAM_OFFSET - -#elif defined (ST7735_REDTAB) - #define TAB_COLOUR INITR_REDTAB - -#elif defined (ST7735_BLACKTAB) - #define TAB_COLOUR INITR_BLACKTAB - -#else // Make sure it is not undefined - #define TAB_COLOUR INITR_BLACKTAB -#endif - - -// Color definitions for backwards compatibility with old sketches -// use colour definitions like TFT_BLACK to make sketches more portable -#define ST7735_BLACK 0x0000 /* 0, 0, 0 */ -#define ST7735_NAVY 0x000F /* 0, 0, 128 */ -#define ST7735_DARKGREEN 0x03E0 /* 0, 128, 0 */ -#define ST7735_DARKCYAN 0x03EF /* 0, 128, 128 */ -#define ST7735_MAROON 0x7800 /* 128, 0, 0 */ -#define ST7735_PURPLE 0x780F /* 128, 0, 128 */ -#define ST7735_OLIVE 0x7BE0 /* 128, 128, 0 */ -#define ST7735_LIGHTGREY 0xC618 /* 192, 192, 192 */ -#define ST7735_DARKGREY 0x7BEF /* 128, 128, 128 */ -#define ST7735_BLUE 0x001F /* 0, 0, 255 */ -#define ST7735_GREEN 0x07E0 /* 0, 255, 0 */ -#define ST7735_CYAN 0x07FF /* 0, 255, 255 */ -#define ST7735_RED 0xF800 /* 255, 0, 0 */ -#define ST7735_MAGENTA 0xF81F /* 255, 0, 255 */ -#define ST7735_YELLOW 0xFFE0 /* 255, 255, 0 */ -#define ST7735_WHITE 0xFFFF /* 255, 255, 255 */ -#define ST7735_ORANGE 0xFD20 /* 255, 165, 0 */ -#define ST7735_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ -#define ST7735_PINK 0xF81F - - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C - -#define TFT_RAMRD 0x2E -#define TFT_IDXRD 0x00 //0xDD // ILI9341 only, indexed control register read - -#define TFT_MADCTL 0x36 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_RGB 0x00 - -#ifndef TFT_RGB_ORDER - #if defined(ST7735_BLACKTAB) || defined(ST7735_GREENTAB2) || defined(ST7735_INITB) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#endif - -// ST7735 specific commands used in init -#define ST7735_NOP 0x00 -#define ST7735_SWRESET 0x01 -#define ST7735_RDDID 0x04 -#define ST7735_RDDST 0x09 - -#define ST7735_SLPIN 0x10 -#define ST7735_SLPOUT 0x11 -#define ST7735_PTLON 0x12 -#define ST7735_NORON 0x13 - -#define ST7735_INVOFF 0x20 -#define ST7735_INVON 0x21 -#define ST7735_DISPOFF 0x28 -#define ST7735_DISPON 0x29 -#define ST7735_CASET 0x2A -#define ST7735_RASET 0x2B // PASET -#define ST7735_RAMWR 0x2C -#define ST7735_RAMRD 0x2E - -#define ST7735_PTLAR 0x30 -#define ST7735_COLMOD 0x3A -#define ST7735_MADCTL 0x36 - -#define ST7735_FRMCTR1 0xB1 -#define ST7735_FRMCTR2 0xB2 -#define ST7735_FRMCTR3 0xB3 -#define ST7735_INVCTR 0xB4 -#define ST7735_DISSET5 0xB6 - -#define ST7735_PWCTR1 0xC0 -#define ST7735_PWCTR2 0xC1 -#define ST7735_PWCTR3 0xC2 -#define ST7735_PWCTR4 0xC3 -#define ST7735_PWCTR5 0xC4 -#define ST7735_VMCTR1 0xC5 - -#define ST7735_RDID1 0xDA -#define ST7735_RDID2 0xDB -#define ST7735_RDID3 0xDC -#define ST7735_RDID4 0xDD - -#define ST7735_PWCTR6 0xFC - -#define ST7735_GMCTRP1 0xE0 -#define ST7735_GMCTRN1 0xE1 diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7735_Init.h b/lib/TFT_eSPI/TFT_Drivers/ST7735_Init.h deleted file mode 100644 index 3b525f2..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7735_Init.h +++ /dev/null @@ -1,218 +0,0 @@ - -// This is the command sequence that initialises the ST7735 driver -// -// This setup information is in a format accepted by the commandList() function -// which reduces FLASH space, but on an ESP8266 there is plenty available! -// -// See ILI9341_Setup.h file for an alternative simpler format - -{ - // Initialization commands for ST7735 screens - static const uint8_t PROGMEM - Bcmd[] = { // Initialization commands for 7735B screens - 18, // 18 commands in list: - ST7735_SWRESET, TFT_INIT_DELAY, // 1: Software reset, no args, w/delay - 50, // 50 ms delay - ST7735_SLPOUT , TFT_INIT_DELAY, // 2: Out of sleep mode, no args, w/delay - 255, // 255 = 500 ms delay - ST7735_COLMOD , 1+TFT_INIT_DELAY, // 3: Set color mode, 1 arg + delay: - 0x05, // 16-bit color - 10, // 10 ms delay - ST7735_FRMCTR1, 3+TFT_INIT_DELAY, // 4: Frame rate control, 3 args + delay: - 0x00, // fastest refresh - 0x06, // 6 lines front porch - 0x03, // 3 lines back porch - 10, // 10 ms delay - ST7735_MADCTL , 1 , // 5: Memory access ctrl (directions), 1 arg: - 0x40 | TFT_MAD_COLOR_ORDER, // Row addr/col addr, bottom to top refresh - ST7735_DISSET5, 2 , // 6: Display settings #5, 2 args, no delay: - 0x15, // 1 clk cycle nonoverlap, 2 cycle gate - // rise, 3 cycle osc equalize - 0x02, // Fix on VTL - ST7735_INVCTR , 1 , // 7: Display inversion control, 1 arg: - 0x0, // Line inversion - ST7735_PWCTR1 , 2+TFT_INIT_DELAY, // 8: Power control, 2 args + delay: - 0x02, // GVDD = 4.7V - 0x70, // 1.0uA - 10, // 10 ms delay - ST7735_PWCTR2 , 1 , // 9: Power control, 1 arg, no delay: - 0x05, // VGH = 14.7V, VGL = -7.35V - ST7735_PWCTR3 , 2 , // 10: Power control, 2 args, no delay: - 0x01, // Opamp current small - 0x02, // Boost frequency - ST7735_VMCTR1 , 2+TFT_INIT_DELAY, // 11: Power control, 2 args + delay: - 0x3C, // VCOMH = 4V - 0x38, // VCOML = -1.1V - 10, // 10 ms delay - ST7735_PWCTR6 , 2 , // 12: Power control, 2 args, no delay: - 0x11, 0x15, - ST7735_GMCTRP1,16 , // 13: Magical unicorn dust, 16 args, no delay: - 0x09, 0x16, 0x09, 0x20, // (seriously though, not sure what - 0x21, 0x1B, 0x13, 0x19, // these config values represent) - 0x17, 0x15, 0x1E, 0x2B, - 0x04, 0x05, 0x02, 0x0E, - ST7735_GMCTRN1,16+TFT_INIT_DELAY, // 14: Sparkles and rainbows, 16 args + delay: - 0x0B, 0x14, 0x08, 0x1E, // (ditto) - 0x22, 0x1D, 0x18, 0x1E, - 0x1B, 0x1A, 0x24, 0x2B, - 0x06, 0x06, 0x02, 0x0F, - 10, // 10 ms delay - ST7735_CASET , 4 , // 15: Column addr set, 4 args, no delay: - 0x00, 0x02, // XSTART = 2 - 0x00, 0x81, // XEND = 129 - ST7735_RASET , 4 , // 16: Row addr set, 4 args, no delay: - 0x00, 0x02, // XSTART = 1 - 0x00, 0x81, // XEND = 160 - ST7735_NORON , TFT_INIT_DELAY, // 17: Normal display on, no args, w/delay - 10, // 10 ms delay - ST7735_DISPON , TFT_INIT_DELAY, // 18: Main screen turn on, no args, w/delay - 255 }, // 255 = 500 ms delay - - Rcmd1[] = { // Init for 7735R, part 1 (red or green tab) - 15, // 15 commands in list: - ST7735_SWRESET, TFT_INIT_DELAY, // 1: Software reset, 0 args, w/delay - 150, // 150 ms delay - ST7735_SLPOUT , TFT_INIT_DELAY, // 2: Out of sleep mode, 0 args, w/delay - 255, // 500 ms delay - ST7735_FRMCTR1, 3 , // 3: Frame rate ctrl - normal mode, 3 args: - 0x01, 0x2C, 0x2D, // Rate = fosc/(1x2+40) * (LINE+2C+2D) - ST7735_FRMCTR2, 3 , // 4: Frame rate control - idle mode, 3 args: - 0x01, 0x2C, 0x2D, // Rate = fosc/(1x2+40) * (LINE+2C+2D) - ST7735_FRMCTR3, 6 , // 5: Frame rate ctrl - partial mode, 6 args: - 0x01, 0x2C, 0x2D, // Dot inversion mode - 0x01, 0x2C, 0x2D, // Line inversion mode - ST7735_INVCTR , 1 , // 6: Display inversion ctrl, 1 arg, no delay: - 0x07, // No inversion - ST7735_PWCTR1 , 3 , // 7: Power control, 3 args, no delay: - 0xA2, - 0x02, // -4.6V - 0x84, // AUTO mode - ST7735_PWCTR2 , 1 , // 8: Power control, 1 arg, no delay: - 0xC5, // VGH25 = 2.4C VGSEL = -10 VGH = 3 * AVDD - ST7735_PWCTR3 , 2 , // 9: Power control, 2 args, no delay: - 0x0A, // Opamp current small - 0x00, // Boost frequency - ST7735_PWCTR4 , 2 , // 10: Power control, 2 args, no delay: - 0x8A, // BCLK/2, Opamp current small & Medium low - 0x2A, - ST7735_PWCTR5 , 2 , // 11: Power control, 2 args, no delay: - 0x8A, 0xEE, - ST7735_VMCTR1 , 1 , // 12: Power control, 1 arg, no delay: - 0x0E, - ST7735_INVOFF , 0 , // 13: Don't invert display, no args, no delay - ST7735_MADCTL , 1 , // 14: Memory access control (directions), 1 arg: - 0xC0 | TFT_MAD_COLOR_ORDER, // row addr/col addr, bottom to top refresh - ST7735_COLMOD , 1 , // 15: set color mode, 1 arg, no delay: - 0x05 }, // 16-bit color - - Rcmd2green[] = { // Init for 7735R, part 2 (green tab only) - 2, // 2 commands in list: - ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: - 0x00, 0x02, // XSTART = 0 - 0x00, 0x7F+0x02, // XEND = 127 - ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: - 0x00, 0x01, // XSTART = 0 - 0x00, 0x9F+0x01 }, // XEND = 159 - - Rcmd2red[] = { // Init for 7735R, part 2 (red tab only) - 2, // 2 commands in list: - ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: - 0x00, 0x00, // XSTART = 0 - 0x00, 0x7F, // XEND = 127 - ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: - 0x00, 0x00, // XSTART = 0 - 0x00, 0x9F }, // XEND = 159 - - // Frame control init for RobotLCD, taken from https://github.com/arduino-libraries/TFT, Adafruit_ST7735.cpp l. 263, commit 61b8a7e - Rcmd3RobotLCD[] = { - 3, - ST7735_FRMCTR1, 2 , // 1: Frame rate ctrl - normal mode, 2 args - 0x0B, 0x14, - ST7735_FRMCTR2, 2 , // 2: Frame rate ctrl - idle mode, 2 args - 0x0B, 0x14, - ST7735_FRMCTR3, 4 , // 3: Frame rate ctrl - partial mode, 4 args - 0x0B, 0x14, - 0x0B, 0x14 }, - - Rcmd3[] = { // Init for 7735R, part 3 (red or green tab) - 4, // 4 commands in list: - ST7735_GMCTRP1, 16 , // 1: 16 args, no delay: - 0x02, 0x1c, 0x07, 0x12, - 0x37, 0x32, 0x29, 0x2d, - 0x29, 0x25, 0x2B, 0x39, - 0x00, 0x01, 0x03, 0x10, - ST7735_GMCTRN1, 16 , // 2: 16 args, no delay: - 0x03, 0x1d, 0x07, 0x06, - 0x2E, 0x2C, 0x29, 0x2D, - 0x2E, 0x2E, 0x37, 0x3F, - 0x00, 0x00, 0x02, 0x10, - ST7735_NORON , TFT_INIT_DELAY, // 3: Normal display on, no args, w/delay - 10, // 10 ms delay - ST7735_DISPON , TFT_INIT_DELAY, // 4: Main screen turn on, no args w/delay - 100 }; // 100 ms delay - - if (tabcolor == INITB) - { - commandList(Bcmd); - } - else - { - commandList(Rcmd1); - - if (tabcolor == INITR_GREENTAB) - { - commandList(Rcmd2green); - colstart = 2; - rowstart = 1; - } - else if (tabcolor == INITR_GREENTAB2) - { - commandList(Rcmd2green); - writecommand(ST7735_MADCTL); - writedata(0xC0 | TFT_MAD_COLOR_ORDER); - colstart = 2; - rowstart = 1; - } - else if (tabcolor == INITR_GREENTAB3) - { - commandList(Rcmd2green); - colstart = 2; - rowstart = 3; - } - else if (tabcolor == INITR_GREENTAB128) - { - commandList(Rcmd2green); - colstart = 0; - rowstart = 32; - } - else if (tabcolor == INITR_GREENTAB160x80) - { - commandList(Rcmd2green); - writecommand(TFT_INVON); - colstart = 26; - rowstart = 1; - } - else if (tabcolor == INITR_ROBOTLCD) - { - commandList(Rcmd2green); - commandList(Rcmd3RobotLCD); - } - else if (tabcolor == INITR_REDTAB160x80) - { - commandList(Rcmd2green); - colstart = 24; - rowstart = 0; - } - else if (tabcolor == INITR_REDTAB) - { - commandList(Rcmd2red); - } - else if (tabcolor == INITR_BLACKTAB) - { - writecommand(ST7735_MADCTL); - writedata(0xC0 | TFT_MAD_COLOR_ORDER); - } - - commandList(Rcmd3); - } -} diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7735_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ST7735_Rotation.h deleted file mode 100644 index 3c17b71..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7735_Rotation.h +++ /dev/null @@ -1,132 +0,0 @@ - -// This is the command sequence that rotates the ST7735 driver coordinate frame - - rotation = m % 4; // Limit the range of values to 0-3 - - writecommand(TFT_MADCTL); - switch (rotation) { - case 0: - if (tabcolor == INITR_BLACKTAB) { - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - } else if(tabcolor == INITR_GREENTAB2) { - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - colstart = 2; - rowstart = 1; - } else if(tabcolor == INITR_GREENTAB3) { - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - colstart = 2; - rowstart = 3; - } else if(tabcolor == INITR_GREENTAB128) { - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MH | TFT_MAD_COLOR_ORDER); - colstart = 0; - rowstart = 32; - } else if(tabcolor == INITR_GREENTAB160x80) { - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MH | TFT_MAD_COLOR_ORDER); - colstart = 26; - rowstart = 1; - } else if(tabcolor == INITR_REDTAB160x80) { - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MH | TFT_MAD_COLOR_ORDER); - colstart = 24; - rowstart = 0; - } else if(tabcolor == INITB) { - writedata(TFT_MAD_MX | TFT_MAD_COLOR_ORDER); - } else { - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - } - _width = _init_width; - _height = _init_height; - break; - case 1: - if (tabcolor == INITR_BLACKTAB) { - writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - } else if(tabcolor == INITR_GREENTAB2) { - writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - colstart = 1; - rowstart = 2; - } else if(tabcolor == INITR_GREENTAB3) { - writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - colstart = 3; - rowstart = 2; - } else if(tabcolor == INITR_GREENTAB128) { - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - colstart = 32; - rowstart = 0; - } else if(tabcolor == INITR_GREENTAB160x80) { - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - colstart = 1; - rowstart = 26; - } else if(tabcolor == INITR_REDTAB160x80) { - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - colstart = 0; - rowstart = 24; - } else if(tabcolor == INITB) { - writedata(TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - } else { - writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - } - _width = _init_height; - _height = _init_width; - break; - case 2: - if (tabcolor == INITR_BLACKTAB) { - writedata(TFT_MAD_COLOR_ORDER); - } else if(tabcolor == INITR_GREENTAB2) { - writedata(TFT_MAD_COLOR_ORDER); - colstart = 2; - rowstart = 1; - } else if(tabcolor == INITR_GREENTAB3) { - writedata(TFT_MAD_COLOR_ORDER); - colstart = 2; - rowstart = 1; - } else if(tabcolor == INITR_GREENTAB128) { - writedata(TFT_MAD_COLOR_ORDER); - colstart = 0; - rowstart = 0; - } else if(tabcolor == INITR_GREENTAB160x80) { - writedata(TFT_MAD_COLOR_ORDER); - colstart = 26; - rowstart = 1; - } else if(tabcolor == INITR_REDTAB160x80) { - writedata(TFT_MAD_COLOR_ORDER); - colstart = 24; - rowstart = 0; - } else if(tabcolor == INITB) { - writedata(TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - } else { - writedata(TFT_MAD_COLOR_ORDER); - } - _width = _init_width; - _height = _init_height; - break; - case 3: - if (tabcolor == INITR_BLACKTAB) { - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - } else if(tabcolor == INITR_GREENTAB2) { - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - colstart = 1; - rowstart = 2; - } else if(tabcolor == INITR_GREENTAB3) { - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - colstart = 1; - rowstart = 2; - } else if(tabcolor == INITR_GREENTAB128) { - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - colstart = 0; - rowstart = 0; - } else if(tabcolor == INITR_GREENTAB160x80) { - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - colstart = 1; - rowstart = 26; - } else if(tabcolor == INITR_REDTAB160x80) { - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - colstart = 0; - rowstart = 24; - } else if(tabcolor == INITB) { - writedata(TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - } else { - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - } - _width = _init_height; - _height = _init_width; - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Defines.h deleted file mode 100644 index 917e602..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Defines.h +++ /dev/null @@ -1,178 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#ifndef TFT_WIDTH - #define TFT_WIDTH 240 -#endif -#ifndef TFT_HEIGHT - #define TFT_HEIGHT 320 -#endif - -#if (TFT_HEIGHT == 240) && (TFT_WIDTH == 240) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// Adafruit 1.44 TFT support -#if (TFT_HEIGHT == 240) && (TFT_WIDTH == 135) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// Adafruit 1.69 round corner TFT support -#if (TFT_HEIGHT == 280) && (TFT_WIDTH == 240) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// 1.47" 172x320 Round Rectangle Color IPS TFT Display -#if (TFT_HEIGHT == 320) && (TFT_WIDTH == 172) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -#if (TFT_HEIGHT == 320) && (TFT_WIDTH == 170) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -#if (TFT_HEIGHT == 300) && (TFT_WIDTH == 240) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 -#define TFT_NORON 0x13 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C -#define TFT_RAMRD 0x2E -#define TFT_MADCTL 0x36 -#define TFT_COLMOD 0x3A - -// Flags for TFT_MADCTL -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #ifdef CGRAM_OFFSET - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #endif -#endif - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read - -#define ST_CMD_DELAY 0x80 // special signifier for command lists -#define ST7789_240x240_XSTART 0 -#define ST7789_240x240_YSTART 0 - -// ST7789 specific commands used in init -#define ST7789_NOP 0x00 -#define ST7789_SWRESET 0x01 -#define ST7789_RDDID 0x04 -#define ST7789_RDDST 0x09 - -#define ST7789_RDDPM 0x0A // Read display power mode -#define ST7789_RDD_MADCTL 0x0B // Read display MADCTL -#define ST7789_RDD_COLMOD 0x0C // Read display pixel format -#define ST7789_RDDIM 0x0D // Read display image mode -#define ST7789_RDDSM 0x0E // Read display signal mode -#define ST7789_RDDSR 0x0F // Read display self-diagnostic result (ST7789V) - -#define ST7789_SLPIN 0x10 -#define ST7789_SLPOUT 0x11 -#define ST7789_PTLON 0x12 -#define ST7789_NORON 0x13 - -#define ST7789_INVOFF 0x20 -#define ST7789_INVON 0x21 -#define ST7789_GAMSET 0x26 // Gamma set -#define ST7789_DISPOFF 0x28 -#define ST7789_DISPON 0x29 -#define ST7789_CASET 0x2A -#define ST7789_RASET 0x2B -#define ST7789_RAMWR 0x2C -#define ST7789_RGBSET 0x2D // Color setting for 4096, 64K and 262K colors -#define ST7789_RAMRD 0x2E - -#define ST7789_PTLAR 0x30 -#define ST7789_VSCRDEF 0x33 // Vertical scrolling definition (ST7789V) -#define ST7789_TEOFF 0x34 // Tearing effect line off -#define ST7789_TEON 0x35 // Tearing effect line on -#define ST7789_MADCTL 0x36 // Memory data access control -#define ST7789_IDMOFF 0x38 // Idle mode off -#define ST7789_IDMON 0x39 // Idle mode on -#define ST7789_RAMWRC 0x3C // Memory write continue (ST7789V) -#define ST7789_RAMRDC 0x3E // Memory read continue (ST7789V) -#define ST7789_COLMOD 0x3A - -#define ST7789_RAMCTRL 0xB0 // RAM control -#define ST7789_RGBCTRL 0xB1 // RGB control -#define ST7789_PORCTRL 0xB2 // Porch control -#define ST7789_FRCTRL1 0xB3 // Frame rate control -#define ST7789_PARCTRL 0xB5 // Partial mode control -#define ST7789_GCTRL 0xB7 // Gate control -#define ST7789_GTADJ 0xB8 // Gate on timing adjustment -#define ST7789_DGMEN 0xBA // Digital gamma enable -#define ST7789_VCOMS 0xBB // VCOMS setting -#define ST7789_LCMCTRL 0xC0 // LCM control -#define ST7789_IDSET 0xC1 // ID setting -#define ST7789_VDVVRHEN 0xC2 // VDV and VRH command enable -#define ST7789_VRHS 0xC3 // VRH set -#define ST7789_VDVSET 0xC4 // VDV setting -#define ST7789_VCMOFSET 0xC5 // VCOMS offset set -#define ST7789_FRCTR2 0xC6 // FR Control 2 -#define ST7789_CABCCTRL 0xC7 // CABC control -#define ST7789_REGSEL1 0xC8 // Register value section 1 -#define ST7789_REGSEL2 0xCA // Register value section 2 -#define ST7789_PWMFRSEL 0xCC // PWM frequency selection -#define ST7789_PWCTRL1 0xD0 // Power control 1 -#define ST7789_VAPVANEN 0xD2 // Enable VAP/VAN signal output -#define ST7789_CMD2EN 0xDF // Command 2 enable -#define ST7789_PVGAMCTRL 0xE0 // Positive voltage gamma control -#define ST7789_NVGAMCTRL 0xE1 // Negative voltage gamma control -#define ST7789_DGMLUTR 0xE2 // Digital gamma look-up table for red -#define ST7789_DGMLUTB 0xE3 // Digital gamma look-up table for blue -#define ST7789_GATECTRL 0xE4 // Gate control -#define ST7789_SPI2EN 0xE7 // SPI2 enable -#define ST7789_PWCTRL2 0xE8 // Power control 2 -#define ST7789_EQCTRL 0xE9 // Equalize time control -#define ST7789_PROMCTRL 0xEC // Program control -#define ST7789_PROMEN 0xFA // Program mode enable -#define ST7789_NVMSET 0xFC // NVM setting -#define ST7789_PROMACT 0xFE // Program action - diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Init.h b/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Init.h deleted file mode 100644 index 3cd9630..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Init.h +++ /dev/null @@ -1,22 +0,0 @@ - -// This is the command sequence that initialises the ST7789 driver - -// Configure ST7789 display - -{ -static const uint8_t PROGMEM - st7789[] = { - 8, - TFT_SLPOUT, TFT_INIT_DELAY, 255, - TFT_COLMOD, 1+TFT_INIT_DELAY, 0x55, 10, - TFT_MADCTL, 1, 0x00, - TFT_CASET, 4, 0x00, 0x00, 0x00, 0xF0, - TFT_PASET, 4, 0x00, 0x00, 0x00, 0xF0, - TFT_INVON, TFT_INIT_DELAY, 10, - TFT_NORON, TFT_INIT_DELAY, 10, - TFT_DISPON, TFT_INIT_DELAY, 255 - }; - - commandList(st7789); -} -// End of ST7789 display configuration \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Rotation.h deleted file mode 100644 index df5860c..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7789_2_Rotation.h +++ /dev/null @@ -1,140 +0,0 @@ - // This is the command sequence that rotates the ST7789 driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 4; - switch (rotation) { - case 0: // Portrait -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 52; - rowstart = 40; - } - else if(_init_height == 280) - { - colstart = 0; - rowstart = 20; - } - else if(_init_width == 172) - { - colstart = 34; - rowstart = 0; - } - else if(_init_width == 170) - { - colstart = 35; - rowstart = 0; - } - else - { - colstart = 0; - rowstart = 0; - } -#endif - writedata(TFT_MAD_COLOR_ORDER); - - _width = _init_width; - _height = _init_height; - break; - - case 1: // Landscape (Portrait + 90) -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 40; - rowstart = 53; - } - else if(_init_height == 280) - { - colstart = 20; - rowstart = 0; - } - else if(_init_width == 172) - { - colstart = 0; - rowstart = 34; - } - else if(_init_width == 170) - { - colstart = 0; - rowstart = 35; - } - else - { - colstart = 0; - rowstart = 0; - } -#endif - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - - _width = _init_height; - _height = _init_width; - break; - - case 2: // Inverter portrait -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 53; - rowstart = 40; - } - else if(_init_height == 280) - { - colstart = 0; - rowstart = 20; - } - else if(_init_width == 172) - { - colstart = 34; - rowstart = 0; - } - else if(_init_width == 170) - { - colstart = 35; - rowstart = 0; - } - else - { - colstart = 0; - rowstart = 80; - } -#endif - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - - _width = _init_width; - _height = _init_height; - break; - case 3: // Inverted landscape -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 40; - rowstart = 52; - } - else if(_init_height == 280) - { - colstart = 20; - rowstart = 0; - } - else if(_init_width == 172) - { - colstart = 0; - rowstart = 34; - } - else if(_init_width == 170) - { - colstart = 0; - rowstart = 35; - } - else - { - colstart = 80; - rowstart = 0; - } -#endif - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - - _width = _init_height; - _height = _init_width; - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7789_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ST7789_Defines.h deleted file mode 100644 index f1b21f3..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7789_Defines.h +++ /dev/null @@ -1,175 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#ifndef TFT_WIDTH - #define TFT_WIDTH 240 -#endif -#ifndef TFT_HEIGHT - #define TFT_HEIGHT 320 -#endif - -#if (TFT_HEIGHT == 240) && (TFT_WIDTH == 240) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// Adafruit 1.44 TFT support -#if (TFT_HEIGHT == 240) && (TFT_WIDTH == 135) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// Adafruit 1.69 round corner TFT support -#if (TFT_HEIGHT == 280) && (TFT_WIDTH == 240) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// 1.47" 172x320 Round Rectangle Color IPS TFT Display -#if (TFT_HEIGHT == 320) && (TFT_WIDTH == 172) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -#if (TFT_HEIGHT == 320) && (TFT_WIDTH == 170) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -#if (TFT_HEIGHT == 300) && (TFT_WIDTH == 240) - #ifndef CGRAM_OFFSET - #define CGRAM_OFFSET - #endif -#endif - -// Delay between some initialisation commands -#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked - - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_SLPIN 0x10 -#define TFT_SLPOUT 0x11 -#define TFT_NORON 0x13 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C -#define TFT_RAMRD 0x2E -#define TFT_MADCTL 0x36 -#define TFT_COLMOD 0x3A - -// Flags for TFT_MADCTL -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_RGB 0x00 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_SS 0x02 -#define TFT_MAD_GS 0x01 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #ifdef CGRAM_OFFSET - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #endif -#endif - -#define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read - -// ST7789 specific commands used in init -#define ST7789_NOP 0x00 -#define ST7789_SWRESET 0x01 -#define ST7789_RDDID 0x04 -#define ST7789_RDDST 0x09 - -#define ST7789_RDDPM 0x0A // Read display power mode -#define ST7789_RDD_MADCTL 0x0B // Read display MADCTL -#define ST7789_RDD_COLMOD 0x0C // Read display pixel format -#define ST7789_RDDIM 0x0D // Read display image mode -#define ST7789_RDDSM 0x0E // Read display signal mode -#define ST7789_RDDSR 0x0F // Read display self-diagnostic result (ST7789V) - -#define ST7789_SLPIN 0x10 -#define ST7789_SLPOUT 0x11 -#define ST7789_PTLON 0x12 -#define ST7789_NORON 0x13 - -#define ST7789_INVOFF 0x20 -#define ST7789_INVON 0x21 -#define ST7789_GAMSET 0x26 // Gamma set -#define ST7789_DISPOFF 0x28 -#define ST7789_DISPON 0x29 -#define ST7789_CASET 0x2A -#define ST7789_RASET 0x2B -#define ST7789_RAMWR 0x2C -#define ST7789_RGBSET 0x2D // Color setting for 4096, 64K and 262K colors -#define ST7789_RAMRD 0x2E - -#define ST7789_PTLAR 0x30 -#define ST7789_VSCRDEF 0x33 // Vertical scrolling definition (ST7789V) -#define ST7789_TEOFF 0x34 // Tearing effect line off -#define ST7789_TEON 0x35 // Tearing effect line on -#define ST7789_MADCTL 0x36 // Memory data access control -#define ST7789_VSCRSADD 0x37 // Vertical screoll address -#define ST7789_IDMOFF 0x38 // Idle mode off -#define ST7789_IDMON 0x39 // Idle mode on -#define ST7789_RAMWRC 0x3C // Memory write continue (ST7789V) -#define ST7789_RAMRDC 0x3E // Memory read continue (ST7789V) -#define ST7789_COLMOD 0x3A - -#define ST7789_RAMCTRL 0xB0 // RAM control -#define ST7789_RGBCTRL 0xB1 // RGB control -#define ST7789_PORCTRL 0xB2 // Porch control -#define ST7789_FRCTRL1 0xB3 // Frame rate control -#define ST7789_PARCTRL 0xB5 // Partial mode control -#define ST7789_GCTRL 0xB7 // Gate control -#define ST7789_GTADJ 0xB8 // Gate on timing adjustment -#define ST7789_DGMEN 0xBA // Digital gamma enable -#define ST7789_VCOMS 0xBB // VCOMS setting -#define ST7789_LCMCTRL 0xC0 // LCM control -#define ST7789_IDSET 0xC1 // ID setting -#define ST7789_VDVVRHEN 0xC2 // VDV and VRH command enable -#define ST7789_VRHS 0xC3 // VRH set -#define ST7789_VDVSET 0xC4 // VDV setting -#define ST7789_VCMOFSET 0xC5 // VCOMS offset set -#define ST7789_FRCTR2 0xC6 // FR Control 2 -#define ST7789_CABCCTRL 0xC7 // CABC control -#define ST7789_REGSEL1 0xC8 // Register value section 1 -#define ST7789_REGSEL2 0xCA // Register value section 2 -#define ST7789_PWMFRSEL 0xCC // PWM frequency selection -#define ST7789_PWCTRL1 0xD0 // Power control 1 -#define ST7789_VAPVANEN 0xD2 // Enable VAP/VAN signal output -#define ST7789_CMD2EN 0xDF // Command 2 enable -#define ST7789_PVGAMCTRL 0xE0 // Positive voltage gamma control -#define ST7789_NVGAMCTRL 0xE1 // Negative voltage gamma control -#define ST7789_DGMLUTR 0xE2 // Digital gamma look-up table for red -#define ST7789_DGMLUTB 0xE3 // Digital gamma look-up table for blue -#define ST7789_GATECTRL 0xE4 // Gate control -#define ST7789_SPI2EN 0xE7 // SPI2 enable -#define ST7789_PWCTRL2 0xE8 // Power control 2 -#define ST7789_EQCTRL 0xE9 // Equalize time control -#define ST7789_PROMCTRL 0xEC // Program control -#define ST7789_PROMEN 0xFA // Program mode enable -#define ST7789_NVMSET 0xFC // NVM setting -#define ST7789_PROMACT 0xFE // Program action - diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7789_Init.h b/lib/TFT_eSPI/TFT_Drivers/ST7789_Init.h deleted file mode 100644 index b2ed7eb..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7789_Init.h +++ /dev/null @@ -1,238 +0,0 @@ - -// This is the command sequence that initialises the ST7789 driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - -#ifndef INIT_SEQUENCE_3 -{ - fillScreen(TFT_RED); - writecommand(ST7789_SLPOUT); // Sleep out - delay(120); - - writecommand(ST7789_NORON); // Normal display mode on - - //------------------------------display and color format setting--------------------------------// - writecommand(ST7789_MADCTL); - //writedata(0x00); - writedata(TFT_MAD_COLOR_ORDER); - - // JLX240 display datasheet - writecommand(0xB6); - writedata(0x0A); - writedata(0x82); - - writecommand(ST7789_RAMCTRL); - writedata(0x00); - writedata(0xE0); // 5 to 6-bit conversion: r0 = r5, b0 = b5 - - writecommand(ST7789_COLMOD); - writedata(0x55); - delay(10); - - //--------------------------------ST7789V Frame rate setting----------------------------------// - writecommand(ST7789_PORCTRL); - writedata(0x0c); - writedata(0x0c); - writedata(0x00); - writedata(0x33); - writedata(0x33); - - writecommand(ST7789_GCTRL); // Voltages: VGH / VGL - writedata(0x35); - - //---------------------------------ST7789V Power setting--------------------------------------// - writecommand(ST7789_VCOMS); - writedata(0x28); // JLX240 display datasheet - - writecommand(ST7789_LCMCTRL); - writedata(0x0C); - - writecommand(ST7789_VDVVRHEN); - writedata(0x01); - writedata(0xFF); - - writecommand(ST7789_VRHS); // voltage VRHS - writedata(0x10); - - writecommand(ST7789_VDVSET); - writedata(0x20); - - writecommand(ST7789_FRCTR2); - writedata(0x0f); - - writecommand(ST7789_PWCTRL1); - writedata(0xa4); - writedata(0xa1); - - //--------------------------------ST7789V gamma setting---------------------------------------// - writecommand(ST7789_PVGAMCTRL); - writedata(0xd0); - writedata(0x00); - writedata(0x02); - writedata(0x07); - writedata(0x0a); - writedata(0x28); - writedata(0x32); - writedata(0x44); - writedata(0x42); - writedata(0x06); - writedata(0x0e); - writedata(0x12); - writedata(0x14); - writedata(0x17); - - writecommand(ST7789_NVGAMCTRL); - writedata(0xd0); - writedata(0x00); - writedata(0x02); - writedata(0x07); - writedata(0x0a); - writedata(0x28); - writedata(0x31); - writedata(0x54); - writedata(0x47); - writedata(0x0e); - writedata(0x1c); - writedata(0x17); - writedata(0x1b); - writedata(0x1e); - - writecommand(ST7789_INVON); - - writecommand(ST7789_CASET); // Column address set - writedata(0x00); - writedata(0x00); - writedata(0x00); - writedata(0xEF); // 239 - - writecommand(ST7789_RASET); // Row address set - writedata(0x00); - writedata(0x00); - writedata(0x01); - writedata(0x3F); // 319 - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - end_tft_write(); - delay(120); - begin_tft_write(); - - writecommand(ST7789_DISPON); //Display on - delay(120); - -#ifdef TFT_BL - // Turn on the back-light LED - digitalWrite(TFT_BL, HIGH); - pinMode(TFT_BL, OUTPUT); -#endif -} - - -#else -// TTGO ESP32 S3 T-Display -{ - writecommand(ST7789_SLPOUT); // Sleep out - delay(120); - - writecommand(ST7789_NORON); // Normal display mode on - - //------------------------------display and color format setting--------------------------------// - writecommand(ST7789_MADCTL); - writedata(TFT_MAD_COLOR_ORDER); - - // writecommand(ST7789_RAMCTRL); - // writedata(0x00); - // writedata(0xE0); // 5 to 6-bit conversion: r0 = r5, b0 = b5 - - writecommand(ST7789_COLMOD); - writedata(0x55); - delay(10); - - //--------------------------------ST7789V Frame rate setting----------------------------------// - writecommand(ST7789_PORCTRL); - writedata(0x0b); - writedata(0x0b); - writedata(0x00); - writedata(0x33); - writedata(0x33); - - writecommand(ST7789_GCTRL); // Voltages: VGH / VGL - writedata(0x75); - - //---------------------------------ST7789V Power setting--------------------------------------// - writecommand(ST7789_VCOMS); - writedata(0x28); // JLX240 display datasheet - - writecommand(ST7789_LCMCTRL); - writedata(0x2C); - - writecommand(ST7789_VDVVRHEN); - writedata(0x01); - - writecommand(ST7789_VRHS); // voltage VRHS - writedata(0x1F); - - writecommand(ST7789_FRCTR2); - writedata(0x13); - - writecommand(ST7789_PWCTRL1); - writedata(0xa7); - - writecommand(ST7789_PWCTRL1); - writedata(0xa4); - writedata(0xa1); - - writecommand(0xD6); - writedata(0xa1); - - //--------------------------------ST7789V gamma setting---------------------------------------// - writecommand(ST7789_PVGAMCTRL); - writedata(0xf0); - writedata(0x05); - writedata(0x0a); - writedata(0x06); - writedata(0x06); - writedata(0x03); - writedata(0x2b); - writedata(0x32); - writedata(0x43); - writedata(0x36); - writedata(0x11); - writedata(0x10); - writedata(0x2b); - writedata(0x32); - - writecommand(ST7789_NVGAMCTRL); - writedata(0xf0); - writedata(0x08); - writedata(0x0c); - writedata(0x0b); - writedata(0x09); - writedata(0x24); - writedata(0x2b); - writedata(0x22); - writedata(0x43); - writedata(0x38); - writedata(0x15); - writedata(0x16); - writedata(0x2f); - writedata(0x37); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - end_tft_write(); - delay(120); - begin_tft_write(); - - writecommand(ST7789_DISPON); //Display on - delay(120); - -#ifdef TFT_BL - // Turn on the back-light LED - digitalWrite(TFT_BL, HIGH); - pinMode(TFT_BL, OUTPUT); -#endif -} -#endif \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7789_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ST7789_Rotation.h deleted file mode 100644 index df5860c..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7789_Rotation.h +++ /dev/null @@ -1,140 +0,0 @@ - // This is the command sequence that rotates the ST7789 driver coordinate frame - - writecommand(TFT_MADCTL); - rotation = m % 4; - switch (rotation) { - case 0: // Portrait -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 52; - rowstart = 40; - } - else if(_init_height == 280) - { - colstart = 0; - rowstart = 20; - } - else if(_init_width == 172) - { - colstart = 34; - rowstart = 0; - } - else if(_init_width == 170) - { - colstart = 35; - rowstart = 0; - } - else - { - colstart = 0; - rowstart = 0; - } -#endif - writedata(TFT_MAD_COLOR_ORDER); - - _width = _init_width; - _height = _init_height; - break; - - case 1: // Landscape (Portrait + 90) -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 40; - rowstart = 53; - } - else if(_init_height == 280) - { - colstart = 20; - rowstart = 0; - } - else if(_init_width == 172) - { - colstart = 0; - rowstart = 34; - } - else if(_init_width == 170) - { - colstart = 0; - rowstart = 35; - } - else - { - colstart = 0; - rowstart = 0; - } -#endif - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - - _width = _init_height; - _height = _init_width; - break; - - case 2: // Inverter portrait -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 53; - rowstart = 40; - } - else if(_init_height == 280) - { - colstart = 0; - rowstart = 20; - } - else if(_init_width == 172) - { - colstart = 34; - rowstart = 0; - } - else if(_init_width == 170) - { - colstart = 35; - rowstart = 0; - } - else - { - colstart = 0; - rowstart = 80; - } -#endif - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - - _width = _init_width; - _height = _init_height; - break; - case 3: // Inverted landscape -#ifdef CGRAM_OFFSET - if (_init_width == 135) - { - colstart = 40; - rowstart = 52; - } - else if(_init_height == 280) - { - colstart = 20; - rowstart = 0; - } - else if(_init_width == 172) - { - colstart = 0; - rowstart = 34; - } - else if(_init_width == 170) - { - colstart = 0; - rowstart = 35; - } - else - { - colstart = 80; - rowstart = 0; - } -#endif - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - - _width = _init_height; - _height = _init_width; - break; - } diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7796_Defines.h b/lib/TFT_eSPI/TFT_Drivers/ST7796_Defines.h deleted file mode 100644 index d7009ac..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7796_Defines.h +++ /dev/null @@ -1,107 +0,0 @@ -// Change the width and height if required (defined in portrait mode) -// or use the constructor to over-ride defaults -#ifndef TFT_WIDTH -#define TFT_WIDTH 320 -#endif - -#ifndef TFT_HEIGHT -#define TFT_HEIGHT 480 -#endif - -// Generic commands used by TFT_eSPI.cpp -#define TFT_NOP 0x00 -#define TFT_SWRST 0x01 - -#define TFT_INVOFF 0x20 -#define TFT_INVON 0x21 - -#define TFT_DISPOFF 0x28 -#define TFT_DISPON 0x29 - -#define TFT_CASET 0x2A -#define TFT_PASET 0x2B -#define TFT_RAMWR 0x2C -#define TFT_RAMRD 0x2E - -#define TFT_MADCTL 0x36 -#define TFT_MAD_MY 0x80 -#define TFT_MAD_MX 0x40 -#define TFT_MAD_MV 0x20 -#define TFT_MAD_ML 0x10 -#define TFT_MAD_BGR 0x08 -#define TFT_MAD_MH 0x04 -#define TFT_MAD_RGB 0x00 - -#ifdef TFT_RGB_ORDER - #if (TFT_RGB_ORDER == 1) - #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB - #else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR - #endif -#else - #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR -#endif - -// ST7796 specific commands -#define ST7796_NOP 0x00 -#define ST7796_SWRESET 0x01 -#define ST7796_RDDID 0x04 -#define ST7796_RDDST 0x09 - -#define ST7796_SLPIN 0x10 -#define ST7796_SLPOUT 0x11 -#define ST7796_PTLON 0x12 -#define ST7796_NORON 0x13 - -#define ST7796_RDMODE 0x0A -#define ST7796_RDMADCTL 0x0B -#define ST7796_RDPIXFMT 0x0C -#define ST7796_RDIMGFMT 0x0A -#define ST7796_RDSELFDIAG 0x0F - -#define ST7796_INVOFF 0x20 -#define ST7796_INVON 0x21 - -#define ST7796_DISPOFF 0x28 -#define ST7796_DISPON 0x29 - -#define ST7796_CASET 0x2A -#define ST7796_PASET 0x2B -#define ST7796_RAMWR 0x2C -#define ST7796_RAMRD 0x2E - -#define ST7796_PTLAR 0x30 -#define ST7796_VSCRDEF 0x33 -#define ST7796_MADCTL 0x36 -#define ST7796_VSCRSADD 0x37 -#define ST7796_PIXFMT 0x3A - -#define ST7796_WRDISBV 0x51 -#define ST7796_RDDISBV 0x52 -#define ST7796_WRCTRLD 0x53 - -#define ST7796_FRMCTR1 0xB1 -#define ST7796_FRMCTR2 0xB2 -#define ST7796_FRMCTR3 0xB3 -#define ST7796_INVCTR 0xB4 -#define ST7796_DFUNCTR 0xB6 - -#define ST7796_PWCTR1 0xC0 -#define ST7796_PWCTR2 0xC1 -#define ST7796_PWCTR3 0xC2 - -#define ST7796_VMCTR1 0xC5 -#define ST7796_VMCOFF 0xC6 - -#define ST7796_RDID4 0xD3 - -#define ST7796_GMCTRP1 0xE0 -#define ST7796_GMCTRN1 0xE1 - -#define ST7796_MADCTL_MY 0x80 -#define ST7796_MADCTL_MX 0x40 -#define ST7796_MADCTL_MV 0x20 -#define ST7796_MADCTL_ML 0x10 -#define ST7796_MADCTL_RGB 0x00 -#define ST7796_MADCTL_BGR 0x08 -#define ST7796_MADCTL_MH 0x04 diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7796_Init.h b/lib/TFT_eSPI/TFT_Drivers/ST7796_Init.h deleted file mode 100644 index c1d8421..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7796_Init.h +++ /dev/null @@ -1,107 +0,0 @@ - -// This is the command sequence that initialises the ST7796 driver -// -// This setup information uses simple 8-bit SPI writecommand() and writedata() functions -// -// See ST7735_Setup.h file for an alternative format - -#define TFT_INIT_DELAY 0 -{ - delay(120); - - writecommand(0x01); //Software reset - delay(120); - - writecommand(0x11); //Sleep exit - delay(120); - - writecommand(0xF0); //Command Set control - writedata(0xC3); //Enable extension command 2 partI - - writecommand(0xF0); //Command Set control - writedata(0x96); //Enable extension command 2 partII - - writecommand(0x36); //Memory Data Access Control MX, MY, RGB mode - writedata(0x48); //X-Mirror, Top-Left to right-Buttom, RGB - - writecommand(0x3A); //Interface Pixel Format - writedata(0x55); //Control interface color format set to 16 - - - writecommand(0xB4); //Column inversion - writedata(0x01); //1-dot inversion - - writecommand(0xB6); //Display Function Control - writedata(0x80); //Bypass - writedata(0x02); //Source Output Scan from S1 to S960, Gate Output scan from G1 to G480, scan cycle=2 - writedata(0x3B); //LCD Drive Line=8*(59+1) - - - writecommand(0xE8); //Display Output Ctrl Adjust - writedata(0x40); - writedata(0x8A); - writedata(0x00); - writedata(0x00); - writedata(0x29); //Source eqaulizing period time= 22.5 us - writedata(0x19); //Timing for "Gate start"=25 (Tclk) - writedata(0xA5); //Timing for "Gate End"=37 (Tclk), Gate driver EQ function ON - writedata(0x33); - - writecommand(0xC1); //Power control2 - writedata(0x06); //VAP(GVDD)=3.85+( vcom+vcom offset), VAN(GVCL)=-3.85+( vcom+vcom offset) - - writecommand(0xC2); //Power control 3 - writedata(0xA7); //Source driving current level=low, Gamma driving current level=High - - writecommand(0xC5); //VCOM Control - writedata(0x18); //VCOM=0.9 - - delay(120); - - //ST7796 Gamma Sequence - writecommand(0xE0); //Gamma"+" - writedata(0xF0); - writedata(0x09); - writedata(0x0b); - writedata(0x06); - writedata(0x04); - writedata(0x15); - writedata(0x2F); - writedata(0x54); - writedata(0x42); - writedata(0x3C); - writedata(0x17); - writedata(0x14); - writedata(0x18); - writedata(0x1B); - - writecommand(0xE1); //Gamma"-" - writedata(0xE0); - writedata(0x09); - writedata(0x0B); - writedata(0x06); - writedata(0x04); - writedata(0x03); - writedata(0x2B); - writedata(0x43); - writedata(0x42); - writedata(0x3B); - writedata(0x16); - writedata(0x14); - writedata(0x17); - writedata(0x1B); - - delay(120); - - writecommand(0xF0); //Command Set control - writedata(0x3C); //Disable extension command 2 partI - - writecommand(0xF0); //Command Set control - writedata(0x69); //Disable extension command 2 partII - - end_tft_write(); - delay(120); - begin_tft_write(); - - writecommand(0x29); //Display on -} \ No newline at end of file diff --git a/lib/TFT_eSPI/TFT_Drivers/ST7796_Rotation.h b/lib/TFT_eSPI/TFT_Drivers/ST7796_Rotation.h deleted file mode 100644 index c5f6ad6..0000000 --- a/lib/TFT_eSPI/TFT_Drivers/ST7796_Rotation.h +++ /dev/null @@ -1,78 +0,0 @@ - -// This is the command sequence that rotates the ST7796 driver coordinate frame - - rotation = m % 8; // Limit the range of values to 0-7 - - writecommand(TFT_MADCTL); - switch (rotation) { - case 0: - writedata(TFT_MAD_MX | TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; -#ifdef CGRAM_OFFSET - if (_init_width == 222) - { - colstart = 49; - rowstart = 0; - } -#endif - break; - case 1: - writedata(TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; -#ifdef CGRAM_OFFSET - if (_init_width == 222) - { - colstart = 0; - rowstart = 49; - } -#endif - break; - case 2: - writedata(TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; -#ifdef CGRAM_OFFSET - if (_init_width == 222) - { - colstart = 49; - rowstart = 0; - } -#endif - break; - case 3: - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; -#ifdef CGRAM_OFFSET - if (_init_width == 222) - { - colstart = 0; - rowstart = 49; - } -#endif - break; - // These next rotations are for bottom up BMP drawing - case 4: - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 5: - writedata(TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; - break; - case 6: - writedata(TFT_MAD_COLOR_ORDER); - _width = _init_width; - _height = _init_height; - break; - case 7: - writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); - _width = _init_height; - _height = _init_width; - break; - - } diff --git a/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/Create_font.pde b/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/Create_font.pde deleted file mode 100644 index 1a07c5c..0000000 --- a/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/Create_font.pde +++ /dev/null @@ -1,570 +0,0 @@ -// This is a Processing sketch, see https://processing.org/ to download the IDE - -// Select the font, size and character ranges in the user configuration section -// of this sketch, which starts at line 120. Instructions start at line 50. - - -/* -Software License Agreement (FreeBSD License) - - Copyright (c) 2018 Bodmer (https://github.com/Bodmer) - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - The views and conclusions contained in the software and documentation are those - of the authors and should not be interpreted as representing official policies, - either expressed or implied, of the FreeBSD Project. - */ - -//////////////////////////////////////////////////////////////////////////////////////////////// - -// This is a processing sketch to create font files for the TFT_eSPI library: - -// https://github.com/Bodmer/TFT_eSPI - -// Coded by Bodmer January 2018, updated 10/2/19 -// Version 0.8 - -// >>>>>>>>>>>>>>>>>>>> INSTRUCTIONS <<<<<<<<<<<<<<<<<<<< - -// See comments below in code for specifying the font parameters (point size, -// unicode blocks to include etc.). Ranges of characters (glyphs) and specific -// individual glyphs can be included in the created "*.vlw" font file. - -// Created fonts are saved in the sketches "FontFiles" folder. Press Ctrl+K to -// see that folder location. - -// 16-bit Unicode point codes in the range 0x0000 - 0xFFFF are supported. -// Codes 0-31 are control codes such as "tab" and "carraige return" etc. -// and 32 is a "space", these should NOT be included. - -// The sketch will convert True Type (a .ttf or .otf file) file stored in the -// sketches "Data" folder as well as your computers' system fonts. - -// To maximise rendering performance and the memory consumed only include the characters -// you will use. Characters at the start of the file will render faster than those at -// the end due to the buffering and file seeking overhead. - -// The inclusion of "non-existant" characters in a font may give unpredicatable results -// when rendering with the TFT_eSPI library. The Processing sketch window that pops up -// to show the font characters will print "boxes" (also known as Tofu!) for non existant -// characters. - -// Once created the files must be loaded into the ESP32 or ESP8266 SPIFFS memory -// using the Arduino IDE plugin detailed here: -// https://github.com/esp8266/arduino-esp8266fs-plugin -// https://github.com/me-no-dev/arduino-esp32fs-plugin - -// When the sketch is run it will generate a file called "System_Font_List.txt" in the -// sketch "FontFiles" folder, press Ctrl+K to see it. Open the file in a text editor to -// view it. This list provides the font reference number needed below to locate that -// font on your system. - -// The sketch also lists all the available system fonts to the console, you can increase -// the console line count (in preferences.txt) to stop some fonts scrolling out of view. -// See link in File>Preferences to locate "preferences.txt" file. You must close -// Processing then edit the file lines. If Processing is not closed first then the -// edits will be overwritten by defaults! Edit "preferences.txt" as follows for -// 3000 lines, then save, then run Processing again: - -// console.length=3000; // Line 4 in file -// console.scrollback.lines=3000; // Line 7 in file - - -// Useful links: -/* - - https://en.wikipedia.org/wiki/Unicode_font - - https://www.gnu.org/software/freefont/ - https://www.gnu.org/software/freefont/sources/ - https://www.gnu.org/software/freefont/ranges/ - http://savannah.gnu.org/projects/freefont/ - - http://www.google.com/get/noto/ - - https://github.com/Bodmer/TFT_eSPI - https://github.com/esp8266/arduino-esp8266fs-plugin - https://github.com/me-no-dev/arduino-esp32fs-plugin - - >>>>>>>>>>>>>>>>>>>> END OF INSTRUCTIONS <<<<<<<<<<<<<<<<<<<< */ - - -import java.awt.Desktop; // Required to allow sketch to open file windows - - -//////////////////////////////////////////////////////////////////////////////////////////////// - -// >>>>>>>>>> USER CONFIGURED PARAMETERS START HERE <<<<<<<<<< - -// Use font number or name, -1 for fontNumber means use fontName below, a value >=0 means use system font number from list. -// When the sketch is run it will generate a file called "systemFontList.txt" in the sketch folder, press Ctrl+K to see it. -// Open the "systemFontList.txt" in a text editor to view the font files and reference numbers for your system. - -int fontNumber = -1; // << Use [Number] in brackets from the fonts listed. - -// OR use font name for ttf files placed in the "Data" folder or the font number seen in IDE Console for system fonts -// the font numbers are listed when the sketch is run. -// | 1 2 | Maximum filename size for SPIFFS is 31 including leading / -// 1234567890123456789012345 and added point size and .vlw extension, so max is 25 -String fontName = "Final-Frontier"; // Manually crop the filename length later after creation if needed - // Note: SPIFFS does NOT accept underscore in a filename! -String fontType = ".ttf"; -//String fontType = ".otf"; - - -// Define the font size in points for the TFT_eSPI font file -int fontSize = 28; - -// Font size to use in the Processing sketch display window that pops up (can be different to above) -int displayFontSize = 28; - -// Create a C header (.h file) ready to be used or copied in your sketch folder -boolean createHeaderFile = true; - -// Automaticely open the folder with created files when done -boolean openFolder = true; - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Next we specify which unicode blocks from the the Basic Multilingual Plane (BMP) are included in the final font file. // -// Note: The ttf/otf font file MAY NOT contain all possible Unicode characters, refer to the fonts online documentation. // -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -static final int[] unicodeBlocks = { - // The list below has been created from the table here: https://en.wikipedia.org/wiki/Unicode_block - // Remove // at start of lines below to include that unicode block, different code ranges can also be specified by - // editing the start and end-of-range values. Multiple lines from the list below can be included, limited only by - // the final font file size! - - // Block range, //Block name, Code points, Assigned characters, Scripts - // First, last, //Range is inclusive of first and last codes - 0x0021, 0x007E, //Basic Latin, 128, 128, Latin (52 characters), Common (76 characters) - //0x0080, 0x00FF, //Latin-1 Supplement, 128, 128, Latin (64 characters), Common (64 characters) - //0x0100, 0x017F, //Latin Extended-A, 128, 128, Latin - //0x0180, 0x024F, //Latin Extended-B, 208, 208, Latin - //0x0250, 0x02AF, //IPA Extensions, 96, 96, Latin - //0x02B0, 0x02FF, //Spacing Modifier Letters, 80, 80, Bopomofo (2 characters), Latin (14 characters), Common (64 characters) - //0x0300, 0x036F, //Combining Diacritical Marks, 112, 112, Inherited - //0x0370, 0x03FF, //Greek and Coptic, 144, 135, Coptic (14 characters), Greek (117 characters), Common (4 characters) - //0x0400, 0x04FF, //Cyrillic, 256, 256, Cyrillic (254 characters), Inherited (2 characters) - //0x0500, 0x052F, //Cyrillic Supplement, 48, 48, Cyrillic - //0x0530, 0x058F, //Armenian, 96, 89, Armenian (88 characters), Common (1 character) - //0x0590, 0x05FF, //Hebrew, 112, 87, Hebrew - //0x0600, 0x06FF, //Arabic, 256, 255, Arabic (237 characters), Common (6 characters), Inherited (12 characters) - //0x0700, 0x074F, //Syriac, 80, 77, Syriac - //0x0750, 0x077F, //Arabic Supplement, 48, 48, Arabic - //0x0780, 0x07BF, //Thaana, 64, 50, Thaana - //0x07C0, 0x07FF, //NKo, 64, 59, Nko - //0x0800, 0x083F, //Samaritan, 64, 61, Samaritan - //0x0840, 0x085F, //Mandaic, 32, 29, Mandaic - //0x0860, 0x086F, //Syriac Supplement, 16, 11, Syriac - //0x08A0, 0x08FF, //Arabic Extended-A, 96, 73, Arabic (72 characters), Common (1 character) - //0x0900, 0x097F, //Devanagari, 128, 128, Devanagari (124 characters), Common (2 characters), Inherited (2 characters) - //0x0980, 0x09FF, //Bengali, 128, 95, Bengali - //0x0A00, 0x0A7F, //Gurmukhi, 128, 79, Gurmukhi - //0x0A80, 0x0AFF, //Gujarati, 128, 91, Gujarati - //0x0B00, 0x0B7F, //Oriya, 128, 90, Oriya - //0x0B80, 0x0BFF, //Tamil, 128, 72, Tamil - //0x0C00, 0x0C7F, //Telugu, 128, 96, Telugu - //0x0C80, 0x0CFF, //Kannada, 128, 88, Kannada - //0x0D00, 0x0D7F, //Malayalam, 128, 117, Malayalam - //0x0D80, 0x0DFF, //Sinhala, 128, 90, Sinhala - //0x0E00, 0x0E7F, //Thai, 128, 87, Thai (86 characters), Common (1 character) - //0x0E80, 0x0EFF, //Lao, 128, 67, Lao - //0x0F00, 0x0FFF, //Tibetan, 256, 211, Tibetan (207 characters), Common (4 characters) - //0x1000, 0x109F, //Myanmar, 160, 160, Myanmar - //0x10A0, 0x10FF, //Georgian, 96, 88, Georgian (87 characters), Common (1 character) - //0x1100, 0x11FF, //Hangul Jamo, 256, 256, Hangul - //0x1200, 0x137F, //Ethiopic, 384, 358, Ethiopic - //0x1380, 0x139F, //Ethiopic Supplement, 32, 26, Ethiopic - //0x13A0, 0x13FF, //Cherokee, 96, 92, Cherokee - //0x1400, 0x167F, //Unified Canadian Aboriginal Syllabics, 640, 640, Canadian Aboriginal - //0x1680, 0x169F, //Ogham, 32, 29, Ogham - //0x16A0, 0x16FF, //Runic, 96, 89, Runic (86 characters), Common (3 characters) - //0x1700, 0x171F, //Tagalog, 32, 20, Tagalog - //0x1720, 0x173F, //Hanunoo, 32, 23, Hanunoo (21 characters), Common (2 characters) - //0x1740, 0x175F, //Buhid, 32, 20, Buhid - //0x1760, 0x177F, //Tagbanwa, 32, 18, Tagbanwa - //0x1780, 0x17FF, //Khmer, 128, 114, Khmer - //0x1800, 0x18AF, //Mongolian, 176, 156, Mongolian (153 characters), Common (3 characters) - //0x18B0, 0x18FF, //Unified Canadian Aboriginal Syllabics Extended, 80, 70, Canadian Aboriginal - //0x1900, 0x194F, //Limbu, 80, 68, Limbu - //0x1950, 0x197F, //Tai Le, 48, 35, Tai Le - //0x1980, 0x19DF, //New Tai Lue, 96, 83, New Tai Lue - //0x19E0, 0x19FF, //Khmer Symbols, 32, 32, Khmer - //0x1A00, 0x1A1F, //Buginese, 32, 30, Buginese - //0x1A20, 0x1AAF, //Tai Tham, 144, 127, Tai Tham - //0x1AB0, 0x1AFF, //Combining Diacritical Marks Extended, 80, 15, Inherited - //0x1B00, 0x1B7F, //Balinese, 128, 121, Balinese - //0x1B80, 0x1BBF, //Sundanese, 64, 64, Sundanese - //0x1BC0, 0x1BFF, //Batak, 64, 56, Batak - //0x1C00, 0x1C4F, //Lepcha, 80, 74, Lepcha - //0x1C50, 0x1C7F, //Ol Chiki, 48, 48, Ol Chiki - //0x1C80, 0x1C8F, //Cyrillic Extended-C, 16, 9, Cyrillic - //0x1CC0, 0x1CCF, //Sundanese Supplement, 16, 8, Sundanese - //0x1CD0, 0x1CFF, //Vedic Extensions, 48, 42, Common (15 characters), Inherited (27 characters) - //0x1D00, 0x1D7F, //Phonetic Extensions, 128, 128, Cyrillic (2 characters), Greek (15 characters), Latin (111 characters) - //0x1D80, 0x1DBF, //Phonetic Extensions Supplement, 64, 64, Greek (1 character), Latin (63 characters) - //0x1DC0, 0x1DFF, //Combining Diacritical Marks Supplement, 64, 63, Inherited - //0x1E00, 0x1EFF, //Latin Extended Additional, 256, 256, Latin - //0x1F00, 0x1FFF, //Greek Extended, 256, 233, Greek - //0x2000, 0x206F, //General Punctuation, 112, 111, Common (109 characters), Inherited (2 characters) - //0x2070, 0x209F, //Superscripts and Subscripts, 48, 42, Latin (15 characters), Common (27 characters) - //0x20A0, 0x20CF, //Currency Symbols, 48, 32, Common - //0x20D0, 0x20FF, //Combining Diacritical Marks for Symbols, 48, 33, Inherited - //0x2100, 0x214F, //Letterlike Symbols, 80, 80, Greek (1 character), Latin (4 characters), Common (75 characters) - //0x2150, 0x218F, //Number Forms, 64, 60, Latin (41 characters), Common (19 characters) - //0x2190, 0x21FF, //Arrows, 112, 112, Common - //0x2200, 0x22FF, //Mathematical Operators, 256, 256, Common - //0x2300, 0x23FF, //Miscellaneous Technical, 256, 256, Common - //0x2400, 0x243F, //Control Pictures, 64, 39, Common - //0x2440, 0x245F, //Optical Character Recognition, 32, 11, Common - //0x2460, 0x24FF, //Enclosed Alphanumerics, 160, 160, Common - //0x2500, 0x257F, //Box Drawing, 128, 128, Common - //0x2580, 0x259F, //Block Elements, 32, 32, Common - //0x25A0, 0x25FF, //Geometric Shapes, 96, 96, Common - //0x2600, 0x26FF, //Miscellaneous Symbols, 256, 256, Common - //0x2700, 0x27BF, //Dingbats, 192, 192, Common - //0x27C0, 0x27EF, //Miscellaneous Mathematical Symbols-A, 48, 48, Common - //0x27F0, 0x27FF, //Supplemental Arrows-A, 16, 16, Common - //0x2800, 0x28FF, //Braille Patterns, 256, 256, Braille - //0x2900, 0x297F, //Supplemental Arrows-B, 128, 128, Common - //0x2980, 0x29FF, //Miscellaneous Mathematical Symbols-B, 128, 128, Common - //0x2A00, 0x2AFF, //Supplemental Mathematical Operators, 256, 256, Common - //0x2B00, 0x2BFF, //Miscellaneous Symbols and Arrows, 256, 207, Common - //0x2C00, 0x2C5F, //Glagolitic, 96, 94, Glagolitic - //0x2C60, 0x2C7F, //Latin Extended-C, 32, 32, Latin - //0x2C80, 0x2CFF, //Coptic, 128, 123, Coptic - //0x2D00, 0x2D2F, //Georgian Supplement, 48, 40, Georgian - //0x2D30, 0x2D7F, //Tifinagh, 80, 59, Tifinagh - //0x2D80, 0x2DDF, //Ethiopic Extended, 96, 79, Ethiopic - //0x2DE0, 0x2DFF, //Cyrillic Extended-A, 32, 32, Cyrillic - //0x2E00, 0x2E7F, //Supplemental Punctuation, 128, 74, Common - //0x2E80, 0x2EFF, //CJK Radicals Supplement, 128, 115, Han - //0x2F00, 0x2FDF, //Kangxi Radicals, 224, 214, Han - //0x2FF0, 0x2FFF, //Ideographic Description Characters, 16, 12, Common - //0x3000, 0x303F, //CJK Symbols and Punctuation, 64, 64, Han (15 characters), Hangul (2 characters), Common (43 characters), Inherited (4 characters) - //0x3040, 0x309F, //Hiragana, 96, 93, Hiragana (89 characters), Common (2 characters), Inherited (2 characters) - //0x30A0, 0x30FF, //Katakana, 96, 96, Katakana (93 characters), Common (3 characters) - //0x3100, 0x312F, //Bopomofo, 48, 42, Bopomofo - //0x3130, 0x318F, //Hangul Compatibility Jamo, 96, 94, Hangul - //0x3190, 0x319F, //Kanbun, 16, 16, Common - //0x31A0, 0x31BF, //Bopomofo Extended, 32, 27, Bopomofo - //0x31C0, 0x31EF, //CJK Strokes, 48, 36, Common - //0x31F0, 0x31FF, //Katakana Phonetic Extensions, 16, 16, Katakana - //0x3200, 0x32FF, //Enclosed CJK Letters and Months, 256, 254, Hangul (62 characters), Katakana (47 characters), Common (145 characters) - //0x3300, 0x33FF, //CJK Compatibility, 256, 256, Katakana (88 characters), Common (168 characters) - //0x3400, 0x4DBF, //CJK Unified Ideographs Extension A, 6,592, 6,582, Han - //0x4DC0, 0x4DFF, //Yijing Hexagram Symbols, 64, 64, Common - //0x4E00, 0x9FFF, //CJK Unified Ideographs, 20,992, 20,971, Han - //0xA000, 0xA48F, //Yi Syllables, 1,168, 1,165, Yi - //0xA490, 0xA4CF, //Yi Radicals, 64, 55, Yi - //0xA4D0, 0xA4FF, //Lisu, 48, 48, Lisu - //0xA500, 0xA63F, //Vai, 320, 300, Vai - //0xA640, 0xA69F, //Cyrillic Extended-B, 96, 96, Cyrillic - //0xA6A0, 0xA6FF, //Bamum, 96, 88, Bamum - //0xA700, 0xA71F, //Modifier Tone Letters, 32, 32, Common - //0xA720, 0xA7FF, //Latin Extended-D, 224, 160, Latin (155 characters), Common (5 characters) - //0xA800, 0xA82F, //Syloti Nagri, 48, 44, Syloti Nagri - //0xA830, 0xA83F, //Common Indic Number Forms, 16, 10, Common - //0xA840, 0xA87F, //Phags-pa, 64, 56, Phags Pa - //0xA880, 0xA8DF, //Saurashtra, 96, 82, Saurashtra - //0xA8E0, 0xA8FF, //Devanagari Extended, 32, 30, Devanagari - //0xA900, 0xA92F, //Kayah Li, 48, 48, Kayah Li (47 characters), Common (1 character) - //0xA930, 0xA95F, //Rejang, 48, 37, Rejang - //0xA960, 0xA97F, //Hangul Jamo Extended-A, 32, 29, Hangul - //0xA980, 0xA9DF, //Javanese, 96, 91, Javanese (90 characters), Common (1 character) - //0xA9E0, 0xA9FF, //Myanmar Extended-B, 32, 31, Myanmar - //0xAA00, 0xAA5F, //Cham, 96, 83, Cham - //0xAA60, 0xAA7F, //Myanmar Extended-A, 32, 32, Myanmar - //0xAA80, 0xAADF, //Tai Viet, 96, 72, Tai Viet - //0xAAE0, 0xAAFF, //Meetei Mayek Extensions, 32, 23, Meetei Mayek - //0xAB00, 0xAB2F, //Ethiopic Extended-A, 48, 32, Ethiopic - //0xAB30, 0xAB6F, //Latin Extended-E, 64, 54, Latin (52 characters), Greek (1 character), Common (1 character) - //0xAB70, 0xABBF, //Cherokee Supplement, 80, 80, Cherokee - //0xABC0, 0xABFF, //Meetei Mayek, 64, 56, Meetei Mayek - //0xAC00, 0xD7AF, //Hangul Syllables, 11,184, 11,172, Hangul - //0xD7B0, 0xD7FF, //Hangul Jamo Extended-B, 80, 72, Hangul - //0xD800, 0xDB7F, //High Surrogates, 896, 0, Unknown - //0xDB80, 0xDBFF, //High Private Use Surrogates, 128, 0, Unknown - //0xDC00, 0xDFFF, //Low Surrogates, 1,024, 0, Unknown - //0xE000, 0xF8FF, //Private Use Area, 6,400, 6,400, Unknown - //0xF900, 0xFAFF, //CJK Compatibility Ideographs, 512, 472, Han - //0xFB00, 0xFB4F, //Alphabetic Presentation Forms, 80, 58, Armenian (5 characters), Hebrew (46 characters), Latin (7 characters) - //0xFB50, 0xFDFF, //Arabic Presentation Forms-A, 688, 611, Arabic (609 characters), Common (2 characters) - //0xFE00, 0xFE0F, //Variation Selectors, 16, 16, Inherited - //0xFE10, 0xFE1F, //Vertical Forms, 16, 10, Common - //0xFE20, 0xFE2F, //Combining Half Marks, 16, 16, Cyrillic (2 characters), Inherited (14 characters) - //0xFE30, 0xFE4F, //CJK Compatibility Forms, 32, 32, Common - //0xFE50, 0xFE6F, //Small Form Variants, 32, 26, Common - //0xFE70, 0xFEFF, //Arabic Presentation Forms-B, 144, 141, Arabic (140 characters), Common (1 character) - //0xFF00, 0xFFEF, //Halfwidth and Fullwidth Forms, 240, 225, Hangul (52 characters), Katakana (55 characters), Latin (52 characters), Common (66 characters) - //0xFFF0, 0xFFFF, //Specials, 16, 5, Common - - //0x0030, 0x0039, //Example custom range (numbers 0-9) - //0x0041, 0x005A, //Example custom range (Upper case A-Z) - //0x0061, 0x007A, //Example custom range (Lower case a-z) -}; - -// Here we specify particular individual Unicodes to be included (appended at end of selected range) -static final int[] specificUnicodes = { - - // Commonly used codes, add or remove // in next line - // 0x00A3, 0x00B0, 0x00B5, 0x03A9, 0x20AC, // £ ° µ Ω € - - // Numbers and characters for showing time, change next line to //* to use -/* - 0x002B, 0x002D, 0x002E, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, // - + . 0 1 2 3 4 - 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x0061, 0x006D, // 5 6 7 8 9 : a m - 0x0070, // p - //*/ - - // More characters for TFT_eSPI test sketches, change next line to //* to use - /* - 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x010C, 0x010D, - 0x010E, 0x010F, 0x0110, 0x0111, 0x0118, 0x0119, 0x011A, 0x011B, - - 0x0131, 0x0139, 0x013A, 0x013D, 0x013E, 0x0141, 0x0142, 0x0143, - 0x0144, 0x0147, 0x0148, 0x0150, 0x0151, 0x0152, 0x0153, 0x0154, - 0x0155, 0x0158, 0x0159, 0x015A, 0x015B, 0x015E, 0x015F, 0x0160, - 0x0161, 0x0162, 0x0163, 0x0164, 0x0165, 0x016E, 0x016F, 0x0170, - 0x0171, 0x0178, 0x0179, 0x017A, 0x017B, 0x017C, 0x017D, 0x017E, - 0x0192, - - 0x02C6, 0x02C7, 0x02D8, 0x02D9, 0x02DA, 0x02DB, 0x02DC, 0x02DD, - 0x03A9, 0x03C0, 0x2013, 0x2014, 0x2018, 0x2019, 0x201A, 0x201C, - 0x201D, 0x201E, 0x2020, 0x2021, 0x2022, 0x2026, 0x2030, 0x2039, - 0x203A, 0x2044, 0x20AC, - - 0x2122, 0x2202, 0x2206, 0x220F, - - 0x2211, 0x221A, 0x221E, 0x222B, 0x2248, 0x2260, 0x2264, 0x2265, - 0x25CA, - - 0xF8FF, 0xFB01, 0xFB02, - //*/ -}; - -// >>>>>>>>>> USER CONFIGURED PARAMETERS END HERE <<<<<<<<<< - -//////////////////////////////////////////////////////////////////////////////////////////////// - -// Variable to hold the inclusive Unicode range (16-bit values only for this sketch) -int firstUnicode = 0; -int lastUnicode = 0; - -PFont myFont; - -PrintWriter logOutput; - -void setup() { - logOutput = createWriter("FontFiles/System_Font_List.txt"); - - size(1000, 800); - - // Print the available fonts to the console as a list: - String[] fontList = PFont.list(); - printArray(fontList); - - // Save font list to file - for (int x = 0; x < fontList.length; x++) - { - logOutput.print("[" + x + "] "); - logOutput.println(fontList[x]); - } - logOutput.flush(); // Writes the remaining data to the file - logOutput.close(); // Finishes the file - - // Set the fontName from the array number or the defined fontName - if (fontNumber >= 0) - { -// fontName = fontList[fontNumber]; - fontType = ""; - } - - char[] charset; - int index = 0, count = 0; - - int blockCount = unicodeBlocks.length; - - for (int i = 0; i < blockCount; i+=2) { - firstUnicode = unicodeBlocks[i]; - lastUnicode = unicodeBlocks[i+1]; - if (lastUnicode < firstUnicode) { - delay(100); - System.err.println("ERROR: Bad Unicode range secified, last < first!"); - System.err.print("first in range = 0x" + hex(firstUnicode, 4)); - System.err.println(", last in range = 0x" + hex(lastUnicode, 4)); - while (true); - } - // calculate the number of characters - count += (lastUnicode - firstUnicode + 1); - } - - count += specificUnicodes.length; - - println(); - println("====================="); - println("Creating font file..."); - println("Unicode blocks included = " + (blockCount/2)); - println("Specific unicodes included = " + specificUnicodes.length); - println("Total number of characters = " + count); - - if (count == 0) { - delay(100); - System.err.println("ERROR: No Unicode range or specific codes have been defined!"); - while (true); - } - - // allocate memory - charset = new char[count]; - - for (int i = 0; i < blockCount; i+=2) { - firstUnicode = unicodeBlocks[i]; - lastUnicode = unicodeBlocks[i+1]; - - // loading the range specified - for (int code = firstUnicode; code <= lastUnicode; code++) { - charset[index] = Character.toChars(code)[0]; - index++; - } - } - - // loading the specific point codes - for (int i = 0; i < specificUnicodes.length; i++) { - charset[index] = Character.toChars(specificUnicodes[i])[0]; - index++; - } - - // Make font smooth (anti-aliased) - boolean smooth = true; - - // Create the font in memory - myFont = createFont(fontName+fontType, displayFontSize, smooth, charset); - - // Print characters to the sketch window - fill(0, 0, 0); - textFont(myFont); - - // Set the left and top margin - int margin = displayFontSize; - translate(margin/2, margin); - - int gapx = displayFontSize*10/8; - int gapy = displayFontSize*10/8; - index = 0; - fill(0); - - textSize(displayFontSize); - - for (int y = 0; y < height-gapy; y += gapy) { - int x = 0; - while (x < width) { - - int unicode = charset[index]; - float cwidth = textWidth((char)unicode) + 2; - if ( (x + cwidth) > (width - gapx) ) break; - - // Draw the glyph to the screen - text(new String(Character.toChars(unicode)), x, y); - - // Move cursor - x += cwidth; - // Increment the counter - index++; - if (index >= count) break; - } - if (index >= count) break; - } - - - // creating font to save as a file - PFont font; - - font = createFont(fontName+fontType, fontSize, smooth, charset); - - println("Created font " + fontName + str(fontSize) + ".vlw"); - - String fontFileName = "FontFiles/" + fontName + str(fontSize) + ".vlw"; - - // creating file - try { - print("Saving to sketch FontFiles folder... "); - - OutputStream output = createOutput(fontFileName); - font.save(output); - output.close(); - - println("OK!"); - - delay(100); - - // Open up the FontFiles folder to access the saved file - String path = sketchPath(); - if(openFolder){ - Desktop.getDesktop().open(new File(path+"/FontFiles")); - } - - System.err.println("All done! Note: Rectangles are displayed for non-existant characters."); - } - catch(IOException e) { - println("Doh! Failed to create the file"); - } - - if(!createHeaderFile) return; - // Now creating header file if the option was specified. - try{ - print("saving header file to FontFile folder..."); - - InputStream input = createInputRaw(fontFileName); - PrintWriter output = createWriter("FontFiles/" + fontName + str(fontSize) + ".h"); - - output.println("#include "); - output.println(); - output.println("const uint8_t " + fontName + str(fontSize) + "[] PROGMEM = {"); - - int i = 0; - int data = input.read(); - while(data != -1){ - output.print("0x"); - output.print(hex(data, 2)); - if(i++ < 15){ - output.print(", "); - } else { - output.println(","); - i = 0; - } - data = input.read(); - } -// font.save(output); - output.println("\n};"); - - output.close(); - input.close(); - - println("C header file created."); - - } catch(IOException e){ - println("Failed to create C header file"); - } -} diff --git a/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/FontFiles/Final-Frontier28.h b/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/FontFiles/Final-Frontier28.h deleted file mode 100644 index b45e623..0000000 --- a/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/FontFiles/Final-Frontier28.h +++ /dev/null @@ -1,1588 +0,0 @@ -#include - -const uint8_t Final-Frontier28[] PROGMEM = { -0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, -0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x15, -0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, -0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x04, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08, -0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, -0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, -0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x08, -0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, -0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15, -0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x15, -0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x16, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x15, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, -0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x14, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x15, -0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, -0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, -0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, -0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08, -0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x17, -0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0C, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, -0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, -0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x15, -0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x13, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x10, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0D, -0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, -0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x15, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x17, -0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0E, -0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x78, 0x90, 0x90, 0x90, 0x76, 0x44, 0xFF, 0xFF, 0xFF, 0x3C, 0x2E, 0xFF, 0xFF, 0xFF, 0x27, 0x21, -0xFF, 0xFF, 0xFF, 0x1C, 0x14, 0xFF, 0xFF, 0xFF, 0x11, 0x07, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0xFA, -0xFF, 0xFB, 0x00, 0x00, 0xED, 0xFF, 0xF0, 0x00, 0x00, 0xE0, 0xFF, 0xE4, 0x00, 0x00, 0xD3, 0xFF, -0xD9, 0x00, 0x00, 0xC6, 0xFF, 0xCE, 0x00, 0x00, 0xB9, 0xFF, 0xC3, 0x00, 0x00, 0xAC, 0xFF, 0xB8, -0x00, 0x00, 0x9F, 0xFF, 0xAD, 0x00, 0x00, 0x33, 0x58, 0x38, 0x00, 0x00, 0x1E, 0x4D, 0x1B, 0x00, -0x43, 0xF9, 0xFF, 0xF7, 0x39, 0x86, 0xFF, 0xFF, 0xFF, 0x7A, 0x18, 0xBF, 0xF6, 0xBB, 0x13, 0xFF, -0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, -0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, -0xFF, 0xDD, 0x01, 0x00, 0x00, 0x49, 0xFF, 0xF0, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xCE, 0xFF, 0x76, 0x00, 0x00, 0x00, 0xB3, 0xFF, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x38, 0xFF, 0xF8, 0x15, 0x00, 0x00, 0x1E, 0xFD, 0xFF, 0x2B, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0xFF, 0xA4, 0x00, 0x00, 0x00, 0x86, 0xFF, 0xC3, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xF7, 0xFF, 0x3C, 0x00, 0x00, 0x06, -0xE9, 0xFF, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, 0x0B, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x00, 0x00, 0x00, 0x00, -0x00, 0x29, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x0B, 0xF6, 0xFF, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x7C, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x55, 0xFF, 0xE4, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xFF, 0x79, 0x00, 0x00, 0x00, 0xA9, 0xFF, 0x91, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x27, 0x00, 0x00, 0x08, -0xF3, 0xFF, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0xF8, 0xF8, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x0E, 0x00, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x3F, 0xFF, 0xFD, 0x17, 0x00, 0x00, 0x1A, 0xFD, 0xFF, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x93, 0xFF, 0xBD, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xD2, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE4, 0xFF, 0x66, 0x00, 0x00, 0x00, 0xC7, 0xFF, 0x7C, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xFF, 0xFB, 0x14, 0x00, 0x00, 0x1E, -0xFE, 0xFF, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xB9, 0x00, -0x00, 0x00, 0x75, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE1, -0xFF, 0x63, 0x00, 0x00, 0x00, 0xCC, 0xFF, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0xAE, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0x84, 0x00, 0x00, 0x19, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x04, -0x00, 0x00, 0x8A, 0xFF, 0xF1, 0x4C, 0x0A, 0x00, 0x00, 0x32, 0x24, 0x00, 0x00, 0x00, 0xC0, 0xFF, -0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0xE6, 0x19, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0xFF, 0xFF, 0xD7, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x15, 0xEB, 0xFF, 0xFF, 0xEF, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xF5, 0xFF, 0xFF, 0xFC, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xFF, 0xFF, 0xFF, -0xFF, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0xFF, 0xFF, 0xFE, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0x02, 0xC8, 0xFF, 0xFF, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, -0x47, 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x0C, 0xFF, 0xFF, 0xF9, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x13, 0xFF, 0xFF, 0xDB, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0x00, 0x5B, 0xFF, 0xFF, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x4C, -0xEC, 0xFF, 0xE4, 0x14, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x27, 0x00, -0x23, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x6A, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xBC, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x74, 0xCF, 0xF6, 0xF5, 0xCD, 0x71, 0x06, 0x00, 0x00, 0x00, -0x00, 0x1E, 0xDB, 0xFF, 0xFF, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xCA, 0x11, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xFF, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, -0x9F, 0xFF, 0xFF, 0xB4, 0x1B, 0x1B, 0xB6, 0xFF, 0xFF, 0x9E, 0x00, 0x00, 0x00, 0x4B, 0xFF, 0xF7, -0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x1A, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xF0, -0x00, 0x00, 0x03, 0xD5, 0xFF, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x1A, -0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xEE, 0x00, 0x00, 0x68, 0xFF, 0xE8, 0x0D, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x9E, 0xFF, 0xFF, 0xB3, 0x1B, 0x1B, 0xB6, 0xFF, 0xFF, 0x9A, 0x00, 0x0D, 0xE8, 0xFF, -0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xC8, 0x0F, 0x00, 0x85, 0xFF, 0xD1, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, -0x75, 0xCF, 0xF7, 0xF6, 0xCD, 0x70, 0x05, 0x00, 0x1C, 0xF6, 0xFF, 0x44, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xFF, -0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x31, 0xFE, 0xFB, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0xFF, 0x91, 0x00, 0x01, 0x61, 0xC7, -0xF4, 0xF5, 0xC9, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xFF, -0xEE, 0x12, 0x04, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0xD6, 0xFF, 0x70, 0x00, 0x77, 0xFF, 0xFF, 0xCB, 0x22, 0x23, 0xCD, 0xFF, -0xFF, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0xFF, 0xDA, 0x05, 0x00, 0xDC, 0xFF, -0xFF, 0x34, 0x00, 0x00, 0x36, 0xFF, 0xFF, 0xDB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xE9, -0xFF, 0x4F, 0x00, 0x00, 0xF9, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xF9, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x86, 0xFF, 0xBF, 0x00, 0x00, 0x00, 0xDA, 0xFF, 0xFF, 0x33, 0x00, 0x00, -0x35, 0xFF, 0xFF, 0xDA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xF6, 0xFD, 0x31, 0x00, 0x00, 0x00, -0x74, 0xFF, 0xFF, 0xC9, 0x21, 0x22, 0xCB, 0xFF, 0xFF, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, -0xFF, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x03, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x04, -0x00, 0x00, 0x00, 0x00, 0x32, 0xFE, 0xFF, 0xCE, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xC7, -0xF5, 0xF6, 0xC9, 0x64, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5F, 0xC2, 0xF1, 0xFF, 0xFF, 0xFF, -0xFF, 0xBF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xB5, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xF3, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xFF, -0xFF, 0xD2, 0x3A, 0x07, 0x00, 0x04, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xE6, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xFF, 0xFF, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xFF, 0xFF, 0xD3, 0x0C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xF3, 0xFF, 0xFF, -0xFB, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x18, 0x21, 0xF1, -0xFF, 0xFF, 0x96, 0x12, 0x00, 0x00, 0x00, 0x26, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x00, 0x93, 0xFF, 0xFF, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xF4, 0x1E, 0x00, 0xDB, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x33, 0x1C, 0x00, 0x0E, -0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x05, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xFF, 0xFF, 0x0E, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xDE, 0x00, 0x00, 0x00, 0x00, 0xBA, 0xFF, 0xFF, -0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0xFF, 0xFF, 0x9B, 0x00, 0x00, 0x00, 0x00, -0x51, 0xFF, 0xFF, 0xD6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xEA, 0xFF, 0xFC, 0x2B, 0x00, -0x00, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xDD, 0x5E, 0x19, 0x04, 0x17, 0x62, 0xE6, 0xFF, 0xFF, -0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8A, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xF5, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x8E, 0xCF, 0xF0, -0xFB, 0xEB, 0xC3, 0x7C, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, -0xFC, 0x00, 0x00, 0x00, 0x64, 0xFF, 0xFF, 0xF5, 0x4F, 0x00, 0x00, 0x3A, 0xF9, 0xFF, 0xF3, 0x3B, -0x00, 0x00, 0x07, 0xE1, 0xFF, 0xFE, 0x4E, 0x00, 0x00, 0x00, 0x74, 0xFF, 0xFF, 0x9A, 0x00, 0x00, -0x00, 0x0A, 0xED, 0xFF, 0xF8, 0x17, 0x00, 0x00, 0x00, 0x59, 0xFF, 0xFF, 0xA5, 0x00, 0x00, 0x00, -0x00, 0xA1, 0xFF, 0xFF, 0x59, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xFF, 0xFF, 0x26, 0x00, 0x00, 0x00, -0x00, 0xF3, 0xFF, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, -0x00, 0xF2, 0xFF, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFF, 0xFF, 0x2D, 0x00, 0x00, 0x00, -0x00, 0xA2, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00, -0x00, 0x0B, 0xF0, 0xFF, 0xFA, 0x19, 0x00, 0x00, 0x00, 0x00, 0x78, 0xFF, 0xFF, 0x9D, 0x00, 0x00, -0x00, 0x00, 0x09, 0xE3, 0xFF, 0xFE, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFA, 0xFF, 0xF3, 0x3A, -0x00, 0x00, 0x00, 0x00, 0x65, 0xFF, 0xFF, 0xF5, 0x4F, 0x4D, 0xF4, 0xFF, 0xFF, 0x6A, 0x00, 0x00, -0x00, 0x00, 0x39, 0xF2, 0xFF, 0xFA, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xFE, 0xFF, 0xE3, 0x09, -0x00, 0x00, 0x00, 0x00, 0x9A, 0xFF, 0xFF, 0x77, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF8, 0xFF, 0xEF, -0x0B, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xFF, 0xFF, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFF, 0xFF, -0xA4, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFF, 0xFF, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, -0xF4, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x61, 0xFF, 0xFF, -0xA0, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xFF, 0xFF, 0x58, 0x00, 0x00, 0x00, 0x19, 0xFA, 0xFF, 0xEE, -0x0A, 0x00, 0x00, 0x00, 0x9C, 0xFF, 0xFF, 0x77, 0x00, 0x00, 0x00, 0x4C, 0xFE, 0xFF, 0xE4, 0x09, -0x00, 0x00, 0x38, 0xF2, 0xFF, 0xFA, 0x3E, 0x00, 0x00, 0x4C, 0xF4, 0xFF, 0xFF, 0x6B, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x86, 0xFF, 0x82, 0x00, 0x00, 0x00, 0x2A, 0x97, 0x02, 0x41, 0xFF, 0x3F, -0x02, 0x99, 0x28, 0xB4, 0xFF, 0xA2, 0x0A, 0xF4, 0x0A, 0xA4, 0xFF, 0xB2, 0x28, 0x63, 0xA1, 0xE1, -0xFF, 0xE0, 0x9F, 0x62, 0x29, 0x00, 0x00, 0x17, 0xE8, 0xFF, 0xE3, 0x14, 0x00, 0x00, 0x8B, 0xD7, -0xF3, 0x75, 0xF5, 0x74, 0xF2, 0xD5, 0x8A, 0x75, 0xF2, 0x3D, 0x11, 0xFC, 0x10, 0x3D, 0xF3, 0x72, -0x08, 0x33, 0x00, 0x4D, 0xFF, 0x4A, 0x00, 0x34, 0x07, 0x00, 0x00, 0x00, 0x8A, 0xFF, 0x86, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xB0, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xF1, 0xFF, 0xFF, 0x8E, 0x27, 0xFF, 0xFF, 0xAC, 0x02, 0x7E, 0xFF, 0xC4, -0x08, 0x00, 0xD5, 0xD9, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x59, -0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x37, 0x34, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x89, 0x00, 0x5E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x78, -0xF8, 0xF8, 0x75, 0xF0, 0xFF, 0xFF, 0xEF, 0x67, 0xEA, 0xEA, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x2E, 0xF6, 0xFF, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xFB, 0xFF, 0x7B, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, -0xFF, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xFD, 0xFF, 0x72, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x6F, 0xFF, 0xFE, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xFF, 0xC2, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xFF, 0xFF, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, -0xFF, 0xFC, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xFF, 0xB9, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x29, 0xFF, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xFF, 0xF9, 0x10, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xFF, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, -0xFF, 0xFF, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xFF, 0xF5, 0x0B, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0xE3, 0xFF, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xFF, 0xFF, 0x50, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xFF, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, -0xEA, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x9F, 0xFF, 0xF9, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x98, 0x98, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x87, 0xC9, 0xEC, 0xFB, 0xED, -0xCB, 0x89, 0x21, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7B, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFB, 0x7C, 0x01, 0x00, 0x00, 0x8B, 0xFF, 0xFF, 0xDE, 0x5D, 0x18, 0x05, 0x19, 0x5F, 0xE0, -0xFF, 0xFF, 0x8A, 0x00, 0x39, 0xFF, 0xFF, 0xDF, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE1, -0xFF, 0xFF, 0x39, 0xA5, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0xFF, -0xFF, 0xA4, 0xE3, 0xFF, 0xFF, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, -0xE1, 0xFA, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF9, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFA, 0xFF, 0xFF, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF9, 0xE2, 0xFF, 0xFF, 0x19, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xE1, 0xA4, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xA4, 0x38, 0xFF, 0xFF, 0xDD, 0x12, 0x00, 0x00, 0x00, -0x00, 0x00, 0x12, 0xDE, 0xFF, 0xFF, 0x39, 0x00, 0x8A, 0xFF, 0xFF, 0xDC, 0x5B, 0x17, 0x04, 0x17, -0x5B, 0xDC, 0xFF, 0xFF, 0x8C, 0x00, 0x00, 0x01, 0x7C, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFC, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x21, 0x88, 0xCA, 0xEE, 0xFB, 0xEF, 0xCC, 0x8B, -0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFF, 0x00, -0x00, 0x00, 0x5E, 0xFE, 0xFF, 0x00, 0x00, 0x4A, 0xFB, 0xFF, 0xFF, 0x00, 0x0F, 0xB9, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x42, 0xFF, 0xFF, 0xFF, 0x42, 0x00, 0x00, 0x01, 0x56, -0xB0, 0xE3, 0xF8, 0xE7, 0xC2, 0x6A, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x16, 0xC4, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x1D, 0x00, 0x00, 0x00, 0xBA, 0xFF, 0xFF, 0x97, 0x28, 0x08, 0x2F, -0xB2, 0xFF, 0xFF, 0xCC, 0x06, 0x00, 0x00, 0x5D, 0xFF, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x01, 0xB4, -0xFF, 0xFF, 0x69, 0x00, 0x00, 0x01, 0xCD, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xFF, 0xFF, -0xC8, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xF1, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xFF, 0xC9, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x28, 0xF4, 0xFF, 0xFF, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x0D, 0xD4, 0xFF, 0xFF, 0xE7, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xB3, -0xFF, 0xFF, 0xFE, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xFF, 0xFF, 0xFF, -0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0xFF, 0xFF, 0xFF, 0x99, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xF8, 0xFF, 0xFF, 0xBA, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1D, 0xE8, 0xFF, 0xFF, 0xD4, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0B, 0xCF, 0xFF, 0xFF, 0xE8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xAD, 0xFF, -0xFF, 0xF6, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3D, 0x00, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x19, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x07, 0x69, 0xBD, 0xEB, 0xFB, 0xEA, 0xB3, 0x4A, -0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x01, -0x00, 0x00, 0x00, 0x33, 0xFD, 0xFF, 0x9B, 0x22, 0x0E, 0x52, 0xEA, 0xFF, 0xFF, 0x6A, 0x00, 0x00, -0x00, 0x00, 0x98, 0xBA, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFF, 0xFF, 0xD3, 0x00, 0x00, 0x00, 0x00, -0x12, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x84, 0xFF, 0xFF, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x75, -0xFE, 0xFF, 0xF1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x44, 0xA7, 0xFF, -0xFF, 0xF2, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFB, 0xFF, -0xF7, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0xFF, 0xFF, 0xA0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0xFF, 0xFF, 0xDE, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x4C, 0xFF, 0xFF, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x0A, 0xCD, 0xFF, 0xFF, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0C, 0x2B, 0x68, 0xD9, -0xFF, 0xFF, 0x8F, 0x00, 0x00, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x8C, -0x03, 0x00, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xF0, 0xD5, 0x9E, 0x38, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xFF, 0xFF, 0xAD, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xFA, 0xFF, 0xE5, 0x12, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xD5, 0xFF, 0xFE, 0x44, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0x8D, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xFE, 0xFF, 0xD1, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE1, 0xFF, 0xF7, 0x2B, 0x00, 0x15, 0xDA, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0xFF, 0xFF, 0x6D, 0x00, 0x0C, 0xCA, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x53, 0xFF, 0xFF, 0xB7, 0x01, 0x00, 0xB9, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x18, 0xEB, 0xFF, 0xEA, 0x18, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xB4, 0xFF, 0xFF, 0x4E, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x66, 0xFF, 0xFF, 0x98, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x23, 0xF3, 0xFF, 0xD9, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x02, 0xC4, 0xFF, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x31, 0x05, -0x0F, 0xD7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x00, -0x00, 0x1E, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x27, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFF, 0xFF, 0xFF, 0x4B, 0x00, 0x00, -0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0x00, 0x00, 0x00, 0x4B, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x08, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xFF, 0x4D, -0x00, 0x00, 0x00, 0x3B, 0x42, 0x00, 0x00, 0x00, 0x00, 0x84, 0xFF, 0xFF, 0x3A, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xFF, 0xFF, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xBD, 0xFF, 0xFF, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xD9, 0xFF, 0xFF, 0xFF, 0xFA, 0xE7, 0xB5, 0x5E, 0x04, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x4C, -0xCA, 0xFF, 0xFF, 0xD1, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCA, 0xFF, -0xFF, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xFF, 0xFF, 0xC3, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xEE, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, -0xFF, 0xFF, 0xA9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xDF, 0xFF, 0xFF, 0x41, -0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x24, 0x6B, 0xE4, 0xFF, 0xFF, 0x96, 0x00, 0x0C, 0xE6, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x86, 0x02, 0x00, 0x89, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, -0xED, 0xC8, 0x88, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBA, 0xFF, 0xFF, -0xE5, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xD5, 0xFF, 0xFF, 0x4E, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0xFF, 0xFF, 0xA7, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFE, 0xFF, 0xEB, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0E, 0xE0, 0xFF, 0xFF, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xA0, 0xFF, 0xFF, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0xFF, 0xFF, -0xF1, 0x1C, 0x60, 0xDF, 0xA1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x16, 0xEA, 0xFF, 0xFF, 0x68, 0x1F, -0xF1, 0xFF, 0xFF, 0xFF, 0xAD, 0x0D, 0x00, 0x00, 0xAA, 0xFF, 0xFF, 0xC0, 0x01, 0x45, 0x85, 0xBF, -0xFF, 0xFF, 0xFF, 0xBF, 0x04, 0x3A, 0xFF, 0xFF, 0xFA, 0x26, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xF8, -0xFF, 0xFF, 0x64, 0xA2, 0xFF, 0xFF, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFF, 0xFF, -0xC2, 0xE3, 0xFF, 0xFF, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0xFF, 0xFF, 0xF0, 0xFA, -0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xF8, 0xE9, 0xFF, 0xFF, -0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xE0, 0xAF, 0xFF, 0xFF, 0x46, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xFF, 0xFF, 0xA1, 0x43, 0xFF, 0xFF, 0xCA, 0x07, 0x00, 0x00, -0x00, 0x00, 0x0B, 0xD5, 0xFF, 0xFF, 0x35, 0x00, 0x95, 0xFF, 0xFF, 0xCB, 0x48, 0x0D, 0x09, 0x41, -0xCC, 0xFF, 0xFF, 0x8A, 0x00, 0x00, 0x02, 0x89, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, -0x88, 0x02, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x99, 0xDB, 0xF6, 0xF6, 0xDA, 0x99, 0x2E, 0x00, 0x00, -0x00, 0x00, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x3E, 0xFD, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x61, 0x4E, 0x03, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1F, 0xFD, 0xFF, 0xEE, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x85, 0xFF, 0xFF, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xE8, 0xFF, 0xFE, -0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0xFF, 0xFF, 0xBC, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x28, 0xFF, 0xFF, 0xE5, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, -0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xEF, 0xFF, 0xFB, 0x1B, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0xFF, 0xFF, 0xAD, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x33, 0xFF, 0xFF, 0xD9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xFF, -0xFF, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF5, 0xFF, 0xF6, 0x11, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xFF, 0xFF, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xD5, 0xFF, 0xFF, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3F, 0xFF, 0xFF, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xFF, 0xFF, -0xCD, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xC6, 0xF4, 0xF5, -0xC9, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xA6, 0x02, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xFF, 0xFF, 0xC2, 0x1F, 0x1F, 0xC4, 0xFF, 0xFF, 0x6C, -0x00, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0xFF, 0x2C, 0x00, 0x00, 0x2E, 0xFF, 0xFF, 0xD2, 0x00, 0x00, -0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, -0xE5, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x46, 0xFF, 0xFF, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, -0xFF, 0xEA, 0x5C, 0x5C, 0xEB, 0xFF, 0xFF, 0x85, 0x00, 0x00, 0x00, 0x00, 0x21, 0xF3, 0xFF, 0xFF, -0xD8, 0xD8, 0xFF, 0xFF, 0xF6, 0x21, 0x00, 0x00, 0x00, 0x3B, 0xEE, 0xFF, 0xFF, 0xFF, 0xB7, 0xB9, -0xFF, 0xFF, 0xFF, 0xE8, 0x34, 0x00, 0x1B, 0xEA, 0xFF, 0xFF, 0xBB, 0x1F, 0x00, 0x00, 0x25, 0xC2, -0xFF, 0xFF, 0xE6, 0x18, 0x8D, 0xFF, 0xFF, 0xBB, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0xBF, 0xFF, -0xFF, 0x8D, 0xDA, 0xFF, 0xFF, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xDC, -0xF8, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF7, 0xE7, 0xFF, -0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xE6, 0xA9, 0xFF, 0xFF, 0x52, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0xFF, 0xFF, 0xA6, 0x38, 0xFE, 0xFF, 0xD8, 0x0F, 0x00, -0x00, 0x00, 0x00, 0x0F, 0xD8, 0xFF, 0xFE, 0x36, 0x00, 0x81, 0xFF, 0xFF, 0xD6, 0x4D, 0x0C, 0x0B, -0x4B, 0xD5, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x73, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x8D, 0xD3, 0xF4, 0xF5, 0xD4, 0x8D, 0x20, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x99, 0xD8, 0xF4, 0xF6, 0xDA, 0x9A, 0x2F, 0x00, 0x00, 0x00, -0x00, 0x04, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x89, 0x02, 0x00, 0x00, 0x9A, -0xFF, 0xFF, 0xC9, 0x41, 0x09, 0x0E, 0x4C, 0xD0, 0xFF, 0xFF, 0x95, 0x00, 0x44, 0xFF, 0xFF, 0xCE, -0x08, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xCC, 0xFF, 0xFF, 0x44, 0xAE, 0xFF, 0xFF, 0x4B, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x44, 0xFF, 0xFF, 0xB0, 0xE7, 0xFF, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xE9, 0xFA, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0B, 0xFF, 0xFF, 0xF9, 0xE9, 0xFF, 0xFF, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0xFF, -0xFF, 0xE0, 0xAD, 0xFF, 0xFF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xFF, 0xFF, 0x9D, -0x3B, 0xFE, 0xFF, 0xFF, 0xAE, 0x2E, 0x00, 0x00, 0x00, 0x22, 0xF8, 0xFF, 0xFF, 0x35, 0x00, 0x74, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x69, 0x00, 0xBB, 0xFF, 0xFF, 0xA5, 0x00, 0x00, 0x00, 0x4B, 0xD5, -0xFF, 0xFF, 0xC1, 0x02, 0x63, 0xFF, 0xFF, 0xE7, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x6D, -0x1F, 0x1A, 0xEF, 0xFF, 0xFF, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, -0xFF, 0xFF, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xFF, 0xFF, 0xDE, -0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xEA, 0xFF, 0xFD, 0x3C, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xFF, 0xFF, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x4D, 0xFF, 0xFF, 0xD4, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x0F, 0xE4, 0xFF, 0xFF, 0xBD, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x00, -0x6D, 0xFB, 0xFA, 0x6B, 0xF0, 0xFF, 0xFF, 0xEF, 0xBB, 0xFF, 0xFF, 0xB7, 0x0C, 0x6B, 0x69, 0x0A, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, -0x78, 0xF8, 0xF8, 0x75, 0xF0, 0xFF, 0xFF, 0xEF, 0x67, 0xEA, 0xEA, 0x65, 0x00, 0x00, 0x11, 0x0B, -0x00, 0x00, 0x8A, 0xFE, 0xF9, 0x68, 0x14, 0xFF, 0xFF, 0xFF, 0xEF, 0x03, 0xDA, 0xFF, 0xFF, 0xB5, -0x00, 0x14, 0x70, 0x66, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xF1, 0xFF, 0xFF, 0x84, 0x27, 0xFF, -0xFF, 0xA5, 0x01, 0x7E, 0xFF, 0xC1, 0x06, 0x00, 0xD5, 0xD8, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x25, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x33, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x9E, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x05, 0xCA, 0xCC, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x28, 0xDC, 0xDD, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0x97, 0xB0, 0xFF, 0xFF, 0xBC, -0xA1, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xC3, 0xB3, 0x2E, -0xAF, 0xFF, 0xFF, 0xB0, 0x31, 0xE5, 0x96, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, -0xE9, 0xA4, 0x0A, 0x0E, 0xF4, 0xFF, 0xFF, 0xF4, 0x0F, 0x06, 0xFF, 0xA9, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x1D, 0xEF, 0xDD, 0x0C, 0x00, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0x63, 0x00, 0x11, 0xFF, -0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0xFF, 0x6F, 0x00, 0x00, 0x63, 0xFD, 0xFF, 0xFF, 0xFE, -0x63, 0x00, 0x00, 0xD4, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0xFF, 0x24, 0x00, 0x29, 0x14, -0xB9, 0xFF, 0xFF, 0xBA, 0x14, 0x23, 0x00, 0x46, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, -0x05, 0x20, 0xDD, 0x4E, 0x3E, 0xF2, 0xF3, 0x3F, 0x4B, 0xCF, 0x05, 0x0B, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0xC2, 0xE3, 0x46, 0xE5, 0xFF, 0xCF, 0x20, 0x95, 0x99, 0x1B, 0xCF, 0xFF, 0xC4, 0x09, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x1D, 0x20, 0x8C, -0xFF, 0xFF, 0xFF, 0xF2, 0xC0, 0x6B, 0x3E, 0x28, 0x0F, 0x52, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xE4, 0x44, 0x42, 0xEB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xB1, 0x3A, 0xBE, 0xFF, 0xFF, -0xFF, 0xD7, 0x6C, 0x01, 0x2B, 0x17, 0x10, 0x13, 0x18, 0x85, 0xD3, 0xD2, 0xD3, 0xD1, 0xCD, 0x7A, -0x01, 0xF1, 0xFF, 0xDC, 0xC5, 0xDD, 0xF6, 0x8B, 0x32, 0x09, 0x0A, 0x32, 0x8C, 0xD1, 0x37, 0xC2, -0xEE, 0xC0, 0x52, 0x00, 0x00, 0xEA, 0xD4, 0x8D, 0x29, 0x01, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0F, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x76, 0xC8, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x9F, 0x04, 0x53, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x61, 0x44, 0x15, 0x2E, 0xC5, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x99, -0x00, 0x33, 0x4F, 0x44, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x48, 0x00, 0x51, -0x6F, 0x00, 0xD1, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x6F, 0x8F, 0x00, -0x66, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x76, 0x00, 0x00, 0x8D, 0xB0, 0x00, 0x0A, 0xE0, -0x0A, 0x00, 0x00, 0x00, 0x00, 0x76, 0x1C, 0x00, 0x2F, 0xC7, 0xDE, 0x2F, 0x00, 0x92, 0x5B, 0x00, -0x00, 0x00, 0x00, 0x94, 0x00, 0x0D, 0x81, 0xF5, 0xFE, 0x9D, 0x1C, 0x3B, 0xB9, 0x00, 0x00, 0x00, -0x13, 0x7C, 0x00, 0x00, 0x00, 0x9B, 0x8B, 0x11, 0x00, 0x01, 0xDC, 0x10, 0x00, 0x00, 0x58, 0x3B, -0x00, 0x00, 0x01, 0x20, 0x05, 0x12, 0x00, 0x00, 0x8C, 0x5A, 0x00, 0x00, 0x8C, 0x06, 0x00, 0x00, -0x00, 0x00, 0x13, 0x81, 0xAE, 0x39, 0x47, 0xA3, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xDD, 0x7E, 0x58, 0xD9, 0x40, 0xDD, 0x00, 0x08, 0x8C, 0x00, 0x00, 0x07, 0x9D, 0xC1, 0x1C, 0x00, -0x00, 0x2A, 0xD1, 0xD2, 0x21, 0x31, 0x61, 0x00, 0x12, 0xC4, 0x98, 0x04, 0x00, 0x00, 0x00, 0x00, -0x6B, 0xFC, 0x54, 0x59, 0x35, 0x16, 0xD3, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xCD, -0x83, 0x81, 0x23, 0xD4, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xAF, 0x9A, -0xC6, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8D, 0xC2, 0xB7, 0x03, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xBD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xFF, 0xFF, 0xF3, 0xD1, 0x84, 0x13, 0x00, -0x00, 0x29, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x31, 0x00, 0x46, 0x07, 0x00, 0x01, 0x1C, -0x88, 0xFF, 0xFF, 0xE3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xFF, 0xFF, 0x7A, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xFF, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, -0xFF, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2E, 0xFF, 0xFF, 0xE5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0xFF, 0xFF, -0xA9, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x6F, 0xFC, 0xFF, 0xFD, 0x38, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0x72, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFA, 0xBA, 0x40, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, -0x4D, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFA, 0xFF, 0xF3, 0x2D, 0x00, 0x00, 0x00, -0x00, 0x00, 0x8A, 0xFF, 0xFF, 0xFF, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC2, 0xF5, 0xB3, -0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xAE, 0x0A, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x73, 0xFF, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF4, 0xFF, 0xFA, 0x2C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xB2, 0xFF, 0xFF, 0xFF, 0xC4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xE4, 0xFF, 0xFF, 0x8E, 0xFF, 0xFF, 0xED, 0x15, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0xFF, 0xFF, 0xAF, -0x00, 0xAF, 0xFF, 0xFF, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x34, 0xFD, 0xFF, 0xF1, 0x1B, 0x00, 0x24, 0xF9, 0xFF, 0xFF, 0x41, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xCE, 0xFF, 0xFF, -0x6A, 0x00, 0x00, 0x00, 0x8D, 0xFF, 0xFF, 0xD8, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xFF, 0xFF, 0xC6, 0x02, 0x00, 0x00, 0x00, 0x10, 0xEC, 0xFF, -0xFF, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xF3, 0xFF, -0xFA, 0x2B, 0x1C, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x24, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0xFF, 0xFF, 0x83, 0x04, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0xFF, -0xFF, 0xD9, 0x07, 0x1A, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0xFF, 0xFF, 0x59, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xE3, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x26, 0xF9, 0xFF, 0xE8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, -0xFF, 0xFF, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0xFF, -0xFF, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xFC, 0xFF, 0xE8, 0x11, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE0, 0xFF, 0xFD, 0x37, 0x00, 0x00, 0x00, 0x03, -0xCD, 0xFF, 0xFF, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x4F, 0xFF, 0xFF, 0xD0, 0x04, 0x00, 0x00, 0x71, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFF, 0xFF, 0x73, 0x00, -0x1C, 0xF3, 0xFF, 0xF4, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x22, 0xF7, 0xFF, 0xF4, 0x1D, 0xB0, 0xFF, 0xFF, 0xC8, 0x0C, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xD2, 0xFF, -0xFF, 0xB0, 0x32, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xF1, 0xCC, 0x85, -0x17, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xEB, 0x32, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x26, -0xA8, 0xFF, 0xFF, 0xDD, 0x06, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x03, 0xEE, 0xFF, 0xFF, 0x3D, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0D, 0xF2, 0xF2, 0x55, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0E, 0xBB, 0xD3, 0x26, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x21, 0xD4, 0xA1, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x3C, 0xEA, 0xFF, 0xE4, 0xA5, 0x36, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x5E, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x6C, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x4E, 0xB1, 0xA7, 0xAE, 0xD9, 0xFF, 0xFF, 0xFF, 0xFC, 0x32, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF1, 0xFF, 0xFF, 0xA0, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xFF, 0xFF, 0xDD, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xF7, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xF6, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xFF, 0xFF, -0xDA, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0xFF, -0xFF, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1C, 0x6D, 0xF4, -0xFF, 0xF6, 0x24, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xF4, 0x4E, 0x00, 0x39, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, -0xD3, 0x8E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x85, 0xCD, 0xEC, 0xF8, 0xFE, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x16, 0x00, 0x00, 0x00, 0x0F, 0x97, 0xFE, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x52, 0x00, 0x00, -0x00, 0x17, 0xD8, 0xFF, 0xFF, 0xC9, 0x64, 0x2A, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0xD4, 0xFF, 0xFF, 0x7F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFF, 0xFF, 0x97, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFD, -0xFF, 0xE9, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xFF, 0xFF, 0x3B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE9, 0xFF, 0xFF, -0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xED, 0xFF, 0xFF, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xFF, 0xFF, 0x33, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x98, 0xFF, 0xFF, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xFF, 0xFF, 0xDC, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0x82, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF0, 0xFF, 0xFF, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xEE, 0xFF, 0xFF, 0xC4, 0x5C, 0x25, 0x0C, 0x02, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x33, 0x00, 0x00, 0x00, 0x21, 0xBC, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x3A, 0x97, 0xCB, 0xE9, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xF4, 0x23, 0x00, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0xE6, -0xC1, 0x8B, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x1F, 0x53, 0xB2, 0xFF, 0xFF, 0xE7, 0x26, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xFE, -0xFF, 0xE4, 0x14, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, 0x99, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xE6, 0xFF, 0xFD, 0x23, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xFF, 0xFF, 0x76, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xFF, 0xFF, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x17, 0xFF, 0xFF, 0xDF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xF7, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xED, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x33, 0xFF, 0xFF, 0xD4, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x78, 0xFF, 0xFF, 0x9B, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xD8, 0xFF, 0xFF, 0x48, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFF, 0xFF, 0xC7, 0x01, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0xFD, -0xFF, 0xF5, 0x2F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x1B, -0x4D, 0xB2, 0xFF, 0xFF, 0xF5, 0x41, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x2B, 0x00, 0x00, 0x00, 0x3B, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xEE, 0xD2, 0xA0, 0x46, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x85, 0xCD, 0xEC, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0x16, 0x00, 0x00, 0x00, 0x0F, 0x97, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x17, 0xD8, 0xFF, 0xFF, -0xC9, 0x64, 0x2A, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, -0x0F, 0xD4, 0xFF, 0xFF, 0x7F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFF, 0xFF, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFD, 0xFF, 0xE9, 0x0E, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, -0xFF, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xC1, 0xFF, 0xFF, 0x3B, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x3C, 0x00, 0x00, 0xE9, 0xFF, 0xFF, 0x29, 0xEC, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, -0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x09, 0x00, -0x00, 0x00, 0xED, 0xFF, 0xFF, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xFF, 0xFF, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xFF, 0xFF, 0x79, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x44, 0xFF, 0xFF, 0xDC, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF0, 0xFF, 0xFF, -0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x34, 0xEE, 0xFF, 0xFF, 0xC4, 0x5C, 0x25, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1B, 0x33, 0x00, 0x00, 0x00, 0x21, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, -0x97, 0xCB, 0xE9, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x23, 0x00, 0x32, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x41, 0x00, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x09, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x12, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, -0xFF, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x36, 0x8D, 0xD2, 0xEF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x61, 0x00, 0x00, 0x00, 0x00, 0x13, 0xA1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xDE, 0xFF, 0xFF, 0xC0, 0x5C, 0x24, 0x0C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x44, 0x12, 0x00, 0x00, 0x00, 0x10, 0xD7, 0xFF, 0xFF, 0x72, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xFF, 0xFF, 0x8D, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFD, -0xFF, 0xE6, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x81, 0xFF, 0xFF, 0x82, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0x00, 0xC1, 0xFF, 0xFF, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xE9, 0xFF, 0xFF, 0x16, 0x00, 0x00, 0x00, 0x14, 0x27, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFA, 0xFF, 0xFF, 0x05, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xED, 0xFF, 0xFF, -0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0xD3, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x98, 0xFF, 0xFF, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0xFF, 0xFF, 0xD9, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x79, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x29, 0xF1, 0xFF, -0xFE, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x38, 0xF1, 0xFF, 0xFF, 0xBA, 0x54, 0x20, 0x0B, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x24, 0xC2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9C, 0xCE, 0xEB, 0xFA, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x35, 0x41, 0xFF, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x13, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x36, 0x08, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x41, 0xFF, 0xFF, 0xFF, -0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0xFF, 0xFF, 0x3C, 0x40, 0xFF, -0xFF, 0xFF, 0x3D, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x41, 0xFF, 0xFF, 0xFF, 0x3E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, -0xFF, 0xF6, 0x00, 0x18, 0xAE, 0xFF, 0x15, 0x00, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xD8, 0x00, -0x71, 0xFF, 0xFF, 0x66, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0x92, 0x00, 0x0A, 0xE3, 0xFF, -0xF6, 0x6F, 0x17, 0x13, 0x5D, 0xEE, 0xFF, 0xF3, 0x1F, 0x00, 0x00, 0x24, 0xE1, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x49, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x7E, 0xCF, 0xF5, 0xF9, 0xDD, 0x97, -0x22, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xFF, -0xFF, 0xEA, 0x27, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xFD, -0xFF, 0xF2, 0x33, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x23, 0xEE, -0xFF, 0xF8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x0B, 0xD2, -0xFF, 0xFC, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xA8, -0xFF, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x76, -0xFF, 0xFF, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, -0xFC, 0xFF, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0xA4, 0xFF, 0xF1, 0x79, 0x49, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0xA4, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0x7F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x54, 0x79, 0x8D, 0xC2, 0xFC, 0xFF, 0xFF, 0xD3, 0x1A, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xB0, 0xFF, 0xFF, 0xDA, 0x13, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x91, 0xFF, 0xFF, 0xA8, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC1, 0xFF, 0xFF, 0x3A, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xFF, 0xFF, -0xA6, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, -0xFF, 0xEF, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x9C, 0xFF, 0xFF, 0x2A, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x80, 0xFF, 0xFF, 0x47, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x71, 0xFF, 0xFF, 0x59, 0x3E, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xB1, 0xFF, 0xFF, 0x60, 0x3E, 0xFF, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x08, 0x3A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x12, 0x38, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xEF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF8, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xFF, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, -0xFF, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x34, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF9, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xC5, 0xFF, 0xFF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x8B, 0xFF, 0xFF, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFB, 0xFF, 0xFF, 0xFE, -0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xF2, 0xFF, 0xFF, 0xFF, 0x19, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x51, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFF, 0xCA, -0xD5, 0xFF, 0xFC, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xE8, 0xFF, 0xA2, 0xFD, 0xFF, 0xA2, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0xFF, 0x8B, 0x56, 0xFF, 0xFF, 0x99, 0x00, 0x00, 0x00, -0x00, 0x00, 0x68, 0xFF, 0xF9, 0x1C, 0xCC, 0xFF, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0xFF, -0xFF, 0x4E, 0x01, 0xD2, 0xFF, 0xF9, 0x1B, 0x00, 0x00, 0x00, 0x03, 0xDC, 0xFF, 0x99, 0x00, 0x89, -0xFF, 0xFF, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x69, 0xFF, 0xFE, 0x12, 0x00, 0x52, 0xFF, 0xFF, 0x8E, -0x00, 0x00, 0x00, 0x56, 0xFF, 0xFB, 0x21, 0x00, 0x46, 0xFF, 0xFF, 0x71, 0x00, 0x00, 0x00, 0x00, -0xAF, 0xFF, 0xD3, 0x00, 0x00, 0x01, 0xCE, 0xFF, 0xF5, 0x14, 0x00, 0x00, 0xCD, 0xFF, 0xA0, 0x00, -0x00, 0x0A, 0xF9, 0xFF, 0xB6, 0x00, 0x00, 0x00, 0x03, 0xF0, 0xFF, 0x95, 0x00, 0x00, 0x00, 0x4E, -0xFF, 0xFF, 0x84, 0x00, 0x45, 0xFF, 0xFD, 0x26, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xF4, 0x06, 0x00, -0x00, 0x3A, 0xFF, 0xFF, 0x58, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xFF, 0xF0, 0x0E, 0xBC, 0xFF, 0xA7, -0x00, 0x00, 0x00, 0x00, 0x7D, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x1A, 0x00, 0x00, -0x00, 0x00, 0x4B, 0xFF, 0xFF, 0xA9, 0xFF, 0xFE, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xFF, 0xFF, -0x84, 0x00, 0x00, 0xC6, 0xFF, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xFF, 0xFF, 0xFF, -0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xF3, 0xFF, 0xC9, 0x00, 0x0F, 0xFC, 0xFF, 0x9F, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xFF, 0xFF, 0xFF, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xB5, 0xFF, 0xFD, 0x11, 0x52, 0xFF, 0xFF, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, -0xFF, 0xB6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xFF, 0xFF, 0x53, 0x98, 0xFF, 0xFF, -0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFF, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x30, 0xFF, 0xFF, 0x98, 0xDD, 0xFF, 0xFF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0xFF, 0xFF, 0xDD, 0x00, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x44, 0xFF, 0xFF, 0xFF, 0x3D, 0x00, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x8D, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF5, 0xFF, 0xFF, 0x84, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3C, 0xF1, 0xFF, 0xFF, 0x81, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x33, -0xEC, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x2B, 0xE6, 0xFF, 0xFF, 0x7C, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x23, 0xE0, 0xFF, 0xFF, 0x79, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xD9, 0xFF, 0xFF, 0x76, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, -0xD1, 0xFF, 0xFF, 0x74, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x11, 0xC9, 0xFF, 0xFF, 0x71, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xB5, 0xFF, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, -0xAB, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x9F, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x93, 0xFF, 0x00, 0x44, 0xFF, 0xFF, 0xFF, 0x3F, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x42, 0x8C, 0xC5, 0xE5, 0xF6, 0xF7, 0xE5, 0xC4, 0x8B, 0x41, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x9D, 0xFF, 0xFF, -0xFD, 0xAB, 0x58, 0x20, 0x0A, 0x0A, 0x20, 0x58, 0xAC, 0xFE, 0xFF, 0xFF, 0x9D, 0x03, 0x00, 0x00, -0x00, 0x01, 0xA6, 0xFF, 0xFF, 0xD7, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, -0xDA, 0xFF, 0xFF, 0xA7, 0x02, 0x00, 0x00, 0x6C, 0xFF, 0xFF, 0xD2, 0x0F, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xD5, 0xFF, 0xFF, 0x6E, 0x00, 0x17, 0xF3, 0xFF, 0xF9, -0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0xF9, 0xFF, -0xF4, 0x17, 0x71, 0xFF, 0xFF, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0xFF, 0xFF, 0x71, 0xC1, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xFF, 0xFF, 0xC2, 0xE4, 0xFF, -0xFF, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x17, 0xFF, 0xFF, 0xE4, 0xF9, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xF8, 0xE5, 0xFF, 0xFF, 0x16, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFF, 0xFF, 0xE2, -0xC2, 0xFF, 0xFF, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x44, 0xFF, 0xFF, 0xBF, 0x72, 0xFF, 0xFF, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFF, 0xFF, 0x6C, 0x18, 0xF4, 0xFF, 0xF8, -0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0xF9, 0xFF, -0xF0, 0x13, 0x00, 0x6D, 0xFF, 0xFF, 0xD0, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0F, 0xD3, 0xFF, 0xFF, 0x65, 0x00, 0x00, 0x01, 0xA2, 0xFF, 0xFF, 0xD5, 0x2B, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xD7, 0xFF, 0xFF, 0x9D, 0x01, 0x00, 0x00, 0x00, -0x01, 0x92, 0xFF, 0xFF, 0xFD, 0xA9, 0x56, 0x1F, 0x09, 0x09, 0x1F, 0x56, 0xAB, 0xFD, 0xFF, 0xFF, -0x92, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x40, 0x8C, 0xC4, 0xE6, 0xF7, 0xF7, 0xE6, 0xC4, 0x8B, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x32, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE2, 0xA2, 0x2F, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0x67, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1D, 0x71, 0xF5, -0xFF, 0xFE, 0x40, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x6C, 0xFF, 0xFF, 0xB9, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x19, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF6, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x4A, 0xFF, 0xFF, 0xCE, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x05, 0x3E, 0xDE, 0xFF, 0xFF, 0x68, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x02, 0xBA, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x16, -0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xBF, 0x5A, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0x8C, 0xC5, 0xE5, 0xF6, 0xF6, 0xE4, -0xC3, 0x88, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0xDB, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x03, 0x9D, 0xFF, 0xFF, 0xFD, 0xAB, 0x58, 0x20, 0x0A, 0x0A, 0x20, 0x58, 0xAC, 0xFE, 0xFF, -0xFF, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x02, 0xA7, 0xFF, 0xFF, 0xD7, 0x2E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x30, 0xDA, 0xFF, 0xFF, 0x8E, 0x00, 0x00, 0x00, 0x6E, 0xFF, 0xFF, 0xD2, -0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xD5, 0xFF, 0xFF, 0x54, -0x00, 0x18, 0xF4, 0xFF, 0xF9, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x25, 0xF9, 0xFF, 0xE6, 0x0B, 0x72, 0xFF, 0xFF, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFF, 0xFF, 0x5D, 0xC2, 0xFF, 0xFF, -0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, -0xFF, 0xFF, 0xB3, 0xE5, 0xFF, 0xFF, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFF, 0xFF, 0xDD, 0xF9, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xF7, 0xE5, -0xFF, 0xFF, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x13, 0xFF, 0xFF, 0xEE, 0xC2, 0xFF, 0xFF, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x60, 0x70, 0x70, 0x49, 0x00, 0x00, 0x42, 0xFF, 0xFF, 0xD5, 0x72, 0xFF, 0xFF, 0x95, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xFE, 0xFF, 0xFB, 0x3D, 0x00, 0x94, 0xFF, 0xFF, -0x96, 0x18, 0xF4, 0xFF, 0xF8, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xFF, -0xFF, 0xE8, 0x40, 0xF5, 0xFF, 0xFF, 0x42, 0x00, 0x6D, 0xFF, 0xFF, 0xD0, 0x0D, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x02, 0xB7, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xBE, 0x00, 0x00, 0x01, 0xA2, -0xFF, 0xFF, 0xD5, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xE1, 0xFF, 0xFF, 0xFF, -0xE9, 0x21, 0x00, 0x00, 0x00, 0x01, 0x92, 0xFF, 0xFF, 0xFD, 0xA9, 0x55, 0x1E, 0x09, 0x07, 0x20, -0x55, 0xAC, 0xFC, 0xFF, 0xFF, 0xFF, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD4, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFA, 0xFF, 0xFD, 0x58, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8A, 0xC3, 0xE5, 0xF7, 0xFB, 0xEE, 0xD2, 0xA7, 0x68, 0x17, -0x44, 0xF5, 0xFF, 0xFB, 0x4C, 0x32, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFB, 0xDF, 0x94, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1C, 0x8B, 0xFF, 0xFF, 0xD8, 0x03, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0xFF, -0xFF, 0x49, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x14, 0xF5, 0xFF, 0xBE, 0x1B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x22, 0xD4, 0xF9, 0x75, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xEE, 0xD5, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7D, 0xFD, 0xDB, 0x2C, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xB2, 0xFF, 0xFF, -0xFF, 0xFF, 0xD4, 0x5F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, -0x5D, 0x70, 0x7C, 0x9C, 0xE3, 0xFF, 0xFF, 0xFF, 0xB6, 0x10, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5B, 0xE7, 0xFF, 0xFF, 0xC4, 0x09, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xD7, -0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x24, 0xF0, 0xFF, 0xFC, 0x28, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFB, 0xFF, 0xE1, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC7, 0xFF, 0xFF, 0x19, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xFF, 0xFF, 0x38, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0xFF, 0xFF, 0x49, 0x3F, 0xFF, 0xFF, -0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xD0, 0xFF, 0xFF, -0x50, 0x00, 0x00, 0x0F, 0x81, 0xCF, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x21, 0x00, 0x00, 0x1A, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x63, 0x00, 0x00, 0x00, 0xA3, 0xFF, 0xFF, 0x89, -0x17, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, -0x00, 0xEC, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x88, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0xFF, 0xFF, 0xD6, -0x6F, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x63, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x95, 0x52, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xCA, 0x86, 0x38, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x8A, 0xD5, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x6D, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x17, 0x57, 0x98, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x5A, 0x9B, -0xE2, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x45, 0xC9, 0xFF, 0xFF, 0xFF, 0xD5, 0x05, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x94, 0xFF, 0xFF, -0xFF, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x02, 0xC3, 0xFF, 0xFF, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFF, 0xE9, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, -0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0x00, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x00, 0x93, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x89, 0x3A, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x09, 0x4A, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3E, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x46, 0xFF, 0xFF, 0xFF, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xFF, 0xFF, 0xFF, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xFF, 0xFF, 0xFF, -0x40, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x09, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0xDA, 0xFF, -0xFF, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0xFF, 0xFF, 0xD9, 0x00, 0x00, -0x6D, 0xFF, 0xFF, 0xF1, 0x75, 0x2F, 0x0F, 0x03, 0x03, 0x10, 0x30, 0x74, 0xF0, 0xFF, 0xFF, 0x6D, -0x00, 0x00, 0x00, 0x82, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x75, 0xB3, 0xD9, 0xF1, 0xFB, 0xFB, 0xF1, 0xD9, 0xB4, -0x76, 0x1C, 0x00, 0x00, 0x00, 0xB9, 0xFF, 0xFF, 0xEE, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xD1, 0xFF, 0xFF, 0xB8, 0x2E, 0xFD, 0xFF, 0xFA, 0x1C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xE2, 0xFF, 0xFD, 0x2E, 0x00, -0x9F, 0xFF, 0xFF, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, -0xFF, 0xFF, 0x9E, 0x00, 0x00, 0x1B, 0xF5, 0xFF, 0xFB, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xEA, 0xFF, 0xF5, 0x1B, 0x00, 0x00, 0x00, 0x84, 0xFF, 0xFF, 0xA8, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xFF, 0xFF, 0x83, 0x00, 0x00, 0x00, 0x00, -0x0D, 0xE9, 0xFF, 0xFE, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xF4, 0xFF, 0xE8, -0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0xFF, 0xFF, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x98, 0xFF, 0xFF, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xD7, 0xFF, 0xFF, 0x3E, -0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0xFB, 0xFF, 0xD6, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x4E, 0xFF, 0xFF, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD, 0xFF, 0xFF, 0x4D, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x38, 0xFF, -0xFF, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xFE, 0xFF, 0xD2, -0x02, 0x00, 0x00, 0xC1, 0xFF, 0xFE, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xA5, 0xFF, 0xFF, 0x5B, 0x00, 0x4D, 0xFF, 0xFF, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0xFF, 0xDD, 0x08, 0xD4, 0xFF, 0xF8, 0x1F, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xFF, 0xFF, -0xBF, 0xFF, 0xFF, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x10, 0xEC, 0xFF, 0xFF, 0xFF, 0xEC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xDC, 0xFF, -0xDB, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xCA, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x7C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xFF, 0xFF, -0xCA, 0x5F, 0xFF, 0xFF, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xFC, -0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0xFF, 0xFF, 0x61, 0x07, 0xEB, -0xFF, 0xDC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xFF, 0xD9, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xFF, 0xEF, 0x09, 0x00, 0x88, 0xFF, 0xFF, 0x46, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFB, 0xFF, 0xFF, 0x5D, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x32, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x1F, 0xFD, 0xFF, 0xAF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x99, 0xFF, 0xFF, 0xFF, 0xDA, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x99, 0xFF, 0xFF, 0x27, 0x00, 0x00, 0x00, 0xB1, 0xFF, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, -0x1D, 0xF9, 0xFF, 0x98, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xF3, 0xFF, 0xBC, -0x00, 0x00, 0x00, 0x00, 0x45, 0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0xFF, 0xDD, -0x03, 0xC6, 0xFF, 0xDA, 0x03, 0x00, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, -0x00, 0x01, 0xD8, 0xFF, 0xE6, 0x04, 0x00, 0x00, 0x00, 0x19, 0xF7, 0xFF, 0x67, 0x00, 0x4D, 0xFF, -0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xFF, 0xE5, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xFF, 0xFF, 0x54, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xE7, 0x07, 0x00, 0x01, 0xD1, 0xFF, 0xDB, 0x04, -0x00, 0x00, 0x36, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xF3, 0xFF, 0xBD, -0x00, 0x00, 0x16, 0xF5, 0xFF, 0x76, 0x00, 0x00, 0x00, 0x58, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x9D, -0xFF, 0xFC, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFF, 0xFF, 0x27, 0x00, 0x8B, -0xFF, 0xEF, 0x0E, 0x00, 0x00, 0x00, 0x03, 0xDB, 0xFF, 0xDC, 0x04, 0x0E, 0xF5, 0xFF, 0xAE, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xFF, 0xFF, 0x8F, 0x13, 0xF4, 0xFF, 0x84, 0x00, -0x00, 0x00, 0x00, 0x00, 0x64, 0xFF, 0xFF, 0x61, 0x6B, 0xFF, 0xFF, 0x45, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xEE, 0x8F, 0xFF, 0xF6, 0x15, 0x00, 0x00, 0x00, 0x00, -0x00, 0x06, 0xE3, 0xFF, 0xDC, 0xD3, 0xFF, 0xDA, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x54, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, -0xE4, 0xFF, 0xFF, 0xFB, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEB, 0xFF, 0xFF, -0xF7, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xFF, 0xFF, -0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFF, 0xFF, 0xA0, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xFE, 0x2B, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xF1, 0xFF, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x16, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xC2, 0xFF, 0xFF, 0xFF, -0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xFF, 0xFF, 0xFE, 0x48, 0x00, 0x00, 0x17, -0xE4, 0xFF, 0xFF, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xC3, 0xFF, 0xFF, 0x82, 0x00, -0x00, 0x00, 0x00, 0x38, 0xF9, 0xFF, 0xF8, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xFF, 0xFF, -0xBC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xFF, 0xE6, 0x1A, 0x00, 0x00, 0x00, 0x44, -0xFD, 0xFF, 0xE5, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xFF, 0xFF, 0xCA, 0x08, -0x00, 0x19, 0xE9, 0xFF, 0xFB, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC9, -0xFF, 0xFF, 0xA2, 0x03, 0xC0, 0xFF, 0xFF, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x1C, 0xEA, 0xFF, 0xFF, 0xCA, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFB, 0xFF, 0xFF, 0xFF, 0xDD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xFF, 0xFF, 0xFF, 0x35, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0xFF, 0xFF, -0xFF, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, -0xFF, 0xFF, 0xD4, 0xFF, 0xFE, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xFE, 0xFF, 0x98, 0x14, 0xE4, 0xFF, 0xF1, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x1F, 0xED, 0xFF, 0xD8, 0x0A, 0x00, 0x3C, 0xFC, 0xFF, 0xD4, 0x0C, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xC9, 0xFF, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x79, 0xFF, 0xFF, -0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xFF, 0xFF, 0x77, 0x00, 0x00, 0x00, 0x00, -0x01, 0xB8, 0xFF, 0xFF, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xFF, 0xBF, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x15, 0xE5, 0xFF, 0xFC, 0x41, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xFF, 0xEE, -0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0xFF, 0xEA, 0x1D, 0x00, 0x09, 0xD2, -0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xFF, 0xFF, 0xC9, -0x07, 0x9F, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, -0xFF, 0xFF, 0xFF, 0x9B, 0x41, 0xFB, 0xFF, 0xFF, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x8E, 0xFF, 0xFF, 0xFF, 0x4E, 0x00, 0x6E, 0xFF, 0xFF, 0xE2, 0x16, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCF, 0xFF, 0xFF, 0x92, 0x00, 0x00, 0x00, 0x9F, 0xFF, -0xFF, 0xC6, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0xFF, 0xFF, 0xCF, 0x07, 0x00, -0x00, 0x00, 0x07, 0xC9, 0xFF, 0xFF, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0xFF, 0xFF, -0xF3, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE7, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00, -0x20, 0xEF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xF9, 0xFF, 0xFE, -0x57, 0x00, 0x00, 0x05, 0xC8, 0xFF, 0xFF, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x64, 0xFF, 0xFF, 0xF7, 0x36, 0x00, 0x8C, 0xFF, 0xFF, 0xDA, 0x0C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xFF, 0xFF, 0xE7, 0x67, 0xFE, 0xFF, 0xF8, 0x31, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xC2, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, -0xE2, 0xFF, 0xFF, 0xFF, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x33, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x07, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x57, 0x00, 0x00, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0x9D, 0x00, 0x00, 0x12, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x22, 0xF2, 0xFF, 0xFF, 0xD8, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0xC8, 0xFF, 0xFF, 0xF9, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0xFF, 0xFF, 0xFF, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xFD, 0xFF, 0xFF, 0xB6, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xE4, 0xFF, 0xFF, 0xE8, 0x16, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xFF, 0xFF, -0xFE, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xFF, 0xFF, 0xFF, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x2C, 0xF7, 0xFF, 0xFF, 0xCC, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x08, 0xD3, 0xFF, 0xFF, 0xF3, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0xFF, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFF, 0xFF, 0xA6, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xEC, 0xFF, 0xFF, 0xDE, 0x0E, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xBD, 0xFF, 0xFF, -0xFB, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, -0xFF, 0xFF, 0xFF, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x36, 0xFB, 0xFF, 0xFF, 0xBE, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x44, 0x0D, 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xA4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x52, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x20, 0x25, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x21, 0x25, 0x00, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x53, 0xD4, 0xFF, -0xF5, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFF, 0xFA, 0x12, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x23, 0xFF, 0xFF, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xFF, 0xBD, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xFF, 0xFD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x1B, 0xFE, 0xFF, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0xC7, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x14, 0xFB, 0xFF, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xFF, 0xD0, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0xFF, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, -0xF8, 0xFF, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xDA, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x57, 0xFF, 0xFF, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF4, -0xFF, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xFF, 0xE2, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x4D, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xEE, 0xFF, -0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xFF, 0xE9, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x44, 0xFF, 0xFF, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF7, 0xFF, 0x9E, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x98, 0x98, 0x88, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x04, 0xDA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x3B, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x3C, 0x04, 0x00, 0xFF, 0xFF, -0xFF, 0x04, 0xD9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3F, 0x76, 0xC8, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x9F, 0x04, -0x53, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x44, 0x15, 0x2E, 0xC5, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x99, 0x00, 0x33, 0x4F, 0x44, 0xB2, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x48, 0x00, 0x51, 0x6F, 0x00, 0xD1, 0x26, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x6F, 0x8F, 0x00, 0x66, 0x95, 0x00, 0x00, 0x00, 0x00, -0x00, 0x1D, 0x76, 0x00, 0x00, 0x8D, 0xB0, 0x00, 0x0A, 0xE0, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x76, -0x1C, 0x00, 0x2F, 0xC7, 0xDE, 0x2F, 0x00, 0x92, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x94, 0x00, 0x0D, -0x81, 0xF5, 0xFE, 0x9D, 0x1C, 0x3B, 0xB9, 0x00, 0x00, 0x00, 0x13, 0x7C, 0x00, 0x00, 0x00, 0x9B, -0x8B, 0x11, 0x00, 0x01, 0xDC, 0x10, 0x00, 0x00, 0x58, 0x3B, 0x00, 0x00, 0x01, 0x20, 0x05, 0x12, -0x00, 0x00, 0x8C, 0x5A, 0x00, 0x00, 0x8C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x13, 0x81, 0xAE, 0x39, -0x47, 0xA3, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xDD, 0x7E, 0x58, 0xD9, 0x40, 0xDD, -0x00, 0x08, 0x8C, 0x00, 0x00, 0x07, 0x9D, 0xC1, 0x1C, 0x00, 0x00, 0x2A, 0xD1, 0xD2, 0x21, 0x31, -0x61, 0x00, 0x12, 0xC4, 0x98, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xFC, 0x54, 0x59, 0x35, 0x16, -0xD3, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xCD, 0x83, 0x81, 0x23, 0xD4, 0x7E, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xAF, 0x9A, 0xC6, 0x91, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8D, 0xC2, 0xB7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2F, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2D, 0xF5, 0xFF, 0xFF, 0xFF, 0xF9, 0xD9, 0x75, 0x01, 0x00, 0x00, 0x0E, 0xDA, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x00, 0x00, 0x3D, 0x09, 0x00, 0x00, 0x00, 0x04, -0x57, 0xFF, 0xFF, 0xCE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x10, 0x0A, 0x05, 0xFF, 0xFF, 0xF4, -0x00, 0x00, 0x20, 0xA6, 0xF1, 0xFF, 0xFF, 0x7C, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xEA, 0xFF, -0xFF, 0xFF, 0xFF, 0x22, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xA0, 0xFF, 0xFF, 0xF9, 0xA5, 0xA4, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xE7, 0xFF, 0xFF, 0x59, 0x00, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0xFB, 0xFF, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xE7, 0xFF, 0xFF, -0x1C, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x9F, 0xFF, 0xFF, 0xA9, 0x1A, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x1E, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x18, 0x93, 0xDC, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x3F, 0x98, 0x98, -0x98, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x24, 0xFE, 0xF3, 0xCF, 0x7F, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x91, 0xFF, 0xFF, -0xFF, 0xFF, 0xE1, 0x2B, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x26, 0x02, 0x20, 0x98, 0xFF, 0xFF, -0xDD, 0x0C, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xFF, 0xFF, 0x74, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFF, 0xFF, 0xC5, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xEF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFA, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, -0xFF, 0xFF, 0xE7, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xFF, 0xFF, 0xB2, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBC, 0xFF, 0xFF, 0x55, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x04, 0x2C, 0xAB, 0xFF, 0xFF, 0xB9, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x0E, 0x00, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xE1, 0xAA, -0x4C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA4, 0xDD, 0xF5, 0xFF, 0xFF, 0xFF, 0x83, 0x00, -0x0B, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x11, 0x00, 0xB2, 0xFF, 0xFF, 0xCA, 0x4A, -0x10, 0x00, 0x00, 0x40, 0x00, 0x51, 0xFF, 0xFF, 0xCE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xB1, 0xFF, 0xFF, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0xFF, 0xFF, 0x15, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xEF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xFF, 0xFF, 0x4D, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFF, 0xFF, 0xC7, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0C, 0xDC, 0xFF, 0xFF, 0xC0, 0x3F, 0x0A, 0x00, 0x00, 0x04, 0x45, 0x00, 0x26, 0xD9, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x36, 0x00, 0x00, 0x0A, 0x6D, 0xBF, 0xEC, 0xFD, 0xFF, -0xFF, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x98, 0x98, 0x98, -0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0x05, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9E, 0xD9, 0xF3, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0A, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xB0, 0xFF, 0xFF, 0xD1, 0x50, 0x12, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x51, 0xFF, 0xFF, 0xD4, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xB2, -0xFF, 0xFF, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xE8, 0xFF, 0xFF, -0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFA, 0xFF, 0xFF, 0x04, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xEC, 0xFF, 0xFF, 0x14, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xBA, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x59, 0xFF, 0xFF, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x01, 0xB8, 0xFF, 0xFF, 0xBE, 0x3B, 0x08, 0x00, 0x38, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x0D, 0xB3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x01, 0x4E, 0xB0, 0xE7, 0xFB, 0xD6, 0x03, 0x42, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, -0x3C, 0x9A, 0xD1, 0xEE, 0xFD, 0xFF, 0xFF, 0xFF, 0xD4, 0x01, 0x00, 0x0F, 0xAF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x61, 0x00, 0x02, 0xBE, 0xFF, 0xFF, 0xB2, 0x31, 0x06, 0x00, 0xD5, -0xFF, 0xE6, 0x06, 0x00, 0x5B, 0xFF, 0xFF, 0xC9, 0x02, 0x00, 0x00, 0x39, 0xFF, 0xFF, 0x79, 0x00, -0x00, 0xB7, 0xFF, 0xFF, 0x4E, 0x00, 0x00, 0x00, 0x9C, 0xFF, 0xF4, 0x11, 0x00, 0x00, 0xE9, 0xFF, -0xFF, 0x1E, 0x00, 0x00, 0x0B, 0xF3, 0xFF, 0x91, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x05, 0x00, -0x00, 0x62, 0xFF, 0xFC, 0x20, 0x00, 0x00, 0x00, 0xEE, 0xFF, 0xFF, 0x16, 0x00, 0x00, 0xC5, 0xFF, -0xA9, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0xFF, 0x52, 0x00, 0x1D, 0xDB, 0xDC, 0x34, 0x00, 0x00, -0x00, 0x00, 0x6B, 0xFF, 0xFF, 0xCD, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, -0xCF, 0xFF, 0xFF, 0xC6, 0x46, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x3F, 0x00, 0x00, 0x19, 0xC7, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3D, 0x00, 0x00, 0x00, 0x04, 0x59, 0xB2, 0xE5, 0xF9, -0xFF, 0xFF, 0xFF, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x73, 0x8E, 0x90, 0x21, 0x00, -0x00, 0x16, 0xC6, 0xFF, 0xFF, 0xFF, 0xE6, 0x04, 0x00, 0x00, 0xA3, 0xFF, 0xFF, 0xE3, 0xBD, 0x85, -0x00, 0x00, 0x00, 0xED, 0xFF, 0xFF, 0x18, 0x00, 0x14, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x37, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0x6C, 0x00, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x0D, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xFF, 0xFF, 0xFF, 0x4B, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2A, 0x8F, 0xCC, 0xED, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x00, -0x04, 0x8F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xA0, 0xFF, -0xFF, 0xD1, 0x4F, 0x12, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x48, 0xFF, 0xFF, 0xD4, 0x0B, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xAD, 0xFF, 0xFF, 0x55, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xE6, 0xFF, 0xFF, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFA, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0xED, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0xBF, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x65, -0xFF, 0xFF, 0xB6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x04, 0xC8, 0xFF, -0xFF, 0xAC, 0x33, 0x07, 0x03, 0x43, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x16, 0xC4, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0x65, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x5A, 0xB5, 0xE8, 0xFC, -0xD6, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xFF, 0xFF, 0xC1, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x2D, 0xC9, 0xFF, 0xFF, 0x6A, 0x00, 0x00, -0x00, 0x00, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x05, 0x00, 0x00, 0x00, 0x56, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xE2, 0xB3, 0x5E, 0x02, 0x00, 0x00, 0x3E, 0x90, 0x90, 0x90, 0x3B, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xA2, 0xFF, 0xFE, -0xEE, 0xBD, 0x54, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x8E, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x08, 0x4B, 0xED, 0xFF, 0xFF, 0x44, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xE2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x06, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x45, 0xFF, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x00, 0x48, 0xFF, 0xFF, -0xFF, 0x46, 0x00, 0x0A, 0x31, 0x0A, 0x00, 0x19, 0xE5, 0xFF, 0xE1, 0x16, 0x45, 0xFF, 0xFF, 0xFF, -0x41, 0x02, 0x87, 0xCA, 0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xFF, 0xFF, 0xFF, 0x47, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x47, 0xFF, 0xFF, 0xFF, 0x46, 0x00, 0x00, 0x00, 0x00, -0x00, 0x0B, 0x31, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE5, 0xFF, 0xDF, 0x14, 0x00, 0x00, -0x00, 0x00, 0x45, 0xFF, 0xFF, 0xFF, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x02, 0x88, 0xC9, 0x83, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFF, 0xFF, -0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xEF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x4B, 0xFF, 0xFF, 0xC4, 0x00, 0x00, 0x00, 0x01, 0x2D, 0xD6, 0xFF, 0xFF, -0x67, 0x00, 0x00, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x02, 0x00, 0x1A, 0xF5, 0xFE, 0xEE, 0xC1, -0x64, 0x02, 0x00, 0x00, 0x3E, 0x90, 0x90, 0x90, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x65, -0xFF, 0xFF, 0xFF, 0x9F, 0x06, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x56, 0xF5, 0xFF, 0xEF, -0x56, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x02, 0x86, 0xFF, 0xFF, 0xC3, 0x1E, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x2B, 0xFF, 0xFF, 0xFF, 0xC8, 0x78, 0x13, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x2C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x50, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x01, 0x18, 0x68, 0xED, 0xFF, 0xFC, 0x4D, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF8, 0xFF, 0xEA, 0x10, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x90, 0xFF, 0xFF, 0x73, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x3B, 0xFF, 0xFF, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x11, 0xFF, 0xFF, 0xEA, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, -0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, -0x45, 0xFF, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFF, 0xFF, 0x3E, 0x90, -0x90, 0x90, 0x3E, 0x07, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x45, 0xFF, 0xFF, 0xFF, 0x44, 0x3F, 0xFF, 0xFF, -0xF3, 0xAF, 0xFF, 0xF9, 0xD8, 0x77, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xDB, 0xA3, 0x3D, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x08, 0x45, 0xE7, -0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x17, 0x5D, 0xEE, 0xFF, 0xFF, 0x45, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x62, 0xFF, 0xFF, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x61, 0xFF, 0xFF, 0xAC, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xED, 0x00, 0x00, 0x00, -0x00, 0x19, 0xFF, 0xFF, 0xE3, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, -0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x48, 0xFF, 0xFF, 0xFF, 0x44, 0x00, 0x00, -0x00, 0x48, 0xFF, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, 0x48, 0xFF, 0xFF, 0xFF, 0x46, 0x3F, 0xFF, -0xFF, 0xF3, 0xAF, 0xFF, 0xFE, 0xEC, 0xBA, 0x52, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x07, 0x49, -0xEC, 0xFF, 0xFF, 0x46, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xFF, 0xFF, -0xAC, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xE3, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x48, 0xFF, 0xFF, 0xFF, 0x44, 0x00, -0x00, 0x00, 0x48, 0xFF, 0xFF, 0xFF, 0x46, 0x00, 0x00, 0x00, 0x35, 0x9D, 0xDA, 0xF5, 0xF5, 0xDA, -0x9D, 0x33, 0x00, 0x00, 0x00, 0x00, 0x05, 0x96, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0x93, 0x04, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xD1, 0x48, 0x0B, 0x0C, 0x49, 0xD3, 0xFF, 0xFF, 0x9D, -0x00, 0x4A, 0xFF, 0xFF, 0xD9, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xDB, 0xFF, 0xFF, 0x47, 0xB1, -0xFF, 0xFF, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xFF, 0xFF, 0xAF, 0xE8, 0xFF, 0xFF, -0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xFF, 0xFF, 0xE7, 0xFA, 0xFF, 0xFF, 0x04, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFA, 0xE9, 0xFF, 0xFF, 0x17, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x18, 0xFF, 0xFF, 0xE7, 0xB2, 0xFF, 0xFF, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x5C, 0xFF, 0xFF, 0xAF, 0x4D, 0xFF, 0xFF, 0xD7, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xDB, -0xFF, 0xFF, 0x48, 0x00, 0xA7, 0xFF, 0xFF, 0xCF, 0x46, 0x0B, 0x0B, 0x48, 0xD2, 0xFF, 0xFF, 0xA0, -0x00, 0x00, 0x07, 0x9D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x05, 0x00, 0x00, -0x00, 0x00, 0x3A, 0xA0, 0xDC, 0xF6, 0xF6, 0xDC, 0x9E, 0x36, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0xE0, 0xA8, 0x48, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x0D, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x05, 0x2D, 0xAE, -0xFF, 0xFF, 0xB7, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02, 0xBE, 0xFF, 0xFF, -0x54, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xFF, 0xFF, 0xB2, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xE7, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFA, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xFF, 0xFF, 0xED, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xFF, -0xFF, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0x66, 0x00, -0xFF, 0xFF, 0xFF, 0x01, 0x29, 0x01, 0x21, 0x9E, 0xFF, 0xFF, 0xCE, 0x06, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x93, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1D, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x25, 0xFE, -0xF4, 0xCC, 0x74, 0x09, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xFF, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x90, 0xCD, 0xED, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x40, 0x00, 0x05, 0x92, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xA3, 0xFF, 0xFF, 0xD1, 0x50, 0x12, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x49, 0xFF, -0xFF, 0xD4, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xAE, 0xFF, 0xFF, 0x55, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xE6, 0xFF, 0xFF, 0x15, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFA, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xEC, 0xFF, 0xFF, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0xBA, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x59, 0xFF, 0xFF, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x01, 0xB8, 0xFF, 0xFF, 0xBE, 0x3B, 0x08, 0x00, 0x38, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0D, -0xB3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x4E, -0xB0, 0xE7, 0xFB, 0xD6, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xFF, 0xFF, 0xFF, 0x43, 0x3D, 0xFF, -0xFF, 0xFF, 0xFF, 0xFE, 0xE2, 0x76, 0x02, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x35, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x32, 0xB6, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x14, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xFF, 0xFF, 0xFF, 0x49, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xB4, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, -0x00, 0x4A, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0xC2, 0xFF, -0xB9, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x35, 0x00, 0x00, 0xD5, 0xFF, 0xF1, 0x66, 0x0B, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xFF, 0xFF, 0xFF, 0xF7, 0xB4, 0x68, 0x17, -0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xB0, 0x2F, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x7C, 0xC1, 0xFA, 0xFF, 0xFF, 0xFF, 0xFA, 0x61, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x0C, 0x52, 0xB0, 0xFF, 0xFF, 0xFD, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xD4, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, -0xFF, 0xFD, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xE4, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x16, 0xD2, 0xFF, 0xFF, 0xA0, 0xA0, 0x36, 0x1B, 0xD8, 0xFF, 0xFF, -0xFF, 0xFF, 0xEE, 0x0B, 0x80, 0xA4, 0xFF, 0xFF, 0xFF, 0xB1, 0x86, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x01, 0x10, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x41, 0xFF, 0xFF, 0xFF, 0x41, 0x00, 0x00, 0x48, 0xFF, 0xFF, 0xFF, -0x49, 0x00, 0x00, 0x00, 0x47, 0xFF, 0xFF, 0xFF, 0x47, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, -0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, -0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, -0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, -0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xE5, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, -0x00, 0x00, 0xB2, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x53, -0xFF, 0xFF, 0xDD, 0x3B, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x63, 0xC4, 0xF0, 0xFF, 0xFF, -0xAA, 0xF2, 0xFF, 0xFF, 0x3D, 0xD6, 0xFF, 0xFF, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xFF, -0xFF, 0xD6, 0x58, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0xFF, 0x56, 0x02, -0xD5, 0xFF, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBB, 0xFF, 0xD2, 0x01, 0x00, 0x56, 0xFF, 0xFF, -0x3F, 0x00, 0x00, 0x00, 0x34, 0xFF, 0xFF, 0x50, 0x00, 0x00, 0x01, 0xD2, 0xFF, 0xBA, 0x00, 0x00, -0x00, 0xAF, 0xFF, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x53, 0xFF, 0xFF, 0x36, 0x00, 0x2B, 0xFE, 0xFF, -0x4B, 0x00, 0x00, 0x00, 0x00, 0x01, 0xD0, 0xFF, 0xB1, 0x00, 0xA4, 0xFF, 0xC8, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x50, 0xFF, 0xFE, 0x50, 0xFC, 0xFF, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xCD, 0xFF, 0xF9, 0xFF, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xFF, -0xFF, 0xFF, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xFF, 0xBE, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xFF, -0xFF, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0xFF, 0xFF, 0xD6, 0x57, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xFF, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x3D, 0xFF, 0xFF, 0x56, 0x01, 0xD3, 0xFF, 0xC5, 0x00, 0x00, 0x00, 0x00, -0x00, 0xA3, 0xFF, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0xFF, 0xD2, 0x01, 0x00, 0x53, 0xFF, -0xFF, 0x37, 0x00, 0x00, 0x00, 0x1C, 0xFA, 0xFF, 0xFD, 0x24, 0x00, 0x00, 0x00, 0x26, 0xFE, 0xFF, -0x52, 0x00, 0x00, 0x01, 0xCF, 0xFF, 0xA9, 0x00, 0x00, 0x00, 0x8B, 0xFF, 0xFF, 0xFF, 0x99, 0x00, -0x00, 0x00, 0x99, 0xFF, 0xCE, 0x01, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFC, 0x1F, 0x00, 0x0D, 0xF0, -0xFF, 0xA6, 0xFF, 0xF8, 0x18, 0x00, 0x15, 0xF7, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, -0xFF, 0x8E, 0x00, 0x73, 0xFF, 0xC8, 0x03, 0xD9, 0xFF, 0x88, 0x00, 0x81, 0xFF, 0xCA, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x49, 0xFF, 0xF1, 0x12, 0xE2, 0xFF, 0x47, 0x00, 0x59, 0xFF, 0xF0, 0x17, -0xEB, 0xFF, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xFF, 0xC4, 0xFF, 0xC7, 0x00, -0x00, 0x02, 0xD3, 0xFF, 0xCF, 0xFF, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0xFF, 0xFF, 0xFF, 0x46, 0x00, 0x00, 0x00, 0x52, 0xFF, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xFF, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xFF, 0xC1, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x44, 0x00, 0x00, 0x00, -0x00, 0x00, 0x4A, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, -0xDF, 0xFF, 0xFF, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xFF, 0xFF, 0xDC, 0x15, 0x00, 0x29, -0xEF, 0xFF, 0xE6, 0x17, 0x00, 0x00, 0x00, 0x18, 0xE8, 0xFF, 0xEA, 0x24, 0x00, 0x00, 0x00, 0x42, -0xFA, 0xFF, 0xC4, 0x05, 0x00, 0x03, 0xC0, 0xFF, 0xF4, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, -0xFF, 0xFF, 0x97, 0x00, 0x8A, 0xFF, 0xFB, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, -0xFF, 0xFF, 0xA1, 0xFF, 0xFF, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, -0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xFF, -0xFF, 0xFF, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xED, 0xFF, 0xFF, -0xFF, 0xF9, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xE0, 0xFF, 0xE8, 0x56, 0xF5, -0xFF, 0xEE, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xD0, 0xFF, 0xF6, 0x37, 0x00, 0x4B, 0xFB, -0xFF, 0xDE, 0x16, 0x00, 0x00, 0x00, 0x06, 0xBD, 0xFF, 0xFE, 0x54, 0x00, 0x00, 0x00, 0x62, 0xFF, -0xFF, 0xC9, 0x0A, 0x00, 0x01, 0xA7, 0xFF, 0xFF, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xFF, -0xFF, 0xAF, 0x02, 0x8E, 0xFF, 0xFF, 0xFF, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xFF, 0xFF, -0xFF, 0x90, 0xD7, 0xFF, 0xFF, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFF, 0xFF, 0xD7, 0x5B, -0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xFF, 0xFF, 0x5A, 0x02, 0xD7, 0xFF, 0xBD, -0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0xFF, 0xD8, 0x02, 0x00, 0x5B, 0xFF, 0xFF, 0x3B, 0x00, 0x00, -0x00, 0x27, 0xFD, 0xFF, 0x5B, 0x00, 0x00, 0x02, 0xD7, 0xFF, 0xB9, 0x00, 0x00, 0x00, 0xA0, 0xFF, -0xD9, 0x03, 0x00, 0x00, 0x00, 0x5B, 0xFF, 0xFF, 0x37, 0x00, 0x1E, 0xFA, 0xFF, 0x5D, 0x00, 0x00, -0x00, 0x00, 0x02, 0xD7, 0xFF, 0xB5, 0x00, 0x94, 0xFF, 0xDA, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, -0x5B, 0xFF, 0xFF, 0x4A, 0xF7, 0xFF, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xD7, 0xFF, -0xF7, 0xFF, 0xDC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xFF, 0xFF, 0xFF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xE5, 0xFF, 0xDC, 0x04, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFE, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xAD, 0xFF, 0xDD, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xFE, -0xFF, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0xFF, 0xDE, 0x04, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xFE, 0xFF, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xAA, 0xFF, 0xDF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xFE, 0xFF, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xFF, 0xFF, -0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x05, 0x00, 0x00, 0xA7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0x38, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFF, 0xFF, 0x92, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xDF, 0xFF, 0xE2, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x8F, 0xFF, 0xFF, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0xFC, -0xFF, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xD1, 0xFF, 0xED, 0x16, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x26, 0xF7, 0xFF, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0xC1, 0xFF, 0xF6, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xFF, 0x75, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x45, 0x19, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x48, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xBE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x8C, 0xA9, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x26, 0xDF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x16, 0x7B, 0x00, 0x00, 0x9D, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x79, 0x13, 0x00, 0x00, 0x20, 0xE8, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, -0x84, 0x03, 0x2E, 0x2F, 0x03, 0xAF, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x4E, -0x7D, 0x44, 0x4E, 0x80, 0x5B, 0xDE, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x6F, 0x2E, -0x88, 0x6F, 0x76, 0x96, 0xD4, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x7A, 0x8A, 0x88, 0x01, -0x00, 0x23, 0xCA, 0x78, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x37, 0xE0, 0x96, 0x3D, 0x5B, -0x77, 0x8C, 0x22, 0xFA, 0x15, 0x00, 0x00, 0x00, 0x00, 0x86, 0x02, 0x84, 0xB7, 0x3E, 0x26, 0x74, -0x82, 0x00, 0xCB, 0x64, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x05, 0x88, 0xE7, 0xE7, 0x8A, 0x05, -0x00, 0x78, 0xB5, 0x00, 0x00, 0x00, 0x16, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x75, 0x27, -0x35, 0xF7, 0x08, 0x00, 0x00, 0x49, 0x42, 0x00, 0x00, 0x00, 0x11, 0xA2, 0xE7, 0x8F, 0xC4, 0x36, -0xF1, 0x41, 0x00, 0x00, 0x7C, 0x14, 0x00, 0x00, 0x34, 0xE2, 0x9A, 0x0B, 0x00, 0x0C, 0xAE, 0xC5, -0x81, 0x00, 0x00, 0x91, 0x00, 0x00, 0x52, 0xF0, 0x61, 0x00, 0x00, 0x00, 0x00, 0x22, 0xF1, 0xB5, -0x00, 0x00, 0x90, 0x00, 0x5E, 0xF0, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0xE5, 0x00, -0x00, 0x93, 0x58, 0xF0, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xDC, 0x12, 0x16, -0xBF, 0xF3, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x33, 0x30, 0xFF, -0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2C, 0x48, 0x8D, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x05, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, -0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6F, 0xCE, 0x2B, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x99, 0x02, 0x4F, 0xB2, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x3C, 0x00, 0x00, 0xC7, 0x36, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x02, 0x92, 0x00, 0x00, 0x00, 0x44, 0xB6, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x51, 0x42, 0x11, 0x89, 0x98, 0x1B, 0xD0, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x92, 0x5B, 0x84, 0x0B, 0x0A, 0xAF, 0x7A, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x72, 0x89, -0x04, 0x00, 0x00, 0x54, 0x1C, 0xDE, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x75, 0x1A, 0x70, 0x17, 0x3B, -0x0B, 0x83, 0x07, 0x8B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x56, 0xC1, 0x1D, 0x5B, 0x35, -0x00, 0x32, 0xBD, 0x00, 0x00, 0x00, 0x12, 0x7A, 0x00, 0x08, 0x4E, 0x86, 0x5F, 0x18, 0x00, 0x00, -0xD4, 0x12, 0x00, 0x00, 0x57, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x0E, 0x00, 0x81, 0x5D, -0x00, 0x00, 0x8B, 0x06, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xC0, 0xEE, 0x72, 0x3C, 0xA4, 0x00, 0x00, -0x8F, 0x00, 0x00, 0x00, 0x06, 0x90, 0xC9, 0x3E, 0x18, 0xC0, 0x67, 0xD8, 0x00, 0x08, 0x8C, 0x00, -0x00, 0x15, 0xC4, 0x8C, 0x04, 0x00, 0x00, 0x11, 0xD6, 0xD9, 0x22, 0x31, 0x61, 0x00, 0x1F, 0xD8, -0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xFF, 0x54, 0x59, 0x36, 0x1F, 0xDD, 0x5A, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x83, 0x81, 0x28, 0xDB, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x34, 0xAE, 0x9A, 0xCB, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x85, 0xC2, 0xAC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x2C, 0xB8, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x76, -0xC8, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x9F, 0x04, 0x53, 0xB0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x44, 0x15, 0x2E, 0xC5, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x99, 0x00, 0x33, 0x4F, 0x44, 0xB2, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x52, 0x48, 0x00, 0x51, 0x6F, 0x00, 0xD1, 0x26, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x97, 0x00, 0x00, 0x6F, 0x8F, 0x00, 0x66, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, -0x76, 0x00, 0x00, 0x8D, 0xB0, 0x00, 0x0A, 0xE0, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x76, 0x1C, 0x00, -0x2F, 0xC7, 0xDE, 0x2F, 0x00, 0x92, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x94, 0x00, 0x0D, 0x81, 0xF5, -0xFE, 0x9D, 0x1C, 0x3B, 0xB9, 0x00, 0x00, 0x00, 0x13, 0x7C, 0x00, 0x00, 0x00, 0x9B, 0x8B, 0x11, -0x00, 0x01, 0xDC, 0x10, 0x00, 0x00, 0x58, 0x3B, 0x00, 0x00, 0x01, 0x20, 0x05, 0x12, 0x00, 0x00, -0x8C, 0x5A, 0x00, 0x00, 0x8C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x13, 0x81, 0xAE, 0x39, 0x47, 0xA3, -0x00, 0x00, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xDD, 0x7E, 0x58, 0xD9, 0x40, 0xDD, 0x00, 0x08, -0x8C, 0x00, 0x00, 0x07, 0x9D, 0xC1, 0x1C, 0x00, 0x00, 0x2A, 0xD1, 0xD2, 0x21, 0x31, 0x61, 0x00, -0x12, 0xC4, 0x98, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xFC, 0x54, 0x59, 0x35, 0x16, 0xD3, 0x81, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xCD, 0x83, 0x81, 0x23, 0xD4, 0x7E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xAF, 0x9A, 0xC6, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x8D, 0xC2, 0xB7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x2F, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0A, 0x54, 0x72, 0x65, 0x6B, 0x20, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x00, 0x0D, 0x46, 0x69, 0x6E, -0x61, 0x6C, 0x46, 0x72, 0x6F, 0x6E, 0x74, 0x69, 0x65, 0x72, 0x01, -}; diff --git a/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/data/Final-Frontier.ttf b/lib/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/data/Final-Frontier.ttf deleted file mode 100644 index 823b9a5aeacae39058bd238b431dd2a3e5a9fd60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19800 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 eRrFx?@X+P8VCdb!Y||>Mt beginTime) { - beginTime = millis() + 500; - dimmed = !dimmed; - if (dimmed) drawButton(buttonDimmed); - else drawButton(buttonStopped); - } - } - break; - - case 1: // Console message, give server some time - print("requesting image "); - serial.write("S"); - delay(10); - beginTime = millis(); - requestTime = millis() + 1000; - requestCount = 1; - state = 2; - break; - - case 2: // Get size and set start time for rendering duration report - if (millis() > requestTime) { - requestCount++; - print("*"); - serial.clear(); - serial.write("S"); - if (requestCount > 32) { - requestCount = 0; - System.err.println(" - no response!"); - state = 0; - } - requestTime = millis() + 1000; - } - if ( getSize() == true ) { // Go to next state when we have the size and bits per pixel - getFilename(); - flushBuffer(); // Precaution in case image header size increases in later versions - lastPixelTime = millis() + 1000; - beginTime = millis(); - state = 3; - } - break; - - case 3: // Request pixels and render returned RGB values - state = renderPixels(); // State will change when all pixels are rendered - - // Request more pixels, changing the number requested allows the average transfer rate to be controlled - // The pixel transfer rate is dependant on four things: - // 1. The frame rate defined in this Processing sketch in setup() - // 2. The baud rate of the serial link (~10 bit periods per byte) - // 3. The number of request bytes 'R' sent in the lines below - // 4. The number of pixels sent in a burst by the server sketch (defined via NPIXELS) - - //serial.write("RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"); // 32 x NPIXELS more - serial.write("RRRRRRRRRRRRRRRR"); // 16 x NPIXELS more - //serial.write("RRRRRRRR"); // 8 x NPIXELS more - //serial.write("RRRR"); // 4 x NPIXELS more - //serial.write("RR"); // 2 x NPIXELS more - //serial.write("R"); // 1 x NPIXELS more - if (!running) state = 4; - break; - - case 4: // Pixel receive time-out, flush serial buffer - flushBuffer(); - state = 6; - break; - - case 5: // Save the image to the sketch folder (Ctrl+K to access) - saveScreenshot(); - saved_image_count++; - println("Saved image count = " + saved_image_count); - if (bad_image_count > 0) System.err.println(" Bad image count = " + bad_image_count); - drawLoopCount = frameCount; // Reset value ready for counting in step 6 - state = 6; - break; - - case 6: // Fade the old image if enabled - if ( fadedImage() == true ) state = 0; // Go to next state when image has faded - break; - - case 99: // Draw image viewer window - drawWindow(); - delay(50); // Delay here seems to be required for the IDE console to get ready - state = 0; - break; - - default: - println(""); - System.err.println("Error state reached - check sketch!"); - break; - } -} - -void drawWindow() -{ - // Graded background in Arduino colours - for (int i = 0; i < height - 25; i++) { - float inter = map(i, 0, height - 25, 0, 1); - color c = lerpColor(bgcolor1, bgcolor2, inter); - stroke(c); - line(0, i, 500, i); - } - fill(bgcolor2); - rect( 0, height-25, width-1, 24); - textAlign(CENTER); - textSize(20); - fill(0); - text("Bodmer's TFT image viewer", width/2, height-6); - - if (running) drawButton(buttonRunning); - else drawButton(buttonStopped); -} - -void flushBuffer() -{ - //println("Clearing serial pipe after a time-out"); - int clearTime = millis() + 50; - while ( millis() < clearTime ) serial.clear(); -} - -boolean getSize() -{ - if ( serial.available() > 6 ) { - println(); - char code = (char)serial.read(); - if (code == 'W') { - tft_width = serial.read()<<8 | serial.read(); - } - code = (char)serial.read(); - if (code == 'H') { - tft_height = serial.read()<<8 | serial.read(); - } - code = (char)serial.read(); - if (code == 'Y') { - int bits_per_pixel = (char)serial.read(); - if (bits_per_pixel == 24) color_bytes = 3; - else color_bytes = 2; - } - code = (char)serial.read(); - if (code == '?') { - drawWindow(); - - x_offset = (500 - tft_width) /2; - tint(0, 0, 0, 255); - noStroke(); - fill(frameColor); - rect((width - tft_width)/2 - border, y_offset - border, tft_width + 2 * border, tft_height + 2 * border); - return true; - } - } - return false; -} - -void saveScreenshot() -{ - println(); - if (saved_image_count < max_allowed) - { - if (filename == "") filename = "tft_screen_" + (n++); - filename = filename + image_type; - println("Saving image as \"" + filename + "\""); - if (save_border) - { - PImage partialSave = get(x_offset - border, y_offset - border, tft_width + 2*border, tft_height + 2*border); - partialSave.save(filename); - } else { - PImage partialSave = get(x_offset, y_offset, tft_width, tft_height); - partialSave.save(filename); - } - - if (n>=max_images) n = 0; - } - else - { - System.err.println(max_allowed + " saved image count exceeded, restart the sketch"); - } -} - -void getFilename() -{ - int readTime = millis() + 20; - int inByte = 0; - filename = ""; - while ( serial.available() > 0 && millis() < readTime && inByte != '.') - { - inByte = serial.read(); - if (inByte == ' ') inByte = '_'; - if ( unicodeCheck(inByte) ) filename += (char)inByte; - } - - inByte = serial.read(); - if (inByte == '@') filename += "_" + timeCode(); - else if (inByte == '#') filename += "_" + saved_image_count%100; - else if (inByte == '%') filename += "_" + millis(); - else if (inByte != '*') filename = ""; - - inByte = serial.read(); - if (inByte == 'j') image_type =".jpg"; - else if (inByte == 'b') image_type =".bmp"; - else if (inByte == 'p') image_type =".png"; - else if (inByte == 't') image_type =".tif"; -} - -boolean unicodeCheck(int unicode) -{ - if ( unicode >= '0' && unicode <= '9' ) return true; - if ( (unicode >= 'A' && unicode <= 'Z' ) || (unicode >= 'a' && unicode <= 'z')) return true; - if ( unicode == '_' || unicode == '/' ) return true; - return false; -} - -String timeCode() -{ - String timeCode = (int)year() + "_" + (int)month() + "_" + (int)day() + "_"; - timeCode += (int)hour() + "_" + (int)minute() + "_" + (int)second(); - return timeCode; -} - -int renderPixels() -{ - if ( serial.available() > 0 ) { - - // Add the latest byte from the serial port to array: - while (serial.available()>0) - { - rgb[serialCount++] = serial.read(); - - // If we have 3 colour bytes: - if ( serialCount >= color_bytes ) { - serialCount = 0; - pixel_count++; - if (color_bytes == 3) - { - stroke(rgb[indexRed], rgb[indexGreen], rgb[indexBlue], 1000); - } else - { // Can cater for various byte orders - //stroke( (rgb[0] & 0x1F)<<3, (rgb[0] & 0xE0)>>3 | (rgb[1] & 0x07)<<5, (rgb[1] & 0xF8)); - //stroke( (rgb[1] & 0x1F)<<3, (rgb[1] & 0xE0)>>3 | (rgb[0] & 0x07)<<5, (rgb[0] & 0xF8)); - stroke( (rgb[0] & 0xF8), (rgb[1] & 0xE0)>>3 | (rgb[0] & 0x07)<<5, (rgb[1] & 0x1F)<<3); - //stroke( (rgb[1] & 0xF8), (rgb[0] & 0xE0)>>3 | (rgb[1] & 0x07)<<5, (rgb[0] & 0x1F)<<3); - } - // We get some pixel merge aliasing if smooth() is defined, so draw pixel twice - point(xpos + x_offset, ypos + y_offset); - //point(xpos + x_offset, ypos + y_offset); - - lastPixelTime = millis(); - xpos++; - if (xpos >= tft_width) { - xpos = 0; - progressBar(); - ypos++; - if (ypos>=tft_height) { - ypos = 0; - if ((int)percentage <100) { - while (progress_bar++ < 64) print(" "); - percent(100); - } - println("Image fetch time = " + (millis()-beginTime)/1000.0 + " s"); - return 5; - } - } - } - } - } else - { - if (millis() > (lastPixelTime + pixelWaitTime)) - { - println(""); - System.err.println(pixelWaitTime + "ms time-out for pixels exceeded..."); - if (pixel_count > 0) { - bad_image_count++; - System.err.print("Pixels missing = " + (tft_width * tft_height - pixel_count)); - System.err.println(", corrupted image not saved"); - System.err.println("Good image count = " + saved_image_count); - System.err.println(" Bad image count = " + bad_image_count); - } - return 4; - } - } - return 3; -} - -void progressBar() -{ - progress_bar++; - print("."); - if (progress_bar >63) - { - progress_bar = 0; - percentage = 0.5 + 100 * pixel_count/(0.001 + tft_width * tft_height); - percent(percentage); - } -} - -void percent(float percentage) -{ - if (percentage > 100) percentage = 100; - println(" [ " + (int)percentage + "% ]"); - textAlign(LEFT); - textSize(16); - noStroke(); - fill(bgcolor2); - rect(10, height - 25, 70, 20); - fill(0); - text(" [ " + (int)percentage + "% ]", 10, height-8); -} - -boolean fadedImage() -{ - int opacity = frameCount - drawLoopCount; // So we get increasing fade - if (fade) - { - tint(255, opacity); - //image(tft_img, x_offset, y_offset); - noStroke(); - fill(50, 50, 50, opacity); - rect( (width - tft_width)/2, y_offset, tft_width, tft_height); - delay(10); - } - if (opacity > 50) // End fade after 50 cycles - { - return true; - } - return false; -} - -void drawButton(color buttonColor) -{ - stroke(0); - fill(buttonColor); - rect(500 - 100, 540 - 26, 80, 24); - textAlign(CENTER); - textSize(20); - fill(0); - if (running) text(" Pause ", 500 - 60, height-7); - else text(" Run ", 500 - 60, height-7); -} - -void buttonClicked() -{ - mouseClick = false; - if (running) { - running = false; - drawButton(buttonStopped); - System.err.println(""); - System.err.println("Stopped - click 'Run' button: "); - //noStroke(); - //fill(50); - //rect( (width - tft_width)/2, y_offset, tft_width, tft_height); - beginTime = millis() + 500; - dimmed = false; - state = 4; - } else { - running = true; - drawButton(buttonRunning); - } -} - -void mousePressed() { - if (mouseX > (500 - 100) && mouseX < (500 - 20) && mouseY > (540 - 26) && mouseY < (540 - 2)) { - mouseClick = true; - } -} \ No newline at end of file diff --git a/lib/TFT_eSPI/Tools/bmp2array4bit/README.md b/lib/TFT_eSPI/Tools/bmp2array4bit/README.md deleted file mode 100644 index 02405a9..0000000 --- a/lib/TFT_eSPI/Tools/bmp2array4bit/README.md +++ /dev/null @@ -1,26 +0,0 @@ -## bmp2array4bit - -bmp2array4bit.py reads a bmp file, and creates C (or C++) code that contains two arrays for adding images to four-bit sprites. See [Sprite_image_4bit](../../examples/Sprite/Sprite_image_4bit) for an example. - -It is loosely based on Spark Fun's bmp2array script, https://github.com/sparkfun/BMPtoArray/blob/master/bmp2array.py. The bmp file format is documented in https://en.wikipedia.org/wiki/BMP_file_format. - -You'll need python 3.6 (the original uses Python 2.7) - -`usage: python bmp2array4bit.py [-v] star.bmp [-o myfile.c]` - -Create the bmp file in Gimp (www.gimp.org) from any image as follows: - -* Remove the alpha channel (if it has one) - Layer -> Transparency -> Remove Alpha Channel -* Set the mode to indexed. - Image -> Mode -> Indexed... -* Select Generate optimum palette with 16 colors (max) -* Export the file with a .bmp extension. Do **NOT** select options: - * Run-Length Encoded - * Compatibility Options: "Do not write color space information" - * There are no Advanced Options available with these settings - -(There are other tools that will produce bmp files, and these should work provided you don't use run-length encoding or other advanced features). - -The first array produced is the palette for the image. -The second is the image itself. diff --git a/lib/TFT_eSPI/Tools/bmp2array4bit/bmp2array4bit.py b/lib/TFT_eSPI/Tools/bmp2array4bit/bmp2array4bit.py deleted file mode 100644 index 3b6d850..0000000 --- a/lib/TFT_eSPI/Tools/bmp2array4bit/bmp2array4bit.py +++ /dev/null @@ -1,251 +0,0 @@ -''' - - This script takes in a bitmap and outputs a text file that is a - byte array used in Arduino files. - - It is loosely based on Spark Fun's bmp2array script. - - You'll need python 3.6 (the original use Python 2.7) - - usage: python fourbitbmp2array.py [-v] star.bmp [-o myfile.c] - - Create the bmp file in Gimp by : - - . Remove the alpha channel (if it has one) Layer -> Transparency -> Remove Alpha Channel - . Set the mode to indexed. Image -> Mode -> Indexed... - . Select Generate optimum palette with 16 colors (max) - . Export the file with a .bmp extension. Options are: - . Run-Length Encoded: not selected - . Compatibility Options: "Do not write color space information" not selected - . There are no Advanced Options available with these settings - - - - -''' - -import sys -import struct -import math -import argparse -import os - -debug = None - -def debugOut(s): - if debug: - print(s) - -# look at arguments -parser = argparse.ArgumentParser(description="Convert bmp file to C array") -parser.add_argument("-v", "--verbose", help="debug output", action="store_true") -parser.add_argument("input", help="input file name") -parser.add_argument("-o", "--output", help="output file name") -args = parser.parse_args() - -if not os.path.exists(args.input): - parser.print_help() - print("The input file {} does not exist".format(args.input)) - sys.exit(1) - -if args.output == None: - output = os.path.basename(args.input).replace(".bmp", ".c") -else: - output = args.output - -debug = args.verbose - -try: - #Open our input file which is defined by the first commandline argument - #then dump it into a list of bytes - infile = open(args.input,"rb") #b is for binary - contents = bytearray(infile.read()) - infile.close() -except: - print("could not read input file {}".format(args.input)) - sys.exit(1) - -# first two bytes should be "BM" -upto = 2 -#Get the size of this image -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -fileSize = struct.unpack("I", bytearray(data)) - -upto += 4 -# four bytes are reserved - -upto += 4 - -debugOut("Size of file: {}".format(fileSize[0])) - -#Get the header offset amount -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -offset = struct.unpack("I", bytearray(data)) - -debugOut("Offset: {}".format(offset[0])) -upto += 4 - -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -headersize = struct.unpack("I", bytearray(data)) -headerLength = headersize[0] -startOfDefinitions = headerLength + upto -debugOut("header size: {}, up to {}, startOfDefinitions {}".format(headersize[0], upto, startOfDefinitions)) -upto += 4 - -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("width: {}".format(t[0])) -width = t[0] - -upto += 4 -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("height: {}".format(t[0])) -height = t[0] - -# 26 -upto += 4 - -data = struct.pack("BB", contents[upto], contents[upto+1]) -t = struct.unpack("H", bytearray(data)) -debugOut("planes: {}".format(t[0])) - -upto = upto + 2 -data = struct.pack("BB", contents[upto], contents[upto+1]) -t = struct.unpack("H", bytearray(data)) -debugOut("bits per pixel: {}".format(t[0])) -bitsPerPixel = t[0] - -upto = upto + 2 -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("biCompression: {}".format(t[0])) - -upto = upto + 4 -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("biSizeImage: {}".format(t[0])) - -upto = upto + 4 -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("biXPelsPerMeter: {}".format(t[0])) - -upto = upto + 4 -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("biYPelsPerMeter: {}".format(t[0])) - -upto = upto + 4 -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("biClrUsed: {}".format(t[0])) -colorsUsed = t - -upto = upto + 4 -data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) -t = struct.unpack("I", bytearray(data)) -debugOut("biClrImportant: {}".format(t[0])) - -upto += 4 - -debugOut("Upto: {} Number of colors used: {} definitions start at: {}".format(upto, colorsUsed[0], startOfDefinitions)) - -#Create color definition array and init the array of color values -colorIndex = [] #(colorsUsed[0]) -for i in range(colorsUsed[0]): - colorIndex.append(0) - -#Assign the colors to the array. upto = 54 -# startOfDefinitions = upto -for i in range(colorsUsed[0]): - upto = startOfDefinitions + (i * 4) - blue = contents[upto] - green = contents[upto + 1] - red = contents[upto + 2] - # ignore the alpha channel. - - # data = struct.pack("BBBB", contents[upto], contents[upto+1], contents[upto+2], contents[upto+3]) - # t = struct.unpack("I", bytearray(data)) - # colorIndex[i] = t[0] - - colorIndex[i] = (((red & 0xf8)<<8) + ((green & 0xfc)<<3)+(blue>>3)) - debugOut("color at index {0} is {1:04x}, (r,g,b,a) = ({2:02x}, {3:02x}, {4:02x}, {5:02x})".format(i, colorIndex[i], red, green, blue, contents[upto+3])) - -#debugOut(the color definitions -# for i in range(colorsUsed[0]): -# print hex(colorIndex[i]) - -# perfect, except upside down. - -#Make a string to hold the output of our script -arraySize = (len(contents) - offset[0]) -outputString = "/* This was generated using a script based on the SparkFun BMPtoArray python script" + '\n' -outputString += " See https://github.com/sparkfun/BMPtoArray for more info */" + '\n\n' -outputString += "static const uint16_t palette[" + str(colorsUsed[0]) + "] = {"; -for i in range(colorsUsed[0]): - # print hexlify(colorIndex[i]) - if i % 4 == 0: - outputString += "\n\t" - outputString += "0x{:04x}, ".format(colorIndex[i]) - -outputString = outputString[:-2] -outputString += "\n};\n\n" -outputString += "// width is " + str(width) + ", height is " + str(height) + "\n" -outputString += "static const uint8_t myGraphic[" + str(arraySize) + "] PROGMEM = {" + '\n' - -if bitsPerPixel != 4: - print("Expected 4 bits per pixel; found {}".format(bitsPerPixel)) - sys.exit(1) - -#Start converting spots to values -#Start at the offset and go to the end of the file -dropLastNumber = True #(width % 4) == 2 or (width % 4) == 1 -paddedWidth = int(math.ceil(bitsPerPixel * width / 32.0) * 4) -debugOut("array range is {} {} len(contents) is {} paddedWidth is {} width is {}".format(offset[0], fileSize[0], len(contents), paddedWidth, width)) - -r = 0 -width = int(width / 2) -#for i in range(offset[0], fileSize[0]): # close but image is upside down. Each row is correct but need to swap columns. -#for i in range(fileSize[0], offset[0], -1): - -for col in range(height-1, -1, -1): - i = 0 - for row in range(width): - colorCode1 = contents[row + col*paddedWidth + offset[0]] - - if r > 0 and r % width == 0: - i = 0 - outputString += '\n\n' - elif (i + 1) % 12 == 0 : - outputString += '\n' - i = 0 - - #debugOut("cell ({0}, {1})".format(row, col) - - r = r + 1 - i = i + 1 - outputString += "0x{:02x}, ".format(colorCode1) - - - -#Once we've reached the end of our input string, pull the last two -#characters off (the last comma and space) since we don't need -#them. Top it off with a closing bracket and a semicolon. -outputString = outputString[:-2] -outputString += "};" - -try: - #Write the output string to our output file - outfile = open(output, "w") - outfile.write(outputString) - outfile.close() -except: - print("could not write output to file {}".format(output)) - sys.exit(1) - -debugOut("{} complete".format(output)) -debugOut("Copy and paste this array into a image.h or other header file") - -if not debug: - print("Completed; the output is in {}".format(output)) diff --git a/lib/TFT_eSPI/Tools/bmp2array4bit/star.bmp b/lib/TFT_eSPI/Tools/bmp2array4bit/star.bmp deleted file mode 100644 index 21166da425051845d0ce6e6c894b51655639a51e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12986 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 E0Q09<&;S4c diff --git a/lib/TFT_eSPI/User_Setup.h b/lib/TFT_eSPI/User_Setup.h index aa5aadc..f4c760a 100644 --- a/lib/TFT_eSPI/User_Setup.h +++ b/lib/TFT_eSPI/User_Setup.h @@ -1,3 +1,5 @@ +#pragma once + #define ILI9341_DRIVER #define TFT_DMA_SUPPORT #define TFT_CS 5 diff --git a/lib/TFT_eSPI/User_Setup_Select.h b/lib/TFT_eSPI/User_Setup_Select.h index 6a51639..42db06c 100644 --- a/lib/TFT_eSPI/User_Setup_Select.h +++ b/lib/TFT_eSPI/User_Setup_Select.h @@ -15,271 +15,14 @@ // Example User_Setup files are stored in the "User_Setups" folder. These can be used // unmodified or adapted for a particular hardware configuration. -#ifndef USER_SETUP_LOADED // Lets PlatformIO users define settings in - // platformio.ini, see notes in "Tools" folder. - -/////////////////////////////////////////////////////// -// User configuration selection lines are below // -/////////////////////////////////////////////////////// - -// Only ONE line below should be uncommented to define your setup. Add extra lines and files as needed. - -#include // Default setup is root library folder - -//#include // Setup file for ESP8266 configured for my ILI9341 -//#include // Setup file for ESP8266 configured for my ST7735 -//#include // Setup file for ESP8266 configured for my ILI9163 -//#include // Setup file for ESP8266 configured for my S6D02A1 -//#include // Setup file for ESP8266 configured for my stock RPi TFT -//#include // Setup file for ESP8266 configured for my modified RPi TFT -//#include // Setup file for ESP8266 configured for my ST7735 128x128 display -//#include // Setup file for ESP8266 configured for my ILI9163 128x128 display -//#include // Setup file for ESP8266 configured for my ST7735 -//#include // Setup file for ESP8266 configured for ESP8266 and RPi TFT with touch - -//#include // Setup file configured for ESP32 and RPi TFT with touch -//#include // Setup file for the ESP32 based M5Stack (Basic Core only) -//#include // Setup file for the ESP32 with parallel bus TFT -//#include // Setup file for the ESP32 with parallel bus TFT -//#include // Setup file for ESP8266 configured for HX8357D -//#include // Setup file for the ESP32 with parallel bus TFT -//#include // Setup file for ESP8266 and any Waveshare ePaper display -//#include // Setup file for ESP8266 configured for ST7789 - -//#include // Setup file configured for RM68140 with parallel bus - -//#include // Setup file for ESP8266 and ILI9488 SPI bus TFT -//#include // Setup file for ESP32 and ILI9488 SPI bus TFT - -//#include // Setup file for ESP32 and TTGO T4 version 1.2 -//#include // Setup file for ESP32 and TTGO T4 version 1.3 -//#include // Setup file for ESP32 and TTGO TM ST7789 SPI bus TFT -//#include // Setup file for DSTIKE/ESP32/ESP8266 configured for ST7789 240 x 240 -//#include // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT -//#include // Setup file for ESP32 and TTGO T-Wristband ST7735 SPI bus TFT - -//#include // ESP32 RPi MHS-4.0 inch Display-B -//#include // ESP8266 RPi MHS-4.0 inch Display-B - -//#include // Setup for Nucleo board -//#include // Setup for Nucleo board and parallel display -//#include // Setup for Nucleo board and parallel display -//#include // Setup for "Blue/Black Pill" - -//#include // Setup for Nucleo board - -//#include // Setup for Nucleo board and parallel display -//#include // Setup for STM32 port A parallel display - -//#include // Setup file configured for ESP32 and RPi ST7796 TFT with touch - -//#include // Setup file for ESP32 and SPI ILI9341 240x320 -//#include // Setup file for ESP8266 & ESP32 configured for my ST7735S 80x160 -//#include // Setup file for ESP32 and TTGO T-CameraPlus ST7789 SPI bus TFT 240x240 -//#include // Setup file for ESP32 and TTGO T-Watch ST7789 SPI bus TFT 240x240 -//#include // Setup file for ESP32 and GC9A01 SPI bus TFT 240x240 - -//#include // Setup file for ESP32 configured for ST7735 128 x 128 animated eyes - -//#include // Setup file for ESP32 and SSD1963 TFT display - -//#include // Setup file for LilyGo LilyPi with ILI9481 display -//#include // Setup file for LilyGo LilyPi with ST7796 display - -//#include // Setup file for RP2040 with SPI ILI9341 -//#include // Setup file for RP2040 with PIO SPI ILI9341 -//#include // Setup file for RP2040 with SPI ILI9341 - -//#include // Setup file for Seeed XIAO with GC9A01 240x240 - -//#include // Setup file for ESP32 S2 with SPI ILI9341 -//#include // Setup file for ESP32 S3 with SPI ILI9341 -//#include // Setup file for ESP32 C3 with SPI ILI9341 -//#include // Setup file for ESP32 S3 with SPI ILI9488 - -//#include // Setup file for ESP32 S2 with ST7789 -//#include // Setup file for ESP32 with ST7789 1.47" 172x320 - -//#include // Setup file for Pico/RP2040 with 8-bit parallel ILI9488 -//#include // Setup file for Pico/RP2040 with 8-bit parallel ILI9481 -//#include // Setup file for Pico/RP2040 with 8-bit parallel ILI9341 -//#include // Setup file for Pico/RP2040 with 8-bit parallel ILI9486 -//#include // Setup file for Pico/RP2040 with 8-bit parallel ST7796 - -//#include // Setup file for RP2040 16-bit parallel display -//#include // Setup file for RP2040 16-bit parallel display -//#include // Setup file for RP2040 16-bit parallel display -//#include // Setup file for Waveshare RP2040 board with onboard ST7735 0.96" 160x80 display - -//#include // Setup file for ESP8266 and ST7789 135 x 240 TFT - -//#include // Setup file for ESP32 and Lilygo TTV ST7789 SPI bus TFT 135x240 -//#include // Setup file for Lilygo T-Display RP2040 (ST7789 on SPI bus with 135x240 TFT) - -//#include // Setup file for Pico Explorer Base by Pimoroni for RP2040 (ST7789 on SPI bus with 240x240 TFT) - -//#include // Setup file for ESP32 and GC9A01 240 x 240 TFT - -//#include // Setup file for ESP32 based WT32_SC01 from Seeed - -//#include // Setup file for ESP32/ESP8266 based SSD1351 128x128 1.5inch OLED display - -//#include // Setup file for ESP32/ESP8266 based ST7789 240X280 1.69inch TFT - -//#include // Setup file for the ESP32 TouchDown based on ILI9488 480 x 320 TFT - -//#include // Setup file for the ESP32 TouchDown S3 based on ILI9488 480 x 320 TFT - -//#include // For the LilyGo T-Display S3 based ESP32S3 with ST7789 170 x 320 TFT -//#include // For the LilyGo T-HMI S3 based ESP32S3 with ST7789 240 x 320 TFT -//#include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT -//#include // For the LilyGo T-Embed S3 based ESP32S3 with ST7789 170 x 320 TFT -//#include // For the LilyGo T-QT Pro S3 based ESP32S3 with GC9A01 128 x 128 TFT -// #include // For the LilyGo T-PICO-Pro with ST7796 222 x 480 TFT -// #include // For the LilyGo T-BEAM V1.x with ST7796 222 x 480 TFT - -//#include // For the ESP32 S3 Box Lite -//#include // For the ESP32 S3 Box - -//#include // Setup file for Bw16-based boards with ST7735 160 x 80 TFT -//#include // Setup file for Waveshare ESP32-S3-Touch-LCD-1.28 board with GC9A01 240*240 TFT - -//#include // Template file for a setup - - -//#include // Setup file for Dustin Watts PCB with ILI9488 -//#include // Setup file for Dustin Watts PCB with ST7796 -//#include // Setup file for Dustin Watts Pico PCB with ST7796 -//#include // Setup file for Dustin Watts PCB with ST7789 240 x 240 on 3.3V adapter board -//#include // Setup file for Dustin Watts PCB with GC9A01 240 x 240 on 3.3V adapter board -//#include // Setup file for Dustin Watts PCB with GC9A01 240 x 240 on 3.3V adapter board -//#include // Setup file for Dustin Watts PCB with ST7789 240 x 240 on 3.3V adapter board -//#include // Setup file for Dustin Watts PCB with ILI9341 -//#include - -#endif // USER_SETUP_LOADED - - - -///////////////////////////////////////////////////////////////////////////////////// -// // -// DON'T TINKER WITH ANY OF THE FOLLOWING LINES, THESE ADD THE TFT DRIVERS // -// AND ESP8266 PIN DEFINITONS, THEY ARE HERE FOR BODMER'S CONVENIENCE! // -// // -///////////////////////////////////////////////////////////////////////////////////// - +#include // Identical looking TFT displays may have a different colour ordering in the 16-bit colour #define TFT_BGR 0 // Colour order Blue-Green-Red #define TFT_RGB 1 // Colour order Red-Green-Blue -// Legacy setup support, RPI_DISPLAY_TYPE replaces RPI_DRIVER -#if defined (RPI_DRIVER) - #if !defined (RPI_DISPLAY_TYPE) - #define RPI_DISPLAY_TYPE - #endif -#endif - -// Legacy setup support, RPI_ILI9486_DRIVER form is deprecated -// Instead define RPI_DISPLAY_TYPE and also define driver (e.g. ILI9486_DRIVER) -#if defined (RPI_ILI9486_DRIVER) - #if !defined (ILI9486_DRIVER) - #define ILI9486_DRIVER - #endif - #if !defined (RPI_DISPLAY_TYPE) - #define RPI_DISPLAY_TYPE - #endif -#endif - -// Invoke 18-bit colour for selected displays -#if !defined (RPI_DISPLAY_TYPE) && !defined (TFT_PARALLEL_8_BIT) && !defined (TFT_PARALLEL_16_BIT) && !defined (ESP32_PARALLEL) - #if defined (ILI9481_DRIVER) || defined (ILI9486_DRIVER) || defined (ILI9488_DRIVER) - #define SPI_18BIT_DRIVER - #endif -#endif - -// Load the right driver definition - do not tinker here ! -#if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9342_DRIVER) - #include - #define TFT_DRIVER 0x9341 -#elif defined (ST7735_DRIVER) - #include - #define TFT_DRIVER 0x7735 -#elif defined (ILI9163_DRIVER) - #include - #define TFT_DRIVER 0x9163 -#elif defined (S6D02A1_DRIVER) - #include - #define TFT_DRIVER 0x6D02 -#elif defined (ST7796_DRIVER) - #include "TFT_Drivers/ST7796_Defines.h" - #define TFT_DRIVER 0x7796 -#elif defined (ILI9486_DRIVER) - #include - #define TFT_DRIVER 0x9486 -#elif defined (ILI9481_DRIVER) - #include - #define TFT_DRIVER 0x9481 -#elif defined (ILI9488_DRIVER) - #include - #define TFT_DRIVER 0x9488 -#elif defined (HX8357D_DRIVER) - #include "TFT_Drivers/HX8357D_Defines.h" - #define TFT_DRIVER 0x8357 -#elif defined (EPD_DRIVER) - #include "TFT_Drivers/EPD_Defines.h" - #define TFT_DRIVER 0xE9D -#elif defined (ST7789_DRIVER) - #include "TFT_Drivers/ST7789_Defines.h" - #define TFT_DRIVER 0x7789 -#elif defined (R61581_DRIVER) - #include "TFT_Drivers/R61581_Defines.h" - #define TFT_DRIVER 0x6158 -#elif defined (ST7789_2_DRIVER) - #include "TFT_Drivers/ST7789_2_Defines.h" - #define TFT_DRIVER 0x778B -#elif defined (RM68140_DRIVER) - #include "TFT_Drivers/RM68140_Defines.h" - #define TFT_DRIVER 0x6814 -#elif defined (SSD1351_DRIVER) - #include "TFT_Drivers/SSD1351_Defines.h" - #define TFT_DRIVER 0x1351 -#elif defined (SSD1963_480_DRIVER) - #include "TFT_Drivers/SSD1963_Defines.h" - #define TFT_DRIVER 0x1963 -#elif defined (SSD1963_800_DRIVER) - #include "TFT_Drivers/SSD1963_Defines.h" - #define TFT_DRIVER 0x1963 -#elif defined (SSD1963_800ALT_DRIVER) - #include "TFT_Drivers/SSD1963_Defines.h" - #define TFT_DRIVER 0x1963 -#elif defined (SSD1963_800BD_DRIVER) - #include "TFT_Drivers/SSD1963_Defines.h" - #define TFT_DRIVER 0x1963 -#elif defined (GC9A01_DRIVER) - #include "TFT_Drivers/GC9A01_Defines.h" - #define TFT_DRIVER 0x9A01 -#elif defined (ILI9225_DRIVER) - #include "TFT_Drivers/ILI9225_Defines.h" - #define TFT_DRIVER 0x9225 -#elif defined (RM68120_DRIVER) - #include "TFT_Drivers/RM68120_Defines.h" - #define TFT_DRIVER 0x6812 -#elif defined (HX8357B_DRIVER) - #include "TFT_Drivers/HX8357B_Defines.h" - #define TFT_DRIVER 0x835B -#elif defined (HX8357C_DRIVER) - #include "TFT_Drivers/HX8357C_Defines.h" - #define TFT_DRIVER 0x835C - - // <<<<<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVER HERE - // XYZZY_init.h and XYZZY_rotation.h must also be added in TFT_eSPI.cpp -#elif defined (XYZZY_DRIVER) - #include "TFT_Drivers/XYZZY_Defines.h" - #define TFT_DRIVER 0x0000 -#else - #define TFT_DRIVER 0x0000 -#endif +#include +#define TFT_DRIVER 0x9341 // These are the pins for ESP8266 boards // Name GPIO NodeMCU Function diff --git a/lib/TFT_eSPI/User_Setups/Setup100_RP2040_ILI9488_parallel.h b/lib/TFT_eSPI/User_Setups/Setup100_RP2040_ILI9488_parallel.h deleted file mode 100644 index dcec30e..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup100_RP2040_ILI9488_parallel.h +++ /dev/null @@ -1,54 +0,0 @@ -// This setup is for the RP2040 processor only when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 100 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -#define TFT_PARALLEL_8_BIT - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ILI9488_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -//#define TFT_CS -1 // Do not define, chip select control pin permanently connected to 0V - -// These pins can be moved and are controlled directly by the library software -#define TFT_DC 28 // Data Command control pin -#define TFT_RST 2 // Reset pin - -//#define TFT_RD -1 // Do not define, read pin permanently connected to 3V3 - -// Note: All the following pins are PIO hardware configured and driven - #define TFT_WR 22 - - // PIO requires these to be sequentially increasing - do not change - #define TFT_D0 6 - #define TFT_D1 7 - #define TFT_D2 8 - #define TFT_D3 9 - #define TFT_D4 10 - #define TFT_D5 11 - #define TFT_D6 12 - #define TFT_D7 13 -//*/ - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup101_RP2040_ILI9481_parallel.h b/lib/TFT_eSPI/User_Setups/Setup101_RP2040_ILI9481_parallel.h deleted file mode 100644 index 714e5e1..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup101_RP2040_ILI9481_parallel.h +++ /dev/null @@ -1,54 +0,0 @@ -// This setup is for the RP2040 processor only when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 101 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -#define TFT_PARALLEL_8_BIT - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ILI9481_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -//#define TFT_CS -1 // Do not define, chip select control pin permanently connected to 0V - -// These pins can be moved and are controlled directly by the library software -#define TFT_DC 28 // Data Command control pin -#define TFT_RST 2 // Reset pin - -//#define TFT_RD -1 // Do not define, read pin permanently connected to 3V3 - -// Note: All the following pins are PIO hardware configured and driven - #define TFT_WR 22 - - // PIO requires these to be sequentially increasing - do not change - #define TFT_D0 6 - #define TFT_D1 7 - #define TFT_D2 8 - #define TFT_D3 9 - #define TFT_D4 10 - #define TFT_D5 11 - #define TFT_D6 12 - #define TFT_D7 13 -//*/ - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup102_RP2040_ILI9341_parallel.h b/lib/TFT_eSPI/User_Setups/Setup102_RP2040_ILI9341_parallel.h deleted file mode 100644 index ce133c8..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup102_RP2040_ILI9341_parallel.h +++ /dev/null @@ -1,54 +0,0 @@ -// This setup is for the RP2040 processor only when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 102 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -#define TFT_PARALLEL_8_BIT - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ILI9341_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -//#define TFT_CS -1 // Do not define, chip select control pin permanently connected to 0V - -// These pins can be moved and are controlled directly by the library software -#define TFT_DC 28 // Data Command control pin -#define TFT_RST 2 // Reset pin - -//#define TFT_RD -1 // Do not define, read pin permanently connected to 3V3 - -// Note: All the following pins are PIO hardware configured and driven - #define TFT_WR 22 - - // PIO requires these to be sequentially increasing - do not change - #define TFT_D0 6 - #define TFT_D1 7 - #define TFT_D2 8 - #define TFT_D3 9 - #define TFT_D4 10 - #define TFT_D5 11 - #define TFT_D6 12 - #define TFT_D7 13 -//*/ - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup103_RP2040_ILI9486_parallel.h b/lib/TFT_eSPI/User_Setups/Setup103_RP2040_ILI9486_parallel.h deleted file mode 100644 index 34bb702..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup103_RP2040_ILI9486_parallel.h +++ /dev/null @@ -1,54 +0,0 @@ -// This setup is for the RP2040 processor only when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 103 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -#define TFT_PARALLEL_8_BIT - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ILI9486_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -//#define TFT_CS -1 // Do not define, chip select control pin permanently connected to 0V - -// These pins can be moved and are controlled directly by the library software -#define TFT_DC 28 // Data Command control pin -#define TFT_RST 2 // Reset pin - -//#define TFT_RD -1 // Do not define, read pin permanently connected to 3V3 - -// Note: All the following pins are PIO hardware configured and driven - #define TFT_WR 22 - - // PIO requires these to be sequentially increasing - do not change - #define TFT_D0 6 - #define TFT_D1 7 - #define TFT_D2 8 - #define TFT_D3 9 - #define TFT_D4 10 - #define TFT_D5 11 - #define TFT_D6 12 - #define TFT_D7 13 -//*/ - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup104_RP2040_ST7796_parallel.h b/lib/TFT_eSPI/User_Setups/Setup104_RP2040_ST7796_parallel.h deleted file mode 100644 index a76e4fc..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup104_RP2040_ST7796_parallel.h +++ /dev/null @@ -1,54 +0,0 @@ -// This setup is for the RP2040 processor only when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 104 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -#define TFT_PARALLEL_8_BIT - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ST7796_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -//#define TFT_CS -1 // Do not define, chip select control pin permanently connected to 0V - -// These pins can be moved and are controlled directly by the library software -#define TFT_DC 28 // Data Command control pin -#define TFT_RST 2 // Reset pin - -//#define TFT_RD -1 // Do not define, read pin permanently connected to 3V3 - -// Note: All the following pins are PIO hardware configured and driven - #define TFT_WR 22 - - // PIO requires these to be sequentially increasing - do not change - #define TFT_D0 6 - #define TFT_D1 7 - #define TFT_D2 8 - #define TFT_D3 9 - #define TFT_D4 10 - #define TFT_D5 11 - #define TFT_D6 12 - #define TFT_D7 13 -//*/ - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup105_RP2040_ST7796_16bit_parallel.h b/lib/TFT_eSPI/User_Setups/Setup105_RP2040_ST7796_16bit_parallel.h deleted file mode 100644 index 82b506c..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup105_RP2040_ST7796_16bit_parallel.h +++ /dev/null @@ -1,60 +0,0 @@ -// This setup is for the RP2040 processor only when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 105 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -#define TFT_PARALLEL_16_BIT - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ST7796_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -//#define TFT_CS -1 // Do not define, chip select control pin permanently connected to 0V - -// These pins can be moved and are controlled directly by the library software -#define TFT_DC 3 // Data Command control pin -#define TFT_RST 2 // Reset pin - -//#define TFT_RD -1 // Do not define, read pin must be permanently connected to 3V3 -#define TFT_WR 4 - -// PIO requires these to be sequentially increasing GPIO with no gaps -#define TFT_D0 6 -#define TFT_D1 7 -#define TFT_D2 8 -#define TFT_D3 9 -#define TFT_D4 10 -#define TFT_D5 11 -#define TFT_D6 12 -#define TFT_D7 13 -#define TFT_D8 14 -#define TFT_D9 15 -#define TFT_D10 16 -#define TFT_D11 17 -#define TFT_D12 18 -#define TFT_D13 19 -#define TFT_D14 20 -#define TFT_D15 21 - - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup106_RP2040_ILI9481_16bit_parallel.h b/lib/TFT_eSPI/User_Setups/Setup106_RP2040_ILI9481_16bit_parallel.h deleted file mode 100644 index 7273ba3..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup106_RP2040_ILI9481_16bit_parallel.h +++ /dev/null @@ -1,77 +0,0 @@ -// This setup is for the RP2040 processor when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 106 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -//#define TFT_PARALLEL_8_BIT -#define TFT_PARALLEL_16_BIT - -// The parallel interface write cycle period is derived from a division of the CPU clock -// speed so scales with the processor clock. This means that the divider ratio may need -// to be increased when overclocking. I may also need to be adjusted dependant on the -// display controller type (ILI94341, HX8357C etc.). If RP2040_PIO_CLK_DIV is not defined -// the library will set default values which may not suit your display. -// The display controller data sheet will specify the minimum write cycle period. The -// controllers often work reliably for shorter periods, however if the period is too short -// the display may not initialise or graphics will become corrupted. -// PIO write cycle frequency = (CPU clock/(4 * RP2040_PIO_CLK_DIV)) -//#define RP2040_PIO_CLK_DIV 1 // 32ns write cycle at 125MHz CPU clock -//#define RP2040_PIO_CLK_DIV 2 // 64ns write cycle at 125MHz CPU clock -//#define RP2040_PIO_CLK_DIV 3 // 96ns write cycle at 125MHz CPU clock -//#define RP2040_PIO_CLK_DIV 4 // 96ns write cycle at 125MHz CPU clock - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ILI9481_DRIVER -//#define HX8357B_DRIVER -//#define HX8357C_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -// These pins can be moved and are controlled directly by the library software -#define TFT_RST 18 // Reset pin -#define TFT_CS 19 // Do not define if chip select control pin permanently connected to 0V -//#define TFT_RD -1 // Do not define, read pin must be permanently connected to 3V3 - -// Note: All the following pins are PIO hardware configured and driven - #define TFT_WR 16 // Write strobe pin - #define TFT_DC 17 // Data Command control pin - - // PIO requires these to be sequentially increasing - #define TFT_D0 0 - #define TFT_D1 1 - #define TFT_D2 2 - #define TFT_D3 3 - #define TFT_D4 4 - #define TFT_D5 5 - #define TFT_D6 6 - #define TFT_D7 7 - #define TFT_D8 8 - #define TFT_D9 9 - #define TFT_D10 10 - #define TFT_D11 11 - #define TFT_D12 12 - #define TFT_D13 13 - #define TFT_D14 14 - #define TFT_D15 15 -//*/ - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup107_RP2040_ILI9341_16bit_parallel.h b/lib/TFT_eSPI/User_Setups/Setup107_RP2040_ILI9341_16bit_parallel.h deleted file mode 100644 index 384dc1c..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup107_RP2040_ILI9341_16bit_parallel.h +++ /dev/null @@ -1,65 +0,0 @@ -// This setup is for the RP2040 processor only when used with 8-bit parallel displays -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 107 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Interface -//////////////////////////////////////////////////////////////////////////////////////////// -//#define TFT_PARALLEL_8_BIT -#define TFT_PARALLEL_16_BIT - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ILI9341_DRIVER -//#define ILI9481_DRIVER // Tested -//#define HX8357B_DRIVER // Tested -//#define HX8357C_DRIVER // Tested -//#define SSD1963_800_DRIVER - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 pins used -//////////////////////////////////////////////////////////////////////////////////////////// - -// These pins can be moved and are controlled directly by the library software -#define TFT_RST 18 // Reset pin -#define TFT_CS 19 // Do not define if chip select control pin permanently connected to 0V -//#define TFT_RD -1 // Do not define, read pin must be permanently connected to 3V3 - -// Note: All the following pins are PIO hardware configured and driven - #define TFT_WR 16 // Write strobe pin - #define TFT_DC 17 // Data Command control pin - - // PIO requires these to be sequentially increasing - #define TFT_D0 0 - #define TFT_D1 1 - #define TFT_D2 2 - #define TFT_D3 3 - #define TFT_D4 4 - #define TFT_D5 5 - #define TFT_D6 6 - #define TFT_D7 7 - #define TFT_D8 8 - #define TFT_D9 9 - #define TFT_D10 10 - #define TFT_D11 11 - #define TFT_D12 12 - #define TFT_D13 13 - #define TFT_D14 14 - #define TFT_D15 15 -//*/ - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup108_RP2040_ST7735.h b/lib/TFT_eSPI/User_Setups/Setup108_RP2040_ST7735.h deleted file mode 100644 index dc6ac31..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup108_RP2040_ST7735.h +++ /dev/null @@ -1,44 +0,0 @@ -// This setup is for the Waveshare RP2040-LCD-0.96 board -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 108 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display driver type -//////////////////////////////////////////////////////////////////////////////////////////// -#define ST7735_DRIVER -#define ST7735_GREENTAB160x80 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Display params -//////////////////////////////////////////////////////////////////////////////////////////// -#define TFT_WIDTH 80 -#define TFT_HEIGHT 160 -#define TFT_INVERSION_ON - -//////////////////////////////////////////////////////////////////////////////////////////// -// RP2040 config and pins -//////////////////////////////////////////////////////////////////////////////////////////// -#define SPI_FREQUENCY 27000000 -#define RP2040_PIO_CLK_DIV 1 -#define TFT_SPI_PORT 1 - -#define TFT_MOSI 11 -#define TFT_SCLK 10 -#define TFT_CS 9 -#define TFT_DC 8 -#define TFT_RST 12 - -//////////////////////////////////////////////////////////////////////////////////////////// -// Fonts to be available -//////////////////////////////////////////////////////////////////////////////////////////// -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -//////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup10_RPi_touch_ILI9486.h b/lib/TFT_eSPI/User_Setups/Setup10_RPi_touch_ILI9486.h deleted file mode 100644 index bde50d3..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup10_RPi_touch_ILI9486.h +++ /dev/null @@ -1,33 +0,0 @@ -// For ESP8266 -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 10 - -#define RPI_DISPLAY_TYPE -#define ILI9486_DRIVER - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D2 // Chip select control pin D2 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - -#define TOUCH_CS PIN_D1 // Chip select pin (T_CS) of touch screen - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 16000000 // Some displays will operate at higher frequencies - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup11_RPi_touch_ILI9486.h b/lib/TFT_eSPI/User_Setups/Setup11_RPi_touch_ILI9486.h deleted file mode 100644 index 0c9ff18..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup11_RPi_touch_ILI9486.h +++ /dev/null @@ -1,32 +0,0 @@ -// For ESP32 -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 11 - -#define RPI_DISPLAY_TYPE -#define ILI9486_DRIVER - -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 15 // Chip select control pin -#define TFT_DC 2 // Data Command control pin -#define TFT_RST 4 // Reset pin (could connect to RST pin) -//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST - -#define TOUCH_CS 22 // Chip select pin (T_CS) of touch screen - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 20000000 // Some displays will operate at higher frequencies - -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup12_M5Stack_Basic_Core.h b/lib/TFT_eSPI/User_Setups/Setup12_M5Stack_Basic_Core.h deleted file mode 100644 index ff15fff..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup12_M5Stack_Basic_Core.h +++ /dev/null @@ -1,33 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 12 - -//Setup file for the M5Stack Basic Core - -#define ILI9341_DRIVER - -#define M5STACK - -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 14 // Chip select control pin -#define TFT_DC 27 // Data Command control pin -#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) -#define TFT_BL 32 // LED back-light - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 27000000 - -// Optional reduced SPI frequency for reading TFT -#define SPI_READ_FREQUENCY 5000000 \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup135_ST7789.h b/lib/TFT_eSPI/User_Setups/Setup135_ST7789.h deleted file mode 100644 index 32f778a..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup135_ST7789.h +++ /dev/null @@ -1,57 +0,0 @@ -// ST7789 135 x 240 display with no chip select line -#define USER_SETUP_ID 135 - -#define ST7789_DRIVER // Configure all registers - -#define TFT_WIDTH 135 -#define TFT_HEIGHT 240 - -#define CGRAM_OFFSET // Library will add offsets required - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -//#define TFT_INVERSION_ON -//#define TFT_INVERSION_OFF - -// DSTIKE stepup -//#define TFT_DC 23 -//#define TFT_RST 32 -//#define TFT_MOSI 26 -//#define TFT_SCLK 27 - -// Generic ESP32 setup -//#define TFT_MISO 19 -//#define TFT_MOSI 23 -//#define TFT_SCLK 18 -//#define TFT_CS -1 // Not connected -//#define TFT_DC 2 -//#define TFT_RST 4 // Connect reset to ensure display initialises - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS -1 // Define as not used -#define TFT_DC PIN_D1 // Data Command control pin -//#define TFT_RST PIN_D4 // TFT reset pin (could connect to NodeMCU RST, see next line) -#define TFT_RST -1 // TFT reset pin connect to NodeMCU RST, must also then add 10K pull down to TFT SCK - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup136_LilyGo_TTV.h b/lib/TFT_eSPI/User_Setups/Setup136_LilyGo_TTV.h deleted file mode 100644 index d5281d5..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup136_LilyGo_TTV.h +++ /dev/null @@ -1,35 +0,0 @@ -// ST7789 135 x 240 display with no chip select line -#define USER_SETUP_ID 136 - -#define ST7789_DRIVER // Configure all registers - -#define TFT_WIDTH 135 -#define TFT_HEIGHT 240 - -#define CGRAM_OFFSET // Library will add offsets required - -// Generic ESP32 setup -//#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 5 -#define TFT_DC 19 -#define TFT_RST 4 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup137_LilyGo_TDisplay_RP2040.h b/lib/TFT_eSPI/User_Setups/Setup137_LilyGo_TDisplay_RP2040.h deleted file mode 100644 index 725a9ce..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup137_LilyGo_TDisplay_RP2040.h +++ /dev/null @@ -1,33 +0,0 @@ -// LilyGo T-Display RP2040 (ST7789 135 x 240 display) -#define USER_SETUP_ID 137 - -#define ST7789_DRIVER // Configure all registers - -#define TFT_WIDTH 135 -#define TFT_HEIGHT 240 - -#define CGRAM_OFFSET // Library will add offsets required - -// For LilyGo T-Display RP2040 -#define TFT_CS 5 // Chip Select pin -#define TFT_DC 1 // Data Command control pin -#define TFT_RST 0 // Reset pin -#define TFT_MOSI 3 -#define TFT_SCLK 2 -// Don't uncomment next line if you want PWM control of the backlight in the sketch -//#define TFT_BL 4 - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 40000000 -#define SPI_READ_FREQUENCY 20000000 -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup138_Pico_Explorer_Base_RP2040_ST7789.h b/lib/TFT_eSPI/User_Setups/Setup138_Pico_Explorer_Base_RP2040_ST7789.h deleted file mode 100644 index ca3bcfd..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup138_Pico_Explorer_Base_RP2040_ST7789.h +++ /dev/null @@ -1,32 +0,0 @@ -// Pico Explorer Base by Pimoroni (RP2040) (ST7789 on SPI bus with 240x240 TFT) -#define USER_SETUP_ID 138 - -#define ST7789_DRIVER // Configure all registers - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 240 - -#define CGRAM_OFFSET // Library will add offsets required - -// For Pico Explorer Base (PR2040) -#define TFT_CS 17 // Chip Select pin -#define TFT_DC 16 // Data Command control pin -#define TFT_RST -1 // No Reset pin -#define TFT_MOSI 19 -#define TFT_SCLK 18 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -// #define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 40000000 -#define SPI_READ_FREQUENCY 20000000 -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup13_ILI9481_Parallel.h b/lib/TFT_eSPI/User_Setups/Setup13_ILI9481_Parallel.h deleted file mode 100644 index f8881ea..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup13_ILI9481_Parallel.h +++ /dev/null @@ -1,36 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 13 - -#define TFT_PARALLEL_8_BIT - - -#define ILI9481_DRIVER - - -// ESP32 pins used for UNO format board -#define TFT_CS 33 // Chip select control pin -#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 -#define TFT_RST 32 // Reset pin - -#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 -#define TFT_RD 2 - -#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus -#define TFT_D1 13 // so a single register write sets/clears all bits -#define TFT_D2 26 -#define TFT_D3 25 -#define TFT_D4 17 -#define TFT_D5 16 -#define TFT_D6 27 -#define TFT_D7 14 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup14_ILI9341_Parallel.h b/lib/TFT_eSPI/User_Setups/Setup14_ILI9341_Parallel.h deleted file mode 100644 index b8d134e..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup14_ILI9341_Parallel.h +++ /dev/null @@ -1,36 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 14 - -#define TFT_PARALLEL_8_BIT - - -#define ILI9341_DRIVER - - -// ESP32 pins used for the parallel interface TFT -#define TFT_CS 33 // Chip select control pin -#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 -#define TFT_RST 32 // Reset pin - -#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 -#define TFT_RD 2 - -#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus -#define TFT_D1 13 // so a single register write sets/clears all bits -#define TFT_D2 26 -#define TFT_D3 25 -#define TFT_D4 17 -#define TFT_D5 16 -#define TFT_D6 27 -#define TFT_D7 14 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup15_HX8357D.h b/lib/TFT_eSPI/User_Setups/Setup15_HX8357D.h deleted file mode 100644 index bc2fc16..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup15_HX8357D.h +++ /dev/null @@ -1,36 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 15 - -#define HX8357D_DRIVER - -// If green and blue swapped on display then change the RGB colour order -// Only uncomment ONE of the following options -#define TFT_RGB_ORDER TFT_RGB // Red-Green-Blue -//#define TFT_RGB_ORDER TFT_BGR // Blue-Green-RED - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup16_ILI9488_Parallel.h b/lib/TFT_eSPI/User_Setups/Setup16_ILI9488_Parallel.h deleted file mode 100644 index f43f69f..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup16_ILI9488_Parallel.h +++ /dev/null @@ -1,36 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 16 - -#define ESP32_PARALLEL - - -#define ILI9488_DRIVER - - -// ESP32 pins used -#define TFT_CS 33 // Chip select control pin -#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 -#define TFT_RST 32 // Reset pin - -#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 -#define TFT_RD 2 - -#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus -#define TFT_D1 13 // so a single register write sets/clears all bits -#define TFT_D2 26 -#define TFT_D3 25 -#define TFT_D4 17 -#define TFT_D5 16 -#define TFT_D6 27 -#define TFT_D7 14 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup17_ePaper.h b/lib/TFT_eSPI/User_Setups/Setup17_ePaper.h deleted file mode 100644 index 5671a15..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup17_ePaper.h +++ /dev/null @@ -1,16 +0,0 @@ -#define EPD_DRIVER // ePaper driver - -#define TFT_MISO -1 -#define TFT_MOSI -1 -#define TFT_SCLK -1 -#define TFT_RST -1 - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup18_ST7789.h b/lib/TFT_eSPI/User_Setups/Setup18_ST7789.h deleted file mode 100644 index ba292de..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup18_ST7789.h +++ /dev/null @@ -1,45 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 18 - -#define ST7789_DRIVER - -// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 display only - -// If colours are inverted (white shows as black) then uncomment one of the next -// 2 lines try both options, one of the options should correct the inversion. -// #define TFT_INVERSION_ON -// #define TFT_INVERSION_OFF - -// For ST7789 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - - -// My ST7789 display has TCT_CS wired permananently low so the pin is not defined here - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 -// #define SPI_FREQUENCY 80000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -//#define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup19_RM68140_Parallel.h b/lib/TFT_eSPI/User_Setups/Setup19_RM68140_Parallel.h deleted file mode 100644 index 3728a7b..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup19_RM68140_Parallel.h +++ /dev/null @@ -1,36 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 19 - -#define ESP32_PARALLEL - - -#define RM68140_DRIVER - - -// ESP32 pins used for UNO format board -#define TFT_CS 33 // Chip select control pin -#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 -#define TFT_RST 32 // Reset pin - -#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 -#define TFT_RD 2 - -#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus -#define TFT_D1 13 // so a single register write sets/clears all bits -#define TFT_D2 26 -#define TFT_D3 25 -#define TFT_D4 17 -#define TFT_D5 16 -#define TFT_D6 27 -#define TFT_D7 14 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup200_GC9A01.h b/lib/TFT_eSPI/User_Setups/Setup200_GC9A01.h deleted file mode 100644 index aa34c87..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup200_GC9A01.h +++ /dev/null @@ -1,32 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 200 - -#define GC9A01_DRIVER - -// For ESP32 Dev board (only tested with GC9A01 display) -// The hardware SPI can be mapped to any pins - -#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on. -#define TFT_SCLK 14 -#define TFT_CS 5 // Chip select control pin -#define TFT_DC 27 // Data Command control pin -#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) -#define TFT_BL 22 // LED back-light - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -//#define SPI_FREQUENCY 80000000 -#define SPI_FREQUENCY 27000000 - -// Optional reduced SPI frequency for reading TFT -#define SPI_READ_FREQUENCY 5000000 \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup201_WT32_SC01.h b/lib/TFT_eSPI/User_Setups/Setup201_WT32_SC01.h deleted file mode 100644 index 08f5953..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup201_WT32_SC01.h +++ /dev/null @@ -1,49 +0,0 @@ -// USER DEFINED SETTINGS -// Set driver type, fonts to be loaded, pins used and SPI control method etc. -// -// See the User_Setup_Select.h file if you wish to be able to define multiple -// setups and then easily select which setup file is used by the compiler. -// -// If this file is edited correctly then all the library example sketches should -// run without the need to make any more changes for a particular hardware setup! -// Note that some sketches are designed for a particular TFT pixel width/height -#define USER_SETUP_ID 201 - -// User defined setup -#define ST7796_DRIVER - -#define TFT_WIDTH 480 -#define TFT_HEIGHT 320 - -#define TFT_BACKLIGHT_ON HIGH - -#define USE_HSPI_PORT - -#define TFT_MISO 12 -#define TFT_MOSI 13 -#define TFT_SCLK 14 -#define TFT_CS 15 -#define TFT_DC 21 -#define TFT_RST 22 -#define TFT_BL 23 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -// SPI frequency for TFT writes -// #define SPI_FREQUENCY 10000000 -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 -// #define SPI_FREQUENCY 80000000 - -// Optional reduced SPI frequency for reading TFT -#define SPI_READ_FREQUENCY 20000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup202_SSD1351_128.h b/lib/TFT_eSPI/User_Setups/Setup202_SSD1351_128.h deleted file mode 100644 index 8cbc4bf..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup202_SSD1351_128.h +++ /dev/null @@ -1,52 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 202 - -#define SSD1351_DRIVER - - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 128 - - -#define SSD1351_1DOT5_INCH_128 // For 128 x 128 display - -// Wiring: -// +-------------+------------+-------------------------------------------------------------------+ -// | Display PCB | TFT_eSPI | Info | -// +-------------+------------+-------------------------------------------------------------------+ -// | GND | GND (0V) | Common | -// | VCC | 5V or 3.3V | Better to power with 5V if display PCB supports it | -// | DIN | TFT_MOSI | SPI data | -// | SCK | TFT_SCLK | SPI clock | -// | DC | TFT_DC | Distinguish between a command or its data | -// | RST | TFT_RST | Hardware reset, can connect to MCU RST pin as well | -// | CS | TFT_CS | Chip select, Set to -1 if for manually use with multiple displays | -// +-------------+------------+-------------------------------------------------------------------+ -#if defined(ESP32) - #define TFT_MOSI 23 - #define TFT_SCLK 18 - #define TFT_DC 2 - #define TFT_RST 4 - #define TFT_CS 15 -#elif defined (ARDUINO_ARCH_ESP8266) -//#define TFT_MOSI PIN_D5 // Can't change -//#define TFT_SCLK PIN_D7 // Can't change - #define TFT_DC PIN_D3 - #define TFT_RST PIN_D4 - #define TFT_CS PIN_D8 -#endif - - -#define LOAD_GLCD // Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts- 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 20000000 -//#define SPI_FREQUENCY 40000000 // Works after shielding the wires! diff --git a/lib/TFT_eSPI/User_Setups/Setup203_ST7789.h b/lib/TFT_eSPI/User_Setups/Setup203_ST7789.h deleted file mode 100644 index b6acf0c..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup203_ST7789.h +++ /dev/null @@ -1,57 +0,0 @@ -// ST7789 240 x 280 display with no chip select line -#define USER_SETUP_ID 203 - -#define ST7789_DRIVER // Configure all registers - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 280 - -#define CGRAM_OFFSET // Library will add offsets required - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -//#define TFT_INVERSION_ON -//#define TFT_INVERSION_OFF - -// DSTIKE stepup -//#define TFT_DC 23 -//#define TFT_RST 32 -//#define TFT_MOSI 26 -//#define TFT_SCLK 27 - -// Generic ESP32 setup -//#define TFT_MISO 19 -//#define TFT_MOSI 23 -//#define TFT_SCLK 18 -//#define TFT_CS -1 // Not connected -//#define TFT_DC 2 -//#define TFT_RST 4 // Connect reset to ensure display initialises - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS -1 // Define as not used -#define TFT_DC PIN_D1 // Data Command control pin -//#define TFT_RST PIN_D4 // TFT reset pin (could connect to NodeMCU RST, see next line) -#define TFT_RST -1 // TFT reset pin connect to NodeMCU RST, must also then add 10K pull down to TFT SCK - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup204_ESP32_TouchDown.h b/lib/TFT_eSPI/User_Setups/Setup204_ESP32_TouchDown.h deleted file mode 100644 index 6d8569d..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup204_ESP32_TouchDown.h +++ /dev/null @@ -1,32 +0,0 @@ -// User Setup for the ESP32 TouchDown V1.0 and V1.1 -// ILI9488 using 4-wire SPI and using an FT6206 touch controller - -#define USER_SETUP_ID 204 - -#define ILI9488_DRIVER - -#define TFT_BL 32 -#define TFT_BACKLIGHT_ON HIGH - -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 15 -#define TFT_DC 2 -#define TFT_RST 4 - -#define TOUCH_CS 21 - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 27000000 -#define SPI_READ_FREQUENCY 20000000 -#define SPI_TOUCH_FREQUENCY 2500000 \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup205_ESP32_TouchDown_S3.h b/lib/TFT_eSPI/User_Setups/Setup205_ESP32_TouchDown_S3.h deleted file mode 100644 index 2d7a4a3..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup205_ESP32_TouchDown_S3.h +++ /dev/null @@ -1,36 +0,0 @@ -// User Setup for the ESP32 TouchDown S3 V1.1 -// ILI9488 using 8-bit Parallel and using an FT6206 touch controller - -#define USER_SETUP_ID 205 - -#define ESP32_PARALLEL - -#define ILI9488_DRIVER - -#define TFT_DC 5 -#define TFT_RST 46 - -#define TFT_WR 7 -#define TFT_RD 6 - -#define TFT_D0 21 -#define TFT_D1 14 -#define TFT_D2 13 -#define TFT_D3 12 -#define TFT_D4 11 -#define TFT_D5 10 -#define TFT_D6 9 -#define TFT_D7 8 - -#define TFT_BL 48 -#define TFT_BACKLIGHT_ON HIGH - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup206_LilyGo_T_Display_S3.h b/lib/TFT_eSPI/User_Setups/Setup206_LilyGo_T_Display_S3.h deleted file mode 100644 index 7a58eca..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup206_LilyGo_T_Display_S3.h +++ /dev/null @@ -1,47 +0,0 @@ -// ST7789 using 8-bit Parallel - -#define USER_SETUP_ID 206 - -#define ST7789_DRIVER -#define INIT_SEQUENCE_3 // Using this initialisation sequence improves the display image - -#define CGRAM_OFFSET -#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#define TFT_INVERSION_ON -// #define TFT_INVERSION_OFF - -#define TFT_PARALLEL_8_BIT - -#define TFT_WIDTH 170 -#define TFT_HEIGHT 320 - -#define TFT_CS 6 -#define TFT_DC 7 -#define TFT_RST 5 - -#define TFT_WR 8 -#define TFT_RD 9 - -#define TFT_D0 39 -#define TFT_D1 40 -#define TFT_D2 41 -#define TFT_D3 42 -#define TFT_D4 45 -#define TFT_D5 46 -#define TFT_D6 47 -#define TFT_D7 48 - -#define TFT_BL 38 -#define TFT_BACKLIGHT_ON HIGH - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup207_LilyGo_T_HMI.h b/lib/TFT_eSPI/User_Setups/Setup207_LilyGo_T_HMI.h deleted file mode 100644 index 8606ef3..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup207_LilyGo_T_HMI.h +++ /dev/null @@ -1,48 +0,0 @@ -// ST7789 240 x 240 display with no chip select line -#define USER_SETUP_ID 207 - -#define ST7789_DRIVER // Configure all registers - -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 320 - -#define CGRAM_OFFSET -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// #define TFT_INVERSION_ON -#define TFT_INVERSION_OFF - -#define TFT_PARALLEL_8_BIT - -// The ESP32 and TFT the pins used for testing are: -#define TFT_CS 6 // Chip select control pin (library pulls permanently low -#define TFT_DC 7 // Data Command control pin -#define TFT_RST -1 // Reset pin, toggles on startup - -#define TFT_WR 8 // Write strobe control pin -#define TFT_RD -1 // Read strobe control pin - -#define TFT_D0 48 // Must use pins in the range 0-31 or alternatively 32-48 -#define TFT_D1 47 // so a single register write sets/clears all bits. -#define TFT_D2 39 // Pins can be randomly assigned, this does not affect -#define TFT_D3 40 // TFT screen update performance. -#define TFT_D4 41 -#define TFT_D5 42 -#define TFT_D6 45 -#define TFT_D7 46 - -#define TFT_BL 38 // LED back-light - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup209_LilyGo_T_Dongle_S3.h b/lib/TFT_eSPI/User_Setups/Setup209_LilyGo_T_Dongle_S3.h deleted file mode 100644 index 1a28a82..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup209_LilyGo_T_Dongle_S3.h +++ /dev/null @@ -1,52 +0,0 @@ -// Config for LilyGo T-Dongle S3 w ESP32 and ST7735 80 x 160 display -#define USER_SETUP_ID 209 - -#define ST7735_DRIVER // Configure all registers - -#define TFT_WIDTH 80 -#define TFT_HEIGHT 160 - -// #define ST7735_INITB -// #define ST7735_GREENTAB -// #define ST7735_GREENTAB2 -// #define ST7735_GREENTAB3 -// #define ST7735_GREENTAB128 // For 128 x 128 display -#define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) -// #define ST7735_REDTAB -//#define ST7735_BLACKTAB -// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -//#define TFT_INVERSION_ON -//#define TFT_INVERSION_OFF - -// Generic ESP32 setup -#define TFT_MISO -1 -#define TFT_MOSI 3 -#define TFT_SCLK 5 -#define TFT_CS 4 -#define TFT_DC 2 -#define TFT_RST 1 // Connect reset to ensure display initialises - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 27000000 -//#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup20_ILI9488.h b/lib/TFT_eSPI/User_Setups/Setup20_ILI9488.h deleted file mode 100644 index dd4badf..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup20_ILI9488.h +++ /dev/null @@ -1,33 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 20 - -#define ILI9488_DRIVER - - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 - - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup210_LilyGo_T_Embed_S3.h b/lib/TFT_eSPI/User_Setups/Setup210_LilyGo_T_Embed_S3.h deleted file mode 100644 index d3b815a..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup210_LilyGo_T_Embed_S3.h +++ /dev/null @@ -1,43 +0,0 @@ -// ST7789 170 x 320 display with no chip select line -#define USER_SETUP_ID 210 - -#define ST7789_DRIVER // Configure all registers - -#define TFT_WIDTH 170 -#define TFT_HEIGHT 320 - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#define TFT_INVERSION_ON -//#define TFT_INVERSION_OFF -#define TFT_BACKLIGHT_ON 1 - -#define TFT_BL 15 // LED back-light -#define TFT_MISO -1 // Not connected -#define TFT_MOSI 11 -#define TFT_SCLK 12 -#define TFT_CS 10 -#define TFT_DC 13 -#define TFT_RST 9 // Connect reset to ensure display initialises - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h b/lib/TFT_eSPI/User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h deleted file mode 100644 index 3f41df0..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h +++ /dev/null @@ -1,45 +0,0 @@ -// GC9A01 128 x 128 display with no chip select line -#define USER_SETUP_ID 211 - -#define GC9A01_DRIVER // Configure all registers - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 128 - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// #define TFT_INVERSION_ON -//#define TFT_INVERSION_OFF -#define TFT_BACKLIGHT_ON 0 -#define CGRAM_OFFSET - - -#define TFT_BL 10 // LED back-light -#define TFT_MISO -1 // Not connected -#define TFT_MOSI 2 -#define TFT_SCLK 3 -#define TFT_CS 5 -#define TFT_DC 6 -#define TFT_RST 1 // Connect reset to ensure display initialises - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup212_LilyGo_T_PicoPro.h b/lib/TFT_eSPI/User_Setups/Setup212_LilyGo_T_PicoPro.h deleted file mode 100644 index 6be1f3b..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup212_LilyGo_T_PicoPro.h +++ /dev/null @@ -1,45 +0,0 @@ -// ST7796 222 x 480 display with no chip select line -#define USER_SETUP_ID 212 - -#define ST7796_DRIVER // Configure all registers - -#define TFT_WIDTH 222 -#define TFT_HEIGHT 480 - -#define CGRAM_OFFSET // Library will add offsets required - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#define TFT_INVERSION_ON - -#define TFT_MISO 4 -#define TFT_MOSI 7 -#define TFT_SCLK 6 -#define TFT_CS 8 -#define TFT_DC 9 -#define TFT_RST 16 -#define TFT_BACKLIGHT_ON 1 -#define TFT_BL 10 - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup213_LilyGo_T_Beam_Shield.h b/lib/TFT_eSPI/User_Setups/Setup213_LilyGo_T_Beam_Shield.h deleted file mode 100644 index d9ebc87..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup213_LilyGo_T_Beam_Shield.h +++ /dev/null @@ -1,36 +0,0 @@ -// ST7796 222 x 480 display with no chip select line -#define USER_SETUP_ID 213 - -#define ST7796_DRIVER // Configure all registers - -#define TFT_WIDTH 222 -#define TFT_HEIGHT 480 - -#define CGRAM_OFFSET // Library will add offsets required - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#define TFT_INVERSION_ON - -#define TFT_MISO -1 -#define TFT_MOSI 14 -#define TFT_SCLK 15 -#define TFT_CS 25 -#define TFT_DC 13 -#define TFT_RST 2 -#define TFT_BL 4 -#define TFT_BACKLIGHT_ON HIGH - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT -#define SPI_FREQUENCY 40000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup21_ILI9488.h b/lib/TFT_eSPI/User_Setups/Setup21_ILI9488.h deleted file mode 100644 index 3d2018b..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup21_ILI9488.h +++ /dev/null @@ -1,35 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 21 - -#define ILI9488_DRIVER - -//#define TFT_INVERSION_OFF - -#define TFT_MISO 19 // (leave TFT SDO disconnected if other SPI devices share MISO) -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 15 // Chip select control pin -#define TFT_DC 2 // Data Command control pin -#define TFT_RST 4 // Reset pin (could connect to RST pin) - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 -// #define SPI_FREQUENCY 80000000 - -// Optional reduced SPI frequency for reading TFT -#define SPI_READ_FREQUENCY 16000000 - -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4.h b/lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4.h deleted file mode 100644 index 760b50d..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4.h +++ /dev/null @@ -1,36 +0,0 @@ -// Setup for the TTGO T4 v1.1 ("Bitcoin Tracker") ESP32 board with 2.2" ILI9341 display -#define USER_SETUP_ID 22 - -// See SetupX_Template.h for all options available - -#define ILI9341_DRIVER - -//#define TFT_BACKLIGHT_ON HIGH // LED control for TTGO T4 v1.3 only -//#define TFT_BL 4 - -#define TFT_MISO 12 -#define TFT_MOSI 23 -#define TFT_SCLK 18 - -#define TFT_CS 27 -#define TFT_DC 26 // pin 32 for TTGO T4 v1.3 -#define TFT_RST 5 - -#define TOUCH_CS -1 - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -//#define SPI_FREQUENCY 27000000 - #define SPI_FREQUENCY 40000000 // Maximum for ILI9341 - -#define USE_HSPI_PORT - -#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V diff --git a/lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4_v1.3.h b/lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4_v1.3.h deleted file mode 100644 index 6658d74..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup22_TTGO_T4_v1.3.h +++ /dev/null @@ -1,34 +0,0 @@ -// Setup for the TTGO T4 v1.3 ESP32 board with 2.2" ILI9341 display -#define USER_SETUP_ID 99922 - -// See SetupX_Template.h for all options available - -#define ILI9341_DRIVER - -#define TFT_BACKLIGHT_ON HIGH -#define TFT_BL 4 - -#define TFT_MISO 12 -#define TFT_MOSI 23 -#define TFT_SCLK 18 - -#define TFT_CS 27 -#define TFT_DC 32 // pin 26 for TTGO T4 v1.3 -#define TFT_RST 5 - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -//#define SPI_FREQUENCY 27000000 - #define SPI_FREQUENCY 40000000 // Maximum for ILI9341 - -#define USE_HSPI_PORT - -#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V diff --git a/lib/TFT_eSPI/User_Setups/Setup23_TTGO_TM.h b/lib/TFT_eSPI/User_Setups/Setup23_TTGO_TM.h deleted file mode 100644 index 791348d..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup23_TTGO_TM.h +++ /dev/null @@ -1,43 +0,0 @@ -// Setup for the TTGO TM (Music) ESP32 board with 2.4" ST7789V display -#define USER_SETUP_ID 23 - -// See SetupX_Template.h for all options available - -#define ST7789_DRIVER - -#define TFT_SDA_READ // Read from display, it only provides an SDA pin - -#define TFT_MISO 19 // Must be defined even though it is not used -#define TFT_MOSI 23 // Connected to display SDA line -#define TFT_SCLK 18 - -#define TFT_CS 05 -#define TFT_DC 16 -#define TFT_RST 17 - -#define TOUCH_CS -1 - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 320 - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// Black and white swap option -//#define TFT_INVERSION_ON -#define TFT_INVERSION_OFF - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 40000000 // This display also seems to work reliably at 80MHz -//#define SPI_FREQUENCY 80000000 - -#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V diff --git a/lib/TFT_eSPI/User_Setups/Setup24_ST7789.h b/lib/TFT_eSPI/User_Setups/Setup24_ST7789.h deleted file mode 100644 index 2acc6c3..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup24_ST7789.h +++ /dev/null @@ -1,55 +0,0 @@ -// ST7789 240 x 240 display with no chip select line -#define USER_SETUP_ID 24 - -#define ST7789_DRIVER // Configure all registers - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 240 - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -//#define TFT_INVERSION_ON -//#define TFT_INVERSION_OFF - -// DSTIKE stepup -//#define TFT_DC 23 -//#define TFT_RST 32 -//#define TFT_MOSI 26 -//#define TFT_SCLK 27 - -// Generic ESP32 setup -//#define TFT_MISO 19 -//#define TFT_MOSI 23 -//#define TFT_SCLK 18 -//#define TFT_CS -1 // Not connected -//#define TFT_DC 2 -//#define TFT_RST 4 // Connect reset to ensure display initialises - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS -1 // Define as not used -#define TFT_DC PIN_D1 // Data Command control pin -#define TFT_RST PIN_D4 // TFT reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // TFT reset pin connect to NodeMCU RST, must also then add 10K pull down to TFT SCK - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup250_ESP32_S3_Box_Lite.h b/lib/TFT_eSPI/User_Setups/Setup250_ESP32_S3_Box_Lite.h deleted file mode 100644 index 8a211d1..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup250_ESP32_S3_Box_Lite.h +++ /dev/null @@ -1,32 +0,0 @@ -// Display configuration for ST7789-based ESP32-S3-Box-Lite - -#define USER_SETUP_ID 250 -#define USER_SETUP_INFO "ESP32-S3-BOX-LITE" - -#define ST7789_DRIVER -#define TFT_RGB_ORDER TFT_BGR - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 320 - -#define TFT_BL 45 -#define TFT_BACKLIGHT_ON LOW - -#define TFT_CS 5 -#define TFT_DC 4 -#define TFT_RST 48 - -#define TFT_MOSI 6 -#define TFT_SCLK 7 - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 40000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup251_ESP32_S3_Box.h b/lib/TFT_eSPI/User_Setups/Setup251_ESP32_S3_Box.h deleted file mode 100644 index 5458aaf..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup251_ESP32_S3_Box.h +++ /dev/null @@ -1,28 +0,0 @@ -// Display configuration for ILI9342-based ESP32-S3-Box - -#define USER_SETUP_ID 251 -#define USER_SETUP_INFO "ESP32-S3-BOX" - -#define M5STACK // S3-Box uses the same ILI9342 display, don't remove - -#define ILI9341_DRIVER - -#define TFT_MISO 0 -#define TFT_MOSI 6 -#define TFT_SCLK 7 -#define TFT_CS 5 // Chip select control pin -#define TFT_DC 4 // Data Command control pin -#define TFT_RST 48 // Reset pin (could connect to Arduino RESET pin) -#define TFT_BL 45 // LED back-light - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 27000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup25_TTGO_T_Display.h b/lib/TFT_eSPI/User_Setups/Setup25_TTGO_T_Display.h deleted file mode 100644 index 455c851..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup25_TTGO_T_Display.h +++ /dev/null @@ -1,40 +0,0 @@ -// Setup for the TTGO T Display -#define USER_SETUP_ID 25 - -// See SetupX_Template.h for all options available - -#define ST7789_DRIVER -#define TFT_SDA_READ // Display has a bidirectional SDA pin - -#define TFT_WIDTH 135 -#define TFT_HEIGHT 240 - -#define CGRAM_OFFSET // Library will add offsets required - -//#define TFT_MISO -1 - -#define TFT_MOSI 19 -#define TFT_SCLK 18 -#define TFT_CS 5 -#define TFT_DC 16 -#define TFT_RST 23 - -#define TFT_BL 4 // Display backlight control pin - -#define TFT_BACKLIGHT_ON HIGH // HIGH or LOW are options - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -//#define SPI_FREQUENCY 27000000 - #define SPI_FREQUENCY 40000000 - - -#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V diff --git a/lib/TFT_eSPI/User_Setups/Setup26_TTGO_T_Wristband.h b/lib/TFT_eSPI/User_Setups/Setup26_TTGO_T_Wristband.h deleted file mode 100644 index 3cda1a5..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup26_TTGO_T_Wristband.h +++ /dev/null @@ -1,37 +0,0 @@ -#define USER_SETUP_ID 26 - -#define ST7735_DRIVER - -#define TFT_WIDTH 80 -#define TFT_HEIGHT 160 - - -#define TFT_RST 26 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V -#define TFT_MISO -1 -#define TFT_MOSI 19 -#define TFT_SCLK 18 -#define TFT_CS 5 -#define TFT_DC 23 -#define TFT_BL 27 // Dispaly backlight control pin - -#define TFT_BACKLIGHT_ON HIGH // HIGH or LOW are options - -#define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded -// this will save ~20kbytes of FLASH -#define SMOOTH_FONT - -#define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 - -// #define SPI_FREQUENCY 40000000 // Maximum to use SPIFFS -// #define SPI_FREQUENCY 80000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup27_RPi_ST7796_ESP32.h b/lib/TFT_eSPI/User_Setups/Setup27_RPi_ST7796_ESP32.h deleted file mode 100644 index ed053a4..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup27_RPi_ST7796_ESP32.h +++ /dev/null @@ -1,102 +0,0 @@ -// USER DEFINED SETTINGS -// Set driver type, fonts to be loaded, pins used and SPI control method etc. -// -// See the User_Setup_Select.h file if you wish to be able to define multiple -// setups and then easily select which setup file is used by the compiler. -// -// If this file is edited correctly then all the library example sketches should -// run without the need to make any more changes for a particular hardware setup! - -#define USER_SETUP_ID 27 - -// ################################################################################## -// -// Section 0. Call up the right driver file and any options for it -// -// ################################################################################## - -// Display type - only define if RPi display -#define RPI_DISPLAY_TYPE - -// Only define one driver -#define ST7796_DRIVER - -// ################################################################################## -// -// Section 1. Define the pins that are used to interface with the display here -// -// ################################################################################## - -// >>>>> EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP <<<<< - -// The ESP32 hardware SPI can be mapped to any pins, these are the recommended default - -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 15 // Chip select control pin -#define TFT_DC 2 // Data Command control pin -#define TFT_RST 4 // Reset pin (could connect to RST pin) -//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST - -#define TOUCH_CS 22 // Chip select pin (T_CS) of touch screen - -// ################################################################################## -// -// Section 2. Not used for ESP32 -// -// ################################################################################## - - -// ################################################################################## -// -// Section 3. Define the fonts that are to be used here -// -// ################################################################################## - -// Comment out the #defines below with // to stop that font being loaded -// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not -// normally necessary. If all fonts are loaded the extra FLASH space required is -// about 17Kbytes. To save FLASH space only enable the fonts you need! - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded -// this will save ~20kbytes of FLASH -#define SMOOTH_FONT - -// ################################################################################## -// -// Section 4. Not used -// -// ################################################################################## - - -// ################################################################################## -// -// Section 5. Other options -// -// ################################################################################## - -// Define the SPI clock frequency, this affects the graphics rendering speed. Too -// fast and the TFT driver will not keep up and display corruption appears. -// With an RPi ST7796 MH4.0 display 80MHz is OK for ESP32, 40MHz maximum for ESP8266 - -// #define SPI_FREQUENCY 20000000 -// #define SPI_FREQUENCY 40000000 - #define SPI_FREQUENCY 80000000 - -// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default. -// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam) -// then uncomment the following line: -//#define USE_HSPI_PORT - -// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: - #define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup28_RPi_ST7796_ESP8266.h b/lib/TFT_eSPI/User_Setups/Setup28_RPi_ST7796_ESP8266.h deleted file mode 100644 index e4ba57c..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup28_RPi_ST7796_ESP8266.h +++ /dev/null @@ -1,106 +0,0 @@ -// USER DEFINED SETTINGS -// Set driver type, fonts to be loaded, pins used and SPI control method etc. -// -// See the User_Setup_Select.h file if you wish to be able to define multiple -// setups and then easily select which setup file is used by the compiler. -// -// If this file is edited correctly then all the library example sketches should -// run without the need to make any more changes for a particular hardware setup! -#define USER_SETUP_ID 28 - -// ################################################################################## -// -// Section 0. Call up the right driver file and any options for it -// -// ################################################################################## - -// Display type - only define if RPi display -#define RPI_DISPLAY_TYPE - -// Only define one driver -#define ST7796_DRIVER - -// ################################################################################## -// -// Section 1. Define the pins that are used to interface with the display here -// -// ################################################################################## - -// >>>> EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP <<<< - -// These are the recommended default - -// Avoid PIN_D8 as this will prevent upload if display pulls the pin high at boot - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D2 // Chip select control pin D2 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - -#define TOUCH_CS PIN_D1 // Chip select pin (T_CS) of touch screen - -// ################################################################################## -// -// Section 2. Not used for ESP32 -// -// ################################################################################## - - -// ################################################################################## -// -// Section 3. Define the fonts that are to be used here -// -// ################################################################################## - -// Comment out the #defines below with // to stop that font being loaded -// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not -// normally necessary. If all fonts are loaded the extra FLASH space required is -// about 17Kbytes. To save FLASH space only enable the fonts you need! - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded -// this will save ~20kbytes of FLASH -#define SMOOTH_FONT - -// ################################################################################## -// -// Section 4. Not used -// -// ################################################################################## - - -// ################################################################################## -// -// Section 5. Other options -// -// ################################################################################## - -// Define the SPI clock frequency, this affects the graphics rendering speed. Too -// fast and the TFT driver will not keep up and display corruption appears. -// With an RPi ST7796 MH4.0 display 80MHz is OK for ESP32, 40MHz maximum for ESP8266 - -// #define SPI_FREQUENCY 20000000 - #define SPI_FREQUENCY 40000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// Comment out the following #define if "SPI Transactions" do not need to be -// supported. When commented out the code size will be smaller and sketches will -// run slightly faster, so leave it commented out unless you need it! - -// Transaction support is needed to work with SD library but not needed with TFT_SdFat -// Transaction support is required if other SPI devices are connected. - -// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex) -// so changing it here has no effect - -#define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup2_ST7735.h b/lib/TFT_eSPI/User_Setups/Setup2_ST7735.h deleted file mode 100644 index aab711b..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup2_ST7735.h +++ /dev/null @@ -1,45 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 2 - -#define ST7735_DRIVER - - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 160 - - -#define ST7735_REDTAB - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup301_BW16_ST7735.h b/lib/TFT_eSPI/User_Setups/Setup301_BW16_ST7735.h deleted file mode 100644 index 75ba3fb..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup301_BW16_ST7735.h +++ /dev/null @@ -1,47 +0,0 @@ -#include "itoa.h" -#include - - -// Setup for BW16 and ST7735 80 x 160 TFT -#define USER_SETUP_ID 301 -// See SetupX_Template.h for all options available - -#define ST7735_DRIVER - - -#define TFT_WIDTH 80 -#define TFT_HEIGHT 160 - - -#define ST7735_GREENTAB160x80 - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// Pin Mappings for BW16 board -#define TFT_MISO 11 -#define TFT_MOSI 12 -#define TFT_SCLK 10 -#define TFT_CS 9 // Chip select control pin -#define TFT_DC 8 // Data Command control pin -#define TFT_RST 6 // Reset pin (could connect to RST pin) - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 20000000 -//#define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 - diff --git a/lib/TFT_eSPI/User_Setups/Setup302_Waveshare_ESP32S3_GC9A01.h b/lib/TFT_eSPI/User_Setups/Setup302_Waveshare_ESP32S3_GC9A01.h deleted file mode 100644 index 5e3127f..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup302_Waveshare_ESP32S3_GC9A01.h +++ /dev/null @@ -1,33 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 302 - -#define GC9A01_DRIVER - -#define TFT_MISO 12 -#define TFT_MOSI 11 -#define TFT_SCLK 10 -#define TFT_CS 9 // Chip select control pin -#define TFT_DC 8 // Data Command control pin -#define TFT_RST 14 // Reset pin (could connect to RST pin) -#define TFT_BL 2 -#define TFT_BACKLIGHT_ON HIGH - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts -#define SMOOTH_FONT - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 240 - -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup31_ST7796_Parallel_STM32.h b/lib/TFT_eSPI/User_Setups/Setup31_ST7796_Parallel_STM32.h deleted file mode 100644 index 0e26eaa..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup31_ST7796_Parallel_STM32.h +++ /dev/null @@ -1,52 +0,0 @@ - //////////////////////////////////////////////////// - // Setup for Nucleo 64 or 144 and ILI9341 display // - //////////////////////////////////////////////////// -#define USER_SETUP_ID 31 - -// See SetupX_Template.h for all options available - -// Define STM32 to invoke optimised processor support -#define STM32 - -// Defining the board allows the library to optimise the performance -// for UNO compatible "MCUfriend" style shields -#define NUCLEO_64_TFT -//#define NUCLEO_144_TFT - -// Tell the library to use 8-bit parallel mode(otherwise SPI is assumed) -#define TFT_PARALLEL_8_BIT - -// Define the display driver chip type -#define ST7796_DRIVER -//#define ILI9481_DRIVER - -// Define the Nucleo 64/144 pins used for the parallel interface TFT -// The pins can be changed here but these are the ones used by the -// common "MCUfriend" shields -#define TFT_CS A3 // Chip select control pin -#define TFT_DC A2 // Data Command control pin -#define TFT_RST A4 // Reset pin - -#define TFT_WR A1 // Write strobe control pin -#define TFT_RD A0 // Read pin - -#define TFT_D0 D8 // 8-bit parallel bus to TFT -#define TFT_D1 D9 -#define TFT_D2 D2 -#define TFT_D3 D3 -#define TFT_D4 D4 -#define TFT_D5 D5 -#define TFT_D6 D6 -#define TFT_D7 D7 - -// Fonts to be available -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// STM32 support for smooth fonts via program memory (FLASH) arrays -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup33_RPi_ILI9486_STM32.h b/lib/TFT_eSPI/User_Setups/Setup33_RPi_ILI9486_STM32.h deleted file mode 100644 index 5a1a8c8..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup33_RPi_ILI9486_STM32.h +++ /dev/null @@ -1,67 +0,0 @@ - /////////////////////////////////////////////////// - // Setup for STM32 Nucleo and ILI9341 display // - /////////////////////////////////////////////////// -#define USER_SETUP_ID 33 - -// Last update by Bodmer: 28/11/19 - -// STM32 optimised functions are not yet compatible with STM32H743 processor. -// The STM32H743 does work with the slower generic processor drivers -// -// REMINDER - Nucleo-F743ZI and Nucleo-F743ZI2 have different pin port allocations -// and require appropriate selection in IDE. ^---- Note the extra 2 in part number! - - -// Define STM32 to invoke STM32 optimised driver (optimised fns only tested on STM32F767 so far) -// so you may need to comment this out -#define STM32 - -// Define the TFT display driver -#define RPI_DISPLAY_TYPE -#define ILI9486_DRIVER - -// MOSI and SCK do not need to be defined, connect: -// - Arduino SCK to TFT SCK -// - Arduino MOSI to TFT SDI(may be marked SDA or MOSI) -// Standard Arduino SPI pins are(SCK=D13, MOSI=D11) this is port pins PA5 and PA7 on Nucleo-F767ZI - -// Can use Ardiuno pin references, arbitrary allocation, TFT_eSPI controls chip select -#define TFT_CS D5 // Chip select control pin to TFT CS -#define TFT_DC D6 // Data Command control pin to TFT DC (may be labelled RS = Register Select) -#define TFT_RST D7 // Reset pin to TFT RST (or RESET) - -// Alternatively, we can use STM32 port reference names PXnn -//#define TFT_CS PE11 // Nucleo-F767ZI equivalent of D5 -//#define TFT_DC PE9 // Nucleo-F767ZI equivalent of D6 -//#define TFT_RST PF13 // Nucleo-F767ZI equivalent of D7 - -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to processor reset - // Use an Arduino pin for initial testing as connecting to processor reset - // may not work (pulse too short at power up?) - -// Chip select for XPT2046 touch controller -//#define TOUCH_CS D4 - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// STM32 support for smooth fonts via program memory (FLASH) arrays -#define SMOOTH_FONT - - -// Nucleo-F767ZI has a ~216MHZ CPU clock, this is divided by 4, 8, 16 etc. - -#define SPI_FREQUENCY 20000000 // 27MHz SPI clock -//#define SPI_FREQUENCY 55000000 // 55MHz is over-clocking ILI9341 but seems to work reliably! - -//#define SPI_READ_FREQUENCY 15000000 // Reads need a slower SPI clock, probably ends up at 13.75MHz (CPU clock/16) - -//#define SPI_TOUCH_FREQUENCY 2500000 // Must be very slow - -// This has no effect, transactions for STM32 are automatically enabled -#define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup34_ILI9481_Parallel_STM32.h b/lib/TFT_eSPI/User_Setups/Setup34_ILI9481_Parallel_STM32.h deleted file mode 100644 index 467a001..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup34_ILI9481_Parallel_STM32.h +++ /dev/null @@ -1,51 +0,0 @@ - //////////////////////////////////////////////////// - // Setup for Nucleo 64 or 144 and ILI9341 display // - //////////////////////////////////////////////////// -#define USER_SETUP_ID 34 -// See SetupX_Template.h for all options available - -// Define STM32 to invoke optimised processor support -#define STM32 - -// Defining the board allows the library to optimise the performance -// for UNO compatible "MCUfriend" style shields -#define NUCLEO_64_TFT -//#define NUCLEO_144_TFT - -// Tell the library to use 8-bit parallel mode (otherwise SPI is assumed) -#define TFT_PARALLEL_8_BIT - -// Define the display driver chip type -//#define ILI9341_DRIVER -#define ILI9481_DRIVER - -// Define the Nucleo 64/144 pins used for the parallel interface TFT -// The pins can be changed here but these are the ones used by the -// common "MCUfriend" shields -#define TFT_CS A3 // Chip select control pin -#define TFT_DC A2 // Data Command control pin -#define TFT_RST A4 // Reset pin - -#define TFT_WR A1 // Write strobe control pin -#define TFT_RD A0 // Read pin - -#define TFT_D0 D8 // 8-bit parallel bus to TFT -#define TFT_D1 D9 -#define TFT_D2 D2 -#define TFT_D3 D3 -#define TFT_D4 D4 -#define TFT_D5 D5 -#define TFT_D6 D6 -#define TFT_D7 D7 - -// Fonts to be available -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// STM32 support for smooth fonts via program memory (FLASH) arrays -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup36_RPi_touch_ST7796.h b/lib/TFT_eSPI/User_Setups/Setup36_RPi_touch_ST7796.h deleted file mode 100644 index 865a347..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup36_RPi_touch_ST7796.h +++ /dev/null @@ -1,32 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 36 - -#define RPI_DISPLAY_TYPE -#define ST7796_DRIVER - - -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 15 // Chip select control pin -#define TFT_DC 2 // Data Command control pin -#define TFT_RST 4 // Reset pin (could connect to RST pin) -//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST - -#define TOUCH_CS 22 // Chip select pin (T_CS) of touch screen - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 40000000 - -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup3_ILI9163.h b/lib/TFT_eSPI/User_Setups/Setup3_ILI9163.h deleted file mode 100644 index d228acf..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup3_ILI9163.h +++ /dev/null @@ -1,37 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 3 - -#define ILI9163_DRIVER - - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 160 - - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup43_ST7735.h b/lib/TFT_eSPI/User_Setups/Setup43_ST7735.h deleted file mode 100644 index 4b8b699..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup43_ST7735.h +++ /dev/null @@ -1,52 +0,0 @@ -// Setup for ESP32 and ST7735 80 x 160 TFT -#define USER_SETUP_ID 43 -// See SetupX_Template.h for all options available - -#define ST7735_DRIVER - - -#define TFT_WIDTH 80 -#define TFT_HEIGHT 160 - - -#define ST7735_GREENTAB160x80 - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#ifdef ESP32 -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 15 // Chip select control pin -#define TFT_DC 2 // Data Command control pin -#define TFT_RST 4 // Reset pin (could connect to RST pin) -//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST -#else -// Display GND to NodeMCU pin GND (0V) -// Display VCC to NodeMCU 5V or 3.3V -// Display SCK to NodeMCU pin D5 -// Display SDI/MOSI to NodeMCU pin D7 -// Display BLK to NodeMCU pin VIN -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -#endif - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -//#define SPI_FREQUENCY 20000000 - #define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 diff --git a/lib/TFT_eSPI/User_Setups/Setup44_TTGO_CameraPlus.h b/lib/TFT_eSPI/User_Setups/Setup44_TTGO_CameraPlus.h deleted file mode 100644 index 0786918..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup44_TTGO_CameraPlus.h +++ /dev/null @@ -1,32 +0,0 @@ -#define USER_SETUP_ID 44 - -#define ST7789_DRIVER - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 240 - -#define TFT_MOSI 19 -#define TFT_MISO 22 -#define TFT_SCLK 21 -#define TFT_CS 12 -#define TFT_DC 15 -#define TFT_RST -1 -#define TFT_BL 2 - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -// #define SPI_FREQUENCY 1000000 -// #define SPI_FREQUENCY 5000000 -// #define SPI_FREQUENCY 10000000 -// #define SPI_FREQUENCY 20000000 -// #define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 -#define SPI_FREQUENCY 40000000 // Maximum to use SPIFFS -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup45_TTGO_T_Watch.h b/lib/TFT_eSPI/User_Setups/Setup45_TTGO_T_Watch.h deleted file mode 100644 index 9a90105..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup45_TTGO_T_Watch.h +++ /dev/null @@ -1,32 +0,0 @@ -#define USER_SETUP_ID 45 - -#define ST7789_DRIVER - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 240 - -#define TFT_MISO -1 -#define TFT_MOSI 19 -#define TFT_SCLK 18 -#define TFT_CS 5 -#define TFT_DC 27 - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts -#define SMOOTH_FONT - -// #define SPI_FREQUENCY 1000000 -// #define SPI_FREQUENCY 5000000 -// #define SPI_FREQUENCY 10000000 -// #define SPI_FREQUENCY 20000000 -// #define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 -#define SPI_FREQUENCY 40000000 -//#define SPI_FREQUENCY 80000000 - - - diff --git a/lib/TFT_eSPI/User_Setups/Setup46_GC9A01_ESP32.h b/lib/TFT_eSPI/User_Setups/Setup46_GC9A01_ESP32.h deleted file mode 100644 index 3494f6f..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup46_GC9A01_ESP32.h +++ /dev/null @@ -1,29 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 46 - -#define GC9A01_DRIVER - -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 15 // Chip select control pin -#define TFT_DC 2 // Data Command control pin -#define TFT_RST 4 // Reset pin (could connect to RST pin) -//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts -#define SMOOTH_FONT - -#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup47_ST7735.h b/lib/TFT_eSPI/User_Setups/Setup47_ST7735.h deleted file mode 100644 index d2e996d..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup47_ST7735.h +++ /dev/null @@ -1,52 +0,0 @@ -// Config for two ST7735 128 x 128 displays for Animated_Eyes example -#define USER_SETUP_ID 47 - -#define ST7735_DRIVER // Configure all registers - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 128 - -// #define ST7735_INITB -// #define ST7735_GREENTAB -// #define ST7735_GREENTAB2 - #define ST7735_GREENTAB3 -// #define ST7735_GREENTAB128 // For 128 x 128 display -// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) -// #define ST7735_REDTAB -//#define ST7735_BLACKTAB -// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -//#define TFT_INVERSION_ON -//#define TFT_INVERSION_OFF - -// Generic ESP32 setup -#define TFT_MISO 19 -#define TFT_MOSI 23 -#define TFT_SCLK 18 -//#define TFT_CS 21 // Not defined here, chip select is managed by sketch -#define TFT_DC 2 -#define TFT_RST 4 // Connect reset to ensure display initialises - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 27000000 -//#define SPI_FREQUENCY 40000000 - -#define SPI_READ_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - -// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup4_S6D02A1.h b/lib/TFT_eSPI/User_Setups/Setup4_S6D02A1.h deleted file mode 100644 index a8ce0d3..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup4_S6D02A1.h +++ /dev/null @@ -1,33 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 4 - -#define S6D02A1_DRIVER - - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup50_SSD1963_Parallel.h b/lib/TFT_eSPI/User_Setups/Setup50_SSD1963_Parallel.h deleted file mode 100644 index d7265d7..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup50_SSD1963_Parallel.h +++ /dev/null @@ -1,95 +0,0 @@ -// USER DEFINED SETTINGS -// Set driver type, fonts to be loaded, pins used and SPI control method etc. -// -// See the User_Setup_Select.h file if you wish to be able to define multiple -// setups and then easily select which setup file is used by the compiler. -// -// If this file is edited correctly then all the library example sketches should -// run without the need to make any more changes for a particular hardware setup! -#define USER_SETUP_ID 50 -// ################################################################################## -// -// Section 0. Call up the right driver file and any options for it -// -// ################################################################################## - -// Use ESP32 Parallel interface -#define TFT_PARALLEL_8_BIT - -// Only define one driver, the other ones must be commented out -//#define SSD1963_480_DRIVER // 272 x 480 display -//#define SSD1963_800_DRIVER // 480 x 800 display -//#define SSD1963_800ALT_DRIVER // Alternative 480 x 800 display -#define SSD1963_800BD_DRIVER // 480 x 800 display sourced from https://www.buydisplay.com/7-tft-screen-touch-lcd-display-module-w-ssd1963-controller-board-mcu - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// ################################################################################## -// -// Section 1. Define the pins that are used to interface with the display here -// -// ################################################################################## - -// ESP32 pins used -#define TFT_CS 33 // Chip select control pin -#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 -#define TFT_RST 32 // Reset pin - -#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 -#define TFT_RD 2 - -#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus -#define TFT_D1 13 // so a single register write sets/clears all bits -#define TFT_D2 26 -#define TFT_D3 25 -#define TFT_D4 17 -#define TFT_D5 16 -#define TFT_D6 27 -#define TFT_D7 14 - -// ################################################################################## -// -// Section 2. Define the way the DC and/or CS lines are driven (ESP8266 only) -// -// ################################################################################## - - -// ################################################################################## -// -// Section 3. Define the fonts that are to be used here -// -// ################################################################################## - -// Comment out the #defines below with // to stop that font being loaded -// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not -// normally necessary. If all fonts are loaded the extra FLASH space required is -// about 17Kbytes. To save FLASH space only enable the fonts you need! - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded -// this will save ~20kbytes of FLASH -#define SMOOTH_FONT - -// ################################################################################## -// -// Section 4. Not used -// -// ################################################################################## - - -// ################################################################################## -// -// Section 5. Other options -// -// ################################################################################## - - diff --git a/lib/TFT_eSPI/User_Setups/Setup51_LilyPi_ILI9481.h b/lib/TFT_eSPI/User_Setups/Setup51_LilyPi_ILI9481.h deleted file mode 100644 index 444b671..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup51_LilyPi_ILI9481.h +++ /dev/null @@ -1,27 +0,0 @@ -#define USER_SETUP_ID 51 - -#define ILI9481_DRIVER - -#define TFT_BL 12 // LED back-light control pin -#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) - -#define TFT_MISO 23 -#define TFT_MOSI 19 -#define TFT_SCLK 18 -#define TFT_CS 5 // Chip select control pin -#define TFT_DC 27 // Data Command control pin -#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 26666666 -#define SPI_READ_FREQUENCY 20000000 \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup52_LilyPi_ST7796.h b/lib/TFT_eSPI/User_Setups/Setup52_LilyPi_ST7796.h deleted file mode 100644 index b6bc8eb..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup52_LilyPi_ST7796.h +++ /dev/null @@ -1,28 +0,0 @@ -#define USER_SETUP_ID 52 - -#define ST7796_DRIVER - -#define TFT_BL 12 // LED back-light control pin -#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) - -#define ESP32_DMA -#define TFT_MISO 23 -#define TFT_MOSI 19 -#define TFT_SCLK 18 -#define TFT_CS 5 // Chip select control pin -#define TFT_DC 27 // Data Command control pin -#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 40000000 -#define SPI_READ_FREQUENCY 12000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup5_RPi_ILI9486.h b/lib/TFT_eSPI/User_Setups/Setup5_RPi_ILI9486.h deleted file mode 100644 index 2935158..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup5_RPi_ILI9486.h +++ /dev/null @@ -1,30 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 5 - -#define RPI_ILI9486_DRIVER // 20MHz maximum SPI - - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup60_RP2040_ILI9341.h b/lib/TFT_eSPI/User_Setups/Setup60_RP2040_ILI9341.h deleted file mode 100644 index c795e0e..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup60_RP2040_ILI9341.h +++ /dev/null @@ -1,187 +0,0 @@ -// USER DEFINED SETTINGS -// Set driver type, fonts to be loaded, pins used and SPI control method etc. -// -// See the User_Setup_Select.h file if you wish to be able to define multiple -// setups and then easily select which setup file is used by the compiler. -// -// If this file is edited correctly then all the library example sketches should -// run without the need to make any more changes for a particular hardware setup! -// Note that some sketches are designed for a particular TFT pixel width/height - -#define USER_SETUP_ID 60 -// ################################################################################## -// -// Section 1. Call up the right driver file and any options for it -// -// ################################################################################## - -// Tell the library to use 8-bit parallel mode (otherwise SPI is assumed) -//#define TFT_PARALLEL_8_BIT - -// Display type - only define if RPi display -//#define RPI_DISPLAY_TYPE // 20MHz maximum SPI - -// Only define one driver, the other ones must be commented out -#define ILI9341_DRIVER -//#define ST7735_DRIVER // Define additional parameters below for this display -//#define ILI9163_DRIVER // Define additional parameters below for this display -//#define S6D02A1_DRIVER -//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI -//#define HX8357D_DRIVER -//#define ILI9481_DRIVER -//#define ILI9486_DRIVER -//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) -//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display -//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display -//#define R61581_DRIVER -//#define RM68140_DRIVER -//#define ST7796_DRIVER -//#define SSD1963_480_DRIVER -//#define SSD1963_800_DRIVER -//#define SSD1963_800ALT_DRIVER -//#define ILI9225_DRIVER - -// Some displays support SPI reads via the MISO pin, other displays have a single -// bi-directional SDA pin and the library will try to read this via the MOSI line. -// To use the SDA line for reading data from the TFT uncomment the following line: - -// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 display only - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// For ST7789, ST7735 and ILI9163 ONLY, define the pixel width and height in portrait orientation -// #define TFT_WIDTH 80 -// #define TFT_WIDTH 128 -// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 -// #define TFT_HEIGHT 160 -// #define TFT_HEIGHT 128 -// #define TFT_HEIGHT 240 // ST7789 240 x 240 -// #define TFT_HEIGHT 320 // ST7789 240 x 320 - -// For ST7735 ONLY, define the type of display, originally this was based on the -// colour of the tab on the screen protector film but this is not always true, so try -// out the different options below if the screen does not display graphics correctly, -// e.g. colours wrong, mirror images, or tray pixels at the edges. -// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this -// this User_Setup file, then rebuild and upload the sketch to the board again: - -// #define ST7735_INITB -// #define ST7735_GREENTAB -// #define ST7735_GREENTAB2 -// #define ST7735_GREENTAB3 -// #define ST7735_GREENTAB128 // For 128 x 128 display -// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) -// #define ST7735_REDTAB -// #define ST7735_BLACKTAB -// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset - -// If colours are inverted (white shows as black) then uncomment one of the next -// 2 lines try both options, one of the options should correct the inversion. - -// #define TFT_INVERSION_ON -// #define TFT_INVERSION_OFF - - -// ################################################################################## -// -// Section 2. Define the pins that are used to interface with the display here -// -// ################################################################################## - -// If a backlight control signal is available then define the TFT_BL pin in Section 2 -// below. The backlight will be turned ON when tft.begin() is called, but the library -// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be -// driven with a PWM signal or turned OFF/ON then this must be handled by the user -// sketch. e.g. with digitalWrite(TFT_BL, LOW); - -// #define TFT_BL 32 // LED back-light control pin -// #define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) - -// We must use hardware SPI, a minimum of 3 GPIO pins is needed. -// Typical setup for the RP2040 is : -// -// Display SDO/MISO to RP2040 pin D0 (or leave disconnected if not reading TFT) -// Display LED to RP2040 pin 3V3 or 5V -// Display SCK to RP2040 pin D2 -// Display SDI/MOSI to RP2040 pin D3 -// Display DC (RS/AO)to RP2040 pin D18 (can use another pin if desired) -// Display RESET to RP2040 pin D19 (can use another pin if desired) -// Display CS to RP2040 pin D20 (can use another pin if desired, or GND, see below) -// Display GND to RP2040 pin GND (0V) -// Display VCC to RP2040 5V or 3.3V (5v if display has a 5V to 3.3V regulator fitted) -// -// The DC (Data Command) pin may be labelled AO or RS (Register Select) -// -// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more -// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS -// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin -// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. - -// For the Pico use these #define lines -#define TFT_MISO 0 -#define TFT_MOSI 3 -#define TFT_SCLK 2 -#define TFT_CS 20 // Chip select control pin -#define TFT_DC 18 // Data Command control pin -#define TFT_RST 19 // Reset pin (could connect to Arduino RESET pin) -//#define TFT_BL // LED back-light - -//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen - -// ################################################################################## -// -// Section 3. Define the fonts that are to be used here -// -// ################################################################################## - -// Comment out the #defines below with // to stop that font being loaded -// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not -// normally necessary. If all fonts are loaded the extra FLASH space required is -// about 17Kbytes. To save FLASH space only enable the fonts you need! - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded -// this will save ~20kbytes of FLASH -#define SMOOTH_FONT - - -// ################################################################################## -// -// Section 4. Other options -// -// ################################################################################## - -// For the RP2040 processor define the SPI port channel used, default is 0 -// #define TFT_SPI_PORT 1 // Set to 0 if SPI0 pins are used, or 1 if spi1 pins used - -// Define the SPI clock frequency, this affects the graphics rendering speed. Too -// fast and the TFT driver will not keep up and display corruption appears. -// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails -// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) -// With an ILI9163 display 27 MHz works OK. - -// #define SPI_FREQUENCY 1000000 -// #define SPI_FREQUENCY 5000000 -// #define SPI_FREQUENCY 10000000 -// #define SPI_FREQUENCY 20000000 -// #define SPI_FREQUENCY 32000000 - #define SPI_FREQUENCY 70000000 - -// Optional reduced SPI frequency for reading TFT -#define SPI_READ_FREQUENCY 20000000 - -// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: -#define SPI_TOUCH_FREQUENCY 2500000 - diff --git a/lib/TFT_eSPI/User_Setups/Setup60_RP2040_RPI_MHS.h b/lib/TFT_eSPI/User_Setups/Setup60_RP2040_RPI_MHS.h deleted file mode 100644 index 804541c..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup60_RP2040_RPI_MHS.h +++ /dev/null @@ -1,29 +0,0 @@ -#define USER_SETUP_ID 162 -#define ST7796_DRIVER - -#define MHS_DISPLAY_TYPE -//#define RP2040_PIO_SPI -#define TFT_MISO 16 -#define TFT_MOSI 19 -#define TFT_SCLK 18 -#define TFT_CS 17 // Chip select control pin -#define TFT_DC 20 // Data Command control pin -#define TFT_RST 21 // Reset pin (could connect to Arduino RESET pin) -//#define TFT_BL // LED back-light - -#define TOUCH_CS 22 // Chip select pin (T_CS) of touch screen - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 125000000 -#define SPI_READ_FREQUENCY 20000000 -#define SPI_TOUCH_FREQUENCY 2500000 \ No newline at end of file diff --git a/lib/TFT_eSPI/User_Setups/Setup61_RP2040_ILI9341_PIO_SPI.h b/lib/TFT_eSPI/User_Setups/Setup61_RP2040_ILI9341_PIO_SPI.h deleted file mode 100644 index 01fd63f..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup61_RP2040_ILI9341_PIO_SPI.h +++ /dev/null @@ -1,44 +0,0 @@ -// Setup file for RP2040 and SPI ILI9341 display using PIO for the display interface -#define USER_SETUP_ID 61 -// The PIO can only be user with Earle Philhower's RP2040 board package: -// https://github.com/earlephilhower/arduino-pico - -// PIO SPI allows high SPI clock rates to be used when the processor is over-clocked. -// PIO SPI is "write only" and the TFT_eSPI touch functions are not supported. -// A touch screen could be used with a third party library on different SPI pins. - -// This invokes the PIO based SPI interface for the RP2040 processor. -#define RP2040_PIO_SPI - -// TFT driver -#define ILI9341_DRIVER - -// Pins - the PIO will control MOSI, SCLK and DC pins -// Any digital GPIO pins may be used -//#define TFT_MISO -1 // MISO is not used or supported -#define TFT_MOSI 11 -#define TFT_SCLK 10 -#define TFT_CS 9 // Chip select control pin -#define TFT_DC 8 // Data Command control pin -#define TFT_RST 15 // Reset pin (could connect to Arduino RESET pin) - -//#define TFT_BL 13 // Optional LED back-light control pin -//#define TFT_BACKLIGHT_ON LOW // Level to turn ON back-light (HIGH or LOW) - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -// #define SPI_FREQUENCY 1000000 -// #define SPI_FREQUENCY 5000000 -// #define SPI_FREQUENCY 10000000 -// #define SPI_FREQUENCY 20000000 -// #define SPI_FREQUENCY 32000000 -#define SPI_FREQUENCY 62500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup62_RP2040_Nano_Connect_ILI9341.h b/lib/TFT_eSPI/User_Setups/Setup62_RP2040_Nano_Connect_ILI9341.h deleted file mode 100644 index 0e8a4a9..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup62_RP2040_Nano_Connect_ILI9341.h +++ /dev/null @@ -1,198 +0,0 @@ -// USER DEFINED SETTINGS -// Set driver type, fonts to be loaded, pins used and SPI control method etc. -// -// See the User_Setup_Select.h file if you wish to be able to define multiple -// setups and then easily select which setup file is used by the compiler. -// -// If this file is edited correctly then all the library example sketches should -// run without the need to make any more changes for a particular hardware setup! -// Note that some sketches are designed for a particular TFT pixel width/height - -#define USER_SETUP_ID 62 -// ################################################################################## -// -// Section 1. Call up the right driver file and any options for it -// -// ################################################################################## - -// Tell the library to use 8-bit parallel mode (otherwise SPI is assumed) -//#define TFT_PARALLEL_8_BIT - -// Display type - only define if RPi display -//#define RPI_DISPLAY_TYPE // 20MHz maximum SPI - -// Only define one driver, the other ones must be commented out -#define ILI9341_DRIVER -//#define ST7735_DRIVER // Define additional parameters below for this display -//#define ILI9163_DRIVER // Define additional parameters below for this display -//#define S6D02A1_DRIVER -//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI -//#define HX8357D_DRIVER -//#define ILI9481_DRIVER -//#define ILI9486_DRIVER -//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) -//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display -//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display -//#define R61581_DRIVER -//#define RM68140_DRIVER -//#define ST7796_DRIVER -//#define SSD1963_480_DRIVER -//#define SSD1963_800_DRIVER -//#define SSD1963_800ALT_DRIVER -//#define ILI9225_DRIVER - -// Some displays support SPI reads via the MISO pin, other displays have a single -// bi-directional SDA pin and the library will try to read this via the MOSI line. -// To use the SDA line for reading data from the TFT uncomment the following line: - -// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 display only - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// For ST7789, ST7735 and ILI9163 ONLY, define the pixel width and height in portrait orientation -// #define TFT_WIDTH 80 -// #define TFT_WIDTH 128 -// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 -// #define TFT_HEIGHT 160 -// #define TFT_HEIGHT 128 -// #define TFT_HEIGHT 240 // ST7789 240 x 240 -// #define TFT_HEIGHT 320 // ST7789 240 x 320 - -// For ST7735 ONLY, define the type of display, originally this was based on the -// colour of the tab on the screen protector film but this is not always true, so try -// out the different options below if the screen does not display graphics correctly, -// e.g. colours wrong, mirror images, or tray pixels at the edges. -// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this -// this User_Setup file, then rebuild and upload the sketch to the board again: - -// #define ST7735_INITB -// #define ST7735_GREENTAB -// #define ST7735_GREENTAB2 -// #define ST7735_GREENTAB3 -// #define ST7735_GREENTAB128 // For 128 x 128 display -// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) -// #define ST7735_REDTAB -// #define ST7735_BLACKTAB -// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset - -// If colours are inverted (white shows as black) then uncomment one of the next -// 2 lines try both options, one of the options should correct the inversion. - -// #define TFT_INVERSION_ON -// #define TFT_INVERSION_OFF - - -// ################################################################################## -// -// Section 2. Define the pins that are used to interface with the display here -// -// ################################################################################## - -// If a backlight control signal is available then define the TFT_BL pin in Section 2 -// below. The backlight will be turned ON when tft.begin() is called, but the library -// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be -// driven with a PWM signal or turned OFF/ON then this must be handled by the user -// sketch. e.g. with digitalWrite(TFT_BL, LOW); - -// #define TFT_BL 32 // LED back-light control pin -// #define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) - -// We must use hardware SPI, a minimum of 3 GPIO pins is needed. -// Typical setup for the RP2040 is : -// -// Display SDO/MISO to RP2040 pin D0 (or leave disconnected if not reading TFT) -// Display LED to RP2040 pin 3V3 or 5V -// Display SCK to RP2040 pin D2 -// Display SDI/MOSI to RP2040 pin D3 -// Display DC (RS/AO)to RP2040 pin D18 (can use another pin if desired) -// Display RESET to RP2040 pin D19 (can use another pin if desired) -// Display CS to RP2040 pin D20 (can use another pin if desired, or GND, see below) -// Display GND to RP2040 pin GND (0V) -// Display VCC to RP2040 5V or 3.3V (5v if display has a 5V to 3.3V regulator fitted) -// -// The DC (Data Command) pin may be labelled AO or RS (Register Select) -// -// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more -// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS -// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin -// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. - -// The TFT_eSPI library always uses GPIO numbers, this means the following pin designators -// must be used dependant on the RP2040 board package loaded -// For the Arduino Mbed package the GPIO numbers must be used prefixed with p: -#ifdef ARDUINO_ARCH_MBED - #define TFT_MISO p4 // Arduino pin D12 - #define TFT_MOSI p7 // Arduino pin D11 - #define TFT_SCLK p6 // Arduino pin D13 - #define TFT_CS p5 // Arduino pin D10 - #define TFT_DC p20 // Arduino pin D8 - #define TFT_RST p21 // Arduino pin D9 - #define TOUCH_CS p19 // Arduino pin D7 -#else // For Earle Philhower's package the Arduino Dx pin designations must be used: - #define TFT_MISO D12 - #define TFT_MOSI D11 - #define TFT_SCLK D13 - #define TFT_CS D10 // Chip select control pin - #define TFT_DC D8 // Data Command control pin - #define TFT_RST D9 // Reset pin (could connect to Arduino RESET pin) - #define TOUCH_CS D7 -#endif - - -// ################################################################################## -// -// Section 3. Define the fonts that are to be used here -// -// ################################################################################## - -// Comment out the #defines below with // to stop that font being loaded -// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not -// normally necessary. If all fonts are loaded the extra FLASH space required is -// about 17Kbytes. To save FLASH space only enable the fonts you need! - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded -// this will save ~20kbytes of FLASH -#define SMOOTH_FONT - - -// ################################################################################## -// -// Section 4. Other options -// -// ################################################################################## - -// For the RP2040 processor define the SPI port channel used, default is 0 -// #define TFT_SPI_PORT 1 // Set to 0 if SPI0 pins are used, or 1 if spi1 pins used - -// Define the SPI clock frequency, this affects the graphics rendering speed. Too -// fast and the TFT driver will not keep up and display corruption appears. -// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails -// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) -// With an ILI9163 display 27 MHz works OK. - -// #define SPI_FREQUENCY 1000000 -// #define SPI_FREQUENCY 5000000 -// #define SPI_FREQUENCY 10000000 -// #define SPI_FREQUENCY 20000000 -// #define SPI_FREQUENCY 32000000 - #define SPI_FREQUENCY 70000000 - -// Optional reduced SPI frequency for reading TFT -#define SPI_READ_FREQUENCY 20000000 - -// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: -#define SPI_TOUCH_FREQUENCY 2500000 - diff --git a/lib/TFT_eSPI/User_Setups/Setup66_Seeed_XIAO_Round.h b/lib/TFT_eSPI/User_Setups/Setup66_Seeed_XIAO_Round.h deleted file mode 100644 index 79df77b..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup66_Seeed_XIAO_Round.h +++ /dev/null @@ -1,29 +0,0 @@ -#define USER_SETUP_ID 66 - -#define GC9A01_DRIVER // Full configuration option, define additional parameters below for this display - -#define TFT_RGB_ORDER TFT_RGB // Colour order Blue-Green-Red -#define TFT_HEIGHT 240 // GC9A01 240 x 240 - -#define TFT_SCLK D8 -#define TFT_MISO D9 -#define TFT_MOSI D10 -#define TFT_CS D1 // Chip select control pin -#define TFT_DC D3 // Data Command control pin -#define TFT_BL D6 -#define TFT_RST -1 // Reset pin (could connect to RST pin) - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 40000000 -#define SPI_READ_FREQUENCY 20000000 -// #define USE_HSPI_PORT diff --git a/lib/TFT_eSPI/User_Setups/Setup6_RPi_Wr_ILI9486.h b/lib/TFT_eSPI/User_Setups/Setup6_RPi_Wr_ILI9486.h deleted file mode 100644 index 63a9391..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup6_RPi_Wr_ILI9486.h +++ /dev/null @@ -1,32 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 6 - -#define RPI_ILI9486_DRIVER // 20MHz maximum SPI - - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - -#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -#define SPI_FREQUENCY 20000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup70_ESP32_S2_ILI9341.h b/lib/TFT_eSPI/User_Setups/Setup70_ESP32_S2_ILI9341.h deleted file mode 100644 index 6fcad90..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup70_ESP32_S2_ILI9341.h +++ /dev/null @@ -1,37 +0,0 @@ -// Setup for the ESP32 S2 with ILI9341 display -// Note SPI DMA with ESP32 S2 is not currently supported -#define USER_SETUP_ID 70 -// See SetupX_Template.h for all options available -#define ILI9341_DRIVER - - // Typical board default pins -#define TFT_CS 10 // 10 or 34 - -#define TFT_MOSI 11 // 11 or 35 -#define TFT_SCLK 12 // 12 or 36 -#define TFT_MISO 13 // 13 or 37 - -#define TFT_DC 14 -#define TFT_RST 15 - -//#define TOUCH_CS 16 // Optional for touch screen - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -// FSPI port will be used unless the following is defined -#define USE_HSPI_PORT - -//#define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 // Maximum for ILI9341 - -#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V - -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup70b_ESP32_S3_ILI9341.h b/lib/TFT_eSPI/User_Setups/Setup70b_ESP32_S3_ILI9341.h deleted file mode 100644 index 4576ae9..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup70b_ESP32_S3_ILI9341.h +++ /dev/null @@ -1,37 +0,0 @@ -// Setup for the ESP32 S3 with ILI9341 display -// Note SPI DMA with ESP32 S3 is not currently supported -#define USER_SETUP_ID 70 -// See SetupX_Template.h for all options available -#define ILI9341_DRIVER - - // Typical board default pins - change to match your board -#define TFT_CS 34 // 10 or 34 (FSPI CS0) -#define TFT_MOSI 35 // 11 or 35 (FSPI D) -#define TFT_SCLK 36 // 12 or 36 (FSPI CLK) -#define TFT_MISO 37 // 13 or 37 (FSPI Q) - -// Use pins in range 0-31 -#define TFT_DC 7 -#define TFT_RST 6 - -//#define TOUCH_CS 16 // Optional for touch screen - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -// FSPI (or VSPI) port (SPI2) used unless following defined. HSPI port is (SPI3) on S3. -//#define USE_HSPI_PORT - -//#define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 // Maximum for ILI9341 - -#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V - -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup70c_ESP32_C3_ILI9341.h b/lib/TFT_eSPI/User_Setups/Setup70c_ESP32_C3_ILI9341.h deleted file mode 100644 index 6223528..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup70c_ESP32_C3_ILI9341.h +++ /dev/null @@ -1,56 +0,0 @@ -// Setup for the ESP32 C3 with ILI9341 display -// Note SPI DMA with ESP32 C3 is not currently supported - -#define USER_SETUP_ID 70 -// See SetupX_Template.h for all options available - -#define ILI9341_DRIVER -//#define ST7796_DRIVER -//#define ILI9488_DRIVER - -// Adafruit qtpy default -//TFT_CS 6 -//TFT_MOSI 7 -//TFT_MISO 8 -//TFT_SCLK 10 - -// Lolin C3 mini default -//TFT_CS 5 -//TFT_MOSI 4 -//TFT_MISO 3 -//TFT_SCLK 2 - -//ESP32 C3 generic default -//TFT_CS 7 -//TFT_MOSI 6 -//TFT_MISO 5 -//TFT_SCLK 4 - - -#define TFT_CS 7 - -#define TFT_MOSI 6 -#define TFT_MISO 5 -#define TFT_SCLK 4 - -#define TFT_DC 8 -#define TFT_RST 10 - -//#define TOUCH_CS 1 // Optional for touch screen - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -//#define SPI_FREQUENCY 27000000 -#define SPI_FREQUENCY 40000000 // Maximum for ILI9341 - -#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V - -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup70d_ILI9488_S3_Parallel.h b/lib/TFT_eSPI/User_Setups/Setup70d_ILI9488_S3_Parallel.h deleted file mode 100644 index 66e7c33..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup70d_ILI9488_S3_Parallel.h +++ /dev/null @@ -1,36 +0,0 @@ - -#define USER_SETUP_ID 146 - -#define TFT_PARALLEL_8_BIT - -//#define ILI9341_DRIVER -//#define ST7796_DRIVER -#define ILI9488_DRIVER - -// ESP32 S3 pins used for the parallel interface TFT -#define TFT_CS 9 -#define TFT_DC 8 // Data Command control pin - must use a GPIO in the range 0-31 -#define TFT_RST 34 - -#define TFT_WR 7 // Write strobe control pin - must use a GPIO in the range 0-31 -#define TFT_RD 6 - -#define TFT_D0 12 // Must use GPIO in the range 0-31 for the data bus -#define TFT_D1 13 // so a single register write sets/clears all bits -#define TFT_D2 14 -#define TFT_D3 15 -#define TFT_D4 16 -#define TFT_D5 21 -#define TFT_D6 5 -#define TFT_D7 4 - - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT diff --git a/lib/TFT_eSPI/User_Setups/Setup70f_ESP32_S2_ST7735.h b/lib/TFT_eSPI/User_Setups/Setup70f_ESP32_S2_ST7735.h deleted file mode 100644 index f0cc51d..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup70f_ESP32_S2_ST7735.h +++ /dev/null @@ -1,44 +0,0 @@ -// Setup for the ESP32 S2 with ST7735 80x160 display -// See SetupX_Template.h for all options available - -#define USER_SETUP_ID 70 - -#define ST7735_DRIVER - -#define TFT_SDA_READ // Display has a bidirectional SDA pin (no MISO) - -#define TFT_WIDTH 80 -#define TFT_HEIGHT 160 - -#define ST7735_GREENTAB160x80 -//#define ST7735_REDTAB160x80 - -//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#define TFT_INVERSION_ON -// #define TFT_INVERSION_OFF - - // Typical board default pins -#define TFT_CS 10 // 10 or 34 - -#define TFT_MOSI 11 // 11 or 35 -#define TFT_SCLK 12 // 12 or 36 - -#define TFT_DC 14 -#define TFT_RST 15 - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -// FSPI port must be used for SDA reads. Do not use #define USE_HSPI_PORT - -#define SPI_FREQUENCY 27000000 -#define SPI_READ_FREQUENCY 16000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup70h_ESP32_S3_GC9A01.h b/lib/TFT_eSPI/User_Setups/Setup70h_ESP32_S3_GC9A01.h deleted file mode 100644 index 847a2ee..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup70h_ESP32_S3_GC9A01.h +++ /dev/null @@ -1,31 +0,0 @@ -// Setup for the ESP32 S3 with GC9A01 display -#define USER_SETUP_ID 70 - -#define GC9A01_DRIVER - -#define TFT_WIDTH 240 -#define TFT_HEIGHT 240 - // Typical board default pins - change to match your board -#define TFT_CS 10 //34 // 10 or 34 (FSPI CS0) -#define TFT_MOSI 11 //35 // 11 or 35 (FSPI D) -#define TFT_SCLK 12 //36 // 12 or 36 (FSPI CLK) -#define TFT_MISO 13 //37 // 13 or 37 (FSPI Q) - -// Use pins in range 0-31 -#define TFT_DC 7 -#define TFT_RST 6 - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -// FSPI port (SPI2) used unless following defined -#define USE_HSPI_PORT - -#define SPI_FREQUENCY 80000000 // Maximum for ILI9341 diff --git a/lib/TFT_eSPI/User_Setups/Setup71_ESP32_S2_ST7789.h b/lib/TFT_eSPI/User_Setups/Setup71_ESP32_S2_ST7789.h deleted file mode 100644 index 0380175..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup71_ESP32_S2_ST7789.h +++ /dev/null @@ -1,29 +0,0 @@ -// Setup for the ESP32 S2 with ST7789 display -// Note SPI DMA with ESP32 S2 is not currently supported -#define USER_SETUP_ID 71 -// See SetupX_Template.h for all options available - -#define ST7789_DRIVER // Configure all registers - - -#define TFT_CS 34 // 10 or 34 -#define TFT_MOSI 35 // 11 or 35 -#define TFT_SCLK 37 // 12 or 36 -#define TFT_MISO 36 // 13 or 37 - -#define TFT_DC 33 -#define TFT_RST -1 - -#define LOAD_GLCD -#define LOAD_FONT2 -#define LOAD_FONT4 -#define LOAD_FONT6 -#define LOAD_FONT7 -#define LOAD_FONT8 -#define LOAD_GFXFF - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 27000000 - -#define SPI_TOUCH_FREQUENCY 2500000 diff --git a/lib/TFT_eSPI/User_Setups/Setup72_ESP32_ST7789_172x320.h b/lib/TFT_eSPI/User_Setups/Setup72_ESP32_ST7789_172x320.h deleted file mode 100644 index 780d60f..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup72_ESP32_ST7789_172x320.h +++ /dev/null @@ -1,31 +0,0 @@ -// Support for 1.47" 320x172 Round Rectangle Color IPS TFT Display -#define USER_SETUP_ID 71 - -#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display - -#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -#define TFT_WIDTH 172 // ST7789 172 x 320 -#define TFT_HEIGHT 320 // ST7789 240 x 320 - -#define TFT_BL 21 // LED back-light control pin -#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) - -#define TFT_MOSI 23 -#define TFT_SCLK 18 -#define TFT_CS 5 // Chip select control pin -#define TFT_DC 22 // Data Command control pin -#define TFT_RST 17 // Reset pin (could connect to RST pin) - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - -#define SPI_FREQUENCY 27000000 diff --git a/lib/TFT_eSPI/User_Setups/Setup7_ST7735_128x128.h b/lib/TFT_eSPI/User_Setups/Setup7_ST7735_128x128.h deleted file mode 100644 index b083733..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup7_ST7735_128x128.h +++ /dev/null @@ -1,45 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 7 - -#define ST7735_DRIVER - - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 128 - - -#define ST7735_GREENTAB128 // For 128 x 128 display - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup8_ILI9163_128x128.h b/lib/TFT_eSPI/User_Setups/Setup8_ILI9163_128x128.h deleted file mode 100644 index 6df7d32..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup8_ILI9163_128x128.h +++ /dev/null @@ -1,36 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 8 - -#define ILI9163_DRIVER - - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 128 - - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/Setup9_ST7735_Overlap.h b/lib/TFT_eSPI/User_Setups/Setup9_ST7735_Overlap.h deleted file mode 100644 index 2c7f852..0000000 --- a/lib/TFT_eSPI/User_Setups/Setup9_ST7735_Overlap.h +++ /dev/null @@ -1,56 +0,0 @@ -// See SetupX_Template.h for all options available -#define USER_SETUP_ID 9 - -#define ST7735_DRIVER - - -#define TFT_WIDTH 128 -#define TFT_HEIGHT 160 - - -#define ST7735_REDTAB - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact -// but saves pins for other functions. It is best not to connect MISO as some displays -// do not tristate that line when chip select is high! -// Note: Only one SPI device can share the FLASH SPI lines, so a SPI touch controller -// cannot be connected as well to the same SPI signals. -// On NodeMCU 1.0 SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode -// On NodeMCU V3 S0 =MISO, S1 =MOSI, S2 =SCLK -// In ESP8266 overlap mode the following must be defined -#define TFT_SPI_OVERLAP - -// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3 -#define TFT_CS PIN_D3 -#define TFT_DC PIN_D5 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - - - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -#define SMOOTH_FONT - - -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 - -#define SPI_TOUCH_FREQUENCY 2500000 - - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/User_Setups/SetupX_Template.h b/lib/TFT_eSPI/User_Setups/SetupX_Template.h deleted file mode 100644 index 00bf9a5..0000000 --- a/lib/TFT_eSPI/User_Setups/SetupX_Template.h +++ /dev/null @@ -1,366 +0,0 @@ -// USER DEFINED SETTINGS -// Set driver type, fonts to be loaded, pins used and SPI control method etc. -// -// See the User_Setup_Select.h file if you wish to be able to define multiple -// setups and then easily select which setup file is used by the compiler. -// -// If this file is edited correctly then all the library example sketches should -// run without the need to make any more changes for a particular hardware setup! -// Note that some sketches are designed for a particular TFT pixel width/height - -#define USER_SETUP_ID 0xFFFFFFFF - -// Define to disable all #warnings in library (can be put in User_Setup_Select.h) -//#define DISABLE_ALL_LIBRARY_WARNINGS - -// ################################################################################## -// -// Section 1. Call up the right driver file and any options for it -// -// ################################################################################## - -// Define STM32 to invoke optimised processor support (only for STM32) -//#define STM32 - -// Defining the STM32 board allows the library to optimise the performance -// for UNO compatible "MCUfriend" style shields -//#define NUCLEO_64_TFT -//#define NUCLEO_144_TFT - -// STM32 8-bit parallel only: -// If STN32 Port A or B pins 0-7 are used for 8-bit parallel data bus bits 0-7 -// then this will improve rendering performance by a factor of ~8x -//#define STM_PORTA_DATA_BUS -//#define STM_PORTB_DATA_BUS - -// Tell the library to use 8-bit parallel mode (otherwise SPI is assumed) -//#define TFT_PARALLEL_8_BIT -//#define TFT_PARALLEL_16_BIT // **** 16-bit parallel ONLY with RP2040 processor **** - -// Display type - only define if RPi display -//#define RPI_DISPLAY_TYPE // 20MHz maximum SPI - -// Only define one driver, the other ones must be commented out -#define ILI9341_DRIVER // Generic driver for common displays -//#define ILI9341_2_DRIVER // Alternative ILI9341 driver, see https://github.com/Bodmer/TFT_eSPI/issues/1172 -//#define ILI9342_DRIVER // Landscape default orientation variant of ILI9341 -//#define ST7735_DRIVER // Define additional parameters below for this display -//#define ILI9163_DRIVER // Define additional parameters below for this display -//#define S6D02A1_DRIVER -//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI -//#define HX8357B_DRIVER -//#define HX8357C_DRIVER -//#define HX8357D_DRIVER -//#define ILI9481_DRIVER -//#define ILI9486_DRIVER -//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) -//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display -//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display -//#define R61581_DRIVER -//#define RM68120_DRIVER // Untested -//#define RM68140_DRIVER -//#define ST7796_DRIVER -//#define SSD1351_DRIVER -//#define SSD1963_480_DRIVER -//#define SSD1963_800_DRIVER -//#define SSD1963_800ALT_DRIVER -//#define ILI9225_DRIVER -//#define GC9A01_DRIVER - -// Some displays support SPI reads via the MISO pin, other displays have a single -// bi-directional SDA pin and the library will try to read this via the MOSI line. -// To use the SDA line for reading data from the TFT uncomment the following line: - -// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 and GC9A01 display only - -// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display -// Try ONE option at a time to find the correct colour order for your display - -// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue -// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red - -// For M5Stack ESP32 module with integrated ILI9341 display ONLY, remove // in line below - -// #define M5STACK - -// For ST7789, ST7735, ILI9163 and GC9A01 ONLY, define the pixel width and height in portrait orientation -// #define TFT_WIDTH 80 -// #define TFT_WIDTH 128 -// #define TFT_WIDTH 172 // ST7789 172 x 320 -// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 -// #define TFT_HEIGHT 160 -// #define TFT_HEIGHT 128 -// #define TFT_HEIGHT 240 // ST7789 240 x 240 -// #define TFT_HEIGHT 320 // ST7789 240 x 320 -// #define TFT_HEIGHT 240 // GC9A01 240 x 240 - -// For ST7735 ONLY, define the type of display, originally this was based on the -// colour of the tab on the screen protector film but this is not always true, so try -// out the different options below if the screen does not display graphics correctly, -// e.g. colours wrong, mirror images, or stray pixels at the edges. -// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this -// this User_Setup file, then rebuild and upload the sketch to the board again: - -// #define ST7735_INITB -// #define ST7735_GREENTAB -// #define ST7735_GREENTAB2 -// #define ST7735_GREENTAB3 -// #define ST7735_GREENTAB128 // For 128 x 128 display -// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) -// #define ST7735_REDTAB -// #define ST7735_BLACKTAB -// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset - -// If colours are inverted (white shows as black) then uncomment one of the next -// 2 lines try both options, one of the options should correct the inversion. - -// #define TFT_INVERSION_ON -// #define TFT_INVERSION_OFF - - -// ################################################################################## -// -// Section 2. Define the pins that are used to interface with the display here -// -// ################################################################################## - -// If a backlight control signal is available then define the TFT_BL pin in Section 2 -// below. The backlight will be turned ON when tft.begin() is called, but the library -// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be -// driven with a PWM signal or turned OFF/ON then this must be handled by the user -// sketch. e.g. with digitalWrite(TFT_BL, LOW); - -// #define TFT_BL 32 // LED back-light control pin -// #define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) - - - -// We must use hardware SPI, a minimum of 3 GPIO pins is needed. -// Typical setup for ESP8266 NodeMCU ESP-12 is : -// -// Display SDO/MISO to NodeMCU pin D6 (or leave disconnected if not reading TFT) -// Display LED to NodeMCU pin VIN (or 5V, see below) -// Display SCK to NodeMCU pin D5 -// Display SDI/MOSI to NodeMCU pin D7 -// Display DC (RS/AO)to NodeMCU pin D3 -// Display RESET to NodeMCU pin D4 (or RST, see below) -// Display CS to NodeMCU pin D8 (or GND, see below) -// Display GND to NodeMCU pin GND (0V) -// Display VCC to NodeMCU 5V or 3.3V -// -// The TFT RESET pin can be connected to the NodeMCU RST pin or 3.3V to free up a control pin -// -// The DC (Data Command) pin may be labelled AO or RS (Register Select) -// -// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more -// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS -// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin -// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. -// -// The NodeMCU D0 pin can be used for RST -// -// -// Note: only some versions of the NodeMCU provide the USB 5V on the VIN pin -// If 5V is not available at a pin you can use 3.3V but backlight brightness -// will be lower. - - -// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP ###### - -// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation -#define TFT_CS PIN_D8 // Chip select control pin D8 -#define TFT_DC PIN_D3 // Data Command control pin -#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - -//#define TFT_BL PIN_D1 // LED back-light (only for ST7789 with backlight control pin) - -//#define TOUCH_CS PIN_D2 // Chip select pin (T_CS) of touch screen - -//#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only - - -// ###### FOR ESP8266 OVERLAP MODE EDIT THE PIN NUMBERS IN THE FOLLOWING LINES ###### - -// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact -// but saves pins for other functions. It is best not to connect MISO as some displays -// do not tristate that line when chip select is high! -// On NodeMCU 1.0 SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode -// On NodeMCU V3 S0 =MISO, S1 =MOSI, S2 =SCLK -// In ESP8266 overlap mode the following must be defined - -//#define TFT_SPI_OVERLAP - -// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3 -//#define TFT_CS PIN_D3 -//#define TFT_DC PIN_D5 // Data Command control pin -//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V - - -// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ###### - -// For ESP32 Dev board (only tested with ILI9341 display) -// The hardware SPI can be mapped to any pins - -//#define TFT_MISO 19 -//#define TFT_MOSI 23 -//#define TFT_SCLK 18 -//#define TFT_CS 15 // Chip select control pin -//#define TFT_DC 2 // Data Command control pin -//#define TFT_RST 4 // Reset pin (could connect to RST pin) -//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST - -// For ESP32 Dev board (only tested with GC9A01 display) -// The hardware SPI can be mapped to any pins - -//#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on. -//#define TFT_SCLK 14 -//#define TFT_CS 5 // Chip select control pin -//#define TFT_DC 27 // Data Command control pin -//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) -//#define TFT_BL 22 // LED back-light - -//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen - -//#define TFT_WR 22 // Write strobe for modified Raspberry Pi TFT only - -// For the M5Stack module use these #define lines -//#define TFT_MISO 19 -//#define TFT_MOSI 23 -//#define TFT_SCLK 18 -//#define TFT_CS 14 // Chip select control pin -//#define TFT_DC 27 // Data Command control pin -//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) -//#define TFT_BL 32 // LED back-light (required for M5Stack) - -// ###### EDIT THE PINs BELOW TO SUIT YOUR ESP32 PARALLEL TFT SETUP ###### - -// The library supports 8-bit parallel TFTs with the ESP32, the pin -// selection below is compatible with ESP32 boards in UNO format. -// Wemos D32 boards need to be modified, see diagram in Tools folder. -// Only ILI9481 and ILI9341 based displays have been tested! - -// Parallel bus is only supported for the STM32 and ESP32 -// Example below is for ESP32 Parallel interface with UNO displays - -// Tell the library to use 8-bit parallel mode (otherwise SPI is assumed) -//#define TFT_PARALLEL_8_BIT - -// The ESP32 and TFT the pins used for testing are: -//#define TFT_CS 33 // Chip select control pin (library pulls permanently low -//#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 -//#define TFT_RST 32 // Reset pin, toggles on startup - -//#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 -//#define TFT_RD 2 // Read strobe control pin - -//#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus -//#define TFT_D1 13 // so a single register write sets/clears all bits. -//#define TFT_D2 26 // Pins can be randomly assigned, this does not affect -//#define TFT_D3 25 // TFT screen update performance. -//#define TFT_D4 17 -//#define TFT_D5 16 -//#define TFT_D6 27 -//#define TFT_D7 14 - -// ###### EDIT THE PINs BELOW TO SUIT YOUR STM32 SPI TFT SETUP ###### - -// The TFT can be connected to SPI port 1 or 2 -//#define TFT_SPI_PORT 1 // SPI port 1 maximum clock rate is 55MHz -//#define TFT_MOSI PA7 -//#define TFT_MISO PA6 -//#define TFT_SCLK PA5 - -//#define TFT_SPI_PORT 2 // SPI port 2 maximum clock rate is 27MHz -//#define TFT_MOSI PB15 -//#define TFT_MISO PB14 -//#define TFT_SCLK PB13 - -// Can use Ardiuno pin references, arbitrary allocation, TFT_eSPI controls chip select -//#define TFT_CS D5 // Chip select control pin to TFT CS -//#define TFT_DC D6 // Data Command control pin to TFT DC (may be labelled RS = Register Select) -//#define TFT_RST D7 // Reset pin to TFT RST (or RESET) -// OR alternatively, we can use STM32 port reference names PXnn -//#define TFT_CS PE11 // Nucleo-F767ZI equivalent of D5 -//#define TFT_DC PE9 // Nucleo-F767ZI equivalent of D6 -//#define TFT_RST PF13 // Nucleo-F767ZI equivalent of D7 - -//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to processor reset - // Use an Arduino pin for initial testing as connecting to processor reset - // may not work (pulse too short at power up?) - -// ################################################################################## -// -// Section 3. Define the fonts that are to be used here -// -// ################################################################################## - -// Comment out the #defines below with // to stop that font being loaded -// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not -// normally necessary. If all fonts are loaded the extra FLASH space required is -// about 17Kbytes. To save FLASH space only enable the fonts you need! - -#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH -#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters -#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters -#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm -#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. -#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. -//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT -#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts - -// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded -// this will save ~20kbytes of FLASH -#define SMOOTH_FONT - - -// ################################################################################## -// -// Section 4. Other options -// -// ################################################################################## - -// For the RP2040 processor define the SPI port channel used (default 0 if undefined) -//#define TFT_SPI_PORT 1 // Set to 0 if SPI0 pins are used, or 1 if spi1 pins used - -// For the STM32 processor define the SPI port channel used (default 1 if undefined) -//#define TFT_SPI_PORT 2 // Set to 1 for SPI port 1, or 2 for SPI port 2 - -// Define the SPI clock frequency, this affects the graphics rendering speed. Too -// fast and the TFT driver will not keep up and display corruption appears. -// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails -// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) -// With an ILI9163 display 27 MHz works OK. - -// #define SPI_FREQUENCY 1000000 -// #define SPI_FREQUENCY 5000000 -// #define SPI_FREQUENCY 10000000 -// #define SPI_FREQUENCY 20000000 -#define SPI_FREQUENCY 27000000 -// #define SPI_FREQUENCY 40000000 -// #define SPI_FREQUENCY 55000000 // STM32 SPI1 only (SPI2 maximum is 27MHz) -// #define SPI_FREQUENCY 80000000 - -// Optional reduced SPI frequency for reading TFT -#define SPI_READ_FREQUENCY 20000000 - -// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: -#define SPI_TOUCH_FREQUENCY 2500000 - -// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default. -// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam) -// then uncomment the following line: -//#define USE_HSPI_PORT - -// Comment out the following #define if "SPI Transactions" do not need to be -// supported. When commented out the code size will be smaller and sketches will -// run slightly faster, so leave it commented out unless you need it! - -// Transaction support is needed to work with SD library but not needed with TFT_SdFat -// Transaction support is required if other SPI devices are connected. - -// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex) -// so changing it here has no effect - -// #define SUPPORT_TRANSACTIONS diff --git a/lib/TFT_eSPI/docs/ESP-IDF/Using ESP-IDF.txt b/lib/TFT_eSPI/docs/ESP-IDF/Using ESP-IDF.txt deleted file mode 100644 index a23a651..0000000 --- a/lib/TFT_eSPI/docs/ESP-IDF/Using ESP-IDF.txt +++ /dev/null @@ -1,70 +0,0 @@ -The TFT_eSPI library has been updated by a user (dracir9) in pull request #1770 to enable -use with the ESP-IDF. - -https://github.com/Bodmer/TFT_eSPI/pull/1770 - -The library author (Bodmer) does not use the ESP-IDF so will not be able to provide support! - -There are two ways to configure the library either: - - manually enter the setup in menuconfig - OR - delete the KConfig file, select your LCD/board in the User_Setup_Select.h file, and run "idf.py reconfigure" - -The following menuconfig instructions were posted by dracir9 as part of the pull request #1770: - -https://github.com/Bodmer/TFT_eSPI/pull/1770#issuecomment-1096478997 - -In the above link the instructions include useful hyperlinks. The bare text of the -instructions is included below. - -Steps to use: - - 1. Install ESP-IDF toolchain. The easiest way is to use VS Code and the ESP-IDF extension - which handles most of the work automatically. Make sure to install version V4.4. From - now on I'll assume that VS Code is being used. - - 2. Once ESP-IDF is installed open VS Code and press F1. Type ESP-IDF: New Project. Hit enter. - - 3. Enter your project name, directory and board (if not sure choose ESP32 chip (via ESP-PROG)). - If your board is connected choose serial port. Leave ESP-IDF component directory blank and - press Choose Template. - - 4. In the drop-down choose Extension and select Arduino-as-component. (This is not mandatory. - You can try other templates if you want). This will create a blank project with a simple - main source file in the "main" folder. - - 5. Now we have to add Arduino to your project. You can find the complete documentation here: - https://github.com/espressif/arduino-esp32 - - and here: - https://docs.espressif.com/projects/arduino-esp32/en/latest/esp-idf_component.html - - I'll list two methods that I use most of the time: - - 5.1. Press F1 and type ESP-IDF: Add Arduino ESP32 as ESP-IDF Component. This will - automatically download and install the latest code from the arduino esp-32 repository. - This is the easiest method but as it uses the latest code it may introduce compilation errors. - - 5.2. Go to the Arduino esp-32 repository release page. Choose a version and find its "Assets" - section. Download the source code file into "project directory/components". Extract the - compressed file. This will create a folder called arduino-esp32-2.x.x. Rename it to arduino. - This method is slightly more complex but ensures you choose a stable version. - - 6. Download the TFT_eSPI library into the components folder - - 7. Now open VS Code and load your project folder. Press F1 and type ESP-IDF: SDK Configuration - editor (menuconfig). Alternatively press Ctrl+E, G or press the gear button in the bottom left - corner. - - 8. This will open the project configuration menu. Navigate to the TFT_eSPI section and configure - the library (TFT driver, pins, fonts, etc.). - - 9. Press F1 and type ESP-IDF: Build your project. Alternatively press Ctrl+E, B or click the - build button in the bottom left corner. - - 10. Choose your port by typing ESP-IDF: Select port to use or with the button in the bottom left. - - 11. Upload your code with the lightning button in the bottom toolbar. - - 12. Enjoy! diff --git a/lib/TFT_eSPI/docs/ESP32 UNO board mod/ESP32 UNO board mod.jpg b/lib/TFT_eSPI/docs/ESP32 UNO board mod/ESP32 UNO board mod.jpg deleted file mode 100644 index 10633312abc2f8ce24d8aa953651eea6d45f7536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138373 zcmex=3yBhzSCiS(!nAjfI7om7R^99fUbJ zxj8vFxH#C^xp=v_xOsSZc-T4l_<4EwKx~j9j7&^S%*@Pe%*<>&9PAt*6{O++2N(o7 zm~@%GF*7PLFbOg;3o`yc!XVGUz{tu71`JTZ$i&RT%Er#Y$;JKu2*XwZ1|~*kW+oP9 zR#p}k1_s7jMkZzk7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+!sELzHOk6@z zN>xo=LsQGd)Xdz%(#qMz)y>_*(j7{Xt-7dVVMigrz?yPx9t za$AYzpI-0vvhQRzy@^X#=}PGAj5O(kVdt3kpQ?|Vd_KXufbDI&4%_ATF9YAM z{Lf&-?Y%L_yZN}tqQ|_mRz(Fd-Z*Y+*7JP3#M0c4$Bs5~*?0WCclTGh{ESuKF1%~H z^d|OmQPrQj$CoP3XIgdcEu(cakKW^nH|p)S^lIKYdF&~}1U?V8)wkSt?2ODmYyIod z(%)`}udhwFS-*dARmsxIKU=N;g~s_+2cDOEWD-_%X!5zcA!lxTm;SV{kUQ|7A<$uG zn#HY~vQ2Yl)tumEG>|{)ID6K)>^XM)r$V<)xFd7<&)+?HF~8VkE9i|zg26NY?^#Q^SIKyK4o>4 z`U7r-4q`TEy4-C-qW>KH^yKlR!b=n9=hvT}b9sYUOT(p^X8mhJPli4JWb%FT&$M|f zIL#A}n|%72zus%jxuU(bnGe71P-*wr;1u8;smU9~2xuSO?^*;kwVNOV+V&bgOpQ{v%>VIAN z`m^d{$#$mLL%oL{N0tox?p)HTX(~!8;fQgFAjPqvd-G@;il7X{r=frm9_O}ntP$s zIjt+pO!MGo2UgF(E3F$HxZ3$NpFFuzs_@c*;rF8@D-Ir9X*`QTV^J5wLd6p+RBS>n z$)v45bu)?~r~lJGr9~6|+;3QZ^1>Cr2hTq&VDqU<3^?;6YnuCMsrB|z49Po^Z2OBU z)=&J;klSIhdDXqxEHU}Ke`nNQnHntVn4~m`TU(i@xaWggk&(N6q{pAfe|}v*a(`QU z?^b#KADfTdPxLPGEc;Z$2;N>3T1-JMRv-ebuW;eKh}v zhIwnwn{`T)AD(X)leoeE<%M#If^b7wLjRP)V}1|k$Xt`#|GVagcHr!{mufUVm`DRdE(#qdv;j{oC+||F;_-^ZOQk%nG3dwIpO)+3z#2L$<8xum5oT?cNVhO;?&`*R#L)X0=2ydCRo>;k&o)X^?5FH?>Qi z*kkt8Ui0Vd?TqW{uG)!CkK27k-%jd<`T3Hkz0bd`J$!d2r@Xa*)5()3bwA4#9hq?Y zQpWrb4i6vc#;RY~Q~Rjm`^n!M*k`MB@8DaYs50%?8^+hWw+DU<|Ht9}(7)+Yrkvu{ ze;ThZpZ~Vw!R*7=wW7YgjF~by^-LBMPtV^ovMpjNVWDXf2HY`$8F#0 zZbiAw&osA=_+l^o@A^K*-)y(*Ie)BEpXYR_x?eWlOLwZDK>#c7$**ri*3@V36^qbQ zxU%S@$+cGgX*z$BONDuoCEVO(|1<2-K3Jb2e{*v1-x+^AWv2bp-twb!*||d|J2pi= z+_`Z&myfa23#Jn{EsmAvpnj2jqa=1e{= zyL#GGsZiz8>j_it$ZLLSxxY26ll8Fap8dkSyLfi=A6L_uSaE{;iDB~Pr{^usRjk@| z{cV44=IR*F<*(~yu6dMg-SMBH<(V>1?jIlbn+NmE9`vLylnL+sBl@4ADZ3`(?;;zs zTUVrxOpH1D7{|v(QX?v6Zsf7zgI-O;E1 zpTTpJ-`Zz<7EfdkE6>|{F=#GV(UW;SGfwXHFPQ!9KSO5TpZ9P3dzp$PXFYp-^!3x- zvO9GqMz89dBiMXh_jP{o-yL5pww#?l&*;bL+;43swr{@Pe#={~MQG)x=eBIN?ZKba z)_xSN(OfijhkMgC*P!JrCydHgSU%3QsT0k9X#VE>NBeJc1B(|%E;_2HB%LU*W5>j5 z(SGZXmu2|2&e>2nskpB*&pc2)?YrFu`|T{VWSdOpi`7{>oU7TKb-nDmb+Y}vJ2!q! za+KYDE%o{zk?S$Lcg+-kRDW!f?t;L~@@_@Jj{gkYht6?6UdVpkcJ=f8uKx@h^N-fw ztUI{;`r365x6TnY@DyxwN#IWN@QYEGnUjz{ImW*8-edPmmtK9l#gUgUT(zSmHuzQLV3nNirSu)?KOTPEb?jM?lfPc;@;#@dr8g?N z{$~(4x%{P4rNI)FNsseHQdn3k)#tH!9v8j%^xudbZ>QuC&al-Msui!@&sCzg#{CfBV)1&d!XKlHSjl`E-fJ zL9Kh0L5HtwlAEDWz|T{EFw~~-k#uhGTlua0N3zv7{ao|?hp5VL2bCvpx6cXN2Te6vHGdnUw8vsq^~i9P?{-oQ)i|G0jXK63x&tzJAR zs!NV#UF-bMz*_#J+sa?1erwjDfVMvAex?}q}T3p3Pjk zZ)5etoAZt)3QLx?Mk>i4n;p>}_-f~x_dGx5-TKeqwnKb^^vWD|)^fdL7AI_Kt*!+u zZkzj4_LlCsfUS?}=Dmpj5NdmHUViRYk2Mc#5240zQvqJv- zR;?LT0oQz2H?20`68Otx|A#2~Ufrq-FXOkgALxGCYStNlc-H)B_kQm?W%z#gGVLh) zA3D>I|MqwrCEquHv*?v@hR&Xeu}--i|BTj3Bwu-;VR>-<$@Tm{TB7fs(G#fbFtah- zc9hSGEq1Tfvjx}wB&scK+jd#uvx;57rzw@Q+tssHoIGZ6;$23Bxq3!@e5c*5=t%js z=J!8D+4s-#+qCU^z4U*EwCIi~Wt-q=XPp<%Hzf9+h`!jMEc0mcq5U6X*WY6M_3o48 zpTys$&#u{<3EN(1@Kvk$^x=qb&xadvmCr?gM(2J=f28{IxBDN3c}gi$J438Wx+fLR z`Cxo|;&HpL^V1)Bmt0WWHtoW}lI6S;&!np)Un%+HZmTWvaG|E@+4Wyvg>Rj7PvdWX z|3B`Fzg=Qq*{5!9{#JZt@tw%4re8TVZeI}Ans}~K;p^kB7km8wGqC>oap_h_(aU{; zKh&3;=KE+<9%s<^!>{=GG||VY?1)aM0K59 zX*kVnw~j}fy0UeHip&JV3twJG|Bd5SnVtA{eoEb`m-ZhD?T>5QZ~o7aQNjFR?XNSp zlRw$`Y|Ase{;YC#-<-m*FYA9;On$s_R-pMI`{v2Fj=iZ_oi92&?RfHk26-NtUlZ*4 zvOhW2Nmtx|6yC6QYc2c3_uc6qzI|f-yLa~1Ih$6TW>kz3vhMj9Y7&3*_anA_N7vQ} zKRVrcf^UV%O9KX$ugBb9@TyNgdOp2Apf_@BsYu|2?yaRble{xK*_p6XP|9{}~?at{16OKVD(- zpW$Y7!0ug};*Cn1kCzoFEi2&qdExl}`+4tf9&@Yb+~fM;`ms2oz7@-5 zRle}$KZ}~bFMR%o*!qrHtY3SimcQBjXmw?2_S6j9)< z)9D*0MK{ff-ekY%yg>cI!ma-771O;he&xTZ{cTQj)OCg5zHM{)`gyib-^erRq)49Z z2S!^9hTm78|7U1=ko&=9o?`vY@^1^e9ecaX7XN49IAe4>kEKm6>6|-@K=B=U=lFBq zW`9gRBB!ux(>#BniblPub)J4J&0ZWkWY8nuWK>nKboSU+p7iv1th6$&{@{`QoH=Dg< z|NNH!_n(ng<4lQ+L>0PW*B4 zQLb}He}KQ}kFH$jGpu^iAyd5fhFj{$m(N(eCB5uT-{O7zd_ULRTWaZEEq^igKf@pK zmy)N4II6umAAxmBtMDU7^>N=hbU%US5B&#*X`SRpH*P7why- zCkoGay6Znfi+sp5ju~Zo8;ttT?VlGf{O?ko?ML5L_p;>$YqCpCjC3Y?R<4gZ5jgqX zPSr!bJAX!ORJO047!>#Kj=j**9Xm4ZbZXot_=KP9dwk5Q{k_G5O_D!l|Imu95(+$f%=?J#vr`s4*%bOmdbLhtfBuhe$83Lvf4;i>-=%$K^9wh9T;4h1)O?fs z`BUTPE!b$ip>BumtF8YTj{Rp4&06{7-jCTaJGMqjPE6gCEH%&Qp#KTu*FAHJqfWDz zOq$G>@y&j*t?)lShQHHGSH~OacbI1^c-VTpy;P#B)^q#u=i$l!8Ja%*J8i6(_|fa2 z;hgu|cLW?LJ@(>QJ%7}{;ODR=#OMvHQlq3iE&Hr@vXB zp8ot!P0(efFnfi*OYb}ltaovA`h2^?R(Y%->pw$#{ezwV88*G|5_4~VbiM6?N8#jp z!wtG~{vIq?5%Xtx>p6?_f$?YK)_?qcG)`m2@fF$Ex7&Fs9e?(4W=J|i;pF}gtIhUH z);QQ-%Pv;n;6E$l$e#Fp%AY%PO5S@}cwM^LeLMI~z1Q=9+@-(uPNs^Us)_yZW~JWS zrE%`ueLHWp%lAKwG4nf?4h12mhx2IUZY6@G-Rc zq|mF+u~E%ioudvp^I5kj%$ZlubxL03-8!ATBW+io<;mDi$=#9CWPkOk|K}4+zvj5U zJrloW`Hg=|*8FF9uRJj=1kxk?ZKR*lTOST#I|j_J8ZEe3c)wEq!=< z{+8SIhinU8h52rJF)f^N;|XawrRItKGvxNJo>x)hZ@SJdt9t&GulxUqy#H3UUwZM6 zn;&krmCbp*fkA?2;-njA?Joc0O8#vd)6?HOpJ(#IpL?8hEG!Qm`^U~c>t9?=>F?m| zc{UeKUh6u0e~?|fZ^pc!lS?at{V&S}@piq|AjZB~ai?Ui{QLeyq>iC(wcZFSrZHn5lLeE+1LkjEe|7T!M%lK9k_oL+L z=PmVl2X{P{d|+1He{I>arxc6GVPy8|efu_!4mc56v3o5nycGljmkNfxa&*sed zt+wwQT~8f<7~k^i%=chP)u#6cqC)TPiEW=&v*Ey};_b}KWnU*h%zyh}K40nY?$hg= z_iz5*z2~2coWchu-%K$h{^=q`Zst87Clok5n*TfMqSt->AByrR_xGHCW%T{q)*sQ! zX4h}|^cA=Zy(u+}S8m{V zbGo7M)02s3@7G#@jc4On2S4 zW9l|{-mOoHJ(ZKKLqjGVXPCoy<5&2n@D+b5FK*>_?Wr;SpkkzDG*fZcHRXvX6`rh) zpBleF;@i9Im-bR7cg0?D@2KH^cz?^ySk*H|%NDM3RaEZXed&o&^PKlVvSqz%cIrm_ zw#ko-ITyI#Ui;U>;z#BAY#%n7uC?=AeD24kgmd!)EJc&@J9hCD=jJB+@!s`$J#l`{ z*Kg~eW*?~PTmIYe$GPhG_WulQ3wB*u?&GgEc~wQ*(+fLQ&g!hMJIbk5_gSED^6p8s z>kt2D_~5~Ri$Ch3;g>q+m_ z;$Qat$E9pG=Er&+S-)~h{k+GYS03-)a(DS(BLT)^@4EaKs5k!z|IGf|sY3kNe}>I% zE0YsHRzIBIFMN1i*^PtpJQ4#p(WCVLD$d{+3Cd z+K=A9GZ&rQ?Y#NQp3LG^vT}l379CYP!eu;(r*M%BkH$gu#k^m;R?jo?vD94qu0FE< z!}OOqPX8G)Bi|kK_&i+}9&%es%432mCXZ%g83rPM#x-`~FO`sexHKBvAzcir41 z|Bm@W?@Z0&HSV5%^!oVDjN5I_%0l|QzE*p=E zcdNU&OP)U^zT7@O>Q&*f_`4g$7T=wJZBEtNHD`|It?h_gelCXp+FZ5O865u^ytllZ z|MlfR(?8AnZ#^HquHIa*&-~+&P2QRl-hX60EHiJ(-2V)hc4_P1u0K9a|M~hO^ScT> z0#;^x)tDNQV)W(i!ME`z zcKy36FS5N^{-}QE$HEEj9eUII{^;!a&oFQ5!rb2lf8zE`*8W)i=vHO+e+HdDp5>pJ z+>C7AXHDC<{if*e^~S$$r3dXXn!B8Zjpf;#hQ$eO!96`aY5S*${@uM#|CXBkk{n)<9X|w)u{_goX;it6kZgB2Nn4nj1!@{Qd*QNgq zc~RQ6Z|2`EPyd=F!6x~5o$;~4lm9~1%zGX@sOqV{{%Ldhe+JgpzY9xaRlj`uaq)45 zV$bTuw~zA}2{0!ZuWGmWS>L~X9ml!;e_VHeyWf`G|6%W++RfHedrzo*uuy+r;9gWU z@29R;#JiQEzvn&wT68MVTyBQSyhD?%{VI>!Jnpml&!F`$WbJ>32OIZqIl5-?=^sxY zoBxbp%XGXwRr$x}pWoIO|FHbez&hc__DAp8A~Wu3{avTGhkH|I-m?9(4+OuuzQO3D zkm(VQl&Lb-PjU{ueNh~!HRJUkjhHRF=U@C#niNE5Ce>@J_c;P=o#$D&Ai)-Jjv>gxqcVNr*{=g2)PtOESW^HogIC$%o zbYIrd>wm+F|qU?R}gP;v1Ns=6t+9YsP8W>Q9Sm&-MJ9oiZ~p zy!`Y$#>9qN%a`Z#qe_Zas?Xn5_^e^|Fa~M zs^)a1YHj0Xu=xAX-}$Jy&EE`mwg#0&Ji! z<^Hhz^(=-y_gjY+P4hi)`JMc;^AAJQa-tq>!y7^x=*L)_V$yRB`&A+4$FmB zK5Sq9GG2df>|+gm^Ph6l;&j0^yvBN>ER9^&rPh^y)fbMX{`b)rdng)kL5?Y@2b7Iz4eO6 z#1lJaK1nEU+>&R#)8_HU^)Y{Eewk^?&-!Eik*IrXKh!?EA`pGk{gG{5w6ELI?@dn?*> z?cOzOr8hD}(F; ziMQtr51eVxIIohn*Z7hC+s2hYlG*ylRV_^RS{xm9(2d7J$0#r66W_bXfMo1%`*u6(ezHWv z2G{f&&q$NCwkB)MYHj~?x1KTkwB*_gkGriCJ%jcKPn^V`wSV=>p!O|4l6R?n3d&Qz zb}Rl!Ja1fNMRCNXn$SnJ-eK8Co8vE*&d#p%U2?xNb=%Hf5fj(Vt%*BI4oI3l{?D-G z*bbZ6-<8?FUf(j;crvEUh9YF`d3xr$MU&$b-XL( z?%rA~K7%Foc#iP)?ZHQLYJ5LlsyP1GZ|CZ)3rA(Y?CSYFQ@~GL&J`HO z&O0|(FD~@ulf<{tWz&{lomKuvM0J1ie+K@{2|ui4`5!HtGHsLXz3Go^jo)nhww*=) z+*mCOHb$FsF}zW=JS!Z%y!OA6ysXnCy(=GWVv zabFD;^yU^gC(0mPJdR;Sdf}tDcG(*1(mR**ee`iIpQ_Zf z`@{05C-SUW`S-&U!k#6{5Ig$Lgj5blm zp2g<3JY5|oTE7d}nfxiy;mwb;73oLrx6fLBjJN!dob=Xzr@S+h1oda!3+yjF-Msfk z@5)1uC(JEiw>@!WDxAOgo2;5%$mxPpdkmReT_uys z6Ka;rioZSharMJ}JAXT>)U&_YYHNM)pX}wu8}6=%`Mb&2>!G>H5kCAcm+VnMu&1+7P zRrp*TTdN<(!-d6u#_vww@po;UUsPG_>H0164|d<@{day>ecxpNjoUAn{w=EZc;0w% zqZQL8&D+XGE4BQtg}&{1w%v~NkN$_N#}D4M`jszm@5QWp3&MDf4oM50uGQz=7x{6k z(oZ*o;_F?XeeECF?mwE(|0Dk4(O=nS-^J||Bh#<=EmGO=DW%S*Y+gjh92vuU(K_U#&fLZp{ZcP*%CFBg3sxctnL zWowphik|r=tmw|S`diNbxXjJpzFm_c$9m<>mVTDQ4?pgEAA2!*=hftii=7s#G(PTg zbvo!Q5qPzD;+#o#aetTENG_~!J}9TMzgF&~>Fl*$xAeD1?yjAA`E>4^h2OTHadr5VM&UHhJx{mD-LRJ@4n07oA!uqimP>@;-C<(@X!Z%{sfk#fCNi zVQ+rG&OJZ6>nnD(ZB5e=x_0^SsuioIrJgYIHZwXC&aqP>?d0v}$C;g4tuN($zrJ(- z_MoXt`YwMn`BA&@hw`_m*^e{~qbs^R*C}WJUg>PRNo#H!E7zF_Gfsx$Emh$we=PpT z)%a+?{2z`Bc5=7>s5c#s(3SaEvF_B@mR(!-q%420%*+_Az2nLAd9!_Mwto1}@NL^i z+x9n4#Sc~N-<3{+k8K)AXBs3@lJM*o7g-h&r>gzxrA4GM!TJ?v#YWC@UPWw>&jPh zlC{Q>SH3LS?GZ3vO>$=6n}w{6+FW0H0#>%N=H zelHwTq+8T^KMUOEGky}~wvqk7TfKYUwn3UToR42GGP(I==QgP+*?D%w#n~d4w`h4k z(cZ?#cdu>B;x|+F-hR2zXm`!|;y2R&8GdN-cbf1E$g{-O7+)@Z&-r84>w+t56X*ZV zxM9E)oU0i>VMV6dpB<<87Bt+`|DEwi?1%lMeu1p2?T7C3{y6O0x;Aflo4ml??phaj z7RG5o@vMzy`O{fDj#aYE%MSdgW6xt}kTFl^!dB_nc)u;t)w4Y({yR5WorQO%HDkhI zc9!Q8FYRUjw(IW(|KsafJRhAGstCx4@_pKRx2>~Occ0$Z>(i4qc2>xR`0Th>*!w4a z*3)UxUbDY#nEdQj{@1R_F}-@B-{nY1_d_HKe`NUk=_HS#-{WzyJ zH4APx#yMJ__;cb6hvb9@2?d3d8~YaT&8ac{k-Fwj`p38P zTmKkm-D=yoQfQ_8t)RPtAuG!(Wm;VW9926Q!d>lamu)c$yLSAA`yb)e|F{^J|2u8J zxxRVLpK_%i>knG#EiEs)C)mfRb5>+Y-o%*RRgpUt<~(#?T6^+81IzcnJ8d+7NB+sa zvZcO#Klc{C3{8`N#jEchnic<;@3e73-0fQ@UPY#8aVL8GK2biE%ec>ETjj-lS4C!S^t!a#bvbvjv5t;}@b;Vq?|P>& zc--JNl#BeZ`di44+7BFalVh%#+KW{@_tY%45p>!Z8R^lr^x^M=GkOH1Rr?GC9th9; z&%ny|c^%>S1Q-M+1IjBT_Htg=ZQbrGO}hXKe@i&o$6PZ_x#oUgZV#nrcJE> z?NH(Ex#LHD{)5}xg<{j!)@~1r{x*$sZonDk?2;D+zdbCOrFT9*Q2${2{13kT?f)4z zJwJY4=5;*p*66opM@!;=c{+mT@%FilM|4!v;*B#{BSSVEv;5C+L;73m z57rN9{~3NeKg#RawY)1~cjVf2`Z@czK2~k&Ju7Ho7b(kOq3|)L|BsmXx0~DkZro@8 z`c_-#%7d#bioG}dJF)$0u3qG$-95W@t#7qaWG}{=|Gdw)GLe$Q{?(#0T$HTo;{}m?Z1x{#oVTgB^EPB*#x^lK85y zg7Ea z{(1K|@1NXD`vkJB=5E`xG56Z@&X#2kI}*;At^BAwuVBFD$2IcEZG@^wGl3TWn&|hTWIq zvb9@nnC@i+Rn1+yrSWsZtct9{rF_x%uV{ICg}dL6-!%QO{>{yfKXMn}sPX?%{UDw{ zqtMv3@=-u=te78vB<+rp7fA0$| zd+^;yU*>a^o$!wj_76Q@-Q&4n!oPKUx3af)AnV3G`zMw1ZdBr!y{UZu6rRVTCpN5q zZFhaz(tZvhuz18~q>J%ipMfa6bG` zr2I$pf){l{ALZNI-%GpfVD`QK_7u~_U6nm6Eo7PuqMx1f5dG<2${cx@LnryS>ydZL zjsn(8)Ek@XJ0|RpDZI9??FaA2;sbV!KR8!r>^k56ZoTPy-6a=GqkTQsF1VbYqFl1A zp|ZI6T!Hku;(2!Ums7W0`uf^(9izZuE3ZphvKtv3RTwY)O163MMbx6gZ;nXXyR)x~ zyu#h@)NfAzBfR^ebB+1MM?aRQKk5xWZuRtz*o$jYvz^luQgT=IEY6E8S~z>^>sSG|KMfM{O?%#KFN5l?9W?vy*l0TeBxZ0MGI3-f1DJ-*tg@cY3py7{|pCR^lIuq z9Mfli5hr`WgxBi0Z?yZhq%Hc@D-~O69(JDE%_PylEyV8=el~vd+hx;r#8`?e*a3pYT(4JKGlx)AH7Vh`MZ7zMf`-MX!=CJCX+2t18 zpEd4Hn{{F}zLOQN=|Ev;N)6Q=eoH;j8p-|w6QwX-DIemdvc8#Qld zNS}H>JI^rd)N@_CaQo`yw!eGoAN1{G`oa3)`(g9@ynj;H$5wR5>#OdYyY7|QXUCdu zxwk7farpS34?kfk(^LHOd+|f=_x!hR-+wJ8KFu&o_1TulDVhZf^d9VW;PY20o*19~ zpW&cF{X?;9cE(v%`;U6$l=kyGXWR>Yw{pelbl%njKd&Wfc{J=l;dZHP-hu0<>IF<* z?~Oj1{?c4vNC1c)OQE(#OD+;ytpG|UUEL~KSNl>>Th+I>r?Z8 zsJ3p~`Ozsi;K!yGW#%wh7Cd`-G^`4J$k3r3mzinUZZ!i9~{6d}l&D`HQm!$Wm zJ##oUZJLJryduFqzfd>BxyLU&p73|&^nefV-|9Y=_V_Ao-TC0k(rr8D-3py$*-`jR zv}RIx)jRg$0uJ`AbsOssu9zo$slR!jK}F{z^XtoYZ@k>I#IlH5&QXyF-;qj`*KC=fs^2OelMOGy)R?Q1J z{j~g<&&T(@@tfXFf27ZUPqnRg*{ffvXHxaI=(<@v-?Fn`;-}zs$>;Ch#r$WeZs7lX z`9A||{@*tKH^sl5Jy*Oat55z>`skavluEXOc5>^PZz+k9Wd=z*C2oW;f134gK7&eu z!#mD5?n?Xh|1&&z?B8l8et*-ve^`BR*1YZcqEEKx=jXitUe2PTod58A&VL54Yah3FCw<6o?`bQU=5|VX&eM*^ zHXjP#zK)Z9q%UE z$9&<6KHs_zUKdyCq%&x|Ja9HO#fPi*p1tuwlV=lI&i5ESUwPuF@B7ti(fzrOXL@$l z@9yK(-TI;@_x9(6^sO#=8``JwSiI0OogwM=_Dua$wxT*VTQ8p1truFPujMgX1ua9MIU;irq&(K_{ zKke~9PUjD=RB!+5EnKB|dkgh6wG^s@}Mc5g)#e`YM;IVsH>u=C`~ zG)vRi+q@0}rwRi-9=3YwSFKl0T)|{{Tl>e=%sI^0w`pbiWi7p~5Wrf!(rh)~kM(EX z|IoO4?QHe2>rD5mXDrw<$K#@6qND=jZrQ!NAK%*Vt*_1%E!}WjC27CTe})H3%+9Zk zuW>$-c<Esr@KP$-dD6}CMnX19*k{&%aM z6u%CcR$cAMk#l^KgOZJCetp(0gPydx9ah!<8KnO+9GQ3h&^)cMYc*Dre}0Raqusgo zI|HY?P0N9k9Ur(pUfc6M;PSH{_2srp&z>ocyw9U^an-7wHmg4rNVBAiZdco0sQYj7 zQjbHg?mhaY@a?U@ZH45f)l)6*&d-~w|CY5lb7@Wbb=@y3T>Iu`mi=c)Z3(?_To!*uyu|X$7 zQL)dGA$b{ZCI1mlDSp}4iHe;H{eimzlvR!`KVN@DKIY%lWl9&PB=`s>3$vlYd+(c5dfNN#c~(YMfJ*esANP%DXeV#RE?-iPW99*!phf z^(>VwJ8g9GtTw1OUP*PdWf#5h@BBQ4D<%22(hsg){z~xXUA>jEd&)nYaLMZ9dY{`l zCt;iWwBz&UzV`l>d^!2rKC6r>*Sqt-Et~OHd+U_d`*b)?%P!t1@h4mVLG0$pf7fnl zTt0sDnZLjz)l~MA0dJ=q_iIQtT@$`<<(E{~b&-0@?oEBTHtYL=`4URoucvqWUwpQ8 z+IRoHOpdEJP8&R6+`4VTaUqv9y0z z3S)Qo50*anGdHKjF~}6hsNOQ^YB2~+zh|MaSU#wp>+_=7vx{zAj=r(?!G3`slMntn zdTrs-*eogCKLMsY_iWmct=VN}uJ=V@gM}nRpt_ ziYuk&yV_VZCvUOH$-8B= zXENhWtSe`#@0%Gm4@zaN!t-?mX3y_3u-&_7yV4tzaATc`r#XZyAFOUX=YG%ag<)Uu zqRD~5(W@tBd%T+ekIVbx?nv>Eu{G&GHm*3iBFc8k$@0hCx2Miyd)2e3rG&g8GFK6#y1@>D6Vd)dbKz|YZEnt5FP{c7Ew~iZwrK74vPnZqBoR;w&B^8bX>+7;3G){mH(&CBOTh z){o5J2|q3$x6<#_)wPLU`f_sY(N)R^Z6(y|43z;Zt}LnKJ&u*9Jl(UHmW*G-tVa^-827?zv$ZRRcPUyrezSAxa`ls0vzG>M*^qjYXUTKr-n*O(PvZVA{AZRWFSJkXwQ#mv z>Z`~z*QRMcRo#9wF@QBd^owjoMRkv_) zlkfXe5~m*I@-Uou*7|p!opRJGVgF^X<-|Ac zuK2T3j-T)5@d*yWTMtcR&+3sqAoiSr>(hL(EDxJV>*Gi2@&zsLt(+>aSNJ)3Ud6e( zR}a#;bL?`CUbRaqaOXb1J?iM)toCfL=b0bVAB*k$==A9B)`bgok0^-m*?4K;)>*GF zoVvI!#XhJYa^v;c@*H)>cWM-VG%kNFRlBdVY+L`HTNTY--QgQ{BrTEs;QeW0Q{jYy zvN?sbKEJ%0EU$g)mD$?|55At$+1&IO_jrGwF4wmF=2GqMnX~I;KT3XBx0P+lwrf(0 zRAw*PyuZ74=>>*AlN1sPimw!Dmmj+?nro-{V_o)?3t#5*M)}Lszo^PSFFJMeF@p%b ze~x#r_EoHtD^_w+jh(cPGet(w(`4e&jiKd7)g)Fw&ze^?@r3;R3su1dVY@|maIP9NIHl8{pM?M1f#(OLFwI$L!}&BKW5^hDwJz1a^J)-kn`?d5=s` zcBjNiWxqKLU8zo7|JZ+qsdp4;dB zRYg&Eo-9d>($lmON-bFe+Ku2 z-R*j|?f9BMfq$2;Tl0t2ylIO(f95^;EmK3XezkN=ue!EIWK9$Q)=iwc3-ng`n7x%r zXAp49K9RG>Rd>P9Lox4v-)^{5eC3JO*RQW{Z%{klum5MgCq?HooI0@muI%f% z=DN?BocZRi@O$@Uw_26o)XIms&JWLRR{iygd$qgite3Avj-TlDY4LxiDWRTs&3O)+ zpX1r`IN84|a_fZtXj+B0lvGE{i)Kkq`hC>+RNP11k6R*dA8qS0wa~eoYh=9P*ioPD zoiANtDvZM|UaGhlvNujU@uz;N{n0$x9KW}}b1pP2;9W57!J~E2Gyg8CKAVzdWV6oY z&ADhDgF6pCdD^_wz1)+0ZCQ8tByQ1dlY$a-qSLCvHC3K2K5ttUG`p=Pv7cd1`k(&{ zlWeo1y$eqlFPk6LmnmlAc2LpbeDDj+yqd_Y30eztpTC>?pzwsnw-d)1J}oIT z{nqj$d(*tDP5Z2?O^ol~J3C+9zk$c3zprpwC_`$u0T*{+)UNMGIBIN{A71z)?J3(# z<|p@T6w|NV|5s%eUbLP?>p=pOpJc~c%j%AIHvAv$4_ZxcE?Fym#Ois^0u5Z)#bfQ?X}t>%X(ybCb*`&j#If@6aMf$f2N(#?1=eCqCx?zp3cw~>s-(p*fil1&%{AUn&61IK!)wk=Lw)MT;nbLGF;ydrrib?rJYz!yoA2F|E z{~+JC<+V4zOqQJTRlU>OmZ$xbGP@?_-4;7Pb^hBT=~m0s(}x8D7BrplJ8wHlHu`W> z{LTFvN_Fi6rr3yY54z>CR;A&=5s4LC3z|4$=JYLBn_c=L{n#`qk*cZ3oA#v2O;r@E zT^Gyt&O&1UUFko2ccz6hFrUv`HZ@{rj?7Ezh+pQ9mLIimm*=yQ(LpW)GxeHL5# zi}x7(V5{YO^k!qYrpo0zr@Ws0Im706fn9>B{XqUL`@`~V`KIz+az@)P?y3B!Wny+u z&+^W^uzf!#^Oy|W@oNf-oEd8sc9nH z98RN5KIsghqgT8?^=K#b6=}Wn_Gi!ZUU9Or(7Y$_UHJ(W*IBpyeRrtj9nAEX*OZ7U zs9dA$o2%XX>RstRgTISw(jUhLxqUp}S>yf4Z0E#f(@qCmNt+QpC!uoo!IQ_#J{atf zT^)bOUOIP=@`u+ETP~MM+nNVl39UI^GB3L`Db9CKij!cFUr%|H!Pdu@z0GfiRW8lc zTl)LOlgaAp)-yg89AgJ#^;Wk`u9$QR-MRfyzklhqB~2C&#kPeB zO625<-ko%pUD54PrMk+T&l6w9FOvU|Xa08o^13tow_d&8{KvWWn>>F_i0j6t2P+Mu zUwQ6+^ZOj1=)sipKD(ZLS$|eT@L9orGtUF(lW%{0{$cH1vB;7KYy1vpxJ+a!2xu~3 zyyaoRJi-0$akmqvmRcV>$!D~A=if&C*IcYDg6Lv>8NC(IjW zFz&kkqGbPvDEpglO@6$)e0{aC9Z$lAj;@M(>+&xD z&F!nkufd)-|4D5mxi@qP*&$xB3y_2W3`-eRn@BZiyk=I=} zSMk=iYwHyc%}mP->9{hTd+P~~Q^yzlU1I;>p?n_R5mFoBZXArmXUF*9tYr0s~v&E{X_P*v=y0d3n;L~1i ztsSfkTm}2$uAX3+Q<>heVrSl@cRr6#^~+pa7nQxz$bZ_}h9#dCOgfN!ok#1~)Q8-? zWfgU2^FI0SNDQCTAN;~@YniR0X{?X&=EQT6Pfn!UFkhX0p~%mFx#(*-x$T!rC$Iw#7{1cp&#@g0}h5c){=kyOMWrj=Aeo<}B?wjl(K+_t%$k-Yb9fJ&xKx z>CuxkPif0L70k;&ukJhQo^-y$CbIBR<&#XOH(`g49C>7To!Rcmwb09JE*FY%FB4(D zF0tAy%JkUMy3_Jg#2okRv|+Hi?#^>7zj>`e%IEb>Z9l^c0;->FuI_oVywA~iv$odP zn3b~ie?yL0Cq8dJ`EN_M)Sh2QZ{Ia(?KZP`th`<1x2)d#urvYJ&yN{)GqAJN2fFRK z#;6-1y?6P-bH%qsb#6=kXPCY>JMP7{TQW0u@9w?3sbj;%6KBT z%cqotdWql@UmvMPnS2-DoF6TxEW4pEdAHW#28o(`bADGzRrciO-aq2Tztnfd%Wx~% zw@0TwQR7}MdGB7vx3@Q5_8yk`qVkFJtlJq0jbl~9Z=2nbIrir=Z|45s@mJQqBKX2bU)|3^jVIPk7W}H}?te#vG0XAN z;+5=P3?(H&+PRAwj8$wxEBSo=&F`+dWG2<1Jab>vTJ4&vCTkl*m*r1uP?);EYB?9nf`ijOWmGeO6YNslw-MD7jw z!@p+zHNBE@YyIT!ZjZl+{tW+J{pwTX@*^*=CJL+06!3^IyKvTdHU+TE> zwZY5jKC6VY*F{e6ne}qokttuo=DmMZ-#Wov+S6`*u1sOu)6N2>{@}p6OGYP`*IlsF z+_oc-<=U^F4JVef96RL}KF|2PWN&iaqJCj*KiKJJ!$xYAXxs&4%kj%AD0&c|=N zymZ5l?;j@JIJqnS&Ft!qTbes0KS%IB`S6E_=hyYViY}3>rL}HpY4;1ubsA1Fey*=L zuFfv`@iNx9Q`Bsw})=G>|H4SHhz(nHuIau0k6P883ez5%O6PCMQ#q|%xoOTiOB>Bs z?DbJpE8_B{VI-gX^JtX_SqyYijD$#OoaI+1BVizFSt z-m=v`o1d1MY^cCJ<(Tn2_xPoS`GH5@e4M70pqdgtaW_MC`loeK$Ieb^yTkODr^xaA*7EqxQAf*vyT9<7zB%$|;2n#3 z<~M#uSJuTIkmEd_^x&9 z?#e%5k-F=b@0#>BHns2Z=?J#>j}ItrK4xoBo89pvyzt4Nh|4k4^1pnDWqfLRvZn0) zxyp5?F1@?t&-W)lc+c|y<3qYjB7L$B7oK}(`NHsvsdmJjQsHMipHA1-Tk!t(i-SQ$ zXDXQY|1^!*Jby~RciGMvxv)&q`ZN)ib4^CLd=gsyMKwvO-U`_~7Hb%7e=LSBOrv zRqNi=z4Miv$%fgUKPEqzkrt_bblQ}sW>bwcLo8T+3&wmuqV`+8du#k%6GPj>vc0D@ z9`_>9dk3`g~WN=+t*idkkKFXiMCl5zzfBX+xdj9S;Evv_!hWg5?sGdy#?zU+S;6Y^RA=J`|0 ziypI937!|d|GI3`i(T=Df1Z0CZ+F2{I``H(^Docs_P3Tg-u$$6wa}fXdm<}yb00-- zY5cQA_(MB;KJ(sGfn7aM_RLY1N#2)TeeCgX=Oa-q%apfy-kdn2rezM_4!No4eUlXZ z9OB&GE`Rz*+vIYYt9Q}Eo!hr|6g-zTs=8Xe)<1*EH2-^lR@bYP@POumz=NwcdtJ6O zPo6h#O5U3mZ=0X9Rl9{7inKf)+)w(hyLF)(heP3R^}lnT{0ohWICOIEk!@}U74lJC zz8yz;Qe@sqp362+FERAoG5H{m`#LMGl9Nj7=PfQVlAlo})s(yA)X%w$Pd?B4YPur) zr_ULNCwzymZRy)BsCz^wCuEQAUj9=Kwv1n8e;&=Qm~~6rpYO$5X?K;e8P$6He|h z+OGUO!0@Nk>PHC z#3Y_eocNP1sBF0Nn0eXxtScGL73n_5u1|jJvO{)fRLQT#>_=|W$F{%QQSs+YQ*-|= zZP~nwht}N;c_&}JH0I+LYa8DZ(OAy}kK{QYY_(d-Zl>JXZ?u7V-jfIXUWNV%CP`Ps zc*VZm|6Zihw|=U+R(QF5U%l7bl^dI^YmYp+y_(hH{XEvPTif4U{>bn0citO2jVwFS zt0wmuvUlycSh6?kWspQE_jEX`N)xYns~ zuQkHG$@%le!gKy2UvKa{wx4_ZACsjm=gaFG*R?;~e)##1)<+f(s#knDYb3iVJ}Y=( zb~T58c&W_BV+Gxx4IlSK)%dTkxbM>E>lPvqaa(1R z-?Y~fE}TMBBLbaPwY>hcT|#=cvC~z*eiq{!e_XF9%yEe?uHAKW(L^H$XUQc0g43UR zm%KZ{@US8~?86+Zx4Yvi{9~?_yqKYSCUdoSw(5n0r}8;!Hq?bZN$;=PS-$#*U8eJ` zAMx?qJsa++T#I}%wY>QE(N@30K1+E8yJJ!P(fx0w&7@TRDPG@qzVxHD@7Are0=2Wu z(?cd%s1z*S6eK>i<8d*o^lbY>qWxPcW*@z$^&@eCbCRp$QNfHi3;7nx5i%E z^vJ_xN0SrLr*pI_mx`WXm}#H!pP_;MTgk`&4Bu>|_Ac9LlzHv*E2nD?A76$Cz5ARq zbJKy-au+04i=Ou>e_pfaTkh-?tBWOm?eF?h&voPM>SY^O{8)e7YR{yT#r5UPm1et7 z=sdjBKCSGW_a=RXPe&%l=$IG!J~LUmPDQ<-%w~7F?!W8n9|paa++Mgt^WKaD%1@cM zzmDAKD|d!f`@BuM=|ySPcQd`i@}m8AwJtVUxhvv$Ky`@0CXd;be73vgZoWM0xm0yc z+1lTiTCek7pYOGM@yl)7g~g1g2QVmae0^>1MP-xUv1dO&`FL2Ll|6yKD)r4-)+@6k zwp3S5K3Dtd+}fu%>@H4PzKoyy%L>n)=qEh+FDGALYM{3DbGyHxJJ-SJ{MYy8=JKyN znk6rCe%bMD+Sfx9o0P4MY%3%l2p`|ia?RmNWNvC}lxghGJI5#S|7TdWc~0K0)bKmP zEE8YeTYh){e(5Q*U!1Kh^;Fqr_ZK_i*zIsa-u2Svww7UuukxGyKA!T9*v^pm;I z?r2Ci@f3vgG=E)vCVAuiiCY~cpD&M^arCS3WW}rRYg+%_c*Xzm>-SZcvx2uCvD`6r z!|p!gAEB{M`BpjF40|IcUZ@TcH{2xT(;A%5zRx;o>$FF@uc~@>wXFHP`^4!jldm`a zx}v3A8F{fldO}fEtrpM5AmK%=D)aZ;tymp4t*BBdcK6OxPaaRc&9>+b=g}h@ZwvAz z`7IId`Dg06?97kn*&FmcU$AFgi>_RI+el;T4!gh?_QyZ0`o60=CPrMN>y1S~)#D4L ztFE>iM@fF3GEsiQev4bStNg9JOG4e}FKgTB?kK6is{|7(*wtHG1+uvF*_FnjMdU@Ea z*z0rG#i+PMXMXGA-hAdiLz%&D$0whgtivbY@-9v+o8^oPFr~KBJGk*V~sTs_d$n9?_Qmcsd8Ob%AA?#lhEe_^Ph_e4O+! z=(=v*m3z9E_N0IOeRS5jncLq)ty^7ayYru>l97NsbHf^E!TYm5XGU0;-fk*tcH;G~@Gs^68Q8YONYDSF&bIY6fA9P2 zlF#K_SF(R(+jA#vtKzG&#C?*=UsjjD*YdrqrSs%+yLEPEjn9ec1xsIKHf}onarp(7 zDPJu`PL-t3Vki~4W*ybVaCXMk$bEk!r|w*}UA{(&VZAZK)wr+&E0d9#B5WPNLhV-nWw$5L*capFC3V(9^k4RG5#p6d3Ccf)`lX_!{%C=|9 z3}0mWzWzG6>I94b0m}!^H=K|9Gv_};QS4rY#Iq&fX2m7e1SD)@JKO+`k)n@ZgeQCI7vU>VdX@CNd@X5NHANL=1MOyE$Wt&Yb!8_}F*;n>zpFrI*WooP4C|^mF3cuZLPne=qcW zY+L;H-nM^SFAKBoZ%J=hbFCsNdv4x6-A`{rI>h7Fct|{6XuGTHd7YW--`O9xAGzRa zy~Xt53OiCZM5oB2=gTOtrcopRgzvk)3{<|m)u%(Q)j`P=YQ8cS6=@z?x~JIru{bc zhRgXk_pD_*=jn5K)A~P^{~0Q~CRiRTZtgRVw?41!vF4sXe?FVr zGy8d9?fqx2R@u{hxpQ@QZR%LeA@cXylgXaS$ITWuneh}KbrHIwXZ*R8rJjGSshq_v z_k1JQW9IYjJ4UKa()pr)b6WL^{Tbf+Z+1F)>8vxVIVgVm>6|$e>b0K#XGpoy_xM}u zhbNYkzaLA#E8}|dh>?(!p64HX#aQ__-Am7|{ZlmY?Ss!}*L7EGNFHQ9scyftIDXUC z{@eB$wnFzbmu~0&Hofyv?$WZOYS&IYXI6Mny7t=~={IK*eYdNX{FB*|tN)T zefZ*!@5gQT&OX_t^DA$$*3wPQ+Buu%`57NGSZ?21a(UB~H9p(j><=!P{7>v%$Gnv6 zU0=(0PYQpg>ZxT^_FVGoAMM>uC)T&r>3A~5#2%LYW4U`%!)c+WGY;zV8qXWQepx5{ zt*%dUpH+rgxSfyT+0v)me#$8@hCQ9Z^x)kWmhiA^2J0L4X}=A#3tK3a+xNKYKf}5L zqayQC+0|yZ`d8J@cxv`ErE=KSOi*e}?q)9Ca7|Gkgg0 zHM@UoSN^wa(-&lZ%G!2Kg}u#tO6sSX$2fobpY3D3-Bft+Z_M9S|IGh{{#g96Id12r zKZ(^3efiEkT$}UdxAjWh&`UacF-i}&8@1gzvdw5G*DA&t-mg9^_0#&aVoUAXg(kH> zx8C?yyQlbr^s#v6I@6m!ypP4nUbWF(A9454rRezEHbPE3UCa{>r26r3Jb3U+YVX?D zQhu!;ogax*tvz#l-NQ-u?!G;cI?M6=qqTjDo4fw5{?E{Kydo%Hw(h`w-Wu1(vU0bN z$SLf&mdn?PR5a6QY9RkvQ& zSg)+;)2{Wq#_2xmgv$9T((n3bC{6yp!T)^oxysUtYiqyOKfOCU?C-7MsymPOasOvH zXjf-acWEET?4xxIKVl#KXAr39F6lXX;vuixxUK3r_sh=jJZc_4z-;E$(mm zAD_QD`>5oSokE58kvi_Har#?Tmu+3{nW}yGGrwV&1Gk>zlfr}RUn+k){^RB2+qqu; zOn=Pw__xoK{?H+I?c&QK&(!(4{O&IN8$yC%JM2f;;m7TNgu{>AdVcIL z-{s?0*W2Ia>6FZksuch2?L5J4(vpe(TbkCSNMCs(Kl{=SL&+(@QzmVlJK^QU-0Yn{ zCVmWl*mIBP$K!|G_Tsl*+3{`PxAk(q+Ri;2(+qE(X*gb_sMF@6creDO?agD+g%9W7 zc>IX{_}=0p=JC9Hv>)A<`%&+^KfCnGm$hPHeWB+>W?a}mEuwhCX1ThL&!xidac=u@ z`gcr?`G>xp<;85X*WAst^7$?uny0+IQ10!DCo3mQUyN2Yo7nm`{=)Jjb5r*x_A_S2 zbJQ`txK-cuB|Fwk*6q<>g}ap|m$d#oy{&k6s&KVMQU!BHz~T#Qqf9oO+8q8&Npn>n z`{%@u`@a=_oc`u-A&;Elhw{!p#)UTNC;LM$FWp?p`LjZZ!Sj6L*}#v=cVb`Kac!Ni zwP8V@+Qjb+v#+aE^T<42c6nag{zdw|{e{1a{vDPVGP&O`WxBs>OFa96nd;lRB=jCk zm)|vuGh8C!@%M&OpOwr7ra#1gyHwP>MfdaEd>L*mk?TI;tx5yO`Po|-x2rICC_HZ5 zBJ=i{LB;Yge}3Cvb}RB`ckS$cc)r!n@W;!Kk|y=+75PWxbgpc#UwrGOm{6R@DbK@| z9!onc9!$J(HNUTZvwz<|rdL|?EIyQX))`{M%c@{?NX~O1AfYe@*(L$XBs~o4wE5Jl0}suubu#uSG1$IZ-(};w zzW$(N9bd)ogYnWf_L-0QxiiX?!zSr=CfdkY7#~+*?9O4fh!5ORq&;7-Yq`|Axh7Y) zYY7B}+t2dXh`Cd<|Ilp-{)ah_*B$PO9 zkrnT}?rfPEJmrtVwHnsdKZ-1#TrpYwTXo`wwS`$9n;dl9JY*WLl>Nz;$vl=Z&v%Jl zx&A4)55*_W$M34D3jcC_{U6_t@o(QhkQe)-`D5wBeBRgdq&~9EEUrl2zEvRR_L{6S zHJ!~{ani++G0(?*Tfe0tq5Io^hL43;`r04mx9{U_I`+fZE%(g_mC`4g z4vUPBRoZ;0&G!1Ld1>W|_r(%NP0!RD2)aJ0a1IFSnU{JbD)LTu~YulwyxtA6p^XEbTWz&#X#d;|&U&?gO{_e2R5f|Lh|19CbgP)7n zn@)W+yM6i*@iS}p8}Gb3fA872NmtD?cy4ID*nLGtO!`;d*4gVEnnQQqFqoJ8hW&@z zbyCp1?-t?#z|kR4>*-t4@oFG|{UQE_*4t@APQ z?%r(^AIwbJdQvHJD!)_bH2%#^A9&_TZ~C!ix}4FLYo_)54wHOs=gltBUAkLq;bOOm zjkhHyXyh&~vwInQwtODf$Muc>RA1R?e_Vf5Ha~3V6_aje_NG1Rnc1pW_ncdCGB;mm zkBV8@1E*dI%ZU=J1l+AuQ;QaT-T0-ytIjxUzpS0ukNQW;-}9`r-P)J>>7+I{hD$kIvfquKUCB zhws|C?o~9$MjWY1Z+$B$;+UH&z03GS*|CjooASzjZoG5l@BDot&c9=8e6E(h@01tb z63<-WeE7m~z1@#^{T|$j?YJT+yR>zd`TRn~8w_1?%0cD=JJO!lXVmwF?K8eAe`p@# z^q9>*f)~V8%E?|@zC*$Dpndk-q)<=2r9}nrdLG6KOy0_y@>nk~>E18Fx(oGkTk1Qb z?7APuv;MG>Xa8Y;IQg&8HFxu0%NA-s*n0Nu2@bW%Jje5=t(MSPeW*Fy{$Y63AFUtx z59?(s*1bC(a%GRtW&b5V;vP1nZ)=?y_U?~?{EjlGKnJ-ZZ9Dh+1^f7F%s*WJBXs#t zQN`)U_6;@cAEh6acW(K%?L+_Jd;wq9Cv{@(EOWynFaKF78lOLHf}?Uur)mvb@b&|L zcprTJ?fNHb*T?BcbgMoe+Q+oxYR!3piq70Kt25=#z06K$`m-rk#91bgXHhESAvVS0 zPPaGDY#bl?3)Nk^FYq;AsN(vONhgapuG8O|n|jkHODVKZ&YR(AXp+ZqiQ^J?4!fN@ zb^W+i)#9z!TWk0iK2@Kebtf+NT=3kB8$%~0Efi;MQfdu8%(m|Ina@^;le#*ujVzbt4Wc$f_d1G7kGmfVhBezLBeYtH<@v(mv(~qua(Pr)K zo4@?{)99$1w{--Qf4|*6ePRRa+`j0iZ+pI6p02gO*z!-5^so6xyJx0&=c=k)Dmfjv z?cS|>P7N9i;urs8+0uJ!VtY7o-}eG5{-xeZ-6;=u z+WJ|A?2B7bo-yy;$8_G^os18w`Im-w<<5D3e#6q%$SWJ|{id4sZolPdsZh$&lP;Sz zeL~!?X$iM`-?x2X?g?AF_E*eQe}k2d7gorh+BEl**>=N^Cm!zS^2}?r4qvfa@6(tJD%p%>n`76eBIZ!g*mI9 zH?E)m_{x)cFH?2Svd??MsJzT*mDQX)nZ~}V%YUqw@kYmQ>o_kveXf!Eyt7*spG(hd z^J7qN;LEnUl(exU`fudlhYn`F_ja6=ZM9TQ{=I=)Gk^X*#~)Qh0XZ^^Z$+4;0;gZ?k!NfY+DDOQYxMK2*PV`x`^BEN@`vk&TNK-yN7# z;Q6?xbS?XY33Iljr`wb*QQhHPS-8>W;#77n_xM9IZNJakYi8muz4`O!_di0adg@bK zy?!o?o_eqN{MN9UM=I1OIhYpS2)a`&?($ez zytCu>=M<)@%P-X4y@?Fj(dW2#J6}QQD%W`xDyJl^8s{{3t+qKgNp9zXN6T6dv|G!V zulV{l=)2f$F}!kS>U)Xjh_(6gP&wY*eeOpD=T$G<(c!Gu5^Ld_6?!PIVdAXTJ zOUgfTCb#q$@)+-6u&yipD^P!M)pl`(FkxI`a$gddcb%v0TzIafDVar?ydif=ooB~=7}E_;1h?(46^ z>-SGjHLkf|@PR#!x6ZKspnHwy>Zr{5f;n#<&Wg57-Rhaf!0{;eQ-YyQ@j1JxA8&5o zJM(g!{})>w{=;f@1=+Xup8Ypjr>=Pane|NtY{m0DpD!&gk4s7{Q`Vm6X{((aw0G~$ zD|M$8Tt0m|q#2yO;^cF=A8Y!$+SarReQTc@6xcwBLo$5ZPa%00oUSI_R+XxSs@W)*g++^y)&>pDhvv8BKL zf5=I<#H()Y;C`@SyQQg-U7+>{;8a_zpDBKeYWnLppbN zXMN^-<{4`j?w$YJHBO?O|DJ)H&F97gw%Id&OkOp6epl4#^HNLJuJnE8)Mw{zWO$3+ z=drTo`}?y_2|Yb>`Ahx6!XGN9hH(>)szanV0y< z{FKLKH<=VZ^Ww`r*H7=766ncoFzu14$^(OQ4<}!lSC#yE^)YkJ<m~?l~(qXkrlo7sJbX@iM=yyJZHD~qv+M(M_u)&{xcYhirrb0ktr6Q``fl+!#n4+8nUl)9F@0_p6o1 z{ol(kc>m11ZepC6T*w~&iS63|8D6iqtQWj}`jgq}3vCbQnI5ow+k3d{-G7F(*s$-u zKQ7Bmt8O-%yu$7IX?Mn`bE(N&Pp$mv`Mkic;X1#PyUAI-yGuTA36K21b^7goq4iw1 z_pFucUSY&+Kef&55@VZu+>Gb9c0HC}_NU1=HfH&6i;3AE?>q7t2|b)Fk!JDynFY(d zAF?}-WpBI8yZevwkM-J>`4zkN?sBTTyrJ=1^KQ>ZD)ZJlmCf7bWz>dr|vkG1^RIG!t%ovpk6 zBl{nh?r)1f9zP_P)p%aXefRb~>&o4`w>L*dd%jC`s5!ATQee`9_wkdTDo$tl-2Z&a zokUO1_^Rib%90ZASgXbRY8)>AJ3NnPv)C_ZovO8OmOU-}Hce&z!~>Sf)*g>Ht|=6i zQ|3MKrSRrAwJG}6%ah;!XZWGX{zt6q@wd-ECO(L7|7F&`?Bzbri>2N5TDQ*nTo+bQ zbjnM=^+vq$JLB_tt~Fuvx3n$)t^4o3^YK}%tG4_T{wS0scCD(3QD&iJ#8IV{)_&#> zR_4egTdvpoArtiZv3RRM%;EI^48jri^+tJpcPbm6PAPiDc4vL^c`D0C*YbonOK07^R-im}U+^|pdjp#<>)ZD~STX-Yv^>j? z<_A9U9REZs(xUH58LQse)%$NjZ*{S@wxW(wYzO0UhHY;bFSGn}OHO%L`!|bh-M)$2 zyOPW9=9Qglx)pY!xT&CU;ydkArn!;t0-HU*PuVBH7EpQc_Hl-JJ0F|2S+o1?Q=i6l zvdf}B-B)k<#s3UacB+Rztp2wA1ABLgXWz10DpF|+7L`PN_ZH}xqFBUKGw1QV%A<7; zf874Z<@(#YrtrhG*7`^M!mp&%dsMb;@A~^TSK+tqZdSg~MMleBT(3B+{m#-x?tVl3 z)}=cx*XbP0(o>owu{L*V%}Ulo&odY{`ZVpZ>08~`ZmR!w%EgR&DZL!s{M@bF)fKsB z{tWe+{}~GAm+V^oRV87)#P@ZpF7#iWs##Jc%)M(>&fh72H}8M2VLsPBp1RX=+8^W( z+rQNpyIP(F0|%y?IOp|8a2E#86FfB7#UTk?M;8|y2orD&j-;x;bFUGc`rPw z)6eo?!^F9L#}cd)(&e_EcIJ5Ddwuei;x%ti_22ft5&iAQ5BJ|SH4Gn~&fC6nd*hzm zhqX%Ay>@P|a6LauvB!OHQvA%txjRp#=htnmek}h-B>chqH_0E)ANiFxcWv|^uaDdI z%)fb3wsp(tWj9uw;EKH(dvoTLT*rA9w%H#xKWN)r|DS=|%6R$uo2hMwKL1U&*3jmz zxvzizz&Wk@_WCXFmVY>WaM#_hee)N^RO}D9;<|O)-jz4HPrsGB$zN8duILC^3Dez&5!(Exo1Ug-lRv7=^GtR=x}?*IL_-4SDrKZ z(}akLjla$RGqAM$-CZaD@0R`M{?>mYudg3Icu(s`;c^a}8w>RG7C&@(u`}R73*)v) zryD028UIkMU+rmo=A8E(Pvgz~2Jh0-ELFa%{AW<$XE%Mdf3w|Y{Wg>RVik>hT-h3? z%?gFVe>AoYiXq_b9T=B%l2dQw`V_ue~VN| zADeY$zQC9H5*4S;-FxnP`Hjw&-^-isxv_G48mnDAdCS4_w1(sz?GMMlJ^YZi_~Gwf z>*(vbTlR{Fe)L|Hh=IxTovE5 z|Do*Vd>iK#cfBi@WZydSIo5=4Ia9{sJ4(g!JW>%)V$WEdSK8lNW6pn!dv5jdc;P*s z>mo7^Jy^2cAWHS@yZx04=WjlWRE=#;zc-_@Tj0~baNZ3Ci3OW_E6#o~{WdG3?&^Pr zgNk3)^WOZ=a8RpG;6KA5|5bXe%Y1%KSzWDEd5BXwaHrOrhIiVh{v41AzkHwftA6u8 z&YhEEKbjxuXZ*3wI->u^n=OAG*SXILnK~&gVVUuk4|Dx3&S`&`d>~%h^hBM+ogcTu zel)K6WAmeU=}F!7t#xu4QERWLM=Qu273@6}ee6lI?!n-_cmBQXxF2)Yhw+{J zWaBcU*x!8FCvbh9X~fsn_MK99uUvb>CfQQFF?hF4^YPQitio>mIJVZ^;$7!Lk?DKN z=6{H^7r60Ce#`xy(^1h;cVldOrhUBSzKOl(=;@WVMIPrb?KAnv{Ta14uZQ8ox%=PcqDL-qj+1j35tKFF#c8Md+ zI!Su-?PsP=KkApBfA>>#&vs+Yqhe?8GAb|pw$^gzrJVc9On%M#z0Oa`Q=h|Ax_Z_A z7h$=(*X(J&P^8JY|Dipn?_=5eh&Jur-pgopo16K_`)<(j!XRGh{S=juJ?c!0B_Y0;yd*1h_zVy-VTy?K}JzZrNx29v) zOc)u`?nF5stdwbpnBd39W-0n*{hQ85`OWh;x*vLN-z}%2`BD4v)T5hEKa6L&6Y=hn zjjqN$#VhZhTZ#+m6t;KWGqBm*bi{yH{-iip+|v&ZI)%>!ismrxtUYde=|}z1sP^WX zoL%?kT5i9(#$(>KQrG(|i&<4zp0GQ4YxB>PO)gbfVKO;)+o^KD=X>f-?C0F0{5$?n z+{gZ&I_sL~?n8D`AMV)SzIEq%@REHBA8q<#*3O$XS$4hl&)gmF4rxjUo_u_}#(&w- z-#Infmure2ZEt_@{!Q)&yGOa|hjyuW@*dl`&ODUF7`53UD$hFp8S@^$>y>2Hh6f5%ijtULYi zKHndc4|VOrj!P=s4|(1CAVTSzpYFaIVG~| ztjXHR*6)tFS%fk$h{)M%EzQ)NvZ-N>nT#gGH@hy2FR$-y`MS{R<+MeSNuR!N*3sDU z=~(@G`Kh667tYykoV)f&5yS57qRMu2wXUQ%i9c8U*jIfuxZsGq{9&l{KKye;nOyYZjl>*eH7PqwGI%XgamSU5S4!Q#N%`?K^^D^xgytGC~^ zzx$uT{?ZE0(8ZbiLLU@pJ)C7-wBm3{_Gyh(7jB#GlYZ}UN5DGdjNJ*lyoiZ&eg&|I zPbxleeEH?A5uJfK-(~UwCu!}Td)YGeTor%T#N^M)KPPj!SzTaSd&*Gm@x+%tGb;Jc zSU2CA_if`*1BGu)OX}}6?RZdXH-+KIT8ByRirs&?Bod#%s&XLcTY72Z)hJCFaA zyTWCapX#UDxEy3Iu+7q(vao2CGw<@UY^!%)98E3>q@<}9u`hM5vkY}hEhz4f3SRzx zd&=F<<~F}(alSGOu)84Y_hx~zE&sJf4!QXAn#Vw!p#pm-5tzMwLJ?ZO{WuNonpB_JDcy05OpDJ>TS53aQ=B!5V zh1G2b9?P!U`+IspWL4cDt~_az4n1s>Az5kp9i$&JW*V^gr#PFse9bc zKU!4{N7C-@__MF&dHS$g9pPeG6VImKwSV_>^>!cbI??%+pSl>1U4MQvUDNI7HUazP zubY2_KQ{j(A|G{S%^tyznIa2MzXeaQzb~F=c|33H$Db|HXBSLQ|GD_$ z!T$_w=?BiQJH9%u_U`&EEB?NF$};a>dtaq}YtoONGs>mm(^D$$-j~hl?|e4jf7ji- z_Kf2G>2uPzSuD$xYCd=TTzPo$#eSxJkBs&Nz3DezIW@D~V4g>W`*lm(!Y`|pUMEUS zl`Wg#toh($*WxwDa-_I2G=6=yNAoMknS{CzOy;sbZRWp@yT7W&+uVMu z>9w`RJlRSayg3_J+}a&>JR_%c{ru9|d#C#xjn}Ds-t(#OSJ$O&ub=;%Djnsqx!P)W zSzzWbPs)A@z{GLJ89+_$2A=d1af+7{<8{c--t zb@AzeH;>(u-S1wuHS-EH^86&=-WcdG9+y%_ZGVtiis&xw-NXO;c#Jvvr@(>Ta2 z<91-ZsIg|Ivot-ZCZ9>|8E1s{|s$S7vnT#I+jk*>}8pKeA?~l z42*NWK34AeD!OyI|FZhS_J3R|^&V{9GdXs9#@aofHf{R3N$ddMlE?X$?2>YOKK*Cd zd^`H&$K{^J$5LGH8`rf$5@xfoKYu`gIY(1-VI4D?k?%Ss=6Wl9iyKB5#7{Sxm z@>Oo@#UFjY?0*DS@ow_jt|UFX{Z3i4q>keWnK>VShWdB!7qIbt)Eo5ec*OOs-6wqB zs+bAi-*fF-%cn3?l{LxlKI|!c8=QSBCGd~f#kp#gD$_j6*DMj5Z|7#u9ARB_>WJ={ z^UY$MEB^#vP~e#TWKW0I#sl{!{u7OVoTDp#R5n-Q*m~I~JGsjFq*V&f=Up{Fcq2%^ zdlvhQ^H2ZoQ~2@wu=>`pA3Mb-f3!Yg7x!Xn-ZO{eJgaSWIJ?|j_iKCpePp@zMzm}j!!3S=PX^)p(TT>P1W-?!DDmr5KK@{hY~{VVkN-v={u`s4nt z$_e)Pu|Fwk$LEW0-W;DHW0iYrxh>=S6Uv|0_}|J8`0ajlujizcSq4c;9*dQ17pc5) zbFaIqfBdc1r|XYer*1tzrSHNm9_C|r7t5bon{6k({d#@&T78cziCgC#dmgo6+pezU z-#Z_bb%-WO`dz-yx4iMhE52|w>wUSBFXT5}KV;975f%00`=h+l_i4sDck$v#H(=U4yr>pCW(*2v` z+rRD?uW`Ee?#pcJonP*s?zrSNRj&v&UMZP z%s);ouyzmPT>S7q!=bJ6yviTjyYtp5en>ID6m{dqL8ZUjqjm-Ke7xP$F4&r)Zx~bb z+fmW$d41i1x!<*F?0+ctbDn+7FJ_f7Pq5QtTlDrx(*437yPczME|A}&F!kPlhEn$6 zvpHwiZ0{A47yofeW6OUAu9upd-7n^bL>*p{o66$Qv5+M>i&O1@%3Fp>j&Ylhe0cRw ztJ-hlx!kMJ2E_v&7MLfcFPAoiU_UX2}{-fUfe`35} z>;?ZR9F&O?z4F^6pZ~Vz_WqzIBlClKKW_7`GHR(b-tlt|Q&mZ(XvNIaMYd`jHsPyJ zKem^1x^_?W^2{ZhE~IFkN!tV z@pmiYu1P9?Sl_Z>m)W)NIY&}frGGD5b!zvimQ3lzLK0Wsi`O{(XK0J{PJ@%Gp}#_&v1ydo@u7b zq&q2w#T(Y~mFrouf0o^K?f6k%{X=H<{58^r5AVhYUfJq>oA=k#y?2*SnN@or$!5ol zf|py;?Y%C?Eiy3W4(v<6=|qj5wi8^&enq}>?)JUm2?hbcdS(Orf7T>;!+B)2s9^7>+u-)F==le?4D@xNG&s1+brag;YW%79+;h=+`&e+zn zX0iRsdePn{z4@}J>bnJ#9&GeKx3i5k?YQ>e%o8=|&+o4acPN=~Ryd~j?sU7W#>c<) zDaW;6+mO7|wP$K1+rx&4r~VJGZ8`gBSMBF5W^NY>&)Fa9UZ8$!lb7T3t+tDTJS15j z%l$YTX09=5g~ajXd0U?CV&9#2lDTh>R6=BQ=yTnd$6p7;-K{KUJuchp_PwI_dtyZL z#xL>@1K%B8S$tk;*&EKdj57%*B2&&g`tRK1F|}%=g=kcz&32yGJ0ACCt~Ro2oXQv> z^K}(d?rW1L#ph#w2e^5gKd^l5JDpcAwDIJxV3k|TpVl-L{T_tgvBzND>w?RMu zGo;pDoTK?gw%)378RNdhPdz2irajTvIB~tNZ_?I{QRg)rl`j0a@1aY4GQ@+w`&kCMNVy~MPbM~=+U3N5Q zb?L^L%mQ^WpRB(A>D69zMbDl4)Qvm#WqypZj;qs{RkRfyDiwr^Dvn2mZ2r{vbHm0@ zwdag9lajg2PdS{c{QkU4*f*AQb%yscR`afybqCw>r~FwUkp0UP)TK$z|4~-AS~1lw zzwfKtgK~jentwz7h5mVZ^X#^`=I1Oj^KO{_m9Iaz`eJ4L2k+-Lb)Sz}t=`68l=PqB zb@<%Ae=5E&zS?`X>j$}iKkC*rZ-3P`V-;qj^sP2?X1V;{@}S*>;e%0@|E@yc{`XzQ zJ*OSm`09UM3BHmL=pZ4^{%qA|8L7<$b@_)@#mt}8pdB-R+RD2Yx<5i!-r!nn_;Ur* z(&M7e0X19WcUsENO}jhy2D8lu$K%D9mc^#<`<|)I3)ptK-#QWD7QRXC-a}- zU}%k9Zu}$L`#013xMjVr-I6>KuNNhn_MahT&e!wGAJ<>!zb*c4$A{@}W`9`sKI)^~ z#?++q!nN}x)dE$H%OBc#GI3%bf7HJk`#k#}8tWGRc9bpmy!3eQ#t+|CuC#q}?ahWq zFM2rccCFfAAD^~Vz3fx-Kf5n6M>{V=8khKkvWG^^;lFuc~<7 zUBk%W`&&Ne=}szaV$)i-_EGtjcjdm4Wy}m8_LMy+47nYjB3-kGKkBzvwZ2Q`r%8EF zeriEd^6ifz#sQu_RvO%KH07JMws&9E=! zfvAmKY+GH+7h8*UUG+yB#mdt6{%8)0tk3Kh*p;ibOJxG1MOdEBfmb^No9BIf7}evr zI4xo4-R9<(U0=_O9M~oQR`St{AY&!HxrI}B_}FiLobxyP_`8VH@?2F6byLEAOh2=# zUSitCn%m8ZS=QYu)gRk+C0<3Ov(3yeFy8Vx$m^g7bAkHTHHjZZue_*}w{kCB|7X>c zm%**F{CCgGPtE>!CeC2?L3<(n{DspVS*l*nTifk&iX%LDf+I_rjQojj%Rf}E{j*-e z^pdZFl<2{h6(=JLTc2+a_W3)1eeS}KeG7Fyo-SB)sQjR8efjsY->hafghkO(3A9_b0 zc+uFm;*HlAW{H2LC+^3%nsog*7{tNyxQs#cbhfv@{)tO3`eGP+(i!BoUZ~NSb&t0= zYErUM>&10uGwx`fKY8$c=+||50jg8`%HI9l_*Z-3kFalr_g~lN?949tcXDpBlF{!c zs%7gL9$VOaS@k>Ui&FG-`*e?l*^mCs+b%8?dAw70Nk_Uw=MLH5UC+PV*ZwEW@%Xb! z#@TmQ^%j@w8TemYSEJQt_MYsoL{AI@1s1;?^DuM*6%nP^kZIk{zvJUPn(Tux21M2QLhX*lF}c1|7BD>`x^T# zb($FyX3yWGeOGJC()LpZRcV|5DIWFV6jH*>=I; zfJ8{jyt%$b!sgS9l{(9O{*FNKi?s9#T3$H%poo822IR2pWkCuPmt^9A{M>~|dpYUuu z(_(QVsry`2P{lOux$57h%s#gxQZILF>s<{c-!)wGR!=Cf?&-Q@LlMKW^9ZJ?AICOYO|irUmN52!R*sXbw`$4tGrblYTh}0ywEq(=E-9l=G*f> zF8$ANt90g5?g^KSW%~CVS1hEKUeHO=5{aFFO7T2j~e5sT`MJ{m$e3;_Aa&I_$0Zl zkMGWPF`{mJ&#)!ly{t20ZQy6%gt$h}>~RipoGwRup5 z+_5R;%u%;e`VW5>?EgA1|Mc7I^A9)w2&r1!dTEV&YLCEd&@oR}`11>`OI#xj1Y6sU^+lsve8F2hLR4 zHKFw9iF;XZUTosEX66xeuB}}2^Oj+$*}FFpA>IYI6E_}g{`BX@iAQT2d#&!Pv!6Mq zwWgX zTD$qmOao0*NxRaYl{bt7-+o^E)bhc}IbY7&y%G<*vwSLZf7Al4yQx)jdo#J-z1Y(e zQncBls(7CJQeTmIJ~LCtE_q7XfM0*@%{O&w)@`SJ-_g*+lA>eW|fcc&EL-Z_kG~YVBM2_2QC>Yyf`*{ z%btbo&L>TkmOZiU&#$TxdlnX8F7|%=R>h`$;q$B+yEb`xZ2Qk3&d$((ZQ*X0El)Yi z&RM<oBL-Me)+O=QpS_U5cyrkyB1A1oP2;~hlE}Ge}=08 zXKt5k{NmwCnU?<3N#0=9x7eM3v&33Fp0hVq+7$NxXNdKb$*<|^oWr|x^MS{Z3TPJ#9K9mQ!kRER*T@{OQjUuRLFuG0DdJGoRscQ>iI6 zyC#1sJNT?=@kT?()?lSC7Ux_&l@J^pJaDS1?%JO6_cKx&R$81k;JP#MaLFr<*C*w!YGtm? znU{I8b9&L#pA#qFY?t|4mGDJbPwrE$Xxh}9zl8rYu-&aY^PhpwKCAyW_t9VSN6xcX zWFOm=I=$uT{w01rG#hzN6@wh$Rf+2mK#q0PP^FL&HyV>XSOP8wd;V!()%>C`Ok6QiSJNmWD zFYV7+@^^Ac_x_&gc1Gf}=3IK^H#s)b=(xv)cZt!Bw>f1Uhg z-aNKKpOt}C;fWnjB}8@IuPs@?>e$Y<^wpQ654ehYW--)?1Ukq(J)E{GW?t5j{|p+d z%40Q{wjNGfdB=kHSLn|3XS)^`c}{7Sp3l-M>%TYLs3+#>1+MG%8h;AoIDZ$^-Tue> zx2sMlYo5|a-s^KKdGxl0nVsn^EHqDznP+*-^W}Zf#{UegV*eSMdVWNIll@Vud-m(y zJ+qb`(aFuZ=5w~_NOIo2!xJapX1=z6p8u`G-*$hjf1Cc1Kk%b^k7?#s`z?3QT-%oZ zq}#vs&Zc7xrMC>Hy+6LRW@}E#XRZC=3zvkwEw$FX+-rJ1RO&y&_VTwoSO2?JFO+)i z>)~P%gWYSVPM`VgaHgQLL~xIX)4Io(8@qn44%oD#=)Tp8@&sOia2I}(D*OuSktaU^G=D|}P<<9E2L{v*dqme|=jU*1c&SBf9c7w5OmnQ+U0+O4`&!4muUmvL#+ z*GlHRQF2qyNGOb3`O#JNvVDfWjM;LT_^jyaDL)@8Ow+ttx1{;U^~tukV_8qy8j1E5 z@GqCUI%igK*ylfIUc5WWl4(+}^`?G(l>e4Qr~PM6f3IKb_P$AcS=ED(>4vPWWpgIq z>#7%YcmHrXpfL4O=+AHarmB_o%~|npYyP(qyZDZ+la%jnciRzmYNPI_A`8*!A6~tG zW0l_(UUnzb$8KloTKR@>Cw_r!d7U%z-t*OL-o3oN{n{>d`TLr-J0pq>rxRV*SFVgy^}4qeeQ4TmlrzI)PKjNaUP#0p451G zKfArxgC}#{r3(){-|iUmIeWgp;;mmBKl$zXz<#ClSJ?5UlK0zqLyqnEloRJ!RGq@p ze{KWkL4}m>c31a52;O%4i2R=0yM2|{|IVskxb(`>WzG8p9lx!YcWM2z|L&=x>PKd4 z=JT`e`k1@y{p^xgOR7Fc*K;iLJ}+5w=8m(qQNN?)!N1w!2Rpx=7khcYtUN}mN4`$G zeygy?pWJD6$|s*xTo1fwrsdmU^`K_!>PMXie`G)Wl0Uob@620<)8+r>ZJqd0QS_fe z)?6>nQ|-wO{F3LN#$EiaQ+G;E>F-WE%?kO4>)WEZt^Ye&x2ON(*#4;ghgx~>9?|vQkFxn?e^f{AHoFviJM-9u+kOI*dWDU71dOB$ z&t0BVIKOF6q~?Eymgazon|Hr8k~HgGQggPY`Gx_z;aNFeU{QmTr{oqYR8XrZ=87E^r5|ko$!z52kvk6SN+I7QdN6x{+bM_mTlk7zB`sH1l^eyR95i=0Ao-&H(98$g#pRDrSF}uYa#YtnzFy=%L)%5okH(x#CuPdsEzi7l zzof|6^P$I?I#Wk!y{kH*bIKUL{%3d{=J)5K^qusZar*7$o8IT^++8H9yz-Wn)bk#_ zPX+sKocDUMc>B~E<7&AN?sMgyvOf*GecS%h#(k%sdTzHqk@NBWe}-2}b&ojd+{n8- zv2pU(xBe_GKiy^jZO!a{`||6z6)KDm&y}rLw`3@Mm3i|GOOR&p_vpfJOMCtPuAbZ@ z#Berd%f%&oXFq9sl=DEtHBG0M&1!zuFaHPE{|K>voA%@D!zWk%7=K7UdR?m6{N3~Y zVz(luKfOEkcg#k^82LR5`m3@N>~cG%UsOwyZaZ*%|61QiET2twmmWJQYL|M;x$Kqp z`;Pq&Zuj3hP!VA=kNv}+BEJLOnR|Sfn{1SsaNtoI`}Vu0&+p6Zf6%&rtNg(Zm-2eH zKkjRtWm0d&vY))#@bY3}vi?7-+Lcxt`+Amg&sX*2pIn%9Zqv8pr`#&m{O+CPcXsQ} zm-APy+kRY*{n|h2AMDTQL$-HMmp4!RUa|a+M&G@dlFypk4J2jc9jvdGFwNXpP{jHC+FT`% z*&9zhw!519s8Y%_j_a%3mKfgNt;dzOSq1N6>N<3Q`KpKNCaXZP3Q(k(k=7feDfF5YOj-cd}+n>^d7CvD=kuf?)biJ^WODZ zX2s_%ZN9GRJKT4)ym#@rca`e4l`DmmLL>MW{`&fF%J<0`Njtczn5sX|ns>9H>ymb^ z-CeEJ9jAUvcC(!;GXC;5?6E|Bg0a6xRQdD9>&vr}&xt*l%A9w}c-D$H%(I@x)<(1T zx*Jc+=_z69dp0q~TgRc?+W(3F7t^f^DpJ4R-f``&ncIPBJL;5sl9hETVjg@w?v;?1 zIcswC{<9Jpvlrw%{&>`LW!AE{H_eu>3oO{NR@eH#`$xLk0lT;Fy8O7=yZ_vTJ26_~ zK^}i^oQrr`$*jJ7ZBq1xh<~r&*&ndd_k(m4P0@tlv78&8@VMe97bZd&x~KZE#E*NihO4CnP& zyg#N@p?FJ%=|K+57u!{jH}KDs?LBd;KqCFe>g7KqdE!58uTlTjG%x6NSh0s>+l57s zY;QNR>tMu|FizF^W$pokK#==)mb*uOJ_TX9eZ>tTe8{U^M&o!oIWYJ2{s2ewDDba_PcF|dT@vv#Tqc7#@yUs^@&09nDL#kt6NuY)!26GoYSAx)AhF$6fODne11&&KDG)Q6OD7FDYuJW zghpCcFZm_jwUwVMo_n|S?cLHxgQfiQ4Vxl9Uw#(6TasC!itF`*zbp3CDBk?f!1=z% zC(Ep3cGRv38tjd2wMz;oaU4AHjSQASN|k>@W<|>RsG#tXKv;7dR4vG z?dP7G%jN~WS3I;Xa)Z&0z{%&cjwea1>XWrDKI?bIP0cC3G?|Bp8{E&hkv+CTM&#d}N{mX{UJc#!X3^)GL&*^yWK54>St$L3b= zbNx&0e+IVIr=S04IB52@M&>`m(e$eQ&fl_~|7IUMbNSnr_jg_$dUO7=sEq#OAdLgd zlpfTXs+O0gB~J)hP@p;Gs|^=J@VQ%6JzNUgzAK|~{v*jh~&U7!k>nQS{!RW-Rg2xMQ@!zxEaXxCE%%K$zG<`E}MSV?8%kx^h zOOCfX|Jkw+J{kKf&$~S~4Slmnxc4qU<8H(CSK^!FKR8)#?PXnOdY-f5b>u8polUOQ zVl%fZeCk#|+vHctyfvXF<3B@_)WHQW!^5S-mOkQTj^H`V+uk8$-c-P8@%aL)O5v6M zy|EE%QnmP3PRUhG=|A(=RoRGtcB@Ls3Y#5|(r#}tGoBo~{J4Fy)PIJ9^-{hIe>D5l zs(n&RQl5}2#89|5;=?JA$1K+wSGY@k-d$$#`qHisH@Zq6p7*>f>1Q+PNosWquW{-I z>6Pm1*(LsF-&FkY>F{r1*A-hgy`O)i$Vu%^$jPlCMYbEVkER@%uEWP{uS%skctd$Ag({e1sav!htd1MavlzB@bKOg*g6jX`*OW~%bMh39H_ z|C+XB`#zo@KRU?XhcnrbxnyN@ezWhh?j)_U%i8gETM`;&cZh)!C~%G-Z4-}pGIJlmzPGj*l9`-e~2 zWfyA#F3+B*dHLIszrId;($4wk;-^bW{HYLq$EW+p@weKKXwU5%F28**9x}`G zt0a$>*Y>+%jG-H^vpiq9UgPQ(lTCZ3-MW2p_gt0d$qfw!e4LNB7M!%txws_uV(YWK z6L%bsTfB^wZ`jJQ_;Tsf6z69VKeO(BPupCoZU5$Vrvj%;@Aj!IGUnIT|ENm6q*s^k+MJl$;N9a$q6Z}mD{w`Wf6+KQmQ?v+28|1+?2 z*WL2{82xSUhxLbixjx?Z{4j;Pc%|L5c(Y&erhE3WadW|OAZQA?M_2;bU`vR}Fi}!4td&awyt7o2papRZu%2zM)EjPTo zxum!Ek9pjGhN%@hr1VT4hsBHZt-3yCPS}ZC`wGPmy)`r8@89Mpv6)9^RT%GTiLV}A zW@cw*9QS#^^H1hq=(Shn0!Kdtdv%6?-=Dj)tgv|x@BGu*;qqB))fRKT&6M!{&hT{g zwz=+arQNDl+?>B@{|CqT9~#FRKTLmoyxUH!;?k$lG_vNRu>RF6V zuJT&=vqI(AyT4kzs&yA1sYxnZ|2!xway?|9#!S7VR}yUOOSiDyFW_*#kq~C`CSj_B z?|w5+=C!$zmC3$4CjNUd)#2BpP4AXWF4Pj4uFmkWG4RS-uT8ODx3|52taBrd>ElV; z)pzU@?Qa+#`_HibKf^H&8}$d#nZ-h#Uwy*@T-WvI@8(r$NmhCA)~D&l35(Z{d?ly2 z@6I?Zdpzy!PL`D7_m^+&d;OoGN&i2?!N~dlI8Q%5eV6;lwDq+g?jJ2)@@xIgWd6$K zXBYx)Qg|=vU1(hN)#22E9&=w&ag&=Vh}*i^3Dx^4ZcivEXpkE~kL z9Dn(nqe9-A)RrBt5;8jj*lih)-x0TJo1MyI=3l<#(5Bq8dp5bOIlS#jUPD#FysB{K zkDtF8{BZy6cl2q+>xb`~Yr>@t)$CrqTH{&-qXJuGFwX*k9mhBsU^(p-#uY-OhySChW9nbrY{tG$fh68|Q$_<=q55A}dcHSv#D=Wl#{e$|@bm%nOKLt}3L zIXZWS*uj+8`R1w(YgSi(e^OT4WG}RB#h(St)TW~JEoPpd<&)nblNl~Vhs}!|DHA{&h%vd zv}Sk9v4zclj5L(*t@k&OTD6Wb{QFkk!mQ8_@p%rniv2z_-||{@ zFaCYq$M@cqR!1d5f0p&_kqKZ4(%!YIN#!|1bDPLZX6MiHvt^3s{8L-9eMfAwM$Cf= zH;$W%TsAqZx@qsmWBgSNUDBHjX z_uih3xDmvf`m?Vfli|_tC(1vhWhS{l_20RTJ8Lsj!I4!fWsf>73N*V?aO3B6i9hvA z{fnzru4POz3o}3UXUFU7KSPfvXdg5bYC9PzuEJ+{p|9TReU1F$ilX0#td`tbwsA$~ zuB{t*Q}edn%du+8{W)R7e}?cA5-Q2-3XfIz&P(SCNqO>oop!m~l`R%qc6XLWY?bal z8Z@o!qo{|sfcuR1a}VcBgtD0V6*kU(;j&$M)}<3svFA&R%3YXU^E!7vDZViIW>vDq zIo=e>&(<~P%w%^ezn72Gy7E12|IK%sj(ivAo1M(q<zG|Gq>6Evs3y+u5kZen#67+Ge2vi>HGH%{~6{r2ydU0 zH1)#bjbevw65bv>XHY%wieM{ynp44zH}xl0?7Ofp{hp4Ihuzoo^FN!myGh!VSlB=I zNq&3V`bYlGiOrXLt~^(6I$U-~fY0_n!`krHKQo?uP3)2XUKqTwx7_mXwEQWLw_TO} z&mhGy?a>LB2Z`PShP&;{o9quQog}d4&NQ8)n=Bqoa+T4)tMX?@;DOhHx+{d=>YUwZ zmpJe5{#%1E$o)mt4GQpo`@ufwx6gn906dhNY*Syu&X5u2vCv(2BO^e;+ z-SUS0VQ{wfMBO712bFm|kISy|xVpHpLT2*y{a1qH{I#>@uDiRzF7=n(R24zvb!UDz z9iO@?@7Jcq8&&%rm&%_i-mTm}rSxU|#p{2hW=j2MIJ{%);r-H#g_}*Y)a#*|!e7Sh(5V z`$p}p3g=mVTh*gpDa5wTVOMH}%$^18P@3y1tHF4Q=c3=D2FvR8J44iB>TI?C9`{;W zc%`~@0nh9CQ)WG{sreV)yw!QTj&8i<+hf{`_r-{ zefZJk|J!cUi|emS67Bnie=hm({=nJj$JgKXu6i*m>-L?P`>!W6K4S{doHA#7VBZ`A z+q$iPnd{E|XV`2u`GfM|X-lGRom|VoQglbfYmxHt(^8MK)?eWH{xW{D{Rj72qti$3 ze+bU4%%9jYZF^PAgqGjy!jjnD$KCif>+iO`Wo0_`m1=UbWbBUATI z;5@Coik;5ee@gzE{btIOZFi6SS>0e&BDtow=#*@<|0M1e4|i;zkhpl7!R^00&wp7P z>yWSe`qrjWNwc*DA&dROdwqQ#E!pb+y#J4w{XfpHOa7$(NGx5Id8;IMWyE2XY2|Ve zM#mh}4WCsd{;%_LB`FB>?|LzaQ(j3Wq0uQ&gb@z z7QKI?o19wuQTb?YZOOKR!w*+4cl*RM-~Pjj<388>E26|EKXRKPXUQe&CEV%g^Y2Ug z{39jnlm2$CTj($T<5k$U^41#7;_2Rr_ERUY`8hIAsMq?W-#&r=N0b!*sfqgErfx_$ z#U%J_y~=~q)l=fHDeNj*e`RWZ<-DU0-)6r5ll`&pQ?$RC=NHe13Gqs5nU7eWua@aE zd>_YLyelks@oJ%hiulC&hd-}hyhs0$t+w08^5gM#H`g!Qe{r6+Nt1Y~&t0|nr=^VU zlJ{h*QmX_%AK4LR^Un6R<^2QCcmDO?W)&{K>$&Jn>G(Uo6PHK?tTMhg_sPr~THj6i z=PKk+f6sS(udj+<@|{}a!;IUumFF58FZ_@|DjrU z&W6pdy0=&H-YM=Y`zjyz^~Ajw^*6U0x!4@r(NUSGWcl3YO7}^3w8-m}`#AlcI{} z3)lSI`@QH_%+A#r{~2zIZ_+-wug+-Iou&iH_EY08eJM^(U#Zi*_m;?0zPI};KDj1H z@9xZ-<@@f;yVzM_cg_?TWnZ^r|H1A5G5+BDu31~}KHaaEG+6LBEUynbIvYPm; zch`}it0uLI{~1{3T(*B$RDUpXpUlZsw^n)mQ=1&2^`D_)OZ2m!yM?6e?oIuz{-1%J zqvCwP2me39@kjg<%T?E0-yZhO$ZPrEloZQU<@L%x!=IG@5n|Qdvj2x}dRyYnj2qXt zI!bQtSt4QR+bosxr+xc{>#vsok(rpSdi;-Y-S5*p4p$ydb7H?6&}a4S$)m*`Po_n? zPhbCYVr&0zzrFp>H$V8fv;EP&+21l%`YJp*pU!h&{?Bl0UDPk9>t}*>nw-if72OYR zvc4YvA@7rRe7D(p6Q_y`US69;&j~zu5-wlADXsRwTkU71$C!>fS<-xbX%&0dA4}c!2jn?p zB^C3x#>8p4OIR;H@}TB^%-3&rQxCtqmS*dAKSOm|Xwj15p2zcj9{dY=aq4Q`H{sk$b1Ixa_yJD*3JC8 zk;!P8n8%IP6O89foyhq3hxTXb$7*v6?T_mgWh0Ag%rxB|4cYT&_EcZLX8*xK zUg%zh@IS7r4|fMLe%AkTH`;$L|EYjV#&ZvhfOye!-Oxc>}IX%(kDr%FYKc4c_4b8}hf`TDr%pLaJ8ugb3HS+k{D zWY1pym75M`3ufBf^k)opdR}r;l@HH< zEq$|yjiJkpkDtAbJKpS1>ffn$3Uz1ftZS8z@8iE#qg|`^Sz=GC)A_A+Nt4u1s+lu? znp996JMWgkq-8f{cHNa(-&$i>|LAn)nlGoN?*@H2A)EVF_g?l@%+K@ z&Og#iYj;O|__lLNG~2DsaS^9k5+=^cOJJ*b8NW9EL*~@(h^%^P{gyWA{vT5gT~cQF zqx+DdT*l!1mGIZ@Z+Sngy8W%`hu~vZ9{7I zR*F{k#B!|sE-E$WQlWkS@6+|0Pj8)h@csvPR)*9a~M<^&0)vw@+rT%qU-<@xno2s>xI7!gj0D!>s=qJQ_A~H}|et z+u*IPEcz?^!|_M{$M65pHE+t_6a8Sl)WP32f5c{0=9HXVyj5y_r|HwqF6)h-lcG~U z3oN+tQ<{@qLVd}9hUNx4t_rQ&|2StpwhiNF{SkIQUe+j9XgXe&+f;`HCcgkpZ)tD z(o~kC&3da>>?jxiDG~iTe$m#){~3O$mA|$8EfDYdi2vsN$4kF=ZSgg_WtsXRy?5fW z>h+p+ug)w_nq=H$vuO9e{|qYOXXlI7KiGPI+xH{fGfeNZ)rfx#Z~0@h`R7N4AH}t+ zT#F@R`i-8hb^Fu!pFwBOzU90xi;w(g_)wbOvxUEDR@>yl507qp|JW{Fsa@mky6ol- zE}#Cq`+LJ;`0s9ew_GP%Gydkbxoe_wcbnwZRQ+dYUbZ;@=I4kH-`YPMKPo5rV`pJr zj$U5A+SY$(F28f+EO@o*S1?rSi%BHtF*!zpJZX zezvapSe*8in$kyq-J`GR<>`Or^?OwP`}fHS%r=)cpH=DYV@xaZ&vQ*ax$JadrtTw0 z?b{1)rFz^r<`Fn?w}eU+^Nn9p@;ZB8b6xsvE$PjfUf6u-3$tz3#mPBhs{-ELZ9MLk zbCFZ^w%o}AuSo`f`WCOxl5`Qg{lR$u{ONi2Q7cZGF0}e8w{UjAj`QFBAG)`v3f!~M zkT;yb`PRR)?C$x0mu5A)$7D$;&)u5f^gM5AgQr}bqv`63&{D~YgMxGFrcQnOpW(>G zirc>rM(NDU{qy_ZxBFA%9A92*(B7z@u5t4}gKp))m#&8voxE(rHSqyw#-;RsQ7Mg= z=gnBMw=pQ@@8iCiFCCc9DfCQmPG9h4#kRjoyVm>dxv=eDa^5jM~9@}1j5cZA(KuE6AY{Mt-|fT}sq_b+A8=&^8GTxLAE ze|O*>)~CP!Gc;PR=31!y>hO*7WyZ~V1`GOjEMU=CDS2j2U$boHx!cLH`?dcwSf#8g zoH&1-RlvvhbrylQO&Hefh?7_OCu($bC(}1(l_wv4n(VDY&)ORbGzMm@@J25pRxZu_8Y5?7(MPO`?_SB+a#yQeTU~wk*qw%wegkz$I#P0q^nZ?%s_F$?vDWvURPw`rGHUO6d} z#V;q`JI#YF}D_l~hYkG0x*#_LT-ibK0y8qa=xzvi8*1t&E++xt(pTfA{u zujS(ej}yPXte$kca>Kh@9I|#>g;d`s)f$Cw+tKAQx2VU_KCtUwul<9o(aU!KXK1Sa zu~_$6&d0MibbE?&*7Sc;+COKu$2PzAd>`TSSLQ#BzqtR8)T(6r5B~c_IPMtAne8!R zuzOuQ>k9v$65WcO?H^apH8D$nxr?i+XO`E5lJyP^HgErAzB15UwZzn}f$7F_^Rt&4 z=3HLEu&7IedB%p$GLr9%Ei|H)tV zZP^?4*n|sy+!eq1kJj}Yb8rPfqOb!hN!t`!qh}ZB1R5acdT5 z;;ftBSYNDDVcqK+IzRXQ@SmyCY)mbwUhDu8OC$(vwrzZ+hQo`t5sT3*tPvx@iW0} zq33+hzih16SNzY=*yddJ=Wp$5`QX|WXQ~+QFTZa3v;QIg4=esdRrBV^$Nva^G~4@F z{ykaakgdDjjx#@-;&OMFK-Klxbr=6Ld?@n&qdLp+9FN7+=ZR{lQ&>!iOsw(P(8{=v6}OJ4rk!o5EJkn;9zU9Oq)%foJ8 zXYQ*Ce_*z@u9W+Ar|RD)Yn82c=6NPXJpZV++rRI=bm{y4`vU9sxIUWemFpe6J5bnK zPf|d*CEiu?vCOaQvtthE#x`pwFJpWxyYuy|&qguxZ=9;=TD$Xf-Lb2y)~78Ll5X7d zXTIU{j5q#EtLGo>(EalMru@UA<181Y`?vUflH_hXv*ZEusR#1cZ|zY@RX(+yd7It) zpGT|Hk8*P;{GGQ?Dmifb&g#{b%cn^^xtH5l*koP*>#z39*Y%8l`lRi%+W#Fd_u93; zud~N!d+W2FHPeHm6;+<39C^9pm-eLPySC>W{cv99Uj4E8@WxYbMT)Yneca4??n0_x zcjLcO!qe5+jbwmzV!Os-rIKZd)2(TD-(h>6y{Igp*HJbv;MIw*L%mRX?^@8o%Z)mwq`hdUkb6wf@X!y3bGe1w7zgz`XnU zIRkC&2eB_Vd}!}o8<;E}^zu~Tjobv0Ia5Q!Za25_?yP%Pd?4)QLf4S>D!=L{no9SG z_Iv(#x->Gg{)2yhi|*h4%KR0v_v3A*Z&I!-UXgaf$$@=`g*r>ZgX?F%hrN7eX3k@s z!2j^%IeY%s@qTp|_NiWb{GXwz;*ZG1^;jz73LFG@jd5O?;F6qW@<4VJW-KzqM*g z_Fc(&I_cN7dq<+YwiWwKdoq*r&Z(Zx-TBftjkhza?W;^Hs(W{j&&XfT- zbY^91<4+T;c_yBGwyXZ8_MvU_)Iaj~UVG=8!E1eJR_`UVNguU^R#;52+96nEE_%== zar)l(H^h%yxgS1%+x&plx&6t17cYG|t9@o+uE@P8&)>_qPe0K!Z$1}MCG)Xl<-c#{ zFOy>zD{uVUY*U;5ApeJ!_~F>hymdKW4nD3}C}enB%iZRZo4MfSvXAo)%amCB1D!7# z&!N9RL;gnp@i@7QZ~~Qt6P@hmdZS9n@=PZ{#pIA@yGO!Y~KC1nBzX$O;XvS z9=GeN&PMgw--5qwR;sxn-7j6-^NVlmU(n%EM)tXLjlVtmJM&9!>e-$+)r}jxbCV9A z;ZdHkFyIU)JCC!x&)YAimpcybiHkh3z5nN&k1JL_5?Q+O&*d7?5BnDDAIpxlEm^(# z^ocVc_x2Qu&k^ltV|2IIV7BiqxYd)TufqH^_O^6!D*Ktb_zV3x^3L%WroXNK&%pNn zNB-mIZ`oJY`2VPX>}}8d%4$Pq+NIP>dwz4OW*n)W_;_NR!400HMdju`;pg^q*gv@P zUf^EEhPXe@KejJ8y5wi;y!+0V)vH%8v9K`mR8pyYP$0eHKSS1@Ga@^mvWC67J-2i@ z+nq%L{~4N0{xclZ-6QzBvhK`2v1@i}FZ%Uc{#ctWWSzTqNpa?^t0s8hSoFQ*;c%t z_4D^XuD$;mSWa#K&(JjK5AVi{I$yPOnUC(`eSf=T_315YYQFt46E>~TV`jcCAzf*! zaW>07Uus6_JKgKWHZs>PzpA&GXZ4Xgwx)9P)#$vgf2C`VUeZzBt-%r2&|NqdjXGH);S^?O#dLumIN0Yl3dXVQ|x{+a$~IJi%K%evja zoqgF_AM*13XK*{?Ew;+kBXQG2ryLtGBL<6;x93mqdA8s8Kf{B*_zxZn|1+>W{qSw? z`ij2)3_jQXDOOCno2wu1S3c|9Dc0Q6Jb5S96*=7Tc%!{rcdcCh8gFkkKc)Fv1yNJ% zA3Xfe&}sjn=|96k%dMw%TTZU`=bhqnife^Ya-Lo1oNp)B&$EAUC;q1TVSB-SoG<4K z+BhzbihC_5_>uSXi%;D8_jUG#Pk;9FC$E|44ORu#JI5!nR?hz;^Zj@7jUVS9^|$>K zd=Y-^O+_5bm96!2Br3|f-{+ouGs`H-D{r6Ly_V~fT9P^Dhx{r2yQ;?VL-Qlqb?r-PR6l<2 z`7$|2Z~fM_N+Q$l``x+i&U0YrEpcnn*-xL(I{SBjeae3Zo_}}ZH}3D)vNrFm)PIKG zn(Mz*-)=cFtM<~mC#U7-`Z@3|C|c6DgzLll9~#U5hy;J@`rB=%8t?q@eUm}O@`rEA zI7{=_AJw_M?9JRq9*a~K#@VGY)Mh`~FHnE*SiQ83>xbZ&T|0j$vbMEX=IYM)s3m>> z%?%^Ny~{H8Z2H~xaoz&PNv@Sw72j%Fo1QJM3Ye0%beGloAEx<-ANybaXBPD^c^a>? zf5%Sc>PFsEt@*#7H(7Q4{{Gd(876-*2^-n;n!rQ+I1^)}dREyd&@3bC{nz@orFvVzb_#QkFW? z13zv*;+y)Pf#v>xhNcIeD_mE-3X^jEw>ERxdER?VO>XDp=}yu&OE0+Oxh+_@=6J($ z8R57kv%Y;e9DaSK%*U-yRg(TQ96VgVk^A`X@*4Xqdra2o*%>}M8XByzed0-$=#Td~ z3*~ATW&QQ)y6^Fyp(*D-!$F%r_KQ?5p5|}*!W}DhvGGQJ-ux7;19Iga?>NsF`TJ#G z+Nb#M{63){FCWFTRLl>)oSUz2BVJMJEA+I{KCM!jgKJ*T5}76oOO|xepZ)(CSl|5J zq*vqrJL-?x5BUZ6&2PM^@m-Q-b;ZzV^GWMC7sb{O6}OCTyl;G^J+1e{=~w&D>L0jf z^lek{n_Bn(46M)8uK(k7e{>}^)8=)r#hl+hedSe+O&04L>mS@Y|3h7_`Q!RyzuJ%G zOGdrCHE-sF)mOG$F!?#bXJt)mih2J|ukF*P+_041e9S@n7x#Y#)(=PMBSNqR!aD)6dv5Dyq=L`N3zWRR4Yu@m;`Kw-dTXW3&W)|Zs z@#ak5%wxr!tTwy2BDyZV+JB<+{9T{F6UF@|xa~euxc!WBkeR;oc4@DP2TtDNRNYnk z?9cW849%VUAIyyMf2;e!I_$^ZMb0ep0ye_SIp06i3pCB<2%WpQ___vnuKfGb6YDQk zDrJ{;i}&A~EDydPW^ehQ;lb_xA8Pr{|7_!5&6nO&nV$H_ z+MnkRueH;qcN5ODgfoWhy>h}KJe6Of*Ym*Xjf~gK<1g9Y7XHU|_(SqP&a02-8Xw$e z)qZ4G%=c}Yg&DW}+m`Iu{3*JEF;+NPKwxEnC*zb2&-)L>|4@tnBgTIG{s&*#yicb+ zFMX*Ot+0;`w0+lKsWa`Vs)N8;o>S7Nay0Hp%E&AW@A|v`Z`*%{2TSBx_CMGl$GiVR z{vPH0!nHS!?hpQOywl{x`Y?^}Z;ag4j&-@7tP#0!oZ+qC)|W|&mO*|~x49K=E}MG( z$bW_(dg^a2KZJkV@psjh`{Ff1t;v_uE*{GIF8Jd7((ajmj-}S?PBi+Fw8n|&t<3iP zZk67avV)EJ_hjV$?z;Zc{*Mf3)8*O^;eUj$ANwcuQN3aL)r1e{`}EZNeAPa-EcV^u zv-8va_dioT4;dEiHjsJF{JAQ6{TJ&Jh4=i;jaQl+?N9A6_~a|9ar5PdzJ=?b>dsxY zd``)#Uuuslr#^rB{+PYhE;ZM^J45drPV-!`rTKZ>2F~x{`?FrDtP>YM-B<2m{5HIU zIba9Nm$-_TA#1(+T?4^3PRg@h($1clibAWqs z^Tp=U*L_!YPN;Oe{e84M`Sq>kD+Et1m9%c0zw(ck<+nNWFMP-2RB0VJI_)tIaj-XYtD)!RJDG6$H=Es5s7k zZ_PXY)5U#r82dkWb#c2*>5*OIsH`rMT;^1Bc9O)e53UT}0{Iq?Wp{mB`K))-a@E3l zRTICgYBGK@0BX%mcUA24l~&3rkbTTo?EnqKc;eFjV z@86cEcjg{@XWV%E;{wZwC#NUet!1mKpV;^#c$Vdy55~SM?=`PmEG=$Y&@<)4Igg{P z?nx23+xDM1T*t|LZ}#Oj*7EA|lX&r1 zV@VtL_H_==e_i=>Mqp*o0*#ZmJnwofIcDdYZ`|ix`{p-8=61bL3&Q^1ILEa)r9bY< zfl2D8#SVt0KAyMrT8+U+&JX2B{P|yXyjkvhB{!etFzbSfrIDi3?})Nr?yI^kb$g!K zbHxHiQL8x9CAMx4+*Q)o?@bSyZ?xgjn|J*$=RYbx9)ENDw-rCGF8$*%`CID;Dg8Em zlhbFVc>UwMedit0SmwE`$JwfV%5KFI(h=_u7p#n*0qU7=Khoc_UwVJmUFDyRg{HVKCE zdw!ii{x<3NqkT&s%5(iFvrY3=yW?4Eb8BGc?82UDC|cvw!IHC;pbw=f3+~ar?v@FSu1cUmmxwZBKa2hjU9G$`;j{ zhiuw?d8>A~;hmdzT`ru@JG^R_0nhRq4cWg%KbUv#NnQ72-FN?w>@C+_Hw(;O?R~m7 zBCe+=#pq3#^XHoV@8)Oyi{AfW&Gbum>h8`LSg$AeID4)0+1NL+GeiO>d9bT66gV8q z-mQMDwwzz(S$H{2zDBywUn` z%RzxnM@GFzWLD%czN`AH{Y&dVL$klW%l-}5dmrAP)_-i0 zWx#>AyvZ3>WxtoNUt0K#`}>8oDOK}VMwdOP%{-98mECjFKd>?OSkgsTy~7Uti@F$2 zE?~WpvAl0e0K2aFy;b5ib){9$R^0u2{#b+YdiK+OU!VVH*pkfnA^gbiw(#F}K8<&B zE&m$XOMQ{P|8@Dxxb)uvcWS3UFz=fGdsohlUvJg_WIz8g-G|lRc{Tf=lzPoL^PLm- z_^#A={8umd;H&cb;K@I(Th}bmE81Bm+n={}?W5kv)a&nVCOS&W5nFzps9__I_;i?qcb}o3+_ik8TF_qRgy&3^`QxjQuiKXNAc^YrX0-aJ*gD)rZfW7RUX zycNfmYVOdxxc!6BVu>fo``5==NqzUf#q`;uzGXg7>y!X@tBfCeJ}sGeW2a5todwM2 zT~&%*OYX`3nk@fl&isQbx9pa%$^G_n!k#K?+gV%e5_V26I8@47Vfno4@jt1|jd3+@ z7vDagn9%=r;gSjOG=y3HUOe%nr|~?~F8emKvQ3VUZq8$$p*F|M;w5+T%5VP}xSsEm z$n0G8$LUhf+d|RZ{?n!@F*k2tabCjy(wvxBkCnC)mcCo*S!%tX{l#{x?T!1?V-J=; ziMla6b&|y8irs3ST?v05upPSJZ~CnKL;H>ihKK+DUHrrG)y=Ynl&-rvQd|AyU+UU)%V^1w~Ud0&EdDKX6GDd3GBD4S;U+ty?JYP`ww5UlKEm9 z`{$jvDrr^fR3Ov_5N1=BfIaK>BY*0St~2``cpgpGh8?{{luxBhr9D%ZoWUCb?5dO zn>VqhzSwEgc=F%Ym-a$+rWL1;-e>>Ue4P2=k@$quP%Adc=$WpS@2|KOLd>&P7z<-mKQ!nERiBo9VS%+r8w} zhuWK~F0ub-aBrQZaWb~y>48)R^HY^7A7kPh_ju+$=$CY^Easdi9VxNK!!fAfwx{|! zi|6-mZQUmr@uTb2`J>;Xw6cPtqh9jen%U&sziE1pz=ML2efQWrkNfc!ntyDYd7WF* z?N&fZOquMjXWLf%Ol9`HGTEfYxoo@7XPb^QpKRvu?nyJXdBF2{rERVDy?;D)ckT=P zXGmTzTakZcKVNCehq+&@YWI{E+~mDBYt>>QyUW5)JSUvJoGED?k#ha)3lTp9<2#Qp zvwwNETfgJinO}W#AO3ja)O6Xm&qUSfXZPf`$Ls2s=DY3nGTLj*pSJAX`8)G(#{c81 z`ceFm`QWr~^9A>qKa%JFu}<3Qx>4qawO6N}bU7_?BDGXfzI4jt-)C=M_>=yhfnEOJ z*?l4xeQwn)d{mqFQYo$Pnyg&Jld@ZfPpdg@Nq8fvQu^4!;$NkW>?KA4z zcZJCFt;^phUr`+0mZ{n&@gV!;70(vAGTF)R=Co>63xjTGO343Vc|PJp?%MTj|I9P` zA91_f7Tw=r;vMmD5C7a%=`Gt1?YKQ@1~bdslcqmYAM*>niduenKL2g+(&sl`ezd>& z$edT%Nuue#w&5{9E5d9)qpJ;x+@$Oae+s4;(3S)kFy_-F0PTtJWoHvW=y|>$c zD2RV^aOtbhH{vR`hjo2!H>^*(>o1(=aDX$pr|0wK1@Gh4>#pzrQ2cFv>GJrB>Ic_b z-`SkJ6w$YP?Y?WhToY#`2Cdz(%`(Zb@!;DZZy)V+s&U*QSa~B-{BKrE5fkGH8NPde zuGVunrk6e{@B8#|%a3X5WmDWzPWSKH!7#5VGqh`^w7av%%a!U!@?~G`7y47U;&s*0 zC%2|;UgLM&ygYc{PxT2O_bc!)F!eAP-kEnl?ceeE?aw>@Gd!5PpY@+i#pA=XbmuMq z&mdguWb1XVa@~XW=&dQ1ZgbwZ7^r$poV3%XIG#IZ)8QJ&)R>b~lWyEI{?BmjW$f|} zJ^l6r{~7pnW=%ewpqCe_v**#tyc>!CRxh|y-T&_Lp(`c!t=H?0oYXw^=3mo)hV=go zKP>KltNC&8!z<4{p5-em#ACL%KG}8ged45-5$Yu=j445e=T9Bqb^VzAhtT;y^!FcL zf9w0VgzNi6YHUBm?Ujkzd&J0d?JI586&;Q?#oDeydAgHkFm^oj_^I-DzTPtqHZasSC$m6oh7m`IyE7ji@-E2{{*nZ>p<$oL>|1+@mT(*BO zqfYMQw&^QtY_I&u7Vm!daG!BxwqWGm{nOfvmZo&Pzhjp(?ZnGC*57siZY=(Gq%ytBJD$8BJVDnQ21}n*JbCGZMzze@$ucd zwPdl@#8uxrqHf7=-oK&zkIe25pC3$rv-aV8u0K8>w)dIxi&bP@i9BAp_-5q!{7R7w zA;Xzze7y}jEsmc)T9^9A=kGf8A1i;C-K|Nyx^~@i@AVRgA0?-q+gEh^aK&aeTZp3TTyb!V`A^pXdA&33zuXZaAIHg=IffQkf1fIwyqL2S$W7)ex3b?5d9w( z-VcwzUHe<~)qb8m@(%#HE(zUm5>TVI#);465?v$OceejmO-2KVhc0Ku( zwqEqUr}p|7Wl>*8Ri%gP$`${&DJ$bnAcf;r!Z6gINDOhTHp#SnmBb zO1WnjdLm~|&DGz*b=Tqr?X%B!s2{BttO;KEV{+syQ-7mZKCWDi+j9!llzM7b6--=V zlP)3ptS&QG@z6StGWI#i5@)SL=U5%s?I9PT@ax*vRhBnzJ2ZJ_)PDWXz*7Hrb$#mo z1~ECy%k~-X+pYY2Zb!A<{E|I;KiBbf(g7V|uCb@iOUpEwy_J#K_-MbcebW6On*D!- z_kYX%5PN4o?;gj8{B8Mb4CV*5y>{Qd{mSx!*rt=pE^50>T_*&Zq=NTTluXtO63%O77+l1cX@1Jv=Kjm?Ho1Rq{+lY+ zKV$t<*&71(ia}P!-X(RfCC;D9l9la_-*!)0@>kb|@^{YLPw&2czhJGq@2)8` z18xsL_tRc(-_BLYR=ji&Hd)$!|ImMiYLS)<$w6S82ZzG*v0(W>&CCNYsl{`f~2U)g4*jcLJ~pXU5oyf5qVMq5w4Ww*^G*=0Rn ze_7?z^O=?9!{LedO|3TD)P~4Rko>8@)ft}r;kKy%>p-=27WW>_F59w0ThZR|x%z_T z>gP5w_M{}t_v(AGrGMwG*)sc_AKT0d^AB3OGfC5I&0`{(H&KQswLFC`C4&%*iL;c4he_&3V3Q4!_^?p8<={7Kpsny)f^} zcJH=B^9^SR`1^dQKemEbSUGA*nsM)5nbODaxz=50dgXA`TV_t4&9~RSkt&(9412^L z+dY|8dr-eMP)=a#9osC`9lU+6!gitl5|-yrfBCv{>2$G7zURf0>QWE41@zx-na?{{ z>9hZ|clS=*mADlmU9L6XK+oal;;@7Q3)a=&(u4jpGF%DfzJA-XtNM$bm^~Nz zY-XG%8s)KT-tuS66O0Ovf0oW)?VBy|XeFpDSm2%iZCKrAqOQ@CWUGM5aI5 z*81`Aw;dnnciEWNn8tF4UWtn4ZtXd`Pj>}d$b+7QucDv->{@(`GcEC0q$i7zJy-TC z>pMK#W!*fvYIm&LW0P@V*~_3PkMp;@{Da-jf4{Wybj@;ghLi$#(Z3x384fNDJ7#}V z{*m{)u<(ybiS?cJ7arRDEz7O^(Rqt?YTjGYxFBUa$Rjs>~>cPg!AQI@xP_*6D z?ZtyS)3UO&fxE0%Fx&mzbY#8Pr}$gH9(X$1_DKl>P;tD8>z7QfAR z^LH;!cI(|;*Y@xEcX67-Y^A#=@6>%fxu$w`r1I3JpXtlbNEF6h3tuKSt9JU6^zMJ! znz1)rwhJA3y>&bDZj19#E2{+~IU@eK9$?SSIJ;q^r@B_fNzGYHSI5-OsH}EYJjmBF z=kc|@(TnG-EY3ArcVC}<<(k>wl)}yjHeT9#uTtgK$4^%BvrXr&aFO}hbKlUWC&a8_ zVIkkgEe+1K_ooO+v(NK5TJ`=|#+J_y-m@G{+kUEkv%tycho83R^i2IK`uJCaU}wm@ zjT4W@FZll8U+CNYTjJKQkI9td@J%~(@1m|r#brc`gp*sZB&;v~ z=NqS$6dRiwDVF=tY{RifR#&9f{%4r8@#CGay0j_ZQ$>A072V7;u>Jj?!E2Uu#=Eqf z$&;3UIAAi#Kcue%1%QwJZOwx~AIp%HrRdgDva4 z{yw#3Gdx%8D#sGNvP54%BELnjc1~qSn)bIjW=_3(YyB!LURf_~xz_vPeZ*&}ho#09 zZMsXnOsXq+jK3Uz9P&p$>rzJ5oWrLW6eP~^@i{PUnf@_m!jgAu?2kr0Tl`3#@5Q$7 z;hWE9CiG0(=<&35lklX)J5D~A-DGLI^ZF*U+ZHE6kNMYaz4D{&Z1RVH(++2RR?f5j z*z;_I-kd$v?*9H!bK@3@rY23g?QL@-wyQetAEsLnG~j-GJ=;su9c4N-v7h>-NUv>*VP_NFVtSXF1a*q@($h8 z@qAyUck5aoNxJgy-E-dzJ-2roD?4i4oy4!NEuP+bX8C?~<=@LK*Usm0R}q`F(!EFj zrvI#iO}(?H+sGg8+d8?VrLR1_SbkUK!8g_4mIvRPQ!}wFKZ$qA_B+n6_vA6(mw)~; zHvGtaLC;4VCAG)C_O6>Ry7RZoy-e2P?|y9J^H__8WFI!f-iUqb9#i#bn@u85n|Eni zpIe0RyB!bYmzvfsi_J4WXk=6MUU2%~(;xpcFq+P+`8n~XR( zZo1)zvN?^DCvM&OpTTac*FQE-=?u99hQ3;}e{-Hpd>Odqa_U_6Zn?WQ`ip)BuRVHj zJJ0WM3572z1=auDHh#%IwCm}b&QE7$PAWY}*PYmZdj7dx=R4#DzQ#-Z;6Aj=_02`^ zen*MJzCzt{dw{v&!4M%FFzE!HOIcvf5r~wm6mT^?995K?y{!PzSI=pU4PS3bk=zFT{lQYlP^IorN99P?3KXg{?NMw}Dw(r6gyMkOUi|G{H zckHR(lRbM6^BHTeo$u-oZ8J5u|Ii(we}04UoQcQEuC84tmKCP_;Z)_c?eQgA(ZcU6 zBu}o|6~Xo`?cW=p!~J_N&42h~o9VG*>VKtK(x0j`TmIG5nIpOU75|jOvisX5R!)07 z?a8d1Q=8A;{%-SIYFz`jh;={jJnJj764at6|FJH-e5+AXs;YU;U(Lw2r@`zqJb20{ zMKDzduUnuk)wkwwUscFDmdKwo3}O=Wiho=&I;knUA5RM6W+*Uh{LBB;|7y;?e^*Ye zTFJE{;P`sE=C$TghTSRKHZ^(PVtQ|TBgyAy9w+lthJ?ra)lI`gjH7QK*>7~@6~FpQ zyDQtuOnoyq64i%aC69V+>!f8>f(`048T`tphg&ij8p8sUF;@5jLXKip;J z{Ac*Ja#q6qRXblu@-fOCY80I~bE`<6H2c!Hox!?))_xBa$P@KV=B%6fN?Jy)ZHwN_ zeHV*%9)EWar>7QTRk0Ty4#mGd0PHuwF-P5`A)iPrpF11 zFDu^P(Y+xvhw<8q6y{lVZwl`u+XSZ-`JdSHD{anav4by<`Ae>t_CTEfnVs36!y=PX zQzW1N3h8Vs{mj4aomH~@V-JVP+%L~x31U(Tw+U&|Y25Mg%d#yB8*GnxEaXT#eDW~g zjF*nKo@)c0pGKG`aID^Dq$JY1WUAZS^BeM1_^+*uR^xDqU05|gYMMmN?1qa^>?#WC z-tT|j{3G;u;_>1oyEaV=ZTLJhrb8)`+2eRm0^iK6~=>^7A|Fm-kwoy!E8!)7hsJ z+|J%e`}Mf1%QdA?DL;0<{+S&o{%u*;u6sh=U(aXi-SaVzW=Tvtw640ZDkyg0#2eEd zcHA=jd1*#hRr68(@>NQn-(?HVT75g7SJ;(zd3R6oW!rykvrQ~x^dvquR8?Q{>Vg>63H( z>505oY{kL4N3ZO-ZPS)&ku!-w^2EO>+g^TK_Gw$shC9pc*Mq{{f>~vERr-7WtZC*< zZZR!6ABwMpx+i(_rzy|Y{-l&ra1{2;(^lqF~yJBbR z_L&=scCaMP;MQ4n`ofo!>NfH@A>WRl_WRFZH1+A`+xC|h_82cnC|mhALuk{f-A;4T zC*N-Fzs~+)@w5l=iPG-+=XPH*4P{BUcy20FEIz;Bn9L*tYsLVT1Je{k*%+9&-;Fc= za^R2FG0{gs?fEiK68iY_kM%a@WoLvlMW2xF(e9to!}_jxe%8O%{|pbVXqx{!7cXX) zKl4vGPovq}Lt7W++B-M@4F7z3@lDmU7c$MKaGvmcz~J%ad7kz!mj4XR-lhF-*Eii4 zKXq(_yV&++9gkurto)YAS1z}FlKlhI$Im=}N640ZvyYAB^S?IV>+GbuEv*}418+1e z&bN=Uy3$Z{`fUhfkKkJ`KZhmiYF!K(i@F$|ER&G$4Vsbo>g&nB_aBGk^>NExVVql4 z^lXpuKQ3PViN9t4IHbNZ$)5jL?CQJlcD8->{~4O5-2L1CP4!35pLbHC&+hR3bAJ5w zXw7%w+rRC?-~V$@8!W%R{_C0&r?Oh(K>YMcA=j3?m~>m?_&wR; z%YS;pTo3DnvxaP$w}koA^$Q82D~?vm?C5{wQFZLP&rSPk>Ds@UdRz8yK6Y-B*4rnp z3YOnj_)LFo;j)%~ZoNpU%$48?Qy1c1aIrqnGt{1v9EZ1 z{o3B@Z%g~%{5s$M_Su!ZuWbEp&3|iBc_d>x4k*a*9hb1}Jb3hq@58A0Gd=J2uCh7r zt8gnz^8A@5Gln@lpZ|&SH@xTF-t*>}ryQq%aelw`WG#1zua8ahoqm?A^=&*X#31p? z?C~$D=7&ATn<|M=R1)Kd@S*Jb-A znu|qsr`x~OVV8KcS+&8{Xmz^offatg_^c=FNmM)W-rwf<<&CdA-ejG=rQtvGyez}p zkZ0R&?=3pqWcjQ9>rv~-Y4?`SxNW6-;QXI$GJ^k3eOa-^Ao-HM|Cw^W*1a!-bTWnh zGi)}0{%QS>;4Lb=i{s~6mDujO>i#IjW7?O~f9I#~`MBY&``&$w5 zJsqk2r(F~7q?F3*KMvDr>0NNwXrJ=^=I!t1q%ZjM`pf;t$Nxwl+Q;*8`@yy52kWfo z$8Y>GBegwb-|ov|!b@6vRX-=)_)*waz+8Ob@vIj$f&UrUp5M)k-7Tlf`iJjxRhT^vy}C!eEN83t+JAm?^B(l?wVo*Vct;|0-s|I{zu5mXuw44j(3D$o z_`&hFz8^0i`p59&YW>4p>%+hDZ|c6^ayue#-TKI-KYc#f1v1S&tX2M>p`=IZ_v>#w ze`kKlzZw3`=A+r1`GR)$SG>BMRn^|LC%oXLwCl6G^1!`e!=%~ zOLgbCru)UTKXyO-pW%nO{nZsoM?&8k5XXIy7& z7I0ti*n%be`1~#UhxaBwR6oM~p8NH;`>EGz?CvM-Y%xgfbA81qBe!^O-Tr?^?{B_; z)W387w)kTqKZ<_`-+e8m-oAw+_k71J#Z|ptp4=t{tx3uL`n=Qp<|Q1Eu>8~ecg32m zXU!j9?>2calGVSqqS^OK%H};+djV7rw5PvsgUK^XV_2X3cS`+(nf6lq^WynmNi9EY&wBs$ExS4Y z8PaF{KHqhZS?#KtXnLxVy>iR>xa`A=xBvaLekH@C0!szH>YAhVfyavMm)ZYN+7oWI z{EyJ#hZYwCO9b{+?v7maX;zNkA$QA|ceM>a=lVHXoMT_Bqdk{1Z10-l;-#j=KX?9^ zy5Myk(?`?u?KR%%g-c%jlHR)H+H{TNNleRGBRM3Fzn&NocHQ0Ynr=GJnh&QYD^0z# zqe_#IHX8)kyu>N3Zeg5D0BT{L*(;v#SzBCiOoi*#|)GklE)ip~$H8RHD z4h=B2v+9xC`qTP911r3sn_=@+>MJ-T6*O3Nt;ftM8;c2_8;%v+xj*C z!1^Cb@ox=379R|=)4O0Nz4ct@+NjPqPv(8%m{pP&y3MBXI7?|@yw0tc0(UF^d8}1! z`X{<`!cqM|rM})Pf(K3i3fA4;FKlOBBM4eE_(yx^559fM|L%1iy2SncQc37l)h@=o zt5;tGR35nR zo**&hr(40p;#>PG>mN+3v;4d8KSKup&Hcw-{tnGJE7w||@-o?O_tK+FWA5Fw(TP9b z7${~cuNibgV)AX#BmWr=R_{-%7yWm2KSLc$jrj+@iDp~ZXGwjzd^>vej7uDeTW+gd zGFP%VG-q@A{0WTnwEIQ3>qIz2Wct z{|xE!(sdXAXSNr><(ZeV#KmTnuJ+Y2dlewbA%A#U;8)XM{gwY2*cSZQ z@A|`aMb@?ZqBXXwek{_}T^H=p@0G9kjz#B~>5LN(n#$E@grt0B7X8BhN4ohx1Ix3I z_HPz1|KsrSeOJEDo3HzYj@a0lNOYQ8#otVyyYw^Tp$Sh`^Jx66kgt(a?D{s{-$_}z z`cjpARJ-LiX2dS6AV(^_FYBmQUhhJgzF%U2|ydm|(DH}&t{`Ug$& zLVGfQmshm;^Sr9!TdjViGVhObCX3It*GV>4oF?<$ZfZ@aIpFt+lgmShCc-?<& z{ILCDcGf*kkFM^)*Xxg;3eOEf4lwBxzUH} zgfCuqujlnkxc2^Q`=o2<-D{@a)Zp@;;qlPTlVK9W!S!qFRR1#^T>YOxs7|ccK5*}k zxexCDa9OmIJ?3g_&&~^PLyWykl&pOYhDPM@t#Ql?$y>W`vu~8IwNbLK_al3|{ps;H zen0Ymn_XL({eYkI{_BDlC(^Eb6|H!?<*%CVlIioFrFkUBE}YHtVB0;$qgL`w^NeOc zEd954@sHr6oDZZUedn!xG~>(3Xs@tC>!*EZ;kd9fg=@`$`38mYm&*SLxqp-YkpE`& zZ{1hF^bg;4dmQ#5y-!_g+x%5oL4OwqTtBkyqvoz@wjCRrR*5QyvmUh2J*DZ8}w?45N92lhu#wrSBk+`w$k{!D_MA=LAv+T#^&oO}JB zB_Fq1H-mSMlJoD|!lUe{eX#b$sHF zs(+%tM1M!rAKYOtSD)(NBGulv-qfG<$LhnoR5#zrvcF+2Y(k?x(WN=Wus{Ro0%7T?K(vLN{KTN8Rs8+`4(& zjy*f)nz{1`NG_e(#}MMcZTOAhdS>}=g_`h<+kd;<=l-X9+fBG4?Zdo9jDd6JB|hMh znRoZ~>-j&-jUBh``Ona_<%j*-g5xE*Cb@2p>;2GZRQzmxIB$BZC`tMhTeLYjy0jm21a>|+dfr(I(S0m+E$Gn z7OQW1J<+)NqTVt*D)oqXQ1l&lm2ktIJxeZbDRMbnek!yH~lDHAM^57 z%*7Y8?yM~6Rx#q{EIYU4?-T1vnLgKghy5R7}Zk@-jKvM$M`LOKOU^DgAiygT)rWSdAS>tc2*!_`4TJ?5REDvMK-f3BYG zoo#)4=}ynwCp_gUD=u1<${skb@cgo9xLY6p)}6*qvLTz96;5fKP~FRLJov9`y`%ky zsCwBS%-`1kXJ~4vVf{PjPsHkl8BuXtZk_MktNx#X_0kXH{|qeefBaqihxvo};p9iU`mWPXo%>j0v29~y=GxLNKg&L9 zZNHT!ctUbYW%QDqJe_!Bzu>t~LRWsZpPkk$wI$vpxn%y~x37O*J)3G4caQh>KF22O z^7S{)|FH7@$NB!l?FaE~b}}{bAH>_g$a8GlzS^#R)yrA2Q_2eCHnzT7H2+i&<6a)4 z)n<3*p5oNut+TwlFnaaTiPN73%qh43w*VIu+t?WGrn<*&_ZBUQNDkL~zcJogq=%vQ zb=kXjE?ZMG7Ba=;p1adj{I6E?_P%pxw-j%AB7bO7n&F)}$&%{*EA6iY`5id@@0-1r zqimb(=W5vDN4{j;yllYk>M4rqPRjHXCP!W3|-S*Wk zMwv;Ii_dfSv08TIeA<)nq55))o%g!f?Q#(lk68y_TzpeAcSlSLWAEKe?*iFx&V@o# zJLA`RGQ9cgrn!{GSZnz+2IlQM7jZ6ZjofCvJDFWYL*8q>?fLi8tp6EqN=UoM&F{0i z#CY90E%x=K3QL*vy^2BMHviOSD*oK(_A})1>zBW{oC@~qe=L2rdZDd*-;BQ*srTh9 zf7<1AW%X?O)punLSIWC%j~E}#y{K@?X6x&|CG&3nXZRW%$}u6Gp`P=6)HDws2d3i5 z7rq?dtJAFhqsS_yz;5d7*?SxMLajaXZY;_;y&`GBmxFhEf>UyDoPVU5+N`el@4I8z z7T4p6>8fo;{>x>xyfg3JVC!v2ysor(qGZ9{y_p4NE1A2>oz*7g-Z$e(`6gj<<3B^C zUR}-C7g}cd)9t3}?)emD_9S=hv5NDj?=6d-_^n$k=YD38lfjpB6-%cjeA>LxMdbm1 z)^7frPuriJxZAszjsHJG{IAf;z(0rnMKD&d@cgZpTJc8cPFCcWQ(nsojJ$=6zbtY} zuGqYL;e*FJj(W3PT%1xfQ%3L2!`)Jm4?oXHc&w~D)z(2}R>I=)BDO;tB(*#x71CuG zzpM`M5cAz}=<$Ll{KwZCh=$*iF32eo_?7;vt43dTU0vb{%dhtBQCyR}Loy=|&otmO zKKAHF;DieMsJ~zTGc-HCxyIi(UsBea=k=_TT*(P$hqhfRdu2TT_=oieZagx&qY#j+ zx0IPD@9ue@kGJ;M{bzV^;pl{a=jV$rNnnz#IvD=+b$6J`b88# z`-}Qx*9ba__L`(+ax(I{vtQdcomV=zx3B6y!_nz0iyeNmUR%qRHQn6on~wi%-91i` z!B2A%JsFw`C(qM14@u5FaJa9_tM^Hn&fW9d^Q%0T-n6@Rtg3<4xyonB_LVPVMfJW} zF5Pk7CP7&6d|j6G$$!qf8`v^GA3H71yx!~F?zH&@2XFVJe_EPew0OhDGdBMj^m)!c z(?2CJXTHz#FSm-%YxmWGt&&N2|WSO&UZ!Wp}S6?@lkPUmE%&T%=siyjA@( zgQgl&^NzX8mu6&UFJFH6KZ5}0gYvzf1=rs2+~T(9x!qn@>j&Y}<_kW~o^O2mQ>x

xvS?{_r9~_yPC7{XXEjgep8#LEAIPNIPb64!aebiA77d#Idy~K zdB-2uHr?r4(r+l0Gv|59lK!Rs4_`;dAO6*{FM3AEs@;r-CeKO#WE#6KS7M`OkKMhw zFH2U>RQYiBNmBe>F_vW>lFucNM|qukQ+VTLoy?E8>yOHNOy&wbj@f!aM};Lm%iJz~ zYPx`An%173FPM71uBfSh*eic%pYk+&{vYlCgk*L6KDbxu+`5>4@Rn+bN-Ix<+|IAe zqGu|~F29YMlF_p5t7S~h;_Lk%mt583&XS9syHPv$mR%_KpNROv=)_kRex{3e$xd4p zHUFajAL0CeT-+ay`TtNiKin@?u)GqefqR8yz%^c(XIS{L@qzN@V8^#K92tk zxl!s3bMNXgMJIi$keKx0=geaq3T4cu%QD{-+Fe|G%eS&5CGqD<&zQe*{~4MyYAV;) zg#Wnu@%)jfML$okczG?n+}Lxz#c7q#`xw74l&>%OQT@<5UiLr3LGAwxnX|KZuUxlg z`Bj?)$>iyhpWdwt;pwZm#b@>9!L$7m_R01?G}a&K|Dpcn*R!P`{=N3>dVF+S(y1S@ zH!Cl`byQYq5HdKho2NhOO^xn<2G;l=6F;2(7X5MgVO{N*%UikQyM*q=zrGZkx%S&? z$#r*o4rw-PB)Ca0JoY~3T1Agl$@R@;PrKp^elC3*b3gc9{SQ-xvnzZ*-b!Oo|5i66 zCBS%>&$%UR2Tn*k95XVg&Hi-%+q+$Xzf)^`QVgg5XK0!9*6liP^Zwg=OYAp%|06R0 zQTQL>pMS#aQk#M-&9?nnQ;m}>rZqG;JfjeGYE)!*}!ub23^zq6EI{>QxU z(O1@~?b~-%FY4W^%v8Pe+H-cN%#XWw^?3K<^Iff}+jV;v+J&m@n(tMAP-Y)@Mf$gv z{|rr?e{4VeXXwe99q{3|?b##WX8g>XrxE$Mw|{p-;r-lthx?NIv*!!d@crHRhx5aH z#~;xvUd>~@mUCd|^({-%wqLsQVdIQHi#c2$&M;>Fy8h|?hw{h#h5vB=n7F)R{voTQ z_nOzg4Ei~3`n7e+vt<6PZPU6V;OFk#=lE#9+dirKgO~2h{jq#-TGu@E!XEBNzJAy4 zxRgqFSLUvZX>2$XI@7$U$bsSUyS{%@{i3cYr{~39FXs5YY0p;sVEb(TRy+H@Q~t63 z*!22a`6a!r@v=2eA6>T|5jd;jo4#zzxPIiY0}1?{W*jbF!~pZ`ZB@ARYhZTqv< zR^5M`9DDNdr;Xj$cg$41FLCZbPwSK;Y-O!BHCMleAISe<8T_s7N9{+Yx2AW)T|cgy zzUt0I-g(P&MY5N_S6Jbx?3%R7oX5=Hzv}0IhHsxgnjd+8d-@~)o_$tXRbnewR-~PJ zr>m8lck1M9?+q4?va3$*404=O{^~*L*@~|Qr5aazU9K$p&%nHB&a{>9YMwrI~`kK&PQ=`@dEEDE=+;KSNVSjmh>8-1l5p{ph=O?cAqqj~RCl z%ilcAuREn#E>d$q>hxklwmnXl@|Dodl*7l?Kw-0}(?nzwsC*woS zwkosviGOFatu5Mg`#(co^cFtJ564xnEQo#FX8HK(`mHARn|)VgB+2Wgb^A?Rdn0iN zi_nPzN9m@1AGrnLkIw%QvH!^JqR_VdqD zYQGgc9eTYNvmV-+V4iNty!1aqQ{R7vgNgqP>P}caKfIUi)!~O{*B?30_wqkO-mK?` zcRiW4u21*bPv0#c5`-0R&S7UQJYczKxoK$TYWq)8UCldx397%n{^6MYZK3-1S^9_j z<+J`Xh~&+@_A1+-ziEQjbAHt~m)2-XoJ>{SmUz?g-l^q1e|!Ha+^abJk89&^&)W5e zZ>?{6r}M}3;p^h`Y8_pjck;pcTh>oiK6bx0+>*Cd>rbobhn)WmAIjMKP3756E_-Ru z_D3}LadwA`=IWTN;5$(&uV#Bol<7>;yKsN^=Qd^;xvihY-~9g1z*_TT{cpRv>v0M{ z<|gb)@2g3C9NNWOleO{Gwzc`(Pm@}X9b9;GdZ=Z}tpzzroHid1o;_)C+yC{4w7%uL zzSu|GKbZTE?fO=J=DKSWGOkBWYyQX`{Bhb=+14wYt?xv;KVeRP!pV7v>B#~Hz48g! z&-i~R$#?J1IQ{{>SKS})uFWk06J?$~2h7?-^3w(*AUGZT3-1R9)n zGlWL;`9Hq?N0xnkT#eg@cS|4Cx7o>GyzV(sI@0)6(V1JXjI{PHKPjY>QZ}2X&QEw= zE%QP74<$VJB}_X@s_onDM1BN+Td}lyzxeAoh1tOyF834~>-~<?o|KYGkg0nOBwN75{f_kzuEt1Xl}HL{J{Qb--=yrjmsTkgrJ?>yi9fZuZKAKCgT{eFCD%JFTV!cql2 zmOkz|acYsP;fD2#_h;Mx(1|~+f7|;X=l;jsZ;Kz6_x(}+aP58A#>;QxLw=iX{Md8x zZu_Kj7Z+uUpS{WGDXrkPQ|pq)s;%=BLzc3hx}2j}X?(r@LBstm(|i9j{XdUoz*3B1d zOG{?S%`Gn4#n$<)-%3{Q?(?!w&Qrr`lHc#wZKyb>{nh;+r}%#c*6El2n6CSA_`&_= zeH>X$pC8$G+*+1+PtJ+$x3LNRE%Rgk zfqI#*^Be7Ww{HCSpW#TXbpi`Nhd-SDM`-guuF%Ex z2TlJoWSo@_yY|O6cWp+dviq92h?g%)XE1g}Ox2B@S?(s;(mRQ{HLgPR_ES~q)YdiT%dh6G!UHW&iW#4wQ6&sJLpYW4^a*v@%U>>LG-Hw3C%eF`T z=`+<_y;^=*{fC0@&Gni3x2Aua_`&_aeZCjds-8ENo>=ygz3r`uh0W}>VG*IqQ}a@% zJwBD3m!iWF;^Px}v(M}g^KZR>_y03&(f=cO`!RcW4eNrJyZE|Ss9q_%b-#U&XVP^; zm59~Yk|F%YKJEVu%`>;ycf@Z_Km7ZpjbyF<@%JoQ0`l89{+(Uw znP;~4{`(6*8}pRz@l+i9B+(@3_^mhiANSMWtTmO{@j^AeKcbi4`Ekj*B6ap}{{w-q zF6(SuHIXM=Rl@GriEwMSg4-c|m5S}_y%rZ_oq4(Pq{;efP`h>i8~ZH#AIkcN>$|P) z_HJ+gH@uW}1J*4CPZPml4JhdhK z*X+~#&v3AAf8zdI-UrO@Nqju|Zsns`w!~-t%d_NU_D;I@q{tzKbL+Q1%{&aRZ_VGh zYRO&e=#4TL`*-!9^#7r|{g3FP&;PjUKW=yRwf5e1u}kr`I|@QJDSm zgapqkQKytbdcD?cb$R;In3ramNfSJ5mUjh+&V2Ss){A#_+sSA9ZPk3d3mE_D*~Q(NQ$2D1 z@ve}?D)%koel1#bCNY0Mg&TL<8=haQEvmZh`>P6D&2_h(`U;HC zS$|u`GUN)$J zc5U^uS!XxJKfGgj+*E6~r~SM8lY3Ga`=dD3x4KSM)Bhf5yjzwx^wXT9a!+#%*)3o3 zNA1_{$equ%WMjxli+g@q`xdd!+1cMJ?S7_W!HzfDzMH=P{}nZX_*ZSEA3Csoh)I)yQje2#BcWedfDPF zUnO2QU*4;<>1R)5?9LM>p9J^^B^Po2UZTynd~3LVCx3xe&{@Uf%dAqaIQi>5dHhj? z&w8@GVui#xKUdS~rzI`8Csiz|-TAa@d(Ib;)c+V@SnO(o&+g5#pfr&Mz1+n+IFNMf`P;9PoT#~V); zx5(+%vGJ;s{>pO-++_`~t@X@%cAr^cMUEl&7xG(EwfH02VZr+5%A@e-G}whznwD+x881cK>q3LgXce;t#_>dkfArf|EBY!yYE8& zEpzhpOy%l5wbY9ISpqH4;VMjt=U<)QA0?g@*!G$aCDMHpVZSjZ~E zc=FCw>sdRCL*7+_4!-{?fAsp+nz{cOSQqa3E&oS&_M?*S$^RLIvL_f-|J09F$3p>%QQ=+_it_9sZCc@UJ)C{K(1L=(vx6F5YeYXZ6K?W_DZB`)Qv( zxp}_v5S?8y&!@}mxlH4{nXC0>&z!iuuk^vhIc1_wk36kE-r)JNe%0as419LopDeQL z1%LIHR>o&Y$1R-ZEHk@sPnq4ktt!`_sUN#PqvY{gXOne55B$EXy?9~EcB%Jjetv8g zt9aH5{M_U$XBfWk(bMy1tdmwqmTT(ns5#J8?&_Wts~G&d?BveBS6&?vSUX3+;~-1= z?S|UyoA$Z&V$nY)KTf^#?X{5Gx3Y^9W#^P-PVLV8d#Ql0YMWoh%Q(x2JET4zF$-Lh z7B=mvlUqmR{SQ36RsL_C(l`CsztXv|V@YRdWQ0k6|GNkKzr6JpR(*3NvZrKiQG1Jx z;?h_D88#p9DXpB9Se;tRvAs0rc#lEC@edNeq>lZa_oe!5`J<4sTS>Y{&rI|6wKb_*uS!Q%&%b-hRAAaheHn>8Yc@V9wW%}B|CX?$n!odH zA?M^XU8l-AHds5}a6EZZewtO_n>$%v;lGuyzDhh@5Oz7R&+TQ&P4@kc2mfdbE;{q} z+);*P)2%8@Z}q1a?K$*d65}!B=F98X2JCMBZI^m4WS#-%gZkd$wK*lF8h37ZED+*k zXDM{~HpyxBwqM1sqbA?Kv2;a_@3&6{XU@*}c$;~}d*9w`f2Urz-*xWEo4TnRRVDeS zF8K3=--zonYwC-Hm!&z&7=&gU0M`2=SvFK*YQuZ?i9*mxM?j)-^GTTfHt>3J^ z^I}SNb>x`>Yw;=WQv&;nste~8-kuY7wY|r5_Wf3|d!m~!J{A*xHdyGZ)0Yhl-~T#;?JtSHAn7y6@Jdo-(|$k zzS8vS*#~p|55}4PHd~skHnS{Q_eqSVXMlj=RGand_-$rAS-(`by6}6%yPVQjw!5#~ zU9qIs#CLPjrAYgS?5h2zuDdjaGyG{NeR*#|FXx9VtM2^!ynMj{*?O+mw-19Zaxh)D zeB0~f?C)YH)u-9C-R8+*tG9YqajNtXEfb!F;CeTLKr2Cv^wZ2a@m z_KjVbRO?D7mESub|E%u~71|`Uv-a$b@^#JOm(;K6y?wN)t$KCmHyuMqVNYel$BYgq z&)I72`NwcQ>8{EwzYY6>HlK((6nbNE({b$s60a|9T&c?b{)NTSlQ$(DIa~YXOD3>! z3->kKq|e)1%eX%HN9c#cp&!#*)vlSYK3nYlBYw%N!dtJte@j$Lc*4V>I4NS1=ZVlK zTM}e<&)m4-(?0PJ0TZJG_jz~6DqY=nx^S~xaXOobdhd~xUkzJt{IUO0`-uM*cU&y< z;eEB!+e_Na%f-!$Io_1CJTJMlF;QZ2QqzK`a~ih@8Ad0*b_&cd@mZ|#Q$Dap_ebQT z^FMUtkKCve`(wT3a-C!i%a3@$tE$t3x3V2S{B6~~@Z0*4jGx!1h3N#GXgojjGi%ty zjsF?4*USHiex!0w;_vkT3~8~<0Uz1hO1h7Cy^ol8l5Oqd*x2PIlb(h3Ov<^CocBEp}??n1G5Pn_PJcXy58 zMyZtN&$zUco&K)=y8nkt@4BTA^;^G7u|7Yl8|`OSXZDfzU6)?o9{U2%unm__Z~S!4 zM)}+mgGz@Si(5i^Q`QT6WiCB+ZhPR5?GO2XD4##fFI~ZW$S%BNf9Bc{S?$P=M_X3> z@^4xDMDtn1jWgbo>KY!EqJrBe&r3R5Q~%rg-`Rh5f7jV*IX>iXx0BxYQN82+<7rQ# zj=3bMgaxX65-MBbdF)+*5n~dA>io^=Z_Yoizb*baw7w7|wy+x0vxKV3@FVQn#q{ z<)*qiW+qCwho`BoQ(<8;`#fh(%zCwhMLR!jK9yIWx}WdI`ETvLj0n zSF90=6=xd#r|+4#b*@J|6;m-~=`TC@?vc4}B zS@U$^rHpzeo8(9PIV+lv6l82a`>>wdN8#GmhzIsD@@5&g$%nSEJyVi(s@f(?O5QqHZlJ8T>poA7)#a_;zMgwBA3gr?_;7rJ z)Y`U=PP3(E8*WQ3=#nUJ;C{;$7xvS9a@+5%&u+c%UcbkCX~eCzUE401YP-+I1tf98GZ8p9t)fBROXJr4e1y}-FJ_dz|^3#%HdviXlJ*B(-A zRB?A}6m4OPtl7!DLQ}?Tozv&vex(&2*97O>>v*^2_v!lE{10o_AMNk`wXgBR@o(8b zjPpMIG5rx1rfZikeLSzrckW`DJLe`_xoo~KZ?XBL)(Yv^=|}z<{ktSD_MhRw*8dD! z&NuIol$-mom+jt#we4+x?3W(?JA2^|zXQ2OzRFK;s1zeiB-EMYk&Bc()3*OgS&hfgG|bLJ-E8t%RYUcbUTE#SNp|V>j&4H z>$CgYqvGE@{w?#v{K%~5JxT7@>{Nd|K62@H=Hb{)ElN5G;zc>FXEsiW?Nrl!WUV$~ z^Ocpc)#sDT#rB>S%d=1SEq+k{*17VxLEX`R>X-hhR2)7s%b@@0e+GdqFQ(m{d?w7? zs$y@KTibbm*FM>U-qz>B^bMbIDgW#~YA;zb|K@x5$p_+jldqcCMoFq(stJGeyVfy% z?^TzaXzgI{wlB zNUw;|`d-tpj5D3fPoC*aTeHkSQeaO6n?aPb`uYD1-22n+>O22%EdFTxNNxS!)`u&P ze2bIVusL=2{*Q7iB?BgGv6N5W8e?sG_)Ep1MfM>fuUA%Izi=+(&6Yc#U*E1Z`ghHG zcSpX-Z?T>|LO-K@Kb*XC%HejyP1g3`)}89=V)w#7=H3ZA@iIGars_$HPWQAgS?^T) zkJxWz?_Jxsc5P(T%UQLn4y!)>)21z}bX2s@VD;|PPiMGwPb;$s@>HLEee31)OtsmW zhGtFf6K5{AUdM3!ToEJpBnS1&>=V20-zv^#U)Zm+Yl^9_m#ksjxl0Zoo`3J3+-Yl2 zZD~TU@oyRaOg?Z8Q2IHRjiJ|ZNZ{2$IUQOP1v)q4% zJ%`mZ6$&rs`|U8b{LkR+wqw_+12ZEMU+yTAcf9{f+w9Xj?~~?c4gpN-EaDStZSAF& zm%KTgq%1$pLfZZMr$24%4?WI#9Qc!&cINqpm-pA29$rc{r6#;l0}||inq_(@JAKhVfR#a^R(IK{y<}5)14<}$NjFTr0>6D`}x}R zB>snrpU>}AP)*ODzqoe~^X+@{HqM^H+hcZd!Wk>RN3)GMu1}~-J#cWvO0A>_u34`GxP1Qvm{MQxwGc*jsxFKZl-;TekvW!{BhYCZm+tW-krzy>Mh_3 z*ez6EbNs_g=VMaw)BE@z`=)YA{n_mwd_Lx)UTE!WZ#Aa;yIjA8{d+%Zyne^(bYD^X z%Tb%ZcjSz_VwQZ>P1s~yv%})R*Oe1io!FCWf5h|4uTb-x759%-@m!r9QCDVDU_J4U zpm&v19s~ zPggiq9>~v@*T1x-x_jl~We;NhJm(5&SNOno`P%-4^M9BW`$p^EIRB`7Ay5C~wF??w zF1uOZTW|gC)Vlu++CB5kCN@-9o~?J0|B%tM=0C%R=SMExt$u~@$RpW`%H?Pl={ zm#pR2?EiFeU(>YNf6_lK7dskKrlGOqj)uH3PXN=U6(^TBHo8K#BM0*yTj~F)>%#1( zN-JXeJQr|@XYZ_+`my{U_g(v&`yb4z7vOq(a(hql{qHLbe@=|giCKBH1~jnFbmwpP zKhC+2C-#4By6gD3=guMfnWCTWg#LT8H~Ht{&CF|~<v*?pPtNTY%Egxl^i!RzA zskqm=K8j~etU*gHe^m5cr|LseIq8gUB40%G{;hIUmUgstuXKa0;h ze=je8%urPIZQbj~PY>@u8XMZ}b;9FBsKyz?0|(FX+rFOsqgw8Khm~`#p6ea|z9(!i zwAcJyoIgA8$MLl>94YZe4+Pe}+)@?po9R8t%q4i%w{08C-G9t{Xq|sE{79VSbpNaS z9~$kynzVE4u8wGK)z+%jllf=GzdSDbY@h5$v6TTW*Zg;2L zSyE8(<@?%xt{VI6b*isdFRw^W@r5 z{OGNE*v{X=BGb-Yda1iCJburTO%~_>uy0(m+`jT$tasO4G!2~H8^r{9-6~@ zr{tuq$LsrBy-i>35nAN7{@G*ef1i?V?RNgvUOE4u`=j!n{QVDEE|^BVd8_ke|Ex>Z zE8eMYX;R$fDLYj;hVkun=9Qu+V%(pd{G@-*YJ-jag)gS9?~Vn{GMJPXSKxka`K2cb zpHejLUM@Vaydx~4(}HKK%*Xc~Dess!JT|$MdAIS){x`-Sll?xd`TRnBKA(;K0qE4L{PmB;w^H4}-M%EIJ$emdf;rG=5(__wTYju9+W-kA=mF|ET`R_xp%h6vutr zck>muZ|wTmVN^TI=0n2=d3!^a>kUk5^OIX{SSYNtDOLDnWbs$qNmEdn(c{J*hCN#S z4u%Jwt-KUGYp$*Jbm^}*F7E%xxA2j@_{kMn)3?u>`{%`Z)uU(5s`M4!oiWL`xP0}q zyC|^RudmNanjET{WBg+Y%(vf{I)*#-hw6znT zdt5$drl8oY5qP;r_|N8tyWZT^J9p;I?TL2;`;M=Fkd>OBX|iX(ibbY>P|vkD(1d}~h0q{-rDC#C)~i2V_){P6imapv}a@wXO8T65eo?wh-6?g9Cm+iv7P zGq0yMOK2h`{pgaw{dY#@vceNbV`*^e%Smq`yX%02fOKy{BM1JDKM%yUiI7fX#Iz{{|r1ooFDgh?-6|@-yEk< zt9*FZlYg>ZpDwO>A0Ik3Ej#0g**c}PJN_CHD^9%ft=a#dfo;}{H2eN|sl55zn;kDL zR-DrmI`2*6c6NKCm0zVRUdMg^DEyCm?r+l?+rMk|{un;eZ@FHW{ZI0v$}WqK?B8;i zoX#%LG$5Rl()EEaZP!-2TRL;gA1^>kqFV zvFCXCtxj^9uH%;9XU#Z#EV?3MC;SY2Qn@HbjVWcO*(ASPKep5#l>X0s=6U9gb!-KDQo`T=XXv$Ke`zmYXZC~n=&mi- zrRMcNjL^$BsZ|R-yI|K;WtZKFO;Rq+XF?~m9XhMXTzTq`_GA4Yy7fmg?H_Cqi)Sc_ z*5~-oa7gq&1E=b`_QFyVaorUTK7m`hmYm&OG-=17o`g~f(`OG~T9_e7?A1)DRc z%9)s%j5O;&H+MMO_sO%_Z}=+R&+y~=k!ilEve&yxt*d8yAM@TkZIVSoB=6xxyepp> zDE4bNHpcJRXYzOTKB+$(fA@dY=c!ot+37>s&PVdxk#}DHI=9rw`P&iCr}s1WeptQn zZi=Le;Uu4Qrrq=TUhWsRv9<5q<7nPpqx(_$u(`+gD7T5(%l|W^-#IW_^A%6S z6g$fLjJ)|A*6iFU;#Qa@nW54=`{sZ$vWuenN-fxwS;}p%$ zO%Co|U#l~*YO9!hZ2yMoZ_Y2MJ6|X8qxkWEhL(G*AGvtL zk6y2OGco4wkMm*2ryDQ5x@Aq%6;~GRCkuNIxatV2?0+wRNWaaF_wTfQ%+W9EB>ee) zF#AqD^YqWsF0&m)k#m|(E%|!TWElCdaa{p}pq52=^{Ez<`zV&}dnWyl< z{gA!Pk9Nn2{?k`P-&Bg4z!|0yd&MGf;uMymB2Tvc9{V5cuisdIIREDQf1K|>Y97nU!7dGXfW82y_OC)5%cC%g}w^L#z~+S=g%46HezTgYDhXZYY_ z-?@+RN9BWl#*A63?k*9ImENh+B%w3)mi%Uil?|I}Rym7(I>vwE_J)1g{~6dlUvsaj zJ1o!pUQaaa+4pGA1H4U(-+U6@{?un3*C&yb=Z*IaExI-xI^?NcTyv;r`nJG~KkU<= z?FhYNC~;`@<|G{+o^%zSUosyr?a%$s@Zcu@jqMNRkIla+{m8tpPT`N?hxT66Zhf(n z%cAaN?{X1eo1MwqyJeBZwUC0HlPWnCm~O_*pA!CP+x%1!^OdC)_65>{hwj(8sjt60 z@#pm~n*SNt)^Ym(5k7uAs&92(*tOrs#W%Z39JrrT@|)!(^Tbp0I3$nTB<;;OY9%!3 z{+UxT`)>R8iG!{KTvC6~CVk_+omcCaUdCr#RyUh?V}HY%J+HS1Ih!~a9%_C5jQau) z&-HD${xcl3-=9={zt#7*$B)$qq;l6cZvAU@J!12gJ<|f0WD1;>xb^7Nof)A|?kqjP zBcAZW`SFALADZ*uR{rMtcX2+0P3qD=nm;mEMASs>$(@pwzAeLpIAF0f#f~D~c>q-3UJ-fD6Jf3u}dauzZea)Wgr&}jX z_&75>v&=1$&(C{uyw1Pl`-SV%s_nbw1x@sCeLr0E`o4IL>WVurcg^p}EBP$fnwX#c zd&c8F>9o*o)(-4ix6gEVKiwD~S9kXQR{1xe&7HR|?ulLV$Nop}f~=}%tFxcqyYF7C zwzPER8m~k5uF5J4Xcw)Rcuc^M%X30c{|Vpne_VSX$qUq7l;io>-nEDO;oRVZ`@}x_ zUhkUhw*6A_<@-nSRn|D{oua2FXM4jfC3lU1qph`atLMMZcYD_EYj}3oY~gDA^!*w3 zKh*cXDZ9Vnc!!XW9v_F)$nUbWw-Rx~SYvh4Y3xslhdm|VW&wPuE- zhTR1bmon|^cm6YMwtwsWVfjDqjlXq&Og?O<@}qE7#y9!&&q|l}IOdt171r5!xH|2H z+mlE!hc&ay_V`pM?dQu;`n%lz!Gif>iGOEosTZu+er%R|TdCxtX15(XiY&IhgkVcGC^ZvBHT{~0##J$~dr z!_Cd{a`IPgG_!v3woYBzxaCsHv^$b^CskK-oDnjgx1&_Gt{^h@K}=+&&Woged~yP{tx zMGESdp7neE-G7xQpSO;nmX=z5(;fF|2@(GpET&bd-%!e2zpZsU%i29H&C2!Fna|Ta zkIR(2ofLT3F{G%uOe-ktDsQ)wVWe|q&3YbV{h2&^OH5ABlStpVG<(^E?%8`f9PC0A zs;aK7+qlASR_NAa3l!6C2;DQwJ-5QDR(zhl)U$Q(Q?BTl8=e+$v*LQ=t6Gx$!tPsf zsoLW$LX5BKqIzojj%>8yTdY;j)q6ducX`nqhT6~lul+phYQ7!#>z1+iYl6x~oo0pP z`x}07*(}?o>YTz;R9&liSu_7z?cOXio~{DJ_w%;KGDwL@S}HGRc{V4q@ovw@t|b4h z#dEe7WU9=Qb?v;g zW@<|A>E@>85-M`GwS}*E8L}!KAC#Kjpr4!jHM)M&>B?N$CmfMQ7fzTff2cBe`DINj zN1x3e`Gsc{CN2$b>Nm&d)%j$yY{&5k%EZzXLt9_o2tBP z_xAefqAZt+411n$cpLmaB)NY^VN}*v<7to64&GvT&TOi%t-8UBsqC@EvJ>}GX2egK z!(f~F?UD}vsre@5cP}kj@y6}-uG&2*)t7W!JWjbQ%Vu46+s?hq_RL+UIW_zCT)6PF zqg;M(pW(^XeTNk$toC4herZYkzKUaoJ>QpYU1nB%;2h&?zvpLf9d0mkU+c4-=}0)= z<|h`X9u!!ITzECfxp;SzzkFcGqnwl`vyXjM!Atmdocd6|XUF*qS9KfiZrfSCSx)(h z#XYCz87lg(=Ux5FQGalu_-5bV3V(uHXa1S;aY>Pq(c@&(7RH_LC#;S?&)a%(`!oUW z_B$5m%KCObzQgse)&9Zx*XOOjdHh(&f4bvOIQL_FGv8HBh1Vqlo9};EZ!a6D7ZPJy zCBOdWVfmHI)z4(~OI7z%FO)`k#U2)X38n{!ptL*vk;nXNWAdS`azF2+AE55_R`9Gvobf>n6djWg?Y6jjup=iXc1 z)#lm5ab!-D0sGRJ(zkyvH`Eq~KAj?FJz1rI)xcz*6leZErHqXScFuhFC{*@*P~p#T z@81sYs>_e&=1E=(EMz_Dey1X?d3)T~*&o8fF74C$QC6?|+++PC3-?=Rr!i+dUU|OW z>%!kfrO&U|X=i``q;p~I)ypS4Q~ooAm_6t5GrYKOIrB=%(gi=2-X;4#PBU+l@E-Xp%OBJAVoR?6A>{*6?HzkU^>*s5tuIo# zxJEafHLcbC{gX*)CwU|rLsJ#E%emdFwCDZd9(bijcx|?zTW50m)5A7z9&)7BuIirW zseXAm%ZIGGQAg31Ah6@{COIBmjbo-Ca9`I`NV#vKn* zCZCjKU!c-p*w|-0Yf@R?^|t$S(r+#HpQrfg?K=kBx~2nI@1V1c2-f!cYz4YeF-?3l1d$yf;D0zIQ zN@JU{tmKTu;z`+i_FVkq`#Y>AIam46EQ_g8iTUa2*&=1%szNuUx=eEWsobQ>BB@%t zz<8g(*XupnANb>DKjQs<_&-DYq?f(e93 zJx=e}=8%>O*NW(y!L-NtcvOs)d1ooN#X8n2W##-*zJh0pbCXZ~7H}=G7uEf8zJ1r7 zUwo~r9M{xN@17fU_x9Q#EUC*pt)68$K*Qwl?~(9N*rHCAV{h?#Vh= z$HbV;6^=c{!LV{h(?dVwo{zJhziXeInY(4*!vhCTGGCB)eE&Km=k2zYIe!)i_(oib zanH`*^5j`+sPrAAbKs{rE9^ne|7WUeDcfUN+*!?Su8n zY1iYEvWpA+XRIind#~cyRr`|XGU;#6djI2M{m;O1OkQ-|pX3#pnfl$rLAkEa_k1W@ zsWa)$be)ugjTdC^a(!ovZZ^ z{GGaMjZmELCYG)kU!^(x(^oQEu=lN5+|%i)d4|4_jGX8+oM*X(pIef_=k+CQm^`3_sQ#1`dq-nC(R zW~oDNQYo>@#y?>^ngZ4fxAd*U1h&h^h%&i}5I8Y+3v`doyZ|Ci|dw95wvgK7_y7|8PC)kLgF^v$tPaa3$w0 z^X*9Q{gu9 zaJ}>K_Un?m!M=NX=V@FMcVjbb4?P*c8L&sDeErc5(OgCI?Gxti4nOTQ-)4domYP)JNKB@46ay?cdvk z>A!7mL>x)!*{$KqFEXcR$~nKg2j(BTz3A83+uJ@r-T7McXOe?RgZ0-K{*|k_8LuT9 zM7!=fBKZ8=e+JEyPbL(U3-<6d_mn)_vi#(mSk5;mr$pC$vtM|Y`5))x-%Nize>ktJ zC_fx8vgXN!HS1~qRfVY(5fd~ajP>-9g>^^d-9zh1w& zrcUw0`t~<9rca`7R!qD0P$%u$43{%`Y|B<`yt8Re`#o9C1P99#|7yR^jpJ1OZFKwC zhBoUyk)O}|JX3$)DYgF~yXV;zu9E7sUHfhuPMFMNl-kmeJT2^m^2CF;=kWQlrh4wgN@a!qId)jJfr zd(Xu~(L1NgicFZaWYU7zCu~|}lbFLF-s_ovYu2PY@xH~`34CgEB{sY5P^nCB@+)9> zm0z1zQ}ko|vKpr=Tc%$8W4+)|01s`+B@lC)O$;g zBmWuB8#w5`-nMk-wLRV+yS_=J?6_LmovX(z!}zQ+cgqRBr^nCk471&@X0&@>%sj`X zS|zW7zeTj&de@t-viF6x_xj{tJ{$iou21{V@I$5k(0bwdtTpZ%e@uKlU+BPwAJy(V zJ~CzTO>~g{ZFSm^Y1=jd$(d*RKeJ}aNJ=O1eg4Ne^TGR@m%rKmuw0QfPwdCi5C0jC z#OZz9a{typ&5yy^W`|<^-flM*usMI%S=!U=#^+<-bi8*~{Y$X%fArV-P*wQ1^tStk zHicWy-npnTtOqmDxHTemGgQdVi2?Z@J?m^jA`o+o)^~Hc-L(4D&Jkt9DjE>wVs+(SLXcPx%Q3B z#uFzkmS>f}x4V5dcABT8SM<%PX}!u8HmhYcEM8a%XivYo_4L}jSDx!`oK|U9oxS31 z|L0?dfnT#k?wdsKxa;Zp%6;YCeT!>UrfycyGM>lqhT+SXWi~43j$6JytNftFf?=Ah zR;1desZ;(l2q(V`JL0Okf6C&%qmAF+{<@r+rupg54U5Mc&dV>gjBT^apKkH%SKyW< zE&8YUW4nWB^X@*YXLHvs47!u|cc%58vpWtP^_=_8 zLnZH6UG9z*e>QD+zQf}DQrqM^&&!M(Pri5PWPY%&+|2s@S=%Qn6ROG|EzH=ndH1e) zr?N8h%A2RZVwW(r^?c>3aBEJ6F z^O>-v1w+|^*M7;*BO56x%n$ryfXas=Rbqy7Yn7f>0AqgZIVr; z427!db}r|=pm6;3j?ec^i|(-7#Kp|5Z}}(Uvm?MR&f&?oqo(mSz5RKMW-IEM&FQN! zX_z>}SpVMRYx6$o$Ib0^o_lF?mA>7T@BL?FtG2QK{F9+R?bD9wLM@MXF6XRS{OO-e z&`*aa>6a(pnyFOjlDgT^<Ru%eA`8lWU*gbzyqdP0!c=Nx4r4t1EDqa+ye;C?b>GD>( zo5BCfGPBgYFPB|T7hSp3&=v87KW_1BZ=Hk_XWJe$7*xr}AO3aKQ#rkNN>QYr-C|K4 zpTr#xciMciklXUE+ke3y*B*hgNk$^IkMGQ?nb>T!rrxN&yion?GM}IR1{Tu&mJ;VQ z!dZ7rtY@BgY^HAHi>w=wQwtvXuBzZ-*F9+QOYT2IYrVt$59wE0_owIgaBuZm-l=n7 z0{`BBJvZYQy#2cV`LVON%otNx3}b`}n;Y0)|5^Qu>pw%Y&AXQQoBNMm4Lg&3BrIoj zUx;*?{006)dvZ=c?!4%nR(C?-pna>SZ~yuSnpbbic5-Pfn!zd(=m5epXI2%4=7nEd zcgARISjBfKhQ(G-`LsVz{>PU$<@kRFmUnaA?5o$@P&i-wtobi*UH`e+?i(NNH?4p0 z{P%qIZ>(GVAI?59tE#_#X8)()pW$Z+%sZN|%f4Q6B}n^blz5_Kw{r8GYc{(|Hrl%>&k@Rg_437%KPY{F)*KIrh) z3_N!wsBrRe+tmxMmduquCcnjQA>YQ@$|V`O)he6rN|^f#vFWg#b1ZIUw_)&2`FHNx z#JE3MAHMxwk(=~8K;Pt}q_XR+yW#sSR_+OBp5HBX@%XHjDyLFB{_MD|zG~&mWA;`r zR$L13>8Qz_RVF7VXR&E^$d2vvy+7DZ*XDTC&;B+@sAhKoC+lh9X$gEbd%j4n%YRgU zM6;%LMdUlNm+4Dysm`4e_WJjZg+aF+?2i-_`R_G<_`Y?ke#bxc%^$8#xjuRJO#hp2 z9|dclRC~a7vb&N|q$9O%se9-f4cfnh?27OkkaPzO1;+lfM@Bt)~AO zYHnx=&MdI_dH(XJXM5QX?vw9-ux#_SSpF!Y1!-G}!Th_HMk=$}x^Va=0-wb`0-S+(OZ4O)U zB*|&23_J=5yj&wMwjwHCq@tDYt@9Bf<5cfc;WdG7`}L;_GH$-V z)os#>+4K6WWlgebJEN!0>s(QzbNP?rZ`arJS?V}{><^0Py}SLJeXmV%^(KkbZ5;b= z3AJ^!{N_nNtI;yi?C32|?cJyBGxP<27(Z0ozP3X9p?KGx;MEoO0lm6g*LwZ3cpH4g zU(njjrHd=7>F8AHXVU#ESM1aKQ+3J4_<@EE_lHxt?rtAmZt$)byz6T0@=tGfh|Xv4 z?b#hJb5wl%#ASHq{CLv;ZT9kVNqb|l11ys&&+jXK+Y@f`m_W=Gt3Aug}=D zeXbGjiJAXo8VtXDeQfV!tF`)=-K8JwPi;M3X=R@3dHeeS|HJcZjnsu=lAj*4P`3G3 zvcAk*d-tT=;50wu&kUN^eKxLU`B^sg{Pw6Uy{m_l^Bz=nW%?T~`S-1OzN26CBnz1+ zBR+vAkFTxE@~S(WCd~XSCMATI*>?9Eix8j2m#@Q1SN85*JA0+PPS$~6!F@+g#QL4= z@5pWGmQ;B>l|`tw!)|JF#PuiFOun{xvnpine};;L(CE8GTi>pDoW9sD_C@BX0P@Mg(0UaMc{4(92VR=4sC z&k((n)1~}r`p?FsQ45typQt_pMT4|%Kf3OSFWA(X7Ooxf)TArjWaa07`6B% zU!P;2*(~M3`0t(B#4Eq+N-wq_(fSbFc1Fv6Qp}po)yuiPJ)TO|Z{Z8znPyYKUUlQ5 zi7%f$+pDT|>uZg&12+6Sds*!KndqL!*7yHKPO#!zZt=S3@7n(iEXDsBnzXX)KLoFq z7k~Auy~n-TWIm^7E{|HS^l!)fB{O`^HGkjuMnl>8zFo#~uY3O)npXX1I4Jt{{14TA za}ysg`KUMlqx_*;-TxWV4{Kh&b@GjRiAuh|;gz10mF%nj++8i>rZt!I(-ogpCR4p{ z&S%>(`*85>SHBi`cdwlPSLp5?i;jd`J*$t$jMyyK`1<{OeoX4j<~!R@M6B7&@*qLT zX&$@d0hy1!Vv{SHK6%O|gqKC7y>7C%JO1(REA1EWf2c2iBmCI^hi3fIA2rMmBEQ(m zUH0Ab@4}T*TfbtSu(D$jk29H8nN0HVuG!eY_`Hx=^scBlyYAbSb7nUOrk|gD$F+P( zZ5vD5txIZWCbMuq(>NY>-mgCD{PnLZQnp8XTlAP!J94!=t7GK-a`12VSMz^d)BiKD zJ+J8hruTR5`kLwo=f!XTIDdGb&*g9%;6dVZFq;%IEn{&)+!S zb~7*USl%M8i|)q?FP2vou*#=t{ITE0%kz(l^A?u;3*FRo^rz+V4_&1T^9ABOD_2ZXdU{&$;Fka`-uTep)$Tkh zhqGp;_EyUW{}a8v$Y9!I)3dqjlA}xSZCiPyFps79&cDzLf2^$H8@8V2jXxU2^XuB2 z@H4*pZ~0U7#pf_91fAM>t3u}Os;IC=vCizjOIK{kD*V@<z<~wk?}(M0_Hh+^r7l4!iQzZ2NzP&be>4eVp2LcU^rK%gNk5 zJX6(`cHXGdcoiq|qjp_|zw1@~HCy6^I+U-iRm#7c6&E~H*+|b^XcDV-li@U*4?K3# zeU}e!6V9?aI%WFwNoqL@?g$2MikN<=$wT*3pX1L?Ws9Xx+OuDrp3nd0kNtz+l3)7; zT#HwpFHP3}=DKuAx1{k#yO7Dkm!C6kTUIX9H*>XBU%&j}OSh(XD)jkAz4e)9#!>t& zp)TL>x_X9nn^E!9JOj4Ety?FZV!fKbPI>3P-ANyA_wUW(Gu)BD*mvXmy8Ph%JFli@ zu1lYk>BcNx`*dH+=l;Aahr?IuEw1=A_w^l*dx?oVHmY0xXW;i*b^e(l`*Mk2-xn^q zbAYj@FSA#2^2>Q!h3>3)V||jV?2~`|(#Rc~SVb4v?klL4YVu?{(eR0VdDWDAGa1?Q z3a^xlw5epxNGPy4Z+ku~(=IaRxy5t!rTmhm?3X8>U#s$RQ{egdDuyDxE5DC~IL>kh z?F!{iUaEWeiN^UWzk(!#9Cyo`FJ<{EFH_|4#(Samox)k6v6n>k?DD68M#6jo*4f|t z@@&pJA*030wtgB?H#VELPuKeQ)8p6$#@8=BF4#C2zr9sF`MSjM<=0lfVQhRZDKkmS zQGJs1v>QK;*t+8FU|e<=kQYn z=JQoKtuk)i*>PkdEg8+Px&ynD^ITCoip7XKMu zhn_Axo|HDZB2{~y@x)t;?woQE;?Y;P`?9X=l)vKvn+qox?DgKvv;OFHU1CyCO55A! zzQ6w&7B1fyKI2W!O6$!p4=kJUulTCj*8{H)E?3e{|KY~KTK&Q5U#Ry6{>(j7Z2E3m zdoG>-%pt`5?5oW3RD&Hq9oS{kU(ZUJ{O8Ez2Ez+UtEaGNe=e2wv;MMtr|*rs$Lv0S zU9r5BgImu%$>R96xyo-GI3FuF7|-|1xWQU<;-J%FjpwSn>gQLv&(FwRTrTl|!QQH- zkEeN3mNWZ! zeVu<+XP#b|&Vj`rswe&oSp8}K>{(%<=@zdW=dU$zb2cmMo9k<>rn*zfeWs-(LqYMS zna^h&4F3H2z>-wu{=>^O?J`0)m^dA%NHvX7xKi}6+ z{CD83Ri297jIY?go(^I7(B9)(h%$!~;K2teI;`#NZ;bjx=XXdQ>#AvzyT63v)piMagD>(AL;fr`erQk^S761pF}pyP?UUy_hjW?JQ)fMy zvAv0nF-ha*XF=U_pT7lN5)S_HcEMqzV;6s(Isa_6l~zmgq*a{uQ`I|4*|+`ZUB|@i zmO8^|;i)HvGGXiA)OiI9t!*R?VY+#ZKnf6sNR!p3=E~m zgAC_Y`m=AJyY5t3TOc#T@*n=-%PMv(`_Ir-=gKUw=E?FntAye&#~;Rgi@EsRbM`Us zSuZy;UcDB4>fPPD9>=%K&A-;E5~>s1!Q)^ZE?s}?>w$k;Gw&z&o;|7ZIP>vRvqL}E zn%>rKefnsIrv&@TxF5&(FMP;0nQyvu#kU)8x2$J+`JaLRpS=5{^8$Aq@_kSD?h47e7N3kGQZ*G>auI>M*dEx8R2{*ScIOX)3c~VvR0h!17!LweiJhe|~<=&_iJN@fvAI(-* z)|$__Zob)ggPWq?<9Uqdt_C(NR&R8gYPEOQ3C_@VE}oVq_u`|DrHmO7+B3Wa>hFoJ zEm>{0no~9WJM)~vI-g&W6v6H(-4cQT+AsuV?Gx zROaWgM!aEZa(L|{wo<3dU0r=rRmn;%Ytf#Df+DjOlCrO?OC?S{w_EaM<@5I9{g%h~ zd#&HW*du)2bn>0lm5FZK12qHwb~S&l%`)hgxm})YA#2s;@q}0Z>~VR0+pOxe9zU0M z#tn?CUb$>n->lWrmQeYiT%juTZqmD3?@lUqE-}jEacR(qDP!BbIcs{nwIQ>$*WdT` zFQb0RM3r1$^W9(Ru#At}9Z93Abepi*d%60KnKtF@y%Bxd$b-$gXX5SkKG$Eh|B<@+ zQOKU-Kf^)S8uy2ldR@+s@;PIF8s;TTI?M9yjRiyRy~qhoM;M!oC$ZKgypZC#^}g5S zw{{5M_w4}(bCx!ImUHJ=u<^jtneH|`*Du9ybU${w|A#vNACdOMRo}Z6_Fa1Np>M6) z?6r=PY}uugIkf~h*|X*z;rZAf7+Ybo$rmAs5I^UaKQUuTi}@%|rgz~5yxrH}4+#OeNs zuY9Ea`#p2UE&JPF-b#hu7oD>#LHbmUc);!LxhEx09#CCJyU zEwa?=>GV8C<|hBB-^$PuEJPR?pOwIgUjg~}0koO5bc+^iNAP|mgabJudE{eu&UpFzCFbIFfj|Epg` zujss6ztrs8_Lqgi&V>RqWVAK<^r9v272ex!|KP#?ADZe1&-cV{HgB)v{G!_u060 zir(9aC$0wx`1{W|v?tvr{Jj0f{KNklZhSv(|G_)HQ)>B<`+_$z?~8AFnZJM2+voEh zN$(EhICfE?kxl*H>uHI*^S<8QHvc~Z+lRV)`#AnK@6YN@I)8lDpIc`AAB8T-TCSHb z*m8MU@6u_K%Vk=4_bhwdu)8yd>&>Cd>!l_yRQ*=+`HNbq(xcgT{s#VVe0(?lvHl-n z_HX_3kAPNS%dLF$Iv_pCg=^BefSSK%|7L6d?Ax==>g(IPZx8-GV>D+{<&-M^IEI(6 z<1ZcmBf|gf4Cq#XH2oiH-;Y|yv;O#e@Snn-k9U4G{hjW0b@7#yJy%SHO)kqgMXZ`X zd)lF%WSgG<3?_9NA2qM#MM)$@tPP#06e262p)B7hxqjZEr(ah-O4XW`Q{uI2N=}#6 zy&a~eAqV?d4}``os1m%kMd8D%7u!yjS4*l+E-C2SU2VA7JK~S2D{~EdrCPamlW*`_@r@2>6hl)xcizXbx+^oZ(DDtoc)RSqSFSopX$Y}t>MeR zE_=QGu+Ijo-0r%EDQr#_#$xBs7=C$?X{s;KEgimbW0I1d_gkAY7RMg{yqKTN*PktW z_KchNNxO_k!DkXmPQ1R?7k**I8{Z|F8!AeJK7IK4ece%ohGQ1zizjI%8oliQwz^Sf zR?D6Rw_AJax7gO&OVzfVPt=a_nRw@wIY%hZ;-cFN-#6ZGd>`?v>8|#c7IeTAvbro5s{jC-b9$nLr< zd0PL@ttE40u87LESxwZ4TaeB+wLF=1bN{7j5nL1Oqe=vM407I{u-@o!;${WAOz@+v zpXWUIDtk^-eQL_w4dw+5$FoB1VpJv>|55n2h2f`{QHyPx@vE%;tj>H#nrE4@r3D;c zp)&bWi}kad4@SjrUpfeRXT>Q=B~&_dI@Pvhn0LHPnL8j5OntVo_X--5aM;+#2+KSJhb-#MJ|WN-2=?qt2*>9e=dIe(oyJ6vFxSf{u$}>^Zzr%dKWWyic1$bD6_9v^?Jf` z?%T^(tXz9{&YwF842*9y1fB=YyxVt|*U;RWVJ{>5rFpk!?y9wYx#?7pUW4fK6)&&+ zXV4ORdOT6Jb~&@m%rg^L<-WYkyf*8* zWSsLh|IlM*^V(ng-P|VnpCPsJmKFa}GxuB3&Bu(7M)o}~{8`xCbBVFV(0boH|5N-` znPtwOi~P6hJg8j2TGQZpnoo06;(vx~yf>a!eGJq+xw%@{WM0mk-d1;(u54vZiHG(( zUwf+LZOVIlBW+HMB&Yi2rApiGs z!pfCbynK@Icprz&x5aO(?`&hUd|`DdCMj^@oH@yT`?gGOYUbJ#wshKmhAmUyT;g4Q z%rnXA%ZlWQH5+b67@WA{>#!=OHF5ji=pOAms|-W$ews6fp}IIw_vABanS-((v1jLb zzJELa-2MgqKa3af{|NlgAjv0PGV9!|Bl8}gnB9M9Kf~MHOZbM)%(M_T~Hf z`~E+ScNNu1{K@Lw&a|s-!tMH&H12uxr&jEolvSASt6s7B+d`}0l`Ar@-j|)o=qeHl zUr5>XqB!u(GS|n~md}27C02uJ%?igqhVe7@e<+#yXIlKm_EshL(BJ-DZy%*58619d zopDsq5LDe`ngs-M+J>QRSom>`y#TROcT5asAx$k1<>R zGaTu6*7x11QpXwdx8vL^bIs&Q`nLT`Nqn!qP1FE5AaVtUn8ga zR%x-m#2t>;m+wt{%DQp)wtMsDzM8v!A#3z(-wn<3rw)9|+Wj<@g=hOm`KSxKI&Qm3 zY?nK1xvJ30zrf=~fz_3JFOPKQRh7S)wjs7AWvlu2Iw~U1N?zvfqM0w4BTOs=|^ltysxXW8E>gX3N^)mW<_duTARksr!r5&60 zAN?%z?fF)(JE^ga6DWVTYNjn4|JD6|XAZSu7VW^KDJ!@V1;o{>+)}bvs0UO5RMFo@ci0f#KYL z_pVHeTiC+Gyj!>boe-b9ahdc6)UEbc%2E5N5`XG9yj<=5kZufrGaEs6NEy*GO5)2cqZudZU# z9?UD7c%vt6l6OGk=Ib}UEIsph!{d!>Ohvct+`g;pQ|c96zaRH(G<(~fTE67{eA{33 z;*aKX_s6l7`|eli>L%+J7Z=+6i%4L%HlO4zeEy!w%NVy<2(A@cpd0@o#5O zjB;b)Vc6aH_S4GuCtijvd;H$L#5y|Y+q#dko|DdQcZuO(pZ@!#o1f7tt806g&6aOl z{CQcytM zYRMWWxVD|B2w+fQW8gY}(d61Su}7c2p4iw?x#=7SpW`b_=4p?wFZEsY!zEk5du8ky zVZXjGedVWn9$7v9vH4YD-<)ex*DlHyTDG)e(v2TwH#Z2`@3(mVlzAa<`yYm;6_{eHDjsn51+^;0ePY32VJ za{6YzoPXIg`N%zm*+(ZI=iOx$9nCQ9+eD^2!WSOzd~Ca8+ zeyhr?ZHt!X+}0C*H@nT^)cP1rh4j8Fv+~>PZVFy8^)zIev+SG2&inwY$6ubUcrEqh z*OilU1rxVVm$BZo_=W9%hNXh5?(Z$HXi4PGGLOH`xA42N$DXbBC7*fv-gA#P7sPkWF9_kX-#!27wWa5L?@rWKU+8z~UcKlmeVzFl(msr-^YPW!s`2_Eyb-;?*Jbj2Rmm5a{)oxk+hX|4^-PgR$GQUChqwcBmK?H{^y zrWe}G+H#mvK>pR|3vXYa|FU?-Bwll;e+MVACw`mjRHIX%^)BRm4d1`{UZ%Ib&$GU| zRG)GCtlW|V689p`xmDH0&HIv7=)WwhFlNhy)3uU98p?k?<(&hwtoB6RJurcj_ptXq z_o=5h&ndocQ*umW^IZe2`mDU^=fkW|1RboJR6NO6>+HGx_BXh-CeEL_UC+rgmfY(^Bg{`ouN2vQ!zZ%)ah~zSTMdfU8AZ~PZ;X$dMlQNxHlyp$jq~x( z!)9H5a`^AX>l1$_t*xE^cE6I{Be!UUUowvxG_tCErU}=5_;b)XL7>9s+lpkz3w?!u zUb|kC(7Cy!SnST4oRE24#+x^qBw+p*&;rLreZEZ}MvT=Y2eXNTpom~Ag@`E&U8 zZOwBjVEY=lqpFBEtm4qghU0xZzpr}XvR%r)V)e`0y!~q#w-+9N+7rA%=sA}K^IG@K znNP~UuFMabysvrP{<7|4k1rGlDpeXzmEK##A5~p+owz>E; zpMF)IzHl*v_q=_JFD;$lu*0_U*OhRt)%vF=zJBj|VQ0ifpMBXM`=@nYXV*T>Digq< zai`{##h=VH|J|SKIV2XnD2sJl)li;nQ()Y4d56)T{dZ;mGgx_w#tBY5VH5mkLvLgM zY>5+pUc3s(6LPsyhyRTdUXkiepDo z?Zz)lCvKY%|6GD0d8^W)Aj4_5RMhQTbvmCOD7^5PW#0bhrnB!%O5AaL{;8(l?zSg* zj}_Seja=cgK;hQSug{jS3+bOKaI=)nTDpUA!pgh7ue#^48O}-ny4+ju?t*=ntQhZ` zO7>0>m998(I(?u0p>=}!V)M>@_PMU}{IqMRvP}8P-8Z;`O`3cDzS}8zR@<=WVc9pE z@}-eGZ+Ti5ILcpJGV{B|q5c&j2UP5LhTU=~W7wt{_4rKLp`s%i@?Li7)-_iRn>b?v zx?3K%@z0UFA}-rHrRLs_2fqWk+ViJYybrKhGfC#xq|A?Jl^PvirOsrt zUiedquPT=e4}W3{f2wRZ_mxv_)T!7H`{z!4x@r32{MXxdhqu;@7He&csWGZEA?*fOpIMp`*8Di^*LY9)_to# zIQNw99^Q`!Wme2wzojWe_=0nZ-Q42%rtjOGF8zvEE?ToHV!`p?_}%kAq<6i)XlG@t zaB{~bKj$*-@;JNP^{Rbq?9Tk%)$!+kgQ%*zz+v-;LE#~FA}GV+$sTQsC-V9|T3qNL zFePXG@B0_7Ke7KK+qjauzGXgF?snNrS>KCt{(aNk_MhR+e}=Vn`>ZC|&AI-#{*UZ* zrIQcmH-G#U7k|osfuNK9iuJS4KYf3(|NF#Osa3vr{)by)iY`@m>BY%Ci%ccC( zdHaInKvcYG!W8zOpD(k&yV|+X@MxQS^@=s$+E30cS{iQg^~qoDxMfCncC1#JnK)TK zabjqm(x)ePTYUuQ$XuPqpDKUi^vM^G*Lo>Q`%GH($-X6cQq2kX^4}&A_g~fN&*D~} zbMD%voq}!>GY7 z_5HYg*Pe;7XtMK8Zu}XtDO&TxADz(6&q``o&RafT>iVF%Z0F>_iO+l=$xMna%;B^A zW?^ysxu^MzS-h)ywp4esisx@>mXqYHB*mk6!SYnhX)!oOnWE^)JMM!fT$sd$7JDoZ|i z)Oz9Zj>qR*lCK2$mKJ8W`BWya6K|@1P`X;bhti^JML=>Iig7?peFoZpJxn{eaD8%N)vj_{@6VolU!Q&SjNns&#=~RLi?}%G>`l zw4{l225FzRH03<3Q?O>CgT!NJ)8MIDg@a zC4X;Ey;pplrKe6*CG1md%ukP{PtH4DdA#C3!|Q8RC9FGD=k`p$?kS^j$=A3tTO!E& zSA+HS@`pF{?BwH}cIn99+NV3;U`?U(x5ZiW?+UK4H@9!ovgeK3-k$&P(w3|30Uz0x z|La?KoI7_1Q^>qK^7||#UPp)DQ*QrOyDg$bH|g2qqt~;yeGlH8u<@pgyW#EqA9vny zEIxkv+P3Aat0x9c-q#xTQM*R+O4zGQuP!}57OZUZJ+)=y%T4y_{ z8K2@EO`ksY7n>pftZ2^}Pj$wAm3e=6C9Tbrejh_pzcT_JT33{#MqnlxlwA1E2T4k znQ(8qC!(VBu&Sr(%lRu|d{a)tvB8eo1 z+;b=XMZA3^ae~?6anHQvA6C>j7G^HUe4D&{rb_PNGdmcX4x}%umtQYhR=zXv#-vBl z_U+d`b$dSEcU4s~b5lUne1&hE-{c|-Ldng1j{+?_gi z^Q)*WOIV*tNODV_&;8eZ{B`6$nNRk+7H@dj^)m6ppL*US;^l4Dz5Ypi0vjY1dHBrhx7b=;-qJ1Y-+s&6 zx0LHYLrzJbS;3?Gwx9pL&%3c^t-R;#W48`Y`(09YditcyV67jo`@gL$x*b@waat7X z{l4Xs-p);Kx{){OS+ci#pFu2p z(Km@TCKWcbO%k^z_Dp(ywc(uSJAbcf7P&R@OY;IIXB$mEH0SU9g17H#`In1qt?I~~ z<^5r2p6WzpsVzGMl>`;rmABO`wwt?Z%B}0)qHT}#>3!91Wt`i1#`3%U^RDaNuG{x- zsXm+ct@O&w&Af}%Y>sj**15ZPztriE;!SavyvyCX&E+jSRd~1XB+vPM<=(A`9d8m& z7hLjwW*2Q4X1%k1ZH8OT38joDz3Bl3xBZ!WH2-F;JvY~M#>6PyRnqSb|GCXLmDuU5 zvuDolx{_<_9-9iC%+K{cw!mvgTFl$$`=geYy{%TCxh17$Nx5i+`L`D5oQd77%q((t zZHs5+Z(F=;Mc-Eo3wurGb(*IOG^9)V;&**2oUq`@S*Ou;@%vsd?X^sqon{U8Xm3bFKz1&#Z+2^q@%eYZ^W7)3-t)HBJ)~uRlTlg|4 z+VseVJkR9br4}q@B2keppA1WMHWqm(XZ%W=z3QaQ#Z^b-El>3%_x-tGbSP5m#+D+B zQs3L=a~^isUuXZY=C0H0W+{apCO>xz$;V#~{L$PlzI(xq=AAz~Uj}}7x_zULc+-N< z_Zk#;UYY0I+}E^NU-r!Gx|gr#M^zqaUU1BCPH`Z|k)S!rWp^HQ$sO@7%nLZ+$A6Dm z?yGR()w&Os&uy+uepkeJ&Z&=cnb@b}wjJlUriGLVd3-ap%)4uSdD+ZxiT-D{1=YdJ z6E&a6F5hAMN>S~IyvF&p4BKVWS(dYisyE*Wey3tI?TLcLpUgG$3Z-Y%?6p{uVf#WW zy6Z;A{2ckU;_Qk$UopPE)FPjed`$fJy?I+q7~G2H+qql*KD_ ztoJdvjiX4)J%nKyr4X2Q&Xw|8&IA6sY5 z7d?4X@7}_B`>tG5yxn^H@4I>}nTMGYa(AWgbuSb;tfn$?#^lz=FPr1{)_+J(y|ixX z$6I2F&va&4i^@F6-SeM8FuplVY*A%o;pvsq?STj7uY|vQ{zvj|%cdVsKdt&XDYLcW z=S-*bC+&MHZZ5v2?#s9QolCmPn$jO$Wc>H)7WuQQzb$e(=AXOd-=h7(_7C3Z{^~zs z-yHVpKxLTKk-1f}-(vo;@Sob}-Ld4~_O|$YwmSRE>h!Y&53aC1mdND$N9aMhpcKrM}-|dh6+9Ipa&AiHy5~TtA zt5x!ze7>|>zH#D##E*=>lW)JhJX=D(X3l?x)}mWAEA`td~v99qe^srtH`vgc8Q zo}ivJ=@n{{mw0_ApDC27?*BO7-@mHuThJ^X!)e7EHm5XLTAcV}7*)p**6n-sUvBFn z<@Yr=Smf^aIarH1vr8)` zoH(`Qxy?3?qZxlEF8c6i{f_46ZxyNT0b^BC{^j41V*32h) zl2x0U51de5zu>6jx*t~ZZz8vzc)DHeS#my0-p`reJ`^pVeUVCL<`nd@H*$ND{no+kHxfvoR zu&Vu?*!FwxuF~ZyiO0^(v^<}GZpk#Y+QoUE76+E5@8I?JH<=XjU>)b*SE}%oc^eOczUa%?2-Q4+G5{n*TeSh+SXPu z;q>>1-BlZ$CmFqBUU&7@VYLl5#t(i+&$is!8zsp%P4)P+OC8Uz$Y-c?u|@DO&Y5_5 zUiR{j@`sckto8E^K4Km=G0M&6#iAa=?CJK00vcOoKiTcM_>DW)({JaRle&ACu*hor zMcmxKCDP+uS@R}?GP#?-f_zWklPNPy*xDYHv9&kqn*N)NZ(FA}$!@&6KxLKiypX8} z6MuyICP!YWQ?6(-xyd5T`K`ZH(RcR;JRaU+?V>Xmfcy7~R{Ojt^?yxse*Z)NF zH!97$?y+O;(jBaMd8&>xIhl)kN`g4K?@xXi87K0=qUp}7TYZ<=??sq@x_|fX%f`kZ zVb`1f$S->tRZ{i7^9Iw8S(lDZubKS8P_4MZ;_-F6tIdz@3&&UdXE-9~yC>XN?BSEB zWghhbY}Oxt25DWpaPDK>{=!GOg;Nz7yu>sf_mtYMPJ8UQ^+zz*os%Zvv*t`(WpUnY z=egSL^*UjXUYg0XZ{fH5B&go;{O30@{%9gP5ymKZ* zW3v6>*YhlG*+p#~`VZfe$nOZ>d?)sd(#H0gsT0jByR4b#@2Pbc)!V;j>64F{Q88J{ zCnBb@G5%+$pSN%M()4?;%4dE3yKeHbwFi67C~Vu-ld@ZgjnAsTZr<08c76MKnUC(X z?oFMY++y95S>RJ$X-JzhBjrTdijgt@)Jqv$&zKp|*ahziEd~R@LP_c43z|kDqW* zew8`Nmv3#3g4oQuH%l7!KbKz`*mTPKMBgP9WxnEhQ};jY^*ijl@AJDiHGeyt7H#IS zyS%mk@+|$c3nUL8DmOU0iBZ{8@@M0L+dr)Lnk|zROuL!s4@M^1(m*=cdXFXk3{Uu{meW%}$xWcfQJ>T6oO!)`RpImF;0i z4hwX77nm=UX?*$qz;U^$ZvPnqOXqmY-H6dYEoUhsP;aMQ_hIXofBCn>)XtxKwfxy} z3(?u@?<`x*Qf~IKW69kOa&`$8Czq#f*RvM69=)qSDgE?zi*%Jz3(4iLzOOF$z3;>A zInSS-&*^Fo&pfAWu;}(W!|lKC?fnpG;d_3;emKppkg+)7|HcR(&^uEB3#B+ud*sH=_zDlY*vu^&Ro$&an@(!hC z!gFT?f7X;xDS43oGo*a^+o08MyUVsKD^I?+P$+-m?Byo0eAdF90cXnR%v~<=SZ%ex z{Cu^*u6=hz)qh>oHfeakpOk4S_QSe7C860T)hM4Hp=_ip07%td-}(p;jo!V7C6)KtW_p=3Jqi05W0^M5?eaXwf6cd+ z%=gtSY$!hX+>%)|z(c8ix@D^Jyg!2B={r*!n>N1kbFcGUWN?M6h}9+jUfz?Q17LcF+5J@ncO!uX?xQl{&r0wpma-Hg3xYJR-qUXWY``kZ*@}+*Py6n}u zSX_MF#>0C)M0{ZX&k(<0rA_&R)$5smtb6Xc{}b!ih1^=l6;fqVia13zts5s7cFccz z=j_3|7ygN?SJW`)Sub5%FO@UlO;L5NFY716^LcYu2dL~mc6WDl;c>~wA6Mpq_4(ODs*^|2Y zzHOF7stzAxz|ZH`m#SQ<^s~HsOl$T|p*yoqF@IaL;{J98{;a0Q+{K@IKF=zcxmdEd ziS5A2_W`Gv-1clx{WVotd2djXw9etviJ#u__*qYU>-Sslb?S_qTkja3KYMI>*5vpz zx4U*9559BtwtZP`vGBG;#EdyBe)c)O_KI$}bX!%S@o?dMuW1=qaxEF=9Vl5bC-3<8 z&U3aK?0_VZ1Nhdw!qiHI0XtxMdGa z)zK?F9{RtqRV7E9 zESe-bcj0gUnWr?5*&Kb{w^zS`OWEFflKcn zuLvl<;ug_2^{SSs!rm8KKPj0i>(0D>G2nQq%(;URW|y}-zW(PwgYwJZkZGXR&>$SB z#cJew-fP-yg@X$?RGq@*cFO;F`Jdr+_(S(UvYBf()m@0^TKk{j`Ly;*h3C>WCl|B- zXK?*D_4l@_>i-O1d+S*14_>!7f9v}|;`+1H4|nG4*}Y4z`Wf?aY4_pypYxwoMP_@? zdj8DB&Y;=#s-Df%wn#sVS+*Z1xYzw>nEu%JV}JKMo5Ux+)!!_WJ^t)?+;zuAfTx7H z|JaVxca75a{8YX3n4SB6@!~-Hwuig6-WU1LU~ulCnsJ|D|GDM)0w&#CCoE%gl>Nl($+tS&F!!R{{?cwX znFmR;x-zP5dCETA`=cc3y^;M!sPuXM*h6RcoIWjh!iMYBvR&I76nh&B9v*uCdVbxU z`l#;6&ADFA%D$4dhZ%Yg^m)F28}M$~q?ENc7k+5>opssux=Q}Upp*a7V%oku|GX~h zX3bi@e{rD&Gc^o%Tb`{7Ka`U4qx#X&v^?x!>HP&7PinUNCpZ%bxn) zjEbm>Z)?ogyv;MPoBR7poo1%$hi`Ky_qfkr?|=E;BCkuE)U4<1`B3*Uo>|L?t?K!I zhO1F>a!u*89=QC>SN+5^d5378R__@qSp1ov`hmXek4y%8uMMeg?a%7^=R?&n9xvzqCwj@`*yqD%_}t&e zHmy!<6D>X|ceUGi=?3dXKc57di{Ek2^D}hWXDCpaZL)ICyV#`;^40U|m*#9*vTNSL zzC}g`o)13uzm7Efo+*2V>uEF(pYipH$Lgi7WN)1xc!kHK%1wry4F;a7 zcS)ar&XZ7H^~0~1MAc_!6)rk7^S6q9__<>b*Gbg)Lvdr-q3$)+eXK}e+vrxewa>Q^V;h95r0A7 z!a~zezWtU@id^?jNoLS-RuyG9!8Ip=r$lRW#qwj@cB!}T->`*u&dTc5TM|@umK~4z z{JMYT;*1+f6~`kte2{IuHhr<%r}L-o-kolj{Df!2afvVQL-weDcy{{mE|ofkk20U! z_9d82%VMmaQxv(^UHf>=)$=?*{O%vT_IBNmK8v}Ng`%Q7oFzSFjC;O(v$>|$Ub_5c(2XpHoUZiR-a?J+#gb#TuPZnL*%j?dHfKe&%;%g41> zrrRm(nsnT~_nYzaY_H0n!8_Sy9^ab0^@Z!@O=4R^P_QUcA8h&<}beWNMrG*#~lWT);mSt`FJ+7;?VE6*H15cx!s`K|W>k6Gp!zRTRTwI!bC?Y(=)Uc|ln?)}tL!!Dz<`Z4qM{PkW{8&4NYMbG~czVcgy z_}Qx-8TTHs9afirb?}XG&xUVDo&QcNv6xh;5If?Jg_J z?nuk)(yCl%@h0xF%jP?byH7t6{4{reYuug>PoJLgxoB;obzpbygY?@gU)~5@kePRG zQT#-!=1JvA+h+&fKft+Fr1fV0XYFZ&^M1DVKB3#zdEGhvQRmEbU$LWNAA47C z+~g_SfB8z)wdylncCHG7^Zfkkru+^2x@7O{Qw&a<U2L!C@qGVY?R5)x=~Xm&J~I8=rn5%= zzfaHqI?3SlwydQVwiAW!tky}5|K6@MC;j)mA8&ncPPgte{uO-U#PgMw&sYAsWUX1l zIJrM2X+!i>*~XNRROV-K&qaE*^X|AYummk>KNEO=yRGJB1J%vn+l=2w#qv0Lzg3>Z z@cQz{m2cl2(tmF^r$pYXem?m9Idg1jndcVoL&Q}@k%a1CtwSM6IIpt&jf~7k)dMvgzPvP4? zHFVRbS&yHE-)|~UZwyo5RQZ?2z3o!vWBa*=$CK6_pX3%`WG(zk^RwGUB@LEouP6V! z`bq3+K;NHU;e0Q6uY_f633^O?|@~zITd_R>j>nnyL)D@*dmh`G5F&{Gn58>*np&J7T`r zTAcU!WbxW%R@a{9NkMh5b=_jXKGB!Lmxu)~+-MMRN&-)flGCwZ! z?iXK{d8@bVUF!y41-as#e+ye*pRGziwAU#+Iy0qX6WcU{bIYZ}dEZ(6XYl&0aqi&N z={NhbFa8tJx)))S@WA8b^>=gfUPo?yA8T#!tU5B{dp%Q)!_}OHt;tvP#60?EERARN zeBH*pp7}>>Eog(j`H#-kuKyWWT|ZPEuPj;pNY^}M)0ITN+xkgjYn3{W`OoZ3?)^52 zQG@ScUmfoS2_3G9Q^PwZxjkT+@4x)(`YrYkI#|^Ih>Ab#Jy?G3_SX{+%wAi%*&Eqg z%{eR>7Lt3$%4Ff$YWa&tm;F?ou;Esb;rYNBSi(&btt_i(|W;t~+bUk?6-(ORBpKU+W{s%91*l*dN8_#)gcV_n?rns33 z(w*)8KN$b4{(kE*d;U)4{|vIGe}2^;yi~QY``gnGzjc~(>i8QYMD*ugH*bIU{qg>+ zpL3q7_Z< z@nj6E#PRKRhx-q$>|U0B;4nkcjVI6lGhFYRIxBnLgR1X`ZdYs9x5a7JZ;5r+zj?j? zeW^^H!gbT-+4hMa^j3-<+In>D*(2Fo=59)6pYzXj=ZD*YTQ>dhd{k_@?qrmx$KCJp zGoDO5@Oaka7Q6H&z4>*Iu5&~%dB{k;SgBtAiMibEqi);$56{CkZEaoLR~mYp=Z)JV zBmX?V!U#EqZC$)-ho{xw<)88Go30haK;Ar^U80JZ_}PPuPF6!QA4isl`GzlQ*~Rn^{&fbm=V~_ zCc}PK93?#h*5=DJVEYPD|v6Y8ye+j{m)^P64KO`?qqKl`lp3VS|Pp0s$Z zRT~}hWBDWPmCti(n%|mp%U#{tzaWOstVf3L?}>H!-j}}0OJ}uJrcR0o{#)~V+tjb2 zL52N(#c#uHf*&uxq%_(6qU5xTq2Z_HtHNx{<(4n6n;M;6Fx7*k* zS-N)VES+%iMNZ$XRAj*usR4gXcH+IG?Q%Iul5 z%>3tmpVOue8kpXC zd%EX`$q%>9D9yD$7H7P*!iI6_nWk^nDCZ&rVEQEqYJv1k7TiY&SK{Ey%7?EdXq z6THJt?!&ja5BDlA)l6P|bDG(;!o~)3899q{mFhYL5sjUX_jm5Pespcnb>H^#8@d9A zbF=dqJaQKW?AN>cxPdKRx{qCL+3tPq506b%o4D-wx4B_2TgrtGPn%`8U+Wjo^U2ru zdqw56>mIpkvZGGsz^~MGD%bNO9JPsU1VzTjQ;FzG*wsx;-NMU@Li%7!dF8=tNY`xsOiWvntg zwX7hv&Eau#NP6?rdp80kimWeP`_5$2n=rXp|Kx>jRZ=^baq?b&cWBa{Cimo!@Ck0k zlRVh>MsC|M?Unu(wLi;!cmA95y-HB`++?4=%oyXvM>aA~E$m7E&u}%sY%%YYWu=nG z+--Ty{jaNC3Dr%}-p?YQ+)%gRb4b3)#cXEIWj~9`9?0%*4Ox16r+3noU%y`oz4cw) zdPg*Tt!m$H8S(06VKI7++V?-KsVL6>yi#?F;K7wgJPSqgpXc9g?0>gCIrz-ILz(xE z9X;O>mhmrlP4UFzUVD?*I$I=IOl^<|{J!hD?23K2*KSQG;+B-Hs}I?AKX1~{l(*BZJs!`yzclmKk7*fe z>dt?Xh}al#`1#v8v({D@ZI?31vWxLN=kK*zscOcp#WU3^xqc>YJRqxO?d$wo?}=Bd z%00tLc5kEh%v71VDEZUJ=E&=1Z}aT0Zl6AfjVoJh?<3Erdvy4UmA#6hH>_Hs9Gm>~ zbh4zV)}oG0XB^oX(nU@hxLpf<#i@NIQ1^7-p_5s$Q`{Oi&w0GfFwmRt$en|2)^b{p zMcPhyi<~+-TQ1Hr@O5b3x+Oc}XRJ1we+r0@ z=TAM?{-ZwU%d$n2C7#>x*=nXvEIyzN+8v&y_TqeA#joIKfp=e3C%21=+ok_jU-5WW zb?xK(J@d1Y)Se%|cjBB?u$DES^Ui(?+0Bhzg}-+^_~dVhmMJ6VG7?Yo+~b*tWz%H>bflGd!4$z$|_pZ`AtOYVP$ zrs!AoAA--{Vtek`_0CrRu$)AzDZjug=?T6(c{lnj7=P}0mU?Q3ba1B1m#}}U>O}u2 zUa;f-p?3Umoy5hGyX=R5B}u$lqmz4yLwE8zQIUj{Y4#tqJ{I%1DHVUSC|w@@&plV& zZ;s`>H9z*d{AXw`vQO2PRl9dBzwLh3q+1FqJ0?f%74kW5J+sN9ds6ZD&~O%p1u0U$ z`u|90{#L!4XaAw$PP8#kTX)>Pb5^;BeH_{Q3~wYeGt}OE6fc^2Pw?_P{jJ&^Icpy{ zrOXPu#Sl38>+5)vf0zF=$nHs8=lD=wxJLS8>9*B;b5|Wy+x^gU%Zn#+N|$BcPEqNX zoMg00a_WQ?_D6R&#uz;OWmI!%%D!*C${nk|xIdNuBj)~(cl(wf+#inlcf>PC2VX6j z%j^C6mhSDptG-etf@u*70wvvnDN(n({3yJ)}YRS{?>oO_JWJRWGHLgg=@WYDSF29f{G;;0Fjio>l~BO)a`~|T z48l^==1scu$8(QspIgAr--`=gPJZv#c2;f1Y75_n&4%_`jaMdLV0=~aBy93acbC2M zj6~*fPY;T`vYy8}nR&&!$KOhS*xJ8k{P_CdKJJS`(zX6aXFZ+PnwFlV8)xP%%{L2GPDv>F^U1(!j?@R+ zxj7~KEAAwno9P++J)tK1Vg3*E&ENb#+;5-kKmB3e%#|iN5qINbeN7Kviop`lH=Rbp)BSVpG@vXf)dakXlYt3%GOScKl zSQk>qRd*$R)AfG)RQ^u=hwo)yY!{Q7J}tGc_V$DQJ(~qhbpHg-^RSR$pBgvy$=hjD zWO$eypHzpxcYk~Px1jzX5wA<0roMi>$^o2DUkc4m+dEBRPUFrEW^>ksl*?1P8P~WrVcdvc$wm=(Qo18_T#MM(yPT)JdhRJJ8y`>OEYA~AFC+-WLBm8M% zeBytGgL3aV|1&hr_#-{RbHc8rheQJ$6247Z_-A|F){`^p8SeET>wlSbmuK7By&JaC_*z;gVppgW%au`u_hJ;{9L8pS%A@=CAg>fA@Y> zJUGtZw)U}>zr^Qs+nxXPukBxCz3h;Dfy1wF>z^n81S<;E#0P}>OUle z=hS+xpMK8%{)g9R|G6)ncC_fspPSo1wB&rM`_J%x-J1t&^5qO=Z)(rR@4B3PS>@9# z7ydrxhcWBe9RF&kdt6BQsJ3F7nZTCsv$q{l2>Wb2@i@ceFHHOP{he+9pl83(e};^` zyj$nL*;yiMb4Q|a`{i|cDQOI1%BN2;fA`nn_iLZ{<;I#&E0HU!%A)f(9)5FY?!*sa zdlL($Yc0=O{rAv)4d%=0mlkZ^|C{CQj^#XpGcraO_3E7O`JF3v-zluY6iK->~}e*5JvG+RAID zef~J{Q-cJbfp)w{bYaOcr=zi)0dtDy@Klx9X2*vcdpV2V&*Nj(zppO;H|tlVYmuc) z(X+ivckGkzeDou7ZO78opBL8TIokfrU;cHS$Ghf3;hMs{{~0nF=enPY=&QH-BB6J5 z{-NCD`V+C!>`jiJt9tN{ZHM;m7s?-woR~CGIyOaMuOGWj=;`!Nym8Gn7A|p|SGbD~ z%%9TtHT-Drrc38#eLRX^zS536nERjMA=`etwC61O#mD?Djz9H$)V8Litz-W#o-Nmq-6#nz@xjBx-QonuM?hBqc+2E)vY3=cCQEj{Kncvk*1>afsUEFTO z$N0^3>GD_4j_x~O$W__L>~1K@{p0(pN7}Qid$icMrD?5lQ23iQXF3DByVE*}o^*w( zq~-Cg9ottO7xuKObgG{sR&itf3)Ud-ZiiKCv&|0e;C()^KaOJ&uj`i+r`8tY2aOwNrEyGNkUW{S4X*?$-R z>Hpig_Ovh4@dH&g;=88I&%T;B`Al>j*X`%;rYqa+wOuXk|FLvhOUg7^Gtr$|EJcBoTazFUs=aF)g|vt^pl77arIWY>kez}KPz&i z)ko&tAI%RtcXl~Hof*Oq>we}y2|M$=uP@|z>%?zJBwerZmp1F__~gt{C>(3R-dC5q zSmr^w#GLVNPnVYXK~}p`|E@IvZifabM~Y15kdDtp6(>3MT=x~4EaKm7XvjL;_cFIUWwz(oS8KbUvu6DDZ%VOip67)a(`}7{f8XCKjhy^_ zx~BSBzWTPEy-wCMI|5cJ*m^y0zBBp#UoDQU-^7naGTD8e{OQ5u_fg%e4z4KZ+Gt&P z^3eRXE?;l(WcS*Ir}8Z3DUg}NP;2a4*u>m^jyX4PK@sEeef&?OC%$kBJLJ2|-6C+} z<_WcxUmlbmkNVs4BlSN6TgNLq>mQK|D%$+}uI;MIj;h_ZNcVVi&5_MQM>dJv{dVxO zy6)wdF%?}G7s^$toz)0_Ho4qhLQh93O*&-mW9Du4R&BfvOQ%m$vG$XU^p}18-R}86 zp1-?isZNsb|Mn{2&*k;aZdaAlZ^6%nbKmf}@%wywSey~I^39x>c<*JoZ(>TrGCm%g`u*pAy$aUG zb6N@8d6(~g=BcP7vQu7bo*(C%!W+Mcwn^R+OG+7B1ss3>^vR1p&9}ONTkzBM8}~*3Gd#GwzB`Wd1K;x6hyNKm<2XOM zK5g+!y8NGEv)YD9uS~-Zt(pBq%Oj|u;`!R_XnC*6S&Q<&s3yj`pSjzA{99tKu>Rfj z1B#8$U;exzd~~bdT+7e^6e8t-W*P7a8y|5c~EZO)${Ggf>s9KJoWJ_*Nw2PK|5!zy;b>b zb+N!)uk~klR^_dZo7SKakZ=#gFLS`ZeRdwj($_o}_wtBxApc&R@vNig@sWBH>2*}R#1Yo_Kretv$f zYevI{TkLjgGz6~S+ONIMY3{;}-}h=sJo$XJYqi>HVqnSBEXnKMmZRKL1#QSh$<|dW)BS zmCDEO(2Z_&BfFxt7Rd*+u~QQef()FgA2-Ytd-ax%@^El!-%KEF@8?tWGK(OT)l{~7r5 zW|!;}FA+S~T;wUEy~%Jh!z7W0x|T2Ny3%2wAEElk%g#^z&+t%uj{eymp%cdMd*<;+{jxqFd|tif4ezC6 zlXUlZxwvc91r#?e${e#8zERR#W^Z%&t zN><)*QYUZfWcd#HxiuT>E6x`s&HoprpmEp0efj#VU)ujT*|nqV5Bl4uf0^a9?f!?k znP-*vpIX_LWaR%ly8gssanDa%GF@-^ZvORc>r;D%{m(zIOMfhT=yrwJJNH@ICB57x zlf(}7HS{iipR&$w>!rvYon=Bs7JqiEpHcr{>HIDKW`8*RVCxkzty{;I%DhV7w!MCq zs1xTMTjS$blGlqyNa=+tbxfI5Zc~0hUi7V<(7)T)ZrwI1pYZCJ$+z&L7~iKSEPJ=J z<&erTS>3UciTlMbSgPkhg%6H!txj8&BHnV1q=lgfz z{(;An&5I)ML{9tktna9p zLt%q6L0w{vFH8|&GRjXS|^|Uk-6-h0`Fm~d8_J@=lR>sHH^Phxz8g+ zOoz?msXzPVv-Kwb89tPUe!sQy@EPs7%Va}T7W&CTsbt;lVnr}S#7b;zJJ92KV!*NrYy8x3Vng$nJAb53GCqFs3_SWRv&_o^_4~AEeEY zJNn>sz{Ivx=w|2^mg>wXwCh#v;+xc<(H=!>k%ResuRkleY z?AP;`VOrAqUrkN5_GT>Bpus(PmO zKQzrdmA5y>pS=9#MY+}AqZy)`I3JX*f3fN9KF8N5)*k>}0ye+(;m7BHL@&uIm7gh} zwXQSUCe=gO?R1u;=W%70!Yj|ae*TG-tGU&F=8HkmR?E$I?H_c`|KMhwvBlT?(e)!M z-j;gj2I-r-Uz{Z#!=@GX$jwtkM001E!0qkD4P5(Q=QS_5{ldz0Z|j=CTeof=o8T-G zs8e{TV_~Q$1J^21H>L*LcCYlNE!_5;6=|ovHnv$u>spCy-`>h5Wa7%j^t&)>>2=%x z3|!wg3idpCH?`l6FM5i;$<=ALOT%1~+k$2{^Dk%GlmG3=-~K=5zr$-(uGr{4(l*(( zad-U02&Uu$zRUAG{%GG(QFy%m@vW7w3?JQQfA*PE^56SY*^hrrR$bV6=v-#eDZxD{ z`-4~Wcg(fwKJ(A9KC}Mj^{Bt|>?|w#4_3X&`aa9{%SM|Q9+4A_jdnek4QYaHP49}k=?rI!zafFKc4>#eKO~1d5^(?2Rt7y?PU+&+h^Zu&Lw;{WmmYyg8p+m=2ksT z`OuP_V*O<5jN%J#U&hC(?L2RDX4~e;ejm18Kl7i#xM5+u+ynWTf{c%PbFS@A{TVBM zQih#(_fre`cBZWlHhr$)yX>m*`+(r_1?Ts=K6>$Jd)LwAn3GTQlvRF(oGwz`d1}w^ zXU{atnJiAcVU51HKBei}-}5J@96w{kaQ;6-#O0;!HTM#E54}_1YhD|5>2cqqV;{fm zu4&M#dwG8S%fR#^m9VRF&I==WJJ_ySIQA{Knf0w+?ho^it1md zSEq$(@fkTe9O3z*E_v{{b3hHx2iHn)&Z?@|xS>%ChV%~;rT zBAi{zwQ~NEc%isIejjV^t*o@^xz6WeusJU}!qHkej-5fSfX&bI$*d2Ca@Qq$zJ;Vc z=BV-0&APj0tAF0|H#2Q*_<25j|JIh-+M461x!g-sILn~-^6brim+~$~#a+Mgz9gQr zM!G*Vesjg*_(^pQ(&fkhO}={LkLicr+;`Le3Dp)(atiY~@Sj0bw(wv7`#ASSnccZ- z-FE+Hs5ry)xo2Khc69i*?!bg3%e(!v_f@`*wZCZ^{%8Nn@9RI=-2c(>Bmb93V*Lls z{|uiFU%q|Vo@1j<`Y}1Bo5x<9@!kHP!SmJB@2z#*@eHXS{X1r8+}g2qGPC@*w{f=h zOYg?`l|LfS=sJ;6ZN^IY?^EV%x|fne@L_ ziTFQE%l|Xz*e*JKz@Agt_u`M{BR;z~pWQNp{XYZaYnK|kAE5&GzTdjCcwN-7AbUgB zitQb`Yr`1C<8tzTnz1v>ls;PFbyk42^!G}4dHq=r-7h5dznQuJXUF_|`%l{e})tFk$eq$VYhrf z|7XbiclA+uk^XG8w_&kMD^9BaXILM6T&Q+o;R*|_cHZVIJXh+Iul{G4|M~azpX`5J zYRvy~8SMYT@}J>n;v3!%&mSB)$NopfPT|g+`r}*X{AYNw*H`}V`Q~7Q-qOF>1^*eA zm!JI4aI)&tijwTg+#~HVbJdSM^4iE%p}hUVKT+o0R%)gE`s~sl+YY?^Rrn)dQ`Pi; zHvhiE^raQmU2@QGQ5jzxi!!|rdXxgEHjf8{aF>AID< zr96Rqa;C>0m$3d|zxVBVukBMq_U_wgzqfv({6`^!v;P@REQVWraao1`L&HtEYUhtg zotTvV_p!T3uXewaj|%IbR?kJ5^_+ji(+ig$e&ic{Zt8~5dw5k=u+;_Jb7PRSU48oB ztywX>=@0)ie3=_M+4y|V6y|kz%AR~(mwsf{lBxp3oAbADvgN5HU-{1zXXW(qxvq@a_iP-x+liz>KTB_c-k8P^t$M#OE z=YO65Gkh|wSW;Ly>4{cDK{)$@FDsvKN%eWWJgPI*c>nJs|Gxfn{LdgL&HJChX^#Fs z#$Zs8o~RN1U{ZhP;Ul}9{}}@QGyLiG-~OTe!0EC(`}96CKDWq_m;dD(r>OPjee3&q zUs?@*Fn@jRn`*orY@Ew~h9mBW>o0%$^w;|t5u$g{^F6S>XDh1_H%Rqq*z?#oFjxpnjLsv7goBLQ2rKKK|;l)&EB& z{zHI#$7UPBh$XYutP;AT(HmSAE%W(%n^j8Tm%jlY!~e(@Kgf8O_oe?wxSjIm%Xg)2 z-n&(yI?<6us9kHfUxmbpW1f~0f3pAX-e>Z{Ue-RNH~(mztW-->+**s7%KKb}7ciul zU2=SW`O>75A0w)^Jdg6cT`kWp5%n!Qw ze8=v|KGrJf^WKHcN>mS>FlT2GXUv2JH7!-=-yHm4?)_o^kr$?G)ug*67B^)s)ht%l zy)wVJx-IP<->2Ih!IN%EKKU2-pW)!v{ae$I&XqqXr+w)wr(hlP52r(!>rDT~m2TU3 zaT!;tf!p~{8$*g!W*%~BjJ%QGoAUL%Z2iHD^&IZ|!k%Ql(i+JvzBBh$WByGLh* zYSrw>3}1I^-^AFr+5268&gc8jaPXX+;H4Vv{|u~_ADJ`0iG34}k9hex?oIr(%DS@x zk!F22xR%R$O^&auKe+Z*=<;U!2Xp0xOwZbTZ`}UT^m$j>_8nJj8a~}|mfgcEwXJ|B zBV{tPLh8@g6Mr=RPXBi;>igTw-wr?KAG`JD)9Dqjx3^`AN*6g8Hgx!Z=wY1qc`~A?Y(<^S7z*I%jdtb@M6;Dozr67Uik9ZXSGWN^}N${GuO60 zBfCgI=>Ce-pE0tUiHj~}uYXl3IW6&x!m3yAQ>KUgQvRBK=syEj`ko)Fmt{-kZG2?^ z*7K{!nd`xEdzQU0p8NZ{#3M8H26oxcTmBXQXE=CgK68!zLwmtL_8&u+cHMq0^>7;Z z$w{gnPdP-xSxPOLEuT-k%}{->^*;l<<-ha$crIW5Eq>T)%cNs%#wMK#^AZpK>~?OR zx9@WX1~xv!iRU-k zT%X@_GRwwks@r0TKW63mXMgVBai2YGt(9kZ&84b+r~Zmhy74nPK)U=vB13S`Jd5XF z*`_YOvr+cAB>TjkkYA^AC#9xw9bkRD`0-LrN`c^jt*KJx%lLrgvN%d zX3v5NhtAXmPwr#)36MV3Tl~jeS@x)_+9Uqc-)AeEti2I)T`E*{&f}*qJ#Auo3{Sjn z^oakyXT3}c-`Awdwx_pt*V?XRjGfxGuDVuJATR&=2idF>oq6J|xBeE--y3@K{D)<4 zm$T1nYLI#($tS^3R4G4I_hfl#VN-#4hRDru>ur5sz9n!q?X;Br6~MIcaLrAw+AMQM z^%qN{clAH_OB0+XBR}Jdec6mv3xq%O{0dOrG1;!-_kmw!i_~u1xK;71*m=T{WVtF++} z_54nT^W06PdS6&d@8w(>mOEdY&uoIjlk}c+6UJBao94ewfAs#w>&MetAOB}yzJGFg zMYF^1NaaLDmw7hpXNt`B(3R=p+B9b+`&0{we{=scJeXVmA!0x0e};oz_33-FgFc*_ ztv3B}uGEEXD4B79c>W;-rudT^{;4kF8;I%W&b5q(C7y+y$hfh9CE2c}{LSLD zNt1R4OxND+{+9iZi2lQ+*Cs!dbw4h)t9R?Vb(?C}etEbxwNoN>f+M!z<1`%~^SV zimYQm)stsC;%~?QFdFjyQ+})?5?T&>^dF6NF=tr6T zw}iBp&qxkc?4P#Ek-aBjUNiHDWtsmpc3qsO-sGA4PNB47UEGZ-X2Tk)s=}S`4;?H@>MZh;;Rb(u{}2)O-Vm9E9cFx zwXVhAy8m&8|7T!l%KB&V;o8g(-yf~-GL_i6*UsbNWz+IV^Q?lz{iQY?2P!)lnB3S4 zOCGc+?rZ$d&@|^y_WXzD{WX%0_8NZq>vuKmdicCU-&`uzp9@MB<}uEl>Tp8kd1cJJ zxczgpgOR#;ScuAMtiv)?9145kN z)^D*-e*Z%+{BZw`-Okx7YD^#13*WyL?fZ>8;)vNsl{X7C)02+qd7fkUc_7?V7=G}| zT-Qu(cB8=WQ_tVZ|Dmz{kBI*P`wxEao6O~OKDI68zx}TH;G&F^7T$N$p6Cl6X%P|; zGC$d)VDn^Z*uS9v40-c!2Oqt^eg9keHGe!l9(_|TwQr$J*|u#L+*ao&<_jn$cBDLH zRCzGTGp(rHa{0eo_S@O}?DNj|She@sq}D!(kHmoZ0m8i!IS}%lECQl0C7zJlRs>>sNdK*Rl5xGtSoBwn>>& zwBuOK;d9x|cU)FqNw;9QUi{%)h?tT2`A<{XlhUuRRhd;aRklC&!`j;&Wjk-I;VUrk ztL5KX>-e96WlnSbACdeA>(bLYYrF-+?tbRcX5xRQ{d7H_v+16c{|u`n*zNMX>mt9d zU;dxr!L-e*>JK{q}B_UI;i!cTU=j&ZB|6cs3x88RChe-d9pda4oa6IZQU{yzLo_HW-8@>|Of z?3F)eCqFgncwmRT%Kn+EyZN}xtovWbZCPWy`|_pzGxq;b`_J%4H27Hj2Y=nn2bWWP z;}7lH^IC1`lC!(NubaKE)MiSOiskFw8BZDve@Fh-|IctRw~qDSg;}O6cYJK^Z~0m| zz2sWd(F5B*`7fAwpr`+bSoZskKSMpYcN~5#e!048zO}!g#!Hjhev{XH&(yd1Z&>rT zKA_q6vdZpRsa+g`OD2U|cwAucPX8eD<#n9s$KZclbAQ|Y(Yi1@;A)+2g_&!+j`D_m z(Knxdd1?I>^pdK^4BfOf9vaOQ1r)htMc;( zySz$frhV}Shr{Md2KSUq+IZh%=bO}JG$=1Kh2M|6Fz@wEdEw&bLL0d z)}Duc?98|KvzvZiwm4(i$JD-eDh+~jN{+|PeeF~)e7chP-@~bCtS-5epYlv@ zoK%}_rE&2Yx6-aMp8hQ>-_E+Pemab+MN|LPv#+aud&bUXy{vlvuy<#SN@3*_rs!w+ z2a11oJvPqT(F)a}|2@+IE>DqVN^h{4^={oHHrpX+-rK1cT8jBR|3=WPEo zXgzyxV>kVu=%z`Y%PK>jwwblXd_Dg7^4hAPxIdFVSzdZ$lA%$j>6Paj?ArscZP9!4&ZM4eOV;n`w+fXN=PG4?m8h+$IPI}> z^M%FL9p5%eo(w+m$HIouue#kPtmlz#a^{tPU)^~p?kFZrM7@W>$n$aI{q0fTqHjmo zr@wErzgf2Fq}blI8uK0%oZNSN!R?9X*w3u0E#IKLv~p*gQOIK{k@`+u@#$rMraiw~ z;Li8(A~JNfUWB8im;cGwZRhzrKEDa8oN-z_y3%B^$eP8XOA9o&sOzfJ?wyOCyrnzhmc^4ywHvojgx>1jUadLF;6H;j%JHZ6x5EGM75`_@i}$+ppP^}EP4VUb45{;5<+%P%*u$-D z*8d<{JNmw8ysPRN{uTF6tuKDE$M0y(^va_T13oRNObj)gUBv(FlTV)R`tpg}&vQ@W zJK$IG_+|XmREu@SkD}~vOX#E+?5OJft>M)@XRiHbOS_7jXRA*}yIk6PE^6bU#QU4( z#4OofzG;8x=G)ox>reh?U_0`slw)6f&pwfK3G1!W|16aIzt~rG+5a$Oe!R$Y$B)Ag zmD5*P_5NpAApiO4+xU6>%J)3Ccq-hf2w(_cU+S&aS@GTaZr{C^Gk+kH+fE>KC_mAv4Ow%MmUyC-s| zwi%xd|F!ct_rG+J{|q0d{%82~;MXz!f3^01xc@Q!GT8qiyZqQ;ZTml}_c5;$5?Ee|;=Ko{;&%p3k%Kk(4_TvjIK2ATR zv;NM1hR$gVk24hiYkeDf`5$lIk3W2mALqBIc0Q@k%#!%ea7pXW_eu9Sp7{0}tz%HM zw4c6wzvI10*WD){5r3qSGQ~yu+0+QZzMqK);^PmkEO;+-|DQXC@BTAvwRc$n3Pd~G z=(Bq&PCpbsbkxKf?$8AM7ul|8Y9~@w>`@hC`Vj>MbAtQ>*It z|HHUC_df&M?myLr$^V4)TP%;+KT%!rpWzd4U2euk@7j_jKC5;+Yb0MOZhm`zt@rBe zOU{zpADP`f%-2)E93`HwF$cs|x|(Oazk z&nc>3{->(%e};~TeYTR$^@lP)w7)Qwb^gyVVfE*>@JUJgl538yi=D|y7?b({oe&s*=%w@bQe7T=Tz0l%{TKugVWdb=Voi#-A_~Q^HiKrntV=c z-Rh)U`R}KH@BZ!(R1|#;lw{U!o>l+D>p#QKf@&Y}KfmjLi2q^!(pLY&^!MYpXI?8; zTz;r<`=Z;*6}j?1RbTd>n(q9cp*gb7Jg%bam~Hg&{oFZUR_aZNyAvH7e>cXFG4YvA z!PYg|%B?3kE-552=yL53@xm4+q3&zSOzA8Rz0=8s$O>PSGvk>jmZvXKqWY+RIK}Fl9AFkVX^Y**C zMj1D*{|tx9{xgXGVScy%hxYP6BKilHKiJ*|Di|A$>W{AdQKkFfs*NMdzNjCI9^H+| z31skC-g4%w&1NIP!XmK{t`(bne_k$7?UP;iF8N9C+G7QU^Utk$HErE?6`i8Wiu1)i zrAsz`xVHS!d4Y%*zjAy3{#(8BtnA+2xl43Sz89S+TawYmZM<24sd17AL(27=1^wI? zP84V}Hs{{m>F0Ydc+S=-PkwFt`eNEil}Q#KXRHjJZ}a8Pq*(s!{|rqfbqDt;{oS`e zV>Unk%Wc!05A9055+0{@H7H)yWH;NCcbtmu@mo%;dd(%8dxlf_w5OzP@IS7%zsp|k z-@@Mc$Nt0OhgW!))hPe4I=}G6BU#sVi?1!&?z$~{?ICwhMUTgtc~3S^ndGkj`%&lH z`&-RBYV7|ru+041X8&-$jdbn9zrl~gk7yKrR1e><(U{{+T35{NnJPJpD}z-6HT}Qp zn*56qicvOyma@(5lG%)XA9wEEmAtifYNVCGw}86OKjy#u^s45Wn7(-Q>*62EOTwT1 zXE>1)p2~Jo&Qa24>MKLnMXR$U*%dx;^UwHXby-Nc)aZeX!QHSNU5WdTtwqBNbH4m% zuvn*`skz$cyJcSF$FkW^Uj^5mUE3C9>mXCNl{w=Qr!s@xafdU<7uZeRz9#y1Z0re{ zbc>(HmmAN^Z8gpa;+`>0E-Wfj4S8p6ESNs$IROuc7t9tiATF&-xe*f_?_> z&UhJJeosC!vVHo-D?OSj0$E>|cdXlEFFxtx0rSL=uYX=zoZKs^897J$rrF^=UhT{8 z+FFN9S8~&+E0a;Tn|kBEtJvygC%(6*JovNQy6d^>%r)3XE6uC`gX{~`0rU!gNDzcCVgI+a)L=`qgro<9s9_A~rge7H_; z=g0W&(*F$Hucn#F)wO4*FVX#!E$%S&(~@E>4iUCy0$mzoMu|@<2&ab8wq(nNhmnNbcdnHt#Zvt<(r1=KdP?fn!Gts85(%y zoynyTLy24L&VOIYO!?ViZNK+MuwC%y=Sr)r8D-Y*NX$^K|Cl_Xuy4!9Et9HiHEuCi z_x+n1c!y&yL;5YtJYQ40P~Nw5Le~Fre_wd=>w*mvw;SC4?kLwhOLYfd2BY@08|#cJ z{;bkm8_v7ETycl|yII?x@gA3HJ!Usm^vl8+xrRCNC%POKtuJ%bIJ5WHZA!mYbx{iPGWep zv?YC#K@of0RBkutcW=Kg_b66yvdfd;`L^nM$)WET_UL=1hThKVpKkLxeBqvd7k2kJ zT-LZ@b1n5}Rpb5TDs`pJf*C1y_MTk3S2{X7o$-p@g<`q$`(JQ=IcF90ZBk%SYSHhL z%4;@!_(jEYO|zU?W56!7uBt?Ej&d{zu^B{>;5~@g4IeZ1n5( z4}IM_{kOFL-YExu{dp6jY?NZSy@x$jonhad^vt94e<+Fn5%kKxoqTW>|55!;-_raK zuWmhEa`DTJh{}CR9?L84S z0tSXviyL+@GlZW`GL+~kb$1i*2@k$BdAXZ;-}580uK$r<|6BV<&v#is#mN35Ly32 zt!(*!29_s(m!)6KQNFUZo;l0xWc8w~HlsI6MbF=SdMjg7?dK`;?mRP>ozWyuX# z>;7k8HU7`glu@z$ALrZ0t4}=ZyB+c&ZfC9H#jO=CJvAGi=oq&#sI1~(myrp-^sv6* zs@cEq^=FPPUG{V7&QD1(tBm!oS^H;Ai%rg{4!2>7wn+%#dUoGJS$W!V+e%r@uwvD% z$DTxnxg7t!Y;UCJ){=A8(Tuk1|!WBK@8`&X4nu&9ZbqJ3(9f zyX<7S9?`m&-z?5$PWt=aKj!i^-)(REBsbn)YT8l5Q*^(w-*V0U!W_f-JhM0V$CRvh z{NXqMqsA^Sj~Cv2bLM?L;MU?Hl9#)nCr{$p?)`0j^&8(MyPiB?$yR z{qsJ#+sQF%HLSlPGdX^N{D+ACAF7M%j?6RdkGt^irg~#(W&DY0mEvYadS_gX3n!KD z489vO`9w}#&5zshMz1d3-q80j$FtLt&Emw9{yEuRI!K&NeHo1w0`dKB&&G?%=cYn*hZ9kqQY}|D$J?N&*#9tpTZT`>j zP-PzXw(8Tln_|@z6uT7Jm**D-WEaO*#IOrJyME_C^H{rzh3pC^tvE=*VO8#4YgY&QQkzg@*;=f@)g9q-mHbmLC@ zYtSq)Auox~Xo=WCRS!AC^*?UqHyg&^c6)2ynZM9D=2geT-ZeQ(-uT{;v()oAs6KD1 zpV#vDipys%Q9gAi^5E%8tsly%_nypL#_~>PweW>sC8C=j$@)Io^jjy;U+m+H@r}`g%XSozh zJGpVr)`#7Z?B!XXfsy{pM zBzKSE%9j_jZs$DttduaRqcMkvubj{De9VK-FS5^`UTJBWTqxxgt#|Ro-uU3RJ06=I zdidhf!BQ9)#~$T|=G;vB^ekhcQBk1m!(`>BOov5| zc=SJgKL0;M)B1mRr^|1*f6H6CDq@#@(;us}OE#twlj^mqQzp(_KU0-UD7#15;6{s* zvvi(ezWwZvwfSFHTP!~mk-f*(I^?LA-l^M%darF?xo5hE{(H3=KQVo7&qwJWZI$+$ ze|q`+Ma?xE|H8-dvRPJ3{~rCeaBY^jaqQiDvFFk!y$egaT@GwHYWdPkgv4f(ZA0stgZXuPWy*yy7?@Z^6s1x_^9;wneq+M{KNBF!lOULKgiqp z@$}Iu^;R3}be>t)yG>IrznS=bOTm-*Mwu>IZLg_o{tH{SWoGy_b*tXJE0@vOCA=>r}h^<$ng@#Nhga z>HBmu>N&Rfv(%lFtkhJ-{0>nKYsj> z)Y2Jd>1R1M%Nb5!arI`Nzfz{^W6zWHD{DJ?`R^_jKfOECwraj*^MUiyHLji~i>;4o zZcW{Ev9$Wn`5nUFdjB&tRiD_+f8c&sbG~)dznuRJFK^BL&%pisALrZ6Xa6&_N`CZy zWy<-V;b(3scE;Vv->y0@@UMy3nGU_=YQ*6cXh(?XZrp} zcO^HU_v2q$eB2=TnwI{PzFRZ-H~)BU`kx`+_|59~x5EE%K9;#1|3LoeO#iK4mj8V9 z<^7NN_z!+B!tFmStkYWda5ratS*No%)HA=Sbzd92 z=`!EWm3y}ooLG47vQqOW#y-cFjl2Im+B_{~@viUxf0^VbIkm|7gdUy?D`eiwqawacS6}t<>y64 z{Ij&|e4U+gZRH2!N9!lFOZYk!?*91i z8oQ{Qe*b@l4}L#Ywe~aG>9jNaXE@`QS7f`j>W9&@C(h!t7MB%SK2}-QPVpT!gye}4IO zb#bQX8-|vgg__KWu>W>S{8gWQ{h)hJQq=$*%q&|LC0fB)j{Tf9tpIUt6P`RP&SVMcJ2dcbO;8<>&EcE5^X$ z9Dg4EM>|z*>B2LIG^M<2CM@VlmQ?xmu`51i>OYCUCzeh+_@CkQ$^Q%we11E{-*W%Q z`CwAce}-1hkEK5u1nVu?|1)TPyqUMjKUjX`uJ)0Mw@Ik!CKZ5jLLGH%Ir>rZyF-&IkRcHjA*!EW)j?pz~} zY5tab7FC|GJb0`iD|v=*^~IjLCqA3BN`<@U+T-DDUs4VDs%(W)ei8Xi&*XPxzWe#p{Q)M`2AAkH;*ph9h zbrxGoFivj1GCykhik};EJ!U^oh;E$6W`AtQQ+2f`=fmb&TyAP9i{jgQfo-yo*MaSG zm~vHW_I+Ksx}u0%x>0oN72#<;DGQE0a=-h0<*%?JXA|v77d^G+)ts4Nz-Yt2V)Z@g z3(r3C{@^;%DS1~hN5jG6sekhEDrHIAiF-35VSUEKV$FS?S+sgkAYx_$KuZ_}Il%61ngzN>BZd}R4OYhCN(itoIA zy~l0$E&g?R;l-3$H}lNXi*sDhN%q$S`F_q|cU~5C-mGJ@ul&2Yg}c}Be_r#}?-Y0R zjwKUkq%%Abjy3c&+0Vi<$&n}Xv)$*mx7S}z{MjG%ye2eHH_21T-!QNzNW=2R;T3j& z0=||zyxXpJb=p&h2vB{U*i}Z!|9E@_tiv*m(5HJKK*F zqpX%qU~5-tbM;irkv*QFyz}H6Bg^lr76*q-|_i0)0wOO@h z?vlXI(_{p%t^YCGYq~GzGq-=v3MG?eENqXjc-(y9smtL~lLPkb_A|?S{47<5|InJdhc*f=oVl0pPI`lubcI~?j7JP?6Sp<_ zX)+uSo>TRpu_xfZ-mA&M+q0!N^>5d@UCwqcvvIU%6@$LQ%3$!cW0h)(HeK% z3tjPs&cB*{C+Pb%U%q_#%Yi={GZHu0ZgdQ~Gf}?CT&8jImt_`_&lu({RtPd?V}IH6 zIY|C%_WXwu?99Ic&n60PQP;9zF1?Ul=BCmy$QZ=N@Uq4@ewd9PRR>=-M~>YV9)=v!;EZ}*p1%*f5UP(r7{+z%V_ElHywfB{I_a0q)bgQ~l_0dc(tK{aX zHa+FP`U6AD1SK9{|M2bC@9M5=q64a&h{YUGVec zu)i$d8^HcdVy&&nf-6aBM)HOSn2bNmR9B@-nuOfCd#Zce@~_wbGq5;+2)W1jpP?zB zhJC}d@Jy8tTlcXT`79DSFj!*E9b3{hxvLLi>a5Z`sWzuR8p9_CsIuuw1*Z z%eGYJxnxf|v(QoH<1yp7ub`&S$DTUf{|rr@e;D`KXGBULDsVXTa9`1f%}1W_zsqyi zvR1qEWu5XruE^hSjj7;2Zm9V{M<9~)}_4_Mk%-?;g ziSOarn%N(N|8ehK^16P@{H8y$4^GF1T{|9fRdL%@>4?jZn+&;)K648_wwd7F%3NT1 zK&8eywSH}l?6vc)HTH!o&t@(^cfldbGqJPN^7#2V#k-#>lsvbz-gW=R^?#g+tN&e? zFDjKiU+CquvNz9OpQ(tGR904a!+1JRQhDCe#;@wTLRUO|c-G>x`9;aod^dlc%>MZ8 z`0@BH?QIGl#Jkq)30`hu6qS8#+vcT5!W8O0s;0+mI^n(j)Nu*sjEAeA_5ZMvK4eza z|3}FGXt{k_Z`$Rpd*xC}J1RSOeX_Xm{Qeos<59nbzj^(gTx0uN^#@n2xT}%h^>Y1k z+cz)vXUx3aJjwV_1H<)bjpm%L;utyN(s+d2bI~p4|UqR9KQ=#%UMnAS zdCgaA=^JN?4i*cYlxFUE8X-_?*V6Mj{(S!*k^BERC$6bKXm4kpU8j3_k81w<8j~x_ zW_h!hiVJ2sx!CV0J@+(3;f+c%3-8TG`xke2L|*SnW>@%Xdf?xM`7B@J`|G*3uIK*I zbu{nG+@e#_);nhO?|2b1@!y4Wj&B^+cb(hxYKG*0hRmm@LqEE{xgP$i$|A<8e#h!H zk$);H=AFA%n=p04q#Fejm)XpDthKkz;#}q5?Bt+-=eJF|W&Jhs&xvUclHX4V@XVNYX=_#Ic;8S#;z0LjyclB>y zfB62;e2yQV56#oNcC1-#dug`mlr-`3@{pOS7Ou9Z7}(X-FYT3o)c+>`!|F%#|A;7E ze$>1FSax(h@9{NJcVFGoxmL7r_Q^?_QmkoQ2ERG#9(poQd!DCos<1x3P4r^XLe-C} zU%auAS+wx1X2j3s|M-Odw!f)QdEb3c`s497y?sX?o|nGs&GU`z!GDH@aa!&Ak_pk- zde2gI>XI*{q(5E%L;e06!8QLG4u;rgp7^7hy>_nHv0H+btFx5|4_94*nZZ!t8p?v;+Oo8KNjV-uyn!Q`}g9!YW_29zCEo|G`#GR zWH;aO-aXf!x4#Me?e=5-H}#L}HvN;`CAR6Fl4EHh$8R^~g9pwzN;}IWTmI3W-)eN- zZLW`;>R#!se@o=7wrHtZE5!p?*#*Q za0;p47xtT7Chl!Kfv+yO*2&{ewP0u^7~uL zwf_vM{6EyqJN8(Akh}ET`@_7Y>+fXQ8SU|PjQW(J8WOfuvwxap=z_2tCx7oSGnnA5 zXy5mb{{!F3k5QuAKfGy^yBWgf^XlcZ{OE^_UihWg_9g6raGRm4q*@!72z|gSE_%|Z!h^z{15Ao zt?T?hDj%;(Z&1D_80MSx>F)F0eXO^nxP4b0vy{>Qbtlaz^nj|<{P`c&Hx=Hr<$P#Z z^lY{Ly^y*4EKkO+4a#+Y*q^bauct26Ys=2Xn=a~|lu!P5^gqJ~M}5wJ=k{~|vHsZp z_Z)7g6=Z@$CikjUqoF1@SSsr<<3_SDFx#k)2n^_}SHdc!}n?ppjd|2OCVGq9Tf zh^>CGp7Y1=zz_a^ls0&ax0eR*I`6-Gg6#f1!KanA3ioHvH!x(JvbHwzKLg9UkJsDx zN&P!5l{f#)6q3=rZ4<+@yE0KA)9_of5fdX>{(jA zzSr%Mt>3Fpk#UjB^gE*>Wi~(AaoXd)@x;k}%fCkd<52(4z*2Uh&hU@^wK|iUf(vi* zZM0Pkm$&MyQ=96uYF@(5Jv)4N`&4{N?#Q#==5=QOtIt25{%2qn`)D_H-G7FI4t0jF z#MG{Rcir`|Z&7aE+m9;x!afBd&0D9ionLrd^jF|-vAR3=IOR9)@3514y*%_|Tj#^m z(%GxCV~rzfRdpXr=FBvbczQv0M(R(0ndaClMZ0#kMLdnXw>-D6>uMs`$Emi0U-P@` zAN1|twEu1RgR`D{lpns8_r9ht=K4EsYN3+9uttgy$25oCjJMpS>l_=n4eT4{Z$1B} z@sa(F`;WucKIj)#ol}0x^<-~euKzo|DRL?u=4S%>_1}LoJja>!H~&9FlS57E4{iNp z=LPS_R4hJr%l7K!md$Pd8IA-kUE-LcbK;zI^*cpr_U-cKu0Ia{<4#>yQT*ur9}(%0 zTI;yYSN7O`n=wgxwPo@&iW;lL`Z4w0^fT}N zU0UAJve5S87ymzk#s4^0|2Ft{=l;ekVpZSfmX>~;T>E9#nsa(AVS(LEx_>5rI{vg{ zPgA+jy^I+N494G%zX7#_!v0RLPrKjgX8k&&#`DqX4j04QS)bYZ1de)gb&0IDb3AOW zQ1ak9>uwRb&9Qr#X+$i%}(=E=2{yOWP1TfaTJIQR*i{P~0&85jf+<8Aw&p`CTotE!NmZ@DT(ogP6C3~w!HJ1&{J z{%ZWKV!t0ZAKa}v=ih3!Pk7hm($i1=U7vqM$n#ld;|*nhxeFnS7CN{6d+t1m|M16U z>{72UR8&n`cJI&1-M_xs_N*7!`fTgOpN_x%>ksa#Tc~34qb>8Sudd%(%kT5= zqFHd%8nZJuLk*4Q&sUi5^{0E!MTIMWf@PO3-FarZrqJ;{JVF)+&zC6_$6v|+BWCTm ziN%uA8hZ-F{!^L>~wXV z!lyTHOgYx&De`z$Ty1-D`#@sr>!0E7ybnK$d@NcVS99s|Co!#6EBP{2lV9uqP-Fii z@aNx+TWu@FRo)IViLIx%pW6+D`r-8u@>OrpNqk*^^(i z?AY&!3mixHtveH`mMCS?-NYd6`K0XewS5n_{9RUKyQaqe@*mFy73+`O=l^%%Qsgb~ zrAG@>Hpoxel3TQ7b$VW5+f&!t&NUfPwafnq&-(25@p#{s{|q7(agRMF2iA*ZZCCpq zI?eq*gGX;{B-4r8vroU`ka+O9ujjVPSeedR5Ca zCI7v8q^`W|?{djU`^qjSPmlU>Qnr6)zQz1NHjUU&m+n0cUi0i;p5vN$KI-qpAE}S- zRtNuZtz7oUxI5;9eaj!=hhO)9l-s^+cmCF$UHr!NCr()&`^wB9GtX;I_2fg3Hb&T9 zDT(@4moB|(#reC})Q{JH2%7&xNpJ0MhCk+)x30B6Qe3fBPtV0je6wJsg5KjpJjqj! zRsMPX`DKms-&SSsOl@N~zdy;R3wQKSziw0KQfBe@-+zXtf`6Cg%>S^D4rBmH>(4~^-^D{4d^ zcqnZvJ)I>r_m#)4y4ie(ygg2FN}jmgx7_r7{D-*v?N<2>{}~=Eju$k!tM7NY95rP3~Xy}yxb-KhV_y5`i+^tYQH}3%sX>y)~dBf zkJQC@G4HVdbhe#Y(e2y%bbf!~c>eMwyXIV4F=gkZFgx$b|9Dk@?ESXJ{78TMr=rD1 zsyBET4(2KUs{W+?(Ej%9Z_yvs-#C9<9Pp#^(dvjtS4zGHsclRCmVM&9XTTgG{+IFV z?=$?fuDdLD|3lbX@dqz{tkhfl;nC&b-Fx*dyJY%1w^xe~uO;eyBKOTXD5`SFM$- z(Gj=oiAz7(EALT!xHkCMt*`qgFFTU5W5=B6<86o7@*3vNWqkc2`~6?(f4onAJpCyA zAg=Y%dES_cypa9j6W^xouZYOil{07DQgg8Jj)R2cgJ&D+A9U8UJ^m=)ZyFo++&g-8 zH%s}}$*1qC6tmRsE`I0u@{dBf>DT@v>u(=^eEp4QcKO5q3>Au~U*ewN*=hT72XA_9x5UZMB!N)2`9I`iJ*% ztn;CJirfC3zgA*>eA6DcP`i+e6V~jMDag`i{v*HVV|};s#Vr^`pQwQCpI>(2 z^znC(br$QMR0x08|MvZF#UIv+6|2C?-5Pp3=f8vF&{+w>fm*2kms$IUL?Nw^4RPa^_vnLb#-V{y{ zU*}q3|3|F)LF}{r{~1_1FWG5SeD>eC`$u!-`WyHCZFkMT<8F2OnHxho7blmK=7C?& z<@B!_nrLfXocn&)o3h%X>B_CH%bh=be)!3I*5uAp*LQsB$mhGwS@tt=Y9Y@WiHA)d4^K^O1m46Dp#QeY@yhY&+@xt-H~}s!I<|(~^wNP-%;E zeBRe=^Jly2{+lWcZs9UQMT}o0Y(5xhe?9$e(%)tKbm|W}+A&vjKMFsxp3~`)oKKV2mC%Ilz*Nz+Yt zP41kM{@&d!A?8#}avp~yyG&gv>)Cy;Yu+D}$l<@V>%M5@>4$5@tl2##dG~lkwml1d zd->x!H`mlDlZveBL|>@g-fj8yRakmR?iuc{59aOLzg)i8;#^7yJL683=kMz$PyTV~ zw1n>b69GpK?fmB;6+GF8&EnAW%qL%MU#iSeS5}#yeAFua=adzXUsW!dRusY5dOoPS zO8)%(LsQ?c;7gaDz0BgcZARLW`PHnu%8y#zV3uwTZ0uXUJ^wQEhoz;Q7B4&{A8&Qp z&L}Cu*m!*5Ti+Z#PKoCtk8Iv~yu5sGR`m1Zca;}>HED1!a6kQyx9a(u!rvO%{~5Oa zXEHdS946k-P*;$%-Ok+LDd(|M@4ngP?JDoIM4F6md|Q8O z{tvUq-|Dws{KxqEKZC%tZR~+pOD(_rSpIomY8yM_xBm`yZj?hx^}bOiwQso&N3J{#4E;U#ABX&KxwiyAUqJlOU5W%_*CGNAEvF zdOgSN*b6T&Wqw+n;-6^kth6zBl82@4B)i0u$LfM2vo~x0o3*>`JEMp;+r2qTO-@e> z*!+qw7EbPq=RXm6*EuKoS?*J2InTS7=Lo-@_0u9%aQEE!%KgR*lT>T@C;n&1ng2t* zy!}5zW-s5j+sB1w&#-A0oBqh8*Z1E{3!S9MiqMRouaECIXZ$1eckI8D_cZ=??=y}2 zVSX%ZV^o&d$IizSWww+X7%Hj+-I-8O)!=TsG5!kQ;^nGOCm&Ziwc_C}&#klHJA{o3F1=7C^_)zM9zc_t^${bw+eJZv@HXH!n9&f)AQJU!pNresGt z7kgZLa&>;d?H^3B!H>%pFN@B+R&`1B%c9EM#LvDv^v@)-v_AM$yt}Vy--o~b{~6M4 znIG1^*)E_z=Lct=%Iu=sLXNkLoA}w+tBd~R{Mi4G%ke|@0eSJ%kMf85J7>MQwk&nm ztYhy^UR|1dyZ`*T2SpAq+-zUJy5AcAq0s-p?0WvpNuF!7Zizm*+_r1`wBz3sH=dr! zprU#3#Onj=&cCtxymh8*4l_$7-sKkSuK*gnu+n#L9bI2nIZH#?-(Dfc#y564gU zyYI~TS1>E^-F)RC6?pjKq2RjP_vUQ-_kQK^%&_d~E?wpRPyZZ9pJX^sd~)O0W15p! zo!ULq@9}pJTg}~v*@CZ^6~Fd0`1#>Zndsxwv0~4&w|)`IxY75YA^2QIs?)s|zIr9i zRcH5S*uK0jI8j|~@zjpin|DN+ZTg>RzF@RBxO=S7OP{s#XK6TQ&xZ+kwzk&An5-xmD6OMH%>g}UXzZ|uu$SAYB#aZB^SgAEK5?yRr+ zTmPS-+3BSGHuc_*PdV)$iucR6{AVz;H;nVk6tyTio$O^El=H7MC-={$dvg*R?Dg2a zc8GHxbxzwIyv#zTN@`=QMO8qHP?yZo@`6QO+Dky&ZW&!g0$`XqWtG*1`$_*9oa_x; zW2bI=v?AN6G3)Tom&cdeU${Pbj_FscdHtW#rqr3#8{hvB)z6UipFz_8!Kz)~+rDTU zuF0<2vh7^~0O43mV=9`=2{r}kiXJ}5{@}GgT?wrw&#mBAw{;7JpZO*UOvs1W| zeoF{WD^+z&a(FKBPwMIZ4F4`Wxxb*}5*}98WImQI?>=0%FEV?fq+N7}1iSLZ*vj{J zQqtwOTh0C3e`J5#ci;Td?Bc|gH)J<2X;{2if1~!6=GXW3WphspuhI7wblmdx^2r-7 zjwD$Y&e`mBEB{5k&VPn2{s(#MzX|@>`|!O`g?rfV(3!K(UtWJnfyKyudlQ@6JI9l+ z=M~1(ciZRni&q>zeyeToYPG5LYqN}`XLl~^IHH&KfUTg9%|U&^bDQf|?th4g7kW95 zbJK_a42M_edL8@E5Z(0c*|UdhX8MR_cU;jtUfh3azkS@T!$JF}UGsR#C!OsrCs};p z?HALpe+*|O?_13gHoInR{?0z5p6H#gUVl`Nn|3bytkW}*?YoN&dv;C}e=vV)c`Cbo z|HBylK06JU($z1OF6AcAt6})y_rrpL$<4o@UhC?#L&wg$ciqVgjX04cZI|XK^L&~8 z+QR7&;uT4z+@IbiDcess z`SI`Ia&NP=Og%QUQz3fi9`rp)VXB+z9&%~V@BBOGma|*8f4FozbHa&>+vh*Gzni01 z?0m%2eX8fp>8GER{%7E|&pO{B&$`F4y!heWqW8YDzTG&ee9)NRNcj7Nc?$$Yk|!Q_ zJ}6;z{TRPg#qr4L;d`%rt<+oB7ZtX5f|>p9Pn(|9mdn>&Ir+y>cIM}{3s%BSMOvIX z3nL1jPYB(?^0@0o{;tO@`H96f6O8XWrtL^^nb?Xc3l$}Sq4qM(jUdDLdhOcSY zdilDGv(|TSasBXa?soUf>$gujR1^Xwm1 zn$FGGx_3)vzDb-{j^M_Vp%w?&Z}5cuXNX!Eq-Q)~D#zzyW$(xj?{DcoX}TVL`C)pp z_OYPQwDT_VdKNF|TubY%Eq}OL)NT6r;?3^LHgm&!8joLE6O&aotFE1XwEn>sLbK29UzIe6d)XKC=8(+qA?bCXB%k}LWb6wfl=NY3bp7fj* znN(&G!WiAhox)e~<)NM8k7M7%=PsCJ-P)^X{>anr;@taM6o)e@AAw z^;0J-@oD*;1t5Q=KhhY!k9Iy>U|#b~#Q*IT@2<_vco%}pvf@;VBsEIeP;e`J6DaNopSE7mUP$V$tv z{~2C)^zLF2VNLenttH@wp6wC$tK4wsb|(U)g^>9 zpUqg3KdyhomJo!8(H$$y6C?1{mb9( zecayppCRq7^urwSuyQ-;OIyvayj}aGgRRZ|)THxQdSpKTz4g?__qSWc>aY*%zww^$ zC>6i_AdTtt`SNWlMFmS57|++g3!h(6^eZ}Z&(c$z;-_oW%IZQ+uT}YZ*=e1sgksm6 zcM`UL{j#?$ON{bd%h}8F<&9X>jEki!o^1at7BNRNal4K1#m&3dWxvXA-v1%+KZ9Hi z%iozbi4QpP)~|h2Q<#&hry_6nB_*Tp`3cps4JX)_x$!gY3*CEp!3Jq(vv(fM?93_+ z{y$&)?YXip{c;ee>eP$;rzBU)m}wPscW>7Zy>n@)$jw_X?r)LX{h(Ir(PiIj@89x1 z6H3`W<=BiT&lw$*=kV}6;JGgQ*k0h?kKMu1-JRcKJg4d1x16}`u}bp1tx?gI@xFZt z%9?vtetqk@QfzzIYvskl=bk>6eHnHstx<2 zE7xtjA5^c{oSiAsx$jUy=pyAaNwVR59B(J~hkm=?GXFzVbp6d&$D?+CSl3-Ew!D;O zW8`rwrNf*>XZLQnZ+P;{W82E4`!fsf9hN@-^sVn319QRG{#&owSDcYKvsYSo?$+xv zhm89+gj@dY-CAU|zk9w!seO-~=I*PeyHA$#W(Q9=Ut9H`L1U7WU)f`cz{W$X`l`a0 z)gAlKux;-3H|Hj2Uf(W0y-IAMqVYkI-tM5fFCBA@!WDjfd>L=?>er>s^VQ7n&OfyH zcgQEVhc%mG3m6`JQQm)T=ZnYcez`ZZLZ;YJ|L?N=*6qFj8M4=RHb;D1->Lt{ag~-$K<%z4XJzN4 zZr*0{L_sCJZ%_Kt3hS(*=$k*)$`ro~Pd{GM|J--`?j75iD!w;0FdVI4>!&QT)OX3$ zQ%}8JcfOj>_Rl2iK6g#_@_V;liBEPHz4p7i!n0ST$;eTKr}0hQ;{Ds|F7N*ka5wyM z{ZZ@MwBJFW-sb3DyL62s*}l-JXU=n;%9AJ0S%;q}yQjG4a=^9+VZKMV>oYHZ9-2_r zRaakg=E#1F&|hi&Z#hrRT5hpymtoPBzU|ik8M@^~*6qnH*7+V@e8+ij>l&7x2E&u; zjrTvT?Y~+5?cm4%3~yQ=@9vF0u+QM?AMabDTaok7L*9<>P2tbq#RAn6=4XcJbd^ovF>L%% zSIRd#ndQ2$N}A^r<-DH`G4tN`AE^ty-F3`qsoGrAdWDd?@6OGC5Py8XL=DrAgNrI2 zAF{ggOK4@&Kyba2zDlZPZueY_xN{q3*I$NE3w&WHaq$nO(+Y4%Td!|p4l z52e;E>gn3Bf-Age>hp5ug)h!%e^OG^DVu!z*uqodJdbSz3hI@3y&rn-%z1aS=BD3^ zgIY2g$8D}W_!yGtduWZ`E>d)5?M+#rbsqEU3ab$j?v)cRJQ{!f`_x)#x+Wbh?;k4aJ>2q$9 z_jgP?o|D4${9;Gzofgs+Dr9BWA~6iF;MEA&Kn) zCqq5Qzta9f$w@gWg6Aq%FwJ)~sjo!^(^{MRb0p_jY9v;ftJu>g&uFSo?LBLb(k+iL!NXg1% zyY#><>t(GjFVWOFuqxM0rtP2b+pkML9hfY$;k)gttF{b5MnnA7<|#o37jV+rDD@flaGz@Aa-QTgfEc>N>m7 z!tSZR{F~2x#y{q@t89~2w_&gjU;htOnuK@TC#~<^mEQG7*CJ9Z|dR^75KBl`4z2KO?7-XlihiSry4rafMsci`DFHuaSJ zY4LaaX9({oD0?7aJm-sYpKbQZ{Ymd{S3lhUcK^fb>iaC&V%Mdbqh@!n<@4_U^482~ ziIq{oC#`KoCnq@f)dj{q%zP;Mp8upUALE^gA0-rOnlrf1e=l$k{QS6o{*i=N7p5-h zc^qbTb!L*$r-$5sPJR~sefrQ>t^<8;hQGp}yZ@2d|55&*K>bbU1N*o?Z8QoAM7!ulL)jXN%QIU&!&h;^`qS zzL_PxPvv>p`zaHIdH>#RpZw=m{lTdE2Md`0adG|*iLY36>D+$?&kuj+Zn}~2&D`jH zb_UBPyYCDPlPq(OvXwn`t7dOKWVJQabG1sws*=9trzfA6S-t%fw_1cbL;C#ndz}nc z@!yp^R(x&V1)0LneO>IY>ZLMzINc=z3T)3-7x+)vF4ne(P19-4^Yt=U7cyq_-&4@@ zxZCqj_SL5U3~O@!+}-4-b$0Uc{F1e1HtTwri|VE>wN%xS;xknle9_p&kjeO9d>^+m3HQcs&t&1U~osi z{`2c_y>|<@ZaomO#n%uVa^ ziYg!Xf6H9vw8pr3%X5~pr3I{k+t;6wczkdE)A#n(ONG@Lcl_+Mkef0?EoSBM+`B6q zz9*Rdn_<#xc%0#BZDySPmyA0mDNF~n`ihSg2Z|RJHTE6a7J(n?;#-c3@i@G$B zF=M}+YkKwun{B>NAJ<)DR$ne7e_noWR!H#SXM8iit+OeUzkOk<+*7Bpa(m_a2TS&U z@YpX@cjc0KSMoKJ*ZMLlo1#w7h`Dt?s(s=j-ie3%4R^}jCePdP_s+i4H>+f?8j55`p0ir~bKVco+~>p}{c;Os|K3}@JnQ=8 z#h#|eeyUi1p5Xmhee%3o-iq~|`yb4gv%0XZ?CphQ!8z;HRA;}kZDXyEYr~UwTjLIj8QHJj-8e z)At|X=h%{1|4{tHhrr8LHM;$0vvT~_Yhi#7wxpt=| z_Ix}q?^S#J4fEsI>YuLZiLjkyXI8fL)Bbf~=ij-1qz)E8l;=I&WcBg_Pmxv4zN@qK z-+X_lA{X@|`0(sd#)Fp=b3Rz-o@W?f>rs$znOa`onf(1DLZ(qwtj8+e}-26 zho0r;-}w4I%1NAPF*vTX^O(f}OIfDLhgp@D_M9!rI&!al=AVm>zZw4o%z72bH*@Dz z=0Zz_{^QI4GpxUGrQCi)`H@HSVs_<8_A&Go-03_1`Cr}CzxwtE{ds*kTV7OEYc+|= zF>W;MT|M!0y7lhl>(B1^to{&xxa^YT{!Lqsa1`-$Nluw~LV<_zfZT(LS9(?^Z%%u^ zaIR-S*w*vU3il_ zLEXN)d-uB5`$VljP|tJ6!{#o(*PcX$1lA3=3Tm%U+*w`EA>#T$_|UJ|o(TsRWEQ%V zYc1%}kY$k3w=dy8Zp$klcUG+L*u=Sw9BpJFh(x61N(?42)Q36-<*GzRDVO$Fs7-Z^gt_1u$S!X`&mhUZ_30tx} z;&q2m}s4!)`W6|D9{ z^x^Isdyap2*H@mfdX3=2>sKBy6yBbEuYY~o?A_e6=9EUwKQnFWZ=E0eu28JGNdUTk`- zTFAw~@cz`iee>>eoY0NG`Tmf&xb^MBcJj)Z%C(b>Yi^#ibAEXuq4>VdyZBp?>n?ii z2wAMXQ?37*7yr%u$AizQbUVzmzsEmA^W=G-+Jda?{+r8>y)E**sB(Lc*^9QP@&3E~ z<0@@x_DB7jo>!l`p4rC9>_dKgMDgUm^JOCMxF^mjvt*fnWm;_AnL3s|4%_8~FD&V^ zpTf4iCwaY%2E!aV;~u@*to>Uy`>m9`Je4o)&G~2d-$s|L^oY@yl2zynM4p;@FGh(jMo(cf4-yk29Rp^>5n4ztjKlKb5e5$am44 zf$805-xGY6FZ*WLe3dnxHA((v^MPx}#QZs47H-n87A)KJnD^5O2IUEi5|+moDo+2l zEcK?yQs*=O(%=1ONSBvXo3ZV=*Nj{>$0-MGnE%xtlyzL8|DPevU*?`e>z2;NLX0PS zJ`~Qgt-AhY=^bKue#XZD4!kEBbaxmYh8Wn ze0iNU{B7&M<^7CMjQRDS!EftdsrC7GOPf;pxv~ElS{Wbnn%&X3V9KfdB1B!Ll=tP={|r+9rmFw#*(c{+ z^WFF1Y|WI3W|NhkXRs9a)a-9$`Ss1P|Hku&SB%{*{s{KDFUhg-r=wkhH_tlpr^>b) zsuI}JR!1&Nzov1CpMUk#^UwBu|5ov__Dj+HAMU2przqDfVq#)F=kSfiKz*5;)wPuQ z%r?1c=h_cdy?c8zC;Hn9dmH%^*T03_THWM6IG^7%)$zmWx3$TaN<3xq0P&wup3uOWf?cd+q47oV(vN&A+6j``2P zT2uAm=^x!k8ciz`_9qsE@GZAEYV7|*{IT?8o#%&VHFc++=3ZUSck`H8Px0;LE7reM z{m+o_pP`LM%<_+Z))DsH^~&N0Vm|RzJnoMxoOQ{5WB%bCH#TjK0} zf4-jgd+?y!8_-oDRYP1gJ$=kX86UAC2WALf*4-J$dT*}H$=oSCYco7FrH{B)UpZT~i7 zmNzfspXHuyo3{LOSe@*TdFL!^dd=Pzyr1J#dGh(!6Tg~Y2Kat>eS}*s+;3;UX8%_n zyPXyX?Cxg&3e5kZE`L~l`|)DA)&j1ELt?usA1i052t6)5)GDDqck#Q&qGjK|vHVCn zZ1^LOb&6)njkl7P5?ppc4nNx^4t!m+f9u9~QGtIv{xhWIul#d5w#Miq>#oPYjlQ1= z)9`k`(C>f!lU>{D!yk6X>P7jQeXn5o&#)>@ec=N=epefguIa026s`yc%6+qPd6trfeKKjW=jh>M2J9K)|CUS65=)k5^|${GI| z&aXcbet4~^{mjA#e}hzy+zNfDdF;NHgWm&>6UTq6uTAs*@Hx6qQ~r&(5^IiuVTr~0 z;P}himi}j8dHN%`?!%M|Yaaf#JCoDO_Hk##lNBc)B&1(?yw}eJAMRG4 z8J_pFB1MUfs0HJyAIKz9LKGn|i6t zAN6ak-buwRGHbf=+xT4zs3?>tFWFK8{?!o$RPGF9TszZWn4EsuX)S~MlYwD@P&t`Bvq`j~IT zEIh%i;pTZz;_EAWLzg<1YihOoZ*Ff^XPD8!KBpl2S4s0fPWum4r_}mv*)q%pRc6jz z%DTy_?Sy^FCypmyR5zF`{?E`9Q6ss1k93Xkt~8!CZ;K}!*IDYEY%{sff#Lguhih&d zR0sa?%xfyU@-OyyODU%^^BeQ}%5XKdR|W3*h5uab;#pn=&b^;LC!P6k;Ft5C*1!Dr z_#bEFhq~&8MJ3ASmbcVX8N(S8^o-9xofwog|AW{47Qt<|YvlvC+*W%(?a8YB>I|!y zJRY+zkFwvo@n!st^?R}+s!Q#s|7ZB&RO&IG>DY_UP4^;?$MDr{sXrvX>a9_2(~EVC zcc02I)cz_L{cE-Tk5K!A{|u9oq(aXuQHY=U_@@N(b*+jA$;+!2CjVz(neZbtwcy>i z>(>LBLe1AWhTq`Vzfe5?`UKZG&-61Q)_X%4{qEYW?$;#!};~GNaw?~ z-cL1?%TCD1ERvDqb8|5LYw~LT2ao%$yQVEVYQIIv-ZRHe+HIIAI#eyga$shmtJD%w(}cf$dkv*eZEON z$nyNp!1ABrLygPdsmlFxSFKMLIq=w0rm^{`&yK~GU7HVU>dl%M%-wuf{_OR)?7uz! zU5+~%}Uy3pl-OORDhJ=dQ**QdOa;(hJ0QEz_L8pd1u z(+iH2J(ipCuIl<%{+0h34w~#yUaNZS=G!&1Tr}S7DzR5iE}FMTrt!N+-r|CwS9gwq zx}Gf`;#Qi^)LY}nsV$Yc(IvU)=%&K+LH_=ajukLS9`7hF`}@Y|_o1GGiC^t!CNH_C z}PkKMsi++Km zOW!~InpLf3Trc?N!E7<+vST)n`xac%UHzZoyimBs9rwGx=H2hDcmL1uk^g(^o)aD) zqwG`_4@bS#@iRQkXZ<(J`}_~{(}%=2@oUEkc)fWboTMVe*n60tUN&)V^_D(ABaydD)AD8il&>n!FPN_oUH3{YzY2v9R+Q+q2j8RVavvypZT~~kQ<;G>~iN|a| zRrMcRW#b#UHe>6jw7O&c=11zy-ttWL?DOVZPC^R0XpA0Aez)}34~>*nWpT<+i2_#n_~1UuPtudYq|rF?w5{`@EM zpW&L<{?D)Ci?weC{7e3M;XdV9bZB^L*4>|J>uY9-kx9`-3=4zg$cMomjv$V7>usCk{ z+WT+Ds{K!|?0cr4?!5EQ^C=N`LqoSGt33ErfBt#!+AU{VXP@Ejd7gMcJ|_H2wD}*Y zpC69Bx;XL8TIbb_(zUxDPSJQ(_2jwIWRL$0&9Qaj=Zh8gxrE#*`x##R`1b0Qz<--V z>p#7UFE;7r;{D_Pd3|Eyx07YZKbHoTCp2IG@IY?s@7ezu*!t?uOHGk_f26An~=a(LDWb>!t-l{F zOMSTIYxKOk@T-gd*J!+ef&GVtg{RZ=Zl`>`m8NYzEJw~xx=6N7$lF`I=r5Ed3`{}`G?C(?J^!H zI;=8#kpAx5IfJT%>T=twcc&!Xoh{RL%b>8qL*j21>*eGL#gmbSUqPMI}rLdPd%!?cN!+Xer9bCms|Qk^zk|EBS8ch=&EpG_vIwDU-p75QDB z+;~Bzl;Jyr+?U4>V|HsV=$xk{xvgpKL1yLkK~~kzo15?WE?XRRT>sDJv>Z3Lvc!%D zUtc!<2-Y*Xni;Kbms0Wad)<_3Yp)}xi(BgXjE&w%oKW;L5M_K=|9%qt!X z4^5Jm_TaH_Wyy`N(cnJ*z4rBPE1SHF8+AWxEweS8mle23<=w@1w?sWz^pz!6eGlF& zQ)ct&_2EY)CAAk%uw4&6ReNEtrR?u!e}Dch6DPgc-JHUBL1t1}W8d=)vQ|%0%6GNR zTJ`5`l6jNYr^Av8{~7MvuP>aCWEFH;@o?_nXBM*CRx*G6&+wIp;b-uT*^!@R-2W(h z3&cDupR?$}3iUe$6^~_YHy*og-a6%D$H}`JPV|^~D&6E^i3{@Z+K#oHT<{x|z)&%E*I_F>K^Hq|%h7xw2w-n!i= z>u;HSWgc6FCDWw;42P?i>VCSTp#7=je$NDs#|q4S1$>U@oVnhsT)vdi{q$3dzPcrY zalL8qkKp>v3*9H=$iFrdezoW0&q?)Cwll-FwKG>PnDpk-e+Fss2?jr7XVe^5o_3P? zvQ2&Yw3CY_@35%7Bzi|C@neILyX4F3%oZ+ zn4G!qMa4x4gBT{h>N?qsZwZCD5ASc@^sc2}_aMWZJefcD+n4V(i|3VG!hAaZUT#pN z)totkC;l@ilvpTl-h6rSzB@Z^8SVSGZ)^E)Tb1qeLVrq$sua$7`!aHCW&|H&js31O zdt6$r%QiafJm>CI{3r6)ugR1CGyHJnnC1VSxs!R-J86#xJzr%v{z>>yaCpn!OAq?o zTzcz^m3TJXkubd7WG{atrF{9pg}3jmpK+?b;)KIFr}tX^pPyfO@_nsk{tENc>x;Ym zc_p5?^d6~}u#{oVDQvR*ay+iU|F_Tc3lh6G*PlL^+T{>d8~L!n07B-cD$(UasIo<(`^fPB+EPcTB#VnJ6E>t{FJg| zA$2qUto&4cFy$QY7eNl~PbWXW4cx<)xH<1my1jt9Uo-2PD|DfY7Vx(Uld((QgWha;C2NjtG=p_@3NNq z-I~1F;$)4j>XF9W3wB*x%ngMWeL^W{xxVUOn)9onLB7PguwA){P7JgCN^sVOB)RR}| zIA?H+G*tQ?&SBmBS?r167v;U~g%2NnS}FFq_Pu`H84)eJ0PB(m^Y~>9&f8u+*C;;Y z;|b*%8l|e&Ekkp6yuQEkoTIJd5?>~H`)3ii1y{yTwho>8!JueQ^5qxebKZ)kCT3oE zH2-kw5>}DkGu}LTic^X_U;lBK^L+U|+leK{GWk1ySVsuV{3jRwkGYBe((d(dO4Tgt z%R7yJ+$ei$v%&b>;^Kl=tjBv-PhJ{8^Q9@$KD@Pmgc6Y1(FC%yBrc?b>LyVcqo;*qJdpqsqAHO1>{zYrHzY#NNwvcX=RN%==FgPs3 zS8?#`x~(Q2|IS@{TJGZF{^a+Al+QmeFT9kzulYx4a!#)H4uR^r`D2L$?~XjCX?ucg=%UCkA>{y+Vl8wq5TJes#&j}Z0yZ>R%!0blmDdSHp_&b zQ#(}z3fPxb+FUU&IG(9@EG*xU<;ZH$V~h$ZPyX$9&?xi{z0&sXUD2b1T$?&4)?NO* zB)f5MxyFOqho`nP)O$sKnJMzK`p~rGPn>p%lRrJ)=jYG1YiCmUu1}In68F4GazEJ` zCcE=#uT^!a`Tq2@vRlDCg`W&_-UasYpU`%7JM~a^;&HPn>YXaFXXJSzCf)X9uDMfq znE$+N=H(xC2@xARZwT+$py)0UyZF_CS`XRmm9w4uuHCAiIs46j293A-SEugv3$1@Y zt7O~08eyaD)9!Xi9=~hZ~FG_vUuNw1;Cccz&Jfv0khPk1t!R_)F^*&2xxvx4_iLB9C ziH2#-^g@b5aeqDjp*Yl=Vq($ed zO;(NOsQ7Ama=G4|CeyN?{kHCLod4QCe>tJ9RaGjk`qlEqAKRH9pU#;OvwfDs-M^O{ zYznGEk6je|ma`$J< z^9n4EX?tAm3Y#$bX_@6|dp;vpow9Wdr_Fd8O71qE`11A@Z&bfi$Dxy3St?J@ZO*W; zt~gg)mB9b5>&2qWq2ce%@0q54xf1rDVPC~jF2j8tD_5_cQGY}2k^lUsDq8OoxD7bm z13k^=sCB$K&wlzKW8(n{3zZV(>w8Po?#88`_uZ>y)S0(1%=GrbW7Vh-%jSsa~Ds%zy9gOdz%Z&e+106^_ii=BUmpo zBlp27W9E6aAFtbdJy(}JEpyrxzm&sy43yBhzSCiS(!nAjfI7om7R^99fUbJ zxj8vFxH#C^xp=v_xOsSZc-T4l_<4EwKx~j9j7&^S%*@Pe%*<>&9PAt*6{O++2N(o7 z7_T!;WoA@jU=n0x7G(T?gh8HxfsvIF3>ct*k%^gwm5rT)lZ*TR5r(Y-3`~s7%uFoI ztgI|73=E95j7-c7EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+b zl&YG#hNhN@shPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>Cq zXV;|3Q>IRvK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!R zdidz^lc&#~zj*oTLdFF2$+ZdbcBv+c@QOux14R zi{<5)KQB%0|IZLwul4Ca!@)E6x4C5QvhNPtVQc(QR&n!xhDl$u5C3QQP_+K-%(buH zX8&j4&N?Qrar)i=3>R(Lqe}?9j`?F81l@j~t-n1mAP53{|y{w0>q|6#@aZR>~lo7evd zooBpfdT6RaKig3$1(|oOX(!cpC@qfvVfFdjrY6;}Yj$!c{KNCPde%QsTRg*Z;$Qpp zzW)qU*&F{eTwDKa`eFMICH`+C*S^fIC|%#KT+^acRN?aWhV?sf%X8I9oAc}+ym^0X zw*Rh4O8*&no~Ncc{$~(5z4FBS{w){J$h`PB+q`~GVEmcC)Bnis|LyC(;`Zj~Ke~Hb z53nge+}#>`dkhs z*9-qBPx29WpYFIXc8A4*+tv5)U+PPE?*66Gt?*w}_~+@5_^cswtc*3 zF0E8p*S(^!KmNG|*T0f4 z=YLoSf1B`;Z_eiEAK?%7Xe-YVyJRZ+pFuyce|w4P?CSpv>@9T{u5I6Rdp_$QNnOrc zmw45KUcX|$z2ceUnf@2Qy8h)~{>Lx$ci~m`KLP(4*p@t(ZkxDr+Mj)Qqpt7&P`3W9 z^0J#TvGVMH1ZUk1v0(POa@hTK+UnpS^j6>`sw|Tvet8UT@z?ykeS* zH>YgfSrK~0=iQ&TCr^jV{%2sV{?E{K`0RfMmSwXK6dwPu@AV_5A1C6BPygMsD<)SR_tdl?dM(opP~7pZo=HflfRW$+_h@^_~Jjq z)6&2z_7A=ssjmMLfAf{ali;SbkLRAMZ!=8Ls+?$Z;_vmvmg^7w?*CzvAJugG+<%6) znoHMAW6#t-G|995&+z!vrriGw55ClTdH&hosrsB)ikQ#$&XQN8`fE4P;ak#m23Jv)=#5?|o(Rng0yk>`UIg{m&rUGyhL}n2G-noBkuSzMgwg$M7PTB_&V( z!}Jr9o6j-+mSp&w@!aW|`+HW&=lh?=H`^(J?S8H6x^Vjs_C<#q=Wedp7b*QY+Vx*( zfBk<3_5~H2YHjUKf3QAO=)1$%>Fn#=!(&GSbB_0u2BZ~V5dcz676mB03-?nZnm z^^PHO{Pm~y&#%`1VYB~{-r}c+`48GN&0aZUReId+TlJqrBliDiXg>T;>&2~#S+5_= zKYVxh#!uPX=lo}QqGfrZSos%&O?~yJ1#{{u)<3U4I{!mu`q8zHYp);v&%jwH@p5-t zn)&tZ*Kha#Rx%c|7pj{o*Z-e^z4cGkHMNxHhxrF@N(Ko3o49g)obmT_cJtTzZvo|j z{&M-Y%-j13X`%k_U)OT^KXT3=Ke(K_&-0Ia zb#j~itwhJ~a(VtQzpi@jc&`7&t){~N46oKd5BL4g(7b1VCU4Z)wDyPR4}6vuVl>Q} z^SEz*#;VQ#84f;*-@?20w$pvSe_We258lpQ`P}aQ%aCG)B9DK)R=@vhnkV0W{VV)) z=YIyluDT27{Qm^hGe11duzQVZnEkH^tMJ?NKREmU&@(^k|3l;b+tf$-jDH+2{1Hx1 zO@BE5?QP91($?K!jn^I~mgJjdmak4Pt5E2&yjH? z*Z(8S|66(K@#*|sHmN0NUQ7M76WW(_?g(puS;|Ir2FA0s;>G_NST%ptFOPniyE5uW zx8t5`%0jmzvcpy`yLW=~0F&gBu)8N7OFjwttYFu=Xb<1_e_WCeqt#RL`F`B;6v@lD z?0tI0ue=rM{~4NkD!gtLt$jFO&bWT_lIQ;!(pP@Fuy-B%g^=)bi~n(jKKPN8Hv6!= zz@nHB;jZ^5{%2q;_B8(^vi^{P+ok$LvLF3i{P&%Hxcs*KGS3{IZ_nolUr3v^QhYP> zi(T4J{xfvm{}7SiHlO8>eCZ>7$%^<#*W32kCyB1xs=c56&dK~7>4n8&pTw_z+*0*1 zE?57L%;Dei2O`Xm__{{#_;+Bh?dJasHXr|4uG+=?ewOxw?f)5?r`D%bDD`>TRIYKB zIlW7*o!fX4O{|wFZ_NUZ}JzN|wRK`h9TyFnW^WJ}kk0LkgAH0}{jKN2e}?1ww zy=P@ibCXfUifKzuU9-#If7R~Dhi%s;S0vTtF7$Y#z2-+@>HZ@*7q_uY5SQ+&=gN`F zZ_~S3bD}gY^vQ$fK1-XcdzFJP{ZTKuE_k?NU(%G5iW|SMFJ-s=ExJ$7f77qq#R+@T z)vrH$8FT2o_N3eQ!_KlB!BUu?Vl zwo-p^kJZ$m@HUBO%M+fN|C7E`IZwPj@%NbvUm|18$~er$bp@L~0iJ9$SE1DM>def`CC@ZZ4?@7vz!ru4lI$<#gVStv8HU(a|) zD_7M_rQ7ZFT^yrPO!h7dF_L~?49gzF6?)VX@ZM~2FGw8n+-*iYh zc<##YJI|Xs@pETfV5@llUUX)~-|G(bQdRxI>wZ)!^dA;Gb^N`dLf(V$`9F4jvW^$L zpLbUwa;DoI;n=$VM|?LRIBDt1%d$Y{M zo`p_5e_MCU=Wm^op)*5eSOxwZm^W|d`K?v{Jt_Ygy3F27#!qxJe&z5s=IpZWB`?hd zPUP=7()=&NCL&x#&hyWze@h?Lnnzwv*=X)7b!Iuw%I}ruO=C_>ZkhE>;+~+%b?IeV zWvke3?L1y4b3O6HtD7a~#p0ZwRnAY3RJ_Ax6!P|bykEU=_l$i`P4EcO=vTM3ezfZ> z_fe~`*5%Tr``T)EO5So0{<3EFd(MdL@}fJ(SGaF_c>1m3lXP2SuT#IegPHy7O?98S zoY&-$YKN|m+eaO&J!;eTp@^Yv|JoV#Gnb>+j>rSn@$m+r}R;^Zqxyis)LtNM+w)YZEFFJJ%T zE!#cq@jp)X2Y2tK-T1n;(C_P$?ce4eJYhFOd23Dle+KsOA4m5De@s7Erd)QGEqk@c z!94rNw>V=P&RH5aRR7t#`cVCYS@jR3?D?Rzrn#Qj+>e%wB~z3KLm=@;ML-c)wZJuoEqo!zAtv7Z|%zQ}F8 zlzoqNa{SeId5iaL?6X{!&N%;>@fimVy`Dec+i8@h11ec_a+G3Ix_ulKzgb?dj&v`d!zYfa+fp1ts6__Jf3 zmVcYE$^MUjlgxP<_uF6Uj)+^@-~Pz>QH6A|`8~yLPYjROe_VUMTP}9n)U3C=%V!+) ze;D~s{KM%CsVl)JEAzx;@3{Yo6kY!~SGOiUmvxW1!Lg4!iy}T8=({3(Hut>Urd`oD zBg>Bqgy?YpXAopwe&u@Mhn4>sF6LYQUNeJvyXbk>59hKokG(z};P|4F`OCWLhr+lY zKG_krtM|;BB_fZP3T>=8b=>l!-19fHp3F=<$Dvg?F|ymF{^lcpo66a@%(~OKR!H*r zU)!ZGQW5@7NH)#$-_>lP4G%2;GuUR^@wewnS^eF2bn1^=$KMBBIPcVbczc}S#l*{B zqb=9GSKi$9{N&WSdaaCU5w~yH3&wVo{H-mzshr#>-{dTw>!GbIotNq zowG7ttxqQG7Ff)X+E>8FAj=>jA;V|$$LM$B#OvXg|NK4jGkU`f_3a{VXQo^X_pEqZ zShx9+>9O;?XZXTwUmvhFj`=tH!Qte}y!$!Zi@BRZ*I(+8?BctlDDo|#Tl`I zpbx0Pyl zs_tpsbE79Y^MJgW5w)%LKLcy#hc&C0-n$pIy`^+@ zb?4&P(@E`bj;2od5}M}Fd}SUxyQp-rtjKr!rKdC&Z8zc4Sk!^}3gIg!#O{{OJqT?XLd3{-1$m)rWWUtA8{6*d24FWUk(8$4hl;4!fSMElvEk z{c_29W&h7la#zJTF?*b0ut{gQW@^p&;r^S*WuBG4b86%_U(qd9-8lK!tmxQg?hPK( zYGz9JF-@H0af~(S@1Auwu8-E=I{#?v`y(%x%szJVQT3Hc+~1PFRn%PjZMZ$n{*{lS z*CqiD%M%QbzdnDo|JeGQ?+?mv@o!H2Vf&wf>wCzKkADxnC@^nR5jJi1RA#GQ#Q3R* zjmeDr`O_26cIn@e|7P?-{&>DXruHLy_8-+p#gEl*y78YO>z2-@gC`i7ALRAV-*uqD z;^oAc`iPi2o1C{!{Jj2;aQ3&>YW*K-_gia9AHNrn75BXG?`Edj&NX+oscmk1=CL*< zP5DfD#<2^lxOc|1K3nnQ_CIdj59K~reE0U)3)nb{&nT=V2 zALZYU{?_Y%Yx<+-f4rQIet3NFyK%-p{!0%#+;gUVnAG;=2!p>_TF_%ha zI@;_FZB9H%is!2jo-_HKVW^hD1(dxwNK{*w$v*{M}|C=Q)dxP zwNU8c<4|Z*+V5?je7~bmS${yc`k%6VRGj*Gst7N4lzDAci zNwG~9ay4*bI{CdWOmzO{UinJ4HxK_aJZQf!VG~%nxF+;R?dq)XTkUNn_I#&T-gK`u zj&V<#e9)#`Ea&{Rj8rZex941e9lx*sY=3ZH%<{v&NsIE0BHla*TC0AhP~!Nh%AAA= z?rZCv;(6>Cf9QWp{-OQIJD>B#H!HjT^d+y%xASw)?Xf$m7Uy0Rdpj>gtoZ)Rc=mti z_kRf5fAe|t-x)QMAKtz4uFe;VxUqz5`#o_%4vz^NK0ViR3-x%CT)t2==%_khs@N$z z#>;=aP49SZ7xvUK(hTc!vo^4`-yP+4$|LDNLrj$EfkSrBB>xFFRq;pto%F-^L;s;V zi@$UC6n^xQe^cxA`e2>>p6hFF>6#r}v)=AJ%cOowo4v2rK7Fw2&*2qMx_%u0#~r%z zR_vdoAF8+&mE5oo)&oi3N6_#-vurN6wsz3RfbTT}D?cr43qi+-5C{IIf9-ZI^pDlBOx@sIMVAFr+2 ze)vDbjr_;rN8Ykz-Qqvw-xIZMu9=kek&Dl|G~JULr&N& zSCd^Cv{oEi!OXz;@{M7rlx2kvjlYK3$d-Zs0{*z5zFWfiWyS=G1VaMxZKki1$ZgR~$^(ZySN=|;s zwBV^fcf7y1@T1IGC2h0N^7^Xz4`1Hm-uCIIbn(0$e>7`cf+CbtdnEbF6G9~<-m0`2 ze-=IQ`p@dUd#_CMXTN#dRl4piM{?gx$*=3}Qa?|BU-GZ?ZbbbF$%2DZ7U&({c)Kw$ z`xQIK%kA&ps;{fHTx%;jb=|_AKdYZ<*muf(omr`Odh*d_=4*Xe%yakqV>+vk9Que__0Z>J7#Km?gQqdxj(r6u3ejYTe8sj>kD@I z=UvA>7N%TR|Mf2Bm)ure?vV85zPmU7yI^`PzF*mAo|yU>0lxZOg-44F&D;}=@9oNd znNlm4R=jgtEARHn$0Zj}iCObp^jy8%y{#J`Mn>6N80f4LewS3#!k)J! zbL$-J;N2o%eEmPedUuVO@~*U$tMUbhrm*)txE6Khxb`vW`%9y*_e_r6IPp900{&;( zmeKPcy>t(-T5a0<5lIFFfBG`*8|)W-ik^r&Dis$UK%kzH#yN=t;#tKOH!JFZpcgFB`kiDFG)|Kl79< zm^byZ#`Wnx1zRF!Hp}jr^Xr;lZ_4G@1x_dTcBf0eVmCEnUbS=nZ|%dUrHytgvC0~7 ze*N`i{;7@A-Y&^_7_(`obywqww?9MVRCgbdi#l}iKU43lq`K_(LcX?Lh#P{KU0$2Q< z>=$iu>E+@|me%LeezmL#YtK*L{q&aS35E-kjjh(Q*}tt$Qma%>Rn9KFw()E9{Ehd{ zY}{3kQKQub}N8uD6}&#yk?`OjdkQ{WN9991PL?y=0T<<*v{LTUCuO@!43E3a?nIR+eN>uj<@(c2f-QDWbL57Y z%BAI{>NbzNwmy1n6E%ObNw-z-^1c!)-uIv zeds+b?^AtUx$0i*YlAdiX;E42jThd|4(__D79A;>cxOBBr#Fuq+*hnq`_EvXKY4M@ zkq=gnmM?3GI`+ObE#Az1a@Kn0Vwnej4UhUh&OIq&?5zIoox8_v?&E6%Ka_lOt~Fll zay$7Mo8;%uFKS(*KDMmlQ8VpLPMp+Hv~j+dNLOe3GM}bjW)qBSek%Vyw97Z^-Id#$ z)~<9raPXF&_GI6EY47Ud7RZDrnjSg3-28XIpCy|*Jzie6RQ?t4qSu#m_wF?t8UP5IlfKc&__=%eTw-H*7LmB4VYwNS;^E@}-&-aD9|L5Cfw=E@K&Y1F_ zVSdcj;LQ^+`X^U)X{>8@z%wh%{NVi$OTNp$z5j9AKjyXwP1$$F^eof0BXVm^X6;?n zz@O8WINvGziN_0DpZ&+|O(d((Bl2&cci{^ss~2G-u$-`4+Kyhr|l{r}9zmu=>t zMZKJLZm#4N(e-Q6wp6IQ_Ri8?q29A(qwwYDy)$@zU7s8O*tgeu{&~0V-A)&DbMDq< zBn3R3GA)f|&c`>!=d60t)^sLTn9JD;@Xwr53_4Umam%mAUoPPLx&#vo-rK=P#15Ts$$WZN!qPLj)WYI?*N^V7c&>Y|!hUUC`)&4$ z=>1b|x8B|CTr9~h%{6gC^~YnD>vr5;A+}EM&uP|);b+@SZ$0uWdwgy0?0=k^k1cI% ze-~v;STd=0_K{t2s~6pI+iy70cmJ*A{|wdNFSs9kSN!#7_|f}9`>tjwTuz>4;Vp3H z@SJ%q{~5e~J^sfr^+V@A^|~u!Ra=i9{}wm-;aX*%@`9_O^V zZVT4>U+M3YI(n}8w_uIWm1ogm8GmHg-l?5e^V7fEQY2mG@wAt}!atWUIJYb2m+zy) zypL`>bI(vqetO1cDT|>@&+`xKUn+llxp&K^{|rs#H95O3KW}@e`%mt*ocD^~yVuI3 z)Tyh~RmfcboSvAc+$MU?%&BooxnkHf@gGSmzFhcq`5S1KqT%ER>*Kflb{2j(f7t3; z>+;3ZFRso1vr~1#@vVM8Cr(g&UL>OMq4;P<-7WcTz2D#N{21>3(e!$&$$j?QKgwPH z9o(>C>z?eJsttF&i=X*xYo$3|n%FAs5O{L^v@b!I7%pkE7MMM)I9m2G=H~~k-Tc;@ z)2(ZF@r1i5`J3#Tp1k8{m}&lOYyZnztsXw@kyp>!aQI1Ik)_0%`G#wr-=4htXW!PO z$UiTZ%=E}OCce)2Z{{hU6({AdT>m5R{ZU)YrHqWM5oi@8J=b$U=b-(;I_iKEY_byLG@Myje@40u!8ACKw zCLa*})A^s_V1#|9wfybP-%kIS`cc}wce3Y4whi_hPqG`|yzRDagOB@%naK{ntMk?` z{Lk=UrTmAu{ax`N0_SplKe#Qd;E&}G|B_ef7vAbg)w;)qJ`MWzAXm=sosVIIH202e z+7Ei29(f*qlXhAo?aS?VhRp|#|7Td$_ReRk<&QtA-8vd}`|xya@h+o~=d=AE}ZyR@`Y>o7}z`HagRcLklAr`a;d`pag& zl)u6MZN}K`_U|WZ&{tf%l+&+e=Kurm#jLH7H|)BP=Bv$nQ(md>s>iGQW^=w`$csg}4DuGFp3DJc_scAgZK z7M9S=sdJ3|V|2yTo-a%4Ym0H#EV+Ia!&g$RYf|6lNF}*w>oh-gR%B67*KKYLuE;+y zIWtVkZ|Cau-{N}ftxbEMo=Mf+YADU9(B{8e(aC93^Gw^F8;? zALVg-E_|uyxZ(Tl#~#avd&RE1UW$9!Ex*NEbkmAi2`Uzq+zE!9jYq4>{|N2=cI2b` zq5b{x{B<(-Dw%)*lY7#;*8gYV54hLXFcxd*3qORVoKxu4gg;&xbgsxmuE4RiTN^CRYVR+Enky`FWtV&eM!TW-f> z|E%9C_S(Aj_$}tjc?k*91uUvpcZw!Uv+KWo)1!>tcf zazs;~uXo}vjI1;KAo{#p`MT*{F}15(VpZI}UoT5ID>hSlZpYe};nz{~5A;^N;*z*wWuyC-Wo!n3V7LLwn5wx9!`0`HQry z*=heBJF`R%ggni(0{fnyswzLc*X{A)`M1LZYx|wO*Kg?c z3(enXdLs6p`z%Ihz4Nov%9GV)q~4g$7tHux6?5&|_kZ%9KKu-2dz{wpd0y~EyNB<~ z`zbN)_^i2aPfmMPS@CnvnWlvWOe+pJtlpj>vHs%uA8O`r zcb7k|=YADbllWun0$=s^sC%kgKITk|N_}}jPA4`i;Qq;Uom*?4ScfWap4hx0_rSJ- zrCUXUZv6TA(Y-0(#y@>cc9i|}Rhd>=$G%^VNPA>!rgU4#^Hh^^SdobEK^4BOlOM*n z|61Sm#Wy)*`<7j~@{SRGt5;O&T$`0X=eCmY2{z@=@=szuME5-D`sMwP%kXzmw!C!y z;}82=>lCx3mLIwsb=>FLI}=k6<*ws_*@-&SjD1D-?vB%4)7n(IDm3Cjo`Ud0dlvi5 zdilDuQri};{A2skZQ;YY&H-Dqqc`%MRM^+>`Du)+Mn+mpgJX$Bo|}fa*4|E$7mJRc z`5oFnlgCxQ^nu|zw+n^+(RO6_W`F{r1J%J03X8v8f_?1;~mVkR{*7R+Yj$9A$ zGM1V6XGcllsSP%LuD)w)I6juHYph(cz5VM+osuc{t8L1RP09o(e_v`{&}_l7%^-p~ z_WdFM+t42u>(bD-_ zuOC}~Yxm(O-Tf{9%qwO;=Ic*>wAwm1NLT%cv1fMvYNy#PMOF-AzPo1^Z9gNya6l%& zU+d1#*9Z3VZhhaePcc^A@uF$JK$gGs8J#V!E%nyfY>_P2l+Y0kSJ`I3TBWjob9s-D z#MB!3$IbwYN5$0oa8+uF+?(wY+SzU1^zojfI$ zghrhdqvktBhVd)z$^Ttzqg}Zyb64!M?vKC2FXZjfOs{;TFXLbO$a`&=WZ#@iYqta} zjL7}Uy6?uvIJf(0+4(v~b0&LFWl=7vOZaj5z^wg;|JKFo$6PeEl@9IayH@_KDEf}l zgvf}+3+b0FLy|hL4rZfI1aR+ z?e~w2${)76w)FAz54K;drW|&@$hWY5`G1CtZpq%MPj2Nd>G&>iv}nVg(~^8A zTE525oSLzhPd@tZtUcA)53_rn{F#58x_9fG*^YUS9=q=B(ol+-R-Wdt(1B%=A8X}* zhW6asZ+%|>J}Jt)K(^DS_{+0>cmHnRr*V7!O|Ii%{~229zqS4-f9x+_v9Nw?Nx#6p zbvDMlD>lvX6`NaJ^!mA@$vvNCw-PS7w@J@rH2vh>kaO#~NA^yqEp5INAC@&Y{&T;y zJSml1B5Lo}t7{*fd2{%QMzXzq+@26AzNwX~UKJk9&Mz%g>G8-=s_dFzR3IRHK-S&s z?w*Xi&-o>{C4`*c-JXB^)~@+CA0Lt0*7|X_W3Kk$s{Kbed7du)u(b8)6QPPWgPqm2 z*V^AQhy)!!ZGZ55l#)+ry8h$!d|Ax?O`f@5^VLk0+-7NRYwX*pz@R-bJ9Rq$(@m`s zKOLX#`}d!rY0i)Jjyry+f4KGgpgq$+KLaL@^0>-xFV%Wo~nxOv&)?um1@zta2mgx{CnEV}l5fBl2` zQl?*@ADq3uW0!mTSKo{*^J#TTwZcbz)0T0vf78}!i+-W=*pv52nxt}fO$~!=`^oyP zZZlWbsQ!5V$e! zUDO(xC$nYZ2FY8;uSPn{d^=ibrG7-C#(Kr!lAOBBJi;!YZ<%~j3BS0c@zyPWo#v+} z7@ZhT@D#?ck>7g1cPoGEe};|yN7QD2tNyY2L9O+XStY-wUYq`i<4bp~(6Lv)zRKPE zo9g~MTUtbub&tp5n(8PQ$)w{NSHhh?iRIdb%w|(d3vMzKjAd`HlY2G2iudfHmr=8w z)^vZHp_C{z`J$%`oBFa!)0z6+%Z%PdJa&sKVtoEOKH@*aK`Wc&M{Bbm^dFPw{}KIQ z{U1GFr(fUQ_Fq}BV|!n&(Yb?C8P6j7XUc3luWVFVE-1j*KhaZrvc&7;r}bhL(m@y0 z!}ebO%4=I*S+Tow>h?a5)5SaZ3SUN6g}3FK-rkX$tGiBLeMjy@x8`S4CO5EO+xz|7 zzYlB+KLkJ8H+$)w8ugFjhs^d}%>BxC;p=<>vmJWePo!5@-k6k-BO2hTETO)&f;sDx zfnhFd^yJN2#czraid;{snzwd&4cEuA`OEa?t2cjTop&rL^-N_+?hdWv<)_@L<}g%E zj4OTQ&vy4mdd$v^`@6C&-$tiwII*Lm^M$?4m)G%2{xfV0J-771{sw!VujkqRsPAY$ zdQWM`g}gtG*$@Ag`%LUcU-K&fJO?!_R`R8Yrt8}Q%$n&|KpRkHM{Q3N2?R!4- zAAK)&HF>7i zvbHH3Hcd>N_V9V1X__Zx?mimD-m=d0_FCPCm)?ZNJu90hYM5ui zoc8y)dLO&(Cd+k?|8X`xJT2cLzeT?zx5o8ht@)8S+5ZeJW`DPyKE3*MHpd?Qq)pN9 zuS7++l>DrV=(xRe-xa5~Ia1&4f9SNgmg+hmvXlSldb~03ORSx|(7nu!70nU<&i^j` zG3grj>|DDe5eu4fmG0en-}G89)yUvf!dkJgoi$y@4@`LRTIclElq0>Htt+1GmHPZ( zeeWLqrN_UWRkN;`$MW~buI)9-{S(B)Elxe}+xpD-)pm|eZ)Z+^Z>;x*?Qwrj_}%{u zo43Eo{Gj&yVSZccN3(_5-(<6Wx9#|--gUn3vj6@MPv2fr))A3Ku8t)eEI#MLOVOsCZqJoNZZkER- zw|-dtpl;>Ip!Wg)PVcy+JKeokFE4ffm4%xkF3#pUd^U0Sywj7c8)MdOma(c^UCcY{ zXTh4a8&()@l=)w5}Z+n@apQEQ2bp7bAn$0=fJ8HT$(~8)+ z*dAYC%08^K$Jq4i`)NXM2ifOY*v;GDS~tBW@rU{c{kR{QAEUiL+&?VOeYp6;e}=>B z>zBU##oqe$G{4l3yb2G&v+K^+xNh+XFZQxadcrJLA^O3-agV*~7XMQ7na{i@vAv(7 z{-M9l*3c_?lIIKG)MfkIa)LZ1ly2|ZE<43&UcJ`83;$SO6~2~dwUMvn&To6|vT3UH zvZvVLpx{6-N5D9c;fa3r^)}nn@Kb}7L&(K!R$=_k)yXeJd&+o~*c6;3T z$MW&V#WT|$l!k=Q`Ok1T=8xg+`9J(^^!s-HuBo-Hx+H(=Kf}Wei~kHQ{}~Ro%sU*| zGylSsYLD-HVO6%G&y~OJ`4M+=N5$tuXZ9@)==skOmHqGfe+KT$<$uECq^$ic_B#K~ z_%`94U09W?=(COgZp`ONjXnK1mUG|a%k6LLKb*at_2axt+85!Hznaw^<&LM$_tigm zuKjewe}<+Mwn-fC6z$9|c)Kf{+7LbWhux7C^1by|b*6K&_G#_9vbalk`y`V|GiF!Z zIeYS*gREivh5kP>j4SltHveXi`Vs!H*!^+7fb*lj<^i*PH%zU$zuEOU`{ZX@W-C*Z z&&Pxxxxab-AED_F`xgJU_@TL{bkUE+u0NKqQN8eycklZyzv;_foRzuU5%+MCq|J(Z zA{|Y;H(k;=9%Q&OO!mUx+3BbMGkkF8c*p}8PMiJcq@G;4hyIgon=jvu*c9FEYUg!iH`A8X zf>Y88lbe4Qa5Oyu_a(5zl2& z*;Zkj7sUK$NYC0Qy=R_icH8C|ZH6l+&)02sb9l-h`04%I*8dDFSwD8J&7K&S8E3Wm zyH?v~{q2jn+TV@OE`Rxb`*eSEz2xHGD!wKc?c0T`jx}uF`S-mA z!`#Ix-_90$ZJGQ@Ts!^ge}+Tze<;Ntxi3^P$87t8V>!7#Z55@~&C72KZrC(;<7SWN z{kwNCU)p*97XR@$o4;NE3@cV2sOPOoUH^mK`NN!V0jGZ1EV}gkhfxA}6OMYT zRFo_}hz2qqOgi%K#0z<8@guX?=B|u>vHimBSJMjPA{&L;ZoOEy@ZgKv5h-%*%CA4C zgLYN1JpG{mcH*Px+WL@fALU#AIOcRSUMXpouFr6=@L1j#aO$8@*@nX!Ka0E0S-gn5 zqt*URv4rZogg8 z9DRLV%B-)Cre5-V;wX|DRW7(l@8Q;vQf?o zD_3O(MXu6Ya8lYLI=bWdjG1{&9=9#uMje-QyWO(F_g(*)SP9QUjYyUHyBb{nvix3e zl6zCO-8_HxwBVJL!aw~_znp(L|4{u8RrUk(e>hA(dQb7g`y<)$T(_6bj``7~FT7+| z>i%1Mw)R+e6!q>4apHO!@%ggplll+g_irqJ`29`pqx0=%b&OlDE3_YtDqCKsNH|!6VaY8!Lw}7U$~%5uU}Aor8B=}D_s_RqKC7fY zolOl2em<9t@hi*6u+rzLmzIPcDPmY4R3NU`tny7Z`>RdG?IX92A6wrgmAh@{hyM(o zAC5Qeas1D~F}=OybUx3IvWq!urX9NH9)CZ=Q{{rmB>8=QTu;6(kJ_Snd{(YXsFt7q zUH7N4^A@wMP@N{JICFMeg-RsTc4Zmi=Hvdy7pQR7UEEWVZ(C4wl=EhMK>b1Ie`b+? zynd8^Saf%BUvBZC@_DKkw$=uIku~?(v)|x+%7$adj%h5Mc1{0&M|6VaXX{x%<9#n* zt3IhX$#>djqjx0_r=(AwRABLSb@Auz& z|4yw?_xWL*u6{ULRR7Pxaf-1mx!f1KHc$FZb{WTJMZ>CuJs=lNBj`}VEwSZ(ZpI->-xj< zt)*wnu04wX;d#EJwD8fRZSPmz$`ZFv+ty*b$CoE-TfyJ?MJH-bs_3~*fAjUjq57N2 z-XHppoaO)4wd+Uz<9wltr2DZ3FYYm3`Qyyn)?csevhlvhM$f!U#s><8-9o&D3`z?m z3h!^NKjdvM{O{~GJH5?6-rN`8qR;lD)5dOE`9Ja97fiLe*T$dQH}6U31?iP)lf*NZ zrBzCEf6hH17Jk#tbebja)r@ zkL3^dGvBI6vghybX0sI!-(|;>Del>Ha!dRDf>}Pe3J6Z|i6D}^Ea)(h5ucW(*1r|zGpuFKk;oF)6-WuKGNrk%PPLD zJNNRfGfp-uRX*-$IJJgd%QJq;_l3H7f>-DJ*B|s>@KOA5{!RBs>8)S$+wBFn{AXal zeRk39msZ=m-$J3gH^)3>^=XlP zjLJ{?e`usFU6WP6O}uyUN71kAR<6pt9+>(0eD*`J4|DgpaZEF9E!oy*wl!kkgK*d6 zhU2O`zrMej{cQ=T4f(#oD!;KN(EP}I&XW&os{^i;)C*Ry9Xs{y(=%Pa3z4tFrf<8x z*;O*FA-CUDL03dzUWV zQ+DlqVS$5jj7g!kw*rH)@B!wDCnJisYd$i(DKyOY!Z_QnQq<_41{dk@6Wz|bt?S=FY$Xa_|+Y|J#PD!}{i}r+c*z`#(ziFyW)yo>`kbu5Y;gvh380WVK7y>usMD za=ZNYF#4HVv)=nZLsRablIx4MPWJhs{W0p3_Kllwd+bE_+%{6M-X_$n=r3XOG2Wx@ zp#A3aN9`NsWIvkr_t-K0NxNyOOt7kzmx>e<9cw=L{W=0CDk zs@R-fC?g$mxYb$uNVwrinJ(`S#}B=0pPp|%cWUesYkhTzx9@+3-;v+8{Z0PI+21<; zE-=*>!vXCIRh)iyWvo9OjD(xOYY1vqmZ+7NyFhQ`*uOS-Ej>Uix**Ya0C_1^x$ zRQoLs<$^zKARb(q-@Oiy-qRzhsuA3w|wE{e>C$uwRSMdnwV=H z-uUJA`wMj<9;zEJ)*nHOS``h(7UV*fL6Yk!OR5&TG>uVSH1=!g3eAN4!)-o7)H z=ifH@5qE7~<-&Qtqz~ljDNkeVeS3zVWw+TAqfXJzSNoIlZ!|x?{$}HEm&|{9SMB)! z6tx}q-!kvqn~E}PYwMF@uZ+bc;vEY!ZCB^rHZeYul;EI}w9Wp(())~c>VLdH*fl@$ zb$%#+%%3Skj&b|6>jBM2#H}np{F^MYN$bcpGppFSOU(8qPfDrR+;d#}v+T}Q{tnxB z)z$8}&72>5LS(w!qWu9|a+8nF)BexU!u+lDntf(|*R^_ay&B%^%tdKV@V@Bg&@<0KCG_L}gQ`ERbS|C8{s z|4r({yZndu^V{jYiWA>;alVVx)cHsMa{Hw<7&GbK%hh>hHqF=U)3sx-Pbq9_``M>v zwBzB8KkM(zHrLY0x+%e8;K0YBQv1%$cwPZ-_4Gf&>2BA*#@{wRw7pL1W7){k`47r>?vwu5`fMWa+I6j~ z-8?SaslK$6yRvY`JCB+AHYa&k+zA(|^qo-lAn%Tr%8K1n|1;#WU9_|NcP95^_Q85V zJIf#4ht@vca?vzb{!!d=v4uLf<{q7M-5~y!cb?dtja`=0BAR9@+-ca%ezd~BUDxjT z!-(YAQx}g<;P|I}Z{Nqi+v=GA#Qoi(vnArIKHu#Z=JVwDXDr?QQT%u;f9ST>yOOc3 zYYL;Bc{bEhzw%KsVoXVqQ) zly~Bmf7HypkVoI#Pu$bi)?2*AI5+ShOR4Eg`wjYs{uV#_{>bA_@0*8gWW9mZ)bs!7dVO?0L%!mL(vG~P+a^Dj zo1Xlv(oZ_uKfh>m^yW!SdvZ4M6uNjU7vHU0cWIy0hxu;}e_K}Eew^N#Z)fn*T#CP2 zcg@zn_Q$QBSe@Oszp(Dy>B@W?f#@aXS*Mk~b1v=(c%H3yck3t1*f&nUzA87zFS@_& z^pDBk&TqJ!W2!G$!}{URwC}kE*JpiyE3M!0bi?#aAsx@+s&5}UEAE`;woaIDAavx< zYw?YT|H65q3 zWLx&Me)`YwLrZnv+Wg-&e**s9`)GQ-$F%dSMxNf*=+hBv*QA#JG zwzqj)5##boH8;Fx)vxjK_#5-&$Lq!XS4aJc_&e1`J$d!r&3aQ4KZ>8*dhuZ3r?h01 zb4#B5?0Y}yxbA_YB^!$F{7m-S*dMfS`}RrC?p>4aOz!gTZng8>w3*e&gF!v3dB+1e z#`PE9-*W$Ecu{}yqvfro{B8Rs7TR;xXk7m#fAl|tV7B>otNISRgDgoFONI4s_)fi4 z_wG#8hKcp1XPQkvuU-B}xZ8hEyjK1#{couoCvNIFe!MOrT)8huchvp=!A);!?o+I91n{aAct(&^=Q-`?0RR`$MJcT4fMB3VVlcg3F?Cwebi zcsluW+cVYQ&NXLV6`pv`wr|mYhNg@f^ZvLEKXyJkcFCslvHuU}Kh`Y5KeP{7O+DIs zy(>3AkHxrlop(v)*&apbQxkcAZ%bKmCu90Q&ehrZ^@-`FA0L0K-@50jc#*q(N1n^V zolLgNt_T%zoM0_JRvb6+x8lE38~#Xqyt}`1kL}0kZ^<9imVZnC)V6TtkKWl1+HL8d zOAfM3+;%B&=AC8NEE#$(^*va;_Pp|chNjj(Y#0CW-uq*F&7_w7=sni>jySp8w0O3P zMPJ`<&F3|W@ywe!@uG^^!V@we>D{|sBx zdrd6AobQs~Y&X5KUi1*hAGuq9kAG`uKUkA9~r%}=*-MM{*7XjbQb^n>gc#}=Yxw^=DFQHU-@_9 z9_dG``CIRA`nUF>Jky_mAG^)+XYNT}TroXhtADG|*55j}awl#-y0!a2oAu86En*(2 z;xcN7Jb!3^>)zOQ`tkYR#aphocPqCav1(ekqifZ!6XN{;Cb#}9R=;Om7vRa7hs?BTtaO>Zze`du`|CVvj zH{HKGpnUiC{(=aV-kXck6&GuMUirL^>yPpe?+=rY-^%aMv$Lp?|7f`7^P^ntBXT?+ zP0!7W>Fv~(u1Km~FyW<5k!J95rQQ6uxa!;NxBSZJU0sv*!+&A?%OvkgQ(5r?_Y8OK z+1dX?XdWJkl=k|FCM*^d7 z&3gVfhd<<;+j#c3OXgzL#by5OyT0s;IL>EZv~| z-et0%uOi!Z+lM<+X{`_T3*LzQ+sB%(6{*;>=**Li_ue?m{Jj;(aa8${ZqeDb>zB1f z+_TiZaa^TB>*9tS(WEND9)ZeNR`V1#ZqD`kC0*Kb<5DpR&JGHE6_B>6Ea zG+x_l{pkI{{oEDFaoab4sPECU$zHZ~N9Fsa7uK1ic$O!)O}ry-c+B9K6TABIswWSA zq}QbW>^ijb4wrXZkY&)m2M;bi+kEA0q<8Sw;%|MmRr)tKABp4sG4av*)?fAq?~40L zxy@hl;-2E(9Us|RAI)aDpTF#^O~>Zf!aF9`{AV!r-C}r($5+Bf{@lyyW!G*gY1Kvi z=J_J=P4rdO^|${SK6W3iW0>xE-87#yYr|cSPv@>TO)(XV z{|VdwP!B&C>wWsupZ^RTH}vj&xy`lw-|6_1Y-?q5Q38_u2u1ZAy+4UbrlJWWovX531Ecb_^JOHxVPE{AC)ux zn6`0Me0^S){B3iCEb;AT8EZ>kYHNf#PL$Gm%fM76l>OE5+|`r6u0Os0=EQ%7{15Lt z)jr+2yRP*2_2TQ#KF<-T*SS7rW;@pGQV zgXRmfe*R1QX7x?Y)8s$HW}S(*B5uW`GqNzOJYHm*b#{N3qEXv)@2y(O!J9P1`HC#h zuQzSjy}$hF_V?zK3hI8mKkjqkd*D&oL#s`4m09k||BbNy`1Yt!P<77>{Tk=Y3UMjk zc`yEbNIYiyfi-IDm9@)z_dg0*JS^C!-&xy4jw+-RteWJC)t-vizGBM(Y_8`EB>h2>1JK z_40mgGR?Hz`*N7%Inkgy8p*GZJHNktdvE&5LYZw{7kBg}Jb9bE%ay(Pa{rMl=E5fh zbo+HTZjpKS*Y>r!TUpE0ELFE_oB zvFT3q{pgiEpUh7&&7W@9w&Op;t<&M&@;9eH6217zq5sgV$$F2!pV(gW{IclH_Ppn| zzP$Er+tx0xQTwoUGg~l!Tgl!dH8fJmUIB!9i z`XSFJ_09LVJ*GZ9-nwO`3XkLA*%Hz6Z_9p#JLc;c+&ud1gk(hT8tG@}s^%{hRemq( zpTw!+@o;-c*sh5aPRx#$_AmU=b>L&``J1_lpK6Y!m0AXFS;>BT{qyKz_h;vACYt0b zo1NXEwPHc?GOPK)uVdc#FO$D{?c$1fN`4xw1NVr#YYUtvux&vn2k^|M`yRVsHE3ck_GeCPnFfJ^z;V1%B)J6vFe#z+?SI z+xmy$Z(bLEJpV{;{m1MhQOnzE5?57x59rA#&X~1kU+fHlzjGhWyLWf-#OE>FE_m}? zt9T=07_xV&@4A`W#06g3WxT7Y{vC36=AYP={@+S7RX)0RILx-}Pdd-QweRM=o9y!D zk7K6I+{ZD!A<|tXajM7H^|}8Unx-E8aPM3`>)8);*RA^}f8TR`%!}*1qDQLVwqD&O z5q;j{NoLZ-^suD8W<>>s*MGGC;}o0l@8HYF9Jdc!iS1q<>HDaAy+Br-!rc0;B}+b= z-CnxvvPe-|X#W`QyGT|FVzlIK26H@3^z?h$%t`Q&FFW>2QD@H}Vvs%+CU zPh0x9(S}RqPx5-Nv_0DKJD=~U?yM7MpS47KHIa{aW}ls7Nw z-}(OxlI!;d0hW!7>2Q2cnvR?EIas-?`%;6vUXy+6Tey6=~WdsmCB@tQ0xR^FkZZteH5 zfpOLAl<06f)6Exj-#zA9u{8DI6iE*0D&eO3Ustm{q62PS7Y{f7*_g}}J*`gAN#lHs z7Q=!vi7(G@<^N|$lox!tf5Y`|J6+#ZKTi1uA1=OiR(5Gy$8;%~UA0F}Gx@4MO!&AX zO=0;ow}&U6q(AHY>Msy|_n?aI8jpS9@6DqZ>+v}PsjI>$Fr?Jyp!h1Og?;1u0LF3LfqXgon@^T zr;5tV{b_l}ibv|`Dj34Snp z_FC_d%SxB?gI+3Jo0@xcPu}6v#k)eLt2{7JX9;icTCJ0_U-P*{UU7U-P05FKJ0HGp znlH2EZ_xR}R!g7G@2L^3E?o7aI&yl@W|wK_BL%hnmD=VuTARx*vN^US<@%{NYUYCO zB1Jx)zh@W4+dp5cx5RU!Nbc^?$>q%N`J_co&SctkV&S5M&`mqTg0G0aJn{D48u@#A zPk-(_aN_s=zd4tUE*;*SwcYYg6|9{;UA|=gF58YTc5_!eOFVP-+mG#!&N}Wn|HF4r zsj<$z%+EHVE2l+PvD@!I_r7j_)Gz;UoIg?@-tUtWx%Pf*yhz3AqyHHMOzsw`ZTny% zFWTR-mGjGGDU(@imwfL#Sy^()Q^lLhXu`?QGEzT9mdyUX{IpT;`kht%-}ct_XML@2 ztlv6q=ZEM+;``+PGql7%oZnxgUA~exaf`lmMV@Waz0-l8YUXdbz3<5+wNwsCXOVne z&zR?COYf{W^?QDD-Ff>B@~x%o+okjtuB*s@^la7lctIQAhj-lrcmG%{-tz9B{L5`c z?o!^>*`>6#zP4K5 zG3}SPNZ+St--ABcUHWV_$D=WKp~v+Mjuq?*Tt_~tAGsTSw4VQu=)>K|TEEn{e=FZ6 zW#lf<7t;0W`CFr(Yv-KoG~T}KLg9%=lc#>uzNI|r-|@|#l0(~)pR~2v#NE;GxIaBq zE=@FIp2LI3`@Kxgw+mJ*4%>XGz}`HLegDFheNR?e&s+Q9 z`#0B1HIjB4AH=uYGvxed$g=OgWxH#A-@2OHtLO9ov7d4x%vSG0^jXPWb0y7ATbobc zuhH2MwVR*k-^qH3b$dJ&CjaAH|6s1yt*h6#f7_a5g?%^N5M#CE^$Po&Pb}|oDq) zz={bgp3IpVdq7U*pu&HKrqpbo?MB|KU;by1n5eKdq9Y>CpWCl|+Bt6fNez1DX=cpI z7T-Z*PWgvRyT4`qot9@($Yal>w@>1R=b~j(o^A=dE*ttaY*)r+$vv6|qvzpiKe5&md;SE+x?en~rlKbC*z{nK<+ssGUbdX`_e-t^@!udm~uzWlY> zB~OEF?>($tzr>Cd8Qh8F@2zJGf7#+%t@(`R|T+9&tH zSkh2#Dvx37zYABFTD#2ubWZm+L-I7)>u&?IOBerVIH>xM<8F=9j=PUn?n$ow&%m){ z*2(<0S3kHEIVI_-C4mPWAUUle3rH|Icvn;C%_@SZD9)N5U^uthEuW zUv==ijmO2?TenPTJMj6Ma*48yVZhVkV_9$3g;cEX{wGy;;XebHNo{i2_5G>xH|M); z{BXqnw$;&HKe&B&@4cAt*yv7_d%5bFf}Y-=PAm944oE(J@OSb*{(qNmu`U1T?R0gI z=7;u!by98G=R0rl9$j=Vro#V>^6B}Gxjp*1rR=Ao7t3DzwC|eE4z>MnX8$&?Df$6A z(vSZ`Ocmec$N7AJlHvuN)ppmeh(0H09jp=SSN*!(S!7x-$NV#T$IOE#@VS=A8O=Yq zYkqfq-m?$BPxsg{&C2HdW3wwzGqE~rpGv%X0&{lsYU78Ex9no%rf6mswjbIr{^Rqv z&Yjoa{A2oe-k!z8zWqM~-;tpHAD%U~%kITy2pHUy&XQXDrc-A7=ES*=7#h!?+VOP1 z^q%1L6cUQKo-km;)`@BYz+Lj{G zDVzSZG{<#*bbiQt{-72Kbqsbd#WqxR{^MmDo1h+p*v9p`>+Vyfx;iI!^`7Kdm8^tG=+n!OcTVI*T ztoK5pB2M4%!-{`_7OZWLXGF`@uCL%f0NQN3Vy%s5Y2gF=uKR+2923R1J}9$tn0)9L zTerQ~ucvQ>lxBCoJW$ehq|IZ7wcY#acC#1O=>A=As<`N;`@{bXH}4;+Q}`HSe_P7D z?R|~?!)kdkzt-{<+b=(Ln1efzARtw824{vMOxu9fRkcWi7ePF{8E5cihCR_~S|uEi^KY7BmK zKF;s4Gui&5{=ZbzNZ}o(E(*7Uqzny9fekAkv*f_7Rk^XV>L;Y_*U-96rmrU;J2YmRm z`Q+)FcVnV%A1zK+S@5na)Pl#6uW;M?KMX%Y7uJ~n-EN=ypP};~=T)`Kb<#gRA4}ab z@sYagz7Kbg&aBAS(O0ooo}rrBtLMhjxVVh#rs$=Ahw3-K@2*eUtNu9rNPhP$`wlyq zKUzC}RIdCH4{==%rm4Jru^5@(ZZtY#mT7hCv4 zRsOKN?5kV;&Hv~v97htH51v=t(nhe2k!J)`SqLH%8QnM%5 zpUYIa&0pTRxb584u*7YNGG6-<&VNiu=qv6?w)eT5x20SAB(r~VdeMo60jK3W;&!O7 zl-+nCXt}t8aSh zY{`L|fQP})sygA{miKxV zEjh})vLVMLMf8r^HoTp~*x=5-&(iYbb9+}il^^Mc<+rpSINu$Wf5={?6lhf?-r~2PN?!_~E;=UI-Q(ynOAaf@7{Cg#x8$ahT_CI{Kf5rJ9=JP}Q zL;f=~+5Hj!bT@MCmzNJGX#Vcm9-Law^Dp$z&ac`3t55x|T|{BAu8k`qgvVeV-i@`>yt> zCDk&p?bo+Yi}hVo!(3jlT77cq%Dbl}6;cn*?RzHq;OqL!_0nf@Ys6Qd*j+3;<&5#= zmgM;9_cy%>JpJL2`3_gF?_ZsJt~lV% ztNj_JJZEm#eK^l9n)Wj1(w$X5KdyYZ@#U8_v0jfP?w<-eW-2{pV%z$;EpHdz)%dEv z!@D#0_{@%{b!G*@{ZC&9{++5gMLVXoH) z>epIvuT=6hmglJplS%%#>Q`CPhR;$Sv(uck3m9HE`|i3T=CNJ<)W!u9mesxUvs`|< z_Gno~tc~&6@AJ>yo%-|Saha3?tBd(%^Ge$5Pj5*tKfSemZSu^SsinE6l{Z)(XZa@i zec9GmYkHOS&#Z0p-?#ql+gXP~?w;;W+Y;`6x}{kqTg~ag+`Dz}A6{2qTlxO&Q)~C% zA~hj~XE!eTFmKVBLprH7i>$8a@?P!Pb||=J!nvE1g}p-7uae`BYreGS`L_!@+x|0r z)BUkq^ytO5d;aYAwe#!0vK%^W`Q@B;j#gG$X{r0h3TdC;>WBX`@EqC~GXLf;v6<4j zIXV9s9GY2#&)rGhUUgw>YfbOPb(fXqG`GDzF8OcADmjjgk^5vT{LlRTwY}}jio+Xj zsHh#gU-s-P@9_s(f65GQo!(`8?P+}4@zV_)7AoIm>g2v&41UB_zA>nLf@{Iqyo+lb z+@G=kXNV{=o_N1Od&ZCMtPh#j-t4Y_{K$w|Mw_SS!GDI{QnBqli4)hG{p{8JT*i}9 z&z*d0XMU&Qy3^GW;nw*|X)4cIcgBS2s8-8&-~SLP8&&#uZ%rwe^}k;g_a$G=^J0De zLHVQTr`V3@-6tMTmR|C>z;3yO>9_JfqUHzXKg_JVwO{tDc4heK553!F7Zxmkcl_Cg zmbbrT_s^{fo4(<8)`U${KV5U2^Ka^x8MO-ia!arDa(;1}_4IM8P{fSf)Wm<)*B8j& zn*2EU(1ra+JMi8)2O?;kKto@Tb*Ks|HFR^7rmY({>^S; z^5WaEnaPJft#r&UlzIAO+C!y4^1WO+Z8J$Xe)dnVz02!! z)6HH!nPhf?VOxms_2yr{(`HR}EzYP-{_y-=f&Z6#I)$x`so%?iN z+i6_?x>qTBzd*&)Ev>;zUxsZLym9l$G?`;8m)~ccdtk=Aw=eryr)uy0GyT(;d0TF6 z;`umlzo|Ft)4gZzr$;XCd*ri8?TuIc9<%28$3=?y-u#vN0XoI8|A+bde}}5X56Q|u zoPSh9?@K&$Y(u#mZLk6dxrZXxd2GpD(0md-va5fcBt{_EMG9g{ToUpJX}>%)Ou>*eR2 zDjt-+K6q5q)}tu*#$ScMppzc9#W8TJZ9ytdk$x#6~R z!Ktw7PMukv&f2B-*dFig;Bq)G{2};=9ryGH;w^b!?#tAjn_SWL_@Ud}2QT0JDSw>* zhS&LU)YjI&M>cJ~wRg{Iv&5OAJUtV)9XN4xU(}DZ+PHg4`%>oly`TOpEavgH3d`fR z`=(5M?Uk6RJnNmuq9bux$KFaks9Es%X;9?>+bNHCu6kzjEd5sfcJrfu^^fdl-IHov zas5HcJ*AJ=7CxBK*8buAQTK?ZPxsxoU77UmQ^pa)rHgE~o8>+=;7MtjxFcbHXQ_3> z^FA}9812f2wyvP1g}0TjUs`7MM!az9U6c7{kNC>v>+9mz66#)jQJQ3Z;#pb0&QVVm#vPMi&O844 zyvZa_nNKEj*1INEFjR$1-tgj1YtELOyMJ4yr>WeXd))T8my5xKRkx>BP5Zhu#Noc# z+vN+siUmD8DcVm9f6|i<^XxTJ{iRZG`EUpaWeR^lpypYFd>d!v$Y|2rSfYqF8TuV2e?s>Lw&+e9&m$mNX>hzeqJlIoH z%6x53xt77sZ_^L)->MI}_$T&Je#iaI_m7@ut~+mM@^R5o`6KdduYXOOow?*>;qyKF z^DewARhcHfxpL-`>fF_=K=5OydT}RfVSLW$_C^>ZX z!+}_z2~k@%tKYL0OquX4_-s{|_k;OD@ipu_KAJ84(0BR3w|{CEzWfz-Rd>Al$9|Rh zjdy|1F6D~`{kwHF!cp~()Erl-nBG5373UefS5y%f>)TQ)B1%q9M}G7 z)}4yd+qtMl_V2cR3@_|>uWb#zBE|Nx#%yKDF$32xvvQxde2VZmy~S5bP9?dv$gU6n84lTVWrg3mw{O}#nQNsp5m&E&Onvo^KkA$PVgKXnhxc>-skoN=N0x8#e+Ev!jSDv2c4mI% zS)FLMT&6zx%9D`n@@c6q`qBrb*L_iJJf8g2zB6iF_UX#w>o&oU z-n0Bs{_!&D+vitt>idOW?34PqNKwxB_1+~xdQ(?BZZn?Z+EyTXSf#7H`q=J|#~;?M ze~^F6v*do~eeUZI=Iu;f6_qI`ztKBd*GXPDZ+k}Gqsz18?H=8GRq@Ph(s7Mwi^v}V zUh|dz&faHtCu9Gn{fGCeAF|&fe)xX#H7mFIkGTE2q})69?DX4RSy*WE@$Tv6CVr(W zmT%0?&X`(%Wsj`zYV{50Za-o_rr$GPVxMGOh5j-54*~kkyPmgyJ+Xh&S6#Eu$IbOc zuc%f=E@}3RoF~rwtTbt<|C#$0^2VF~F8O2sTjQ2~<36z;`G@TVZ8TR#amRN^9q;&3 z)_42S9_MV^shtyDrb&fJ7w4KpryFa`+!wf|*7Sk>?dor(*ZzP8B!si#3_d)4-mCLZ z;zo^3cIIM_lG`22KYTG)j&d*MnG}6e_S%e7r;d1C>{+2Km;KxK-wiAOe*3ieuCQOn zkM(o@arltmyHEBva6tuh{tX zAMfrD&kyxW#8gav5dSt){a~#6(ThuWM`Rbho)zDrE9sbWdHuap$Ev-zwoHpycXh)l zb|YCIeTTk5@Pt)6#+tzfgF3#q8T_{q_DAT6YuJJ~z(&3Zze}-FS_rLA`DE>#u zUee^Q{o(C=y}1wWmLK{jsH@&2plF!!>E*W*Y5OjmNzUlej&XQ$YUZ6+RsPJ!ALnu( z6qghGaR2SX$G-B1?8G-uI``Y-Qm&oC(Zq)@KKS2U)~dtM#Jq!N?v5}9bqkCC46OAT zr|sL~KLpH|&Ytk6>_dO2&Y#TX_ao0fJ}-Rh{;h}~>u!B;x4M1DH+9>4_g$gfoYQzz z`~~~jj2OS`3)kI@=UkUQDWB)x6*<)pyzg7GTQum(3y^rQTYp1KoT-fTevfQrv!~CP~e9G0ax~fuJV?#ntn86 zk7Z%@vIr$Xg^MN?>lX)I6mz&9F08coRGL7O?#(OPFW5+bT*OgloN2YZV}IJtEz#e7 zi=MlDShsgYMY+e7nU25X`fHbKR&y-X@6>rR*(J>iGz%ziAncJXCY-tJ}56;-D$hg{whzW8*lwvXcF!bQDXHtS{*4llJsNWPl z^HK2cZ(0Y9$_xY8oBv&%FSN(=@qY%<%&NTA4=wFvD$);2m5ALF{otgt@m58;&%~M= z9(Tt$U@x=G@PRW?jF8zfJzT-$roNkLbs3dl%QlUAI&H(fn9%@}h_r`^4IP z_if+!A#Y{EwBl_mEq4FCwCil{CgJ=Yf1a10p7ZBF!|&36m#5ipEkAy`Ui@(BnpfiG z_oOboHI4r3cKgldxK|T0FC4DcyV&49M%iO25k_H%qa**A{4@JbJ}!Jgq~+!BYU0-@Nz(62WU}75{GZ{VwM{6`q|NU6 zkJmaV3IAKK$!S0H$?vPdKQ1mc{_51Fv2Jk!(y@xn@{fdn#xY*I{d-r<^ZCD?UHzH= zf$R61`@C=NE{WYFKDqomr`mr1eY*F!a}Z{fLzuPgU%<+;9X`?UU&&6*Q>ESPz0{htP$wZ9d|)}Eao?Bor3_fBP}&gxIcdygF3 z-PQk|@5c8Pw<4a@>q+)qJ9zS^|9;UqOH6t#OU33%iat3%gVEx}znNc-Mqbj}c6M6E zEz{UdHFpeT9?Uv_asABvFqi44CwX+-N)lp~HL83aczRWRw#TWrx#rV$I`h;;ooqgN zG$iHnZcgdzw|10p8~#kIeZ`)jC7pf3Ws=V2lRT|X+6qs1{%5ecTGBh)t9S0=NEHhf z4Mp~?y4U(Eb90}WPkLs2-QF;6`PPs%UwOmYdM9+f_essyb5wl##Nq73%Udh?-##td zX1`(kv6!FP{~1L37BtM?C9&#(@VnaD?29IIQ*%@*4QJeVqimyT`}*{Mh6jtbm;Gn> zaOl4D)a3T`KZ@TkxxK0=yJe}6KJk5MYws(?kf{^D9B)&}p3nB;>|V*dFTIwVzdOjM zw)f7pc)mR9!me9O7WCQAcsF^S`pd?DCuOeI8ozn@@ULiS*yFVBW$z{itY-XXQT+Dc zW9B(mj)qLqUEJqzqonktPV|a{pj~KDAwSj}=k0oWJ8_ci?PvyV_uV^LYTfLnp8Dh1 zIwfk=33K<7d6CR{4>%62+xLoXi{Pdc$(dYp-Y7SCemcKUw#Yc9{m3OBvml-H^V2>u zbVgWhSDsMyFKOq~RchrMf9n3Oxm$nCqwdCbE`$9yZdo0b|MTfTgLgl}uX&4KHpg?+ z_@gH=HjxcOC}Va{Lj!?!|?p$vwgFA_FkzpzVoT1|5WUa+_iW57*}7j zntFA|ZN9gA`|hy@^!;Zz$7FEE{od_Zv+kAAHzVuUB);O3+q$stx6rbk&;Fd5RJBq2 zQ~$rc7O!^)Kkf6~`TMBlAB}p!LrF=SwI=LTSa{&CrqV|yB~H5w=N8LUrvK4kzVx3V zr8fVN?(d))8+(B*+pgJg{@tC=-=V`(B))&klueact3Pj+l;sHd*?B@;uwyHLO7ey2_9!^}MeyW&)tK#C(4{Z-S zJ5CyOF1cm*L4W(Z30C|+)Q>IyFzxd9^PPeSE)jny0hXF{j-rLIu(v>>ryq*U9`lQ7>Ynz9MtK=;TN2-OI`^ zzc;ZLjJ{b>^wRF!hC{o0B!%s#?n>Uu{GN|p)MoL87xoXPNG)#`{&xMtl6hty&R*}` z^6YY{^lDjq-%YhnFV{b6ek=CbId8$t8%joRlv(T*__C+|UA=Wa)8XG46^rUQepJ0a z{Ez$c*VD;ry=$U9S&vRy(D{DR&X&0!C+p9VGCb9$P_{1ro8?FS)_p=XnHRs_mx=!4 zxZ}gW*~z8(JonhIC0#N-&Al>ES=d=;c5t$bYVURJPdgMoc0K*4cslp7efK@JtBWsx zP5ba}?>f)AX;#bDe_I>mtv0{1>(%E>{-Oj{sT{!_&*u~s@tM7-wf)b)8uY>bkbG;M z{)c7?5m(3o4s~kKDRn=nW9i+&k*y`S+D$O5d0G?w|k|{v4Aj%II+^cdlpl}S-%?#e(GH? z>z>-j?T6pGf0MrSM>=uwAFu5{=CZyzz2bh%k7eQ?YA*g=xO7^?8iDr6Sg#(NdTpkA ziHoP$@~8Y~XbSnE{c!pb>G!gcf82h!Kkn}~&fN4;YTfMIhrOy_Ik)`a+3Z}R=d>rm zSx@EzU-tYO(kT;)a-QI_hHsK%cANlq4?;bh%joY%j*Lq1eTHT1c z?Y`67XWg~m%tjB^pS^I6|IO0J_KY>UAN4!m{Zp+-e^lP7a7Fj6;^p?HJqfc|ww)FB zy0rA-#QM5PCKHVwJe4w2D2}WBAoS?`!|O->GqB&USnYeoG@t)P)D-hwz4IE^m`z`C zVui(T)e8sPQgYX?F|=dtP``V zAKopy{ASnGy+8Fnc^k1$o*pziV#5hp?L(;(mrgIcI`IeN<_3GNm-QL?GC#^6sUKf2 zkX*-XEOg+7D?n!>4Y!6nkpDB*nZTBLbf9K3A5;qLE zMH*J}o&Mw8w6w^GKdMPpyT3g3-o4<$f9C`HUtb1YOKV=7+7TXhyX)e|W^v$dJGKliA4mdTR(>0spSyf-`y+J;Y)4nIped!bxDiXq1G z))}igd{&Lu=Dgmb@af-o|16Fq$?dr;&siSlT6sz-l=bdl`FzgdKZE>vnJ)`Ce6kJ0 zQ*U|No85VnH;3PAwT*p__OqA!vu;o5GrW8w{pZ!UJ#N>^V)q6x+5Ts+%RFW&ob@={ z;Gx5lI@`Y=9VC-frRyL0opCPQvHU?jmjlzT{|rZ#XIE7=h^-Zyd|G>dhUB@jdA0R_ zV=GrY=Cv}e-+DOrt)r3gvF^NHW&QRyHcki`|@)}yi-rvybw0~H_-)a zcDqD3_PIzLntIH@fX^zW*=mM#>t$=`111l$6Y%RJ%_>Ld zRE4_q^pD5f?OKW$AFc7)0%vYJWZ&}QYPBxn0`Sr_6HP`4FOXlg%_TM_; zF^k#d9i`8;d*&23o>fW8d@7yuw&vJ@#0&G23a35pne+8!xKGc)==S4^)xs}*Q!~pp zy}hgM_`UGwg`hmEiGOFkOucjM+fM~;qm9ocj@#B|_NeLH&edhe$+wU6$OpTDdd`-9qjTa@EW zTxV(5=vf98@XN@2m1OwDXJFV<^m;~B$;rokSN3I#-?B?O{Jttc=DK3RXU8s1A zPS0`nrw<-`gXTIDYcej|+5d2Vxcf)G-{d3ztTxRL{%~jF>#|8NtIn zRkISee){eyvpeaQ*qlD7GL;&se^rP}amVL)GsqGClr4P355|e6M{ouaf!L`l{@5;IE zeRn|Wo|}ZihFe98%RJc6|7S?=zq$En{Z{cKv-k7=h_lrbyKM6E>)!0JtM7&VFYU2i z=GbWZ_37b)2`f`&nBGLNhAlmHcL1Md z&mi>Z$J&KIyuJGm{Zq;p$q1KIyIlI3U-0(+cJ)iT^^ac%{=1N*?4f8Gezz@5y6kz^ z)B240H*UxMon52)uwLkH_B`&7<*hZDJm(kxXg)M+{kM6u%T@G*9`T!J8B9}CurgvY z;#YXq7p51sHGR@MH`c2E4B~ODI-3(WMb2QnZeO)Z((6>wf=%`K zum9&5U)}3Xo_2qwJ9iN21 z+x|!L=3`!yKe9jWF8I67{%z|=*?CKH8&B8H^A6~GypeT6pVrF#wbF;IZEMS6SKJ9N^SHwMj@IL15w99yWah-SaAMvLoK8N)!th^yxW?p{w(xY$=~dgU7M`d7N@Si_UPua?Kfr4Pf$_s z;akwPX4jPBH8N+`v}aD3$7$CPW_wz9(Vu%MUB@MuTYvq{*s^2Rt&DRjz2#41K5l2< z9P+tDTq|0Zb>3#%wz=h8TNnI}TIFrh*nN9KrAB$}Glu5f3OtY5rdgQZiaz_yBz5z_ z{&jY9djqcNDPMlno4g}?_0oLv)3>-5f2jQTLEW}CYme09*jKu`hhucKTT|N=QoaXN ziq4s}v(RjdZPDGFrE2EU%Zg-!-_1Dwk@=O?qorG_t!MJ|e*gBAS#``hKh-#C7(5>2^Z_|Wp$lX&e(r|jRa zt9TpNDK~G!Ss7!`yhEC15|KScxprTl*?$O-P0jnykksEJtp2eguC&wR&V~7g>~jC6 zUT*GvHgm4~jo(r#Rt8(+XT5qPU7dSg=+BzE^8z`24(BBoMLdqzotCh1vw*Nf3Hwxq zU)90$URgYCUHn5*i$#O4p052w8ipDgi%{CGUuaXR`D8pAD_iTyb1}vdlz}>4C=;C*GbB%gtc6 z{=){#U)Nfno-_~A7CR}gCtkp`?M0@@+Lb)ld`xD%lP-V1{DD?(-I+VS zOSi6{U!0lC)VrX5rQ2i$#_RixZ*811GiG&4`q?GN^xx%1x!%oxW{@zu@#cBI9kyCW zq(XN#UDBNO_^t4g{Efojy?P$B@>uuB&D|V)_to#OcU{G}Bc>^857Mk=L?`BZC5n}dW^|WJ_ z=W2^X{xfV)-`ys5sH5gTgZi2J87p|)C4W_g9h;f?t=Q<+-&yvG5>r1%PPQ#;{QAT^ z=G(Hv%c5^boGdxJ@0z8O;VMtH$C?ismd|--`6Oxat$hpMoQZg&^WHSAH|ket?#4Ab z4Ia^RZ=RQUzH!a$_M?|q8+|y(dEzib#qs4!OD|<^>`d9!yZExb#>2dLax;faQww^`;%*~2js(LpoQWZr1-WwI`LEz)rRE?e@{L+hl!EOKV9 z=&jgj65e&@AYY=rrtSHxU(OHJ-z@#`{^lH1wBFLldx-j*}HGj=+%;w0lm2J7ke){zGuz2&^3Zx_jI7Ls~=x!3Q{-wZx{ zTe$q+`Fie}z{Nkz58Df+`M1qe{ZRAmbH!u#OQo^mG5I2Q?;R~l+BZ|e>Dv1_M;7ez z^Z4B`N%eB)lYN$dd-qBIG5%;bdGYHwjUOM23)f_RvpP0!miuAp=!uo-wF-Ur3hcL> z?A~Nj#Blpy?9QVRAHKiI|FHgu9rKkvj{M#GY+@o_+8MMTERJ^naO#}&@9xe=My@Jl z?^ou9`cJQz&{VDwc(ytwp5vcNP2klUgMBI&?Bssf5_NigE2O0&+RRm|<{vo@d#^Xou+G94Z5AE50Tz1bFefdx0n)1FM`yYC| zGiBSp#lT&3p>X13ty7aL_e}9!+&DRA{l;bON9J#xe_$^EgWTnZW1SD(y54CMy0FIU z!~8$0X4j?mb&B;@XN3KGb;@HN$Fr$r)3)-hlbIGS!@DGWg5F9c&!clMt@pb#|J=Tv z{~4O*XMX#3Pw9u>u6Ju6-v8kxe4yMss&D>-w|?h7dtOrC^^t99xoDT|$_hc<+-0tU zD<#8%_$BRCW1~E+|7^c5TiB+3;MbMY#gdU3uDoZ?c>V2qEbFiQC)4%sLFT`F`BOf& z#o0&Ygw^j(5x+ir*F0CvP4`5)UmsX~(o*Kigc)tW9tJkuxSN|d->7eYuZ3^P?D`Aq zxD8Gxxg7YLnR0p0?%HFYK5p#c>7U(|vFVn_@03>#=R6mv*sfd8*}Lz!`8twa*5Q`Gn4`dx9dAL3iqmg*)SmDAea?{{g< zpR@aF-hY-o+oO^xktutgQ_5JbL11;v$q(O}*Zi0twdvBEl3MS8D_b>L!lsFxe0JyV z&f}+Lvdj&iFOVreTGvu{uKq*b^`rA;GdJ9;3HzwtypQ8>rIzZpxohsbugJRI(0emN zadJuyo7=Ss2Ferf?f2aOV8;9pzWnU}84gx;L-Htq% z79?%^;#st`8~4he>l6Poux*bxpK5#b_;HV?m)~u(ZN0j_&1a?Jo!j4q?d~x4sbGJaj>nje9tlBTj;_dcwg$NbIm^vdl! zKFzS=pDF9dakuf?_dmkZzdgTLpZ}lX=DO?0r`5^YNnL%jRkFliAd}N@nyqnAo5hks zk-2f~eGzHBCmyEUoOF8E>`#258~@y{SbwnUdCS(_Ywd$Bt6hG-CQpjHJ9^FG!hEF< z7k3%(tg&ulO%mJ1asS1u)pH8|GZ?IYVf>G~@VDR({cr7mC)(tG6#lL5f9aoM1-Gx% znW#G~&UPy^IRka)9=oS@Cijzd(}5KSnY;eg=atMz)m51FbO{w{mHd0#pTw;iqM zy=*VA?tz6|8vCQ{FTn@wIrl%zuRo~qpCMgSzdr46@wZu5bxYq%WbTTw5?f!Hv`@To zeVDWC^_vf-cxzh}wf+l@U97&euI$dsZwp1Vecw5Mj+PVs(f^2_;r7Ygg%#(I-ILuk zVYesW^hegaC8Dj%r+M7byc6mzliG3e**c?bPmXz7%a_!hiD&<(lHvUL+sp^|Z$3X9 zR>yuN=S%k8`ft@AQ@{SXr*?HsbKUFE%jr!fbEjFB|9N1vLU(G`FYa$1e`nX&Kb(In z`kUcLv#E=IynkqWyxTNhJagN8wmpF>Pp@!)c-6}Ecg(A*!W7S-OAjxaw}oqD z+?U=aMUm7>Yx&9m%d>Ss=ND(LF1Yq^cGWSJlzaafR8m@5+dniNXPoor$ghdfzoz%? z30#+PDf9b1&5zHPE{{L9tv}Un?}`}LlJ5TuI=93o{Os7l%p$@dd_ii)`4cf`^XfY4 zF3c*a-xmL7<;O|(P1^)3?&WjTU5vWl@y;Zd@50@9Ua4OO+rED|C~@c8o5#{qy*^*= zdiS3p`F(r2JnMgk4F4Pc57&3-^|$}2UHC`$;}tvoOJ9xbZa%!B_jbMB+eOp#_sVqd zycy)UGbwO>@XzoEimNK>kBQZP=)PMq+4rN!{TE^Ghs(taUWt2Eep>w7@N)!DdIF0^ z@Tb1)T|XB7Hvh5tfSt&X^2fbJpF{Rt-DeyblXWZ5*X^Be)#Kd5H>S*)W^D6GRBHvd z(Cq2#&lo>z^UwC4pIM>(_$CnY*eCg-D*xDj2Khg%{~21IyZ>isx%}w(oA(d* z^ZoFSy^`vk?Jp7Y^19K9+-p7^m){z!aV$Duk!Rc!{^UPH%RVm8NBW|#;^gl^;D?AW{I!`5Sai}TIaKHBS4 z7OD3&dv4EJVV@9*$A?yQ%kYWT*?c^HxHi~(YTh3AMHOB5YRgo2L~fn2USW1{yR=JF zzZ^ z#{72jtn9K5|GbMLpZ*-Zvs+#|<-BuKLDm}Y?=$)w53p~I`y6JmsQ=u=X#zniX{Q#v z-BR{_S+xFq@w>;*x2bPUUO8n_wIIizJF<)A9!*TTvwKJIJbuTn%GLt2%|-TFEmkL$ z>xK0hzC|tQ+V*sHY3%N)E?sxatNvz9V@+K^=U%#*v=&+P9)=D5TcZMQAFBDGNEO%mT>ft?2)^Z4&y zer>_jj7o zH8Z6-UiKOA`djB6Je75{-gM7ymc+P5LCcHl<6_$wXT(E#`|# zc~Hf&ciU8^oesEbv|V*)+TGW;?|)ovRr~8uAp1=D6Nl?9ir-}ONxwOFaf24)lh0GX z9Q-#m`K{1Vk*u}K$4@BC-#y>!+0@%6rjvdy-X2-@_mQLi-+T9#?K%GK#_jUoQh$6i zQW<;~ui;tVBfhiMjsI$E`7h_KR}URmx1P>ed@}Usj_>Pr{_ZSI%>6A>g*+1t5(iWoKyV% zXlT!ti9fXsW}hrN7v^xPSteQ5_TWmrQxRE0D)t$@iBlI_Y6Y=q_eHiv$Rx9Tf9qnX z`{&}Ca_(oI($*fS(mN~|-o>nca9p-9`bv1}(HEgRCuLX8Txeusuvy!4!s3Ysj#WJW zV0yg9rO(5Zm*>>Q&D>iQ?`}`@Jb&-Y+kUUN>2AMGCJU=c#ZF>iyxTbcNb-)a>&%b! z%O3CevfExw&Fs6j&2f9J=L~xHUm15DT9P;QsAfi;)4w|}zs>Kl-?rpuK)2YW*%$tv zz3x2u2VZS(&Bgx=tQ-^j-}S!rS>5=v`A2xie};oDPgDM`E;}`?d*|il$(?Auu8+0LvHG9p7UkTvTLI6xgXj1C9-|RYB8(He!JuB z@1@J@pSt<$0@wGA*Hm{Mevqr@U0uF)->&E%&-cu8?Ebsy=+oAqBAYF$RSe}k!hwg@ z<~-Rl?Zw(tONyT8ueW^P9Gm_o@VD-bf4BB;{m;g?)hSi4- zfy<>G9yeB0&d%VP-H_*3vF1O+4-Ne{&lmnX9KSWZd!Nk9I=$^5ug!mWW&6DI(U;c> zxL1l?J6W*EL1xv7-QPB_G*qx$+qkz^S!`ne^J7U09xHY?%3BE_K`K0`4)$>0h>i;rxNw!rkHg{jeU2g z$;?@otf!vW-e=BtJED~P*6M%f?|<;;=lN6dpP{Ly#_7kE{URo@=3yV=Z^!X-#N1}P zk{@)?6l?8^3(S#vo~$>V;-&j!Quv4__e-rgJ0e>BLI z#q7hKsN9~qH+pxEq@?%V-MMb@KhEX9)hqnJefjZrMTL9xkBLkE7;fBnA@%D1t){ax z_Fq~Snbc=p(sN>WcV)Y}Z9B`H@OiKIbCtw%{<}VXKG#-%;mDUOm;KoDBkc1L^FWoV z*d<9HqHUk_t@CINf1YGyU~%GEU%=BzW~m>K-JPBPFm}}`$ym{i^PlnA{#?HQi1hSI z^~u4#<@=tcX>KoiEMa#?rhMJ&e_XA<`6|-?asK@1eR!8#_eWv>A9EM|==PiSh&SAG zTYuJBmbW|`j5z(z>~fw~##`<|cOEdM-#orS zYx=z(U6wY-?=$_JWcFR%GOvAU_4+?T$G>rWu>T{Xq%ZIJh`;Mr{o(i@&X-O^xz?sl ziitm2{G7q#+(m(ki{4CL({+h;vn zD5Vmn;`YXg_lQYPh!Wc^Zi^?StDZ(Ln37U_-FRhx$lbzi(j5zfpKd>Me~*s!jVDo`OlF0mi?Q}-}TRa)Iao>aDM!sf%EpuYq#3J9Xhru z;@sNb(>XkNWQ6#NxAZi|Wn2B78(#E&bN-(DcT8k;Z)ssUe@DK_ zlE0ts9-207(Y=eRJu6bDPMxs0UE)XHMUx+S%8B{nCk}R~E3aRs{ht5EtJ?5m^^A5> z#}`)Af15NrZ1V@dg&$4_Pd^;bC44kWzN4h@k!5L7ZXVmhoR6N|R?#P3&zzhsamure zZ{||lzS)oYo3_Zx$8Ws+#lGqO=KD9*f0RC)FOeYiEzWJJK|4{zT`O-)JLO(wFvu8d#{V=5{Ge0|bgV{nB ze=D!g9x8XA>{(UJoN7zomod8Ti2;bV}C*0lZ3wZ3}c!q4~rh&(>{%f4lg_lLgE&L84i>Lgyp z>HMe_TluJ0-05=bv^l$uR4x5F=d6tM9k<)LQ;gaatRBc2)Wy%uQ|g`N{W@sDLx;dt z+0S3sFSUQLSgL2boXQXXhqu?W{qg&-{*R&^!}d$c^B<|T%XP1Q{Z?&pb*0&2**!(4 zR`YC%nRsMU>f*!+jHZw6n1850itn1Jb5HVvf9D@hX`gHR^7$aT=AV_fx9hkdW*&Xm~nV(AHyv^yD8TvMckSHR=XydAxHGpuk<(BAH8GR zEKUA1G}jBipZ0Q&!^H}-zs+yh>+DOf78F^RzC0U!**;-?Pt>WKv*VlWMf0WylzHdt zADq?r+galz=kIkMk`~{Vo;vx|rp!~#(|p~^ygv-$eOjJ!zW*6M2{$<`R!FS)`aZV( z=>Eoe8b3ITm#^>JBlswv`RrpIe7l!v^=%Fy)0xJ8pcnH8Z+t zwrWL@qytO8v)e+AW=Zq@AG41C(0Wp<{cZj~-qnBmw(RHq!~c=}IB${smh5{*yJkCn zczVI*=)C^C-+HOtJ&R*wSFg-lE4n9H!C3Q8%;xJRKb8u)f2%h#-f8%~Q`Yc!6sSo( z>Ac$P{|qb#elW|fc2?a}$G#!Otix$%g7+kj-#>NMUJ-lY&vI?4YpGpJgw8|xs)ti* zX38%(zK%iSv23>fv41un<{!GxakrxRXq>{O8tsRt%|hmfUE9jB<+p_Ai?t?eR!*v5 z5b{)D@MPK}|E>M+PMc8qV`)E(KbRjbv$OxPSA^4SYiV7aJkKBN?Nhmzo?C5I{LHB4 zWv1l4!_1Rj@#QzyKbRRM-@PYu`H#nsuXk?kzoq<$wNGVhzL1OVAMJ-fom2O3E=kd5 z;$dN3$Gq`|G{c+_H?eDO$Ity|*sk95C-6T5>#`5;+v=q1&RgkiR6jJ=KFT-!h`q=k z_e8y!3-8)^T~M*AIIsPX9#_De>AH?5ierU31{b6RC_51C0 z`&&}mR@SS%K3nzW*hcA2hC|CwtrAj^4lH1J<>vo(?|%kXjUU;dL7fjrd+rPFak=oi ze8Z*}|0FK0WxckxE|6Pm>89LIN{J0BQ{1|D@I3GO^ZVm}hCd?u-%kB!Xj+tc?Dzxq z!}j78+z)h;&OEEDFKE|_q3#T~pcpYhvE=Y-8`}!bHJ z1CG!7VE@DN`L|iu*8GY5aQVUCvvaP^$|=i#tUY^L!P$D7*0+zGC4Npm74ZD|!81E0 znN?o+%(7QgopjHB_o^7Sw1da^?7iIg{g(N7H~OB=^l5q1%PyW^>|NS>ctv7g$W(^D zpDW!~a;-mmINegq*Jan$o%Yr5=Kp+t{?kfB`br;v-wAicJ(ZCS1F!2r|jkXzLK7c%T4=l@k{;* z{o(rCr0&9eUOV<5d5^u@5A5GM=hyQto0v<{4#zI>3*79k6}lF#uys#CjA%(vh|+S$ z3vd4<{b>9!{lWV~`^78H=IMqXmEZ8Zd7T~KiB%Ih_IR&&6_q0P@op2d&}pOCn)!y( zDJP#a{+P*9a5!J3@Gwt7O!^rY*U%|d2FxP+LNs!}-M)QNb(ZKhRyW=M40kPly4BiS z*)9^_V)qj?!2O5gWBWnb@JFKa<|oTd|M>Wk`@z?_$q(in58LkD>vZeUBiDVqET3E_VnLDS@)U$_%Eoi4%%~NZOGY2CHp&- z+;;GMbY6KpZRs>8r;|39mN{D3cWmEuq-4k2YsaomOS^Ysqj;bH3?V1Y*YCeRT9>(P zS9Rtmciy=(+a4(I$>e(bc;PY2_a~pPeDGXmu(fyC`NzOm5xuzn_18X<4mhkY%!9^s(tW zQZa5jCR7RbnCE%Con^a7{Z^UXqrc1kGi2}Xzg7K@Gxrh4pV&vPAN{-bNPax_@3jBk zJ$oWcnU~%@aOse4zl^C_-$hjlcBF;&hPgkO8oT`S_mxxDIZroxT6XK*s_^`2d*=H`MW_Z` z%8P&eWd3qdlWm(AcXRJ-Kfir(ooRgWacga%wa;n}uXmhv?oD58iRkisqBVQg-AP** zu=`)T0^gLE@1~@7=$ztsdHmW`$pt~t**xh>1IwLSLSyg!dA!w3@u{5Ew(8o4e^#&f zVf{h>*!?Z$y=(tiKB(t@Jx}eLTJpBb-kYm;@>$JY#lcXn&XDkpZQqJ3^$+gr-`aKh zVDB3JgMYmqaXkF|@7S)b6Za|af5$TWd;KQMw>_7xFVb|~y7J?!(@$H&5|-#MuXIfU9ZXO_}8od z8CX{Q-SCzF_T_K9KgvJ4M{M45`RjRsh+SFRzU>syy&_~IWRyN(&Bf{5e-uAX?zw(( z>d*K88Q2cLDtu-C!DBt^BG0{ROMU&sS^hJuPAqvY|Ko#wZ(U1xs(Hn-5>}DG5YWlZ z?46+Ay1DtA{zpsW)=booN&mhweqNpI<=j$Rv1gHwr|y~FfAZ5Yo2~56bpG!8@;<)2 z{$OBD<>EiqfBQ>MpUn=ryk&Rw>eJR1DSLNDC{L?YbL~@zXxurw!FqB$|EoCet2X?_ zg=xR!yOvG!n0&rskLk+uocwJpqRl)9z9=gQHlG)Llol|1R$;i+hfkg|@4L2qz4#_= z&$iwrTU$DMiUiI)+}~avQ@3@p_%H3#1uHgenyAq8pW(Ebx((msPwNf`eh}~Y6TaYh zdGbSl$(YQKXLNb)f9Q{A&+K}~oIZ70-0cHe{4C8!i%x#Hd}PhV+U1Al3v63e^Qr!j z?n>iR#V6!bxTfUXW+SSP&23Z zM!&74@;1w(-i05Ok6kkh^3`v$NtL~{GpzeJ--}$og>$#%hJHQyAgn%o)xOi(x7>H0 zjd^v}_DavZh}P-cQ_j8VNta0$x$V6)<9@NQfMR&##J8{CpI=*Iwx4C6LYCE(Y2W^F zevJ7Z<8o@3$&K!(_ZX}TKP#yEf8?9F+U)-3`9~z53A%rHe=OMJzQL!GZ|cgw4_n0l z5YzazH}6c$#dpO)Syf$=Ef%*&n_i%UUUr8U0(Swr}RcsoNel zzWg-Fy(UmcH}+>lwa2<;rpuOWyc2cOWM7ajo>HUN7-i24U-F{IueR{UV^L)G4Lz`5t8$Txd$F7yRa7Sz3{W(UHjJNLH-Ss8Yj;rF=_kcF;dfrzb z53Sx;dCDjzl3|robJM!x1=f|yA55Ryi`r;E;%^hTid*{Vtk`GI%ehY`W#-=#+7P`+ z_LI%Ix))l;a|)~;e2lnu_{z3JQx@m)ALjp|#r>b*SnZzxBc(sLX3FaaEoJvVw`cpe zlRx^CKYBmby|#6k$9A#nx9a9?&b8M%ExYL0e}=x~_%qkb|1+?Pf1Ee*Bm1{gAD69N zd_VeCRNB(g=Laiu?xmD-x%0H|P-eHAbNzf&PdCei)?2GTGguoY_lD0K`8S9*P+5C>PbnSHIw*s1XpFUsB^>po)uiN9d>d(0L^T_Ih8T>oW zJHIm0E;=9d+xoalaLt0!#4F|O*R~m}Ur{dW%v&@y%5I~DWa_WKTK2QvIUQIrfgz@` z_xM&1^}c(YYFq!l-P8VkgZ$65dy5vgYpgcXdphAk-~Lv{SJmQgTtD2)@4mlvdBd0a z8(z{U@X~BK(GTl8?BtIqUio)dY~d=`+HbdKpZxQ5qM6nd!ATB51;rEl94{HVUCcW6 z{Evw8H~$a&58MAx4}Y`!(OG?$k3sjcXXVZQ&%kN=Zmr3tTet6@Ut;q}Vw!_pWSO>} zIqRoy+6hT3{xcl3txucJ`r|*tKhD3u1G8s+Z?ExP@uS&UF0WU1wx7J@{CCoRBY)>Uq54A`|1-2K4*2M{vVPUw*Ud*J zMYw$O&DeJBwCW}omz4~6Zp(h#obVxI`ix?k=YIsFzm^k( zS-d>r<@S^{7xrA&e6rZAh*_uORPlk*gBI(a|KrU6U0Hv4o1Mk|ij#YUvp+I(1E8?)%TsTsQq_ z??YKvo0xrSQgeR2J$%OG%B8kNADt#zB(=2ttXW{TGG~s|hOun?xuIj?TVswl2claE$o?OU^B6gHK17eg8hRg`OU{0 z>vVryfAqUz@u6Akw$`UF$=p^Ib@RCS&BwcDRnOhHeVS8eio*e$J#G%S%JZUr+JEEv zp`HHN{&x0*`)yx+g+Bd~s7cOb+n$}#EBof#29LL;5}!^aD=jHX(O`LNGdb?&e+HJj z{~4O*oc+(ha{I&cqq=tXZQK4??fEfPZOY4Xv)y{Lbi|JMoEGF1-u&-ZphiMS(W~N# zG5l}Le<#P+9k1VB*8cH+z=z2dE4SSB4!?5Sq3Oeow#flqPs@%Qx-%%>nS5&Q!NRxh zdIxUq{LjGJ^`m^zAI<*^O)V9x&L6JQz1IA2_giz{{g-mpw`ZtKy5vtKO8;uGIOc!)VZ(k z>9Kq|_x{-qN!F){J-n+ArYY@lF`0N`cVx)!E3K-3640PEp7DYTKjvAf5P{cOgh8gz2ZMZ@lJ1^ zhO%kTmsO`<+wW4JEYE$nCgO+fZ;c<$N2Km|Y_V_o&+wt6;{B1TuTQ6Uyf@h$tEp4t zU8!?x_8OyO<F#M;+Mt;*KBXf{S*ITd-zAU-Kk5})|bmIdX_EGlP$4l(qlm{3DK#HsVrQVW-c`^ zzEu)`v-{vT`|aw7t>syN>^>G}`9u40JlBuiG1PfGrS*MEk_cwW#RitUH%RDNuHG`GlJrs8shnUr+wpWwZh-n|PfTYL3S z;ob{wM_SxYl;sEAc;jcgt@YvgcB{78D_`zY`#YgV)oh8-XODfC_iTtyWw4Tk6KkUDMY8?asEH{^sK&=@(CShXg5Y z4`^L7&G+?;8;Ru%OD4K+X|CCB_HpyTcau3BbdIpxVtgI%SbxySM)J}5p8MQ(JU`SAy?(r-#(r(Z>PNl* z89EnV+~ZlfFj|;x{=(y#EAO0S+1S>0EA#DvliJUi_TG_~{?E`f@5T0QQqvF3-dz9T z_>nl#ogeOgv6I;JLA)(*kNNV90OwVARG;Xkmx-0mT;Fo$tip-f2Rw}Pn!ibX%~%@W)Cu{dtWrL^r=*C}k89k6A~q-&1W$Dejvs(cncrRKtO zQz2CM#H;H649DIkdw$42aKB-@=i_|o?CC-=*=Dn@9;s8l{{Aa(P{q3^X6I|BP3P7$ zI@Ymq-&FQ2QeU9747@cq%Giup(8SzO3B^;JH!tuQugp4!#5OSfIQ<-4nA z+T@s+N!JB^lvt0S3XE=LZH@Vn`9L=Ri2HB%gZ6y?84{~wy%V>VoAh^fs+dt)NPp_>@ zm~}0le@V}Fq0Jj3?XNvn(e^m3(8PY^EbEuN!t|uw9g^pYe}!L@{}8Az@}oQQhxCU{ zpM3ql<52^0<_RfuPPy01zy3#9?iML$D-pMda+?`MmFn{9Wk32dd zKR32Y91ouF|4G|2<4vN*tJt<$r!#B1<>r5yv(nN+`PTmU`Um~;9|E=CxBqAO;Ca96 zp5(SGLXRJ*ANZl3&zWiD{_O9v+aYrkE^R!Q(kJWoaM6UqjXtrCG5@URR-88fWuvR) zemD8$tE^{@kFxi&M{T;g<#+d9{h-U~eUHw)yXQOkmZ!{W6aV>-ZkiPC2s@$5R>^Qt z@K~7r%Jny+za?D!&yXVDn*A`=JR&zaY|rk=p L7cIG0u|8^gcI^E-=3)006Qy`` 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¬&T3jC-1R)3$dQpQ$Q8 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 MLKh(pVElg*0JS4UApigX diff --git a/lib/TFT_eSPI/docs/PlatformIO/Configuring options.txt b/lib/TFT_eSPI/docs/PlatformIO/Configuring options.txt deleted file mode 100644 index 26caeac..0000000 --- a/lib/TFT_eSPI/docs/PlatformIO/Configuring options.txt +++ /dev/null @@ -1,52 +0,0 @@ -;PlatformIO User notes: - -;It is possible to load settings from the calling program rather than modifying -;the library for each project by modifying the "platformio.ini" file. - -;The User_Setup_Select.h file will not load the user setting header files if -;USER_SETUP_LOADED is defined. - -;Instead of using #define, use the -D prefix, for example: - -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env:esp32dev] -platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream -board = esp32dev -framework = arduino -lib_deps = bodmer/TFT_eSPI@^2.4.31 - -build_flags = - -Os - -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG - -DUSER_SETUP_LOADED=1 - - ; Define the TFT driver, pins etc. here: - -DST7789_DRIVER=1 - -DTFT_WIDTH=128 - -DTFT_HEIGHT=160 - -DTFT_MISO=19 - -DTFT_MOSI=23 - -DTFT_SCLK=18 - -DTFT_CS=5 - -DTFT_DC=19 - -DTFT_RST=4 - ;-DTFT_BL=21 - ;-DTOUCH_CS=22 - -DLOAD_GLCD=1 - -DLOAD_FONT2=1 - -DLOAD_FONT4=1 - -DLOAD_FONT6=1 - -DLOAD_FONT7=1 - -DLOAD_FONT8=1 - -DLOAD_GFXFF=1 - -DSMOOTH_FONT=1 - -DSPI_FREQUENCY=27000000 diff --git a/lib/TFT_eSPI/docs/PlatformIO/rp2040.txt b/lib/TFT_eSPI/docs/PlatformIO/rp2040.txt deleted file mode 100644 index f4208bd..0000000 --- a/lib/TFT_eSPI/docs/PlatformIO/rp2040.txt +++ /dev/null @@ -1,63 +0,0 @@ -;PlatformIO User notes: - -;It is possible to load settings from the calling program rather than modifying -;the library for each project by modifying the "platformio.ini" file. - -;The User_Setup_Select.h file will not load the user setting header files if -;USER_SETUP_LOADED is defined. - -;Instead of using #define, use the -D prefix, for example: - -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter, extra scripting -; Upload options: custom port, speed and extra flags -; Library options: dependencies, extra library storages -; -; Please visit documentation for the other options and examples -; http://docs.platformio.org/page/projectconf.html - -[env:pico] -platform = https://github.com/maxgerhardt/platform-raspberrypi.git -board = pico -framework = arduino -board_build.core = earlephilhower -board_build.filesystem_size = 0.5m -lib_deps = bodmer/TFT_eSPI@^2.5.21 -; change microcontroller -board_build.mcu = rp2040 - -; change MCU frequency -board_build.f_cpu = 133000000L - -build_flags = - -Os - -DUSER_SETUP_LOADED=1 - ; Define the TFT driver, pins etc. here: - -DTFT_PARALLEL_8_BIT=1 - -DRM68120_DRIVER=1 - -DRP2040_PIO_CLK_DIV=1 - -DTFT_DC=28 - -DTFT_WR=22 - -DTFT_RST=2 - - -DTFT_D0=6 - -DTFT_D1=7 - -DTFT_D2=8 - -DTFT_D3=9 - -DTFT_D4=10 - -DTFT_D5=11 - -DTFT_D6=12 - -DTFT_D7=13 - - -DTFT_BL=16 - -DTFT_BACKLIGHT_ON=HIGH - - -DLOAD_GLCD=1 - -DLOAD_FONT2=1 - -DLOAD_FONT4=1 - -DLOAD_FONT6=1 - -DLOAD_FONT7=1 - -DLOAD_FONT8=1 - -DLOAD_GFXFF=1 - -DSMOOTH_FONT=1 diff --git a/lib/TFT_eSPI/docs/RPi_TFT_connections/RPi_TFT_Connections.png b/lib/TFT_eSPI/docs/RPi_TFT_connections/RPi_TFT_Connections.png deleted file mode 100644 index 4e82b2cdfca63e6ceaa28f23c18fa57f13deb7ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390583 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

v4byIjPJVv#aG9y`vZm~U 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 $;(%OL! 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 z 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 GgeCw+ZX5Uj diff --git a/lib/TFT_eSPI/docs/RPi_TFT_connections/RPi_TFT_mod.png b/lib/TFT_eSPI/docs/RPi_TFT_connections/RPi_TFT_mod.png deleted file mode 100644 index 46a2a9e4e39a7986e5ead1d7da70adbe95869918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16035 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 11; // Includes version bit as LSB, better for the switch statement if(bitRead(rds.rdsStat, 12) && (rdsgroup & 1) == 0) goto end; // Modulation says type B, but data says otherwise? Dunno what to treat it as, thus skip - rds.TP = (bitRead(rds.rdsB, 10)); - rds.PTY.set((rds.rdsB >> 5) & 0x1F); + rds.TP = bitRead(rds.rdsB, 10); + rds.PTY = ((rds.rdsB >> 5) & 0x1F); rds.blockcounter[rdsgroup]++; processed_rdsblocks++; @@ -599,12 +599,12 @@ void TEF6686::readRDS(byte showrdserrors) { } if(segment == 0) rds.hasDynamicPTY = bitRead(rds.rdsB, 2) & 0x1F; - else if(segment == 1) rds.hasCompressed = bitRead(rds.rdsB, 2) & 0x1F; - else if(segment == 2) rds.hasArtificialhead = bitRead(rds.rdsB, 2) & 0x1F; - else if(segment == 3) rds.hasStereo = bitRead(rds.rdsB, 2) & 0x1F; + else if(segment == 1) rds.hasCompressed = (bitRead(rds.rdsB, 2) & 0x1F); + else if(segment == 2) rds.hasArtificialhead = (bitRead(rds.rdsB, 2) & 0x1F); + else if(segment == 3) rds.hasStereo = (bitRead(rds.rdsB, 2) & 0x1F); } - rds.hasTA = (bitRead(rds.rdsB, 4)); + rds.TA = bitRead(rds.rdsB, 4); if (!rdsCerrorThreshold && rdsgroup == RDS_GROUP_0A && rds.rdsC != rdsCold) { if ((rds.rdsC >> 8) > 224 && (rds.rdsC >> 8) < 250) { @@ -760,297 +760,297 @@ void TEF6686::readRDS(byte showrdserrors) { case RDS_GROUP_1A: { if (!rdsCerrorThreshold && ((rds.rdsC >> 12) & 0x07) == 0) { - rds.ECC.set(rds.rdsC & 0xff); + rds.ECC = (rds.rdsC & 0xff); rds.hasECC = true; switch (rds.picode[0]) { case '1': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[129]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[136]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[152]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[104]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[73]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[83]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[0]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[1]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[2]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[59]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[3]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[179]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[197]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[124]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[200]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[129]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[136]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[152]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[104]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[73]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[83]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[0]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[1]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[2]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[59]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[3]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[179]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[197]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[124]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[200]; break; } case '2': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[130]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[141]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[155]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[106]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[126]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[95]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[4]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[5]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[6]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[7]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[8]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[180]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[187]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[77]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[218]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[130]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[141]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[155]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[106]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[126]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[95]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[4]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[5]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[6]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[7]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[8]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[180]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[187]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[77]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[218]; break; } case '3': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[224]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[156]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[132]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[112]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[119]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[72]; - else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[92]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[9]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[10]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[11]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[12]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[16]; - else if (rds.ECC.get() == 0xE5) rds.ECCtext = ECCtext[63]; - else if (rds.ECC.get() == 0xE6) rds.ECCtext = ECCtext[228]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[181]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[227]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[189]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[219]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[224]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[156]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[132]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[112]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[119]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[72]; + else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[92]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[9]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[10]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[11]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[12]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[16]; + else if (rds.ECC == 0xE5) rds.ECCtext = ECCtext[63]; + else if (rds.ECC == 0xE6) rds.ECCtext = ECCtext[228]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[181]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[227]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[189]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[219]; break; } case '4': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[148]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[157]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[127]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[69]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[91]; - else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[103]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[13]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[14]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[15]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[182]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[210]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[213]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[148]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[157]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[127]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[69]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[91]; + else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[103]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[13]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[14]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[15]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[182]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[210]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[213]; break; } case '5': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[133]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[159]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[68]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[79]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[88]; - else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[78]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[17]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[18]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[19]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[65]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[183]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[191]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[193]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[133]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[159]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[68]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[79]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[88]; + else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[78]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[17]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[18]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[19]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[65]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[183]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[191]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[193]; break; } case '6': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[134]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[163]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[171]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[96]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[105]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[123]; - else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[125]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[20]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[21]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[22]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[24]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[184]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[76]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[201]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[134]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[163]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[171]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[96]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[105]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[123]; + else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[125]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[20]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[21]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[22]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[24]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[184]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[76]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[201]; break; } case '7': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[139]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[161]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[164]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[113]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[81]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[84]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[25]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[26]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[27]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[62]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[185]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[207]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[221]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[139]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[161]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[164]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[113]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[81]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[84]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[25]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[26]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[27]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[62]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[185]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[207]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[221]; break; } case '8': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[142]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[170]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[116]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[117]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[74]; - else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[82]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[28]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[29]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[30]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[31]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[32]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[186]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[195]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[212]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[190]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[142]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[170]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[116]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[117]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[74]; + else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[82]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[28]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[29]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[30]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[31]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[32]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[186]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[195]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[212]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[190]; break; } case '9': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[143]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[162]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[174]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[120]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[102]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[107]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[33]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[34]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[35]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[36]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[37]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[80]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[209]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[196]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[211]; - else if (rds.ECC.get() == 0xF4) rds.ECCtext = ECCtext[190]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[143]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[162]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[174]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[120]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[102]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[107]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[33]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[34]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[35]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[36]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[37]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[80]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[209]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[196]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[211]; + else if (rds.ECC == 0xF4) rds.ECCtext = ECCtext[190]; break; } case 'A': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[131]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[144]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[166]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[85]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[97]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[121]; - else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[70]; - else if (rds.ECC.get() == 0xD4) rds.ECCtext = ECCtext[86]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[38]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[39]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[40]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[41]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[60]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[178]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[215]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[214]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[131]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[144]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[166]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[85]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[97]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[121]; + else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[70]; + else if (rds.ECC == 0xD4) rds.ECCtext = ECCtext[86]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[38]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[39]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[40]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[41]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[60]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[178]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[215]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[214]; break; } case 'B': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[137]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[145]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[167]; - else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[101]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[100]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[109]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[42]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[43]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[44]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[61]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[66]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[206]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[188]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[203]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[93]; - else if (rds.ECC.get() == 0xF4) rds.ECCtext = ECCtext[204]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[137]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[145]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[167]; + else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[101]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[100]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[109]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[42]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[43]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[44]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[61]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[66]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[206]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[188]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[203]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[93]; + else if (rds.ECC == 0xF4) rds.ECCtext = ECCtext[204]; break; } case 'C': { - if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[223]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[140]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[146]; - else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[169]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[110]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[108]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[111]; - else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[87]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[45]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[46]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[47]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[48]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[118]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[190]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[216]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[194]; + if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[223]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[140]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[146]; + else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[169]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[110]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[108]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[111]; + else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[87]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[45]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[46]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[47]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[48]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[118]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[190]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[216]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[194]; break; } case 'D': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[225]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[150]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[154]; - else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[90]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[89]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[0]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[49]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[23]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[122]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[198]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[217]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[128]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[225]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[150]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[154]; + else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[90]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[89]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[0]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[49]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[23]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[122]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[198]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[217]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[128]; break; } case 'E': { - if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226]; - else if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[151]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[172]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[175]; - else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[99]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[115]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[94]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[50]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[51]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[52]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[53]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[64]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[98]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[199]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[208]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[205]; + if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226]; + else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[151]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[172]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[175]; + else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[99]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[115]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[94]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[50]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[51]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[52]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[53]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[64]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[98]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[199]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[208]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[205]; break; } case 'F': { - if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[149]; - else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[222]; - else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[153]; - else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[176]; - else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158]; - else if (rds.ECC.get() == 0xA6) rds.ECCtext = ECCtext[168]; - else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[67]; - else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[75]; - else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[114]; - else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[54]; - else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[55]; - else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[56]; - else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[57]; - else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[58]; - else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[202]; - else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[192]; - else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[220]; - else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[71]; + if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[149]; + else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[222]; + else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[153]; + else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[176]; + else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158]; + else if (rds.ECC == 0xA6) rds.ECCtext = ECCtext[168]; + else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[67]; + else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[75]; + else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[114]; + else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[54]; + else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[55]; + else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[56]; + else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[57]; + else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[58]; + else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[202]; + else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[192]; + else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[220]; + else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[71]; break; } default: { @@ -1190,10 +1190,10 @@ void TEF6686::readRDS(byte showrdserrors) { rds.aid_counter++; } - if (rds.rdsD == 0xCD46) rds.hasTMC.set(true); + if (rds.rdsD == 0xCD46) rds.hasTMC = true; if (rds.rdsD == 0x4BD7) { - rds.hasRTplus.set(true); + rds.hasRTplus = true; rtplusblock = ((rds.rdsB & 0x1F) >> 1) * 2; } @@ -1285,7 +1285,7 @@ void TEF6686::readRDS(byte showrdserrors) { case RDS_GROUP_11A: case RDS_GROUP_12A: case RDS_GROUP_13A: { - if ((!rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) && rtplusblock == rdsgroup && rds.hasRTplus.get()) { + if ((!rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) && rtplusblock == rdsgroup && rds.hasRTplus) { rds.rdsplusTag1 = ((rds.rdsB & 0x07) << 3) + (rds.rdsC >> 13); rds.rdsplusTag2 = ((rds.rdsC & 0x01) << 5) + (rds.rdsD >> 11); uint16_t start_marker_1 = (rds.rdsC >> 7) & 0x3F; @@ -1362,7 +1362,7 @@ void TEF6686::readRDS(byte showrdserrors) { } } - if (!rdsBerrorThreshold && rdsgroup == RDS_GROUP_8A && (bitRead(rds.rdsB, 15))) rds.hasTMC.set(true); + if (!rdsBerrorThreshold && rdsgroup == RDS_GROUP_8A && (bitRead(rds.rdsB, 15))) rds.hasTMC = true; if ((!rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) && DABAFblock == rdsgroup && rds.hasDABAF) { rds.dabaffreq = (rds.rdsC * 16); @@ -1386,7 +1386,7 @@ void TEF6686::readRDS(byte showrdserrors) { case RDS_GROUP_14A: { if (!rdsAerrorThreshold && !rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) { - rds.hasEON.set(true); + rds.hasEON = true; bool isValuePresent = false; int eonIndex = -1; @@ -1539,8 +1539,8 @@ void TEF6686::clearRDS(bool fullsearchrds) { devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, fullsearchrds ? 3 : 1, 1, 0); rds.piBuffer.clear(); rds.stationName = rds.stationText = rds.stationNameLong = ""; - rds.stationText32 = rds.RTContent1 = rds.RTContent2 = ""; - rds.PTYN = rds.ECCtext = rds.stationIDtext = ""; + rds.PTYN = rds.stationText32 = rds.RTContent1 = rds.RTContent2 = "";; + rds.ECCtext = rds.stationIDtext = ""; rds.stationStatetext = rds.enhancedRTtext = PSLongtext = ""; for (uint8_t i = 0; i < 8; i++) { @@ -1597,21 +1597,17 @@ void TEF6686::clearRDS(bool fullsearchrds) { for (uint8_t i = 0; i < 10; i++) rds.aid[i] = 0; rdsgroup = 254; - rds.ECC.set(0); + rds.ECC = rds.PTY = 0; rds.dabaffreq = rds.correctPI = correctPIold = processed_rdsblocks = piold = 0; - rds.PTY.set(0); rds.hasECC = rds.hasRT = rds.hasRDS = false; - rds.TP = rds.hasAF = rds.hasTA = false; - rds.hasCT = false; + rds.hasAF = false; + rds.hasCT = rds.hasRTplus = rds.hasTMC = rds.hasEON = false; rds.hasAID = rds.hasPTYN = rds.hasLongPS = false; - rds.hasRTplus.set(false); - rds.hasTMC.set(false); - rds.hasEON.set(false); + rds.TA = rds.TP = rds.hasCompressed = rds.hasArtificialhead = rds.hasStereo = false; rds.hasDABAF = rds.hasEnhancedRT = false; rt_process = ps_process = pslong_process = false; rds.rdsreset = true; - rds.hasArtificialhead = rds.hasCompressed = false; - rds.hasDynamicPTY = rds.hasStereo = false; + rds.hasDynamicPTY = false; af_counter = af_updatecounter = eon_counter = 0; afreset = rds.rdsAerror = rds.rdsBerror = rds.rdsCerror = rds.rdsDerror = true; initrt = initab = true; diff --git a/src/comms.cpp b/src/comms.cpp index 51c939b..596c23d 100644 --- a/src/comms.cpp +++ b/src/comms.cpp @@ -524,12 +524,10 @@ void XDRGTKRoutine() { XDRBWset = atol(buff + 1); DataPrint("F" + String(XDRBWset) + "\n"); if (XDRBWset < 0) { - XDRBWsetold = XDRBWset; BWset = 0; } else if (XDRBWset < 16) { BWset = XDRBWset + 1; - XDRBWsetold = XDRBWset; - } else XDRBWset = XDRBWsetold; + } doBW(); break; } case 'G': { @@ -714,13 +712,9 @@ void XDRGTKRoutine() { radio.SetFreq(frequency); } - if (band == BAND_FM) { - DataPrint("T" + String((frequency + ConverterSet * 100) * 10) + "\n"); - } else if (band == BAND_OIRT) { - DataPrint("T" + String(frequency_OIRT * 10) + "\n"); - } else { - DataPrint("T" + String(frequency_AM) + "\n"); - } + if (band == BAND_FM) DataPrint("T" + String((frequency + ConverterSet * 100) * 10) + "\n"); + else if (band == BAND_OIRT) DataPrint("T" + String(frequency_OIRT * 10) + "\n"); + else DataPrint("T" + String(frequency_AM) + "\n"); ShowFreq(0); RDSstatus = false; store = true; @@ -805,20 +799,19 @@ void XDRGTKRoutine() { } DataPrint("U"); - frequencyold = frequency; for (freq_scan = scanner_start; freq_scan <= scanner_end; freq_scan += scanner_step) { radio.SetFreq(freq_scan); delay(5); DataPrint(String(freq_scan * 10, DEC)); DataPrint(" = "); - if (band < BAND_GAP) radio.getStatus(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN); else radio.getStatusAM(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN); + if (band < BAND_GAP) radio.getStatus(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN); else radio.getStatusAM(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN); DataPrint(String((SStatus / 10) + 10, DEC)); DataPrint(", "); } DataPrint("\n"); - radio.SetFreq(frequencyold); + radio.SetFreq(frequency); BuildDisplay(); SelectBand(); BWset = BWsetRecall; diff --git a/src/globals.cpp b/src/globals.cpp index 0a77d47..88a3899 100644 --- a/src/globals.cpp +++ b/src/globals.cpp @@ -17,18 +17,18 @@ bool dynamicspi = false; bool Data_Accelerator = false; bool advancedRDS, afmethodBold, afpage; -bool afscreen, aftest, artheadold; +bool afscreen, aftest; bool autoDST, autolog, autologged; bool autosquelch = true, batterydetect = true, beepresetstart; bool beepresetstop, BWreset, bwtouchtune; bool BWtune, change, clockampm; -bool compressedold, direction, dropout; +bool direction, dropout; bool dynamicPTYold, edgebeep, externaltune; bool findMemoryAF; bool firstTouchHandled = false; bool flashing; bool fmsi, fullsearchrds; -bool hasafold, hasCTold, haseonold; +bool hasafold, haseonold; bool initdxscan, invertdisplay, leave; bool LowLevelInit; bool memorystore; @@ -42,7 +42,6 @@ bool rdsflagreset; bool rdsreset; bool rdsstatscreen; bool RDSSPYTCP, RDSSPYUSB; -bool rdsstereoold; bool rotaryaccelerate = true; bool rtcset; bool scandxmode; @@ -65,7 +64,6 @@ bool SQ; bool Stereostatusold; bool StereoToggle; bool store; -bool TAold, TPold; bool touchrepeat = false; bool touch_detect; bool tuned; @@ -223,7 +221,6 @@ int SStatusold; int Stereostatus; int volume; int XDRBWset; -int XDRBWsetold; int xPos; int xPos2; int16_t OStatus; @@ -252,7 +249,6 @@ String ECCString; String eonpsold[20]; String PIold; String PSold; -String ptynold = " "; String PTYold; String rds_clock; String rds_clockold; @@ -270,8 +266,7 @@ String StereoStatusCommandold; String SWMIBandstring = String(); String SWMIBandstringold = String(); String XDRGTK_key; -String XDRGTKRDS; -String XDRGTKRDSold; +Detector XDRGTKRDS{""}; uint16_t BW; uint16_t MStatus; uint16_t SWMIBandPos; @@ -282,7 +277,7 @@ uint16_t WAM; uint8_t buff_pos; unsigned int ConverterSet; unsigned int freq_scan; -unsigned int frequency; +Detector frequency{0}; unsigned int frequency_OIRT; unsigned int frequency_AM; unsigned int frequency_LW; @@ -303,7 +298,6 @@ unsigned int frequency_MIBand_75M; unsigned int frequency_MIBand_90M; unsigned int frequency_MW; unsigned int frequency_SW; -unsigned int frequencyold; unsigned int HighEdgeOIRTSet; unsigned int HighEdgeSet; unsigned int LowEdgeOIRTSet; @@ -328,8 +322,6 @@ unsigned long aftickerhold; unsigned long aftimer; unsigned long autosquelchtimer; unsigned long blockcounterold[33]; -unsigned long eccticker; -unsigned long ecctickerhold; unsigned long eonticker; unsigned long eontickerhold; unsigned long flashingtimer; @@ -343,8 +335,6 @@ unsigned long peakholdmillis; unsigned long processed_rdsblocksold[33]; unsigned long pslongticker; unsigned long pslongtickerhold; -unsigned long rtplusticker; -unsigned long rtplustickerhold; unsigned long rtticker; unsigned long rttickerhold; unsigned long rotarytimer; diff --git a/src/gui.cpp b/src/gui.cpp index 339eb2b..ea4f698 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -588,7 +588,7 @@ void BuildAFScreen() { if (afpagenr == 1) { if (!radio.rds.hasAF) tftPrint(ALEFT, textUI(87), 6, 48, PrimaryColor, PrimaryColorSmooth, 16); } else if (afpagenr == 2) { - if (!radio.rds.hasEON.get()) tftPrint(ALEFT, textUI(88), 6, 48, PrimaryColor, PrimaryColorSmooth, 16); + if (!radio.rds.hasEON) tftPrint(ALEFT, textUI(88), 6, 48, PrimaryColor, PrimaryColorSmooth, 16); } RDSstatusold = !RDSstatusold; ShowFreq(0); @@ -2977,12 +2977,7 @@ void BuildAdvancedRDS() { stationIDold = " "; stationStateold = " "; af_counterold = 254; - TAold = false; - TPold = false; dynamicPTYold = false; - artheadold = false; - compressedold = false; - rdsstereoold = false; hasafold = false; haseonold = false; BWreset = true; @@ -3102,8 +3097,6 @@ void BuildDisplay() { batteryold = 6; batteryVold = 0; vPerold = 0; - TAold = false; - TPold = false; haseonold = false; rds_clockold = ""; PIold = " "; diff --git a/src/logbook.cpp b/src/logbook.cpp index 4d17789..21aab62 100644 --- a/src/logbook.cpp +++ b/src/logbook.cpp @@ -222,10 +222,10 @@ byte addRowToCSV() { stationName.replace(",", " "); radioTextModified.replace(",", " "); - String TA = radio.rds.hasTA ? "•" : " "; + String TA = radio.rds.TA ? "•" : " "; String TP = radio.rds.TP ? "•" : " "; String Stereo = radio.getStereoStatus() ? "•" : " "; - String pty = String(radio.rds.PTY.get()); + String pty = String(radio.rds.PTY); String ECC = "--"; if (radio.rds.hasECC) { char eccBuffer[3]; @@ -412,13 +412,13 @@ void sendUDPlog() { } String RTPLUS = ""; - if (radio.rds.hasRTplus.get()) RTPLUS += radio.rds.RTContent1 + ";" + radio.rds.RTContent2; + if (radio.rds.hasRTplus) RTPLUS += radio.rds.RTContent1 + ";" + radio.rds.RTContent2; // Construct the data row to send via UDP String row = CHIP + "," + VERSION + "," + String(scandxmode) + "," + currentDateTime + "," + frequencyFormatted + "," + String(radio.rds.picode).substring(0, 4) + "," + - signal + "," + String(radio.getStereoStatus()) + "," + String(radio.rds.hasTA) + "," + - String(radio.rds.TP) + "," + String(radio.rds.hasTMC.get()) + "," + String(radio.rds.PTY.get()) + "," + + signal + "," + String(radio.getStereoStatus()) + "," + String(radio.rds.TA) + "," + + String(radio.rds.TP) + "," + String(radio.rds.hasTMC) + "," + String(radio.rds.PTY) + "," + ECC + "," + stationName + "," + radioTextModified + "," + AF + "," + EON + "," + RTPLUS + "\n"; diff --git a/src/rds.cpp b/src/rds.cpp index e4b8175..f4ce60f 100644 --- a/src/rds.cpp +++ b/src/rds.cpp @@ -23,30 +23,26 @@ void ShowAdvancedRDS() { dynamicPTYold = radio.rds.hasDynamicPTY; } - if (radio.rds.hasArtificialhead != artheadold) { + if (radio.rds.hasArtificialhead.changed(0)) { if (radio.rds.hasArtificialhead) tft.fillCircle(310, 153, 5, InsignificantColor); else tft.fillCircle(310, 153, 5, SignificantColor); - artheadold = radio.rds.hasArtificialhead; } - if (radio.rds.hasCompressed != compressedold) { + if (radio.rds.hasCompressed.changed(0)) { if (radio.rds.hasCompressed) tft.fillCircle(310, 168, 5, InsignificantColor); else tft.fillCircle(310, 168, 5, SignificantColor); - compressedold = radio.rds.hasCompressed; } - if (radio.rds.hasStereo != rdsstereoold) { + if (radio.rds.hasStereo.changed(0)) { if (radio.rds.hasStereo) tft.fillCircle(310, 183, 5, InsignificantColor); else tft.fillCircle(310, 183, 5, SignificantColor); - rdsstereoold = radio.rds.hasStereo; } - if (ptynold != radio.rds.PTYN || rdsreset) { + if (radio.rds.PTYN.changed(0) || rdsreset) { if (!screenmute) { - if (ptynold != "PTYN N/A" || radio.rds.hasPTYN) { + if (radio.rds.PTYN.getPrev() != "PTYN N/A" || radio.rds.hasPTYN) { tftPrint(ALEFT, "PTYN N/A", 216, 109, BackgroundColor, BackgroundColor, 16); - tftPrint(ALEFT, ptynold, 216, 109, BackgroundColor, BackgroundColor, 16); + tftPrint(ALEFT, radio.rds.PTYN.getPrev(), 216, 109, BackgroundColor, BackgroundColor, 16); } if (!radio.rds.hasPTYN) radio.rds.PTYN = "PTYN N/A"; tftPrint(ALEFT, String(radio.rds.PTYN), 216, 109, RDSColor, RDSColorSmooth, 16); - ptynold = radio.rds.PTYN; } } @@ -65,8 +61,8 @@ void ShowAdvancedRDS() { if (wifi) { Udp.beginPacket(remoteip, 9030); Udp.print("from=TEF_tuner_" + String(stationlistid, DEC) + ";ECC="); - if (radio.rds.ECC.get() < 0x10) Udp.print("0"); - Udp.print(String(radio.rds.ECC.get(), HEX)); + if (radio.rds.ECC < 0x10) Udp.print("0"); + Udp.print(String(radio.rds.ECC, HEX)); Udp.endPacket(); } } @@ -83,27 +79,21 @@ void ShowAdvancedRDS() { if(!screenmute) eonDisplay.update(eonstring, RDSstatus, RDSColor, RDSColorSmooth, RDSDropoutColor, RDSDropoutColorSmooth, BackgroundColor); String rtplusstring; - if (radio.rds.hasRTplus.get()) rtplusstring = (radio.rds.rdsplusTag1 != 169 ? String(textUI(radio.rds.rdsplusTag1)) + ": " + String(radio.rds.RTContent1) : "") + (radio.rds.rdsplusTag2 != 169 ? " - " + String(textUI(radio.rds.rdsplusTag2)) + ": " + String(radio.rds.RTContent2) : "") + " "; else rtplusstring = textUI(89); + if (radio.rds.hasRTplus) rtplusstring = (radio.rds.rdsplusTag1 != 169 ? String(textUI(radio.rds.rdsplusTag1)) + ": " + String(radio.rds.RTContent1) : "") + (radio.rds.rdsplusTag2 != 169 ? " - " + String(textUI(radio.rds.rdsplusTag2)) + ": " + String(radio.rds.RTContent2) : "") + " "; else rtplusstring = textUI(89); if (radio.rds.hasRTplus.changed(0)) { if (!screenmute) { - if (radio.rds.hasRTplus.get()) tftPrint(ALEFT, "RT+", 123, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "RT+", 123, 51, GreyoutColor, BackgroundColor, 16); + if (radio.rds.hasRTplus) tftPrint(ALEFT, "RT+", 123, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "RT+", 123, 51, GreyoutColor, BackgroundColor, 16); } } if(!screenmute) rtplusDisplay.update(rtplusstring, RDSstatus, RDSColor, RDSColorSmooth, RDSDropoutColor, RDSDropoutColorSmooth, BackgroundColor); - if (TPold != radio.rds.TP) { - if (!screenmute) { - if (radio.rds.TP) tftPrint(ALEFT, "TP", 2, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TP", 2, 51, GreyoutColor, BackgroundColor, 16); - } - TPold = radio.rds.TP; + if (radio.rds.TP.changed(0) && !screenmute) { + if (radio.rds.TP) tftPrint(ALEFT, "TP", 2, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TP", 2, 51, GreyoutColor, BackgroundColor, 16); } - if (TAold != radio.rds.hasTA) { - if (!screenmute) { - if (radio.rds.hasTA) tftPrint(ALEFT, "TA", 24, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TA", 24, 51, GreyoutColor, BackgroundColor, 16); - } - TAold = radio.rds.hasTA; + if (radio.rds.TA.changed(0) && !screenmute) { + if (radio.rds.TA) tftPrint(ALEFT, "TA", 24, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TA", 24, 51, GreyoutColor, BackgroundColor, 16); } if (afmethodBold != radio.afmethodB || rdsreset) { @@ -121,7 +111,7 @@ void ShowAdvancedRDS() { if (radio.rds.hasTMC.changed(0)) { if (!screenmute) { - if (radio.rds.hasTMC.get()) tftPrint(ALEFT, "TMC", 88, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TMC", 88, 51, GreyoutColor, BackgroundColor, 16); + if (radio.rds.hasTMC) tftPrint(ALEFT, "TMC", 88, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TMC", 88, 51, GreyoutColor, BackgroundColor, 16); } } @@ -266,7 +256,7 @@ void readRds() { XDRGTKRDS += hexbuf; XDRGTKRDS += '\n'; - if (XDRGTKRDS != XDRGTKRDSold) { + if (XDRGTKRDS.changed(0)) { uint8_t piError = radio.rds.rdsErr >> 14; if (piError < 3) { uint8_t piState = radio.rds.piBuffer.add(radio.rds.rdsA, piError); @@ -278,8 +268,9 @@ void readRds() { DataPrint(F("\n")); } } - XDRGTKRDSold = XDRGTKRDS; - XDRGTKRDS.toUpperCase(); + String upper_buffer = XDRGTKRDS; + upper_buffer.toUpperCase(); + XDRGTKRDS.amend(upper_buffer); DataPrint(XDRGTKRDS); } } @@ -418,7 +409,7 @@ void showPI() { void showPTY() { if(radio.rds.PTY.changed(0)) { - String PTYString = String(radio.rds.PTY.get()) + "/" + (radio.rds.region != 0 ? (radio.rds.region == 0 ? PTY_EU[radio.rds.PTY.get()] : PTY_USA[radio.rds.PTY.get()]) : textUI(228 + radio.rds.PTY.get())); + String PTYString = String(radio.rds.PTY) + "/" + (radio.rds.region != 0 ? (radio.rds.region == 0 ? PTY_EU[radio.rds.PTY] : PTY_USA[radio.rds.PTY]) : textUI(228 + radio.rds.PTY)); if (!screenmute) { if (advancedRDS) { @@ -434,7 +425,7 @@ void showPTY() { if (wifi) { Udp.beginPacket(remoteip, 9030); Udp.print("from=TEF_tuner_" + String(stationlistid, DEC) + ";PTY="); - Udp.print(String(radio.rds.PTY.get(), HEX)); + Udp.print(String(radio.rds.PTY, HEX)); Udp.endPacket(); } } @@ -567,7 +558,7 @@ void showCT() { else strftime(dateStr, sizeof(dateStr), "%d-%m-%y", localtime(&t)); rds_date = String(dateStr); - if (!screenmute && showclock && (rds_clock != rds_clockold || rds_date != rds_dateold || hasCTold != radio.rds.hasCT)) { + if (!screenmute && showclock && (rds_clock != rds_clockold || rds_date != rds_dateold || radio.rds.hasCT.changed(0))) { if ((radio.rds.hasCT && RDSstatus) || NTPupdated) { rtcset = true; @@ -590,7 +581,6 @@ void showCT() { rds_clockold = rds_clock; rds_dateold = rds_date; - hasCTold = radio.rds.hasCT; } void showRadioText() {